<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>215514</bug_id>
          
          <creation_ts>2020-08-14 10:45:51 -0700</creation_ts>
          <short_desc>[WebIDL] &apos;void&apos; type is changing to &apos;undefined&apos;</short_desc>
          <delta_ts>2020-09-23 04:14:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=215652</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tab Atkins Jr.">jackalmage</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>cyb.ai.815</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1680338</commentid>
    <comment_count>0</comment_count>
    <who name="Tab Atkins Jr.">jackalmage</who>
    <bug_when>2020-08-14 10:45:51 -0700</bug_when>
    <thetext>As part of efforts to finally add an &apos;undefined&apos; type to WebIDL (so methods/etc don&apos;t have to generalize their type to &apos;any&apos;), it was decided to actually add &apos;undefined&apos; as the type name, and so the previous function return signature &apos;void&apos; is being removed for redundancy.

See https://github.com/heycam/webidl/pull/906 for details on the change.

This change will be merged shortly; this bug is a heads-up to adjust your IDL parser (see the PR for the changes to the grammar; it&apos;s quite small). You may wish to have a transitional period where you recognize &apos;void&apos; and &apos;undefined&apos; as synonyms, as specifications are moved over to the new syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681435</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-19 12:03:09 -0700</bug_when>
    <thetext>*** Bug 215652 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681989</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-21 10:46:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/67566201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683690</commentid>
    <comment_count>3</comment_count>
      <attachid>407481</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-28 10:36:48 -0700</bug_when>
    <thetext>Created attachment 407481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683692</commentid>
    <comment_count>4</comment_count>
      <attachid>407481</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-28 10:42:25 -0700</bug_when>
    <thetext>Comment on attachment 407481
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Also updates the parser to better match current WebIDl grammar, removing the special 

WebIDL

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp:200
&gt; -    using KeyType = void;
&gt; +    using KeyType = undefined;

Looks like this change in expected results is wrong.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp:388
&gt; -    using KeyType = void;
&gt; +    using KeyType = undefined;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683694</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-28 10:45:07 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 407481 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407481&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Also updates the parser to better match current WebIDl grammar, removing the special 
&gt; 
&gt; WebIDL

Fixing.

&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp:200
&gt; &gt; -    using KeyType = void;
&gt; &gt; +    using KeyType = undefined;
&gt; 
&gt; Looks like this change in expected results is wrong.
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp:388
&gt; &gt; -    using KeyType = void;
&gt; &gt; +    using KeyType = undefined;
&gt; 
&gt; Ditto.

Oh, yeah, didn&apos;t run run-bindings-test --reset-results after I fixed that. Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683699</commentid>
    <comment_count>6</comment_count>
      <attachid>407484</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-28 10:49:46 -0700</bug_when>
    <thetext>Created attachment 407484
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683781</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-28 15:05:01 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 407484 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683789</commentid>
    <comment_count>8</comment_count>
      <attachid>407507</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-28 15:24:05 -0700</bug_when>
    <thetext>Created attachment 407507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683803</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-28 16:05:00 -0700</bug_when>
    <thetext>Committed r266311: &lt;https://trac.webkit.org/changeset/266311&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407507.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407481</attachid>
            <date>2020-08-28 10:36:48 -0700</date>
            <delta_ts>2020-08-28 10:49:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215514-20200828103646.patch</filename>
            <type>text/plain</type>
            <size>547128</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3OSBAQAorMjAyMC0wOC0yNyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gJ3ZvaWQnIHR5cGUg
aXMgY2hhbmdpbmcgdG8gJ3VuZGVmaW5lZCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTUxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjc1NjYy
MDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIGlkbHMgYW5kIElETCBwYXJzaW5nIC8gY29kZSBnZW5lcmF0aW9uIGZvciB0aGUgc3dpdGNo
IGZyb20gJ3ZvaWQnIHRvICd1bmRlZmluZWQnLgorICAgICAgICBBbHNvIHVwZGF0ZXMgdGhlIHBh
cnNlciB0byBiZXR0ZXIgbWF0Y2ggY3VycmVudCBXZWJJRGwgZ3JhbW1hciwgcmVtb3ZpbmcgdGhl
IHNwZWNpYWwgCisgICAgICAgICdSZXR1cm5UeXBlJyBjb25zdHJ1Y3Rpb24gYW5kIGp1c3QgdXNp
bmcgJ1R5cGUnIGluc3RlYWQuIAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNlc3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2Fy
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9s
b2NhdGlvbi9HZW9sb2NhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0
aW9uRXJyb3JDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c2Vzc2lvbi9NZWRpYVNlc3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
aWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2Vz
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3Jh
Z2VRdW90YUNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2Fn
ZUNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBs
YXliYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVy
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVz
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENv
bnRyb2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURl
ZmF1bHRSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bVNpbmsuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJj
ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRD
b250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxl
U3RyZWFtRGVmYXVsdFdyaXRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BbmFs
eXNlck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0
ZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL1dlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9MaXN0ZW5lci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb1Bhbm5lck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2Vi
S2l0T3NjaWxsYXRvck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDYWxsYmFj
ay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFj
ay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFjay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGw6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVVGV4dHVyZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMv
d2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmI6CisgICAgICAg
ICogYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGw6CisgICAgICAgICogYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmlkbDoKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbDoK
KyAgICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0RP
TVByb21pc2VQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAg
ICAgICAgKE5lZWRzRXhwbGljaXRQcm9wYWdhdGVFeGNlcHRpb25DYWxsKToKKyAgICAgICAgKEdl
bmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICAoR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIChHZXRCYXNlSURMVHlwZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZUNh
bGxiYWNrUmVzdCk6CisgICAgICAgIChwYXJzZUF0dHJpYnV0ZU9yT3BlcmF0aW9uRm9yU3RyaW5n
aWZpZXJPclN0YXRpYyk6CisgICAgICAgIChwYXJzZU9wZXJhdGlvbik6CisgICAgICAgIChwYXJz
ZVNwZWNpYWxPcGVyYXRpb24pOgorICAgICAgICAocGFyc2VNYXBMaWtlUHJvcGVydGllcyk6Cisg
ICAgICAgIChwYXJzZVNldExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKHBhcnNlU2luZ2xlVHlw
ZSk6CisgICAgICAgIChwYXJzZVVuaW9uTWVtYmVyVHlwZSk6CisgICAgICAgIChwYXJzZURpc3Rp
bmd1aXNoYWJsZVR5cGUpOgorICAgICAgICAocGFyc2VDb25zdFR5cGUpOgorICAgICAgICAocGFy
c2VQcmltaXRpdmVUeXBlKToKKyAgICAgICAgKHBhcnNlTm9uQW55VHlwZSk6IERlbGV0ZWQuCisg
ICAgICAgIChwYXJzZVJldHVyblR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0Ojpo
YW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnM6OmhhbmRsZUV2
ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tG
dW5jdGlvbldpdGhUeXBlZGVmcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RD
YWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoU2VyaWFs
aXplZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tJ
bnRlcmZhY2U6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aEJvb2xlYW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNz
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRl
cmZhY2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFi
bGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iakNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpUZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZUdldHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5l
ZE1ldGhvZEJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25VbmRlZmluZWRNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJnc0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJncyk6CisgICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRpb25h
bFByb21pc2VCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uVGVzdFJldHVybnNPd25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb25Cb2R5KToKKyAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25W
b2lkTWV0aG9kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzQm9keSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyk6IERlbGV0
ZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFj
a0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFZvaWRDYWxsYmFja0Z1bmN0
aW9uOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDRVJlYWN0aW9ucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RDYWxsVHJhY2VyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGw6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5LmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0R2xvYmFsT2JqZWN0LmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEltcGxlbWVudHMuaWRsOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5p
ZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGw6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGw6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdF
eGNlcHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRE
ZWxldGVyV2l0aElkZW50aWZpZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldp
dGhJZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlk
ZUJ1aWx0aW5zLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3Zl
cnJpZGVCdWlsdGlucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RO
b2RlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25CYXNlLmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVt
ZW50YWwuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMu
aWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVu
Y3Rpb24uaWRsOgorICAgICAgICAqIGNzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbDoKKyAgICAgICAg
KiBjc3MvQ1NTTWVkaWFSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRDYWxsYmFjay5p
ZGw6CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsOgorICAgICAgICAqIGNz
cy9DU1NTdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbDoK
KyAgICAgICAgKiBjc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGw6CisgICAgICAg
ICogY3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3Mv
Rm9udEZhY2VTZXQuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaWRsOgorICAgICAgICAq
IGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU01hdHJpeC5p
ZGw6CisgICAgICAgICogZG9tL0Fib3J0QWxnb3JpdGhtLmlkbDoKKyAgICAgICAgKiBkb20vQWJv
cnRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBkb20vQWJvcnRTaWduYWwuaWRsOgorICAgICAg
ICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAgICAgKiBkb20vQ2hpbGROb2RlLmlkbDoK
KyAgICAgICAgKiBkb20vQ29tcG9zaXRpb25FdmVudC5pZGw6CisgICAgICAgICogZG9tL0N1c3Rv
bUVsZW1lbnRSZWdpc3RyeS5pZGw6CisgICAgICAgICogZG9tL0N1c3RvbUV2ZW50LmlkbDoKKyAg
ICAgICAgKiBkb20vRE9NU3RyaW5nTWFwLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVy
LmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5pZGw6CisgICAgICAgICogZG9t
L0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZ1bGxzY3JlZW4u
aWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaWRsOgorICAgICAgICAq
IGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuaWRsOgorICAgICAgICAqIGRv
bS9FdmVudExpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAg
ICAgICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9JZGxlUmVxdWVz
dENhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5pZGw6CisgICAgICAg
ICogZG9tL01lc3NhZ2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmlkbDoK
KyAgICAgICAgKiBkb20vTW91c2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL011dGF0aW9uQ2Fs
bGJhY2suaWRsOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBk
b20vTXV0YXRpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAg
ICAqIGRvbS9Ob2RlSXRlcmF0b3IuaWRsOgorICAgICAgICAqIGRvbS9QYXJlbnROb2RlLmlkbDoK
KyAgICAgICAgKiBkb20vUmFuZ2UuaWRsOgorICAgICAgICAqIGRvbS9SZXF1ZXN0QW5pbWF0aW9u
RnJhbWVDYWxsYmFjay5pZGw6CisgICAgICAgICogZG9tL1N0cmluZ0NhbGxiYWNrLmlkbDoKKyAg
ICAgICAgKiBkb20vVGV4dEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5pZGw6
CisgICAgICAgICogZG9tL1VJRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9XaGVlbEV2ZW50Lmlk
bDoKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2JDYWxsYmFjay5pZGw6CisgICAgICAgICogZmlsZWFw
aS9GaWxlUmVhZGVyLmlkbDoKKyAgICAgICAgKiBodG1sL0RPTUZvcm1EYXRhLmlkbDoKKyAgICAg
ICAgKiBodG1sL0RPTVRva2VuTGlzdC5pZGw6CisgICAgICAgICogaHRtbC9ET01VUkwuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TENhbnZhc0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZp
ZWxkU2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJs
ZVJvd0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmlk
bDoKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5pZGw6CisgICAgICAgICogaHRtbC9V
UkxTZWFyY2hQYXJhbXMuaWRsOgorICAgICAgICAqIGh0bWwvVm9pZENhbGxiYWNrLmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNEcmF3UGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQu
aWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGw6CisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2Fu
dmFzUGF0aERyYXdpbmdTdHlsZXMuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Bh
dHRlcm4uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZh
c1RleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1RyYW5zZm9ybS5pZGw6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzVXNlckludGVyZmFjZS5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGw6CisgICAgICAgICogaHRtbC9jYW52
YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9QYXRoMkQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmlu
Z0NvbnRleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsOgorICAgICAgICAqIGh0
bWwvdHJhY2svVGV4dFRyYWNrLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVB
UElIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGw6Cisg
ICAgICAgICogcGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL0hp
c3RvcnkuaWRsOgorICAgICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsOgorICAg
ICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICog
cGFnZS9Mb2NhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9ySXNMb2dnZWRJbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0
b3JTaGFyZS5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5pZGw6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9SZW1vdGVET01XaW5kb3cuaWRs
OgorICAgICAgICAqIHBhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHBhZ2UvUmVz
aXplT2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9VbmRvTWFuYWdlci5pZGw6
CisgICAgICAgICogcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAg
KiBwbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2Uu
aWRsOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBzdmcv
U1ZHQW5nbGUuaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NW
R0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9n
eUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaWRsOgorICAgICAgICAqIHN2
Zy9TVkdMZW5ndGhMaXN0LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR051bWJlckxpc3QuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQYXRo
U2VnTGlzdC5pZGw6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAgICog
c3ZnL1NWR1NWR0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdTdHJpbmdMaXN0LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcv
U1ZHVHJhbnNmb3JtLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsOgorICAgICAgICAqIHRlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5pZGw6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29y
a2VySW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGw6
CisgICAgICAgICogdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsOgorICAgICAgICAqIHRlc3Rp
bmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1dlYlhS
VGVzdC5pZGw6CisgICAgICAgICogdGVzdGluZy9YUlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5j
dGlvbi5pZGw6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5p
ZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxl
RXZlbnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGw6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGw6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKyAgICAgICAgKiB3b3JrbGV0cy9QYWlu
dFdvcmtsZXRHbG9iYWxTY29wZS5pZGw6CisgICAgICAgICogd29ya2xldHMvV29ya2xldC5pZGw6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFBy
b2Nlc3Nvci5pZGw6CisKIDIwMjAtMDgtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIGluaXRpYWxpemVSZWFkYWJsZVN0cmVhbSBzaG91bGQgY2hlY2sgZm9y
IGhpZ2hXYXRlck1hcmsgYmUgdW5kZWZpbmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTQ1LDE4ICs0NSwxOCBAQAogICAgIFtDYWxsV2l0aD1Eb2N1bWVu
dCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyBQcm9taXNlPGJvb2xlYW4+IGNhbk1ha2VQYXlt
ZW50c1dpdGhBY3RpdmVDYXJkKERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXIpOwogICAgIFtD
YWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyBQcm9taXNlPGJvb2xl
YW4+IG9wZW5QYXltZW50U2V0dXAoRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcik7CiAKLSAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGJlZ2luKCk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFib3J0KCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uLCBDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRp
b24oYW55IG1lcmNoYW50U2Vzc2lvbik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0
ZSB1cGRhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVNoaXBwaW5n
Q29udGFjdFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSB1cGRhdGUpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rp
b24oQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlIHVwZGF0ZSk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0IHJlc3VsdCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIGJlZ2luKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
YWJvcnQoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdF0g
dW5kZWZpbmVkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGFueSBtZXJjaGFudFNlc3Npb24p
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24oQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSB1cGRhdGUpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0
aW9uKEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZSB1cGRhdGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0IHJlc3VsdCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbih1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEFwcGxlUGF5TGluZUl0
ZW0gbmV3VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0
aW9uKHVuc2lnbmVkIHNob3J0IHN0YXR1cywgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhv
ZD4gbmV3U2hpcHBpbmdNZXRob2RzLCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5j
ZTxBcHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlMaW5lSXRlbSBu
ZXdUb3RhbCwgc2VxdWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbmV3TGluZUl0ZW1zKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVQYXltZW50KHVuc2lnbmVkIHNob3J0IHN0
YXR1cyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVTaGlwcGlu
Z01ldGhvZFNlbGVjdGlvbih1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEFwcGxlUGF5TGluZUl0ZW0g
bmV3VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxl
Y3Rpb24odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0
aG9kPiBuZXdTaGlwcGluZ01ldGhvZHMsIEFwcGxlUGF5TGluZUl0ZW0gbmV3VG90YWwsIHNlcXVl
bmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5TGlu
ZUl0ZW0gbmV3VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50KHVuc2ln
bmVkIHNob3J0IHN0YXR1cyk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udmFsaWRh
dGVtZXJjaGFudDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucGF5bWVudG1ldGhvZHNl
bGVjdGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw2ICszMyw2IEBAIHR5cGVkZWYgc2VxdWVuY2U8Q2xpcGJvYXJkSXRlbT4gQ2xpcGJvYXIK
IF0gaW50ZXJmYWNlIENsaXBib2FyZCA6IEV2ZW50VGFyZ2V0IHsKICAgICBbTmV3T2JqZWN0XSBQ
cm9taXNlPENsaXBib2FyZEl0ZW1zPiByZWFkKCk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxE
T01TdHJpbmc+IHJlYWRUZXh0KCk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0
ZShDbGlwYm9hcmRJdGVtcyBkYXRhKTsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdy
aXRlVGV4dChET01TdHJpbmcgZGF0YSk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmlu
ZWQ+IHdyaXRlKENsaXBib2FyZEl0ZW1zIGRhdGEpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8
dW5kZWZpbmVkPiB3cml0ZVRleHQoRE9NU3RyaW5nIGRhdGEpOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzQsOSArMzQsOSBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1
CiBdIGludGVyZmFjZSBET01DYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1h
dGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlv
bnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1h
dGNoQWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlP
cHRpb25zIG9wdGlvbnMpOwotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVl
c3RJbmZvIHJlcXVlc3QpOwotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNl
cXVlbmNlPFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2
b2lkPiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7Cisg
ICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0
KTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gYWRkQWxsKHNlcXVlbmNlPFJl
cXVlc3RJbmZvPiByZXF1ZXN0cyk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+
IHB1dChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKICAgICBb
TmV3T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxib29sZWFuPiBkZWxldGUo
UmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7
CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxSZXF1ZXN0Pj4ga2V5cyhvcHRpb25h
bCBSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25z
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50
L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDUgKzM0
LDUgQEAKICAgICBQcm9taXNlPEJhc2ljQ3JlZGVudGlhbD8+IGdldChvcHRpb25hbCBDcmVkZW50
aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9ucyk7CiAgICAgUHJvbWlzZTxCYXNpY0NyZWRlbnRpYWw+
IHN0b3JlKEJhc2ljQ3JlZGVudGlhbCBjcmVkZW50aWFsKTsKICAgICBQcm9taXNlPEJhc2ljQ3Jl
ZGVudGlhbD8+IGNyZWF0ZShvcHRpb25hbCBDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlv
bnMpOwotICAgIFByb21pc2U8dm9pZD4gcHJldmVudFNpbGVudEFjY2VzcygpOworICAgIFByb21p
c2U8dW5kZWZpbmVkPiBwcmV2ZW50U2lsZW50QWNjZXNzKCk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5oCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGNsb3NlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZv
aWQgcmVtb3ZlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCi0gICAgdXNpbmcgQ2xvc2VkUHJv
bWlzZSA9IERPTVByb21pc2VQcm94eTxJRExWb2lkPjsKKyAgICB1c2luZyBDbG9zZWRQcm9taXNl
ID0gRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD47CiAgICAgQ2xvc2VkUHJvbWlzZSYgY2xv
c2VkKCkgeyByZXR1cm4gbV9jbG9zZWRQcm9taXNlLmdldCgpOyB9CiAKICAgICBjb25zdCBWZWN0
b3I8c3RkOjpwYWlyPFJlZjxTaGFyZWRCdWZmZXI+LCBNZWRpYUtleVN0YXR1cz4+JiBzdGF0dXNl
cygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdHVzZXM7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTMgKzM1LDEzIEBA
CiBdIGludGVyZmFjZSBNZWRpYUtleVNlc3Npb24gOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBzZXNzaW9uSWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBkb3VibGUgZXhwaXJhdGlvbjsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
UHJvbWlzZTx2b2lkPiBjbG9zZWQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dW5k
ZWZpbmVkPiBjbG9zZWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5U3RhdHVzTWFw
IGtleVN0YXR1c2VzOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25rZXlzdGF0dXNlc2No
YW5nZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKLSAgICBQcm9taXNl
PHZvaWQ+IGdlbmVyYXRlUmVxdWVzdChET01TdHJpbmcgaW5pdERhdGFUeXBlLCBCdWZmZXJTb3Vy
Y2UgaW5pdERhdGEpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBnZW5lcmF0ZVJlcXVlc3QoRE9N
U3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRhKTsKICAgICBQcm9taXNl
PGJvb2w+IGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7Ci0gICAgUHJvbWlzZTx2b2lkPiB1cGRh
dGUoQnVmZmVyU291cmNlIHJlc3BvbnNlKTsKLSAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7Ci0g
ICAgUHJvbWlzZTx2b2lkPiByZW1vdmUoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gdXBkYXRl
KEJ1ZmZlclNvdXJjZSByZXNwb25zZSk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGNsb3NlKCk7
CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHJlbW92ZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9s
ZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMsOCBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcga2V5U3lzdGVtOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgc2Vzc2lvbklkOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHVwZGF0
ZShVaW50OEFycmF5IGtleSk7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHVwZGF0ZShVaW50OEFycmF5IGtleSk7CisgICAgdW5kZWZpbmVkIGNs
b3NlKCk7CiAgICAgCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGtleWFkZGVk
OwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRrZXllcnJvcjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9FcnJvckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIEVycm9yQ2Fs
bGJhY2sgPSB2b2lkIChET01FeGNlcHRpb24gZXJyb3IpOworY2FsbGJhY2sgRXJyb3JDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoRE9NRXhjZXB0aW9uIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZUNhbGxiYWNr
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQAogICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIEZpbGVDYWxsYmFjayA9IHZvaWQgKEZp
bGUgZmlsZSk7CitjYWxsYmFjayBGaWxlQ2FsbGJhY2sgPSB1bmRlZmluZWQgKEZpbGUgZmlsZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEyICsyOCwxMiBAQAogXSBpbnRlcmZhY2UgRmls
ZVN5c3RlbURpcmVjdG9yeUVudHJ5IDogRmlsZVN5c3RlbUVudHJ5IHsKICAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBjcmVhdGVS
ZWFkZXIoKTsKIAotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdl
dEZpbGUob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSB1bmRlZmluZWQgZ2V0RmlsZShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgs
CiAgICAgICAgIG9wdGlvbmFsIEZpbGVTeXN0ZW1GbGFncyBvcHRpb25zLAogICAgICAgICBvcHRp
b25hbCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICBv
cHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIAotICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldERpcmVjdG9yeShvcHRpb25hbCBVU1ZTdHJp
bmc/IHBhdGgsCisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHVuZGVmaW5l
ZCBnZXREaXJlY3Rvcnkob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAogICAgICAgICBvcHRpb25h
bCBGaWxlU3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUVu
dHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgb3B0aW9uYWwgRXJyb3JDYWxs
YmFjaz8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3
LDUgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgRW5hYmxlZEF0UnVudGltZT1EaXJlY3Rv
cnlVcGxvYWQsCiBdIGludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIHsKLSAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZWFkRW50cmllcyhGaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFj
az8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IHVuZGVmaW5lZCByZWFkRW50cmllcyhGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIHN1Y2Nlc3ND
YWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2Fs
bGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw0ICsyMyw0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFj
ayA9IHZvaWQgKHNlcXVlbmNlPEZpbGVTeXN0ZW1FbnRyeT4gZW50cmllcyk7CitjYWxsYmFjayBG
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrID0gdW5kZWZpbmVkIChzZXF1ZW5jZTxGaWxlU3lzdGVt
RW50cnk+IGVudHJpZXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0ZpbGVTeXN0ZW1FbnRyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw1ICszNCw1IEBACiAgICAgW0ltcGxlbWVudGVkQXM9dmlydHVhbFBh
dGhdIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgZnVsbFBhdGg7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTUZpbGVTeXN0ZW0gZmlsZXN5c3RlbTsKIAotICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldFBhcmVudChvcHRpb25hbCBGaWxlU3lzdGVtRW50
cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJv
ckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZp
bmVkIGdldFBhcmVudChvcHRpb25hbCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz8gc3VjY2Vzc0Nh
bGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJh
Y2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRW50cnlDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnlDYWxsYmFjay5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDQgKzIzLDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi1jYWxsYmFjayBGaWxlU3lzdGVtRW50cnlDYWxsYmFjayA9IHZvaWQg
KEZpbGVTeXN0ZW1FbnRyeSBlbnRyeSk7CitjYWxsYmFjayBGaWxlU3lzdGVtRW50cnlDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoRmlsZVN5c3RlbUVudHJ5IGVudHJ5KTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRy
eS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNSArMjYs
NSBAQAogWwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9RGlyZWN0b3J5VXBsb2FkLAogXSBpbnRlcmZh
Y2UgRmlsZVN5c3RlbUZpbGVFbnRyeSA6IEZpbGVTeXN0ZW1FbnRyeSB7Ci0gICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZmlsZShGaWxlQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIGZpbGUoRmlsZUNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJz
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMSArMzYsMTEgQEAgdHlwZWRl
ZiAoc2VxdWVuY2U8c2VxdWVuY2U8Qnl0ZVN0cmluZz4+IAogXSBpbnRlcmZhY2UgRmV0Y2hIZWFk
ZXJzIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRl
cnNJbml0IGluaXQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFwcGVuZChCeXRl
U3RyaW5nIG5hbWUsIEJ5dGVTdHJpbmcgdmFsdWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwg
SW1wbGVtZW50ZWRBcz1yZW1vdmVdIHZvaWQgZGVsZXRlKEJ5dGVTdHJpbmcgbmFtZSk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kKEJ5dGVTdHJpbmcgbmFtZSwgQnl0
ZVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXJl
bW92ZV0gdW5kZWZpbmVkIGRlbGV0ZShCeXRlU3RyaW5nIG5hbWUpOwogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gQnl0ZVN0cmluZz8gZ2V0KEJ5dGVTdHJpbmcgbmFtZSk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBib29sZWFuIGhhcyhCeXRlU3RyaW5nIG5hbWUpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXQoQnl0ZVN0cmluZyBuYW1lLCBCeXRlU3RyaW5nIHZhbHVlKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXQoQnl0ZVN0cmluZyBuYW1lLCBCeXRl
U3RyaW5nIHZhbHVlKTsKIAogICAgIGl0ZXJhYmxlPEJ5dGVTdHJpbmcsIEJ5dGVTdHJpbmc+Owog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24u
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NyBAQAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKIF0g
aW50ZXJmYWNlIEdlb2xvY2F0aW9uIHsKICAgICAvLyBGSVhNRTogUG9zaXRpb25FcnJvckNhbGxi
YWNrIHNob3VsZCBub3QgYmUgbnVsbGFibGUKLSAgICB2b2lkIGdldEN1cnJlbnRQb3NpdGlvbihQ
b3NpdGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICB1bmRlZmluZWQgZ2V0Q3VycmVu
dFBvc2l0aW9uKFBvc2l0aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9wdGlvbmFsIFBvc2l0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxs
YmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBQb3NpdGlvbk9wdGlv
bnMgb3B0aW9ucyk7CiAKQEAgLTM5LDYgKzM5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgUG9zaXRpb25FcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrLAogICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBQb3NpdGlvbk9wdGlvbnMgb3B0aW9ucyk7CiAKLSAgICB2
b2lkIGNsZWFyV2F0Y2gobG9uZyB3YXRjaElkKTsKKyAgICB1bmRlZmluZWQgY2xlYXJXYXRjaChs
b25nIHdhdGNoSWQpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBACiAKIFsKICAgICBDb25kaXRpb25h
bD1HRU9MT0NBVElPTiwKLV0gY2FsbGJhY2sgUG9zaXRpb25DYWxsYmFjayA9IHZvaWQgKEdlb2xv
Y2F0aW9uUG9zaXRpb24/IHBvc2l0aW9uKTsgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBu
dWxsYWJsZS4KK10gY2FsbGJhY2sgUG9zaXRpb25DYWxsYmFjayA9IHVuZGVmaW5lZCAoR2VvbG9j
YXRpb25Qb3NpdGlvbj8gcG9zaXRpb24pOyAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IGJlIG51
bGxhYmxlLgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlv
bkVycm9yQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBACiAKIFsKICAgICBDb25kaXRp
b25hbD1HRU9MT0NBVElPTiwKLV0gY2FsbGJhY2sgUG9zaXRpb25FcnJvckNhbGxiYWNrID0gdm9p
ZCAoR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yIGVycm9yKTsKK10gY2FsbGJhY2sgUG9zaXRpb25F
cnJvckNhbGxiYWNrID0gdW5kZWZpbmVkIChHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IgZXJyb3Ip
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3Iu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJDdXJzb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBACiAgICAgW0N1
c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBwcmltYXJ5S2V5OwogCiAgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgdXBkYXRl
KGFueSB2YWx1ZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkdmFuY2UoW0VuZm9y
Y2VSYW5nZV0gdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCwgSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBjb250aW51ZShvcHRpb25hbCBhbnkga2V5KTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb250aW51ZVByaW1hcnlLZXkoYW55IGtleSwgYW55
IHByaW1hcnlLZXkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkdmFuY2Uo
W0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBjb3VudCk7CisgICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdCwgSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIGNvbnRpbnVlKG9wdGlvbmFsIGFueSBrZXkpOworICAgIFtDYWxsV2l0aD1H
bG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29udGludWVQcmltYXJ5
S2V5KGFueSBrZXksIGFueSBwcmltYXJ5S2V5KTsKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
LCBJbXBsZW1lbnRlZEFzPWRlbGV0ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVx
dWVzdCBkZWxldGUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDE0ICszNCwxNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9i
amVjdFN0b3JlTmFtZXM7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIElEQk9iamVjdFN0b3Jl
IGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZyBuYW1lLCBvcHRpb25hbCBJREJPYmplY3RTdG9y
ZVBhcmFtZXRlcnMgcGFyYW1ldGVycyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRl
bGV0ZU9iamVjdFN0b3JlKERPTVN0cmluZyBuYW1lKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBkZWxldGVPYmplY3RTdG9yZShET01TdHJpbmcgbmFtZSk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKChET01TdHJpbmcgb3Ig
c2VxdWVuY2U8RE9NU3RyaW5nPikgc3RvcmVOYW1lcywgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25N
b2RlIG1vZGUgPSAicmVhZG9ubHkiKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCBwYXJ0
IG9mIHRoZSBzcGVjLCBidXQgaXMgbmVlZGVkIGZvciBjb21wYXRpYmlsaXR5LgogICAgIC8vIFNl
ZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL0luZGV4ZWREQi9pc3N1ZXMvODUKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3Qgc3Rv
cmVOYW1lcywgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlIG1vZGUgPSAicmVhZG9ubHkiKTsK
LSAgICB2b2lkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNs
b3NlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3
ICs1OSw3IEBAIHR5cGVkZWYgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmcKICAgICBb
Q2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVxdWVzdCBnZXRB
bGxLZXlzKGFueSBrZXksIG9wdGlvbmFsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgY291
bnQpOwogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSBJREJJ
bmRleCBjcmVhdGVJbmRleChET01TdHJpbmcgbmFtZSwgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxE
T01TdHJpbmc+KSBrZXlQYXRoLCBvcHRpb25hbCBJREJJbmRleFBhcmFtZXRlcnMgb3B0aW9ucyk7
CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBJREJJbmRleCBpbmRleChET01TdHJpbmcgbmFtZSk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZUluZGV4KERPTVN0cmluZyBuYW1l
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxldGVJbmRleChET01TdHJp
bmcgbmFtZSk7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25d
IElEQlJlcXVlc3QgY291bnQob3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlID0gbnVsbCk7CiAg
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3Qg
Y291bnQoYW55IGtleSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUV4Y2Vw
dGlvbiBlcnJvcjsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSURCT2JqZWN0U3RvcmUgb2Jq
ZWN0U3RvcmUoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBh
Ym9ydCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFib3J0KCk7CiAKICAg
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRy
b2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9s
c0hvc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIGVudW0gRGV2aWNlVHlw
ZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFjayBjYXB0aW9uTWVudU9mZkl0ZW07
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFjayBjYXB0aW9uTWVudUF1dG9tYXRpY0l0
ZW07CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjYXB0aW9uRGlzcGxheU1vZGU7
Ci0gICAgdm9pZCBzZXRTZWxlY3RlZFRleHRUcmFjayhUZXh0VHJhY2s/IHRyYWNrKTsKKyAgICB1
bmRlZmluZWQgc2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4dFRyYWNrPyB0cmFjayk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVtZW50IHRleHRUcmFja0NvbnRhaW5lcjsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzRnVsbHNjcmVlbjsKQEAgLTU1LDkgKzU1
LDkgQEAgZW51bSBEZXZpY2VUeXBlIHsKIAogICAgIGF0dHJpYnV0ZSBib29sZWFuIGNvbnRyb2xz
RGVwZW5kT25QYWdlU2NhbGVGYWN0b3I7CiAgICAgCi0gICAgdm9pZCB1cGRhdGVUZXh0VHJhY2tD
b250YWluZXIoKTsKLSAgICB2b2lkIGVudGVyZWRGdWxsc2NyZWVuKCk7Ci0gICAgdm9pZCBleGl0
ZWRGdWxsc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZVRleHRUcmFja0NvbnRhaW5lcigp
OworICAgIHVuZGVmaW5lZCBlbnRlcmVkRnVsbHNjcmVlbigpOworICAgIHVuZGVmaW5lZCBleGl0
ZWRGdWxsc2NyZWVuKCk7CiAKICAgICBET01TdHJpbmcgZ2VuZXJhdGVVVUlEKCk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEg
KzQ3LDExIEBAIGVudW0gUmVjb3JkaW5nU3RhdGUgeyAiaW5hY3RpdmUiLCAicmVjb3IKICAgICAv
LyByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBhdWRpb0JpdHNQZXJTZWNvbmQ7CiAg
ICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIEJpdHJhdGVNb2RlIGF1ZGlvQml0cmF0ZU1vZGU7CiAK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRSZWNvcmRpbmddIHZv
aWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xpY2UpOwotICAgIFtJbXBsZW1l
bnRlZEFzPXN0b3BSZWNvcmRpbmddIHZvaWQgc3RvcCgpOwotICAgIC8vIHZvaWQgcGF1c2UoKTsK
LSAgICAvLyB2b2lkIHJlc3VtZSgpOwotICAgIHZvaWQgcmVxdWVzdERhdGEoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRSZWNvcmRpbmddIHVuZGVmaW5lZCBz
dGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nIHRpbWVzbGljZSk7CisgICAgW0ltcGxlbWVudGVk
QXM9c3RvcFJlY29yZGluZ10gdW5kZWZpbmVkIHN0b3AoKTsKKyAgICAvLyB1bmRlZmluZWQgcGF1
c2UoKTsKKyAgICAvLyB1bmRlZmluZWQgcmVzdW1lKCk7CisgICAgdW5kZWZpbmVkIHJlcXVlc3RE
YXRhKCk7CiAKICAgICAvLyBzdGF0aWMgYm9vbGVhbiBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5n
IHR5cGUpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNlc3Npb24vTWVkaWFTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzMsOSArMzMsOSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVNlc3Npb25L
aW5kIGtpbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhUmVtb3RlQ29udHJvbHM/IGNv
bnRyb2xzOwogCi0gICAgdm9pZCBzZXRNZXRhZGF0YShNZWRpYU1ldGFkYXRhPyBtZXRhZGF0YSk7
CisgICAgdW5kZWZpbmVkIHNldE1ldGFkYXRhKE1lZGlhTWV0YWRhdGE/IG1ldGFkYXRhKTsKIAot
ICAgIHZvaWQgZGVhY3RpdmF0ZSgpOworICAgIHVuZGVmaW5lZCBkZWFjdGl2YXRlKCk7CiB9Owog
CiBlbnVtIE1lZGlhU2Vzc2lvbktpbmQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NSwxNiArNTUsMTYgQEAgZW51bSBSZWFkeVN0YXRlIHsKICAgICBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBkdXJhdGlvbjsKIAogICAgIFtOZXdPYmplY3QsIE1h
eVRocm93RXhjZXB0aW9uXSBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0
eXBlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNv
dXJjZUJ1ZmZlciBidWZmZXIpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJl
bW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIgYnVmZmVyKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBSZWFkeVN0YXRlIHJlYWR5U3RhdGU7CiAgICAgCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9mU3RyZWFtRXJyb3IgZXJyb3IpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVu
ZE9mU3RyZWFtRXJyb3IgZXJyb3IpOwogCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZCAoRE9NU3RyaW5nIHR5cGUpOwog
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldExpdmVTZWVrYWJsZVJhbmdlKGRvdWJs
ZSBzdGFydCwgZG91YmxlIGVuZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFy
TGl2ZVNlZWthYmxlUmFuZ2UoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyTGl2ZVNlZWthYmxlUmFuZ2UoKTsKIAogICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zb3VyY2VvcGVuOwogICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25zb3VyY2VlbmRlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtNTcsMTEgKzU3LDExIEBACiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBkb3VibGUgYXBwZW5kV2luZG93RW5kOwogCiAgICAgLy8gQXBwZW5kIHNlZ21lbnQgZGF0YS4K
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSBk
YXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcHBlbmRCdWZmZXIoQnVm
ZmVyU291cmNlIGRhdGEpOwogCiAgICAgLy8gQWJvcnQgdGhlIGN1cnJlbnQgc2VnbWVudCBhcHBl
bmQgc2VxdWVuY2UuCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFib3J0KCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZShkb3VibGUgc3RhcnQsIHVucmVzdHJpY3Rl
ZCBkb3VibGUgZW5kKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhYm9ydCgp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92ZShkb3VibGUgc3RhcnQs
IHVucmVzdHJpY3RlZCBkb3VibGUgZW5kKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b251cGRhdGVzdGFydDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udXBkYXRlOwpAQCAt
NjksNSArNjksNSBAQAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAKLSAgICBbRW5hYmxlZEJ5U2V0dGluZz1T
b3VyY2VCdWZmZXJDaGFuZ2VUeXBlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjaGFuZ2VUeXBl
KERPTVN0cmluZyB0eXBlKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Tb3VyY2VCdWZmZXJDaGFu
Z2VUeXBlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNoYW5nZVR5cGUoRE9NU3RyaW5n
IHR5cGUpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2Fu
dmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NSArMjcsNSBAQAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAogXSBpbnRlcmZhY2UgQ2FudmFz
Q2FwdHVyZU1lZGlhU3RyZWFtVHJhY2sgOiBNZWRpYVN0cmVhbVRyYWNrIHsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzOwotICAgIHZvaWQgcmVxdWVzdEZy
YW1lKCk7CisgICAgdW5kZWZpbmVkIHJlcXVlc3RGcmFtZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsCShyZXZp
c2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQAogICAgIFtQcml2YXRl
SWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gc2VxdWVuY2U8TWVkaWFTdHJlYW1UcmFjaz4g
Z2V0VHJhY2tzKCk7CiAgICAgTWVkaWFTdHJlYW1UcmFjayBnZXRUcmFja0J5SWQoRE9NU3RyaW5n
IHRyYWNrSWQpOwogCi0gICAgdm9pZCBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsK
LSAgICB2b2lkIHJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOworICAgIHVuZGVm
aW5lZCBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKKyAgICB1bmRlZmluZWQgcmVt
b3ZlVHJhY2soTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7CiAKICAgICBNZWRpYVN0cmVhbSBjbG9u
ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDEyICs0NSwxMiBAQCBlbnVtIE1lZGlhU3RyZWFtVHJhY2tTdGF0ZSB7ICJs
aXZlIiwgImVuCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVuZGVkOwogCiAgICAgTWVk
aWFTdHJlYW1UcmFjayBjbG9uZSgpOwotICAgIFtJbXBsZW1lbnRlZEFzPXN0b3BUcmFja10gdm9p
ZCBzdG9wKCk7CisgICAgW0ltcGxlbWVudGVkQXM9c3RvcFRyYWNrXSB1bmRlZmluZWQgc3RvcCgp
OwogCiAgICAgTWVkaWFUcmFja0NhcGFiaWxpdGllcyBnZXRDYXBhYmlsaXRpZXMoKTsKICAgICBN
ZWRpYVRyYWNrQ29uc3RyYWludHMgZ2V0Q29uc3RyYWludHMoKTsKICAgICBNZWRpYVRyYWNrU2V0
dGluZ3MgZ2V0U2V0dGluZ3MoKTsKLSAgICBQcm9taXNlPHZvaWQ+IGFwcGx5Q29uc3RyYWludHMo
b3B0aW9uYWwgTWVkaWFUcmFja0NvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKKyAgICBQcm9taXNl
PHVuZGVmaW5lZD4gYXBwbHlDb25zdHJhaW50cyhvcHRpb25hbCBNZWRpYVRyYWNrQ29uc3RyYWlu
dHMgY29uc3RyYWludHMpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm92ZXJjb25z
dHJhaW5lZDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvck1lZGlhRGV2aWNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlh
RGV2aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDUgKzMzLDUgQEAKICAgICBFbmFibGVk
QXRSdW50aW1lPU1lZGlhRGV2aWNlcywKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsK
ICAgICBbU2FtZU9iamVjdCwgU2VjdXJlQ29udGV4dCwgQ29udGV4dEFsbG93c01lZGlhRGV2aWNl
c10gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhRGV2aWNlcyBtZWRpYURldmljZXM7Ci0gICAgW0N1
c3RvbSwgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lHZXRVc2VyTWVkaWFdIHZvaWQgZ2V0VXNlck1l
ZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ssIG9iamVjdD8g
ZXJyb3JDYWxsYmFjayk7CisgICAgW0N1c3RvbSwgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lHZXRV
c2VyTWVkaWFdIHVuZGVmaW5lZCBnZXRVc2VyTWVkaWEob2JqZWN0IGNvbnN0cmFpbnRzLCBvYmpl
Y3Q/IHN1Y2Nlc3NDYWxsYmFjaywgb2JqZWN0PyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRFRNRlNlbmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICAgICBDb25kaXRpb25hbD1XRUJfUlRDLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVlckNvbm5l
Y3Rpb24sCiBdIGludGVyZmFjZSBSVENEVE1GU2VuZGVyIDogRXZlbnRUYXJnZXQgewotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnREVE1GKERPTVN0cmluZyB0b25lcywgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IDEwMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBp
bnRlclRvbmVHYXAgPSA3MCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW5z
ZXJ0RFRNRihET01TdHJpbmcgdG9uZXMsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgZHVyYXRpb24g
PSAxMDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW50ZXJUb25lR2FwID0gNzApOwogICAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb250b25lY2hhbmdlOwogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gY2FuSW5zZXJ0RFRNRjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVs
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTIgKzQzLDEyIEBACiAKICAgICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGJpbmFyeVR5cGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2Vu
ZChBcnJheUJ1ZmZlciBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChB
cnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQo
QmxvYiBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChVU1ZTdHJpbmcg
ZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChBcnJheUJ1ZmZl
ciBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEFycmF5QnVm
ZmVyVmlldyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEJs
b2IgZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChVU1ZTdHJp
bmcgZGF0YSk7CiAKLSAgICB2b2lkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3BlbjsKICAgICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uZXJyb3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgdHlwZWRlZiAob2JqZWN0IG9yIERP
TVN0cmluZykgQWxnb3JpdGhtSQogICAgIFtKU0J1aWx0aW4sIENhbGxXaXRoPURvY3VtZW50XSBj
b25zdHJ1Y3RvcigpOwogCiAgICAgLy8gSlMgYnVpbHQtaW4gY29uc3RydWN0b3IgaGFuZGxlcyB0
aGUgb3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbgotICAgIFtQcml2YXRlSWRlbnRpZmllciwgQ2Fs
bFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGluaXRpYWxpemVXaXRoKFJU
Q0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBD
YWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbml0aWFsaXpl
V2l0aChSVENDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogCiAKICAgICAvLyA0LjMuMiBJ
bnRlcmZhY2UgRGVmaW5pdGlvbgpAQCAtODcsMTcgKzg3LDE3IEBAIHR5cGVkZWYgKG9iamVjdCBv
ciBET01TdHJpbmcpIEFsZ29yaXRobUkKICAgICBbSlNCdWlsdGluXSBQcm9taXNlPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZU9mZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBv
ZmZlck9wdGlvbnMpOwogICAgIFtKU0J1aWx0aW5dIFByb21pc2U8UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uSW5pdD4gY3JlYXRlQW5zd2VyKG9wdGlvbmFsIFJUQ0Fuc3dlck9wdGlvbnMgYW5zd2VyT3B0
aW9ucyk7CiAKLSAgICBbSlNCdWlsdGluXSBQcm9taXNlPHZvaWQ+IHNldExvY2FsRGVzY3JpcHRp
b24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbik7CisgICAgW0pTQnVpbHRp
bl0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uSW5pdCBkZXNjcmlwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbj8gbG9jYWxEZXNjcmlwdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBjdXJyZW50TG9jYWxEZXNjcmlwdGlvbjsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBwZW5kaW5nTG9jYWxEZXNjcmlw
dGlvbjsKIAotICAgIFtKU0J1aWx0aW5dIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRp
b24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbik7CisgICAgW0pTQnVpbHRp
bl0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldFJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkluaXQgZGVzY3JpcHRpb24pOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNz
aW9uRGVzY3JpcHRpb24/IHJlbW90ZURlc2NyaXB0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IGN1cnJlbnRSZW1vdGVEZXNjcmlwdGlvbjsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBwZW5kaW5nUmVtb3RlRGVz
Y3JpcHRpb247CiAKLSAgICBbSlNCdWlsdGluXSBQcm9taXNlPHZvaWQ+IGFkZEljZUNhbmRpZGF0
ZSgoUlRDSWNlQ2FuZGlkYXRlSW5pdCBvciBSVENJY2VDYW5kaWRhdGUpIGNhbmRpZGF0ZSk7Cisg
ICAgW0pTQnVpbHRpbl0gUHJvbWlzZTx1bmRlZmluZWQ+IGFkZEljZUNhbmRpZGF0ZSgoUlRDSWNl
Q2FuZGlkYXRlSW5pdCBvciBSVENJY2VDYW5kaWRhdGUpIGNhbmRpZGF0ZSk7CiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgUlRDU2lnbmFsaW5nU3RhdGUgc2lnbmFsaW5nU3RhdGU7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIGljZUdhdGhlcmluZ1N0YXRlOwpA
QCAtMTA3LDggKzEwNyw4IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJpbmcpIEFsZ29yaXRo
bUkKICAgICAvLyBGSVhNRSAxNjk2NDQ6IG1pc3NpbmcgZGVmYXVsdEljZVNlcnZlcnMKIAogICAg
IFJUQ0NvbmZpZ3VyYXRpb24gZ2V0Q29uZmlndXJhdGlvbigpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRDb25maWd1cmF0aW9uKFJUQ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlv
bik7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldENvbmZpZ3VyYXRpb24oUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICB1
bmRlZmluZWQgY2xvc2UoKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25uZWdvdGlh
dGlvbm5lZWRlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uaWNlY2FuZGlkYXRlOwpA
QCAtMTIyLDkgKzEyMiw5IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJpbmcpIEFsZ29yaXRo
bUkKICAgICAvLyBTZWUgUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMuanMuCiAgICAgW1ByaXZh
dGVJZGVudGlmaWVyXSBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IHF1ZXVlZENy
ZWF0ZU9mZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvZmZlck9wdGlvbnMpOwogICAgIFtQ
cml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBxdWV1
ZWRDcmVhdGVBbnN3ZXIob3B0aW9uYWwgUlRDQW5zd2VyT3B0aW9ucyBhbnN3ZXJPcHRpb25zKTsK
LSAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dm9pZD4gcXVldWVkU2V0TG9jYWxEZXNj
cmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAgIFtQcml2YXRl
SWRlbnRpZmllcl0gUHJvbWlzZTx2b2lkPiBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihSVENT
ZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAgIFtQcml2YXRlSWRlbnRpZmllcl0g
UHJvbWlzZTx2b2lkPiBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlPyBjYW5k
aWRhdGUpOworICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZTx1bmRlZmluZWQ+IHF1ZXVl
ZFNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsK
KyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dW5kZWZpbmVkPiBxdWV1ZWRTZXRSZW1v
dGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOworICAgIFtQ
cml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZTx1bmRlZmluZWQ+IHF1ZXVlZEFkZEljZUNhbmRpZGF0
ZShSVENJY2VDYW5kaWRhdGU/IGNhbmRpZGF0ZSk7CiAKIAogICAgIC8vIDQuMTEgQ2VydGlmaWNh
dGUgbWFuYWdlbWVudApAQCAtMTM3LDcgKzEzNyw3IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01T
dHJpbmcpIEFsZ29yaXRobUkKICAgICBzZXF1ZW5jZTxSVENSdHBUcmFuc2NlaXZlcj4gZ2V0VHJh
bnNjZWl2ZXJzKCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJUQ1J0cFNlbmRlciBhZGRU
cmFjayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBNZWRpYVN0cmVhbS4uLiBzdHJlYW1zKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlVHJhY2soUlRDUnRwU2VuZGVyIHNlbmRl
cik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlVHJhY2soUlRDUnRw
U2VuZGVyIHNlbmRlcik7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJUQ1J0cFRyYW5zY2Vp
dmVyIGFkZFRyYW5zY2VpdmVyKChNZWRpYVN0cmVhbVRyYWNrIG9yIERPTVN0cmluZykgdHJhY2ss
IG9wdGlvbmFsIFJUQ1J0cFRyYW5zY2VpdmVySW5pdCBpbml0KTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBACiAgICAgLy8gRklY
TUUgMTY5NjYyOiBtaXNzaW5nIHNldFN0cmVhbXMKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dF0gc3RhdGljIFJUQ1J0cENhcGFiaWxpdGllcz8gZ2V0Q2FwYWJpbGl0aWVzKERP
TVN0cmluZyBraW5kKTsKICAgICBSVENSdHBTZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7
Ci0gICAgUHJvbWlzZTx2b2lkPiBzZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBh
cmFtZXRlcnMpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNl
PHZvaWQ+IHJlcGxhY2VUcmFjayhNZWRpYVN0cmVhbVRyYWNrPyB3aXRoVHJhY2spOworICAgIFBy
b21pc2U8dW5kZWZpbmVkPiBzZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBhcmFt
ZXRlcnMpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHVu
ZGVmaW5lZD4gcmVwbGFjZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2s/IHdpdGhUcmFjayk7CiAgICAg
UHJvbWlzZTxSVENTdGF0c1JlcG9ydD4gZ2V0U3RhdHMoKTsKIAogICAgIFtDb25kaXRpb25hbD1X
RUJfUlRDLCBFbmFibGVkQXRSdW50aW1lPVdlYlJUQ0RUTUZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBS
VENEVE1GU2VuZGVyPyBkdG1mOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw2IEBAIHR5cGVkZWYgUlRDUnRwVHJh
bnNjZWl2ZXJEaXJlY3Rpb24gUnRwVHIKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBz
dG9wcGVkOwogICAgIGF0dHJpYnV0ZSBSdHBUcmFuc2NlaXZlckRpcmVjdGlvbiBkaXJlY3Rpb247
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uPyBjdXJy
ZW50RGlyZWN0aW9uOwotICAgIHZvaWQgc3RvcCgpOwotICAgIHZvaWQgc2V0Q29kZWNQcmVmZXJl
bmNlcyhzZXF1ZW5jZTxSVENSdHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjcyk7CisgICAgdW5kZWZp
bmVkIHN0b3AoKTsKKyAgICB1bmRlZmluZWQgc2V0Q29kZWNQcmVmZXJlbmNlcyhzZXF1ZW5jZTxS
VENSdHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjcyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAgICAgW0NhbGxX
aXRoPURvY3VtZW50XSBjb25zdHJ1Y3RvcihET01TdHJpbmcgdGl0bGUsIG9wdGlvbmFsIE5vdGlm
aWNhdGlvbk9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRp
YyByZWFkb25seSBhdHRyaWJ1dGUgTm90aWZpY2F0aW9uUGVybWlzc2lvbiBwZXJtaXNzaW9uOwot
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0
aW9uYWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBkZXByZWNhdGVkQ2FsbGJhY2sp
OyAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZTxOb3RpZmljYXRpb25QZXJt
aXNzaW9uPi4KKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyB1bmRlZmluZWQgcmVxdWVz
dFBlcm1pc3Npb24ob3B0aW9uYWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBkZXBy
ZWNhdGVkQ2FsbGJhY2spOyAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZTxO
b3RpZmljYXRpb25QZXJtaXNzaW9uPi4KIAogICAgIC8vIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBtYXhBY3Rpb25zOwogCkBAIC02MSwxMCArNjEsMTAgQEAKICAgICAv
LyBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBkYXRhOwogICAgIC8vIFtTYW1l
T2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8Tm90aWZpY2F0aW9uQWN0aW9u
PiBhY3Rpb25zOwogCi0gICAgdm9pZCBjbG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwog
CiAgICAgLy8gTGVnYWN5LiBOb3QgaW4gdGhlIHNwZWNpZmljYXRpb24uCi0gICAgdm9pZCBzaG93
KCk7CisgICAgdW5kZWZpbmVkIHNob3coKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25jbG9zZTsKICAgICBbSW1wbGVtZW50ZWRBcz1vbnNob3ddIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25kaXNwbGF5OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw0ICsyNSw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LAotXSBjYWxsYmFjayBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgPSB2b2lkIChOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uIHBlcm1pc3Npb24pOworXSBjYWxsYmFjayBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2sgPSB1bmRlZmluZWQgKE5vdGlmaWNhdGlvblBlcm1pc3Npb24gcGVy
bWlzc2lvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWV0aG9kTmFtZTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHZhbGlkYXRpb25VUkw7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGNvbXBsZXRlKFByb21pc2U8YW55PiBtZXJjaGFudFNlc3Npb25Qcm9taXNl
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb21wbGV0ZShQcm9taXNlPGFu
eT4gbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7CiB9OwogCiBbCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAK
ICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3Rvcihz
ZXF1ZW5jZTxQYXltZW50TWV0aG9kRGF0YT4gbWV0aG9kRGF0YSwgUGF5bWVudERldGFpbHNJbml0
IGRldGFpbHMsIG9wdGlvbmFsIFBheW1lbnRPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgW0NhbGxX
aXRoPURvY3VtZW50XSBQcm9taXNlPFBheW1lbnRSZXNwb25zZT4gc2hvdyhvcHRpb25hbCBQcm9t
aXNlPFBheW1lbnREZXRhaWxzVXBkYXRlPiBkZXRhaWxzUHJvbWlzZSk7Ci0gICAgUHJvbWlzZTx2
b2lkPiBhYm9ydCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBhYm9ydCgpOwogICAgIFtDYWxs
V2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxib29sZWFuPiBjYW5NYWtlUGF5bWVudCgpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQAogXSBpbnRlcmZhY2UgUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0
aW9uYWwgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdXBkYXRlV2l0aChQcm9taXNlPFBheW1lbnREZXRh
aWxzVXBkYXRlPiBkZXRhaWxzUHJvbWlzZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgdXBkYXRlV2l0aChQcm9taXNlPFBheW1lbnREZXRhaWxzVXBkYXRlPiBkZXRhaWxzUHJv
bWlzZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZz8gcGF5ZXJFbWFpbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
PyBwYXllclBob25lOwogCi0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBjb21wbGV0ZShv
cHRpb25hbCBQYXltZW50Q29tcGxldGUgcmVzdWx0ID0gInVua25vd24iKTsKLSAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPHZvaWQ+IHJldHJ5KG9wdGlvbmFsIFBheW1lbnRWYWxpZGF0aW9uRXJyb3Jz
IGVycm9yRmllbGRzKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gY29tcGxl
dGUob3B0aW9uYWwgUGF5bWVudENvbXBsZXRlIHJlc3VsdCA9ICJ1bmtub3duIik7CisgICAgW05l
d09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IHJldHJ5KG9wdGlvbmFsIFBheW1lbnRWYWxpZGF0
aW9uRXJyb3JzIGVycm9yRmllbGRzKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25w
YXllcmRldGFpbGNoYW5nZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BpY3R1
cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5Q
aWN0dXJlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDUgKzMwLDUgQEAKIF0gcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHBpY3R1cmVJblBpY3R1cmVFbmFibGVkOwogCi0g
ICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBleGl0UGljdHVyZUluUGljdHVyZSgpOworICAg
IFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVkPiBleGl0UGljdHVyZUluUGljdHVyZSgpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVn
aW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQAogICAgIFtDdXN0b21HZXR0ZXJd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgdGltZWRNZXRhRGF0YTsKICAgICBbQ3VzdG9tR2V0dGVy
XSByZWFkb25seSBhdHRyaWJ1dGUgYW55IGFjY2Vzc0xvZzsKICAgICBbQ3VzdG9tR2V0dGVyXSBy
ZWFkb25seSBhdHRyaWJ1dGUgYW55IGVycm9yTG9nOwotICAgIHZvaWQgcG9zdEV2ZW50KERPTVN0
cmluZyBldmVudE5hbWUpOworICAgIHVuZGVmaW5lZCBwb3N0RXZlbnQoRE9NU3RyaW5nIGV2ZW50
TmFtZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlRXJy
b3JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9TdG9yYWdlRXJyb3JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw0ICszMCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1RVU9UQSwKLV0gY2Fs
bGJhY2sgU3RvcmFnZUVycm9yQ2FsbGJhY2sgPSB2b2lkIChET01FeGNlcHRpb24gZXJyb3IpOwor
XSBjYWxsYmFjayBTdG9yYWdlRXJyb3JDYWxsYmFjayA9IHVuZGVmaW5lZCAoRE9NRXhjZXB0aW9u
IGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8u
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUlu
Zm8uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3Rh
L1N0b3JhZ2VJbmZvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNiBAQAogICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgUEVSU0lTVEVOVCA9IDE7CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEodW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIG9w
dGlvbmFsIFN0b3JhZ2VVc2FnZUNhbGxiYWNrPyB1c2FnZUNhbGxiYWNrLCBvcHRpb25hbCBTdG9y
YWdlRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VU
eXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25hbCBTdG9yYWdl
UXVvdGFDYWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJh
Y2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSB1bmRlZmluZWQgcXVlcnlVc2FnZUFuZFF1b3RhKHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBl
LCBvcHRpb25hbCBTdG9yYWdlVXNhZ2VDYWxsYmFjaz8gdXNhZ2VDYWxsYmFjaywgb3B0aW9uYWwg
U3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSB1bmRlZmluZWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIHNob3J0
IHN0b3JhZ2VUeXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25h
bCBTdG9yYWdlUXVvdGFDYWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVy
cm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNiArMjgsNiBAQAogICAgIENvbmRpdGlvbmFsPVFVT1RBLAogICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBTdG9yYWdlUXVvdGEgewotICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShTdG9y
YWdlVXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBvcHRpb25hbCBTdG9yYWdlRXJyb3JDYWxs
YmFjaz8gZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIHZvaWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMs
IG9wdGlvbmFsIFN0b3JhZ2VRdW90YUNhbGxiYWNrPyBxdW90YUNhbGxiYWNrLCBvcHRpb25hbCBT
dG9yYWdlRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIHVuZGVmaW5lZCBxdWVyeVVzYWdlQW5kUXVvdGEoU3RvcmFnZVVz
YWdlQ2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/
IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1
bmRlZmluZWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMs
IG9wdGlvbmFsIFN0b3JhZ2VRdW90YUNhbGxiYWNrPyBxdW90YUNhbGxiYWNrLCBvcHRpb25hbCBT
dG9yYWdlRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGFDYWxsYmFjay5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGFDYWxsYmFjay5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZVF1b3RhQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0IEBACiAKIFsK
ICAgICBDb25kaXRpb25hbD1RVU9UQSwKLV0gY2FsbGJhY2sgU3RvcmFnZVF1b3RhQ2FsbGJhY2sg
PSB2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcgZ3JhbnRlZFF1b3RhSW5CeXRlcyk7CitdIGNhbGxi
YWNrIFN0b3JhZ2VRdW90YUNhbGxiYWNrID0gdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGxvbmcg
Z3JhbnRlZFF1b3RhSW5CeXRlcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3Rh
L1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlVXNhZ2VDYWxsYmFjay5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVFV
T1RBLAotXSBjYWxsYmFjayBTdG9yYWdlVXNhZ2VDYWxsYmFjayA9IHZvaWQgKHVuc2lnbmVkIGxv
bmcgbG9uZyBjdXJyZW50VXNhZ2VJbkJ5dGVzLCB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFF1
b3RhSW5CeXRlcyk7CitdIGNhbGxiYWNrIFN0b3JhZ2VVc2FnZUNhbGxiYWNrID0gdW5kZWZpbmVk
ICh1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFVzYWdlSW5CeXRlcywgdW5zaWduZWQgbG9uZyBs
b25nIGN1cnJlbnRRdW90YUluQnl0ZXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9y
ZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3Rl
UGxheWJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw2IEBAIGludGVyZmFjZSBS
ZW1vdGVQbGF5YmFjayA6IEV2ZW50VGFyZ2V0IHsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uZGlzY29ubmVjdDsKIAogICAgIFByb21pc2U8bG9uZz4gd2F0Y2hBdmFpbGFiaWxpdHkoUmVt
b3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgUHJvbWlzZTx2
b2lkPiBjYW5jZWxXYXRjaEF2YWlsYWJpbGl0eShvcHRpb25hbCBsb25nIGlkKTsKLSAgICBQcm9t
aXNlPHZvaWQ+IHByb21wdCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjYW5jZWxXYXRjaEF2
YWlsYWJpbGl0eShvcHRpb25hbCBsb25nIGlkKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcHJv
bXB0KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5
ICszMSw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3BlYWtpbmc7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogCi0gICAgdm9pZCBzcGVhayhTcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UgdXR0ZXJhbmNlKTsKLSAgICB2b2lkIGNhbmNlbCgpOwotICAg
IHZvaWQgcGF1c2UoKTsKLSAgICB2b2lkIHJlc3VtZSgpOworICAgIHVuZGVmaW5lZCBzcGVhayhT
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgdXR0ZXJhbmNlKTsKKyAgICB1bmRlZmluZWQgY2FuY2Vs
KCk7CisgICAgdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHJlc3VtZSgpOwogICAg
IHNlcXVlbmNlPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBnZXRWb2ljZXMoKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDkgQEAKIF0gaW50ZXJmYWNlIFJlYWRhYmxlQnl0
ZVN0cmVhbUNvbnRyb2xsZXIgewogICAgIGNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVh
bSwgYW55IHVuZGVybHlpbmdCeXRlU291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmsp
OwogCi0gICAgW05vdEVudW1lcmFibGVdIHZvaWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmsp
OwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIGNsb3NlKCk7Ci0gICAgW05vdEVudW1lcmFibGVd
IHZvaWQgZXJyb3Iob3B0aW9uYWwgYW55IGVycm9yKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5k
ZWZpbmVkIGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKKyAgICBbTm90RW51bWVyYWJsZV0g
dW5kZWZpbmVkIGNsb3NlKCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCBlcnJvcihv
cHRpb25hbCBhbnkgZXJyb3IpOwogCiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IGJ5b2JSZXF1ZXN0OwogICAgIFtOb3RFbnVt
ZXJhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGRlc2lyZWRTaXplOwpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtQllPQlJlYWRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw3ICszMyw3IEBACiAKICAgICBbTm90RW51bWVyYWJsZV0gUHJvbWlzZTxhbnk+IHJl
YWQob3B0aW9uYWwgYW55IHZpZXcpOwogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4g
Y2FuY2VsKG9wdGlvbmFsIGFueSByZWFzb24pOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIHJl
bGVhc2VMb2NrKCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZWxlYXNlTG9jaygp
OwogCiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPGJvb2xl
YW4+IGNsb3NlZDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1C
WU9CUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDggQEAKIF0gaW50ZXJm
YWNlIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgewogICAgIGNvbnN0cnVjdG9yKFJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXIgY29udHJvbGxlciwgVHlwZWRBcnJheSB2aWV3KTsKIAotICAg
IFtOb3RFbnVtZXJhYmxlXSB2b2lkIHJlc3BvbmQob3B0aW9uYWwgYW55IGJ5dGVzV3JpdHRlbik7
Ci0gICAgW05vdEVudW1lcmFibGVdIHZvaWQgcmVzcG9uZFdpdGhOZXdWaWV3KG9wdGlvbmFsIGFu
eSB2aWV3KTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5kZWZpbmVkIHJlc3BvbmQob3B0aW9uYWwg
YW55IGJ5dGVzV3JpdHRlbik7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZXNwb25k
V2l0aE5ld1ZpZXcob3B0aW9uYWwgYW55IHZpZXcpOwogCiAgICAgW05vdEVudW1lcmFibGVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBUeXBlZEFycmF5IHZpZXc7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCw5ICszNCw5IEBACiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyIHsKICAgICBjb25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJl
YW0sIGFueSB1bmRlcmx5aW5nU291cmNlLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxv
bmcgaGlnaFdhdGVyTWFyayk7CiAKLSAgICBbTm90RW51bWVyYWJsZV0gdm9pZCBlbnF1ZXVlKG9w
dGlvbmFsIGFueSBjaHVuayk7Ci0gICAgW05vdEVudW1lcmFibGVdIHZvaWQgY2xvc2UoKTsKLSAg
ICBbTm90RW51bWVyYWJsZV0gdm9pZCBlcnJvcihvcHRpb25hbCBhbnkgZXJyb3IpOworICAgIFtO
b3RFbnVtZXJhYmxlXSB1bmRlZmluZWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOworICAg
IFtOb3RFbnVtZXJhYmxlXSB1bmRlZmluZWQgY2xvc2UoKTsKKyAgICBbTm90RW51bWVyYWJsZV0g
dW5kZWZpbmVkIGVycm9yKG9wdGlvbmFsIGFueSBlcnJvcik7CiAKICAgICBbTm90RW51bWVyYWJs
ZV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkZXNpcmVkU2l6ZTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1EZWZhdWx0UmVhZGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKIAogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNl
PGFueT4gcmVhZCgpOwogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4gY2FuY2VsKG9w
dGlvbmFsIGFueSByZWFzb24pOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIHJlbGVhc2VMb2Nr
KCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZWxlYXNlTG9jaygpOwogCiAgICAg
W05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPGJvb2xlYW4+IGNsb3Nl
ZDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1TaW5rLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1TaW5rLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDcgKzI4LDcgQEAKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBTa2lwVlRhYmxl
VmFsaWRhdGlvbgogXSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1TaW5rIHsKLSAgICB2b2lkIGVu
cXVldWUoQnVmZmVyU291cmNlIGNodW5rKTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0gICAgdm9pZCBl
cnJvcihET01TdHJpbmcgbWVzc2FnZSk7CisgICAgdW5kZWZpbmVkIGVucXVldWUoQnVmZmVyU291
cmNlIGNodW5rKTsKKyAgICB1bmRlZmluZWQgY2xvc2UoKTsKKyAgICB1bmRlZmluZWQgZXJyb3Io
RE9NU3RyaW5nIG1lc3NhZ2UpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291
cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsOSBAQAogICAgIE5vSW50ZXJmYWNl
T2JqZWN0LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0
cmVhbVNvdXJjZSB7Ci0gICAgW0N1c3RvbV0gUHJvbWlzZTx2b2lkPiBzdGFydChSZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOwotICAgIFtDdXN0b21dIFByb21pc2U8
dm9pZD4gcHVsbChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOwot
ICAgIHZvaWQgY2FuY2VsKGFueSByZWFzb24pOworICAgIFtDdXN0b21dIFByb21pc2U8dW5kZWZp
bmVkPiBzdGFydChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOwor
ICAgIFtDdXN0b21dIFByb21pc2U8dW5kZWZpbmVkPiBwdWxsKFJlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXIgY29udHJvbGxlcik7CisgICAgdW5kZWZpbmVkIGNhbmNlbChhbnkgcmVhc29u
KTsKIAogICAgIC8vIFBsYWNlIGhvbGRlciB0byBrZWVwIHRoZSBjb250cm9sbGVyIGxpbmtlZCB0
byB0aGUgc291cmNlLgogICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3RvbUdldHRlcl0gcmVhZG9u
bHkgYXR0cmlidXRlIGFueSBjb250cm9sbGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvVHJhbnNmb3JtU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiBdIGludGVyZmFjZSBUcmFuc2Zvcm1TdHJlYW1EZWZh
dWx0Q29udHJvbGxlciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGU/IGRlc2lyZWRTaXplOwogCi0gICAgdm9pZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7
Ci0gICAgdm9pZCBlcnJvcihvcHRpb25hbCBhbnkgcmVhc29uKTsKLSAgICB2b2lkIHRlcm1pbmF0
ZSgpOworICAgIHVuZGVmaW5lZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7CisgICAgdW5k
ZWZpbmVkIGVycm9yKG9wdGlvbmFsIGFueSByZWFzb24pOworICAgIHVuZGVmaW5lZCB0ZXJtaW5h
dGUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCShyZXZp
c2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDUgKzMwLDUg
QEAKICAgICBQcml2YXRlSWRlbnRpZmllciwKICAgICBQdWJsaWNJZGVudGlmaWVyCiBdIGludGVy
ZmFjZSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIHsKLSAgICB2b2lkIGVycm9yKG9w
dGlvbmFsIGFueSBlKTsKKyAgICB1bmRlZmluZWQgZXJyb3Iob3B0aW9uYWwgYW55IGUpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbURlZmF1
bHRXcml0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9Xcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDEyIEBACiBdIGludGVyZmFjZSBXcml0
YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIgewogICAgIGNvbnN0cnVjdG9yKFdyaXRhYmxlU3RyZWFt
IHN0cmVhbSk7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPiBjbG9zZWQ7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZWQ7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IGRlc2lyZWRTaXplOwotICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IHJlYWR5OworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQcm9taXNlPHVuZGVmaW5lZD4gcmVhZHk7CiAKLSAgICBQcm9taXNlPHZvaWQ+IGFi
b3J0KG9wdGlvbmFsIGFueSByZWFzb24pOwotICAgIFByb21pc2U8dm9pZD4gY2xvc2UoKTsKLSAg
ICB2b2lkIHJlbGVhc2VMb2NrKCk7Ci0gICAgUHJvbWlzZTx2b2lkPiB3cml0ZShvcHRpb25hbCBh
bnkgY2h1bmspOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBhYm9ydChvcHRpb25hbCBhbnkgcmVh
c29uKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gY2xvc2UoKTsKKyAgICB1bmRlZmluZWQgcmVs
ZWFzZUxvY2soKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gd3JpdGUob3B0aW9uYWwgYW55IGNo
dW5rKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2Vy
Tm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
bmFseXNlck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDEwICs0
MCwxMCBAQAogCiAgICAgLy8gQ29waWVzIHRoZSBjdXJyZW50IGZyZXF1ZW5jeSBkYXRhIGludG8g
dGhlIHBhc3NlZCBhcnJheS4KICAgICAvLyBJZiB0aGUgYXJyYXkgaGFzIGZld2VyIGVsZW1lbnRz
IHRoYW4gdGhlIGZyZXF1ZW5jeUJpbkNvdW50LCB0aGUgZXhjZXNzIGVsZW1lbnRzIHdpbGwgYmUg
ZHJvcHBlZC4KLSAgICB2b2lkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkgYXJy
YXkpOwotICAgIHZvaWQgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoVWludDhBcnJheSBhcnJheSk7Cisg
ICAgdW5kZWZpbmVkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkgYXJyYXkpOwor
ICAgIHVuZGVmaW5lZCBnZXRCeXRlRnJlcXVlbmN5RGF0YShVaW50OEFycmF5IGFycmF5KTsKIAog
ICAgIC8vIFJlYWwtdGltZSB3YXZlZm9ybSBkYXRhCi0gICAgW0VuYWJsZWRCeVNldHRpbmc9TW9k
ZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB2b2lkIGdldEZsb2F0VGltZURvbWFpbkRhdGEoRmxvYXQz
MkFycmF5IGFycmF5KTsKLSAgICB2b2lkIGdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5
IGFycmF5KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9d
IHVuZGVmaW5lZCBnZXRGbG9hdFRpbWVEb21haW5EYXRhKEZsb2F0MzJBcnJheSBhcnJheSk7Cisg
ICAgdW5kZWZpbmVkIGdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5IGFycmF5KTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVy
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0J1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDggKzQwLDggQEAKIAogICAg
IC8vIENoYW5uZWwgYWNjZXNzCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBGbG9hdDMyQXJyYXkg
Z2V0Q2hhbm5lbERhdGEodW5zaWduZWQgbG9uZyBjaGFubmVsSW5kZXgpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIHZv
aWQgY29weUZyb21DaGFubmVsKEZsb2F0MzJBcnJheSBkZXN0aW5hdGlvbiwgdW5zaWduZWQgbG9u
ZyBjaGFubmVsTnVtYmVyLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGJ1ZmZlck9mZnNldCA9IDAp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZp
eGVkV2ViQXVkaW9dIHZvaWQgY29weVRvQ2hhbm5lbChGbG9hdDMyQXJyYXkgc291cmNlLCB1bnNp
Z25lZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zm
c2V0ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVy
blVucHJlZml4ZWRXZWJBdWRpb10gdW5kZWZpbmVkIGNvcHlGcm9tQ2hhbm5lbChGbG9hdDMyQXJy
YXkgZGVzdGluYXRpb24sIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVu
YWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB1bmRlZmluZWQgY29weVRv
Q2hhbm5lbChGbG9hdDMyQXJyYXkgc291cmNlLCB1bnNpZ25lZCBsb25nIGNoYW5uZWxOdW1iZXIs
IG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zmc2V0ID0gMCk7CiAKICAgICAvLyBGSVhN
RTogVGhpcyBpcyBub3QgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlvbi4KICAgICBhdHRyaWJ1dGUg
dW5yZXN0cmljdGVkIGZsb2F0IGdhaW47IC8vIGxpbmVhciBnYWluIChkZWZhdWx0IDEuMCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzAsNCArMzAsNCBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVy
YXRlVG9KU09iamVjdCwKLV0gY2FsbGJhY2sgQXVkaW9CdWZmZXJDYWxsYmFjayA9IHZvaWQgKEF1
ZGlvQnVmZmVyPyBhdWRpb0J1ZmZlcik7CitdIGNhbGxiYWNrIEF1ZGlvQnVmZmVyQ2FsbGJhY2sg
PSB1bmRlZmluZWQgKEF1ZGlvQnVmZmVyPyBhdWRpb0J1ZmZlcik7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQw
LDcgQEAKICAgICBhdHRyaWJ1dGUgZG91YmxlIGxvb3BTdGFydDsKICAgICBhdHRyaWJ1dGUgZG91
YmxlIGxvb3BFbmQ7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3Rh
cnRMYXRlcl0gdm9pZCBzdGFydChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDAsIG9wdGlvbmFsIGRv
dWJsZSBncmFpbk9mZnNldCA9IDAsIG9wdGlvbmFsIGRvdWJsZSBncmFpbkR1cmF0aW9uKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRMYXRlcl0gdW5kZWZpbmVk
IHN0YXJ0KG9wdGlvbmFsIGRvdWJsZSB3aGVuID0gMCwgb3B0aW9uYWwgZG91YmxlIGdyYWluT2Zm
c2V0ID0gMCwgb3B0aW9uYWwgZG91YmxlIGdyYWluRHVyYXRpb24pOwogCiAgICAgLy8gRklYTUU6
IFRob3NlIGNvbnN0YW50cyBhcmUga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRo
IHRoZSBwcmVmaXhlZCBBUEkgYW5kIHNob3VsZAogICAgIC8vIGJlIHJlbW92ZWQgb25jZSB3ZSBz
dG9wIHN1cHBvcnRpbmcgaXQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTM5LDkgKzM5LDkgQEAKIAogICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3ddIEF1ZGlvVGltZXN0
YW1wIGdldE91dHB1dFRpbWVzdGFtcCgpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VzcGVuZFJl
bmRlcmluZ10gUHJvbWlzZTx2b2lkPiBzdXNwZW5kKCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9cmVz
dW1lUmVuZGVyaW5nXSBQcm9taXNlPHZvaWQ+IHJlc3VtZSgpOwotICAgIFByb21pc2U8dm9pZD4g
Y2xvc2UoKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1zdXNwZW5kUmVuZGVyaW5nXSBQcm9taXNlPHVu
ZGVmaW5lZD4gc3VzcGVuZCgpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10g
UHJvbWlzZTx1bmRlZmluZWQ+IHJlc3VtZSgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjbG9z
ZSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShIVE1MTWVkaWFF
bGVtZW50IG1lZGlhRWxlbWVudCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwgTWF5
VGhyb3dFeGNlcHRpb25dIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3Ry
ZWFtU291cmNlKE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBBdWRpb1BhcmFtIHVwWTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSB1cFo7
CiAKLSAgICB2b2lkIHNldFBvc2l0aW9uKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOwotICAg
IHZvaWQgc2V0T3JpZW50YXRpb24oZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeiwgZmxvYXQgeFVw
LCBmbG9hdCB5VXAsIGZsb2F0IHpVcCk7CisgICAgdW5kZWZpbmVkIHNldFBvc2l0aW9uKGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHopOworICAgIHVuZGVmaW5lZCBzZXRPcmllbnRhdGlvbihmbG9h
dCB4LCBmbG9hdCB5LCBmbG9hdCB6LCBmbG9hdCB4VXAsIGZsb2F0IHlVcCwgZmxvYXQgelVwKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCwxMyBAQAogICAgIGF0
dHJpYnV0ZSBDaGFubmVsSW50ZXJwcmV0YXRpb24gY2hhbm5lbEludGVycHJldGF0aW9uOwogCiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBBdWRpb05vZGUgY29ubmVjdChbUmV0dXJuVmFsdWVdIEF1
ZGlvTm9kZSBkZXN0aW5hdGlvbiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvdXRwdXQgPSAwLCBv
cHRpb25hbCB1bnNpZ25lZCBsb25nIGlucHV0ID0gMCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGNvbm5lY3QoQXVkaW9QYXJhbSBkZXN0aW5hdGlvbiwgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBvdXRwdXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb25u
ZWN0KEF1ZGlvUGFyYW0gZGVzdGluYXRpb24sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb3V0cHV0
ID0gMCk7CiAKLSAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgZGlzY29ubmVjdCh1bnNpZ25lZCBsb25nIG91dHB1dCk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGRpc2Nvbm5lY3QoQXVkaW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRpc2Nvbm5lY3QoQXVkaW9Ob2RlIGRlc3RpbmF0aW9u
Tm9kZSwgdW5zaWduZWQgbG9uZyBvdXRwdXQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBkaXNjb25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0
cHV0LCB1bnNpZ25lZCBsb25nIGlucHV0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
ZGlzY29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0pOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBkaXNjb25uZWN0KEF1ZGlvUGFyYW0gZGVzdGluYXRpb25QYXJhbSwgdW5z
aWduZWQgbG9uZyBvdXRwdXQpOworICAgIHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdCh1bnNpZ25lZCBsb25nIG91dHB1
dCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdChBdWRpb05v
ZGUgZGVzdGluYXRpb25Ob2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBk
aXNjb25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkaXNjb25uZWN0KEF1ZGlvTm9k
ZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0LCB1bnNpZ25lZCBsb25nIGlu
cHV0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkaXNjb25uZWN0KEF1ZGlv
UGFyYW0gZGVzdGluYXRpb25QYXJhbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgZGlzY29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0sIHVuc2lnbmVkIGxvbmcg
b3V0cHV0KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
U2NoZWR1bGVkU291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291
cmNlTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDYgQEAKICAgICBBY3RpdmVE
T01PYmplY3QsCiBdIGludGVyZmFjZSBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUgOiBBdWRpb05v
ZGUgewogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmRlZDsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRMYXRlcl0gdm9pZCBzdGFydChvcHRpb25hbCBk
b3VibGUgd2hlbiA9IDApOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1z
dG9wTGF0ZXJdIHZvaWQgc3RvcChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDApOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zdGFydExhdGVyXSB1bmRlZmluZWQgc3RhcnQo
b3B0aW9uYWwgZG91YmxlIHdoZW4gPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxl
bWVudGVkQXM9c3RvcExhdGVyXSB1bmRlZmluZWQgc3RvcChvcHRpb25hbCBkb3VibGUgd2hlbiA9
IDApOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmls
dGVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9CaXF1YWRGaWx0ZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzYsNSArMzYsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIFE7IC8v
IFF1YWxpdHkgZmFjdG9yCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2Fpbjsg
Ly8gaW4gRGVjaWJlbHMKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBnZXRGcmVxdWVu
Y3lSZXNwb25zZShGbG9hdDMyQXJyYXkgZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNw
b25zZSwgRmxvYXQzMkFycmF5IHBoYXNlUmVzcG9uc2UpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIGdldEZyZXF1ZW5jeVJlc3BvbnNlKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lI
eiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkZp
bHRlck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1
IEBACiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8sCiBdIGlu
dGVyZmFjZSBJSVJGaWx0ZXJOb2RlIDogQXVkaW9Ob2RlIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b24sIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKEJhc2VBdWRp
b0NvbnRleHQgYXVkaW9Db250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBnZXRGcmVxdWVuY3lSZXNwb25zZShGbG9hdDMyQXJyYXkg
ZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25zZSwgRmxvYXQzMkFycmF5IHBoYXNl
UmVzcG9uc2UpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGdldEZyZXF1ZW5j
eVJlc3BvbnNlKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3Bv
bnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09m
ZmxpbmVBdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiw4IEBACiAg
ICAgCiAgICAgW0ltcGxlbWVudGVkQXM9c3RhcnRPZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPEF1
ZGlvQnVmZmVyPiBzdGFydFJlbmRlcmluZygpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9cmVzdW1l
T2ZmbGluZVJlbmRlcmluZ10gUHJvbWlzZTx2b2lkPiByZXN1bWUoKTsKLSAgICBbSW1wbGVtZW50
ZWRBcz1zdXNwZW5kT2ZmbGluZVJlbmRlcmluZ10gUHJvbWlzZTx2b2lkPiBzdXNwZW5kKGRvdWJs
ZSBzdXNwZW5kVGltZSk7CisgICAgW0ltcGxlbWVudGVkQXM9cmVzdW1lT2ZmbGluZVJlbmRlcmlu
Z10gUHJvbWlzZTx1bmRlZmluZWQ+IHJlc3VtZSgpOworICAgIFtJbXBsZW1lbnRlZEFzPXN1c3Bl
bmRPZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPHVuZGVmaW5lZD4gc3VzcGVuZChkb3VibGUgc3Vz
cGVuZFRpbWUpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2ls
bGF0b3JOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2
LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBmcmVxdWVuY3k7IC8vIGlu
IEhlcnR6CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZGV0dW5lOyAvLyBpbiBD
ZW50cwogCi0gICAgdm9pZCBzZXRQZXJpb2RpY1dhdmUoUGVyaW9kaWNXYXZlIHdhdmUpOworICAg
IHVuZGVmaW5lZCBzZXRQZXJpb2RpY1dhdmUoUGVyaW9kaWNXYXZlIHdhdmUpOwogCiAgICAgLy8g
RklYTUU6IFRob3NlIGxlZ2FjeSBwbGF5YmFjayBzdGF0ZSBjb25zdGFudHMgYXJlIGtlcHQgZm9y
IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUKICAgICAvLyBwcmVmaXhlZCBBUEkgYW5k
IHNob3VsZCBiZSByZW1vdmVkIG9uY2Ugd2Ugc3RvcCBzdXBwb3J0aW5nIHRoZSBwcmVmaXhlZCBB
UEkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vUGFubmVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDggQEAKICAgICBh
dHRyaWJ1dGUgUGFubmluZ01vZGVsVHlwZSBwYW5uaW5nTW9kZWw7CiAKICAgICAvLyBVc2VzIGEg
M0QgY2FydGVzaWFuIGNvb3JkaW5hdGUgc3lzdGVtIAotICAgIHZvaWQgc2V0UG9zaXRpb24odW5y
ZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxv
YXQgeik7Ci0gICAgdm9pZCBzZXRPcmllbnRhdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5y
ZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQg
c2V0UG9zaXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNldE9yaWVudGF0aW9uKHVucmVz
dHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0
IHopOwogICAgIAogICAgIC8vIERlZmF1bHQgZGlzdGFuY2UgbW9kZWwgaXMgaW52ZXJzZQogICAg
IGF0dHJpYnV0ZSBEaXN0YW5jZU1vZGVsVHlwZSBkaXN0YW5jZU1vZGVsOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Nyw1ICs0Nyw1IEBACiAgICAgYXR0cmlidXRlIGRvdWJsZSBsb29wU3Rh
cnQ7CiAgICAgYXR0cmlidXRlIGRvdWJsZSBsb29wRW5kOwogCi0gICAgW01heVRocm93RXhjZXB0
aW9uLCBJbXBsZW1lbnRlZEFzPXN0YXJ0TGF0ZXJdIHZvaWQgc3RhcnQob3B0aW9uYWwgZG91Ymxl
IHdoZW4gPSAwLCBvcHRpb25hbCBkb3VibGUgZ3JhaW5PZmZzZXQgPSAwLCBvcHRpb25hbCBkb3Vi
bGUgZ3JhaW5EdXJhdGlvbik7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFz
PXN0YXJ0TGF0ZXJdIHVuZGVmaW5lZCBzdGFydChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDAsIG9w
dGlvbmFsIGRvdWJsZSBncmFpbk9mZnNldCA9IDAsIG9wdGlvbmFsIGRvdWJsZSBncmFpbkR1cmF0
aW9uKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1
ZGlvQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDkgKzQ0LDkgQEAKICAgICAvLyBBbGwgcGFubmluZyBpcyByZWxhdGl2ZSB0
byB0aGlzIGxpc3RlbmVyLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRBdWRpb0xpc3Rl
bmVyIGxpc3RlbmVyOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VzcGVuZFJlbmRlcmluZ10gUHJv
bWlzZTx2b2lkPiBzdXNwZW5kKCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9cmVzdW1lUmVuZGVyaW5n
XSBQcm9taXNlPHZvaWQ+IHJlc3VtZSgpOwotICAgIFByb21pc2U8dm9pZD4gY2xvc2UoKTsKKyAg
ICBbSW1wbGVtZW50ZWRBcz1zdXNwZW5kUmVuZGVyaW5nXSBQcm9taXNlPHVuZGVmaW5lZD4gc3Vz
cGVuZCgpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10gUHJvbWlzZTx1bmRl
ZmluZWQ+IHJlc3VtZSgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZSgpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQ29udGV4dFN0YXRlIHN0YXRlOwogICAgIGF0dHJpYnV0
ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKQEAgLTU4LDcgKzU4LDcgQEAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y3JlYXRlTGVnYWN5QnVmZmVyXSBBdWRpb0J1
ZmZlciBjcmVhdGVCdWZmZXIoQXJyYXlCdWZmZXIgYnVmZmVyLCBib29sZWFuIG1peFRvTW9ubyk7
CiAKICAgICAvLyBBc3luY2hyb25vdXMgYXVkaW8gZmlsZSBkYXRhIGRlY29kaW5nLgotICAgIHZv
aWQgZGVjb2RlQXVkaW9EYXRhKEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwgQXVkaW9CdWZmZXJDYWxs
YmFjaz8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBBdWRpb0J1ZmZlckNhbGxiYWNrPyBlcnJv
ckNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZGVjb2RlQXVkaW9EYXRhKEFycmF5QnVmZmVyIGF1
ZGlvRGF0YSwgQXVkaW9CdWZmZXJDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBB
dWRpb0J1ZmZlckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIAogICAgIC8vIFNvdXJjZXMKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y3JlYXRlV2ViS2l0QnVmZmVyU291
cmNlXSBXZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUgY3JlYXRlQnVmZmVyU291cmNlKCk7CkBA
IC04Niw3ICs4Niw3IEBACiAgICAgW01heVRocm93RXhjZXB0aW9uXSBDaGFubmVsTWVyZ2VyTm9k
ZSBjcmVhdGVDaGFubmVsTWVyZ2VyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1
dHMgPSA2KTsKIAogICAgIC8vIE9mZmxpbmUgcmVuZGVyaW5nCi0gICAgLy8gdm9pZCBwcmVwYXJl
T2ZmbGluZUJ1ZmZlclJlbmRlcmluZyh1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIHVu
c2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIHVucmVzdHJpY3RlZCBmbG9hdCBzYW1wbGVSYXRl
KTsKKyAgICAvLyB1bmRlZmluZWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmcodW5zaWdu
ZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbmNvbXBsZXRlOwotICAgIHZvaWQgc3RhcnRSZW5kZXJpbmcoKTsKKyAgICB1bmRlZmluZWQg
c3RhcnRSZW5kZXJpbmcoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1dlYktpdEF1ZGlvTGlzdGVuZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9MaXN0ZW5lci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9MaXN0ZW5l
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGZsb2F0IGRvcHBsZXJGYWN0b3I7ICAvLyBzYW1lIGFzIE9wZW5BTCAoZGVmYXVs
dCAxLjApCiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBzcGVlZE9mU291bmQ7ICAg
Ly8gaW4gbWV0ZXJzIC8gc2Vjb25kIChkZWZhdWx0IDM0My4zKQogCi0gICAgdm9pZCBzZXRQb3Np
dGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJp
Y3RlZCBmbG9hdCB6KTsKLSAgICB2b2lkIHNldE9yaWVudGF0aW9uKHVucmVzdHJpY3RlZCBmbG9h
dCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHosIHVucmVzdHJp
Y3RlZCBmbG9hdCB4VXAsIHVucmVzdHJpY3RlZCBmbG9hdCB5VXAsIHVucmVzdHJpY3RlZCBmbG9h
dCB6VXApOwotICAgIHZvaWQgc2V0VmVsb2NpdHkodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVz
dHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNl
dFBvc2l0aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5y
ZXN0cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVmaW5lZCBzZXRPcmllbnRhdGlvbih1bnJlc3Ry
aWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeFVwLCB1bnJlc3RyaWN0ZWQgZmxvYXQgeVVwLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgelVwKTsKKyAgICB1bmRlZmluZWQgc2V0VmVsb2NpdHkodW5yZXN0cmljdGVk
IGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5l
ck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2ViS2l0QXVkaW9QYW5uZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw5ICszMiw5IEBACiAgICAgYXR0cmlidXRlIFBhbm5pbmdNb2RlbFR5cGUg
cGFubmluZ01vZGVsOwogCiAgICAgLy8gVXNlcyBhIDNEIGNhcnRlc2lhbiBjb29yZGluYXRlIHN5
c3RlbQotICAgIHZvaWQgc2V0UG9zaXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7Ci0gICAgdm9pZCBzZXRPcmllbnRh
dGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJp
Y3RlZCBmbG9hdCB6KTsKLSAgICB2b2lkIHNldFZlbG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVm
aW5lZCBzZXRQb3NpdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0
IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgc2V0T3JpZW50YXRpb24o
dW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNldFZlbG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOwogCiAgICAgLy8g
RGlzdGFuY2UgbW9kZWwKICAgICBhdHRyaWJ1dGUgRGlzdGFuY2VNb2RlbFR5cGUgZGlzdGFuY2VN
b2RlbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0T3NjaWxs
YXRvck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0T3NjaWxsYXRvck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JOb2RlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNSArNDMsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1Bh
cmFtIGZyZXF1ZW5jeTsgLy8gaW4gSGVydHoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9Q
YXJhbSBkZXR1bmU7IC8vIGluIENlbnRzCiAKLSAgICBbSW1wbGVtZW50ZWRBcz1zZXRXZWJLaXRQ
ZXJpb2RpY1dhdmVdIHZvaWQgc2V0UGVyaW9kaWNXYXZlKFBlcmlvZGljV2F2ZT8gd2F2ZSk7Cisg
ICAgW0ltcGxlbWVudGVkQXM9c2V0V2ViS2l0UGVyaW9kaWNXYXZlXSB1bmRlZmluZWQgc2V0UGVy
aW9kaWNXYXZlKFBlcmlvZGljV2F2ZT8gd2F2ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTUUws
CiBdIGludGVyZmFjZSBEYXRhYmFzZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB2ZXJzaW9uOwotICAgIHZvaWQgY2hhbmdlVmVyc2lvbihET01TdHJpbmcgb2xkVmVyc2lvbiwg
RE9NU3RyaW5nIG5ld1ZlcnNpb24sIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2s/IGNh
bGxiYWNrLCBvcHRpb25hbCBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJh
Y2ssIG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKLSAgICB2b2lkIHRy
YW5zYWN0aW9uKFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxi
YWNrPyBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKFNRTFRyYW5z
YWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFjaz8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNjZXNzQ2FsbGJh
Y2spOworICAgIHVuZGVmaW5lZCBjaGFuZ2VWZXJzaW9uKERPTVN0cmluZyBvbGRWZXJzaW9uLCBE
T01TdHJpbmcgbmV3VmVyc2lvbiwgb3B0aW9uYWwgU1FMVHJhbnNhY3Rpb25DYWxsYmFjaz8gY2Fs
bGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFj
aywgb3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2spOworICAgIHVuZGVmaW5l
ZCB0cmFuc2FjdGlvbihTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBT
UUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ssIG9wdGlvbmFsIFZvaWRD
YWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgcmVhZFRyYW5zYWN0aW9u
KFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNj
ZXNzQ2FsbGJhY2spOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiAgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWNhbGxiYWNrIERhdGFiYXNlQ2FsbGJhY2sgPSB2b2lkIChEYXRhYmFzZSBkYXRhYmFzZSk7Citj
YWxsYmFjayBEYXRhYmFzZUNhbGxiYWNrID0gdW5kZWZpbmVkIChEYXRhYmFzZSBkYXRhYmFzZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudENh
bGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFN0YXRlbWVudENhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJh
Y2sgU1FMU3RhdGVtZW50Q2FsbGJhY2sgPSB2b2lkIChTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlv
biwgU1FMUmVzdWx0U2V0IHJlc3VsdFNldCk7CitjYWxsYmFjayBTUUxTdGF0ZW1lbnRDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIFNRTFJlc3VsdFNldCBy
ZXN1bHRTZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxU
cmFuc2FjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw1ICszMSw1IEBAIHR5cGVkZWYgKERPTVN0cmluZz8gb3IgdW5yZXN0cmljdGVk
IGRvdWIKIFsKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKIF0gaW50ZXJmYWNlIFNRTFRyYW5z
YWN0aW9uIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZXhlY3V0ZVNxbChET01TdHJp
bmcgc3FsU3RhdGVtZW50LCBvcHRpb25hbCBzZXF1ZW5jZTxTUUxWYWx1ZT4/IGFyZ3VtZW50cyA9
IFtdLCBvcHRpb25hbCBTUUxTdGF0ZW1lbnRDYWxsYmFjaz8gY2FsbGJhY2ssIG9wdGlvbmFsIFNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIGV4ZWN1dGVTcWwoRE9NU3RyaW5nIHNxbFN0YXRlbWVudCwgb3B0
aW9uYWwgc2VxdWVuY2U8U1FMVmFsdWU+PyBhcmd1bWVudHMgPSBbXSwgb3B0aW9uYWwgU1FMU3Rh
dGVtZW50Q2FsbGJhY2s/IGNhbGxiYWNrLCBvcHRpb25hbCBTUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrPyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQg
QEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sgU1FMVHJhbnNhY3Rpb25DYWxsYmFjayA9
IHZvaWQgKFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKTsKK2NhbGxiYWNrIFNRTFRyYW5zYWN0
aW9uQ2FsbGJhY2sgPSB1bmRlZmluZWQgKFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25FcnJv
ckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25FcnJv
ckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCi1jYWxsYmFjayBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgPSB2b2lkIChT
UUxFcnJvciBlcnJvcik7CitjYWxsYmFjayBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgPSB1
bmRlZmluZWQgKFNRTEVycm9yIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVUJ1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNyArMzMsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1NjQ7CiBdIGludGVy
ZmFjZSBXZWJHUFVCdWZmZXIgewogICAgIFByb21pc2U8QXJyYXlCdWZmZXI+IG1hcFJlYWRBc3lu
YygpOwogICAgIFByb21pc2U8QXJyYXlCdWZmZXI+IG1hcFdyaXRlQXN5bmMoKTsKLSAgICB2b2lk
IHVubWFwKCk7CisgICAgdW5kZWZpbmVkIHVubWFwKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3koKTsK
KyAgICB1bmRlZmluZWQgZGVzdHJveSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRFbmNvZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRF
bmNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTgsMjQgKzU4LDI0IEBAIHR5cGVkZWYgdW5z
aWduZWQgbG9uZyBsb25nIHU2NDsKICAgICBXZWJHUFVSZW5kZXJQYXNzRW5jb2RlciBiZWdpblJl
bmRlclBhc3MoV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgV2Vi
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGJlZ2luQ29tcHV0ZVBhc3MoKTsKIAotICAgIHZvaWQgY29w
eUJ1ZmZlclRvQnVmZmVyKAorICAgIHVuZGVmaW5lZCBjb3B5QnVmZmVyVG9CdWZmZXIoCiAgICAg
ICAgIFdlYkdQVUJ1ZmZlciBzcmMsCiAgICAgICAgIHU2NCBzcmNPZmZzZXQsCiAgICAgICAgIFdl
YkdQVUJ1ZmZlciBkc3QsCiAgICAgICAgIHU2NCBkc3RPZmZzZXQsCiAgICAgICAgIHU2NCBzaXpl
KTsKIAotICAgIHZvaWQgY29weUJ1ZmZlclRvVGV4dHVyZSgKKyAgICB1bmRlZmluZWQgY29weUJ1
ZmZlclRvVGV4dHVyZSgKICAgICAgICAgR1BVQnVmZmVyQ29weVZpZXcgc291cmNlLAogICAgICAg
ICBHUFVUZXh0dXJlQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVudDNEIGNv
cHlTaXplKTsKIAotICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcigKKyAgICB1bmRlZmluZWQg
Y29weVRleHR1cmVUb0J1ZmZlcigKICAgICAgICAgR1BVVGV4dHVyZUNvcHlWaWV3IHNvdXJjZSwK
ICAgICAgICAgR1BVQnVmZmVyQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVu
dDNEIGNvcHlTaXplKTsKIAotICAgIHZvaWQgY29weVRleHR1cmVUb1RleHR1cmUoCisgICAgdW5k
ZWZpbmVkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgICAgICBHUFVUZXh0dXJlQ29weVZpZXcg
c291cmNlLAogICAgICAgICBHUFVUZXh0dXJlQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAg
IEdQVUV4dGVudDNEIGNvcHlTaXplKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0
ZVBhc3NFbmNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQCB0eXBlZGVm
IHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEludGVyZmFjZU5hbWU9R1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBXZWJHUFVDb21wdXRl
UGFzc0VuY29kZXIgOiBXZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlciB7Ci0gICAgdm9pZCBz
ZXRQaXBlbGluZShXZWJHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotICAgIHZvaWQgZGlz
cGF0Y2godTMyIHgsIHUzMiB5LCB1MzIgeik7CisgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKFdl
YkdQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7CisgICAgdW5kZWZpbmVkIGRpc3BhdGNoKHUz
MiB4LCB1MzIgeSwgdTMyIHopOwogCiAgICAgLy8gVE9ETyBhZGQgbWlzc2luZyBjb21tYW5kcwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9y
U2NvcGVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNiBAQCB0eXBlZGVmIChHUFVPdXRPZk1lbW9yeUVycm9yIG9y
IEdQVVZhbGlkCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViR1BVCiBdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmljZSB7Ci0gICAgdm9pZCBwdXNo
RXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOworICAgIHVuZGVmaW5lZCBwdXNoRXJy
b3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOwogICAgIFByb21pc2U8R1BVRXJyb3I/PiBw
b3BFcnJvclNjb3BlKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw2
IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB1MzI7CiAgICAgSW50ZXJmYWNlTmFtZT1HUFVQcm9n
cmFtbWFibGVQYXNzRW5jb2RlciwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXSBpbnRlcmZh
Y2UgV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewotICAgIHZvaWQgZW5kUGFzcygpOwot
ICAgIHZvaWQgc2V0QmluZEdyb3VwKHUzMiBpbmRleCwgV2ViR1BVQmluZEdyb3VwIGJpbmRHcm91
cC8qLCBvcHRpb25hbCBzZXF1ZW5jZTx1MzI+IGR5bmFtaWNPZmZzZXRzKi8pOworICAgIHVuZGVm
aW5lZCBlbmRQYXNzKCk7CisgICAgdW5kZWZpbmVkIHNldEJpbmRHcm91cCh1MzIgaW5kZXgsIFdl
YkdQVUJpbmRHcm91cCBiaW5kR3JvdXAvKiwgb3B0aW9uYWwgc2VxdWVuY2U8dTMyPiBkeW5hbWlj
T2Zmc2V0cyovKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVRdWV1ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUXVldWUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkgKzMwLDkg
QEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFjZU5hbWU9R1BV
UXVldWUKIF0gaW50ZXJmYWNlIFdlYkdQVVF1ZXVlIHsKLSAgICB2b2lkIHN1Ym1pdChzZXF1ZW5j
ZTxXZWJHUFVDb21tYW5kQnVmZmVyPiBidWZmZXJzKTsKKyAgICB1bmRlZmluZWQgc3VibWl0KHNl
cXVlbmNlPFdlYkdQVUNvbW1hbmRCdWZmZXI+IGJ1ZmZlcnMpOwogCiAgICAgLy8gRklYTUU6IFVu
aW1wbGVtZW50ZWQuCi0gICAgLy8gdm9pZCBzaWduYWwoV2ViR1BVRmVuY2UgZmVuY2UsIHU2NCBz
aWduYWxWYWx1ZSk7Ci0gICAgLy8gdm9pZCB3YWl0KFdlYkdQVUZlbmNlIGZlbmNlLCB1NjQgdmFs
dWVUb1dhaXQpOworICAgIC8vIHVuZGVmaW5lZCBzaWduYWwoV2ViR1BVRmVuY2UgZmVuY2UsIHU2
NCBzaWduYWxWYWx1ZSk7CisgICAgLy8gdW5kZWZpbmVkIHdhaXQoV2ViR1BVRmVuY2UgZmVuY2Us
IHU2NCB2YWx1ZVRvV2FpdCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGFz
c0VuY29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyMyArMzQsMjMgQEAgdHlwZWRlZiB1
bnNpZ25lZCBsb25nIGxvbmcgdTY0OwogICAgIEludGVyZmFjZU5hbWU9R1BVUmVuZGVyUGFzc0Vu
Y29kZXIsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIFdlYkdQVVJlbmRl
clBhc3NFbmNvZGVyIDogV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewotICAgIHZvaWQg
c2V0UGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmUgcGlwZWxpbmUpOwotICAgIHZvaWQgc2V0
QmxlbmRDb2xvcihHUFVDb2xvciBjb2xvcik7CisgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKFdl
YkdQVVJlbmRlclBpcGVsaW5lIHBpcGVsaW5lKTsKKyAgICB1bmRlZmluZWQgc2V0QmxlbmRDb2xv
cihHUFVDb2xvciBjb2xvcik7CiAKICAgICAvLyBUaGUgZGVmYXVsdCB2aWV3cG9ydCBpcyAoMC4w
LCAwLjAsIHcsIGgsIDAuMCwgMS4wKSwgd2hlcmUgdyBhbmQgaCBhcmUgdGhlIGRpbWVuc2lvbnMg
b2YgYmFjayBidWZmZXIKLSAgICB2b2lkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7
CisgICAgdW5kZWZpbmVkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRo
LCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7CiAKICAgICAv
LyBUaGUgZGVmYXVsdCBzY2lzc29yIHJlY3RhbmdsZSBpcyAoMCwgMCwgdywgaCksIHdoZXJlIHcg
YW5kIGggYXJlIHRoZSBkaW1lbnNpb25zIG9mIGJhY2sgYnVmZmVyLgogICAgIC8vIFdpZHRoIGFu
ZCBoZWlnaHQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4gT3RoZXJ3aXNlLCBhbiBlcnJvciB3aWxs
IGJlIGdlbmVyYXRlZC4KLSAgICB2b2lkIHNldFNjaXNzb3JSZWN0KHUzMiB4LCB1MzIgeSwgdTMy
IHdpZHRoLCB1MzIgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2V0U2Npc3NvclJlY3QodTMyIHgs
IHUzMiB5LCB1MzIgd2lkdGgsIHUzMiBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRJbmRleEJ1ZmZl
cihXZWJHUFVCdWZmZXIgYnVmZmVyLCB1NjQgb2Zmc2V0KTsKLSAgICB2b2lkIHNldFZlcnRleEJ1
ZmZlcnModTMyIHN0YXJ0U2xvdCwgc2VxdWVuY2U8V2ViR1BVQnVmZmVyPiBidWZmZXJzLCBzZXF1
ZW5jZTx1NjQ+IG9mZnNldHMpOworICAgIHVuZGVmaW5lZCBzZXRJbmRleEJ1ZmZlcihXZWJHUFVC
dWZmZXIgYnVmZmVyLCB1NjQgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgc2V0VmVydGV4QnVmZmVy
cyh1MzIgc3RhcnRTbG90LCBzZXF1ZW5jZTxXZWJHUFVCdWZmZXI+IGJ1ZmZlcnMsIHNlcXVlbmNl
PHU2ND4gb2Zmc2V0cyk7CiAKLSAgICB2b2lkIGRyYXcodTMyIHZlcnRleENvdW50LCB1MzIgaW5z
dGFuY2VDb3VudCwgdTMyIGZpcnN0VmVydGV4LCB1MzIgZmlyc3RJbnN0YW5jZSk7Ci0gICAgdm9p
ZCBkcmF3SW5kZXhlZCh1MzIgaW5kZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJz
dEluZGV4LCBpMzIgYmFzZVZlcnRleCwgdTMyIGZpcnN0SW5zdGFuY2UpOworICAgIHVuZGVmaW5l
ZCBkcmF3KHUzMiB2ZXJ0ZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdFZlcnRl
eCwgdTMyIGZpcnN0SW5zdGFuY2UpOworICAgIHVuZGVmaW5lZCBkcmF3SW5kZXhlZCh1MzIgaW5k
ZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdEluZGV4LCBpMzIgYmFzZVZlcnRl
eCwgdTMyIGZpcnN0SW5zdGFuY2UpOwogCiAvKiBOb3QgWWV0IEltcGxlbWVudGVkCi0gICAgdm9p
ZCBzZXRTdGVuY2lsUmVmZXJlbmNlKHUzMiByZWZlcmVuY2UpOworICAgIHVuZGVmaW5lZCBzZXRT
dGVuY2lsUmVmZXJlbmNlKHUzMiByZWZlcmVuY2UpOwogKi8KIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVUZXh0dXJlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVUZXh0dXJlLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVVGV4dHVyZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbnRlcmZhY2VOYW1lPUdQVVRl
eHR1cmUKIF0gaW50ZXJmYWNlIFdlYkdQVVRleHR1cmUgewogICAgIFdlYkdQVVRleHR1cmVWaWV3
IGNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0gICAgdm9pZCBkZXN0cm95KCk7CisgICAgdW5kZWZpbmVk
IGRlc3Ryb3koKTsKIAogICAgIC8vIE5vdCBZZXQgSW1wbGVtZW50ZWQ6CiAgICAgLy8gV2ViR1BV
VGV4dHVyZVZpZXcgY3JlYXRlVGV4dHVyZVZpZXcoV2ViR1BVVGV4dHVyZVZpZXdEZXNjcmlwdG9y
IGRlc2MpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxMCArNTgsMTAg
QEAKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYmluYXJ5VHlwZTsKIAotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2VuZChCbG9iIGRhdGEpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZW5kKFVTVlN0cmluZyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNlbmQoQXJyYXlCdWZmZXJWaWV3IGRhdGEpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNlbmQoQmxvYiBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZW5kKFVTVlN0cmluZyBkYXRhKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBjbG9zZShvcHRpb25hbCBbQ2xhbXBdIHVuc2lnbmVkIHNob3J0IGNvZGUsIG9wdGlvbmFs
IFVTVlN0cmluZyByZWFzb24pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNs
b3NlKG9wdGlvbmFsIFtDbGFtcF0gdW5zaWduZWQgc2hvcnQgY29kZSwgb3B0aW9uYWwgVVNWU3Ry
aW5nIHJlYXNvbik7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UlNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMyArMzks
MTMgQEAKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYlhSSW5wdXRTb3Vy
Y2VBcnJheSBpbnB1dFNvdXJjZXM7CiAKICAgICAvLyBNZXRob2RzCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHVwZGF0ZVJlbmRlclN0YXRlKG9wdGlvbmFsIFhSUmVuZGVyU3RhdGVJbml0
IHN0YXRlSW5pdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdXBkYXRlUmVu
ZGVyU3RhdGUob3B0aW9uYWwgWFJSZW5kZXJTdGF0ZUluaXQgc3RhdGVJbml0KTsKICAgICBbTmV3
T2JqZWN0XSBQcm9taXNlPFdlYlhSUmVmZXJlbmNlU3BhY2U+IHJlcXVlc3RSZWZlcmVuY2VTcGFj
ZShYUlJlZmVyZW5jZVNwYWNlVHlwZSB0eXBlKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZv
aWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUodW5zaWduZWQgbG9uZyBoYW5kbGUpOworICAgIHVuZGVm
aW5lZCBjYW5jZWxBbmltYXRpb25GcmFtZSh1bnNpZ25lZCBsb25nIGhhbmRsZSk7CiAKLSAgICBQ
cm9taXNlPHZvaWQ+IGVuZCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBlbmQoKTsKIAogICAg
IC8vIEV2ZW50cwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICAgICBJbnRlcmZhY2VOYW1lPVhSU3lzdGVt
CiBdIGludGVyZmFjZSBXZWJYUlN5c3RlbSA6IEV2ZW50VGFyZ2V0IHsKICAgICAvLyBNZXRob2Rz
Ci0gICAgUHJvbWlzZTx2b2lkPiBpc1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSBtb2Rl
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gaXNTZXNzaW9uU3VwcG9ydGVkKFhSU2Vzc2lvbk1v
ZGUgbW9kZSk7CiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8V2Vi
WFJTZXNzaW9uPiByZXF1ZXN0U2Vzc2lvbihYUlNlc3Npb25Nb2RlIG1vZGUsIG9wdGlvbmFsIFhS
U2Vzc2lvbkluaXQgb3B0aW9ucyk7CiAKICAgICAvLyBFdmVudHMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkZy
YW1lUmVxdWVzdENhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNCArMjcsNCBAQCB0
eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9
V0VCWFIKLV0gY2FsbGJhY2sgWFJGcmFtZVJlcXVlc3RDYWxsYmFjayA9IHZvaWQgKERPTUhpZ2hS
ZXNUaW1lU3RhbXAgdGltZSwgV2ViWFJGcmFtZSBmcmFtZSk7CitdIGNhbGxiYWNrIFhSRnJhbWVS
ZXF1ZXN0Q2FsbGJhY2sgPSB1bmRlZmluZWQgKERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZSwgV2Vi
WFJGcmFtZSBmcmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVt
cGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuaWRsLmVyYgkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvU2Ny
aXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIF0gaW50ZXJmYWNlIEludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQgewogPCUtIGZvciBAc2V0dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8
JS0gaWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBA
c2V0dGluZy5pZGxUeXBlIC0lPgotICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9u
TmFtZSAlPig8JT0gQHNldHRpbmcuaWRsVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPik7Cisg
ICAgdW5kZWZpbmVkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0
aW5nLmlkbFR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pOwogPCUtIGVuZCAtJT4KIDwlLSBl
bmQgLSU+CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVm
ZmVjdC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25FZmZlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1ICszMCw1IEBACiBdIGlu
dGVyZmFjZSBBbmltYXRpb25FZmZlY3QgewogICAgIFtJbXBsZW1lbnRlZEFzPWdldEJpbmRpbmdz
VGltaW5nXSBFZmZlY3RUaW1pbmcgZ2V0VGltaW5nKCk7CiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0
QmluZGluZ3NDb21wdXRlZFRpbWluZ10gQ29tcHV0ZWRFZmZlY3RUaW1pbmcgZ2V0Q29tcHV0ZWRU
aW1pbmcoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NV
cGRhdGVUaW1pbmddIHZvaWQgdXBkYXRlVGltaW5nKG9wdGlvbmFsIE9wdGlvbmFsRWZmZWN0VGlt
aW5nIHRpbWluZyk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRp
bmdzVXBkYXRlVGltaW5nXSB1bmRlZmluZWQgdXBkYXRlVGltaW5nKG9wdGlvbmFsIE9wdGlvbmFs
RWZmZWN0VGltaW5nIHRpbWluZyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0tleWZyYW1lRWZmZWN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICsz
OCw3IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIFtFbmFibGVkQXRSdW50
aW1lPVdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zXSBhdHRyaWJ1dGUgSXRlcmF0aW9u
Q29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBvc2l0ZTsKICAgICBbRW5hYmxlZEF0UnVu
dGltZT1XZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc10gYXR0cmlidXRlIENvbXBvc2l0
ZU9wZXJhdGlvbiBjb21wb3NpdGU7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVt
ZW50ZWRBcz1nZXRCaW5kaW5nc0tleWZyYW1lc10gc2VxdWVuY2U8b2JqZWN0PiBnZXRLZXlmcmFt
ZXMoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1w
bGVtZW50ZWRBcz1zZXRCaW5kaW5nc0tleWZyYW1lc10gdm9pZCBzZXRLZXlmcmFtZXMob2JqZWN0
PyBrZXlmcmFtZXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbFdpdGg9R2xvYmFsT2Jq
ZWN0LCBJbXBsZW1lbnRlZEFzPXNldEJpbmRpbmdzS2V5ZnJhbWVzXSB1bmRlZmluZWQgc2V0S2V5
ZnJhbWVzKG9iamVjdD8ga2V5ZnJhbWVzKTsKIH07CiAKIGRpY3Rpb25hcnkgQmFzZVByb3BlcnR5
SW5kZXhlZEtleWZyYW1lIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTksMTIgKzU5LDEyIEBAIGVudW0g
QW5pbWF0aW9uUmVwbGFjZVN0YXRlIHsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVt
b3ZlOwogICAgIFtJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUmVhZHldIHJlYWRvbmx5IGF0dHJpYnV0
ZSBQcm9taXNlPFdlYkFuaW1hdGlvbj4gcmVhZHk7CiAgICAgW0ltcGxlbWVudGVkQXM9YmluZGlu
Z3NGaW5pc2hlZF0gcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8V2ViQW5pbWF0aW9uPiBmaW5p
c2hlZDsKLSAgICB2b2lkIGNhbmNlbCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBm
aW5pc2goKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NQ
bGF5XSB2b2lkIHBsYXkoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9
YmluZGluZ3NQYXVzZV0gdm9pZCBwYXVzZSgpOwotICAgIHZvaWQgdXBkYXRlUGxheWJhY2tSYXRl
KGRvdWJsZSBwbGF5YmFja1JhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50
ZWRBcz1iaW5kaW5nc1JldmVyc2VdIHZvaWQgcmV2ZXJzZSgpOwotICAgIHZvaWQgcGVyc2lzdCgp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21taXRTdHlsZXMoKTsKKyAgICB1bmRl
ZmluZWQgY2FuY2VsKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZmluaXNo
KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUGxheV0g
dW5kZWZpbmVkIHBsYXkoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9
YmluZGluZ3NQYXVzZV0gdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZVBs
YXliYWNrUmF0ZShkb3VibGUgcGxheWJhY2tSYXRlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24s
IEltcGxlbWVudGVkQXM9YmluZGluZ3NSZXZlcnNlXSB1bmRlZmluZWQgcmV2ZXJzZSgpOworICAg
IHVuZGVmaW5lZCBwZXJzaXN0KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
Y29tbWl0U3R5bGVzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlw
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw3IEBAIHN0cnVjdCBJRExBbnkgOiBJRExUeXBlPEpT
Qzo6U3Ryb25nPEpTQzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBzdGF0aWMgaW5saW5lIFUm
JiBleHRyYWN0VmFsdWVGcm9tTnVsbGFibGUoVSYmIHZhbHVlKSB7IHJldHVybiBzdGQ6OmZvcndh
cmQ8VT4odmFsdWUpOyB9CiB9OwogCi1zdHJ1Y3QgSURMVm9pZCA6IElETFR5cGU8dm9pZD4geyB9
Oworc3RydWN0IElETFVuZGVmaW5lZCA6IElETFR5cGU8dm9pZD4geyB9OwogCiBzdHJ1Y3QgSURM
Qm9vbGVhbiA6IElETFR5cGU8Ym9vbD4geyB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9ET01Qcm9taXNlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9ET01Qcm9taXNlUHJveHkuaAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvRE9NUHJvbWlzZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRlPD4KLWNsYXNzIERPTVByb21p
c2VQcm94eTxJRExWb2lkPiB7CitjbGFzcyBET01Qcm9taXNlUHJveHk8SURMVW5kZWZpbmVkPiB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRE9NUHJvbWlzZVBy
b3h5KCkgPSBkZWZhdWx0OwpAQCAtMTgzLDkgKzE4Myw5IEBAIGlubGluZSB2b2lkIERPTVByb21p
c2VQcm94eTxJRExUeXBlPjo6cmUKIH0KIAogCi0vLyBNQVJLOiAtIERPTVByb21pc2VQcm94eTxJ
RExWb2lkPiBzcGVjaWFsaXphdGlvbgorLy8gTUFSSzogLSBET01Qcm9taXNlUHJveHk8SURMVW5k
ZWZpbmVkPiBzcGVjaWFsaXphdGlvbgogCi1pbmxpbmUgSlNDOjpKU1ZhbHVlIERPTVByb21pc2VQ
cm94eTxJRExWb2lkPjo6cHJvbWlzZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQoraW5saW5lIEpTQzo6SlNW
YWx1ZSBET01Qcm9taXNlUHJveHk8SURMVW5kZWZpbmVkPjo6cHJvbWlzZShKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBmb3Ig
KGF1dG8mIGRlZmVycmVkUHJvbWlzZSA6IG1fZGVmZXJyZWRQcm9taXNlcykgewpAQCAtMjEwLDE4
ICsyMTAsMTggQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSBET01Qcm9taXNlUHJveHk8SURMVgogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKLWlubGluZSB2b2lkIERPTVByb21pc2VQcm94eTxJRExWb2lk
Pjo6Y2xlYXIoKQoraW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD46OmNs
ZWFyKCkKIHsKICAgICBtX3ZhbHVlT3JFeGNlcHRpb24gPSBXVEY6Om51bGxvcHQ7CiAgICAgbV9k
ZWZlcnJlZFByb21pc2VzLmNsZWFyKCk7CiB9CiAKLWlubGluZSBib29sIERPTVByb21pc2VQcm94
eTxJRExWb2lkPjo6aXNGdWxmaWxsZWQoKSBjb25zdAoraW5saW5lIGJvb2wgRE9NUHJvbWlzZVBy
b3h5PElETFVuZGVmaW5lZD46OmlzRnVsZmlsbGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV92
YWx1ZU9yRXhjZXB0aW9uLmhhc1ZhbHVlKCk7CiB9CiAKLWlubGluZSB2b2lkIERPTVByb21pc2VQ
cm94eTxJRExWb2lkPjo6cmVzb2x2ZSgpCitpbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURM
VW5kZWZpbmVkPjo6cmVzb2x2ZSgpCiB7CiAgICAgQVNTRVJUKCFtX3ZhbHVlT3JFeGNlcHRpb24p
OwogICAgIG1fdmFsdWVPckV4Y2VwdGlvbiA9IEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKQEAgLTIy
OSw3ICsyMjksNyBAQCBpbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OnJlCiAg
ICAgICAgIGRlZmVycmVkUHJvbWlzZS0+cmVzb2x2ZSgpOwogfQogCi1pbmxpbmUgdm9pZCBET01Q
cm9taXNlUHJveHk8SURMVm9pZD46OnJlamVjdChFeGNlcHRpb24gZXhjZXB0aW9uLCBSZWplY3RB
c0hhbmRsZWQgcmVqZWN0QXNIYW5kbGVkKQoraW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElE
TFVuZGVmaW5lZD46OnJlamVjdChFeGNlcHRpb24gZXhjZXB0aW9uLCBSZWplY3RBc0hhbmRsZWQg
cmVqZWN0QXNIYW5kbGVkKQogewogICAgIEFTU0VSVCghbV92YWx1ZU9yRXhjZXB0aW9uKTsKICAg
ICBtX3ZhbHVlT3JFeGNlcHRpb24gPSBFeGNlcHRpb25Pcjx2b2lkPiB7IFdURk1vdmUoZXhjZXB0
aW9uKSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvci5wbQkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCSh3b3JraW5nIGNvcHkpCkBAIC05MCw3ICs5MCw3
IEBAIG15ICVidWZmZXJTb3VyY2VUeXBlcyA9ICgKIAogbXkgJXByaW1pdGl2ZVR5cGVIYXNoID0g
KCAKICAgICAiYm9vbGVhbiIgPT4gMSwgCi0gICAgInZvaWQiID0+IDEsCisgICAgInVuZGVmaW5l
ZCIgPT4gMSwKICAgICAiRGF0ZSIgPT4gMQogKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CSh3b3JraW5nIGNvcHkpCkBAIC01OTA2LDcgKzU5MDYsNyBAQCBzdWIgTmVlZHNFeHBsaWNpdFBy
b3BhZ2F0ZUV4Y2VwdGlvbkNhbGwKIAogICAgIHJldHVybiAwIHVubGVzcyAkb3BlcmF0aW9uLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPntNYXlUaHJvd0V4Y2VwdGlvbn07CiAKLSAgICByZXR1cm4gJG9w
ZXJhdGlvbi0+dHlwZSAmJiAoJG9wZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidm9pZCIgfHwgJGNv
ZGVHZW5lcmF0b3ItPklzUHJvbWlzZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgfHwgR2V0T3BlcmF0
aW9uUmV0dXJuZWRBcmd1bWVudE5hbWUoJG9wZXJhdGlvbikpOworICAgIHJldHVybiAkb3BlcmF0
aW9uLT50eXBlICYmICgkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ1bmRlZmluZWQiIHx8ICRj
b2RlR2VuZXJhdG9yLT5Jc1Byb21pc2VUeXBlKCRvcGVyYXRpb24tPnR5cGUpIHx8IEdldE9wZXJh
dGlvblJldHVybmVkQXJndW1lbnROYW1lKCRvcGVyYXRpb24pKTsKIH0KIAogc3ViIEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrCkBAIC02NDAyLDcgKzY0MDIsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFj
a0ltcGxlbWVudGF0aW9uQ29udGVuCiAgICAgICAgICAgICAgICAgJGNhbGxiYWNrSW52b2NhdGlv
biA9ICJtX2RhdGEtPmludm9rZUNhbGxiYWNrKHRoaXNWYWx1ZSwgYXJncywgSlNDYWxsYmFja0Rh
dGE6OkNhbGxiYWNrVHlwZTo6JHtjYWxsYmFja1R5cGV9LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KHZtLCBcIiR7ZnVuY3Rpb25OYW1lfVwiKSwgcmV0dXJuZWRFeGNlcHRpb24pIjsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInZvaWQi
KSB7CisgICAgICAgICAgICBpZiAoJG9wZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVk
IikgewogICAgICAgICAgICAgICAgIHB1c2goQCRjb250ZW50UmVmLCAiICAgICR7Y2FsbGJhY2tJ
bnZvY2F0aW9ufTtcbiIpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBw
dXNoKEAkY29udGVudFJlZiwgIiAgICBhdXRvIGpzUmVzdWx0ID0gJHtjYWxsYmFja0ludm9jYXRp
b259O1xuIik7CkBAIC02NDE5LDcgKzY0MTksNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxl
bWVudGF0aW9uQ29udGVuCiAgICAgICAgICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICAgICAg
cmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6RXhjZXB0aW9uVGhyb3duO1xuIik7CiAgICAgICAg
ICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICAgfVxuXG4iKTsKIAotICAgICAgICAgICAgaWYg
KCRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInZvaWQiKSB7CisgICAgICAgICAgICBpZiAoJG9w
ZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgIHB1
c2goQCRjb250ZW50UmVmLCAiICAgIHJldHVybiB7IH07XG4iKTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgbXkgJG5hdGl2ZVZhbHVlID0gSlNWYWx1ZVRvTmF0aXZlKCRp
bnRlcmZhY2VPckNhbGxiYWNrLCAkb3BlcmF0aW9uLCAianNSZXN1bHQiLCAiIiwgIiZsZXhpY2Fs
R2xvYmFsT2JqZWN0IiwgImxleGljYWxHbG9iYWxPYmplY3QiKTsKQEAgLTY0ODMsNyArNjQ4Myw3
IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsCiAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgJGluZGVudCAuICIkZnVuY3Rpb25TdHJpbmc7XG4iKTsKICAgICAgICAg
R2VuZXJhdGVXcml0ZUJhcnJpZXJzRm9yQXJndW1lbnRzKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlv
biwgJGluZGVudCk7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGluZGVudCAuICJyZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKCRyZXR1cm5Bcmd1bWVudE5hbWUudmFsdWUoKSk7XG4iKTsKLSAg
ICB9IGVsc2lmICgkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ2b2lkIiB8fCAoJGNvZGVHZW5l
cmF0b3ItPklzUHJvbWlzZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgJiYgISRvcGVyYXRpb24tPmV4
dGVuZGVkQXR0cmlidXRlcy0+e1Byb21pc2VQcm94eX0pKSB7CisgICAgfSBlbHNpZiAoJG9wZXJh
dGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIiB8fCAoJGNvZGVHZW5lcmF0b3ItPklzUHJv
bWlzZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgJiYgISRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmli
dXRlcy0+e1Byb21pc2VQcm94eX0pKSB7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGlu
ZGVudCAuICJ0aHJvd1Njb3BlLnJlbGVhc2UoKTtcbiIpIGlmICgkaGFzVGhyb3dTY29wZSk7CiAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGluZGVudCAuICIkZnVuY3Rpb25TdHJpbmc7XG4i
KTsKICAgICAgICAgR2VuZXJhdGVXcml0ZUJhcnJpZXJzRm9yQXJndW1lbnRzKCRvdXRwdXRBcnJh
eSwgJG9wZXJhdGlvbiwgJGluZGVudCk7CkBAIC02NzQ3LDcgKzY3NDcsNyBAQCBzdWIgR2V0QmFz
ZUlETFR5cGUKICAgICB9CiAKICAgICBteSAlSURMVHlwZXMgPSAoCi0gICAgICAgICJ2b2lkIiA9
PiAiSURMVm9pZCIsCisgICAgICAgICJ1bmRlZmluZWQiID0+ICJJRExVbmRlZmluZWQiLAogICAg
ICAgICAiYW55IiA9PiAiSURMQW55IiwKICAgICAgICAgImJvb2xlYW4iID0+ICJJRExCb29sZWFu
IiwKICAgICAgICAgImJ5dGUiID0+ICJJRExCeXRlIiwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQkod29ya2luZyBjb3B5KQpA
QCAtNjA5LDI1ICs2MDksMjUgQEAgbXkgJG5leHRBdHRyaWJ1dGVfMSA9ICdeKGF0dHJpYnV0ZXxp
bmhlcgogbXkgJG5leHRBdHRyaWJ1dGVfMiA9ICdeKHJlYWRvbmx5fGF0dHJpYnV0ZSkkJzsKIG15
ICRuZXh0UHJpbWl0aXZlVHlwZV8xID0gJ14oaW50fGxvbmd8c2hvcnR8dW5zaWduZWQpJCc7CiBt
eSAkbmV4dFByaW1pdGl2ZVR5cGVfMiA9ICdeKGRvdWJsZXxmbG9hdHx1bnJlc3RyaWN0ZWQpJCc7
Ci1teSAkbmV4dEFyZ3VtZW50TGlzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNW
U3RyaW5nfERhdGV8XFt8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8aW58bG9uZ3xvYmpl
Y3R8b2N0ZXR8b3B0aW9uYWx8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQn
OwotbXkgJG5leHROb25BbnlUeXBlXzEgPSAnXihib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxv
bmd8b2N0ZXR8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRBcmd1bWVu
dExpc3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfFxbfGFu
eXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGlufGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFs
fHNlcXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CitteSAk
bmV4dERpc3Rpbmd1aXNoYWJsZVR5cGVfMSA9ICdeKGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8
bG9uZ3xvY3RldHxzaG9ydHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkg
JG5leHRTdHJpbmdUeXBlXzEgPSAnXihCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmcpJCc7
Ci1teSAkbmV4dEludGVyZmFjZU1lbWJlcl8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8
VVNWU3RyaW5nfERhdGV8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8ZGVsZXRlcnxkb3VibGV8
ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRv
bmx5fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5zaWduZWR8dm9pZCkkJzsK
LW15ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJp
bmd8RGF0ZXxhbnl8Ym9vbGVhbnxieXRlfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxsZWdh
Y3ljYWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2V0dGVyfHNob3J0fHVucmVzdHJp
Y3RlZHx1bnNpZ25lZHx2b2lkKSQnOworbXkgJG5leHRJbnRlcmZhY2VNZW1iZXJfMSA9ICdeKFwo
fEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRyaWJ1dGV8Ym9vbGVh
bnxieXRlfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0fGxlZ2FjeWNhbGxlcnxs
b25nfG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXR0ZXJ8c2hvcnR8dW5kZWZpbmVk
fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxC
eXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxhbnl8Ym9vbGVhbnxieXRlfGRlbGV0
ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxsZWdhY3ljYWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8c2Vx
dWVuY2V8c2V0dGVyfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CiBt
eSAkbmV4dFVucmVzdHJpY3RlZEZsb2F0VHlwZV8xID0gJ14oZG91YmxlfGZsb2F0KSQnOwogbXkg
JG5leHRFeHRlbmRlZEF0dHJpYnV0ZVJlc3QzXzEgPSAnXihcLHxcXSkkJzsKLW15ICRuZXh0RXhj
ZXB0aW9uRmllbGRfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRl
fGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNl
fHNob3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0VHlwZV8xID0gJ14oQnl0
ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8
ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2ln
bmVkKSQnOworbXkgJG5leHRFeGNlcHRpb25GaWVsZF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01T
dHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xv
YmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25l
ZCkkJzsKK215ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5n
fERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2Vx
dWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKIG15ICRuZXh0
U3BlY2lhbHNfMSA9ICdeKGRlbGV0ZXJ8Z2V0dGVyfGxlZ2FjeWNhbGxlcnxzZXR0ZXIpJCc7CiBt
eSAkbmV4dERlZmluaXRpb25zXzEgPSAnXihjYWxsYmFja3xkaWN0aW9uYXJ5fGVudW18ZXhjZXB0
aW9ufGludGVyZmFjZXxwYXJ0aWFsfHR5cGVkZWYpJCc7Ci1teSAkbmV4dEV4Y2VwdGlvbk1lbWJl
cnNfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfFxbfGFueXxi
b29sZWFufGJ5dGV8Y29uc3R8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFs
fHNlcXVlbmNlfHNob3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0SW50ZXJm
YWNlTWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8
YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8Y29uc3RydWN0b3J8ZGVsZXRlcnxkb3Vi
bGV8ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJl
YWRvbmx5fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmll
cnx1bnJlc3RyaWN0ZWR8dW5zaWduZWR8dm9pZCkkJzsKLW15ICRuZXh0U2luZ2xlVHlwZV8xID0g
J14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8Ym9vbGVhbnxieXRlfGRvdWJs
ZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5jZXxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5z
aWduZWQpJCc7Ci1teSAkbmV4dEFyZ3VtZW50TmFtZV8xID0gJ14oYXR0cmlidXRlfGNhbGxiYWNr
fGNvbnN0fGRlbGV0ZXJ8ZGljdGlvbmFyeXxlbnVtfGV4Y2VwdGlvbnxnZXR0ZXJ8aW1wbGVtZW50
c3xpbmhlcml0fGludGVyZmFjZXxsZWdhY3ljYWxsZXJ8cGFydGlhbHxzZXJpYWxpemVyfHNldHRl
cnxzdGF0aWN8c3RyaW5naWZpZXJ8dHlwZWRlZnx1bnJlc3RyaWN0ZWQpJCc7CitteSAkbmV4dEV4
Y2VwdGlvbk1lbWJlcnNfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xE
YXRlfFxbfGFueXxib29sZWFufGJ5dGV8Y29uc3R8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9j
dGV0fG9wdGlvbmFsfHNlcXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWdu
ZWQpJCc7CitteSAkbmV4dEludGVyZmFjZU1lbWJlcnNfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9N
U3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRyaWJ1dGV8Ym9vbGVhbnxieXRlfGNvbnN0fGNv
bnN0cnVjdG9yfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0fGxlZ2FjeWNhbGxl
cnxsb25nfG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXJpYWxpemVyfHNldHRlcnxz
aG9ydHxzdGF0aWN8c3RyaW5naWZpZXJ8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkk
JzsKK215ICRuZXh0U2luZ2xlVHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3Ry
aW5nfERhdGV8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1
ZW5jZXxzaG9ydHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRB
cmd1bWVudE5hbWVfMSA9ICdeKGF0dHJpYnV0ZXxjYWxsYmFja3xjb25zdHxkZWxldGVyfGRpY3Rp
b25hcnl8ZW51bXxleGNlcHRpb258Z2V0dGVyfGltcGxlbWVudHN8aW5oZXJpdHxpbnRlcmZhY2V8
bGVnYWN5Y2FsbGVyfHBhcnRpYWx8c2VyaWFsaXplcnxzZXR0ZXJ8c3RhdGljfHN0cmluZ2lmaWVy
fHR5cGVkZWZ8dW5kZWZpbmVkfHVucmVzdHJpY3RlZCkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8x
ID0gJ14oZmFsc2V8dHJ1ZSkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8yID0gJ14oLXxJbmZpbml0
eXxOYU4pJCc7CiBteSAkbmV4dERlZmluaXRpb25fMSA9ICdeKGNhbGxiYWNrfGludGVyZmFjZSkk
JzsKLW15ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8
VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8
b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkfHZvaWQpJCc7CitteSAk
bmV4dE9wZXJhdGlvblJlc3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmlu
Z3xEYXRlfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNl
cXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CiBteSAkbmV4
dFVuc2lnbmVkSW50ZWdlclR5cGVfMSA9ICdeKGxvbmd8c2hvcnQpJCc7CiBteSAkbmV4dERlZmF1
bHRWYWx1ZV8xID0gJ14oLXxJbmZpbml0eXxOYU58ZmFsc2V8bnVsbHx0cnVlKSQnOwogCkBAIC0x
MjI0LDcgKzEyMjQsNyBAQCBzdWIgcGFyc2VDYWxsYmFja1Jlc3QKICAgICAgICAgJHNlbGYtPmFz
c2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI9IiwgX19MSU5FX18pOwogCiAgICAg
ICAgIG15ICRvcGVyYXRpb24gPSBJRExPcGVyYXRpb24tPm5ldygpOwotICAgICAgICAkb3BlcmF0
aW9uLT50eXBlKCRzZWxmLT5wYXJzZVJldHVyblR5cGUoKSk7CisgICAgICAgICRvcGVyYXRpb24t
PnR5cGUoJHNlbGYtPnBhcnNlVHlwZSgpKTsKICAgICAgICAgCiAgICAgICAgICRzZWxmLT5hc3Nl
cnRFeHRlbmRlZEF0dHJpYnV0ZXNWYWxpZEZvckNvbnRleHQoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCwgImNhbGxiYWNrLWZ1bmN0aW9uIiwgIm9wZXJhdGlvbiIpOwogICAgICAgICAkb3BlcmF0aW9u
LT5leHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CkBAIC0xNjQ1LDcg
KzE2NDUsNyBAQCBzdWIgcGFyc2VBdHRyaWJ1dGVPck9wZXJhdGlvbkZvclN0cmluZ2lmCiAgICAg
fQogCiAgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRva2VuIHx8ICRuZXh0LT52
YWx1ZSgpID1+IC8kbmV4dE9wZXJhdGlvblJlc3RfMS8pIHsKLSAgICAgICAgbXkgJHJldHVyblR5
cGUgPSAkc2VsZi0+cGFyc2VSZXR1cm5UeXBlKCk7CisgICAgICAgIG15ICRyZXR1cm5UeXBlID0g
JHNlbGYtPnBhcnNlVHlwZSgpOwogCiAgICAgICAgICMgTk9URTogVGhpcyBpcyBhIG5vbi1zdGFu
ZGFyZCBhZGRpdGlvbi4gSW4gV2ViSURMLCB0aGVyZSBpcyBubyB3YXkgdG8gYXNzb2NpYXRlCiAg
ICAgICAgICMgZXh0ZW5kZWQgYXR0cmlidXRlcyB3aXRoIGEgcmV0dXJuIHR5cGUuCkBAIC0xNzQx
LDcgKzE3NDEsNyBAQCBzdWIgcGFyc2VPcGVyYXRpb24KICAgICAgICAgcmV0dXJuICRzZWxmLT5w
YXJzZVNwZWNpYWxPcGVyYXRpb24oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgfQogICAg
IGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9
fiAvJG5leHRPcGVyYXRpb25SZXN0XzEvKSB7Ci0gICAgICAgIG15ICRyZXR1cm5UeXBlID0gJHNl
bGYtPnBhcnNlUmV0dXJuVHlwZSgpOworICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5w
YXJzZVR5cGUoKTsKIAogICAgICAgICAjIE5PVEU6IFRoaXMgaXMgYSBub24tc3RhbmRhcmQgYWRk
aXRpb24uIEluIFdlYklETCwgdGhlcmUgaXMgbm8gd2F5IHRvIGFzc29jaWF0ZQogICAgICAgICAj
IGV4dGVuZGVkIGF0dHJpYnV0ZXMgd2l0aCBhIHJldHVybiB0eXBlLgpAQCAtMTc2NCw3ICsxNzY0
LDcgQEAgc3ViIHBhcnNlU3BlY2lhbE9wZXJhdGlvbgogICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9
fiAvJG5leHRTcGVjaWFsc18xLykgewogICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKICAgICAg
ICAgcHVzaChAc3BlY2lhbHMsIEB7JHNlbGYtPnBhcnNlU3BlY2lhbHMoKX0pOwotICAgICAgICBt
eSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJzZVJldHVyblR5cGUoKTsKKyAgICAgICAgbXkgJHJl
dHVyblR5cGUgPSAkc2VsZi0+cGFyc2VUeXBlKCk7CiAKICAgICAgICAgIyBOT1RFOiBUaGlzIGlz
IGEgbm9uLXN0YW5kYXJkIGFkZGl0aW9uLiBJbiBXZWJJREwsIHRoZXJlIGlzIG5vIHdheSB0byBh
c3NvY2lhdGUKICAgICAgICAgIyBleHRlbmRlZCBhdHRyaWJ1dGVzIHdpdGggYSByZXR1cm4gdHlw
ZS4KQEAgLTIwMjQsNyArMjAyNCw3IEBAIHN1YiBwYXJzZU1hcExpa2VQcm9wZXJ0aWVzCiAgICAg
JGNsZWFyT3BlcmF0aW9uLT5uYW1lKCJjbGVhciIpOwogICAgICRjbGVhck9wZXJhdGlvbi0+aXNN
YXBMaWtlKDEpOwogICAgICRjbGVhck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRub3RF
bnVtZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICAkY2xlYXJPcGVyYXRpb24tPnR5
cGUobWFrZVNpbXBsZVR5cGUoInZvaWQiKSk7CisgICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1h
a2VTaW1wbGVUeXBlKCJ1bmRlZmluZWQiKSk7CiAKICAgICBteSAkZGVsZXRlT3BlcmF0aW9uID0g
SURMT3BlcmF0aW9uLT5uZXcoKTsKICAgICAkZGVsZXRlT3BlcmF0aW9uLT5uYW1lKCJkZWxldGUi
KTsKQEAgLTIxNTIsNyArMjE1Miw3IEBAIHN1YiBwYXJzZVNldExpa2VQcm9wZXJ0aWVzCiAgICAg
JGNsZWFyT3BlcmF0aW9uLT5uYW1lKCJjbGVhciIpOwogICAgICRjbGVhck9wZXJhdGlvbi0+aXNT
ZXRMaWtlKDEpOwogICAgICRjbGVhck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRub3RF
bnVtZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICAkY2xlYXJPcGVyYXRpb24tPnR5
cGUobWFrZVNpbXBsZVR5cGUoInZvaWQiKSk7CisgICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1h
a2VTaW1wbGVUeXBlKCJ1bmRlZmluZWQiKSk7CiAKICAgICBteSAkZGVsZXRlT3BlcmF0aW9uID0g
SURMT3BlcmF0aW9uLT5uZXcoKTsKICAgICAkZGVsZXRlT3BlcmF0aW9uLT5uYW1lKCJkZWxldGUi
KTsKQEAgLTI2MTYsMTAgKzI2MTYsMjMgQEAgc3ViIHBhcnNlU2luZ2xlVHlwZQogICAgICAgICAk
YW55VHlwZS0+bmFtZSgiYW55Iik7CiAgICAgICAgIHJldHVybiAkYW55VHlwZTsKICAgICB9Cisg
ICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJQcm9taXNlIikgeworICAgICAgICAkc2VsZi0+YXNz
ZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIlByb21pc2UiLCBfX0xJTkVfXyk7Cisg
ICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiPCIsIF9f
TElORV9fKTsKKworICAgICAgICBteSAkc3VidHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUoKTsKKwor
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBf
X0xJTkVfXyk7CisKKyAgICAgICAgbXkgJHR5cGUgPSBJRExUeXBlLT5uZXcoKTsKKyAgICAgICAg
JHR5cGUtPm5hbWUoIlByb21pc2UiKTsKKyAgICAgICAgcHVzaChAeyR0eXBlLT5zdWJ0eXBlc30s
ICRzdWJ0eXBlKTsKKyAgICAgICAgcmV0dXJuICR0eXBlOworICAgIH0KICAgICBpZiAoJG5leHQt
PnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U2lu
Z2xlVHlwZV8xLykgewotICAgICAgICBteSAkbm9uQW55VHlwZSA9ICRzZWxmLT5wYXJzZU5vbkFu
eVR5cGUoKTsKLSAgICAgICAgJG5vbkFueVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVs
bCgpKTsKLSAgICAgICAgcmV0dXJuICRub25BbnlUeXBlOworICAgICAgICBteSAkZGlzdGluZ3Vp
c2hhYmxlVHlwZSA9ICRzZWxmLT5wYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUoKTsKKyAgICAgICAg
JGRpc3Rpbmd1aXNoYWJsZVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVsbCgpKTsKKyAg
ICAgICAgcmV0dXJuICRkaXN0aW5ndWlzaGFibGVUeXBlOwogICAgIH0KICAgICAkc2VsZi0+YXNz
ZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9CkBAIC0yNjYz
LDEwICsyNjc2LDEwIEBAIHN1YiBwYXJzZVVuaW9uTWVtYmVyVHlwZQogICAgIH0KIAogICAgIGlm
ICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAv
JG5leHRTaW5nbGVUeXBlXzEvKSB7Ci0gICAgICAgIG15ICRub25BbnlUeXBlID0gJHNlbGYtPnBh
cnNlTm9uQW55VHlwZSgpOwotICAgICAgICAkbm9uQW55VHlwZS0+aXNOdWxsYWJsZSgkc2VsZi0+
cGFyc2VOdWxsKCkpOwotICAgICAgICAkbm9uQW55VHlwZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwotICAgICAgICByZXR1cm4gJG5vbkFueVR5cGU7CisgICAg
ICAgIG15ICRkaXN0aW5ndWlzaGFibGVUeXBlID0gJHNlbGYtPnBhcnNlRGlzdGluZ3Vpc2hhYmxl
VHlwZSgpOworICAgICAgICAkZGlzdGluZ3Vpc2hhYmxlVHlwZS0+aXNOdWxsYWJsZSgkc2VsZi0+
cGFyc2VOdWxsKCkpOworICAgICAgICAkZGlzdGluZ3Vpc2hhYmxlVHlwZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAgICAgICByZXR1cm4gJGRpc3Rpbmd1
aXNoYWJsZVR5cGU7CiAgICAgfQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5l
eHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KQEAgLTI2ODcsMTQgKzI3MDAsMTQgQEAgc3ViIHBh
cnNlVW5pb25NZW1iZXJUeXBlcwogICAgIHJldHVybiBAc3VidHlwZXM7CiB9CiAKLXN1YiBwYXJz
ZU5vbkFueVR5cGUKK3N1YiBwYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUKIHsKICAgICBteSAkc2Vs
ZiA9IHNoaWZ0OwogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwogCiAgICAgbXkg
JHR5cGUgPSBJRExUeXBlLT5uZXcoKTsKIAotICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5l
eHROb25BbnlUeXBlXzEvKSB7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dERpc3Rp
bmd1aXNoYWJsZVR5cGVfMS8pIHsKICAgICAgICAgJHR5cGUtPm5hbWUoJHNlbGYtPnBhcnNlUHJp
bWl0aXZlVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICR0eXBlOwogICAgIH0KQEAgLTI3NTIsMTkg
KzI3NjUsNiBAQCBzdWIgcGFyc2VOb25BbnlUeXBlCiAKICAgICAgICAgcmV0dXJuICR0eXBlOwog
ICAgIH0KLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIlByb21pc2UiKSB7Ci0gICAgICAgICRz
ZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiUHJvbWlzZSIsIF9fTElO
RV9fKTsKLSAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCks
ICI8IiwgX19MSU5FX18pOwotCi0gICAgICAgIG15ICRzdWJ0eXBlID0gJHNlbGYtPnBhcnNlUmV0
dXJuVHlwZSgpOwotCi0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRU
b2tlbigpLCAiPiIsIF9fTElORV9fKTsKLQotICAgICAgICAkdHlwZS0+bmFtZSgiUHJvbWlzZSIp
OwotICAgICAgICBwdXNoKEB7JHR5cGUtPnN1YnR5cGVzfSwgJHN1YnR5cGUpOwotCi0gICAgICAg
IHJldHVybiAkdHlwZTsKLSAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWNvcmQi
KSB7CiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAi
cmVjb3JkIiwgX19MSU5FX18pOwogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2Vs
Zi0+Z2V0VG9rZW4oKSwgIjwiLCBfX0xJTkVfXyk7CkBAIC0yODAwLDcgKzI4MDAsNyBAQCBzdWIg
cGFyc2VDb25zdFR5cGUKIAogICAgIG15ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7CiAKLSAgICBp
ZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0Tm9uQW55VHlwZV8xLykgeworICAgIGlmICgkbmV4
dC0+dmFsdWUoKSA9fiAvJG5leHREaXN0aW5ndWlzaGFibGVUeXBlXzEvKSB7CiAgICAgICAgICR0
eXBlLT5uYW1lKCRzZWxmLT5wYXJzZVByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgICR0eXBlLT5p
c051bGxhYmxlKCRzZWxmLT5wYXJzZU51bGwoKSk7CiAgICAgICAgIHJldHVybiAkdHlwZTsKQEAg
LTI4NDUsNiArMjg0NSwxMCBAQCBzdWIgcGFyc2VQcmltaXRpdmVUeXBlCiAgICAgaWYgKCRuZXh0
LT52YWx1ZSgpID1+IC8kbmV4dFByaW1pdGl2ZVR5cGVfMi8pIHsKICAgICAgICAgcmV0dXJuICRz
ZWxmLT5wYXJzZVVucmVzdHJpY3RlZEZsb2F0VHlwZSgpOwogICAgIH0KKyAgICBpZiAoJG5leHQt
PnZhbHVlKCkgZXEgInVuZGVmaW5lZCIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFs
dWUoJHNlbGYtPmdldFRva2VuKCksICJ1bmRlZmluZWQiLCBfX0xJTkVfXyk7CisgICAgICAgIHJl
dHVybiAidW5kZWZpbmVkIjsKKyAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJib29s
ZWFuIikgewogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4o
KSwgImJvb2xlYW4iLCBfX0xJTkVfXyk7CiAgICAgICAgIHJldHVybiAiYm9vbGVhbiI7CkBAIC0y
OTQ3LDIzICsyOTUxLDYgQEAgc3ViIHBhcnNlTnVsbAogICAgIHJldHVybiAwOwogfQogCi1zdWIg
cGFyc2VSZXR1cm5UeXBlCi17Ci0gICAgbXkgJHNlbGYgPSBzaGlmdDsKLSAgICBteSAkbmV4dCA9
ICRzZWxmLT5uZXh0VG9rZW4oKTsKLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInZvaWQiKSB7
Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAidm9p
ZCIsIF9fTElORV9fKTsKLSAgICAgICAgCi0gICAgICAgIG15ICR2b2lkVHlwZSA9IElETFR5cGUt
Pm5ldygpOwotICAgICAgICAkdm9pZFR5cGUtPm5hbWUoInZvaWQiKTsKLSAgICAgICAgcmV0dXJu
ICR2b2lkVHlwZTsKLSAgICB9Ci0gICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRv
a2VuIHx8ICRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dEV4Y2VwdGlvbkZpZWxkXzEvKSB7Ci0gICAg
ICAgIHJldHVybiAkc2VsZi0+cGFyc2VUeXBlKCk7Ci0gICAgfQotICAgICRzZWxmLT5hc3NlcnRV
bmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKLX0KLQogc3ViIHBhcnNl
T3B0aW9uYWxTZW1pY29sb24KIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0aW9ucy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0
aW9ucy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0Q0VSZWFjdGlvbnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMyAr
MjcsMTMgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdENFUmVhY3Rpb25zIHsKLSAgICBbQ0VSZWFj
dGlvbnNdIHZvaWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zKCk7CisgICAgW0NFUmVhY3Rpb25zXSB1
bmRlZmluZWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zKCk7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uczsKICAgICBbQ0VSZWFjdGlv
bnMsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJl
YWN0aW9uczsKIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gYXR0cmlidXRlIFRlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyIHN0cmluZ2lmaWVyQXR0cmlidXRlOwogCi0gICAgW0NFUmVhY3Rpb25z
PU5vdE5lZWRlZF0gdm9pZCBtZXRob2RXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQoKTsKKyAgICBb
Q0VSZWFjdGlvbnM9Tm90TmVlZGVkXSB1bmRlZmluZWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zTm90
TmVlZGVkKCk7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBhdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQ7CiAgICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZsZWN0QXR0cmlidXRlV2l0
aENFUmVhY3Rpb25zTm90TmVlZGVkOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdENhbGxUcmFjZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbFRyYWNlci5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbFRy
YWNlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE0ICszNiwxNCBAQCB0eXBlZGVmIChib29s
ZWFuIG9yIGZsb2F0IG9yIERPTVN0cmluZykgCiAKICAgICBjb25zdCBib29sZWFuIHRlc3RDb25z
dFZhbHVlID0gZmFsc2U7CiAKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25JbnRlcmZhY2UoKTsKLSAg
ICBbQ2FsbFRyYWNpbmdDYWxsYmFjaz10ZXN0Q2FsbFRyYWNlck9wZXJhdGlvbl0gdm9pZCB0ZXN0
T3BlcmF0aW9uU3BlY2lmaWVkKCk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVyYXRpb25JbnRlcmZh
Y2UoKTsKKyAgICBbQ2FsbFRyYWNpbmdDYWxsYmFjaz10ZXN0Q2FsbFRyYWNlck9wZXJhdGlvbl0g
dW5kZWZpbmVkIHRlc3RPcGVyYXRpb25TcGVjaWZpZWQoKTsKIAotICAgIHZvaWQgdGVzdE9wZXJh
dGlvbldpdGhBcmd1bWVudHMoYm9vbGVhbiBhLCBmbG9hdCBiLCBET01TdHJpbmcgYyk7Ci0gICAg
dm9pZCB0ZXN0T3BlcmF0aW9uV2l0aE51bGxhYmxlQXJndW1lbnQoTm9kZT8gbm9kZU51bGxhYmxl
QXJnKTsKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25XaXRoVmFyaWFudEFyZ3VtZW50KFZhcmlhbnRU
eXBlIHZhcmlhbnRBcmcpOwotICAgIHZvaWQgdGVzdE9wZXJhdGlvbldpdGhOdWxsYWJsZVZhcmlh
bnRBcmd1bWVudChWYXJpYW50VHlwZT8gdmFyaWFudE51bGxhYmxlQXJnKTsKLSAgICB2b2lkIHRl
c3RPcGVyYXRpb25XaXRoT3B0aW9uYWxWYXJpYW50QXJndW1lbnQob3B0aW9uYWwgVmFyaWFudFR5
cGUgdmFyaWFudE9wdGlvbmFsQXJnKTsKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25XaXRoRGVmYXVs
dFZhcmlhbnRBcmd1bWVudChvcHRpb25hbCBWYXJpYW50VHlwZSB2YXJpYW50RGVmYXVsdEFyZyA9
ICIiKTsKKyAgICB1bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhBcmd1bWVudHMoYm9vbGVhbiBh
LCBmbG9hdCBiLCBET01TdHJpbmcgYyk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVyYXRpb25XaXRo
TnVsbGFibGVBcmd1bWVudChOb2RlPyBub2RlTnVsbGFibGVBcmcpOworICAgIHVuZGVmaW5lZCB0
ZXN0T3BlcmF0aW9uV2l0aFZhcmlhbnRBcmd1bWVudChWYXJpYW50VHlwZSB2YXJpYW50QXJnKTsK
KyAgICB1bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhOdWxsYWJsZVZhcmlhbnRBcmd1bWVudChW
YXJpYW50VHlwZT8gdmFyaWFudE51bGxhYmxlQXJnKTsKKyAgICB1bmRlZmluZWQgdGVzdE9wZXJh
dGlvbldpdGhPcHRpb25hbFZhcmlhbnRBcmd1bWVudChvcHRpb25hbCBWYXJpYW50VHlwZSB2YXJp
YW50T3B0aW9uYWxBcmcpOworICAgIHVuZGVmaW5lZCB0ZXN0T3BlcmF0aW9uV2l0aERlZmF1bHRW
YXJpYW50QXJndW1lbnQob3B0aW9uYWwgVmFyaWFudFR5cGUgdmFyaWFudERlZmF1bHRBcmcgPSAi
Iik7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRo
aXNPYmplY3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDQgKzI4LDQgQEAKIAogWwogICAgIENhbGxiYWNrVGhpc09iamVj
dD1UZXN0Tm9kZQotXSBjYWxsYmFjayBUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0
ID0gdm9pZCAoc2VxdWVuY2U8VGVzdE5vZGU+IHBhcmFtZXRlcik7CitdIGNhbGxiYWNrIFRlc3RD
YWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QgPSB1bmRlZmluZWQgKHNlcXVlbmNlPFRlc3RO
b2RlPiBwYXJhbWV0ZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25X
aXRoVHlwZWRlZnMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw2IEBACiAKIHR5cGVkZWYgbG9uZyBMT05HOwogdHlw
ZWRlZiBzZXF1ZW5jZTxMT05HPz4gU0VRVUVOQ0VfT0ZfTlVMTEFCTEVfTE9OR1M7Ci10eXBlZGVm
IHZvaWQgVk9JRDsKK3R5cGVkZWYgdW5kZWZpbmVkIFVOREVGSU5FRDsKIAotY2FsbGJhY2sgVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMgPSBWT0lEIChTRVFVRU5DRV9PRl9OVUxMQUJM
RV9MT05HUyBzZXF1ZW5jZUFyZywgTE9ORyBsb25nQXJnKTsKK2NhbGxiYWNrIFRlc3RDYWxsYmFj
a0Z1bmN0aW9uV2l0aFR5cGVkZWZzID0gVU5ERUZJTkVEIChTRVFVRU5DRV9PRl9OVUxMQUJMRV9M
T05HUyBzZXF1ZW5jZUFyZywgTE9ORyBsb25nQXJnKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2tJbnRlcmZhY2UuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2tJbnRl
cmZhY2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDIsMTMgKzQyLDEzIEBAIGRpY3Rpb25hcnkgVGVzdENhbGxiYWNrSW50ZXJmYWNlRGljdGlvbmEK
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT05TVEFOVDIgPSAyOwogCiAgICAgLy8gT3BlcmF0
aW9ucy4KLSAgICB2b2lkIGNhbGxiYWNrV2l0aE5vUGFyYW0oKTsKLSAgICB2b2lkIGNhbGxiYWNr
V2l0aEFycmF5UGFyYW0oRmxvYXQzMkFycmF5IGFycmF5UGFyYW0pOwotICAgIHZvaWQgY2FsbGJh
Y2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNy
elBhcmFtLCBET01TdHJpbmcgc3RyUGFyYW0pOworICAgIHVuZGVmaW5lZCBjYWxsYmFja1dpdGhO
b1BhcmFtKCk7CisgICAgdW5kZWZpbmVkIGNhbGxiYWNrV2l0aEFycmF5UGFyYW0oRmxvYXQzMkFy
cmF5IGFycmF5UGFyYW0pOworICAgIHVuZGVmaW5lZCBjYWxsYmFja1dpdGhTZXJpYWxpemVkU2Ny
aXB0VmFsdWVQYXJhbShTZXJpYWxpemVkU2NyaXB0VmFsdWUgc3J6UGFyYW0sIERPTVN0cmluZyBz
dHJQYXJhbSk7CiAgICAgW0N1c3RvbV0gbG9uZyBjdXN0b21DYWxsYmFjayhUZXN0T2JqIHRlc3RP
YmpQYXJhbSwgVGVzdE5vZGUgdGVzdE5vZGVQYXJhbSk7Ci0gICAgdm9pZCBjYWxsYmFja1dpdGhT
dHJpbmdMaXN0KERPTVN0cmluZ0xpc3QgbGlzdFBhcmFtKTsKLSAgICB2b2lkIGNhbGxiYWNrV2l0
aEJvb2xlYW4oYm9vbGVhbiBib29sUGFyYW0pOwotICAgIHZvaWQgY2FsbGJhY2tSZXF1aXJlc1Ro
aXNUb1Bhc3MobG9uZyBsb25nUGFyYW0sIFRlc3ROb2RlIHRlc3ROb2RlUGFyYW0pOworICAgIHVu
ZGVmaW5lZCBjYWxsYmFja1dpdGhTdHJpbmdMaXN0KERPTVN0cmluZ0xpc3QgbGlzdFBhcmFtKTsK
KyAgICB1bmRlZmluZWQgY2FsbGJhY2tXaXRoQm9vbGVhbihib29sZWFuIGJvb2xQYXJhbSk7Cisg
ICAgdW5kZWZpbmVkIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGxvbmcgbG9uZ1BhcmFtLCBU
ZXN0Tm9kZSB0ZXN0Tm9kZVBhcmFtKTsKICAgICBET01TdHJpbmcgY2FsbGJhY2tXaXRoQVJldHVy
blZhbHVlKCk7CiAgICAgW1JldGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBjYWxsYmFja1RoYXRS
ZXRocm93c0V4Y2VwdGlvbnMoVGVzdENhbGxiYWNrSW50ZXJmYWNlRW51bSBlbnVtUGFyYW0pOwog
ICAgIFtTa2lwQ2FsbGJhY2tJbnZva2VDaGVja10gRE9NU3RyaW5nIGNhbGxiYWNrVGhhdFNraXBz
SW52b2tlQ2hlY2soVGVzdENhbGxiYWNrSW50ZXJmYWNlRGljdGlvbmFyeSBkaWN0aW9uYXJ5UGFy
YW0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3REb21h
aW5TZWN1cml0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3REb21haW5TZWN1cml0eS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5IEBACiAgICAgQ2hlY2tTZWN1cml0eQogXSBp
bnRlcmZhY2UgVGVzdEFjdGl2ZURPTU9iamVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxv
bmcgZXhjaXRpbmdBdHRyOwotICAgIHZvaWQgZXhjaXRpbmdGdW5jdGlvbihOb2RlIG5leHRDaGls
ZCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eV0gdm9pZCBwb3N0TWVzc2FnZShET01TdHJpbmcg
bWVzc2FnZSk7CisgICAgdW5kZWZpbmVkIGV4Y2l0aW5nRnVuY3Rpb24oTm9kZSBuZXh0Q2hpbGQp
OworICAgIFtEb05vdENoZWNrU2VjdXJpdHldIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShET01TdHJp
bmcgbWVzc2FnZSk7CiAKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZChE
T01TdHJpbmcgcGFyYW0pOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZChOb2RlIHBhcmFtMSwg
Tm9kZSBwYXJhbTIpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRo
b2QoRE9NU3RyaW5nIHBhcmFtKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZChOb2Rl
IHBhcmFtMSwgTm9kZSBwYXJhbTIpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgs
NSBAQCBpbnRlcmZhY2UgVGVzdEVuYWJsZWRCeVNldHRpbmcgewogCiAgICAgLy8gW0VuYWJsZWRC
eVNldHRpbmddIGF0dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnMuCiAgICAgW0NvbmRpdGlvbmFsPVRF
U1RfRkVBVFVSRSwgRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZ10gYXR0cmlidXRlIERPTVN0
cmluZyBlbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlOwotICAgIFtDb25kaXRpb25hbD1URVNUX0ZF
QVRVUkUsIEVuYWJsZWRCeVNldHRpbmc9VGVzdFNldHRpbmddIHZvaWQgZW5hYmxlZEJ5U2V0dGlu
Z09wZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9G
RUFUVVJFLCBFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nXSB1bmRlZmluZWQgZW5hYmxlZEJ5
U2V0dGluZ09wZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RHbG9iYWxP
YmplY3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDE4
ICszMSwxOCBAQAogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gYXR0
cmlidXRlIERPTVN0cmluZyBwdWJsaWNBbmRQcml2YXRlQXR0cmlidXRlOwogICAgIFtDb25kaXRp
b25hbD1URVNUX0ZFQVRVUkUsIFByaXZhdGVJZGVudGlmaWVyLCBQdWJsaWNJZGVudGlmaWVyXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHB1YmxpY0FuZFByaXZhdGVDb25kaXRpb25hbEF0dHJpYnV0ZTsK
ICAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0
dXJlXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU7Ci0gICAg
dm9pZCByZWd1bGFyT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOwotICAgIFtDb25kaXRp
b25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQgZW5h
YmxlZEF0UnVudGltZU9wZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0
aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVu
YWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24obG9uZyB0ZXN0UGFyYW0pOwotICAgIFtDb25kaXRpb25h
bD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHN0YXRpYyB2b2lk
IGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb25TdGF0aWMobG9uZyB0ZXN0UGFyYW0pOworICAgIHVu
ZGVmaW5lZCByZWd1bGFyT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOworICAgIFtDb25k
aXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHVuZGVm
aW5lZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOworICAg
IFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVd
IHVuZGVmaW5lZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKGxvbmcgdGVzdFBhcmFtKTsKKyAg
ICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJl
XSBzdGF0aWMgdW5kZWZpbmVkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb25TdGF0aWMobG9uZyB0
ZXN0UGFyYW0pOwogCi0gICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkXSB2b2lkIGVu
YWJsZWRJblNwZWNpZmljV29ybGQobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVkRm9yV29y
bGQ9c3BlY2lmaWNXb3JsZF0gdW5kZWZpbmVkIGVuYWJsZWRJblNwZWNpZmljV29ybGQobG9uZyB0
ZXN0UGFyYW0pOwogCi0gICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVu
dGltZUZlYXR1cmVFbmFibGVkKGxvbmcgdGVzdFBhcmFtKTsKLSAgICBbRW5hYmxlZEZvcldvcmxk
PXNwZWNpZmljV29ybGQsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmUmVGVzdEZlYXR1cmUx
XSB2b2lkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVudGltZUZlYXR1cmVzRW5hYmxlZChs
b25nIHRlc3RQYXJhbSk7CisgICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkLCBFbmFi
bGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEluU3BlY2lmaWNXb3Js
ZFdoZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVk
Rm9yV29ybGQ9c3BlY2lmaWNXb3JsZCwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZSZUZXN0
RmVhdHVyZTFdIHVuZGVmaW5lZCBlbmFibGVkSW5TcGVjaWZpY1dvcmxkV2hlblJ1bnRpbWVGZWF0
dXJlc0VuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOwogCi0gICAgW1ByaXZhdGVJZGVudGlmaWVyLCBD
b25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZv
aWQgdGVzdFByaXZhdGVGdW5jdGlvbigpOwotICAgIFtKU0J1aWx0aW4sIENvbmRpdGlvbmFsPVRF
U1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCB0ZXN0SlNCdWls
dGluRnVuY3Rpb24oKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIENvbmRpdGlvbmFsPVRFU1Rf
RkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdW5kZWZpbmVkIHRlc3RQcml2
YXRlRnVuY3Rpb24oKTsKKyAgICBbSlNCdWlsdGluLCBDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUs
IEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHVuZGVmaW5lZCB0ZXN0SlNCdWlsdGluRnVu
Y3Rpb24oKTsKIAogICAgIC8vIFtTZWN1cmVDb250ZXh0XSBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRp
b25zOyB3aWxsIG5vdCBiZSBleHBvc2VkIHRvIGEgbm9uLXNlY3VyZSBjb250ZXh0LgogICAgIC8v
IEZyb20gPGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhcHBzZWMtc2VjdXJlLWNvbnRleHRzLyNp
bnRlZ3JhdGlvbi1pZGw+IChFZGl0b3IncyBEcmFmdCwgMTcgTm92ZW1iZXIgMjAxNikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJ
bXBsZW1lbnRzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAs
MTAgKzQwLDEwIEBACiAgICAgW0N1c3RvbUdldHRlciwgQ3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGltcGxlbWVudHNTdHIzOwogICAgIGF0dHJpYnV0ZSBOb2RlIGltcGxlbWVudHNO
b2RlOwogCi0gICAgdm9pZCBpbXBsZW1lbnRzTWV0aG9kMSgpOworICAgIHVuZGVmaW5lZCBpbXBs
ZW1lbnRzTWV0aG9kMSgpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gVGVzdE9iaiBpbXBsZW1lbnRzTWV0aG9kMihET01TdHJpbmcgc3Ry
QXJnLCBUZXN0T2JqIG9iakFyZyk7Ci0gICAgW0N1c3RvbV0gdm9pZCBpbXBsZW1lbnRzTWV0aG9k
MygpOwotICAgIHN0YXRpYyB2b2lkIGltcGxlbWVudHNNZXRob2Q0KCk7CisgICAgW0N1c3RvbV0g
dW5kZWZpbmVkIGltcGxlbWVudHNNZXRob2QzKCk7CisgICAgc3RhdGljIHVuZGVmaW5lZCBpbXBs
ZW1lbnRzTWV0aG9kNCgpOwogCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NP
TlNUQU5UMSA9IDE7CiAgICAgW1JlZmxlY3Q9Q09OU1RfSU1QTF0gY29uc3QgdW5zaWduZWQgc2hv
cnQgSU1QTEVNRU5UU0NPTlNUQU5UMiA9IDI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgewotICAgIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25n
IGluZGV4LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBJbmRleGVkIHNl
dHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBpbmRleGVkIGdldHRlciBhcyB3ZWxsLgog
ICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsy
NCw3IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRp
b24gewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIg
dW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAg
Ly8gTk9URTogSW5kZXhlZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgaW5kZXhl
ZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFjZSBUZXN0SW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyIHsKLSAgICBzZXR0ZXIgdm9pZCBpbmRleGVkU2V0dGVyKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5lZCBpbmRleGVkU2V0
dGVyKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RF
OiBJbmRleGVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBpbmRleGVkIGdldHRl
ciBhcyB3ZWxsLgogICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RKU0J1aWx0aW5D
b25zdHJ1Y3Rvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SlNCdWlsdGluQ29u
c3RydWN0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTAgQEAKIF0gaW50ZXJm
YWNlIFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciB7CiAgICAgY29uc3RydWN0b3IoKTsKIAotICAg
IHZvaWQgdGVzdEZ1bmN0aW9uKCk7CisgICAgdW5kZWZpbmVkIHRlc3RGdW5jdGlvbigpOwogICAg
IGF0dHJpYnV0ZSBib29sZWFuIHRlc3RBdHRyaWJ1dGU7CiAKLSAgICBbIEN1c3RvbSBdIHZvaWQg
dGVzdEN1c3RvbUZ1bmN0aW9uKCk7CisgICAgWyBDdXN0b20gXSB1bmRlZmluZWQgdGVzdEN1c3Rv
bUZ1bmN0aW9uKCk7CiAgICAgWyBDdXN0b21HZXR0ZXIgXSByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiB0ZXN0QXR0cmlidXRlQ3VzdG9tOwogICAgIFsgQ3VzdG9tR2V0dGVyLCBDdXN0b21TZXR0
ZXIgXSBhdHRyaWJ1dGUgYm9vbGVhbiB0ZXN0QXR0cmlidXRlUldDdXN0b207CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsOSArMjQsOSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyIHsKLSAgICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERP
TVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIERP
TVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwog
Ci0gICAgc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7
CisgICAgc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZh
bHVlKTsKICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1bnNpZ25lZCBsb25nIGluZGV4KTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkgQEAKICAqLwogCiBpbnRlcmZh
Y2UgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZh
bHVlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKERPTVN0cmlu
ZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmlu
ZyBuYW1lKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBz
ZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOwog
ICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsOSArMjQsOSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgewotICAgIHNldHRlciB2b2lkIG5hbWVkU2V0dGVy
KERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQg
bmFtZWRTZXR0ZXIoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVy
IERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogCi0gICAgc2V0dGVyIHZvaWQgaW5kZXhlZFNl
dHRlcih1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1
bmRlZmluZWQgaW5kZXhlZFNldHRlcih1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFs
dWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVy
Tm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRE
ZWxldGVyTm9JZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAog
ICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIHsKLSAgICBkZWxl
dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lKTsKKyAgICBkZWxldGVyIHVuZGVmaW5lZCAoRE9NU3Ry
aW5nIG5hbWUpOwogCiAgICAgLy8gTk9URTogTmFtZWQgZGVsZXRlcnMgcmVxdWlyZSB0aGUgcHJl
c2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChE
T01TdHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlclRocm93
aW5nRXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGRl
bGV0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZGVs
ZXRlciB1bmRlZmluZWQgKERPTVN0cmluZyBuYW1lKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIGRl
bGV0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAg
ICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aElk
ZW50aWZpZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogaW50
ZXJmYWNlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB7Ci0gICAgZGVsZXRlciB2b2lk
IG5hbWVkRGVsZXRlcihET01TdHJpbmcgbmFtZSk7CisgICAgZGVsZXRlciB1bmRlZmluZWQgbmFt
ZWREZWxldGVyKERPTVN0cmluZyBuYW1lKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIGRlbGV0ZXJz
IHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAgZ2V0
dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RO
YW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aElu
ZGV4ZWRHZXR0ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAog
aW50ZXJmYWNlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciB7Ci0gICAgZGVsZXRl
ciB2b2lkIChET01TdHJpbmcgbmFtZSk7CisgICAgZGVsZXRlciB1bmRlZmluZWQgKERPTVN0cmlu
ZyBuYW1lKTsKIAogICAgIC8vIFRoZSBwcmVzZW5jZSBvZiBhbiBpbmRleCBnZXR0ZXIgY2hhbmdl
cyBhZGRzIGFkZGl0aW9uYWwKICAgICAvLyBjaGVja3MgdG8gdGhlIGRlbGV0ZSBhbGdvcml0aG0u
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyTm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAK
ICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIHsKLSAgICBzZXR0
ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVu
ZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RF
OiBOYW1lZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFz
IHdlbGwuCiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlclRocm93aW5n
RXhjZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9N
U3RyaW5nIHZhbHVlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQg
KERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8gTk9URTogTmFtZWQg
c2V0dGVycyByZXF1aXJlIHRoZSBwcmVzZW5jZSBvZiBhIG5hbWVkIGdldHRlciBhcyB3ZWxsLgog
ICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVy
ZmFjZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB7Ci0gICAgc2V0dGVyIHZvaWQgbmFt
ZWRTZXR0ZXIoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVu
ZGVmaW5lZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAog
ICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBuYW1l
ZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4
ZWRHZXR0ZXIgewotICAgIHNldHRlciB2b2lkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1lLCBE
T01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgbmFtZWRTZXR0ZXIoRE9NU3Ry
aW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3Ry
aW5nIG5hbWUpOwogCiAgICAgZ2V0dGVyIERPTVN0cmluZyBpbmRleGVkU2V0dGVyKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4
ZWRHZXR0ZXJBbmRTZXR0ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCw5IEBACiAg
Ki8KIAogaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVy
IHsKLSAgICBzZXR0ZXIgdm9pZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5n
IHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1l
LCBET01TdHJpbmcgdmFsdWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1l
KTsKIAotICAgIHNldHRlciB2b2lkIGluZGV4ZWRTZXR0ZXIodW5zaWduZWQgbG9uZyBpbmRleCwg
RE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIGluZGV4ZWRTZXR0ZXIodW5z
aWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBnZXR0ZXIgRE9NU3RyaW5n
IGluZGV4ZWRTZXR0ZXIodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1
aWx0aW5zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiBbCiAgICAgT3ZlcnJpZGVCdWlsdGlucwogXSBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0
dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMgewotICAgIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFt
ZSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFt
ZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWly
ZSB0aGUgcHJlc2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9N
U3RyaW5nIChET01TdHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5h
bWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldp
dGhVbmZvcmdhYmxlUHJvcGVydGllcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDExICsyNCwx
MSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3Bl
cnRpZXMgewotICAgIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVl
KTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVl
KTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2Yg
YSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcg
bmFtZSk7CiAKICAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dW5mb3JnZWFibGVBdHRyaWJ1dGU7Ci0gICAgW1VuZm9yZ2VhYmxlXSB2b2lkIHVuZm9yZ2VhYmxl
T3BlcmF0aW9uKCk7CisgICAgW1VuZm9yZ2VhYmxlXSB1bmRlZmluZWQgdW5mb3JnZWFibGVPcGVy
YXRpb24oKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlu
cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRp
bnMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJp
ZGVCdWlsdGlucy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDExICsyNiwxMSBAQAogWwogICAg
IE92ZXJyaWRlQnVpbHRpbnMKIF0gaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdh
YmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMgewotICAgIHNldHRlciB2b2lkIChET01T
dHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01T
dHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRl
cnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBn
ZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAKICAgICBbVW5mb3JnZWFibGVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdW5mb3JnZWFibGVBdHRyaWJ1dGU7Ci0gICAgW1Vu
Zm9yZ2VhYmxlXSB2b2lkIHVuZm9yZ2VhYmxlT3BlcmF0aW9uKCk7CisgICAgW1VuZm9yZ2VhYmxl
XSB1bmRlZmluZWQgdW5mb3JnZWFibGVPcGVyYXRpb24oKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5vZGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Tm9kZS5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Tm9k
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7CiAKICAgICBbRW5hYmxlZEF0UnVudGltZT1ET01JdGVyYXRvcl0gaXRlcmFi
bGU8VGVzdE5vZGU+OwotICAgIFByb21pc2U8dm9pZD4gdGVzdFdvcmtlclByb21pc2UoKTsKKyAg
ICBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFdvcmtlclByb21pc2UoKTsKIAogICAgIC8vIFtTZWN1
cmVDb250ZXh0XSBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRpb25zOyB3aWxsIG5vdCBiZSBleHBvc2Vk
IHRvIGEgbm9uLXNlY3VyZSBjb250ZXh0LgogICAgIC8vIEZyb20gPGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWJhcHBzZWMtc2VjdXJlLWNvbnRleHRzLyNpbnRlZ3JhdGlvbi1pZGw+IChFZGl0b3In
cyBEcmFmdCwgMTcgTm92ZW1iZXIgMjAxNikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMTEyLDEzICsxMTIsMTMgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwg
ImtpbmRhLWxvdwogCiAgICAgLy8gW0VuYWJsZWRBdFJ1bnRpbWVdIGF0dHJpYnV0ZXMgYW5kIG9w
ZXJhdGlvbnMuCiAgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGlt
ZT1UZXN0RmVhdHVyZSZUZXN0RmVhdHVyZTFdIGF0dHJpYnV0ZSBET01TdHJpbmcgZW5hYmxlZEF0
UnVudGltZUF0dHJpYnV0ZTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24oRE9N
U3RyaW5nIHRlc3RQYXJhbSk7Ci0gICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxl
ZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKGxv
bmcgdGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRS
dW50aW1lPVRlc3RGZWF0dXJlXSBzdGF0aWMgdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9u
U3RhdGljKGxvbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBF
bmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVudGltZU9w
ZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFU
VVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVu
dGltZU9wZXJhdGlvbihsb25nIHRlc3RQYXJhbSk7CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVB
VFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gc3RhdGljIHVuZGVmaW5lZCBlbmFi
bGVkQXRSdW50aW1lT3BlcmF0aW9uU3RhdGljKGxvbmcgdGVzdFBhcmFtKTsKICAgICBbQ29uZGl0
aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSBzdGF0aWMg
YXR0cmlidXRlIERPTVN0cmluZyBlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU3RhdGljOwogCi0g
ICAgW0VuYWJsZWRGb3JXb3JsZD1zb21lV29ybGQsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1
cmVdIHZvaWQgZW5hYmxlZEluU3BlY2lmaWNXb3JsZFdoZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQo
bG9uZyB0ZXN0UGFyYW0pOwotICAgIFtFbmFibGVkRm9yV29ybGQ9c29tZVdvcmxkXSB2b2lkIHdv
cmxkU3BlY2lmaWNNZXRob2QobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVkRm9yV29ybGQ9
c29tZVdvcmxkLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxl
ZEluU3BlY2lmaWNXb3JsZFdoZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQobG9uZyB0ZXN0UGFyYW0p
OworICAgIFtFbmFibGVkRm9yV29ybGQ9c29tZVdvcmxkXSB1bmRlZmluZWQgd29ybGRTcGVjaWZp
Y01ldGhvZChsb25nIHRlc3RQYXJhbSk7CiAKICAgICAvLyBbU2VjdXJlQ29udGV4dF0gYXR0cmli
dXRlcyBhbmQgb3BlcmF0aW9uczsgd2lsbCBub3QgYmUgZXhwb3NlZCB0byBhIG5vbi1zZWN1cmUg
Y29udGV4dC4KICAgICAvLyBGcm9tIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLXNl
Y3VyZS1jb250ZXh0cy8jaW50ZWdyYXRpb24taWRsPiAoRWRpdG9yJ3MgRHJhZnQsIDE3IE5vdmVt
YmVyIDIwMTYpCkBAIC0xMzIsOCArMTMyLDggQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdo
IiwgImtpbmRhLWxvdwogICAgIGl0ZXJhYmxlPERPTVN0cmluZz47CiAKICAgICAvLyBNZXRob2Rz
Ci0gICAgW1Vuc2NvcGFibGVdIHZvaWQgdm9pZE1ldGhvZCgpOwotICAgIHZvaWQgdm9pZE1ldGhv
ZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcp
OworICAgIFtVbnNjb3BhYmxlXSB1bmRlZmluZWQgdW5kZWZpbmVkTWV0aG9kKCk7CisgICAgdW5k
ZWZpbmVkIHVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0
ckFyZywgVGVzdE9iaiBvYmpBcmcpOwogICAgIGJ5dGUgYnl0ZU1ldGhvZCgpOwogICAgIGJ5dGUg
Ynl0ZU1ldGhvZFdpdGhBcmdzKGJ5dGUgYnl0ZUFyZywgRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9i
aiBvYmpBcmcpOwogICAgIG9jdGV0IG9jdGV0TWV0aG9kKCk7CkBAIC0xNDMsNDUgKzE0Myw0NSBA
QCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAgICAgVGVzdE9iaiBv
YmpNZXRob2QoKTsKICAgICBUZXN0T2JqIG9iak1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywg
RE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcpOwogICAgIFtVbmZvcmdlYWJsZV0gbG9u
ZyB1bmZvcmdlYWJsZU1ldGhvZCgpOwotICAgIHZvaWQgbWV0aG9kV2l0aEFyZ1RyZWF0aW5nTnVs
bEFzRW1wdHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYXJnKTsK
LSAgICB2b2lkIG1ldGhvZFdpdGhYUGF0aE5TUmVzb2x2ZXJQYXJhbWV0ZXIoWFBhdGhOU1Jlc29s
dmVyIHJlc29sdmVyKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aEFyZ1RyZWF0aW5nTnVsbEFz
RW1wdHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYXJnKTsKKyAg
ICB1bmRlZmluZWQgbWV0aG9kV2l0aFhQYXRoTlNSZXNvbHZlclBhcmFtZXRlcihYUGF0aE5TUmVz
b2x2ZXIgcmVzb2x2ZXIpOwogCiAgICAgLy8gTnVsbGFibGUgU3RyaW5nIHJldHVybiB2YWx1ZXMu
CiAgICAgRE9NU3RyaW5nPyBudWxsYWJsZVN0cmluZ01ldGhvZCgpOwogICAgIHN0YXRpYyBET01T
dHJpbmc/IG51bGxhYmxlU3RyaW5nU3RhdGljTWV0aG9kKCk7CiAgICAgZ2V0dGVyIERPTVN0cmlu
Zz8gbnVsbGFibGVTdHJpbmdTcGVjaWFsTWV0aG9kKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCi0g
ICAgdm9pZCBtZXRob2RXaXRoRW51bUFyZyhUZXN0RW51bVR5cGUgZW51bUFyZyk7Ci0gICAgdm9p
ZCBtZXRob2RXaXRoU3RhbmRhbG9uZUVudW1BcmcoVGVzdFN0YW5kYWxvbmVFbnVtZXJhdGlvbiBl
bnVtQXJnKTsKLSAgICB2b2lkIG1ldGhvZFdpdGhPcHRpb25hbEVudW1Bcmcob3B0aW9uYWwgVGVz
dEVudW1UeXBlIGVudW1BcmcpOwotICAgIHZvaWQgbWV0aG9kV2l0aE9wdGlvbmFsRW51bUFyZ0Fu
ZERlZmF1bHRWYWx1ZShvcHRpb25hbCBUZXN0RW51bVR5cGUgZW51bUFyZyA9ICJFbnVtVmFsdWUx
Iik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhFbnVtQXJnKFRlc3RFbnVtVHlwZSBlbnVtQXJn
KTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFN0YW5kYWxvbmVFbnVtQXJnKFRlc3RTdGFuZGFs
b25lRW51bWVyYXRpb24gZW51bUFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhPcHRpb25h
bEVudW1Bcmcob3B0aW9uYWwgVGVzdEVudW1UeXBlIGVudW1BcmcpOworICAgIHVuZGVmaW5lZCBt
ZXRob2RXaXRoT3B0aW9uYWxFbnVtQXJnQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIFRlc3RFbnVt
VHlwZSBlbnVtQXJnID0gIkVudW1WYWx1ZTEiKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRl
c3RPYmogbWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93cyhET01TdHJpbmcgc3RyQXJn
LCBUZXN0T2JqIG9iakFyZyk7CiAKLSAgICB2b2lkIG1ldGhvZFdpdGhVU1ZTdHJpbmdBcmcoVVNW
U3RyaW5nIHN0cik7Ci0gICAgdm9pZCBtZXRob2RXaXRoTnVsbGFibGVVU1ZTdHJpbmdBcmcoVVNW
U3RyaW5nPyBzdHIpOwotICAgIHZvaWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZ1RyZWF0aW5nTnVs
bEFzRW1wdHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBVU1ZTdHJpbmcgc3RyKTsK
KyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZyhVU1ZTdHJpbmcgc3RyKTsKKyAg
ICB1bmRlZmluZWQgbWV0aG9kV2l0aE51bGxhYmxlVVNWU3RyaW5nQXJnKFVTVlN0cmluZz8gc3Ry
KTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZ1RyZWF0aW5nTnVsbEFzRW1w
dHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBVU1ZTdHJpbmcgc3RyKTsKIAotICAg
IHZvaWQgbWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmcoQnl0ZVN0cmluZyBzdHIpOwotICAgIHZvaWQg
bWV0aG9kV2l0aE51bGxhYmxlQnl0ZVN0cmluZ0FyZyhCeXRlU3RyaW5nPyBzdHIpOwotICAgIHZv
aWQgbWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gQnl0ZVN0cmluZyBzdHIpOworICAgIHVuZGVmaW5lZCBtZXRo
b2RXaXRoQnl0ZVN0cmluZ0FyZyhCeXRlU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhv
ZFdpdGhOdWxsYWJsZUJ5dGVTdHJpbmdBcmcoQnl0ZVN0cmluZz8gc3RyKTsKKyAgICB1bmRlZmlu
ZWQgbWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gQnl0ZVN0cmluZyBzdHIpOwogCi0gICAgdm9pZCBzZXJpYWxp
emVkVmFsdWUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNlcmlhbGl6ZWRBcmcpOworICAgIHVuZGVm
aW5lZCBzZXJpYWxpemVkVmFsdWUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNlcmlhbGl6ZWRBcmcp
OwogCi0gICAgdm9pZCBtZXRob2RXaXRoUmVjb3JkKHJlY29yZDxET01TdHJpbmcsIGxvbmc+IHJl
Y29yZFBhcmFtZXRlcik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhSZWNvcmQocmVjb3JkPERP
TVN0cmluZywgbG9uZz4gcmVjb3JkUGFyYW1ldGVyKTsKIAogICAgIC8vIEV4Y2VwdGlvbnMKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbWV0aG9kV2l0aEV4Y2VwdGlvbigpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG1ldGhvZFdpdGhFeGNlcHRpb24oKTsKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIGxvbmcgbWV0aG9kV2l0aEV4Y2VwdGlvblJldHVybmluZ0xvbmco
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogbWV0aG9kV2l0aEV4Y2VwdGlvblJl
dHVybmluZ09iamVjdCgpOwogCiAgICAgLy8gJ0N1c3RvbScgZXh0ZW5kZWQgYXR0cmlidXRlCiAg
ICAgW0N1c3RvbV0gYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBjdXN0b21BdHRyOwotICAgIFtD
dXN0b21dIHZvaWQgY3VzdG9tTWV0aG9kKCk7Ci0gICAgW0N1c3RvbV0gdm9pZCBjdXN0b21NZXRo
b2RXaXRoQXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJn
KTsKKyAgICBbQ3VzdG9tXSB1bmRlZmluZWQgY3VzdG9tTWV0aG9kKCk7CisgICAgW0N1c3RvbV0g
dW5kZWZpbmVkIGN1c3RvbU1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0
ckFyZywgVGVzdE9iaiBvYmpBcmcpOwogCiAgICAgLy8gJ0pTQnVpbHRpbicgZXh0ZW5kZWQgYXR0
cmlidXRlCi0gICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjMsIEpTQnVpbHRpbl0gdm9pZCBqc0J1
aWx0aW5NZXRob2QoKTsKLSAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMywgSlNCdWlsdGluXSB2
b2lkIGpzQnVpbHRpbk1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFy
ZywgVGVzdE9iaiBvYmpBcmcpOworICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24zLCBKU0J1aWx0
aW5dIHVuZGVmaW5lZCBqc0J1aWx0aW5NZXRob2QoKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0
aW9uMywgSlNCdWlsdGluXSB1bmRlZmluZWQganNCdWlsdGluTWV0aG9kV2l0aEFyZ3MobG9uZyBs
b25nQXJnLCBET01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7CiAgICAgW0NvbmRpdGlv
bmFsPUNvbmRpdGlvbjQsIEpTQnVpbHRpbl0gYXR0cmlidXRlIFRlc3RPYmoganNCdWlsdGluQXR0
cmlidXRlOwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb240LCBKU0J1aWx0aW5dIHJlYWRvbmx5
IGF0dHJpYnV0ZSBUZXN0T2JqIGpzQnVpbHRpblJlYWRPbmx5QXR0cmlidXRlOwogCkBAIC0xODks
MjMgKzE4OSwyMyBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAg
ICAgW1ByaXZhdGVJZGVudGlmaWVyXSBET01TdHJpbmcgcHJpdmF0ZU1ldGhvZChET01TdHJpbmcg
YXJndW1lbnQpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gRE9N
U3RyaW5nIHB1YmxpY0FuZFByaXZhdGVNZXRob2QoRE9NU3RyaW5nIGFyZ3VtZW50KTsKIAotICAg
IHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0
ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOwotICAgIHZvaWQgcmVt
b3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwg
b3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOworICAgIHVuZGVmaW5lZCBhZGRF
dmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBvcHRp
b25hbCBib29sZWFuIHVzZUNhcHR1cmUgPSBmYWxzZSk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUV2
ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlv
bmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSA9IGZhbHNlKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9uZm9vOwogICAgIFtJbXBsZW1lbnRlZEFzPW9uZm9vXSBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ud2Via2l0Zm9vOwogCiAgICAgLy8gJ0NhbGxXaXRoJyBleHRlbmRlZCBhdHRyaWJ1dGUK
LSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIHdpdGhFeGVjU3RhdGVWb2lkKCk7Cisg
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHdpdGhFeGVjU3RhdGVWb2lkKCk7
CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gVGVzdE9iaiB3aXRoRXhlY1N0YXRlT2JqKCk7
Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2l0
aEV4ZWNTdGF0ZVZvaWRFeGNlcHRpb24oKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdpdGhFeGVjU3RhdGVWb2lkRXhjZXB0aW9uKCk7
CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmog
d2l0aEV4ZWNTdGF0ZU9iakV4Y2VwdGlvbigpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmRXhlY1N0YXRlXSB2b2lkIHdpdGhTY3JpcHRFeGVj
dXRpb25Db250ZXh0QW5kRXhlY1N0YXRlKCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIHVuZGVmaW5lZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JkV4ZWNTdGF0ZV0gdW5kZWZpbmVkIHdpdGhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlKCk7CiAgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmRXhlY1N0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gVGVzdE9iaiB3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZU9iakV4Y2VwdGlvbigpOwogICAg
IFtDYWxsV2l0aD0gIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgICYgIEV4ZWNTdGF0ZSAgXSBUZXN0
T2JqIHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlV2l0aFNwYWNlcygpOwot
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCB3aXRoRG9jdW1lbnRBcmd1bWVudCgpOwotICAg
IFtDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudF0gdm9pZCB3aXRoQ2FsbGVyRG9jdW1lbnRBcmd1
bWVudCgpOwotICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3ddIHZvaWQgd2l0aENhbGxlcldp
bmRvd0FyZ3VtZW50KCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgd2l0aERv
Y3VtZW50QXJndW1lbnQoKTsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnRdIHVuZGVm
aW5lZCB3aXRoQ2FsbGVyRG9jdW1lbnRBcmd1bWVudCgpOworICAgIFtDYWxsV2l0aD1JbmN1bWJl
bnRXaW5kb3ddIHVuZGVmaW5lZCB3aXRoQ2FsbGVyV2luZG93QXJndW1lbnQoKTsKIAogICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3RdIGF0dHJpYnV0ZSBsb25nIHdpdGhFeGVjU3RhdGVBdHRyaWJ1
dGU7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2lu
ZG93JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgbG9uZyB3aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxs
V2l0aEF0dHJpYnV0ZTsKQEAgLTIxNCw1MiArMjE0LDUyIEBAIGVudW0gVGVzdENvbmZpZGVuY2Ug
eyAiaGlnaCIsICJraW5kYS1sb3cKICAgICBbQ2FsbFdpdGg9ICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0ICAmICBFeGVjU3RhdGUgIF0gYXR0cmlidXRlIFRlc3RPYmogd2l0aFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRBbmRFeGVjU3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlOwogCiAgICAgLy8gT3B0aW9u
YWwgcGFyYW1ldGVycy4KLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFyZyhvcHRpb25h
bCBsb25nIG9wdCk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmdBbmREZWZhdWx0
VmFsdWUob3B0aW9uYWwgbG9uZyBvcHQgPSA2NjYpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE5v
bk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmcobG9uZyBub25PcHQsIG9wdGlvbmFsIGxvbmcgb3B0
KTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJn
cyhsb25nIG5vbk9wdCwgb3B0aW9uYWwgbG9uZyBvcHQxLCBvcHRpb25hbCBsb25nIG9wdDIpOwot
ICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nKG9wdGlvbmFsIERPTVN0cmluZyBz
dHIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsVVNWU3RyaW5nKG9wdGlvbmFsIFVT
VlN0cmluZyBzdHIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsQXRvbVN0cmluZyhv
cHRpb25hbCBbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHN0cik7Ci0gICAgdm9pZCAgICBtZXRob2RX
aXRoT3B0aW9uYWxTdHJpbmdBbmREZWZhdWx0VmFsdWUob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9
ICJmb28iKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdBbmREZWZh
dWx0VmFsdWUob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIgPSAiZm9vIik7Ci0g
ICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJc051bGwob3B0aW9uYWwgRE9NU3Ry
aW5nIHN0ciA9IG51bGwpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNV
bmRlZmluZWQob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICJ1bmRlZmluZWQiKTsKLSAgICB2b2lk
ICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdJc051bGwob3B0aW9uYWwgW0F0b21TdHJp
bmddIERPTVN0cmluZyBzdHIgPSBudWxsKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25h
bFN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICIiKTsKLSAgICB2
b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVTVlN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwg
VVNWU3RyaW5nIHN0ciA9ICIiKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21T
dHJpbmdJc0VtcHR5U3RyaW5nKG9wdGlvbmFsIFtBdG9tU3RyaW5nXSBET01TdHJpbmcgc3RyID0g
IiIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsRG91YmxlSXNOYU4ob3B0aW9uYWwg
dW5yZXN0cmljdGVkIGRvdWJsZSBudW1iZXIgPSBOYU4pOwotICAgIHZvaWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsRmxvYXRJc05hTihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbnVtYmVyID0g
TmFOKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbExvbmdMb25nKG9wdGlvbmFsIGxv
bmcgbG9uZyBudW1iZXIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTG9uZ0xvbmdJ
c1plcm8ob3B0aW9uYWwgbG9uZyBsb25nIG51bWJlciA9IDApOwotICAgIHZvaWQgICAgbWV0aG9k
V2l0aE9wdGlvbmFsVW5zaWduZWRMb25nTG9uZyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxvbmcg
bnVtYmVyKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVuc2lnbmVkTG9uZ0xvbmdJ
c1plcm8ob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsb25nIG51bWJlciA9IDApOwotICAgIHZvaWQg
ICAgbWV0aG9kV2l0aE9wdGlvbmFsU2VxdWVuY2Uob3B0aW9uYWwgc2VxdWVuY2U8RE9NU3RyaW5n
PiBhcnJheSk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTZXF1ZW5jZUlzRW1wdHko
b3B0aW9uYWwgc2VxdWVuY2U8RE9NU3RyaW5nPiBhcnJheSA9IFtdKTsKLSAgICB2b2lkICAgIG1l
dGhvZFdpdGhPcHRpb25hbEJvb2xlYW4ob3B0aW9uYWwgYm9vbGVhbiBiKTsKLSAgICB2b2lkICAg
IG1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW5Jc0ZhbHNlKG9wdGlvbmFsIGJvb2xlYW4gYiA9IGZh
bHNlKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFueShvcHRpb25hbCBhbnkgYSk7
Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxPYmplY3Qob3B0aW9uYWwgb2JqZWN0IGEp
OwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyKG9wdGlvbmFs
IFRlc3RPYmo/IG9iaik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdy
YXBwZXJJc051bGwob3B0aW9uYWwgVGVzdE9iaj8gb2JqID0gbnVsbCk7Ci0gICAgdm9pZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxYUGF0aE5TUmVzb2x2ZXIob3B0aW9uYWwgWFBhdGhOU1Jlc29sdmVy
PyByZXNvbHZlcik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxSZWNvcmQob3B0aW9u
YWwgcmVjb3JkPERPTVN0cmluZywgbG9uZz4/IHJlY29yZCA9IG51bGwpOwotICAgIHZvaWQgICAg
bWV0aG9kV2l0aE9wdGlvbmFsUHJvbWlzZShvcHRpb25hbCBQcm9taXNlPHZvaWQ+IHByb21pc2Up
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmcob3B0aW9uYWwgbG9uZyBv
cHQpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmdBbmREZWZhdWx0VmFs
dWUob3B0aW9uYWwgbG9uZyBvcHQgPSA2NjYpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRo
Tm9uT3B0aW9uYWxBcmdBbmRPcHRpb25hbEFyZyhsb25nIG5vbk9wdCwgb3B0aW9uYWwgbG9uZyBv
cHQpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRp
b25hbEFyZ3MobG9uZyBub25PcHQsIG9wdGlvbmFsIGxvbmcgb3B0MSwgb3B0aW9uYWwgbG9uZyBv
cHQyKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nKG9wdGlvbmFs
IERPTVN0cmluZyBzdHIpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxVU1ZT
dHJpbmcob3B0aW9uYWwgVVNWU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdp
dGhPcHRpb25hbEF0b21TdHJpbmcob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIp
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdBbmREZWZhdWx0VmFs
dWUob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICJmb28iKTsKKyAgICB1bmRlZmluZWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsQXRvbVN0cmluZ0FuZERlZmF1bHRWYWx1ZShvcHRpb25hbCBbQXRvbVN0
cmluZ10gRE9NU3RyaW5nIHN0ciA9ICJmb28iKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsU3RyaW5nSXNOdWxsKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSBudWxsKTsKKyAg
ICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNVbmRlZmluZWQob3B0aW9u
YWwgRE9NU3RyaW5nIHN0ciA9ICJ1bmRlZmluZWQiKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9k
V2l0aE9wdGlvbmFsQXRvbVN0cmluZ0lzTnVsbChvcHRpb25hbCBbQXRvbVN0cmluZ10gRE9NU3Ry
aW5nIHN0ciA9IG51bGwpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJp
bmdJc0VtcHR5U3RyaW5nKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSAiIik7CisgICAgdW5kZWZp
bmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVTVlN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwg
VVNWU3RyaW5nIHN0ciA9ICIiKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFs
QXRvbVN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBz
dHIgPSAiIik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbERvdWJsZUlzTmFO
KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgbnVtYmVyID0gTmFOKTsKKyAgICB1bmRlZmlu
ZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsRmxvYXRJc05hTihvcHRpb25hbCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgbnVtYmVyID0gTmFOKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFs
TG9uZ0xvbmcob3B0aW9uYWwgbG9uZyBsb25nIG51bWJlcik7CisgICAgdW5kZWZpbmVkICAgIG1l
dGhvZFdpdGhPcHRpb25hbExvbmdMb25nSXNaZXJvKG9wdGlvbmFsIGxvbmcgbG9uZyBudW1iZXIg
PSAwKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsVW5zaWduZWRMb25nTG9u
ZyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxvbmcgbnVtYmVyKTsKKyAgICB1bmRlZmluZWQgICAg
bWV0aG9kV2l0aE9wdGlvbmFsVW5zaWduZWRMb25nTG9uZ0lzWmVybyhvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGxvbmcgbnVtYmVyID0gMCk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRp
b25hbFNlcXVlbmNlKG9wdGlvbmFsIHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXkpOworICAgIHVu
ZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTZXF1ZW5jZUlzRW1wdHkob3B0aW9uYWwgc2Vx
dWVuY2U8RE9NU3RyaW5nPiBhcnJheSA9IFtdKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsQm9vbGVhbihvcHRpb25hbCBib29sZWFuIGIpOworICAgIHVuZGVmaW5lZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZShvcHRpb25hbCBib29sZWFuIGIgPSBmYWxz
ZSk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFueShvcHRpb25hbCBhbnkg
YSk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbE9iamVjdChvcHRpb25hbCBv
YmplY3QgYSk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3Jh
cHBlcihvcHRpb25hbCBUZXN0T2JqPyBvYmopOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRo
T3B0aW9uYWxOdWxsYWJsZVdyYXBwZXJJc051bGwob3B0aW9uYWwgVGVzdE9iaj8gb2JqID0gbnVs
bCk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFhQYXRoTlNSZXNvbHZlcihv
cHRpb25hbCBYUGF0aE5TUmVzb2x2ZXI/IHJlc29sdmVyKTsKKyAgICB1bmRlZmluZWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsUmVjb3JkKG9wdGlvbmFsIHJlY29yZDxET01TdHJpbmcsIGxvbmc+PyBy
ZWNvcmQgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsUHJvbWlz
ZShvcHRpb25hbCBQcm9taXNlPHVuZGVmaW5lZD4gcHJvbWlzZSk7CiAKICAgICAvLyBDYWxsYmFj
ayBpbnRlcmZhY2UgcGFyYW1ldGVycy4KLSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0Fy
ZyhUZXN0Q2FsbGJhY2tJbnRlcmZhY2UgY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0aG9kV2l0
aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENhbGxi
YWNrSW50ZXJmYWNlIGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0Fu
ZE9wdGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxsYmFja0ludGVyZmFjZT8gY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBcmcoVGVzdENhbGxiYWNrSW50ZXJm
YWNlIGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJn
QW5kQ2FsbGJhY2tBcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENhbGxiYWNrSW50ZXJmYWNlIGNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxB
cmcob3B0aW9uYWwgVGVzdENhbGxiYWNrSW50ZXJmYWNlPyBjYWxsYmFjayk7CiAKICAgICAvLyBD
YWxsYmFjayBmdW5jdGlvbiBwYXJhbWV0ZXJzLgotICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxi
YWNrRnVuY3Rpb25BcmcoVGVzdENhbGxiYWNrRnVuY3Rpb24gY2FsbGJhY2spOwotICAgIHZvaWQg
ICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tGdW5jdGlvbkFyZyhsb25nIG5v
bkNhbGxiYWNrLCBUZXN0Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjayk7Ci0gICAgdm9pZCAgICBt
ZXRob2RXaXRoQ2FsbGJhY2tGdW5jdGlvbkFuZE9wdGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxs
YmFja0Z1bmN0aW9uPyBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhDYWxs
YmFja0Z1bmN0aW9uQXJnKFRlc3RDYWxsYmFja0Z1bmN0aW9uIGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tGdW5jdGlvbkFyZyhs
b25nIG5vbkNhbGxiYWNrLCBUZXN0Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkICAgIG1ldGhvZFdpdGhDYWxsYmFja0Z1bmN0aW9uQW5kT3B0aW9uYWxBcmcob3B0aW9u
YWwgVGVzdENhbGxiYWNrRnVuY3Rpb24/IGNhbGxiYWNrKTsKIAogICAgIC8vIHN0YXRpYyBtZXRo
b2RzIHdpdGggJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICBzdGF0aWMgdm9pZCAg
ICBzdGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhvcHRpb25hbCBUZXN0Q2Fs
bGJhY2tJbnRlcmZhY2U/IGNhbGxiYWNrKTsKLSAgICBzdGF0aWMgdm9pZCAgICBzdGF0aWNNZXRo
b2RXaXRoQ2FsbGJhY2tBcmcoVGVzdENhbGxiYWNrSW50ZXJmYWNlIGNhbGxiYWNrKTsKKyAgICBz
dGF0aWMgdW5kZWZpbmVkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
KG9wdGlvbmFsIFRlc3RDYWxsYmFja0ludGVyZmFjZT8gY2FsbGJhY2spOworICAgIHN0YXRpYyB1
bmRlZmluZWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQXJnKFRlc3RDYWxsYmFja0ludGVy
ZmFjZSBjYWxsYmFjayk7CiAKICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVkIGF0dHJpYnV0
ZQogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xXSBhdHRyaWJ1dGUgbG9uZyBjb25kaXRpb25h
bEF0dHIxOwpAQCAtMjY4LDggKzI2OCw4IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIs
ICJraW5kYS1sb3cKIAogICAgIC8vICdDb25kaXRpb25hbCcgZXh0ZW5kZWQgbWV0aG9kCiAgICAg
W0NvbmRpdGlvbmFsPUNvbmRpdGlvbjFdIERPTVN0cmluZyBjb25kaXRpb25hbE1ldGhvZDEoKTsK
LSAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMSZDb25kaXRpb24yXSB2b2lkIGNvbmRpdGlvbmFs
TWV0aG9kMigpOwotICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xfENvbmRpdGlvbjJdIHZvaWQg
Y29uZGl0aW9uYWxNZXRob2QzKCk7CisgICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjEmQ29uZGl0
aW9uMl0gdW5kZWZpbmVkIGNvbmRpdGlvbmFsTWV0aG9kMigpOworICAgIFtDb25kaXRpb25hbD1D
b25kaXRpb24xfENvbmRpdGlvbjJdIHVuZGVmaW5lZCBjb25kaXRpb25hbE1ldGhvZDMoKTsKIAog
ICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xXSBhdHRyaWJ1dGUgVGVzdE9iamVjdEFDb25zdHJ1
Y3RvciBjb25kaXRpb25hbEF0dHI0OwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xJkNvbmRp
dGlvbjJdIGF0dHJpYnV0ZSBUZXN0T2JqZWN0QkNvbnN0cnVjdG9yIGNvbmRpdGlvbmFsQXR0cjU7
CkBAIC0yODUsNzkgKzI4NSw3OSBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2lu
ZGEtbG93CiAgICAgYXR0cmlidXRlIG9iamVjdCBvYmplY3RBdHRyaWJ1dGU7CiAKICAgICAvLyBP
dmVybG9hZHMKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaj8gb2JqQXJnLCBE
T01TdHJpbmcgc3RyQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaj8g
b2JqQXJnLCBvcHRpb25hbCBsb25nIGxvbmdBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1l
dGhvZChET01TdHJpbmcgc3RyQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QobG9u
ZyBsb25nQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdENhbGxiYWNrSW50
ZXJmYWNlIGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5n
TGlzdD8gbGlzdEFyZyk7Ci0gICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPERP
TVN0cmluZz4/IGFycmF5QXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9i
aiBvYmpBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChXaW5kb3dQcm94eSB3aW5k
b3cpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChzZXF1ZW5jZTxET01TdHJpbmc+IGFy
cmF5QXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2Qoc2VxdWVuY2U8dW5zaWduZWQg
bG9uZz4gYXJyYXlBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChET01TdHJpbmcg
c3RyQXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChUZXN0T2JqPyBvYmpB
cmcsIERPTVN0cmluZyBzdHJBcmcpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9k
KFRlc3RPYmo/IG9iakFyZywgb3B0aW9uYWwgbG9uZyBsb25nQXJnKTsKKyAgICB1bmRlZmluZWQg
ICAgb3ZlcmxvYWRlZE1ldGhvZChET01TdHJpbmcgc3RyQXJnKTsKKyAgICB1bmRlZmluZWQgICAg
b3ZlcmxvYWRlZE1ldGhvZChsb25nIGxvbmdBcmcpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9h
ZGVkTWV0aG9kKFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
ICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nTGlzdD8gbGlzdEFyZyk7CisgICAgdW5kZWZp
bmVkICAgIG92ZXJsb2FkZWRNZXRob2Qoc2VxdWVuY2U8RE9NU3RyaW5nPj8gYXJyYXlBcmcpOwor
ICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKFRlc3RPYmogb2JqQXJnKTsKKyAgICB1
bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChXaW5kb3dQcm94eSB3aW5kb3cpOworICAgIHVu
ZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXlBcmcp
OworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPHVuc2lnbmVkIGxv
bmc+IGFycmF5QXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChET01TdHJp
bmcgc3RyQXJnKTsKIAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Igb3Zlcmxv
YWRlZCBmdW5jdGlvbnMgd2l0aCB2YXJpYWRpYyBhcmd1bWVudHMuCi0gICAgdm9pZCAgICBvdmVy
bG9hZGVkTWV0aG9kKEJsb2IuLi4gYmxvYkFyZ3MpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9h
ZGVkTWV0aG9kKEJsb2IuLi4gYmxvYkFyZ3MpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9k
V2l0aE9wdGlvbmFsUGFyYW1ldGVyKERPTVN0cmluZyBzdHJBcmcsIG9wdGlvbmFsIFRlc3RPYmo/
IG9iakFyZyA9IG51bGwpOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpb25hbFBh
cmFtZXRlcihUZXN0T2JqPyBvYmpBcmcsIG9wdGlvbmFsIGxvbmcgbG9uZ0FyZyk7CisgICAgdW5k
ZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoRE9NU3RyaW5nIHN0
ckFyZywgb3B0aW9uYWwgVGVzdE9iaj8gb2JqQXJnID0gbnVsbCk7CisgICAgdW5kZWZpbmVkIG92
ZXJsb2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoVGVzdE9iaj8gb2JqQXJnLCBvcHRp
b25hbCBsb25nIGxvbmdBcmcpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0aERpc3Rp
bmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSk7Ci0gICAg
dm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0aERpc3Rpbmd1aXNoaW5nVW5pb24obG9uZyB2YWx1ZSk7
CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoRGlzdGluZ3Vpc2hpbmdVbmlvbigo
VGVzdE9iaiBvciBUZXN0Tm9kZSkgb2JqZWN0T3JOb2RlKTsKKyAgICB1bmRlZmluZWQgb3Zlcmxv
YWRlZE1ldGhvZFdpdGhEaXN0aW5ndWlzaGluZ1VuaW9uKGxvbmcgdmFsdWUpOwogCi0gICAgdm9p
ZCBvdmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVzdE9iaiBvciBU
ZXN0Tm9kZSkgb2JqZWN0T3JOb2RlKTsKLSAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2RXaXRoMkRp
c3Rpbmd1aXNoaW5nVW5pb25zKChUZXN0SW50ZXJmYWNlIG9yIERPTVN0cmluZyBvciBsb25nKSB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoMkRpc3Rpbmd1aXNoaW5n
VW5pb25zKChUZXN0T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUpOworICAgIHVuZGVmaW5l
ZCBvdmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVzdEludGVyZmFj
ZSBvciBET01TdHJpbmcgb3IgbG9uZykgdmFsdWUpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0
aG9kV2l0aE5vbkRpc3Rpbmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVj
dE9yTm9kZSwgVGVzdE9iaiBvYmplY3QpOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhO
b25EaXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUs
IFRlc3ROb2RlIG5vZGUpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kV2l0aE5vbkRp
c3Rpbmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSwgVGVz
dE9iaiBvYmplY3QpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kV2l0aE5vbkRpc3Rp
bmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSwgVGVzdE5v
ZGUgbm9kZSk7CiAKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24oKFRlc3RPYmog
b3IgVGVzdE5vZGUpPyBvYmplY3RPck5vZGUpOwotICAgIHZvaWQgb3ZlcmxvYWRXaXRoTnVsbGFi
bGVVbmlvbihsb25nIGluZGV4KTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRXaXRoTnVsbGFibGVV
bmlvbigoVGVzdE9iaiBvciBUZXN0Tm9kZSk/IG9iamVjdE9yTm9kZSk7CisgICAgdW5kZWZpbmVk
IG92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24obG9uZyBpbmRleCk7CiAKLSAgICB2b2lkIG92ZXJs
b2FkV2l0aE9wdGlvbmFsVW5pb24ob3B0aW9uYWwgKERPTVN0cmluZyBvciBib29sZWFuKSBvYmpl
Y3RPck5vZGUgPSB0cnVlKTsKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24obG9u
ZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24ob3B0aW9u
YWwgKERPTVN0cmluZyBvciBib29sZWFuKSBvYmplY3RPck5vZGUgPSB0cnVlKTsKKyAgICB1bmRl
ZmluZWQgb3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbihsb25nIGluZGV4KTsKIAotICAgIHZvaWQg
b3ZlcmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcihUZXN0T2JqPyBv
YmosIFRlc3ROb2RlIG5vZGUpOwotICAgIHZvaWQgb3ZlcmxvYWRXaXRoTnVsbGFibGVOb25EaXN0
aW5ndWlzaGluZ1BhcmFtZXRlcihUZXN0Tm9kZT8gbm9kZSwgbG9uZyBpbmRleCk7CisgICAgdW5k
ZWZpbmVkIG92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIoVGVz
dE9iaj8gb2JqLCBUZXN0Tm9kZSBub2RlKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRXaXRoTnVs
bGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcihUZXN0Tm9kZT8gbm9kZSwgbG9uZyBpbmRl
eCk7CiAKICAgICAvLyBDbGFzcyBtZXRob2RzIHdpdGhpbiBKYXZhU2NyaXB0IChsaWtlIHdoYXQn
cyB1c2VkIGZvciBJREJLZXlSYW5nZSkuCi0gICAgc3RhdGljIHZvaWQgY2xhc3NNZXRob2QoKTsK
KyAgICBzdGF0aWMgdW5kZWZpbmVkIGNsYXNzTWV0aG9kKCk7CiAgICAgc3RhdGljIGxvbmcgY2xh
c3NNZXRob2RXaXRoT3B0aW9uYWwob3B0aW9uYWwgbG9uZyBhcmcpOwotICAgIFtDdXN0b21dIHN0
YXRpYyB2b2lkIGNsYXNzTWV0aG9kMihsb25nIGFyZyk7CisgICAgW0N1c3RvbV0gc3RhdGljIHVu
ZGVmaW5lZCBjbGFzc01ldGhvZDIobG9uZyBhcmcpOwogCiAgICAgLy8gU3RhdGljIG1ldGhvZCB3
aXRoIGNvbmRpdGlvbmFsIG9uIG92ZXJsb2FkZWQgbWV0aG9kcwotICAgIFtDb25kaXRpb25hbD1D
b25kaXRpb24xXSBzdGF0aWMgdm9pZCBvdmVybG9hZGVkTWV0aG9kMShsb25nIGFyZyk7Ci0gICAg
W0NvbmRpdGlvbmFsPUNvbmRpdGlvbjFdIHN0YXRpYyB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKERP
TVN0cmluZyB0eXBlKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMV0gc3RhdGljIHVuZGVm
aW5lZCBvdmVybG9hZGVkTWV0aG9kMShsb25nIGFyZyk7CisgICAgW0NvbmRpdGlvbmFsPUNvbmRp
dGlvbjFdIHN0YXRpYyB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZDEoRE9NU3RyaW5nIHR5cGUp
OwogCi0gICAgdm9pZCBjbGFzc01ldGhvZFdpdGhDbGFtcChbQ2xhbXBdIHVuc2lnbmVkIHNob3J0
IG9iakFyZ3NTaG9ydCwgW0NsYW1wXSB1bnNpZ25lZCBsb25nIG9iakFyZ3NMb25nKTsKLSAgICB2
b2lkIGNsYXNzTWV0aG9kV2l0aENsYW1wT25PcHRpb25hbChvcHRpb25hbCBbQ2xhbXBdIGxvbmcg
b2JqQXJnc0xvbmcgPSAwKTsKLSAgICB2b2lkIGNsYXNzTWV0aG9kV2l0aEVuZm9yY2VSYW5nZShb
RW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hvcnQsIFtFbmZvcmNlUmFuZ2Vd
IHVuc2lnbmVkIGxvbmcgb2JqQXJnc0xvbmcpOwotICAgIHZvaWQgY2xhc3NNZXRob2RXaXRoRW5m
b3JjZVJhbmdlT25PcHRpb25hbChvcHRpb25hbCBbRW5mb3JjZVJhbmdlXSBsb25nIG9iakFyZ3NM
b25nID0gMCk7CisgICAgdW5kZWZpbmVkIGNsYXNzTWV0aG9kV2l0aENsYW1wKFtDbGFtcF0gdW5z
aWduZWQgc2hvcnQgb2JqQXJnc1Nob3J0LCBbQ2xhbXBdIHVuc2lnbmVkIGxvbmcgb2JqQXJnc0xv
bmcpOworICAgIHVuZGVmaW5lZCBjbGFzc01ldGhvZFdpdGhDbGFtcE9uT3B0aW9uYWwob3B0aW9u
YWwgW0NsYW1wXSBsb25nIG9iakFyZ3NMb25nID0gMCk7CisgICAgdW5kZWZpbmVkIGNsYXNzTWV0
aG9kV2l0aEVuZm9yY2VSYW5nZShbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBzaG9ydCBvYmpBcmdz
U2hvcnQsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgb2JqQXJnc0xvbmcpOworICAgIHVu
ZGVmaW5lZCBjbGFzc01ldGhvZFdpdGhFbmZvcmNlUmFuZ2VPbk9wdGlvbmFsKG9wdGlvbmFsIFtF
bmZvcmNlUmFuZ2VdIGxvbmcgb2JqQXJnc0xvbmcgPSAwKTsKIAotICAgIHZvaWQgbWV0aG9kV2l0
aFVuc2lnbmVkTG9uZ1NlcXVlbmNlKHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9u
Z1NlcXVlbmNlKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFVuc2lnbmVkTG9uZ1NlcXVlbmNl
KHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9uZ1NlcXVlbmNlKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHNlcXVlbmNlPERPTVN0cmluZz4gc3RyaW5nQXJyYXlGdW5jdGlvbihz
ZXF1ZW5jZTxET01TdHJpbmc+IHZhbHVlcyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01T
dHJpbmdMaXN0IGRvbVN0cmluZ0xpc3RGdW5jdGlvbihET01TdHJpbmdMaXN0IHZhbHVlcyk7CiAK
LSAgICB2b2lkIG9wZXJhdGlvbldpdGhPcHRpb25hbFVuaW9uUGFyYW1ldGVyKG9wdGlvbmFsIChE
T01TdHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIG9wdGlvbmFsVW5pb24p
OworICAgIHVuZGVmaW5lZCBvcGVyYXRpb25XaXRoT3B0aW9uYWxVbmlvblBhcmFtZXRlcihvcHRp
b25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBkb3VibGU+KSBvcHRpb25h
bFVuaW9uKTsKIAotICAgIHZvaWQgbWV0aG9kV2l0aEFuZFdpdGhvdXROdWxsYWJsZVNlcXVlbmNl
KHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGFycmF5QXJnLCBzZXF1ZW5jZTx1bnNpZ25lZCBsb25n
Pj8gbnVsbGFibGVBcnJheUFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhBbmRXaXRob3V0
TnVsbGFibGVTZXF1ZW5jZShzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiBhcnJheUFyZywgc2VxdWVu
Y2U8dW5zaWduZWQgbG9uZz4/IG51bGxhYmxlQXJyYXlBcmcpOwogCiAgICAgRWxlbWVudD8gZ2V0
RWxlbWVudEJ5SWQoW1JlcXVpcmVzRXhpc3RpbmdBdG9tU3RyaW5nXSBET01TdHJpbmcgZWxlbWVu
dElkKTsKIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERv
Y3VtZW50IGNvbnRlbnREb2N1bWVudDsKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRo
cm93RXhjZXB0aW9uXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpOwogCi0gICAgdm9pZCBj
b252ZXJ0MShUZXN0Tm9kZSB2YWx1ZSk7Ci0gICAgdm9pZCBjb252ZXJ0MihUZXN0Tm9kZT8gdmFs
dWUpOwotICAgIHZvaWQgY29udmVydDMoRE9NU3RyaW5nIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZl
cnQ0KERPTVN0cmluZz8gdmFsdWUpOworICAgIHVuZGVmaW5lZCBjb252ZXJ0MShUZXN0Tm9kZSB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIGNvbnZlcnQyKFRlc3ROb2RlPyB2YWx1ZSk7CisgICAgdW5k
ZWZpbmVkIGNvbnZlcnQzKERPTVN0cmluZyB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIGNvbnZlcnQ0
KERPTVN0cmluZz8gdmFsdWUpOwogCiAgICAgYXR0cmlidXRlIFNWR1BvaW50IG11dGFibGVQb2lu
dDsKICAgICBTVkdQb2ludCBtdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogCi0gICAgW0ltcGxlbWVu
dGVkQXM9YmFuYW5hXSB2b2lkIG9yYW5nZSgpOworICAgIFtJbXBsZW1lbnRlZEFzPWJhbmFuYV0g
dW5kZWZpbmVkIG9yYW5nZSgpOwogICAgIFtJbXBsZW1lbnRlZEFzPWJsdWViZXJyeV0gYXR0cmli
dXRlIGxvbmcgc3RyYXdiZXJyeTsKIAogICAgIC8vIE9iamVjdGl2ZUMgcmVzZXJ2ZWQgd29yZHMu
CkBAIC0zODAsMTAgKzM4MCwxMCBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2lu
ZGEtbG93CiAKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHJlcGxh
Y2VhYmxlQXR0cmlidXRlOwogCi0gICAgdm9pZCB2YXJpYWRpY1N0cmluZ01ldGhvZChET01TdHJp
bmcgaGVhZCwgRE9NU3RyaW5nLi4uIHRhaWwpOwotICAgIHZvaWQgdmFyaWFkaWNEb3VibGVNZXRo
b2QodW5yZXN0cmljdGVkIGRvdWJsZSBoZWFkLCB1bnJlc3RyaWN0ZWQgZG91YmxlLi4uIHRhaWwp
OwotICAgIHZvaWQgdmFyaWFkaWNOb2RlTWV0aG9kKE5vZGUgaGVhZCwgTm9kZS4uLiB0YWlsKTsK
LSAgICB2b2lkIHZhcmlhZGljVW5pb25NZXRob2QoRE9NU3RyaW5nIGhlYWQsIChOb2RlIG9yIERP
TVN0cmluZykuLi4gdGFpbCk7CisgICAgdW5kZWZpbmVkIHZhcmlhZGljU3RyaW5nTWV0aG9kKERP
TVN0cmluZyBoZWFkLCBET01TdHJpbmcuLi4gdGFpbCk7CisgICAgdW5kZWZpbmVkIHZhcmlhZGlj
RG91YmxlTWV0aG9kKHVucmVzdHJpY3RlZCBkb3VibGUgaGVhZCwgdW5yZXN0cmljdGVkIGRvdWJs
ZS4uLiB0YWlsKTsKKyAgICB1bmRlZmluZWQgdmFyaWFkaWNOb2RlTWV0aG9kKE5vZGUgaGVhZCwg
Tm9kZS4uLiB0YWlsKTsKKyAgICB1bmRlZmluZWQgdmFyaWFkaWNVbmlvbk1ldGhvZChET01TdHJp
bmcgaGVhZCwgKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiB0YWlsKTsKIAogICAgIC8vIE51bGxhYmxl
IGF0dHJpYnV0ZXMuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/
IG51bGxhYmxlRG91YmxlQXR0cmlidXRlOwpAQCAtNDAwLDQ4ICs0MDAsNDggQEAgZW51bSBUZXN0
Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
ICAgICAgICAgICAgICAgX3JlYWRvbmx5ID0gMDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nICAgICAgIF9hdHRyaWJ1dGU7CiAgICAgYXR0cmlidXRlIF9vcHRpb25hbCAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZTsKLSAgICB2b2lkIF9hbnkodW5y
ZXN0cmljdGVkIGZsb2F0IGEsIGxvbmcgYik7CisgICAgdW5kZWZpbmVkIF9hbnkodW5yZXN0cmlj
dGVkIGZsb2F0IGEsIGxvbmcgYik7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2
b2lkPiB0ZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RSZWFkT25seVZvaWRQcm9taXNlQXR0cmlidXRl
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPFRlc3ROb2RlPiB0ZXN0UmVhZE9ubHlQ
cm9taXNlQXR0cmlidXRlOwogCiAgICAgLy8gUHJvbWlzZSBmdW5jdGlvbgotICAgIFByb21pc2U8
dm9pZD4gdGVzdFByb21pc2VGdW5jdGlvbigpOwotICAgIFByb21pc2U8dm9pZD4gdGVzdFByb21p
c2VGdW5jdGlvbldpdGhGbG9hdEFyZ3VtZW50KGZsb2F0IGEpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gUHJvbWlzZTx2b2lkPiB0ZXN0UHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2VwdGlvbigpOwot
ICAgIFByb21pc2U8dm9pZD4gdGVzdFByb21pc2VGdW5jdGlvbldpdGhPcHRpb25hbEludEFyZ3Vt
ZW50KG9wdGlvbmFsIGxvbmcgYSk7Ci0gICAgUHJvbWlzZTx2b2lkPiB0ZXN0UHJvbWlzZU92ZXJs
b2FkZWRGdW5jdGlvbihmbG9hdCBhKTsKLSAgICBQcm9taXNlPHZvaWQ+IHRlc3RQcm9taXNlT3Zl
cmxvYWRlZEZ1bmN0aW9uKEZldGNoUmVxdWVzdCByZXF1ZXN0KTsKLSAgICBzdGF0aWMgUHJvbWlz
ZTx2b2lkPiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uKCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSBzdGF0aWMgUHJvbWlzZTx2b2lkPiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uV2l0aEV4
Y2VwdGlvbigpOwotICAgIFtDdXN0b21dIFByb21pc2U8dm9pZD4gdGVzdEN1c3RvbVByb21pc2VG
dW5jdGlvbigpOwotICAgIFtDdXN0b21dIHN0YXRpYyBQcm9taXNlPHZvaWQ+IHRlc3RTdGF0aWND
dXN0b21Qcm9taXNlRnVuY3Rpb24oKTsKLSAgICBbQ3VzdG9tLCBSZXR1cm5zT3duUHJvbWlzZV0g
UHJvbWlzZTx2b2lkPiB0ZXN0Q3VzdG9tUmV0dXJuc093blByb21pc2VGdW5jdGlvbigpOwotICAg
IFtSZXR1cm5zT3duUHJvbWlzZSwgUHJvbWlzZVByb3h5XSBQcm9taXNlPHZvaWQ+IHRlc3RSZXR1
cm5zT3duUHJvbWlzZUFuZFByb21pc2VQcm94eUZ1bmN0aW9uKCk7CisgICAgUHJvbWlzZTx1bmRl
ZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb24oKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gdGVz
dFByb21pc2VGdW5jdGlvbldpdGhGbG9hdEFyZ3VtZW50KGZsb2F0IGEpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRoRXhj
ZXB0aW9uKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRo
T3B0aW9uYWxJbnRBcmd1bWVudChvcHRpb25hbCBsb25nIGEpOworICAgIFByb21pc2U8dW5kZWZp
bmVkPiB0ZXN0UHJvbWlzZU92ZXJsb2FkZWRGdW5jdGlvbihmbG9hdCBhKTsKKyAgICBQcm9taXNl
PHVuZGVmaW5lZD4gdGVzdFByb21pc2VPdmVybG9hZGVkRnVuY3Rpb24oRmV0Y2hSZXF1ZXN0IHJl
cXVlc3QpOworICAgIHN0YXRpYyBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFN0YXRpY1Byb21pc2VG
dW5jdGlvbigpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc3RhdGljIFByb21pc2U8dW5kZWZp
bmVkPiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2VwdGlvbigpOworICAgIFtDdXN0
b21dIFByb21pc2U8dW5kZWZpbmVkPiB0ZXN0Q3VzdG9tUHJvbWlzZUZ1bmN0aW9uKCk7CisgICAg
W0N1c3RvbV0gc3RhdGljIFByb21pc2U8dW5kZWZpbmVkPiB0ZXN0U3RhdGljQ3VzdG9tUHJvbWlz
ZUZ1bmN0aW9uKCk7CisgICAgW0N1c3RvbSwgUmV0dXJuc093blByb21pc2VdIFByb21pc2U8dW5k
ZWZpbmVkPiB0ZXN0Q3VzdG9tUmV0dXJuc093blByb21pc2VGdW5jdGlvbigpOworICAgIFtSZXR1
cm5zT3duUHJvbWlzZSwgUHJvbWlzZVByb3h5XSBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFJldHVy
bnNPd25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb24oKTsKIAogICAgIC8vIFB1dEZvcndh
cmRzCiAgICAgW1B1dEZvcndhcmRzPW5hbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXN0Tm9kZSBw
dXRGb3J3YXJkc0F0dHJpYnV0ZTsKICAgICBbUHV0Rm9yd2FyZHM9bmFtZV0gcmVhZG9ubHkgYXR0
cmlidXRlIFRlc3ROb2RlPyBwdXRGb3J3YXJkc051bGxhYmxlQXR0cmlidXRlOwogCiAgICAgLy8g
T3ZlcmxvYWRpbmcgd2l0aCBjb25kaXRpb25hbHMuCi0gICAgW0NvbmRpdGlvbmFsPUNPTkRJVElP
TjFdIHZvaWQgY29uZGl0aW9uYWxPdmVybG9hZChET01TdHJpbmcgc3RyKTsKLSAgICBbQ29uZGl0
aW9uYWw9Q09ORElUSU9OMl0gdm9pZCBjb25kaXRpb25hbE92ZXJsb2FkKGxvbmcgYSk7CisgICAg
W0NvbmRpdGlvbmFsPUNPTkRJVElPTjFdIHVuZGVmaW5lZCBjb25kaXRpb25hbE92ZXJsb2FkKERP
TVN0cmluZyBzdHIpOworICAgIFtDb25kaXRpb25hbD1DT05ESVRJT04yXSB1bmRlZmluZWQgY29u
ZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOwogCi0gICAgdm9pZCBzaW5nbGVDb25kaXRpb25hbE92
ZXJsb2FkKERPTVN0cmluZyBzdHIpOwotICAgIFtDb25kaXRpb25hbD1DT05ESVRJT05dIHZvaWQg
c2luZ2xlQ29uZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOworICAgIHVuZGVmaW5lZCBzaW5nbGVD
b25kaXRpb25hbE92ZXJsb2FkKERPTVN0cmluZyBzdHIpOworICAgIFtDb25kaXRpb25hbD1DT05E
SVRJT05dIHVuZGVmaW5lZCBzaW5nbGVDb25kaXRpb25hbE92ZXJsb2FkKGxvbmcgYSk7CiAKLSAg
ICB2b2lkIGF0dGFjaFNoYWRvd1Jvb3QoVGVzdERpY3Rpb25hcnkgaW5pdCk7Ci0gICAgdm9pZCBv
cGVyYXRpb25XaXRoRXh0ZXJuYWxEaWN0aW9uYXJ5UGFyYW1ldGVyKFRlc3RTdGFuZGFsb25lRGlj
dGlvbmFyeSBkaWN0KTsKKyAgICB1bmRlZmluZWQgYXR0YWNoU2hhZG93Um9vdChUZXN0RGljdGlv
bmFyeSBpbml0KTsKKyAgICB1bmRlZmluZWQgb3BlcmF0aW9uV2l0aEV4dGVybmFsRGljdGlvbmFy
eVBhcmFtZXRlcihUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkgZGljdCk7CiAKICAgICBzdHJpbmdp
ZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIHN0cmluZ2lmaWVyQXR0cmlidXRlOwogCiAgICAgc2Vy
aWFsaXplciA9IHtjcmVhdGUsIHJlYWRPbmx5U3RyaW5nQXR0ciwgZW51bUF0dHIsIGxvbmdBdHRy
fTsKIAotICAgIHZvaWQgYnVmZmVyU291cmNlUGFyYW1ldGVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsK
KyAgICB1bmRlZmluZWQgYnVmZmVyU291cmNlUGFyYW1ldGVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsK
IAotICAgIGxlZ2FjeWNhbGxlciB2b2lkIGxlZ2FjeUNhbGxlck5hbWVkKGxvbmcgcGFyYW0pOwor
ICAgIGxlZ2FjeWNhbGxlciB1bmRlZmluZWQgbGVnYWN5Q2FsbGVyTmFtZWQobG9uZyBwYXJhbSk7
CiAgICAgbGVnYWN5Y2FsbGVyIGxvbmcgKERPTVN0cmluZyBwYXJhbSk7Ci0gICAgbGVnYWN5Y2Fs
bGVyIHZvaWQgKCk7CisgICAgbGVnYWN5Y2FsbGVyIHVuZGVmaW5lZCAoKTsKIAogICAgIE5vZGUg
dGVzdFJldHVyblZhbHVlT3B0aW1pemF0aW9uKFtSZXR1cm5WYWx1ZV0gTm9kZSBhLCBOb2RlIGIp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTm9kZSB0ZXN0UmV0dXJuVmFsdWVPcHRpbWl6YXRp
b25XaXRoRXhjZXB0aW9uKFtSZXR1cm5WYWx1ZV0gTm9kZSBhLCBOb2RlIGIpOwpAQCAtNDU3LDkg
KzQ1Nyw5IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3cKICAgICBb
RXhwb3NlZD1XaW5kb3ddIGF0dHJpYnV0ZSBsb25nIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5k
b3dBdHRyaWJ1dGU7CiAgICAgW0V4cG9zZWQ9V29ya2VyXSBhdHRyaWJ1dGUgbG9uZyBjb25kaXRp
b25hbGx5RXhwb3NlZFRvV29ya2VyQXR0cmlidXRlOwogICAgIFtFeHBvc2VkPShXb3JrZXIsIFdp
bmRvdyldIGF0dHJpYnV0ZSBsb25nIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dBbmRXb3Jr
ZXJBdHRyaWJ1dGU7Ci0gICAgW0V4cG9zZWQ9V2luZG93XSB2b2lkIGNvbmRpdGlvbmFsbHlFeHBv
c2VkVG9XaW5kb3dGdW5jdGlvbigpOwotICAgIFtFeHBvc2VkPVdvcmtlcl0gdm9pZCBjb25kaXRp
b25hbGx5RXhwb3NlZFRvV29ya2VyRnVuY3Rpb24oKTsKLSAgICBbRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIpXSB2b2lkIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dBbmRXb3JrZXJGdW5jdGlv
bigpOworICAgIFtFeHBvc2VkPVdpbmRvd10gdW5kZWZpbmVkIGNvbmRpdGlvbmFsbHlFeHBvc2Vk
VG9XaW5kb3dGdW5jdGlvbigpOworICAgIFtFeHBvc2VkPVdvcmtlcl0gdW5kZWZpbmVkIGNvbmRp
dGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJGdW5jdGlvbigpOworICAgIFtFeHBvc2VkPShXaW5kb3cs
IFdvcmtlcildIHVuZGVmaW5lZCBjb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2Vy
RnVuY3Rpb24oKTsKIH07CiAKIC8vIFRoZSBmb2xsb3dpbmcgY29tbWVudCBzaG91bGQgbm90IGdl
bmVyYXRlIGFueSBjb2RlLgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPcGVyYXRpb25CYXNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9wZXJhdGlvbkJhc2UuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9wZXJhdGlv
bkJhc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw2IEBACiAgICAgQ29uZGl0aW9u
YWw9Q29uZGl0aW9uQmFzZSwKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIFRl
c3RPcGVyYXRpb25CYXNlIHsKLSAgICB2b2lkIG5vbkNvbmRpdGlvbmFsT3BlcmF0aW9uKCk7Ci0g
ICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbk9wZXJhdGlvbl0gdm9pZCBjb25kaXRpb25hbE9wZXJh
dGlvbigpOworICAgIHVuZGVmaW5lZCBub25Db25kaXRpb25hbE9wZXJhdGlvbigpOworICAgIFtD
b25kaXRpb25hbD1Db25kaXRpb25PcGVyYXRpb25dIHVuZGVmaW5lZCBjb25kaXRpb25hbE9wZXJh
dGlvbigpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNiBAQAogICAgIFtDYWNoZWRBdHRyaWJ1dGVdIGF0
dHJpYnV0ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgY2FjaGVkVmFsdWU7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHNlcXVlbmNlPE1lc3NhZ2VQb3J0PiBwb3J0czsKICAgICBbQ2FjaGVkQXR0cmli
dXRlXSByZWFkb25seSBhdHRyaWJ1dGUgU2VyaWFsaXplZFNjcmlwdFZhbHVlIGNhY2hlZFJlYWRv
bmx5VmFsdWU7Ci0gICAgdm9pZCBmdW5jdGlvbihTZXJpYWxpemVkU2NyaXB0VmFsdWUgdmFsdWUp
OworICAgIHVuZGVmaW5lZCBmdW5jdGlvbihTZXJpYWxpemVkU2NyaXB0VmFsdWUgdmFsdWUpOwog
ICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBmdW5jdGlvblJldHVybmluZygpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dFN1cHBsZW1lbnRhbC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDAsMTUgKzQwLDE1IEBACiAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBy
ZWZsZWN0QXR0cmlidXRlOwogCi0gICAgdm9pZCBzdXBwbGVtZW50YWxNZXRob2QxKCk7CisgICAg
dW5kZWZpbmVkIHN1cHBsZW1lbnRhbE1ldGhvZDEoKTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogc3VwcGxlbWVudGFsTWV0
aG9kMihET01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7Ci0gICAgW0N1c3RvbV0gdm9p
ZCBzdXBwbGVtZW50YWxNZXRob2QzKCk7Ci0gICAgc3RhdGljIHZvaWQgc3VwcGxlbWVudGFsTWV0
aG9kNCgpOworICAgIFtDdXN0b21dIHVuZGVmaW5lZCBzdXBwbGVtZW50YWxNZXRob2QzKCk7Cisg
ICAgc3RhdGljIHVuZGVmaW5lZCBzdXBwbGVtZW50YWxNZXRob2Q0KCk7CiAKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVVBQTEVNRU5UQUxDT05TVEFOVDEgPSAxOwogICAgIFtSZWZsZWN0PUNP
TlNUX0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNVUFBMRU1FTlRBTENPTlNUQU5UMiA9IDI7
CiAKLSAgICBbSlNCdWlsdGluXSB2b2lkIGJ1aWx0aW5GdW5jdGlvbigpOworICAgIFtKU0J1aWx0
aW5dIHVuZGVmaW5lZCBidWlsdGluRnVuY3Rpb24oKTsKICAgICBbSlNCdWlsdGluXSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgYnVpbHRpbkF0dHJpYnV0ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdFR5cGVkZWZzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsMjEgKzQwLDIxIEBAIGlu
dGVyZmFjZSBUZXN0VHlwZWRlZnMgewogICAgIAogICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1
dGUgVCBUZXN0U3ViT2JqOwogCi0gICAgdm9pZCBmdW5jKG9wdGlvbmFsIFNFUVVFTkNFX09GX0xP
TkdTIHggPSBbXSk7CisgICAgdW5kZWZpbmVkIGZ1bmMob3B0aW9uYWwgU0VRVUVOQ0VfT0ZfTE9O
R1MgeCA9IFtdKTsKIAotICAgIHZvaWQgc2V0U2hhZG93KERPVUJMRSB3aWR0aCwgRE9VQkxFIGhl
aWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIsIG9wdGlvbmFsIFNUUklORyBjb2xvciwgb3B0
aW9uYWwgRE9VQkxFIGFscGhhKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KERPVUJMRSB3aWR0
aCwgRE9VQkxFIGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIsIG9wdGlvbmFsIFNUUklO
RyBjb2xvciwgb3B0aW9uYWwgRE9VQkxFIGFscGhhKTsKIAogICAgIFVMT05HTE9ORyBtZXRob2RX
aXRoU2VxdWVuY2VBcmcoc2VxdWVuY2U8U0NSSVBUX1ZBTFVFPiBzZXF1ZW5jZUFyZyk7CiAKLSAg
ICB2b2lkIG51bGxhYmxlU2VxdWVuY2VBcmcoU0VRVUVOQ0VfT0ZfU1RSSU5HUz8gc2VxdWVuY2VB
cmcpOwotICAgIHZvaWQgc2VxdWVuY2VPZk51bGxhYmxlc0FyZyhzZXF1ZW5jZTxTVFJJTkc/PiBz
ZXF1ZW5jZUFyZyk7Ci0gICAgdm9pZCBudWxsYWJsZVNlcXVlbmNlT2ZOdWxsYWJsZXNBcmcoU0VR
VUVOQ0VfT0ZfTlVMTEFCTEVfU1RSSU5HUz8gc2VxdWVuY2VBcmcpOwotICAgIHZvaWQgbnVsbGFi
bGVTZXF1ZW5jZU9mVW5pb25zQXJnKHNlcXVlbmNlPChTVFJJTkcgb3IgU0VRVUVOQ0VfT0ZfU1RS
SU5HUyk+PyBzZXF1ZW5jZUFyZyk7CisgICAgdW5kZWZpbmVkIG51bGxhYmxlU2VxdWVuY2VBcmco
U0VRVUVOQ0VfT0ZfU1RSSU5HUz8gc2VxdWVuY2VBcmcpOworICAgIHVuZGVmaW5lZCBzZXF1ZW5j
ZU9mTnVsbGFibGVzQXJnKHNlcXVlbmNlPFNUUklORz8+IHNlcXVlbmNlQXJnKTsKKyAgICB1bmRl
ZmluZWQgbnVsbGFibGVTZXF1ZW5jZU9mTnVsbGFibGVzQXJnKFNFUVVFTkNFX09GX05VTExBQkxF
X1NUUklOR1M/IHNlcXVlbmNlQXJnKTsKKyAgICB1bmRlZmluZWQgbnVsbGFibGVTZXF1ZW5jZU9m
VW5pb25zQXJnKHNlcXVlbmNlPChTVFJJTkcgb3IgU0VRVUVOQ0VfT0ZfU1RSSU5HUyk+PyBzZXF1
ZW5jZUFyZyk7CiAKLSAgICB2b2lkIHVuaW9uQXJnKFVOSU9OX1NUUklOR19MT05HIHVuaW9uQXJn
KTsKKyAgICB1bmRlZmluZWQgdW5pb25BcmcoVU5JT05fU1RSSU5HX0xPTkcgdW5pb25BcmcpOwog
Ci0gICAgdm9pZCBmdW5jV2l0aENsYW1wKFtDbGFtcF0gVUxPTkdMT05HIGFyZzEsIG9wdGlvbmFs
IFtDbGFtcF0gVUxPTkdMT05HIGFyZzIpOwotICAgIHZvaWQgZnVuY1dpdGhDbGFtcEluVHlwZWRl
ZihDTEFNUEVEX0xPTkcgYXJnKTsKKyAgICB1bmRlZmluZWQgZnVuY1dpdGhDbGFtcChbQ2xhbXBd
IFVMT05HTE9ORyBhcmcxLCBvcHRpb25hbCBbQ2xhbXBdIFVMT05HTE9ORyBhcmcyKTsKKyAgICB1
bmRlZmluZWQgZnVuY1dpdGhDbGFtcEluVHlwZWRlZihDTEFNUEVEX0xPTkcgYXJnKTsKIAogICAg
IGF0dHJpYnV0ZSBbQ2xhbXBdIFVMT05HTE9ORyBhdHRyaWJ1dGVXaXRoQ2xhbXA7CiAgICAgYXR0
cmlidXRlIENMQU1QRURfTE9ORyBhdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWY7CkBAIC02Nyw3
ICs2Nyw3IEBAIGludGVyZmFjZSBUZXN0VHlwZWRlZnMgewogICAgIGJvb2xlYW4gY2FsbFdpdGhT
ZXF1ZW5jZVRoYXRSZXF1aXJlc0luY2x1ZGUoc2VxdWVuY2U8VGVzdEV2ZW50VGFyZ2V0PiBzZXF1
ZW5jZUFyZyk7CiAKICAgICAvLyBFeGNlcHRpb25zCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIG1ldGhvZFdpdGhFeGNlcHRpb24oKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBtZXRob2RXaXRoRXhjZXB0aW9uKCk7CiAKICAgICAvLyBCdWlsdGluIFR5cGVkZWZzCiAg
ICAgYXR0cmlidXRlIEJ1ZmZlclNvdXJjZSBidWZmZXJTb3VyY2VBdHRyOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1U
RVNUX0NPTkRJVElPTkFMLAotXSBjYWxsYmFjayBUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24gPSB2
b2lkIChGbG9hdDMyQXJyYXkgYXJyYXlQYXJhbSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNyelBh
cmFtLCBET01TdHJpbmcgc3RyQXJnLCBib29sZWFuIGJvb2xQYXJhbSwgbG9uZyBsb25nUGFyYW0s
IFRlc3ROb2RlIHRlc3ROb2RlUGFyYW0pOworXSBjYWxsYmFjayBUZXN0Vm9pZENhbGxiYWNrRnVu
Y3Rpb24gPSB1bmRlZmluZWQgKEZsb2F0MzJBcnJheSBhcnJheVBhcmFtLCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgc3J6UGFyYW0sIERPTVN0cmluZyBzdHJBcmcsIGJvb2xlYW4gYm9vbFBhcmFtLCBs
b25nIGxvbmdQYXJhbSwgVGVzdE5vZGUgdGVzdE5vZGVQYXJhbSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhU
aGlzT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0LmNwcAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAgSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0Ojp+
SgogI2VuZGlmCiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVu
dGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0OjpoYW5kbGVF
dmVudCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRoaXNP
YmplY3QsIHR5cGVuYW1lIElETFNlcXVlbmNlPElETEludGVyZmFjZTxUZXN0Tm9kZT4+OjpQYXJh
bWV0ZXJUeXBlIHBhcmFtZXRlcikKK0NhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5l
ZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmpl
Y3Q6OmhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRl
clR5cGUgdGhpc09iamVjdCwgdHlwZW5hbWUgSURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFRlc3RO
b2RlPj46OlBhcmFtZXRlclR5cGUgcGFyYW1ldGVyKQogewogICAgIGlmICghY2FuSW52b2tlQ2Fs
bGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVj
dXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0
aFRoaXNPYmplY3QuaAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICBKU0NhbGxiYWNr
RGF0YVN0cm9uZyogY2FsbGJhY2tEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAKICAgICAvLyBG
dW5jdGlvbnMKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRh
dGlvblR5cGU+IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBh
cmFtZXRlclR5cGUgdGhpc09iamVjdCwgdHlwZW5hbWUgSURMU2VxdWVuY2U8SURMSW50ZXJmYWNl
PFRlc3ROb2RlPj46OlBhcmFtZXRlclR5cGUgcGFyYW1ldGVyKSBvdmVycmlkZTsKKyAgICBDYWxs
YmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gaGFu
ZGxlRXZlbnQodHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0
aGlzT2JqZWN0LCB0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pjo6
UGFyYW1ldGVyVHlwZSBwYXJhbWV0ZXIpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEpTVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdChKU0M6OkpTT2JqZWN0KiwgSlNET01HbG9i
YWxPYmplY3QqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5j
dGlvbldpdGhUeXBlZGVmcy5jcHAJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVk
ZWZzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBKU1Rlc3RDYWxsYmFja0Z1
bmN0aW9uV2l0aFR5cGVkZWZzOjp+SlNUCiAjZW5kaWYKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlw
ZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9u
V2l0aFR5cGVkZWZzOjpoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJs
ZTxJRExMb25nPj46OlBhcmFtZXRlclR5cGUgc2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6
OlBhcmFtZXRlclR5cGUgbG9uZ0FyZykKK0NhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVm
aW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVk
ZWZzOjpoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJRExMb25n
Pj46OlBhcmFtZXRlclR5cGUgc2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRl
clR5cGUgbG9uZ0FyZykKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAgICAg
IHJldHVybiBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9u
V2l0aFR5cGVkZWZzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDAs
NyArNDAsNyBAQCBwdWJsaWM6CiAgICAgSlNDYWxsYmFja0RhdGFTdHJvbmcqIGNhbGxiYWNrRGF0
YSgpIHsgcmV0dXJuIG1fZGF0YTsgfQogCiAgICAgLy8gRnVuY3Rpb25zCi0gICAgQ2FsbGJhY2tS
ZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBoYW5kbGVFdmVudCh0
eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJRExMb25nPj46OlBhcmFtZXRlclR5cGUg
c2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ0FyZykgb3Zl
cnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1l
bnRhdGlvblR5cGU+IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETFNlcXVlbmNlPElETE51bGxhYmxl
PElETExvbmc+Pjo6UGFyYW1ldGVyVHlwZSBzZXF1ZW5jZUFyZywgdHlwZW5hbWUgSURMTG9uZzo6
UGFyYW1ldGVyVHlwZSBsb25nQXJnKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBKU1Rlc3RD
YWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzKEpTQzo6SlNPYmplY3QqLCBKU0RPTUdsb2JhbE9i
amVjdCopOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCShyZXZp
c2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcy
LDcgQEAgSlNWYWx1ZSBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29ucwogICAgIHJldHVy
biBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQog
Ci1DYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpT
VGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhOb1BhcmFtKCkKK0NhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxs
YmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCiB7CiAgICAgaWYgKCFjYW5JbnZv
a2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRUeXBlOjpVbmFibGVU
b0V4ZWN1dGU7CkBAIC0xOTgsNyArMTk4LDcgQEAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURM
Vm9pZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07CiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVu
YW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6
OmNhbGxiYWNrV2l0aEFycmF5UGFyYW0odHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0
ZXJUeXBlIGFycmF5UGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6
OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0
aEFycmF5UGFyYW0odHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5
UGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4g
Q2FsbGJhY2tSZXN1bHRUeXBlOjpVbmFibGVUb0V4ZWN1dGU7CkBAIC0yMjUsNyArMjI1LDcgQEAg
Q2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07
CiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlw
ZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZVBhcmFtKHR5cGVuYW1lIElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFtLCB0eXBlbmFtZSBJRExET01TdHJpbmc6
OlBhcmFtZXRlclR5cGUgc3RyUGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRl
ZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxi
YWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKHR5cGVuYW1lIElETFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFt
LCB0eXBlbmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3RyUGFyYW0pCiB7CiAgICAg
aWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRU
eXBlOjpVbmFibGVUb0V4ZWN1dGU7CkBAIC0yNTMsNyArMjUzLDcgQEAgQ2FsbGJhY2tSZXN1bHQ8
dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07CiB9CiAKLUNhbGxiYWNr
UmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJh
Y2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QodHlwZW5hbWUgSURMSW50ZXJmYWNl
PERPTVN0cmluZ0xpc3Q+OjpQYXJhbWV0ZXJUeXBlIGxpc3RQYXJhbSkKK0NhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8
RE9NU3RyaW5nTGlzdD46OlBhcmFtZXRlclR5cGUgbGlzdFBhcmFtKQogewogICAgIGlmICghY2Fu
SW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5h
YmxlVG9FeGVjdXRlOwpAQCAtMjgwLDcgKzI4MCw3IEBAIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1l
IElETFZvaWQ6OkltcGxlbWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFja1Jlc3VsdDx0
eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJm
YWNlOjpjYWxsYmFja1dpdGhCb29sZWFuKHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5
cGUgYm9vbFBhcmFtKQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBs
ZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhCb29s
ZWFuKHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUgYm9vbFBhcmFtKQogewogICAg
IGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0
VHlwZTo6VW5hYmxlVG9FeGVjdXRlOwpAQCAtMzA3LDcgKzMwNyw3IEBAIENhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFj
a1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxi
YWNrSW50ZXJmYWNlOjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25n
OjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2Rl
Pjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9kZVBhcmFtKQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUg
SURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNl
OjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJU
eXBlIGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVy
VHlwZSB0ZXN0Tm9kZVBhcmFtKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAg
ICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVjdXRlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50
ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmgJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVy
ZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMyArNDUsMTMgQEAgcHVibGljOgogICAgIHN0
YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6SlNH
bG9iYWxPYmplY3QqKTsKIAogICAgIC8vIEZ1bmN0aW9ucwotICAgIENhbGxiYWNrUmVzdWx0PHR5
cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoTm9QYXJhbSgp
IG92ZXJyaWRlOwotICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVu
dGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoQXJyYXlQYXJhbSh0eXBlbmFtZSBJRExGbG9hdDMyQXJy
YXk6OlBhcmFtZXRlclR5cGUgYXJyYXlQYXJhbSkgb3ZlcnJpZGU7Ci0gICAgQ2FsbGJhY2tSZXN1
bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1dpdGhTZXJp
YWxpemVkU2NyaXB0VmFsdWVQYXJhbSh0eXBlbmFtZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUg
SURMRE9NU3RyaW5nOjpQYXJhbWV0ZXJUeXBlIHN0clBhcmFtKSBvdmVycmlkZTsKKyAgICBDYWxs
YmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2Fs
bGJhY2tXaXRoTm9QYXJhbSgpIG92ZXJyaWRlOworICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1l
IElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1dpdGhBcnJheVBhcmFt
KHR5cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtKSBvdmVy
cmlkZTsKKyAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVu
dGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0odHlwZW5h
bWUgSURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT46OlBhcmFt
ZXRlclR5cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0cmluZzo6UGFyYW1ldGVyVHlwZSBz
dHJQYXJhbSkgb3ZlcnJpZGU7CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMTG9uZzo6
SW1wbGVtZW50YXRpb25UeXBlPiBjdXN0b21DYWxsYmFjayh0eXBlbmFtZSBJRExJbnRlcmZhY2U8
VGVzdE9iaj46OlBhcmFtZXRlclR5cGUgdGVzdE9ialBhcmFtLCB0eXBlbmFtZSBJRExJbnRlcmZh
Y2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0pIG92ZXJyaWRlOwotICAg
IENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2Fs
bGJhY2tXaXRoU3RyaW5nTGlzdCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8RE9NU3RyaW5nTGlzdD46
OlBhcmFtZXRlclR5cGUgbGlzdFBhcmFtKSBvdmVycmlkZTsKLSAgICBDYWxsYmFja1Jlc3VsdDx0
eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aEJvb2xlYW4o
dHlwZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0pIG92ZXJyaWRlOwot
ICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4g
Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3ModHlwZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlw
ZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5
cGUgdGVzdE5vZGVQYXJhbSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUg
SURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aFN0cmluZ0xpc3Qo
dHlwZW5hbWUgSURMSW50ZXJmYWNlPERPTVN0cmluZ0xpc3Q+OjpQYXJhbWV0ZXJUeXBlIGxpc3RQ
YXJhbSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVk
OjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aEJvb2xlYW4odHlwZW5hbWUgSURMQm9v
bGVhbjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0pIG92ZXJyaWRlOworICAgIENhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1Jl
cXVpcmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJh
bSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9k
ZVBhcmFtKSBvdmVycmlkZTsKICAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExET01TdHJp
bmc6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoQVJldHVyblZhbHVlKCkgb3ZlcnJp
ZGU7CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMRE9NU3RyaW5nOjpJbXBsZW1lbnRh
dGlvblR5cGU+IGNhbGxiYWNrVGhhdFJldGhyb3dzRXhjZXB0aW9ucyh0eXBlbmFtZSBJRExFbnVt
ZXJhdGlvbjxUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OkVudW0+OjpQYXJhbWV0ZXJUeXBlIGVudW1Q
YXJhbSkgb3ZlcnJpZGU7CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMRE9NU3RyaW5n
OjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrVGhhdFNraXBzSW52b2tlQ2hlY2sodHlwZW5h
bWUgSURMRGljdGlvbmFyeTxUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OkRpY3Rpb25hcnk+OjpQYXJh
bWV0ZXJUeXBlIGRpY3Rpb25hcnlQYXJhbSkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJs
ZS5jcHAJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Nyw3ICsx
OTcsNyBAQCBib29sIHNldEpTVGVzdEl0ZXJhYmxlQ29uc3RydWN0b3IoSlNHbG9iCiAKIHN0cnVj
dCBUZXN0SXRlcmFibGVJdGVyYXRvclRyYWl0cyB7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBKU0RP
TUl0ZXJhdG9yVHlwZSB0eXBlID0gSlNET01JdGVyYXRvclR5cGU6OlNldDsKLSAgICB1c2luZyBL
ZXlUeXBlID0gdm9pZDsKKyAgICB1c2luZyBLZXlUeXBlID0gdW5kZWZpbmVkOwogICAgIHVzaW5n
IFZhbHVlVHlwZSA9IElETEludGVyZmFjZTxUZXN0Tm9kZT47CiB9OwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUu
Y3BwCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw3ICszODUsNyBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE5vZGVQCiAKIHN0cnVjdCBUZXN0
Tm9kZUl0ZXJhdG9yVHJhaXRzIHsKICAgICBzdGF0aWMgY29uc3RleHByIEpTRE9NSXRlcmF0b3JU
eXBlIHR5cGUgPSBKU0RPTUl0ZXJhdG9yVHlwZTo6U2V0OwotICAgIHVzaW5nIEtleVR5cGUgPSB2
b2lkOworICAgIHVzaW5nIEtleVR5cGUgPSB1bmRlZmluZWQ7CiAgICAgdXNpbmcgVmFsdWVUeXBl
ID0gSURMSW50ZXJmYWNlPFRlc3ROb2RlPjsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzNSw4ICsxNDM1LDggQEAgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdAogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUp
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25UZXN0RmVhdHVyZUdldFNlY3JldEJvb2xlYW4oSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6Q2FsbEZyYW1lKik7CiAjZW5kaWYKLUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2QoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6Q2FsbEZyYW1lKik7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3MoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2QoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJn
cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2Qo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25CeXRlTWV0aG9kV2l0
aEFyZ3MoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PY3RldE1l
dGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKQEAgLTIxNzEsOCAr
MjE3MSw4IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm8KICNlbHNl
CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgotICAgIHsgInZv
aWRNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZl
RnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZCksIChpbnRwdHJf
dCkgKDApIH0gfSwKLSAgICB7ICJ2b2lkTWV0aG9kV2l0aEFyZ3MiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzKSwgKGludHB0cl90KSAoMykgfSB9LAorICAgIHsg
InVuZGVmaW5lZE1ldGhvZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxS
YXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRo
b2QpLCAoaW50cHRyX3QpICgwKSB9IH0sCisgICAgeyAidW5kZWZpbmVkTWV0aG9kV2l0aEFyZ3Mi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+
KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kV2l0aEFyZ3MpLCAoaW50
cHRyX3QpICgzKSB9IH0sCiAgICAgeyAiYnl0ZU1ldGhvZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25CeXRlTWV0aG9kKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgImJ5dGVNZXRob2RX
aXRoQXJncyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25CeXRlTWV0aG9kV2l0aEFyZ3MpLCAo
aW50cHRyX3QpICgzKSB9IH0sCiAgICAgeyAib2N0ZXRNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uT2N0ZXRNZXRob2QpLCAoaW50cHRyX3QpICgwKSB9IH0sCkBAIC0yNDc4LDcgKzI0
NzgsNyBAQCB2b2lkIEpTVGVzdE9ialByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oCiAgICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2xvYmFsT2JqZWN0
KCktPmFycmF5UHJvdG90eXBlKCktPmdldERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVp
bHRpbk5hbWVzKCkudmFsdWVzUHJpdmF0ZU5hbWUoKSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIGFkZFZhbHVlSXRlcmFibGVN
ZXRob2RzKCpnbG9iYWxPYmplY3QoKSwgKnRoaXMpOwogICAgIEpTT2JqZWN0JiB1bnNjb3BhYmxl
cyA9ICpjb25zdHJ1Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QoKS0+dm0oKSwgZ2xvYmFsT2Jq
ZWN0KCktPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7Ci0gICAgdW5zY29wYWJsZXMu
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidm9pZE1ldGhvZCIpLCBq
c0Jvb2xlYW4odHJ1ZSkpOworICAgIHVuc2NvcGFibGVzLnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgInVuZGVmaW5lZE1ldGhvZCIpLCBqc0Jvb2xlYW4odHJ1ZSkpOwog
ICAgIHVuc2NvcGFibGVzLnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
InNob3J0QXR0ciIpLCBqc0Jvb2xlYW4odHJ1ZSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT51bnNjb3BhYmxlc1N5bWJvbCwgJnVuc2NvcGFi
bGVzLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKICAgICBKU0NfVE9fU1RSSU5HX1RBR19XSVRIT1VUX1RSQU5TSVRJ
T04oKTsKQEAgLTUxNTcsNyArNTE1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RP
YmpUZXN0UmVhZE8KICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmpl
Y3QpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAg
IGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKLSAgICBSRUxFQVNFX0FORF9SRVRV
Uk4odGhyb3dTY29wZSwgKHRvSlM8SURMUHJvbWlzZTxJRExWb2lkPj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwudGVzdFJl
YWRPbmx5Vm9pZFByb21pc2VBdHRyaWJ1dGUoKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4o
dGhyb3dTY29wZSwgKHRvSlM8SURMUHJvbWlzZTxJRExVbmRlZmluZWQ+PihsZXhpY2FsR2xvYmFs
T2JqZWN0LCAqdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC50ZXN0
UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZSgpKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3RPYmpUZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZShKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpCkBAIC01NzU1LDcgKzU3NTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdE9ialByCiAKICNlbmRpZgogCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kQm9keShKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBl
bmFtZSBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykK
K3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvblVuZGVmaW5lZE1ldGhvZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9u
PEpTVGVzdE9iaj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCiB7CiAgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtNTc2MywxNiArNTc2MywxNiBAQCBzdGF0aWMg
aW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxG
cmFtZSk7CiAgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICB0aHJv
d1Njb3BlLnJlbGVhc2UoKTsKLSAgICBpbXBsLnZvaWRNZXRob2QoKTsKKyAgICBpbXBsLnVuZGVm
aW5lZE1ldGhvZCgpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Wb2lkTWV0aG9kKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2QoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQogewotICAgIHJldHVybiBJRExPcGVy
YXRpb248SlNUZXN0T2JqPjo6Y2FsbDxqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRo
b2RCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgInZvaWRNZXRob2QiKTsK
KyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNh
bGxGcmFtZSwgInVuZGVmaW5lZE1ldGhvZCIpOwogfQogCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5j
b2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3NC
b2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZy
YW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpDbGFzc1Bh
cmFtZXRlciBjYXN0ZWRUaGlzKQorc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kV2l0aEFyZ3NCb2R5KEpTQzo6
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxs
RnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRlciBj
YXN0ZWRUaGlzKQogewogICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAg
LTU3ODgsMTYgKzU3ODgsMTYgQEAgc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpz
VGVzdAogICAgIGF1dG8gc3RyQXJnID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUg
YXJndW1lbnQyID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgyKTsKLSAgICBhdXRvIG9i
akFyZyA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgYXJndW1lbnQyLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJv
cihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMiwgIm9iakFyZyIsICJUZXN0T2JqZWN0Iiwg
InZvaWRNZXRob2RXaXRoQXJncyIsICJUZXN0T2JqIik7IH0pOworICAgIGF1dG8gb2JqQXJnID0g
Y29udmVydDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1
bWVudDIudmFsdWUoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsIHNjb3BlLCAyLCAib2JqQXJnIiwgIlRlc3RPYmplY3QiLCAidW5kZWZp
bmVkTWV0aG9kV2l0aEFyZ3MiLCAiVGVzdE9iaiIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIHRocm93U2NvcGUucmVsZWFz
ZSgpOwotICAgIGltcGwudm9pZE1ldGhvZFdpdGhBcmdzKFdURk1vdmUobG9uZ0FyZyksIFdURk1v
dmUoc3RyQXJnKSwgKm9iakFyZyk7CisgICAgaW1wbC51bmRlZmluZWRNZXRob2RXaXRoQXJncyhX
VEZNb3ZlKGxvbmdBcmcpLCBXVEZNb3ZlKHN0ckFyZyksICpvYmpBcmcpOwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3MoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQor
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVu
ZGVmaW5lZE1ldGhvZFdpdGhBcmdzKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVz
dE9iaj46OmNhbGw8anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kV2l0aEFyZ3NC
b2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgInZvaWRNZXRob2RXaXRoQXJn
cyIpOworICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Y2FsbDxqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzQm9keT4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYWxsRnJhbWUsICJ1bmRlZmluZWRNZXRob2RXaXRoQXJncyIpOwogfQogCiBz
dGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25CeXRlTWV0aG9kQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0
T2JqPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKQEAgLTczNjgsNyArNzM2OCw3IEBAIHN0
YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3QKICAgICBVTlVTRURfUEFSQU0o
Y2FsbEZyYW1lKTsKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwogICAg
IEVuc3VyZVN0aWxsQWxpdmVTY29wZSBhcmd1bWVudDAgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OwotICAgIGF1dG8gcHJvbWlzZSA9IGFyZ3VtZW50MC52YWx1ZSgpLmlzVW5kZWZpbmVkKCkgPyBu
dWxscHRyIDogY29udmVydDxJRExQcm9taXNlPElETFZvaWQ+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgYXJndW1lbnQwLnZhbHVlKCkpOworICAgIGF1dG8gcHJvbWlzZSA9IGFyZ3VtZW50MC52YWx1
ZSgpLmlzVW5kZWZpbmVkKCkgPyBudWxscHRyIDogY29udmVydDxJRExQcm9taXNlPElETFVuZGVm
aW5lZD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICB0aHJv
d1Njb3BlLnJlbGVhc2UoKTsKICAgICBpbXBsLm1ldGhvZFdpdGhPcHRpb25hbFByb21pc2UoV1RG
TW92ZShwcm9taXNlKSk7CkBAIC05MDY4LDcgKzkwNjgsNyBAQCBzdGF0aWMgaW5saW5lIEpTQzo6
RW5jb2RlZEpTVmFsdWUganNUZXN0CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAg
IFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwogICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53
cmFwcGVkKCk7Ci0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsIEpTVmFsdWU6OmVu
Y29kZSh0b0pTPElETFByb21pc2U8SURMVm9pZD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIGltcGwudGVzdFJldHVybnNPd25Qcm9taXNlQW5kUHJv
bWlzZVByb3h5RnVuY3Rpb24oKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29w
ZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMUHJvbWlzZTxJRExVbmRlZmluZWQ+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBpbXBsLnRlc3RSZXR1
cm5zT3duUHJvbWlzZUFuZFByb21pc2VQcm94eUZ1bmN0aW9uKCkpKSk7CiB9CiAKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25UZXN0UmV0dXJu
c093blByb21pc2VBbmRQcm9taXNlUHJveHlGdW5jdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RWb2lkQ2FsbGJhY2tGdW5j
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgSlNUZXN0Vm9pZENhbGxi
YWNrRnVuY3Rpb246On5KU1Rlc3RWb2lkQwogI2VuZGlmCiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5
cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Vm9pZENhbGxiYWNrRnVu
Y3Rpb246OmhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlw
ZSBhcnJheVBhcmFtLCB0eXBlbmFtZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3Ry
aW5nOjpQYXJhbWV0ZXJUeXBlIHN0ckFyZywgdHlwZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVy
VHlwZSBib29sUGFyYW0sIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ1BhcmFt
LCB0eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2Rl
UGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0
aW9uVHlwZT4gSlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb246OmhhbmRsZUV2ZW50KHR5cGVuYW1l
IElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtLCB0eXBlbmFtZSBJRExT
ZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlw
ZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3RyaW5nOjpQYXJhbWV0ZXJUeXBlIHN0ckFyZywg
dHlwZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0sIHR5cGVuYW1lIElE
TExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ1BhcmFtLCB0eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVz
dE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZv
a2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRUeXBlOjpVbmFibGVU
b0V4ZWN1dGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uaAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcg
KzQyLDcgQEAgcHVibGljOgogICAgIEpTQ2FsbGJhY2tEYXRhU3Ryb25nKiBjYWxsYmFja0RhdGEo
KSB7IHJldHVybiBtX2RhdGE7IH0KIAogICAgIC8vIEZ1bmN0aW9ucwotICAgIENhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gaGFuZGxlRXZlbnQodHlw
ZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5UGFyYW0sIHR5cGVuYW1l
IElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0
ZXJUeXBlIHNyelBhcmFtLCB0eXBlbmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3Ry
QXJnLCB0eXBlbmFtZSBJRExCb29sZWFuOjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSwgdHlwZW5h
bWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFj
ZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5vZGVQYXJhbSkgb3ZlcnJpZGU7CisgICAg
Q2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+
IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJh
eVBhcmFtLCB0eXBlbmFtZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPjo6UGFyYW1ldGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3RyaW5nOjpQ
YXJhbWV0ZXJUeXBlIHN0ckFyZywgdHlwZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVyVHlwZSBi
b29sUGFyYW0sIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ1BhcmFtLCB0eXBl
bmFtZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0p
IG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEpTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uKEpT
Qzo6SlNPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCopOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0tleWZyYW1lc1J1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NLZXlmcmFtZXNSdWxlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0NTU0tleWZyYW1lc1J1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5
IEBAIGludGVyZmFjZSBDU1NLZXlmcmFtZXNSdWxlIDogQ1NTUnVsZSB7CiAgICAgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NS
dWxlczsKICAgICAKLSAgICB2b2lkIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUpOwotICAgIHZv
aWQgYXBwZW5kUnVsZShET01TdHJpbmcgcnVsZSk7Ci0gICAgdm9pZCBkZWxldGVSdWxlKERPTVN0
cmluZyBrZXkpOworICAgIHVuZGVmaW5lZCBpbnNlcnRSdWxlKERPTVN0cmluZyBydWxlKTsKKyAg
ICB1bmRlZmluZWQgYXBwZW5kUnVsZShET01TdHJpbmcgcnVsZSk7CisgICAgdW5kZWZpbmVkIGRl
bGV0ZVJ1bGUoRE9NU3RyaW5nIGtleSk7CiAgICAgQ1NTS2V5ZnJhbWVSdWxlPyBmaW5kUnVsZShE
T01TdHJpbmcga2V5KTsKIAogICAgIGdldHRlciBDU1NLZXlmcmFtZVJ1bGUgKHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yMyw1ICsyMyw1IEBAIGludGVyZmFjZSBDU1NNZWRpYVJ1bGUgOiBDU1NSdWxl
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVsZXM7CiAKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShvcHRpb25hbCBET01T
dHJpbmcgcnVsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0g
MCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZVJ1bGUob3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBpbmRleCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IGRlbGV0ZVJ1bGUob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCA9IDApOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludENhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludENhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNCArMjcsNCBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTUGFpbnRpbmdBUEks
CiAgICAgQ29uZGl0aW9uYWw9Q1NTX1BBSU5USU5HX0FQSSwKICAgICBDYWxsYmFja1RoaXNPYmpl
Y3Q9YW55Ci1dIGNhbGxiYWNrIENTU1BhaW50Q2FsbGJhY2sgPSB2b2lkIChQYWludFJlbmRlcmlu
Z0NvbnRleHQyRCBjb250ZXh0LCBDU1NQYWludFNpemUgc2l6ZSwgU3R5bGVQcm9wZXJ0eU1hcFJl
YWRPbmx5IHN0eWxlTWFwLCBzZXF1ZW5jZTxVU1ZTdHJpbmc+IGFyZ3VtZW50cyk7CitdIGNhbGxi
YWNrIENTU1BhaW50Q2FsbGJhY2sgPSB1bmRlZmluZWQgKFBhaW50UmVuZGVyaW5nQ29udGV4dDJE
IGNvbnRleHQsIENTU1BhaW50U2l6ZSBzaXplLCBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkgc3R5
bGVNYXAsIHNlcXVlbmNlPFVTVlN0cmluZz4gYXJndW1lbnRzKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNyArMzMsNyBAQAogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIERP
TVN0cmluZyByZW1vdmVQcm9wZXJ0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKICAgICBET01T
dHJpbmc/IGdldFByb3BlcnR5UHJpb3JpdHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CiAKLSAg
ICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFByb3BlcnR5KERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZh
bHVlLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBwcmlvcml0
eSA9ICIiKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgdmFsdWUsIG9wdGlvbmFsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10g
RE9NU3RyaW5nIHByaW9yaXR5ID0gIiIpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogICAgIGdldHRlciBET01TdHJpbmcgaXRlbSh1bnNpZ25lZCBsb25n
IGluZGV4KTsKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAvLyBwcmVmaXhlcyBmb3IgdGhpcyB0byBi
ZSBwcmFjdGljYWwuIElmIHdlIHJlbW92ZSBsZWdhY3kgYWxpYXNlcywgd2Ugc2hvdWxkCiAgICAg
Ly8gcmVjb25zaWRlciB0aGlzIGRlY2lzaW9uLgogICAgIGdldHRlciAoRE9NU3RyaW5nIG9yIGRv
dWJsZSkgKERPTVN0cmluZyBuYW1lKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0
aW9uLCBDYWxsTmFtZWRTZXR0ZXJPbmx5Rm9yU3VwcG9ydGVkUHJvcGVydGllc10gc2V0dGVyIHZv
aWQgKERPTVN0cmluZyBuYW1lLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2
YWx1ZSk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbE5hbWVkU2V0
dGVyT25seUZvclN1cHBvcnRlZFByb3BlcnRpZXNdIHNldHRlciB1bmRlZmluZWQgKERPTVN0cmlu
ZyBuYW1lLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1ZSk7CiAKICAg
ICAvLyBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCBhbmQgd2Ugd291bGQgbGlrZSB0byBkcm9w
IHN1cHBvcnQgZm9yIGl0IHNvbWVkYXkKICAgICBEZXByZWNhdGVkQ1NTT01WYWx1ZT8gZ2V0UHJv
cGVydHlDU1NWYWx1ZShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTaGVldC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTEgKzI0LDExIEBA
IGludGVyZmFjZSBDU1NTdHlsZVNoZWV0IDogU3R5bGVTaGVldCB7CiAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShET01TdHJpbmcgcnVsZSwgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBpbmRleCA9IDApOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKIAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBydWxlczsKIAogICAgIC8vIFRoZSBmb2xsb3dp
bmcgdHdvIG9wZXJhdGlvbnMgYXJlIFdlYktpdC1zcGVjaWZpYy4KICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIGxvbmcgYWRkUnVsZShvcHRpb25hbCBET01TdHJpbmcgc2VsZWN0b3IgPSAidW5kZWZp
bmVkIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0eWxlID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIHVu
c2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZW1vdmVS
dWxlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCByZW1vdmVSdWxlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXgg
PSAwKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDUgKzMxLDUgQEAgaW50ZXJmYWNlIENTU1N1cHBvcnRzUnVs
ZSA6IENTU1J1bGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgY29uZGl0aW9u
VGV4dDsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBpbnNlcnRSdWxl
KERPTVN0cmluZyBydWxlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBs
b25nIGluZGV4KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJD
dXN0b21Qcm9wZXJ0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RPTUNT
U1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDUgKzI2LDUgQEAKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPUNTU0N1c3RvbVBy
b3BlcnRpZXNBbmRWYWx1ZXMKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9NQ1NTTmFtZXNwYWNlIHsK
LSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBzdGF0aWMgdm9pZCBy
ZWdpc3RlclByb3BlcnR5KERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvciBkZXNjcmlwdG9y
KTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBzdGF0aWMgdW5k
ZWZpbmVkIHJlZ2lzdGVyUHJvcGVydHkoRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yIGRl
c2NyaXB0b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01Q
cmltaXRpdmVWYWx1ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNTUsMTAgKzU1LDEwIEBACiAgICAgCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0RmxvYXRWYWx1ZShvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSA9IDAsIG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBmbG9hdFZhbHVlID0gTmFOKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGbG9hdFZhbHVlKG9wdGlvbmFsIHVuc2lnbmVkIHNo
b3J0IHVuaXRUeXBlID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGZsb2F0VmFsdWUg
PSBOYU4pOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5yZXN0cmljdGVkIGZsb2F0IGdldEZs
b2F0VmFsdWUob3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgdW5pdFR5cGUgPSAwKTsKIAotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdHJpbmdWYWx1ZShvcHRpb25hbCB1bnNpZ25lZCBz
aG9ydCBzdHJpbmdUeXBlID0gMCwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0cmluZ1ZhbHVlKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTdHJpbmdWYWx1ZShvcHRpb25hbCB1
bnNpZ25lZCBzaG9ydCBzdHJpbmdUeXBlID0gMCwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0cmluZ1Zh
bHVlKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBnZXRTdHJpbmdWYWx1ZSgp
OwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBEZXByZWNhdGVkQ1NTT01Db3VudGVyIGdldENv
dW50ZXJWYWx1ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIGVudW0gRm9udEZhY2VTZXRMb2FkU3RhdHVzIHsKIAog
ICAgIEZvbnRGYWNlU2V0IGFkZChGb250RmFjZSBmb250KTsKICAgICBbSW1wbGVtZW50ZWRBcz1y
ZW1vdmVdIGJvb2xlYW4gZGVsZXRlKEZvbnRGYWNlIGZvbnQpOwotICAgIHZvaWQgY2xlYXIoKTsK
KyAgICB1bmRlZmluZWQgY2xlYXIoKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25s
b2FkaW5nOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25sb2FkaW5nZG9uZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNiBAQAog
CiAgICAgZ2V0dGVyIERPTVN0cmluZz8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKIAotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVNZWRpdW0oRE9NU3RyaW5nIG9sZE1lZGl1
bSk7Ci0gICAgdm9pZCBhcHBlbmRNZWRpdW0oRE9NU3RyaW5nIG5ld01lZGl1bSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlTWVkaXVtKERPTVN0cmluZyBvbGRNZWRp
dW0pOworICAgIHVuZGVmaW5lZCBhcHBlbmRNZWRpdW0oRE9NU3RyaW5nIG5ld01lZGl1bSk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yMyw3ICsyMyw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBt
ZWRpYTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtYXRjaGVzOwogCi0gICAgdm9p
ZCBhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyPyBsaXN0ZW5lcik7Ci0gICAgdm9pZCByZW1vdmVM
aXN0ZW5lcihFdmVudExpc3RlbmVyPyBsaXN0ZW5lcik7CisgICAgdW5kZWZpbmVkIGFkZExpc3Rl
bmVyKEV2ZW50TGlzdGVuZXI/IGxpc3RlbmVyKTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlTGlzdGVu
ZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25jaGFuZ2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXgu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBACiAgICAgYXR0cmlidXRlIHVucmVz
dHJpY3RlZCBkb3VibGUgbTQ0OwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFz
IGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRNYXRyaXhWYWx1ZShvcHRpb25hbCBET01TdHJpbmcgc3RyaW5nID0gInVuZGVm
aW5lZCIpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1hdHJpeFZhbHVl
KG9wdGlvbmFsIERPTVN0cmluZyBzdHJpbmcgPSAidW5kZWZpbmVkIik7CiAgICAgCiAgICAgLy8g
TXVsdGlwbHkgdGhpcyBtYXRyaXggYnkgc2Vjb25kTWF0cml4LCBvbiB0aGUgcmlnaHQgKHJlc3Vs
dCA9IHRoaXMgKiBzZWNvbmRNYXRyaXgpCiAgICAgV2ViS2l0Q1NTTWF0cml4IG11bHRpcGx5KG9w
dGlvbmFsIFdlYktpdENTU01hdHJpeD8gc2Vjb25kTWF0cml4ID0gbnVsbCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vQWJvcnRBbGdvcml0aG0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9BYm9ydEFsZ29yaXRobS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9BYm9ydEFsZ29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDQg
KzI0LDQgQEAKICAqLwogCiBbCi1dIGNhbGxiYWNrIEFib3J0QWxnb3JpdGhtID0gdm9pZCAoKTsK
K10gY2FsbGJhY2sgQWJvcnRBbGdvcml0aG0gPSB1bmRlZmluZWQgKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vQWJvcnRDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vQWJvcnRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDUg
KzMyLDUgQEAKIAogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQWJvcnRTaWdu
YWwgc2lnbmFsOwogCi0gICAgdm9pZCBhYm9ydCgpOworICAgIHVuZGVmaW5lZCBhYm9ydCgpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0U2lnbmFsLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0U2lnbmFsLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNyBAQAogICAgIFByaXZhdGVJZGVudGlmaWVyLAogICAgIFB1YmxpY0lkZW50aWZp
ZXIKIF0gaW50ZXJmYWNlIEFib3J0U2lnbmFsIDogRXZlbnRUYXJnZXQgewotICAgIFsgUHJpdmF0
ZUlkZW50aWZpZXIgXSBzdGF0aWMgdm9pZCB3aGVuU2lnbmFsQWJvcnRlZChBYm9ydFNpZ25hbCBv
YmplY3QsIEFib3J0QWxnb3JpdGhtIGFsZ29yaXRobSk7CisgICAgWyBQcml2YXRlSWRlbnRpZmll
ciBdIHN0YXRpYyB1bmRlZmluZWQgd2hlblNpZ25hbEFib3J0ZWQoQWJvcnRTaWduYWwgb2JqZWN0
LCBBYm9ydEFsZ29yaXRobSBhbGdvcml0aG0pOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gYWJvcnRlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIx
LDEwICsyMSwxMCBAQCBpbnRlcmZhY2UgQ2hhcmFjdGVyRGF0YSA6IE5vZGUgewogICAgIGF0dHJp
YnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBkYXRhOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVN0cmluZyBzdWJzdHJpbmdEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25l
ZCBsb25nIGNvdW50KTsKLSAgICB2b2lkIGFwcGVuZERhdGEoRE9NU3RyaW5nIGRhdGEpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnREYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0
LCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZURh
dGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNlRGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5z
aWduZWQgbG9uZyBjb3VudCwgRE9NU3RyaW5nIGRhdGEpOworICAgIHVuZGVmaW5lZCBhcHBlbmRE
YXRhKERPTVN0cmluZyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBp
bnNlcnREYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBET01TdHJpbmcgZGF0YSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlRGF0YSh1bnNpZ25lZCBsb25nIG9mZnNl
dCwgdW5zaWduZWQgbG9uZyBjb3VudCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgcmVwbGFjZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQs
IERPTVN0cmluZyBkYXRhKTsKIH07CiAKIENoYXJhY3RlckRhdGEgaW1wbGVtZW50cyBDaGlsZE5v
ZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ2hpbGROb2RlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vQ2hpbGROb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDgg
KzIyLDggQEAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIENoaWxkTm9k
ZSB7Ci0gICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBiZWZvcmUoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7Ci0gICAgW0NFUmVhY3Rpb25z
LCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZnRlcigoTm9kZSBvciBET01T
dHJpbmcpLi4uIG5vZGVzKTsKLSAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93
RXhjZXB0aW9uXSB2b2lkIHJlcGxhY2VXaXRoKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMp
OwotICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
cmVtb3ZlKCk7CisgICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIGJlZm9yZSgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBb
Q0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWZ0
ZXIoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAgW0NFUmVhY3Rpb25zLCBVbnNj
b3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlcGxhY2VXaXRoKChOb2RlIG9y
IERPTVN0cmluZykuLi4gbm9kZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAgaW50ZXJmYWNlIENvbXBvc2l0aW9uRXZlbnQgOiBVSUV2ZW50IHsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRhdGE7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVu
ZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBp
bml0Q29tcG9zaXRpb25FdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZUFyZyA9ICJ1bmRlZmlu
ZWQiLAorICAgIHVuZGVmaW5lZCBpbml0Q29tcG9zaXRpb25FdmVudChvcHRpb25hbCBET01TdHJp
bmcgdHlwZUFyZyA9ICJ1bmRlZmluZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGVBcmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZUFyZyA9IGZhbHNlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXdBcmcg
PSBudWxsLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3Ry
eS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVt
ZW50UmVnaXN0cnkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw4IEBACiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBKU0dlbmVy
YXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgewot
ICAgIFtDRVJlYWN0aW9ucywgQ3VzdG9tXSB2b2lkIGRlZmluZShET01TdHJpbmcgbmFtZSwgRnVu
Y3Rpb24gY29uc3RydWN0b3IpOworICAgIFtDRVJlYWN0aW9ucywgQ3VzdG9tXSB1bmRlZmluZWQg
ZGVmaW5lKERPTVN0cmluZyBuYW1lLCBGdW5jdGlvbiBjb25zdHJ1Y3Rvcik7CiAgICAgYW55IGdl
dChET01TdHJpbmcgbmFtZSk7Ci0gICAgW0N1c3RvbSwgTWF5VGhyb3dFeGNlcHRpb24sIFJldHVy
bnNPd25Qcm9taXNlXSBQcm9taXNlPHZvaWQ+IHdoZW5EZWZpbmVkKERPTVN0cmluZyBuYW1lKTsK
LSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgdXBncmFkZShOb2RlIHJvb3QpOworICAgIFtDdXN0b20s
IE1heVRocm93RXhjZXB0aW9uLCBSZXR1cm5zT3duUHJvbWlzZV0gUHJvbWlzZTx1bmRlZmluZWQ+
IHdoZW5EZWZpbmVkKERPTVN0cmluZyBuYW1lKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5l
ZCB1cGdyYWRlKE5vZGUgcm9vdCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3Rv
bUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAKICAgICBbQ3VzdG9tR2V0dGVy
XSByZWFkb25seSBhdHRyaWJ1dGUgYW55IGRldGFpbDsKIAotICAgIHZvaWQgaW5pdEN1c3RvbUV2
ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwgb3B0
aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFsIGFueSBkZXRhaWwgPSBu
dWxsKTsKKyAgICB1bmRlZmluZWQgaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRp
b25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxl
ID0gZmFsc2UsIG9wdGlvbmFsIGFueSBkZXRhaWwgPSBudWxsKTsKIH07CiAKIGRpY3Rpb25hcnkg
Q3VzdG9tRXZlbnRJbml0IDogRXZlbnRJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9E
T01TdHJpbmdNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJp
bmdNYXAuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NU3Ry
aW5nTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogICAgIFNraXBWVGFi
bGVWYWxpZGF0aW9uLAogXSBpbnRlcmZhY2UgRE9NU3RyaW5nTWFwIHsKICAgICBnZXR0ZXIgRE9N
U3RyaW5nIChET01TdHJpbmcgbmFtZSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2Vw
dGlvbl0gc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwotICAg
IFtDRVJlYWN0aW9uc10gZGVsZXRlciB2b2lkIChET01TdHJpbmcgbmFtZSk7CisgICAgW0NFUmVh
Y3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5h
bWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW0NFUmVhY3Rpb25zXSBkZWxldGVyIHVuZGVmaW5l
ZCAoRE9NU3RyaW5nIG5hbWUpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RhdGFU
cmFuc2Zlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNm
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMiArMzcsMTIgQEAKICAgICAvLyBGSVhNRTog
aXRlbXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlzIHN1cHBvcnRlZC4KICAg
ICBbRW5hYmxlZEF0UnVudGltZT1EYXRhVHJhbnNmZXJJdGVtcywgQ2FsbFdpdGg9RG9jdW1lbnRd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRhVHJhbnNmZXJJdGVtTGlzdCBpdGVtczsKIAotICAgIHZv
aWQgc2V0RHJhZ0ltYWdlKEVsZW1lbnQ/IGltYWdlLCBsb25nIHgsIGxvbmcgeSk7IC8vIEZJWE1F
OiBFbGVtZW50IGFyZ3VtZW50IGlzIG5vdCBudWxsYWJsZSBpbiB0aGUgSFRNTCBzdGFuZGFyZC4K
KyAgICB1bmRlZmluZWQgc2V0RHJhZ0ltYWdlKEVsZW1lbnQ/IGltYWdlLCBsb25nIHgsIGxvbmcg
eSk7IC8vIEZJWE1FOiBFbGVtZW50IGFyZ3VtZW50IGlzIG5vdCBudWxsYWJsZSBpbiB0aGUgSFRN
TCBzdGFuZGFyZC4KIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJp
bmc+IHR5cGVzOwogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gRE9NU3RyaW5nIGdldERhdGEoRE9N
U3RyaW5nIGZvcm1hdCk7Ci0gICAgdm9pZCBzZXREYXRhKERPTVN0cmluZyBmb3JtYXQsIERPTVN0
cmluZyBkYXRhKTsKLSAgICB2b2lkIGNsZWFyRGF0YShvcHRpb25hbCBET01TdHJpbmcgZm9ybWF0
KTsKKyAgICB1bmRlZmluZWQgc2V0RGF0YShET01TdHJpbmcgZm9ybWF0LCBET01TdHJpbmcgZGF0
YSk7CisgICAgdW5kZWZpbmVkIGNsZWFyRGF0YShvcHRpb25hbCBET01TdHJpbmcgZm9ybWF0KTsK
ICAgICAvLyBGSVhNRTogZmlsZXMgc2hvdWxkIHVzZSBbU2FtZU9iamVjdF0gb25jZSB0aGF0IGlz
IHN1cHBvcnRlZC4KICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBG
aWxlTGlzdCBmaWxlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
SXRlbS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0
ZW0uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5z
ZmVySXRlbS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGtpbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyB0eXBlOwogCi0gICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIGdldEFzU3RyaW5nKFN0
cmluZ0NhbGxiYWNrPyBjYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmlu
ZWQgZ2V0QXNTdHJpbmcoU3RyaW5nQ2FsbGJhY2s/IGNhbGxiYWNrKTsKICAgICBGaWxlIGdldEFz
RmlsZSgpOwogCiAgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9lbnRyaWVzLWFwaS8jaHRt
bC1kYXRhCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIERhdGFUcmFuc2Zlckl0ZW0/IGFkZChET01TdHJpbmcgZGF0YSwgRE9NU3Ry
aW5nIHR5cGUpOwogICAgIERhdGFUcmFuc2Zlckl0ZW0/IGFkZChGaWxlIGZpbGUpOwogCi0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmUodW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAKLSAgICB2b2lkIGNsZWFyKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyKCk7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJvdGF0aW9u
UmF0ZT8gcm90YXRpb25SYXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQg
ZG91YmxlPyBpbnRlcnZhbDsKIAotICAgIHZvaWQgaW5pdERldmljZU1vdGlvbkV2ZW50KG9wdGlv
bmFsIERPTVN0cmluZyB0eXBlID0gIiIsCisgICAgdW5kZWZpbmVkIGluaXREZXZpY2VNb3Rpb25F
dmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICIiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEFjY2VsZXJhdGlvbj8gYWNj
ZWxlcmF0aW9uID0gbnVsbCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUs
NyBAQAogI2lmIGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPU19GQU1JTFkpICYmIFdURl9QTEFURk9S
TV9JT1NfRkFNSUxZCiAgICAgW0ltcGxlbWVudGVkQXM9Y29tcGFzc0hlYWRpbmddIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyB3ZWJraXRDb21wYXNzSGVhZGluZzsKICAg
ICBbSW1wbGVtZW50ZWRBcz1jb21wYXNzQWNjdXJhY3ldIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlPyB3ZWJraXRDb21wYXNzQWNjdXJhY3k7Ci0gICAgdm9pZCBpbml0RGV2
aWNlT3JpZW50YXRpb25FdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICIiLAorICAgIHVu
ZGVmaW5lZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlw
ZSA9ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9v
bGVhbiBidWJibGVzID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGU/IGFscGhhID0g
bnVsbCwKQEAgLTQ1LDcgKzQ1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGU/IGNvbXBhc3NBY2N1cmFjeSA9IG51bGwp
OwogI2Vsc2UKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbj8gYWJzb2x1dGU7Ci0gICAg
dm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9
ICIiLAorICAgIHVuZGVmaW5lZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChvcHRpb25hbCBE
T01TdHJpbmcgdHlwZSA9ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3Vi
bGU/IGFscGhhID0gbnVsbCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMTEzLDkgKzExMyw5IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1Nj
cmlwdEUKICAgICAvLyB0aGUgZXhpc3RpbmcgJ2luY3VtYmVudCBkb2N1bWVudCcgY29uY2VwdC4K
ICAgICBbQ0VSZWFjdGlvbnMsIENhbGxXaXRoPVJlc3BvbnNpYmxlRG9jdW1lbnQsIEltcGxlbWVu
dGVkQXM9b3BlbkZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlvbl0gRG9jdW1lbnQgb3Blbihv
cHRpb25hbCBET01TdHJpbmcgdW51c2VkMSwgb3B0aW9uYWwgRE9NU3RyaW5nIHVudXNlZDIpOyAv
LyBib3RoIGFyZ3VtZW50cyBhcmUgaWdub3JlZC4KICAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93
JkZpcnN0V2luZG93LCBJbXBsZW1lbnRlZEFzPW9wZW5Gb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNl
cHRpb25dIFdpbmRvd1Byb3h5IG9wZW4oVVNWU3RyaW5nIHVybCwgRE9NU3RyaW5nIG5hbWUsIERP
TVN0cmluZyBmZWF0dXJlcyk7Ci0gICAgW0NFUmVhY3Rpb25zLCBJbXBsZW1lbnRlZEFzPWNsb3Nl
Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsb3NlKCk7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBDYWxsV2l0aD1SZXNwb25zaWJsZURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCB3cml0ZShET01TdHJpbmcuLi4gdGV4dCk7Ci0gICAgW0NFUmVhY3Rpb25zLCBDYWxsV2l0
aD1SZXNwb25zaWJsZURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB3cml0ZWxuKERP
TVN0cmluZy4uLiB0ZXh0KTsKKyAgICBbQ0VSZWFjdGlvbnMsIEltcGxlbWVudGVkQXM9Y2xvc2VG
b3JCaW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjbG9zZSgpOworICAgIFtD
RVJlYWN0aW9ucywgQ2FsbFdpdGg9UmVzcG9uc2libGVEb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCB3cml0ZShET01TdHJpbmcuLi4gdGV4dCk7CisgICAgW0NFUmVhY3Rpb25z
LCBDYWxsV2l0aD1SZXNwb25zaWJsZURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHdyaXRlbG4oRE9NU3RyaW5nLi4uIHRleHQpOwogCiAgICAgLy8gVXNlciBpbnRlcmFjdGlv
bi4KICAgICBbSW1wbGVtZW50ZWRBcz13aW5kb3dQcm94eV0gcmVhZG9ubHkgYXR0cmlidXRlIFdp
bmRvd1Byb3h5PyBkZWZhdWx0VmlldzsKQEAgLTE0Nyw3ICsxNDcsNyBAQCB0eXBlZGVmIChIVE1M
U2NyaXB0RWxlbWVudCBvciBTVkdTY3JpcHRFCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIFBvaW50
ZXIgTG9jayBBUEkgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9wb2ludGVybG9jay8jZXh0ZW5zaW9u
cy10by10aGUtZG9jdW1lbnQtaW50ZXJmYWNlKS4KICAgICBbTm90RW51bWVyYWJsZSwgQ29uZGl0
aW9uYWw9UE9JTlRFUl9MT0NLXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucG9pbnRlcmxvY2tj
aGFuZ2U7IC8vIEZJWE1FOiBTaG91bGQgYmUgZW51bWVyYWJsZS4KICAgICBbTm90RW51bWVyYWJs
ZSwgQ29uZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucG9p
bnRlcmxvY2tlcnJvcjsgLy8gRklYTUU6IFNob3VsZCBiZSBlbnVtZXJhYmxlLgotICAgIFtDb25k
aXRpb25hbD1QT0lOVEVSX0xPQ0tdIHZvaWQgZXhpdFBvaW50ZXJMb2NrKCk7CisgICAgW0NvbmRp
dGlvbmFsPVBPSU5URVJfTE9DS10gdW5kZWZpbmVkIGV4aXRQb2ludGVyTG9jaygpOwogCiAgICAg
Ly8gRXh0ZW5zaW9ucyBmcm9tIENTUyBGb250IExvYWRpbmcgQVBJIChodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnQtbG9hZGluZy8jZm9udC1mYWNlLXNvdXJjZSkuCiAgICAgLy8gRklY
TUU6IFNob3VsZCBiZSBpbiBhIHNlcGFyYXRlIEZvbnRGYWNlU291cmNlIGludGVyZmFjZS4KQEAg
LTE4OCw5ICsxODgsOSBAQCB0eXBlZGVmIChIVE1MU2NyaXB0RWxlbWVudCBvciBTVkdTY3JpcHRF
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFuY2hvcnM7IC8qIFtTYW1l
T2JqZWN0XSAqLwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhcHBsZXRz
OyAvKiBbU2FtZU9iamVjdF0gKi8KIAotICAgIHZvaWQgY2xlYXIoKTsKLSAgICB2b2lkIGNhcHR1
cmVFdmVudHMoKTsKLSAgICB2b2lkIHJlbGVhc2VFdmVudHMoKTsKKyAgICB1bmRlZmluZWQgY2xl
YXIoKTsKKyAgICB1bmRlZmluZWQgY2FwdHVyZUV2ZW50cygpOworICAgIHVuZGVmaW5lZCByZWxl
YXNlRXZlbnRzKCk7CiAKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1M
QWxsQ29sbGVjdGlvbiBhbGw7IC8qIFtTYW1lT2JqZWN0XSAqLwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRGdWxsc2NyZWVuLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRGdWxsc2NyZWVuLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnVsbHNjcmVlbi5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDEzICszMiwxMyBAQAogICAgIC8vIEZJWE1FOiBTaG91bGQgcHJvYmFibHkgYmUgdW5wcmVm
aXhlZC4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRGdWxsc2NyZWVuRW5h
YmxlZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudD8gd2Via2l0RnVsbHNjcmVlbkVs
ZW1lbnQ7Ci0gICAgdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOworICAgIHVuZGVmaW5lZCB3
ZWJraXRFeGl0RnVsbHNjcmVlbigpOwogCiAgICAgLy8gTW96aWxsYSB2ZXJzaW9ucy4KICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRJc0Z1bGxTY3JlZW47CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0RnVsbFNjcmVlbktleWJvYXJkSW5wdXRBbGxvd2Vk
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IHdlYmtpdEN1cnJlbnRGdWxsU2NyZWVu
RWxlbWVudDsKLSAgICB2b2lkIHdlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKTsKKyAgICB1bmRlZmlu
ZWQgd2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpOwogCiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlOwogICAgIFtOb3RFbnVt
ZXJhYmxlXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0ZnVsbHNjcmVlbmVycm9yOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3RvcmFnZUFjY2Vzcy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3RvcmFnZUFjY2Vzcy5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nl
c3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAgICAgRW5hYmxlZEJ5U2V0
dGluZz1zdG9yYWdlQWNjZXNzQVBJCiBdIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKICAg
ICBQcm9taXNlPGJvb2w+IGhhc1N0b3JhZ2VBY2Nlc3MoKTsKLSAgICBQcm9taXNlPHZvaWQ+IHJl
cXVlc3RTdG9yYWdlQWNjZXNzKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHJlcXVlc3RTdG9y
YWdlQWNjZXNzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxMCArNDEsMTAgQEAKICAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGdldEF0dHJpYnV0ZU5h
bWVzKCk7CiAgICAgW0RPTUpJVD1SZWFkRE9NXSBET01TdHJpbmc/IGdldEF0dHJpYnV0ZShET01T
dHJpbmcgcXVhbGlmaWVkTmFtZSk7CiAgICAgRE9NU3RyaW5nPyBnZXRBdHRyaWJ1dGVOUyhET01T
dHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIGxvY2FsTmFtZSk7Ci0gICAgW0NFUmVhY3Rp
b25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRBdHRyaWJ1dGUoRE9NU3RyaW5nIHF1YWxp
ZmllZE5hbWUsIERPTVN0cmluZyB2YWx1ZSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRBdHRyaWJ1dGVOUyhET01TdHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9N
U3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0cmluZyB2YWx1ZSk7Ci0gICAgW0NFUmVhY3Rpb25z
XSB2b2lkIHJlbW92ZUF0dHJpYnV0ZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7Ci0gICAgW0NF
UmVhY3Rpb25zXSB2b2lkIHJlbW92ZUF0dHJpYnV0ZU5TKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJ
LCBET01TdHJpbmcgbG9jYWxOYW1lKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0QXR0cmlidXRlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCBET01T
dHJpbmcgdmFsdWUpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRBdHRyaWJ1dGVOUyhET01TdHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIHF1
YWxpZmllZE5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmlu
ZWQgcmVtb3ZlQXR0cmlidXRlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lKTsKKyAgICBbQ0VSZWFj
dGlvbnNdIHVuZGVmaW5lZCByZW1vdmVBdHRyaWJ1dGVOUyhET01TdHJpbmc/IG5hbWVzcGFjZVVS
SSwgRE9NU3RyaW5nIGxvY2FsTmFtZSk7CiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2Vw
dGlvbl0gYm9vbGVhbiB0b2dnbGVBdHRyaWJ1dGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIG9w
dGlvbmFsIGJvb2xlYW4gZm9yY2UpOwogICAgIGJvb2xlYW4gaGFzQXR0cmlidXRlKERPTVN0cmlu
ZyBxdWFsaWZpZWROYW1lKTsKICAgICBib29sZWFuIGhhc0F0dHJpYnV0ZU5TKERPTVN0cmluZz8g
bmFtZXNwYWNlVVJJLCBET01TdHJpbmcgbG9jYWxOYW1lKTsKQEAgLTY3LDE4ICs2NywxOCBAQAog
ICAgIEhUTUxDb2xsZWN0aW9uIGdldEVsZW1lbnRzQnlDbGFzc05hbWUoRE9NU3RyaW5nIG5hbWUp
OwogCiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gRWxlbWVudD8gaW5zZXJ0
QWRqYWNlbnRFbGVtZW50KERPTVN0cmluZyB3aGVyZSwgRWxlbWVudCBlbGVtZW50KTsgLy8gSGlz
dG9yaWNhbC4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0QWRqYWNlbnRUZXh0
KERPTVN0cmluZyB3aGVyZSwgRE9NU3RyaW5nIGRhdGEpOyAvLyBIaXN0b3JpY2FsLgorICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGluc2VydEFkamFjZW50VGV4dChET01TdHJpbmcg
d2hlcmUsIERPTVN0cmluZyBkYXRhKTsgLy8gSGlzdG9yaWNhbC4KIAogICAgIC8vIENTU09NLXZp
ZXcgZXh0ZW5zaW9ucyAoaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcvI2V4dGVu
c2lvbi10by10aGUtZWxlbWVudC1pbnRlcmZhY2UpLgogICAgIERPTVJlY3RMaXN0IGdldENsaWVu
dFJlY3RzKCk7CiAgICAgW05ld09iamVjdF0gRE9NUmVjdCBnZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICB2b2lkIHNjcm9sbEludG9WaWV3KG9wdGlvbmFsIChib29sZWFuIG9yIFNjcm9sbElu
dG9WaWV3T3B0aW9ucykgYXJnKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1zY3JvbGxUb10gdm9pZCBz
Y3JvbGwob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbnMpOwotICAgIFtJbXBsZW1lbnRl
ZEFzPXNjcm9sbFRvXSB2b2lkIHNjcm9sbCh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJp
Y3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxUbyhvcHRpb25hbCBTY3JvbGxUb09wdGlv
bnMgb3B0aW9ucyk7Ci0gICAgdm9pZCBzY3JvbGxUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVu
cmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxCeShvcHRpb25hbCBTY3JvbGxU
b09wdGlvbnMgb3B0aW9uKTsKLSAgICB2b2lkIHNjcm9sbEJ5KHVucmVzdHJpY3RlZCBkb3VibGUg
eCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsSW50b1ZpZXco
b3B0aW9uYWwgKGJvb2xlYW4gb3IgU2Nyb2xsSW50b1ZpZXdPcHRpb25zKSBhcmcpOworICAgIFtJ
bXBsZW1lbnRlZEFzPXNjcm9sbFRvXSB1bmRlZmluZWQgc2Nyb2xsKG9wdGlvbmFsIFNjcm9sbFRv
T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1zY3JvbGxUb10gdW5kZWZpbmVk
IHNjcm9sbCh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Cisg
ICAgdW5kZWZpbmVkIHNjcm9sbFRvKG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb25zKTsK
KyAgICB1bmRlZmluZWQgc2Nyb2xsVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0
ZWQgZG91YmxlIHkpOworICAgIHVuZGVmaW5lZCBzY3JvbGxCeShvcHRpb25hbCBTY3JvbGxUb09w
dGlvbnMgb3B0aW9uKTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsQnkodW5yZXN0cmljdGVkIGRvdWJs
ZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOwogICAgIGF0dHJpYnV0ZSBsb25nIHNjcm9sbFRv
cDsgLy8gRklYTUUod2Via2l0Lm9yZy9iLzE4ODA0NSk6IHNob3VsZCBiZSB1bnJlc3RyaWN0ZWQg
ZG91YmxlLgogICAgIGF0dHJpYnV0ZSBsb25nIHNjcm9sbExlZnQ7IC8vIEZJWE1FKHdlYmtpdC5v
cmcvYi8xODgwNDUpOiBzaG91bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZS4KICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyBzY3JvbGxXaWR0aDsKQEAgLTkyLDIzICs5MiwyMyBAQAogICAgIC8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9ET00tUGFyc2luZy8jZXh0ZW5zaW9ucy10by10aGUtZWxl
bWVudC1pbnRlcmZhY2UKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lckhUTUw7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgb3V0ZXJIVE1MOwotICAg
IFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0QWRqYWNlbnRIVE1M
KERPTVN0cmluZyBwb3NpdGlvbiwgRE9NU3RyaW5nIHRleHQpOworICAgIFtDRVJlYWN0aW9ucywg
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnNlcnRBZGphY2VudEhUTUwoRE9NU3RyaW5n
IHBvc2l0aW9uLCBET01TdHJpbmcgdGV4dCk7CiAKICAgICAvLyBFeHRlbnNpb25zIGZyb20gRnVs
bCBTY3JlZW4gQVBJIChodHRwczovL2Z1bGxzY3JlZW4uc3BlYy53aGF0d2cub3JnLyNhcGkpLgog
ICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgYWRkIHVucHJlZml4ZWQgdmVyc2lvbnM/Ci0gICAgW0Nv
bmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJLCBFbmFibGVkQnlTZXR0aW5nPUZ1bGxTY3JlZW4sIElt
cGxlbWVudGVkQXM9d2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4sIERpc2FibGVkQnlRdWlyaz1zaG91
bGREaXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5dIHZvaWQgd2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4o
KTsgLy8gUHJlZml4ZWQgTW96aWxsYSB2ZXJzaW9uLgotICAgIFtDb25kaXRpb25hbD1GVUxMU0NS
RUVOX0FQSSwgRW5hYmxlZEJ5U2V0dGluZz1GdWxsU2NyZWVuLCBEaXNhYmxlZEJ5UXVpcms9c2hv
dWxkRGlzYWJsZUVsZW1lbnRGdWxsc2NyZWVuXSB2b2lkIHdlYmtpdFJlcXVlc3RGdWxsc2NyZWVu
KCk7IC8vIFByZWZpeGVkIFczQyB2ZXJzaW9uLgorICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVO
X0FQSSwgRW5hYmxlZEJ5U2V0dGluZz1GdWxsU2NyZWVuLCBJbXBsZW1lbnRlZEFzPXdlYmtpdFJl
cXVlc3RGdWxsc2NyZWVuLCBEaXNhYmxlZEJ5UXVpcms9c2hvdWxkRGlzYWJsZUVsZW1lbnRGdWxs
c2NyZWVuXSB1bmRlZmluZWQgd2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4oKTsgLy8gUHJlZml4ZWQg
TW96aWxsYSB2ZXJzaW9uLgorICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSSwgRW5hYmxl
ZEJ5U2V0dGluZz1GdWxsU2NyZWVuLCBEaXNhYmxlZEJ5UXVpcms9c2hvdWxkRGlzYWJsZUVsZW1l
bnRGdWxsc2NyZWVuXSB1bmRlZmluZWQgd2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTsgLy8gUHJl
Zml4ZWQgVzNDIHZlcnNpb24uCiAKICAgICAvLyBFeHRlbnNpb25zIGZyb20gUG9pbnRlciBFdmVu
dHMgQVBJIChodHRwczovL3czYy5naXRodWIuaW8vcG9pbnRlcmV2ZW50cy8jZXh0ZW5zaW9ucy10
by10aGUtZWxlbWVudC1pbnRlcmZhY2UpLgotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRQb2ludGVyQ2FwdHVyZShsb25nIHBvaW50ZXJJZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHJlbGVhc2VQb2ludGVyQ2FwdHVyZShsb25nIHBvaW50ZXJJZCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UG9pbnRlckNhcHR1cmUobG9uZyBwb2ludGVySWQp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbGVhc2VQb2ludGVyQ2FwdHVy
ZShsb25nIHBvaW50ZXJJZCk7CiAgICAgYm9vbGVhbiBoYXNQb2ludGVyQ2FwdHVyZShsb25nIHBv
aW50ZXJJZCk7CiAKICAgICAvLyBFeHRlbnNpb25zIGZyb20gUG9pbnRlciBMb2NrIEFQSSAoaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3BvaW50ZXJsb2NrLyNleHRlbnNpb25zLXRvLXRoZS1lbGVtZW50
LWludGVyZmFjZSkuCi0gICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10gdm9pZCByZXF1ZXN0
UG9pbnRlckxvY2soKTsKKyAgICBbQ29uZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSB1bmRlZmluZWQg
cmVxdWVzdFBvaW50ZXJMb2NrKCk7CiAKICAgICAvLyBOb24gc3RhbmRhcmQgQVBJIChodHRwczov
L3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTE3MTUyKS4KLSAgICB2b2lk
IHNjcm9sbEludG9WaWV3SWZOZWVkZWQob3B0aW9uYWwgYm9vbGVhbiBjZW50ZXJJZk5lZWRlZCA9
IHRydWUpOworICAgIHVuZGVmaW5lZCBzY3JvbGxJbnRvVmlld0lmTmVlZGVkKG9wdGlvbmFsIGJv
b2xlYW4gY2VudGVySWZOZWVkZWQgPSB0cnVlKTsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXIgZnJv
bSBTZWxlY3Rpb24gQVBJIChodHRwOi8vdzNjLmdpdGh1Yi5pby9zZWxlY3Rpb24tYXBpLyNleHRl
bnNpb25zLXRvLWdsb2JhbGV2ZW50aGFuZGxlcnMpLgogICAgIC8vIEZJWE1FOiBTaG91bGQgYmUg
bW92ZWQgdG8gR2xvYmFsRXZlbnRIYW5kbGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNDAsMjAgKzQwLDIwIEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3Rh
bXA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQlVCQkxJTkdfUEhBU0UgPSAzOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBldmVudFBoYXNlOwogCi0gICAgdm9pZCBz
dG9wUHJvcGFnYXRpb24oKTsKKyAgICB1bmRlZmluZWQgc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAg
YXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsQnViYmxlOyAvLyBoaXN0b3JpY2FsIGFsaWFzIG9mIC5z
dG9wUHJvcGFnYXRpb24uCi0gICAgdm9pZCBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKKyAg
ICB1bmRlZmluZWQgc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiBidWJibGVzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IGNhbmNlbGFibGU7Ci0gICAgdm9pZCBwcmV2ZW50RGVmYXVsdCgpOworICAgIHVuZGVmaW5lZCBw
cmV2ZW50RGVmYXVsdCgpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGRlZmF1bHRQ
cmV2ZW50ZWQ7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9U2hhZG93RE9NXSByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBjb21wb3NlZDsKIAogICAgIFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNUcnVzdGVkOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBJbXBsZW1lbnRlZEFzPXRpbWVTdGFtcEZvckJpbmRpbmdzXSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lU3RhbXA7CiAKLSAgICB2b2lkIGluaXRFdmVu
dChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlv
bmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlKTsgLy8gSGlzdG9yaWNhbC4KKyAgICB1bmRl
ZmluZWQgaW5pdEV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMg
PSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UpOyAvLyBIaXN0b3Jp
Y2FsLgogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucyB0aGF0IG1heSBnZXQgc3RhbmRhcmRpemVkICho
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvMzM0KS4KICAgICBbSW1wbGVtZW50
ZWRBcz10YXJnZXRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCBzcmNFbGVtZW50OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yMSw1ICsyMSw1IEBACiBbCiAgICAgTm9JbnRlcmZhY2VPYmplY3QKIF0gaW50ZXJmYWNlIEV2
ZW50TGlzdGVuZXIgewotICAgIHZvaWQgaGFuZGxlRXZlbnQoRXZlbnQgZXZlbnQpOworICAgIHVu
ZGVmaW5lZCBoYW5kbGVFdmVudChFdmVudCBldmVudCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw4IEBACiBdIGludGVy
ZmFjZSBFdmVudFRhcmdldCB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IGNvbnN0cnVjdG9yKCk7CiAKLSAgICBbSW1wbGVtZW50ZWRBcz1hZGRFdmVudExpc3RlbmVyRm9y
QmluZGluZ3NdIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHR5
cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1y
ZW1vdmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3NdIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihb
QXRvbVN0cmluZ10gRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRp
b25hbCAoRXZlbnRMaXN0ZW5lck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsK
KyAgICBbSW1wbGVtZW50ZWRBcz1hZGRFdmVudExpc3RlbmVyRm9yQmluZGluZ3NdIHVuZGVmaW5l
ZCBhZGRFdmVudExpc3RlbmVyKFtBdG9tU3RyaW5nXSBET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0
ZW5lcj8gY2FsbGJhY2ssIG9wdGlvbmFsIChBZGRFdmVudExpc3RlbmVyT3B0aW9ucyBvciBib29s
ZWFuKSBvcHRpb25zID0gZmFsc2UpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZUV2ZW50TGlz
dGVuZXJGb3JCaW5kaW5nc10gdW5kZWZpbmVkIHJlbW92ZUV2ZW50TGlzdGVuZXIoW0F0b21TdHJp
bmddIERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0aW9uYWwgKEV2
ZW50TGlzdGVuZXJPcHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMgPSBmYWxzZSk7CiAgICAgW0lt
cGxlbWVudGVkQXM9ZGlzcGF0Y2hFdmVudEZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
Ym9vbGVhbiBkaXNwYXRjaEV2ZW50KEV2ZW50IGV2ZW50KTsKIH07CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyAr
MjIsNyBAQCBpbnRlcmZhY2UgSGFzaENoYW5nZUV2ZW50IDogRXZlbnQgewogICAgIGNvbnN0cnVj
dG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBIYXNoQ2hhbmdlRXZlbnRJbml0IGV2ZW50SW5p
dERpY3QpOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFy
YW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgaW5pdEhhc2hDaGFuZ2VFdmVudChvcHRp
b25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLAorICAgIHVuZGVmaW5lZCBpbml0SGFz
aENoYW5nZUV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gInVuZGVmaW5lZCIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlID0gZmFs
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2Vs
YWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBVU1ZT
dHJpbmcgb2xkVVJMID0gInVuZGVmaW5lZCIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vSWRs
ZVJlcXVlc3RDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0lk
bGVSZXF1ZXN0Q2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vSWRsZVJlcXVlc3RDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDQgKzIz
LDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1jYWxsYmFj
ayBJZGxlUmVxdWVzdENhbGxiYWNrID0gdm9pZCAoSWRsZURlYWRsaW5lIGRlYWRsaW5lKTsKK2Nh
bGxiYWNrIElkbGVSZXF1ZXN0Q2FsbGJhY2sgPSB1bmRlZmluZWQgKElkbGVEZWFkbGluZSBkZWFk
bGluZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDcgKzUwLDcgQEAgaW50ZXJmYWNlIEtleWJvYXJkRXZlbnQgOiBVSUV2ZW50
IHsKIAogICAgIC8vIEZJWE1FOiB0aGlzIGRvZXMgbm90IG1hdGNoIHRoZSB2ZXJzaW9uIGluIHRo
ZSBET00gc3BlYy4KICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBw
YXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBpbml0S2V5Ym9hcmRFdmVudChvcHRp
b25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBib29sZWFuIGNhbkJ1
YmJsZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwKKyAgICB1
bmRlZmluZWQgaW5pdEtleWJvYXJkRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5k
ZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9v
bGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAgIG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2
aWV3ID0gbnVsbCwgb3B0aW9uYWwgRE9NU3RyaW5nIGtleUlkZW50aWZpZXIgPSAidW5kZWZpbmVk
Iiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsb2NhdGlvbiA9IDAsCiAgICAgICAgIG9wdGlvbmFs
IGJvb2xlYW4gY3RybEtleSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGFsdEtleSA9IGZhbHNl
LCBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5ID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gbWV0
YUtleSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGFsdEdyYXBoS2V5ID0gZmFsc2UpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNyArNDUsNyBAQCB0eXBlZGVmIChXaW5kb3dQcm94eSBvciBNZXNzYWdlUG9ydCkgTWVzCiAg
ICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBkYXRhOwogICAgIFtDdXN0
b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxNZXNzYWdlUG9ydD4gcG9y
dHM7CiAKLSAgICB2b2lkIGluaXRNZXNzYWdlRXZlbnQoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFs
IGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBm
YWxzZSwKKyAgICB1bmRlZmluZWQgaW5pdE1lc3NhZ2VFdmVudChET01TdHJpbmcgdHlwZSwgb3B0
aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJs
ZSA9IGZhbHNlLAogICAgICAgICBvcHRpb25hbCBhbnkgZGF0YSA9IG51bGwsIG9wdGlvbmFsIFVT
VlN0cmluZyBvcmlnaW5BcmcgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhc3RFdmVudElkID0g
IiIsIG9wdGlvbmFsIE1lc3NhZ2VFdmVudFNvdXJjZT8gc291cmNlID0gbnVsbCwKICAgICAgICAg
b3B0aW9uYWwgc2VxdWVuY2U8TWVzc2FnZVBvcnQ+IG1lc3NhZ2VQb3J0cyA9IFtdKTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEw
ICszMSwxMCBAQAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbCwKICAgICBKU0N1c3RvbU1h
cmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIE1lc3NhZ2VQb3J0IDogRXZlbnRUYXJnZXQgewotICAg
IFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNz
YWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdp
dGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkg
bWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwotICAgIHZvaWQg
c3RhcnQoKTsKLSAgICB2b2lkIGNsb3NlKCk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwg
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgc2Vx
dWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9u
YWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIHVuZGVmaW5lZCBzdGFydCgpOwor
ICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1l
c3NhZ2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw3ICs0NSw3IEBACiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMg
ZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCiAgICAgLy8gRklYTUU6IHJlbGF0ZWRU
YXJnZXQgc2hvdWxkIGJlIG9mIHR5cGUgRXZlbnRUYXJnZXQ/IGJ1dCB3ZSBuZWVkIHRvIHVzZSBh
bnkgdG8gc3VwcG9ydCBhIHF1aXJrIGZvciBpQWQgUHJvZHVjZXIgKHJkYXI6Ly9wcm9ibGVtLzMw
NjQwMTAxKS4KLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0JlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIEltcGxlbWVudGVkQXM9aW5pdE1vdXNlRXZlbnRRdWlya10gdm9pZCBpbml0TW91c2VFdmVu
dChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLAorICAgIFtDYWxsV2l0aD1H
bG9iYWxPYmplY3QmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgSW1wbGVtZW50ZWRBcz1pbml0TW91
c2VFdmVudFF1aXJrXSB1bmRlZmluZWQgaW5pdE1vdXNlRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5n
IHR5cGUgPSAidW5kZWZpbmVkIiwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUg
PSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAgIG9w
dGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3ID0gbnVsbCwgb3B0aW9uYWwgbG9uZyBkZXRhaWwgPSAw
LAogICAgICAgICBvcHRpb25hbCBsb25nIHNjcmVlblggPSAwLCBvcHRpb25hbCBsb25nIHNjcmVl
blkgPSAwLCBvcHRpb25hbCBsb25nIGNsaWVudFggPSAwLCBvcHRpb25hbCBsb25nIGNsaWVudFkg
PSAwLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiBbCiAgICAgQ2FsbGJhY2tUaGlzT2JqZWN0
PU11dGF0aW9uT2JzZXJ2ZXIsCiAgICAgSXNXZWFrQ2FsbGJhY2ssCi1dIGNhbGxiYWNrIE11dGF0
aW9uQ2FsbGJhY2sgPSB2b2lkIChzZXF1ZW5jZTxNdXRhdGlvblJlY29yZD4gbXV0YXRpb25zLCBN
dXRhdGlvbk9ic2VydmVyIG9ic2VydmVyKTsKK10gY2FsbGJhY2sgTXV0YXRpb25DYWxsYmFjayA9
IHVuZGVmaW5lZCAoc2VxdWVuY2U8TXV0YXRpb25SZWNvcmQ+IG11dGF0aW9ucywgTXV0YXRpb25P
YnNlcnZlciBvYnNlcnZlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgaW50ZXJmYWNlIE11dGF0aW9uRXZl
bnQgOiBFdmVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGF0dHJD
aGFuZ2U7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJh
bWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBpbml0TXV0YXRpb25FdmVudChvcHRpb25h
bCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJs
ZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwKKyAgICB1bmRl
ZmluZWQgaW5pdE11dGF0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZp
bmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVh
biBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAgIG9wdGlvbmFsIE5vZGU/IHJlbGF0ZWROb2Rl
ID0gbnVsbCwgb3B0aW9uYWwgRE9NU3RyaW5nIHByZXZWYWx1ZSA9ICJ1bmRlZmluZWQiLCBvcHRp
b25hbCBET01TdHJpbmcgbmV3VmFsdWUgPSAidW5kZWZpbmVkIiwKICAgICAgICAgb3B0aW9uYWwg
RE9NU3RyaW5nIGF0dHJOYW1lID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0
IGF0dHJDaGFuZ2UgPSAwKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25P
YnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRp
b25PYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDggKzM2LDggQEAKIF0gaW50ZXJm
YWNlIE11dGF0aW9uT2JzZXJ2ZXIgewogICAgIGNvbnN0cnVjdG9yKE11dGF0aW9uQ2FsbGJhY2sg
Y2FsbGJhY2spOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoTm9kZSB0
YXJnZXQsIG9wdGlvbmFsIE11dGF0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwotICAgIHZvaWQg
ZGlzY29ubmVjdCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG9ic2VydmUo
Tm9kZSB0YXJnZXQsIG9wdGlvbmFsIE11dGF0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOworICAg
IHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CiAgICAgW1Jlc3VsdEZpZWxkPXJlY29yZHNdIHNlcXVl
bmNlPE11dGF0aW9uUmVjb3JkPiB0YWtlUmVjb3JkcygpOwogfTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBACiAKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmc/IG5vZGVWYWx1ZTsKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBE
T01TdHJpbmc/IHRleHRDb250ZW50OwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBub3JtYWxpemUo
KTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCBub3JtYWxpemUoKTsKIAogICAgIFtDRVJl
YWN0aW9ucywgSW1wbGVtZW50ZWRBcz1jbG9uZU5vZGVGb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNl
cHRpb24sIE5ld09iamVjdF0gTm9kZSBjbG9uZU5vZGUob3B0aW9uYWwgYm9vbGVhbiBkZWVwID0g
ZmFsc2UpOwogICAgIGJvb2xlYW4gaXNFcXVhbE5vZGUoTm9kZT8gb3RoZXIpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL05vZGVJdGVyYXRvci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw1ICszMiw1
IEBACiAgICAgW01heVRocm93RXhjZXB0aW9uXSBOb2RlPyBuZXh0Tm9kZSgpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gTm9kZT8gcHJldmlvdXNOb2RlKCk7CiAKLSAgICB2b2lkIGRldGFjaCgp
OworICAgIHVuZGVmaW5lZCBkZXRhY2goKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
UGFyZW50Tm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5v
ZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9k
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDkgKzMzLDkgQEAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRWxlbWVudD8gbGFzdEVsZW1lbnRDaGlsZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBjaGlsZEVsZW1lbnRDb3VudDsKIAotICAgIFtDRVJlYWN0aW9ucywgVW5z
Y29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcHJlcGVuZCgoTm9kZSBvciBET01TdHJp
bmcpLi4uIG5vZGVzKTsKLSAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKLSAgICBb
Q0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlcGxhY2VD
aGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBbQ0VSZWFjdGlvbnMs
IFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcHJlcGVuZCgoTm9kZSBv
ciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4g
bm9kZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCByZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7
CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIEVsZW1lbnQ/IHF1ZXJ5U2VsZWN0b3IoRE9NU3Ry
aW5nIHNlbGVjdG9ycyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIE5vZGVM
aXN0IHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nIHNlbGVjdG9ycyk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vUmFuZ2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9S
YW5nZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGNvbGxhcHNlZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSBjb21t
b25BbmNlc3RvckNvbnRhaW5lcjsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRT
dGFydChOb2RlIG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgc2V0RW5kKE5vZGUgbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdGFydEJlZm9yZShOb2RlIG5vZGUpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdGFydEFmdGVyKE5vZGUgbm9kZSk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEVuZEJlZm9yZShOb2RlIG5vZGUpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbmRBZnRlcihOb2RlIG5vZGUpOwotICAgIHZvaWQg
Y29sbGFwc2Uob3B0aW9uYWwgYm9vbGVhbiB0b1N0YXJ0ID0gZmFsc2UpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZWxlY3ROb2RlKE5vZGUgbm9kZSk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNlbGVjdE5vZGVDb250ZW50cyhOb2RlIG5vZGUpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN0YXJ0KE5vZGUgbm9kZSwgdW5zaWduZWQgbG9uZyBv
ZmZzZXQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEVuZChOb2RlIG5v
ZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRTdGFydEJlZm9yZShOb2RlIG5vZGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHNldFN0YXJ0QWZ0ZXIoTm9kZSBub2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRFbmRCZWZvcmUoTm9kZSBub2RlKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRFbmRBZnRlcihOb2RlIG5vZGUpOworICAgIHVuZGVmaW5lZCBj
b2xsYXBzZShvcHRpb25hbCBib29sZWFuIHRvU3RhcnQgPSBmYWxzZSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VsZWN0Tm9kZShOb2RlIG5vZGUpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbGVjdE5vZGVDb250ZW50cyhOb2RlIG5vZGUpOwogCiAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1RBUlRfVE9fU1RBUlQgPSAwOwogICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFNUQVJUX1RPX0VORCA9IDE7CkBAIC00NywxNCArNDcsMTQgQEAKICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBFTkRfVE9fU1RBUlQgPSAzOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbiwgSW1wbGVtZW50ZWRBcz1jb21wYXJlQm91bmRhcnlQb2ludHNGb3JCaW5kaW5nc10gc2hv
cnQgY29tcGFyZUJvdW5kYXJ5UG9pbnRzKHVuc2lnbmVkIHNob3J0IGhvdywgUmFuZ2Ugc291cmNl
UmFuZ2UpOwogCi0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxl
dGVDb250ZW50cygpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBkZWxldGVDb250ZW50cygpOwogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRp
b24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVudCBleHRyYWN0Q29udGVudHMoKTsKICAgICBb
Q0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3VtZW50RnJhZ21l
bnQgY2xvbmVDb250ZW50cygpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgaW5zZXJ0Tm9kZShOb2RlIG5vZGUpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc3Vycm91bmRDb250ZW50cyhOb2RlIG5ld1BhcmVudCk7CisgICAgW0NF
UmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGluc2VydE5vZGUoTm9kZSBu
b2RlKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3Vy
cm91bmRDb250ZW50cyhOb2RlIG5ld1BhcmVudCk7CiAKICAgICBbTmV3T2JqZWN0XSBSYW5nZSBj
bG9uZVJhbmdlKCk7Ci0gICAgdm9pZCBkZXRhY2goKTsKKyAgICB1bmRlZmluZWQgZGV0YWNoKCk7
CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gaXNQb2ludEluUmFuZ2UoTm9kZSBu
b2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBzaG9y
dCBjb21wYXJlUG9pbnQoTm9kZSBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CkBAIC03MSw3
ICs3MSw3IEBACiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0
XSBEb2N1bWVudEZyYWdtZW50IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChET01TdHJpbmcgZnJh
Z21lbnQpOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkLgotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBleHBhbmQob3B0aW9uYWwgRE9NU3RyaW5nIHVuaXQgPSAiIik7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgZXhwYW5kKG9wdGlvbmFsIERPTVN0cmluZyB1bml0ID0gIiIp
OwogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBsaWtlbHkgZHJvcCB0aGlzIHNpbmNlIG5vIG90
aGVyIGJyb3dzZXIgc3VwcG9ydHMgaXQuCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBzaG9ydCBj
b21wYXJlTm9kZShOb2RlIG5vZGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw0ICszMSw0IEBACiAvLyBoaWdoUmVzVGltZSBpcyBwYXNzZWQg
YXMgaGlnaCByZXNvbHV0aW9uIHRpbWVzdGFtcCwgc2VlCiAvLyBodHRwOi8vd3d3LnczLm9yZy9U
Ui9oci10aW1lLyBmb3IgZGV0YWlscy4KIAotY2FsbGJhY2sgUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2sgPSB2b2lkICh1bnJlc3RyaWN0ZWQgZG91YmxlIGhpZ2hSZXNUaW1lKTsKK2NhbGxi
YWNrIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrID0gdW5kZWZpbmVkICh1bnJlc3RyaWN0
ZWQgZG91YmxlIGhpZ2hSZXNUaW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TdHJpbmdD
YWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1N0cmluZ0NhbGxi
YWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1N0cmluZ0Nh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNCArMzAsNCBAQAogCiBbCiAgICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQKLV0gY2FsbGJhY2sgU3RyaW5nQ2FsbGJhY2sgPSB2b2lk
IChET01TdHJpbmcgZGF0YSk7CitdIGNhbGxiYWNrIFN0cmluZ0NhbGxiYWNrID0gdW5kZWZpbmVk
IChET01TdHJpbmcgZGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDcgKzI5LDcgQEAgaW50ZXJmYWNlIFRleHRFdmVudCA6IFVJRXZlbnQgewog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGF0YTsKIAogICAgIC8vIEZJWE1FOiBV
c2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAg
ICB2b2lkIGluaXRUZXh0RXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGVBcmcgPSAidW5kZWZp
bmVkIiwKKyAgICB1bmRlZmluZWQgaW5pdFRleHRFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlw
ZUFyZyA9ICJ1bmRlZmluZWQiLAogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29s
ZWFuIGNhbkJ1YmJsZUFyZyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25h
bCBib29sZWFuIGNhbmNlbGFibGVBcmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXdBcmcgPSBudWxsLApJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL1RvdWNoRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9U
b3VjaEV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Rv
dWNoRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gbWV0YUtleTsKIAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5k
ZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAgICB2b2lkIGlu
aXRUb3VjaEV2ZW50KG9wdGlvbmFsIFRvdWNoTGlzdD8gdG91Y2hlcyA9IG51bGwsCisgICAgdW5k
ZWZpbmVkIGluaXRUb3VjaEV2ZW50KG9wdGlvbmFsIFRvdWNoTGlzdD8gdG91Y2hlcyA9IG51bGws
CiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBUb3VjaExpc3Q/IHRhcmdldFRvdWNo
ZXMgPSBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgVG91Y2hMaXN0PyBj
aGFuZ2VkVG91Y2hlcyA9IG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBE
T01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1VJ
RXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBAIGludGVyZmFjZSBVSUV2ZW50IDogRXZlbnQgewog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGRldGFpbDsKICAgICAKICAgICAvLyBGSVhNRTog
VXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0g
ICAgdm9pZCBpbml0VUlFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQi
LCBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNh
bmNlbGFibGUgPSBmYWxzZSwgb3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXcgPSBudWxsLCBvcHRp
b25hbCBsb25nIGRldGFpbCA9IDApOworICAgIHVuZGVmaW5lZCBpbml0VUlFdmVudChvcHRpb25h
bCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJs
ZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwgb3B0aW9uYWwg
V2luZG93UHJveHk/IHZpZXcgPSBudWxsLCBvcHRpb25hbCBsb25nIGRldGFpbCA9IDApOwogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbGF5ZXJYOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIGxheWVyWTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzksNyArMzksNyBAQCBpbnRlcmZhY2UgV2hlZWxFdmVudCA6IE1vdXNlRXZlbnQg
ewogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0RGlyZWN0aW9uSW52ZXJ0
ZWRGcm9tRGV2aWNlOwogCi0gICAgdm9pZCBpbml0V2ViS2l0V2hlZWxFdmVudChvcHRpb25hbCBs
b25nIHdoZWVsRGVsdGFYID0gMCwgb3B0aW9uYWwgbG9uZyB3aGVlbERlbHRhWSA9IDAsIG9wdGlv
bmFsIFdpbmRvd1Byb3h5PyB2aWV3ID0gbnVsbCwKKyAgICB1bmRlZmluZWQgaW5pdFdlYktpdFdo
ZWVsRXZlbnQob3B0aW9uYWwgbG9uZyB3aGVlbERlbHRhWCA9IDAsIG9wdGlvbmFsIGxvbmcgd2hl
ZWxEZWx0YVkgPSAwLCBvcHRpb25hbCBXaW5kb3dQcm94eT8gdmlldyA9IG51bGwsCiAgICAgICAg
IG9wdGlvbmFsIGxvbmcgc2NyZWVuWCA9IDAsIG9wdGlvbmFsIGxvbmcgc2NyZWVuWSA9IDAsIG9w
dGlvbmFsIGxvbmcgY2xpZW50WCA9IDAsIG9wdGlvbmFsIGxvbmcgY2xpZW50WSA9IDAsCiAgICAg
ICAgIG9wdGlvbmFsIGJvb2xlYW4gY3RybEtleSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGFs
dEtleSA9IGZhbHNlLAogICAgICAgICBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5ID0gZmFsc2Us
IG9wdGlvbmFsIGJvb2xlYW4gbWV0YUtleSA9IGZhbHNlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvQmxvYkNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0Jsb2JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvQmxvYkNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMs
NCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNr
IEJsb2JDYWxsYmFjayA9IHZvaWQgKEJsb2I/IGJsb2IpOworY2FsbGJhY2sgQmxvYkNhbGxiYWNr
ID0gdW5kZWZpbmVkIChCbG9iPyBibG9iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
UmVhZGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTIgKzQzLDEyIEBACiAKICAgICAv
LyBGSVhNRTogSW4gYWxsIGZvdXIgbWV0aG9kcyBmb3VuZCBiZWxvdywgdGhlIGJsb2IgcGFyYW1l
dGVyIHNob3VsZCBub3QgYmUgbnVsbGFibGUuCiAgICAgLy8gYXN5bmMgcmVhZCBtZXRob2RzCi0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlYWRBc0FycmF5QnVmZmVyKEJsb2I/IGJsb2Ip
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNCaW5hcnlTdHJpbmcoQmxvYj8g
YmxvYik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlYWRBc1RleHQoQmxvYj8gYmxv
Yiwgb3B0aW9uYWwgRE9NU3RyaW5nIGVuY29kaW5nKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgcmVhZEFzRGF0YVVSTChCbG9iPyBibG9iKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCByZWFkQXNBcnJheUJ1ZmZlcihCbG9iPyBibG9iKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCByZWFkQXNCaW5hcnlTdHJpbmcoQmxvYj8gYmxvYik7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVhZEFzVGV4dChCbG9iPyBibG9iLCBvcHRp
b25hbCBET01TdHJpbmcgZW5jb2RpbmcpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHJlYWRBc0RhdGFVUkwoQmxvYj8gYmxvYik7CiAKLSAgICB2b2lkIGFib3J0KCk7CisgICAg
dW5kZWZpbmVkIGFib3J0KCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgKERPTVN0cmluZyBv
ciBBcnJheUJ1ZmZlcik/IHJlc3VsdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9ET01G
b3JtRGF0YS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9ET01Gb3JtRGF0
YS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURh
dGEuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNCArMzksMTQgQEAgdHlwZWRlZiAoRmlsZSBv
ciBVU1ZTdHJpbmcpIEZvcm1EYXRhRW50cgogXSBpbnRlcmZhY2UgRE9NRm9ybURhdGEgewogICAg
IGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhUTUxGb3JtRWxlbWVudD8gZm9ybSk7CiAKLSAgICB2b2lk
IGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKLSAgICB2b2lkIGFwcGVu
ZChVU1ZTdHJpbmcgbmFtZSwgQmxvYiBibG9iVmFsdWUsIG9wdGlvbmFsIFVTVlN0cmluZyBmaWxl
bmFtZSk7Ci0gICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlXSB2b2lkIGRlbGV0ZShVU1ZTdHJpbmcg
bmFtZSk7CisgICAgdW5kZWZpbmVkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZh
bHVlKTsKKyAgICB1bmRlZmluZWQgYXBwZW5kKFVTVlN0cmluZyBuYW1lLCBCbG9iIGJsb2JWYWx1
ZSwgb3B0aW9uYWwgVVNWU3RyaW5nIGZpbGVuYW1lKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1yZW1v
dmVdIHVuZGVmaW5lZCBkZWxldGUoVVNWU3RyaW5nIG5hbWUpOwogICAgIEZvcm1EYXRhRW50cnlW
YWx1ZT8gZ2V0KFVTVlN0cmluZyBuYW1lKTsKICAgICBzZXF1ZW5jZTxGb3JtRGF0YUVudHJ5VmFs
dWU+IGdldEFsbChVU1ZTdHJpbmcgbmFtZSk7CiAgICAgYm9vbGVhbiBoYXMoVVNWU3RyaW5nIG5h
bWUpOwotICAgIHZvaWQgc2V0KFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJpbmcgdmFsdWUpOwotICAg
IHZvaWQgc2V0KFVTVlN0cmluZyBuYW1lLCBCbG9iIGJsb2JWYWx1ZSwgb3B0aW9uYWwgVVNWU3Ry
aW5nIGZpbGVuYW1lKTsKKyAgICB1bmRlZmluZWQgc2V0KFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJp
bmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXQoVVNWU3RyaW5nIG5hbWUsIEJsb2IgYmxvYlZh
bHVlLCBvcHRpb25hbCBVU1ZTdHJpbmcgZmlsZW5hbWUpOwogCiAgICAgaXRlcmFibGU8VVNWU3Ry
aW5nLCBGb3JtRGF0YUVudHJ5VmFsdWU+OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRv
a2VuTGlzdC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VG9rZW5MaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsOCBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBnZXR0ZXIgRE9NU3RyaW5n
PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIGJvb2xlYW4gY29udGFpbnMoRE9NU3Ry
aW5nIHRva2VuKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGFk
ZChET01TdHJpbmcuLi4gdG9rZW5zKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0
aW9uXSB2b2lkIHJlbW92ZShET01TdHJpbmcuLi4gdG9rZW5zKTsKKyAgICBbQ0VSZWFjdGlvbnMs
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWRkKERPTVN0cmluZy4uLiB0b2tlbnMpOwor
ICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmUoRE9N
U3RyaW5nLi4uIHRva2Vucyk7CiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
Ym9vbGVhbiB0b2dnbGUoRE9NU3RyaW5nIHRva2VuLCBvcHRpb25hbCBib29sZWFuIGZvcmNlKTsK
ICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIHJlcGxhY2UoRE9N
U3RyaW5nIHRva2VuLCBET01TdHJpbmcgbmV3VG9rZW4pOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gYm9vbGVhbiBzdXBwb3J0cyhET01TdHJpbmcgdG9rZW4pOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9ET01VUkwuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Miw1ICs1Miw1IEBACiAKICAgICAvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vRmlsZUFQSS8jY3JlYXRpbmctcmV2b2tpbmcuCiAgICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKEJs
b2IgYmxvYik7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyB2
b2lkIHJldm9rZU9iamVjdFVSTChET01TdHJpbmcgdXJsKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIHVuZGVmaW5lZCByZXZva2VPYmplY3RVUkwoRE9NU3Ry
aW5nIHVybCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGludGVyZmFjZSBI
VE1MQnV0dG9uRWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwog
ICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4g
cmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBl
cnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNyArNTAsNyBAQCB0eXBlZGVmICgKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2Jq
ZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gUmVuZGVyaW5nQ29udGV4dD8gZ2V0Q29udGV4dChET01T
dHJpbmcgY29udGV4dElkLCBhbnkuLi4gYXJndW1lbnRzKTsKIAogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gRE9NU3RyaW5nIHRvRGF0YVVSTChvcHRpb25hbCBET01TdHJpbmcgdHlwZSwgb3B0aW9u
YWwgYW55IHF1YWxpdHkpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0b0Jsb2IoQmxvYkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRp
b25hbCBET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYW55IHF1YWxpdHkpOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHRv
QmxvYihCbG9iQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLCBvcHRp
b25hbCBhbnkgcXVhbGl0eSk7CiAgICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBPZmZzY3Jl
ZW5DYW52YXMgdHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4oKTsKIAogICAgIFtDb25kaXRpb25h
bD1NRURJQV9TVFJFQU0sIENhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3
T2JqZWN0XSBNZWRpYVN0cmVhbSBjYXB0dXJlU3RyZWFtKG9wdGlvbmFsIGRvdWJsZSBmcmFtZVJl
cXVlc3RSYXRlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogXSBpbnRlcmZhY2Ug
SFRNTERpYWxvZ0VsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW0NFUmVhY3Rpb25zLCBSZWZs
ZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBvcGVuOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgcmV0
dXJuVmFsdWU7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIHNob3coKTsKLSAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNob3dNb2RhbCgpOwotICAgIFtDRVJlYWN0aW9u
c10gdm9pZCBjbG9zZShvcHRpb25hbCBET01TdHJpbmcgcmV0dXJuVmFsdWUpOworICAgIFtDRVJl
YWN0aW9uc10gdW5kZWZpbmVkIHNob3coKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2hvd01vZGFsKCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmlu
ZWQgY2xvc2Uob3B0aW9uYWwgRE9NU3RyaW5nIHJldHVyblZhbHVlKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEzICszMywx
MyBAQAogCiAgICAgLy8gVXNlciBpbnRlcmFjdGlvbi4KICAgICBbQ0VSZWFjdGlvbnMsIFJlZmxl
Y3RdIGF0dHJpYnV0ZSBib29sZWFuIGhpZGRlbjsKLSAgICB2b2lkIGNsaWNrKCk7CisgICAgdW5k
ZWZpbmVkIGNsaWNrKCk7CiAgICAgW0NFUmVhY3Rpb25zLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGFjY2Vzc0tleTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vz
c0tleUxhYmVsOwogICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGJvb2xlYW4gZHJhZ2dhYmxl
OwogICAgIC8vIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIEhUTUxNZW51RWxlbWVudD8gY29udGV4
dE1lbnU7IC8vIEZJWE1FOiBOb3Qgc3VwcG9ydGVkLgogICAgIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIGJvb2xlYW4gc3BlbGxjaGVjazsKLSAgICAvLyB2b2lkIGZvcmNlU3BlbGxDaGVjaygpOyAv
LyBGSVhNRTogTm90IHN1cHBvcnRlZC4KKyAgICAvLyB1bmRlZmluZWQgZm9yY2VTcGVsbENoZWNr
KCk7IC8vIEZJWE1FOiBOb3Qgc3VwcG9ydGVkLgogCiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJUZXh0OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDUgKzMxLDUgQEAgaW50ZXJmYWNlIEhUTUxGaWVsZFNldEVs
ZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAg
dmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiAgY2hlY2tWYWxpZGl0eSgpOwogICAgIFtF
bmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0
VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7
CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCw4ICszOCw4IEBACiAgICAgZ2V0dGVyIEVsZW1lbnQ/ICh1bnNpZ25lZCBs
b25nIGluZGV4KTsKICAgICBnZXR0ZXIgKFJhZGlvTm9kZUxpc3Qgb3IgRWxlbWVudCk/IChET01T
dHJpbmcgbmFtZSk7CiAKLSAgICBbSW1wbGVtZW50ZWRBcz1zdWJtaXRGcm9tSmF2YVNjcmlwdF0g
dm9pZCBzdWJtaXQoKTsKLSAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSB2b2lkIHJlc2V0KCk7
CisgICAgW0ltcGxlbWVudGVkQXM9c3VibWl0RnJvbUphdmFTY3JpcHRdIHVuZGVmaW5lZCBzdWJt
aXQoKTsKKyAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSB1bmRlZmluZWQgcmVzZXQoKTsKICAg
ICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFj
dGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSw2IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgeDsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB5OwogCi0gICAgUHJvbWlzZTx2b2lkPiBkZWNvZGUo
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gZGVjb2RlKCk7CiB9OwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDggKzYzLDggQEAKICAgICBhdHRyaWJ1dGUgRGF0ZT8gdmFsdWVBc0RhdGU7CiAgICAgYXR0
cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgdmFsdWVBc051bWJlcjsKIAotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzdGVwVXAob3B0aW9uYWwgbG9uZyBuID0gMSk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIHN0ZXBEb3duKG9wdGlvbmFsIGxvbmcgbiA9IDEpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN0ZXBVcChvcHRpb25hbCBsb25nIG4gPSAxKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzdGVwRG93bihvcHRpb25hbCBsb25n
IG4gPSAxKTsKIAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHdpZHRoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0
ZTsKQEAgLTcyLDE5ICs3MiwxOSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0Vu
YWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRW
YWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsK
KyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiAKLSAgICB2b2lkIHNlbGVjdCgp
OworICAgIHVuZGVmaW5lZCBzZWxlY3QoKTsKICAgICBbSW1wbGVtZW50ZWRBcz1zZWxlY3Rpb25T
dGFydEZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25TdGFydDsKICAgICBbSW1w
bGVtZW50ZWRBcz1zZWxlY3Rpb25FbmRGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgc2VsZWN0
aW9uRW5kOwogICAgIFtJbXBsZW1lbnRlZEFzPXNlbGVjdGlvbkRpcmVjdGlvbkZvckJpbmRpbmdz
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlbGVjdGlvbkRpcmVjdGlvbjsKIAotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50KTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNl
bWVudCwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERP
TVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50KTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50LCB1bnNp
Z25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgb3B0aW9uYWwgRE9NU3RyaW5nIHNl
bGVjdGlvbk1vZGUpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c2V0U2VsZWN0aW9uUmFuZ2VGb3JC
aW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UobG9uZyBz
dGFydCwgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOworICAgIFtJbXBs
ZW1lbnRlZEFzPXNldFNlbGVjdGlvblJhbmdlRm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0U2VsZWN0aW9uUmFuZ2UobG9uZyBzdGFydCwgbG9uZyBlbmQsIG9wdGlv
bmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwogCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwg
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhbGlnbjsKICAgICBbQ0VSZWFjdGlvbnM9Tm90
TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZU1hcDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDQsNyArNDQsNyBAQCBpbnRlcmZhY2UgSFRNTEtleWdlbkVsZW1lbnQgOiBIVE1MRWxl
bWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsK
ICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9p
ZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRD
dXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE5vZGVMaXN0IGxhYmVsczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJx
dWVlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFy
cXVlZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXJxdWVlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDggKzIwLDggQEAK
IFsKICAgICBBY3RpdmVET01PYmplY3QsCiBdIGludGVyZmFjZSBIVE1MTWFycXVlZUVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7Ci0gICAgdm9pZCBzdGFydCgpOwotICAgIHZvaWQgc3RvcCgpOworICAg
IHVuZGVmaW5lZCBzdGFydCgpOworICAgIHVuZGVmaW5lZCBzdG9wKCk7CiAgICAgCiAgICAgW0NF
UmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBiZWhhdmlv
cjsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGJnQ29sb3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgdHlwZWRlZiAoCiAgICAg
W0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBwcmVsb2FkOwogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgYnVmZmVyZWQ7Ci0gICAgdm9pZCBsb2Fk
KCk7CisgICAgdW5kZWZpbmVkIGxvYWQoKTsKIAogICAgIERPTVN0cmluZyBjYW5QbGF5VHlwZShE
T01TdHJpbmcgdHlwZSk7CiAKQEAgLTgyLDkgKzgyLDkgQEAgdHlwZWRlZiAoCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gZW5kZWQ7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwg
UmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gYXV0b3BsYXk7CiAgICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gbG9vcDsKLSAgICBQcm9taXNlPHZv
aWQ+IHBsYXkoKTsKLSAgICB2b2lkIHBhdXNlKCk7Ci0gICAgdm9pZCBmYXN0U2Vlayh1bnJlc3Ry
aWN0ZWQgZG91YmxlIHRpbWUpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBwbGF5KCk7CisgICAg
dW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIGZhc3RTZWVrKHVucmVzdHJpY3RlZCBk
b3VibGUgdGltZSk7CiAKICAgICAvLyBjb250cm9scwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVk
ZWRdIGF0dHJpYnV0ZSBib29sZWFuIGNvbnRyb2xzOwpAQCAtMTAzLDExICsxMDMsMTEgQEAgdHlw
ZWRlZiAoCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUQVRJU1RJQ1NdIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHdlYmtpdFZpZGVvRGVjb2RlZEJ5dGVDb3VudDsKIAogICAgIFtD
b25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUxlZ2Fj
eUVuY3J5cHRlZE1lZGlhQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFLZXlzIHdl
YmtpdEtleXM7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJs
ZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFBUEldIHZvaWQgd2Via2l0U2V0TWVkaWFL
ZXlzKFdlYktpdE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKKyAgICBbQ29uZGl0aW9uYWw9TEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQ
SV0gdW5kZWZpbmVkIHdlYmtpdFNldE1lZGlhS2V5cyhXZWJLaXRNZWRpYUtleXM/IG1lZGlhS2V5
cyk7CiAgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1F
bmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlh
QVBJU3VwcG9ydF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5cyBtZWRpYUtleXM7CiAgICAg
W0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRN
ZWRpYUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9y
dF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVuY3J5cHRlZDsKICAgICBbQ29uZGl0aW9uYWw9
RU5DUllQVEVEX01FRElBLCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNh
YmxlZEJ5UXVpcms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ud2FpdGluZ2ZvcmtleTsKLSAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLCBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLCBEaXNhYmxlZEJ5UXVp
cms9aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0XSBQcm9taXNlPHZvaWQ+IHNldE1l
ZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRF
RF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1
aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx1bmRlZmluZWQ+
IHNldE1lZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFRleHRUcmFjayBhZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERP
TVN0cmluZyBsYWJlbCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAg
ICAgW0ltcGxlbWVudGVkQXM9ZW5zdXJlQXVkaW9UcmFja3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
dWRpb1RyYWNrTGlzdCBhdWRpb1RyYWNrczsKQEAgLTEyMCw2ICsxMjAsNiBAQCB0eXBlZGVmICgK
IAogICAgIFZpZGVvUGxheWJhY2tRdWFsaXR5IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7CiAK
LSAgICBbQ29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSB2b2lkIHdlYmtpdFNo
b3dQbGF5YmFja1RhcmdldFBpY2tlcigpOworICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVRdIHVuZGVmaW5lZCB3ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsK
ICAgICBbQ29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiB3ZWJraXRDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7
CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVh
biByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5n
IGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9y
KTsKIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3Vt
ZW50IGNvbnRlbnREb2N1bWVudDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkg
Y29udGVudFdpbmRvdzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25z
Q29sbGVjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQsOSBA
QAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEhUTUxPcHRpb25z
Q29sbGVjdGlvbiA6IEhUTUxDb2xsZWN0aW9uIHsKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICBbQ0VSZWFjdGlvbnNdIHNldHRlciB2b2lkICh1
bnNpZ25lZCBsb25nIGluZGV4LCBIVE1MT3B0aW9uRWxlbWVudD8gb3B0aW9uKTsKLSAgICBbQ0VS
ZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZCgoSFRNTE9wdGlvbkVsZW1lbnQg
b3IgSFRNTE9wdEdyb3VwRWxlbWVudCkgZWxlbWVudCwgb3B0aW9uYWwgKEhUTUxFbGVtZW50IG9y
IGxvbmcpPyBiZWZvcmUgPSBudWxsKTsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgcmVtb3ZlKGxv
bmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9uc10gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQg
bG9uZyBpbmRleCwgSFRNTE9wdGlvbkVsZW1lbnQ/IG9wdGlvbik7CisgICAgW0NFUmVhY3Rpb25z
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkZCgoSFRNTE9wdGlvbkVsZW1lbnQgb3Ig
SFRNTE9wdEdyb3VwRWxlbWVudCkgZWxlbWVudCwgb3B0aW9uYWwgKEhUTUxFbGVtZW50IG9yIGxv
bmcpPyBiZWZvcmUgPSBudWxsKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCByZW1vdmUo
bG9uZyBpbmRleCk7CiAKICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPckZvcmVpZ25FbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPckZvcmVpZ25FbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDYgQEAKIF0gaW50ZXJmYWNlIEhUTUxPckZv
cmVpZ25FbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTWFwIGRhdGFz
ZXQ7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgogICAgIFtDRVJlYWN0aW9ucywg
SW1wbGVtZW50ZWRBcz10YWJJbmRleEZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgbG9uZyB0YWJJbmRl
eDsKLSAgICB2b2lkIGZvY3VzKCk7Ci0gICAgdm9pZCBibHVyKCk7CisgICAgdW5kZWZpbmVkIGZv
Y3VzKCk7CisgICAgdW5kZWZpbmVkIGJsdXIoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcg
KzM3LDcgQEAgaW50ZXJmYWNlIEhUTUxPdXRwdXRFbGVtZW50IDogSFRNTEVsZW1lbgogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVh
biBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9t
VmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRp
dHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBs
YWJlbHM7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAKICAgICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBnZXR0ZXIgSFRNTE9w
dGlvbkVsZW1lbnQ/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7IC8vIEZJWE1FOiBUaGUgc3Bl
YyBoYXMgdGhpcyByZXR1cm5pbmcgRWxlbWVudD8uCiAgICAgSFRNTE9wdGlvbkVsZW1lbnQ/IG5h
bWVkSXRlbShbUmVxdWlyZXNFeGlzdGluZ0F0b21TdHJpbmddIERPTVN0cmluZyBuYW1lKTsKLSAg
ICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZCgoSFRNTE9wdGlvbkVs
ZW1lbnQgb3IgSFRNTE9wdEdyb3VwRWxlbWVudCkgZWxlbWVudCwgb3B0aW9uYWwgKEhUTUxFbGVt
ZW50IG9yIGxvbmcpPyBiZWZvcmUgPSBudWxsKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93
RXhjZXB0aW9uXSB2b2lkIHJlbW92ZSgpOyAvLyBDaGlsZE5vZGUgb3ZlcmxvYWQKLSAgICBbQ0VS
ZWFjdGlvbnNdIHZvaWQgcmVtb3ZlKGxvbmcgaW5kZXgpOwotICAgIFtDRVJlYWN0aW9uc10gc2V0
dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIEhUTUxPcHRpb25FbGVtZW50PyBvcHRpb24p
OworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZGQoKEhU
TUxPcHRpb25FbGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFs
IChIVE1MRWxlbWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7CisgICAgW0NFUmVhY3Rpb25z
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92ZSgpOyAvLyBDaGlsZE5vZGUgb3Zl
cmxvYWQKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCByZW1vdmUobG9uZyBpbmRleCk7Cisg
ICAgW0NFUmVhY3Rpb25zXSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBI
VE1MT3B0aW9uRWxlbWVudD8gb3B0aW9uKTsKIAogICAgIC8qIFtTYW1lT2JqZWN0XSAqLyByZWFk
b25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gc2VsZWN0ZWRPcHRpb25zOwogICAgIGF0dHJp
YnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7CkBAIC01MSw3ICs1MSw3IEBACiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNr
VmFsaWRpdHkoKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0
aW9uXSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0
eShET01TdHJpbmcgZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01T
dHJpbmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDEzICszOCwxMyBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxl
bWVudCA6IEhUTUxFbGVtZW50CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0g
YXR0cmlidXRlIERPTVN0cmluZyB3aWR0aDsKIAogICAgIEhUTUxFbGVtZW50IGNyZWF0ZVRIZWFk
KCk7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZVRIZWFkKCk7CisgICAgW0NFUmVhY3Rp
b25zXSB1bmRlZmluZWQgZGVsZXRlVEhlYWQoKTsKICAgICBIVE1MRWxlbWVudCBjcmVhdGVURm9v
dCgpOwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBkZWxldGVURm9vdCgpOworICAgIFtDRVJlYWN0
aW9uc10gdW5kZWZpbmVkIGRlbGV0ZVRGb290KCk7CiAgICAgSFRNTEVsZW1lbnQgY3JlYXRlVEJv
ZHkoKTsKICAgICBIVE1MRWxlbWVudCBjcmVhdGVDYXB0aW9uKCk7Ci0gICAgW0NFUmVhY3Rpb25z
XSB2b2lkIGRlbGV0ZUNhcHRpb24oKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCBkZWxl
dGVDYXB0aW9uKCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIEhUTUxFbGVtZW50IGluc2Vy
dFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9u
cywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxldGVSb3cobG9uZyBpbmRleCk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBAIGludGVyZmFjZSBIVE1MVGFi
bGVSb3dFbGVtZW50IDogSFRNTEVsZW0KICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZs
ZWN0PWNoYXJvZmZdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hPZmY7CiAgICAgW0NFUmVhY3Rpb25z
PU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB2QWxpZ247CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBIVE1MRWxlbWVudCBpbnNlcnRDZWxsKG9wdGlvbmFsIGxvbmcgaW5k
ZXggPSAtMSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxl
dGVDZWxsKGxvbmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBkZWxldGVDZWxsKGxvbmcgaW5kZXgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNSBAQAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVk
ZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSFRN
TEVsZW1lbnQgaW5zZXJ0Um93KG9wdGlvbmFsIGxvbmcgaW5kZXggPSAtMSk7Ci0gICAgW0NFUmVh
Y3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVSb3cobG9uZyBpbmRleCk7Cisg
ICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0ZVJvdyhs
b25nIGluZGV4KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE5ICs0NCwxOSBAQCBp
bnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFs
aWRpdHkoKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
XSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShE
T01TdHJpbmcgZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJp
bmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKIAot
ICAgIHZvaWQgc2VsZWN0KCk7CisgICAgdW5kZWZpbmVkIHNlbGVjdCgpOwogICAgIGF0dHJpYnV0
ZSBsb25nIHNlbGVjdGlvblN0YXJ0OwogICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvbkVuZDsK
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlbGVjdGlvbkRpcmVjdGlvbjsKIAotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50KTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBs
YWNlbWVudCwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFs
IERPTVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50KTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50LCB1
bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgb3B0aW9uYWwgRE9NU3RyaW5n
IHNlbGVjdGlvbk1vZGUpOwogCi0gICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShvcHRpb25hbCBs
b25nIHN0YXJ0ID0gMCwgb3B0aW9uYWwgbG9uZyBlbmQgPSAwLCBvcHRpb25hbCBET01TdHJpbmcg
ZGlyZWN0aW9uKTsKKyAgICB1bmRlZmluZWQgc2V0U2VsZWN0aW9uUmFuZ2Uob3B0aW9uYWwgbG9u
ZyBzdGFydCA9IDAsIG9wdGlvbmFsIGxvbmcgZW5kID0gMCwgb3B0aW9uYWwgRE9NU3RyaW5nIGRp
cmVjdGlvbik7CiAKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGF1dG9jb21wbGV0ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRl
b0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDEzICszOCwxMyBAQAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbjsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbjsK
IAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB3ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTsK
LSAgICB2b2lkIHdlYmtpdEV4aXRGdWxsc2NyZWVuKCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgd2Via2l0RW50ZXJGdWxsc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHdlYmtp
dEV4aXRGdWxsc2NyZWVuKCk7CiAKICAgICAvLyBNYWludGFpbiAiRnVsbFNjcmVlbiIgY2FwaXRh
bGl6YXRpb24gc2NoZW1lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYwODEKLSAgICBbSW1wbGVtZW50
ZWRBcz13ZWJraXRFbnRlckZ1bGxzY3JlZW4sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHdlYmtp
dEVudGVyRnVsbFNjcmVlbigpOwotICAgIFtJbXBsZW1lbnRlZEFzPXdlYmtpdEV4aXRGdWxsc2Ny
ZWVuXSB2b2lkIHdlYmtpdEV4aXRGdWxsU2NyZWVuKCk7CisgICAgW0ltcGxlbWVudGVkQXM9d2Vi
a2l0RW50ZXJGdWxsc2NyZWVuLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdlYmtpdEVu
dGVyRnVsbFNjcmVlbigpOworICAgIFtJbXBsZW1lbnRlZEFzPXdlYmtpdEV4aXRGdWxsc2NyZWVu
XSB1bmRlZmluZWQgd2Via2l0RXhpdEZ1bGxTY3JlZW4oKTsKIAogICAgIFtDb25kaXRpb25hbD1X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVRdIGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdFdpcmVsZXNz
VmlkZW9QbGF5YmFja0Rpc2FibGVkOwogCkBAIC01Niw3ICs1Niw3IEBACiAKICAgICBbQ29uZGl0
aW9uYWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIGJvb2xlYW4gd2Via2l0U3VwcG9ydHNQcmVz
ZW50YXRpb25Nb2RlKFZpZGVvUHJlc2VudGF0aW9uTW9kZSBtb2RlKTsKICAgICBbQ29uZGl0aW9u
YWw9VklERU9fUFJFU0VOVEFUSU9OX01PREVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaWRlb1ByZXNl
bnRhdGlvbk1vZGUgd2Via2l0UHJlc2VudGF0aW9uTW9kZTsKLSAgICBbQ29uZGl0aW9uYWw9VklE
RU9fUFJFU0VOVEFUSU9OX01PREVdIHZvaWQgd2Via2l0U2V0UHJlc2VudGF0aW9uTW9kZShWaWRl
b1ByZXNlbnRhdGlvbk1vZGUgbW9kZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPX1BSRVNFTlRB
VElPTl9NT0RFXSB1bmRlZmluZWQgd2Via2l0U2V0UHJlc2VudGF0aW9uTW9kZShWaWRlb1ByZXNl
bnRhdGlvbk1vZGUgbW9kZSk7CiB9OwogCiBbQ29uZGl0aW9uYWw9VklERU9fUFJFU0VOVEFUSU9O
X01PREVdIGVudW0gVmlkZW9QcmVzZW50YXRpb25Nb2RlIHsgImlubGluZSIsICJmdWxsc2NyZWVu
IiwgInBpY3R1cmUtaW4tcGljdHVyZSIgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VCaXRtYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRt
YXAuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0
bWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNiBAQAogXSBpbnRlcmZhY2UgSW1h
Z2VCaXRtYXAgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKLSAgICB2b2lkIGNs
b3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3
LDkgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBwYXVzZWQ7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgcGxheWVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgcGxheWJhY2tTdGF0ZTsKLSAgICB2b2lkIHBsYXkoKTsKLSAgICB2b2lkIHBhdXNl
KCk7Ci0gICAgdm9pZCB1bnBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHBsYXkoKTsKKyAgICB1bmRl
ZmluZWQgcGF1c2UoKTsKKyAgICB1bmRlZmluZWQgdW5wYXVzZSgpOwogCiAgICAgYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBkb3VibGUgZGVmYXVsdFBsYXliYWNrUmF0ZTsKICAgICBhdHRyaWJ1dGUg
dW5yZXN0cmljdGVkIGRvdWJsZSBwbGF5YmFja1JhdGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL1VSTFNlYXJjaFBhcmFtcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9VUkxTZWFyY2hQYXJhbXMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL1VSTFNlYXJjaFBhcmFtcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDE0ICsyOSwx
NCBAQAogXSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChzZXF1ZW5jZTxzZXF1ZW5jZTxVU1ZTdHJpbmc+PiBv
ciByZWNvcmQ8VVNWU3RyaW5nLCBVU1ZTdHJpbmc+IG9yIFVTVlN0cmluZykgaW5pdCA9ICIiKTsK
IAotICAgIHZvaWQgYXBwZW5kKFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJpbmcgdmFsdWUpOwotICAg
IFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gdm9pZCBkZWxldGUoVVNWU3RyaW5nIG5hbWUpOworICAg
IHVuZGVmaW5lZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2YWx1ZSk7CisgICAg
W0ltcGxlbWVudGVkQXM9cmVtb3ZlXSB1bmRlZmluZWQgZGVsZXRlKFVTVlN0cmluZyBuYW1lKTsK
ICAgICBVU1ZTdHJpbmc/IGdldChVU1ZTdHJpbmcgbmFtZSk7CiAgICAgc2VxdWVuY2U8VVNWU3Ry
aW5nPiBnZXRBbGwoVVNWU3RyaW5nIG5hbWUpOwogICAgIGJvb2xlYW4gaGFzKFVTVlN0cmluZyBu
YW1lKTsKLSAgICB2b2lkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKKyAg
ICB1bmRlZmluZWQgc2V0KFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJpbmcgdmFsdWUpOwogCi0gICAg
dm9pZCBzb3J0KCk7CisgICAgdW5kZWZpbmVkIHNvcnQoKTsKIAogICAgIGl0ZXJhYmxlPFVTVlN0
cmluZywgVVNWU3RyaW5nPjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJh
Y2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw0ICsyNSw0IEBACiAKIFsKICAgICBFeHBvcnRNYWNy
bz1XRUJDT1JFX0VYUE9SVAotXSBjYWxsYmFjayBWb2lkQ2FsbGJhY2sgPSB2b2lkICgpOworXSBj
YWxsYmFjayBWb2lkQ2FsbGJhY2sgPSB1bmRlZmluZWQgKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQU5HTEVJbnN0YW5jZWRBcnJheXMuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFy
cmF5cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIF0gaW50ZXJmYWNlIEFO
R0xFSW5zdGFuY2VkQXJyYXlzIHsKICAgICBjb25zdCBHTGVudW0gVkVSVEVYX0FUVFJJQl9BUlJB
WV9ESVZJU09SX0FOR0xFID0gMHg4OEZFOwogCi0gICAgdm9pZCBkcmF3QXJyYXlzSW5zdGFuY2Vk
QU5HTEUodW5zaWduZWQgbG9uZyBtb2RlLCBsb25nIGZpcnN0LCBsb25nIGNvdW50LCBsb25nIHBy
aW1jb3VudCk7Ci0gICAgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSh1bnNpZ25lZCBs
b25nIG1vZGUsIGxvbmcgY291bnQsIHVuc2lnbmVkIGxvbmcgdHlwZSwgbG9uZyBsb25nIG9mZnNl
dCwgbG9uZyBwcmltY291bnQpOwotICAgIHZvaWQgdmVydGV4QXR0cmliRGl2aXNvckFOR0xFKHVu
c2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgZGl2aXNvcik7CisgICAgdW5kZWZpbmVk
IGRyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSh1bnNpZ25lZCBsb25nIG1vZGUsIGxvbmcgZmlyc3Qs
IGxvbmcgY291bnQsIGxvbmcgcHJpbWNvdW50KTsKKyAgICB1bmRlZmluZWQgZHJhd0VsZW1lbnRz
SW5zdGFuY2VkQU5HTEUodW5zaWduZWQgbG9uZyBtb2RlLCBsb25nIGNvdW50LCB1bnNpZ25lZCBs
b25nIHR5cGUsIGxvbmcgbG9uZyBvZmZzZXQsIGxvbmcgcHJpbWNvdW50KTsKKyAgICB1bmRlZmlu
ZWQgdmVydGV4QXR0cmliRGl2aXNvckFOR0xFKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVk
IGxvbmcgZGl2aXNvcik7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzRHJhd0ltYWdlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNEcmF3SW1hZ2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNEcmF3SW1hZ2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3
ICs0Myw3IEBAIHR5cGVkZWYgKEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0UKICAgICAv
LyBGSVhNRTogQWxsIHRoZSB1bnJlc3RyaWN0ZWQgZmxvYXQgYXJndW1lbnRzIGJlbG93IHNob3Vs
ZCBiZSB1bnJlc3RyaWN0ZWQgZG91Ymxlcy4KIAogICAgIC8vIGRyYXdpbmcgaW1hZ2VzCi0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRyYXdJbWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFn
ZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeSk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRyYXdJbWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFn
ZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeSwgdW5yZXN0
cmljdGVkIGRvdWJsZSBkdywgdW5yZXN0cmljdGVkIGRvdWJsZSBkaCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIGRyYXdJbWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFnZSwgdW5yZXN0
cmljdGVkIGRvdWJsZSBzeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBzeSwgdW5yZXN0cmljdGVkIGRv
dWJsZSBzdywgdW5yZXN0cmljdGVkIGRvdWJsZSBzaCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeCwg
dW5yZXN0cmljdGVkIGRvdWJsZSBkeSwgdW5yZXN0cmljdGVkIGRvdWJsZSBkdywgdW5yZXN0cmlj
dGVkIGRvdWJsZSBkaCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZHJhd0lt
YWdlKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR4LCB1bnJl
c3RyaWN0ZWQgZG91YmxlIGR5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBk
cmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2UsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJp
Y3RlZCBkb3VibGUgZGgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRyYXdJ
bWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFnZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBzeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSBzeSwgdW5yZXN0cmljdGVkIGRvdWJsZSBzdywgdW5yZXN0cmljdGVk
IGRvdWJsZSBzaCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBk
eSwgdW5yZXN0cmljdGVkIGRvdWJsZSBkdywgdW5yZXN0cmljdGVkIGRvdWJsZSBkaCk7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRHJhd1BhdGguaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0RyYXdQYXRoLmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRHJh
d1BhdGguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNSArMjgsMTUgQEAKICAgICBFeHBvc2Vk
PShXaW5kb3csV29ya2VyKQogXSBpbnRlcmZhY2UgQ2FudmFzRHJhd1BhdGggewogICAgIC8vIHBh
dGggQVBJIChzZWUgYWxzbyBDYW52YXNQYXRoKQotICAgIHZvaWQgYmVnaW5QYXRoKCk7Ci0gICAg
dm9pZCBmaWxsKG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsK
LSAgICB2b2lkIGZpbGwoUGF0aDJEIHBhdGgsIG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxS
dWxlID0gIm5vbnplcm8iKTsKLSAgICB2b2lkIHN0cm9rZSgpOwotICAgIHZvaWQgc3Ryb2tlKFBh
dGgyRCBwYXRoKTsKLSAgICB2b2lkIGNsaXAob3B0aW9uYWwgQ2FudmFzRmlsbFJ1bGUgZmlsbFJ1
bGUgPSAibm9uemVybyIpOwotICAgIHZvaWQgY2xpcChQYXRoMkQgcGF0aCwgb3B0aW9uYWwgQ2Fu
dmFzRmlsbFJ1bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOworICAgIHVuZGVmaW5lZCBiZWdpblBh
dGgoKTsKKyAgICB1bmRlZmluZWQgZmlsbChvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxsUnVs
ZSA9ICJub256ZXJvIik7CisgICAgdW5kZWZpbmVkIGZpbGwoUGF0aDJEIHBhdGgsIG9wdGlvbmFs
IENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKKyAgICB1bmRlZmluZWQgc3Ry
b2tlKCk7CisgICAgdW5kZWZpbmVkIHN0cm9rZShQYXRoMkQgcGF0aCk7CisgICAgdW5kZWZpbmVk
IGNsaXAob3B0aW9uYWwgQ2FudmFzRmlsbFJ1bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOworICAg
IHVuZGVmaW5lZCBjbGlwKFBhdGgyRCBwYXRoLCBvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxs
UnVsZSA9ICJub256ZXJvIik7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCByZXNldENsaXAuCi0g
ICAgLy8gdm9pZCByZXNldENsaXAoKTsKKyAgICAvLyB1bmRlZmluZWQgcmVzZXRDbGlwKCk7CiAK
ICAgICAvLyBGSVhNRTogQWxsIHRoZSB1bnJlc3RyaWN0ZWQgZmxvYXQgcGFyYW1ldGVycyBiZWxv
dyBzaG91bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZXMuCiAgICAgYm9vbGVhbiBpc1BvaW50SW5Q
YXRoKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgb3B0aW9uYWwg
Q2FudmFzRmlsbFJ1bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw1ICszMCw1IEBACiAgICAgLy8gRklYTUU6IFRoZSBmbG9hdCBwYXJhbWV0
ZXJzIGJlbG93IHNob3VsZCBiZSBhIGRvdWJsZS4KIAogICAgIC8vIG9wYXF1ZSBvYmplY3QKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWRkQ29sb3JTdG9wKGZsb2F0IG9mZnNldCwgRE9N
U3RyaW5nIGNvbG9yKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZGRDb2xv
clN0b3AoZmxvYXQgb2Zmc2V0LCBET01TdHJpbmcgY29sb3IpOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzSW1hZ2VEYXRhLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzSW1hZ2VEYXRhLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNiBAQAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
SW1hZ2VEYXRhIGNyZWF0ZUltYWdlRGF0YShmbG9hdCBzdywgZmxvYXQgc2gpOwogICAgIEltYWdl
RGF0YSBjcmVhdGVJbWFnZURhdGEoSW1hZ2VEYXRhIGltYWdlZGF0YSk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBJbWFnZURhdGEgZ2V0SW1hZ2VEYXRhKGZsb2F0IHN4LCBmbG9hdCBzeSwgZmxv
YXQgc3csIGZsb2F0IHNoKTsKLSAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2Vk
YXRhLCBmbG9hdCBkeCwgZmxvYXQgZHkpOwotICAgIHZvaWQgcHV0SW1hZ2VEYXRhKEltYWdlRGF0
YSBpbWFnZWRhdGEsIGZsb2F0IGR4LCBmbG9hdCBkeSwgZmxvYXQgZGlydHlYLCBmbG9hdCBkaXJ0
eVksIGZsb2F0IGRpcnR5V2lkdGgsIGZsb2F0IGRpcnR5SGVpZ2h0KTsKKyAgICB1bmRlZmluZWQg
cHV0SW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEsIGZsb2F0IGR4LCBmbG9hdCBkeSk7Cisg
ICAgdW5kZWZpbmVkIHB1dEltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwg
ZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBm
bG9hdCBkaXJ0eUhlaWdodCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGF0aC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGF0aC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1BhdGguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNiArMzAsMTYgQEAK
ICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQogXSBpbnRlcmZhY2UgQ2FudmFzUGF0aCB7CiAg
ICAgLy8gc2hhcmVkIHBhdGggQVBJIG1ldGhvZHMKLSAgICB2b2lkIGNsb3NlUGF0aCgpOwotICAg
IHZvaWQgbW92ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5
KTsKLSAgICB2b2lkIGxpbmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBk
b3VibGUgeSk7Ci0gICAgdm9pZCBxdWFkcmF0aWNDdXJ2ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUg
Y3B4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNweSwgdW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHkpOwotICAgIHZvaWQgYmV6aWVyQ3VydmVUbyh1bnJlc3RyaWN0ZWQg
ZG91YmxlIGNwMXgsIHVucmVzdHJpY3RlZCBkb3VibGUgY3AxeSwgdW5yZXN0cmljdGVkIGRvdWJs
ZSBjcDJ4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMnksIHVucmVzdHJpY3RlZCBkb3VibGUgeCwg
dW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYXJj
VG8odW5yZXN0cmljdGVkIGRvdWJsZSB4MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MSwgdW5yZXN0
cmljdGVkIGRvdWJsZSB4MiwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MiwgdW5yZXN0cmljdGVkIGRv
dWJsZSByYWRpdXMpOwotICAgIC8vIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhcmNUbyh1bnJl
c3RyaWN0ZWQgZG91YmxlIHgxLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkxLCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHgyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJh
ZGl1c1gsIHVucmVzdHJpY3RlZCBkb3VibGUgcmFkaXVzWSwgdW5yZXN0cmljdGVkIGRvdWJsZSBy
b3RhdGlvbik7Ci0gICAgdm9pZCByZWN0KHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmlj
dGVkIGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcsIHVucmVzdHJpY3RlZCBkb3VibGUg
aCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFyYyh1bnJlc3RyaWN0ZWQgZG91Ymxl
IHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXMsIHVu
cmVzdHJpY3RlZCBkb3VibGUgc3RhcnRBbmdsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmRBbmds
ZSwgb3B0aW9uYWwgYm9vbGVhbiBhbnRpY2xvY2t3aXNlID0gZmFsc2UpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBlbGxpcHNlKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmlj
dGVkIGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1gsIHVucmVzdHJpY3RlZCBk
b3VibGUgcmFkaXVzWSwgdW5yZXN0cmljdGVkIGRvdWJsZSByb3RhdGlvbiwgdW5yZXN0cmljdGVk
IGRvdWJsZSBzdGFydEFuZ2xlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZEFuZ2xlLCBvcHRpb25h
bCBib29sZWFuIGFudGljbG9ja3dpc2UgPSBmYWxzZSk7CisgICAgdW5kZWZpbmVkIGNsb3NlUGF0
aCgpOworICAgIHVuZGVmaW5lZCBtb3ZlVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHkpOworICAgIHVuZGVmaW5lZCBsaW5lVG8odW5yZXN0cmljdGVkIGRvdWJs
ZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIHVuZGVmaW5lZCBxdWFkcmF0aWNDdXJ2
ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUgY3B4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNweSwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIHVuZGVmaW5l
ZCBiZXppZXJDdXJ2ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUgY3AxeCwgdW5yZXN0cmljdGVkIGRv
dWJsZSBjcDF5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMngsIHVucmVzdHJpY3RlZCBkb3VibGUg
Y3AyeSwgdW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFyY1RvKHVucmVzdHJpY3RlZCBkb3VibGUg
eDEsIHVucmVzdHJpY3RlZCBkb3VibGUgeTEsIHVucmVzdHJpY3RlZCBkb3VibGUgeDIsIHVucmVz
dHJpY3RlZCBkb3VibGUgeTIsIHVucmVzdHJpY3RlZCBkb3VibGUgcmFkaXVzKTsKKyAgICAvLyBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcmNUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgx
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkxLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHgyLCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHkyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1gsIHVucmVzdHJpY3Rl
ZCBkb3VibGUgcmFkaXVzWSwgdW5yZXN0cmljdGVkIGRvdWJsZSByb3RhdGlvbik7CisgICAgdW5k
ZWZpbmVkIHJlY3QodW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHks
IHVucmVzdHJpY3RlZCBkb3VibGUgdywgdW5yZXN0cmljdGVkIGRvdWJsZSBoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcmModW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHksIHVucmVzdHJpY3RlZCBkb3VibGUgcmFkaXVzLCB1bnJlc3RyaWN0
ZWQgZG91YmxlIHN0YXJ0QW5nbGUsIHVucmVzdHJpY3RlZCBkb3VibGUgZW5kQW5nbGUsIG9wdGlv
bmFsIGJvb2xlYW4gYW50aWNsb2Nrd2lzZSA9IGZhbHNlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBlbGxpcHNlKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVk
IGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1gsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgcmFkaXVzWSwgdW5yZXN0cmljdGVkIGRvdWJsZSByb3RhdGlvbiwgdW5yZXN0cmljdGVkIGRv
dWJsZSBzdGFydEFuZ2xlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZEFuZ2xlLCBvcHRpb25hbCBi
b29sZWFuIGFudGljbG9ja3dpc2UgPSBmYWxzZSk7CiAKICAgICBbRW5hYmxlZEF0UnVudGltZT1J
bnNwZWN0b3JBZGRpdGlvbnNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBjdXJyZW50WDsKICAg
ICBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnNdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBjdXJyZW50WTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1BhdGhEcmF3aW5nU3R5bGVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXRoRHJhd2luZ1N0eWxlcy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhEcmF3aW5nU3R5bGVzLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0
ZWQgZmxvYXQgbWl0ZXJMaW1pdDsgLy8gKGRlZmF1bHQgMTApCiAKICAgICAvLyBkYXNoZWQgbGlu
ZXMKLSAgICB2b2lkIHNldExpbmVEYXNoKHNlcXVlbmNlPHVucmVzdHJpY3RlZCBmbG9hdD4gc2Vn
bWVudHMpOyAvLyBkZWZhdWx0IGVtcHR5CisgICAgdW5kZWZpbmVkIHNldExpbmVEYXNoKHNlcXVl
bmNlPHVucmVzdHJpY3RlZCBmbG9hdD4gc2VnbWVudHMpOyAvLyBkZWZhdWx0IGVtcHR5CiAgICAg
c2VxdWVuY2U8dW5yZXN0cmljdGVkIGZsb2F0PiBnZXRMaW5lRGFzaCgpOwogICAgIGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgbGluZURhc2hPZmZzZXQ7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQog
XSBpbnRlcmZhY2UgQ2FudmFzUGF0dGVybiB7CiAgICAgLy8gb3BhcXVlIG9iamVjdAotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUcmFuc2Zvcm0ob3B0aW9uYWwgRE9NTWF0cml4MkRJ
bml0IHRyYW5zZm9ybSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VHJh
bnNmb3JtKG9wdGlvbmFsIERPTU1hdHJpeDJESW5pdCB0cmFuc2Zvcm0pOwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZWN0LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogICAgIC8vIEZJWE1FOiBBbGwgdGhlIHVucmVzdHJpY3Rl
ZCBmbG9hdCBwYXJhbWV0ZXJzIGJlbG93IHNob3VsZCBiZSB1bnJlc3RyaWN0ZWQgZG91Ymxlcy4K
IAogICAgIC8vIHJlY3RzCi0gICAgdm9pZCBjbGVhclJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgs
IHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVk
IGZsb2F0IGgpOwotICAgIHZvaWQgZmlsbFJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVz
dHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVkIGZsb2F0
IGgpOwotICAgIHZvaWQgc3Ryb2tlUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaCk7
CisgICAgdW5kZWZpbmVkIGNsZWFyUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaCk7
CisgICAgdW5kZWZpbmVkIGZpbGxSZWN0KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHcsIHVucmVzdHJpY3RlZCBmbG9hdCBoKTsK
KyAgICB1bmRlZmluZWQgc3Ryb2tlUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaCk7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMywyNCArMzMsMjQgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENhbnZh
c0VsZW1lbnQgY2FudmFzOwogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGxlZ2FjeSBhbGlhc2VzIChD
b21wb3NpdGluZykuCi0gICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQWxwaGFdIHZvaWQgc2V0
QWxwaGEob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGFscGhhID0gTmFOKTsKLSAgICBbSW1w
bGVtZW50ZWRBcz1zZXRHbG9iYWxDb21wb3NpdGVPcGVyYXRpb25dIHZvaWQgc2V0Q29tcG9zaXRl
T3BlcmF0aW9uKG9wdGlvbmFsIERPTVN0cmluZyBjb21wb3NpdGVPcGVyYXRpb24gPSAidW5kZWZp
bmVkIik7IC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2
YWx1ZSBpcyB3cm9uZy4KKyAgICBbSW1wbGVtZW50ZWRBcz1zZXRHbG9iYWxBbHBoYV0gdW5kZWZp
bmVkIHNldEFscGhhKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSA9IE5hTik7Cisg
ICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uXSB1bmRlZmluZWQg
c2V0Q29tcG9zaXRlT3BlcmF0aW9uKG9wdGlvbmFsIERPTVN0cmluZyBjb21wb3NpdGVPcGVyYXRp
b24gPSAidW5kZWZpbmVkIik7IC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0
IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KIAogICAgIC8vIE5vbi1zdGFuZGFyZCBmdW5jdGlv
bmFsaXR5IChDYW52YXNEcmF3SW1hZ2UpLgotICAgIHZvaWQgZHJhd0ltYWdlRnJvbVJlY3QoSFRN
TEltYWdlRWxlbWVudCBpbWFnZSwKKyAgICB1bmRlZmluZWQgZHJhd0ltYWdlRnJvbVJlY3QoSFRN
TEltYWdlRWxlbWVudCBpbWFnZSwKICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IHN4ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHN5ID0gMCwgb3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IHN3ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHNoID0g
MCwKICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGR4ID0gMCwgb3B0aW9uYWwg
dW5yZXN0cmljdGVkIGZsb2F0IGR5ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGR3
ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGRoID0gMCwKICAgICAgICAgb3B0aW9u
YWwgRE9NU3RyaW5nIGNvbXBvc2l0ZU9wZXJhdGlvbiA9ICIiKTsKIAogICAgIC8vIE5vbi1zdGFu
ZGFyZCBsZWdhY3kgYWxpYXNlcyAoQ2FudmFzRmlsbFN0cm9rZVN0eWxlcykuCi0gICAgdm9pZCBz
ZXRTdHJva2VDb2xvcihET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBhbHBoYSk7Ci0gICAgdm9pZCBzZXRTdHJva2VDb2xvcih1bnJlc3RyaWN0ZWQgZmxvYXQgZ3Jh
eUxldmVsLCBvcHRpb25hbCBmbG9hdCBhbHBoYSA9IDEpOwotICAgIHZvaWQgc2V0U3Ryb2tlQ29s
b3IodW5yZXN0cmljdGVkIGZsb2F0IHIsIHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGEpOwotICAgIHZvaWQgc2V0U3Ryb2tlQ29s
b3IodW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsK
LSAgICB2b2lkIHNldEZpbGxDb2xvcihET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBhbHBoYSk7Ci0gICAgdm9pZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZs
b2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGFscGhhID0gMSk7Ci0g
ICAgdm9pZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IHIsIHVucmVzdHJpY3RlZCBm
bG9hdCBnLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGEpOwotICAg
IHZvaWQgc2V0RmlsbENvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxv
YXQgbSwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCBrLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYSk7CisgICAgdW5kZWZpbmVkIHNldFN0cm9rZUNvbG9yKERPTVN0cmluZyBj
b2xvciwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGFscGhhKTsKKyAgICB1bmRlZmluZWQg
c2V0U3Ryb2tlQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgZmxv
YXQgYWxwaGEgPSAxKTsKKyAgICB1bmRlZmluZWQgc2V0U3Ryb2tlQ29sb3IodW5yZXN0cmljdGVk
IGZsb2F0IHIsIHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5y
ZXN0cmljdGVkIGZsb2F0IGEpOworICAgIHVuZGVmaW5lZCBzZXRTdHJva2VDb2xvcih1bnJlc3Ry
aWN0ZWQgZmxvYXQgYywgdW5yZXN0cmljdGVkIGZsb2F0IG0sIHVucmVzdHJpY3RlZCBmbG9hdCB5
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaywgdW5yZXN0cmljdGVkIGZsb2F0IGEpOworICAgIHVuZGVm
aW5lZCBzZXRGaWxsQ29sb3IoRE9NU3RyaW5nIGNvbG9yLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgYWxwaGEpOworICAgIHVuZGVmaW5lZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZs
b2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGFscGhhID0gMSk7Cisg
ICAgdW5kZWZpbmVkIHNldEZpbGxDb2xvcih1bnJlc3RyaWN0ZWQgZmxvYXQgciwgdW5yZXN0cmlj
dGVkIGZsb2F0IGcsIHVucmVzdHJpY3RlZCBmbG9hdCBiLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYSk7
CisgICAgdW5kZWZpbmVkIHNldEZpbGxDb2xvcih1bnJlc3RyaWN0ZWQgZmxvYXQgYywgdW5yZXN0
cmljdGVkIGZsb2F0IG0sIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
aywgdW5yZXN0cmljdGVkIGZsb2F0IGEpOwogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGZ1bmN0aW9u
YWxpdHkgKENhbnZhc0ltYWdlRGF0YSkuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHdl
YmtpdEJhY2tpbmdTdG9yZVBpeGVsUmF0aW87IC8vIEFsd2F5cyByZXR1cm5zIDEuCkBAIC01OSwy
MiArNTksMjIgQEAKICAgICBbSW1wbGVtZW50ZWRBcz1pbWFnZVNtb290aGluZ0VuYWJsZWRdIGF0
dHJpYnV0ZSBib29sZWFuIHdlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZDsKIAogICAgIC8vIE5v
bi1zdGFuZGFyZCBsZWdhY3kgYWxpYXNlcyAoQ2FudmFzUGF0aERyYXdpbmdTdHlsZXMpLgotICAg
IHZvaWQgc2V0TGluZVdpZHRoKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0aCA9IE5h
Tik7Ci0gICAgdm9pZCBzZXRMaW5lQ2FwKG9wdGlvbmFsIERPTVN0cmluZyBjYXAgPSAidW5kZWZp
bmVkIik7IC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2
YWx1ZSBpcyB3cm9uZy4KLSAgICB2b2lkIHNldExpbmVKb2luKG9wdGlvbmFsIERPTVN0cmluZyBq
b2luID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVs
dCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBzZXRNaXRlckxpbWl0KG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBmbG9hdCBsaW1pdCA9IE5hTik7CisgICAgdW5kZWZpbmVkIHNldExp
bmVXaWR0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGggPSBOYU4pOworICAgIHVu
ZGVmaW5lZCBzZXRMaW5lQ2FwKG9wdGlvbmFsIERPTVN0cmluZyBjYXAgPSAidW5kZWZpbmVkIik7
IC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBp
cyB3cm9uZy4KKyAgICB1bmRlZmluZWQgc2V0TGluZUpvaW4ob3B0aW9uYWwgRE9NU3RyaW5nIGpv
aW4gPSAidW5kZWZpbmVkIik7IC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0
IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KKyAgICB1bmRlZmluZWQgc2V0TWl0ZXJMaW1pdChv
cHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbGltaXQgPSBOYU4pOwogICAgIGF0dHJpYnV0ZSBz
ZXF1ZW5jZTx1bnJlc3RyaWN0ZWQgZmxvYXQ+IHdlYmtpdExpbmVEYXNoOwogICAgIFtJbXBsZW1l
bnRlZEFzPWxpbmVEYXNoT2Zmc2V0XSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtp
dExpbmVEYXNoT2Zmc2V0OwogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGxlZ2FjeSBhbGlhc2VzIChD
YW52YXNTaGFkb3dTdHlsZXMpLgotICAgIHZvaWQgc2V0U2hhZG93KHVucmVzdHJpY3RlZCBmbG9h
dCB3aWR0aCwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJs
dXIsIG9wdGlvbmFsIERPTVN0cmluZyBjb2xvciwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IGFscGhhKTsKLSAgICB2b2lkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGgsIHVu
cmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBibHVyLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgZ3JheUxldmVsLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEg
PSAxKTsKLSAgICB2b2lkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGgsIHVucmVz
dHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBibHVyLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgciwgdW5yZXN0cmljdGVkIGZsb2F0IGcsIHVucmVzdHJpY3RlZCBmbG9hdCBiLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgYSk7Ci0gICAgdm9pZCBzZXRTaGFkb3coZmxvYXQgd2lkdGgsIHVu
cmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBibHVyLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYywgdW5yZXN0cmljdGVkIGZsb2F0IG0sIHVucmVzdHJpY3RlZCBmbG9hdCB5
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaywgdW5yZXN0cmljdGVkIGZsb2F0IGEpOwotICAgIHZvaWQg
Y2xlYXJTaGFkb3coKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KHVucmVzdHJpY3RlZCBmbG9h
dCB3aWR0aCwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJs
dXIsIG9wdGlvbmFsIERPTVN0cmluZyBjb2xvciwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IGFscGhhKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0
aCwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIsIHVu
cmVzdHJpY3RlZCBmbG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBh
bHBoYSA9IDEpOworICAgIHVuZGVmaW5lZCBzZXRTaGFkb3codW5yZXN0cmljdGVkIGZsb2F0IHdp
ZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1ciwg
dW5yZXN0cmljdGVkIGZsb2F0IHIsIHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGEpOworICAgIHVuZGVmaW5lZCBzZXRTaGFkb3co
ZmxvYXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9h
dCBibHVyLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYywgdW5yZXN0cmljdGVkIGZsb2F0IG0sIHVucmVz
dHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaywgdW5yZXN0cmljdGVkIGZsb2F0
IGEpOworICAgIHVuZGVmaW5lZCBjbGVhclNoYWRvdygpOwogCiAgICAgLy8gSW5zcGVjdG9yLW9u
bHkuCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zXSB2b2lkIHNldFBh
dGgoUGF0aDJEIHBhdGgpOworICAgIFtFbmFibGVkQXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9u
c10gdW5kZWZpbmVkIHNldFBhdGgoUGF0aDJEIHBhdGgpOwogICAgIFtFbmFibGVkQXRSdW50aW1l
PUluc3BlY3RvckFkZGl0aW9ucywgTmV3T2JqZWN0XSBQYXRoMkQgZ2V0UGF0aCgpOwogfTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0YXRlLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3RhdGUuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlcikKIF0gaW50ZXJmYWNlIENhbnZhc1N0YXRlIHsKICAgICAvLyBzdGF0ZQotICAgIHZvaWQg
c2F2ZSgpOyAvLyBwdXNoIHN0YXRlIG9uIHN0YXRlIHN0YWNrCi0gICAgdm9pZCByZXN0b3JlKCk7
IC8vIHBvcCBzdGF0ZSBzdGFjayBhbmQgcmVzdG9yZSBzdGF0ZQorICAgIHVuZGVmaW5lZCBzYXZl
KCk7IC8vIHB1c2ggc3RhdGUgb24gc3RhdGUgc3RhY2sKKyAgICB1bmRlZmluZWQgcmVzdG9yZSgp
OyAvLyBwb3Agc3RhdGUgc3RhY2sgYW5kIHJlc3RvcmUgc3RhdGUKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNUZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNUZXh0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVGV4dC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDcgKzMwLDcgQEAKICAgICAvLyBGSVhNRTogQWxsIHRoZSB1bnJlc3RyaWN0ZWQgZmxv
YXQgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZXMuCiAKICAg
ICAvLyB0ZXh0IChzZWUgYWxzbyB0aGUgQ2FudmFzUGF0aERyYXdpbmdTdHlsZXMgYW5kIENhbnZh
c1RleHREcmF3aW5nU3R5bGVzIGludGVyZmFjZXMpCi0gICAgdm9pZCBmaWxsVGV4dChET01TdHJp
bmcgdGV4dCwgdW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCBvcHRp
b25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbWF4V2lkdGgpOwotICAgIHZvaWQgc3Ryb2tlVGV4dChE
T01TdHJpbmcgdGV4dCwgdW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5
LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbWF4V2lkdGgpOworICAgIHVuZGVmaW5lZCBm
aWxsVGV4dChET01TdHJpbmcgdGV4dCwgdW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3Rl
ZCBmbG9hdCB5LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbWF4V2lkdGgpOworICAgIHVu
ZGVmaW5lZCBzdHJva2VUZXh0KERPTVN0cmluZyB0ZXh0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeCwg
dW5yZXN0cmljdGVkIGZsb2F0IHksIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBtYXhXaWR0
aCk7CiAgICAgVGV4dE1ldHJpY3MgbWVhc3VyZVRleHQoRE9NU3RyaW5nIHRleHQpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1RyYW5zZm9ybS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVHJhbnNmb3JtLmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVHJh
bnNmb3JtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEzIEBACiAgICAgLy8gRklY
TUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZsb2F0IHBhcmFtZXRlcnMgYmVsb3cgc2hvdWxkIGJl
IHVucmVzdHJpY3RlZCBkb3VibGVzLgogCiAgICAgLy8gdHJhbnNmb3JtYXRpb25zIChkZWZhdWx0
IHRyYW5zZm9ybSBpcyB0aGUgaWRlbnRpdHkgbWF0cml4KQotICAgIHZvaWQgc2NhbGUodW5yZXN0
cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5KTsKLSAgICB2b2lkIHJvdGF0ZSh1
bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUpOwotICAgIHZvaWQgdHJhbnNsYXRlKHVucmVzdHJpY3Rl
ZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7Ci0gICAgdm9pZCB0cmFuc2Zvcm0odW5y
ZXN0cmljdGVkIGZsb2F0IGEsIHVucmVzdHJpY3RlZCBmbG9hdCBiLCB1bnJlc3RyaWN0ZWQgZmxv
YXQgYywgdW5yZXN0cmljdGVkIGZsb2F0IGQsIHVucmVzdHJpY3RlZCBmbG9hdCBlLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgZik7CisgICAgdW5kZWZpbmVkIHNjYWxlKHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7CisgICAgdW5kZWZpbmVkIHJvdGF0ZSh1bnJlc3RyaWN0
ZWQgZmxvYXQgYW5nbGUpOworICAgIHVuZGVmaW5lZCB0cmFuc2xhdGUodW5yZXN0cmljdGVkIGZs
b2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5KTsKKyAgICB1bmRlZmluZWQgdHJhbnNmb3JtKHVu
cmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZs
b2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBkLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZSwgdW5yZXN0
cmljdGVkIGZsb2F0IGYpOwogCiAgICAgW05ld09iamVjdF0gRE9NTWF0cml4IGdldFRyYW5zZm9y
bSgpOwotICAgIHZvaWQgc2V0VHJhbnNmb3JtKHVucmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBk
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgZSwgdW5yZXN0cmljdGVkIGZsb2F0IGYpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUcmFuc2Zvcm0ob3B0aW9uYWwgRE9NTWF0cml4MkRJbml0
IHRyYW5zZm9ybSk7Ci0gICAgdm9pZCByZXNldFRyYW5zZm9ybSgpOworICAgIHVuZGVmaW5lZCBz
ZXRUcmFuc2Zvcm0odW5yZXN0cmljdGVkIGZsb2F0IGEsIHVucmVzdHJpY3RlZCBmbG9hdCBiLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgYywgdW5yZXN0cmljdGVkIGZsb2F0IGQsIHVucmVzdHJpY3RlZCBm
bG9hdCBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0VHJhbnNmb3JtKG9wdGlvbmFsIERPTU1hdHJpeDJESW5pdCB0cmFuc2Zvcm0p
OworICAgIHVuZGVmaW5lZCByZXNldFRyYW5zZm9ybSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1VzZXJJbnRlcmZhY2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1VzZXJJbnRlcmZhY2UuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNVc2VySW50ZXJm
YWNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTAgKzI3LDEwIEBACiAgICAgTm9JbnRlcmZh
Y2VPYmplY3QsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIENhbnZhc1VzZXJJbnRl
cmZhY2UgewotICAgIHZvaWQgZHJhd0ZvY3VzSWZOZWVkZWQoRWxlbWVudCBlbGVtZW50KTsKLSAg
ICB2b2lkIGRyYXdGb2N1c0lmTmVlZGVkKFBhdGgyRCBwYXRoLCBFbGVtZW50IGVsZW1lbnQpOwor
ICAgIHVuZGVmaW5lZCBkcmF3Rm9jdXNJZk5lZWRlZChFbGVtZW50IGVsZW1lbnQpOworICAgIHVu
ZGVmaW5lZCBkcmF3Rm9jdXNJZk5lZWRlZChQYXRoMkQgcGF0aCwgRWxlbWVudCBlbGVtZW50KTsK
IAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc2Nyb2xsUGF0aEludG9WaWV3LgotICAgIC8vIHZv
aWQgc2Nyb2xsUGF0aEludG9WaWV3KCk7Ci0gICAgLy8gdm9pZCBzY3JvbGxQYXRoSW50b1ZpZXco
UGF0aDJEIHBhdGgpOworICAgIC8vIHVuZGVmaW5lZCBzY3JvbGxQYXRoSW50b1ZpZXcoKTsKKyAg
ICAvLyB1bmRlZmluZWQgc2Nyb2xsUGF0aEludG9WaWV3KFBhdGgyRCBwYXRoKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ltYWdlQml0bWFw
UmVuZGVyaW5nQ29udGV4dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDYgQEAKIF0gaW50ZXJmYWNlIEltYWdlQml0bWFwUmVuZGVyaW5nQ29u
dGV4dCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50IGNhbnZhczsK
IAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0cmFuc2ZlckZyb21JbWFnZUJpdG1hcChJ
bWFnZUJpdG1hcD8gYml0bWFwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB0
cmFuc2ZlckZyb21JbWFnZUJpdG1hcChJbWFnZUJpdG1hcD8gYml0bWFwKTsKIH07CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVj
dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1ZlcnRleEFycmF5T2JqZWN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAog
ICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgVkVSVEVYX0FSUkFZX0JJTkRJTkdfT0VTID0gMHg4NUI1
OwogCiAgICAgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUyBjcmVhdGVWZXJ0ZXhBcnJheU9FUygp
OwotICAgIHZvaWQgZGVsZXRlVmVydGV4QXJyYXlPRVMob3B0aW9uYWwgV2ViR0xWZXJ0ZXhBcnJh
eU9iamVjdE9FUz8gYXJyYXlPYmplY3QgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlVmVy
dGV4QXJyYXlPRVMob3B0aW9uYWwgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUz8gYXJyYXlPYmpl
Y3QgPSBudWxsKTsKICAgICBib29sZWFuIGlzVmVydGV4QXJyYXlPRVMob3B0aW9uYWwgV2ViR0xW
ZXJ0ZXhBcnJheU9iamVjdE9FUz8gYXJyYXlPYmplY3QgPSBudWxsKTsKLSAgICB2b2lkIGJpbmRW
ZXJ0ZXhBcnJheU9FUyhvcHRpb25hbCBXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTPyBhcnJheU9i
amVjdCA9IG51bGwpOworICAgIHVuZGVmaW5lZCBiaW5kVmVydGV4QXJyYXlPRVMob3B0aW9uYWwg
V2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUz8gYXJyYXlPYmplY3QgPSBudWxsKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09mZnNj
cmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDExICszMywxMSBAQAogICAgIC8vIENhbGxUcmFj
aW5nQ2FsbGJhY2s9cmVjb3JkQ2FudmFzQWN0aW9uLCAvLyBGSVhNRTogT2Zmc2NyZWVuQ2FudmFz
LgogXSBpbnRlcmZhY2UgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgT2Zmc2NyZWVuQ2FudmFzIGNhbnZhczsKLSAgICB2b2lkIGNvbW1p
dCgpOworICAgIHVuZGVmaW5lZCBjb21taXQoKTsKIAogICAgIC8vIEluc3BlY3Rvci1vbmx5Lgog
ICAgIC8vIEZJWE1FOiBPZmZzY3JlZW5DYW52YXMuCi0gICAgLy8gW0VuYWJsZWRBdFJ1bnRpbWU9
SW5zcGVjdG9yQWRkaXRpb25zXSB2b2lkIHNldFBhdGgoUGF0aDJEIHBhdGgpOworICAgIC8vIFtF
bmFibGVkQXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9uc10gdW5kZWZpbmVkIHNldFBhdGgoUGF0
aDJEIHBhdGgpOwogICAgIC8vIFtFbmFibGVkQXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9ucywg
TmV3T2JqZWN0XSBQYXRoMkQgZ2V0UGF0aCgpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvUGF0aDJELmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9QYXRoMkQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9QYXRoMkQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAg
ICAgLy8gY29uc3RydWN0b3Ioc2VxdWVuY2U8UGF0aDJEPiBwYXRocywgb3B0aW9uYWwgQ2FudmFz
RmlsbFJ1bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOwogICAgIGNvbnN0cnVjdG9yKERPTVN0cmlu
ZyBkKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGRQYXRoKFBhdGgyRCBwYXRo
LCBvcHRpb25hbCBET01NYXRyaXgyREluaXQgdHJhbnNmb3JtKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBhZGRQYXRoKFBhdGgyRCBwYXRoLCBvcHRpb25hbCBET01NYXRyaXgy
REluaXQgdHJhbnNmb3JtKTsKIH07CiAKIFBhdGgyRCBpbXBsZW1lbnRzIENhbnZhc1BhdGg7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJp
bmdDb250ZXh0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzNywx
NjcgKzMzNywxNjcgQEAgdHlwZWRlZiAoSW1hZ2VCaXRtYXAgb3IgSW1hZ2VEYXRhIG9yIEhUTQog
ICAgIGNvbnN0IEdMZW51bSBNQVhfQ0xJRU5UX1dBSVRfVElNRU9VVF9XRUJHTCAgICAgICAgICAg
ICAgICAgPSAweDkyNDc7CiAKICAgICAvLyBCdWZmZXIgb2JqZWN0cy4KLSAgICB2b2lkIGJ1ZmZl
ckRhdGEoR0xlbnVtIHRhcmdldCwgQXJyYXlCdWZmZXJWaWV3IGRhdGEsIEdMZW51bSB1c2FnZSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDApOwotICAgIHZvaWQg
YnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBkc3RCeXRlT2Zmc2V0LCBBcnJh
eUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IGxl
bmd0aCA9IDApOworICAgIHVuZGVmaW5lZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEFycmF5
QnVmZmVyVmlldyBkYXRhLCBHTGVudW0gdXNhZ2UsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFs
IEdMdWludCBsZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgYnVmZmVyU3ViRGF0YShHTGVudW0g
dGFyZ2V0LCBHTGludHB0ciBkc3RCeXRlT2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDApOwogCi0gICAgdm9p
ZCBjb3B5QnVmZmVyU3ViRGF0YShHTGVudW0gcmVhZFRhcmdldCwgR0xlbnVtIHdyaXRlVGFyZ2V0
LCBHTGludHB0ciByZWFkT2Zmc2V0LCBHTGludHB0ciB3cml0ZU9mZnNldCwgR0xzaXplaXB0ciBz
aXplKTsKLSAgICB2b2lkIGdldEJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIg
c3JjQnl0ZU9mZnNldCwgQXJyYXlCdWZmZXJWaWV3IGRzdERhdGEsIG9wdGlvbmFsIEdMdWludCBk
c3RPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVk
IGNvcHlCdWZmZXJTdWJEYXRhKEdMZW51bSByZWFkVGFyZ2V0LCBHTGVudW0gd3JpdGVUYXJnZXQs
IEdMaW50cHRyIHJlYWRPZmZzZXQsIEdMaW50cHRyIHdyaXRlT2Zmc2V0LCBHTHNpemVpcHRyIHNp
emUpOworICAgIHVuZGVmaW5lZCBnZXRCdWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQsIEdMaW50
cHRyIHNyY0J5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBkc3REYXRhLCBvcHRpb25hbCBHTHVp
bnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDApOwogCiAgICAgLy8g
RnJhbWVidWZmZXIgb2JqZWN0cy4KLSAgICB2b2lkIGJsaXRGcmFtZWJ1ZmZlcihHTGludCBzcmNY
MCwgR0xpbnQgc3JjWTAsIEdMaW50IHNyY1gxLCBHTGludCBzcmNZMSwgR0xpbnQgZHN0WDAsIEdM
aW50IGRzdFkwLCBHTGludCBkc3RYMSwgR0xpbnQgZHN0WTEsIEdMYml0ZmllbGQgbWFzaywgR0xl
bnVtIGZpbHRlcik7Ci0gICAgdm9pZCBmcmFtZWJ1ZmZlclRleHR1cmVMYXllcihHTGVudW0gdGFy
Z2V0LCBHTGVudW0gYXR0YWNobWVudCwgV2ViR0xUZXh0dXJlPyB0ZXh0dXJlLCBHTGludCBsZXZl
bCwgR0xpbnQgbGF5ZXIpOwotICAgIHZvaWQgaW52YWxpZGF0ZUZyYW1lYnVmZmVyKEdMZW51bSB0
YXJnZXQsIHNlcXVlbmNlPEdMZW51bT4gYXR0YWNobWVudHMpOwotICAgIHZvaWQgaW52YWxpZGF0
ZVN1YkZyYW1lYnVmZmVyKEdMZW51bSB0YXJnZXQsIHNlcXVlbmNlPEdMZW51bT4gYXR0YWNobWVu
dHMsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKLSAg
ICB2b2lkIHJlYWRCdWZmZXIoR0xlbnVtIHNyYyk7CisgICAgdW5kZWZpbmVkIGJsaXRGcmFtZWJ1
ZmZlcihHTGludCBzcmNYMCwgR0xpbnQgc3JjWTAsIEdMaW50IHNyY1gxLCBHTGludCBzcmNZMSwg
R0xpbnQgZHN0WDAsIEdMaW50IGRzdFkwLCBHTGludCBkc3RYMSwgR0xpbnQgZHN0WTEsIEdMYml0
ZmllbGQgbWFzaywgR0xlbnVtIGZpbHRlcik7CisgICAgdW5kZWZpbmVkIGZyYW1lYnVmZmVyVGV4
dHVyZUxheWVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBXZWJHTFRleHR1cmU/
IHRleHR1cmUsIEdMaW50IGxldmVsLCBHTGludCBsYXllcik7CisgICAgdW5kZWZpbmVkIGludmFs
aWRhdGVGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1l
bnRzKTsKKyAgICB1bmRlZmluZWQgaW52YWxpZGF0ZVN1YkZyYW1lYnVmZmVyKEdMZW51bSB0YXJn
ZXQsIHNlcXVlbmNlPEdMZW51bT4gYXR0YWNobWVudHMsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6
ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgcmVhZEJ1ZmZlcihHTGVu
dW0gc3JjKTsKIAogICAgIC8vIFJlbmRlcmJ1ZmZlciBvYmplY3RzLgogICAgIFtPdmVycmlkZUlE
TFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRJbnRlcm5hbGZvcm1hdFBhcmFtZXRlcihHTGVudW0g
dGFyZ2V0LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMZW51bSBwbmFtZSk7Ci0gICAgdm9pZCBy
ZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBzYW1w
bGVzLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
KTsKKyAgICB1bmRlZmluZWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0
YXJnZXQsIEdMc2l6ZWkgc2FtcGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCk7CiAKICAgICAvLyBUZXh0dXJlIG9iamVjdHMuCi0gICAgdm9p
ZCB0ZXhTdG9yYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdMZW51bSBpbnRl
cm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgdGV4
U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0gaW50ZXJuYWxm
b3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoKTsKKyAg
ICB1bmRlZmluZWQgdGV4U3RvcmFnZTJEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKKyAg
ICB1bmRlZmluZWQgdGV4U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNp
emVpIGRlcHRoKTsKIAotICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBl
LCBHTGludHB0ciBwYm9PZmZzZXQpOwotICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdM
ZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4SW1hZ2UzRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7Ci0gICAgdm9p
ZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50
IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBzcmNE
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0KTsKLQotICAgIHZvaWQgdGV4U3ViSW1hZ2UzRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQg
em9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdM
ZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBwYm9PZmZzZXQpOwotICAgIHZvaWQg
dGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwg
R0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNv
dXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xz
aXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQs
IEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBz
cmNPZmZzZXQgPSAwKTsKLQotICAgIHZvaWQgY29weVRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZz
ZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKLQot
ICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWws
IEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdM
c2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9m
ZnNldCk7Ci0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0
YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5n
dGhPdmVycmlkZSA9IDApOwotICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlM0QoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50
IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBH
TGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2
b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZm
ZXJWaWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBH
THVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKyAgICB1bmRlZmluZWQgdGV4SW1hZ2UzRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBwYm9PZmZzZXQpOworICAgIHVuZGVmaW5l
ZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50
IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJj
ZSk7CisgICAgdW5kZWZpbmVkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWws
IEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJy
YXlCdWZmZXJWaWV3PyBwaXhlbHMpOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTNEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
KTsKKworICAgIHVuZGVmaW5lZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdl
M0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVp
IGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNl
KTsKKyAgICB1bmRlZmluZWQgdGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZl
bCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEdMZW51
bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwKTsKKworICAgIHVuZGVmaW5lZCBjb3B5VGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNl
dCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOworCisg
ICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0
ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZp
ZXcgc3JjRGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWlu
dCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4U3Vi
SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdM
c2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0ciBv
ZmZzZXQpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9m
ZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51
bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zm
c2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CiAKICAgICAv
LyBQcm9ncmFtcyBhbmQgc2hhZGVycy8KICAgICBHTGludCBnZXRGcmFnRGF0YUxvY2F0aW9uKFdl
YkdMUHJvZ3JhbSBwcm9ncmFtLCBET01TdHJpbmcgbmFtZSk7CiAKICAgICAvLyBVbmlmb3JtcyBh
bmQgYXR0cmlidXRlcy4KLSAgICB2b2lkIHVuaWZvcm0xdWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTHVpbnQgdjApOwotICAgIHZvaWQgdW5pZm9ybTJ1aShXZWJHTFVuaWZvcm1M
b2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCwgR0x1aW50IHYxKTsKLSAgICB2b2lkIHVuaWZv
cm0zdWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2
MSwgR0x1aW50IHYyKTsKLSAgICB2b2lkIHVuaWZvcm00dWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSwgR0x1aW50IHYyLCBHTHVpbnQgdjMpOwot
ICAgIHZvaWQgdW5pZm9ybTF1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBVaW50
MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVp
bnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtMnVpdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIFVpbnQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm0z
dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRp
b25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OwotICAgIHZvaWQgdW5pZm9ybTR1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBV
aW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBH
THVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MngzZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDN4MmZ2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwg
b3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGgg
PSAwKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgyeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8g
bG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFs
IEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0g
ICAgdm9pZCB1bmlmb3JtTWF0cml4NHgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQg
c3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDN4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29s
ZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm1N
YXRyaXg0eDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFu
c3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBv
cHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNGko
R0x1aW50IGluZGV4LCBHTGludCB4LCBHTGludCB5LCBHTGludCB6LCBHTGludCB3KTsKLSAgICB2
b2lkIHZlcnRleEF0dHJpYkk0aXYoR0x1aW50IGluZGV4LCBJbnQzMkxpc3QgdmFsdWVzKTsKLSAg
ICB2b2lkIHZlcnRleEF0dHJpYkk0dWkoR0x1aW50IGluZGV4LCBHTHVpbnQgeCwgR0x1aW50IHks
IEdMdWludCB6LCBHTHVpbnQgdyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHTHVpbnQg
aW5kZXgsIFVpbnQzMkxpc3QgdmFsdWVzKTsKLSAgICB2b2lkIHZlcnRleEF0dHJpYklQb2ludGVy
KEdMdWludCBpbmRleCwgR0xpbnQgc2l6ZSwgR0xlbnVtIHR5cGUsIEdMc2l6ZWkgc3RyaWRlLCBH
TGludHB0ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJ1aShX
ZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCwgR0x1aW50IHYxKTsKKyAg
ICB1bmRlZmluZWQgdW5pZm9ybTN1aShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdM
dWludCB2MCwgR0x1aW50IHYxLCBHTHVpbnQgdjIpOworICAgIHVuZGVmaW5lZCB1bmlmb3JtNHVp
KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQgdjEsIEdM
dWludCB2MiwgR0x1aW50IHYzKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTF1aXYoV2ViR0xVbmlm
b3JtTG9jYXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBz
cmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZp
bmVkIHVuaWZvcm0ydWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlz
dCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtM3VpdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIFVpbnQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5p
Zm9ybTR1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEs
IG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm1NYXRyaXgyeDNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9w
dGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0g
MCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm1NYXRyaXgzeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlv
bj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlv
bmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7
CisgICAgdW5kZWZpbmVkIHVuaWZvcm1NYXRyaXgyeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8g
bG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFs
IEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Cisg
ICAgdW5kZWZpbmVkIHVuaWZvcm1NYXRyaXg0eDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9j
YXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdM
dWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAg
dW5kZWZpbmVkIHVuaWZvcm1NYXRyaXgzeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5k
ZWZpbmVkIHVuaWZvcm1NYXRyaXg0eDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBz
cmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZp
bmVkIHZlcnRleEF0dHJpYkk0aShHTHVpbnQgaW5kZXgsIEdMaW50IHgsIEdMaW50IHksIEdMaW50
IHosIEdMaW50IHcpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJNGl2KEdMdWludCBpbmRl
eCwgSW50MzJMaXN0IHZhbHVlcyk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYkk0dWkoR0x1
aW50IGluZGV4LCBHTHVpbnQgeCwgR0x1aW50IHksIEdMdWludCB6LCBHTHVpbnQgdyk7CisgICAg
dW5kZWZpbmVkIHZlcnRleEF0dHJpYkk0dWl2KEdMdWludCBpbmRleCwgVWludDMyTGlzdCB2YWx1
ZXMpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHTHVpbnQgaW5kZXgsIEdM
aW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zmc2V0KTsK
IAogICAgIC8vIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyLgotICAgIHZvaWQgdmVydGV4
QXR0cmliRGl2aXNvcihHTHVpbnQgaW5kZXgsIEdMdWludCBkaXZpc29yKTsKLSAgICB2b2lkIGRy
YXdBcnJheXNJbnN0YW5jZWQoR0xlbnVtIG1vZGUsIEdMaW50IGZpcnN0LCBHTHNpemVpIGNvdW50
LCBHTHNpemVpIGluc3RhbmNlQ291bnQpOwotICAgIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2Vk
KEdMZW51bSBtb2RlLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0
LCBHTHNpemVpIGluc3RhbmNlQ291bnQpOwotICAgIHZvaWQgZHJhd1JhbmdlRWxlbWVudHMoR0xl
bnVtIG1vZGUsIEdMdWludCBzdGFydCwgR0x1aW50IGVuZCwgR0xzaXplaSBjb3VudCwgR0xlbnVt
IHR5cGUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYkRpdmlz
b3IoR0x1aW50IGluZGV4LCBHTHVpbnQgZGl2aXNvcik7CisgICAgdW5kZWZpbmVkIGRyYXdBcnJh
eXNJbnN0YW5jZWQoR0xlbnVtIG1vZGUsIEdMaW50IGZpcnN0LCBHTHNpemVpIGNvdW50LCBHTHNp
emVpIGluc3RhbmNlQ291bnQpOworICAgIHVuZGVmaW5lZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQo
R0xlbnVtIG1vZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQs
IEdMc2l6ZWkgaW5zdGFuY2VDb3VudCk7CisgICAgdW5kZWZpbmVkIGRyYXdSYW5nZUVsZW1lbnRz
KEdMZW51bSBtb2RlLCBHTHVpbnQgc3RhcnQsIEdMdWludCBlbmQsIEdMc2l6ZWkgY291bnQsIEdM
ZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpOwogCiAgICAgLy8gTXVsdGlwbGUgUmVuZGVyIFRh
cmdldHMuCi0gICAgdm9pZCBkcmF3QnVmZmVycyhzZXF1ZW5jZTxHTGVudW0+IGJ1ZmZlcnMpOwot
ICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBJ
bnQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7Ci0gICAgdm9p
ZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBVaW50MzJM
aXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwotICAgIHZvaWQgY2xl
YXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCB2
YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwKTsKLSAgICB2b2lkIGNsZWFyQnVm
ZmVyZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgR0xmbG9hdCBkZXB0aCwgR0xp
bnQgc3RlbmNpbCk7CisgICAgdW5kZWZpbmVkIGRyYXdCdWZmZXJzKHNlcXVlbmNlPEdMZW51bT4g
YnVmZmVycyk7CisgICAgdW5kZWZpbmVkIGNsZWFyQnVmZmVyaXYoR0xlbnVtIGJ1ZmZlciwgR0xp
bnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcmZ2KEdMZW51bSBidWZmZXIsIEdMaW50
IGRyYXdidWZmZXIsIEZsb2F0MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcmZpKEdMZW51bSBidWZmZXIsIEdMaW50
IGRyYXdidWZmZXIsIEdMZmxvYXQgZGVwdGgsIEdMaW50IHN0ZW5jaWwpOwogCiAgICAgLy8gUXVl
cnkgT2JqZWN0cy4KICAgICBXZWJHTFF1ZXJ5PyBjcmVhdGVRdWVyeSgpOwotICAgIHZvaWQgZGVs
ZXRlUXVlcnkoV2ViR0xRdWVyeT8gcXVlcnkpOworICAgIHVuZGVmaW5lZCBkZWxldGVRdWVyeShX
ZWJHTFF1ZXJ5PyBxdWVyeSk7CiAgICAgR0xib29sZWFuIGlzUXVlcnkoV2ViR0xRdWVyeT8gcXVl
cnkpOwotICAgIHZvaWQgYmVnaW5RdWVyeShHTGVudW0gdGFyZ2V0LCBXZWJHTFF1ZXJ5IHF1ZXJ5
KTsKLSAgICB2b2lkIGVuZFF1ZXJ5KEdMZW51bSB0YXJnZXQpOworICAgIHVuZGVmaW5lZCBiZWdp
blF1ZXJ5KEdMZW51bSB0YXJnZXQsIFdlYkdMUXVlcnkgcXVlcnkpOworICAgIHVuZGVmaW5lZCBl
bmRRdWVyeShHTGVudW0gdGFyZ2V0KTsKICAgICBXZWJHTFF1ZXJ5PyBnZXRRdWVyeShHTGVudW0g
dGFyZ2V0LCBHTGVudW0gcG5hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnld
IGFueSBnZXRRdWVyeVBhcmFtZXRlcihXZWJHTFF1ZXJ5IHF1ZXJ5LCBHTGVudW0gcG5hbWUpOwog
CiAgICAgLy8gU2FtcGxlciBPYmplY3RzLgogICAgIFdlYkdMU2FtcGxlcj8gY3JlYXRlU2FtcGxl
cigpOwotICAgIHZvaWQgZGVsZXRlU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOworICAg
IHVuZGVmaW5lZCBkZWxldGVTYW1wbGVyKFdlYkdMU2FtcGxlcj8gc2FtcGxlcik7CiAgICAgR0xi
b29sZWFuIGlzU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwotICAgIHZvaWQgYmluZFNh
bXBsZXIoR0x1aW50IHVuaXQsIFdlYkdMU2FtcGxlcj8gc2FtcGxlcik7Ci0gICAgdm9pZCBzYW1w
bGVyUGFyYW1ldGVyaShXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1lLCBHTGludCBw
YXJhbSk7Ci0gICAgdm9pZCBzYW1wbGVyUGFyYW1ldGVyZihXZWJHTFNhbXBsZXIgc2FtcGxlciwg
R0xlbnVtIHBuYW1lLCBHTGZsb2F0IHBhcmFtKTsKKyAgICB1bmRlZmluZWQgYmluZFNhbXBsZXIo
R0x1aW50IHVuaXQsIFdlYkdMU2FtcGxlcj8gc2FtcGxlcik7CisgICAgdW5kZWZpbmVkIHNhbXBs
ZXJQYXJhbWV0ZXJpKFdlYkdMU2FtcGxlciBzYW1wbGVyLCBHTGVudW0gcG5hbWUsIEdMaW50IHBh
cmFtKTsKKyAgICB1bmRlZmluZWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVyIHNhbXBs
ZXIsIEdMZW51bSBwbmFtZSwgR0xmbG9hdCBwYXJhbSk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1J
RExXZWJHTEFueV0gYW55IGdldFNhbXBsZXJQYXJhbWV0ZXIoV2ViR0xTYW1wbGVyIHNhbXBsZXIs
IEdMZW51bSBwbmFtZSk7CiAKICAgICAvLyBTeW5jIG9iamVjdHMuCiAgICAgV2ViR0xTeW5jPyBm
ZW5jZVN5bmMoR0xlbnVtIGNvbmRpdGlvbiwgR0xiaXRmaWVsZCBmbGFncyk7CiAgICAgR0xib29s
ZWFuIGlzU3luYyhXZWJHTFN5bmM/IHN5bmMpOwotICAgIHZvaWQgZGVsZXRlU3luYyhXZWJHTFN5
bmM/IHN5bmMpOworICAgIHVuZGVmaW5lZCBkZWxldGVTeW5jKFdlYkdMU3luYz8gc3luYyk7CiAg
ICAgR0xlbnVtIGNsaWVudFdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBHTGJpdGZpZWxkIGZsYWdz
LCBHTHVpbnQ2NCB0aW1lb3V0KTsKLSAgICB2b2lkIHdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBH
TGJpdGZpZWxkIGZsYWdzLCBHTGludDY0IHRpbWVvdXQpOworICAgIHVuZGVmaW5lZCB3YWl0U3lu
YyhXZWJHTFN5bmMgc3luYywgR0xiaXRmaWVsZCBmbGFncywgR0xpbnQ2NCB0aW1lb3V0KTsKICAg
ICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0U3luY1BhcmFtZXRlcihXZWJH
TFN5bmMgc3luYywgR0xlbnVtIHBuYW1lKTsKIAogICAgIC8vIFRyYW5zZm9ybSBGZWVkYmFjay4K
ICAgICBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBjcmVhdGVUcmFuc2Zvcm1GZWVkYmFjaygpOwot
ICAgIHZvaWQgZGVsZXRlVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz8g
aWQpOworICAgIHVuZGVmaW5lZCBkZWxldGVUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9y
bUZlZWRiYWNrPyBpZCk7CiAgICAgR0xib29sZWFuIGlzVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xU
cmFuc2Zvcm1GZWVkYmFjaz8gaWQpOwotICAgIHZvaWQgYmluZFRyYW5zZm9ybUZlZWRiYWNrKEdM
ZW51bSB0YXJnZXQsIFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGlkKTsKLSAgICB2b2lkIGJlZ2lu
VHJhbnNmb3JtRmVlZGJhY2soR0xlbnVtIHByaW1pdGl2ZU1vZGUpOwotICAgIHZvaWQgZW5kVHJh
bnNmb3JtRmVlZGJhY2soKTsKLSAgICB2b2lkIHRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoV2Vi
R0xQcm9ncmFtIHByb2dyYW0sIHNlcXVlbmNlPERPTVN0cmluZz4gdmFyeWluZ3MsIEdMZW51bSBi
dWZmZXJNb2RlKTsKKyAgICB1bmRlZmluZWQgYmluZFRyYW5zZm9ybUZlZWRiYWNrKEdMZW51bSB0
YXJnZXQsIFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGlkKTsKKyAgICB1bmRlZmluZWQgYmVnaW5U
cmFuc2Zvcm1GZWVkYmFjayhHTGVudW0gcHJpbWl0aXZlTW9kZSk7CisgICAgdW5kZWZpbmVkIGVu
ZFRyYW5zZm9ybUZlZWRiYWNrKCk7CisgICAgdW5kZWZpbmVkIHRyYW5zZm9ybUZlZWRiYWNrVmFy
eWluZ3MoV2ViR0xQcm9ncmFtIHByb2dyYW0sIHNlcXVlbmNlPERPTVN0cmluZz4gdmFyeWluZ3Ms
IEdMZW51bSBidWZmZXJNb2RlKTsKICAgICBXZWJHTEFjdGl2ZUluZm8/IGdldFRyYW5zZm9ybUZl
ZWRiYWNrVmFyeWluZyhXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IGluZGV4KTsKLSAgICB2
b2lkIHBhdXNlVHJhbnNmb3JtRmVlZGJhY2soKTsKLSAgICB2b2lkIHJlc3VtZVRyYW5zZm9ybUZl
ZWRiYWNrKCk7CisgICAgdW5kZWZpbmVkIHBhdXNlVHJhbnNmb3JtRmVlZGJhY2soKTsKKyAgICB1
bmRlZmluZWQgcmVzdW1lVHJhbnNmb3JtRmVlZGJhY2soKTsKIAogICAgIC8vIFVuaWZvcm0gQnVm
ZmVyIE9iamVjdHMgYW5kIFRyYW5zZm9ybSBGZWVkYmFjayBCdWZmZXJzLgotICAgIHZvaWQgYmlu
ZEJ1ZmZlckJhc2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZlcj8gYnVm
ZmVyKTsKLSAgICB2b2lkIGJpbmRCdWZmZXJSYW5nZShHTGVudW0gdGFyZ2V0LCBHTHVpbnQgaW5k
ZXgsIFdlYkdMQnVmZmVyPyBidWZmZXIsIEdMaW50cHRyIG9mZnNldCwgR0xzaXplaXB0ciBzaXpl
KTsKKyAgICB1bmRlZmluZWQgYmluZEJ1ZmZlckJhc2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGlu
ZGV4LCBXZWJHTEJ1ZmZlcj8gYnVmZmVyKTsKKyAgICB1bmRlZmluZWQgYmluZEJ1ZmZlclJhbmdl
KEdMZW51bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlciwgR0xpbnRw
dHIgb2Zmc2V0LCBHTHNpemVpcHRyIHNpemUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2Vi
R0xBbnldIGFueSBnZXRJbmRleGVkUGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMdWludCBpbmRl
eCk7CiAgICAgc2VxdWVuY2U8R0x1aW50Pj8gZ2V0VW5pZm9ybUluZGljZXMoV2ViR0xQcm9ncmFt
IHByb2dyYW0sIHNlcXVlbmNlPERPTVN0cmluZz4gdW5pZm9ybU5hbWVzKTsKICAgICBbT3ZlcnJp
ZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0QWN0aXZlVW5pZm9ybXMoV2ViR0xQcm9ncmFt
IHByb2dyYW0sIHNlcXVlbmNlPEdMdWludD4gdW5pZm9ybUluZGljZXMsIEdMZW51bSBwbmFtZSk7
CiAgICAgR0x1aW50IGdldFVuaWZvcm1CbG9ja0luZGV4KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBE
T01TdHJpbmcgdW5pZm9ybUJsb2NrTmFtZSk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJH
TEFueV0gYW55IGdldEFjdGl2ZVVuaWZvcm1CbG9ja1BhcmFtZXRlcihXZWJHTFByb2dyYW0gcHJv
Z3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTGVudW0gcG5hbWUpOwogICAgIFtPdmVy
cmlkZUlETFR5cGU9SURMV2ViR0xBbnldIERPTVN0cmluZz8gZ2V0QWN0aXZlVW5pZm9ybUJsb2Nr
TmFtZShXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4KTsKLSAg
ICB2b2lkIHVuaWZvcm1CbG9ja0JpbmRpbmcoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCB1
bmlmb3JtQmxvY2tJbmRleCwgR0x1aW50IHVuaWZvcm1CbG9ja0JpbmRpbmcpOworICAgIHVuZGVm
aW5lZCB1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgdW5p
Zm9ybUJsb2NrSW5kZXgsIEdMdWludCB1bmlmb3JtQmxvY2tCaW5kaW5nKTsKIAogICAgIC8vIFZl
cnRleCBBcnJheSBPYmplY3RzLgogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IGNyZWF0ZVZl
cnRleEFycmF5KCk7Ci0gICAgdm9pZCBkZWxldGVWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5
T2JqZWN0PyB2ZXJ0ZXhBcnJheSk7CisgICAgdW5kZWZpbmVkIGRlbGV0ZVZlcnRleEFycmF5KFdl
YkdMVmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKICAgICBHTGJvb2xlYW4gaXNWZXJ0
ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0PyB2ZXJ0ZXhBcnJheSk7Ci0gICAgdm9pZCBi
aW5kVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4QXJyYXkpOworICAg
IHVuZGVmaW5lZCBiaW5kVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4
QXJyYXkpOwogCiAgICAgLy8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBBUEkuCiAKLSAgICB2b2lk
IHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xp
bnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBi
b3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3VyY2Up
OwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQg
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3Jk
ZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwg
R0x1aW50IHNyY09mZnNldCk7Ci0KLSAgICB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lk
dGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIg
cGJvT2Zmc2V0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwg
R0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBl
LCBUZXhJbWFnZVNvdXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJh
eUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KLSAgICB2b2lkIGNvbXBy
ZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJu
YWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdM
c2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0ciBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3NlZFRl
eEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1h
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5n
dGhPdmVycmlkZSA9IDApOwotCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xz
aXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkgaW1hZ2VT
aXplLCBHTGludHB0ciBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZl
clZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0
aE92ZXJyaWRlID0gMCk7Ci0KLSAgICB2b2lkIHVuaWZvcm0xZnYoV2ViR0xVbmlmb3JtTG9jYXRp
b24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KFdlYkdMVW5pZm9y
bUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwg
b3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTNmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm00
ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVp
bnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0KLSAgICB2b2lk
IHVuaWZvcm0xaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0
YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAg
IHZvaWQgdW5pZm9ybTJpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7
Ci0gICAgdm9pZCB1bmlmb3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGgg
PSAwKTsKLSAgICB2b2lkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aCA9IDApOwotCi0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1
aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVh
biB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFs
IEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7
CisgICAgdW5kZWZpbmVkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
aW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xz
aXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRl
eEltYWdlU291cmNlIHNvdXJjZSk7CisgICAgdW5kZWZpbmVkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdW5kZWZp
bmVkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJj
ZSk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2
ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0Rh
dGEsIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhJbWFn
ZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VT
aXplLCBHTGludHB0ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4SW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcg
c3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJy
aWRlID0gMCk7CisKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6
ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6
ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1
ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aE92ZXJyaWRlID0gMCk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJm
dihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWlu
dCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmlu
ZWQgdW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
KyAgICB1bmRlZmluZWQgdW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKKworICAgIHVuZGVmaW5lZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFs
IEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJpdihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0z
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50
IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5l
ZCB1bmlmb3JtNGl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRh
dGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKwor
ICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09m
ZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlm
b3JtTWF0cml4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRy
YW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1
aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxp
c3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OwogCi0gICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKLSAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0
aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZl
clZpZXcgZHN0RGF0YSwgR0x1aW50IGRzdE9mZnNldCk7CisgICAgdW5kZWZpbmVkIHJlYWRQaXhl
bHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCBy
ZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IGRzdERhdGEsIEdM
dWludCBkc3RPZmZzZXQpOwogfTsKIAogV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRz
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTERyYXdCdWZmZXJzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTERyYXdCdWZmZXJzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTY4LDUgKzY4LDUgQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIEdMZW51bTsKICAgICBj
b25zdCBHTGVudW0gTUFYX0NPTE9SX0FUVEFDSE1FTlRTX1dFQkdMID0gMHg4Q0RGOwogICAgIGNv
bnN0IEdMZW51bSBNQVhfRFJBV19CVUZGRVJTX1dFQkdMID0gMHg4ODI0OwogCi0gICAgdm9pZCBk
cmF3QnVmZmVyc1dFQkdMKHNlcXVlbmNlPEdMZW51bT4gYnVmZmVycyk7CisgICAgdW5kZWZpbmVk
IGRyYXdCdWZmZXJzV0VCR0woc2VxdWVuY2U8R0xlbnVtPiBidWZmZXJzKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29u
dGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDYgQEAKICAgICBDb25kaXRpb25h
bD1XRUJHTCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJHTFJlbmRlcmluZ0NvbnRl
eHQsCiBdIGludGVyZmFjZSBXZWJHTExvc2VDb250ZXh0IHsKLSAgICB2b2lkIGxvc2VDb250ZXh0
KCk7Ci0gICAgdm9pZCByZXN0b3JlQ29udGV4dCgpOworICAgIHVuZGVmaW5lZCBsb3NlQ29udGV4
dCgpOworICAgIHVuZGVmaW5lZCByZXN0b3JlQ29udGV4dCgpOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDgxLDQxICs0
ODEsNDEgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBHTHNpemVpIGRyYXdpbmdCdWZmZXJXaWR0aDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgR0xzaXplaSBkcmF3aW5nQnVmZmVySGVpZ2h0OwogCi0gICAgdm9pZCBhY3Rp
dmVUZXh0dXJlKEdMZW51bSB0ZXh0dXJlKTsKLSAgICB2b2lkIGF0dGFjaFNoYWRlcihXZWJHTFBy
b2dyYW0gcHJvZ3JhbSwgV2ViR0xTaGFkZXIgc2hhZGVyKTsKLSAgICB2b2lkIGJpbmRBdHRyaWJM
b2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IGluZGV4LCBET01TdHJpbmcgbmFt
ZSk7Ci0gICAgdm9pZCBiaW5kQnVmZmVyKEdMZW51bSB0YXJnZXQsIFdlYkdMQnVmZmVyPyBidWZm
ZXIpOwotICAgIHZvaWQgYmluZEZyYW1lYnVmZmVyKEdMZW51bSB0YXJnZXQsIFdlYkdMRnJhbWVi
dWZmZXI/IGZyYW1lYnVmZmVyKTsKLSAgICB2b2lkIGJpbmRSZW5kZXJidWZmZXIoR0xlbnVtIHRh
cmdldCwgV2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1ZmZlcik7Ci0gICAgdm9pZCBiaW5kVGV4
dHVyZShHTGVudW0gdGFyZ2V0LCBXZWJHTFRleHR1cmU/IHRleHR1cmUpOwotICAgIHZvaWQgYmxl
bmRDb2xvcihHTGNsYW1wZiByZWQsIEdMY2xhbXBmIGdyZWVuLCBHTGNsYW1wZiBibHVlLCBHTGNs
YW1wZiBhbHBoYSk7Ci0gICAgdm9pZCBibGVuZEVxdWF0aW9uKEdMZW51bSBtb2RlKTsKLSAgICB2
b2lkIGJsZW5kRXF1YXRpb25TZXBhcmF0ZShHTGVudW0gbW9kZVJHQiwgR0xlbnVtIG1vZGVBbHBo
YSk7Ci0gICAgdm9pZCBibGVuZEZ1bmMoR0xlbnVtIHNmYWN0b3IsIEdMZW51bSBkZmFjdG9yKTsK
LSAgICB2b2lkIGJsZW5kRnVuY1NlcGFyYXRlKEdMZW51bSBzcmNSR0IsIEdMZW51bSBkc3RSR0Is
IEdMZW51bSBzcmNBbHBoYSwgR0xlbnVtIGRzdEFscGhhKTsKLSAgICB2b2lkIGJ1ZmZlckRhdGEo
R0xlbnVtIHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZT8gZGF0YSwgR0xlbnVtIHVzYWdlKTsKLSAg
ICB2b2lkIGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgR0xzaXplaXB0ciBzaXplLCBHTGVudW0g
dXNhZ2UpOwotICAgIHZvaWQgYnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBv
ZmZzZXQsIEJ1ZmZlckRhdGFTb3VyY2UgZGF0YSk7CisgICAgdW5kZWZpbmVkIGFjdGl2ZVRleHR1
cmUoR0xlbnVtIHRleHR1cmUpOworICAgIHVuZGVmaW5lZCBhdHRhY2hTaGFkZXIoV2ViR0xQcm9n
cmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7CisgICAgdW5kZWZpbmVkIGJpbmRBdHRy
aWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IGluZGV4LCBET01TdHJpbmcg
bmFtZSk7CisgICAgdW5kZWZpbmVkIGJpbmRCdWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xCdWZm
ZXI/IGJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGJpbmRGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBXZWJHTEZyYW1lYnVmZmVyPyBmcmFtZWJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGJpbmRSZW5k
ZXJidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1ZmZlcik7
CisgICAgdW5kZWZpbmVkIGJpbmRUZXh0dXJlKEdMZW51bSB0YXJnZXQsIFdlYkdMVGV4dHVyZT8g
dGV4dHVyZSk7CisgICAgdW5kZWZpbmVkIGJsZW5kQ29sb3IoR0xjbGFtcGYgcmVkLCBHTGNsYW1w
ZiBncmVlbiwgR0xjbGFtcGYgYmx1ZSwgR0xjbGFtcGYgYWxwaGEpOworICAgIHVuZGVmaW5lZCBi
bGVuZEVxdWF0aW9uKEdMZW51bSBtb2RlKTsKKyAgICB1bmRlZmluZWQgYmxlbmRFcXVhdGlvblNl
cGFyYXRlKEdMZW51bSBtb2RlUkdCLCBHTGVudW0gbW9kZUFscGhhKTsKKyAgICB1bmRlZmluZWQg
YmxlbmRGdW5jKEdMZW51bSBzZmFjdG9yLCBHTGVudW0gZGZhY3Rvcik7CisgICAgdW5kZWZpbmVk
IGJsZW5kRnVuY1NlcGFyYXRlKEdMZW51bSBzcmNSR0IsIEdMZW51bSBkc3RSR0IsIEdMZW51bSBz
cmNBbHBoYSwgR0xlbnVtIGRzdEFscGhhKTsKKyAgICB1bmRlZmluZWQgYnVmZmVyRGF0YShHTGVu
dW0gdGFyZ2V0LCBCdWZmZXJEYXRhU291cmNlPyBkYXRhLCBHTGVudW0gdXNhZ2UpOworICAgIHVu
ZGVmaW5lZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWlwdHIgc2l6ZSwgR0xlbnVt
IHVzYWdlKTsKKyAgICB1bmRlZmluZWQgYnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGlu
dHB0ciBvZmZzZXQsIEJ1ZmZlckRhdGFTb3VyY2UgZGF0YSk7CiAKICAgICBHTGVudW0gY2hlY2tG
cmFtZWJ1ZmZlclN0YXR1cyhHTGVudW0gdGFyZ2V0KTsKLSAgICB2b2lkIGNsZWFyKEdMYml0Zmll
bGQgbWFzayk7Ci0gICAgdm9pZCBjbGVhckNvbG9yKEdMY2xhbXBmIHJlZCwgR0xjbGFtcGYgZ3Jl
ZW4sIEdMY2xhbXBmIGJsdWUsIEdMY2xhbXBmIGFscGhhKTsKLSAgICB2b2lkIGNsZWFyRGVwdGgo
R0xjbGFtcGYgZGVwdGgpOwotICAgIHZvaWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOwotICAgIHZv
aWQgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29sZWFuIGJs
dWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVy
IHNoYWRlcik7Ci0KLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2
ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQs
IEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmll
dz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gZm9y
bWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXIoR0xiaXRmaWVsZCBtYXNrKTsKKyAgICB1bmRlZmluZWQgY2xlYXJDb2xvcihHTGNsYW1w
ZiByZWQsIEdMY2xhbXBmIGdyZWVuLCBHTGNsYW1wZiBibHVlLCBHTGNsYW1wZiBhbHBoYSk7Cisg
ICAgdW5kZWZpbmVkIGNsZWFyRGVwdGgoR0xjbGFtcGYgZGVwdGgpOworICAgIHVuZGVmaW5lZCBj
bGVhclN0ZW5jaWwoR0xpbnQgcyk7CisgICAgdW5kZWZpbmVkIGNvbG9yTWFzayhHTGJvb2xlYW4g
cmVkLCBHTGJvb2xlYW4gZ3JlZW4sIEdMYm9vbGVhbiBibHVlLCBHTGJvb2xlYW4gYWxwaGEpOwor
ICAgIHVuZGVmaW5lZCBjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyIHNoYWRlcik7CisKKyAgICB1
bmRlZmluZWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGlu
dGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVy
LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CiAKLSAgICB2b2lkIHRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VT
b3VyY2Ugc291cmNlKTsKKyAgICB1bmRlZmluZWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0
aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZl
clZpZXc/IHBpeGVscyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdGV4U3Vi
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJj
ZSk7CiAKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKLSAgICB2b2lkIGNvbXBy
ZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVt
IGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3IGRhdGEpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2Vk
VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1
ZmZlclZpZXcgZGF0YSk7CisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJW
aWV3IGRhdGEpOwogCi0gICAgdm9pZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyKTsKLSAgICB2b2lkIGNvcHlUZXhT
dWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CisgICAgdW5kZWZpbmVkIGNvcHlUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lk
dGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4
U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xp
bnQgeW9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQpOwogCiAgICAgV2ViR0xCdWZmZXIgY3JlYXRlQnVmZmVyKCk7CiAgICAgV2ViR0xGcmFtZWJ1
ZmZlciBjcmVhdGVGcmFtZWJ1ZmZlcigpOwpAQCAtNTI0LDMyICs1MjQsMzIgQEAgdHlwZWRlZiAo
SFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIFdlYkdMU2hhZGVyIGNyZWF0ZVNo
YWRlcihHTGVudW0gdHlwZSk7CiAgICAgV2ViR0xUZXh0dXJlIGNyZWF0ZVRleHR1cmUoKTsKIAot
ICAgIHZvaWQgY3VsbEZhY2UoR0xlbnVtIG1vZGUpOworICAgIHVuZGVmaW5lZCBjdWxsRmFjZShH
TGVudW0gbW9kZSk7CiAKLSAgICB2b2lkIGRlbGV0ZUJ1ZmZlcihXZWJHTEJ1ZmZlcj8gYnVmZmVy
KTsKLSAgICB2b2lkIGRlbGV0ZUZyYW1lYnVmZmVyKFdlYkdMRnJhbWVidWZmZXI/IGZyYW1lYnVm
ZmVyKTsKLSAgICB2b2lkIGRlbGV0ZVByb2dyYW0oV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKLSAg
ICB2b2lkIGRlbGV0ZVJlbmRlcmJ1ZmZlcihXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVy
KTsKLSAgICB2b2lkIGRlbGV0ZVNoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKLSAgICB2b2lk
IGRlbGV0ZVRleHR1cmUoV2ViR0xUZXh0dXJlPyB0ZXh0dXJlKTsKLQotICAgIHZvaWQgZGVwdGhG
dW5jKEdMZW51bSBmdW5jKTsKLSAgICB2b2lkIGRlcHRoTWFzayhHTGJvb2xlYW4gZmxhZyk7Ci0g
ICAgdm9pZCBkZXB0aFJhbmdlKEdMY2xhbXBmIHpOZWFyLCBHTGNsYW1wZiB6RmFyKTsKLSAgICB2
b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgV2ViR0xTaGFkZXIgc2hhZGVy
KTsKLSAgICB2b2lkIGRpc2FibGUoR0xlbnVtIGNhcCk7Ci0gICAgdm9pZCBkaXNhYmxlVmVydGV4
QXR0cmliQXJyYXkoR0x1aW50IGluZGV4KTsKLSAgICB2b2lkIGRyYXdBcnJheXMoR0xlbnVtIG1v
ZGUsIEdMaW50IGZpcnN0LCBHTHNpemVpIGNvdW50KTsKLSAgICB2b2lkIGRyYXdFbGVtZW50cyhH
TGVudW0gbW9kZSwgR0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNldCk7
Ci0KLSAgICB2b2lkIGVuYWJsZShHTGVudW0gY2FwKTsKLSAgICB2b2lkIGVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KEdMdWludCBpbmRleCk7Ci0gICAgdm9pZCBmaW5pc2goKTsKLSAgICB2b2lkIGZs
dXNoKCk7Ci0gICAgdm9pZCBmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBH
TGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHJlbmRlcmJ1ZmZlcnRhcmdldCwgV2ViR0xSZW5kZXJi
dWZmZXI/IHJlbmRlcmJ1ZmZlcik7Ci0gICAgdm9pZCBmcmFtZWJ1ZmZlclRleHR1cmUyRChHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHRleHRhcmdldCwgV2ViR0xUZXh0
dXJlPyB0ZXh0dXJlLCBHTGludCBsZXZlbCk7Ci0gICAgdm9pZCBmcm9udEZhY2UoR0xlbnVtIG1v
ZGUpOwotICAgIHZvaWQgZ2VuZXJhdGVNaXBtYXAoR0xlbnVtIHRhcmdldCk7CisgICAgdW5kZWZp
bmVkIGRlbGV0ZUJ1ZmZlcihXZWJHTEJ1ZmZlcj8gYnVmZmVyKTsKKyAgICB1bmRlZmluZWQgZGVs
ZXRlRnJhbWVidWZmZXIoV2ViR0xGcmFtZWJ1ZmZlcj8gZnJhbWVidWZmZXIpOworICAgIHVuZGVm
aW5lZCBkZWxldGVQcm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJvZ3JhbSk7CisgICAgdW5kZWZpbmVk
IGRlbGV0ZVJlbmRlcmJ1ZmZlcihXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVyKTsKKyAg
ICB1bmRlZmluZWQgZGVsZXRlU2hhZGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIpOworICAgIHVuZGVm
aW5lZCBkZWxldGVUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7CisKKyAgICB1bmRlZmlu
ZWQgZGVwdGhGdW5jKEdMZW51bSBmdW5jKTsKKyAgICB1bmRlZmluZWQgZGVwdGhNYXNrKEdMYm9v
bGVhbiBmbGFnKTsKKyAgICB1bmRlZmluZWQgZGVwdGhSYW5nZShHTGNsYW1wZiB6TmVhciwgR0xj
bGFtcGYgekZhcik7CisgICAgdW5kZWZpbmVkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0gcHJv
Z3JhbSwgV2ViR0xTaGFkZXIgc2hhZGVyKTsKKyAgICB1bmRlZmluZWQgZGlzYWJsZShHTGVudW0g
Y2FwKTsKKyAgICB1bmRlZmluZWQgZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KEdMdWludCBpbmRl
eCk7CisgICAgdW5kZWZpbmVkIGRyYXdBcnJheXMoR0xlbnVtIG1vZGUsIEdMaW50IGZpcnN0LCBH
THNpemVpIGNvdW50KTsKKyAgICB1bmRlZmluZWQgZHJhd0VsZW1lbnRzKEdMZW51bSBtb2RlLCBH
THNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKworICAgIHVuZGVm
aW5lZCBlbmFibGUoR0xlbnVtIGNhcCk7CisgICAgdW5kZWZpbmVkIGVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KEdMdWludCBpbmRleCk7CisgICAgdW5kZWZpbmVkIGZpbmlzaCgpOworICAgIHVuZGVm
aW5lZCBmbHVzaCgpOworICAgIHVuZGVmaW5lZCBmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHJlbmRlcmJ1ZmZlcnRhcmdldCwg
V2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGZyYW1lYnVm
ZmVyVGV4dHVyZTJEKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVudW0gdGV4
dGFyZ2V0LCBXZWJHTFRleHR1cmU/IHRleHR1cmUsIEdMaW50IGxldmVsKTsKKyAgICB1bmRlZmlu
ZWQgZnJvbnRGYWNlKEdMZW51bSBtb2RlKTsKKyAgICB1bmRlZmluZWQgZ2VuZXJhdGVNaXBtYXAo
R0xlbnVtIHRhcmdldCk7CiAgICAgCiAgICAgV2ViR0xBY3RpdmVJbmZvIGdldEFjdGl2ZUF0dHJp
YihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IGluZGV4KTsKICAgICBXZWJHTEFjdGl2ZUlu
Zm8gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IGluZGV4KTsK
QEAgLTU5MSw3ICs1OTEsNyBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52
YXM7CiAKICAgICBHTHNpemVpcHRyIGdldFZlcnRleEF0dHJpYk9mZnNldChHTHVpbnQgaW5kZXgs
IEdMZW51bSBwbmFtZSk7CiAKLSAgICB2b2lkIGhpbnQoR0xlbnVtIHRhcmdldCwgR0xlbnVtIG1v
ZGUpOworICAgIHVuZGVmaW5lZCBoaW50KEdMZW51bSB0YXJnZXQsIEdMZW51bSBtb2RlKTsKICAg
ICBHTGJvb2xlYW4gaXNCdWZmZXIoV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CiAgICAgR0xib29sZWFu
IGlzQ29udGV4dExvc3QoKTsKICAgICBHTGJvb2xlYW4gaXNFbmFibGVkKEdMZW51bSBjYXApOwpA
QCAtNjAwLDY4ICs2MDAsNjggQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2Fu
dmFzOwogICAgIEdMYm9vbGVhbiBpc1JlbmRlcmJ1ZmZlcihXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVu
ZGVyYnVmZmVyKTsKICAgICBHTGJvb2xlYW4gaXNTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7
CiAgICAgR0xib29sZWFuIGlzVGV4dHVyZShXZWJHTFRleHR1cmU/IHRleHR1cmUpOwotICAgIHZv
aWQgbGluZVdpZHRoKEdMZmxvYXQgd2lkdGgpOwotICAgIHZvaWQgbGlua1Byb2dyYW0oV2ViR0xQ
cm9ncmFtIHByb2dyYW0pOworICAgIHVuZGVmaW5lZCBsaW5lV2lkdGgoR0xmbG9hdCB3aWR0aCk7
CisgICAgdW5kZWZpbmVkIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKIAotICAg
IFtOZXdPYmplY3QsIENvbmRpdGlvbmFsPVdFQlhSXSBQcm9taXNlPHZvaWQ+IG1ha2VYUkNvbXBh
dGlibGUoKTsKKyAgICBbTmV3T2JqZWN0LCBDb25kaXRpb25hbD1XRUJYUl0gUHJvbWlzZTx1bmRl
ZmluZWQ+IG1ha2VYUkNvbXBhdGlibGUoKTsKIAotICAgIHZvaWQgcGl4ZWxTdG9yZWkoR0xlbnVt
IHBuYW1lLCBHTGludCBwYXJhbSk7Ci0gICAgdm9pZCBwb2x5Z29uT2Zmc2V0KEdMZmxvYXQgZmFj
dG9yLCBHTGZsb2F0IHVuaXRzKTsKKyAgICB1bmRlZmluZWQgcGl4ZWxTdG9yZWkoR0xlbnVtIHBu
YW1lLCBHTGludCBwYXJhbSk7CisgICAgdW5kZWZpbmVkIHBvbHlnb25PZmZzZXQoR0xmbG9hdCBm
YWN0b3IsIEdMZmxvYXQgdW5pdHMpOwogCi0gICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdM
aW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHBpeGVscyk7CisgICAgdW5kZWZpbmVkIHJlYWRQaXhl
bHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgcGl4ZWxzKTsKICAgICAKLSAg
ICB2b2lkIHJlbmRlcmJ1ZmZlclN0b3JhZ2UoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGludGVybmFs
Zm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Ci0gICAgdm9pZCBzYW1wbGVD
b3ZlcmFnZShHTGNsYW1wZiB2YWx1ZSwgR0xib29sZWFuIGludmVydCk7Ci0gICAgdm9pZCBzY2lz
c29yKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKLSAg
ICB2b2lkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciBzaGFkZXIsIERPTVN0cmluZyBzdHJpbmcp
OwotICAgIHZvaWQgc3RlbmNpbEZ1bmMoR0xlbnVtIGZ1bmMsIEdMaW50IHJlZiwgR0x1aW50IG1h
c2spOwotICAgIHZvaWQgc3RlbmNpbEZ1bmNTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0xlbnVtIGZ1
bmMsIEdMaW50IHJlZiwgR0x1aW50IG1hc2spOwotICAgIHZvaWQgc3RlbmNpbE1hc2soR0x1aW50
IG1hc2spOwotICAgIHZvaWQgc3RlbmNpbE1hc2tTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0x1aW50
IG1hc2spOwotICAgIHZvaWQgc3RlbmNpbE9wKEdMZW51bSBmYWlsLCBHTGVudW0gemZhaWwsIEdM
ZW51bSB6cGFzcyk7Ci0gICAgdm9pZCBzdGVuY2lsT3BTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0xl
bnVtIGZhaWwsIEdMZW51bSB6ZmFpbCwgR0xlbnVtIHpwYXNzKTsKLQotICAgIHZvaWQgdGV4UGFy
YW1ldGVyZihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUsIEdMZmxvYXQgcGFyYW0pOwotICAg
IHZvaWQgdGV4UGFyYW1ldGVyaShHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUsIEdMaW50IHBh
cmFtKTsKLQotICAgIHZvaWQgdW5pZm9ybTFmKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgR0xmbG9hdCB4KTsKLSAgICB2b2lkIHVuaWZvcm0yZihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8g
bG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0zZihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0
IHopOwotICAgIHZvaWQgdW5pZm9ybTRmKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwg
R0xmbG9hdCB4LCBHTGZsb2F0IHksIEdMZmxvYXQgeiwgR0xmbG9hdCB3KTsKLQotICAgIHZvaWQg
dW5pZm9ybTFpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCk7Ci0gICAg
dm9pZCB1bmlmb3JtMmkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGludCB4LCBH
TGludCB5KTsKLSAgICB2b2lkIHVuaWZvcm0zaShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMaW50IHgsIEdMaW50IHksIEdMaW50IHopOwotICAgIHZvaWQgdW5pZm9ybTRpKFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xp
bnQgdyk7Ci0KLSAgICB2b2lkIHVuaWZvcm0xZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBGbG9hdDMyTGlzdCB2KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCB2KTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCB2KTsKLSAgICB2b2lkIHVu
aWZvcm00ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCB2KTsK
LQotICAgIHZvaWQgdW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIElu
dDMyTGlzdCB2KTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBJbnQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtM2l2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IHYpOwotICAgIHZvaWQgdW5pZm9ybTRpdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2KTsKLQotICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYo
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9h
dDMyTGlzdCBhcnJheSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgYXJyYXkp
OwotCi0gICAgdm9pZCB1c2VQcm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJvZ3JhbSk7Ci0gICAgdm9p
ZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0pOwotCi0gICAgdm9pZCB2ZXJ0
ZXhBdHRyaWIxZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRy
aWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKLSAgICB2b2lkIHZlcnRl
eEF0dHJpYjNmKEdMdWludCBpbmRleCwgR0xmbG9hdCB4LCBHTGZsb2F0IHksIEdMZmxvYXQgeik7
Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWI0ZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9h
dCB5LCBHTGZsb2F0IHosIEdMZmxvYXQgdyk7Ci0KLSAgICB2b2lkIHZlcnRleEF0dHJpYjFmdihH
THVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWIy
ZnYoR0x1aW50IGluZGV4LCBGbG9hdDMyTGlzdCB2YWx1ZXMpOwotICAgIHZvaWQgdmVydGV4QXR0
cmliM2Z2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFsdWVzKTsKLSAgICB2b2lkIHZlcnRl
eEF0dHJpYjRmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7CisgICAgdW5kZWZp
bmVkIHJlbmRlcmJ1ZmZlclN0b3JhZ2UoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHNhbXBs
ZUNvdmVyYWdlKEdMY2xhbXBmIHZhbHVlLCBHTGJvb2xlYW4gaW52ZXJ0KTsKKyAgICB1bmRlZmlu
ZWQgc2Npc3NvcihHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CisgICAgdW5kZWZpbmVkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciBzaGFkZXIsIERPTVN0
cmluZyBzdHJpbmcpOworICAgIHVuZGVmaW5lZCBzdGVuY2lsRnVuYyhHTGVudW0gZnVuYywgR0xp
bnQgcmVmLCBHTHVpbnQgbWFzayk7CisgICAgdW5kZWZpbmVkIHN0ZW5jaWxGdW5jU2VwYXJhdGUo
R0xlbnVtIGZhY2UsIEdMZW51bSBmdW5jLCBHTGludCByZWYsIEdMdWludCBtYXNrKTsKKyAgICB1
bmRlZmluZWQgc3RlbmNpbE1hc2soR0x1aW50IG1hc2spOworICAgIHVuZGVmaW5lZCBzdGVuY2ls
TWFza1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTHVpbnQgbWFzayk7CisgICAgdW5kZWZpbmVkIHN0
ZW5jaWxPcChHTGVudW0gZmFpbCwgR0xlbnVtIHpmYWlsLCBHTGVudW0genBhc3MpOworICAgIHVu
ZGVmaW5lZCBzdGVuY2lsT3BTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0xlbnVtIGZhaWwsIEdMZW51
bSB6ZmFpbCwgR0xlbnVtIHpwYXNzKTsKKworICAgIHVuZGVmaW5lZCB0ZXhQYXJhbWV0ZXJmKEdM
ZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSwgR0xmbG9hdCBwYXJhbSk7CisgICAgdW5kZWZpbmVk
IHRleFBhcmFtZXRlcmkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1lLCBHTGludCBwYXJhbSk7
CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFmKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgR0xmbG9hdCB4KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJmKFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xmbG9hdCB4LCBHTGZsb2F0IHkpOworICAgIHVuZGVmaW5lZCB1bmlm
b3JtM2YoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQg
eSwgR0xmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTRmKFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xmbG9hdCB4LCBHTGZsb2F0IHksIEdMZmxvYXQgeiwgR0xmbG9hdCB3
KTsKKworICAgIHVuZGVmaW5lZCB1bmlmb3JtMWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBHTGludCB4KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJpKFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0z
aShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHksIEdMaW50
IHopOworICAgIHVuZGVmaW5lZCB1bmlmb3JtNGkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBHTGludCB4LCBHTGludCB5LCBHTGludCB6LCBHTGludCB3KTsKKworICAgIHVuZGVmaW5l
ZCB1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qg
dik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBGbG9hdDMyTGlzdCB2KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTNmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IHYpOworICAgIHVuZGVmaW5lZCB1bmlm
b3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7CisK
KyAgICB1bmRlZmluZWQgdW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IEludDMyTGlzdCB2KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTJpdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTNpdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2KTsKKyAgICB1bmRlZmlu
ZWQgdW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2
KTsKKworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgYXJyYXkpOworICAg
IHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgYXJyYXkpOworICAgIHVuZGVmaW5l
ZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29s
ZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgYXJyYXkpOworCisgICAgdW5kZWZpbmVkIHVzZVBy
b2dyYW0oV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKKyAgICB1bmRlZmluZWQgdmFsaWRhdGVQcm9n
cmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKKworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWIx
ZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjJm
KEdMdWludCBpbmRleCwgR0xmbG9hdCB4LCBHTGZsb2F0IHkpOworICAgIHVuZGVmaW5lZCB2ZXJ0
ZXhBdHRyaWIzZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHop
OworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWI0ZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwg
R0xmbG9hdCB5LCBHTGZsb2F0IHosIEdMZmxvYXQgdyk7CisKKyAgICB1bmRlZmluZWQgdmVydGV4
QXR0cmliMWZ2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFsdWVzKTsKKyAgICB1bmRlZmlu
ZWQgdmVydGV4QXR0cmliMmZ2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFsdWVzKTsKKyAg
ICB1bmRlZmluZWQgdmVydGV4QXR0cmliM2Z2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFs
dWVzKTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliNGZ2KEdMdWludCBpbmRleCwgRmxvYXQz
Mkxpc3QgdmFsdWVzKTsKIAotICAgIHZvaWQgdmVydGV4QXR0cmliUG9pbnRlcihHTHVpbnQgaW5k
eCwgR0xpbnQgc2l6ZSwgR0xlbnVtIHR5cGUsIEdMYm9vbGVhbiBub3JtYWxpemVkLCBHTHNpemVp
IHN0cmlkZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliUG9p
bnRlcihHTHVpbnQgaW5keCwgR0xpbnQgc2l6ZSwgR0xlbnVtIHR5cGUsIEdMYm9vbGVhbiBub3Jt
YWxpemVkLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zmc2V0KTsKIAotICAgIHZvaWQgdmll
d3BvcnQoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwor
ICAgIHVuZGVmaW5lZCB2aWV3cG9ydChHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0
VHJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRy
YWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMiArNDQsMTIgQEAgZW51bSBUZXh0
VHJhY2tLaW5kIHsgInN1YnRpdGxlcyIsICJjYXB0aQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBU
ZXh0VHJhY2tDdWVMaXN0PyBjdWVzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXh0VHJhY2tD
dWVMaXN0PyBhY3RpdmVDdWVzOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZEN1
ZShUZXh0VHJhY2tDdWUgY3VlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3Zl
Q3VlKFRleHRUcmFja0N1ZSBjdWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IGFkZEN1ZShUZXh0VHJhY2tDdWUgY3VlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCByZW1vdmVDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uY3VlY2hhbmdlOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZUVFJlZ2lvbkxp
c3QgcmVnaW9uczsKLSAgICB2b2lkIGFkZFJlZ2lvbihWVFRSZWdpb24gcmVnaW9uKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlUmVnaW9uKFZUVFJlZ2lvbiByZWdpb24pOwor
ICAgIHVuZGVmaW5lZCBhZGRSZWdpb24oVlRUUmVnaW9uIHJlZ2lvbik7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlUmVnaW9uKFZUVFJlZ2lvbiByZWdpb24pOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3Qu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFu
ZExpbmVBUElIb3N0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsMTAgKzM0LDEwIEBACiAgICAg
Tm9JbnRlcmZhY2VPYmplY3QsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRl
cmZhY2UgQ29tbWFuZExpbmVBUElIb3N0IHsKLSAgICB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2Vz
KCk7Ci0gICAgdm9pZCBjb3B5VGV4dChET01TdHJpbmcgdGV4dCk7CisgICAgdW5kZWZpbmVkIGNs
ZWFyQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgdW5kZWZpbmVkIGNvcHlUZXh0KERPTVN0cmluZyB0
ZXh0KTsKIAotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHZvaWQgaW5zcGVjdChhbnkgb2Jq
ZWN0VG9JbnNwZWN0LCBhbnkgaGludHMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVu
ZGVmaW5lZCBpbnNwZWN0KGFueSBvYmplY3RUb0luc3BlY3QsIGFueSBoaW50cyk7CiAgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdF0gYW55IGluc3BlY3RlZE9iamVjdCgpOwogCiAgICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdF0gcmVjb3JkPERPTVN0cmluZywgc2VxdWVuY2U8TGlzdGVuZXJFbnRy
eT4+IGdldEV2ZW50TGlzdGVuZXJzKEV2ZW50VGFyZ2V0IHRhcmdldCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDM0ICszNCwzNCBAQAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFj
ZSBJbnNwZWN0b3JGcm9udGVuZEhvc3QgewotICAgIHZvaWQgbG9hZGVkKCk7Ci0gICAgdm9pZCBj
bG9zZVdpbmRvdygpOwotICAgIHZvaWQgcmVvcGVuKCk7Ci0gICAgdm9pZCByZXNldCgpOworICAg
IHVuZGVmaW5lZCBsb2FkZWQoKTsKKyAgICB1bmRlZmluZWQgY2xvc2VXaW5kb3coKTsKKyAgICB1
bmRlZmluZWQgcmVvcGVuKCk7CisgICAgdW5kZWZpbmVkIHJlc2V0KCk7CiAKLSAgICB2b2lkIGJy
aW5nVG9Gcm9udCgpOwotICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChET01TdHJpbmcgbmV3
VVJMKTsKKyAgICB1bmRlZmluZWQgYnJpbmdUb0Zyb250KCk7CisgICAgdW5kZWZpbmVkIGluc3Bl
Y3RlZFVSTENoYW5nZWQoRE9NU3RyaW5nIG5ld1VSTCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiBzdXBwb3J0c1Nob3dDZXJ0aWZpY2F0ZTsKICAgICBib29sZWFuIHNob3dDZXJ0
aWZpY2F0ZShET01TdHJpbmcgc2VyaWFsaXplZENlcnRpZmljYXRlKTsKIAotICAgIHZvaWQgc2V0
Wm9vbUZhY3Rvcih1bnJlc3RyaWN0ZWQgZmxvYXQgem9vbSk7CisgICAgdW5kZWZpbmVkIHNldFpv
b21GYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb20pOwogICAgIGZsb2F0IHpvb21GYWN0b3Io
KTsKIAotICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShET01TdHJpbmcgYXBwZWFyYW5jZSk7
CisgICAgdW5kZWZpbmVkIHNldEZvcmNlZEFwcGVhcmFuY2UoRE9NU3RyaW5nIGFwcGVhcmFuY2Up
OwogCiAgICAgRE9NU3RyaW5nIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKIAogICAg
IGJvb2xlYW4gc3VwcG9ydHNEb2NrU2lkZShET01TdHJpbmcgZG9ja1NpZGUpOwotICAgIHZvaWQg
cmVxdWVzdFNldERvY2tTaWRlKERPTVN0cmluZyBkb2NrU2lkZSk7CisgICAgdW5kZWZpbmVkIHJl
cXVlc3RTZXREb2NrU2lkZShET01TdHJpbmcgZG9ja1NpZGUpOwogCi0gICAgdm9pZCBzZXRBdHRh
Y2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCBsb25nIGhlaWdodCk7Ci0gICAgdm9pZCBzZXRBdHRh
Y2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkIGxvbmcgd2lkdGgpOworICAgIHVuZGVmaW5lZCBzZXRB
dHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCBsb25nIGhlaWdodCk7CisgICAgdW5kZWZpbmVk
IHNldEF0dGFjaGVkV2luZG93V2lkdGgodW5zaWduZWQgbG9uZyB3aWR0aCk7CiAKLSAgICB2b2lk
IHNldFNoZWV0UmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHks
IHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKKyAgICB1bmRlZmlu
ZWQgc2V0U2hlZXRSZWN0KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eSwgdW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOwogCi0gICAgdm9p
ZCBzdGFydFdpbmRvd0RyYWcoKTsKLSAgICB2b2lkIG1vdmVXaW5kb3dCeSh1bnJlc3RyaWN0ZWQg
ZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOworICAgIHVuZGVmaW5lZCBzdGFydFdpbmRv
d0RyYWcoKTsKKyAgICB1bmRlZmluZWQgbW92ZVdpbmRvd0J5KHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc1JlbW90ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvY2FsaXplZFN0
cmluZ3NVUkw7CkBAIC02OSwzMSArNjksMzEgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBpbnNwZWN0aW9uTGV2ZWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERlYnVn
Z2FibGVJbmZvIGRlYnVnZ2FibGVJbmZvOwogCi0gICAgdm9pZCBjb3B5VGV4dChET01TdHJpbmcg
dGV4dCk7Ci0gICAgdm9pZCBraWxsVGV4dChET01TdHJpbmcgdGV4dCwgYm9vbGVhbiBzaG91bGRQ
cmVwZW5kVG9LaWxsUmluZywgYm9vbGVhbiBzaG91bGRTdGFydE5ld1NlcXVlbmNlKTsKLSAgICB2
b2lkIG9wZW5Jbk5ld1RhYihET01TdHJpbmcgdXJsKTsKKyAgICB1bmRlZmluZWQgY29weVRleHQo
RE9NU3RyaW5nIHRleHQpOworICAgIHVuZGVmaW5lZCBraWxsVGV4dChET01TdHJpbmcgdGV4dCwg
Ym9vbGVhbiBzaG91bGRQcmVwZW5kVG9LaWxsUmluZywgYm9vbGVhbiBzaG91bGRTdGFydE5ld1Nl
cXVlbmNlKTsKKyAgICB1bmRlZmluZWQgb3BlbkluTmV3VGFiKERPTVN0cmluZyB1cmwpOwogICAg
IGJvb2xlYW4gY2FuU2F2ZSgpOwotICAgIHZvaWQgc2F2ZShET01TdHJpbmcgdXJsLCBET01TdHJp
bmcgY29udGVudCwgYm9vbGVhbiBiYXNlNjRFbmNvZGVkLCBib29sZWFuIGZvcmNlU2F2ZUFzKTsK
LSAgICB2b2lkIGFwcGVuZChET01TdHJpbmcgdXJsLCBET01TdHJpbmcgY29udGVudCk7Ci0gICAg
dm9pZCBjbG9zZShET01TdHJpbmcgdXJsKTsKKyAgICB1bmRlZmluZWQgc2F2ZShET01TdHJpbmcg
dXJsLCBET01TdHJpbmcgY29udGVudCwgYm9vbGVhbiBiYXNlNjRFbmNvZGVkLCBib29sZWFuIGZv
cmNlU2F2ZUFzKTsKKyAgICB1bmRlZmluZWQgYXBwZW5kKERPTVN0cmluZyB1cmwsIERPTVN0cmlu
ZyBjb250ZW50KTsKKyAgICB1bmRlZmluZWQgY2xvc2UoRE9NU3RyaW5nIHVybCk7CiAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBvcnQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBwbGF0Zm9ybTsKIAotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KEV2ZW50IGV2
ZW50LCBzZXF1ZW5jZTxDb250ZXh0TWVudUl0ZW0+IGl0ZW1zKTsKLSAgICB2b2lkIGRpc3BhdGNo
RXZlbnRBc0NvbnRleHRNZW51RXZlbnQoRXZlbnQgZXZlbnQpOwotICAgIHZvaWQgc2VuZE1lc3Nh
Z2VUb0JhY2tlbmQoRE9NU3RyaW5nIG1lc3NhZ2UpOwotICAgIHZvaWQgdW5idWZmZXJlZExvZyhE
T01TdHJpbmcgbWVzc2FnZSk7CisgICAgdW5kZWZpbmVkIHNob3dDb250ZXh0TWVudShFdmVudCBl
dmVudCwgc2VxdWVuY2U8Q29udGV4dE1lbnVJdGVtPiBpdGVtcyk7CisgICAgdW5kZWZpbmVkIGRp
c3BhdGNoRXZlbnRBc0NvbnRleHRNZW51RXZlbnQoRXZlbnQgZXZlbnQpOworICAgIHVuZGVmaW5l
ZCBzZW5kTWVzc2FnZVRvQmFja2VuZChET01TdHJpbmcgbWVzc2FnZSk7CisgICAgdW5kZWZpbmVk
IHVuYnVmZmVyZWRMb2coRE9NU3RyaW5nIG1lc3NhZ2UpOwogCiAgICAgYm9vbGVhbiBpc1VuZGVy
VGVzdCgpOwogICAgIGJvb2xlYW4gaXNFeHBlcmltZW50YWxCdWlsZCgpOwogCi0gICAgdm9pZCBi
ZWVwKCk7Ci0gICAgdm9pZCBpbnNwZWN0SW5zcGVjdG9yKCk7CisgICAgdW5kZWZpbmVkIGJlZXAo
KTsKKyAgICB1bmRlZmluZWQgaW5zcGVjdEluc3BlY3RvcigpOwogICAgIGJvb2xlYW4gaXNCZWlu
Z0luc3BlY3RlZCgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3VwcG9ydHNE
aWFnbm9zdGljTG9nZ2luZzsKLSAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SX1RFTEVNRVRSWV0g
dm9pZCBsb2dEaWFnbm9zdGljRXZlbnQoRE9NU3RyaW5nIGV2ZW50TmFtZSwgRE9NU3RyaW5nIGNv
bnRlbnQpOworICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JfVEVMRU1FVFJZXSB1bmRlZmluZWQg
bG9nRGlhZ25vc3RpY0V2ZW50KERPTVN0cmluZyBldmVudE5hbWUsIERPTVN0cmluZyBjb250ZW50
KTsKIH07CiAKIGRpY3Rpb25hcnkgQ29udGV4dE1lbnVJdGVtIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01B
cHBsaWNhdGlvbkNhY2hlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsOSArMzcsOSBAQAogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE9CU09MRVRFID0gNTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgc3RhdHVzOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHVwZGF0ZSgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzd2FwQ2FjaGUoKTsKLSAg
ICB2b2lkIGFib3J0KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdXBkYXRl
KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3dhcENhY2hlKCk7CisgICAg
dW5kZWZpbmVkIGFib3J0KCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hlY2tp
bmc7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVycm9yOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MSwzNCArNDEsMzQg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0NvbGxhcHNlZDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByYW5nZUNvdW50OwogCi0gICAgdm9pZCBjb2xs
YXBzZShOb2RlPyBub2RlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb2xsYXBzZVRvRW5kKCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIGNvbGxhcHNlVG9TdGFydCgpOworICAgIHVuZGVmaW5lZCBjb2xsYXBz
ZShOb2RlPyBub2RlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbGxhcHNlVG9FbmQoKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb2xsYXBzZVRvU3RhcnQoKTsKIAotICAgIFtDRVJlYWN0
aW9uc10gdm9pZCBkZWxldGVGcm9tRG9jdW1lbnQoKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVm
aW5lZCBkZWxldGVGcm9tRG9jdW1lbnQoKTsKICAgICBib29sZWFuIGNvbnRhaW5zTm9kZShOb2Rl
IG5vZGUsIG9wdGlvbmFsIGJvb2xlYW4gYWxsb3dQYXJ0aWFsID0gZmFsc2UpOwotICAgIHZvaWQg
c2VsZWN0QWxsQ2hpbGRyZW4oTm9kZSBub2RlKTsKKyAgICB1bmRlZmluZWQgc2VsZWN0QWxsQ2hp
bGRyZW4oTm9kZSBub2RlKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBleHRlbmQo
Tm9kZSBub2RlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGV4dGVuZChOb2RlIG5vZGUsIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJhbmdlIGdl
dFJhbmdlQXQodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCByZW1vdmVBbGxSYW5nZXMo
KTsKLSAgICB2b2lkIGFkZFJhbmdlKFJhbmdlIHJhbmdlKTsKKyAgICB1bmRlZmluZWQgcmVtb3Zl
QWxsUmFuZ2VzKCk7CisgICAgdW5kZWZpbmVkIGFkZFJhbmdlKFJhbmdlIHJhbmdlKTsKIAogICAg
IFtOb3RFbnVtZXJhYmxlXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAotICAgIHZvaWQgc2V0QmFzZUFuZEV4dGVudChOb2Rl
PyBiYXNlTm9kZSwgdW5zaWduZWQgbG9uZyBiYXNlT2Zmc2V0LCBOb2RlPyBleHRlbnROb2RlLCB1
bnNpZ25lZCBsb25nIGV4dGVudE9mZnNldCk7Ci0gICAgdm9pZCBzZXRQb3NpdGlvbihOb2RlPyBu
b2RlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIHVuZGVmaW5lZCBz
ZXRCYXNlQW5kRXh0ZW50KE5vZGU/IGJhc2VOb2RlLCB1bnNpZ25lZCBsb25nIGJhc2VPZmZzZXQs
IE5vZGU/IGV4dGVudE5vZGUsIHVuc2lnbmVkIGxvbmcgZXh0ZW50T2Zmc2V0KTsKKyAgICB1bmRl
ZmluZWQgc2V0UG9zaXRpb24oTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZz
ZXQgPSAwKTsKIAotICAgIHZvaWQgZW1wdHkoKTsKKyAgICB1bmRlZmluZWQgZW1wdHkoKTsKIAog
ICAgIC8vIEZJWE1FOiBUaGUgZm9sbG93aW5nIG9wZXJhdGlvbiBzaG91bGQgYmUgaW1wbGVtZW50
ZWQuCi0gICAgLy8gdm9pZCByZW1vdmVSYW5nZShSYW5nZSByYW5nZSk7CisgICAgLy8gdW5kZWZp
bmVkIHJlbW92ZVJhbmdlKFJhbmdlIHJhbmdlKTsKIAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5k
ZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAgICB2b2lkIG1v
ZGlmeShvcHRpb25hbCBET01TdHJpbmcgYWx0ZXIgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9N
U3RyaW5nIGRpcmVjdGlvbiA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBET01TdHJpbmcgZ3JhbnVs
YXJpdHkgPSAidW5kZWZpbmVkIik7CisgICAgdW5kZWZpbmVkIG1vZGlmeShvcHRpb25hbCBET01T
dHJpbmcgYWx0ZXIgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGRpcmVjdGlvbiA9
ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBET01TdHJpbmcgZ3JhbnVsYXJpdHkgPSAidW5kZWZpbmVk
Iik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gYmFzZU5vZGU7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYmFzZU9mZnNldDsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjUsMTEgKzY1LDExIEBAIHR5cGVkZWYg
VVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmli
dXRlIEJhclByb3Agc3RhdHVzYmFyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmli
dXRlIEJhclByb3AgdG9vbGJhcjsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXR1czsKLSAg
ICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9yd2Fy
ZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOworICAgIFtEb05vdENoZWNrU2VjdXJpdHks
IENhbGxXaXRoPUluY3VtYmVudERvY3VtZW50LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRl
ZmluZWQgY2xvc2UoKTsKICAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7Ci0gICAgdm9pZCBzdG9w
KCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBG
b3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGZvY3VzKCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1
cml0eSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBibHVyKCk7CisgICAgdW5kZWZpbmVk
IHN0b3AoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1JbmN1bWJlbnRXaW5k
b3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBmb2N1cygpOworICAgIFtEb05v
dENoZWNrU2VjdXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBibHVyKCk7
CiAKICAgICAvLyBPdGhlciBicm93c2luZyBjb250ZXh0cy4KICAgICBbUmVwbGFjZWFibGUsIERv
Tm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyLCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBXaW5kb3dQcm94eSBmcmFtZXM7CkBAIC04NSwyNCArODUsMjQgQEAgdHlwZWRlZiBVU1ZTdHJp
bmcgQ1NTT01TdHJpbmc7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUFwcGxpY2F0aW9uQ2Fj
aGUgYXBwbGljYXRpb25DYWNoZTsKIAogICAgIC8vIFVzZXIgcHJvbXB0cy4KLSAgICB2b2lkIGFs
ZXJ0KCk7Ci0gICAgdm9pZCBhbGVydChET01TdHJpbmcgbWVzc2FnZSk7CisgICAgdW5kZWZpbmVk
IGFsZXJ0KCk7CisgICAgdW5kZWZpbmVkIGFsZXJ0KERPTVN0cmluZyBtZXNzYWdlKTsKICAgICBb
SW1wbGVtZW50ZWRBcz1jb25maXJtRm9yQmluZGluZ3NdYm9vbGVhbiBjb25maXJtKG9wdGlvbmFs
IERPTVN0cmluZyBtZXNzYWdlID0gIiIpOwogICAgIERPTVN0cmluZz8gcHJvbXB0KG9wdGlvbmFs
IERPTVN0cmluZyBtZXNzYWdlID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBkZWZhdWx0VmFsdWUg
PSAiIik7Ci0gICAgdm9pZCBwcmludCgpOworICAgIHVuZGVmaW5lZCBwcmludCgpOwogCiAgICAg
bG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sg
Y2FsbGJhY2spOyAvLyBGSVhNRTogU2hvdWxkIHJldHVybiBhbiB1bnNpZ25lZCBsb25nLgotICAg
IHZvaWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUobG9uZyBoYW5kbGUpOyAvLyBGSVhNRTogaGFuZGxl
IHNob3VsZCBiZSBhbiB1bnNpZ25lZCBsb25nLgorICAgIHVuZGVmaW5lZCBjYW5jZWxBbmltYXRp
b25GcmFtZShsb25nIGhhbmRsZSk7IC8vIEZJWE1FOiBoYW5kbGUgc2hvdWxkIGJlIGFuIHVuc2ln
bmVkIGxvbmcuCiAKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1yZXF1ZXN0SWRsZUNhbGxiYWNrXSB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGxlQ2FsbGJhY2soSWRsZVJlcXVlc3RDYWxsYmFjayBjYWxs
YmFjaywgb3B0aW9uYWwgSWRsZVJlcXVlc3RPcHRpb25zIG9wdGlvbnMpOwotICAgIFtFbmFibGVk
QnlTZXR0aW5nPXJlcXVlc3RJZGxlQ2FsbGJhY2tdIHZvaWQgY2FuY2VsSWRsZUNhbGxiYWNrKHVu
c2lnbmVkIGxvbmcgaGFuZGxlKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1yZXF1ZXN0SWRsZUNh
bGxiYWNrXSB1bmRlZmluZWQgY2FuY2VsSWRsZUNhbGxiYWNrKHVuc2lnbmVkIGxvbmcgaGFuZGxl
KTsKIAotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QmSW5jdW1iZW50V2luZG93LCBEb05vdENo
ZWNrU2VjdXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2
b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRp
b25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOwotICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QmSW5jdW1iZW50V2luZG93LCBEb05vdENoZWNrU2VjdXJpdHksIEZvcndhcmREZWNs
YXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNz
YWdlLCBvcHRpb25hbCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdCZJbmN1bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eSwg
Rm9yd2FyZERlY2xhcmVJbkhlYWRlciwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0
TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2Vx
dWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
JkluY3VtYmVudFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVh
ZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdl
LCBvcHRpb25hbCBXaW5kb3dQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICAvLyBP
YnNvbGV0ZSBtZW1iZXJzLCBzdGlsbCBwYXJ0IG9mIHRoZSBIVE1MIHNwZWNpZmljYXRpb24gKGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI1dpbmRvdy1wYXJ0aWFsKS4KLSAgICB2b2lkIGNh
cHR1cmVFdmVudHMoKTsgLy8gTm90IGltcGxlbWVudGVkLiBBbHNvIG5vdCBpbiBtb2Rlcm4gc3Rh
bmRhcmRzLiBFbXB0eSBmdW5jdGlvbiBtYXkgaGVscCBjb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5
IGNvbnRlbnQuCi0gICAgdm9pZCByZWxlYXNlRXZlbnRzKCk7IC8vIE5vdCBpbXBsZW1lbnRlZC4g
QWxzbyBub3QgaW4gbW9kZXJuIHN0YW5kYXJkcy4gRW1wdHkgZnVuY3Rpb24gbWF5IGhlbHAgY29t
cGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSBjb250ZW50LgorICAgIHVuZGVmaW5lZCBjYXB0dXJlRXZl
bnRzKCk7IC8vIE5vdCBpbXBsZW1lbnRlZC4gQWxzbyBub3QgaW4gbW9kZXJuIHN0YW5kYXJkcy4g
RW1wdHkgZnVuY3Rpb24gbWF5IGhlbHAgY29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSBjb250ZW50
LgorICAgIHVuZGVmaW5lZCByZWxlYXNlRXZlbnRzKCk7IC8vIE5vdCBpbXBsZW1lbnRlZC4gQWxz
byBub3QgaW4gbW9kZXJuIHN0YW5kYXJkcy4gRW1wdHkgZnVuY3Rpb24gbWF5IGhlbHAgY29tcGF0
aWJpbGl0eSB3aXRoIGxlZ2FjeSBjb250ZW50LgogCiAgICAgLy8gV2ViU3RvcmFnZSAoaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2Vic3RvcmFnZS5odG1sI3RoZS1zZXNz
aW9uc3RvcmFnZS1hdHRyaWJ1dGUpLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdG9yYWdlIHNl
c3Npb25TdG9yYWdlOwpAQCAtMTE4LDEwICsxMTgsMTAgQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NT
T01TdHJpbmc7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgU2NyZWVuIHNj
cmVlbjsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCiAKICAgICAvLyBCcm93c2lu
ZyBjb250ZXh0IChDU1NPTS1WaWV3KS4KLSAgICB2b2lkIG1vdmVUbyhvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgeCA9IE5hTiwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHkgPSBOYU4p
OyAvLyBGSVhNRTogUGFyYW1ldGVycyBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBvZiB0eXBlIGxv
bmcuCi0gICAgdm9pZCBtb3ZlQnkob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4s
IG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRl
cnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgotICAgIHZvaWQgcmVzaXpl
VG8ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoID0gTmFOLCBvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZmxvYXQgaGVpZ2h0ID0gTmFOKTsgLy8gUGFyYW1ldGVycyBzaG91bGQgYmUgbWFu
ZGF0b3J5IGFuZCBvZiB0eXBlIGxvbmcuCi0gICAgdm9pZCByZXNpemVCeShvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeCA9IE5hTiwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHkgPSBO
YU4pOyAvLyBGSVhNRTogUGFyYW1ldGVycyBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBvZiB0eXBl
IGxvbmcuCisgICAgdW5kZWZpbmVkIG1vdmVUbyhvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eCA9IE5hTiwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHkgPSBOYU4pOyAvLyBGSVhNRTog
UGFyYW1ldGVycyBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBvZiB0eXBlIGxvbmcuCisgICAgdW5k
ZWZpbmVkIG1vdmVCeShvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgeCA9IE5hTiwgb3B0aW9u
YWwgdW5yZXN0cmljdGVkIGZsb2F0IHkgPSBOYU4pOyAvLyBGSVhNRTogUGFyYW1ldGVycyBzaG91
bGQgYmUgbWFuZGF0b3J5IGFuZCBvZiB0eXBlIGxvbmcuCisgICAgdW5kZWZpbmVkIHJlc2l6ZVRv
KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0aCA9IE5hTiwgb3B0aW9uYWwgdW5yZXN0
cmljdGVkIGZsb2F0IGhlaWdodCA9IE5hTik7IC8vIFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRh
dG9yeSBhbmQgb2YgdHlwZSBsb25nLgorICAgIHVuZGVmaW5lZCByZXNpemVCeShvcHRpb25hbCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeCA9IE5hTiwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHkg
PSBOYU4pOyAvLyBGSVhNRTogUGFyYW1ldGVycyBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBvZiB0
eXBlIGxvbmcuCiAKICAgICAvLyBWaWV3cG9ydCAoQ1NTT00tVmlldykuCiAgICAgW1JlcGxhY2Vh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbm5lckhlaWdodDsKQEAgLTEzMiwxMiArMTMy
LDEyIEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIFtSZXBsYWNlYWJsZSwg
SW1wbGVtZW50ZWRBcz1zY3JvbGxYXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHBhZ2VYT2Zm
c2V0OwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBzY3JvbGxZ
OwogICAgIFtSZXBsYWNlYWJsZSwgSW1wbGVtZW50ZWRBcz1zY3JvbGxZXSByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlIHBhZ2VZT2Zmc2V0OwotICAgIFtJbXBsZW1lbnRlZEFzPXNjcm9sbFRvXSB2
b2lkIHNjcm9sbChvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7Ci0gICAgW0ltcGxl
bWVudGVkQXM9c2Nyb2xsVG9dIHZvaWQgc2Nyb2xsKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAgICB2b2lkIHNjcm9sbFRvKG9wdGlvbmFsIFNjcm9sbFRv
T3B0aW9ucyBvcHRpb25zKTsKLSAgICB2b2lkIHNjcm9sbFRvKHVucmVzdHJpY3RlZCBkb3VibGUg
eCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAgICB2b2lkIHNjcm9sbEJ5KG9wdGlvbmFsIFNj
cm9sbFRvT3B0aW9ucyBvcHRpb24pOwotICAgIHZvaWQgc2Nyb2xsQnkodW5yZXN0cmljdGVkIGRv
dWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIFtJbXBsZW1lbnRlZEFzPXNjcm9s
bFRvXSB1bmRlZmluZWQgc2Nyb2xsKG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb25zKTsK
KyAgICBbSW1wbGVtZW50ZWRBcz1zY3JvbGxUb10gdW5kZWZpbmVkIHNjcm9sbCh1bnJlc3RyaWN0
ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7CisgICAgdW5kZWZpbmVkIHNjcm9s
bFRvKG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb25zKTsKKyAgICB1bmRlZmluZWQgc2Ny
b2xsVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAg
IHVuZGVmaW5lZCBzY3JvbGxCeShvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9uKTsKKyAg
ICB1bmRlZmluZWQgc2Nyb2xsQnkodW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHkpOwogCiAgICAgLy8gVmlzdWFsIFZpZXdwb3J0IChodHRwczovL3dpY2cuZ2l0aHVi
LmlvL1ZpZXdwb3J0QVBJL3NwZWMuaHRtbCkKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1WaXN1YWxW
aWV3cG9ydEFQSSwgUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaXN1YWxWaWV3cG9y
dCB2aXN1YWxWaWV3cG9ydDsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM0MTQKQEAgLTE2NCw4ICsxNjQs
OCBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBbUmVwbGFjZWFibGVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcmVlbkxlZnQ7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyBzY3JlZW5Ub3A7CiAgICAgbG9uZyB3ZWJraXRSZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOwotICAg
IFtJbXBsZW1lbnRlZEFzPWNhbmNlbEFuaW1hdGlvbkZyYW1lXSB2b2lkIHdlYmtpdENhbmNlbEFu
aW1hdGlvbkZyYW1lKGxvbmcgaWQpOwotICAgIFtJbXBsZW1lbnRlZEFzPWNhbmNlbEFuaW1hdGlv
bkZyYW1lXSB2b2lkIHdlYmtpdENhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZShsb25nIGlkKTsK
KyAgICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdW5kZWZpbmVkIHdlYmtp
dENhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaWQpOworICAgIFtJbXBsZW1lbnRlZEFzPWNhbmNl
bEFuaW1hdGlvbkZyYW1lXSB1bmRlZmluZWQgd2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZy
YW1lKGxvbmcgaWQpOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIGJ1dCBtYXkgZ2V0IGFkZGVkICho
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzIzNzkpLgogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIE5hdmlnYXRvciBjbGllbnRJbmZvcm1hdGlvbjsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDks
NyArNDksNyBAQAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25vcGVuOwogICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25lcnJvcjsKLSAgICB2b2lkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiB9Owog
CiBkaWN0aW9uYXJ5IEV2ZW50U291cmNlSW5pdCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0hpc3RvcnkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDEzICszMiwxMyBAQAogICAgIGF0dHJpYnV0ZSBTY3JvbGxS
ZXN0b3JhdGlvbiBzY3JvbGxSZXN0b3JhdGlvbjsKICAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRy
aWJ1dGUgYW55IHN0YXRlOwogCi0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3YXJkRGVjbGFy
ZUluSGVhZGVyXSB2b2lkIGJhY2soKTsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIEZvcndhcmRE
ZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9yd2FyZCgpOwotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwg
Rm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBnbyhvcHRpb25hbCBsb25nIGRlbHRhID0gMCk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmlu
ZWQgYmFjaygpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRl
cl0gdW5kZWZpbmVkIGZvcndhcmQoKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIEZvcndhcmRE
ZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBnbyhvcHRpb25hbCBsb25nIGRlbHRhID0gMCk7CiAK
ICAgICAvLyBGSVhNRTogdGl0bGUgc2hvdWxkIG5vdCBiZSBudWxsYWJsZSBhcyBwZXIgdGhlIEhU
TUwgc3BlY2lmaWNhdGlvbi4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcHVzaFN0YXRl
KFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBkYXRhLCBET01TdHJpbmc/IHRpdGxlLCBvcHRpb25hbCBV
U1ZTdHJpbmc/IHVybCA9IG51bGwpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZXBs
YWNlU3RhdGUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRhdGEsIERPTVN0cmluZz8gdGl0bGUsIG9w
dGlvbmFsIFVTVlN0cmluZz8gdXJsID0gbnVsbCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgcHVzaFN0YXRlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBkYXRhLCBET01TdHJpbmc/
IHRpdGxlLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHVybCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHJlcGxhY2VTdGF0ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0
YSwgRE9NU3RyaW5nPyB0aXRsZSwgb3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKIH07
CiAKIGVudW0gU2Nyb2xsUmVzdG9yYXRpb24geyAiYXV0byIsICJtYW51YWwiIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDkgKzM2LDkgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJvb3RNYXJnaW47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPGRv
dWJsZT4gdGhyZXNob2xkczsKIAotICAgIHZvaWQgb2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7Ci0g
ICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCB0YXJnZXQpOwotICAgIHZvaWQgZGlzY29ubmVjdCgp
OworICAgIHVuZGVmaW5lZCBvYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKKyAgICB1bmRlZmluZWQg
dW5vYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKKyAgICB1bmRlZmluZWQgZGlzY29ubmVjdCgpOwog
ICAgIFtSZXN1bHRGaWVsZD1yZWNvcmRzXSBzZXF1ZW5jZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVu
dHJ5PiB0YWtlUmVjb3JkcygpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9SU5U
RVJTRUNUSU9OX09CU0VSVkVSLAogICAgIENhbGxiYWNrVGhpc09iamVjdD1JbnRlcnNlY3Rpb25P
YnNlcnZlciwKLV0gY2FsbGJhY2sgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IHZvaWQg
KHNlcXVlbmNlPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+IGVudHJpZXMsIEludGVyc2VjdGlv
bk9ic2VydmVyIG9ic2VydmVyKTsKK10gY2FsbGJhY2sgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxs
YmFjayA9IHVuZGVmaW5lZCAoc2VxdWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4gZW50
cmllcywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9Mb2NhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9M
b2NhdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBACiBdIGludGVyZmFjZSBM
b2NhdGlvbiB7CiAgICAgW1NldHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywg
RG9Ob3RDaGVja1NlY3VyaXR5T25TZXR0ZXJdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgaHJlZjsKIAotICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIE1heVRo
cm93RXhjZXB0aW9uLCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGFzc2lnbihVU1ZTdHJp
bmcgdXJsKTsKLSAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1BY3RpdmVXaW5kb3cm
Rmlyc3RXaW5kb3csIE1heVRocm93RXhjZXB0aW9uLCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2
b2lkIHJlcGxhY2UoVVNWU3RyaW5nIHVybCk7Ci0gICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvdywg
Rm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCByZWxvYWQoKTsKKyAgICBbQ2FsbFdpdGg9QWN0
aXZlV2luZG93JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJ
bkhlYWRlcl0gdW5kZWZpbmVkIGFzc2lnbihVU1ZTdHJpbmcgdXJsKTsKKyAgICBbRG9Ob3RDaGVj
a1NlY3VyaXR5LCBDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIE1heVRocm93RXhj
ZXB0aW9uLCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgcmVwbGFjZShVU1ZTdHJp
bmcgdXJsKTsKKyAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93LCBGb3J3YXJkRGVjbGFyZUluSGVh
ZGVyXSB1bmRlZmluZWQgcmVsb2FkKCk7CiAKICAgICAvLyBVUkkgZGVjb21wb3NpdGlvbiBhdHRy
aWJ1dGVzCiAgICAgW1NldHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvd10gYXR0
cmlidXRlIFVTVlN0cmluZyBwcm90b2NvbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAgICAgW0NvbmRpdGlvbmFsPU5B
VklHQVRPUl9TVEFOREFMT05FXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzdGFuZGFsb25l
OwogCi0gICAgdm9pZCBnZXRTdG9yYWdlVXBkYXRlcygpOyAvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
bWV0aG9kIG9yIHJlbmFtZSB0byB5aWVsZEZvclN0b3JhZ2VVcGRhdGVzLgorICAgIHVuZGVmaW5l
ZCBnZXRTdG9yYWdlVXBkYXRlcygpOyAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgbWV0aG9kIG9yIHJl
bmFtZSB0byB5aWVsZEZvclN0b3JhZ2VVcGRhdGVzLgogfTsKIAogTmF2aWdhdG9yIGltcGxlbWVu
dHMgTmF2aWdhdG9ySUQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvcklzTG9n
Z2VkSW4uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9ySXNM
b2dnZWRJbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9ySXNMb2dnZWRJbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICAg
ICBFeHBvc2VkPVdpbmRvdywKICAgICBFbmFibGVkQnlTZXR0aW5nPUlzTG9nZ2VkSW5BUEkKIF0g
cGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKLSAgICBQcm9taXNlPHZvaWQ+IHNldExvZ2dl
ZEluKCk7Ci0gICAgUHJvbWlzZTx2b2lkPiBzZXRMb2dnZWRPdXQoKTsKKyAgICBQcm9taXNlPHVu
ZGVmaW5lZD4gc2V0TG9nZ2VkSW4oKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0TG9nZ2Vk
T3V0KCk7CiAgICAgUHJvbWlzZTxib29sPiBpc0xvZ2dlZEluKCk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw1
ICsyOSw1IEBACiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTaGFyZQogXSBpbnRlcmZhY2UgTmF2
aWdhdG9yU2hhcmUgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1
cmVDb250ZXh0XSBib29sZWFuIGNhblNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEp
OwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBQ
cm9taXNlPHZvaWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOworICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBTZWN1cmVDb250ZXh0XSBQcm9taXNlPHVu
ZGVmaW5lZD4gc2hhcmUob3B0aW9uYWwgU2hhcmVEYXRhIHNoYXJlRGF0YSk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxNSAr
NTAsMTUgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKICAgICBbRW5hYmxl
ZEF0UnVudGltZT1QZXJmb3JtYW5jZVRpbWVsaW5lXSBQZXJmb3JtYW5jZUVudHJ5TGlzdCBnZXRF
bnRyaWVzQnlOYW1lKERPTVN0cmluZyBuYW1lLCBvcHRpb25hbCBET01TdHJpbmcgZW50cnlUeXBl
KTsKIAogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvCi0gICAg
W0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHZvaWQgY2xlYXJSZXNvdXJjZVRpbWlu
Z3MoKTsKLSAgICBbRW5hYmxlZEF0UnVudGltZT1SZXNvdXJjZVRpbWluZ10gdm9pZCBzZXRSZXNv
dXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgbG9uZyBtYXhTaXplKTsKKyAgICBbRW5hYmxl
ZEF0UnVudGltZT1SZXNvdXJjZVRpbWluZ10gdW5kZWZpbmVkIGNsZWFyUmVzb3VyY2VUaW1pbmdz
KCk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHVuZGVmaW5lZCBzZXRS
ZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgbG9uZyBtYXhTaXplKTsKICAgICBbRW5h
YmxlZEF0UnVudGltZT1SZXNvdXJjZVRpbWluZ10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnJl
c291cmNldGltaW5nYnVmZmVyZnVsbDsKIAogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby91
c2VyLXRpbWluZy8KLSAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBtYXJrKERPTVN0cmluZyBtYXJrTmFtZSk7Ci0gICAgW0VuYWJsZWRBdFJ1
bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1hcmtzKG9wdGlvbmFsIERPTVN0cmluZyBtYXJr
TmFtZSk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywgTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgbWVhc3VyZShET01TdHJpbmcgbWVhc3VyZU5hbWUsIG9wdGlvbmFsIERPTVN0cmlu
ZyBzdGFydE1hcmssIG9wdGlvbmFsIERPTVN0cmluZyBlbmRNYXJrKTsKLSAgICBbRW5hYmxlZEF0
UnVudGltZT1Vc2VyVGltaW5nXSB2b2lkIGNsZWFyTWVhc3VyZXMob3B0aW9uYWwgRE9NU3RyaW5n
IG1lYXN1cmVOYW1lKTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG1hcmsoRE9NU3RyaW5nIG1hcmtOYW1lKTsKKyAgICBbRW5h
YmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB1bmRlZmluZWQgY2xlYXJNYXJrcyhvcHRpb25hbCBE
T01TdHJpbmcgbWFya05hbWUpOworICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgbWVhc3VyZShET01TdHJpbmcgbWVhc3VyZU5hbWUs
IG9wdGlvbmFsIERPTVN0cmluZyBzdGFydE1hcmssIG9wdGlvbmFsIERPTVN0cmluZyBlbmRNYXJr
KTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB1bmRlZmluZWQgY2xlYXJNZWFz
dXJlcyhvcHRpb25hbCBET01TdHJpbmcgbWVhc3VyZU5hbWUpOwogfTsKIAogdHlwZWRlZiBzZXF1
ZW5jZTxQZXJmb3JtYW5jZUVudHJ5PiBQZXJmb3JtYW5jZUVudHJ5TGlzdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsOCArMzQsOCBAQAogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNlcnZl
ciB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKFBl
cmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjayk7CiAKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKLSAg
ICB2b2lkIGRpc2Nvbm5lY3QoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBv
YnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOworICAgIHVuZGVmaW5lZCBk
aXNjb25uZWN0KCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRp
YyByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBzdXBwb3J0ZWRFbnRy
eVR5cGVzOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw0ICsyOCw0IEBACiBbCiAgICAgSXNXZWFrQ2FsbGJhY2ssCiAgICAgQ2FsbGJhY2tU
aGlzT2JqZWN0PVBlcmZvcm1hbmNlT2JzZXJ2ZXIsCi1dIGNhbGxiYWNrIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjayA9IHZvaWQgKFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgZW50cmll
cywgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcik7CitdIGNhbGxiYWNrIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjayA9IHVuZGVmaW5lZCAoUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dCBlbnRyaWVzLCBQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVyKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDcs
MTQgKzQ3LDE0IEBACiAgICAgW1VuZm9yZ2VhYmxlLCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5kb3c7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFk
b25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgc2VsZjsKICAgICBbUHV0Rm9yd2FyZHM9aHJlZiwg
VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJ
WE1FOiBTaG91bGQgbm90IGJlIG51bGxhYmxlLgotICAgIFtDYWxsV2l0aD1JbmN1bWJlbnREb2N1
bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOworICAgIFtDYWxsV2l0
aD1JbmN1bWJlbnREb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIGNs
b3NlKCk7CiAgICAgW0ZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGNsb3NlZDsKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBGb3J3YXJkRGVj
bGFyZUluSGVhZGVyXSB2b2lkIGZvY3VzKCk7Ci0gICAgW0ZvcndhcmREZWNsYXJlSW5IZWFkZXJd
IHZvaWQgYmx1cigpOworICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNs
YXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBmb2N1cygpOworICAgIFtGb3J3YXJkRGVjbGFyZUluSGVh
ZGVyXSB1bmRlZmluZWQgYmx1cigpOwogICAgIFtSZXBsYWNlYWJsZSwgSW1wbGVtZW50ZWRBcz1z
ZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIFtVbmZv
cmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyB0b3A7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBvcGVuZXI7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFk
b25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHBhcmVudDsKLSAgICBbQ2FsbFdpdGg9R2xvYmFs
T2JqZWN0JkluY3VtYmVudFdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBwb3N0
TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2Vx
dWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
JkluY3VtYmVudFdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIHBvc3RN
ZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25hbCBzZXF1
ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzaXplT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UmVzaXplT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAog
XSBpbnRlcmZhY2UgUmVzaXplT2JzZXJ2ZXIgewogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29u
c3RydWN0b3IoUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjayk7CiAKLSAgICB2b2lkIG9i
c2VydmUoRWxlbWVudCB0YXJnZXQpOwotICAgIHZvaWQgdW5vYnNlcnZlKEVsZW1lbnQgdGFyZ2V0
KTsKLSAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKyAgICB1bmRlZmluZWQgb2JzZXJ2ZShFbGVtZW50
IHRhcmdldCk7CisgICAgdW5kZWZpbmVkIHVub2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CisgICAg
dW5kZWZpbmVkIGRpc2Nvbm5lY3QoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Jl
c2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDQgKzI4LDQgQEAKIFsKICAgICBDb25kaXRpb25hbD1SRVNJWkVfT0JTRVJWRVIsCiAg
ICAgQ2FsbGJhY2tUaGlzT2JqZWN0PVJlc2l6ZU9ic2VydmVyLAotXSBjYWxsYmFjayBSZXNpemVP
YnNlcnZlckNhbGxiYWNrID0gdm9pZCAoc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJFbnRyeT4gZW50
cmllcywgUmVzaXplT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworXSBjYWxsYmFjayBSZXNpemVPYnNlcnZl
ckNhbGxiYWNrID0gdW5kZWZpbmVkIChzZXF1ZW5jZTxSZXNpemVPYnNlcnZlckVudHJ5PiBlbnRy
aWVzLCBSZXNpemVPYnNlcnZlciBvYnNlcnZlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1VuZG9NYW5hZ2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9N
YW5hZ2VyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9VbmRv
TWFuYWdlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDUgKzI4LDUgQEAKICAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3VtZW50
LAogXSBpbnRlcmZhY2UgVW5kb01hbmFnZXIgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBhZGRJdGVtKFVuZG9JdGVtIGl0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIGFkZEl0ZW0oVW5kb0l0ZW0gaXRlbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTIgQEAgdHlwZWRlZiAoQ2FudmFzSW1hZ2VTb3Vy
Y2Ugb3IgQmxvYiBvciBJbQogICAgIC8vIFRpbWVycwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCB0YWtlIGEgVGltZXJIYW5kbGVyIChhLmsuYS4gKERPTVN0cmluZyBvciBGdW5jdGlvbikpIHJh
dGhlciB0aGFuIGEgU2NoZWR1bGVkQWN0aW9uLgogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3Qs
IE1heVRocm93RXhjZXB0aW9uXSBsb25nIHNldFRpbWVvdXQoU2NoZWR1bGVkQWN0aW9uIGhhbmRs
ZXIsIG9wdGlvbmFsIGxvbmcgdGltZW91dCA9IDAsIGFueS4uLiBhcmd1bWVudHMpOwotICAgIHZv
aWQgY2xlYXJUaW1lb3V0KG9wdGlvbmFsIGxvbmcgaGFuZGxlID0gMCk7CisgICAgdW5kZWZpbmVk
IGNsZWFyVGltZW91dChvcHRpb25hbCBsb25nIGhhbmRsZSA9IDApOwogICAgIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCB0YWtlIGEgVGltZXJIYW5kbGVyIChhLmsuYS4gKERPTVN0cmluZyBvciBGdW5j
dGlvbikpIHJhdGhlciB0aGFuIGEgU2NoZWR1bGVkQWN0aW9uLgogICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSBsb25nIHNldEludGVydmFsKFNjaGVkdWxlZEFj
dGlvbiBoYW5kbGVyLCBvcHRpb25hbCBsb25nIHRpbWVvdXQgPSAwLCBhbnkuLi4gYXJndW1lbnRz
KTsKLSAgICB2b2lkIGNsZWFySW50ZXJ2YWwob3B0aW9uYWwgbG9uZyBoYW5kbGUgPSAwKTsKKyAg
ICB1bmRlZmluZWQgY2xlYXJJbnRlcnZhbChvcHRpb25hbCBsb25nIGhhbmRsZSA9IDApOwogCi0g
ICAgW0N1c3RvbV0gdm9pZCBxdWV1ZU1pY3JvdGFzayhWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwor
ICAgIFtDdXN0b21dIHVuZGVmaW5lZCBxdWV1ZU1pY3JvdGFzayhWb2lkQ2FsbGJhY2sgY2FsbGJh
Y2spOwogCiAgICAgLy8gQmFzZTY0IHV0aWxpdHkgbWV0aG9kcy4KICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIERPTVN0cmluZyBhdG9iKERPTVN0cmluZyBzdHJpbmcpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw2ICsyOCw2IEBACiAgICAgZ2V0dGVyIERPTVBsdWdpbj8gaXRlbSh1bnNpZ25lZCBsb25n
IGluZGV4KTsKICAgICBnZXR0ZXIgRE9NUGx1Z2luPyBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUp
OwogCi0gICAgdm9pZCByZWZyZXNoKG9wdGlvbmFsIGJvb2xlYW4gcmVsb2FkID0gZmFsc2UpOwor
ICAgIHVuZGVmaW5lZCByZWZyZXNoKG9wdGlvbmFsIGJvb2xlYW4gcmVsb2FkID0gZmFsc2UpOwog
fTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMCw3ICszMCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogICAgIERPTVN0cmluZz8ga2V5KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIGdldHRl
ciBET01TdHJpbmc/IGdldEl0ZW0oRE9NU3RyaW5nIGtleSk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSBzZXR0ZXIgdm9pZCBzZXRJdGVtKERPTVN0cmluZyBrZXksIERPTVN0cmluZyBkYXRhKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGRlbGV0ZXIgdm9pZCByZW1vdmVJdGVtKERPTVN0cmlu
ZyBrZXkpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCBzZXRJdGVtKERPTVN0cmluZyBrZXksIERP
TVN0cmluZyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGRlbGV0ZXIgdW5kZWZpbmVk
IHJlbW92ZUl0ZW0oRE9NU3RyaW5nIGtleSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgY2xlYXIoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VF
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZl
bnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgaW50ZXJmYWNlIFN0
b3JhZ2VFdmVudCA6IEV2ZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3RvcmFnZT8gc3Rv
cmFnZUFyZWE7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBw
YXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBpbml0U3RvcmFnZUV2ZW50KG9wdGlv
bmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVmaW5lZCIsCisgICAgdW5kZWZpbmVkIGluaXRT
dG9yYWdlRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGVBcmcgPSAidW5kZWZpbmVkIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGVBcmcgPSBm
YWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxh
YmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0
cmluZyBrZXlBcmcgPSAidW5kZWZpbmVkIiwKQEAgLTQzLDcgKzQzLDcgQEAgaW50ZXJmYWNlIFN0
b3JhZ2VFdmVudCA6IEV2ZW50IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
U3RvcmFnZT8gc3RvcmFnZUFyZWFBcmcgPSBudWxsKTsKIAogICAgIC8vIE5lZWRlZCBvbmNlIHdl
IHN1cHBvcnQgaW5pdDxibGFuaz5FdmVudE5TCi0gICAgLy8gdm9pZCBpbml0U3RvcmFnZUV2ZW50
TlMoRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIHR5cGVBcmcsIGJvb2xlYW4gY2Fu
QnViYmxlQXJnLCBib29sZWFuIGNhbmNlbGFibGVBcmcsIERPTVN0cmluZyBrZXlBcmcsIERPTVN0
cmluZyBvbGRWYWx1ZUFyZywgRE9NU3RyaW5nIG5ld1ZhbHVlQXJnLCBVU1ZTdHJpbmcgdXJsQXJn
LCBTdG9yYWdlPyBzdG9yYWdlQXJlYUFyZyk7CisgICAgLy8gdW5kZWZpbmVkIGluaXRTdG9yYWdl
RXZlbnROUyhET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBET01TdHJpbmcgdHlwZUFyZywgYm9vbGVh
biBjYW5CdWJibGVBcmcsIGJvb2xlYW4gY2FuY2VsYWJsZUFyZywgRE9NU3RyaW5nIGtleUFyZywg
RE9NU3RyaW5nIG9sZFZhbHVlQXJnLCBET01TdHJpbmcgbmV3VmFsdWVBcmcsIFVTVlN0cmluZyB1
cmxBcmcsIFN0b3JhZ2U/IHN0b3JhZ2VBcmVhQXJnKTsKIH07CiAKIGRpY3Rpb25hcnkgU3RvcmFn
ZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5n
bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDYgKzM2LDYgQEAKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFs
dWVBc1N0cmluZzsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBuZXdWYWx1ZVNwZWNp
ZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFs
dWVJblNwZWNpZmllZFVuaXRzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29udmVy
dFRvU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG5ld1ZhbHVlU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hv
cnQgdW5pdFR5cGUsIHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRz
KHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEw
ICszMSwxMCBAQCBpbnRlcmZhY2UgU1ZHQW5pbWF0aW9uRWxlbWVudCA6IFNWR0VsZW1lCiAgICAg
dW5yZXN0cmljdGVkIGZsb2F0IGdldEN1cnJlbnRUaW1lKCk7CiAgICAgdW5yZXN0cmljdGVkIGZs
b2F0IGdldFNpbXBsZUR1cmF0aW9uKCk7CiAKLSAgICB2b2lkIGJlZ2luRWxlbWVudCgpOwotICAg
IHZvaWQgYmVnaW5FbGVtZW50QXQob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG9mZnNldCA9
IE5hTik7Ci0gICAgdm9pZCBlbmRFbGVtZW50KCk7Ci0gICAgdm9pZCBlbmRFbGVtZW50QXQob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG9mZnNldCA9IE5hTik7CisgICAgdW5kZWZpbmVkIGJl
Z2luRWxlbWVudCgpOworICAgIHVuZGVmaW5lZCBiZWdpbkVsZW1lbnRBdChvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZmxvYXQgb2Zmc2V0ID0gTmFOKTsKKyAgICB1bmRlZmluZWQgZW5kRWxlbWVudCgp
OworICAgIHVuZGVmaW5lZCBlbmRFbGVtZW50QXQob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IG9mZnNldCA9IE5hTik7CiB9OwogCiBTVkdBbmltYXRpb25FbGVtZW50IGltcGxlbWVudHMgU1ZH
VGVzdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9w
U2hhZG93RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAgaW50ZXJm
YWNlIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQgOiBTVkdFbAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBzdGREZXZpYXRpb25YOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBzdGREZXZpYXRpb25ZOwogCi0gICAgdm9pZCBzZXRTdGREZXZp
YXRpb24ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlhdGlvblggPSBOYU4sCisg
ICAgdW5kZWZpbmVkIHNldFN0ZERldmlhdGlvbihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
c3RkRGV2aWF0aW9uWCA9IE5hTiwKICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1
bnJlc3RyaWN0ZWQgZmxvYXQgc3RkRGV2aWF0aW9uWSA9IE5hTik7CiB9OwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3RkRGV2aWF0aW9uWTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiBlZGdlTW9kZTsKIAotICAgIHZvaWQgc2V0U3Rk
RGV2aWF0aW9uKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25YID0gTmFO
LAorICAgIHVuZGVmaW5lZCBzZXRTdGREZXZpYXRpb24ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZs
b2F0IHN0ZERldmlhdGlvblggPSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u
YWwgdW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlhdGlvblkgPSBOYU4pOwogfTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR0FuaW1hdGVkTnVtYmVyICAgICAgcmFkaXVzWDsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHQW5pbWF0ZWROdW1iZXIgICAgICByYWRpdXNZOwogCi0gICAgdm9pZCBzZXRSYWRpdXMo
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHJhZGl1c1ggPSBOYU4sCisgICAgdW5kZWZpbmVk
IHNldFJhZGl1cyhvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgcmFkaXVzWCA9IE5hTiwKICAg
ICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgcmFkaXVzWSA9IE5h
Tik7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDYgKzQwLDYgQEAgaW50ZXJmYWNlIFNWR0xlbmd0aCB7IAogICAgIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZmxvYXQgdmFsdWVJblNwZWNpZmllZFVuaXRzOwogICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFsdWVBc1N0cmluZzsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBuZXdW
YWx1ZVNwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgdmFsdWVJblNwZWNpZmllZFVuaXRzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgY29udmVydFRvU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG5ld1ZhbHVlU3BlY2lmaWVkVW5pdHModW5z
aWduZWQgc2hvcnQgdW5pdFR5cGUsIHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3BlY2lmaWVk
VW5pdHMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xlbmd0aExpc3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTGVuZ3RoTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEyICszMCwxMiBA
QAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJPZkl0ZW1zOwogCi0gICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR0xlbmd0aCBpbml0aWFs
aXplKFNWR0xlbmd0aCBuZXdJdGVtKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGdldHRlciBT
VkdMZW5ndGggZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFNWR0xlbmd0aCBpbnNlcnRJdGVtQmVmb3JlKFNWR0xlbmd0aCBuZXdJdGVtLCB1bnNp
Z25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR0xlbmd0aCByZXBs
YWNlSXRlbShTVkdMZW5ndGggbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggcmVtb3ZlSXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR0xlbmd0aCBhcHBlbmRJdGVtKFNWR0xlbmd0
aCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25l
ZCBsb25nIGluZGV4LCBTVkdMZW5ndGggbmV3SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdMZW5ndGggbmV3SXRl
bSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC00NCw4ICs0NCw4IEBAIGludGVyZmFjZSBTVkdNYXJrZXJFbGVt
ZW50IDogU1ZHRWxlbWVudCAKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgb3JpZW50OwogCi0g
ICAgdm9pZCBzZXRPcmllbnRUb0F1dG8oKTsKLSAgICB2b2lkIHNldE9yaWVudFRvQW5nbGUoU1ZH
QW5nbGUgYW5nbGUpOworICAgIHVuZGVmaW5lZCBzZXRPcmllbnRUb0F1dG8oKTsKKyAgICB1bmRl
ZmluZWQgc2V0T3JpZW50VG9BbmdsZShTVkdBbmdsZSBhbmdsZSk7CiB9OwogCiBTVkdNYXJrZXJF
bGVtZW50IGltcGxlbWVudHMgU1ZHRml0VG9WaWV3Qm94OwpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR051bWJlckxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdOdW1iZXJMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR051bWJlckxpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMiArMjgsMTIgQEAgaW50
ZXJmYWNlIFNWR051bWJlckxpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJP
Zkl0ZW1zOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIFNWR051bWJlciBpbml0aWFsaXplKFNWR051bWJlciBuZXdJdGVtKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGdldHRlciBTVkdOdW1iZXIgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR051bWJlciBpbnNlcnRJdGVtQmVmb3JlKFNW
R051bWJlciBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFNWR051bWJlciByZXBsYWNlSXRlbShTVkdOdW1iZXIgbmV3SXRlbSwgdW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdOdW1iZXIgcmVtb3ZlSXRl
bSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR051bWJl
ciBhcHBlbmRJdGVtKFNWR051bWJlciBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdOdW1iZXIgbmV3SXRlbSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGlu
ZGV4LCBTVkdOdW1iZXIgbmV3SXRlbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpc3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0xpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMiArMjgsMTIgQEAgaW50ZXJm
YWNlIFNWR1BhdGhTZWdMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJ
dGVtczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBTVkdQYXRoU2VnIGluaXRpYWxpemUoU1ZHUGF0aFNlZyBuZXdJdGVtKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGdldHRlciBTVkdQYXRoU2VnIGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQYXRoU2VnIGluc2VydEl0ZW1CZWZvcmUo
U1ZHUGF0aFNlZyBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIFNWR1BhdGhTZWcgcmVwbGFjZUl0ZW0oU1ZHUGF0aFNlZyBuZXdJdGVtLCB1bnNp
Z25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1BhdGhTZWcgcmVt
b3ZlSXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNW
R1BhdGhTZWcgYXBwZW5kSXRlbShTVkdQYXRoU2VnIG5ld0l0ZW0pOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIFNWR1BhdGhTZWcgbmV3
SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25l
ZCBsb25nIGluZGV4LCBTVkdQYXRoU2VnIG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQb2ludExpc3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUG9pbnRMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTIgKzI3LDEyIEBAIGlu
dGVyZmFjZSBTVkdQb2ludExpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJP
Zkl0ZW1zOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIFNWR1BvaW50IGluaXRpYWxpemUoU1ZHUG9pbnQgbmV3SXRlbSk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBnZXR0ZXIgU1ZHUG9pbnQgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1BvaW50IGluc2VydEl0ZW1CZWZvcmUoU1ZHUG9p
bnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBTVkdQb2ludCByZXBsYWNlSXRlbShTVkdQb2ludCBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1BvaW50IHJlbW92ZUl0ZW0odW5zaWdu
ZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBhcHBlbmRJ
dGVtKFNWR1BvaW50IG5ld0l0ZW0pOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZv
aWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIFNWR1BvaW50IG5ld0l0ZW0pOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHUG9p
bnQgbmV3SXRlbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBACiAgICAgYm9vbGVhbiBjaGVja0ludGVy
c2VjdGlvbihTVkdFbGVtZW50IGVsZW1lbnQsIFNWR1JlY3QgcmVjdCk7CiAgICAgYm9vbGVhbiBj
aGVja0VuY2xvc3VyZShTVkdFbGVtZW50IGVsZW1lbnQsIFNWR1JlY3QgcmVjdCk7CiAKLSAgICB2
b2lkIGRlc2VsZWN0QWxsKCk7CisgICAgdW5kZWZpbmVkIGRlc2VsZWN0QWxsKCk7CiAKICAgICBb
TmV3T2JqZWN0XSBTVkdOdW1iZXIgY3JlYXRlU1ZHTnVtYmVyKCk7CiAgICAgW05ld09iamVjdF0g
U1ZHTGVuZ3RoIGNyZWF0ZVNWR0xlbmd0aCgpOwpAQCAtNTksMTcgKzU5LDE3IEBACiAKICAgICAv
LyBTVkcgYW5pbWF0aW9ucyBleHRlbnNpb25zCiAgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3Bl
Y3MvYW5pbWF0aW9ucy8jSW50ZXJmYWNlU1ZHU1ZHRWxlbWVudAotICAgIHZvaWQgcGF1c2VBbmlt
YXRpb25zKCk7Ci0gICAgdm9pZCB1bnBhdXNlQW5pbWF0aW9ucygpOworICAgIHVuZGVmaW5lZCBw
YXVzZUFuaW1hdGlvbnMoKTsKKyAgICB1bmRlZmluZWQgdW5wYXVzZUFuaW1hdGlvbnMoKTsKICAg
ICBib29sZWFuIGFuaW1hdGlvbnNQYXVzZWQoKTsKICAgICB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0
Q3VycmVudFRpbWUoKTsKLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBzZWNvbmRzID0gTmFOKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VycmVudFRpbWUo
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHNlY29uZHMgPSBOYU4pOwogCiAgICAgLy8gRGVw
cmVjYXRlZCBTVkcgcmVkcmF3aW5nCiAgICAgdW5zaWduZWQgbG9uZyBzdXNwZW5kUmVkcmF3KG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgbWF4V2FpdE1pbGxpc2Vjb25kcyA9IDApOwotICAgIHZvaWQg
dW5zdXNwZW5kUmVkcmF3KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgc3VzcGVuZEhhbmRsZUlkID0g
MCk7Ci0gICAgdm9pZCB1bnN1c3BlbmRSZWRyYXdBbGwoKTsKLSAgICB2b2lkIGZvcmNlUmVkcmF3
KCk7CisgICAgdW5kZWZpbmVkIHVuc3VzcGVuZFJlZHJhdyhvcHRpb25hbCB1bnNpZ25lZCBsb25n
IHN1c3BlbmRIYW5kbGVJZCA9IDApOworICAgIHVuZGVmaW5lZCB1bnN1c3BlbmRSZWRyYXdBbGwo
KTsKKyAgICB1bmRlZmluZWQgZm9yY2VSZWRyYXcoKTsKIH07CiAKIFNWR1NWR0VsZW1lbnQgaW1w
bGVtZW50cyBTVkdGaXRUb1ZpZXdCb3g7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3Ry
aW5nTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xp
c3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5n
TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEyICsyNywxMiBAQCBpbnRlcmZhY2UgU1ZH
U3RyaW5nTGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlck9mSXRlbXM7CiAK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBjbGVhcigpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3Ry
aW5nIGluaXRpYWxpemUoRE9NU3RyaW5nIG5ld0l0ZW0pOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gZ2V0dGVyIERPTVN0cmluZyBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGluc2VydEl0ZW1CZWZvcmUoRE9NU3RyaW5nIG5l
d0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9N
U3RyaW5nIHJlcGxhY2VJdGVtKERPTVN0cmluZyBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyByZW1vdmVJdGVtKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGFwcGVuZEl0
ZW0oRE9NU3RyaW5nIG5ld0l0ZW0pOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZv
aWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyBuZXdJdGVtKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0
cmluZyBuZXdJdGVtKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDUgKzQwLDUg
QEAgaW50ZXJmYWNlIFNWR1RleHRDb250ZW50RWxlbWVudCA6IFNWR0dyYQogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBTVkdSZWN0IGdldEV4dGVudE9mQ2hhcihvcHRpb25hbCB1
bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5yZXN0
cmljdGVkIGZsb2F0IGdldFJvdGF0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zm
c2V0ID0gMCk7CiAgICAgbG9uZyBnZXRDaGFyTnVtQXRQb3NpdGlvbihET01Qb2ludEluaXQgcG9p
bnQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZWxlY3RTdWJTdHJpbmcob3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0
aCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbGVjdFN1YlN0cmlu
ZyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgbGVuZ3RoID0gMCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9y
bS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMSArMzUsMTEgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHTWF0cml4IG1hdHJpeDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGZsb2F0IGFuZ2xlOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1hdHJpeChv
cHRpb25hbCBET01NYXRyaXgyREluaXQgbWF0cml4KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgc2V0VHJhbnNsYXRlKHVucmVzdHJpY3RlZCBmbG9hdCB0eCwgdW5yZXN0cmljdGVkIGZs
b2F0IHR5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2NhbGUodW5yZXN0cmlj
dGVkIGZsb2F0IHN4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgc3kpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRSb3RhdGUodW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgY3gsIHVucmVzdHJpY3RlZCBmbG9hdCBjeSk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHNldFNrZXdYKHVucmVzdHJpY3RlZCBmbG9hdCBhbmdsZSk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIHNldFNrZXdZKHVucmVzdHJpY3RlZCBmbG9hdCBhbmdsZSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWF0cml4KG9wdGlvbmFsIERPTU1h
dHJpeDJESW5pdCBtYXRyaXgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dFRyYW5zbGF0ZSh1bnJlc3RyaWN0ZWQgZmxvYXQgdHgsIHVucmVzdHJpY3RlZCBmbG9hdCB0eSk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2NhbGUodW5yZXN0cmljdGVk
IGZsb2F0IHN4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgc3kpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFJvdGF0ZSh1bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUsIHVucmVzdHJp
Y3RlZCBmbG9hdCBjeCwgdW5yZXN0cmljdGVkIGZsb2F0IGN5KTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRTa2V3WCh1bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNrZXdZKHVucmVzdHJpY3RlZCBmbG9h
dCBhbmdsZSk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlz
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3Qu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3Jt
TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDE0ICsyOCwxNCBAQCBpbnRlcmZhY2UgU1ZH
VHJhbnNmb3JtTGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlck9mSXRlbXM7
CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBjbGVhcigpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZH
VHJhbnNmb3JtIGluaXRpYWxpemUoU1ZHVHJhbnNmb3JtIG5ld0l0ZW0pOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1RyYW5zZm9ybSBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHVHJhbnNmb3JtIGluc2VydEl0ZW1CZWZv
cmUoU1ZHVHJhbnNmb3JtIG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gU1ZHVHJhbnNmb3JtIHJlcGxhY2VJdGVtKFNWR1RyYW5zZm9ybSBuZXdJ
dGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1Ry
YW5zZm9ybSByZW1vdmVJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gU1ZHVHJhbnNmb3JtIGFwcGVuZEl0ZW0oU1ZHVHJhbnNmb3JtIG5ld0l0ZW0pOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgs
IFNWR1RyYW5zZm9ybSBuZXdJdGVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1
bmRlZmluZWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIFNWR1RyYW5zZm9ybSBuZXdJdGVtKTsKIAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBTVkdUcmFuc2Zvcm0gY3JlYXRlU1ZH
VHJhbnNmb3JtRnJvbU1hdHJpeChvcHRpb25hbCBET01NYXRyaXgyREluaXQgbWF0cml4KTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSBjb25zb2xpZGF0ZSgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAy
NjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw5NiArMzMsOTYgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJy
aWRlIHsgIkJsb2NrIiwgIgogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEV4cG9ydE1h
Y3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogXSBpbnRlcmZhY2UgSW50ZXJuYWxTZXR0
aW5ncyA6IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRvdWNoRXZlbnRFbXVsYXRpb25F
bmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICAvLyBGb250cywgdGV4dAotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdGFuZGFyZEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWls
eSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNl
cmlmRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShET01TdHJpbmcg
ZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c2V0Rml4ZWRGb250RmFtaWx5KERPTVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShET01TdHJp
bmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlw
dCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFBpY3RvZ3JhcGhGb250RmFtaWx5
KERPTVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoYm9vbGVhbiBwcmVm
ZXJQaWN0b2dyYXBocyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEZvbnRMb2Fk
VGltaW5nT3ZlcnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlkZSBvdmVycmlkZSk7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMo
Ym9vbGVhbiBpZ25vcmUpOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFRleHRB
dXRvc2l6aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShsb25nIHdpZHRoLCBs
b25nIGhlaWdodCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFRleHRBdXRvc2l6
aW5nVXNlc0lkZW1wb3RlbnRNb2RlKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KERPTVN0cmluZyBmYW1pbHks
IERPTVN0cmluZyBzY3JpcHQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dFNlcmlmRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KERP
TVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEZpeGVkRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJp
bmcgc2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDdXJzaXZl
Rm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGYW50YXN5Rm9udEZhbWlseShET01TdHJpbmcg
ZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRQaWN0b2dyYXBoRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcg
c2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGb250RmFsbGJh
Y2tQcmVmZXJzUGljdG9ncmFwaHMoYm9vbGVhbiBwcmVmZXJQaWN0b2dyYXBocyk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShGb250
TG9hZFRpbWluZ092ZXJyaWRlIG92ZXJyaWRlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKGJvb2xlYW4gaWdub3Jl
KTsKKworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRleHRBdXRvc2l6aW5n
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKGxvbmcgd2lkdGgsIGxvbmcg
aGVpZ2h0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUZXh0QXV0b3Np
emluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sZWFuIGVuYWJsZWQpOwogCiAgICAgLy8gTWVkaWEK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Q2FuU3RhcnRNZWRpYShib29sZWFuIGVu
YWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGREaXNwbGF5VHJh
Y2tLaW5kKERPTVN0cmluZyBraW5kLCBib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNldENhblN0YXJ0TWVkaWEoYm9vbGVhbiBlbmFibGVkKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGREaXNwbGF5VHJhY2tLaW5k
KERPTVN0cmluZyBraW5kLCBib29sZWFuIGVuYWJsZWQpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gYm9vbGVhbiBzaG91bGREaXNwbGF5VHJhY2tLaW5kKERPTVN0cmluZyB0cmFja0tpbmQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoRE9N
U3RyaW5nIHBvc3Rlcik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUg
dGltZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1lZGlhVHlwZU92ZXJyaWRl
KERPTVN0cmluZyBtZWRpYVR5cGVPdmVycmlkZSk7Ci0gICAgdm9pZCBzZXRBbGxvd3NBaXJQbGF5
Rm9yTWVkaWFQbGF5YmFjayhib29sZWFuIGF2YWlsYWJsZSk7Ci0gICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0TWVkaWFDYXB0dXJlUmVxdWly
ZXNTZWN1cmVDb25uZWN0aW9uKGJvb2xlYW4gZW5hYmxlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoRE9NU3RyaW5nIHBvc3Rlcik7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHModW5yZXN0cmljdGVkIGRvdWJsZSB0aW1lKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYVR5cGVPdmVycmlkZShET01T
dHJpbmcgbWVkaWFUeXBlT3ZlcnJpZGUpOworICAgIHVuZGVmaW5lZCBzZXRBbGxvd3NBaXJQbGF5
Rm9yTWVkaWFQbGF5YmFjayhib29sZWFuIGF2YWlsYWJsZSk7CisgICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTSwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYUNhcHR1cmVS
ZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9vbGVhbiBlbmFibGUpOwogCi0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGJvb2xlYW4gZm9yY2Vk
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGb3JjZVBlbmRpbmdXZWJH
TFBvbGljeShib29sZWFuIGZvcmNlZCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c2V0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2Vt
ZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJs
ZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFlvdVR1YmVGbGFzaFBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgLy8gRWRpdGlu
ZywgZm9ybXMKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9y
KERPTVN0cmluZyBiZWhhdmlvcik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KGJvb2xlYW4gY29udmVydFBvc2l0aW9uKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMo
Ym9vbGVhbiBwcmVmZXJNaW1lVHlwZUZvckltYWdlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRFZGl0aW5nQmVoYXZpb3IoRE9NU3RyaW5nIGJlaGF2aW9yKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRDb252ZXJ0UG9zaXRpb25TdHls
ZU9uQ29weShib29sZWFuIGNvbnZlcnRQb3NpdGlvbik7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbGVhbiBwcmVmZXJNaW1l
VHlwZUZvckltYWdlKTsKIAogICAgIC8vIE90aGVyIHN3aXRjaGVzCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShET01TdHJp
bmcgcG9saWN5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0SW1hZ2VzRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQREZJ
bWFnZUNhY2hpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoYm9v
bGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QXV0b3Njcm9s
bEZvckRyYWdBbmREcm9wRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sZWFu
IGhhc0V4dGVuZGVkQmFja2dyb3VuZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNl
dFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRBbGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uKGJvb2xl
YW4gYWxsb3dVbmNsYW1wZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRBbmlt
YXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZSk7Ci0KLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0TWluaW11bVRpbWVySW50ZXJ2YWwodW5yZXN0
cmljdGVkIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYm9vbGVhbiBhbGxvd3MpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0
ZXJGdWxsc2NyZWVuKGJvb2xlYW4gYWxsb3dzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9v
bGVhbiByZXF1aXJlcyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEZyYW1lRmxh
dHRlbmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNob3VsZERpc3Bh
dGNoU3ludGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKGJvb2xlYW4gc2hv
dWxkRGlzcGF0Y2gpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGREaXNw
YXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhib29sZWFuIHNob3VsZERp
c3BhdGNoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRVc2VEYXJrQXBw
ZWFyYW5jZShib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShET01TdHJpbmcgcG9saWN5KTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRJbWFnZXNFbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UERGSW1hZ2VDYWNoaW5n
UG9saWN5KERPTVN0cmluZyBwb2xpY3kpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoYm9vbGVhbiBl
bmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBdXRvc2Nyb2xs
Rm9yRHJhZ0FuZERyb3BFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoYm9v
bGVhbiBoYXNFeHRlbmRlZEJhY2tncm91bmQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhib29sZWFuIGVuYWJsZWQpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFsbG93VW5jbGFtcGVkU2Nyb2xs
UG9zaXRpb24oYm9vbGVhbiBhbGxvd1VuY2xhbXBlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQoYm9v
bGVhbiBlbmFibGUpOworCisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWlu
aW11bVRpbWVySW50ZXJ2YWwodW5yZXN0cmljdGVkIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0QWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFjayhib29sZWFuIGFsbG93cyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihib29sZWFuIGFs
bG93cyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW5saW5lTWVkaWFQ
bGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9vbGVhbiByZXF1aXJlcyk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RnJhbWVGbGF0dGVuaW5nKEZyYW1l
RmxhdHRlbmluZ1ZhbHVlIGZyYW1lRmxhdHRlbmluZyk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0SW5jb21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZChib29sZWFuIGVuYWJs
ZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BhdGNo
U3ludGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKGJvb2xlYW4gc2hvdWxk
RGlzcGF0Y2gpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERp
c3BhdGNoU3ludGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2xlYW4gc2hvdWxk
RGlzcGF0Y2gpOwogCiAgICAgLy8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KLSAgICB2b2lkIHNl
dEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRX
ZWJHTDJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRXZWJHUFVFbmFibGVk
KGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29s
ZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJv
b2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFdlYkdMMkVuYWJsZWQoYm9vbGVhbiBl
bmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0V2ViR1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OworICAgIHVuZGVmaW5lZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OworICAgIHVuZGVmaW5lZCBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeShET01TdHJpbmcgcG9saWN5KTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KERPTVN0
cmluZyBwb2xpY3kpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN5c3RlbUxh
eW91dERpcmVjdGlvbigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rp
b24pOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGRlZmVycmVkQ1NTUGFyc2Vy
RW5hYmxlZCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXREZWZlcnJlZENTU1Bh
cnNlckVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRG
b3JBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gc2hvdWxkTW9jayk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0
eShib29sZWFuIHNob3VsZE1vY2spOwogCiAgICAgYXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZSBmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICBh
dHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZERpc3BsYXlJc01vbm9jaHJv
bWVBY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgYXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSBmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICBh
dHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZFN1cHBvcnRzSGlnaER5bmFt
aWNSYW5nZVZhbHVlOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNob3VsZE1h
bmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2xlYW4gc2hvdWxkKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkTWFuYWdl
QXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbGVhbiBzaG91bGQpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChib29sZWFuIGVu
YWJsZWQpOwogCiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc10gYm9vbGVhbiB3
ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKCk7CiAKLSAgICB2b2lkIHNldFNob3Vs
ZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbGVhbiBzaG91bGREZWFjdGl2YXRlKTsKKyAgICB1
bmRlZmluZWQgc2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sZWFuIHNob3VsZERl
YWN0aXZhdGUpOwogICAgIAotICAgIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VTY29w
ZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0U3RvcmFnZUFjY2Vz
c0FQSVBlclBhZ2VTY29wZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZXRFZGl0YWJsZVJlZ2lvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFZGl0YWJsZVJlZ2lvbkVu
YWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDcgKzI1OCw3IEBAIGVudW0gQ29u
dGVudFNpemVDYXRlZ29yeSB7CiAKICAgICAvLyBNdXN0IGJlIGNhbGxlZCBvbiBhbiBlbGVtZW50
IHdob3NlIGVuY2xvc2luZ0xheWVyKCkgaXMgc2VsZi1wYWludGluZy4KICAgICBib29sZWFuIGlz
UGFpbnRpbmdGcmVxdWVudGx5KEVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBpbmNyZW1lbnRG
cmVxdWVudFBhaW50Q291bnRlcihFbGVtZW50IGVsZW1lbnQpOworICAgIHVuZGVmaW5lZCBpbmNy
ZW1lbnRGcmVxdWVudFBhaW50Q291bnRlcihFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBET01TdHJpbmcgZWxlbWVudFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCBl
bGVtZW50KTsKICAgICBib29sZWFuIGlzUHJlbG9hZGVkKERPTVN0cmluZyB1cmwpOwpAQCAtMjY3
LDE3ICsyNjcsMTcgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBET01TdHJpbmcg
eGhyUmVzcG9uc2VTb3VyY2UoWE1MSHR0cFJlcXVlc3QgeGhyKTsKICAgICBib29sZWFuIGlzU2hh
cmluZ1N0eWxlU2hlZXRDb250ZW50cyhIVE1MTGlua0VsZW1lbnQgYSwgSFRNTExpbmtFbGVtZW50
IGIpOwogICAgIGJvb2xlYW4gaXNTdHlsZVNoZWV0TG9hZGluZ1N1YnJlc291cmNlcyhIVE1MTGlu
a0VsZW1lbnQgbGluayk7Ci0gICAgdm9pZCBjbGVhck1lbW9yeUNhY2hlKCk7Ci0gICAgdm9pZCBw
cnVuZU1lbW9yeUNhY2hlVG9TaXplKGxvbmcgc2l6ZSk7Ci0gICAgdm9pZCBkZXN0cm95RGVjb2Rl
ZERhdGFGb3JBbGxJbWFnZXMoKTsKKyAgICB1bmRlZmluZWQgY2xlYXJNZW1vcnlDYWNoZSgpOwor
ICAgIHVuZGVmaW5lZCBwcnVuZU1lbW9yeUNhY2hlVG9TaXplKGxvbmcgc2l6ZSk7CisgICAgdW5k
ZWZpbmVkIGRlc3Ryb3lEZWNvZGVkRGF0YUZvckFsbEltYWdlcygpOwogICAgIGxvbmcgbWVtb3J5
Q2FjaGVTaXplKCk7Ci0gICAgdm9pZCBzZXRPdmVycmlkZUNhY2hlUG9saWN5KENhY2hlUG9saWN5
IHBvbGljeSk7Ci0gICAgdm9pZCBzZXRPdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5KFJlc291
cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KTsKLSAgICB2b2lkIHNldFN0cmljdFJhd1Jlc291cmNl
VmFsaWRhdGlvblBvbGljeURpc2FibGVkKGJvb2xlYW4gZGlzYWJsZWQpOworICAgIHVuZGVmaW5l
ZCBzZXRPdmVycmlkZUNhY2hlUG9saWN5KENhY2hlUG9saWN5IHBvbGljeSk7CisgICAgdW5kZWZp
bmVkIHNldE92ZXJyaWRlUmVzb3VyY2VMb2FkUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkg
cHJpb3JpdHkpOworICAgIHVuZGVmaW5lZCBzZXRTdHJpY3RSYXdSZXNvdXJjZVZhbGlkYXRpb25Q
b2xpY3lEaXNhYmxlZChib29sZWFuIGRpc2FibGVkKTsKIAotICAgIHZvaWQgY2xlYXJCYWNrRm9y
d2FyZENhY2hlKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyQmFja0ZvcndhcmRDYWNoZSgpOwogICAg
IHVuc2lnbmVkIGxvbmcgYmFja0ZvcndhcmRDYWNoZVNpemUoKTsKLSAgICB2b2lkIHByZXZlbnRE
b2N1bWVudEZyb21FbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGUoKTsKKyAgICB1bmRlZmluZWQgcHJl
dmVudERvY3VtZW50RnJvbUVudGVyaW5nQmFja0ZvcndhcmRDYWNoZSgpOwogCiAgICAgQ1NTU3R5
bGVEZWNsYXJhdGlvbiBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oRWxlbWVudCBl
bGVtZW50KTsKIApAQCAtMjkxLDcgKzI5MSw3IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7
CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBzaGFkb3dSb290VHlwZShOb2Rl
IHJvb3QpOwogICAgIERPTVN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50IGVsZW1lbnQpOwot
ICAgIHZvaWQgc2V0U2hhZG93UHNldWRvSWQoRWxlbWVudCBlbGVtZW50LCBET01TdHJpbmcgaWQp
OworICAgIHVuZGVmaW5lZCBzZXRTaGFkb3dQc2V1ZG9JZChFbGVtZW50IGVsZW1lbnQsIERPTVN0
cmluZyBpZCk7CiAgICAgTm9kZSB0cmVlU2NvcGVSb290Tm9kZShOb2RlIG5vZGUpOwogICAgIE5v
ZGUgcGFyZW50VHJlZVNjb3BlKE5vZGUgbm9kZSk7CiAKQEAgLTMwMyw4ICszMDMsOCBAQCBlbnVt
IENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIC8vIENTUyBBbmltYXRpb24gdGVzdGluZy4KICAg
ICBib29sZWFuIGFuaW1hdGlvbldpdGhJZEV4aXN0cyhET01TdHJpbmcgaWQpOwogICAgIHVuc2ln
bmVkIGxvbmcgbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25zKCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHN1c3BlbmRBbmltYXRpb25zKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHJlc3VtZUFuaW1hdGlvbnMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzdXNwZW5kQW5pbWF0aW9ucygpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHJlc3VtZUFuaW1hdGlvbnMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gYW5p
bWF0aW9uc0FyZVN1c3BlbmRlZCgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBw
YXVzZUFuaW1hdGlvbkF0VGltZU9uRWxlbWVudChET01TdHJpbmcgYW5pbWF0aW9uTmFtZSwgdW5y
ZXN0cmljdGVkIGRvdWJsZSBwYXVzZVRpbWUsIEVsZW1lbnQgZWxlbWVudCk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBib29sZWFuIHBhdXNlQW5pbWF0aW9uQXRUaW1lT25Qc2V1ZG9FbGVtZW50
KERPTVN0cmluZyBhbmltYXRpb25OYW1lLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHBhdXNlVGltZSwg
RWxlbWVudCBlbGVtZW50LCBET01TdHJpbmcgcHNldWRvSWQpOwpAQCAtMzIzLDkgKzMyMyw5IEBA
IGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBFbGVt
ZW50PyBwc2V1ZG9FbGVtZW50KEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIHBzZXVkb0lkKTsK
IAogICAgIERPTVN0cmluZyB2aXNpYmxlUGxhY2Vob2xkZXIoRWxlbWVudCBlbGVtZW50KTsKLSAg
ICB2b2lkIHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoSFRNTElucHV0RWxlbWVudCBlbGVtZW50
LCBET01TdHJpbmcgY29sb3JWYWx1ZSk7CisgICAgdW5kZWZpbmVkIHNlbGVjdENvbG9ySW5Db2xv
ckNob29zZXIoSFRNTElucHV0RWxlbWVudCBlbGVtZW50LCBET01TdHJpbmcgY29sb3JWYWx1ZSk7
CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXF1ZW5jZTxET01TdHJpbmc+IGZvcm1Db250cm9s
U3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0Rm9ybUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShzZXF1ZW5jZTxET01T
dHJpbmc+IHZhbHVlcyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Rm9y
bUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShzZXF1ZW5jZTxET01TdHJpbmc+IHZh
bHVlcyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVJlY3QgYWJzb2x1dGVDYXJldEJv
dW5kcygpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBpc0NhcmV0QmxpbmtpbmdT
dXNwZW5kZWQoKTsKQEAgLTMzOCw0NCArMzM4LDQ0IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29y
eSB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBSYW5nZT8gbWFya2VyUmFuZ2VGb3JOb2RlKE5v
ZGUgbm9kZSwgRE9NU3RyaW5nIG1hcmtlclR5cGUsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIG1hcmtlckRlc2NyaXB0aW9uRm9yTm9kZShO
b2RlIG5vZGUsIERPTVN0cmluZyBtYXJrZXJUeXBlLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBkdW1wTWFya2VyUmVjdHMoRE9NU3RyaW5n
IG1hcmtlclR5cGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNYXJrZWRUZXh0
TWF0Y2hlc0FyZUhpZ2hsaWdodGVkKGJvb2xlYW4gZmxhZyk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0TWFya2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZChib29sZWFu
IGZsYWcpOwogCi0gICAgdm9pZCBpbnZhbGlkYXRlRm9udENhY2hlKCk7Ci0gICAgdm9pZCBzZXRG
b250U21vb3RoaW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBpbnZh
bGlkYXRlRm9udENhY2hlKCk7CisgICAgdW5kZWZpbmVkIHNldEZvbnRTbW9vdGhpbmdFbmFibGVk
KGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2Ny
b2xsVmlld1Bvc2l0aW9uKGxvbmcgeCwgbG9uZyB5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRTY3JvbGxWaWV3UG9zaXRpb24obG9uZyB4LCBsb25nIHkpOwogCiAgICAg
Ly8gTGlrZSBFbGVtZW50LnNjcm9sbFRvKCksIGJ1dCB3aXRob3V0IGNvbnN0YWludHMsIGZvciB0
ZXN0aW5nIHJ1YmJlci1iYW5kaW5nLgotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB1bmNv
bnN0cmFpbmVkU2Nyb2xsVG8oRWxlbWVudCBlbGVtZW50LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgeSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgdW5jb25zdHJhaW5lZFNjcm9sbFRvKEVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGRv
dWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOwogCiAgICAgLy8gU2Nyb2xscyB0aGUgZWxl
bWVudCBieSB0aGUgZ2l2ZW4gZGVsdGEsIGFwcHJveGltYXRpbmcgdGhlIGFzeW5jIHdoZWVsIGV2
ZW50IGhhbmRsaW5nIGNvZGUgcGF0aCB3aGVyZSBhdmFpbGFibGUuCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNjcm9sbEJ5U2ltdWxhdGluZ1doZWVsRXZlbnQoRWxlbWVudCBlbGVtZW50
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGRlbHRhWCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkZWx0YVkp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNjcm9sbEJ5U2ltdWxhdGluZ1do
ZWVsRXZlbnQoRWxlbWVudCBlbGVtZW50LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGRlbHRhWCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSBkZWx0YVkpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01S
ZWN0IGxheW91dFZpZXdwb3J0UmVjdCgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NUmVj
dCB2aXN1YWxWaWV3cG9ydFJlY3QoKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRWaWV3SXNUcmFuc3BhcmVudChib29sZWFuIHRybmFzcGFyZW50KTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRWaWV3SXNUcmFuc3BhcmVudChib29sZWFuIHRybmFzcGFy
ZW50KTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHZpZXdCYXNlQmFja2dy
b3VuZENvbG9yKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFZpZXdCYXNlQmFj
a2dyb3VuZENvbG9yKERPTVN0cmluZyBjb2xvclZhbHVlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRWaWV3QmFzZUJhY2tncm91bmRDb2xvcihET01TdHJpbmcgY29sb3JW
YWx1ZSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UGFnaW5hdGlvbihET01T
dHJpbmcgbW9kZSwgbG9uZyBnYXAsIG9wdGlvbmFsIGxvbmcgcGFnZUxlbmd0aCA9IDApOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQYWdpbmF0aW9uTGluZUdyaWRFbmFibGVkKGJv
b2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UGFn
aW5hdGlvbihET01TdHJpbmcgbW9kZSwgbG9uZyBnYXAsIG9wdGlvbmFsIGxvbmcgcGFnZUxlbmd0
aCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBhZ2luYXRpb25M
aW5lR3JpZEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gRE9NU3RyaW5nIGNvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCh1bnJlc3RyaWN0ZWQgZmxvYXQg
ZGV2aWNlUGl4ZWxSYXRpbywgbG9uZyBkZXZpY2VXaWR0aCwgbG9uZyBkZXZpY2VIZWlnaHQsIGxv
bmcgYXZhaWxhYmxlV2lkdGgsIGxvbmcgYXZhaWxhYmxlSGVpZ2h0KTsKIAogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gYm9vbGVhbiB3YXNMYXN0Q2hhbmdlVXNlckVkaXQoRWxlbWVudCB0ZXh0Rmll
bGQpOwogICAgIGJvb2xlYW4gZWxlbWVudFNob3VsZEF1dG9Db21wbGV0ZShIVE1MSW5wdXRFbGVt
ZW50IGlucHV0RWxlbWVudCk7Ci0gICAgdm9pZCBzZXRBdXRvZmlsbGVkKEhUTUxJbnB1dEVsZW1l
bnQgaW5wdXRFbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0QXV0b0ZpbGxl
ZEFuZFZpZXdhYmxlKEhUTUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50LCBib29sZWFuIGVuYWJs
ZWQpOwotICAgIHZvaWQgc2V0U2hvd0F1dG9GaWxsQnV0dG9uKEhUTUxJbnB1dEVsZW1lbnQgaW5w
dXRFbGVtZW50LCBBdXRvRmlsbEJ1dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25UeXBlKTsKKyAgICB1
bmRlZmluZWQgc2V0QXV0b2ZpbGxlZChIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9v
bGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0QXV0b0ZpbGxlZEFuZFZpZXdhYmxlKEhU
TUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVm
aW5lZCBzZXRTaG93QXV0b0ZpbGxCdXR0b24oSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQs
IEF1dG9GaWxsQnV0dG9uVHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUpOwogICAgIEF1dG9GaWxsQnV0
dG9uVHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUoSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQp
OwogICAgIEF1dG9GaWxsQnV0dG9uVHlwZSBsYXN0QXV0b0ZpbGxCdXR0b25UeXBlKEhUTUxJbnB1
dEVsZW1lbnQgaW5wdXRFbGVtZW50KTsKIAotICAgIHZvaWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVy
KEVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBjYW5TaG93UGxhY2Vob2xkZXIpOworICAgIHVuZGVm
aW5lZCBzZXRDYW5TaG93UGxhY2Vob2xkZXIoRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGNhblNo
b3dQbGFjZWhvbGRlcik7CiAKICAgICBFbGVtZW50IGluc2VydFRleHRQbGFjZWhvbGRlcihsb25n
IHdpZHRoLCBsb25nIGhlaWdodCk7Ci0gICAgdm9pZCByZW1vdmVUZXh0UGxhY2Vob2xkZXIoRWxl
bWVudCBlbGVtZW50KTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlVGV4dFBsYWNlaG9sZGVyKEVsZW1l
bnQgZWxlbWVudCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJhbmdlPyByYW5nZU9mU3Ry
aW5nKERPTVN0cmluZyB0ZXh0LCBSYW5nZT8gcmVmZXJlbmNlUmFuZ2UsIHNlcXVlbmNlPERPTVN0
cmluZz4gZmluZE9wdGlvbnMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9u
ZyBjb3VudE1hdGNoZXNGb3JUZXh0KERPTVN0cmluZyB0ZXh0LCBzZXF1ZW5jZTxET01TdHJpbmc+
IGZpbmRPcHRpb25zLCBET01TdHJpbmcgbWFya01hdGNoZXMpOwpAQCAtMzgzLDkgKzM4Myw5IEBA
IGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERP
TVN0cmluZyBhdXRvZmlsbEZpZWxkTmFtZShFbGVtZW50IGZvcm1Db250cm9sRWxlbWVudCk7CiAK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW52YWxpZGF0ZUNvbnRyb2xUaW50cygpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGludmFsaWRhdGVDb250cm9sVGludHMo
KTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0KEVs
ZW1lbnQgZWxlbWVudCwgbG9uZyB4LCBsb25nIHksIGxvbmcgdywgbG9uZyBoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQgZWxl
bWVudCwgbG9uZyB4LCBsb25nIHksIGxvbmcgdywgbG9uZyBoKTsKIAogICAgIFJhbmdlPyByYW5n
ZUZyb21Mb2NhdGlvbkFuZExlbmd0aChFbGVtZW50IHNjb3BlLCB1bnNpZ25lZCBsb25nIHJhbmdl
TG9jYXRpb24sIHVuc2lnbmVkIGxvbmcgcmFuZ2VMZW5ndGgpOwogICAgIHVuc2lnbmVkIGxvbmcg
bG9jYXRpb25Gcm9tUmFuZ2UoRWxlbWVudCBzY29wZSwgUmFuZ2UgcmFuZ2UpOwpAQCAtMzk2LDE3
ICszOTYsMTcgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFJhbmdlPyByYW5nZUZvckRpY3Rpb25hcnlMb29rdXBBdExvY2F0aW9uKGxvbmcgeCwg
bG9uZyB5KTsKICAgICBSYW5nZT8gcmFuZ2VPZlN0cmluZ05lYXJMb2NhdGlvbihSYW5nZSByYW5n
ZSwgRE9NU3RyaW5nIHRleHQsIGxvbmcgdGFyZ2V0T2Zmc2V0KTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXREZWxlZ2F0ZXNTY3JvbGxpbmcoYm9vbGVhbiBlbmFibGVkKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXREZWxlZ2F0ZXNTY3JvbGxpbmcoYm9v
bGVhbiBlbmFibGVkKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBs
b25nIGxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bnNpZ25lZCBsb25nIGxvbmcgbGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZSgp
OwotICAgIHZvaWQgYWR2YW5jZVRvTmV4dE1pc3NwZWxsaW5nKCk7CisgICAgdW5kZWZpbmVkIGFk
dmFuY2VUb05leHRNaXNzcGVsbGluZygpOwogCiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiB1c2Vy
UHJlZmVycmVkTGFuZ3VhZ2VzKCk7Ci0gICAgdm9pZCBzZXRVc2VyUHJlZmVycmVkTGFuZ3VhZ2Vz
KHNlcXVlbmNlPERPTVN0cmluZz4gbGFuZ3VhZ2VzKTsKKyAgICB1bmRlZmluZWQgc2V0VXNlclBy
ZWZlcnJlZExhbmd1YWdlcyhzZXF1ZW5jZTxET01TdHJpbmc+IGxhbmd1YWdlcyk7CiAKICAgICBz
ZXF1ZW5jZTxET01TdHJpbmc+IHVzZXJQcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljcygpOwot
ICAgIHZvaWQgc2V0VXNlclByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWMoRE9NU3RyaW5nIGNo
YXJhY3RlcmlzdGljKTsKKyAgICB1bmRlZmluZWQgc2V0VXNlclByZWZlcnJlZEF1ZGlvQ2hhcmFj
dGVyaXN0aWMoRE9NU3RyaW5nIGNoYXJhY3RlcmlzdGljKTsKIAogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5zaWduZWQgbG9uZyB3aGVlbEV2ZW50SGFuZGxlckNvdW50KCk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKTsKQEAg
LTQyMSwyNiArNDIxLDI2IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgLy8gQ2Fs
bGluZyBwYXJzZXJNZXRhRGF0YSgpIHdpdGggbm8gYXJndW1lbnRzIGdldHMgdGhlIG1ldGFkYXRh
IGZvciB0aGUgc2NyaXB0IG9mIHRoZSBjdXJyZW50IHNjb3BlLgogICAgIERPTVN0cmluZyBwYXJz
ZXJNZXRhRGF0YShvcHRpb25hbCBhbnkgZnVuYyk7CiAKLSAgICB2b2lkIHVwZGF0ZUVkaXRvclVJ
Tm93SWZTY2hlZHVsZWQoKTsKKyAgICB1bmRlZmluZWQgdXBkYXRlRWRpdG9yVUlOb3dJZlNjaGVk
dWxlZCgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2VudGVuY2VSZXRyb0Nv
cnJlY3Rpb25FbmFibGVkOwogICAgIGJvb2xlYW4gaGFzU3BlbGxpbmdNYXJrZXIobG9uZyBmcm9t
LCBsb25nIGxlbmd0aCk7CiAgICAgYm9vbGVhbiBoYXNHcmFtbWFyTWFya2VyKGxvbmcgZnJvbSwg
bG9uZyBsZW5ndGgpOwogICAgIGJvb2xlYW4gaGFzQXV0b2NvcnJlY3RlZE1hcmtlcihsb25nIGZy
b20sIGxvbmcgbGVuZ3RoKTsKICAgICBib29sZWFuIGhhc0RpY3RhdGlvbkFsdGVybmF0aXZlc01h
cmtlcihsb25nIGZyb20sIGxvbmcgbGVuZ3RoKTsKLSAgICB2b2lkIHNldENvbnRpbnVvdXNTcGVs
bENoZWNraW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0QXV0b21hdGlj
UXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRB
dXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQg
c2V0QXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAg
ICB2b2lkIHNldEF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKLSAgICB2b2lkIHNldEF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKLQotICAgIHZvaWQgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoRE9NU3RyaW5n
IGNhbmRpZGF0ZSwgdW5zaWduZWQgbG9uZyBsb2NhdGlvbiwgdW5zaWduZWQgbG9uZyBsZW5ndGgp
OwotICAgIHZvaWQgY2hhbmdlU2VsZWN0aW9uTGlzdFR5cGUoKTsKLSAgICB2b2lkIGNoYW5nZUJh
Y2tUb1JlcGxhY2VkU3RyaW5nKERPTVN0cmluZyByZXBsYWNlZFN0cmluZyk7CisgICAgdW5kZWZp
bmVkIHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwor
ICAgIHVuZGVmaW5lZCBzZXRBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0QXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJs
ZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0QXV0b21hdGljRGFzaFN1YnN0
aXR1dGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0QXV0b21h
dGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5l
ZCBzZXRBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7
CisKKyAgICB1bmRlZmluZWQgaGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoRE9NU3RyaW5nIGNhbmRp
ZGF0ZSwgdW5zaWduZWQgbG9uZyBsb2NhdGlvbiwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOworICAg
IHVuZGVmaW5lZCBjaGFuZ2VTZWxlY3Rpb25MaXN0VHlwZSgpOworICAgIHVuZGVmaW5lZCBjaGFu
Z2VCYWNrVG9SZXBsYWNlZFN0cmluZyhET01TdHJpbmcgcmVwbGFjZWRTdHJpbmcpOwogCiAgICAg
Ym9vbGVhbiBpc092ZXJ3cml0ZU1vZGVFbmFibGVkKCk7Ci0gICAgdm9pZCB0b2dnbGVPdmVyd3Jp
dGVNb2RlRW5hYmxlZCgpOworICAgIHVuZGVmaW5lZCB0b2dnbGVPdmVyd3JpdGVNb2RlRW5hYmxl
ZCgpOwogCiAgICAgdW5zaWduZWQgbG9uZyBudW1iZXJPZlNjcm9sbGFibGVBcmVhcygpOwogCkBA
IC00NDksMTcgKzQ0OSwxNyBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIHVuc2ln
bmVkIGxvbmcgaW1hZ2VGcmFtZUluZGV4KEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7CiAgICAg
dW5zaWduZWQgbG9uZyBpbWFnZUZyYW1lQ291bnQoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsK
ICAgICBmbG9hdCBpbWFnZUZyYW1lRHVyYXRpb25BdEluZGV4KEhUTUxJbWFnZUVsZW1lbnQgZWxl
bWVudCwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBzZXRJbWFnZUZyYW1lRGVjb2Rp
bmdEdXJhdGlvbihIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQsIHVucmVzdHJpY3RlZCBmbG9hdCBk
dXJhdGlvbik7Ci0gICAgdm9pZCByZXNldEltYWdlQW5pbWF0aW9uKEhUTUxJbWFnZUVsZW1lbnQg
ZWxlbWVudCk7CisgICAgdW5kZWZpbmVkIHNldEltYWdlRnJhbWVEZWNvZGluZ0R1cmF0aW9uKEhU
TUxJbWFnZUVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGZsb2F0IGR1cmF0aW9uKTsKKyAg
ICB1bmRlZmluZWQgcmVzZXRJbWFnZUFuaW1hdGlvbihIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQp
OwogICAgIGJvb2xlYW4gaXNJbWFnZUFuaW1hdGluZyhIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQp
OwogICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VQZW5kaW5nRGVjb2RlUHJvbWlzZXNDb3VudEZvclRl
c3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKLSAgICB2b2lkIHNldENsZWFyRGVjb2Rl
ckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVu
dCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJB
c3luY0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29s
ZWFuIGVuYWJsZWQpOwogICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1h
Z2VFbGVtZW50IGVsZW1lbnQpOwogICAgIHVuc2lnbmVkIGxvbmcgcGRmRG9jdW1lbnRDYWNoaW5n
Q291bnQoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKLSAgICB2b2lkIHNldExhcmdlSW1hZ2VB
c3luY0RlY29kaW5nRW5hYmxlZEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBi
b29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVk
Rm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7Cisg
ICAgdW5kZWZpbmVkIHNldExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZEZvclRlc3Rpbmco
SFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5l
ZCBzZXRGb3JjZVVwZGF0ZUltYWdlRGF0YUVuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1l
bnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKIAotICAgIHZvaWQgc2V0R3JpZE1heFRyYWNr
c0xpbWl0KHVuc2lnbmVkIGxvbmcgbWF4VHJhY2tzTGltaXQpOworICAgIHVuZGVmaW5lZCBzZXRH
cmlkTWF4VHJhY2tzTGltaXQodW5zaWduZWQgbG9uZyBtYXhUcmFja3NMaW1pdCk7CiAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgSW50ZXJuYWxTZXR0aW5ncyBzZXR0aW5nczsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3b3JrZXJUaHJlYWRDb3VudDsKQEAgLTQ5OCw4ICs0
OTgsOCBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gRE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dCgpOwogCiAgICAgLy8gVGhlc2UgdGhyb3cg
aWYgdGhlIGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIGNvbXBvc2l0aW5nIGxheWVyLgotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbGVtZW50VXNlc0Rpc3BsYXlMaXN0RHJhd2luZyhF
bGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gdXNlc0Rpc3BsYXlMaXN0RHJhd2luZyk7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEVsZW1lbnRUcmFja3NEaXNwbGF5TGlzdFJlcGxheShF
bGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gdHJhY2tSZXBsYXkpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldEVsZW1lbnRVc2VzRGlzcGxheUxpc3REcmF3aW5nKEVsZW1lbnQg
ZWxlbWVudCwgYm9vbGVhbiB1c2VzRGlzcGxheUxpc3REcmF3aW5nKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFbGVtZW50VHJhY2tzRGlzcGxheUxpc3RSZXBsYXkoRWxl
bWVudCBlbGVtZW50LCBib29sZWFuIHRyYWNrUmVwbGF5KTsKIAogICAgIC8vIEZsYWdzIGZvciBk
aXNwbGF5TGlzdEZvckVsZW1lbnQuCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRElTUExBWV9M
SVNUX0lOQ0xVREVTX1BMQVRGT1JNX09QRVJBVElPTlMgPSAxOwpAQCAtNTA4LDE0ICs1MDgsMTQg
QEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICAvLyBSZXR1cm5zIHRoZSBkaXNwbGF5
IGxpc3QgdGhhdCB3YXMgYWN0dWFsbHkgcGFpbnRlZC4KICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IERPTVN0cmluZyByZXBsYXlEaXNwbGF5TGlzdEZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50LCBv
cHRpb25hbCB1bnNpZ25lZCBzaG9ydCBmbGFncyA9IDApOwogCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7
CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0QXV0aG9yQ1NTKERPTVN0cmlu
ZyBjc3MpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnRVc2VyQ1NTKERPTVN0
cmluZyBjc3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGluc2VydEF1dGhv
ckNTUyhET01TdHJpbmcgY3NzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBp
bnNlcnRVc2VyQ1NTKERPTVN0cmluZyBjc3MpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gaXNVbmRlck1lbW9yeVByZXNzdXJlOwotICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRNZW1v
cnlQcmVzc3VyZSgpOwotICAgIHZvaWQgZW5kU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKKyAg
ICB1bmRlZmluZWQgYmVnaW5TaW11bGF0ZWRNZW1vcnlQcmVzc3VyZSgpOworICAgIHVuZGVmaW5l
ZCBlbmRTaW11bGF0ZWRNZW1vcnlQcmVzc3VyZSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPUlOREVY
RURfREFUQUJBU0VdIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJREJUcmFuc2FjdGlvbnMoKTsKIApA
QCAtNTI0LDggKzUyNCw4IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgdW5zaWdu
ZWQgbG9uZyByZWZlcmVuY2luZ05vZGVDb3VudChEb2N1bWVudCBkb2N1bWVudCk7CiAgICAgW0Nv
bmRpdGlvbmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUl0gdW5zaWduZWQgbG9uZyBudW1iZXJPZklu
dGVyc2VjdGlvbk9ic2VydmVycyhEb2N1bWVudCBkb2N1bWVudCk7CiAgICAgV2luZG93UHJveHk/
IG9wZW5EdW1teUluc3BlY3RvckZyb250ZW5kKERPTVN0cmluZyB1cmwpOwotICAgIHZvaWQgY2xv
c2VEdW1teUluc3BlY3RvckZyb250ZW5kKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHNldEluc3BlY3RvcklzVW5kZXJUZXN0KGJvb2xlYW4gaXNVbmRlclRlc3QpOworICAgIHVuZGVm
aW5lZCBjbG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0
KTsKIAogICAgIERPTVN0cmluZyBjb3VudGVyVmFsdWUoRWxlbWVudCBlbGVtZW50KTsKICAgICBs
b25nIHBhZ2VOdW1iZXIoRWxlbWVudCBlbGVtZW50LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgcGFnZVdpZHRoID0gODAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgcGFnZUhlaWdo
dCA9IDYwMCk7CkBAIC01MzQsNDEgKzUzNCw0MSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkg
ewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHBhZ2VQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lLCBsb25nIHBhZ2VOdW1iZXIpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gRE9NU3RyaW5nIHBhZ2VTaXplQW5kTWFyZ2luc0luUGl4ZWxzKGxvbmcgcGFnZUluZGV4LCBs
b25nIHdpZHRoLCBsb25nIGhlaWdodCwgbG9uZyBtYXJnaW5Ub3AsIGxvbmcgbWFyZ2luUmlnaHQs
IGxvbmcgbWFyZ2luQm90dG9tLCBsb25nIG1hcmdpbkxlZnQpOwogCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldFBhZ2VTY2FsZUZhY3Rvcih1bnJlc3RyaWN0ZWQgZmxvYXQgc2NhbGVG
YWN0b3IsIGxvbmcgeCwgbG9uZyB5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRQYWdlU2NhbGVGYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHNjYWxlRmFjdG9yLCBsb25n
IHgsIGxvbmcgeSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBmbG9hdCBwYWdlU2NhbGVGYWN0
b3IoKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQYWdlWm9vbUZhY3Rvcih1
bnJlc3RyaWN0ZWQgZmxvYXQgem9vbUZhY3Rvcik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldFRleHRab29tRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCB6b29tRmFjdG9yKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQYWdlWm9vbUZhY3Rvcih1bnJlc3Ry
aWN0ZWQgZmxvYXQgem9vbUZhY3Rvcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0VGV4dFpvb21GYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb21GYWN0b3IpOwogCi0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFVzZUZpeGVkTGF5b3V0KGJvb2xlYW4gdXNl
Rml4ZWRMYXlvdXQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGaXhlZExheW91
dFNpemUobG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwotICAgIHZvaWQgc2V0UHJpbnRpbmcobG9u
ZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFVzZUZpeGVkTGF5b3V0KGJvb2xlYW4gdXNlRml4ZWRMYXlvdXQpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZpeGVkTGF5b3V0U2l6ZShsb25nIHdpZHRoLCBsb25n
IGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHNldFByaW50aW5nKGxvbmcgd2lkdGgsIGxvbmcgaGVp
Z2h0KTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRWaWV3RXhwb3NlZFJlY3Qo
dW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFZpZXdFeHBvc2VkUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQg
eCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0aCwgdW5yZXN0
cmljdGVkIGZsb2F0IGhlaWdodCk7CiAKLSAgICB2b2lkIHNldEhlYWRlckhlaWdodCh1bnJlc3Ry
aWN0ZWQgZmxvYXQgaGVpZ2h0KTsKLSAgICB2b2lkIHNldEZvb3RlckhlaWdodCh1bnJlc3RyaWN0
ZWQgZmxvYXQgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2V0SGVhZGVySGVpZ2h0KHVucmVzdHJp
Y3RlZCBmbG9hdCBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzZXRGb290ZXJIZWlnaHQodW5yZXN0
cmljdGVkIGZsb2F0IGhlaWdodCk7CiAKLSAgICB2b2lkIHNldFRvcENvbnRlbnRJbnNldCh1bnJl
c3RyaWN0ZWQgZmxvYXQgY29udGVudEluc2V0KTsKKyAgICB1bmRlZmluZWQgc2V0VG9wQ29udGVu
dEluc2V0KHVucmVzdHJpY3RlZCBmbG9hdCBjb250ZW50SW5zZXQpOwogCi0gICAgW0NvbmRpdGlv
bmFsPUZVTExTQ1JFRU5fQVBJXSB2b2lkIHdlYmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JFbGVt
ZW50KEVsZW1lbnQgZWxlbWVudCk7Ci0gICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB2
b2lkIHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50KTsK
LSAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIHZvaWQgd2Via2l0V2lsbEV4aXRGdWxs
U2NyZWVuRm9yRWxlbWVudChFbGVtZW50IGVsZW1lbnQpOwotICAgIFtDb25kaXRpb25hbD1GVUxM
U0NSRUVOX0FQSV0gdm9pZCB3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVu
dCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIHVuZGVmaW5lZCB3
ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50IGVsZW1lbnQpOworICAg
IFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gdW5kZWZpbmVkIHdlYmtpdERpZEVudGVyRnVs
bFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9RlVM
TFNDUkVFTl9BUEldIHVuZGVmaW5lZCB3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KEVsZW1lbnQgZWxlbWVudCk7CisgICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB1bmRl
ZmluZWQgd2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQgZWxlbWVudCk7
CiAgICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBpc0FuaW1hdGluZ0Z1bGxTY3JlZW47CiAKLSAgICB2b2lkIHNldEZ1bGxzY3JlZW5JbnNl
dHMoRnVsbHNjcmVlbkluc2V0cyBpbnNldHMpOwotICAgIHZvaWQgc2V0RnVsbHNjcmVlbkF1dG9I
aWRlRHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKTsKLSAgICB2b2lkIHNldEZ1bGxzY3JlZW5Db250
cm9sc0hpZGRlbihib29sZWFuIGhpZGRlbik7CisgICAgdW5kZWZpbmVkIHNldEZ1bGxzY3JlZW5J
bnNldHMoRnVsbHNjcmVlbkluc2V0cyBpbnNldHMpOworICAgIHVuZGVmaW5lZCBzZXRGdWxsc2Ny
ZWVuQXV0b0hpZGVEdXJhdGlvbihkb3VibGUgZHVyYXRpb24pOworICAgIHVuZGVmaW5lZCBzZXRG
dWxsc2NyZWVuQ29udHJvbHNIaWRkZW4oYm9vbGVhbiBoaWRkZW4pOwogCi0gICAgW0NvbmRpdGlv
bmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSB2b2lkIHNldE1vY2tWaWRlb1ByZXNlbnRhdGlv
bk1vZGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPX1BS
RVNFTlRBVElPTl9NT0RFXSB1bmRlZmluZWQgc2V0TW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVu
YWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAotICAgIHZvaWQgc2V0QXBwbGljYXRpb25DYWNoZU9y
aWdpblF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CisgICAgdW5kZWZpbmVkIHNldEFw
cGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpOwogCi0g
ICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5
KERPTVN0cmluZyBzY2hlbWUpOwotICAgIHZvaWQgcmVtb3ZlVVJMU2NoZW1lUmVnaXN0ZXJlZEFz
QnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KERPTVN0cmluZyBzY2hlbWUpOworICAgIHVu
ZGVmaW5lZCByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5
KERPTVN0cmluZyBzY2hlbWUpOworICAgIHVuZGVmaW5lZCByZW1vdmVVUkxTY2hlbWVSZWdpc3Rl
cmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koRE9NU3RyaW5nIHNjaGVtZSk7CiAK
LSAgICB2b2lkIHJlZ2lzdGVyRGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1bnNpZ25lZCBzaG9ydCBw
b3J0LCBET01TdHJpbmcgc2NoZW1lKTsKKyAgICB1bmRlZmluZWQgcmVnaXN0ZXJEZWZhdWx0UG9y
dEZvclByb3RvY29sKHVuc2lnbmVkIHNob3J0IHBvcnQsIERPTVN0cmluZyBzY2hlbWUpOwogCiAg
ICAgTWFsbG9jU3RhdGlzdGljcyBtYWxsb2NTdGF0aXN0aWNzKCk7CiAgICAgVHlwZUNvbnZlcnNp
b25zIHR5cGVDb252ZXJzaW9ucygpOwpAQCAtNTc4LDEwICs1NzgsMTAgQEAgZW51bSBDb250ZW50
U2l6ZUNhdGVnb3J5IHsKIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBib3RoIHJlc2V0IHRoZSB0
cmFja2VkIHJlcGFpbnQgcmVjdHMuIFRoZXkgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgaW4gdGhl
IGZvbGxvd2luZyBvcmRlcjoKICAgICAvLyAgc3RhcnRUcmFja2luZ1JlcGFpbnRzLCByZXBhaW50
UmVjdHNBc1RleHQsIHN0b3BUcmFja2luZ1JlcGFpbnRzLgotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzdGFydFRyYWNraW5nUmVwYWludHMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzdG9wVHJhY2tpbmdSZXBhaW50cygpOwogCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHN0YXJ0VHJhY2tpbmdMYXllckZsdXNoZXMoKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzdGFydFRyYWNraW5nTGF5ZXJGbHVzaGVzKCk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGxheWVyRmx1c2hDb3VudCgpOwogCiAgICAgLy8g
UXVlcnkgaWYgYSB0aW1lciBpcyBjdXJyZW50bHkgdGhyb3R0bGVkLCB0byBkZWJ1ZyB0aW1lciB0
aHJvdHRsaW5nLgpAQCAtNTkwLDMyICs1OTAsMzIgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5
IHsKICAgICBET01TdHJpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lVGhyb3R0bGluZ1JlYXNvbnMo
KTsKICAgICBib29sZWFuIGFyZVRpbWVyc1Rocm90dGxlZCgpOwogCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldExvd1Bvd2VyTW9kZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0T3V0c2lkZVZpZXdwb3J0VGhyb3R0bGluZ0Vu
YWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRMb3dQb3dlck1vZGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0T3V0c2lkZVZpZXdwb3J0VGhyb3R0bGluZ0VuYWJsZWQo
Ym9vbGVhbiBlbmFibGVkKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlcXVlc3RB
bmltYXRpb25GcmFtZUludGVydmFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHNj
cmlwdGVkQW5pbWF0aW9uc0FyZVN1c3BlbmRlZDsKIAogICAgIC8vIE92ZXJyaWRlIHRoZSBiZWhh
dmlvciBvZiBXZWJQYWdlOjpldmVudFRocm90dGxpbmdEZWxheSgpLCB3aGljaCBvbmx5IGFmZmVj
dHMgaU9TLgogICAgIGF0dHJpYnV0ZSBFdmVudFRocm90dGxpbmdCZWhhdmlvcj8gZXZlbnRUaHJv
dHRsaW5nQmVoYXZpb3JPdmVycmlkZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
dGFydFRyYWNraW5nU3R5bGVSZWNhbGNzKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgc3RhcnRUcmFja2luZ1N0eWxlUmVjYWxjcygpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5zaWduZWQgbG9uZyBzdHlsZVJlY2FsY0NvdW50KCk7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbGFzdFN0eWxlVXBkYXRlU2l6ZTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzdGFydFRyYWNraW5nQ29tcG9zaXRpbmdVcGRhdGVzKCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3RhcnRUcmFja2luZ0NvbXBvc2l0aW5nVXBkYXRl
cygpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBjb21wb3NpdGluZ1Vw
ZGF0ZUNvdW50KCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3RhcnRUcmFja2lu
Z1JlbmRlcmluZ1VwZGF0ZXMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
dGFydFRyYWNraW5nUmVuZGVyaW5nVXBkYXRlcygpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5zaWduZWQgbG9uZyByZW5kZXJpbmdVcGRhdGVDb3VudCgpOwogCiAgICAgYXR0cmlidXRlIENv
bXBvc2l0aW5nUG9saWN5PyBjb21wb3NpdGluZ1BvbGljeU92ZXJyaWRlOwogCi0gICAgdm9pZCB1
cGRhdGVMYXlvdXRBbmRTdHlsZUZvckFsbEZyYW1lcygpOworICAgIHVuZGVmaW5lZCB1cGRhdGVM
YXlvdXRBbmRTdHlsZUZvckFsbEZyYW1lcygpOwogCiAgICAgLy8gfG5vZGV8IHNob3VsZCBiZSBE
b2N1bWVudCwgSFRNTElGcmFtZUVsZW1lbnQsIG9yIHVuc3BlY2lmaWVkLgogICAgIC8vIElmIHxu
b2RlfCBpcyBhbiBIVE1MSUZyYW1lRWxlbWVudCwgaXQgYXNzdW1lcyBub2RlLmNvbnRlbnREb2N1
bWVudCBpcwogICAgIC8vIHNwZWNpZmllZCB3aXRob3V0IHNlY3VyaXR5IGNoZWNrcy4gVW5zcGVj
aWZpZWQgb3IgbnVsbCBtZWFucyB0aGlzIGRvY3VtZW50LgotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5
b3V0VGFza3Mob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1
blBvc3RMYXlvdXRUYXNrcyhvcHRpb25hbCBOb2RlPyBub2RlID0gbnVsbCk7CiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsYXlvdXRDb3VudDsKIApAQCAtNjMyLDQwICs2
MzIsNDAgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBib29sZWFuIGlzRnJvbUN1
cnJlbnRXb3JsZChhbnkgb2JqKTsKICAgICBhbnkgZXZhbHVhdGVJbldvcmxkSWdub3JpbmdFeGNl
cHRpb24oRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyBzb3VyY2UpOwogCi0gICAgdm9pZCBzZXRV
c2VzT3ZlcmxheVNjcm9sbGJhcnMoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldFVzZXNN
b2NrU2Nyb2xsQW5pbWF0b3IoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0VXNl
c092ZXJsYXlTY3JvbGxiYXJzKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFVz
ZXNNb2NrU2Nyb2xsQW5pbWF0b3IoYm9vbGVhbiBlbmFibGVkKTsKIAotICAgIHZvaWQgZm9yY2VS
ZWxvYWQoYm9vbGVhbiBlbmRUb0VuZCk7Ci0gICAgdm9pZCByZWxvYWRFeHBpcmVkT25seSgpOwor
ICAgIHVuZGVmaW5lZCBmb3JjZVJlbG9hZChib29sZWFuIGVuZFRvRW5kKTsKKyAgICB1bmRlZmlu
ZWQgcmVsb2FkRXhwaXJlZE9ubHkoKTsKIAotICAgIHZvaWQgZW5hYmxlRml4ZWRXaWR0aEF1dG9T
aXplTW9kZShib29sZWFuIGVuYWJsZWQsIGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKLSAgICB2
b2lkIGVuYWJsZVNpemVUb0NvbnRlbnRBdXRvU2l6ZU1vZGUoYm9vbGVhbiBlbmFibGVkLCBsb25n
IHdpZHRoLCBsb25nIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIGVuYWJsZUZpeGVkV2lkdGhBdXRv
U2l6ZU1vZGUoYm9vbGVhbiBlbmFibGVkLCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CisgICAg
dW5kZWZpbmVkIGVuYWJsZVNpemVUb0NvbnRlbnRBdXRvU2l6ZU1vZGUoYm9vbGVhbiBlbmFibGVk
LCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CiAKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIHNl
cXVlbmNlPERPTVN0cmluZz4gbWVkaWFSZXNwb25zZVNvdXJjZXMoSFRNTE1lZGlhRWxlbWVudCBt
ZWRpYSk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSBzZXF1ZW5jZTxET01TdHJpbmc+IG1lZGlh
UmVzcG9uc2VDb250ZW50UmFuZ2VzKEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOwotICAgIFtDb25k
aXRpb25hbD1WSURFT10gdm9pZCBzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKEhUTUxNZWRpYUVs
ZW1lbnQgZWxlbWVudCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2ltdWxh
dGVBdWRpb0ludGVycnVwdGlvbihIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQpOwogICAgIFtDb25k
aXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gbWVkaWFFbGVtZW50SGFz
Q2hhcmFjdGVyaXN0aWMoSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50LCBET01TdHJpbmcgY2hhcmFj
dGVyaXN0aWMpOwotICAgIFtDb25kaXRpb25hbD1WSURFT10gdm9pZCBiZWdpblNpbXVsYXRlZEhE
Q1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU9d
IHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOworICAg
IFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIGJlZ2luU2ltdWxhdGVkSERDUEVycm9yKEhU
TUxNZWRpYUVsZW1lbnQgbWVkaWEpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVk
IGVuZFNpbXVsYXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKIAogICAgIFtD
b25kaXRpb25hbD1WSURFT10gYm9vbGVhbiBlbGVtZW50U2hvdWxkQnVmZmVyRGF0YShIVE1MTWVk
aWFFbGVtZW50IG1lZGlhKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIERPTVN0cmluZyBlbGVt
ZW50QnVmZmVyaW5nUG9saWN5KEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOwogICAgIFtDb25kaXRp
b25hbD1WSURFT10gZG91YmxlIHByaXZhdGVQbGF5ZXJWb2x1bWUoSFRNTE1lZGlhRWxlbWVudCBt
ZWRpYSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0SXNQbGF5aW5nVG9CbHVl
dG9vdGhPdmVycmlkZShvcHRpb25hbCBib29sZWFuPyBpc1BsYXlpbmcgPSBudWxsKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92ZXJy
aWRlKG9wdGlvbmFsIGJvb2xlYW4/IGlzUGxheWluZyA9IG51bGwpOwogCi0gICAgW0NvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHZvaWQgaW5pdGlhbGl6ZU1vY2tDRE0oKTsKKyAg
ICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQV0gdW5kZWZpbmVkIGluaXRpYWxp
emVNb2NrQ0RNKCk7CiAgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gTW9ja0NETUZh
Y3RvcnkgcmVnaXN0ZXJNb2NrQ0RNKCk7Ci0gICAgdm9pZCBlbmFibGVNb2NrTWVkaWFDYXBhYmls
aXRpZXMoKTsKKyAgICB1bmRlZmluZWQgZW5hYmxlTW9ja01lZGlhQ2FwYWJpbGl0aWVzKCk7CiAK
LSAgICBbQ29uZGl0aW9uYWw9U1BFRUNIX1NZTlRIRVNJU10gdm9pZCBlbmFibGVNb2NrU3BlZWNo
U3ludGhlc2l6ZXIoKTsKKyAgICBbQ29uZGl0aW9uYWw9U1BFRUNIX1NZTlRIRVNJU10gdW5kZWZp
bmVkIGVuYWJsZU1vY2tTcGVlY2hTeW50aGVzaXplcigpOwogCiAgICAgRE9NU3RyaW5nIGdldElt
YWdlU291cmNlVVJMKEVsZW1lbnQgZWxlbWVudCk7CiAKICAgICBbQ29uZGl0aW9uYWw9VklERU8s
IE1heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgY2FwdGlvbnNTdHlsZVNoZWV0T3ZlcnJpZGUo
KTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldENh
cHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKERPTVN0cmluZyBvdmVycmlkZSk7Ci0gICAgW0NvbmRp
dGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQcmltYXJ5QXVkaW9UcmFj
a0xhbmd1YWdlT3ZlcnJpZGUoRE9NU3RyaW5nIGxhbmd1YWdlKTsKLSAgICBbQ29uZGl0aW9uYWw9
VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldENhcHRpb25EaXNwbGF5TW9kZShET01T
dHJpbmcgbW9kZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKERPTVN0cmluZyBvdmVycmlk
ZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFByaW1hcnlBdWRpb1RyYWNrTGFuZ3VhZ2VPdmVycmlkZShET01TdHJpbmcgbGFuZ3VhZ2Up
OworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRDYXB0aW9uRGlzcGxheU1vZGUoRE9NU3RyaW5nIG1vZGUpOwogICAgIFtDb25kaXRpb25hbD1W
SURFT10gVGV4dFRyYWNrQ3VlR2VuZXJpYyBjcmVhdGVHZW5lcmljQ3VlKGRvdWJsZSBzdGFydFRp
bWUsIGRvdWJsZSBlbmRUaW1lLCBET01TdHJpbmcgdGV4dCk7CiAgICAgW0NvbmRpdGlvbmFsPVZJ
REVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHRleHRUcmFja0JDUDQ3TGFuZ3VhZ2Uo
VGV4dFRyYWNrIHRyYWNrKTsKIApAQCAtNjgxLDcwICs2ODEsNzAgQEAgZW51bSBDb250ZW50U2l6
ZUNhdGVnb3J5IHsKICAgICBib29sZWFuIHBsdWdpbklzQmVsb3dTaXplVGhyZXNob2xkKEVsZW1l
bnQgZWxlbWVudCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVJlY3Qgc2VsZWN0aW9u
Qm91bmRzKCk7Ci0gICAgdm9pZCBzZXRTZWxlY3Rpb25XaXRob3V0VmFsaWRhdGlvbihOb2RlIGJh
c2VOb2RlLCB1bnNpZ25lZCBsb25nIGJhc2VPZmZzZXQsIE5vZGU/IGV4dGVudE5vZGUsIHVuc2ln
bmVkIGxvbmcgZXh0ZW50T2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgc2V0U2VsZWN0aW9uV2l0aG91
dFZhbGlkYXRpb24oTm9kZSBiYXNlTm9kZSwgdW5zaWduZWQgbG9uZyBiYXNlT2Zmc2V0LCBOb2Rl
PyBleHRlbnROb2RlLCB1bnNpZ25lZCBsb25nIGV4dGVudE9mZnNldCk7CiAKLSAgICBbQ29uZGl0
aW9uYWw9TUVESUFfU09VUkNFXSB2b2lkIGluaXRpYWxpemVNb2NrTWVkaWFTb3VyY2UoKTsKKyAg
ICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB1bmRlZmluZWQgaW5pdGlhbGl6ZU1vY2tNZWRp
YVNvdXJjZSgpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0VdIHNlcXVlbmNlPERPTVN0
cmluZz4gYnVmZmVyZWRTYW1wbGVzRm9yVHJhY2tJRChTb3VyY2VCdWZmZXIgYnVmZmVyLCBET01T
dHJpbmcgdHJhY2tJRCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gc2VxdWVuY2U8
RE9NU3RyaW5nPiBlbnF1ZXVlZFNhbXBsZXNGb3JUcmFja0lEKFNvdXJjZUJ1ZmZlciBidWZmZXIs
IERPTVN0cmluZyB0cmFja0lEKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB2b2lk
IHNldFNob3VsZEdlbmVyYXRlVGltZXN0YW1wcyhTb3VyY2VCdWZmZXIgYnVmZmVyLCBib29sZWFu
IGZsYWcpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0VdIHVuZGVmaW5lZCBzZXRTaG91
bGRHZW5lcmF0ZVRpbWVzdGFtcHMoU291cmNlQnVmZmVyIGJ1ZmZlciwgYm9vbGVhbiBmbGFnKTsK
ICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBkb3VibGUgbWluaW11bVVwY29taW5nUHJl
c2VudGF0aW9uVGltZUZvclRyYWNrSUQoU291cmNlQnVmZmVyIGJ1ZmZlciwgRE9NU3RyaW5nIHRy
YWNrSUQpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0VdIHZvaWQgc2V0TWF4aW11bVF1
ZXVlRGVwdGhGb3JUcmFja0lEKFNvdXJjZUJ1ZmZlciBidWZmZXIsIERPTVN0cmluZyB0cmFja0lE
LCB1bnNpZ25lZCBsb25nIG1heFF1ZXVlRGVwdGgpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9T
T1VSQ0VdIHVuZGVmaW5lZCBzZXRNYXhpbXVtUXVldWVEZXB0aEZvclRyYWNrSUQoU291cmNlQnVm
ZmVyIGJ1ZmZlciwgRE9NU3RyaW5nIHRyYWNrSUQsIHVuc2lnbmVkIGxvbmcgbWF4UXVldWVEZXB0
aCk7CiAKLSAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGJl
Z2luTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKERPTVN0cmluZyBpbnRlcnJ1cHRpb25UeXBlKTsK
LSAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgZW5kTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9u
KERPTVN0cmluZyBmbGFncyk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05dIHZvaWQg
c2VuZE1lZGlhU2Vzc2lvblN0YXJ0T2ZJbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24oTWVkaWFTZXNz
aW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkgY2F0ZWdvcnkpOwotICAgIFtDb25kaXRpb25hbD1NRURJ
QV9TRVNTSU9OXSB2b2lkIHNlbmRNZWRpYVNlc3Npb25FbmRPZkludGVycnVwdGlvbk5vdGlmaWNh
dGlvbihNZWRpYVNlc3Npb25JbnRlcnJ1cHRpbmdDYXRlZ29yeSBjYXRlZ29yeSk7CisgICAgW0Nv
bmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGJlZ2luTWVkaWFT
ZXNzaW9uSW50ZXJydXB0aW9uKERPTVN0cmluZyBpbnRlcnJ1cHRpb25UeXBlKTsKKyAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBlbmRNZWRpYVNlc3Npb25JbnRlcnJ1cHRpb24oRE9N
U3RyaW5nIGZsYWdzKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5kZWZpbmVk
IHNlbmRNZWRpYVNlc3Npb25TdGFydE9mSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uKE1lZGlhU2Vz
c2lvbkludGVycnVwdGluZ0NhdGVnb3J5IGNhdGVnb3J5KTsKKyAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU0VTU0lPTl0gdW5kZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25FbmRPZkludGVycnVwdGlvbk5v
dGlmaWNhdGlvbihNZWRpYVNlc3Npb25JbnRlcnJ1cHRpbmdDYXRlZ29yeSBjYXRlZ29yeSk7CiAg
ICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05dIERPTVN0cmluZyBtZWRpYVNlc3Npb25DdXJy
ZW50U3RhdGUoTWVkaWFTZXNzaW9uIHNlc3Npb24pOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9T
RVNTSU9OXSBkb3VibGUgbWVkaWFFbGVtZW50UGxheWVyVm9sdW1lKEhUTUxNZWRpYUVsZW1lbnQg
ZWxlbWVudCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05dIHZvaWQgc2VuZE1lZGlh
Q29udHJvbEV2ZW50KE1lZGlhQ29udHJvbEV2ZW50IGV2ZW50KTsKLSAgICBbQ29uZGl0aW9uYWw9
VklERU9dIHZvaWQgYXBwbGljYXRpb25XaWxsQmVjb21lSW5hY3RpdmUoKTsKLSAgICBbQ29uZGl0
aW9uYWw9VklERU9dIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKLSAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKG9wdGlv
bmFsIGJvb2xlYW4gc3VzcGVuZGVkVW5kZXJMb2NrID0gZmFsc2UpOwotICAgIFtDb25kaXRpb25h
bD1WSURFT10gdm9pZCBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZChvcHRpb25hbCBib29s
ZWFuIHN1c3BlbmRlZFVuZGVyTG9jayA9IGZhbHNlKTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU8s
IE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1lZGlhU2Vzc2lvblJlc3RyaWN0aW9ucyhET01T
dHJpbmcgbWVkaWFUeXBlLCBET01TdHJpbmcgcmVzdHJpY3Rpb25zKTsKKyAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU0VTU0lPTl0gdW5kZWZpbmVkIHNlbmRNZWRpYUNvbnRyb2xFdmVudChNZWRpYUNv
bnRyb2xFdmVudCBldmVudCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgYXBw
bGljYXRpb25XaWxsQmVjb21lSW5hY3RpdmUoKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVu
ZGVmaW5lZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOworICAgIFtDb25kaXRpb25hbD1W
SURFT10gdW5kZWZpbmVkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChvcHRpb25hbCBi
b29sZWFuIHN1c3BlbmRlZFVuZGVyTG9jayA9IGZhbHNlKTsKKyAgICBbQ29uZGl0aW9uYWw9VklE
RU9dIHVuZGVmaW5lZCBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZChvcHRpb25hbCBib29s
ZWFuIHN1c3BlbmRlZFVuZGVyTG9jayA9IGZhbHNlKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU8s
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVkaWFTZXNzaW9uUmVzdHJpY3Rpb25z
KERPTVN0cmluZyBtZWRpYVR5cGUsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOwogICAgIFtDb25k
aXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBtZWRpYVNlc3Npb25S
ZXN0cmljdGlvbnMoRE9NU3RyaW5nIG1lZGlhVHlwZSk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVP
XSB2b2lkIHNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVtZW50IGVsZW1l
bnQsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOwotICAgIFtDb25kaXRpb25hbD1XRUJfQVVESU9d
IHZvaWQgc2V0QXVkaW9Db250ZXh0UmVzdHJpY3Rpb25zKChCYXNlQXVkaW9Db250ZXh0IG9yIFdl
YktpdEF1ZGlvQ29udGV4dCkgY29udGV4dCwgRE9NU3RyaW5nIHJlc3RyaWN0aW9ucyk7Ci0gICAg
W0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0UmVtb3RlQ29u
dHJvbENvbW1hbmQoRE9NU3RyaW5nIGNvbW1hbmQsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBhcmd1bWVudCA9IDApOwotICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVRdIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCwgTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJTdGF0
ZShET01TdHJpbmcgZGV2aWNlTmFtZSwgRE9NU3RyaW5nIGRldmljZVN0YXRlKTsKLSAgICBbQ29u
ZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSB2b2lkIG1vY2tNZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyRGlzbWlzc1BvcHVwKCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVB
TV0gdm9pZCBzZXRDdXN0b21Qcml2YXRlUmVjb3JkZXJDcmVhdG9yKCk7Ci0KLSAgICBbQ29uZGl0
aW9uYWw9V0VCX0FVRElPXSB2b2lkIHVzZU1vY2tBdWRpb0Rlc3RpbmF0aW9uQ29jb2EoKTsKLQot
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIGVtdWxhdGVSVENQZWVyQ29ubmVjdGlvblBs
YXRmb3JtRXZlbnQoUlRDUGVlckNvbm5lY3Rpb24gY29ubmVjdGlvbiwgRE9NU3RyaW5nIGFjdGlv
bik7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgdXNlTW9ja1JUQ1BlZXJDb25uZWN0
aW9uRmFjdG9yeShET01TdHJpbmcgdGVzdENhc2UpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRD
XSB2b2lkIHNldElDRUNhbmRpZGF0ZUZpbHRlcmluZyhib29sZWFuIGVuYWJsZWQpOwotICAgIFtD
b25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldEVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZv
aWQgc3RvcFBlZXJDb25uZWN0aW9uKFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5lY3Rpb24pOwotICAg
IFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIGNsZWFyUGVlckNvbm5lY3Rpb25GYWN0b3J5KCk7
Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgc2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlv
bihib29sZWFuIGVuYWJsZWQpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldFVz
ZURUTFMxMChib29sZWFuIHVzZSk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgc2V0
VXNlR1BVUHJvY2Vzc0ZvcldlYlJUQyhib29sZWFuIHVzZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJ
REVPXSB1bmRlZmluZWQgc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKEhUTUxNZWRpYUVsZW1l
bnQgZWxlbWVudCwgRE9NU3RyaW5nIHJlc3RyaWN0aW9ucyk7CisgICAgW0NvbmRpdGlvbmFsPVdF
Ql9BVURJT10gdW5kZWZpbmVkIHNldEF1ZGlvQ29udGV4dFJlc3RyaWN0aW9ucygoQmFzZUF1ZGlv
Q29udGV4dCBvciBXZWJLaXRBdWRpb0NvbnRleHQpIGNvbnRleHQsIERPTVN0cmluZyByZXN0cmlj
dGlvbnMpOworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQoRE9NU3RyaW5nIGNvbW1hbmQsIG9wdGlvbmFs
IHVucmVzdHJpY3RlZCBmbG9hdCBhcmd1bWVudCA9IDApOworICAgIFtDb25kaXRpb25hbD1XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVRdIHVuZGVmaW5lZCBzZXRNb2NrTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlckVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbQ29uZGl0aW9uYWw9V0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VULCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1vY2tN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyU3RhdGUoRE9NU3RyaW5nIGRldmljZU5hbWUsIERPTVN0
cmluZyBkZXZpY2VTdGF0ZSk7CisgICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVF0gdW5kZWZpbmVkIG1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyRGlzbWlzc1BvcHVw
KCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldEN1c3RvbVBy
aXZhdGVSZWNvcmRlckNyZWF0b3IoKTsKKworICAgIFtDb25kaXRpb25hbD1XRUJfQVVESU9dIHVu
ZGVmaW5lZCB1c2VNb2NrQXVkaW9EZXN0aW5hdGlvbkNvY29hKCk7CisKKyAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdW5kZWZpbmVkIGVtdWxhdGVSVENQZWVyQ29ubmVjdGlvblBsYXRmb3JtRXZl
bnQoUlRDUGVlckNvbm5lY3Rpb24gY29ubmVjdGlvbiwgRE9NU3RyaW5nIGFjdGlvbik7CisgICAg
W0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCB1c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25G
YWN0b3J5KERPTVN0cmluZyB0ZXN0Q2FzZSk7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVu
ZGVmaW5lZCBzZXRJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBb
Q29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldEVudW1lcmF0aW5nQWxsTmV0d29ya0lu
dGVyZmFjZXNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9S
VENdIHVuZGVmaW5lZCBzdG9wUGVlckNvbm5lY3Rpb24oUlRDUGVlckNvbm5lY3Rpb24gY29ubmVj
dGlvbik7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBjbGVhclBlZXJDb25u
ZWN0aW9uRmFjdG9yeSgpOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0
RW5hYmxlV2ViUlRDRW5jcnlwdGlvbihib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRpb25h
bD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0VXNlRFRMUzEwKGJvb2xlYW4gdXNlKTsKKyAgICBbQ29u
ZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9v
bGVhbiB1c2UpOwogCi0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIHNpbXVsYXRlU3lzdGVt
U2xlZXAoKTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgc2ltdWxhdGVTeXN0ZW1XYWtl
KCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2ltdWxhdGVTeXN0ZW1TbGVl
cCgpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIHNpbXVsYXRlU3lzdGVtV2Fr
ZSgpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gYm9vbGVhbiBlbGVtZW50SXNCbG9ja2luZ0Rp
c3BsYXlTbGVlcChIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBNb2NrUGFnZU92ZXJsYXkgaW5zdGFsbE1vY2tQYWdlT3ZlcmxheShQYWdlT3Zlcmxh
eVR5cGUgdHlwZSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgcGFnZU92ZXJs
YXlMYXllclRyZWVBc1RleHQob3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAot
ICAgIHZvaWQgc2V0UGFnZU11dGVkKERPTVN0cmluZyBtdXRlZFN0YXRlKTsKKyAgICB1bmRlZmlu
ZWQgc2V0UGFnZU11dGVkKERPTVN0cmluZyBtdXRlZFN0YXRlKTsKICAgICBET01TdHJpbmcgcGFn
ZU1lZGlhU3RhdGUoKTsKIAotICAgIHZvaWQgc2V0UGFnZURlZmVyc0xvYWRpbmcoYm9vbGVhbiBk
ZWZlcnNMb2FkaW5nKTsKKyAgICB1bmRlZmluZWQgc2V0UGFnZURlZmVyc0xvYWRpbmcoYm9vbGVh
biBkZWZlcnNMb2FkaW5nKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gcGFnZURl
ZmVyc0xvYWRpbmcoKTsKIAogICAgIEZpbGU/IGNyZWF0ZUZpbGUoRE9NU3RyaW5nIHVybCk7Ci0g
ICAgdm9pZCBxdWV1ZU1pY3JvVGFzayhsb25nIHRlc3ROdW1iZXIpOworICAgIHVuZGVmaW5lZCBx
dWV1ZU1pY3JvVGFzayhsb25nIHRlc3ROdW1iZXIpOwogICAgIGJvb2xlYW4gdGVzdFByZWxvYWRl
clNldHRpbmdWaWV3cG9ydCgpOwogCiAgICAgW0NvbmRpdGlvbmFsPUNPTlRFTlRfRklMVEVSSU5H
XSByZWFkb25seSBhdHRyaWJ1dGUgTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncyBtb2NrQ29udGVu
dEZpbHRlclNldHRpbmdzOwogCiAgICAgW0NvbmRpdGlvbmFsPUNTU19TQ1JPTExfU05BUCwgTWF5
VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBzY3JvbGxTbmFwT2Zmc2V0cyhFbGVtZW50IGVsZW1l
bnQpOwogICAgIFtDb25kaXRpb25hbD1DU1NfU0NST0xMX1NOQVAsIE1heVRocm93RXhjZXB0aW9u
XSBib29sZWFuIGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoRWxlbWVudCBlbGVtZW50KTsKLSAgICBb
Q29uZGl0aW9uYWw9Q1NTX1NDUk9MTF9TTkFQXSB2b2lkIHNldFBsYXRmb3JtTW9tZW50dW1TY3Jv
bGxpbmdQcmVkaWN0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRpb25h
bD1DU1NfU0NST0xMX1NOQVBdIHVuZGVmaW5lZCBzZXRQbGF0Zm9ybU1vbWVudHVtU2Nyb2xsaW5n
UHJlZGljdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gRE9NU3RyaW5nIHBhdGhTdHJpbmdXaXRoU2hyaW5rV3JhcHBlZFJlY3RzKHNlcXVlbmNl
PGRvdWJsZT4gcmVjdENvbXBvbmVudHMsIGRvdWJsZSByYWRpdXMpOwogCkBAIC03NTIsNzQgKzc1
Miw3NCBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgRE9NU3RyaW5nIHVzZXJW
aXNpYmxlU3RyaW5nKERPTVVSTCB1cmwpOwogCi0gICAgdm9pZCBzZXRTaG93QWxsUGx1Z2lucyhi
b29sZWFuIHNob3dBbGwpOworICAgIHVuZGVmaW5lZCBzZXRTaG93QWxsUGx1Z2lucyhib29sZWFu
IHNob3dBbGwpOwogCiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gYW55IGNsb25lQXJyYXlC
dWZmZXIoYW55IGJ1ZmZlciwgYW55IHNyY0J5dGVPZmZzZXQsIGFueSBieXRlTGVuZ3RoKTsKICAg
ICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBib29sZWFuIGlzUmVhZGFibGVTdHJlYW1EaXN0dXJi
ZWQoYW55IHN0cmVhbSk7CiAKICAgICBET01TdHJpbmcgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Zv
clVSTChET01VUkwgdXJsKTsKLSAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKGJvb2xlYW4gZW5hYmxlKTsKKyAgICB1bmRlZmluZWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoYm9vbGVhbiBlbmFibGUpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRlKGJvb2xlYW4gYWxsb3cpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldENhblNob3dNb2RhbERpYWxvZ092ZXJyaWRl
KGJvb2xlYW4gYWxsb3cpOwogCiAgICAgRE9NU3RyaW5nIGNvbXBvc2VkVHJlZUFzVGV4dChOb2Rl
IHBhcmVudCk7CiAKICAgICBib29sZWFuIGlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCk7CiAgICAg
ZG91YmxlIGxhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAoKTsKIAotICAgIHZvaWQgd2l0
aFVzZXJHZXN0dXJlKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHdpdGhV
c2VyR2VzdHVyZShWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwogCiAgICAgYm9vbGVhbiB1c2VySXNJ
bnRlcmFjdGluZygpOwogCiAgICAgR0NPYnNlcnZhdGlvbj8gb2JzZXJ2ZUdDKGFueSBvYnNlcnZl
ZCk7CiAKLSAgICB2b2lkIHNldFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oVXNlckludGVy
ZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKTsKLSAgICB2
b2lkIHNldEJhc2VXcml0aW5nRGlyZWN0aW9uKEJhc2VXcml0aW5nRGlyZWN0aW9uIGRpcmVjdGlv
bik7CisgICAgdW5kZWZpbmVkIHNldFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oVXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKTsKKyAg
ICB1bmRlZmluZWQgc2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oQmFzZVdyaXRpbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uKTsKIAogICAgIGJvb2xlYW4gdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uKCk7CiAg
ICAgCi0gICAgdm9pZCByZXBvcnRCYWNrdHJhY2UoKTsKKyAgICB1bmRlZmluZWQgcmVwb3J0QmFj
a3RyYWNlKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSBib29sZWFuIHBhZ2VI
YXNQZW5kaW5nUG9pbnRlckxvY2soKTsKICAgICBbQ29uZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSBi
b29sZWFuIHBhZ2VIYXNQb2ludGVyTG9jaygpOwogCiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBh
Y2Nlc3NLZXlNb2RpZmllcnMoKTsKIAotICAgIHZvaWQgc2V0UXVpY2tMb29rUGFzc3dvcmQoRE9N
U3RyaW5nIHBhc3N3b3JkKTsKKyAgICB1bmRlZmluZWQgc2V0UXVpY2tMb29rUGFzc3dvcmQoRE9N
U3RyaW5nIHBhc3N3b3JkKTsKIAotICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCBzZXRBc1J1
bm5pbmdVc2VyU2NyaXB0cygpOwotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgQ29uZGl0aW9uYWw9
QVBQTEVfUEFZXSB2b2lkIHNldEFwcGxlUGF5SXNBY3RpdmUoKTsKKyAgICBbQ2FsbFdpdGg9RG9j
dW1lbnRdIHVuZGVmaW5lZCBzZXRBc1J1bm5pbmdVc2VyU2NyaXB0cygpOworICAgIFtDYWxsV2l0
aD1Eb2N1bWVudCwgQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSB1bmRlZmluZWQgc2V0QXBwbGVQYXlJ
c0FjdGl2ZSgpOwogCi0gICAgdm9pZCBkaXNhYmxlVGlsZVNpemVVcGRhdGVEZWxheSgpOwotICAg
IHZvaWQgc2V0U3BlY3VsYXRpdmVUaWxpbmdEZWxheURpc2FibGVkRm9yVGVzdGluZyhib29sZWFu
IGRpc2FibGVkKTsKKyAgICB1bmRlZmluZWQgZGlzYWJsZVRpbGVTaXplVXBkYXRlRGVsYXkoKTsK
KyAgICB1bmRlZmluZWQgc2V0U3BlY3VsYXRpdmVUaWxpbmdEZWxheURpc2FibGVkRm9yVGVzdGlu
Zyhib29sZWFuIGRpc2FibGVkKTsKIAotICAgIFtDb25kaXRpb25hbD1XRUJHTF0gdm9pZCBzaW11
bGF0ZVdlYkdMQ29udGV4dENoYW5nZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQpOwot
ICAgIFtDb25kaXRpb25hbD1XRUJHTF0gdm9pZCBmYWlsTmV4dEdQVVN0YXR1c0NoZWNrKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCBjb250ZXh0KTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHVuZGVm
aW5lZCBzaW11bGF0ZVdlYkdMQ29udGV4dENoYW5nZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNv
bnRleHQpOworICAgIFtDb25kaXRpb25hbD1XRUJHTF0gdW5kZWZpbmVkIGZhaWxOZXh0R1BVU3Rh
dHVzQ2hlY2soV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQpOwogICAgIFtDb25kaXRpb25h
bD1XRUJHTF0gYm9vbGVhbiBoYXNMb3dBbmRIaWdoUG93ZXJHUFVzKCk7CiAKLSAgICB2b2lkIHNl
dFBhZ2VWaXNpYmlsaXR5KGJvb2xlYW4gaXNWaXNpYmxlKTsKLSAgICB2b2lkIHNldFBhZ2VJc0Zv
Y3VzZWRBbmRBY3RpdmUoYm9vbGVhbiBpc0ZvY3VzZWQpOwotICAgIHZvaWQgc2V0UGFnZUlzSW5X
aW5kb3coYm9vbGVhbiBpc0luV2luZG93KTsKKyAgICB1bmRlZmluZWQgc2V0UGFnZVZpc2liaWxp
dHkoYm9vbGVhbiBpc1Zpc2libGUpOworICAgIHVuZGVmaW5lZCBzZXRQYWdlSXNGb2N1c2VkQW5k
QWN0aXZlKGJvb2xlYW4gaXNGb2N1c2VkKTsKKyAgICB1bmRlZmluZWQgc2V0UGFnZUlzSW5XaW5k
b3coYm9vbGVhbiBpc0luV2luZG93KTsKICAgICBib29sZWFuIGlzUGFnZUFjdGl2ZSgpOwogCi0g
ICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgc2V0SDI2NEhhcmR3YXJlRW5jb2RlckFsbG93
ZWQoYm9vbGVhbiBhbGxvd2VkKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBhcHBs
eVJvdGF0aW9uRm9yT3V0Z29pbmdWaWRlb1NvdXJjZXMoUlRDUGVlckNvbm5lY3Rpb24gY29ubmVj
dGlvbik7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgc2V0V2ViUlRDSDI2NVN1cHBv
cnQoYm9vbGVhbiBhbGxvd2VkKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBzZXRX
ZWJSVENWUDlTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7Ci0KLSAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNXSB2b2lkIHNldE1vY2tBdWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVh
bVRyYWNrIHRyYWNrLCB1bnNpZ25lZCBzaG9ydCBjb3VudCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTV0gdm9pZCBzZXRTaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlD
aGFuZ2UoYm9vbGVhbiBzaG91bGRJbnRlcnJ1cHQpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9T
VFJFQU1dIHZvaWQgc2V0Q2FtZXJhTWVkaWFTdHJlYW1UcmFja09yaWVudGF0aW9uKE1lZGlhU3Ry
ZWFtVHJhY2sgdHJhY2ssIHNob3J0IG9yaWVudGF0aW9uKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNXSB2b2lkIG9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3RyZWFtVHJhY2sg
dHJhY2spOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0SDI2NEhhcmR3
YXJlRW5jb2RlckFsbG93ZWQoYm9vbGVhbiBhbGxvd2VkKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VC
X1JUQ10gdW5kZWZpbmVkIGFwcGx5Um90YXRpb25Gb3JPdXRnb2luZ1ZpZGVvU291cmNlcyhSVENQ
ZWVyQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5k
ZWZpbmVkIHNldFdlYlJUQ0gyNjVTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CisgICAgW0NvbmRp
dGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2xlYW4gYWxs
b3dlZCk7CisKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0TW9j
a0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIHVuc2lnbmVk
IHNob3J0IGNvdW50KTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQg
c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2xlYW4gc2hv
dWxkSW50ZXJydXB0KTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQg
c2V0Q2FtZXJhTWVkaWFTdHJlYW1UcmFja09yaWVudGF0aW9uKE1lZGlhU3RyZWFtVHJhY2sgdHJh
Y2ssIHNob3J0IG9yaWVudGF0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1
bmRlZmluZWQgb2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7
CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gUHJvbWlzZTxJbWFnZURhdGE+IGdyYWJO
ZXh0TWVkaWFTdHJlYW1UcmFja0ZyYW1lKCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVB
TV0gcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdHJhY2tBdWRpb1NhbXBsZUNvdW50
OwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHRyYWNrVmlkZW9TYW1wbGVDb3VudDsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNXSB2b2lkIGRlbGF5TWVkaWFTdHJlYW1UcmFja1NhbXBsZXMoTWVkaWFTdHJlYW1UcmFj
ayB0cmFjaywgZmxvYXQgZGVsYXkpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZv
aWQgc2V0TWVkaWFTdHJlYW1UcmFja011dGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGJvb2xl
YW4gbXV0ZWQpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgcmVtb3ZlTWVk
aWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbSBzdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sgdHJhY2sp
OwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2ltdWxhdGVNZWRpYVN0cmVh
bVRyYWNrQ2FwdHVyZVNvdXJjZUZhaWx1cmUoTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7Ci0gICAg
W0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXRNZWRpYVN0cmVhbVRyYWNrSWRlbnRp
ZmllcihNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBET01TdHJpbmcgaWRlbnRpZmllcik7Ci0gICAg
W0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXRNZWRpYVN0cmVhbVNvdXJjZUludGVy
cnVwdGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGJvb2xlYW4gaW50ZXJydXB0ZWQpOworICAg
IFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBkZWxheU1lZGlhU3RyZWFtVHJh
Y2tTYW1wbGVzKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGZsb2F0IGRlbGF5KTsKKyAgICBbQ29u
ZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0TWVkaWFTdHJlYW1UcmFja011dGVk
KE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGJvb2xlYW4gbXV0ZWQpOworICAgIFtDb25kaXRpb25h
bD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCByZW1vdmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3Ry
ZWFtIHN0cmVhbSwgTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7CisgICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTV0gdW5kZWZpbmVkIHNpbXVsYXRlTWVkaWFTdHJlYW1UcmFja0NhcHR1cmVTb3Vy
Y2VGYWlsdXJlKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOworICAgIFtDb25kaXRpb25hbD1NRURJ
QV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNZWRpYVN0cmVhbVRyYWNrSWRlbnRpZmllcihNZWRpYVN0
cmVhbVRyYWNrIHRyYWNrLCBET01TdHJpbmcgaWRlbnRpZmllcik7CisgICAgW0NvbmRpdGlvbmFs
PU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldE1lZGlhU3RyZWFtU291cmNlSW50ZXJydXB0ZWQo
TWVkaWFTdHJlYW1UcmFjayB0cmFjaywgYm9vbGVhbiBpbnRlcnJ1cHRlZCk7CiAgICAgW0NvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTV0gYm9vbGVhbiBpc01lZGlhU3RyZWFtU291cmNlSW50ZXJydXB0
ZWQoTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVB
TV0gYm9vbGVhbiBpc01lZGlhU3RyZWFtU291cmNlRW5kZWQoTWVkaWFTdHJlYW1UcmFjayB0cmFj
ayk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gYm9vbGVhbiBpc01vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCgpOwpAQCAtODM4LDE3ICs4MzgsMTcgQEAgZW51bSBD
b250ZW50U2l6ZUNhdGVnb3J5IHsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHByb2Nl
c3NJZGVudGlmaWVyOwogICAgIERPTVN0cmluZyBzZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
cihEb2N1bWVudCBkb2N1bWVudCk7Ci0gICAgUHJvbWlzZTx2b2lkPiBzdG9yZVJlZ2lzdHJhdGlv
bnNPbkRpc2soKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc3RvcmVSZWdpc3RyYXRpb25zT25E
aXNrKCk7CiAgICAgUHJvbWlzZTxkb3VibGU+IHNlbmRIMlBpbmcoRE9NU3RyaW5nIHVybCk7CiAK
LSAgICBQcm9taXNlPHZvaWQ+IGNsZWFyQ2FjaGVTdG9yYWdlTWVtb3J5UmVwcmVzZW50YXRpb24o
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gY2xlYXJDYWNoZVN0b3JhZ2VNZW1vcnlSZXByZXNl
bnRhdGlvbigpOwogICAgIFByb21pc2U8RE9NU3RyaW5nPiBjYWNoZVN0b3JhZ2VFbmdpbmVSZXBy
ZXNlbnRhdGlvbigpOwotICAgIHZvaWQgc2V0UmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hS
ZXNwb25zZSByZXNwb25zZSwgdW5zaWduZWQgbG9uZyBsb25nIHNpemUpOworICAgIHVuZGVmaW5l
ZCBzZXRSZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlLCB1bnNp
Z25lZCBsb25nIGxvbmcgc2l6ZSk7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlU2l6
ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UgcmVzcG9uc2UpOwogCi0gICAgdm9pZCB1cGRhdGVR
dW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZVF1b3RhQmFzZWRP
blNwYWNlVXNhZ2UoKTsKIAotICAgIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VMaXN0ZW5lcihTdHJp
bmdDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHNldENvbnNvbGVNZXNzYWdlTGlz
dGVuZXIoU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gc3VwcG9ydHNBdWRpb1Nlc3Npb247CiAgICAgRE9NU3RyaW5nIGF1ZGlvU2Vzc2lv
bkNhdGVnb3J5KCk7CkBAIC04NTYsOCArODU2LDggQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5
IHsKICAgICBib29sZWFuIGF1ZGlvU2Vzc2lvbkFjdGl2ZSgpOwogCiAgICAgW0NvbmRpdGlvbmFs
PVNFUlZJQ0VfV09SS0VSXSBQcm9taXNlPGJvb2xlYW4+IGhhc1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oRE9NU3RyaW5nIHNjb3BlVVJMKTsKLSAgICBbQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JL
RVJdIFByb21pc2U8dm9pZD4gdGVybWluYXRlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyIHdv
cmtlcik7Ci0gICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQcm9taXNlPHZvaWQ+IHdo
ZW5TZXJ2aWNlV29ya2VySXNUZXJtaW5hdGVkKFNlcnZpY2VXb3JrZXIgd29ya2VyKTsKKyAgICBb
Q29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVJdIFByb21pc2U8dW5kZWZpbmVkPiB0ZXJtaW5hdGVT
ZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXIgd29ya2VyKTsKKyAgICBbQ29uZGl0aW9uYWw9U0VS
VklDRV9XT1JLRVJdIFByb21pc2U8dW5kZWZpbmVkPiB3aGVuU2VydmljZVdvcmtlcklzVGVybWlu
YXRlZChTZXJ2aWNlV29ya2VyIHdvcmtlcik7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIENv
bmRpdGlvbmFsPUFQUExFX1BBWV0gcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tQYXltZW50Q29vcmRp
bmF0b3IgbW9ja1BheW1lbnRDb29yZGluYXRvcjsKIApAQCAtODY3LDE2ICs4NjcsMTYgQEAgZW51
bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBib29sZWFuIHVzaW5nQXBwbGVJbnRlcm5hbFNE
SygpOwogICAgIGJvb2xlYW4gdXNpbmdHU3RyZWFtZXIoKTsKIAotICAgIHZvaWQgcG9zdFRhc2so
Vm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcXVldWVUYXNrKERPTVN0cmluZyBzb3VyY2Us
IFZvaWRDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIHF1
ZXVlVGFza1RvUXVldWVNaWNyb3Rhc2soRE9NU3RyaW5nIHNvdXJjZSwgVm9pZENhbGxiYWNrIGNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgcG9zdFRhc2soVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBxdWV1ZVRhc2soRE9NU3RyaW5nIHNvdXJjZSwgVm9pZENhbGxiYWNrIGNhbGxi
YWNrKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHVuZGVmaW5lZCBxdWV1ZVRhc2tUb1F1ZXVl
TWljcm90YXNrKERPTVN0cmluZyBzb3VyY2UsIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGhhc1NhbWVFdmVudExvb3BBcyhXaW5kb3dQcm94
eSB3aW5kb3dQcm94eSk7CiAKICAgICBET01TdHJpbmcgd2luZG93TG9jYXRpb25Ib3N0KERPTVdp
bmRvdyB3aW5kb3cpOwogCi0gICAgdm9pZCBtYXJrQ29udGV4dEFzSW5zZWN1cmUoKTsKKyAgICB1
bmRlZmluZWQgbWFya0NvbnRleHRBc0luc2VjdXJlKCk7CiAKLSAgICB2b2lkIHNldE1heENhbnZh
c1BpeGVsTWVtb3J5KHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisgICAgdW5kZWZpbmVkIHNldE1heENh
bnZhc1BpeGVsTWVtb3J5KHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKICAgICBbQ29uZGl0aW9uYWw9
VklERU8sIE1heVRocm93RXhjZXB0aW9uXSByZWFkb25seSBhdHRyaWJ1dGUgTm93UGxheWluZ1N0
YXRlIG5vd1BsYXlpbmdTdGF0ZTsKIApAQCAtODg3LDE1ICs4ODcsMTUgQEAgZW51bSBDb250ZW50
U2l6ZUNhdGVnb3J5IHsKICAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9u
XSBib29sZWFuIGVsZW1lbnRTaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoSFRNTFZpZGVvRWxlbWVu
dCBlbGVtZW50KTsKIAogICAgIERPTVN0cmluZyBvbmdvaW5nTG9hZHNEZXNjcmlwdGlvbnMoKTsK
LSAgICB2b2lkIHNldENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljc0VuYWJsZWQoYm9vbGVh
biB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmlj
c0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAKLSAgICB2b2lkIHJlbG9hZFdpdGhvdXRDb250ZW50
RXh0ZW5zaW9ucygpOworICAgIHVuZGVmaW5lZCByZWxvYWRXaXRob3V0Q29udGVudEV4dGVuc2lv
bnMoKTsKIAotICAgIHZvaWQgc2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sZWFuIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0VXNlU3lzdGVtQXBwZWFyYW5jZShib29sZWFuIHZhbHVlKTsKIAog
ICAgIHVuc2lnbmVkIGxvbmcgcGx1Z2luQ291bnQoKTsKIAotICAgIHZvaWQgbm90aWZ5UmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXIoKTsKKyAgICB1bmRlZmluZWQgbm90aWZ5UmVzb3VyY2VMb2FkT2JzZXJ2
ZXIoKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgcHJpbWFyeVNjcmVlbkRpc3BsYXlJRCgpOwogCkBA
IC05MDksMjMgKzkwOSwyMyBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgc2Vx
dWVuY2U8Q29va2llRGF0YT4gZ2V0Q29va2llcygpOwogCi0gICAgdm9pZCBzZXRBbHdheXNBbGxv
d0xvY2FsV2ViYXJjaGl2ZShib29sZWFuIGFsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlKTsKKyAg
ICB1bmRlZmluZWQgc2V0QWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hpdmUoYm9vbGVhbiBhbHdheXNB
bGxvd0xvY2FsV2ViYXJjaGl2ZSk7CiAKLSAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZCgpOwot
ICAgIHZvaWQgcHJvY2Vzc0RpZFJlc3VtZSgpOworICAgIHVuZGVmaW5lZCBwcm9jZXNzV2lsbFN1
c3BlbmQoKTsKKyAgICB1bmRlZmluZWQgcHJvY2Vzc0RpZFJlc3VtZSgpOwogCi0gICAgdm9pZCB0
ZXN0RGljdGlvbmFyeUxvZ2dpbmcoKTsKKyAgICB1bmRlZmluZWQgdGVzdERpY3Rpb25hcnlMb2dn
aW5nKCk7CiAKLSAgICB2b2lkIHNldE1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2Fy
ZGluZ0ZvckZldGNoKGRvdWJsZSBpbnRlcnZhbCk7Ci0gICAgdm9pZCBzZXRUcmFuc2llbnRBY3Rp
dmF0aW9uRHVyYXRpb24oZG91YmxlIHNlY29uZHMpOworICAgIHVuZGVmaW5lZCBzZXRNYXhpbXVt
SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmdGb3JGZXRjaChkb3VibGUgaW50ZXJ2YWwp
OworICAgIHVuZGVmaW5lZCBzZXRUcmFuc2llbnRBY3RpdmF0aW9uRHVyYXRpb24oZG91YmxlIHNl
Y29uZHMpOwogCi0gICAgdm9pZCBzZXRJc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFkVW5pdChib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0SXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVu
aXQoYm9vbGVhbiB2YWx1ZSk7CiAKICAgICBUZXh0SW5kaWNhdG9ySW5mbyB0ZXh0SW5kaWNhdG9y
Rm9yUmFuZ2UoUmFuZ2UgcmFuZ2UsIFRleHRJbmRpY2F0b3JPcHRpb25zIG9wdGlvbnMpOwogCi0g
ICAgdm9pZCBhZGRQcmVmZXRjaExvYWRFdmVudExpc3RlbmVyKEhUTUxMaW5rRWxlbWVudCBsaW5r
LCBFdmVudExpc3RlbmVyPyBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGFkZFByZWZldGNoTG9h
ZEV2ZW50TGlzdGVuZXIoSFRNTExpbmtFbGVtZW50IGxpbmssIEV2ZW50TGlzdGVuZXI/IGNhbGxi
YWNrKTsKIAotICAgIFtDb25kaXRpb25hbD1XRUJfQVVUSE5dIHZvaWQgc2V0TW9ja1dlYkF1dGhl
bnRpY2F0aW9uQ29uZmlndXJhdGlvbihNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9u
IGNvbmZpZ3VyYXRpb24pOworICAgIFtDb25kaXRpb25hbD1XRUJfQVVUSE5dIHVuZGVmaW5lZCBz
ZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKE1vY2tXZWJBdXRoZW50aWNhdGlv
bkNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CiAKICAgICBJbnRlcm5hbHNNYXBMaWtlIGNy
ZWF0ZUludGVybmFsc01hcExpa2UoKTsKICAgICBJbnRlcm5hbHNTZXRMaWtlIGNyZWF0ZUludGVy
bmFsc1NldExpa2UoKTsKQEAgLTk0MSwxMSArOTQxLDExIEBAIGVudW0gQ29udGVudFNpemVDYXRl
Z29yeSB7CiAKICAgICBib29sZWFuIHN5c3RlbUhhc0JhdHRlcnkoKTsKIAotICAgIHZvaWQgc2V0
U3lzdGVtSGFzQmF0dGVyeUZvclRlc3RpbmcoYm9vbGVhbiBoYXNCYXR0ZXJ5KTsKLSAgICB2b2lk
IHNldFN5c3RlbUhhc0FDRm9yVGVzdGluZyhib29sZWFuIGhhc0FDKTsKKyAgICB1bmRlZmluZWQg
c2V0U3lzdGVtSGFzQmF0dGVyeUZvclRlc3RpbmcoYm9vbGVhbiBoYXNCYXR0ZXJ5KTsKKyAgICB1
bmRlZmluZWQgc2V0U3lzdGVtSGFzQUNGb3JUZXN0aW5nKGJvb2xlYW4gaGFzQUMpOwogCi0gICAg
dm9pZCBzZXRIYXJkd2FyZVZQOURlY29kZXJEaXNhYmxlZEZvclRlc3RpbmcoYm9vbGVhbiBkaXNh
YmxlZCk7Ci0gICAgdm9pZCBzZXRWUDlTY3JlZW5TaXplQW5kU2NhbGVGb3JUZXN0aW5nKGRvdWJs
ZSB3aWR0aCwgZG91YmxlIGhlaWdodCwgZG91YmxlIHNjYWxlKTsKKyAgICB1bmRlZmluZWQgc2V0
SGFyZHdhcmVWUDlEZWNvZGVyRGlzYWJsZWRGb3JUZXN0aW5nKGJvb2xlYW4gZGlzYWJsZWQpOwor
ICAgIHVuZGVmaW5lZCBzZXRWUDlTY3JlZW5TaXplQW5kU2NhbGVGb3JUZXN0aW5nKGRvdWJsZSB3
aWR0aCwgZG91YmxlIGhlaWdodCwgZG91YmxlIHNjYWxlKTsKIAogICAgIGxvbmcgcmVhZFByZWZl
cmVuY2VJbnRlZ2VyKERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBrZXkpOwogICAgIERPTVN0
cmluZyBlbmNvZGVkUHJlZmVyZW5jZVZhbHVlKERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBr
ZXkpOwpAQCAtOTY0LDUgKzk2NCw1IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAg
W0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gdW5zaWduZWQgbG9uZyBtZWRpYUtleXNJbnRl
cm5hbEluc3RhbmNlT2JqZWN0UmVmQ291bnQoTWVkaWFLZXlzIG1lZGlhS2V5cyk7CiAgICAgW0Nv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gdW5zaWduZWQgbG9uZyBtZWRpYUtleVNlc3Npb25J
bnRlcm5hbEluc3RhbmNlU2Vzc2lvbk9iamVjdFJlZkNvdW50KE1lZGlhS2V5U2Vzc2lvbiBzZXNz
aW9uKTsKIAotICAgIHZvaWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShDb250ZW50U2l6ZUNhdGVn
b3J5IGNhdGVnb3J5KTsKKyAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShDb250
ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tDRE1GYWN0b3J5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tDRE1GYWN0b3J5LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4
LDYgQEAKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBzdXBwb3J0c1Nlc3Npb25zOwogICAgIGF0dHJp
YnV0ZSBzZXF1ZW5jZTxNZWRpYUtleUVuY3J5cHRpb25TY2hlbWU+IHN1cHBvcnRlZEVuY3J5cHRp
b25TY2hlbWVzOwogCi0gICAgdm9pZCB1bnJlZ2lzdGVyKCk7CisgICAgdW5kZWZpbmVkIHVucmVn
aXN0ZXIoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVy
bGF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3Zl
cmxheS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BhZ2VPdmVybGF5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNSBAQAogICAgIE5v
SW50ZXJmYWNlT2JqZWN0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJm
YWNlIE1vY2tQYWdlT3ZlcmxheSB7Ci0gICAgdm9pZCBzZXRGcmFtZShkb3VibGUgeCwgZG91Ymxl
IHksIGRvdWJsZSB3aWR0aCwgZG91YmxlIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHNldEZyYW1l
KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHdpZHRoLCBkb3VibGUgaGVpZ2h0KTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRv
ci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDE1ICsyNywxNSBAQAog
ICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50
ZXJmYWNlIE1vY2tQYXltZW50Q29vcmRpbmF0b3IgewotICAgIHZvaWQgc2V0Q2FuTWFrZVBheW1l
bnRzKGJvb2xlYW4gY2FuTWFrZVBheW1lbnRzKTsKLSAgICB2b2lkIHNldENhbk1ha2VQYXltZW50
c1dpdGhBY3RpdmVDYXJkKGJvb2xlYW4gY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQpOwot
ICAgIHZvaWQgc2V0U2hpcHBpbmdBZGRyZXNzKE1vY2tQYXltZW50QWRkcmVzcyBzaGlwcGluZ0Fk
ZHJlc3MpOwotICAgIHZvaWQgY2hhbmdlU2hpcHBpbmdPcHRpb24oRE9NU3RyaW5nIHNoaXBwaW5n
T3B0aW9uKTsKLSAgICB2b2lkIGNoYW5nZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0
aG9kIHBheW1lbnRNZXRob2QpOwotICAgIHZvaWQgYWNjZXB0UGF5bWVudCgpOwotICAgIHZvaWQg
Y2FuY2VsUGF5bWVudCgpOworICAgIHVuZGVmaW5lZCBzZXRDYW5NYWtlUGF5bWVudHMoYm9vbGVh
biBjYW5NYWtlUGF5bWVudHMpOworICAgIHVuZGVmaW5lZCBzZXRDYW5NYWtlUGF5bWVudHNXaXRo
QWN0aXZlQ2FyZChib29sZWFuIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKTsKKyAgICB1
bmRlZmluZWQgc2V0U2hpcHBpbmdBZGRyZXNzKE1vY2tQYXltZW50QWRkcmVzcyBzaGlwcGluZ0Fk
ZHJlc3MpOworICAgIHVuZGVmaW5lZCBjaGFuZ2VTaGlwcGluZ09wdGlvbihET01TdHJpbmcgc2hp
cHBpbmdPcHRpb24pOworICAgIHVuZGVmaW5lZCBjaGFuZ2VQYXltZW50TWV0aG9kKEFwcGxlUGF5
UGF5bWVudE1ldGhvZCBwYXltZW50TWV0aG9kKTsKKyAgICB1bmRlZmluZWQgYWNjZXB0UGF5bWVu
dCgpOworICAgIHVuZGVmaW5lZCBjYW5jZWxQYXltZW50KCk7CiAKLSAgICB2b2lkIGFkZFNldHVw
RmVhdHVyZShBcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlIHN0YXRlLCBBcHBsZVBheVNldHVwRmVh
dHVyZVR5cGUgdHlwZSwgYm9vbGVhbiBzdXBwb3J0c0luc3RhbGxtZW50cyk7CisgICAgdW5kZWZp
bmVkIGFkZFNldHVwRmVhdHVyZShBcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlIHN0YXRlLCBBcHBs
ZVBheVNldHVwRmVhdHVyZVR5cGUgdHlwZSwgYm9vbGVhbiBzdXBwb3J0c0luc3RhbGxtZW50cyk7
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXBwbGVQYXlMaW5lSXRlbSB0b3RhbDsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbGluZUl0ZW1zOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0g
aW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMgewotICAgIHZvaWQgc2V0T25saW5lKGJv
b2xlYW4gaXNPbmxpbmUpOworICAgIHVuZGVmaW5lZCBzZXRPbmxpbmUoYm9vbGVhbiBpc09ubGlu
ZSk7CiAgICAgUHJvbWlzZTxSZXNwb25zZT4gd2FpdEZvckZldGNoRXZlbnRUb0ZpbmlzaChGZXRj
aEV2ZW50IGV2ZW50KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gRmV0
Y2hFdmVudCBjcmVhdGVCZWluZ0Rpc3BhdGNoZWRGZXRjaEV2ZW50KCk7CiAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIEZldGNoUmVzcG9uc2UgY3JlYXRlT3BhcXVlV2l0aEJs
b2JCb2R5UmVzcG9uc2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvVHlwZUNvbnZl
cnNpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252
ZXJzaW9ucy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
VHlwZUNvbnZlcnNpb25zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTMgKzY2LDEzIEBACiAg
ICAgYXR0cmlidXRlIFVTVlN0cmluZyB0ZXN0VVNWU3RyaW5nOwogICAgIGF0dHJpYnV0ZSBbVHJl
YXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0ZXN0VHJlYXROdWxsQXNFbXB0eVN0cmlu
ZzsKIAotICAgIHZvaWQgc2V0VGVzdExvbmdSZWNvcmQocmVjb3JkPERPTVN0cmluZywgbG9uZz4g
cmVjb3JkKTsKKyAgICB1bmRlZmluZWQgc2V0VGVzdExvbmdSZWNvcmQocmVjb3JkPERPTVN0cmlu
ZywgbG9uZz4gcmVjb3JkKTsKICAgICByZWNvcmQ8RE9NU3RyaW5nLCBsb25nPiB0ZXN0TG9uZ1Jl
Y29yZCgpOwogCi0gICAgdm9pZCBzZXRUZXN0Tm9kZVJlY29yZChyZWNvcmQ8VVNWU3RyaW5nLCBO
b2RlPiByZWNvcmQpOworICAgIHVuZGVmaW5lZCBzZXRUZXN0Tm9kZVJlY29yZChyZWNvcmQ8VVNW
U3RyaW5nLCBOb2RlPiByZWNvcmQpOwogICAgIHJlY29yZDxVU1ZTdHJpbmcsIE5vZGU+IHRlc3RO
b2RlUmVjb3JkKCk7CiAKLSAgICB2b2lkIHNldFRlc3RTZXF1ZW5jZVJlY29yZChyZWNvcmQ8Qnl0
ZVN0cmluZywgc2VxdWVuY2U8RE9NU3RyaW5nPj4gcmVjb3JkKTsKKyAgICB1bmRlZmluZWQgc2V0
VGVzdFNlcXVlbmNlUmVjb3JkKHJlY29yZDxCeXRlU3RyaW5nLCBzZXF1ZW5jZTxET01TdHJpbmc+
PiByZWNvcmQpOwogICAgIHJlY29yZDxCeXRlU3RyaW5nLCBzZXF1ZW5jZTxET01TdHJpbmc+PiB0
ZXN0U2VxdWVuY2VSZWNvcmQoKTsKIAogICAgIGF0dHJpYnV0ZSAoRE9NU3RyaW5nIG9yIGxvbmcg
b3IgYm9vbGVhbiBvciBOb2RlIG9yIHNlcXVlbmNlPGxvbmc+KSB0ZXN0VW5pb247CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDMyICszMiwzMiBAQAogXSBpbnRlcmZhY2UgV2ViRmFrZVhSRGV2aWNl
IHsKICAgLy8gU2V0cyB0aGUgdmFsdWVzIHRvIGJlIHVzZWQgZm9yIHN1YnNlcXVlbnQKICAgLy8g
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgY2FsbGJhY2tzLgotICB2b2lkIHNldFZpZXdzKHNlcXVl
bmNlPEZha2VYUlZpZXdJbml0PiB2aWV3cyk7CisgIHVuZGVmaW5lZCBzZXRWaWV3cyhzZXF1ZW5j
ZTxGYWtlWFJWaWV3SW5pdD4gdmlld3MpOwogCiAgIC8vIGJlaGF2ZXMgYXMgaWYgZGV2aWNlIHdh
cyBkaXNjb25uZWN0ZWQKLSAgUHJvbWlzZTx2b2lkPiBkaXNjb25uZWN0KCk7CisgIFByb21pc2U8
dW5kZWZpbmVkPiBkaXNjb25uZWN0KCk7CiAKICAgLy8gU2V0cyB0aGUgb3JpZ2luIG9mIHRoZSB2
aWV3ZXIKLSAgdm9pZCBzZXRWaWV3ZXJPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0IG9y
aWdpbiwgb3B0aW9uYWwgYm9vbGVhbiBlbXVsYXRlZFBvc2l0aW9uID0gZmFsc2UpOworICB1bmRl
ZmluZWQgc2V0Vmlld2VyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBvcmlnaW4sIG9w
dGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKTsKIAogICAvLyBJZiBhbiBv
cmlnaW4gaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgZGV2aWNlIGlzIGFzc3VtZWQgdG8gbm90
IGJlIHRyYWNraW5nLCBlbXVsYXRlZFBvc2l0aW9uIHNob3VsZAogICAvLyBiZSBhc3N1bWVkIGZv
ciBjYXNlcyB3aGVyZSB0aGUgVUEgbXVzdCBhbHdheXMgcHJvdmlkZSBhIHBvc2UuCi0gIHZvaWQg
Y2xlYXJWaWV3ZXJPcmlnaW4oKTsKKyAgdW5kZWZpbmVkIGNsZWFyVmlld2VyT3JpZ2luKCk7CiAK
ICAgLy8gU2ltdWxhdGVzIGRldmljZXMgZm9jdXNpbmcgYW5kIGJsdXJyaW5nIHNlc3Npb25zLgot
ICB2b2lkIHNpbXVsYXRlVmlzaWJpbGl0eUNoYW5nZShYUlZpc2liaWxpdHlTdGF0ZSB2aXNpYmls
aXR5U3RhdGUpOworICB1bmRlZmluZWQgc2ltdWxhdGVWaXNpYmlsaXR5Q2hhbmdlKFhSVmlzaWJp
bGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSk7CiAKLSAgdm9pZCBzZXRCb3VuZHNHZW9tZXRyeShz
ZXF1ZW5jZTxGYWtlWFJCb3VuZHNQb2ludD4gYm91bmRzQ29vcmRpbmF0ZXMpOworICB1bmRlZmlu
ZWQgc2V0Qm91bmRzR2VvbWV0cnkoc2VxdWVuY2U8RmFrZVhSQm91bmRzUG9pbnQ+IGJvdW5kc0Nv
b3JkaW5hdGVzKTsKICAgLy8gU2V0cyB0aGUgbmF0aXZlIG9yaWdpbiBvZiB0aGUgcGh5c2ljYWwg
Zmxvb3IKLSAgdm9pZCBzZXRGbG9vck9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgZmxv
b3JPcmlnaW4pOworICB1bmRlZmluZWQgc2V0Rmxvb3JPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zv
cm1Jbml0IGZsb29yT3JpZ2luKTsKIAogICAvLyBJbmRpY2F0ZXMgdGhhdCB0aGUgZGV2aWNlIGNh
biBubyBsb25nZXIgaWRlbnRpZnkgdGhlIGxvY2F0aW9uIG9mIHRoZSBwaHlzaWNhbCBmbG9vci4K
LSAgdm9pZCBjbGVhckZsb29yT3JpZ2luKCk7CisgIHVuZGVmaW5lZCBjbGVhckZsb29yT3JpZ2lu
KCk7CiAKICAgLy8gVXNlZCB0byBzaW11bGF0ZSBhIG1ham9yIGNoYW5nZSBpbiB0cmFja2luZyBh
bmQgdGhhdCBhIHJlc2V0IHBvc2UgZXZlbnQgc2hvdWxkIGJlIGZpcmVkCiAgIC8vIGh0dHBzOi8v
aW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvI2V2ZW50LXR5cGVzCi0gIHZvaWQgc2ltdWxh
dGVSZXNldFBvc2UoKTsKKyAgdW5kZWZpbmVkIHNpbXVsYXRlUmVzZXRQb3NlKCk7CiAKICAgLy8g
VXNlZCB0byBjb25uZWN0IGFuZCBzZW5kIGlucHV0IGV2ZW50cwogICBXZWJGYWtlWFJJbnB1dENv
bnRyb2xsZXIgc2ltdWxhdGVJbnB1dFNvdXJjZUNvbm5lY3Rpb24oRmFrZVhSSW5wdXRTb3VyY2VJ
bml0IGlucHV0U291cmNlKTsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJv
bGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2Vi
RmFrZVhSSW5wdXRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNDcgKzMxLDQ3
IEBACiAgICAgTm9JbnRlcmZhY2VPYmplY3QKIF0gaW50ZXJmYWNlIFdlYkZha2VYUklucHV0Q29u
dHJvbGxlciB7CiAgICAgLy8gSW5kaWNhdGVzIHRoYXQgdGhlIGhhbmRlZG5lc3Mgb2YgdGhlIGRl
dmljZSBoYXMgY2hhbmdlZC4KLSAgICB2b2lkIHNldEhhbmRlZG5lc3MoWFJIYW5kZWRuZXNzIGhh
bmRlZG5lc3MpOworICAgIHVuZGVmaW5lZCBzZXRIYW5kZWRuZXNzKFhSSGFuZGVkbmVzcyBoYW5k
ZWRuZXNzKTsKIAogICAgIC8vIEluZGljYXRlcyB0aGF0IHRoZSB0YXJnZXQgcmF5IG1vZGUgb2Yg
dGhlIGRldmljZSBoYXMgY2hhbmdlZC4KLSAgICB2b2lkIHNldFRhcmdldFJheU1vZGUoWFJUYXJn
ZXRSYXlNb2RlIHRhcmdldFJheU1vZGUpOworICAgIHVuZGVmaW5lZCBzZXRUYXJnZXRSYXlNb2Rl
KFhSVGFyZ2V0UmF5TW9kZSB0YXJnZXRSYXlNb2RlKTsKIAogICAgIC8vIEluZGljYXRlcyB0aGF0
IHRoZSBsaXN0IG9mIHByb2ZpbGVzIHJlcHJlc2VudGluZyB0aGUgZGV2aWNlIGhhcyBjaGFuZ2Vk
LgotICAgIHZvaWQgc2V0UHJvZmlsZXMoc2VxdWVuY2U8RE9NU3RyaW5nPiBwcm9maWxlcyk7Cisg
ICAgdW5kZWZpbmVkIHNldFByb2ZpbGVzKHNlcXVlbmNlPERPTVN0cmluZz4gcHJvZmlsZXMpOwog
CiAgICAgLy8gU2V0cyBvciBjbGVhcnMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250cm9sbGVyLiAg
SWYgbm90IHNldCwgdGhlIGNvbnRyb2xsZXIgaXMgYXNzdW1lZCB0bwogICAgIC8vIG5vdCBiZSB0
cmFja2VkLgotICAgIHZvaWQgc2V0R3JpcE9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQg
Z3JpcE9yaWdpbiwgb3B0aW9uYWwgYm9vbGVhbiBlbXVsYXRlZFBvc2l0aW9uID0gZmFsc2UpOwot
ICAgIHZvaWQgY2xlYXJHcmlwT3JpZ2luKCk7CisgICAgdW5kZWZpbmVkIHNldEdyaXBPcmlnaW4o
RmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0IGdyaXBPcmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11
bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKTsKKyAgICB1bmRlZmluZWQgY2xlYXJHcmlwT3JpZ2luKCk7
CiAKICAgICAvLyBTZXRzIHRoZSBwb2ludGVyIG9yaWdpbiBmb3IgdGhlIGNvbnRyb2xsZXIuCi0g
ICAgdm9pZCBzZXRQb2ludGVyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBwb2ludGVy
T3JpZ2luLCBvcHRpb25hbCBib29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CisgICAg
dW5kZWZpbmVkIHNldFBvaW50ZXJPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0IHBvaW50
ZXJPcmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKTsKIAog
ICAgIC8vIFRlbXBvcmFyaWx5IGRpc2Nvbm5lY3QgdGhlIGlucHV0IGRldmljZQotICAgIHZvaWQg
ZGlzY29ubmVjdCgpOworICAgIHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CiAKICAgICAvLyBSZWNv
bm5lY3QgYSBkaXNjb25uZWN0ZWQgaW5wdXQgZGV2aWNlCi0gICAgdm9pZCByZWNvbm5lY3QoKTsK
KyAgICB1bmRlZmluZWQgcmVjb25uZWN0KCk7CiAKICAgICAvLyBTdGFydCBhIHNlbGVjdGlvbiBm
b3IgdGhlIGN1cnJlbnQgZnJhbWUgd2l0aCB0aGUgcHJpbWFyeSBpbnB1dAogICAgIC8vIElmIGEg
Z2FtZXBhZCBpcyBzdXBwb3J0ZWQsIHNob3VsZCB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBwcmlt
YXJ5IGJ1dHRvbiBhY2NvcmRpbmdseS4KLSAgICB2b2lkIHN0YXJ0U2VsZWN0aW9uKCk7CisgICAg
dW5kZWZpbmVkIHN0YXJ0U2VsZWN0aW9uKCk7CiAKICAgICAvLyBFbmQgc2VsZWN0aW9uIGZvciB0
aGUgY3VycmVudCBmcmFtZSB3aXRoIHRoZSBwcmltYXJ5IGlucHV0CiAgICAgLy8gSWYgYSBnYW1l
cGFkIGlzIHN1cHBvcnRlZCwgc2hvdWxkIHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIHByaW1hcnkg
YnV0dG9uIGFjY29yZGluZ2x5LgotICAgIHZvaWQgZW5kU2VsZWN0aW9uKCk7CisgICAgdW5kZWZp
bmVkIGVuZFNlbGVjdGlvbigpOwogCiAgICAgLy8gU2ltdWxhdGVzIGEgc3RhcnQvZW5kU2VsZWN0
aW9uIGZvciB0aGUgY3VycmVudCBmcmFtZSB3aXRoIHRoZSBwcmltYXJ5IGlucHV0CiAgICAgLy8g
SWYgYSBnYW1lcGFkIGlzIHN1cHBvcnRlZCwgc2hvdWxkIHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhl
IHByaW1hcnkgYnV0dG9uIGFjY29yZGluZ2x5LgotICAgIHZvaWQgc2ltdWxhdGVTZWxlY3QoKTsK
KyAgICB1bmRlZmluZWQgc2ltdWxhdGVTZWxlY3QoKTsKIAogICAgIC8vIFVwZGF0ZXMgdGhlIHNl
dCBvZiBzdXBwb3J0ZWQgYnV0dG9ucywgaW5jbHVkaW5nIGFueSBpbml0aWFsIHN0YXRlLgogICAg
IC8vIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBzaG91bGQgbm90IGJlIGdlbmVyYWxseSB1c2VkIHRv
IHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlCiAgICAgLy8gYnV0dG9ucywgYXMgdGhlIFVBIG1heSB0
cmVhdCB0aGlzIGFzIHJlLWNyZWF0aW5nIHRoZSBHYW1lcGFkLgogICAgIC8vIE5vdGUgdGhhdCBp
ZiBhbnkgRmFrZVhSQnV0dG9uVHlwZSBpcyByZXBlYXRlZCB0aGUgYmVoYXZpb3IgaXMgdW5kZWZp
bmVkLgotICAgIHZvaWQgc2V0U3VwcG9ydGVkQnV0dG9ucyhzZXF1ZW5jZTxGYWtlWFJCdXR0b25T
dGF0ZUluaXQ+IHN1cHBvcnRlZEJ1dHRvbnMpOworICAgIHVuZGVmaW5lZCBzZXRTdXBwb3J0ZWRC
dXR0b25zKHNlcXVlbmNlPEZha2VYUkJ1dHRvblN0YXRlSW5pdD4gc3VwcG9ydGVkQnV0dG9ucyk7
CiAKICAgICAvLyBVc2VkIHRvIHVwZGF0ZSB0aGUgc3RhdGUgb2YgYSBidXR0b24gY3VycmVudGx5
IHN1cHBvcnRlZCBieSB0aGUgaW5wdXQgc291cmNlCiAgICAgLy8gV2lsbCBub3QgYWRkIHN1cHBv
cnQgZm9yIHRoYXQgYnV0dG9uIGlmIGl0IGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgotICAg
IHZvaWQgdXBkYXRlQnV0dG9uU3RhdGUoRmFrZVhSQnV0dG9uU3RhdGVJbml0IGJ1dHRvblN0YXRl
KTsKKyAgICB1bmRlZmluZWQgdXBkYXRlQnV0dG9uU3RhdGUoRmFrZVhSQnV0dG9uU3RhdGVJbml0
IGJ1dHRvblN0YXRlKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYlhSVGVz
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJYUlRlc3QuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYlhSVGVzdC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEwICszNywxMCBAQAogICAgIC8vIFNpbXVsYXRlcyBh
IHVzZXIgYWN0aXZhdGlvbiAoYWthIHVzZXIgZ2VzdHVyZSkgZm9yIHRoZSBjdXJyZW50IHNjb3Bl
LgogICAgIC8vIFRoZSBhY3RpdmF0aW9uIGlzIG9ubHkgZ3VhcmFudGVlZCB0byBiZSB2YWxpZCBp
biB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gYW5kIG9ubHkgYXBwbGllcyB0byBXZWJYUgogICAgIC8v
IERldmljZSBBUEkgbWV0aG9kcy4KLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHZvaWQgc2ltdWxh
dGVVc2VyQWN0aXZhdGlvbihYUlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5jdGlvbiBmKTsKKyAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHVuZGVmaW5lZCBzaW11bGF0ZVVzZXJBY3RpdmF0aW9uKFhS
U2ltdWxhdGVVc2VyQWN0aXZhdGlvbkZ1bmN0aW9uIGYpOwogCiAgICAgLy8gRGlzY29ubmVjdCBh
bGwgZmFrZSBkZXZpY2VzCi0gICAgUHJvbWlzZTx2b2lkPiBkaXNjb25uZWN0QWxsRGV2aWNlcygp
OworICAgIFByb21pc2U8dW5kZWZpbmVkPiBkaXNjb25uZWN0QWxsRGV2aWNlcygpOwogfTsKIAog
WwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9YUlNpbXVsYXRlVXNlckFjdGl2YXRpb25G
dW5jdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9YUlNpbXVs
YXRlVXNlckFjdGl2YXRpb25GdW5jdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24uaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw0ICsyNSw0IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCWFIs
CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJYUgotXSBjYWxsYmFjayBYUlNpbXVsYXRlVXNlckFj
dGl2YXRpb25GdW5jdGlvbiA9IHZvaWQgKCk7CitdIGNhbGxiYWNrIFhSU2ltdWxhdGVVc2VyQWN0
aXZhdGlvbkZ1bmN0aW9uID0gdW5kZWZpbmVkICgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMyArMzksMTMgQEAKIF0gaW50ZXJmYWNl
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2NvcGUgewogICAgIFtS
ZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogCi0gICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2Uo
YW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1H
bG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNz
YWdlLCBvcHRpb25hbCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRo
PUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShh
bnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7CisgICAgW0NhbGxXaXRoPUds
b2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkg
bWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgW0Nv
bmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2Fu
dmFzXSBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxs
YmFjayBjYWxsYmFjayk7IC8vIEZJWE1FOiBTaG91bGQgcmV0dXJuIGFuIHVuc2lnbmVkIGxvbmcu
Ci0gICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zm
c2NyZWVuQ2FudmFzXSB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8g
RklYTUU6IGhhbmRsZSBzaG91bGQgYmUgYW4gdW5zaWduZWQgbG9uZy4KKyAgICBbQ29uZGl0aW9u
YWw9T0ZGU0NSRUVOX0NBTlZBUywgRW5hYmxlZEF0UnVudGltZT1PZmZzY3JlZW5DYW52YXNdIHVu
ZGVmaW5lZCBjYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGhhbmRsZSk7IC8vIEZJWE1FOiBoYW5k
bGUgc2hvdWxkIGJlIGFuIHVuc2lnbmVkIGxvbmcuCiAKLSAgICB2b2lkIGNsb3NlKCk7CisgICAg
dW5kZWZpbmVkIGNsb3NlKCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2Fn
ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDEwICsyOSwxMCBAQAogXSBpbnRlcmZhY2UgV29ya2VyIDogRXZlbnRUYXJnZXQgewogICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JlJ1bnRpbWVGbGFncywgTWF5VGhyb3dF
eGNlcHRpb25dIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3JpcHRVcmwsIG9wdGlvbmFsIFdvcmtl
ck9wdGlvbnMgb3B0aW9ucyk7CiAKLSAgICB2b2lkIHRlcm1pbmF0ZSgpOworICAgIHVuZGVmaW5l
ZCB0ZXJtaW5hdGUoKTsKIAotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRy
YW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25z
IG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJh
bnNmZXIpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0
aW9ucyBvcHRpb25zKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKIH07
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQAogCiAgICAgLy8gV29y
a2VyVXRpbHMKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBpbXBvcnRTY3JpcHRzKFVT
VlN0cmluZy4uLiB1cmxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbXBv
cnRTY3JpcHRzKFVTVlN0cmluZy4uLiB1cmxzKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgV29y
a2VyTmF2aWdhdG9yIG5hdmlnYXRvcjsKIAogICAgIC8vIEFkZGl0aW9uYWwgY29uc3RydWN0b3Jz
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJs
ZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDUgKzMyLDUg
QEAKIF0gaW50ZXJmYWNlIEV4dGVuZGFibGVFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3Rv
cihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgRXh0ZW5kYWJsZUV2ZW50SW5pdCBldmVudEluaXRE
aWN0KTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB3YWl0VW50aWwoUHJvbWlzZTxh
bnk+IGYpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdhaXRVbnRpbChQcm9t
aXNlPGFueT4gZik7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0Zl
dGNoRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9GZXRjaEV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL0ZldGNoRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3
IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZXNlcnZlZENsaWVudElkOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0Q2xpZW50SWQ7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVzcG9uZFdpdGgoUHJvbWlzZTxGZXRjaFJlc3BvbnNl
PiByKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZXNwb25kV2l0aChQcm9t
aXNlPEZldGNoUmVzcG9uc2U+IHIpOwogfTsKIAogZGljdGlvbmFyeSBGZXRjaEV2ZW50SW5pdCA6
IEV4dGVuZGFibGVFdmVudEluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw4ICszNiw4IEBACiBdIGludGVyZmFjZSBTZXJ2aWNlV29ya2VyIDogRXZlbnRUYXJn
ZXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgc2NyaXB0VVJMOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGU7Ci0gICAgW0NhbGxXaXRo
PUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1l
c3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBv
cHRpb25hbCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVz
c2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2Fn
ZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgLy8gZXZlbnQK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3RhdGVjaGFuZ2U7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlckNsaWVudFR5cGUgdHlwZTsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwogCi0gICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2Us
IHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3Qs
IE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25h
bCBQb3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwg
c2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwg
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0
aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwogfTsKIAogZW51bSBGcmFtZVR5cGUg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnRzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudHMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudHMuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zNSw3ICszNSw3IEBACiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dF0gUHJvbWlzZTxhbnk+IGdldChET01TdHJpbmcgaWQpOwogICAgIFtOZXdPYmpl
Y3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8c2VxdWVuY2U8Q2xp
ZW50Pj4gbWF0Y2hBbGwob3B0aW9uYWwgQ2xpZW50UXVlcnlPcHRpb25zIG9wdGlvbnMpOwogICAg
IFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8V2lu
ZG93Q2xpZW50Pz4gb3BlbldpbmRvdyhVU1ZTdHJpbmcgdXJsKTsKLSAgICBbTmV3T2JqZWN0LCBD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7Cisg
ICAgW05ld09iamVjdCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTx1
bmRlZmluZWQ+IGNsYWltKCk7CiB9OwogCiBkaWN0aW9uYXJ5IENsaWVudFF1ZXJ5T3B0aW9ucyB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQxLDcgKzQxLDcgQEAKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gZ2V0
UmVnaXN0cmF0aW9uKG9wdGlvbmFsIFVTVlN0cmluZyBjbGllbnRVUkwgPSAiIik7CiAgICAgW05l
d09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4gZ2V0
UmVnaXN0cmF0aW9ucygpOwogCi0gICAgdm9pZCBzdGFydE1lc3NhZ2VzKCk7CisgICAgdW5kZWZp
bmVkIHN0YXJ0TWVzc2FnZXMoKTsKIAogICAgIC8vIGV2ZW50cwogICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jb250cm9sbGVyY2hhbmdlOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBA
CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyQ2xpZW50
cyBjbGllbnRzOwogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiByZWdpc3RyYXRpb247CiAKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PHZvaWQ+IHNraXBXYWl0aW5nKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+
IHNraXBXYWl0aW5nKCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uaW5zdGFsbDsK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWN0aXZhdGU7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQxLDcgKzQxLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjb3BlOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRl
VmlhQ2FjaGU7CiAKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHVwZGF0ZSgpOworICAg
IFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVkPiB1cGRhdGUoKTsKICAgICBbTmV3T2JqZWN0
XSBQcm9taXNlPGJvb2xlYW4+IHVucmVnaXN0ZXIoKTsKIAogICAgIC8vIGV2ZW50CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdv
cmtsZXRHbG9iYWxTY29wZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDYgQEAKICAg
ICBJc0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdE9uUHJvdG90eXBlLAogICAgIEdsb2Jh
bD0oV29ya2xldCxQYWludFdvcmtsZXQpLAogXSBpbnRlcmZhY2UgUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUgOiBXb3JrbGV0R2xvYmFsU2NvcGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbixDYWxs
V2l0aD1HbG9iYWxPYmplY3RdIHZvaWQgcmVnaXN0ZXJQYWludChET01TdHJpbmcgbmFtZSwgb2Jq
ZWN0IHBhaW50Q29uc3RydWN0b3IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbixDYWxsV2l0aD1H
bG9iYWxPYmplY3RdIHVuZGVmaW5lZCByZWdpc3RlclBhaW50KERPTVN0cmluZyBuYW1lLCBvYmpl
Y3QgcGFpbnRDb25zdHJ1Y3Rvcik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBkb3VibGUgZGV2aWNlUGl4ZWxSYXRpbzsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9X
b3JrbGV0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDUgKzI5LDUgQEAKICAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEdsb2JhbD1Xb3JrbGV0LAogXSBpbnRlcmZhY2UgV29y
a2xldCB7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBh
ZGRNb2R1bGUoVVNWU3RyaW5nIG1vZHVsZVVSTC8qLCBvcHRpb25hbCBXb3JrbGV0T3B0aW9ucyBv
cHRpb25zKi8pOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBhZGRNb2R1bGUoVVNWU3RyaW5nIG1vZHVsZVVSTC8qLCBvcHRpb25hbCBXb3JrbGV0
T3B0aW9ucyBvcHRpb25zKi8pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTQgKzYxLDE0IEBAIGVudW0gWE1MSHR0
cFJlcXVlc3RSZXNwb25zZVR5cGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCByZWFkeVN0YXRlOwogCiAgICAgLy8gcmVxdWVzdAotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBvcGVuKEJ5dGVTdHJpbmcgbWV0aG9kLCBVU1ZTdHJpbmcgdXJsKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgb3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVy
bCwgYm9vbGVhbiBhc3luYywgb3B0aW9uYWwgVVNWU3RyaW5nPyB1c2VyID0gbnVsbCwgb3B0aW9u
YWwgVVNWU3RyaW5nPyBwYXNzd29yZCA9IG51bGwpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRSZXF1ZXN0SGVhZGVyKEJ5dGVTdHJpbmcgaGVhZGVyLCBCeXRlU3RyaW5nIHZhbHVl
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBvcGVuKEJ5dGVTdHJpbmcgbWV0
aG9kLCBVU1ZTdHJpbmcgdXJsKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBv
cGVuKEJ5dGVTdHJpbmcgbWV0aG9kLCBVU1ZTdHJpbmcgdXJsLCBib29sZWFuIGFzeW5jLCBvcHRp
b25hbCBVU1ZTdHJpbmc/IHVzZXIgPSBudWxsLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHBhc3N3b3Jk
ID0gbnVsbCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UmVxdWVzdEhl
YWRlcihCeXRlU3RyaW5nIGhlYWRlciwgQnl0ZVN0cmluZyB2YWx1ZSk7CiAgICAgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgdGltZW91dDsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiB3aXRoQ3JlZGVu
dGlhbHM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIHVwbG9h
ZDsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChvcHRpb25hbCAoRG9jdW1lbnQg
b3IgQm9keUluaXQpPyBib2R5ID0gbnVsbCk7Ci0gICAgdm9pZCBhYm9ydCgpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbmQob3B0aW9uYWwgKERvY3VtZW50IG9yIEJvZHlJ
bml0KT8gYm9keSA9IG51bGwpOworICAgIHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgLy8gcmVz
cG9uc2UKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlc3BvbnNlVVJMOwpAQCAt
NzYsNyArNzYsNyBAQCBlbnVtIFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIHsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgQnl0ZVN0cmluZyBzdGF0dXNUZXh0OwogICAgIEJ5dGVTdHJpbmc/IGdl
dFJlc3BvbnNlSGVhZGVyKEJ5dGVTdHJpbmcgbmFtZSk7CiAgICAgQnl0ZVN0cmluZyBnZXRBbGxS
ZXNwb25zZUhlYWRlcnMoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb3ZlcnJpZGVN
aW1lVHlwZShET01TdHJpbmcgbWltZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgb3ZlcnJpZGVNaW1lVHlwZShET01TdHJpbmcgbWltZSk7CiAgICAgYXR0cmlidXRlIFhNTEh0
dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIHJlc3BvbnNlVHlwZTsKICAgICBbQ2FjaGVkQXR0cmlidXRl
LCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgcmVzcG9uc2U7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyByZXNwb25zZVRleHQ7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
eG1sL1hTTFRQcm9jZXNzb3IuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE0ICszNiwxNCBA
QAogXSBpbnRlcmZhY2UgWFNMVFByb2Nlc3NvciB7CiAgICAgY29uc3RydWN0b3IoKTsKIAotICAg
IHZvaWQgaW1wb3J0U3R5bGVzaGVldChvcHRpb25hbCBOb2RlPyBzdHlsZXNoZWV0ID0gbnVsbCk7
CisgICAgdW5kZWZpbmVkIGltcG9ydFN0eWxlc2hlZXQob3B0aW9uYWwgTm9kZT8gc3R5bGVzaGVl
dCA9IG51bGwpOwogICAgIERvY3VtZW50RnJhZ21lbnQgdHJhbnNmb3JtVG9GcmFnbWVudChvcHRp
b25hbCBOb2RlPyBzb3VyY2UgPSBudWxsLCBvcHRpb25hbCBEb2N1bWVudD8gZG9jVmFsID0gbnVs
bCk7CiAgICAgRG9jdW1lbnQgdHJhbnNmb3JtVG9Eb2N1bWVudChvcHRpb25hbCBOb2RlPyBzb3Vy
Y2UgPSBudWxsKTsKIAotICAgIHZvaWQgc2V0UGFyYW1ldGVyKERPTVN0cmluZz8gbmFtZXNwYWNl
VVJJLCBET01TdHJpbmc/IGxvY2FsTmFtZSwgRE9NU3RyaW5nPyB2YWx1ZSk7CisgICAgdW5kZWZp
bmVkIHNldFBhcmFtZXRlcihET01TdHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nPyBsb2Nh
bE5hbWUsIERPTVN0cmluZz8gdmFsdWUpOwogICAgIERPTVN0cmluZz8gZ2V0UGFyYW1ldGVyKERP
TVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmc/IGxvY2FsTmFtZSk7Ci0gICAgdm9pZCBy
ZW1vdmVQYXJhbWV0ZXIoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZz8gbG9jYWxO
YW1lKTsKLSAgICB2b2lkIGNsZWFyUGFyYW1ldGVycygpOworICAgIHVuZGVmaW5lZCByZW1vdmVQ
YXJhbWV0ZXIoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZz8gbG9jYWxOYW1lKTsK
KyAgICB1bmRlZmluZWQgY2xlYXJQYXJhbWV0ZXJzKCk7CiAKLSAgICB2b2lkIHJlc2V0KCk7Cisg
ICAgdW5kZWZpbmVkIHJlc2V0KCk7CiB9OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDgtMjcgIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJJRExdICd2b2lkJyB0eXBlIGlz
IGNoYW5naW5nIHRvICd1bmRlZmluZWQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTU1MTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY3NTY2MjAx
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBpZGxzIGFuZCBJREwgcGFyc2luZyAvIGNvZGUgZ2VuZXJhdGlvbiBmb3IgdGhlIHN3aXRjaCBm
cm9tICd2b2lkJyB0byAndW5kZWZpbmVkJy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbToKKyAgICAgICAgKF9nZW5lcmF0
ZUltcGxlbWVudGF0aW9uRmlsZSk6CisgICAgICAgIChfcmV0dXJuRXhwcmVzc2lvbik6CisgICAg
ICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRD
b250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
Q29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG06CisgICAgICAgIChfZ2VuZXJhdGVJbXBsZW1lbnRh
dGlvbkZpbGUpOgorICAgICAgICAoX3JldHVybkV4cHJlc3Npb24pOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxl
ci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9HQ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbDoKKwogMjAy
MC0wOC0yOCAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAg
W3dlYmtpdGNvcmVweV0gTW92ZSBUaW1lb3V0IHRvIHdlYmtpdGNvcmVweSAoUGFydCAzKQpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJU
cmVlLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0JpbmRpbmdzL0NvZGVH
ZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJUcmVlLnBtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDMsNyArMzAzLDcgQEAgRU9GCiAgICAgICAgICAgICAgICAgJGZ1bmN0
aW9uQ2FsbCA9ICJpbXBsLT4iIC4gJG9wZXJhdGlvbi0+bmFtZSAuICIoIiAuIGpvaW4oIiwgIiwg
QGFyZ3VtZW50cykgLiAiKSI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIHB1c2goQGNvbnRlbnRzLCAiICAgICR7ZnVuY3Rpb25DYWxsfTtcblxuIikgaWYgJG9wZXJh
dGlvbi0+dHlwZS0+bmFtZSBlcSAidm9pZCI7CisgICAgICAgICAgICBwdXNoKEBjb250ZW50cywg
IiAgICAke2Z1bmN0aW9uQ2FsbH07XG5cbiIpIGlmICRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEg
InVuZGVmaW5lZCI7CiAgICAgICAgICAgICBwdXNoKEBjb250ZW50cywgIiAgICByZXR1cm4gIiAu
ICRzZWxmLT5fcmV0dXJuRXhwcmVzc2lvbigkb3BlcmF0aW9uLT50eXBlLCAkZnVuY3Rpb25DYWxs
KSAuICI7XG59XG4iKTsKICAgICAgICAgfQogICAgIH0KQEAgLTQ3MSw3ICs0NzEsNyBAQCBzdWIg
X3JldHVybkV4cHJlc3Npb24KIHsKICAgICBteSAoJHNlbGYsICRyZXR1cm5UeXBlLCAkZXhwcmVz
c2lvbikgPSBAXzsKIAotICAgIHJldHVybiAiSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCki
IGlmICRyZXR1cm5UeXBlLT5uYW1lIGVxICJ2b2lkIjsKKyAgICByZXR1cm4gIkpTVmFsdWVNYWtl
VW5kZWZpbmVkKGNvbnRleHQpIiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIjsK
ICAgICByZXR1cm4gIkpTVmFsdWVNYWtlQm9vbGVhbk9yTnVsbChjb250ZXh0LCAke2V4cHJlc3Np
b259KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgImJvb2xlYW4iICYmICRyZXR1cm5UeXBlLT5p
c051bGxhYmxlOwogICAgIHJldHVybiAiSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsICR7ZXhw
cmVzc2lvbn0pIiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAiYm9vbGVhbiI7CiAgICAgcmV0dXJu
ICIke2V4cHJlc3Npb259IiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAib2JqZWN0IjsKSW5kZXg6
IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0
Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3Mv
VUlTY3JpcHRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNTEgKzQwLDUxIEBA
IGVudW0gTW9kaWZpZXJLZXkgewogCiBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAot
ICAgIHZvaWQgZG9Bc3luY1Rhc2sob2JqZWN0IGNhbGxiYWNrKTsgLy8gVXNlZCB0byB0ZXN0IHRo
ZSBoYXJuZXNzLgotICAgIHZvaWQgdWlTY3JpcHRDb21wbGV0ZShET01TdHJpbmcgcmVzdWx0KTsK
KyAgICB1bmRlZmluZWQgZG9Bc3luY1Rhc2sob2JqZWN0IGNhbGxiYWNrKTsgLy8gVXNlZCB0byB0
ZXN0IHRoZSBoYXJuZXNzLgorICAgIHVuZGVmaW5lZCB1aVNjcmlwdENvbXBsZXRlKERPTVN0cmlu
ZyByZXN1bHQpOwogCi0gICAgdm9pZCBkb0FmdGVyUHJlc2VudGF0aW9uVXBkYXRlKG9iamVjdCBj
YWxsYmFjayk7IC8vIENhbGwgdGhlIGNhbGxiYWNrIGFmdGVyIHNlbmRpbmcgYSBtZXNzYWdlIHRv
IHRoZSBXZWJQcm9jZXNzIGFuZCByZWNlaXZpbmcgYSBzdWJzZXF1ZW50IHVwZGF0ZS4KLSAgICB2
b2lkIGRvQWZ0ZXJOZXh0U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRlKG9iamVjdCBjYWxsYmFjayk7
Ci0gICAgdm9pZCBlbnN1cmVQb3NpdGlvbkluZm9ybWF0aW9uSXNVcFRvRGF0ZUF0KGxvbmcgeCwg
bG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgZG9BZnRlclZpc2libGVDb250ZW50
UmVjdFVwZGF0ZShvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkb0FmdGVyUHJlc2Vu
dGF0aW9uVXBkYXRlKG9iamVjdCBjYWxsYmFjayk7IC8vIENhbGwgdGhlIGNhbGxiYWNrIGFmdGVy
IHNlbmRpbmcgYSBtZXNzYWdlIHRvIHRoZSBXZWJQcm9jZXNzIGFuZCByZWNlaXZpbmcgYSBzdWJz
ZXF1ZW50IHVwZGF0ZS4KKyAgICB1bmRlZmluZWQgZG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRp
b25VcGRhdGUob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZW5zdXJlUG9zaXRpb25J
bmZvcm1hdGlvbklzVXBUb0RhdGVBdChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsK
KyAgICB1bmRlZmluZWQgZG9BZnRlclZpc2libGVDb250ZW50UmVjdFVwZGF0ZShvYmplY3QgY2Fs
bGJhY2spOwogCi0gICAgdm9pZCBkb0FmdGVyRG91YmxlVGFwRGVsYXkob2JqZWN0IGNhbGxiYWNr
KTsKKyAgICB1bmRlZmluZWQgZG9BZnRlckRvdWJsZVRhcERlbGF5KG9iamVjdCBjYWxsYmFjayk7
CiAKLSAgICB2b2lkIHNpbXVsYXRlQWNjZXNzaWJpbGl0eVNldHRpbmdzQ2hhbmdlTm90aWZpY2F0
aW9uKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlQWNjZXNzaWJpbGl0
eVNldHRpbmdzQ2hhbmdlTm90aWZpY2F0aW9uKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBJ
bnRlcmFjdGlvbi4KICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgcG9zdCBldmVudHMgYXN5bmNocm9u
b3VzbHkuIFRoZSBjYWxsYmFjayBpcyBmaXJlZCB3aGVuIHRoZSBldmVudHMgaGF2ZSBiZWVuIGRp
c3BhdGNoZWQsIGJ1dCBhbnkKICAgICAvLyByZXN1bHRpbmcgYmVoYXZpb3IgbWF5IGFsc28gYmUg
YXN5bmNocm9ub3VzLiBQb2ludHMgYXJlIGluICJnbG9iYWwiIChXS1dlYlZpZXcpIGNvb3JkaW5h
dGVzLgotICAgIHZvaWQgdG91Y2hEb3duQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3Vj
aENvdW50LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgbGlmdFVwQXRQb2ludChsb25nIHgs
IGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc2lu
Z2xlVGFwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lk
IHNpbmdsZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgbW9k
aWZpZXJBcnJheSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHR3b0ZpbmdlclNpbmdsZVRh
cEF0UG9pbnQobG9uZyB4LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBkb3Vi
bGVUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBkZWxheSwgb2JqZWN0IGNhbGxiYWNr
KTsKLSAgICB2b2lkIGRyYWdGcm9tUG9pbnRUb1BvaW50KGxvbmcgc3RhcnRYLCBsb25nIHN0YXJ0
WSwgbG9uZyBlbmRYLCBsb25nIGVuZFksIGRvdWJsZSBkdXJhdGlvblNlY29uZHMsIG9iamVjdCBj
YWxsYmFjayk7Ci0KLSAgICB2b2lkIGFjdGl2YXRlQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKLQotICAgIHZvaWQgbG9uZ1ByZXNzQXRQb2ludChsb25nIHgsIGxvbmcg
eSwgb2JqZWN0IGNhbGxiYWNrKTsKLQotICAgIHZvaWQgc3R5bHVzRG93bkF0UG9pbnQobG9uZyB4
LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQg
cHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNNb3ZlVG9Qb2ludChs
b25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBm
bG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0eWx1c1VwQXRQb2lu
dChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0eWx1c1RhcEF0
UG9pbnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVB
bmdsZSwgZmxvYXQgcHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNU
YXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xl
LCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IG1vZGlmaWVyQXJy
YXksIG9iamVjdCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIGVudGVyVGV4dChET01TdHJpbmcgdGV4
dCk7Ci0gICAgdm9pZCB0eXBlQ2hhcmFjdGVyVXNpbmdIYXJkd2FyZUtleWJvYXJkKERPTVN0cmlu
ZyBjaGFyYWN0ZXIsIG9iamVjdCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIGtleURvd24oRE9NU3Ry
aW5nIGNoYXJhY3Rlciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOwotICAgIHZvaWQgdG9nZ2xlQ2Fw
c0xvY2sob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNldENvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0U3BlbGxDaGVja2VyUmVz
dWx0cyhvYmplY3QgcmVzdWx0cyk7CisgICAgdW5kZWZpbmVkIHRvdWNoRG93bkF0UG9pbnQobG9u
ZyB4LCBsb25nIHksIGxvbmcgdG91Y2hDb3VudCwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgbGlmdFVwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBvYmpl
Y3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW5nbGVUYXBBdFBvaW50KGxvbmcgeCwgbG9u
ZyB5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW5nbGVUYXBBdFBvaW50V2l0
aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIG9iamVjdCBj
YWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHR3b0ZpbmdlclNpbmdsZVRhcEF0UG9pbnQobG9uZyB4
LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGRvdWJsZVRhcEF0UG9p
bnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGRlbGF5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVu
ZGVmaW5lZCBkcmFnRnJvbVBvaW50VG9Qb2ludChsb25nIHN0YXJ0WCwgbG9uZyBzdGFydFksIGxv
bmcgZW5kWCwgbG9uZyBlbmRZLCBkb3VibGUgZHVyYXRpb25TZWNvbmRzLCBvYmplY3QgY2FsbGJh
Y2spOworCisgICAgdW5kZWZpbmVkIGFjdGl2YXRlQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKKworICAgIHVuZGVmaW5lZCBsb25nUHJlc3NBdFBvaW50KGxvbmcgeCwg
bG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOworCisgICAgdW5kZWZpbmVkIHN0eWx1c0Rvd25BdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5n
bGUsIGZsb2F0IHByZXNzdXJlLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdHls
dXNNb3ZlVG9Qb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBh
bHRpdHVkZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgc3R5bHVzVXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCBzdHlsdXNUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemlt
dXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUsIGZsb2F0IHByZXNzdXJlLCBvYmplY3QgY2Fs
bGJhY2spOworICAgIHVuZGVmaW5lZCBzdHlsdXNUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25n
IHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBmbG9h
dCBwcmVzc3VyZSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIG9iamVjdCBjYWxsYmFjayk7CisKKyAg
ICB1bmRlZmluZWQgZW50ZXJUZXh0KERPTVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQgdHlw
ZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZChET01TdHJpbmcgY2hhcmFjdGVyLCBvYmpl
Y3QgY2FsbGJhY2spOworCisgICAgdW5kZWZpbmVkIGtleURvd24oRE9NU3RyaW5nIGNoYXJhY3Rl
ciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOworICAgIHVuZGVmaW5lZCB0b2dnbGVDYXBzTG9jayhv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0U3BlbGxDaGVja2Vy
UmVzdWx0cyhvYmplY3QgcmVzdWx0cyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQ7CiAKLSAgICB2b2lkIHJhd0tleURvd24o
RE9NU3RyaW5nIGtleSk7Ci0gICAgdm9pZCByYXdLZXlVcChET01TdHJpbmcga2V5KTsKKyAgICB1
bmRlZmluZWQgcmF3S2V5RG93bihET01TdHJpbmcga2V5KTsKKyAgICB1bmRlZmluZWQgcmF3S2V5
VXAoRE9NU3RyaW5nIGtleSk7CiAKICAgICAvLyBldmVudHNKU09OIGRlc2NyaWJlcyBhIHNlcmll
cyBvZiB1c2VyIGV2ZW50cyBpbiBKU09OIGZvcm0uIEZvciB0aGUga2V5cywgc2VlIEhJREV2ZW50
R2VuZXJhdG9yLm1tLgogICAgIC8vIEZvciBleGFtcGxlLCB0aGlzIEpTT04gZGVzY3JpYmVzIGEg
dG91Y2ggZG93biBmb2xsb3dlZCBieSBhIHRvdWNoIHVwIChpLmUuIGEgc2luZ2xlIHRhcCkuCkBA
IC0xODksMTcgKzE4OSwxNyBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKICAgICAv
LyAgICAgICAgICB9LAogICAgIC8vICAgICAgXQogICAgIC8vICB9Ci0gICAgdm9pZCBzZW5kRXZl
bnRTdHJlYW0oRE9NU3RyaW5nIGV2ZW50c0pTT04sIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkIHNlbmRFdmVudFN0cmVhbShET01TdHJpbmcgZXZlbnRzSlNPTiwgb2JqZWN0IGNhbGxi
YWNrKTsKIAotICAgIHZvaWQgYmVnaW5CYWNrU3dpcGUob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2
b2lkIGNvbXBsZXRlQmFja1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGJl
Z2luQmFja1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGNvbXBsZXRlQmFj
a1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CiAKLSAgICB2b2lkIHBsYXlCYWNrRXZlbnRTdHJlYW0o
RE9NU3RyaW5nIGV2ZW50U3RyZWFtLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBw
bGF5QmFja0V2ZW50U3RyZWFtKERPTVN0cmluZyBldmVudFN0cmVhbSwgb2JqZWN0IGNhbGxiYWNr
KTsKIAogICAgIC8vIEVxdWl2YWxlbnQgb2YgcHJlc3NpbmcgdGhlIERvbmUgYnV0dG9uIGluIHRo
ZSBmb3JtIGFjY2Vzc29yeSBiYXIuCi0gICAgdm9pZCBkaXNtaXNzRm9ybUFjY2Vzc29yeVZpZXco
KTsKKyAgICB1bmRlZmluZWQgZGlzbWlzc0Zvcm1BY2Nlc3NvcnlWaWV3KCk7CiAKLSAgICB2b2lk
IGRpc21pc3NGaWxlUGlja2VyKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGRpc21p
c3NGaWxlUGlja2VyKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRleHRDb250ZW50VHlwZTsKIApAQCAtMjE0LDEyICsyMTQsMTIgQEAgaW50ZXJm
YWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNTaG93aW5nQ29udGV4dE1lbnU7CiAKICAgICAvLyA8c2VsZWN0PiBwaWNrZXIKLSAgICB2b2lk
IHNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3cobG9uZyByb3dJbmRleCk7CisgICAgdW5kZWZp
bmVkIHNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3cobG9uZyByb3dJbmRleCk7CiAgICAgYm9v
bGVhbiBzZWxlY3RGb3JtQWNjZXNzb3J5SGFzQ2hlY2tlZEl0ZW1BdFJvdyhsb25nIHJvd0luZGV4
KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlbGVjdEZvcm1Qb3BvdmVyVGl0
bGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmb3JtSW5wdXRMYWJlbDsKIAot
ICAgIHZvaWQgc2V0VGltZVBpY2tlclZhbHVlKGxvbmcgaG91ciwgbG9uZyBtaW51dGUpOworICAg
IHVuZGVmaW5lZCBzZXRUaW1lUGlja2VyVmFsdWUobG9uZyBob3VyLCBsb25nIG1pbnV0ZSk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB0aW1lUGlja2VyVmFsdWVIb3VyOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZVBpY2tlclZhbHVlTWludXRlOwogCkBAIC0yMjcs
MTIgKzIyNywxMiBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAogICAgIC8vIDxk
YXRhbGlzdD4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nob3dpbmdEYXRhTGlz
dFN1Z2dlc3Rpb25zOwotICAgIHZvaWQgYWN0aXZhdGVEYXRhTGlzdFN1Z2dlc3Rpb24odW5zaWdu
ZWQgbG9uZyBpbmRleCwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgYWN0aXZhdGVE
YXRhTGlzdFN1Z2dlc3Rpb24odW5zaWduZWQgbG9uZyBpbmRleCwgb2JqZWN0IGNhbGxiYWNrKTsK
IAotICAgIHZvaWQga2V5Ym9hcmRBY2Nlc3NvcnlCYXJOZXh0KCk7Ci0gICAgdm9pZCBrZXlib2Fy
ZEFjY2Vzc29yeUJhclByZXZpb3VzKCk7CisgICAgdW5kZWZpbmVkIGtleWJvYXJkQWNjZXNzb3J5
QmFyTmV4dCgpOworICAgIHVuZGVmaW5lZCBrZXlib2FyZEFjY2Vzc29yeUJhclByZXZpb3VzKCk7
CiAKLSAgICB2b2lkIGFwcGx5QXV0b2NvcnJlY3Rpb24oRE9NU3RyaW5nIG5ld1N0cmluZywgRE9N
U3RyaW5nIG9sZFN0cmluZywgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgYXBwbHlB
dXRvY29ycmVjdGlvbihET01TdHJpbmcgbmV3U3RyaW5nLCBET01TdHJpbmcgb2xkU3RyaW5nLCBv
YmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gUmV0dXJuZWQgb2JqZWN0IGlzIGEgZGljdGlvbmFy
eSB3aXRoIHRoZSBwYXNzZWQgaW4gc3RyaW5nIGFzIGEga2V5IGZvciByZXR1cm5lZCBvYmplY3QK
ICAgICBvYmplY3QgY29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKERPTVN0cmluZyBpbnRlcmZh
Y2VJdGVtKTsKQEAgLTI1MSw4ICsyNTEsOCBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVy
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nob3dpbmdNZW51OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBvYmplY3QgbWVudVJlY3Q7CiAgICAgb2JqZWN0IHJlY3RGb3JNZW51
QWN0aW9uKERPTVN0cmluZyBhY3Rpb24pOwotICAgIHZvaWQgY2hvb3NlTWVudUFjdGlvbihET01T
dHJpbmcgYWN0aW9uLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgZGlzbWlzc01lbnUoKTsK
KyAgICB1bmRlZmluZWQgY2hvb3NlTWVudUFjdGlvbihET01TdHJpbmcgYWN0aW9uLCBvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkaXNtaXNzTWVudSgpOwogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gaXNTaG93aW5nUG9wb3ZlcjsKICAgICBhdHRyaWJ1dGUgb2JqZWN0
IHdpbGxQcmVzZW50UG9wb3ZlckNhbGxiYWNrOwpAQCAtMjYzLDMyICsyNjMsMzIgQEAgaW50ZXJm
YWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAKICAgICBhdHRyaWJ1dGUgb2JqZWN0IHdpbGxDcmVh
dGVOZXdQYWdlQ2FsbGJhY2s7CiAKLSAgICB2b2lkIHpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSwg
b2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgem9vbVRvU2NhbGUoZG91YmxlIHNjYWxl
LCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBzZXRWaWV3U2NhbGUoZG91YmxlIHNjYWxl
KTsKLSAgICB2b2lkIHNldE1pbmltdW1FZmZlY3RpdmVXaWR0aChkb3VibGUgZWZmZWN0aXZlV2lk
dGgpOwotICAgIHZvaWQgc2V0QWxsb3dzVmlld3BvcnRTaHJpbmtUb0ZpdChib29sZWFuIGFsbG93
cyk7CisgICAgdW5kZWZpbmVkIHNldFZpZXdTY2FsZShkb3VibGUgc2NhbGUpOworICAgIHVuZGVm
aW5lZCBzZXRNaW5pbXVtRWZmZWN0aXZlV2lkdGgoZG91YmxlIGVmZmVjdGl2ZVdpZHRoKTsKKyAg
ICB1bmRlZmluZWQgc2V0QWxsb3dzVmlld3BvcnRTaHJpbmtUb0ZpdChib29sZWFuIGFsbG93cyk7
CiAKLSAgICB2b2lkIGJlY29tZUZpcnN0UmVzcG9uZGVyKCk7Ci0gICAgdm9pZCByZXNpZ25GaXJz
dFJlc3BvbmRlcigpOworICAgIHVuZGVmaW5lZCBiZWNvbWVGaXJzdFJlc3BvbmRlcigpOworICAg
IHVuZGVmaW5lZCByZXNpZ25GaXJzdFJlc3BvbmRlcigpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGlzUHJlc2VudGluZ01vZGFsbHk7CiAKLSAgICB2b2lkIGNvcHlUZXh0KERPTVN0
cmluZyB0ZXh0KTsKLSAgICB2b2lkIHBhc3RlKCk7CisgICAgdW5kZWZpbmVkIGNvcHlUZXh0KERP
TVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQgcGFzdGUoKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGUgY29udGVudE9mZnNldFg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBjb250ZW50T2Zmc2V0WTsKIAogICAgIGF0dHJpYnV0ZSBib29sZWFuIHNjcm9sbFVwZGF0
ZXNEaXNhYmxlZDsgLy8gVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgYmFjayB0byB0aGUgd2ViIHBy
b2Nlc3MgYWZ0ZXIgc2Nyb2xscyAodXNlZCBmb3IgdGVzdGluZyBzY3JvbGxpbmcgdHJlZSkuCiAK
LSAgICB2b2lkIHNjcm9sbFRvT2Zmc2V0KGxvbmcgeCwgbG9uZyB5KTsgLy8gSW5pdGlhdGUgYW4g
YW5pbWF0ZWQgc2Nyb2xsIGluIHRoZSBVSSBwcm9jZXNzLgorICAgIHVuZGVmaW5lZCBzY3JvbGxU
b09mZnNldChsb25nIHgsIGxvbmcgeSk7IC8vIEluaXRpYXRlIGFuIGFuaW1hdGVkIHNjcm9sbCBp
biB0aGUgVUkgcHJvY2Vzcy4KICAgICBhdHRyaWJ1dGUgb2JqZWN0IGRpZEVuZFNjcm9sbGluZ0Nh
bGxiYWNrOwogCi0gICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcg
eSk7IC8vIFNldCB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQg
YW5pbWF0aW9uLgotICAgIHZvaWQgaW1tZWRpYXRlWm9vbVRvU2NhbGUoZG91YmxlIHNjYWxlKTsg
Ly8gU2V0IHRoZSB6b29tIHNjYWxlIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQgYW5pbWF0aW9u
LgorICAgIHVuZGVmaW5lZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcgeSk7
IC8vIFNldCB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQgYW5p
bWF0aW9uLgorICAgIHVuZGVmaW5lZCBpbW1lZGlhdGVab29tVG9TY2FsZShkb3VibGUgc2NhbGUp
OyAvLyBTZXQgdGhlIHpvb20gc2NhbGUgaW4gdGhlIFVJIHByb2Nlc3Mgd2l0aG91dCBhbmltYXRp
b24uCiAKICAgICAvLyBGaW5kIHRoZSBzY3JvbGxlciBmb3IgdGhlIGdpdmVuIHBvaW50IGluIGNv
bnRlbnQgKCJhYnNvbHV0ZSIpIGNvb3JkaW5hdGVzLCBhbmQgZG8gYW4gaW1tZWRpYXRlIHNjcm9s
bC4KLSAgICB2b2lkIGltbWVkaWF0ZVNjcm9sbEVsZW1lbnRBdENvbnRlbnRQb2ludFRvT2Zmc2V0
KGxvbmcgeCwgbG9uZyB5LCBsb25nIHhPZmZzZXQsIGxvbmcgeU9mZnNldCk7CisgICAgdW5kZWZp
bmVkIGltbWVkaWF0ZVNjcm9sbEVsZW1lbnRBdENvbnRlbnRQb2ludFRvT2Zmc2V0KGxvbmcgeCwg
bG9uZyB5LCBsb25nIHhPZmZzZXQsIGxvbmcgeU9mZnNldCk7CiAKICAgICAvLyBWaWV3IHN0YXRl
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB6b29tU2NhbGU7CkBAIC0zMDgsMTIgKzMw
OCwxMiBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgb2JqZWN0IHNlbGVjdGlvbkNhcmV0Vmlld1JlY3Q7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIG9iamVjdCBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0czsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgb2JqZWN0IGNhbGVuZGFyVHlwZTsKLSAgICB2b2lkIHNldERlZmF1bHRDYWxlbmRhclR5cGUo
RE9NU3RyaW5nIGNhbGVuZGFySWRlbnRpZmllciwgRE9NU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIp
OworICAgIHVuZGVmaW5lZCBzZXREZWZhdWx0Q2FsZW5kYXJUeXBlKERPTVN0cmluZyBjYWxlbmRh
cklkZW50aWZpZXIsIERPTVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgb2JqZWN0IGlucHV0Vmlld0JvdW5kczsKIAotICAgIHZvaWQgc2V0S2V5Ym9hcmRJ
bnB1dE1vZGVJZGVudGlmaWVyKERPTVN0cmluZyBpZGVudGlmaWVyKTsKKyAgICB1bmRlZmluZWQg
c2V0S2V5Ym9hcmRJbnB1dE1vZGVJZGVudGlmaWVyKERPTVN0cmluZyBpZGVudGlmaWVyKTsKIAot
ICAgIHZvaWQgcmVwbGFjZVRleHRBdFJhbmdlKERPTVN0cmluZyB0ZXh0LCBsb25nIGxvY2F0aW9u
LCBsb25nIGxlbmd0aCk7CisgICAgdW5kZWZpbmVkIHJlcGxhY2VUZXh0QXRSYW5nZShET01TdHJp
bmcgdGV4dCwgbG9uZyBsb2NhdGlvbiwgbG9uZyBsZW5ndGgpOwogCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0OwogCkBAIC0zMjEsMzQgKzMyMSwz
NCBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAogICAgIG9iamVjdCBwcm9wZXJ0
aWVzT2ZMYXllcldpdGhJRCh1bnNpZ25lZCBsb25nIGxvbmcgbGF5ZXJJRCk7CiAKLSAgICB2b2lk
IHJldHJpZXZlU3BlYWtTZWxlY3Rpb25Db250ZW50KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkIHJldHJpZXZlU3BlYWtTZWxlY3Rpb25Db250ZW50KG9iamVjdCBjYWxsYmFjayk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NpYmlsaXR5U3BlYWtTZWxlY3Rp
b25Db250ZW50OwogICAgIAotICAgIHZvaWQgc2ltdWxhdGVSb3RhdGlvbihEZXZpY2VPcmllbnRh
dGlvbiBvcmllbnRhdGlvbiwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNpbXVsYXRlUm90
YXRpb25MaWtlU2FmYXJpKERldmljZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBvYmplY3QgY2Fs
bGJhY2spOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJvdGF0aW9uKERldmljZU9yaWVudGF0aW9u
IG9yaWVudGF0aW9uLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJv
dGF0aW9uTGlrZVNhZmFyaShEZXZpY2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgb2JqZWN0IGNh
bGxiYWNrKTsKIAotICAgIHZvaWQgZmluZFN0cmluZyhET01TdHJpbmcgc3RyaW5nLCB1bnNpZ25l
ZCBsb25nIG9wdGlvbnMsIHVuc2lnbmVkIGxvbmcgbWF4Q291bnQpOworICAgIHVuZGVmaW5lZCBm
aW5kU3RyaW5nKERPTVN0cmluZyBzdHJpbmcsIHVuc2lnbmVkIGxvbmcgb3B0aW9ucywgdW5zaWdu
ZWQgbG9uZyBtYXhDb3VudCk7CiAKICAgICAvLyBVbnBhcmVudCBhbmQgcGFyZW50IHRoZSB3ZWIg
dmlldywgc2ltdWxhdGluZywgZm9yIGV4YW1wbGUsIHRhYiBzd2l0Y2hpbmcuCi0gICAgdm9pZCBy
ZW1vdmVWaWV3RnJvbVdpbmRvdyhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgYWRkVmlld1Rv
V2luZG93KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZVZpZXdGcm9tV2lu
ZG93KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGFkZFZpZXdUb1dpbmRvdyhvYmpl
Y3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBpbnN0YWxsVGFwR2VzdHVyZU9uV2luZG93KG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxUYXBHZXN0dXJlT25XaW5kb3cob2Jq
ZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgb3ZlcnJpZGVQcmVmZXJlbmNlKERPTVN0cmluZyBw
cmVmZXJlbmNlLCBET01TdHJpbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBvdmVycmlkZVByZWZl
cmVuY2UoRE9NU3RyaW5nIHByZWZlcmVuY2UsIERPTVN0cmluZyB2YWx1ZSk7CiAKLSAgICB2b2lk
IHNldFNhZmVBcmVhSW5zZXRzKGRvdWJsZSB0b3AsIGRvdWJsZSByaWdodCwgZG91YmxlIGJvdHRv
bSwgZG91YmxlIGxlZnQpOworICAgIHVuZGVmaW5lZCBzZXRTYWZlQXJlYUluc2V0cyhkb3VibGUg
dG9wLCBkb3VibGUgcmlnaHQsIGRvdWJsZSBib3R0b20sIGRvdWJsZSBsZWZ0KTsKIAotICAgIHZv
aWQgZmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbkZvcldlYlZpZXcoYm9vbGVhbiBzaG91bGRTdXBw
cmVzcyk7Ci0gICAgdm9pZCBtYWtlV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcigpOwor
ICAgIHVuZGVmaW5lZCBmaXJzdFJlc3BvbmRlclN1cHByZXNzaW9uRm9yV2ViVmlldyhib29sZWFu
IHNob3VsZFN1cHByZXNzKTsKKyAgICB1bmRlZmluZWQgbWFrZVdpbmRvd0NvbnRlbnRWaWV3Rmly
c3RSZXNwb25kZXIoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1dpbmRvd0Nv
bnRlbnRWaWV3Rmlyc3RSZXNwb25kZXI7CiAKLSAgICB2b2lkIHNldEhhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZChib29sZWFuIGF0dGFjaGVkKTsKKyAgICB1bmRlZmluZWQgc2V0SGFyZHdhcmVLZXli
b2FyZEF0dGFjaGVkKGJvb2xlYW4gYXR0YWNoZWQpOwogCiAgICAgb2JqZWN0IGF0dGFjaG1lbnRJ
bmZvKERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKICAgICAvLyBFZGl0aW5nCi0g
ICAgdm9pZCBkcmF3U3F1YXJlSW5FZGl0YWJsZUltYWdlKCk7CisgICAgdW5kZWZpbmVkIGRyYXdT
cXVhcmVJbkVkaXRhYmxlSW1hZ2UoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBudW1i
ZXJPZlN0cm9rZXNJbkVkaXRhYmxlSW1hZ2U7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBsYXN0VW5kb0xhYmVsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZmly
c3RSZWRvTGFiZWw7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkgQEAKIFsKICAgICBDb25kaXRpb25hbD1BQ0NFU1NJ
QklMSVRZLAogXSBpbnRlcmZhY2UgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgewotICAgIHZvaWQg
ZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gZW5hYmxlKTsKKyAgICB1bmRlZmlu
ZWQgZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gZW5hYmxlKTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkOwotICAg
IHZvaWQgc2V0SXNvbGF0ZWRUcmVlTW9kZShib29sZWFuIGVuYWJsZSk7CisgICAgdW5kZWZpbmVk
IHNldElzb2xhdGVkVHJlZU1vZGUoYm9vbGVhbiBlbmFibGUpOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgcGxhdGZvcm1OYW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IHJvb3RFbGVtZW50OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRFbGVtZW50OwpAQCAtMzgsMTAgKzM4LDEwIEBA
CiAgICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmplY3QgZnVuY3Rpb25DYWxs
YmFjayk7CiAgICAgYm9vbGVhbiByZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOwogCi0gICAg
dm9pZCBsb2dGb2N1c0V2ZW50cygpOwotICAgIHZvaWQgbG9nVmFsdWVDaGFuZ2VFdmVudHMoKTsK
LSAgICB2b2lkIGxvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKCk7Ci0gICAgdm9pZCBsb2dBY2Nlc3Np
YmlsaXR5RXZlbnRzKCk7Ci0gICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAg
dW5kZWZpbmVkIGxvZ0ZvY3VzRXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIGxvZ1ZhbHVlQ2hhbmdl
RXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIGxvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKCk7CisgICAg
dW5kZWZpbmVkIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKTsKKyAgICB1bmRlZmluZWQgcmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOwogfTsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTAgQEAKICAgICB1bnNpZ25lZCBs
b25nIGluZGV4T2ZDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGNoaWxkKTsKICAgICBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IGxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgbG9uZyBp
bmRleCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBzZWxlY3RlZENoaWxkQXRJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHNldFNlbGVjdGVkQ2hpbGQoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCBlbGVtZW50KTsKLSAgICB2b2lkIHNldFNlbGVjdGVkQ2hpbGRBdEluZGV4
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgcmVtb3ZlU2VsZWN0aW9uQXRJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGNsZWFyU2VsZWN0ZWRDaGlsZHJlbigpOwor
ICAgIHVuZGVmaW5lZCBzZXRTZWxlY3RlZENoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgZWxl
bWVudCk7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGxv
bmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCByZW1vdmVTZWxlY3Rpb25BdEluZGV4KHVuc2lnbmVk
IGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCBjbGVhclNlbGVjdGVkQ2hpbGRyZW4oKTsKICAg
ICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IHRpdGxlVUlFbGVtZW50KCk7CiAgICAgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCBwYXJlbnRFbGVtZW50KCk7CiAgICAgCkBAIC02NywxNCArNjcsMTQgQEAK
ICAgICBvYmplY3QgdWlFbGVtZW50QXJyYXlBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcgYXR0cik7
CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCB1aUVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShET01T
dHJpbmcgYXR0cik7ICAKICAgICBib29sZWFuIGJvb2xBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcg
YXR0cik7Ci0gICAgdm9pZCBhdHRyaWJ1dGVWYWx1ZUFzeW5jKERPTVN0cmluZyBhdHRyaWJ1dGVO
YW1lLCBvYmplY3QgY2FsbGJhY2tGdW5jdGlvbik7Ci0gICAgdm9pZCBzZXRCb29sQXR0cmlidXRl
VmFsdWUoRE9NU3RyaW5nIGF0dHIsIGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBhdHRy
aWJ1dGVWYWx1ZUFzeW5jKERPTVN0cmluZyBhdHRyaWJ1dGVOYW1lLCBvYmplY3QgY2FsbGJhY2tG
dW5jdGlvbik7CisgICAgdW5kZWZpbmVkIHNldEJvb2xBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcg
YXR0ciwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVN1cHBvcnRlZChE
T01TdHJpbmcgYXR0cik7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVNldHRhYmxlKERPTVN0cmlu
ZyBhdHRyKTsKICAgICBib29sZWFuIGlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKTsKICAgICBib29s
ZWFuIGlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgYm9vbGVhbiBpc0RlY3JlbWVu
dEFjdGlvblN1cHBvcnRlZCgpOwotICAgIHZvaWQgc2V0VmFsdWUoRE9NU3RyaW5nIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0VmFsdWUoRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgaW50VmFsdWU7CkBAIC0xMTksMTQgKzExOSwxNCBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBsb25nIGNvbHVtbkNvdW50OwogCiAgICAgLy8gQWN0aW9ucy4KLSAgICB2b2lkIGluY3Jl
bWVudCgpOwotICAgIHZvaWQgZGVjcmVtZW50KCk7Ci0gICAgdm9pZCBhc3luY0luY3JlbWVudCgp
OwotICAgIHZvaWQgYXN5bmNEZWNyZW1lbnQoKTsKLSAgICB2b2lkIHByZXNzKCk7Ci0gICAgdm9p
ZCBzeW5jUHJlc3MoKTsKLSAgICB2b2lkIHNob3dNZW51KCk7Ci0gICAgdm9pZCBkaXNtaXNzKCk7
CisgICAgdW5kZWZpbmVkIGluY3JlbWVudCgpOworICAgIHVuZGVmaW5lZCBkZWNyZW1lbnQoKTsK
KyAgICB1bmRlZmluZWQgYXN5bmNJbmNyZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgYXN5bmNEZWNy
ZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgcHJlc3MoKTsKKyAgICB1bmRlZmluZWQgc3luY1ByZXNz
KCk7CisgICAgdW5kZWZpbmVkIHNob3dNZW51KCk7CisgICAgdW5kZWZpbmVkIGRpc21pc3MoKTsK
IAogICAgIC8vIEF0dHJpYnV0ZSBpbmZvLgogICAgIERPTVN0cmluZyBhbGxBdHRyaWJ1dGVzKCk7
CkBAIC0xOTYsMTEgKzE5NiwxMSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50IGhvcml6b250YWxTY3JvbGxiYXI7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgdmVydGljYWxTY3JvbGxiYXI7CiAKLSAgICB2b2lkIHNj
cm9sbFRvTWFrZVZpc2libGUoKTsKLSAgICB2b2lkIHNjcm9sbFRvR2xvYmFsUG9pbnQobG9uZyB4
LCBsb25nIHkpOwotICAgIHZvaWQgc2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhTdWJGb2N1cyhsb25n
IHgsIGxvbmcgeSwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzY3Jv
bGxUb01ha2VWaXNpYmxlKCk7CisgICAgdW5kZWZpbmVkIHNjcm9sbFRvR2xvYmFsUG9pbnQobG9u
ZyB4LCBsb25nIHkpOworICAgIHVuZGVmaW5lZCBzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZv
Y3VzKGxvbmcgeCwgbG9uZyB5LCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CiAKLSAgICB2b2lk
IHRha2VGb2N1cygpOworICAgIHVuZGVmaW5lZCB0YWtlRm9jdXMoKTsKICAgICBib29sZWFuIHNj
cm9sbFBhZ2VEb3duKCk7CiAgICAgYm9vbGVhbiBzY3JvbGxQYWdlVXAoKTsKICAgICBib29sZWFu
IHNjcm9sbFBhZ2VMZWZ0KCk7CkBAIC0yMTIsNyArMjEyLDcgQEAKICAgICBBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlclJhbmdlIHRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQoQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCBlbGVtZW50KTsKICAgICBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIHRleHRN
YXJrZXJSYW5nZUZvck1hcmtlcnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgc3RhcnRNYXJrZXIs
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIGVuZE1hcmtlcik7CiAgICAgQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXJSYW5nZSBzZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOwotICAgIHZvaWQgcmVzZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOworICAgIHVuZGVmaW5lZCByZXNldFNlbGVjdGVkVGV4
dE1hcmtlclJhbmdlKCk7CiAgICAgYm9vbGVhbiByZXBsYWNlVGV4dEluUmFuZ2UoRE9NU3RyaW5n
IHN0cmluZywgbG9uZyBwb3NpdGlvbiwgbG9uZyBsZW5ndGgpOwogICAgIGJvb2xlYW4gaW5zZXJ0
VGV4dChET01TdHJpbmcgdGV4dCk7CiAgICAgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgc3RhcnRU
ZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2Ug
cmFuZ2UpOwpAQCAtMjYwLDEyICsyNjAsMTIgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBlbGVtZW50VGV4dExlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0
cmluZ0ZvclNlbGVjdGlvbjsKICAgICBvYmplY3QgZWxlbWVudHNGb3JSYW5nZSh1bnNpZ25lZCBs
b25nIGxvY2F0aW9uLCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7Ci0gICAgdm9pZCBpbmNyZWFzZVRl
eHRTZWxlY3Rpb24oKTsKLSAgICB2b2lkIGRlY3JlYXNlVGV4dFNlbGVjdGlvbigpOworICAgIHVu
ZGVmaW5lZCBpbmNyZWFzZVRleHRTZWxlY3Rpb24oKTsKKyAgICB1bmRlZmluZWQgZGVjcmVhc2VU
ZXh0U2VsZWN0aW9uKCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBsaW5rZWRFbGVtZW50
KCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBoZWFkZXJFbGVtZW50QXRJbmRleCh1bnNp
Z25lZCBsb25nIGluZGV4KTsKICAgICAvLyBUaGlzIHdpbGwgc2ltdWxhdGUgdGhlIGFjY2Vzc2li
aWxpdHlEaWRCZWNvbWVGb2N1c2VkIEFQSSBpbiBVSUtpdC4KLSAgICB2b2lkIGFzc2lzdGl2ZVRl
Y2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOworICAgIHVuZGVmaW5lZCBhc3Npc3RpdmVUZWNobm9s
b2d5U2ltdWxhdGVkRm9jdXMoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nl
YXJjaEZpZWxkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVGV4dEFyZWE7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNJbkRlZmluaXRpb25MaXN0RGVmaW5pdGlv
bjsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
Q29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5w
bQkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQkod29ya2luZyBjb3B5KQpA
QCAtMzQ0LDcgKzM0NCw3IEBAIEVPRgogICAgICAgICAgICAgICAgICRmdW5jdGlvbkNhbGwgPSAi
aW1wbC0+IiAuICRvcGVyYXRpb24tPm5hbWUgLiAiKCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMp
IC4gIikiOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICBwdXNoKEBj
b250ZW50cywgIiAgICAke2Z1bmN0aW9uQ2FsbH07XG5cbiIpIGlmICRvcGVyYXRpb24tPnR5cGUt
Pm5hbWUgZXEgInZvaWQiOworICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIgICAgJHtmdW5j
dGlvbkNhbGx9O1xuXG4iKSBpZiAkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ1bmRlZmluZWQi
OwogICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIgICAgcmV0dXJuICIgLiAkc2VsZi0+X3Jl
dHVybkV4cHJlc3Npb24oJG9wZXJhdGlvbi0+dHlwZSwgJGZ1bmN0aW9uQ2FsbCkgLiAiO1xufVxu
Iik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MTcsNyArNTE3LDcgQEAgc3ViIF9yZXR1cm5FeHBy
ZXNzaW9uCiB7CiAgICAgbXkgKCRzZWxmLCAkcmV0dXJuVHlwZSwgJGV4cHJlc3Npb24pID0gQF87
CiAKLSAgICByZXR1cm4gIkpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpIiBpZiAkcmV0dXJu
VHlwZS0+bmFtZSBlcSAidm9pZCI7CisgICAgcmV0dXJuICJKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgInVuZGVmaW5lZCI7CiAgICAgcmV0dXJu
ICJKU1ZhbHVlTWFrZUJvb2xlYW5Pck51bGwoY29udGV4dCwgJHtleHByZXNzaW9ufSkiIGlmICRy
ZXR1cm5UeXBlLT5uYW1lIGVxICJib29sZWFuIiAmJiAkcmV0dXJuVHlwZS0+aXNOdWxsYWJsZTsK
ICAgICByZXR1cm4gIkpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCAke2V4cHJlc3Npb259KSIg
aWYgJHJldHVyblR5cGUtPm5hbWUgZXEgImJvb2xlYW4iOwogICAgIHJldHVybiAiJHtleHByZXNz
aW9ufSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgIm9iamVjdCI7CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDQ4ICsyOCw0OCBAQCBk
aWN0aW9uYXJ5IE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMgewogfTsKIAogaW50ZXJmYWNlIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXIgewotICAgIHZvaWQgbW91c2VEb3duKGxvbmcgYnV0dG9uTnVt
YmVyLCBvYmplY3QgbW9kaWZpZXJBcnJheSk7Ci0gICAgdm9pZCBtb3VzZVVwKGxvbmcgYnV0dG9u
TnVtYmVyLCBvYmplY3QgbW9kaWZpZXJBcnJheSk7Ci0gICAgdm9pZCBtb3VzZU1vdmVUbyhsb25n
IHgsIGxvbmcgeSk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlQ2xpY2soKTsKLSAgICB2b2lkIHN0YXJ0
QW5kQ2FuY2VsTW91c2VGb3JjZUNsaWNrKCk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlRG93bigpOwot
ICAgIHZvaWQgbW91c2VGb3JjZVVwKCk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlQ2hhbmdlZChkb3Vi
bGUgZm9yY2UpOwotICAgIHZvaWQgbW91c2VTY3JvbGxCeShsb25nIHgsIGxvbmcgeSk7Ci0gICAg
dm9pZCBtb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMobG9uZyB4LCBsb25n
IHksIERPTVN0cmluZyBwaGFzZSwgRE9NU3RyaW5nIG1vbWVudHVtKTsKLSAgICB2b2lkIGNvbnRp
bnVvdXNNb3VzZVNjcm9sbEJ5KGxvbmcgeCwgbG9uZyB5LCBvcHRpb25hbCBib29sZWFuIHBhZ2Vk
KTsKKyAgICB1bmRlZmluZWQgbW91c2VEb3duKGxvbmcgYnV0dG9uTnVtYmVyLCBvYmplY3QgbW9k
aWZpZXJBcnJheSk7CisgICAgdW5kZWZpbmVkIG1vdXNlVXAobG9uZyBidXR0b25OdW1iZXIsIG9i
amVjdCBtb2RpZmllckFycmF5KTsKKyAgICB1bmRlZmluZWQgbW91c2VNb3ZlVG8obG9uZyB4LCBs
b25nIHkpOworICAgIHVuZGVmaW5lZCBtb3VzZUZvcmNlQ2xpY2soKTsKKyAgICB1bmRlZmluZWQg
c3RhcnRBbmRDYW5jZWxNb3VzZUZvcmNlQ2xpY2soKTsKKyAgICB1bmRlZmluZWQgbW91c2VGb3Jj
ZURvd24oKTsKKyAgICB1bmRlZmluZWQgbW91c2VGb3JjZVVwKCk7CisgICAgdW5kZWZpbmVkIG1v
dXNlRm9yY2VDaGFuZ2VkKGRvdWJsZSBmb3JjZSk7CisgICAgdW5kZWZpbmVkIG1vdXNlU2Nyb2xs
QnkobG9uZyB4LCBsb25nIHkpOworICAgIHVuZGVmaW5lZCBtb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMobG9uZyB4LCBsb25nIHksIERPTVN0cmluZyBwaGFzZSwgRE9NU3Ry
aW5nIG1vbWVudHVtKTsKKyAgICB1bmRlZmluZWQgY29udGludW91c01vdXNlU2Nyb2xsQnkobG9u
ZyB4LCBsb25nIHksIG9wdGlvbmFsIGJvb2xlYW4gcGFnZWQpOwogICAgIG9iamVjdCBjb250ZXh0
Q2xpY2soKTsKLSAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKKyAgICB1bmRl
ZmluZWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCi0gICAgdm9pZCBsZWFwRm9yd2Fy
ZChsb25nIG1pbGxpc2Vjb25kcyk7CisgICAgdW5kZWZpbmVkIGxlYXBGb3J3YXJkKGxvbmcgbWls
bGlzZWNvbmRzKTsKIAotICAgIHZvaWQga2V5RG93bihET01TdHJpbmcga2V5LCBvYmplY3QgbW9k
aWZpZXJBcnJheSwgbG9uZyBsb2NhdGlvbik7Ci0gICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91
c0tleURvd24oRE9NU3RyaW5nIGtleSk7CisgICAgdW5kZWZpbmVkIGtleURvd24oRE9NU3RyaW5n
IGtleSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIGxvbmcgbG9jYXRpb24pOworICAgIHVuZGVmaW5l
ZCBzY2hlZHVsZUFzeW5jaHJvbm91c0tleURvd24oRE9NU3RyaW5nIGtleSk7CiAKICAgICAvLyBa
b29tIGZ1bmN0aW9ucy4KLSAgICB2b2lkIHRleHRab29tSW4oKTsKLSAgICB2b2lkIHRleHRab29t
T3V0KCk7Ci0gICAgdm9pZCB6b29tUGFnZUluKCk7Ci0gICAgdm9pZCB6b29tUGFnZU91dCgpOwot
ICAgIHZvaWQgc2NhbGVQYWdlQnkoZG91YmxlIHNjYWxlLCBkb3VibGUgeCwgZG91YmxlIHkpOwor
ICAgIHVuZGVmaW5lZCB0ZXh0Wm9vbUluKCk7CisgICAgdW5kZWZpbmVkIHRleHRab29tT3V0KCk7
CisgICAgdW5kZWZpbmVkIHpvb21QYWdlSW4oKTsKKyAgICB1bmRlZmluZWQgem9vbVBhZ2VPdXQo
KTsKKyAgICB1bmRlZmluZWQgc2NhbGVQYWdlQnkoZG91YmxlIHNjYWxlLCBkb3VibGUgeCwgZG91
YmxlIHkpOwogCi0gICAgdm9pZCBtb25pdG9yV2hlZWxFdmVudHMob3B0aW9uYWwgTW9uaXRvcldo
ZWVsRXZlbnRzT3B0aW9ucyBvcHRpb25zKTsKLSAgICB2b2lkIGNhbGxBZnRlclNjcm9sbGluZ0Nv
bXBsZXRlcyhvYmplY3QgZnVuY3Rpb25DYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIG1vbml0b3JX
aGVlbEV2ZW50cyhvcHRpb25hbCBNb25pdG9yV2hlZWxFdmVudHNPcHRpb25zIG9wdGlvbnMpOwor
ICAgIHVuZGVmaW5lZCBjYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMob2JqZWN0IGZ1bmN0aW9u
Q2FsbGJhY2spOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVf
VE9VQ0hfRVZFTlRTCiAgICAgLy8gVG91Y2ggZXZlbnRzLgotICAgIHZvaWQgYWRkVG91Y2hQb2lu
dChsb25nIHgsIGxvbmcgeSk7Ci0gICAgdm9pZCB1cGRhdGVUb3VjaFBvaW50KGxvbmcgaW5kZXgs
IGxvbmcgeCwgbG9uZyB5KTsKLSAgICB2b2lkIHNldFRvdWNoTW9kaWZpZXIoRE9NU3RyaW5nIG1v
ZGlmaWVyLCBib29sZWFuIGVuYWJsZSk7Ci0gICAgdm9pZCBzZXRUb3VjaFBvaW50UmFkaXVzKGxv
bmcgcmFkaXVzWCwgbG9uZyByYWRpdXNZKTsKLSAgICB2b2lkIHRvdWNoU3RhcnQoKTsKLSAgICB2
b2lkIHRvdWNoTW92ZSgpOwotICAgIHZvaWQgdG91Y2hFbmQoKTsKLSAgICB2b2lkIHRvdWNoQ2Fu
Y2VsKCk7Ci0gICAgdm9pZCBjbGVhclRvdWNoUG9pbnRzKCk7Ci0gICAgdm9pZCByZWxlYXNlVG91
Y2hQb2ludChsb25nIGluZGV4KTsKLSAgICB2b2lkIGNhbmNlbFRvdWNoUG9pbnQobG9uZyBpbmRl
eCk7CisgICAgdW5kZWZpbmVkIGFkZFRvdWNoUG9pbnQobG9uZyB4LCBsb25nIHkpOworICAgIHVu
ZGVmaW5lZCB1cGRhdGVUb3VjaFBvaW50KGxvbmcgaW5kZXgsIGxvbmcgeCwgbG9uZyB5KTsKKyAg
ICB1bmRlZmluZWQgc2V0VG91Y2hNb2RpZmllcihET01TdHJpbmcgbW9kaWZpZXIsIGJvb2xlYW4g
ZW5hYmxlKTsKKyAgICB1bmRlZmluZWQgc2V0VG91Y2hQb2ludFJhZGl1cyhsb25nIHJhZGl1c1gs
IGxvbmcgcmFkaXVzWSk7CisgICAgdW5kZWZpbmVkIHRvdWNoU3RhcnQoKTsKKyAgICB1bmRlZmlu
ZWQgdG91Y2hNb3ZlKCk7CisgICAgdW5kZWZpbmVkIHRvdWNoRW5kKCk7CisgICAgdW5kZWZpbmVk
IHRvdWNoQ2FuY2VsKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyVG91Y2hQb2ludHMoKTsKKyAgICB1
bmRlZmluZWQgcmVsZWFzZVRvdWNoUG9pbnQobG9uZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIGNh
bmNlbFRvdWNoUG9pbnQobG9uZyBpbmRleCk7CiAjZW5kaWYKIH07CiAKSW5kZXg6IFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvR0NDb250cm9sbGVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0dDQ29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvR0NDb250cm9sbGVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsOCArMjQsOCBAQAogICovCiAKIGludGVyZmFjZSBHQ0NvbnRyb2xsZXIg
ewotICAgIHZvaWQgY29sbGVjdCgpOwotICAgIHZvaWQgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFk
KGJvb2xlYW4gd2FpdFVudGlsRG9uZSk7CisgICAgdW5kZWZpbmVkIGNvbGxlY3QoKTsKKyAgICB1
bmRlZmluZWQgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkKGJvb2xlYW4gd2FpdFVudGlsRG9uZSk7
CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGdldEpTT2JqZWN0Q291bnQoKTsKIH07CiAKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjgsMTcgKzI4LDE3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0lPU0ZhbWlseTsKIAogICAgIC8vIFRoZSBi
YXNpY3MuCi0gICAgdm9pZCBkdW1wQXNUZXh0KGJvb2xlYW4gZHVtcFBpeGVscyk7Ci0gICAgdm9p
ZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0
ZSgpOwotICAgIHZvaWQgd2FpdFVudGlsRG9uZSgpOwotICAgIHZvaWQgbm90aWZ5RG9uZSgpOwor
ICAgIHVuZGVmaW5lZCBkdW1wQXNUZXh0KGJvb2xlYW4gZHVtcFBpeGVscyk7CisgICAgdW5kZWZp
bmVkIGR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgIHVuZGVmaW5lZCB3YWl0Rm9yUG9saWN5
RGVsZWdhdGUoKTsKKyAgICB1bmRlZmluZWQgd2FpdFVudGlsRG9uZSgpOworICAgIHVuZGVmaW5l
ZCBub3RpZnlEb25lKCk7CiAgICAgZG91YmxlIHByZWNpc2VUaW1lKCk7IC8vIHNlY29uZHMgc2lu
Y2UgdGhlIGVwb2NoCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB0aW1lb3V0OyAvLyBt
aWxsaXNlY29uZHMKIAogICAgIC8vIERvd25sb2Fkcy4KLSAgICB2b2lkIHdhaXRVbnRpbERvd25s
b2FkRmluaXNoZWQoKTsKLSAgICB2b2lkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJv
b2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCB3YWl0VW50aWxEb3dubG9hZEZpbmlzaGVkKCk7
CisgICAgdW5kZWZpbmVkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2xlYW4gdmFs
dWUpOwogCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVOREVSX1RSRUVfU0hPV19BTExfTEFZ
RVJTICAgICAgICAgICAgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFTkRFUl9UUkVF
X1NIT1dfTEFZRVJfTkVTVElORyAgICAgICAgID0gMjsKQEAgLTQ2LDIxOSArNDYsMjE5IEBAIGlu
dGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJfVFJF
RV9TSE9XX09WRVJGTE9XICAgICAgICAgICAgICA9IDg7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgUkVOREVSX1RSRUVfU0hPV19TVkdfR0VPTUVUUlkgICAgICAgICAgPSAxNjsKICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJfVFJFRV9TSE9XX0xBWUVSX0ZSQUdNRU5UUyAgICAgICA9
IDMyOwotICAgIHZvaWQgc2V0UmVuZGVyVHJlZUR1bXBPcHRpb25zKHVuc2lnbmVkIHNob3J0IG9w
dGlvbnMpOworICAgIHVuZGVmaW5lZCBzZXRSZW5kZXJUcmVlRHVtcE9wdGlvbnModW5zaWduZWQg
c2hvcnQgb3B0aW9ucyk7CiAKICAgICAvLyBPdGhlciBkdW1waW5nLgotICAgIHZvaWQgZHVtcEJh
Y2tGb3J3YXJkTGlzdCgpOwotICAgIHZvaWQgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMo
KTsKLSAgICB2b2lkIGR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wU2VsZWN0
aW9uUmVjdCgpOwotICAgIHZvaWQgZHVtcFN0YXR1c0NhbGxiYWNrcygpOwotICAgIHZvaWQgZHVt
cFRpdGxlQ2hhbmdlcygpOwotICAgIHZvaWQgZHVtcEZ1bGxTY3JlZW5DYWxsYmFja3MoKTsKLSAg
ICB2b2lkIGR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLSAgICB2b2lkIGR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2soKTsKLSAgICB2b2lkIGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsK
LSAgICB2b2lkIGR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7Ci0gICAgdm9pZCBkdW1w
V2lsbENhY2hlUmVzcG9uc2UoKTsKLSAgICB2b2lkIGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3MoKTsKLSAgICB2b2lkIGR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgIHZv
aWQgZHVtcERPTUFzV2ViQXJjaGl2ZSgpOwotICAgIHZvaWQgZHVtcFBvbGljeURlbGVnYXRlQ2Fs
bGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgIHZv
aWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbigpOworICAgIHVuZGVmaW5lZCBkdW1wQmFja0Zvcndh
cmRMaXN0KCk7CisgICAgdW5kZWZpbmVkIGR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7
CisgICAgdW5kZWZpbmVkIGR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7CisgICAgdW5kZWZpbmVkIGR1
bXBTZWxlY3Rpb25SZWN0KCk7CisgICAgdW5kZWZpbmVkIGR1bXBTdGF0dXNDYWxsYmFja3MoKTsK
KyAgICB1bmRlZmluZWQgZHVtcFRpdGxlQ2hhbmdlcygpOworICAgIHVuZGVmaW5lZCBkdW1wRnVs
bFNjcmVlbkNhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tz
KCk7CisgICAgdW5kZWZpbmVkIGR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2soKTsKKyAgICB1
bmRlZmluZWQgZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1w
UmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOworICAgIHVuZGVmaW5lZCBkdW1wV2lsbENhY2hl
UmVzcG9uc2UoKTsKKyAgICB1bmRlZmluZWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNh
bGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1wRGF0YWJhc2VDYWxsYmFja3MoKTsKKyAgICB1
bmRlZmluZWQgZHVtcERPTUFzV2ViQXJjaGl2ZSgpOworICAgIHVuZGVmaW5lZCBkdW1wUG9saWN5
RGVsZWdhdGVDYWxsYmFja3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcFJlc291cmNlTG9hZFN0YXRp
c3RpY3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbigpOwogCi0gICAg
dm9pZCBjbGVhckRPTUNhY2hlcygpOwotICAgIHZvaWQgY2xlYXJET01DYWNoZShET01TdHJpbmcg
b3JpZ2luKTsKKyAgICB1bmRlZmluZWQgY2xlYXJET01DYWNoZXMoKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXJET01DYWNoZShET01TdHJpbmcgb3JpZ2luKTsKICAgICBib29sZWFuIGhhc0RPTUNhY2hl
KERPTVN0cmluZyBvcmlnaW4pOwogICAgIHVuc2lnbmVkIGxvbmcgZG9tQ2FjaGVTaXplKERPTVN0
cmluZyBvcmlnaW4pOwotICAgIHZvaWQgc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZShib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZShi
b29sZWFuIHZhbHVlKTsKIAogICAgIC8vIFNwZWNpYWwgb3B0aW9ucy4KLSAgICB2b2lkIGtlZXBX
ZWJIaXN0b3J5KCk7Ci0gICAgdm9pZCBzZXRBY2NlcHRzRWRpdGluZyhib29sZWFuIHZhbHVlKTsK
LSAgICB2b2lkIHNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgdm9pZCBzZXRDbG9zZVJlbWFpbmlu
Z1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRYU1NBdWRp
dG9yRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdl
QWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRQbHVn
aW5zRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5h
YmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFi
bGVkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9v
bGVhbiBlbmFibGVkLCBib29sZWFuIHBlcm1pc3NpdmUpOwotICAgIHZvaWQgYWRkT3JpZ2luQWNj
ZXNzQWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3Rp
bmF0aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dE
ZXN0aW5hdGlvblN1YmRvbWFpbnMpOwotICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dM
aXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uUHJv
dG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0aW5hdGlv
blN1YmRvbWFpbnMpOwotICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2xlYW4g
dmFsdWUpOwotICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihET01TdHJpbmcgbG9j
YXRpb24pOwotICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2xlYW4gdmFs
dWUpOwotICAgIHZvaWQgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2xlYW4gZW5h
YmxlZCk7Ci0gICAgdm9pZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKLSAgICB2b2lkIGRpc3Bh
dGNoUGVuZGluZ0xvYWRSZXF1ZXN0cygpOwotICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChsb25nIG1v
ZGVsKTsKLSAgICB2b2lkIHNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2xl
YW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UHJpbnRpbmcoKTsKLSAgICB2b2lkIHNldFNob3VsZERl
Y2lkZU5hdmlnYXRpb25Qb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQg
c2V0U2hvdWxkRGVjaWRlUmVzcG9uc2VQb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOwot
ICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAg
ICB2b2lkIHNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKGJvb2xlYW4gdmFsdWUpOwotICAg
IHZvaWQgc2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlNRVR5cGVzKGJvb2xlYW4gdmFs
dWUpOworICAgIHVuZGVmaW5lZCBrZWVwV2ViSGlzdG9yeSgpOworICAgIHVuZGVmaW5lZCBzZXRB
Y2NlcHRzRWRpdGluZyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKyAgICB1bmRlZmluZWQgc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBs
ZXRlKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0TmVlZHNTdG9y
YWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRKYXZh
U2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBz
ZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0
QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2xlYW4gZW5hYmxlZCwgYm9vbGVhbiBwZXJtaXNz
aXZlKTsKKyAgICB1bmRlZmluZWQgYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoRE9NU3Ry
aW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uUHJvdG9jb2wsIERPTVN0cmlu
ZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwor
ICAgIHVuZGVmaW5lZCByZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShET01TdHJpbmcg
c291cmNlT3JpZ2luLCBET01TdHJpbmcgZGVzdGluYXRpb25Qcm90b2NvbCwgRE9NU3RyaW5nIGRl
c3RpbmF0aW9uSG9zdCwgYm9vbGVhbiBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CisgICAg
dW5kZWZpbmVkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1
bmRlZmluZWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihET01TdHJpbmcgbG9jYXRpb24pOwor
ICAgIHVuZGVmaW5lZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7
CisgICAgdW5kZWZpbmVkIHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sZWFuIGVu
YWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKKyAgICB1bmRl
ZmluZWQgZGlzcGF0Y2hQZW5kaW5nTG9hZFJlcXVlc3RzKCk7CisgICAgdW5kZWZpbmVkIHNldENh
Y2hlTW9kZWwobG9uZyBtb2RlbCk7CisgICAgdW5kZWZpbmVkIHNldEFzeW5jaHJvbm91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRQcmludGlu
ZygpOworICAgIHVuZGVmaW5lZCBzZXRTaG91bGREZWNpZGVOYXZpZ2F0aW9uUG9saWN5QWZ0ZXJE
ZWxheShib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvdWxkRGVjaWRlUmVzcG9u
c2VQb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXROYXZp
Z2F0aW9uR2VzdHVyZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRJ
Z25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQg
c2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlNRVR5cGVzKGJvb2xlYW4gdmFsdWUpOwog
CiAgICAgLy8gU3BlY2lhbCBET00gZnVuY3Rpb25zLgotICAgIHZvaWQgY2xlYXJCYWNrRm9yd2Fy
ZExpc3QoKTsKLSAgICB2b2lkIGV4ZWNDb21tYW5kKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcg
c2hvd1VJLCBET01TdHJpbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBjbGVhckJhY2tGb3J3YXJk
TGlzdCgpOworICAgIHVuZGVmaW5lZCBleGVjQ29tbWFuZChET01TdHJpbmcgbmFtZSwgRE9NU3Ry
aW5nIHNob3dVSSwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBib29sZWFuIGlzQ29tbWFuZEVuYWJs
ZWQoRE9NU3RyaW5nIG5hbWUpOwogICAgIHVuc2lnbmVkIGxvbmcgd2luZG93Q291bnQoKTsKIAog
ICAgIC8vIERldmljZSBPcmllbnRhdGlvbiBNb3Rpb24uCi0gICAgdm9pZCBzZXRTaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJvb2xlYW4gdmFsdWUpOworICAgIHVu
ZGVmaW5lZCBzZXRTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJv
b2xlYW4gdmFsdWUpOwogCiAgICAgLy8gU3BlY2lhbCBET00gdmFyaWFibGVzLgogICAgIGF0dHJp
YnV0ZSBib29sZWFuIGdsb2JhbEZsYWc7CiAKICAgICAvLyBSZXBhaW50IHRlc3RpbmcuCi0gICAg
dm9pZCB0ZXN0UmVwYWludCgpOwotICAgIHZvaWQgcmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5KCk7
Ci0gICAgdm9pZCBkaXNwbGF5KCk7Ci0gICAgdm9pZCBkaXNwbGF5QW5kVHJhY2tSZXBhaW50cygp
OworICAgIHVuZGVmaW5lZCB0ZXN0UmVwYWludCgpOworICAgIHVuZGVmaW5lZCByZXBhaW50U3dl
ZXBIb3Jpem9udGFsbHkoKTsKKyAgICB1bmRlZmluZWQgZGlzcGxheSgpOworICAgIHVuZGVmaW5l
ZCBkaXNwbGF5QW5kVHJhY2tSZXBhaW50cygpOwogCiAgICAgLy8gRmFpbGVkIGxvYWQgY29uZGl0
aW9uIHRlc3RpbmcKLSAgICB2b2lkIGZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbigpOworICAgIHVu
ZGVmaW5lZCBmb3JjZUltbWVkaWF0ZUNvbXBsZXRpb24oKTsKIAogICAgIC8vIFByaW50aW5nCiAg
ICAgYm9vbGVhbiBpc1BhZ2VCb3hWaXNpYmxlKGxvbmcgcGFnZUluZGV4KTsKIAotICAgIHZvaWQg
ZHVtcEFsbEhUVFBSZWRpcmVjdGVkUmVzcG9uc2VIZWFkZXJzKCk7CisgICAgdW5kZWZpbmVkIGR1
bXBBbGxIVFRQUmVkaXJlY3RlZFJlc3BvbnNlSGVhZGVycygpOwogCi0gICAgW1Bhc3NDb250ZXh0
XSB2b2lkIHNldFZhbHVlRm9yVXNlcihvYmplY3QgZWxlbWVudCwgRE9NU3RyaW5nIHZhbHVlKTsK
KyAgICBbUGFzc0NvbnRleHRdIHVuZGVmaW5lZCBzZXRWYWx1ZUZvclVzZXIob2JqZWN0IGVsZW1l
bnQsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBVc2VyQ29udGVudCB0ZXN0aW5nLgotICAg
IHZvaWQgYWRkVXNlclNjcmlwdChET01TdHJpbmcgc291cmNlLCBib29sZWFuIHJ1bkF0U3RhcnQs
IGJvb2xlYW4gYWxsRnJhbWVzKTsKLSAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KERPTVN0cmlu
ZyBzb3VyY2UsIGJvb2xlYW4gYWxsRnJhbWVzKTsKKyAgICB1bmRlZmluZWQgYWRkVXNlclNjcmlw
dChET01TdHJpbmcgc291cmNlLCBib29sZWFuIHJ1bkF0U3RhcnQsIGJvb2xlYW4gYWxsRnJhbWVz
KTsKKyAgICB1bmRlZmluZWQgYWRkVXNlclN0eWxlU2hlZXQoRE9NU3RyaW5nIHNvdXJjZSwgYm9v
bGVhbiBhbGxGcmFtZXMpOwogCiAgICAgLy8gTG9jYWwgc3RvcmFnZSBBUEkKLSAgICB2b2lkIGNs
ZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVkIGxv
bmcgbG9uZyBxdW90YSk7CisgICAgdW5kZWZpbmVkIGNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAg
dW5kZWZpbmVkIHNldERhdGFiYXNlUXVvdGEodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKICAg
ICBET01TdHJpbmcgcGF0aFRvTG9jYWxSZXNvdXJjZShET01TdHJpbmcgdXJsKTsKLSAgICB2b2lk
IHN5bmNMb2NhbFN0b3JhZ2UoKTsKKyAgICB1bmRlZmluZWQgc3luY0xvY2FsU3RvcmFnZSgpOwog
CiAgICAgYXR0cmlidXRlIGRvdWJsZSBkYXRhYmFzZURlZmF1bHRRdW90YTsKICAgICBhdHRyaWJ1
dGUgZG91YmxlIGRhdGFiYXNlTWF4UXVvdGE7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBB
UEkKLSAgICB2b2lkIGNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMoKTsKLSAgICB2b2lkIHNldEFw
cENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOworICAgIHVuZGVmaW5l
ZCBjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CisgICAgdW5kZWZpbmVkIHNldEFwcENhY2hl
TWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIGxvbmcgbG9uZyBhcHBs
aWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luKERPTVN0cmluZyBvcmlnaW4pOwotICAgIHZv
aWQgY2xlYXJBcHBsaWNhdGlvbkNhY2hlRm9yT3JpZ2luKERPTVN0cmluZyBuYW1lKTsKLSAgICB2
b2lkIGRpc2FsbG93SW5jcmVhc2VGb3JBcHBsaWNhdGlvbkNhY2hlUXVvdGEoKTsKKyAgICB1bmRl
ZmluZWQgY2xlYXJBcHBsaWNhdGlvbkNhY2hlRm9yT3JpZ2luKERPTVN0cmluZyBuYW1lKTsKKyAg
ICB1bmRlZmluZWQgZGlzYWxsb3dJbmNyZWFzZUZvckFwcGxpY2F0aW9uQ2FjaGVRdW90YSgpOwog
ICAgIG9iamVjdCBvcmlnaW5zV2l0aEFwcGxpY2F0aW9uQ2FjaGUoKTsKIAogICAgIC8vIFRleHQg
c2VhcmNoIHRlc3RpbmcuCiAgICAgYm9vbGVhbiBmaW5kU3RyaW5nKERPTVN0cmluZyB0YXJnZXQs
IG9iamVjdCBvcHRpb25zQXJyYXkpOwotICAgIHZvaWQgZmluZFN0cmluZ01hdGNoZXNJblBhZ2Uo
RE9NU3RyaW5nIHRhcmdldCwgb2JqZWN0IG9wdGlvbnNBcnJheSk7Ci0gICAgdm9pZCByZXBsYWNl
RmluZE1hdGNoZXNBdEluZGljZXMob2JqZWN0IG1hdGNoSW5kaWNlc0FycmF5LCBET01TdHJpbmcg
cmVwbGFjZW1lbnRUZXh0LCBib29sZWFuIHNlbGVjdGlvbk9ubHkpOworICAgIHVuZGVmaW5lZCBm
aW5kU3RyaW5nTWF0Y2hlc0luUGFnZShET01TdHJpbmcgdGFyZ2V0LCBvYmplY3Qgb3B0aW9uc0Fy
cmF5KTsKKyAgICB1bmRlZmluZWQgcmVwbGFjZUZpbmRNYXRjaGVzQXRJbmRpY2VzKG9iamVjdCBt
YXRjaEluZGljZXNBcnJheSwgRE9NU3RyaW5nIHJlcGxhY2VtZW50VGV4dCwgYm9vbGVhbiBzZWxl
Y3Rpb25Pbmx5KTsKIAogICAgIC8vIEV2YWx1YXRpbmcgc2NyaXB0IGluIGEgc3BlY2lhbCBjb250
ZXh0LgotICAgIFtQYXNzQ29udGV4dF0gdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3Js
ZCh1bnNpZ25lZCBsb25nIHdvcmxkSUQsIERPTVN0cmluZyBzY3JpcHQpOworICAgIFtQYXNzQ29u
dGV4dF0gdW5kZWZpbmVkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKHVuc2lnbmVkIGxv
bmcgd29ybGRJRCwgRE9NU3RyaW5nIHNjcmlwdCk7CiAKICAgICAvLyBGb3IgV2ViIEluc3BlY3Rv
ciB0ZXN0cwotICAgIHZvaWQgc2hvd1dlYkluc3BlY3RvcigpOwotICAgIHZvaWQgY2xvc2VXZWJJ
bnNwZWN0b3IoKTsKLSAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoRE9NU3RyaW5nIHNj
cmlwdCk7CisgICAgdW5kZWZpbmVkIHNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICB1bmRlZmluZWQg
Y2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICB1bmRlZmluZWQgZXZhbHVhdGVJbldlYkluc3BlY3Rv
cihET01TdHJpbmcgc2NyaXB0KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlu
c3BlY3RvclRlc3RTdHViVVJMOwogCi0gICAgdm9pZCBzZXRQT1NJWExvY2FsZShET01TdHJpbmcg
bG9jYWxlKTsKKyAgICB1bmRlZmluZWQgc2V0UE9TSVhMb2NhbGUoRE9NU3RyaW5nIGxvY2FsZSk7
CiAKLSAgICB2b2lkIHNldFRleHREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CisgICAg
dW5kZWZpbmVkIHNldFRleHREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CiAKLSAgICB2
b2lkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsKGJvb2xlYW4gZmxhZyk7Ci0gICAgdm9p
ZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbE9uUmVkaXJlY3QoYm9vbGVhbiBmbGFnKTsK
LSAgICB2b2lkIHNldFdpbGxTZW5kUmVxdWVzdEFkZHNIVFRQQm9keShET01TdHJpbmcgYm9keSk7
CisgICAgdW5kZWZpbmVkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsKGJvb2xlYW4gZmxh
Zyk7CisgICAgdW5kZWZpbmVkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsT25SZWRpcmVj
dChib29sZWFuIGZsYWcpOworICAgIHVuZGVmaW5lZCBzZXRXaWxsU2VuZFJlcXVlc3RBZGRzSFRU
UEJvZHkoRE9NU3RyaW5nIGJvZHkpOwogICAgIAotICAgIHZvaWQgc2V0U2hvdWxkU3RheU9uUGFn
ZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoYm9vbGVhbiBmbGFnKTsKKyAgICB1bmRlZmluZWQg
c2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoYm9vbGVhbiBmbGFn
KTsKIAotICAgIHZvaWQgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcygpOworICAgIHVuZGVm
aW5lZCBzZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKCk7CiAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hdmln
YXRpb247Ci0gICAgdm9pZCBjbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lv
bmFsTmF2aWdhdGlvbigpOworICAgIHVuZGVmaW5lZCBjbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbigpOwogCiAgICAgLy8gRm9jdXMgdGVzdGluZy4K
LSAgICB2b2lkIGFkZENocm9tZUlucHV0RmllbGQob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lk
IHJlbW92ZUNocm9tZUlucHV0RmllbGQob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGZvY3Vz
V2ViVmlldyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBhZGRDaHJvbWVJbnB1dEZp
ZWxkKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUNocm9tZUlucHV0Rmll
bGQob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZm9jdXNXZWJWaWV3KG9iamVjdCBj
YWxsYmFjayk7CiAKICAgICAvLyBXaW5kb3cvdmlldyBzdGF0ZQotICAgIHZvaWQgc2V0QmFja2lu
Z1NjYWxlRmFjdG9yKGRvdWJsZSBiYWNraW5nU2NhbGVGYWN0b3IsIG9iamVjdCBjYWxsYmFjayk7
CisgICAgdW5kZWZpbmVkIHNldEJhY2tpbmdTY2FsZUZhY3Rvcihkb3VibGUgYmFja2luZ1NjYWxl
RmFjdG9yLCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBzZXRXaW5kb3dJc0tleShib29s
ZWFuIGlzS2V5KTsKLSAgICB2b2lkIHNldFZpZXdTaXplKGRvdWJsZSB3aWR0aCwgZG91YmxlIGhl
aWdodCk7CisgICAgdW5kZWZpbmVkIHNldFdpbmRvd0lzS2V5KGJvb2xlYW4gaXNLZXkpOworICAg
IHVuZGVmaW5lZCBzZXRWaWV3U2l6ZShkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQpOwogCiAg
ICAgLy8gQ29va2llcyB0ZXN0aW5nCi0gICAgdm9pZCBzZXRBbHdheXNBY2NlcHRDb29raWVzKGJv
b2xlYW4gYWNjZXB0KTsKLSAgICB2b2lkIHNldE9ubHlBY2NlcHRGaXJzdFBhcnR5Q29va2llcyhi
b29sZWFuIGFjY2VwdCk7CisgICAgdW5kZWZpbmVkIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9v
bGVhbiBhY2NlcHQpOworICAgIHVuZGVmaW5lZCBzZXRPbmx5QWNjZXB0Rmlyc3RQYXJ0eUNvb2tp
ZXMoYm9vbGVhbiBhY2NlcHQpOwogCi0gICAgdm9pZCBvdmVycmlkZVByZWZlcmVuY2UoRE9NU3Ry
aW5nIHByZWZlcmVuY2UsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJyaWRl
UHJlZmVyZW5jZShET01TdHJpbmcgcHJlZmVyZW5jZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAg
IC8vIFBhZ2UgVmlzaWJpbGl0eSBBUEkKLSAgICB2b2lkIHNldFBhZ2VWaXNpYmlsaXR5KERPTVN0
cmluZyBzdGF0ZSk7Ci0gICAgdm9pZCByZXNldFBhZ2VWaXNpYmlsaXR5KCk7CisgICAgdW5kZWZp
bmVkIHNldFBhZ2VWaXNpYmlsaXR5KERPTVN0cmluZyBzdGF0ZSk7CisgICAgdW5kZWZpbmVkIHJl
c2V0UGFnZVZpc2liaWxpdHkoKTsKIAogICAgIC8vIENvbnRyb2wgZnVsbCBzY3JlZW4gYmVoYXZp
b3IuCi0gICAgdm9pZCBzZXRIYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IoYm9vbGVhbiB2YWx1
ZSk7CisgICAgdW5kZWZpbmVkIHNldEhhc0N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcihib29sZWFu
IHZhbHVlKTsKIAogICAgIC8vIFdlYiBub3RpZmljYXRpb25zIHN1cHBvcnQKLSAgICB2b2lkIGdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihET01TdHJpbmcgb3JpZ2luKTsKLSAgICB2b2lk
IGRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKERPTVN0cmluZyBvcmlnaW4pOwotICAgIHZv
aWQgcmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKLSAgICB2b2lkIHNpbXVs
YXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sob2JqZWN0IG5vdGlmaWNhdGlvbik7CisgICAgdW5kZWZp
bmVkIGdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihET01TdHJpbmcgb3JpZ2luKTsKKyAg
ICB1bmRlZmluZWQgZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oRE9NU3RyaW5nIG9yaWdp
bik7CisgICAgdW5kZWZpbmVkIHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7
CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sob2JqZWN0IG5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBHZW9sb2NhdGlvbgotICAgIHZvaWQgc2V0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9z
aXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3ks
IG9wdGlvbmFsIG9iamVjdCBhbHRpdHVkZSwgb3B0aW9uYWwgb2JqZWN0IGFsdGl0dWRlQWNjdXJh
Y3ksIG9wdGlvbmFsIG9iamVjdCBoZWFkaW5nLCBvcHRpb25hbCBvYmplY3Qgc3BlZWQsIG9wdGlv
bmFsIG9iamVjdCBmbG9vckxldmVsKTsKLSAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0
aW9uVW5hdmFpbGFibGVFcnJvcihET01TdHJpbmcgZXJyb3JNZXNzYWdlKTsKKyAgICB1bmRlZmlu
ZWQgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5l
ZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25n
aXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSwgb3B0aW9uYWwgb2JqZWN0IGFsdGl0dWRlLCBvcHRpb25h
bCBvYmplY3QgYWx0aXR1ZGVBY2N1cmFjeSwgb3B0aW9uYWwgb2JqZWN0IGhlYWRpbmcsIG9wdGlv
bmFsIG9iamVjdCBzcGVlZCwgb3B0aW9uYWwgb2JqZWN0IGZsb29yTGV2ZWwpOworICAgIHVuZGVm
aW5lZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IoRE9NU3RyaW5n
IGVycm9yTWVzc2FnZSk7CiAgICAgYm9vbGVhbiBpc0dlb2xvY2F0aW9uUHJvdmlkZXJBY3RpdmUo
KTsKIAogICAgIC8vIE1lZGlhU3RyZWFtCi0gICAgdm9pZCBzZXRVc2VyTWVkaWFQZXJtaXNzaW9u
KGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgcmVzZXRVc2VyTWVkaWFQZXJtaXNzaW9uKCk7Ci0g
ICAgdm9pZCBzZXRVc2VyTWVkaWFQZXJzaXN0ZW50UGVybWlzc2lvbkZvck9yaWdpbihib29sZWFu
IHBlcm1pc3Npb24sIERPTVN0cmluZyBvcmlnaW4sIERPTVN0cmluZyBwYXJlbnRPcmlnaW4pOwor
ICAgIHVuZGVmaW5lZCBzZXRVc2VyTWVkaWFQZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOworICAg
IHVuZGVmaW5lZCByZXNldFVzZXJNZWRpYVBlcm1pc3Npb24oKTsKKyAgICB1bmRlZmluZWQgc2V0
VXNlck1lZGlhUGVyc2lzdGVudFBlcm1pc3Npb25Gb3JPcmlnaW4oYm9vbGVhbiBwZXJtaXNzaW9u
LCBET01TdHJpbmcgb3JpZ2luLCBET01TdHJpbmcgcGFyZW50T3JpZ2luKTsKICAgICB1bnNpZ25l
ZCBsb25nIHVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q291bnRGb3JPcmlnaW4oRE9NU3RyaW5n
IG9yaWdpbiwgRE9NU3RyaW5nIHBhcmVudE9yaWdpbik7Ci0gICAgdm9pZCByZXNldFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0Q291bnRGb3JPcmlnaW4oRE9NU3RyaW5nIG9yaWdpbiwgRE9NU3Ry
aW5nIHBhcmVudE9yaWdpbik7CisgICAgdW5kZWZpbmVkIHJlc2V0VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RDb3VudEZvck9yaWdpbihET01TdHJpbmcgb3JpZ2luLCBET01TdHJpbmcgcGFyZW50
T3JpZ2luKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0RvaW5nTWVkaWFDYXB0
dXJlOwogCiAgICAgLy8gQXVkaW8gdGVzdGluZy4KLSAgICBbUGFzc0NvbnRleHRdIHZvaWQgc2V0
QXVkaW9SZXN1bHQob2JqZWN0IGRhdGEpOworICAgIFtQYXNzQ29udGV4dF0gdW5kZWZpbmVkIHNl
dEF1ZGlvUmVzdWx0KG9iamVjdCBkYXRhKTsKIAogICAgIGJvb2xlYW4gY2FsbFNob3VsZENsb3Nl
T25XZWJWaWV3KCk7CiAKICAgICAvLyBXb3JrIHF1ZXVlLgotICAgIHZvaWQgcXVldWVCYWNrTmF2
aWdhdGlvbih1bnNpZ25lZCBsb25nIGhvd0ZhckJhY2t3YXJkKTsKLSAgICB2b2lkIHF1ZXVlRm9y
d2FyZE5hdmlnYXRpb24odW5zaWduZWQgbG9uZyBob3dGYXJGb3J3YXJkKTsKLSAgICB2b2lkIHF1
ZXVlTG9hZChET01TdHJpbmcgdXJsLCBET01TdHJpbmcgdGFyZ2V0LCBvcHRpb25hbCBib29sZWFu
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHMpOwotICAgIHZvaWQgcXVldWVMb2FkSFRNTFN0cmluZyhE
T01TdHJpbmcgY29udGVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIGJhc2VVUkwsIG9wdGlvbmFsIERP
TVN0cmluZyB1bnJlYWNoYWJsZVVSTCk7Ci0gICAgdm9pZCBxdWV1ZVJlbG9hZCgpOwotICAgIHZv
aWQgcXVldWVMb2FkaW5nU2NyaXB0KERPTVN0cmluZyBzY3JpcHQpOwotICAgIHZvaWQgcXVldWVO
b25Mb2FkaW5nU2NyaXB0KERPTVN0cmluZyBzY3JpcHQpOworICAgIHVuZGVmaW5lZCBxdWV1ZUJh
Y2tOYXZpZ2F0aW9uKHVuc2lnbmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOworICAgIHVuZGVmaW5l
ZCBxdWV1ZUZvcndhcmROYXZpZ2F0aW9uKHVuc2lnbmVkIGxvbmcgaG93RmFyRm9yd2FyZCk7Cisg
ICAgdW5kZWZpbmVkIHF1ZXVlTG9hZChET01TdHJpbmcgdXJsLCBET01TdHJpbmcgdGFyZ2V0LCBv
cHRpb25hbCBib29sZWFuIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMpOworICAgIHVuZGVmaW5lZCBx
dWV1ZUxvYWRIVE1MU3RyaW5nKERPTVN0cmluZyBjb250ZW50LCBvcHRpb25hbCBET01TdHJpbmcg
YmFzZVVSTCwgb3B0aW9uYWwgRE9NU3RyaW5nIHVucmVhY2hhYmxlVVJMKTsKKyAgICB1bmRlZmlu
ZWQgcXVldWVSZWxvYWQoKTsKKyAgICB1bmRlZmluZWQgcXVldWVMb2FkaW5nU2NyaXB0KERPTVN0
cmluZyBzY3JpcHQpOworICAgIHVuZGVmaW5lZCBxdWV1ZU5vbkxvYWRpbmdTY3JpcHQoRE9NU3Ry
aW5nIHNjcmlwdCk7CiAKICAgICAvLyBBdXRoZW50aWNhdGlvbgotICAgIHZvaWQgc2V0UmVqZWN0
c1Byb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2VzKGJv
b2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyhib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFNob3VsZExvZ0NhbkF1dGhlbnRpY2F0ZUFn
YWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRBdXRoZW50
aWNhdGlvblVzZXJuYW1lKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gICAgdm9pZCBzZXRBdXRoZW50
aWNhdGlvblBhc3N3b3JkKERPTVN0cmluZyBwYXNzd29yZCk7CisgICAgdW5kZWZpbmVkIHNldFJl
amVjdHNQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZUZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlcyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvdWxkTG9nQ2Fu
QXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sZWFuIHZhbHVlKTsKKyAgICB1
bmRlZmluZWQgc2V0QXV0aGVudGljYXRpb25Vc2VybmFtZShET01TdHJpbmcgdXNlcm5hbWUpOwor
ICAgIHVuZGVmaW5lZCBzZXRBdXRoZW50aWNhdGlvblBhc3N3b3JkKERPTVN0cmluZyBwYXNzd29y
ZCk7CiAKLSAgICB2b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sZWFuIHZhbHVl
KTsKIAotICAgIHZvaWQgc2V0U2hvdWxkU3dhcFRvRXBoZW1lcmFsU2Vzc2lvbk9uTmV4dE5hdmln
YXRpb24oYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRTaG91bGRTd2FwVG9EZWZhdWx0U2Vz
c2lvbk9uTmV4dE5hdmlnYXRpb24oYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFNo
b3VsZFN3YXBUb0VwaGVtZXJhbFNlc3Npb25Pbk5leHROYXZpZ2F0aW9uKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRTaG91bGRTd2FwVG9EZWZhdWx0U2Vzc2lvbk9uTmV4dE5hdmln
YXRpb24oYm9vbGVhbiB2YWx1ZSk7CiAKICAgICAvLyBTZWN1cmUgdGV4dCBpbnB1dCBtb2RlIChN
YWMgb25seSkKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzZWN1cmVFdmVudElucHV0
SXNFbmFibGVkOwogICAgIAogICAgIC8vIE92ZXJyaWRlIHBsdWdpbiBsb2FkIHBvbGljeS4KLSAg
ICB2b2lkIHNldEJsb2NrQWxsUGx1Z2lucyhib29sZWFuIHNob3VsZEJsb2NrKTsKLSAgICB2b2lk
IHNldFBsdWdpblN1cHBvcnRlZE1vZGUoRE9NU3RyaW5nIG1vZGUpOworICAgIHVuZGVmaW5lZCBz
ZXRCbG9ja0FsbFBsdWdpbnMoYm9vbGVhbiBzaG91bGRCbG9jayk7CisgICAgdW5kZWZpbmVkIHNl
dFBsdWdpblN1cHBvcnRlZE1vZGUoRE9NU3RyaW5nIG1vZGUpOwogCiAgICAgLy8gSG9va3MgdG8g
dGhlIEpTQyBjb21waWxlci4KICAgICBvYmplY3QgZmFpbE5leHROZXdDb2RlQmxvY2soKTsKQEAg
LTI2NiwxNTYgKzI2NiwxNTYgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIG9iamVjdCBu
ZXZlcklubGluZUZ1bmN0aW9uKG9iamVjdCBmdW5jdGlvbik7CiAKICAgICAvLyBTd2lwZSBnZXN0
dXJlcwotICAgIHZvaWQgaW5zdGFsbERpZEJlZ2luU3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJh
Y2spOwotICAgIHZvaWQgaW5zdGFsbFdpbGxFbmRTd2lwZUNhbGxiYWNrKG9iamVjdCBjYWxsYmFj
ayk7Ci0gICAgdm9pZCBpbnN0YWxsRGlkRW5kU3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJhY2sp
OwotICAgIHZvaWQgaW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkQmVnaW5Td2lwZUNhbGxiYWNrKG9i
amVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxXaWxsRW5kU3dpcGVDYWxsYmFj
ayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkRW5kU3dpcGVDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkUmVtb3ZlU3dp
cGVTbmFwc2hvdENhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICB1bnNpZ25lZCBsb25n
IGltYWdlQ291bnRJbkdlbmVyYWxQYXN0ZWJvYXJkKCk7CiAKICAgICAvLyBVSSBQcm9jZXNzIFRl
c3RpbmcKLSAgICB2b2lkIHJ1blVJU2NyaXB0KERPTVN0cmluZyBzY3JpcHQsIG9iamVjdCBjYWxs
YmFjayk7Ci0gICAgdm9pZCBydW5VSVNjcmlwdEltbWVkaWF0ZWx5KERPTVN0cmluZyBzY3JpcHQs
IG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJ1blVJU2NyaXB0KERPTVN0cmluZyBz
Y3JpcHQsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJ1blVJU2NyaXB0SW1tZWRp
YXRlbHkoRE9NU3RyaW5nIHNjcmlwdCwgb2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgY2xl
YXJUZXN0UnVubmVyQ2FsbGJhY2tzKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyVGVzdFJ1bm5lckNh
bGxiYWNrcygpOwogCi0gICAgdm9pZCBhY2N1bW11bGF0ZUxvZ3NGb3JDaGFubmVsKERPTVN0cmlu
ZyBjaGFubmVsKTsKKyAgICB1bmRlZmluZWQgYWNjdW1tdWxhdGVMb2dzRm9yQ2hhbm5lbChET01T
dHJpbmcgY2hhbm5lbCk7CiAKICAgICAvLyBDb250ZXh0dWFsIG1lbnUgYWN0aW9ucwotICAgIHZv
aWQgc2V0QWxsb3dlZE1lbnVBY3Rpb25zKG9iamVjdCBhY3Rpb25zKTsKLSAgICB2b2lkIGluc3Rh
bGxDdXN0b21NZW51QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21pc3Nlc0F1dG9t
YXRpY2FsbHksIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93ZWRNZW51
QWN0aW9ucyhvYmplY3QgYWN0aW9ucyk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxDdXN0b21NZW51
QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21pc3Nlc0F1dG9tYXRpY2FsbHksIG9i
amVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBHYW1lcGFkCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBh
ZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIGlkLCBET01TdHJpbmcgbWFw
cGluZywgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxvbmcgYnV0dG9uQ291bnQp
OwotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgbG9uZyBpbmRleCwg
dW5zaWduZWQgbG9uZyBheGlzSW5kZXgsIGRvdWJsZSB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRNb2Nr
R2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYnV0
dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7Ci0gICAgdm9pZCBjb25uZWN0TW9ja0dhbWVwYWQodW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVwYWQodW5zaWdu
ZWQgbG9uZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNp
Z25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgaWQsIERPTVN0cmluZyBtYXBwaW5nLCB1bnNpZ25l
ZCBsb25nIGF4aXNDb3VudCwgdW5zaWduZWQgbG9uZyBidXR0b25Db3VudCk7CisgICAgdW5kZWZp
bmVkIHNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVk
IGxvbmcgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRNb2NrR2Ft
ZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYnV0dG9u
SW5kZXgsIGRvdWJsZSB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIGNvbm5lY3RNb2NrR2FtZXBhZCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB1bmRlZmluZWQgZGlzY29ubmVjdE1vY2tHYW1lcGFk
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiAgICAgLy8gUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNz
Ci0gICAgdm9pZCBjbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKERPTVN0cmluZyBkb21haW4p
OworICAgIHVuZGVmaW5lZCBjbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKERPTVN0cmluZyBk
b21haW4pOwogICAgIGJvb2xlYW4gZG9lc1N0YXRpc3RpY3NEb21haW5JREV4aXN0SW5EYXRhYmFz
ZSh1bnNpZ25lZCBsb25nIGRvbWFpbklEKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NFbmFibGVk
KGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzRW5hYmxlZChib29s
ZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0VwaGVtZXJhbCgpOwotICAgIHZv
aWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKG9iamVjdCBj
YWxsYmFjayk7Ci0gICAgdm9pZCBpbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBpbnN0YWxsU3RhdGlzdGljc0RpZFJ1
blRlbGVtZXRyeUNhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0
aWNzRGVidWdNb2RlKGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7Ci0g
ICAgdm9pZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoRE9NU3Ry
aW5nIGhvc3ROYW1lLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwotICAgIHZvaWQgc2V0U3Rh
dGlzdGljc0xhc3RTZWVuKERPTVN0cmluZyBob3N0TmFtZSwgZG91YmxlIHNlY29uZHMsIG9iamVj
dCBjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0
aWMoRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4xLCBET01TdHJp
bmcgdG9wRnJhbWVEb21haW4yLCBkb3VibGUgbGFzdFNlZW4sIGJvb2xlYW4gaGFkVXNlckludGVy
YWN0aW9uLCBkb3VibGUgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc0dyYW5k
ZmF0aGVyZWQsIGJvb2xlYW4gaXNQcmV2YWxlbnQsIGJvb2xlYW4gaXNWZXJ5UHJldmFsZW50LCB1
bnNpZ25lZCBsb25nIGRhdGFSZWNvcmRzUmVtb3ZlZCwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVy
KTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKERPTVN0cmluZyBob3N0
TmFtZSwgYm9vbGVhbiBoYWRVc2VySW50ZXJhY3Rpb24sIGJvb2xlYW4gaXNTY2hlZHVsZWRGb3JB
bGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgYm9vbGVhbiBpc1ByZXZhbGVudCwgb2JqZWN0IGNvbXBs
ZXRpb25IYW5kbGVyKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShE
T01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxl
cik7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKERPTVN0cmlu
ZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAg
ICB1bmRlZmluZWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNr
KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5z
dGFsbFN0YXRpc3RpY3NEaWRSdW5UZWxlbWV0cnlDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzRGVidWdNb2RlKGJvb2xlYW4gdmFsdWUsIG9iamVj
dCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZUZvckRlYnVnTW9kZShET01TdHJpbmcgaG9zdE5hbWUsIG9iamVjdCBjb21wbGV0
aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NMYXN0U2VlbihET01TdHJp
bmcgaG9zdE5hbWUsIGRvdWJsZSBzZWNvbmRzLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwor
ICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMoRE9NU3RyaW5nIGhvc3RO
YW1lLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4xLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4y
LCBkb3VibGUgbGFzdFNlZW4sIGJvb2xlYW4gaGFkVXNlckludGVyYWN0aW9uLCBkb3VibGUgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc0dyYW5kZmF0aGVyZWQsIGJvb2xlYW4g
aXNQcmV2YWxlbnQsIGJvb2xlYW4gaXNWZXJ5UHJldmFsZW50LCB1bnNpZ25lZCBsb25nIGRhdGFS
ZWNvcmRzUmVtb3ZlZCwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQg
c2V0U3RhdGlzdGljc0V4cGlyZWRTdGF0aXN0aWMoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFu
IGhhZFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsLCBib29sZWFuIGlzUHJldmFsZW50LCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIp
OworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5n
IGhvc3ROYW1lLCBib29sZWFuIHZhbHVlLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOworICAg
IHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBo
b3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBob3N0TmFtZSk7
CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5n
IGhvc3ROYW1lKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291
cmNlVW5kZXIoRE9NU3RyaW5nIHN1YnJlc291cmNlSG9zdCwgRE9NU3RyaW5nIHRvcEZyYW1lSG9z
dCk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKERP
TVN0cmluZyBzdWJGcmFtZUhvc3QsIERPTVN0cmluZyB0b3BGcmFtZUhvc3QpOwogICAgIGJvb2xl
YW4gaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbyhET01TdHJpbmcgaG9zdFJl
ZGlyZWN0ZWRGcm9tLCBET01TdHJpbmcgaG9zdFJlZGlyZWN0ZWRUbyk7Ci0gICAgdm9pZCBzZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVh
biB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQgc2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4g
dmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICBib29sZWFu
IGlzU3RhdGlzdGljc09ubHlJbkRhdGFiYXNlT25jZShET01TdHJpbmcgc3ViSG9zdCwgRE9NU3Ry
aW5nIHRvcEhvc3QpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3Ry
aW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGlj
c0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lKTsKLSAg
ICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERP
TVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9w
RnJhbWVIb3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJv
bShET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7Ci0g
ICAgdm9pZCBzZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBo
b3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKLSAgICB2b2lkIHNldFN0
YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0RnJvbShET01TdHJpbmcgaG9zdE5hbWUsIERP
TVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzQ3Jv
c3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbihET01TdHJpbmcgZnJvbUhvc3QsIERPTVN0cmlu
ZyB0b0hvc3QpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpOworICAgIHVuZGVmaW5lZCBzZXRVc2VJVFBEYXRhYmFzZShib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAg
ICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhET01T
dHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgdW5k
ZWZpbmVkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJvbShET01TdHJp
bmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgdW5kZWZp
bmVkIHNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8oRE9NU3RyaW5nIGhvc3RO
YW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVmaW5lZCBzZXRT
dGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oRE9NU3RyaW5nIGhvc3ROYW1lLCBE
T01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0
aWNzQ3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbihET01TdHJpbmcgZnJvbUhvc3QsIERP
TVN0cmluZyB0b0hvc3QpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgYm9vbGVhbiBzdGF0aXN0aWNzTm90
aWZ5T2JzZXJ2ZXIoKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERh
dGFSZWNvcmRzKCk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcob2Jq
ZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NTdWJtaXRUZWxlbWV0
cnkoKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NJc1J1bm5pbmdUZXN0KGJvb2xlYW4gdmFsdWUp
OwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0
YVJlY29yZHNSZW1vdmFsKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc01p
bmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChkb3VibGUgc2Vjb25kcyk7Ci0gICAg
dm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJpbmdUaW1lKGRvdWJsZSBzZWNvbmRzKTsKLSAg
ICB2b2lkIHNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNpZ25lZCBsb25nIGVu
dHJpZXMpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rvd25Ubyh1bnNpZ25l
ZCBsb25nIGVudHJpZXMpOwotICAgIHZvaWQgc3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmUob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NDbGVhcklu
TWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkIGxvbmcg
aG91cnMsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzQ2xlYXJUaHJvdWdo
V2Vic2l0ZURhdGFSZW1vdmFsKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNz
RGVsZXRlQ29va2llc0Zvckhvc3QoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIGluY2x1ZGVI
dHRwT25seUNvb2tpZXMpOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3Rp
Y3NBbmREYXRhUmVjb3JkcygpOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzVXBkYXRlQ29va2ll
QmxvY2tpbmcob2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQgc3RhdGlz
dGljc1N1Ym1pdFRlbGVtZXRyeSgpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1Nob3Vs
ZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc0dy
YW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRp
c3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNpZ25lZCBsb25nIGVudHJpZXMpOworICAgIHVu
ZGVmaW5lZCBzZXRTdGF0aXN0aWNzUHJ1bmVFbnRyaWVzRG93blRvKHVuc2lnbmVkIGxvbmcgZW50
cmllcyk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVu
dFN0b3JlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhcklu
TWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkIGxvbmcg
aG91cnMsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhclRo
cm91Z2hXZWJzaXRlRGF0YVJlbW92YWwob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQg
c3RhdGlzdGljc0RlbGV0ZUNvb2tpZXNGb3JIb3N0KERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVh
biBpbmNsdWRlSHR0cE9ubHlDb29raWVzKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0xv
Y2FsU3RvcmFnZShET01TdHJpbmcgaG9zdE5hbWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0Nh
Y2hlTWF4QWdlQ2FwKGRvdWJsZSBzZWNvbmRzKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVk
IHNldFN0YXRpc3RpY3NDYWNoZU1heEFnZUNhcChkb3VibGUgc2Vjb25kcyk7CisgICAgdW5kZWZp
bmVkIHN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKG9iamVjdCBjb21wbGV0aW9uSGFu
ZGxlcik7CiAgICAgYm9vbGVhbiBoYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9uKERPTVN0cmlu
ZyBob3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJy
ZXIoYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjYWxs
YmFjaywgb3B0aW9uYWwgYm9vbGVhbiBvbmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24p
OwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2Rl
KGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzU2V0
VG9TYW1lU2l0ZVN0cmljdENvb2tpZXMoRE9NU3RyaW5nIGhvc3ROYW1lLCBvYmplY3QgY2FsbGJh
Y2spOwotICAgIHZvaWQgc3RhdGlzdGljc1NldEZpcnN0UGFydHlIb3N0Q05BTUVEb21haW4oRE9N
U3RyaW5nIGZpcnN0UGFydHlVUkxTdHJpbmcsIERPTVN0cmluZyBjbmFtZVVSTFN0cmluZywgb2Jq
ZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NTZXRUaGlyZFBhcnR5Q05BTUVEb21h
aW4oRE9NU3RyaW5nIGNuYW1lVVJMU3RyaW5nLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQg
bG9hZGVkU3VicmVzb3VyY2VEb21haW5zKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
IHNldFN0YXRpc3RpY3NTaG91bGREb3duZ3JhZGVSZWZlcnJlcihib29sZWFuIHZhbHVlLCBvYmpl
Y3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGly
ZFBhcnR5Q29va2llcyhib29sZWFuIHZhbHVlLCBvYmplY3QgY2FsbGJhY2ssIG9wdGlvbmFsIGJv
b2xlYW4gb25seU9uU2l0ZXNXaXRob3V0VXNlckludGVyYWN0aW9uKTsKKyAgICB1bmRlZmluZWQg
c2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKGJvb2xlYW4gdmFs
dWUsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRUb1NhbWVT
aXRlU3RyaWN0Q29va2llcyhET01TdHJpbmcgaG9zdE5hbWUsIG9iamVjdCBjYWxsYmFjayk7Cisg
ICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRGaXJzdFBhcnR5SG9zdENOQU1FRG9tYWluKERPTVN0
cmluZyBmaXJzdFBhcnR5VVJMU3RyaW5nLCBET01TdHJpbmcgY25hbWVVUkxTdHJpbmcsIG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRUaGlyZFBhcnR5Q05BTUVE
b21haW4oRE9NU3RyaW5nIGNuYW1lVVJMU3RyaW5nLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVu
ZGVmaW5lZCBsb2FkZWRTdWJyZXNvdXJjZURvbWFpbnMob2JqZWN0IGNhbGxiYWNrKTsKIAogICAg
IC8vIEluamVjdGVkIGJ1bmRsZSBmb3JtIGNsaWVudC4KLSAgICB2b2lkIGluc3RhbGxUZXh0RGlk
Q2hhbmdlSW5UZXh0RmllbGRDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgaW5z
dGFsbFRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0NhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0g
ICAgdm9pZCBpbnN0YWxsVGV4dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrKG9iamVjdCBjYWxs
YmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxUZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsVGV4dEZpZWxkRGlk
QmVnaW5FZGl0aW5nQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5z
dGFsbFRleHRGaWVsZERpZEVuZEVkaXRpbmdDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwogCiAg
ICAgLy8gU3RvcmFnZSBBY2Nlc3MgQVBJCi0gICAgdm9pZCBnZXRBbGxTdG9yYWdlQWNjZXNzRW50
cmllcyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBnZXRBbGxTdG9yYWdlQWNjZXNz
RW50cmllcyhvYmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gT3BlbiBwYW5lbAotICAgIHZvaWQg
c2V0T3BlblBhbmVsRmlsZXMob2JqZWN0IGZpbGVzQXJyYXkpOwotICAgIHZvaWQgc2V0T3BlblBh
bmVsRmlsZXNNZWRpYUljb24ob2JqZWN0IG1lZGlhSWNvbik7CisgICAgdW5kZWZpbmVkIHNldE9w
ZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxlc0FycmF5KTsKKyAgICB1bmRlZmluZWQgc2V0T3BlblBh
bmVsRmlsZXNNZWRpYUljb24ob2JqZWN0IG1lZGlhSWNvbik7CiAKICAgICAvLyBNb2RhbCBhbGVy
dHMKLSAgICB2b2lkIHNldFNob3VsZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3Vz
bHkoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBhYm9ydE1vZGFsKCk7CisgICAgdW5kZWZpbmVk
IHNldFNob3VsZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3VzbHkoYm9vbGVhbiB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIGFib3J0TW9kYWwoKTsKIAotICAgIHZvaWQgc2V0V2ViUlRD
TUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0Q3Vz
dG9tVXNlckFnZW50KERPTVN0cmluZyB1c2VyQWdlbnQpOworICAgIHVuZGVmaW5lZCBzZXRXZWJS
VENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldEN1c3RvbVVzZXJBZ2VudChET01TdHJpbmcgdXNlckFnZW50KTsKIAotICAgIHZvaWQgc2V0
V2ViQVBJU3RhdGlzdGljc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNl
dFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogCi0gICAgdm9pZCB0ZXJt
aW5hdGVOZXR3b3JrUHJvY2VzcygpOwotICAgIHZvaWQgdGVybWluYXRlU2VydmljZVdvcmtlcnMo
KTsKLSAgICB2b2lkIHNldFVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MoYm9vbGVhbiB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIHRlcm1pbmF0ZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgdW5k
ZWZpbmVkIHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzKCk7CisgICAgdW5kZWZpbmVkIHNldFVzZVNl
cGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MoYm9vbGVhbiB2YWx1ZSk7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXJ2ZXJUcnVzdEV2YWx1YXRpb25DYWxsYmFja0Nh
bGxzQ291bnQ7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBkaWRDYW5jZWxDbGll
bnRSZWRpcmVjdDsKIAotICAgIHZvaWQgcmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzKG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFscyhv
YmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBnZXRBcHBsaWNhdGlvbk1hbmlmZXN0VGhlbihv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBnZXRBcHBsaWNhdGlvbk1hbmlmZXN0VGhl
bihvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBpbnN0YWxsRmFrZUhlbHZldGljYShET01T
dHJpbmcgY29uZmlndXJhdGlvbik7CisgICAgdW5kZWZpbmVkIGluc3RhbGxGYWtlSGVsdmV0aWNh
KERPTVN0cmluZyBjb25maWd1cmF0aW9uKTsKIAotICAgIHZvaWQgYWRkTW9ja0NhbWVyYURldmlj
ZShET01TdHJpbmcgcGVyc2lzdGVudElkLCBET01TdHJpbmcgbGFiZWwpOwotICAgIHZvaWQgYWRk
TW9ja01pY3JvcGhvbmVEZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxh
YmVsKTsKLSAgICB2b2lkIGFkZE1vY2tTY3JlZW5EZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJ
ZCwgRE9NU3RyaW5nIGxhYmVsKTsKLSAgICB2b2lkIGNsZWFyTW9ja01lZGlhRGV2aWNlcygpOwot
ICAgIHZvaWQgcmVtb3ZlTW9ja01lZGlhRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQpOwot
ICAgIHZvaWQgcmVzZXRNb2NrTWVkaWFEZXZpY2VzKCk7Ci0gICAgdm9pZCBzZXRNb2NrQ2FtZXJh
T3JpZW50YXRpb24odW5zaWduZWQgbG9uZyBvcmllbnRhdGlvbik7CisgICAgdW5kZWZpbmVkIGFk
ZE1vY2tDYW1lcmFEZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVs
KTsKKyAgICB1bmRlZmluZWQgYWRkTW9ja01pY3JvcGhvbmVEZXZpY2UoRE9NU3RyaW5nIHBlcnNp
c3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVsKTsKKyAgICB1bmRlZmluZWQgYWRkTW9ja1NjcmVlbkRl
dmljZShET01TdHJpbmcgcGVyc2lzdGVudElkLCBET01TdHJpbmcgbGFiZWwpOworICAgIHVuZGVm
aW5lZCBjbGVhck1vY2tNZWRpYURldmljZXMoKTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlTW9ja01l
ZGlhRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQpOworICAgIHVuZGVmaW5lZCByZXNldE1v
Y2tNZWRpYURldmljZXMoKTsKKyAgICB1bmRlZmluZWQgc2V0TW9ja0NhbWVyYU9yaWVudGF0aW9u
KHVuc2lnbmVkIGxvbmcgb3JpZW50YXRpb24pOwogICAgIGJvb2xlYW4gaXNNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKTsKIAogICAgIGJvb2xlYW4gaGFzQXBwQm91bmRTZXNz
aW9uKCk7Ci0gICAgdm9pZCBjbGVhckFwcEJvdW5kU2Vzc2lvbigpOwotICAgIHZvaWQgc2V0QXBw
Qm91bmREb21haW5zKG9iamVjdCBvcmlnaW5zQXJyYXksIG9iamVjdCBjYWxsYmFjayk7CisgICAg
dW5kZWZpbmVkIGNsZWFyQXBwQm91bmRTZXNzaW9uKCk7CisgICAgdW5kZWZpbmVkIHNldEFwcEJv
dW5kRG9tYWlucyhvYmplY3Qgb3JpZ2luc0FycmF5LCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAg
dm9pZCBpbmplY3RVc2VyU2NyaXB0KERPTVN0cmluZyBzdHJpbmcpOworICAgIHVuZGVmaW5lZCBp
bmplY3RVc2VyU2NyaXB0KERPTVN0cmluZyBzdHJpbmcpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHVzZXJTY3JpcHRJbmplY3RlZENvdW50OwogCi0gICAgdm9pZCBzZW5k
RGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkTWVzc2FnZUZvclRlc3RpbmcoKTsKKyAgICB1bmRl
ZmluZWQgc2VuZERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZE1lc3NhZ2VGb3JUZXN0aW5nKCk7
CiAKLSAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXQoZG91YmxlIHNlY29uZHMp
OworICAgIHVuZGVmaW5lZCBzZXRTZXJ2aWNlV29ya2VyRmV0Y2hUaW1lb3V0KGRvdWJsZSBzZWNv
bmRzKTsKIAogICAgIC8vIFdlYkF1dGhuCi0gICAgdm9pZCBhZGRUZXN0S2V5VG9LZXljaGFpbihE
T01TdHJpbmcgcHJpdmF0ZUtleUJhc2U2NCwgRE9NU3RyaW5nIGF0dHJMYWJlbCwgRE9NU3RyaW5n
IGFwcGxpY2F0aW9uVGFnQmFzZTY0KTsKLSAgICB2b2lkIGNsZWFuVXBLZXljaGFpbihET01TdHJp
bmcgYXR0ckxhYmVsLCBvcHRpb25hbCBET01TdHJpbmcgYXBwbGljYXRpb25MYWJlbEJhc2U2NCk7
CisgICAgdW5kZWZpbmVkIGFkZFRlc3RLZXlUb0tleWNoYWluKERPTVN0cmluZyBwcml2YXRlS2V5
QmFzZTY0LCBET01TdHJpbmcgYXR0ckxhYmVsLCBET01TdHJpbmcgYXBwbGljYXRpb25UYWdCYXNl
NjQpOworICAgIHVuZGVmaW5lZCBjbGVhblVwS2V5Y2hhaW4oRE9NU3RyaW5nIGF0dHJMYWJlbCwg
b3B0aW9uYWwgRE9NU3RyaW5nIGFwcGxpY2F0aW9uTGFiZWxCYXNlNjQpOwogICAgIGJvb2xlYW4g
a2V5RXhpc3RzSW5LZXljaGFpbihET01TdHJpbmcgYXR0ckxhYmVsLCBET01TdHJpbmcgYXBwbGlj
YXRpb25MYWJlbEJhc2U2NCk7CiAKICAgICAvLyBBZCBDbGljayBBdHRyaWJ1dGlvbgotICAgIHZv
aWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb24oKTsKLSAgICB2b2lkIGNsZWFyQWRDbGlja0F0dHJp
YnV0aW9uc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsKLSAgICB2b2lkIHNldEFkQ2xpY2tB
dHRyaWJ1dGlvbk92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGJvb2xlYW4gdmFsdWUpOwotICAgIHZv
aWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uQ29udmVyc2lvblVSTEZvclRlc3RpbmcoRE9NU3RyaW5n
IHVybCk7Ci0gICAgdm9pZCBtYXJrQWRDbGlja0F0dHJpYnV0aW9uc0FzRXhwaXJlZEZvclRlc3Rp
bmcoKTsKKyAgICB1bmRlZmluZWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb24oKTsKKyAgICB1bmRl
ZmluZWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb25zVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbCgp
OworICAgIHVuZGVmaW5lZCBzZXRBZENsaWNrQXR0cmlidXRpb25PdmVycmlkZVRpbWVyRm9yVGVz
dGluZyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWRDbGlja0F0dHJpYnV0aW9u
Q29udmVyc2lvblVSTEZvclRlc3RpbmcoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVkIG1h
cmtBZENsaWNrQXR0cmlidXRpb25zQXNFeHBpcmVkRm9yVGVzdGluZygpOwogfTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29u
dHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXh0
SW5wdXRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQsOSBAQAogICov
CiAKIGludGVyZmFjZSBUZXh0SW5wdXRDb250cm9sbGVyIHsKLSAgICB2b2lkIHNldE1hcmtlZFRl
eHQoRE9NU3RyaW5nIHN0cmluZywgbG9uZyBmcm9tLCBsb25nIGxlbmd0aCwgYm9vbGVhbiBzdXBw
cmVzc1VuZGVybGluZSwgb2JqZWN0IGhpZ2hsaWdodHMpOworICAgIHVuZGVmaW5lZCBzZXRNYXJr
ZWRUZXh0KERPTVN0cmluZyBzdHJpbmcsIGxvbmcgZnJvbSwgbG9uZyBsZW5ndGgsIGJvb2xlYW4g
c3VwcHJlc3NVbmRlcmxpbmUsIG9iamVjdCBoaWdobGlnaHRzKTsKICAgICBib29sZWFuIGhhc01h
cmtlZFRleHQoKTsKLSAgICB2b2lkIHVubWFya1RleHQoKTsKLSAgICB2b2lkIGluc2VydFRleHQo
RE9NU3RyaW5nIHN0cmluZyk7CisgICAgdW5kZWZpbmVkIHVubWFya1RleHQoKTsKKyAgICB1bmRl
ZmluZWQgaW5zZXJ0VGV4dChET01TdHJpbmcgc3RyaW5nKTsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407484</attachid>
            <date>2020-08-28 10:49:46 -0700</date>
            <delta_ts>2020-08-28 15:24:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215514-20200828104944.patch</filename>
            <type>text/plain</type>
            <size>545986</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3OSBAQAorMjAyMC0wOC0yNyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gJ3ZvaWQnIHR5cGUg
aXMgY2hhbmdpbmcgdG8gJ3VuZGVmaW5lZCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTUxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjc1NjYy
MDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBkYXRl
IElETHMgYW5kIElETCBwYXJzaW5nIC8gY29kZSBnZW5lcmF0aW9uIGZvciB0aGUgc3dpdGNoIGZy
b20gJ3ZvaWQnIHRvICd1bmRlZmluZWQnLgorICAgICAgICBBbHNvIHVwZGF0ZXMgdGhlIHBhcnNl
ciB0byBiZXR0ZXIgbWF0Y2ggY3VycmVudCBXZWJJREwgZ3JhbW1hciwgcmVtb3ZpbmcgdGhlIHNw
ZWNpYWwgCisgICAgICAgICdSZXR1cm5UeXBlJyBjb25zdHJ1Y3Rpb24gYW5kIGp1c3QgdXNpbmcg
J1R5cGUnIGluc3RlYWQuIAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9u
RXJyb3JDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaWRs
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgorICAgICAgICAqIE1vZHVsZXMv
cXVvdGEvU3RvcmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3JhZ2VR
dW90YUNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXli
YWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1
bHRSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNp
bmsuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250
cm9sbGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3Ry
ZWFtRGVmYXVsdFdyaXRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BbmFseXNl
ck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVk
U291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
V2ViS2l0QXVkaW9MaXN0ZW5lci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJL
aXRBdWRpb1Bhbm5lck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0
T3NjaWxsYXRvck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDYWxsYmFjay5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGw6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUv
V2ViR1BVVGV4dHVyZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5n
c1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmI6CisgICAgICAgICog
YW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGw6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmlkbDoKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0RPTVBy
b21pc2VQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5w
bToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKE5lZWRzRXhwbGljaXRQcm9wYWdhdGVFeGNlcHRpb25DYWxsKToKKyAgICAgICAgKEdlbmVy
YXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICAoR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIChHZXRCYXNlSURMVHlwZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZUNhbGxi
YWNrUmVzdCk6CisgICAgICAgIChwYXJzZUF0dHJpYnV0ZU9yT3BlcmF0aW9uRm9yU3RyaW5naWZp
ZXJPclN0YXRpYyk6CisgICAgICAgIChwYXJzZU9wZXJhdGlvbik6CisgICAgICAgIChwYXJzZVNw
ZWNpYWxPcGVyYXRpb24pOgorICAgICAgICAocGFyc2VNYXBMaWtlUHJvcGVydGllcyk6CisgICAg
ICAgIChwYXJzZVNldExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKHBhcnNlU2luZ2xlVHlwZSk6
CisgICAgICAgIChwYXJzZVVuaW9uTWVtYmVyVHlwZSk6CisgICAgICAgIChwYXJzZURpc3Rpbmd1
aXNoYWJsZVR5cGUpOgorICAgICAgICAocGFyc2VDb25zdFR5cGUpOgorICAgICAgICAocGFyc2VQ
cmltaXRpdmVUeXBlKToKKyAgICAgICAgKHBhcnNlTm9uQW55VHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgIChwYXJzZVJldHVyblR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0OjpoYW5k
bGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnM6OmhhbmRsZUV2ZW50
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5j
dGlvbldpdGhUeXBlZGVmcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxs
YmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbSk6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tJbnRl
cmZhY2U6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aEJvb2xlYW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdE9iakNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpUZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZUdldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1l
dGhvZEJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25V
bmRlZmluZWRNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJnc0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJncyk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRpb25hbFBy
b21pc2VCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
VGVzdFJldHVybnNPd25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb25Cb2R5KToKKyAgICAg
ICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZEJvZHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lk
TWV0aG9kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzQm9keSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1
bmN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9u
OjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFZvaWRDYWxsYmFja0Z1bmN0aW9uLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RDRVJlYWN0aW9ucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RDYWxsVHJhY2VyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5LmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0R2xvYmFsT2JqZWN0LmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEltcGxlbWVudHMuaWRsOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGw6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJU
aHJvd2luZ0V4Y2VwdGlvbi5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGw6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaWRsOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNl
cHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5p
ZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5pZGw6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1
aWx0aW5zLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJp
ZGVCdWlsdGlucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROb2Rl
LmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25CYXNlLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVtZW50
YWwuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRs
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rp
b24uaWRsOgorICAgICAgICAqIGNzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbDoKKyAgICAgICAgKiBj
c3MvQ1NTTWVkaWFSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRDYWxsYmFjay5pZGw6
CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbDoKKyAg
ICAgICAgKiBjc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGw6CisgICAgICAgICog
Y3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaWRsOgorICAgICAgICAqIGNz
cy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU01hdHJpeC5pZGw6
CisgICAgICAgICogZG9tL0Fib3J0QWxnb3JpdGhtLmlkbDoKKyAgICAgICAgKiBkb20vQWJvcnRD
b250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBkb20vQWJvcnRTaWduYWwuaWRsOgorICAgICAgICAq
IGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAgICAgKiBkb20vQ2hpbGROb2RlLmlkbDoKKyAg
ICAgICAgKiBkb20vQ29tcG9zaXRpb25FdmVudC5pZGw6CisgICAgICAgICogZG9tL0N1c3RvbUVs
ZW1lbnRSZWdpc3RyeS5pZGw6CisgICAgICAgICogZG9tL0N1c3RvbUV2ZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRE9NU3RyaW5nTWFwLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVyLmlk
bDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5pZGw6CisgICAgICAgICogZG9tL0Rh
dGFUcmFuc2Zlckl0ZW1MaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQu
aWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZ1bGxzY3JlZW4uaWRs
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaWRsOgorICAgICAgICAqIGRv
bS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9F
dmVudExpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAg
ICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9JZGxlUmVxdWVzdENh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5pZGw6CisgICAgICAgICog
ZG9tL01lc3NhZ2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmlkbDoKKyAg
ICAgICAgKiBkb20vTW91c2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL011dGF0aW9uQ2FsbGJh
Y2suaWRsOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20v
TXV0YXRpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAq
IGRvbS9Ob2RlSXRlcmF0b3IuaWRsOgorICAgICAgICAqIGRvbS9QYXJlbnROb2RlLmlkbDoKKyAg
ICAgICAgKiBkb20vUmFuZ2UuaWRsOgorICAgICAgICAqIGRvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5pZGw6CisgICAgICAgICogZG9tL1N0cmluZ0NhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBkb20vVGV4dEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5pZGw6Cisg
ICAgICAgICogZG9tL1VJRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9XaGVlbEV2ZW50LmlkbDoK
KyAgICAgICAgKiBmaWxlYXBpL0Jsb2JDYWxsYmFjay5pZGw6CisgICAgICAgICogZmlsZWFwaS9G
aWxlUmVhZGVyLmlkbDoKKyAgICAgICAgKiBodG1sL0RPTUZvcm1EYXRhLmlkbDoKKyAgICAgICAg
KiBodG1sL0RPTVRva2VuTGlzdC5pZGw6CisgICAgICAgICogaHRtbC9ET01VUkwuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTENh
bnZhc0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxk
U2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJv
d0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmlkbDoK
KyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5pZGw6CisgICAgICAgICogaHRtbC9VUkxT
ZWFyY2hQYXJhbXMuaWRsOgorICAgICAgICAqIGh0bWwvVm9pZENhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNEcmF3UGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UGF0aERyYXdpbmdTdHlsZXMuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1BhdHRl
cm4uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Rl
eHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1RyYW5zZm9ybS5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzVXNlckludGVyZmFjZS5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMv
T2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9QYXRoMkQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuaWRsOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQuaWRsOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsOgorICAgICAgICAqIGh0bWwv
dHJhY2svVGV4dFRyYWNrLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElI
b3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoK
KyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGw6CisgICAg
ICAgICogcGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL0hpc3Rv
cnkuaWRsOgorICAgICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsOgorICAgICAg
ICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFn
ZS9Mb2NhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAgICAgICAq
IHBhZ2UvTmF2aWdhdG9ySXNMb2dnZWRJbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JT
aGFyZS5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5pZGw6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsOgor
ICAgICAgICAqIHBhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHBhZ2UvUmVzaXpl
T2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9VbmRvTWFuYWdlci5pZGw6Cisg
ICAgICAgICogcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAgKiBw
bHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuaWRs
OgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5nbGUuaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVs
ZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaWRsOgorICAgICAgICAqIHN2Zy9T
VkdMZW5ndGhMaXN0LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6Cisg
ICAgICAgICogc3ZnL1NWR051bWJlckxpc3QuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2Vn
TGlzdC5pZGw6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAgICogc3Zn
L1NWR1NWR0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdTdHJpbmdMaXN0LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
VHJhbnNmb3JtLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGw6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGw6CisgICAg
ICAgICogdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5pZGw6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsOgorICAgICAgICAqIHRlc3Rpbmcv
V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1dlYlhSVGVz
dC5pZGw6CisgICAgICAgICogdGVzdGluZy9YUlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5jdGlv
bi5pZGw6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZl
bnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGw6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKyAgICAgICAgKiB3b3JrbGV0cy9QYWludFdv
cmtsZXRHbG9iYWxTY29wZS5pZGw6CisgICAgICAgICogd29ya2xldHMvV29ya2xldC5pZGw6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nl
c3Nvci5pZGw6CisKIDIwMjAtMDgtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIGluaXRpYWxpemVSZWFkYWJsZVN0cmVhbSBzaG91bGQgY2hlY2sgZm9yIGhp
Z2hXYXRlck1hcmsgYmUgdW5kZWZpbmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDE4ICs0NSwxOCBAQAogICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwg
TWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyBQcm9taXNlPGJvb2xlYW4+IGNhbk1ha2VQYXltZW50
c1dpdGhBY3RpdmVDYXJkKERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXIpOwogICAgIFtDYWxs
V2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyBQcm9taXNlPGJvb2xlYW4+
IG9wZW5QYXltZW50U2V0dXAoRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcik7CiAKLSAgICBb
Q2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGJlZ2luKCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFib3J0KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
LCBDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24o
YW55IG1lcmNoYW50U2Vzc2lvbik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSB1
cGRhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29u
dGFjdFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSB1cGRhdGUpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlIHVwZGF0ZSk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIGNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0IHJlc3VsdCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGJlZ2luKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWJv
cnQoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5k
ZWZpbmVkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGFueSBtZXJjaGFudFNlc3Npb24pOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RT
ZWxlY3Rpb24oQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSB1cGRhdGUpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9u
KEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZSB1cGRhdGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIGNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0
IHJlc3VsdCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVTaGlwcGlu
Z01ldGhvZFNlbGVjdGlvbih1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEFwcGxlUGF5TGluZUl0ZW0g
bmV3VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9u
KHVuc2lnbmVkIHNob3J0IHN0YXR1cywgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4g
bmV3U2hpcHBpbmdNZXRob2RzLCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5jZTxB
cHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlMaW5lSXRlbSBuZXdU
b3RhbCwgc2VxdWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbmV3TGluZUl0ZW1zKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVQYXltZW50KHVuc2lnbmVkIHNob3J0IHN0YXR1
cyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVTaGlwcGluZ01l
dGhvZFNlbGVjdGlvbih1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIEFwcGxlUGF5TGluZUl0ZW0gbmV3
VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rp
b24odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0aG9k
PiBuZXdTaGlwcGluZ01ldGhvZHMsIEFwcGxlUGF5TGluZUl0ZW0gbmV3VG90YWwsIHNlcXVlbmNl
PEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5TGluZUl0
ZW0gbmV3VG90YWwsIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29tcGxldGVQYXltZW50KHVuc2lnbmVk
IHNob3J0IHN0YXR1cyk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udmFsaWRhdGVt
ZXJjaGFudDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucGF5bWVudG1ldGhvZHNlbGVj
dGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw2ICszMyw2IEBAIHR5cGVkZWYgc2VxdWVuY2U8Q2xpcGJvYXJkSXRlbT4gQ2xpcGJvYXIKIF0g
aW50ZXJmYWNlIENsaXBib2FyZCA6IEV2ZW50VGFyZ2V0IHsKICAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPENsaXBib2FyZEl0ZW1zPiByZWFkKCk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxET01T
dHJpbmc+IHJlYWRUZXh0KCk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZShD
bGlwYm9hcmRJdGVtcyBkYXRhKTsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRl
VGV4dChET01TdHJpbmcgZGF0YSk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+
IHdyaXRlKENsaXBib2FyZEl0ZW1zIGRhdGEpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dW5k
ZWZpbmVkPiB3cml0ZVRleHQoRE9NU3RyaW5nIGRhdGEpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzQsOSArMzQsOSBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1CiBd
IGludGVyZmFjZSBET01DYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNo
KFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNo
QWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRp
b25zIG9wdGlvbnMpOwotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJ
bmZvIHJlcXVlc3QpOwotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVl
bmNlPFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lk
PiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CisgICAg
W05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0KTsK
KyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gYWRkQWxsKHNlcXVlbmNlPFJlcXVl
c3RJbmZvPiByZXF1ZXN0cyk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IHB1
dChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKICAgICBbTmV3
T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxib29sZWFuPiBkZWxldGUoUmVx
dWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAg
ICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxSZXF1ZXN0Pj4ga2V5cyhvcHRpb25hbCBS
ZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Ny
ZWRlbnRpYWxzQ29udGFpbmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVu
dC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDUgKzM0LDUg
QEAKICAgICBQcm9taXNlPEJhc2ljQ3JlZGVudGlhbD8+IGdldChvcHRpb25hbCBDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMgb3B0aW9ucyk7CiAgICAgUHJvbWlzZTxCYXNpY0NyZWRlbnRpYWw+IHN0
b3JlKEJhc2ljQ3JlZGVudGlhbCBjcmVkZW50aWFsKTsKICAgICBQcm9taXNlPEJhc2ljQ3JlZGVu
dGlhbD8+IGNyZWF0ZShvcHRpb25hbCBDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMp
OwotICAgIFByb21pc2U8dm9pZD4gcHJldmVudFNpbGVudEFjY2VzcygpOworICAgIFByb21pc2U8
dW5kZWZpbmVkPiBwcmV2ZW50U2lsZW50QWNjZXNzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5o
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNsb3NlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQg
cmVtb3ZlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCi0gICAgdXNpbmcgQ2xvc2VkUHJvbWlz
ZSA9IERPTVByb21pc2VQcm94eTxJRExWb2lkPjsKKyAgICB1c2luZyBDbG9zZWRQcm9taXNlID0g
RE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD47CiAgICAgQ2xvc2VkUHJvbWlzZSYgY2xvc2Vk
KCkgeyByZXR1cm4gbV9jbG9zZWRQcm9taXNlLmdldCgpOyB9CiAKICAgICBjb25zdCBWZWN0b3I8
c3RkOjpwYWlyPFJlZjxTaGFyZWRCdWZmZXI+LCBNZWRpYUtleVN0YXR1cz4+JiBzdGF0dXNlcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RhdHVzZXM7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTMgKzM1LDEzIEBACiBd
IGludGVyZmFjZSBNZWRpYUtleVNlc3Npb24gOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBzZXNzaW9uSWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
cmVzdHJpY3RlZCBkb3VibGUgZXhwaXJhdGlvbjsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZTx2b2lkPiBjbG9zZWQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dW5kZWZp
bmVkPiBjbG9zZWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5U3RhdHVzTWFwIGtl
eVN0YXR1c2VzOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25rZXlzdGF0dXNlc2NoYW5n
ZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKLSAgICBQcm9taXNlPHZv
aWQ+IGdlbmVyYXRlUmVxdWVzdChET01TdHJpbmcgaW5pdERhdGFUeXBlLCBCdWZmZXJTb3VyY2Ug
aW5pdERhdGEpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBnZW5lcmF0ZVJlcXVlc3QoRE9NU3Ry
aW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRhKTsKICAgICBQcm9taXNlPGJv
b2w+IGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7Ci0gICAgUHJvbWlzZTx2b2lkPiB1cGRhdGUo
QnVmZmVyU291cmNlIHJlc3BvbnNlKTsKLSAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7Ci0gICAg
UHJvbWlzZTx2b2lkPiByZW1vdmUoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gdXBkYXRlKEJ1
ZmZlclNvdXJjZSByZXNwb25zZSk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGNsb3NlKCk7Cisg
ICAgUHJvbWlzZTx1bmRlZmluZWQ+IHJlbW92ZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdh
Y3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNz
aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMsOCBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcga2V5U3lzdGVtOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgc2Vzc2lvbklkOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHVwZGF0ZShV
aW50OEFycmF5IGtleSk7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHVwZGF0ZShVaW50OEFycmF5IGtleSk7CisgICAgdW5kZWZpbmVkIGNsb3Nl
KCk7CiAgICAgCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGtleWFkZGVkOwog
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRrZXllcnJvcjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9F
cnJvckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIEVycm9yQ2FsbGJh
Y2sgPSB2b2lkIChET01FeGNlcHRpb24gZXJyb3IpOworY2FsbGJhY2sgRXJyb3JDYWxsYmFjayA9
IHVuZGVmaW5lZCAoRE9NRXhjZXB0aW9uIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZUNhbGxiYWNrLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIEZpbGVDYWxsYmFjayA9IHZvaWQgKEZpbGUg
ZmlsZSk7CitjYWxsYmFjayBGaWxlQ2FsbGJhY2sgPSB1bmRlZmluZWQgKEZpbGUgZmlsZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9y
eUVudHJ5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEyICsyOCwxMiBAQAogXSBpbnRlcmZhY2UgRmlsZVN5
c3RlbURpcmVjdG9yeUVudHJ5IDogRmlsZVN5c3RlbUVudHJ5IHsKICAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dF0gRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFk
ZXIoKTsKIAotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldEZp
bGUob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB1bmRlZmluZWQgZ2V0RmlsZShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgsCiAg
ICAgICAgIG9wdGlvbmFsIEZpbGVTeXN0ZW1GbGFncyBvcHRpb25zLAogICAgICAgICBvcHRpb25h
bCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICBvcHRp
b25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIAotICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldERpcmVjdG9yeShvcHRpb25hbCBVU1ZTdHJpbmc/
IHBhdGgsCisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHVuZGVmaW5lZCBn
ZXREaXJlY3Rvcnkob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAogICAgICAgICBvcHRpb25hbCBG
aWxlU3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5
Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgb3B0aW9uYWwgRXJyb3JDYWxsYmFj
az8gZXJyb3JDYWxsYmFjayk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUg
QEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgRW5hYmxlZEF0UnVudGltZT1EaXJlY3RvcnlV
cGxvYWQsCiBdIGludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIHsKLSAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCByZWFkRW50cmllcyhGaWxlU3lzdGVt
RW50cmllc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8g
ZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHVu
ZGVmaW5lZCByZWFkRW50cmllcyhGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yMyw0ICsyMyw0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayA9
IHZvaWQgKHNlcXVlbmNlPEZpbGVTeXN0ZW1FbnRyeT4gZW50cmllcyk7CitjYWxsYmFjayBGaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrID0gdW5kZWZpbmVkIChzZXF1ZW5jZTxGaWxlU3lzdGVtRW50
cnk+IGVudHJpZXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1FbnRyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw1ICszNCw1IEBACiAgICAgW0ltcGxlbWVudGVkQXM9dmlydHVhbFBhdGhd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgZnVsbFBhdGg7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTUZpbGVTeXN0ZW0gZmlsZXN5c3RlbTsKIAotICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0XSB2b2lkIGdldFBhcmVudChvcHRpb25hbCBGaWxlU3lzdGVtRW50cnlD
YWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNh
bGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVk
IGdldFBhcmVudChvcHRpb25hbCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxi
YWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2su
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cnlDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnlDYWxsYmFjay5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDQgKzIzLDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi1jYWxsYmFjayBGaWxlU3lzdGVtRW50cnlDYWxsYmFjayA9IHZvaWQgKEZp
bGVTeXN0ZW1FbnRyeSBlbnRyeSk7CitjYWxsYmFjayBGaWxlU3lzdGVtRW50cnlDYWxsYmFjayA9
IHVuZGVmaW5lZCAoRmlsZVN5c3RlbUVudHJ5IGVudHJ5KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNSArMjYsNSBA
QAogWwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9RGlyZWN0b3J5VXBsb2FkLAogXSBpbnRlcmZhY2Ug
RmlsZVN5c3RlbUZpbGVFbnRyeSA6IEZpbGVTeXN0ZW1FbnRyeSB7Ci0gICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZmlsZShGaWxlQ2FsbGJhY2sgc3VjY2Vzc0NhbGxi
YWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIGZpbGUoRmlsZUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEhlYWRlcnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMSArMzYsMTEgQEAgdHlwZWRlZiAo
c2VxdWVuY2U8c2VxdWVuY2U8Qnl0ZVN0cmluZz4+IAogXSBpbnRlcmZhY2UgRmV0Y2hIZWFkZXJz
IHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJ
bml0IGluaXQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFwcGVuZChCeXRlU3Ry
aW5nIG5hbWUsIEJ5dGVTdHJpbmcgdmFsdWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1w
bGVtZW50ZWRBcz1yZW1vdmVdIHZvaWQgZGVsZXRlKEJ5dGVTdHJpbmcgbmFtZSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kKEJ5dGVTdHJpbmcgbmFtZSwgQnl0ZVN0
cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXJlbW92
ZV0gdW5kZWZpbmVkIGRlbGV0ZShCeXRlU3RyaW5nIG5hbWUpOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gQnl0ZVN0cmluZz8gZ2V0KEJ5dGVTdHJpbmcgbmFtZSk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBib29sZWFuIGhhcyhCeXRlU3RyaW5nIG5hbWUpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXQoQnl0ZVN0cmluZyBuYW1lLCBCeXRlU3RyaW5nIHZhbHVlKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXQoQnl0ZVN0cmluZyBuYW1lLCBCeXRlU3Ry
aW5nIHZhbHVlKTsKIAogICAgIGl0ZXJhYmxlPEJ5dGVTdHJpbmcsIEJ5dGVTdHJpbmc+OwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKIF0gaW50
ZXJmYWNlIEdlb2xvY2F0aW9uIHsKICAgICAvLyBGSVhNRTogUG9zaXRpb25FcnJvckNhbGxiYWNr
IHNob3VsZCBub3QgYmUgbnVsbGFibGUKLSAgICB2b2lkIGdldEN1cnJlbnRQb3NpdGlvbihQb3Np
dGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICB1bmRlZmluZWQgZ2V0Q3VycmVudFBv
c2l0aW9uKFBvc2l0aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9wdGlvbmFsIFBvc2l0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFj
aywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBQb3NpdGlvbk9wdGlvbnMg
b3B0aW9ucyk7CiAKQEAgLTM5LDYgKzM5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgb3B0
aW9uYWwgUG9zaXRpb25FcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrLAogICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBQb3NpdGlvbk9wdGlvbnMgb3B0aW9ucyk7CiAKLSAgICB2b2lk
IGNsZWFyV2F0Y2gobG9uZyB3YXRjaElkKTsKKyAgICB1bmRlZmluZWQgY2xlYXJXYXRjaChsb25n
IHdhdGNoSWQpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlv
bi9Qb3NpdGlvbkNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1H
RU9MT0NBVElPTiwKLV0gY2FsbGJhY2sgUG9zaXRpb25DYWxsYmFjayA9IHZvaWQgKEdlb2xvY2F0
aW9uUG9zaXRpb24/IHBvc2l0aW9uKTsgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBudWxs
YWJsZS4KK10gY2FsbGJhY2sgUG9zaXRpb25DYWxsYmFjayA9IHVuZGVmaW5lZCAoR2VvbG9jYXRp
b25Qb3NpdGlvbj8gcG9zaXRpb24pOyAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IGJlIG51bGxh
YmxlLgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0ICsyNCw0IEBACiAKIFsKICAgICBDb25kaXRpb25h
bD1HRU9MT0NBVElPTiwKLV0gY2FsbGJhY2sgUG9zaXRpb25FcnJvckNhbGxiYWNrID0gdm9pZCAo
R2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yIGVycm9yKTsKK10gY2FsbGJhY2sgUG9zaXRpb25FcnJv
ckNhbGxiYWNrID0gdW5kZWZpbmVkIChHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IgZXJyb3IpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBACiAgICAgW0N1c3Rv
bUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBwcmltYXJ5S2V5OwogCiAgICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgdXBkYXRlKGFu
eSB2YWx1ZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkdmFuY2UoW0VuZm9yY2VS
YW5nZV0gdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwg
SW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBj
b250aW51ZShvcHRpb25hbCBhbnkga2V5KTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb250aW51ZVByaW1hcnlLZXkoYW55IGtleSwgYW55IHBy
aW1hcnlLZXkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkdmFuY2UoW0Vu
Zm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBjb3VudCk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdCwgSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGNvbnRpbnVlKG9wdGlvbmFsIGFueSBrZXkpOworICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29udGludWVQcmltYXJ5S2V5
KGFueSBrZXksIGFueSBwcmltYXJ5S2V5KTsKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBJ
bXBsZW1lbnRlZEFzPWRlbGV0ZUZ1bmN0aW9uLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVxdWVz
dCBkZWxldGUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDE0ICszNCwxNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9iamVj
dFN0b3JlTmFtZXM7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIElEQk9iamVjdFN0b3JlIGNy
ZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZyBuYW1lLCBvcHRpb25hbCBJREJPYmplY3RTdG9yZVBh
cmFtZXRlcnMgcGFyYW1ldGVycyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0
ZU9iamVjdFN0b3JlKERPTVN0cmluZyBuYW1lKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBkZWxldGVPYmplY3RTdG9yZShET01TdHJpbmcgbmFtZSk7CiAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKChET01TdHJpbmcgb3Igc2Vx
dWVuY2U8RE9NU3RyaW5nPikgc3RvcmVOYW1lcywgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2Rl
IG1vZGUgPSAicmVhZG9ubHkiKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCBwYXJ0IG9m
IHRoZSBzcGVjLCBidXQgaXMgbmVlZGVkIGZvciBjb21wYXRpYmlsaXR5LgogICAgIC8vIFNlZSBo
dHRwczovL2dpdGh1Yi5jb20vdzNjL0luZGV4ZWREQi9pc3N1ZXMvODUKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3Qgc3RvcmVO
YW1lcywgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlIG1vZGUgPSAicmVhZG9ubHkiKTsKLSAg
ICB2b2lkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKICAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNsb3Nl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1
OSw3IEBAIHR5cGVkZWYgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmcKICAgICBbQ2Fs
bFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVxdWVzdCBnZXRBbGxL
ZXlzKGFueSBrZXksIG9wdGlvbmFsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgY291bnQp
OwogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSBJREJJbmRl
eCBjcmVhdGVJbmRleChET01TdHJpbmcgbmFtZSwgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01T
dHJpbmc+KSBrZXlQYXRoLCBvcHRpb25hbCBJREJJbmRleFBhcmFtZXRlcnMgb3B0aW9ucyk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBJREJJbmRleCBpbmRleChET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZUluZGV4KERPTVN0cmluZyBuYW1lKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxldGVJbmRleChET01TdHJpbmcg
bmFtZSk7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIElE
QlJlcXVlc3QgY291bnQob3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlID0gbnVsbCk7CiAgICAg
W0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgY291
bnQoYW55IGtleSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUV4Y2VwdGlv
biBlcnJvcjsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSURCT2JqZWN0U3RvcmUgb2JqZWN0
U3RvcmUoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhYm9y
dCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFib3J0KCk7CiAKICAgICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbmNvbXBsZXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xz
L01lZGlhQ29udHJvbHNIb3N0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hv
c3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIGVudW0gRGV2aWNlVHlwZSB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFjayBjYXB0aW9uTWVudU9mZkl0ZW07CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFjayBjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW07
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjYXB0aW9uRGlzcGxheU1vZGU7Ci0g
ICAgdm9pZCBzZXRTZWxlY3RlZFRleHRUcmFjayhUZXh0VHJhY2s/IHRyYWNrKTsKKyAgICB1bmRl
ZmluZWQgc2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4dFRyYWNrPyB0cmFjayk7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxFbGVtZW50IHRleHRUcmFja0NvbnRhaW5lcjsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzRnVsbHNjcmVlbjsKQEAgLTU1LDkgKzU1LDkg
QEAgZW51bSBEZXZpY2VUeXBlIHsKIAogICAgIGF0dHJpYnV0ZSBib29sZWFuIGNvbnRyb2xzRGVw
ZW5kT25QYWdlU2NhbGVGYWN0b3I7CiAgICAgCi0gICAgdm9pZCB1cGRhdGVUZXh0VHJhY2tDb250
YWluZXIoKTsKLSAgICB2b2lkIGVudGVyZWRGdWxsc2NyZWVuKCk7Ci0gICAgdm9pZCBleGl0ZWRG
dWxsc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZVRleHRUcmFja0NvbnRhaW5lcigpOwor
ICAgIHVuZGVmaW5lZCBlbnRlcmVkRnVsbHNjcmVlbigpOworICAgIHVuZGVmaW5lZCBleGl0ZWRG
dWxsc2NyZWVuKCk7CiAKICAgICBET01TdHJpbmcgZ2VuZXJhdGVVVUlEKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEgKzQ3
LDExIEBAIGVudW0gUmVjb3JkaW5nU3RhdGUgeyAiaW5hY3RpdmUiLCAicmVjb3IKICAgICAvLyBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBhdWRpb0JpdHNQZXJTZWNvbmQ7CiAgICAg
Ly8gcmVhZG9ubHkgYXR0cmlidXRlIEJpdHJhdGVNb2RlIGF1ZGlvQml0cmF0ZU1vZGU7CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRSZWNvcmRpbmddIHZvaWQg
c3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xpY2UpOwotICAgIFtJbXBsZW1lbnRl
ZEFzPXN0b3BSZWNvcmRpbmddIHZvaWQgc3RvcCgpOwotICAgIC8vIHZvaWQgcGF1c2UoKTsKLSAg
ICAvLyB2b2lkIHJlc3VtZSgpOwotICAgIHZvaWQgcmVxdWVzdERhdGEoKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRSZWNvcmRpbmddIHVuZGVmaW5lZCBzdGFy
dChvcHRpb25hbCB1bnNpZ25lZCBsb25nIHRpbWVzbGljZSk7CisgICAgW0ltcGxlbWVudGVkQXM9
c3RvcFJlY29yZGluZ10gdW5kZWZpbmVkIHN0b3AoKTsKKyAgICAvLyB1bmRlZmluZWQgcGF1c2Uo
KTsKKyAgICAvLyB1bmRlZmluZWQgcmVzdW1lKCk7CisgICAgdW5kZWZpbmVkIHJlcXVlc3REYXRh
KCk7CiAKICAgICAvLyBzdGF0aWMgYm9vbGVhbiBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5nIHR5
cGUpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlh
U2Vzc2lvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNl
c3Npb24vTWVkaWFTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMsOSArMzMsOSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVNlc3Npb25LaW5k
IGtpbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhUmVtb3RlQ29udHJvbHM/IGNvbnRy
b2xzOwogCi0gICAgdm9pZCBzZXRNZXRhZGF0YShNZWRpYU1ldGFkYXRhPyBtZXRhZGF0YSk7Cisg
ICAgdW5kZWZpbmVkIHNldE1ldGFkYXRhKE1lZGlhTWV0YWRhdGE/IG1ldGFkYXRhKTsKIAotICAg
IHZvaWQgZGVhY3RpdmF0ZSgpOworICAgIHVuZGVmaW5lZCBkZWFjdGl2YXRlKCk7CiB9OwogCiBl
bnVtIE1lZGlhU2Vzc2lvbktpbmQgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwxNiArNTUsMTYgQEAgZW51bSBSZWFkeVN0YXRlIHsKICAgICBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBkdXJhdGlvbjsKIAogICAgIFtOZXdPYmplY3QsIE1heVRo
cm93RXhjZXB0aW9uXSBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBl
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJj
ZUJ1ZmZlciBidWZmZXIpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92
ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIgYnVmZmVyKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBSZWFkeVN0YXRlIHJlYWR5U3RhdGU7CiAgICAgCi0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9mU3RyZWFtRXJyb3IgZXJyb3IpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9m
U3RyZWFtRXJyb3IgZXJyb3IpOwogCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZCAoRE9NU3RyaW5nIHR5cGUpOwogCi0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldExpdmVTZWVrYWJsZVJhbmdlKGRvdWJsZSBz
dGFydCwgZG91YmxlIGVuZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyTGl2
ZVNlZWthYmxlUmFuZ2UoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRM
aXZlU2Vla2FibGVSYW5nZShkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyTGl2ZVNlZWthYmxlUmFuZ2UoKTsKIAogICAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zb3VyY2VvcGVuOwogICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25zb3VyY2VlbmRlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNTcsMTEgKzU3LDExIEBACiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgYXBwZW5kV2luZG93RW5kOwogCiAgICAgLy8gQXBwZW5kIHNlZ21lbnQgZGF0YS4KLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSBkYXRh
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcHBlbmRCdWZmZXIoQnVmZmVy
U291cmNlIGRhdGEpOwogCiAgICAgLy8gQWJvcnQgdGhlIGN1cnJlbnQgc2VnbWVudCBhcHBlbmQg
c2VxdWVuY2UuCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFib3J0KCk7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZShkb3VibGUgc3RhcnQsIHVucmVzdHJpY3RlZCBk
b3VibGUgZW5kKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhYm9ydCgpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92ZShkb3VibGUgc3RhcnQsIHVu
cmVzdHJpY3RlZCBkb3VibGUgZW5kKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb251
cGRhdGVzdGFydDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udXBkYXRlOwpAQCAtNjks
NSArNjksNSBAQAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uYWJvcnQ7CiAKLSAgICBbRW5hYmxlZEJ5U2V0dGluZz1Tb3Vy
Y2VCdWZmZXJDaGFuZ2VUeXBlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjaGFuZ2VUeXBlKERP
TVN0cmluZyB0eXBlKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Tb3VyY2VCdWZmZXJDaGFuZ2VU
eXBlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNoYW5nZVR5cGUoRE9NU3RyaW5nIHR5
cGUpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFz
Q2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Nh
bnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNSAr
MjcsNSBAQAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAogXSBpbnRlcmZhY2UgQ2FudmFzQ2Fw
dHVyZU1lZGlhU3RyZWFtVHJhY2sgOiBNZWRpYVN0cmVhbVRyYWNrIHsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzOwotICAgIHZvaWQgcmVxdWVzdEZyYW1l
KCk7CisgICAgdW5kZWZpbmVkIHJlcXVlc3RGcmFtZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQAogICAgIFtQcml2YXRlSWRl
bnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gc2VxdWVuY2U8TWVkaWFTdHJlYW1UcmFjaz4gZ2V0
VHJhY2tzKCk7CiAgICAgTWVkaWFTdHJlYW1UcmFjayBnZXRUcmFja0J5SWQoRE9NU3RyaW5nIHRy
YWNrSWQpOwogCi0gICAgdm9pZCBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKLSAg
ICB2b2lkIHJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOworICAgIHVuZGVmaW5l
ZCBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKKyAgICB1bmRlZmluZWQgcmVtb3Zl
VHJhY2soTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7CiAKICAgICBNZWRpYVN0cmVhbSBjbG9uZSgp
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDEyICs0NSwxMiBAQCBlbnVtIE1lZGlhU3RyZWFtVHJhY2tTdGF0ZSB7ICJsaXZl
IiwgImVuCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVuZGVkOwogCiAgICAgTWVkaWFT
dHJlYW1UcmFjayBjbG9uZSgpOwotICAgIFtJbXBsZW1lbnRlZEFzPXN0b3BUcmFja10gdm9pZCBz
dG9wKCk7CisgICAgW0ltcGxlbWVudGVkQXM9c3RvcFRyYWNrXSB1bmRlZmluZWQgc3RvcCgpOwog
CiAgICAgTWVkaWFUcmFja0NhcGFiaWxpdGllcyBnZXRDYXBhYmlsaXRpZXMoKTsKICAgICBNZWRp
YVRyYWNrQ29uc3RyYWludHMgZ2V0Q29uc3RyYWludHMoKTsKICAgICBNZWRpYVRyYWNrU2V0dGlu
Z3MgZ2V0U2V0dGluZ3MoKTsKLSAgICBQcm9taXNlPHZvaWQ+IGFwcGx5Q29uc3RyYWludHMob3B0
aW9uYWwgTWVkaWFUcmFja0NvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKKyAgICBQcm9taXNlPHVu
ZGVmaW5lZD4gYXBwbHlDb25zdHJhaW50cyhvcHRpb25hbCBNZWRpYVRyYWNrQ29uc3RyYWludHMg
Y29uc3RyYWludHMpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm92ZXJjb25zdHJh
aW5lZDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmln
YXRvck1lZGlhRGV2aWNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2
aWNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDUgKzMzLDUgQEAKICAgICBFbmFibGVkQXRS
dW50aW1lPU1lZGlhRGV2aWNlcywKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAg
ICBbU2FtZU9iamVjdCwgU2VjdXJlQ29udGV4dCwgQ29udGV4dEFsbG93c01lZGlhRGV2aWNlc10g
cmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhRGV2aWNlcyBtZWRpYURldmljZXM7Ci0gICAgW0N1c3Rv
bSwgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lHZXRVc2VyTWVkaWFdIHZvaWQgZ2V0VXNlck1lZGlh
KG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ssIG9iamVjdD8gZXJy
b3JDYWxsYmFjayk7CisgICAgW0N1c3RvbSwgRW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lHZXRVc2Vy
TWVkaWFdIHVuZGVmaW5lZCBnZXRVc2VyTWVkaWEob2JqZWN0IGNvbnN0cmFpbnRzLCBvYmplY3Q/
IHN1Y2Nlc3NDYWxsYmFjaywgb2JqZWN0PyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDRFRNRlNlbmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICAg
ICBDb25kaXRpb25hbD1XRUJfUlRDLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVlckNvbm5lY3Rp
b24sCiBdIGludGVyZmFjZSBSVENEVE1GU2VuZGVyIDogRXZlbnRUYXJnZXQgewotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnREVE1GKERPTVN0cmluZyB0b25lcywgb3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IDEwMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbnRl
clRvbmVHYXAgPSA3MCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW5zZXJ0
RFRNRihET01TdHJpbmcgdG9uZXMsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgZHVyYXRpb24gPSAx
MDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW50ZXJUb25lR2FwID0gNzApOwogICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb250b25lY2hhbmdlOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gY2FuSW5zZXJ0RFRNRjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTIgKzQzLDEyIEBACiAKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGJpbmFyeVR5cGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChB
cnJheUJ1ZmZlciBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChBcnJh
eUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQoQmxv
YiBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChVU1ZTdHJpbmcgZGF0
YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChBcnJheUJ1ZmZlciBk
YXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEJsb2Ig
ZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChVU1ZTdHJpbmcg
ZGF0YSk7CiAKLSAgICB2b2lkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKICAg
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3BlbjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9uZXJyb3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgdHlwZWRlZiAob2JqZWN0IG9yIERPTVN0
cmluZykgQWxnb3JpdGhtSQogICAgIFtKU0J1aWx0aW4sIENhbGxXaXRoPURvY3VtZW50XSBjb25z
dHJ1Y3RvcigpOwogCiAgICAgLy8gSlMgYnVpbHQtaW4gY29uc3RydWN0b3IgaGFuZGxlcyB0aGUg
b3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbgotICAgIFtQcml2YXRlSWRlbnRpZmllciwgQ2FsbFdp
dGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGluaXRpYWxpemVXaXRoKFJUQ0Nv
bmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBDYWxs
V2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbml0aWFsaXplV2l0
aChSVENDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogCiAKICAgICAvLyA0LjMuMiBJbnRl
cmZhY2UgRGVmaW5pdGlvbgpAQCAtODcsMTcgKzg3LDE3IEBAIHR5cGVkZWYgKG9iamVjdCBvciBE
T01TdHJpbmcpIEFsZ29yaXRobUkKICAgICBbSlNCdWlsdGluXSBQcm9taXNlPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZU9mZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvZmZl
ck9wdGlvbnMpOwogICAgIFtKU0J1aWx0aW5dIFByb21pc2U8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdD4gY3JlYXRlQW5zd2VyKG9wdGlvbmFsIFJUQ0Fuc3dlck9wdGlvbnMgYW5zd2VyT3B0aW9u
cyk7CiAKLSAgICBbSlNCdWlsdGluXSBQcm9taXNlPHZvaWQ+IHNldExvY2FsRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbik7CisgICAgW0pTQnVpbHRpbl0g
UHJvbWlzZTx1bmRlZmluZWQ+IHNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uSW5pdCBkZXNjcmlwdGlvbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbj8gbG9jYWxEZXNjcmlwdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uPyBjdXJyZW50TG9jYWxEZXNjcmlwdGlvbjsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBwZW5kaW5nTG9jYWxEZXNjcmlwdGlv
bjsKIAotICAgIFtKU0J1aWx0aW5dIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbik7CisgICAgW0pTQnVpbHRpbl0g
UHJvbWlzZTx1bmRlZmluZWQ+IHNldFJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkluaXQgZGVzY3JpcHRpb24pOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9u
RGVzY3JpcHRpb24/IHJlbW90ZURlc2NyaXB0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBS
VENTZXNzaW9uRGVzY3JpcHRpb24/IGN1cnJlbnRSZW1vdGVEZXNjcmlwdGlvbjsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBwZW5kaW5nUmVtb3RlRGVzY3Jp
cHRpb247CiAKLSAgICBbSlNCdWlsdGluXSBQcm9taXNlPHZvaWQ+IGFkZEljZUNhbmRpZGF0ZSgo
UlRDSWNlQ2FuZGlkYXRlSW5pdCBvciBSVENJY2VDYW5kaWRhdGUpIGNhbmRpZGF0ZSk7CisgICAg
W0pTQnVpbHRpbl0gUHJvbWlzZTx1bmRlZmluZWQ+IGFkZEljZUNhbmRpZGF0ZSgoUlRDSWNlQ2Fu
ZGlkYXRlSW5pdCBvciBSVENJY2VDYW5kaWRhdGUpIGNhbmRpZGF0ZSk7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgUlRDU2lnbmFsaW5nU3RhdGUgc2lnbmFsaW5nU3RhdGU7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIGljZUdhdGhlcmluZ1N0YXRlOwpAQCAt
MTA3LDggKzEwNyw4IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJpbmcpIEFsZ29yaXRobUkK
ICAgICAvLyBGSVhNRSAxNjk2NDQ6IG1pc3NpbmcgZGVmYXVsdEljZVNlcnZlcnMKIAogICAgIFJU
Q0NvbmZpZ3VyYXRpb24gZ2V0Q29uZmlndXJhdGlvbigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRDb25maWd1cmF0aW9uKFJUQ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7
Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dENvbmZpZ3VyYXRpb24oUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICB1bmRl
ZmluZWQgY2xvc2UoKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25uZWdvdGlhdGlv
bm5lZWRlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uaWNlY2FuZGlkYXRlOwpAQCAt
MTIyLDkgKzEyMiw5IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJpbmcpIEFsZ29yaXRobUkK
ICAgICAvLyBTZWUgUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMuanMuCiAgICAgW1ByaXZhdGVJ
ZGVudGlmaWVyXSBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IHF1ZXVlZENyZWF0
ZU9mZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvZmZlck9wdGlvbnMpOwogICAgIFtQcml2
YXRlSWRlbnRpZmllcl0gUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBxdWV1ZWRD
cmVhdGVBbnN3ZXIob3B0aW9uYWwgUlRDQW5zd2VyT3B0aW9ucyBhbnN3ZXJPcHRpb25zKTsKLSAg
ICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dm9pZD4gcXVldWVkU2V0TG9jYWxEZXNjcmlw
dGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAgIFtQcml2YXRlSWRl
bnRpZmllcl0gUHJvbWlzZTx2b2lkPiBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNz
aW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJv
bWlzZTx2b2lkPiBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlPyBjYW5kaWRh
dGUpOworICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZTx1bmRlZmluZWQ+IHF1ZXVlZFNl
dExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsKKyAg
ICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dW5kZWZpbmVkPiBxdWV1ZWRTZXRSZW1vdGVE
ZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOworICAgIFtQcml2
YXRlSWRlbnRpZmllcl0gUHJvbWlzZTx1bmRlZmluZWQ+IHF1ZXVlZEFkZEljZUNhbmRpZGF0ZShS
VENJY2VDYW5kaWRhdGU/IGNhbmRpZGF0ZSk7CiAKIAogICAgIC8vIDQuMTEgQ2VydGlmaWNhdGUg
bWFuYWdlbWVudApAQCAtMTM3LDcgKzEzNyw3IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJp
bmcpIEFsZ29yaXRobUkKICAgICBzZXF1ZW5jZTxSVENSdHBUcmFuc2NlaXZlcj4gZ2V0VHJhbnNj
ZWl2ZXJzKCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJUQ1J0cFNlbmRlciBhZGRUcmFj
ayhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBNZWRpYVN0cmVhbS4uLiBzdHJlYW1zKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlVHJhY2soUlRDUnRwU2VuZGVyIHNlbmRlcik7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlVHJhY2soUlRDUnRwU2Vu
ZGVyIHNlbmRlcik7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFJUQ1J0cFRyYW5zY2VpdmVy
IGFkZFRyYW5zY2VpdmVyKChNZWRpYVN0cmVhbVRyYWNrIG9yIERPTVN0cmluZykgdHJhY2ssIG9w
dGlvbmFsIFJUQ1J0cFRyYW5zY2VpdmVySW5pdCBpbml0KTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBACiAgICAgLy8gRklYTUUg
MTY5NjYyOiBtaXNzaW5nIHNldFN0cmVhbXMKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gc3RhdGljIFJUQ1J0cENhcGFiaWxpdGllcz8gZ2V0Q2FwYWJpbGl0aWVzKERPTVN0
cmluZyBraW5kKTsKICAgICBSVENSdHBTZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7Ci0g
ICAgUHJvbWlzZTx2b2lkPiBzZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBhcmFt
ZXRlcnMpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHZv
aWQ+IHJlcGxhY2VUcmFjayhNZWRpYVN0cmVhbVRyYWNrPyB3aXRoVHJhY2spOworICAgIFByb21p
c2U8dW5kZWZpbmVkPiBzZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBhcmFtZXRl
cnMpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHVuZGVm
aW5lZD4gcmVwbGFjZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2s/IHdpdGhUcmFjayk7CiAgICAgUHJv
bWlzZTxSVENTdGF0c1JlcG9ydD4gZ2V0U3RhdHMoKTsKIAogICAgIFtDb25kaXRpb25hbD1XRUJf
UlRDLCBFbmFibGVkQXRSdW50aW1lPVdlYlJUQ0RUTUZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENE
VE1GU2VuZGVyPyBkdG1mOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2NlaXZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw2IEBAIHR5cGVkZWYgUlRDUnRwVHJhbnNj
ZWl2ZXJEaXJlY3Rpb24gUnRwVHIKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzdG9w
cGVkOwogICAgIGF0dHJpYnV0ZSBSdHBUcmFuc2NlaXZlckRpcmVjdGlvbiBkaXJlY3Rpb247CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uPyBjdXJyZW50
RGlyZWN0aW9uOwotICAgIHZvaWQgc3RvcCgpOwotICAgIHZvaWQgc2V0Q29kZWNQcmVmZXJlbmNl
cyhzZXF1ZW5jZTxSVENSdHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjcyk7CisgICAgdW5kZWZpbmVk
IHN0b3AoKTsKKyAgICB1bmRlZmluZWQgc2V0Q29kZWNQcmVmZXJlbmNlcyhzZXF1ZW5jZTxSVENS
dHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjcyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAgICAgW0NhbGxXaXRo
PURvY3VtZW50XSBjb25zdHJ1Y3RvcihET01TdHJpbmcgdGl0bGUsIG9wdGlvbmFsIE5vdGlmaWNh
dGlvbk9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyBy
ZWFkb25seSBhdHRyaWJ1dGUgTm90aWZpY2F0aW9uUGVybWlzc2lvbiBwZXJtaXNzaW9uOwotICAg
IFtDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9u
YWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBkZXByZWNhdGVkQ2FsbGJhY2spOyAv
LyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZTxOb3RpZmljYXRpb25QZXJtaXNz
aW9uPi4KKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyB1bmRlZmluZWQgcmVxdWVzdFBl
cm1pc3Npb24ob3B0aW9uYWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBkZXByZWNh
dGVkQ2FsbGJhY2spOyAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZTxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uPi4KIAogICAgIC8vIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBtYXhBY3Rpb25zOwogCkBAIC02MSwxMCArNjEsMTAgQEAKICAgICAvLyBb
U2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBkYXRhOwogICAgIC8vIFtTYW1lT2Jq
ZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8Tm90aWZpY2F0aW9uQWN0aW9uPiBh
Y3Rpb25zOwogCi0gICAgdm9pZCBjbG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogCiAg
ICAgLy8gTGVnYWN5LiBOb3QgaW4gdGhlIHNwZWNpZmljYXRpb24uCi0gICAgdm9pZCBzaG93KCk7
CisgICAgdW5kZWZpbmVkIHNob3coKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25j
bG9zZTsKICAgICBbSW1wbGVtZW50ZWRBcz1vbnNob3ddIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25kaXNwbGF5OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw0ICsyNSw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAot
XSBjYWxsYmFjayBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2sgPSB2b2lkIChOb3RpZmlj
YXRpb25QZXJtaXNzaW9uIHBlcm1pc3Npb24pOworXSBjYWxsYmFjayBOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2sgPSB1bmRlZmluZWQgKE5vdGlmaWNhdGlvblBlcm1pc3Npb24gcGVybWlz
c2lvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWV0aG9kTmFtZTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHZhbGlkYXRpb25VUkw7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIGNvbXBsZXRlKFByb21pc2U8YW55PiBtZXJjaGFudFNlc3Npb25Qcm9taXNlKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb21wbGV0ZShQcm9taXNlPGFueT4g
bWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7CiB9OwogCiBbCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihzZXF1
ZW5jZTxQYXltZW50TWV0aG9kRGF0YT4gbWV0aG9kRGF0YSwgUGF5bWVudERldGFpbHNJbml0IGRl
dGFpbHMsIG9wdGlvbmFsIFBheW1lbnRPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgW0NhbGxXaXRo
PURvY3VtZW50XSBQcm9taXNlPFBheW1lbnRSZXNwb25zZT4gc2hvdyhvcHRpb25hbCBQcm9taXNl
PFBheW1lbnREZXRhaWxzVXBkYXRlPiBkZXRhaWxzUHJvbWlzZSk7Ci0gICAgUHJvbWlzZTx2b2lk
PiBhYm9ydCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBhYm9ydCgpOwogICAgIFtDYWxsV2l0
aD1Eb2N1bWVudF0gUHJvbWlzZTxib29sZWFuPiBjYW5NYWtlUGF5bWVudCgpOwogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dFVwZGF0ZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQAogXSBpbnRlcmZhY2UgUGF5bWVudFJlcXVlc3RVcGRh
dGVFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9u
YWwgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdXBkYXRlV2l0aChQcm9taXNlPFBheW1lbnREZXRhaWxz
VXBkYXRlPiBkZXRhaWxzUHJvbWlzZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgdXBkYXRlV2l0aChQcm9taXNlPFBheW1lbnREZXRhaWxzVXBkYXRlPiBkZXRhaWxzUHJvbWlz
ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZz8gcGF5ZXJFbWFpbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBw
YXllclBob25lOwogCi0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBjb21wbGV0ZShvcHRp
b25hbCBQYXltZW50Q29tcGxldGUgcmVzdWx0ID0gInVua25vd24iKTsKLSAgICBbTmV3T2JqZWN0
XSBQcm9taXNlPHZvaWQ+IHJldHJ5KG9wdGlvbmFsIFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzIGVy
cm9yRmllbGRzKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gY29tcGxldGUo
b3B0aW9uYWwgUGF5bWVudENvbXBsZXRlIHJlc3VsdCA9ICJ1bmtub3duIik7CisgICAgW05ld09i
amVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IHJldHJ5KG9wdGlvbmFsIFBheW1lbnRWYWxpZGF0aW9u
RXJyb3JzIGVycm9yRmllbGRzKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wYXll
cmRldGFpbGNoYW5nZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BpY3R1cmVp
bnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0
dXJlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9waWN0
dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDUgKzMwLDUgQEAKIF0gcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHBpY3R1cmVJblBpY3R1cmVFbmFibGVkOwogCi0gICAg
W05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBleGl0UGljdHVyZUluUGljdHVyZSgpOworICAgIFtO
ZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVkPiBleGl0UGljdHVyZUluUGljdHVyZSgpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQAogICAgIFtDdXN0b21HZXR0ZXJdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBhbnkgdGltZWRNZXRhRGF0YTsKICAgICBbQ3VzdG9tR2V0dGVyXSBy
ZWFkb25seSBhdHRyaWJ1dGUgYW55IGFjY2Vzc0xvZzsKICAgICBbQ3VzdG9tR2V0dGVyXSByZWFk
b25seSBhdHRyaWJ1dGUgYW55IGVycm9yTG9nOwotICAgIHZvaWQgcG9zdEV2ZW50KERPTVN0cmlu
ZyBldmVudE5hbWUpOworICAgIHVuZGVmaW5lZCBwb3N0RXZlbnQoRE9NU3RyaW5nIGV2ZW50TmFt
ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlRXJyb3JD
YWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9T
dG9yYWdlRXJyb3JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw0ICszMCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1RVU9UQSwKLV0gY2FsbGJh
Y2sgU3RvcmFnZUVycm9yQ2FsbGJhY2sgPSB2b2lkIChET01FeGNlcHRpb24gZXJyb3IpOworXSBj
YWxsYmFjayBTdG9yYWdlRXJyb3JDYWxsYmFjayA9IHVuZGVmaW5lZCAoRE9NRXhjZXB0aW9uIGVy
cm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8u
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VJbmZvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNiBAQAogICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
UEVSU0lTVEVOVCA9IDE7CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
dm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEodW5zaWduZWQgc2hvcnQgc3RvcmFnZVR5cGUsIG9wdGlv
bmFsIFN0b3JhZ2VVc2FnZUNhbGxiYWNrPyB1c2FnZUNhbGxiYWNrLCBvcHRpb25hbCBTdG9yYWdl
RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIHZvaWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBl
LCB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25hbCBTdG9yYWdlUXVv
dGFDYWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/
IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1
bmRlZmluZWQgcXVlcnlVc2FnZUFuZFF1b3RhKHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBlLCBv
cHRpb25hbCBTdG9yYWdlVXNhZ2VDYWxsYmFjaz8gdXNhZ2VDYWxsYmFjaywgb3B0aW9uYWwgU3Rv
cmFnZUVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0XSB1bmRlZmluZWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIHNob3J0IHN0
b3JhZ2VUeXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25hbCBT
dG9yYWdlUXVvdGFDYWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9y
Q2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNiBAQAogICAgIENvbmRpdGlvbmFsPVFVT1RBLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBTdG9yYWdlUXVvdGEgewotICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShTdG9yYWdl
VXNhZ2VDYWxsYmFjayB1c2FnZUNhbGxiYWNrLCBvcHRpb25hbCBTdG9yYWdlRXJyb3JDYWxsYmFj
az8gZXJyb3JDYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IHZvaWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIG9w
dGlvbmFsIFN0b3JhZ2VRdW90YUNhbGxiYWNrPyBxdW90YUNhbGxiYWNrLCBvcHRpb25hbCBTdG9y
YWdlRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIHVuZGVmaW5lZCBxdWVyeVVzYWdlQW5kUXVvdGEoU3RvcmFnZVVzYWdl
Q2FsbGJhY2sgdXNhZ2VDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVy
cm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1bmRl
ZmluZWQgcmVxdWVzdFF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YUluQnl0ZXMsIG9w
dGlvbmFsIFN0b3JhZ2VRdW90YUNhbGxiYWNrPyBxdW90YUNhbGxiYWNrLCBvcHRpb25hbCBTdG9y
YWdlRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGFDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGFDYWxsYmFjay5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1
b3RhQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0IEBACiAKIFsKICAg
ICBDb25kaXRpb25hbD1RVU9UQSwKLV0gY2FsbGJhY2sgU3RvcmFnZVF1b3RhQ2FsbGJhY2sgPSB2
b2lkICh1bnNpZ25lZCBsb25nIGxvbmcgZ3JhbnRlZFF1b3RhSW5CeXRlcyk7CitdIGNhbGxiYWNr
IFN0b3JhZ2VRdW90YUNhbGxiYWNrID0gdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGxvbmcgZ3Jh
bnRlZFF1b3RhSW5CeXRlcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlVXNhZ2VDYWxsYmFjay5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVFVT1RB
LAotXSBjYWxsYmFjayBTdG9yYWdlVXNhZ2VDYWxsYmFjayA9IHZvaWQgKHVuc2lnbmVkIGxvbmcg
bG9uZyBjdXJyZW50VXNhZ2VJbkJ5dGVzLCB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFF1b3Rh
SW5CeXRlcyk7CitdIGNhbGxiYWNrIFN0b3JhZ2VVc2FnZUNhbGxiYWNrID0gdW5kZWZpbmVkICh1
bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFVzYWdlSW5CeXRlcywgdW5zaWduZWQgbG9uZyBsb25n
IGN1cnJlbnRRdW90YUluQnl0ZXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxh
eWJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw2IEBAIGludGVyZmFjZSBSZW1v
dGVQbGF5YmFjayA6IEV2ZW50VGFyZ2V0IHsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
ZGlzY29ubmVjdDsKIAogICAgIFByb21pc2U8bG9uZz4gd2F0Y2hBdmFpbGFiaWxpdHkoUmVtb3Rl
UGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgUHJvbWlzZTx2b2lk
PiBjYW5jZWxXYXRjaEF2YWlsYWJpbGl0eShvcHRpb25hbCBsb25nIGlkKTsKLSAgICBQcm9taXNl
PHZvaWQ+IHByb21wdCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjYW5jZWxXYXRjaEF2YWls
YWJpbGl0eShvcHRpb25hbCBsb25nIGlkKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcHJvbXB0
KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhl
c2lzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5ICsz
MSw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3BlYWtpbmc7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogCi0gICAgdm9pZCBzcGVhayhTcGVlY2hT
eW50aGVzaXNVdHRlcmFuY2UgdXR0ZXJhbmNlKTsKLSAgICB2b2lkIGNhbmNlbCgpOwotICAgIHZv
aWQgcGF1c2UoKTsKLSAgICB2b2lkIHJlc3VtZSgpOworICAgIHVuZGVmaW5lZCBzcGVhayhTcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UgdXR0ZXJhbmNlKTsKKyAgICB1bmRlZmluZWQgY2FuY2VsKCk7
CisgICAgdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHJlc3VtZSgpOwogICAgIHNl
cXVlbmNlPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBnZXRWb2ljZXMoKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDkgQEAKIF0gaW50ZXJmYWNlIFJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIgewogICAgIGNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwg
YW55IHVuZGVybHlpbmdCeXRlU291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspOwog
Ci0gICAgW05vdEVudW1lcmFibGVdIHZvaWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOwot
ICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIGNsb3NlKCk7Ci0gICAgW05vdEVudW1lcmFibGVdIHZv
aWQgZXJyb3Iob3B0aW9uYWwgYW55IGVycm9yKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5kZWZp
bmVkIGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5k
ZWZpbmVkIGNsb3NlKCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCBlcnJvcihvcHRp
b25hbCBhbnkgZXJyb3IpOwogCiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IGJ5b2JSZXF1ZXN0OwogICAgIFtOb3RFbnVtZXJh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGRlc2lyZWRTaXplOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
QllPQlJlYWRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw3ICszMyw3IEBACiAKICAgICBbTm90RW51bWVyYWJsZV0gUHJvbWlzZTxhbnk+IHJlYWQo
b3B0aW9uYWwgYW55IHZpZXcpOwogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4gY2Fu
Y2VsKG9wdGlvbmFsIGFueSByZWFzb24pOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIHJlbGVh
c2VMb2NrKCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZWxlYXNlTG9jaygpOwog
CiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPGJvb2xlYW4+
IGNsb3NlZDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDggQEAKIF0gaW50ZXJmYWNl
IFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgewogICAgIGNvbnN0cnVjdG9yKFJlYWRhYmxlQnl0
ZVN0cmVhbUNvbnRyb2xsZXIgY29udHJvbGxlciwgVHlwZWRBcnJheSB2aWV3KTsKIAotICAgIFtO
b3RFbnVtZXJhYmxlXSB2b2lkIHJlc3BvbmQob3B0aW9uYWwgYW55IGJ5dGVzV3JpdHRlbik7Ci0g
ICAgW05vdEVudW1lcmFibGVdIHZvaWQgcmVzcG9uZFdpdGhOZXdWaWV3KG9wdGlvbmFsIGFueSB2
aWV3KTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5kZWZpbmVkIHJlc3BvbmQob3B0aW9uYWwgYW55
IGJ5dGVzV3JpdHRlbik7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZXNwb25kV2l0
aE5ld1ZpZXcob3B0aW9uYWwgYW55IHZpZXcpOwogCiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBUeXBlZEFycmF5IHZpZXc7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw5ICszNCw5IEBACiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyIHsKICAgICBjb25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0s
IGFueSB1bmRlcmx5aW5nU291cmNlLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcg
aGlnaFdhdGVyTWFyayk7CiAKLSAgICBbTm90RW51bWVyYWJsZV0gdm9pZCBlbnF1ZXVlKG9wdGlv
bmFsIGFueSBjaHVuayk7Ci0gICAgW05vdEVudW1lcmFibGVdIHZvaWQgY2xvc2UoKTsKLSAgICBb
Tm90RW51bWVyYWJsZV0gdm9pZCBlcnJvcihvcHRpb25hbCBhbnkgZXJyb3IpOworICAgIFtOb3RF
bnVtZXJhYmxlXSB1bmRlZmluZWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOworICAgIFtO
b3RFbnVtZXJhYmxlXSB1bmRlZmluZWQgY2xvc2UoKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5k
ZWZpbmVkIGVycm9yKG9wdGlvbmFsIGFueSBlcnJvcik7CiAKICAgICBbTm90RW51bWVyYWJsZV0g
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkZXNpcmVkU2l6ZTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1EZWZhdWx0UmVhZGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM2LDcgKzM2LDcgQEAKIAogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFu
eT4gcmVhZCgpOwogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4gY2FuY2VsKG9wdGlv
bmFsIGFueSByZWFzb24pOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIHJlbGVhc2VMb2NrKCk7
CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCByZWxlYXNlTG9jaygpOwogCiAgICAgW05v
dEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPGJvb2xlYW4+IGNsb3NlZDsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1T
aW5rLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1TaW5rLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDcgKzI4LDcgQEAKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBTa2lwVlRhYmxlVmFs
aWRhdGlvbgogXSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1TaW5rIHsKLSAgICB2b2lkIGVucXVl
dWUoQnVmZmVyU291cmNlIGNodW5rKTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0gICAgdm9pZCBlcnJv
cihET01TdHJpbmcgbWVzc2FnZSk7CisgICAgdW5kZWZpbmVkIGVucXVldWUoQnVmZmVyU291cmNl
IGNodW5rKTsKKyAgICB1bmRlZmluZWQgY2xvc2UoKTsKKyAgICB1bmRlZmluZWQgZXJyb3IoRE9N
U3RyaW5nIG1lc3NhZ2UpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsOSBAQAogICAgIE5vSW50ZXJmYWNlT2Jq
ZWN0LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVh
bVNvdXJjZSB7Ci0gICAgW0N1c3RvbV0gUHJvbWlzZTx2b2lkPiBzdGFydChSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOwotICAgIFtDdXN0b21dIFByb21pc2U8dm9p
ZD4gcHVsbChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOwotICAg
IHZvaWQgY2FuY2VsKGFueSByZWFzb24pOworICAgIFtDdXN0b21dIFByb21pc2U8dW5kZWZpbmVk
PiBzdGFydChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIpOworICAg
IFtDdXN0b21dIFByb21pc2U8dW5kZWZpbmVkPiBwdWxsKFJlYWRhYmxlU3RyZWFtRGVmYXVsdENv
bnRyb2xsZXIgY29udHJvbGxlcik7CisgICAgdW5kZWZpbmVkIGNhbmNlbChhbnkgcmVhc29uKTsK
IAogICAgIC8vIFBsYWNlIGhvbGRlciB0byBrZWVwIHRoZSBjb250cm9sbGVyIGxpbmtlZCB0byB0
aGUgc291cmNlLgogICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3RvbUdldHRlcl0gcmVhZG9ubHkg
YXR0cmlidXRlIGFueSBjb250cm9sbGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENv
bnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw3IEBACiBdIGludGVyZmFjZSBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0
Q29udHJvbGxlciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/
IGRlc2lyZWRTaXplOwogCi0gICAgdm9pZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7Ci0g
ICAgdm9pZCBlcnJvcihvcHRpb25hbCBhbnkgcmVhc29uKTsKLSAgICB2b2lkIHRlcm1pbmF0ZSgp
OworICAgIHVuZGVmaW5lZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7CisgICAgdW5kZWZp
bmVkIGVycm9yKG9wdGlvbmFsIGFueSByZWFzb24pOworICAgIHVuZGVmaW5lZCB0ZXJtaW5hdGUo
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDUgKzMwLDUgQEAK
ICAgICBQcml2YXRlSWRlbnRpZmllciwKICAgICBQdWJsaWNJZGVudGlmaWVyCiBdIGludGVyZmFj
ZSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIHsKLSAgICB2b2lkIGVycm9yKG9wdGlv
bmFsIGFueSBlKTsKKyAgICB1bmRlZmluZWQgZXJyb3Iob3B0aW9uYWwgYW55IGUpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbURlZmF1bHRX
cml0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9X
cml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDEyIEBACiBdIGludGVyZmFjZSBXcml0YWJs
ZVN0cmVhbURlZmF1bHRXcml0ZXIgewogICAgIGNvbnN0cnVjdG9yKFdyaXRhYmxlU3RyZWFtIHN0
cmVhbSk7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPiBjbG9zZWQ7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZWQ7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IGRlc2lyZWRTaXplOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPHZvaWQ+IHJlYWR5OworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBQcm9taXNlPHVuZGVmaW5lZD4gcmVhZHk7CiAKLSAgICBQcm9taXNlPHZvaWQ+IGFib3J0
KG9wdGlvbmFsIGFueSByZWFzb24pOwotICAgIFByb21pc2U8dm9pZD4gY2xvc2UoKTsKLSAgICB2
b2lkIHJlbGVhc2VMb2NrKCk7Ci0gICAgUHJvbWlzZTx2b2lkPiB3cml0ZShvcHRpb25hbCBhbnkg
Y2h1bmspOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBhYm9ydChvcHRpb25hbCBhbnkgcmVhc29u
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gY2xvc2UoKTsKKyAgICB1bmRlZmluZWQgcmVsZWFz
ZUxvY2soKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gd3JpdGUob3B0aW9uYWwgYW55IGNodW5r
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9k
ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFs
eXNlck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDEwICs0MCwx
MCBAQAogCiAgICAgLy8gQ29waWVzIHRoZSBjdXJyZW50IGZyZXF1ZW5jeSBkYXRhIGludG8gdGhl
IHBhc3NlZCBhcnJheS4KICAgICAvLyBJZiB0aGUgYXJyYXkgaGFzIGZld2VyIGVsZW1lbnRzIHRo
YW4gdGhlIGZyZXF1ZW5jeUJpbkNvdW50LCB0aGUgZXhjZXNzIGVsZW1lbnRzIHdpbGwgYmUgZHJv
cHBlZC4KLSAgICB2b2lkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkgYXJyYXkp
OwotICAgIHZvaWQgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoVWludDhBcnJheSBhcnJheSk7CisgICAg
dW5kZWZpbmVkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkgYXJyYXkpOworICAg
IHVuZGVmaW5lZCBnZXRCeXRlRnJlcXVlbmN5RGF0YShVaW50OEFycmF5IGFycmF5KTsKIAogICAg
IC8vIFJlYWwtdGltZSB3YXZlZm9ybSBkYXRhCi0gICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJu
VW5wcmVmaXhlZFdlYkF1ZGlvXSB2b2lkIGdldEZsb2F0VGltZURvbWFpbkRhdGEoRmxvYXQzMkFy
cmF5IGFycmF5KTsKLSAgICB2b2lkIGdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5IGFy
cmF5KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIHVu
ZGVmaW5lZCBnZXRGbG9hdFRpbWVEb21haW5EYXRhKEZsb2F0MzJBcnJheSBhcnJheSk7CisgICAg
dW5kZWZpbmVkIGdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5IGFycmF5KTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDggKzQwLDggQEAKIAogICAgIC8v
IENoYW5uZWwgYWNjZXNzCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBGbG9hdDMyQXJyYXkgZ2V0
Q2hhbm5lbERhdGEodW5zaWduZWQgbG9uZyBjaGFubmVsSW5kZXgpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIHZvaWQg
Y29weUZyb21DaGFubmVsKEZsb2F0MzJBcnJheSBkZXN0aW5hdGlvbiwgdW5zaWduZWQgbG9uZyBj
aGFubmVsTnVtYmVyLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGJ1ZmZlck9mZnNldCA9IDApOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVk
V2ViQXVkaW9dIHZvaWQgY29weVRvQ2hhbm5lbChGbG9hdDMyQXJyYXkgc291cmNlLCB1bnNpZ25l
ZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zmc2V0
ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVu
cHJlZml4ZWRXZWJBdWRpb10gdW5kZWZpbmVkIGNvcHlGcm9tQ2hhbm5lbChGbG9hdDMyQXJyYXkg
ZGVzdGluYXRpb24sIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJs
ZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB1bmRlZmluZWQgY29weVRvQ2hh
bm5lbChGbG9hdDMyQXJyYXkgc291cmNlLCB1bnNpZ25lZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zmc2V0ID0gMCk7CiAKICAgICAvLyBGSVhNRTog
VGhpcyBpcyBub3QgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlvbi4KICAgICBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGZsb2F0IGdhaW47IC8vIGxpbmVhciBnYWluIChkZWZhdWx0IDEuMCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
ckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0J1ZmZlckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NCArMzAsNCBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRl
VG9KU09iamVjdCwKLV0gY2FsbGJhY2sgQXVkaW9CdWZmZXJDYWxsYmFjayA9IHZvaWQgKEF1ZGlv
QnVmZmVyPyBhdWRpb0J1ZmZlcik7CitdIGNhbGxiYWNrIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgPSB1
bmRlZmluZWQgKEF1ZGlvQnVmZmVyPyBhdWRpb0J1ZmZlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcg
QEAKICAgICBhdHRyaWJ1dGUgZG91YmxlIGxvb3BTdGFydDsKICAgICBhdHRyaWJ1dGUgZG91Ymxl
IGxvb3BFbmQ7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRM
YXRlcl0gdm9pZCBzdGFydChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDAsIG9wdGlvbmFsIGRvdWJs
ZSBncmFpbk9mZnNldCA9IDAsIG9wdGlvbmFsIGRvdWJsZSBncmFpbkR1cmF0aW9uKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRMYXRlcl0gdW5kZWZpbmVkIHN0
YXJ0KG9wdGlvbmFsIGRvdWJsZSB3aGVuID0gMCwgb3B0aW9uYWwgZG91YmxlIGdyYWluT2Zmc2V0
ID0gMCwgb3B0aW9uYWwgZG91YmxlIGdyYWluRHVyYXRpb24pOwogCiAgICAgLy8gRklYTUU6IFRo
b3NlIGNvbnN0YW50cyBhcmUga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHRo
ZSBwcmVmaXhlZCBBUEkgYW5kIHNob3VsZAogICAgIC8vIGJlIHJlbW92ZWQgb25jZSB3ZSBzdG9w
IHN1cHBvcnRpbmcgaXQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5
LDkgKzM5LDkgQEAKIAogICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3ddIEF1ZGlvVGltZXN0YW1w
IGdldE91dHB1dFRpbWVzdGFtcCgpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VzcGVuZFJlbmRl
cmluZ10gUHJvbWlzZTx2b2lkPiBzdXNwZW5kKCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9cmVzdW1l
UmVuZGVyaW5nXSBQcm9taXNlPHZvaWQ+IHJlc3VtZSgpOwotICAgIFByb21pc2U8dm9pZD4gY2xv
c2UoKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1zdXNwZW5kUmVuZGVyaW5nXSBQcm9taXNlPHVuZGVm
aW5lZD4gc3VzcGVuZCgpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10gUHJv
bWlzZTx1bmRlZmluZWQ+IHJlc3VtZSgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZSgp
OwogCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShIVE1MTWVkaWFFbGVt
ZW50IG1lZGlhRWxlbWVudCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwgTWF5VGhy
b3dFeGNlcHRpb25dIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3RyZWFt
U291cmNlKE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
dWRpb1BhcmFtIHVwWTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSB1cFo7CiAK
LSAgICB2b2lkIHNldFBvc2l0aW9uKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOwotICAgIHZv
aWQgc2V0T3JpZW50YXRpb24oZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeiwgZmxvYXQgeFVwLCBm
bG9hdCB5VXAsIGZsb2F0IHpVcCk7CisgICAgdW5kZWZpbmVkIHNldFBvc2l0aW9uKGZsb2F0IHgs
IGZsb2F0IHksIGZsb2F0IHopOworICAgIHVuZGVmaW5lZCBzZXRPcmllbnRhdGlvbihmbG9hdCB4
LCBmbG9hdCB5LCBmbG9hdCB6LCBmbG9hdCB4VXAsIGZsb2F0IHlVcCwgZmxvYXQgelVwKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCwxMyBAQAogICAgIGF0dHJp
YnV0ZSBDaGFubmVsSW50ZXJwcmV0YXRpb24gY2hhbm5lbEludGVycHJldGF0aW9uOwogCiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBBdWRpb05vZGUgY29ubmVjdChbUmV0dXJuVmFsdWVdIEF1ZGlv
Tm9kZSBkZXN0aW5hdGlvbiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvdXRwdXQgPSAwLCBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIGlucHV0ID0gMCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIGNvbm5lY3QoQXVkaW9QYXJhbSBkZXN0aW5hdGlvbiwgb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBvdXRwdXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb25uZWN0
KEF1ZGlvUGFyYW0gZGVzdGluYXRpb24sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb3V0cHV0ID0g
MCk7CiAKLSAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgZGlzY29ubmVjdCh1bnNpZ25lZCBsb25nIG91dHB1dCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIGRpc2Nvbm5lY3QoQXVkaW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSk7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIGRpc2Nvbm5lY3QoQXVkaW9Ob2RlIGRlc3RpbmF0aW9uTm9k
ZSwgdW5zaWduZWQgbG9uZyBvdXRwdXQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBk
aXNjb25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0
LCB1bnNpZ25lZCBsb25nIGlucHV0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGlz
Y29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0pOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBkaXNjb25uZWN0KEF1ZGlvUGFyYW0gZGVzdGluYXRpb25QYXJhbSwgdW5zaWdu
ZWQgbG9uZyBvdXRwdXQpOworICAgIHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdCh1bnNpZ25lZCBsb25nIG91dHB1dCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdChBdWRpb05vZGUg
ZGVzdGluYXRpb25Ob2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkaXNj
b25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0KTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkaXNjb25uZWN0KEF1ZGlvTm9kZSBk
ZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0LCB1bnNpZ25lZCBsb25nIGlucHV0
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkaXNjb25uZWN0KEF1ZGlvUGFy
YW0gZGVzdGluYXRpb25QYXJhbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
ZGlzY29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0sIHVuc2lnbmVkIGxvbmcgb3V0
cHV0KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNl
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDYgQEAKICAgICBBY3RpdmVET01P
YmplY3QsCiBdIGludGVyZmFjZSBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUgOiBBdWRpb05vZGUg
ewogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmRlZDsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb24sIEltcGxlbWVudGVkQXM9c3RhcnRMYXRlcl0gdm9pZCBzdGFydChvcHRpb25hbCBkb3Vi
bGUgd2hlbiA9IDApOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zdG9w
TGF0ZXJdIHZvaWQgc3RvcChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDApOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zdGFydExhdGVyXSB1bmRlZmluZWQgc3RhcnQob3B0
aW9uYWwgZG91YmxlIHdoZW4gPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVu
dGVkQXM9c3RvcExhdGVyXSB1bmRlZmluZWQgc3RvcChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDAp
OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVy
Tm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9C
aXF1YWRGaWx0ZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzYsNSArMzYsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIFE7IC8vIFF1
YWxpdHkgZmFjdG9yCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2FpbjsgLy8g
aW4gRGVjaWJlbHMKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBnZXRGcmVxdWVuY3lS
ZXNwb25zZShGbG9hdDMyQXJyYXkgZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25z
ZSwgRmxvYXQzMkFycmF5IHBoYXNlUmVzcG9uc2UpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGdldEZyZXF1ZW5jeVJlc3BvbnNlKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwg
RmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRl
ck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBA
CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8sCiBdIGludGVy
ZmFjZSBJSVJGaWx0ZXJOb2RlIDogQXVkaW9Ob2RlIHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24s
IENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKEJhc2VBdWRpb0Nv
bnRleHQgYXVkaW9Db250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBnZXRGcmVxdWVuY3lSZXNwb25zZShGbG9hdDMyQXJyYXkgZnJl
cXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25zZSwgRmxvYXQzMkFycmF5IHBoYXNlUmVz
cG9uc2UpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGdldEZyZXF1ZW5jeVJl
c3BvbnNlKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNl
LCBGbG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxp
bmVBdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiw4IEBACiAgICAg
CiAgICAgW0ltcGxlbWVudGVkQXM9c3RhcnRPZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPEF1ZGlv
QnVmZmVyPiBzdGFydFJlbmRlcmluZygpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9cmVzdW1lT2Zm
bGluZVJlbmRlcmluZ10gUHJvbWlzZTx2b2lkPiByZXN1bWUoKTsKLSAgICBbSW1wbGVtZW50ZWRB
cz1zdXNwZW5kT2ZmbGluZVJlbmRlcmluZ10gUHJvbWlzZTx2b2lkPiBzdXNwZW5kKGRvdWJsZSBz
dXNwZW5kVGltZSk7CisgICAgW0ltcGxlbWVudGVkQXM9cmVzdW1lT2ZmbGluZVJlbmRlcmluZ10g
UHJvbWlzZTx1bmRlZmluZWQ+IHJlc3VtZSgpOworICAgIFtJbXBsZW1lbnRlZEFzPXN1c3BlbmRP
ZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPHVuZGVmaW5lZD4gc3VzcGVuZChkb3VibGUgc3VzcGVu
ZFRpbWUpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0
b3JOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBmcmVxdWVuY3k7IC8vIGluIEhl
cnR6CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZGV0dW5lOyAvLyBpbiBDZW50
cwogCi0gICAgdm9pZCBzZXRQZXJpb2RpY1dhdmUoUGVyaW9kaWNXYXZlIHdhdmUpOworICAgIHVu
ZGVmaW5lZCBzZXRQZXJpb2RpY1dhdmUoUGVyaW9kaWNXYXZlIHdhdmUpOwogCiAgICAgLy8gRklY
TUU6IFRob3NlIGxlZ2FjeSBwbGF5YmFjayBzdGF0ZSBjb25zdGFudHMgYXJlIGtlcHQgZm9yIGJh
Y2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUKICAgICAvLyBwcmVmaXhlZCBBUEkgYW5kIHNo
b3VsZCBiZSByZW1vdmVkIG9uY2Ugd2Ugc3RvcCBzdXBwb3J0aW5nIHRoZSBwcmVmaXhlZCBBUEku
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
UGFubmVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDggQEAKICAgICBhdHRy
aWJ1dGUgUGFubmluZ01vZGVsVHlwZSBwYW5uaW5nTW9kZWw7CiAKICAgICAvLyBVc2VzIGEgM0Qg
Y2FydGVzaWFuIGNvb3JkaW5hdGUgc3lzdGVtIAotICAgIHZvaWQgc2V0UG9zaXRpb24odW5yZXN0
cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eik7Ci0gICAgdm9pZCBzZXRPcmllbnRhdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0
cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgc2V0
UG9zaXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNldE9yaWVudGF0aW9uKHVucmVzdHJp
Y3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHop
OwogICAgIAogICAgIC8vIERlZmF1bHQgZGlzdGFuY2UgbW9kZWwgaXMgaW52ZXJzZQogICAgIGF0
dHJpYnV0ZSBEaXN0YW5jZU1vZGVsVHlwZSBkaXN0YW5jZU1vZGVsOwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9C
dWZmZXJTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00Nyw1ICs0Nyw1IEBACiAgICAgYXR0cmlidXRlIGRvdWJsZSBsb29wU3RhcnQ7
CiAgICAgYXR0cmlidXRlIGRvdWJsZSBsb29wRW5kOwogCi0gICAgW01heVRocm93RXhjZXB0aW9u
LCBJbXBsZW1lbnRlZEFzPXN0YXJ0TGF0ZXJdIHZvaWQgc3RhcnQob3B0aW9uYWwgZG91YmxlIHdo
ZW4gPSAwLCBvcHRpb25hbCBkb3VibGUgZ3JhaW5PZmZzZXQgPSAwLCBvcHRpb25hbCBkb3VibGUg
Z3JhaW5EdXJhdGlvbik7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0
YXJ0TGF0ZXJdIHVuZGVmaW5lZCBzdGFydChvcHRpb25hbCBkb3VibGUgd2hlbiA9IDAsIG9wdGlv
bmFsIGRvdWJsZSBncmFpbk9mZnNldCA9IDAsIG9wdGlvbmFsIGRvdWJsZSBncmFpbkR1cmF0aW9u
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlv
Q29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0LDkgKzQ0LDkgQEAKICAgICAvLyBBbGwgcGFubmluZyBpcyByZWxhdGl2ZSB0byB0
aGlzIGxpc3RlbmVyLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJLaXRBdWRpb0xpc3RlbmVy
IGxpc3RlbmVyOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VzcGVuZFJlbmRlcmluZ10gUHJvbWlz
ZTx2b2lkPiBzdXNwZW5kKCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9cmVzdW1lUmVuZGVyaW5nXSBQ
cm9taXNlPHZvaWQ+IHJlc3VtZSgpOwotICAgIFByb21pc2U8dm9pZD4gY2xvc2UoKTsKKyAgICBb
SW1wbGVtZW50ZWRBcz1zdXNwZW5kUmVuZGVyaW5nXSBQcm9taXNlPHVuZGVmaW5lZD4gc3VzcGVu
ZCgpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10gUHJvbWlzZTx1bmRlZmlu
ZWQ+IHJlc3VtZSgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZSgpOwogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEF1ZGlvQ29udGV4dFN0YXRlIHN0YXRlOwogICAgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKQEAgLTU4LDcgKzU4LDcgQEAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y3JlYXRlTGVnYWN5QnVmZmVyXSBBdWRpb0J1ZmZl
ciBjcmVhdGVCdWZmZXIoQXJyYXlCdWZmZXIgYnVmZmVyLCBib29sZWFuIG1peFRvTW9ubyk7CiAK
ICAgICAvLyBBc3luY2hyb25vdXMgYXVkaW8gZmlsZSBkYXRhIGRlY29kaW5nLgotICAgIHZvaWQg
ZGVjb2RlQXVkaW9EYXRhKEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwgQXVkaW9CdWZmZXJDYWxsYmFj
az8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBBdWRpb0J1ZmZlckNhbGxiYWNrPyBlcnJvckNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZGVjb2RlQXVkaW9EYXRhKEFycmF5QnVmZmVyIGF1ZGlv
RGF0YSwgQXVkaW9CdWZmZXJDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBBdWRp
b0J1ZmZlckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIAogICAgIC8vIFNvdXJjZXMKICAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y3JlYXRlV2ViS2l0QnVmZmVyU291cmNl
XSBXZWJLaXRBdWRpb0J1ZmZlclNvdXJjZU5vZGUgY3JlYXRlQnVmZmVyU291cmNlKCk7CkBAIC04
Niw3ICs4Niw3IEBACiAgICAgW01heVRocm93RXhjZXB0aW9uXSBDaGFubmVsTWVyZ2VyTm9kZSBj
cmVhdGVDaGFubmVsTWVyZ2VyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dHMg
PSA2KTsKIAogICAgIC8vIE9mZmxpbmUgcmVuZGVyaW5nCi0gICAgLy8gdm9pZCBwcmVwYXJlT2Zm
bGluZUJ1ZmZlclJlbmRlcmluZyh1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIHVuc2ln
bmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIHVucmVzdHJpY3RlZCBmbG9hdCBzYW1wbGVSYXRlKTsK
KyAgICAvLyB1bmRlZmluZWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmcodW5zaWduZWQg
bG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCB1bnJl
c3RyaWN0ZWQgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmNvbXBsZXRlOwotICAgIHZvaWQgc3RhcnRSZW5kZXJpbmcoKTsKKyAgICB1bmRlZmluZWQgc3Rh
cnRSZW5kZXJpbmcoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvTGlzdGVuZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9MaXN0ZW5lci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9MaXN0ZW5lci5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGZsb2F0IGRvcHBsZXJGYWN0b3I7ICAvLyBzYW1lIGFzIE9wZW5BTCAoZGVmYXVsdCAx
LjApCiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBzcGVlZE9mU291bmQ7ICAgLy8g
aW4gbWV0ZXJzIC8gc2Vjb25kIChkZWZhdWx0IDM0My4zKQogCi0gICAgdm9pZCBzZXRQb3NpdGlv
bih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3Rl
ZCBmbG9hdCB6KTsKLSAgICB2b2lkIHNldE9yaWVudGF0aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHosIHVucmVzdHJpY3Rl
ZCBmbG9hdCB4VXAsIHVucmVzdHJpY3RlZCBmbG9hdCB5VXAsIHVucmVzdHJpY3RlZCBmbG9hdCB6
VXApOwotICAgIHZvaWQgc2V0VmVsb2NpdHkodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNldFBv
c2l0aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0
cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVmaW5lZCBzZXRPcmllbnRhdGlvbih1bnJlc3RyaWN0
ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeFVwLCB1bnJlc3RyaWN0ZWQgZmxvYXQgeVVwLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgelVwKTsKKyAgICB1bmRlZmluZWQgc2V0VmVsb2NpdHkodW5yZXN0cmljdGVkIGZs
b2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5v
ZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2Vi
S2l0QXVkaW9QYW5uZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw5ICszMiw5IEBACiAgICAgYXR0cmlidXRlIFBhbm5pbmdNb2RlbFR5cGUgcGFu
bmluZ01vZGVsOwogCiAgICAgLy8gVXNlcyBhIDNEIGNhcnRlc2lhbiBjb29yZGluYXRlIHN5c3Rl
bQotICAgIHZvaWQgc2V0UG9zaXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3Rl
ZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7Ci0gICAgdm9pZCBzZXRPcmllbnRhdGlv
bih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3Rl
ZCBmbG9hdCB6KTsKLSAgICB2b2lkIHNldFZlbG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVmaW5l
ZCBzZXRQb3NpdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHks
IHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgc2V0T3JpZW50YXRpb24odW5y
ZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxv
YXQgeik7CisgICAgdW5kZWZpbmVkIHNldFZlbG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOwogCiAgICAgLy8gRGlz
dGFuY2UgbW9kZWwKICAgICBhdHRyaWJ1dGUgRGlzdGFuY2VNb2RlbFR5cGUgZGlzdGFuY2VNb2Rl
bDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0T3NjaWxsYXRv
ck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2ViS2l0T3NjaWxsYXRvck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JOb2RlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNDMsNSArNDMsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFt
IGZyZXF1ZW5jeTsgLy8gaW4gSGVydHoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJh
bSBkZXR1bmU7IC8vIGluIENlbnRzCiAKLSAgICBbSW1wbGVtZW50ZWRBcz1zZXRXZWJLaXRQZXJp
b2RpY1dhdmVdIHZvaWQgc2V0UGVyaW9kaWNXYXZlKFBlcmlvZGljV2F2ZT8gd2F2ZSk7CisgICAg
W0ltcGxlbWVudGVkQXM9c2V0V2ViS2l0UGVyaW9kaWNXYXZlXSB1bmRlZmluZWQgc2V0UGVyaW9k
aWNXYXZlKFBlcmlvZGljV2F2ZT8gd2F2ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTUUwsCiBd
IGludGVyZmFjZSBEYXRhYmFzZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2
ZXJzaW9uOwotICAgIHZvaWQgY2hhbmdlVmVyc2lvbihET01TdHJpbmcgb2xkVmVyc2lvbiwgRE9N
U3RyaW5nIG5ld1ZlcnNpb24sIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2s/IGNhbGxi
YWNrLCBvcHRpb25hbCBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ss
IG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKLSAgICB2b2lkIHRyYW5z
YWN0aW9uKFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxiYWNr
PyBzdWNjZXNzQ2FsbGJhY2spOwotICAgIHZvaWQgcmVhZFRyYW5zYWN0aW9uKFNRTFRyYW5zYWN0
aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
az8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2sp
OworICAgIHVuZGVmaW5lZCBjaGFuZ2VWZXJzaW9uKERPTVN0cmluZyBvbGRWZXJzaW9uLCBET01T
dHJpbmcgbmV3VmVyc2lvbiwgb3B0aW9uYWwgU1FMVHJhbnNhY3Rpb25DYWxsYmFjaz8gY2FsbGJh
Y2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjaywg
b3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2spOworICAgIHVuZGVmaW5lZCB0
cmFuc2FjdGlvbihTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBTUUxU
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ssIG9wdGlvbmFsIFZvaWRDYWxs
YmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgcmVhZFRyYW5zYWN0aW9uKFNR
TFRyYW5zYWN0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjaywgb3B0aW9uYWwgVm9pZENhbGxiYWNrPyBzdWNjZXNz
Q2FsbGJhY2spOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2suaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNh
bGxiYWNrIERhdGFiYXNlQ2FsbGJhY2sgPSB2b2lkIChEYXRhYmFzZSBkYXRhYmFzZSk7CitjYWxs
YmFjayBEYXRhYmFzZUNhbGxiYWNrID0gdW5kZWZpbmVkIChEYXRhYmFzZSBkYXRhYmFzZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFN0YXRlbWVudENhbGxi
YWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTFN0YXRlbWVudENhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sg
U1FMU3RhdGVtZW50Q2FsbGJhY2sgPSB2b2lkIChTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiwg
U1FMUmVzdWx0U2V0IHJlc3VsdFNldCk7CitjYWxsYmFjayBTUUxTdGF0ZW1lbnRDYWxsYmFjayA9
IHVuZGVmaW5lZCAoU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIFNRTFJlc3VsdFNldCByZXN1
bHRTZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFu
c2FjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9TUUxUcmFuc2FjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw1ICszMSw1IEBAIHR5cGVkZWYgKERPTVN0cmluZz8gb3IgdW5yZXN0cmljdGVkIGRv
dWIKIFsKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKIF0gaW50ZXJmYWNlIFNRTFRyYW5zYWN0
aW9uIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZXhlY3V0ZVNxbChET01TdHJpbmcg
c3FsU3RhdGVtZW50LCBvcHRpb25hbCBzZXF1ZW5jZTxTUUxWYWx1ZT4/IGFyZ3VtZW50cyA9IFtd
LCBvcHRpb25hbCBTUUxTdGF0ZW1lbnRDYWxsYmFjaz8gY2FsbGJhY2ssIG9wdGlvbmFsIFNRTFN0
YXRlbWVudEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGV4ZWN1dGVTcWwoRE9NU3RyaW5nIHNxbFN0YXRlbWVudCwgb3B0aW9u
YWwgc2VxdWVuY2U8U1FMVmFsdWU+PyBhcmd1bWVudHMgPSBbXSwgb3B0aW9uYWwgU1FMU3RhdGVt
ZW50Q2FsbGJhY2s/IGNhbGxiYWNrLCBvcHRpb25hbCBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNr
PyBlcnJvckNhbGxiYWNrKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAK
ICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sgU1FMVHJhbnNhY3Rpb25DYWxsYmFjayA9IHZv
aWQgKFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKTsKK2NhbGxiYWNrIFNRTFRyYW5zYWN0aW9u
Q2FsbGJhY2sgPSB1bmRlZmluZWQgKFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi1jYWxsYmFjayBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgPSB2b2lkIChTUUxF
cnJvciBlcnJvcik7CitjYWxsYmFjayBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sgPSB1bmRl
ZmluZWQgKFNRTEVycm9yIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUJ1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1NjQ7CiBdIGludGVyZmFj
ZSBXZWJHUFVCdWZmZXIgewogICAgIFByb21pc2U8QXJyYXlCdWZmZXI+IG1hcFJlYWRBc3luYygp
OwogICAgIFByb21pc2U8QXJyYXlCdWZmZXI+IG1hcFdyaXRlQXN5bmMoKTsKLSAgICB2b2lkIHVu
bWFwKCk7CisgICAgdW5kZWZpbmVkIHVubWFwKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3koKTsKKyAg
ICB1bmRlZmluZWQgZGVzdHJveSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVUNvbW1hbmRFbmNvZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbW1hbmRFbmNv
ZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTgsMjQgKzU4LDI0IEBAIHR5cGVkZWYgdW5zaWdu
ZWQgbG9uZyBsb25nIHU2NDsKICAgICBXZWJHUFVSZW5kZXJQYXNzRW5jb2RlciBiZWdpblJlbmRl
clBhc3MoV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiAgICAgV2ViR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGJlZ2luQ29tcHV0ZVBhc3MoKTsKIAotICAgIHZvaWQgY29weUJ1
ZmZlclRvQnVmZmVyKAorICAgIHVuZGVmaW5lZCBjb3B5QnVmZmVyVG9CdWZmZXIoCiAgICAgICAg
IFdlYkdQVUJ1ZmZlciBzcmMsCiAgICAgICAgIHU2NCBzcmNPZmZzZXQsCiAgICAgICAgIFdlYkdQ
VUJ1ZmZlciBkc3QsCiAgICAgICAgIHU2NCBkc3RPZmZzZXQsCiAgICAgICAgIHU2NCBzaXplKTsK
IAotICAgIHZvaWQgY29weUJ1ZmZlclRvVGV4dHVyZSgKKyAgICB1bmRlZmluZWQgY29weUJ1ZmZl
clRvVGV4dHVyZSgKICAgICAgICAgR1BVQnVmZmVyQ29weVZpZXcgc291cmNlLAogICAgICAgICBH
UFVUZXh0dXJlQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVudDNEIGNvcHlT
aXplKTsKIAotICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcigKKyAgICB1bmRlZmluZWQgY29w
eVRleHR1cmVUb0J1ZmZlcigKICAgICAgICAgR1BVVGV4dHVyZUNvcHlWaWV3IHNvdXJjZSwKICAg
ICAgICAgR1BVQnVmZmVyQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVudDNE
IGNvcHlTaXplKTsKIAotICAgIHZvaWQgY29weVRleHR1cmVUb1RleHR1cmUoCisgICAgdW5kZWZp
bmVkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgICAgICBHUFVUZXh0dXJlQ29weVZpZXcgc291
cmNlLAogICAgICAgICBHUFVUZXh0dXJlQ29weVZpZXcgZGVzdGluYXRpb24sCiAgICAgICAgIEdQ
VUV4dGVudDNEIGNvcHlTaXplKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQCB0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgdTMyOwogICAgIEludGVyZmFjZU5hbWU9R1BVQ29tcHV0ZVBhc3NFbmNvZGVy
LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBXZWJHUFVDb21wdXRlUGFz
c0VuY29kZXIgOiBXZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlciB7Ci0gICAgdm9pZCBzZXRQ
aXBlbGluZShXZWJHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotICAgIHZvaWQgZGlzcGF0
Y2godTMyIHgsIHUzMiB5LCB1MzIgeik7CisgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKFdlYkdQ
VUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7CisgICAgdW5kZWZpbmVkIGRpc3BhdGNoKHUzMiB4
LCB1MzIgeSwgdTMyIHopOwogCiAgICAgLy8gVE9ETyBhZGQgbWlzc2luZyBjb21tYW5kcwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2Nv
cGVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2VFcnJvclNjb3Blcy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNiArMzAsNiBAQCB0eXBlZGVmIChHUFVPdXRPZk1lbW9yeUVycm9yIG9yIEdQ
VVZhbGlkCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
R1BVCiBdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmljZSB7Ci0gICAgdm9pZCBwdXNoRXJy
b3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOworICAgIHVuZGVmaW5lZCBwdXNoRXJyb3JT
Y29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpOwogICAgIFByb21pc2U8R1BVRXJyb3I/PiBwb3BF
cnJvclNjb3BlKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlkbAkocmV2
aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUHJv
Z3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw2IEBA
IHR5cGVkZWYgdW5zaWduZWQgbG9uZyB1MzI7CiAgICAgSW50ZXJmYWNlTmFtZT1HUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2RlciwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXSBpbnRlcmZhY2Ug
V2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewotICAgIHZvaWQgZW5kUGFzcygpOwotICAg
IHZvaWQgc2V0QmluZEdyb3VwKHUzMiBpbmRleCwgV2ViR1BVQmluZEdyb3VwIGJpbmRHcm91cC8q
LCBvcHRpb25hbCBzZXF1ZW5jZTx1MzI+IGR5bmFtaWNPZmZzZXRzKi8pOworICAgIHVuZGVmaW5l
ZCBlbmRQYXNzKCk7CisgICAgdW5kZWZpbmVkIHNldEJpbmRHcm91cCh1MzIgaW5kZXgsIFdlYkdQ
VUJpbmRHcm91cCBiaW5kR3JvdXAvKiwgb3B0aW9uYWwgc2VxdWVuY2U8dTMyPiBkeW5hbWljT2Zm
c2V0cyovKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVR
dWV1ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUXVldWUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVRdWV1ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkgKzMwLDkgQEAK
ICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFjZU5hbWU9R1BVUXVl
dWUKIF0gaW50ZXJmYWNlIFdlYkdQVVF1ZXVlIHsKLSAgICB2b2lkIHN1Ym1pdChzZXF1ZW5jZTxX
ZWJHUFVDb21tYW5kQnVmZmVyPiBidWZmZXJzKTsKKyAgICB1bmRlZmluZWQgc3VibWl0KHNlcXVl
bmNlPFdlYkdQVUNvbW1hbmRCdWZmZXI+IGJ1ZmZlcnMpOwogCiAgICAgLy8gRklYTUU6IFVuaW1w
bGVtZW50ZWQuCi0gICAgLy8gdm9pZCBzaWduYWwoV2ViR1BVRmVuY2UgZmVuY2UsIHU2NCBzaWdu
YWxWYWx1ZSk7Ci0gICAgLy8gdm9pZCB3YWl0KFdlYkdQVUZlbmNlIGZlbmNlLCB1NjQgdmFsdWVU
b1dhaXQpOworICAgIC8vIHVuZGVmaW5lZCBzaWduYWwoV2ViR1BVRmVuY2UgZmVuY2UsIHU2NCBz
aWduYWxWYWx1ZSk7CisgICAgLy8gdW5kZWZpbmVkIHdhaXQoV2ViR1BVRmVuY2UgZmVuY2UsIHU2
NCB2YWx1ZVRvV2FpdCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyMyArMzQsMjMgQEAgdHlwZWRlZiB1bnNp
Z25lZCBsb25nIGxvbmcgdTY0OwogICAgIEludGVyZmFjZU5hbWU9R1BVUmVuZGVyUGFzc0VuY29k
ZXIsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIFdlYkdQVVJlbmRlclBh
c3NFbmNvZGVyIDogV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewotICAgIHZvaWQgc2V0
UGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmUgcGlwZWxpbmUpOwotICAgIHZvaWQgc2V0Qmxl
bmRDb2xvcihHUFVDb2xvciBjb2xvcik7CisgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKFdlYkdQ
VVJlbmRlclBpcGVsaW5lIHBpcGVsaW5lKTsKKyAgICB1bmRlZmluZWQgc2V0QmxlbmRDb2xvcihH
UFVDb2xvciBjb2xvcik7CiAKICAgICAvLyBUaGUgZGVmYXVsdCB2aWV3cG9ydCBpcyAoMC4wLCAw
LjAsIHcsIGgsIDAuMCwgMS4wKSwgd2hlcmUgdyBhbmQgaCBhcmUgdGhlIGRpbWVuc2lvbnMgb2Yg
YmFjayBidWZmZXIKLSAgICB2b2lkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0
IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7Cisg
ICAgdW5kZWZpbmVkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBm
bG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7CiAKICAgICAvLyBU
aGUgZGVmYXVsdCBzY2lzc29yIHJlY3RhbmdsZSBpcyAoMCwgMCwgdywgaCksIHdoZXJlIHcgYW5k
IGggYXJlIHRoZSBkaW1lbnNpb25zIG9mIGJhY2sgYnVmZmVyLgogICAgIC8vIFdpZHRoIGFuZCBo
ZWlnaHQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4gT3RoZXJ3aXNlLCBhbiBlcnJvciB3aWxsIGJl
IGdlbmVyYXRlZC4KLSAgICB2b2lkIHNldFNjaXNzb3JSZWN0KHUzMiB4LCB1MzIgeSwgdTMyIHdp
ZHRoLCB1MzIgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2V0U2Npc3NvclJlY3QodTMyIHgsIHUz
MiB5LCB1MzIgd2lkdGgsIHUzMiBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRJbmRleEJ1ZmZlcihX
ZWJHUFVCdWZmZXIgYnVmZmVyLCB1NjQgb2Zmc2V0KTsKLSAgICB2b2lkIHNldFZlcnRleEJ1ZmZl
cnModTMyIHN0YXJ0U2xvdCwgc2VxdWVuY2U8V2ViR1BVQnVmZmVyPiBidWZmZXJzLCBzZXF1ZW5j
ZTx1NjQ+IG9mZnNldHMpOworICAgIHVuZGVmaW5lZCBzZXRJbmRleEJ1ZmZlcihXZWJHUFVCdWZm
ZXIgYnVmZmVyLCB1NjQgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgc2V0VmVydGV4QnVmZmVycyh1
MzIgc3RhcnRTbG90LCBzZXF1ZW5jZTxXZWJHUFVCdWZmZXI+IGJ1ZmZlcnMsIHNlcXVlbmNlPHU2
ND4gb2Zmc2V0cyk7CiAKLSAgICB2b2lkIGRyYXcodTMyIHZlcnRleENvdW50LCB1MzIgaW5zdGFu
Y2VDb3VudCwgdTMyIGZpcnN0VmVydGV4LCB1MzIgZmlyc3RJbnN0YW5jZSk7Ci0gICAgdm9pZCBk
cmF3SW5kZXhlZCh1MzIgaW5kZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdElu
ZGV4LCBpMzIgYmFzZVZlcnRleCwgdTMyIGZpcnN0SW5zdGFuY2UpOworICAgIHVuZGVmaW5lZCBk
cmF3KHUzMiB2ZXJ0ZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdFZlcnRleCwg
dTMyIGZpcnN0SW5zdGFuY2UpOworICAgIHVuZGVmaW5lZCBkcmF3SW5kZXhlZCh1MzIgaW5kZXhD
b3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdEluZGV4LCBpMzIgYmFzZVZlcnRleCwg
dTMyIGZpcnN0SW5zdGFuY2UpOwogCiAvKiBOb3QgWWV0IEltcGxlbWVudGVkCi0gICAgdm9pZCBz
ZXRTdGVuY2lsUmVmZXJlbmNlKHUzMiByZWZlcmVuY2UpOworICAgIHVuZGVmaW5lZCBzZXRTdGVu
Y2lsUmVmZXJlbmNlKHUzMiByZWZlcmVuY2UpOwogKi8KIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVUZXh0dXJlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVUZXh0dXJlLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVVGV4dHVyZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbnRlcmZhY2VOYW1lPUdQVVRleHR1
cmUKIF0gaW50ZXJmYWNlIFdlYkdQVVRleHR1cmUgewogICAgIFdlYkdQVVRleHR1cmVWaWV3IGNy
ZWF0ZURlZmF1bHRWaWV3KCk7Ci0gICAgdm9pZCBkZXN0cm95KCk7CisgICAgdW5kZWZpbmVkIGRl
c3Ryb3koKTsKIAogICAgIC8vIE5vdCBZZXQgSW1wbGVtZW50ZWQ6CiAgICAgLy8gV2ViR1BVVGV4
dHVyZVZpZXcgY3JlYXRlVGV4dHVyZVZpZXcoV2ViR1BVVGV4dHVyZVZpZXdEZXNjcmlwdG9yIGRl
c2MpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxMCArNTgsMTAgQEAK
IAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYmluYXJ5VHlwZTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgc2VuZChCbG9iIGRhdGEpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBzZW5kKFVTVlN0cmluZyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNlbmQoQXJyYXlCdWZmZXJWaWV3IGRhdGEpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHNlbmQoQmxvYiBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZW5kKFVTVlN0cmluZyBkYXRhKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBjbG9zZShvcHRpb25hbCBbQ2xhbXBdIHVuc2lnbmVkIHNob3J0IGNvZGUsIG9wdGlvbmFsIFVT
VlN0cmluZyByZWFzb24pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsb3Nl
KG9wdGlvbmFsIFtDbGFtcF0gdW5zaWduZWQgc2hvcnQgY29kZSwgb3B0aW9uYWwgVVNWU3RyaW5n
IHJlYXNvbik7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNl
c3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMyArMzksMTMg
QEAKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYlhSSW5wdXRTb3VyY2VB
cnJheSBpbnB1dFNvdXJjZXM7CiAKICAgICAvLyBNZXRob2RzCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHVwZGF0ZVJlbmRlclN0YXRlKG9wdGlvbmFsIFhSUmVuZGVyU3RhdGVJbml0IHN0
YXRlSW5pdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdXBkYXRlUmVuZGVy
U3RhdGUob3B0aW9uYWwgWFJSZW5kZXJTdGF0ZUluaXQgc3RhdGVJbml0KTsKICAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPFdlYlhSUmVmZXJlbmNlU3BhY2U+IHJlcXVlc3RSZWZlcmVuY2VTcGFjZShY
UlJlZmVyZW5jZVNwYWNlVHlwZSB0eXBlKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHZvaWQg
Y2FuY2VsQW5pbWF0aW9uRnJhbWUodW5zaWduZWQgbG9uZyBoYW5kbGUpOworICAgIHVuZGVmaW5l
ZCBjYW5jZWxBbmltYXRpb25GcmFtZSh1bnNpZ25lZCBsb25nIGhhbmRsZSk7CiAKLSAgICBQcm9t
aXNlPHZvaWQ+IGVuZCgpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiBlbmQoKTsKIAogICAgIC8v
IEV2ZW50cwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmQ7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICAgICBJbnRlcmZhY2VOYW1lPVhSU3lzdGVtCiBd
IGludGVyZmFjZSBXZWJYUlN5c3RlbSA6IEV2ZW50VGFyZ2V0IHsKICAgICAvLyBNZXRob2RzCi0g
ICAgUHJvbWlzZTx2b2lkPiBpc1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSBtb2RlKTsK
KyAgICBQcm9taXNlPHVuZGVmaW5lZD4gaXNTZXNzaW9uU3VwcG9ydGVkKFhSU2Vzc2lvbk1vZGUg
bW9kZSk7CiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8V2ViWFJT
ZXNzaW9uPiByZXF1ZXN0U2Vzc2lvbihYUlNlc3Npb25Nb2RlIG1vZGUsIG9wdGlvbmFsIFhSU2Vz
c2lvbkluaXQgb3B0aW9ucyk7CiAKICAgICAvLyBFdmVudHMKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkZyYW1l
UmVxdWVzdENhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNCArMjcsNCBAQCB0eXBl
ZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VC
WFIKLV0gY2FsbGJhY2sgWFJGcmFtZVJlcXVlc3RDYWxsYmFjayA9IHZvaWQgKERPTUhpZ2hSZXNU
aW1lU3RhbXAgdGltZSwgV2ViWFJGcmFtZSBmcmFtZSk7CitdIGNhbGxiYWNrIFhSRnJhbWVSZXF1
ZXN0Q2FsbGJhY2sgPSB1bmRlZmluZWQgKERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZSwgV2ViWFJG
cmFtZSBmcmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxh
dGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaWRsLmVyYgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaWRsLmVyYgkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvU2NyaXB0
cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIF0gaW50ZXJmYWNlIEludGVybmFsU2V0dGlu
Z3NHZW5lcmF0ZWQgewogPCUtIGZvciBAc2V0dGluZyBpbiBAc2V0dGluZ3MgZG8gLSU+CiA8JS0g
aWYgQHNldHRpbmcuZXhjbHVkZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0
dGluZy5pZGxUeXBlIC0lPgotICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPig8JT0gQHNldHRpbmcuaWRsVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPik7CisgICAg
dW5kZWZpbmVkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5n
LmlkbFR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pOwogPCUtIGVuZCAtJT4KIDwlLSBlbmQg
LSU+CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25FZmZlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1ICszMCw1IEBACiBdIGludGVy
ZmFjZSBBbmltYXRpb25FZmZlY3QgewogICAgIFtJbXBsZW1lbnRlZEFzPWdldEJpbmRpbmdzVGlt
aW5nXSBFZmZlY3RUaW1pbmcgZ2V0VGltaW5nKCk7CiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0Qmlu
ZGluZ3NDb21wdXRlZFRpbWluZ10gQ29tcHV0ZWRFZmZlY3RUaW1pbmcgZ2V0Q29tcHV0ZWRUaW1p
bmcoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NVcGRh
dGVUaW1pbmddIHZvaWQgdXBkYXRlVGltaW5nKG9wdGlvbmFsIE9wdGlvbmFsRWZmZWN0VGltaW5n
IHRpbWluZyk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdz
VXBkYXRlVGltaW5nXSB1bmRlZmluZWQgdXBkYXRlVGltaW5nKG9wdGlvbmFsIE9wdGlvbmFsRWZm
ZWN0VGltaW5nIHRpbWluZyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3
IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIFtFbmFibGVkQXRSdW50aW1l
PVdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zXSBhdHRyaWJ1dGUgSXRlcmF0aW9uQ29t
cG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBvc2l0ZTsKICAgICBbRW5hYmxlZEF0UnVudGlt
ZT1XZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc10gYXR0cmlidXRlIENvbXBvc2l0ZU9w
ZXJhdGlvbiBjb21wb3NpdGU7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVtZW50
ZWRBcz1nZXRCaW5kaW5nc0tleWZyYW1lc10gc2VxdWVuY2U8b2JqZWN0PiBnZXRLZXlmcmFtZXMo
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVt
ZW50ZWRBcz1zZXRCaW5kaW5nc0tleWZyYW1lc10gdm9pZCBzZXRLZXlmcmFtZXMob2JqZWN0PyBr
ZXlmcmFtZXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
LCBJbXBsZW1lbnRlZEFzPXNldEJpbmRpbmdzS2V5ZnJhbWVzXSB1bmRlZmluZWQgc2V0S2V5ZnJh
bWVzKG9iamVjdD8ga2V5ZnJhbWVzKTsKIH07CiAKIGRpY3Rpb25hcnkgQmFzZVByb3BlcnR5SW5k
ZXhlZEtleWZyYW1lIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTksMTIgKzU5LDEyIEBAIGVudW0gQW5p
bWF0aW9uUmVwbGFjZVN0YXRlIHsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVtb3Zl
OwogICAgIFtJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUmVhZHldIHJlYWRvbmx5IGF0dHJpYnV0ZSBQ
cm9taXNlPFdlYkFuaW1hdGlvbj4gcmVhZHk7CiAgICAgW0ltcGxlbWVudGVkQXM9YmluZGluZ3NG
aW5pc2hlZF0gcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8V2ViQW5pbWF0aW9uPiBmaW5pc2hl
ZDsKLSAgICB2b2lkIGNhbmNlbCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBmaW5p
c2goKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NQbGF5
XSB2b2lkIHBsYXkoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Ymlu
ZGluZ3NQYXVzZV0gdm9pZCBwYXVzZSgpOwotICAgIHZvaWQgdXBkYXRlUGxheWJhY2tSYXRlKGRv
dWJsZSBwbGF5YmFja1JhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRB
cz1iaW5kaW5nc1JldmVyc2VdIHZvaWQgcmV2ZXJzZSgpOwotICAgIHZvaWQgcGVyc2lzdCgpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21taXRTdHlsZXMoKTsKKyAgICB1bmRlZmlu
ZWQgY2FuY2VsKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZmluaXNoKCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUGxheV0gdW5k
ZWZpbmVkIHBsYXkoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Ymlu
ZGluZ3NQYXVzZV0gdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZVBsYXli
YWNrUmF0ZShkb3VibGUgcGxheWJhY2tSYXRlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIElt
cGxlbWVudGVkQXM9YmluZGluZ3NSZXZlcnNlXSB1bmRlZmluZWQgcmV2ZXJzZSgpOworICAgIHVu
ZGVmaW5lZCBwZXJzaXN0KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29t
bWl0U3R5bGVzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCShyZXZp
c2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Myw3ICs5Myw3IEBAIHN0cnVjdCBJRExBbnkgOiBJRExUeXBlPEpTQzo6
U3Ryb25nPEpTQzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBzdGF0aWMgaW5saW5lIFUmJiBl
eHRyYWN0VmFsdWVGcm9tTnVsbGFibGUoVSYmIHZhbHVlKSB7IHJldHVybiBzdGQ6OmZvcndhcmQ8
VT4odmFsdWUpOyB9CiB9OwogCi1zdHJ1Y3QgSURMVm9pZCA6IElETFR5cGU8dm9pZD4geyB9Owor
c3RydWN0IElETFVuZGVmaW5lZCA6IElETFR5cGU8dm9pZD4geyB9OwogCiBzdHJ1Y3QgSURMQm9v
bGVhbiA6IElETFR5cGU8Ym9vbD4geyB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9ET01Qcm9taXNlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9ET01Qcm9taXNlUHJveHkuaAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvRE9NUHJvbWlzZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTU5
LDcgKzU5LDcgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRlPD4KLWNsYXNzIERPTVByb21pc2VQ
cm94eTxJRExWb2lkPiB7CitjbGFzcyBET01Qcm9taXNlUHJveHk8SURMVW5kZWZpbmVkPiB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRE9NUHJvbWlzZVByb3h5
KCkgPSBkZWZhdWx0OwpAQCAtMTgzLDkgKzE4Myw5IEBAIGlubGluZSB2b2lkIERPTVByb21pc2VQ
cm94eTxJRExUeXBlPjo6cmUKIH0KIAogCi0vLyBNQVJLOiAtIERPTVByb21pc2VQcm94eTxJRExW
b2lkPiBzcGVjaWFsaXphdGlvbgorLy8gTUFSSzogLSBET01Qcm9taXNlUHJveHk8SURMVW5kZWZp
bmVkPiBzcGVjaWFsaXphdGlvbgogCi1pbmxpbmUgSlNDOjpKU1ZhbHVlIERPTVByb21pc2VQcm94
eTxJRExWb2lkPjo6cHJvbWlzZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQoraW5saW5lIEpTQzo6SlNWYWx1
ZSBET01Qcm9taXNlUHJveHk8SURMVW5kZWZpbmVkPjo6cHJvbWlzZShKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
KQogewogICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBmb3IgKGF1
dG8mIGRlZmVycmVkUHJvbWlzZSA6IG1fZGVmZXJyZWRQcm9taXNlcykgewpAQCAtMjEwLDE4ICsy
MTAsMTggQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSBET01Qcm9taXNlUHJveHk8SURMVgogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLWlubGluZSB2b2lkIERPTVByb21pc2VQcm94eTxJRExWb2lkPjo6
Y2xlYXIoKQoraW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD46OmNsZWFy
KCkKIHsKICAgICBtX3ZhbHVlT3JFeGNlcHRpb24gPSBXVEY6Om51bGxvcHQ7CiAgICAgbV9kZWZl
cnJlZFByb21pc2VzLmNsZWFyKCk7CiB9CiAKLWlubGluZSBib29sIERPTVByb21pc2VQcm94eTxJ
RExWb2lkPjo6aXNGdWxmaWxsZWQoKSBjb25zdAoraW5saW5lIGJvb2wgRE9NUHJvbWlzZVByb3h5
PElETFVuZGVmaW5lZD46OmlzRnVsZmlsbGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV92YWx1
ZU9yRXhjZXB0aW9uLmhhc1ZhbHVlKCk7CiB9CiAKLWlubGluZSB2b2lkIERPTVByb21pc2VQcm94
eTxJRExWb2lkPjo6cmVzb2x2ZSgpCitpbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVW5k
ZWZpbmVkPjo6cmVzb2x2ZSgpCiB7CiAgICAgQVNTRVJUKCFtX3ZhbHVlT3JFeGNlcHRpb24pOwog
ICAgIG1fdmFsdWVPckV4Y2VwdGlvbiA9IEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKQEAgLTIyOSw3
ICsyMjksNyBAQCBpbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OnJlCiAgICAg
ICAgIGRlZmVycmVkUHJvbWlzZS0+cmVzb2x2ZSgpOwogfQogCi1pbmxpbmUgdm9pZCBET01Qcm9t
aXNlUHJveHk8SURMVm9pZD46OnJlamVjdChFeGNlcHRpb24gZXhjZXB0aW9uLCBSZWplY3RBc0hh
bmRsZWQgcmVqZWN0QXNIYW5kbGVkKQoraW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElETFVu
ZGVmaW5lZD46OnJlamVjdChFeGNlcHRpb24gZXhjZXB0aW9uLCBSZWplY3RBc0hhbmRsZWQgcmVq
ZWN0QXNIYW5kbGVkKQogewogICAgIEFTU0VSVCghbV92YWx1ZU9yRXhjZXB0aW9uKTsKICAgICBt
X3ZhbHVlT3JFeGNlcHRpb24gPSBFeGNlcHRpb25Pcjx2b2lkPiB7IFdURk1vdmUoZXhjZXB0aW9u
KSB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCSh3b3JraW5nIGNvcHkpCkBAIC05MCw3ICs5MCw3IEBA
IG15ICVidWZmZXJTb3VyY2VUeXBlcyA9ICgKIAogbXkgJXByaW1pdGl2ZVR5cGVIYXNoID0gKCAK
ICAgICAiYm9vbGVhbiIgPT4gMSwgCi0gICAgInZvaWQiID0+IDEsCisgICAgInVuZGVmaW5lZCIg
PT4gMSwKICAgICAiRGF0ZSIgPT4gMQogKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3
b3JraW5nIGNvcHkpCkBAIC01OTA2LDcgKzU5MDYsNyBAQCBzdWIgTmVlZHNFeHBsaWNpdFByb3Bh
Z2F0ZUV4Y2VwdGlvbkNhbGwKIAogICAgIHJldHVybiAwIHVubGVzcyAkb3BlcmF0aW9uLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntNYXlUaHJvd0V4Y2VwdGlvbn07CiAKLSAgICByZXR1cm4gJG9wZXJh
dGlvbi0+dHlwZSAmJiAoJG9wZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidm9pZCIgfHwgJGNvZGVH
ZW5lcmF0b3ItPklzUHJvbWlzZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgfHwgR2V0T3BlcmF0aW9u
UmV0dXJuZWRBcmd1bWVudE5hbWUoJG9wZXJhdGlvbikpOworICAgIHJldHVybiAkb3BlcmF0aW9u
LT50eXBlICYmICgkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ1bmRlZmluZWQiIHx8ICRjb2Rl
R2VuZXJhdG9yLT5Jc1Byb21pc2VUeXBlKCRvcGVyYXRpb24tPnR5cGUpIHx8IEdldE9wZXJhdGlv
blJldHVybmVkQXJndW1lbnROYW1lKCRvcGVyYXRpb24pKTsKIH0KIAogc3ViIEdlbmVyYXRlUGFy
YW1ldGVyc0NoZWNrCkBAIC02NDAyLDcgKzY0MDIsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0lt
cGxlbWVudGF0aW9uQ29udGVuCiAgICAgICAgICAgICAgICAgJGNhbGxiYWNrSW52b2NhdGlvbiA9
ICJtX2RhdGEtPmludm9rZUNhbGxiYWNrKHRoaXNWYWx1ZSwgYXJncywgSlNDYWxsYmFja0RhdGE6
OkNhbGxiYWNrVHlwZTo6JHtjYWxsYmFja1R5cGV9LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCBcIiR7ZnVuY3Rpb25OYW1lfVwiKSwgcmV0dXJuZWRFeGNlcHRpb24pIjsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInZvaWQiKSB7
CisgICAgICAgICAgICBpZiAoJG9wZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIikg
ewogICAgICAgICAgICAgICAgIHB1c2goQCRjb250ZW50UmVmLCAiICAgICR7Y2FsbGJhY2tJbnZv
Y2F0aW9ufTtcbiIpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBwdXNo
KEAkY29udGVudFJlZiwgIiAgICBhdXRvIGpzUmVzdWx0ID0gJHtjYWxsYmFja0ludm9jYXRpb259
O1xuIik7CkBAIC02NDE5LDcgKzY0MTksNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVu
dGF0aW9uQ29udGVuCiAgICAgICAgICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICAgICAgcmV0
dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6RXhjZXB0aW9uVGhyb3duO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEAkY29udGVudFJlZiwgIiAgICAgfVxuXG4iKTsKIAotICAgICAgICAgICAgaWYgKCRv
cGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInZvaWQiKSB7CisgICAgICAgICAgICBpZiAoJG9wZXJh
dGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgIHB1c2go
QCRjb250ZW50UmVmLCAiICAgIHJldHVybiB7IH07XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgbXkgJG5hdGl2ZVZhbHVlID0gSlNWYWx1ZVRvTmF0aXZlKCRpbnRl
cmZhY2VPckNhbGxiYWNrLCAkb3BlcmF0aW9uLCAianNSZXN1bHQiLCAiIiwgIiZsZXhpY2FsR2xv
YmFsT2JqZWN0IiwgImxleGljYWxHbG9iYWxPYmplY3QiKTsKQEAgLTY0ODMsNyArNjQ4Myw3IEBA
IHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsCiAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgJGluZGVudCAuICIkZnVuY3Rpb25TdHJpbmc7XG4iKTsKICAgICAgICAgR2Vu
ZXJhdGVXcml0ZUJhcnJpZXJzRm9yQXJndW1lbnRzKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlvbiwg
JGluZGVudCk7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGluZGVudCAuICJyZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKCRyZXR1cm5Bcmd1bWVudE5hbWUudmFsdWUoKSk7XG4iKTsKLSAgICB9
IGVsc2lmICgkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ2b2lkIiB8fCAoJGNvZGVHZW5lcmF0
b3ItPklzUHJvbWlzZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgJiYgISRvcGVyYXRpb24tPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e1Byb21pc2VQcm94eX0pKSB7CisgICAgfSBlbHNpZiAoJG9wZXJhdGlv
bi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIiB8fCAoJGNvZGVHZW5lcmF0b3ItPklzUHJvbWlz
ZVR5cGUoJG9wZXJhdGlvbi0+dHlwZSkgJiYgISRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRl
cy0+e1Byb21pc2VQcm94eX0pKSB7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGluZGVu
dCAuICJ0aHJvd1Njb3BlLnJlbGVhc2UoKTtcbiIpIGlmICgkaGFzVGhyb3dTY29wZSk7CiAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgJGluZGVudCAuICIkZnVuY3Rpb25TdHJpbmc7XG4iKTsK
ICAgICAgICAgR2VuZXJhdGVXcml0ZUJhcnJpZXJzRm9yQXJndW1lbnRzKCRvdXRwdXRBcnJheSwg
JG9wZXJhdGlvbiwgJGluZGVudCk7CkBAIC02NzQ3LDcgKzY3NDcsNyBAQCBzdWIgR2V0QmFzZUlE
TFR5cGUKICAgICB9CiAKICAgICBteSAlSURMVHlwZXMgPSAoCi0gICAgICAgICJ2b2lkIiA9PiAi
SURMVm9pZCIsCisgICAgICAgICJ1bmRlZmluZWQiID0+ICJJRExVbmRlZmluZWQiLAogICAgICAg
ICAiYW55IiA9PiAiSURMQW55IiwKICAgICAgICAgImJvb2xlYW4iID0+ICJJRExCb29sZWFuIiwK
ICAgICAgICAgImJ5dGUiID0+ICJJRExCeXRlIiwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQkod29ya2luZyBjb3B5KQpAQCAt
NjA5LDI1ICs2MDksMjUgQEAgbXkgJG5leHRBdHRyaWJ1dGVfMSA9ICdeKGF0dHJpYnV0ZXxpbmhl
cgogbXkgJG5leHRBdHRyaWJ1dGVfMiA9ICdeKHJlYWRvbmx5fGF0dHJpYnV0ZSkkJzsKIG15ICRu
ZXh0UHJpbWl0aXZlVHlwZV8xID0gJ14oaW50fGxvbmd8c2hvcnR8dW5zaWduZWQpJCc7CiBteSAk
bmV4dFByaW1pdGl2ZVR5cGVfMiA9ICdeKGRvdWJsZXxmbG9hdHx1bnJlc3RyaWN0ZWQpJCc7Ci1t
eSAkbmV4dEFyZ3VtZW50TGlzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3Ry
aW5nfERhdGV8XFt8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8aW58bG9uZ3xvYmplY3R8
b2N0ZXR8b3B0aW9uYWx8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwot
bXkgJG5leHROb25BbnlUeXBlXzEgPSAnXihib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8
b2N0ZXR8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRBcmd1bWVudExp
c3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfFxbfGFueXxi
b29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGlufGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFsfHNl
cXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CitteSAkbmV4
dERpc3Rpbmd1aXNoYWJsZVR5cGVfMSA9ICdeKGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9u
Z3xvY3RldHxzaG9ydHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkgJG5l
eHRTdHJpbmdUeXBlXzEgPSAnXihCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmcpJCc7Ci1t
eSAkbmV4dEludGVyZmFjZU1lbWJlcl8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNW
U3RyaW5nfERhdGV8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8ZGVsZXRlcnxkb3VibGV8Zmxv
YXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5
fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5zaWduZWR8dm9pZCkkJzsKLW15
ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8
RGF0ZXxhbnl8Ym9vbGVhbnxieXRlfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxsZWdhY3lj
YWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2V0dGVyfHNob3J0fHVucmVzdHJpY3Rl
ZHx1bnNpZ25lZHx2b2lkKSQnOworbXkgJG5leHRJbnRlcmZhY2VNZW1iZXJfMSA9ICdeKFwofEJ5
dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRyaWJ1dGV8Ym9vbGVhbnxi
eXRlfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0fGxlZ2FjeWNhbGxlcnxsb25n
fG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXR0ZXJ8c2hvcnR8dW5kZWZpbmVkfHVu
cmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxCeXRl
U3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxhbnl8Ym9vbGVhbnxieXRlfGRlbGV0ZXJ8
ZG91YmxlfGZsb2F0fGdldHRlcnxsZWdhY3ljYWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVu
Y2V8c2V0dGVyfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CiBteSAk
bmV4dFVucmVzdHJpY3RlZEZsb2F0VHlwZV8xID0gJ14oZG91YmxlfGZsb2F0KSQnOwogbXkgJG5l
eHRFeHRlbmRlZEF0dHJpYnV0ZVJlc3QzXzEgPSAnXihcLHxcXSkkJzsKLW15ICRuZXh0RXhjZXB0
aW9uRmllbGRfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFu
eXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNo
b3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0
cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8Zmxv
YXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVk
KSQnOworbXkgJG5leHRFeGNlcHRpb25GaWVsZF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJp
bmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmpl
Y3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkk
JzsKK215ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERh
dGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVu
Y2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKIG15ICRuZXh0U3Bl
Y2lhbHNfMSA9ICdeKGRlbGV0ZXJ8Z2V0dGVyfGxlZ2FjeWNhbGxlcnxzZXR0ZXIpJCc7CiBteSAk
bmV4dERlZmluaXRpb25zXzEgPSAnXihjYWxsYmFja3xkaWN0aW9uYXJ5fGVudW18ZXhjZXB0aW9u
fGludGVyZmFjZXxwYXJ0aWFsfHR5cGVkZWYpJCc7Ci1teSAkbmV4dEV4Y2VwdGlvbk1lbWJlcnNf
MSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfFxbfGFueXxib29s
ZWFufGJ5dGV8Y29uc3R8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFsfHNl
cXVlbmNlfHNob3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0SW50ZXJmYWNl
TWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55
fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8Y29uc3RydWN0b3J8ZGVsZXRlcnxkb3VibGV8
ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRv
bmx5fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmllcnx1
bnJlc3RyaWN0ZWR8dW5zaWduZWR8dm9pZCkkJzsKLW15ICRuZXh0U2luZ2xlVHlwZV8xID0gJ14o
Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8Ym9vbGVhbnxieXRlfGRvdWJsZXxm
bG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5jZXxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5zaWdu
ZWQpJCc7Ci1teSAkbmV4dEFyZ3VtZW50TmFtZV8xID0gJ14oYXR0cmlidXRlfGNhbGxiYWNrfGNv
bnN0fGRlbGV0ZXJ8ZGljdGlvbmFyeXxlbnVtfGV4Y2VwdGlvbnxnZXR0ZXJ8aW1wbGVtZW50c3xp
bmhlcml0fGludGVyZmFjZXxsZWdhY3ljYWxsZXJ8cGFydGlhbHxzZXJpYWxpemVyfHNldHRlcnxz
dGF0aWN8c3RyaW5naWZpZXJ8dHlwZWRlZnx1bnJlc3RyaWN0ZWQpJCc7CitteSAkbmV4dEV4Y2Vw
dGlvbk1lbWJlcnNfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRl
fFxbfGFueXxib29sZWFufGJ5dGV8Y29uc3R8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0
fG9wdGlvbmFsfHNlcXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQp
JCc7CitteSAkbmV4dEludGVyZmFjZU1lbWJlcnNfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3Ry
aW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRyaWJ1dGV8Ym9vbGVhbnxieXRlfGNvbnN0fGNvbnN0
cnVjdG9yfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0fGxlZ2FjeWNhbGxlcnxs
b25nfG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXJpYWxpemVyfHNldHRlcnxzaG9y
dHxzdGF0aWN8c3RyaW5naWZpZXJ8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsK
K215ICRuZXh0U2luZ2xlVHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5n
fERhdGV8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5j
ZXxzaG9ydHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRBcmd1
bWVudE5hbWVfMSA9ICdeKGF0dHJpYnV0ZXxjYWxsYmFja3xjb25zdHxkZWxldGVyfGRpY3Rpb25h
cnl8ZW51bXxleGNlcHRpb258Z2V0dGVyfGltcGxlbWVudHN8aW5oZXJpdHxpbnRlcmZhY2V8bGVn
YWN5Y2FsbGVyfHBhcnRpYWx8c2VyaWFsaXplcnxzZXR0ZXJ8c3RhdGljfHN0cmluZ2lmaWVyfHR5
cGVkZWZ8dW5kZWZpbmVkfHVucmVzdHJpY3RlZCkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8xID0g
J14oZmFsc2V8dHJ1ZSkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8yID0gJ14oLXxJbmZpbml0eXxO
YU4pJCc7CiBteSAkbmV4dERlZmluaXRpb25fMSA9ICdeKGNhbGxiYWNrfGludGVyZmFjZSkkJzsK
LW15ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNW
U3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0
ZXR8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkfHZvaWQpJCc7CitteSAkbmV4
dE9wZXJhdGlvblJlc3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xE
YXRlfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVl
bmNlfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CiBteSAkbmV4dFVu
c2lnbmVkSW50ZWdlclR5cGVfMSA9ICdeKGxvbmd8c2hvcnQpJCc7CiBteSAkbmV4dERlZmF1bHRW
YWx1ZV8xID0gJ14oLXxJbmZpbml0eXxOYU58ZmFsc2V8bnVsbHx0cnVlKSQnOwogCkBAIC0xMjI0
LDcgKzEyMjQsNyBAQCBzdWIgcGFyc2VDYWxsYmFja1Jlc3QKICAgICAgICAgJHNlbGYtPmFzc2Vy
dFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI9IiwgX19MSU5FX18pOwogCiAgICAgICAg
IG15ICRvcGVyYXRpb24gPSBJRExPcGVyYXRpb24tPm5ldygpOwotICAgICAgICAkb3BlcmF0aW9u
LT50eXBlKCRzZWxmLT5wYXJzZVJldHVyblR5cGUoKSk7CisgICAgICAgICRvcGVyYXRpb24tPnR5
cGUoJHNlbGYtPnBhcnNlVHlwZSgpKTsKICAgICAgICAgCiAgICAgICAgICRzZWxmLT5hc3NlcnRF
eHRlbmRlZEF0dHJpYnV0ZXNWYWxpZEZvckNvbnRleHQoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCwg
ImNhbGxiYWNrLWZ1bmN0aW9uIiwgIm9wZXJhdGlvbiIpOwogICAgICAgICAkb3BlcmF0aW9uLT5l
eHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CkBAIC0xNjQ1LDcgKzE2
NDUsNyBAQCBzdWIgcGFyc2VBdHRyaWJ1dGVPck9wZXJhdGlvbkZvclN0cmluZ2lmCiAgICAgfQog
CiAgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRva2VuIHx8ICRuZXh0LT52YWx1
ZSgpID1+IC8kbmV4dE9wZXJhdGlvblJlc3RfMS8pIHsKLSAgICAgICAgbXkgJHJldHVyblR5cGUg
PSAkc2VsZi0+cGFyc2VSZXR1cm5UeXBlKCk7CisgICAgICAgIG15ICRyZXR1cm5UeXBlID0gJHNl
bGYtPnBhcnNlVHlwZSgpOwogCiAgICAgICAgICMgTk9URTogVGhpcyBpcyBhIG5vbi1zdGFuZGFy
ZCBhZGRpdGlvbi4gSW4gV2ViSURMLCB0aGVyZSBpcyBubyB3YXkgdG8gYXNzb2NpYXRlCiAgICAg
ICAgICMgZXh0ZW5kZWQgYXR0cmlidXRlcyB3aXRoIGEgcmV0dXJuIHR5cGUuCkBAIC0xNzQxLDcg
KzE3NDEsNyBAQCBzdWIgcGFyc2VPcGVyYXRpb24KICAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJz
ZVNwZWNpYWxPcGVyYXRpb24oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgfQogICAgIGlm
ICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAv
JG5leHRPcGVyYXRpb25SZXN0XzEvKSB7Ci0gICAgICAgIG15ICRyZXR1cm5UeXBlID0gJHNlbGYt
PnBhcnNlUmV0dXJuVHlwZSgpOworICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJz
ZVR5cGUoKTsKIAogICAgICAgICAjIE5PVEU6IFRoaXMgaXMgYSBub24tc3RhbmRhcmQgYWRkaXRp
b24uIEluIFdlYklETCwgdGhlcmUgaXMgbm8gd2F5IHRvIGFzc29jaWF0ZQogICAgICAgICAjIGV4
dGVuZGVkIGF0dHJpYnV0ZXMgd2l0aCBhIHJldHVybiB0eXBlLgpAQCAtMTc2NCw3ICsxNzY0LDcg
QEAgc3ViIHBhcnNlU3BlY2lhbE9wZXJhdGlvbgogICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAv
JG5leHRTcGVjaWFsc18xLykgewogICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKICAgICAgICAg
cHVzaChAc3BlY2lhbHMsIEB7JHNlbGYtPnBhcnNlU3BlY2lhbHMoKX0pOwotICAgICAgICBteSAk
cmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJzZVJldHVyblR5cGUoKTsKKyAgICAgICAgbXkgJHJldHVy
blR5cGUgPSAkc2VsZi0+cGFyc2VUeXBlKCk7CiAKICAgICAgICAgIyBOT1RFOiBUaGlzIGlzIGEg
bm9uLXN0YW5kYXJkIGFkZGl0aW9uLiBJbiBXZWJJREwsIHRoZXJlIGlzIG5vIHdheSB0byBhc3Nv
Y2lhdGUKICAgICAgICAgIyBleHRlbmRlZCBhdHRyaWJ1dGVzIHdpdGggYSByZXR1cm4gdHlwZS4K
QEAgLTIwMjQsNyArMjAyNCw3IEBAIHN1YiBwYXJzZU1hcExpa2VQcm9wZXJ0aWVzCiAgICAgJGNs
ZWFyT3BlcmF0aW9uLT5uYW1lKCJjbGVhciIpOwogICAgICRjbGVhck9wZXJhdGlvbi0+aXNNYXBM
aWtlKDEpOwogICAgICRjbGVhck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRub3RFbnVt
ZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICAkY2xlYXJPcGVyYXRpb24tPnR5cGUo
bWFrZVNpbXBsZVR5cGUoInZvaWQiKSk7CisgICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1ha2VT
aW1wbGVUeXBlKCJ1bmRlZmluZWQiKSk7CiAKICAgICBteSAkZGVsZXRlT3BlcmF0aW9uID0gSURM
T3BlcmF0aW9uLT5uZXcoKTsKICAgICAkZGVsZXRlT3BlcmF0aW9uLT5uYW1lKCJkZWxldGUiKTsK
QEAgLTIxNTIsNyArMjE1Miw3IEBAIHN1YiBwYXJzZVNldExpa2VQcm9wZXJ0aWVzCiAgICAgJGNs
ZWFyT3BlcmF0aW9uLT5uYW1lKCJjbGVhciIpOwogICAgICRjbGVhck9wZXJhdGlvbi0+aXNTZXRM
aWtlKDEpOwogICAgICRjbGVhck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRub3RFbnVt
ZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICAkY2xlYXJPcGVyYXRpb24tPnR5cGUo
bWFrZVNpbXBsZVR5cGUoInZvaWQiKSk7CisgICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1ha2VT
aW1wbGVUeXBlKCJ1bmRlZmluZWQiKSk7CiAKICAgICBteSAkZGVsZXRlT3BlcmF0aW9uID0gSURM
T3BlcmF0aW9uLT5uZXcoKTsKICAgICAkZGVsZXRlT3BlcmF0aW9uLT5uYW1lKCJkZWxldGUiKTsK
QEAgLTI2MTYsMTAgKzI2MTYsMjMgQEAgc3ViIHBhcnNlU2luZ2xlVHlwZQogICAgICAgICAkYW55
VHlwZS0+bmFtZSgiYW55Iik7CiAgICAgICAgIHJldHVybiAkYW55VHlwZTsKICAgICB9CisgICAg
aWYgKCRuZXh0LT52YWx1ZSgpIGVxICJQcm9taXNlIikgeworICAgICAgICAkc2VsZi0+YXNzZXJ0
VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIlByb21pc2UiLCBfX0xJTkVfXyk7CisgICAg
ICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiPCIsIF9fTElO
RV9fKTsKKworICAgICAgICBteSAkc3VidHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUoKTsKKworICAg
ICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJ
TkVfXyk7CisKKyAgICAgICAgbXkgJHR5cGUgPSBJRExUeXBlLT5uZXcoKTsKKyAgICAgICAgJHR5
cGUtPm5hbWUoIlByb21pc2UiKTsKKyAgICAgICAgcHVzaChAeyR0eXBlLT5zdWJ0eXBlc30sICRz
dWJ0eXBlKTsKKyAgICAgICAgcmV0dXJuICR0eXBlOworICAgIH0KICAgICBpZiAoJG5leHQtPnR5
cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U2luZ2xl
VHlwZV8xLykgewotICAgICAgICBteSAkbm9uQW55VHlwZSA9ICRzZWxmLT5wYXJzZU5vbkFueVR5
cGUoKTsKLSAgICAgICAgJG5vbkFueVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVsbCgp
KTsKLSAgICAgICAgcmV0dXJuICRub25BbnlUeXBlOworICAgICAgICBteSAkZGlzdGluZ3Vpc2hh
YmxlVHlwZSA9ICRzZWxmLT5wYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUoKTsKKyAgICAgICAgJGRp
c3Rpbmd1aXNoYWJsZVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVsbCgpKTsKKyAgICAg
ICAgcmV0dXJuICRkaXN0aW5ndWlzaGFibGVUeXBlOwogICAgIH0KICAgICAkc2VsZi0+YXNzZXJ0
VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9CkBAIC0yNjYzLDEw
ICsyNjc2LDEwIEBAIHN1YiBwYXJzZVVuaW9uTWVtYmVyVHlwZQogICAgIH0KIAogICAgIGlmICgk
bmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAvJG5l
eHRTaW5nbGVUeXBlXzEvKSB7Ci0gICAgICAgIG15ICRub25BbnlUeXBlID0gJHNlbGYtPnBhcnNl
Tm9uQW55VHlwZSgpOwotICAgICAgICAkbm9uQW55VHlwZS0+aXNOdWxsYWJsZSgkc2VsZi0+cGFy
c2VOdWxsKCkpOwotICAgICAgICAkbm9uQW55VHlwZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QpOwotICAgICAgICByZXR1cm4gJG5vbkFueVR5cGU7CisgICAgICAg
IG15ICRkaXN0aW5ndWlzaGFibGVUeXBlID0gJHNlbGYtPnBhcnNlRGlzdGluZ3Vpc2hhYmxlVHlw
ZSgpOworICAgICAgICAkZGlzdGluZ3Vpc2hhYmxlVHlwZS0+aXNOdWxsYWJsZSgkc2VsZi0+cGFy
c2VOdWxsKCkpOworICAgICAgICAkZGlzdGluZ3Vpc2hhYmxlVHlwZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAgICAgICByZXR1cm4gJGRpc3Rpbmd1aXNo
YWJsZVR5cGU7CiAgICAgfQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQt
PnZhbHVlKCksIF9fTElORV9fKTsKIH0KQEAgLTI2ODcsMTQgKzI3MDAsMTQgQEAgc3ViIHBhcnNl
VW5pb25NZW1iZXJUeXBlcwogICAgIHJldHVybiBAc3VidHlwZXM7CiB9CiAKLXN1YiBwYXJzZU5v
bkFueVR5cGUKK3N1YiBwYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUKIHsKICAgICBteSAkc2VsZiA9
IHNoaWZ0OwogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwogCiAgICAgbXkgJHR5
cGUgPSBJRExUeXBlLT5uZXcoKTsKIAotICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRO
b25BbnlUeXBlXzEvKSB7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dERpc3Rpbmd1
aXNoYWJsZVR5cGVfMS8pIHsKICAgICAgICAgJHR5cGUtPm5hbWUoJHNlbGYtPnBhcnNlUHJpbWl0
aXZlVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICR0eXBlOwogICAgIH0KQEAgLTI3NTIsMTkgKzI3
NjUsNiBAQCBzdWIgcGFyc2VOb25BbnlUeXBlCiAKICAgICAgICAgcmV0dXJuICR0eXBlOwogICAg
IH0KLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIlByb21pc2UiKSB7Ci0gICAgICAgICRzZWxm
LT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiUHJvbWlzZSIsIF9fTElORV9f
KTsKLSAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI8
IiwgX19MSU5FX18pOwotCi0gICAgICAgIG15ICRzdWJ0eXBlID0gJHNlbGYtPnBhcnNlUmV0dXJu
VHlwZSgpOwotCi0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tl
bigpLCAiPiIsIF9fTElORV9fKTsKLQotICAgICAgICAkdHlwZS0+bmFtZSgiUHJvbWlzZSIpOwot
ICAgICAgICBwdXNoKEB7JHR5cGUtPnN1YnR5cGVzfSwgJHN1YnR5cGUpOwotCi0gICAgICAgIHJl
dHVybiAkdHlwZTsKLSAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWNvcmQiKSB7
CiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAicmVj
b3JkIiwgX19MSU5FX18pOwogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+
Z2V0VG9rZW4oKSwgIjwiLCBfX0xJTkVfXyk7CkBAIC0yODAwLDcgKzI4MDAsNyBAQCBzdWIgcGFy
c2VDb25zdFR5cGUKIAogICAgIG15ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7CiAKLSAgICBpZiAo
JG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0Tm9uQW55VHlwZV8xLykgeworICAgIGlmICgkbmV4dC0+
dmFsdWUoKSA9fiAvJG5leHREaXN0aW5ndWlzaGFibGVUeXBlXzEvKSB7CiAgICAgICAgICR0eXBl
LT5uYW1lKCRzZWxmLT5wYXJzZVByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgICR0eXBlLT5pc051
bGxhYmxlKCRzZWxmLT5wYXJzZU51bGwoKSk7CiAgICAgICAgIHJldHVybiAkdHlwZTsKQEAgLTI4
NDUsNiArMjg0NSwxMCBAQCBzdWIgcGFyc2VQcmltaXRpdmVUeXBlCiAgICAgaWYgKCRuZXh0LT52
YWx1ZSgpID1+IC8kbmV4dFByaW1pdGl2ZVR5cGVfMi8pIHsKICAgICAgICAgcmV0dXJuICRzZWxm
LT5wYXJzZVVucmVzdHJpY3RlZEZsb2F0VHlwZSgpOwogICAgIH0KKyAgICBpZiAoJG5leHQtPnZh
bHVlKCkgZXEgInVuZGVmaW5lZCIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUo
JHNlbGYtPmdldFRva2VuKCksICJ1bmRlZmluZWQiLCBfX0xJTkVfXyk7CisgICAgICAgIHJldHVy
biAidW5kZWZpbmVkIjsKKyAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJib29sZWFu
IikgewogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwg
ImJvb2xlYW4iLCBfX0xJTkVfXyk7CiAgICAgICAgIHJldHVybiAiYm9vbGVhbiI7CkBAIC0yOTQ3
LDIzICsyOTUxLDYgQEAgc3ViIHBhcnNlTnVsbAogICAgIHJldHVybiAwOwogfQogCi1zdWIgcGFy
c2VSZXR1cm5UeXBlCi17Ci0gICAgbXkgJHNlbGYgPSBzaGlmdDsKLSAgICBteSAkbmV4dCA9ICRz
ZWxmLT5uZXh0VG9rZW4oKTsKLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInZvaWQiKSB7Ci0g
ICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAidm9pZCIs
IF9fTElORV9fKTsKLSAgICAgICAgCi0gICAgICAgIG15ICR2b2lkVHlwZSA9IElETFR5cGUtPm5l
dygpOwotICAgICAgICAkdm9pZFR5cGUtPm5hbWUoInZvaWQiKTsKLSAgICAgICAgcmV0dXJuICR2
b2lkVHlwZTsKLSAgICB9Ci0gICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRva2Vu
IHx8ICRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dEV4Y2VwdGlvbkZpZWxkXzEvKSB7Ci0gICAgICAg
IHJldHVybiAkc2VsZi0+cGFyc2VUeXBlKCk7Ci0gICAgfQotICAgICRzZWxmLT5hc3NlcnRVbmV4
cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKLX0KLQogc3ViIHBhcnNlT3B0
aW9uYWxTZW1pY29sb24KIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0aW9ucy5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0aW9u
cy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Q0VSZWFjdGlvbnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMyArMjcs
MTMgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdENFUmVhY3Rpb25zIHsKLSAgICBbQ0VSZWFjdGlv
bnNdIHZvaWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zKCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRl
ZmluZWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zKCk7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uczsKICAgICBbQ0VSZWFjdGlvbnMs
IFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0
aW9uczsKIAogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gYXR0cmlidXRlIFRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyIHN0cmluZ2lmaWVyQXR0cmlidXRlOwogCi0gICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZF0gdm9pZCBtZXRob2RXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQoKTsKKyAgICBbQ0VS
ZWFjdGlvbnM9Tm90TmVlZGVkXSB1bmRlZmluZWQgbWV0aG9kV2l0aENFUmVhY3Rpb25zTm90TmVl
ZGVkKCk7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0cmluZyBh
dHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNOb3ROZWVkZWQ7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5l
ZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZsZWN0QXR0cmlidXRlV2l0aENF
UmVhY3Rpb25zTm90TmVlZGVkOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdENhbGxUcmFjZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbFRyYWNlci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbFRyYWNl
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE0ICszNiwxNCBAQCB0eXBlZGVmIChib29sZWFu
IG9yIGZsb2F0IG9yIERPTVN0cmluZykgCiAKICAgICBjb25zdCBib29sZWFuIHRlc3RDb25zdFZh
bHVlID0gZmFsc2U7CiAKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25JbnRlcmZhY2UoKTsKLSAgICBb
Q2FsbFRyYWNpbmdDYWxsYmFjaz10ZXN0Q2FsbFRyYWNlck9wZXJhdGlvbl0gdm9pZCB0ZXN0T3Bl
cmF0aW9uU3BlY2lmaWVkKCk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVyYXRpb25JbnRlcmZhY2Uo
KTsKKyAgICBbQ2FsbFRyYWNpbmdDYWxsYmFjaz10ZXN0Q2FsbFRyYWNlck9wZXJhdGlvbl0gdW5k
ZWZpbmVkIHRlc3RPcGVyYXRpb25TcGVjaWZpZWQoKTsKIAotICAgIHZvaWQgdGVzdE9wZXJhdGlv
bldpdGhBcmd1bWVudHMoYm9vbGVhbiBhLCBmbG9hdCBiLCBET01TdHJpbmcgYyk7Ci0gICAgdm9p
ZCB0ZXN0T3BlcmF0aW9uV2l0aE51bGxhYmxlQXJndW1lbnQoTm9kZT8gbm9kZU51bGxhYmxlQXJn
KTsKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25XaXRoVmFyaWFudEFyZ3VtZW50KFZhcmlhbnRUeXBl
IHZhcmlhbnRBcmcpOwotICAgIHZvaWQgdGVzdE9wZXJhdGlvbldpdGhOdWxsYWJsZVZhcmlhbnRB
cmd1bWVudChWYXJpYW50VHlwZT8gdmFyaWFudE51bGxhYmxlQXJnKTsKLSAgICB2b2lkIHRlc3RP
cGVyYXRpb25XaXRoT3B0aW9uYWxWYXJpYW50QXJndW1lbnQob3B0aW9uYWwgVmFyaWFudFR5cGUg
dmFyaWFudE9wdGlvbmFsQXJnKTsKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25XaXRoRGVmYXVsdFZh
cmlhbnRBcmd1bWVudChvcHRpb25hbCBWYXJpYW50VHlwZSB2YXJpYW50RGVmYXVsdEFyZyA9ICIi
KTsKKyAgICB1bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhBcmd1bWVudHMoYm9vbGVhbiBhLCBm
bG9hdCBiLCBET01TdHJpbmcgYyk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVyYXRpb25XaXRoTnVs
bGFibGVBcmd1bWVudChOb2RlPyBub2RlTnVsbGFibGVBcmcpOworICAgIHVuZGVmaW5lZCB0ZXN0
T3BlcmF0aW9uV2l0aFZhcmlhbnRBcmd1bWVudChWYXJpYW50VHlwZSB2YXJpYW50QXJnKTsKKyAg
ICB1bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhOdWxsYWJsZVZhcmlhbnRBcmd1bWVudChWYXJp
YW50VHlwZT8gdmFyaWFudE51bGxhYmxlQXJnKTsKKyAgICB1bmRlZmluZWQgdGVzdE9wZXJhdGlv
bldpdGhPcHRpb25hbFZhcmlhbnRBcmd1bWVudChvcHRpb25hbCBWYXJpYW50VHlwZSB2YXJpYW50
T3B0aW9uYWxBcmcpOworICAgIHVuZGVmaW5lZCB0ZXN0T3BlcmF0aW9uV2l0aERlZmF1bHRWYXJp
YW50QXJndW1lbnQob3B0aW9uYWwgVmFyaWFudFR5cGUgdmFyaWFudERlZmF1bHRBcmcgPSAiIik7
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNP
YmplY3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDQgKzI4LDQgQEAKIAogWwogICAgIENhbGxiYWNrVGhpc09iamVjdD1U
ZXN0Tm9kZQotXSBjYWxsYmFjayBUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0ID0g
dm9pZCAoc2VxdWVuY2U8VGVzdE5vZGU+IHBhcmFtZXRlcik7CitdIGNhbGxiYWNrIFRlc3RDYWxs
YmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QgPSB1bmRlZmluZWQgKHNlcXVlbmNlPFRlc3ROb2Rl
PiBwYXJhbWV0ZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRo
VHlwZWRlZnMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw2IEBACiAKIHR5cGVkZWYgbG9uZyBMT05HOwogdHlwZWRl
ZiBzZXF1ZW5jZTxMT05HPz4gU0VRVUVOQ0VfT0ZfTlVMTEFCTEVfTE9OR1M7Ci10eXBlZGVmIHZv
aWQgVk9JRDsKK3R5cGVkZWYgdW5kZWZpbmVkIFVOREVGSU5FRDsKIAotY2FsbGJhY2sgVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMgPSBWT0lEIChTRVFVRU5DRV9PRl9OVUxMQUJMRV9M
T05HUyBzZXF1ZW5jZUFyZywgTE9ORyBsb25nQXJnKTsKK2NhbGxiYWNrIFRlc3RDYWxsYmFja0Z1
bmN0aW9uV2l0aFR5cGVkZWZzID0gVU5ERUZJTkVEIChTRVFVRU5DRV9PRl9OVUxMQUJMRV9MT05H
UyBzZXF1ZW5jZUFyZywgTE9ORyBsb25nQXJnKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2tJbnRlcmZhY2UuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2tJbnRlcmZh
Y2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIs
MTMgKzQyLDEzIEBAIGRpY3Rpb25hcnkgVGVzdENhbGxiYWNrSW50ZXJmYWNlRGljdGlvbmEKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT05TVEFOVDIgPSAyOwogCiAgICAgLy8gT3BlcmF0aW9u
cy4KLSAgICB2b2lkIGNhbGxiYWNrV2l0aE5vUGFyYW0oKTsKLSAgICB2b2lkIGNhbGxiYWNrV2l0
aEFycmF5UGFyYW0oRmxvYXQzMkFycmF5IGFycmF5UGFyYW0pOwotICAgIHZvaWQgY2FsbGJhY2tX
aXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNyelBh
cmFtLCBET01TdHJpbmcgc3RyUGFyYW0pOworICAgIHVuZGVmaW5lZCBjYWxsYmFja1dpdGhOb1Bh
cmFtKCk7CisgICAgdW5kZWZpbmVkIGNhbGxiYWNrV2l0aEFycmF5UGFyYW0oRmxvYXQzMkFycmF5
IGFycmF5UGFyYW0pOworICAgIHVuZGVmaW5lZCBjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0
VmFsdWVQYXJhbShTZXJpYWxpemVkU2NyaXB0VmFsdWUgc3J6UGFyYW0sIERPTVN0cmluZyBzdHJQ
YXJhbSk7CiAgICAgW0N1c3RvbV0gbG9uZyBjdXN0b21DYWxsYmFjayhUZXN0T2JqIHRlc3RPYmpQ
YXJhbSwgVGVzdE5vZGUgdGVzdE5vZGVQYXJhbSk7Ci0gICAgdm9pZCBjYWxsYmFja1dpdGhTdHJp
bmdMaXN0KERPTVN0cmluZ0xpc3QgbGlzdFBhcmFtKTsKLSAgICB2b2lkIGNhbGxiYWNrV2l0aEJv
b2xlYW4oYm9vbGVhbiBib29sUGFyYW0pOwotICAgIHZvaWQgY2FsbGJhY2tSZXF1aXJlc1RoaXNU
b1Bhc3MobG9uZyBsb25nUGFyYW0sIFRlc3ROb2RlIHRlc3ROb2RlUGFyYW0pOworICAgIHVuZGVm
aW5lZCBjYWxsYmFja1dpdGhTdHJpbmdMaXN0KERPTVN0cmluZ0xpc3QgbGlzdFBhcmFtKTsKKyAg
ICB1bmRlZmluZWQgY2FsbGJhY2tXaXRoQm9vbGVhbihib29sZWFuIGJvb2xQYXJhbSk7CisgICAg
dW5kZWZpbmVkIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGxvbmcgbG9uZ1BhcmFtLCBUZXN0
Tm9kZSB0ZXN0Tm9kZVBhcmFtKTsKICAgICBET01TdHJpbmcgY2FsbGJhY2tXaXRoQVJldHVyblZh
bHVlKCk7CiAgICAgW1JldGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBjYWxsYmFja1RoYXRSZXRo
cm93c0V4Y2VwdGlvbnMoVGVzdENhbGxiYWNrSW50ZXJmYWNlRW51bSBlbnVtUGFyYW0pOwogICAg
IFtTa2lwQ2FsbGJhY2tJbnZva2VDaGVja10gRE9NU3RyaW5nIGNhbGxiYWNrVGhhdFNraXBzSW52
b2tlQ2hlY2soVGVzdENhbGxiYWNrSW50ZXJmYWNlRGljdGlvbmFyeSBkaWN0aW9uYXJ5UGFyYW0p
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3REb21haW5T
ZWN1cml0eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3REb21haW5TZWN1cml0eS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5IEBACiAgICAgQ2hlY2tTZWN1cml0eQogXSBpbnRl
cmZhY2UgVGVzdEFjdGl2ZURPTU9iamVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcg
ZXhjaXRpbmdBdHRyOwotICAgIHZvaWQgZXhjaXRpbmdGdW5jdGlvbihOb2RlIG5leHRDaGlsZCk7
Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eV0gdm9pZCBwb3N0TWVzc2FnZShET01TdHJpbmcgbWVz
c2FnZSk7CisgICAgdW5kZWZpbmVkIGV4Y2l0aW5nRnVuY3Rpb24oTm9kZSBuZXh0Q2hpbGQpOwor
ICAgIFtEb05vdENoZWNrU2VjdXJpdHldIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShET01TdHJpbmcg
bWVzc2FnZSk7CiAKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZChET01T
dHJpbmcgcGFyYW0pOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZChOb2RlIHBhcmFtMSwgTm9k
ZSBwYXJhbTIpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2Qo
RE9NU3RyaW5nIHBhcmFtKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZChOb2RlIHBh
cmFtMSwgTm9kZSBwYXJhbTIpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBA
QCBpbnRlcmZhY2UgVGVzdEVuYWJsZWRCeVNldHRpbmcgewogCiAgICAgLy8gW0VuYWJsZWRCeVNl
dHRpbmddIGF0dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnMuCiAgICAgW0NvbmRpdGlvbmFsPVRFU1Rf
RkVBVFVSRSwgRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZ10gYXR0cmlidXRlIERPTVN0cmlu
ZyBlbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlOwotICAgIFtDb25kaXRpb25hbD1URVNUX0ZFQVRV
UkUsIEVuYWJsZWRCeVNldHRpbmc9VGVzdFNldHRpbmddIHZvaWQgZW5hYmxlZEJ5U2V0dGluZ09w
ZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFU
VVJFLCBFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nXSB1bmRlZmluZWQgZW5hYmxlZEJ5U2V0
dGluZ09wZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RHbG9iYWxPYmpl
Y3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDE4ICsz
MSwxOCBAQAogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gYXR0cmli
dXRlIERPTVN0cmluZyBwdWJsaWNBbmRQcml2YXRlQXR0cmlidXRlOwogICAgIFtDb25kaXRpb25h
bD1URVNUX0ZFQVRVUkUsIFByaXZhdGVJZGVudGlmaWVyLCBQdWJsaWNJZGVudGlmaWVyXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHB1YmxpY0FuZFByaXZhdGVDb25kaXRpb25hbEF0dHJpYnV0ZTsKICAg
ICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJl
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU7Ci0gICAgdm9p
ZCByZWd1bGFyT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOwotICAgIFtDb25kaXRpb25h
bD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQgZW5hYmxl
ZEF0UnVudGltZU9wZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0aW9u
YWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJs
ZWRBdFJ1bnRpbWVPcGVyYXRpb24obG9uZyB0ZXN0UGFyYW0pOwotICAgIFtDb25kaXRpb25hbD1U
RVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHN0YXRpYyB2b2lkIGVu
YWJsZWRBdFJ1bnRpbWVPcGVyYXRpb25TdGF0aWMobG9uZyB0ZXN0UGFyYW0pOworICAgIHVuZGVm
aW5lZCByZWd1bGFyT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOworICAgIFtDb25kaXRp
b25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHVuZGVmaW5l
ZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOworICAgIFtD
b25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHVu
ZGVmaW5lZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKGxvbmcgdGVzdFBhcmFtKTsKKyAgICBb
Q29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSBz
dGF0aWMgdW5kZWZpbmVkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb25TdGF0aWMobG9uZyB0ZXN0
UGFyYW0pOwogCi0gICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkXSB2b2lkIGVuYWJs
ZWRJblNwZWNpZmljV29ybGQobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVkRm9yV29ybGQ9
c3BlY2lmaWNXb3JsZF0gdW5kZWZpbmVkIGVuYWJsZWRJblNwZWNpZmljV29ybGQobG9uZyB0ZXN0
UGFyYW0pOwogCi0gICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkLCBFbmFibGVkQXRS
dW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVudGlt
ZUZlYXR1cmVFbmFibGVkKGxvbmcgdGVzdFBhcmFtKTsKLSAgICBbRW5hYmxlZEZvcldvcmxkPXNw
ZWNpZmljV29ybGQsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmUmVGVzdEZlYXR1cmUxXSB2
b2lkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVudGltZUZlYXR1cmVzRW5hYmxlZChsb25n
IHRlc3RQYXJhbSk7CisgICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEluU3BlY2lmaWNXb3JsZFdo
ZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVkRm9y
V29ybGQ9c3BlY2lmaWNXb3JsZCwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZSZUZXN0RmVh
dHVyZTFdIHVuZGVmaW5lZCBlbmFibGVkSW5TcGVjaWZpY1dvcmxkV2hlblJ1bnRpbWVGZWF0dXJl
c0VuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOwogCi0gICAgW1ByaXZhdGVJZGVudGlmaWVyLCBDb25k
aXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQg
dGVzdFByaXZhdGVGdW5jdGlvbigpOwotICAgIFtKU0J1aWx0aW4sIENvbmRpdGlvbmFsPVRFU1Rf
RkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCB0ZXN0SlNCdWlsdGlu
RnVuY3Rpb24oKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIENvbmRpdGlvbmFsPVRFU1RfRkVB
VFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdW5kZWZpbmVkIHRlc3RQcml2YXRl
RnVuY3Rpb24oKTsKKyAgICBbSlNCdWlsdGluLCBDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVu
YWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHVuZGVmaW5lZCB0ZXN0SlNCdWlsdGluRnVuY3Rp
b24oKTsKIAogICAgIC8vIFtTZWN1cmVDb250ZXh0XSBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRpb25z
OyB3aWxsIG5vdCBiZSBleHBvc2VkIHRvIGEgbm9uLXNlY3VyZSBjb250ZXh0LgogICAgIC8vIEZy
b20gPGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJhcHBzZWMtc2VjdXJlLWNvbnRleHRzLyNpbnRl
Z3JhdGlvbi1pZGw+IChFZGl0b3IncyBEcmFmdCwgMTcgTm92ZW1iZXIgMjAxNikKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBs
ZW1lbnRzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTAg
KzQwLDEwIEBACiAgICAgW0N1c3RvbUdldHRlciwgQ3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGltcGxlbWVudHNTdHIzOwogICAgIGF0dHJpYnV0ZSBOb2RlIGltcGxlbWVudHNOb2Rl
OwogCi0gICAgdm9pZCBpbXBsZW1lbnRzTWV0aG9kMSgpOworICAgIHVuZGVmaW5lZCBpbXBsZW1l
bnRzTWV0aG9kMSgpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlU
aHJvd0V4Y2VwdGlvbl0gVGVzdE9iaiBpbXBsZW1lbnRzTWV0aG9kMihET01TdHJpbmcgc3RyQXJn
LCBUZXN0T2JqIG9iakFyZyk7Ci0gICAgW0N1c3RvbV0gdm9pZCBpbXBsZW1lbnRzTWV0aG9kMygp
OwotICAgIHN0YXRpYyB2b2lkIGltcGxlbWVudHNNZXRob2Q0KCk7CisgICAgW0N1c3RvbV0gdW5k
ZWZpbmVkIGltcGxlbWVudHNNZXRob2QzKCk7CisgICAgc3RhdGljIHVuZGVmaW5lZCBpbXBsZW1l
bnRzTWV0aG9kNCgpOwogCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NPTlNU
QU5UMSA9IDE7CiAgICAgW1JlZmxlY3Q9Q09OU1RfSU1QTF0gY29uc3QgdW5zaWduZWQgc2hvcnQg
SU1QTEVNRU5UU0NPTlNUQU5UMiA9IDI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXIgewotICAgIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGlu
ZGV4LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVkIGxv
bmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBJbmRleGVkIHNldHRl
cnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBpbmRleGVkIGdldHRlciBhcyB3ZWxsLgogICAg
IGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24g
ewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5k
ZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5k
ZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8g
Tk9URTogSW5kZXhlZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgaW5kZXhlZCBn
ZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1bnNpZ25lZCBsb25nIGluZGV4
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFjZSBUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVu
dGlmaWVyIHsKLSAgICBzZXR0ZXIgdm9pZCBpbmRleGVkU2V0dGVyKHVuc2lnbmVkIGxvbmcgaW5k
ZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5lZCBpbmRleGVkU2V0dGVy
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBJ
bmRleGVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBpbmRleGVkIGdldHRlciBh
cyB3ZWxsLgogICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RKU0J1aWx0aW5Db25z
dHJ1Y3Rvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SlNCdWlsdGluQ29uc3Ry
dWN0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTAgQEAKIF0gaW50ZXJmYWNl
IFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvciB7CiAgICAgY29uc3RydWN0b3IoKTsKIAotICAgIHZv
aWQgdGVzdEZ1bmN0aW9uKCk7CisgICAgdW5kZWZpbmVkIHRlc3RGdW5jdGlvbigpOwogICAgIGF0
dHJpYnV0ZSBib29sZWFuIHRlc3RBdHRyaWJ1dGU7CiAKLSAgICBbIEN1c3RvbSBdIHZvaWQgdGVz
dEN1c3RvbUZ1bmN0aW9uKCk7CisgICAgWyBDdXN0b20gXSB1bmRlZmluZWQgdGVzdEN1c3RvbUZ1
bmN0aW9uKCk7CiAgICAgWyBDdXN0b21HZXR0ZXIgXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biB0ZXN0QXR0cmlidXRlQ3VzdG9tOwogICAgIFsgQ3VzdG9tR2V0dGVyLCBDdXN0b21TZXR0ZXIg
XSBhdHRyaWJ1dGUgYm9vbGVhbiB0ZXN0QXR0cmlidXRlUldDdXN0b207CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
Tm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjQsOSArMjQsOSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIHsKLSAgICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0
cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0
cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogCi0g
ICAgc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7Cisg
ICAgc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVl
KTsKICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1bnNpZ25lZCBsb25nIGluZGV4KTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkgQEAKICAqLwogCiBpbnRlcmZhY2Ug
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVl
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKERPTVN0cmluZyBu
YW1lLCBET01TdHJpbmcgdmFsdWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBu
YW1lKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxv
bmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0
ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOwogICAg
IGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjQsOSArMjQsOSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyV2l0aElkZW50aWZpZXIgewotICAgIHNldHRlciB2b2lkIG5hbWVkU2V0dGVyKERP
TVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgbmFt
ZWRTZXR0ZXIoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERP
TVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogCi0gICAgc2V0dGVyIHZvaWQgaW5kZXhlZFNldHRl
cih1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRl
ZmluZWQgaW5kZXhlZFNldHRlcih1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUp
OwogICAgIGdldHRlciBET01TdHJpbmcgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxl
dGVyTm9JZGVudGlmaWVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICov
CiAKIGludGVyZmFjZSBUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIHsKLSAgICBkZWxldGVy
IHZvaWQgKERPTVN0cmluZyBuYW1lKTsKKyAgICBkZWxldGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5n
IG5hbWUpOwogCiAgICAgLy8gTk9URTogTmFtZWQgZGVsZXRlcnMgcmVxdWlyZSB0aGUgcHJlc2Vu
Y2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01T
dHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGRlbGV0
ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZGVsZXRl
ciB1bmRlZmluZWQgKERPTVN0cmluZyBuYW1lKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIGRlbGV0
ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAg
Z2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RO
YW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50
aWZpZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogaW50ZXJm
YWNlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB7Ci0gICAgZGVsZXRlciB2b2lkIG5h
bWVkRGVsZXRlcihET01TdHJpbmcgbmFtZSk7CisgICAgZGVsZXRlciB1bmRlZmluZWQgbmFtZWRE
ZWxldGVyKERPTVN0cmluZyBuYW1lKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIGRlbGV0ZXJzIHJl
cXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAgZ2V0dGVy
IERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1l
ZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4
ZWRHZXR0ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogaW50
ZXJmYWNlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciB7Ci0gICAgZGVsZXRlciB2
b2lkIChET01TdHJpbmcgbmFtZSk7CisgICAgZGVsZXRlciB1bmRlZmluZWQgKERPTVN0cmluZyBu
YW1lKTsKIAogICAgIC8vIFRoZSBwcmVzZW5jZSBvZiBhbiBpbmRleCBnZXR0ZXIgY2hhbmdlcyBh
ZGRzIGFkZGl0aW9uYWwKICAgICAvLyBjaGVja3MgdG8gdGhlIGRlbGV0ZSBhbGdvcml0aG0uCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVy
Tm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNl
dHRlck5vSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAq
LwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIHsKLSAgICBzZXR0ZXIg
dm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVm
aW5lZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBO
YW1lZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdl
bGwuCiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBA
CiAgKi8KIAogaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3Ry
aW5nIHZhbHVlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKERP
TVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8gTk9URTogTmFtZWQgc2V0
dGVycyByZXF1aXJlIHRoZSBwcmVzZW5jZSBvZiBhIG5hbWVkIGdldHRlciBhcyB3ZWxsLgogICAg
IGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RO
YW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlm
aWVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFj
ZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB7Ci0gICAgc2V0dGVyIHZvaWQgbmFtZWRT
ZXR0ZXIoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVm
aW5lZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAg
IC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBuYW1lZCBn
ZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXIgewotICAgIHNldHRlciB2b2lkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1lLCBET01T
dHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgbmFtZWRTZXR0ZXIoRE9NU3RyaW5n
IG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5n
IG5hbWUpOwogCiAgICAgZ2V0dGVyIERPTVN0cmluZyBpbmRleGVkU2V0dGVyKHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0
aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXJBbmRTZXR0ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCw5IEBACiAgKi8K
IAogaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIHsK
LSAgICBzZXR0ZXIgdm9pZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZh
bHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1lLCBE
T01TdHJpbmcgdmFsdWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1lKTsK
IAotICAgIHNldHRlciB2b2lkIGluZGV4ZWRTZXR0ZXIodW5zaWduZWQgbG9uZyBpbmRleCwgRE9N
U3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIGluZGV4ZWRTZXR0ZXIodW5zaWdu
ZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBnZXR0ZXIgRE9NU3RyaW5nIGlu
ZGV4ZWRTZXR0ZXIodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0
aW5zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE5hbWVkU2V0dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuaWRsCShyZXZpc2lvbiAyNjYy
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyV2l0aE92ZXJyaWRlQnVpbHRpbnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiBbCiAgICAgT3ZlcnJpZGVCdWlsdGlucwogXSBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVy
V2l0aE92ZXJyaWRlQnVpbHRpbnMgewotICAgIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwg
RE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwg
RE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0
aGUgcHJlc2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3Ry
aW5nIChET01TdHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhV
bmZvcmdhYmxlUHJvcGVydGllcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDExICsyNCwxMSBA
QAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRp
ZXMgewotICAgIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsK
KyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsK
IAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBu
YW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFt
ZSk7CiAKICAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdW5m
b3JnZWFibGVBdHRyaWJ1dGU7Ci0gICAgW1VuZm9yZ2VhYmxlXSB2b2lkIHVuZm9yZ2VhYmxlT3Bl
cmF0aW9uKCk7CisgICAgW1VuZm9yZ2VhYmxlXSB1bmRlZmluZWQgdW5mb3JnZWFibGVPcGVyYXRp
b24oKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVCdWlsdGlucy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJpZGVC
dWlsdGlucy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDExICsyNiwxMSBAQAogWwogICAgIE92
ZXJyaWRlQnVpbHRpbnMKIF0gaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxl
UHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMgewotICAgIHNldHRlciB2b2lkIChET01TdHJp
bmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJp
bmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMg
cmVxdWlyZSB0aGUgcHJlc2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0
ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAKICAgICBbVW5mb3JnZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdW5mb3JnZWFibGVBdHRyaWJ1dGU7Ci0gICAgW1VuZm9y
Z2VhYmxlXSB2b2lkIHVuZm9yZ2VhYmxlT3BlcmF0aW9uKCk7CisgICAgW1VuZm9yZ2VhYmxlXSB1
bmRlZmluZWQgdW5mb3JnZWFibGVPcGVyYXRpb24oKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Tm9kZS5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Tm9kZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG5hbWU7CiAKICAgICBbRW5hYmxlZEF0UnVudGltZT1ET01JdGVyYXRvcl0gaXRlcmFibGU8
VGVzdE5vZGU+OwotICAgIFByb21pc2U8dm9pZD4gdGVzdFdvcmtlclByb21pc2UoKTsKKyAgICBQ
cm9taXNlPHVuZGVmaW5lZD4gdGVzdFdvcmtlclByb21pc2UoKTsKIAogICAgIC8vIFtTZWN1cmVD
b250ZXh0XSBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRpb25zOyB3aWxsIG5vdCBiZSBleHBvc2VkIHRv
IGEgbm9uLXNlY3VyZSBjb250ZXh0LgogICAgIC8vIEZyb20gPGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWJhcHBzZWMtc2VjdXJlLWNvbnRleHRzLyNpbnRlZ3JhdGlvbi1pZGw+IChFZGl0b3IncyBE
cmFmdCwgMTcgTm92ZW1iZXIgMjAxNikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMTEyLDEzICsxMTIsMTMgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtp
bmRhLWxvdwogCiAgICAgLy8gW0VuYWJsZWRBdFJ1bnRpbWVdIGF0dHJpYnV0ZXMgYW5kIG9wZXJh
dGlvbnMuCiAgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1U
ZXN0RmVhdHVyZSZUZXN0RmVhdHVyZTFdIGF0dHJpYnV0ZSBET01TdHJpbmcgZW5hYmxlZEF0UnVu
dGltZUF0dHJpYnV0ZTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRS
dW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24oRE9NU3Ry
aW5nIHRlc3RQYXJhbSk7Ci0gICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0
UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKGxvbmcg
dGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50
aW1lPVRlc3RGZWF0dXJlXSBzdGF0aWMgdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uU3Rh
dGljKGxvbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFi
bGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVudGltZU9wZXJh
dGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJF
LCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVudGlt
ZU9wZXJhdGlvbihsb25nIHRlc3RQYXJhbSk7CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVS
RSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gc3RhdGljIHVuZGVmaW5lZCBlbmFibGVk
QXRSdW50aW1lT3BlcmF0aW9uU3RhdGljKGxvbmcgdGVzdFBhcmFtKTsKICAgICBbQ29uZGl0aW9u
YWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSBzdGF0aWMgYXR0
cmlidXRlIERPTVN0cmluZyBlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU3RhdGljOwogCi0gICAg
W0VuYWJsZWRGb3JXb3JsZD1zb21lV29ybGQsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVd
IHZvaWQgZW5hYmxlZEluU3BlY2lmaWNXb3JsZFdoZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQobG9u
ZyB0ZXN0UGFyYW0pOwotICAgIFtFbmFibGVkRm9yV29ybGQ9c29tZVdvcmxkXSB2b2lkIHdvcmxk
U3BlY2lmaWNNZXRob2QobG9uZyB0ZXN0UGFyYW0pOworICAgIFtFbmFibGVkRm9yV29ybGQ9c29t
ZVdvcmxkLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZElu
U3BlY2lmaWNXb3JsZFdoZW5SdW50aW1lRmVhdHVyZUVuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOwor
ICAgIFtFbmFibGVkRm9yV29ybGQ9c29tZVdvcmxkXSB1bmRlZmluZWQgd29ybGRTcGVjaWZpY01l
dGhvZChsb25nIHRlc3RQYXJhbSk7CiAKICAgICAvLyBbU2VjdXJlQ29udGV4dF0gYXR0cmlidXRl
cyBhbmQgb3BlcmF0aW9uczsgd2lsbCBub3QgYmUgZXhwb3NlZCB0byBhIG5vbi1zZWN1cmUgY29u
dGV4dC4KICAgICAvLyBGcm9tIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLXNlY3Vy
ZS1jb250ZXh0cy8jaW50ZWdyYXRpb24taWRsPiAoRWRpdG9yJ3MgRHJhZnQsIDE3IE5vdmVtYmVy
IDIwMTYpCkBAIC0xMzIsOCArMTMyLDggQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwg
ImtpbmRhLWxvdwogICAgIGl0ZXJhYmxlPERPTVN0cmluZz47CiAKICAgICAvLyBNZXRob2RzCi0g
ICAgW1Vuc2NvcGFibGVdIHZvaWQgdm9pZE1ldGhvZCgpOwotICAgIHZvaWQgdm9pZE1ldGhvZFdp
dGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcpOwor
ICAgIFtVbnNjb3BhYmxlXSB1bmRlZmluZWQgdW5kZWZpbmVkTWV0aG9kKCk7CisgICAgdW5kZWZp
bmVkIHVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFy
ZywgVGVzdE9iaiBvYmpBcmcpOwogICAgIGJ5dGUgYnl0ZU1ldGhvZCgpOwogICAgIGJ5dGUgYnl0
ZU1ldGhvZFdpdGhBcmdzKGJ5dGUgYnl0ZUFyZywgRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBv
YmpBcmcpOwogICAgIG9jdGV0IG9jdGV0TWV0aG9kKCk7CkBAIC0xNDMsNDUgKzE0Myw0NSBAQCBl
bnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAgICAgVGVzdE9iaiBvYmpN
ZXRob2QoKTsKICAgICBUZXN0T2JqIG9iak1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9N
U3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcpOwogICAgIFtVbmZvcmdlYWJsZV0gbG9uZyB1
bmZvcmdlYWJsZU1ldGhvZCgpOwotICAgIHZvaWQgbWV0aG9kV2l0aEFyZ1RyZWF0aW5nTnVsbEFz
RW1wdHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYXJnKTsKLSAg
ICB2b2lkIG1ldGhvZFdpdGhYUGF0aE5TUmVzb2x2ZXJQYXJhbWV0ZXIoWFBhdGhOU1Jlc29sdmVy
IHJlc29sdmVyKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aEFyZ1RyZWF0aW5nTnVsbEFzRW1w
dHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYXJnKTsKKyAgICB1
bmRlZmluZWQgbWV0aG9kV2l0aFhQYXRoTlNSZXNvbHZlclBhcmFtZXRlcihYUGF0aE5TUmVzb2x2
ZXIgcmVzb2x2ZXIpOwogCiAgICAgLy8gTnVsbGFibGUgU3RyaW5nIHJldHVybiB2YWx1ZXMuCiAg
ICAgRE9NU3RyaW5nPyBudWxsYWJsZVN0cmluZ01ldGhvZCgpOwogICAgIHN0YXRpYyBET01TdHJp
bmc/IG51bGxhYmxlU3RyaW5nU3RhdGljTWV0aG9kKCk7CiAgICAgZ2V0dGVyIERPTVN0cmluZz8g
bnVsbGFibGVTdHJpbmdTcGVjaWFsTWV0aG9kKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCi0gICAg
dm9pZCBtZXRob2RXaXRoRW51bUFyZyhUZXN0RW51bVR5cGUgZW51bUFyZyk7Ci0gICAgdm9pZCBt
ZXRob2RXaXRoU3RhbmRhbG9uZUVudW1BcmcoVGVzdFN0YW5kYWxvbmVFbnVtZXJhdGlvbiBlbnVt
QXJnKTsKLSAgICB2b2lkIG1ldGhvZFdpdGhPcHRpb25hbEVudW1Bcmcob3B0aW9uYWwgVGVzdEVu
dW1UeXBlIGVudW1BcmcpOwotICAgIHZvaWQgbWV0aG9kV2l0aE9wdGlvbmFsRW51bUFyZ0FuZERl
ZmF1bHRWYWx1ZShvcHRpb25hbCBUZXN0RW51bVR5cGUgZW51bUFyZyA9ICJFbnVtVmFsdWUxIik7
CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhFbnVtQXJnKFRlc3RFbnVtVHlwZSBlbnVtQXJnKTsK
KyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFN0YW5kYWxvbmVFbnVtQXJnKFRlc3RTdGFuZGFsb25l
RW51bWVyYXRpb24gZW51bUFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhPcHRpb25hbEVu
dW1Bcmcob3B0aW9uYWwgVGVzdEVudW1UeXBlIGVudW1BcmcpOworICAgIHVuZGVmaW5lZCBtZXRo
b2RXaXRoT3B0aW9uYWxFbnVtQXJnQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIFRlc3RFbnVtVHlw
ZSBlbnVtQXJnID0gIkVudW1WYWx1ZTEiKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RP
YmogbWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93cyhET01TdHJpbmcgc3RyQXJnLCBU
ZXN0T2JqIG9iakFyZyk7CiAKLSAgICB2b2lkIG1ldGhvZFdpdGhVU1ZTdHJpbmdBcmcoVVNWU3Ry
aW5nIHN0cik7Ci0gICAgdm9pZCBtZXRob2RXaXRoTnVsbGFibGVVU1ZTdHJpbmdBcmcoVVNWU3Ry
aW5nPyBzdHIpOwotICAgIHZvaWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZ1RyZWF0aW5nTnVsbEFz
RW1wdHlTdHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBVU1ZTdHJpbmcgc3RyKTsKKyAg
ICB1bmRlZmluZWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZyhVU1ZTdHJpbmcgc3RyKTsKKyAgICB1
bmRlZmluZWQgbWV0aG9kV2l0aE51bGxhYmxlVVNWU3RyaW5nQXJnKFVTVlN0cmluZz8gc3RyKTsK
KyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFVTVlN0cmluZ0FyZ1RyZWF0aW5nTnVsbEFzRW1wdHlT
dHJpbmcoW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBVU1ZTdHJpbmcgc3RyKTsKIAotICAgIHZv
aWQgbWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmcoQnl0ZVN0cmluZyBzdHIpOwotICAgIHZvaWQgbWV0
aG9kV2l0aE51bGxhYmxlQnl0ZVN0cmluZ0FyZyhCeXRlU3RyaW5nPyBzdHIpOwotICAgIHZvaWQg
bWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gQnl0ZVN0cmluZyBzdHIpOworICAgIHVuZGVmaW5lZCBtZXRob2RX
aXRoQnl0ZVN0cmluZ0FyZyhCeXRlU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdp
dGhOdWxsYWJsZUJ5dGVTdHJpbmdBcmcoQnl0ZVN0cmluZz8gc3RyKTsKKyAgICB1bmRlZmluZWQg
bWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gQnl0ZVN0cmluZyBzdHIpOwogCi0gICAgdm9pZCBzZXJpYWxpemVk
VmFsdWUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNlcmlhbGl6ZWRBcmcpOworICAgIHVuZGVmaW5l
ZCBzZXJpYWxpemVkVmFsdWUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNlcmlhbGl6ZWRBcmcpOwog
Ci0gICAgdm9pZCBtZXRob2RXaXRoUmVjb3JkKHJlY29yZDxET01TdHJpbmcsIGxvbmc+IHJlY29y
ZFBhcmFtZXRlcik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhSZWNvcmQocmVjb3JkPERPTVN0
cmluZywgbG9uZz4gcmVjb3JkUGFyYW1ldGVyKTsKIAogICAgIC8vIEV4Y2VwdGlvbnMKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbWV0aG9kV2l0aEV4Y2VwdGlvbigpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG1ldGhvZFdpdGhFeGNlcHRpb24oKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIGxvbmcgbWV0aG9kV2l0aEV4Y2VwdGlvblJldHVybmluZ0xvbmcoKTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogbWV0aG9kV2l0aEV4Y2VwdGlvblJldHVy
bmluZ09iamVjdCgpOwogCiAgICAgLy8gJ0N1c3RvbScgZXh0ZW5kZWQgYXR0cmlidXRlCiAgICAg
W0N1c3RvbV0gYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBjdXN0b21BdHRyOwotICAgIFtDdXN0
b21dIHZvaWQgY3VzdG9tTWV0aG9kKCk7Ci0gICAgW0N1c3RvbV0gdm9pZCBjdXN0b21NZXRob2RX
aXRoQXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsK
KyAgICBbQ3VzdG9tXSB1bmRlZmluZWQgY3VzdG9tTWV0aG9kKCk7CisgICAgW0N1c3RvbV0gdW5k
ZWZpbmVkIGN1c3RvbU1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFy
ZywgVGVzdE9iaiBvYmpBcmcpOwogCiAgICAgLy8gJ0pTQnVpbHRpbicgZXh0ZW5kZWQgYXR0cmli
dXRlCi0gICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjMsIEpTQnVpbHRpbl0gdm9pZCBqc0J1aWx0
aW5NZXRob2QoKTsKLSAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMywgSlNCdWlsdGluXSB2b2lk
IGpzQnVpbHRpbk1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFyZywg
VGVzdE9iaiBvYmpBcmcpOworICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24zLCBKU0J1aWx0aW5d
IHVuZGVmaW5lZCBqc0J1aWx0aW5NZXRob2QoKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9u
MywgSlNCdWlsdGluXSB1bmRlZmluZWQganNCdWlsdGluTWV0aG9kV2l0aEFyZ3MobG9uZyBsb25n
QXJnLCBET01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7CiAgICAgW0NvbmRpdGlvbmFs
PUNvbmRpdGlvbjQsIEpTQnVpbHRpbl0gYXR0cmlidXRlIFRlc3RPYmoganNCdWlsdGluQXR0cmli
dXRlOwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb240LCBKU0J1aWx0aW5dIHJlYWRvbmx5IGF0
dHJpYnV0ZSBUZXN0T2JqIGpzQnVpbHRpblJlYWRPbmx5QXR0cmlidXRlOwogCkBAIC0xODksMjMg
KzE4OSwyMyBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAgICAg
W1ByaXZhdGVJZGVudGlmaWVyXSBET01TdHJpbmcgcHJpdmF0ZU1ldGhvZChET01TdHJpbmcgYXJn
dW1lbnQpOwogICAgIFtQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gRE9NU3Ry
aW5nIHB1YmxpY0FuZFByaXZhdGVNZXRob2QoRE9NU3RyaW5nIGFyZ3VtZW50KTsKIAotICAgIHZv
aWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5l
ciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOwotICAgIHZvaWQgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgb3B0
aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlID0gZmFsc2UpOworICAgIHVuZGVmaW5lZCBhZGRFdmVu
dExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBvcHRpb25h
bCBib29sZWFuIHVzZUNhcHR1cmUgPSBmYWxzZSk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFs
IGJvb2xlYW4gdXNlQ2FwdHVyZSA9IGZhbHNlKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uZm9vOwogICAgIFtJbXBsZW1lbnRlZEFzPW9uZm9vXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9ud2Via2l0Zm9vOwogCiAgICAgLy8gJ0NhbGxXaXRoJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAg
ICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIHdpdGhFeGVjU3RhdGVWb2lkKCk7CisgICAg
W0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gdW5kZWZpbmVkIHdpdGhFeGVjU3RhdGVWb2lkKCk7CiAg
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gVGVzdE9iaiB3aXRoRXhlY1N0YXRlT2JqKCk7Ci0g
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2l0aEV4
ZWNTdGF0ZVZvaWRFeGNlcHRpb24oKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdpdGhFeGVjU3RhdGVWb2lkRXhjZXB0aW9uKCk7CiAg
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogd2l0
aEV4ZWNTdGF0ZU9iakV4Y2VwdGlvbigpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmRXhlY1N0YXRlXSB2b2lkIHdpdGhTY3JpcHRFeGVjdXRp
b25Db250ZXh0QW5kRXhlY1N0YXRlKCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIHVuZGVmaW5lZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JkV4ZWNTdGF0ZV0gdW5kZWZpbmVkIHdpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlKCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmRXhlY1N0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gVGVzdE9iaiB3aXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0ZU9iakV4Y2VwdGlvbigpOwogICAgIFtD
YWxsV2l0aD0gIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgICYgIEV4ZWNTdGF0ZSAgXSBUZXN0T2Jq
IHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlV2l0aFNwYWNlcygpOwotICAg
IFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCB3aXRoRG9jdW1lbnRBcmd1bWVudCgpOwotICAgIFtD
YWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudF0gdm9pZCB3aXRoQ2FsbGVyRG9jdW1lbnRBcmd1bWVu
dCgpOwotICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3ddIHZvaWQgd2l0aENhbGxlcldpbmRv
d0FyZ3VtZW50KCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgd2l0aERvY3Vt
ZW50QXJndW1lbnQoKTsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnRdIHVuZGVmaW5l
ZCB3aXRoQ2FsbGVyRG9jdW1lbnRBcmd1bWVudCgpOworICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRX
aW5kb3ddIHVuZGVmaW5lZCB3aXRoQ2FsbGVyV2luZG93QXJndW1lbnQoKTsKIAogICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3RdIGF0dHJpYnV0ZSBsb25nIHdpdGhFeGVjU3RhdGVBdHRyaWJ1dGU7
CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2luZG93
JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgbG9uZyB3aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxsV2l0
aEF0dHJpYnV0ZTsKQEAgLTIxNCw1MiArMjE0LDUyIEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAi
aGlnaCIsICJraW5kYS1sb3cKICAgICBbQ2FsbFdpdGg9ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
ICAmICBFeGVjU3RhdGUgIF0gYXR0cmlidXRlIFRlc3RPYmogd2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRFeGVjU3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlOwogCiAgICAgLy8gT3B0aW9uYWwg
cGFyYW1ldGVycy4KLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFyZyhvcHRpb25hbCBs
b25nIG9wdCk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmdBbmREZWZhdWx0VmFs
dWUob3B0aW9uYWwgbG9uZyBvcHQgPSA2NjYpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE5vbk9w
dGlvbmFsQXJnQW5kT3B0aW9uYWxBcmcobG9uZyBub25PcHQsIG9wdGlvbmFsIGxvbmcgb3B0KTsK
LSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJncyhs
b25nIG5vbk9wdCwgb3B0aW9uYWwgbG9uZyBvcHQxLCBvcHRpb25hbCBsb25nIG9wdDIpOwotICAg
IHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nKG9wdGlvbmFsIERPTVN0cmluZyBzdHIp
OwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsVVNWU3RyaW5nKG9wdGlvbmFsIFVTVlN0
cmluZyBzdHIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsQXRvbVN0cmluZyhvcHRp
b25hbCBbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHN0cik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRo
T3B0aW9uYWxTdHJpbmdBbmREZWZhdWx0VmFsdWUob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICJm
b28iKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdBbmREZWZhdWx0
VmFsdWUob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIgPSAiZm9vIik7Ci0gICAg
dm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJc051bGwob3B0aW9uYWwgRE9NU3RyaW5n
IHN0ciA9IG51bGwpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNVbmRl
ZmluZWQob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICJ1bmRlZmluZWQiKTsKLSAgICB2b2lkICAg
IG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdJc051bGwob3B0aW9uYWwgW0F0b21TdHJpbmdd
IERPTVN0cmluZyBzdHIgPSBudWxsKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFN0
cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICIiKTsKLSAgICB2b2lk
ICAgIG1ldGhvZFdpdGhPcHRpb25hbFVTVlN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgVVNW
U3RyaW5nIHN0ciA9ICIiKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJp
bmdJc0VtcHR5U3RyaW5nKG9wdGlvbmFsIFtBdG9tU3RyaW5nXSBET01TdHJpbmcgc3RyID0gIiIp
OwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsRG91YmxlSXNOYU4ob3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGRvdWJsZSBudW1iZXIgPSBOYU4pOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9w
dGlvbmFsRmxvYXRJc05hTihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbnVtYmVyID0gTmFO
KTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbExvbmdMb25nKG9wdGlvbmFsIGxvbmcg
bG9uZyBudW1iZXIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTG9uZ0xvbmdJc1pl
cm8ob3B0aW9uYWwgbG9uZyBsb25nIG51bWJlciA9IDApOwotICAgIHZvaWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsVW5zaWduZWRMb25nTG9uZyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxvbmcgbnVt
YmVyKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVuc2lnbmVkTG9uZ0xvbmdJc1pl
cm8ob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsb25nIG51bWJlciA9IDApOwotICAgIHZvaWQgICAg
bWV0aG9kV2l0aE9wdGlvbmFsU2VxdWVuY2Uob3B0aW9uYWwgc2VxdWVuY2U8RE9NU3RyaW5nPiBh
cnJheSk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTZXF1ZW5jZUlzRW1wdHkob3B0
aW9uYWwgc2VxdWVuY2U8RE9NU3RyaW5nPiBhcnJheSA9IFtdKTsKLSAgICB2b2lkICAgIG1ldGhv
ZFdpdGhPcHRpb25hbEJvb2xlYW4ob3B0aW9uYWwgYm9vbGVhbiBiKTsKLSAgICB2b2lkICAgIG1l
dGhvZFdpdGhPcHRpb25hbEJvb2xlYW5Jc0ZhbHNlKG9wdGlvbmFsIGJvb2xlYW4gYiA9IGZhbHNl
KTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFueShvcHRpb25hbCBhbnkgYSk7Ci0g
ICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxPYmplY3Qob3B0aW9uYWwgb2JqZWN0IGEpOwot
ICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyKG9wdGlvbmFsIFRl
c3RPYmo/IG9iaik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBw
ZXJJc051bGwob3B0aW9uYWwgVGVzdE9iaj8gb2JqID0gbnVsbCk7Ci0gICAgdm9pZCAgICBtZXRo
b2RXaXRoT3B0aW9uYWxYUGF0aE5TUmVzb2x2ZXIob3B0aW9uYWwgWFBhdGhOU1Jlc29sdmVyPyBy
ZXNvbHZlcik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxSZWNvcmQob3B0aW9uYWwg
cmVjb3JkPERPTVN0cmluZywgbG9uZz4/IHJlY29yZCA9IG51bGwpOwotICAgIHZvaWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsUHJvbWlzZShvcHRpb25hbCBQcm9taXNlPHZvaWQ+IHByb21pc2UpOwor
ICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmcob3B0aW9uYWwgbG9uZyBvcHQp
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmdBbmREZWZhdWx0VmFsdWUo
b3B0aW9uYWwgbG9uZyBvcHQgPSA2NjYpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoTm9u
T3B0aW9uYWxBcmdBbmRPcHRpb25hbEFyZyhsb25nIG5vbk9wdCwgb3B0aW9uYWwgbG9uZyBvcHQp
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25h
bEFyZ3MobG9uZyBub25PcHQsIG9wdGlvbmFsIGxvbmcgb3B0MSwgb3B0aW9uYWwgbG9uZyBvcHQy
KTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nKG9wdGlvbmFsIERP
TVN0cmluZyBzdHIpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxVU1ZTdHJp
bmcob3B0aW9uYWwgVVNWU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhP
cHRpb25hbEF0b21TdHJpbmcob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIpOwor
ICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdBbmREZWZhdWx0VmFsdWUo
b3B0aW9uYWwgRE9NU3RyaW5nIHN0ciA9ICJmb28iKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9k
V2l0aE9wdGlvbmFsQXRvbVN0cmluZ0FuZERlZmF1bHRWYWx1ZShvcHRpb25hbCBbQXRvbVN0cmlu
Z10gRE9NU3RyaW5nIHN0ciA9ICJmb28iKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9w
dGlvbmFsU3RyaW5nSXNOdWxsKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSBudWxsKTsKKyAgICB1
bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNVbmRlZmluZWQob3B0aW9uYWwg
RE9NU3RyaW5nIHN0ciA9ICJ1bmRlZmluZWQiKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsQXRvbVN0cmluZ0lzTnVsbChvcHRpb25hbCBbQXRvbVN0cmluZ10gRE9NU3RyaW5n
IHN0ciA9IG51bGwpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJ
c0VtcHR5U3RyaW5nKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSAiIik7CisgICAgdW5kZWZpbmVk
ICAgIG1ldGhvZFdpdGhPcHRpb25hbFVTVlN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgVVNW
U3RyaW5nIHN0ciA9ICIiKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsQXRv
bVN0cmluZ0lzRW1wdHlTdHJpbmcob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIg
PSAiIik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbERvdWJsZUlzTmFOKG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgbnVtYmVyID0gTmFOKTsKKyAgICB1bmRlZmluZWQg
ICAgbWV0aG9kV2l0aE9wdGlvbmFsRmxvYXRJc05hTihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgbnVtYmVyID0gTmFOKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTG9u
Z0xvbmcob3B0aW9uYWwgbG9uZyBsb25nIG51bWJlcik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhv
ZFdpdGhPcHRpb25hbExvbmdMb25nSXNaZXJvKG9wdGlvbmFsIGxvbmcgbG9uZyBudW1iZXIgPSAw
KTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsVW5zaWduZWRMb25nTG9uZyhv
cHRpb25hbCB1bnNpZ25lZCBsb25nIGxvbmcgbnVtYmVyKTsKKyAgICB1bmRlZmluZWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsVW5zaWduZWRMb25nTG9uZ0lzWmVybyhvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGxvbmcgbnVtYmVyID0gMCk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25h
bFNlcXVlbmNlKG9wdGlvbmFsIHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXkpOworICAgIHVuZGVm
aW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTZXF1ZW5jZUlzRW1wdHkob3B0aW9uYWwgc2VxdWVu
Y2U8RE9NU3RyaW5nPiBhcnJheSA9IFtdKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9w
dGlvbmFsQm9vbGVhbihvcHRpb25hbCBib29sZWFuIGIpOworICAgIHVuZGVmaW5lZCAgICBtZXRo
b2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZShvcHRpb25hbCBib29sZWFuIGIgPSBmYWxzZSk7
CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFueShvcHRpb25hbCBhbnkgYSk7
CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbE9iamVjdChvcHRpb25hbCBvYmpl
Y3QgYSk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBl
cihvcHRpb25hbCBUZXN0T2JqPyBvYmopOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0
aW9uYWxOdWxsYWJsZVdyYXBwZXJJc051bGwob3B0aW9uYWwgVGVzdE9iaj8gb2JqID0gbnVsbCk7
CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFhQYXRoTlNSZXNvbHZlcihvcHRp
b25hbCBYUGF0aE5TUmVzb2x2ZXI/IHJlc29sdmVyKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9k
V2l0aE9wdGlvbmFsUmVjb3JkKG9wdGlvbmFsIHJlY29yZDxET01TdHJpbmcsIGxvbmc+PyByZWNv
cmQgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsUHJvbWlzZShv
cHRpb25hbCBQcm9taXNlPHVuZGVmaW5lZD4gcHJvbWlzZSk7CiAKICAgICAvLyBDYWxsYmFjayBp
bnRlcmZhY2UgcGFyYW1ldGVycy4KLSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FyZyhU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2UgY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE5v
bkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENhbGxiYWNr
SW50ZXJmYWNlIGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9w
dGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxsYmFja0ludGVyZmFjZT8gY2FsbGJhY2spOworICAg
IHVuZGVmaW5lZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBcmcoVGVzdENhbGxiYWNrSW50ZXJmYWNl
IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5k
Q2FsbGJhY2tBcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENhbGxiYWNrSW50ZXJmYWNlIGNhbGxi
YWNrKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmco
b3B0aW9uYWwgVGVzdENhbGxiYWNrSW50ZXJmYWNlPyBjYWxsYmFjayk7CiAKICAgICAvLyBDYWxs
YmFjayBmdW5jdGlvbiBwYXJhbWV0ZXJzLgotICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNr
RnVuY3Rpb25BcmcoVGVzdENhbGxiYWNrRnVuY3Rpb24gY2FsbGJhY2spOwotICAgIHZvaWQgICAg
bWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tGdW5jdGlvbkFyZyhsb25nIG5vbkNh
bGxiYWNrLCBUZXN0Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjayk7Ci0gICAgdm9pZCAgICBtZXRo
b2RXaXRoQ2FsbGJhY2tGdW5jdGlvbkFuZE9wdGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxsYmFj
a0Z1bmN0aW9uPyBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhDYWxsYmFj
a0Z1bmN0aW9uQXJnKFRlc3RDYWxsYmFja0Z1bmN0aW9uIGNhbGxiYWNrKTsKKyAgICB1bmRlZmlu
ZWQgICAgbWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tGdW5jdGlvbkFyZyhsb25n
IG5vbkNhbGxiYWNrLCBUZXN0Q2FsbGJhY2tGdW5jdGlvbiBjYWxsYmFjayk7CisgICAgdW5kZWZp
bmVkICAgIG1ldGhvZFdpdGhDYWxsYmFja0Z1bmN0aW9uQW5kT3B0aW9uYWxBcmcob3B0aW9uYWwg
VGVzdENhbGxiYWNrRnVuY3Rpb24/IGNhbGxiYWNrKTsKIAogICAgIC8vIHN0YXRpYyBtZXRob2Rz
IHdpdGggJ0NhbGxiYWNrJyBleHRlbmRlZCBhdHRyaWJ1dGUKLSAgICBzdGF0aWMgdm9pZCAgICBz
dGF0aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhvcHRpb25hbCBUZXN0Q2FsbGJh
Y2tJbnRlcmZhY2U/IGNhbGxiYWNrKTsKLSAgICBzdGF0aWMgdm9pZCAgICBzdGF0aWNNZXRob2RX
aXRoQ2FsbGJhY2tBcmcoVGVzdENhbGxiYWNrSW50ZXJmYWNlIGNhbGxiYWNrKTsKKyAgICBzdGF0
aWMgdW5kZWZpbmVkICAgIHN0YXRpY01ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKG9w
dGlvbmFsIFRlc3RDYWxsYmFja0ludGVyZmFjZT8gY2FsbGJhY2spOworICAgIHN0YXRpYyB1bmRl
ZmluZWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQXJnKFRlc3RDYWxsYmFja0ludGVyZmFj
ZSBjYWxsYmFjayk7CiAKICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVkIGF0dHJpYnV0ZQog
ICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xXSBhdHRyaWJ1dGUgbG9uZyBjb25kaXRpb25hbEF0
dHIxOwpAQCAtMjY4LDggKzI2OCw4IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJr
aW5kYS1sb3cKIAogICAgIC8vICdDb25kaXRpb25hbCcgZXh0ZW5kZWQgbWV0aG9kCiAgICAgW0Nv
bmRpdGlvbmFsPUNvbmRpdGlvbjFdIERPTVN0cmluZyBjb25kaXRpb25hbE1ldGhvZDEoKTsKLSAg
ICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMSZDb25kaXRpb24yXSB2b2lkIGNvbmRpdGlvbmFsTWV0
aG9kMigpOwotICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xfENvbmRpdGlvbjJdIHZvaWQgY29u
ZGl0aW9uYWxNZXRob2QzKCk7CisgICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjEmQ29uZGl0aW9u
Ml0gdW5kZWZpbmVkIGNvbmRpdGlvbmFsTWV0aG9kMigpOworICAgIFtDb25kaXRpb25hbD1Db25k
aXRpb24xfENvbmRpdGlvbjJdIHVuZGVmaW5lZCBjb25kaXRpb25hbE1ldGhvZDMoKTsKIAogICAg
IFtDb25kaXRpb25hbD1Db25kaXRpb24xXSBhdHRyaWJ1dGUgVGVzdE9iamVjdEFDb25zdHJ1Y3Rv
ciBjb25kaXRpb25hbEF0dHI0OwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xJkNvbmRpdGlv
bjJdIGF0dHJpYnV0ZSBUZXN0T2JqZWN0QkNvbnN0cnVjdG9yIGNvbmRpdGlvbmFsQXR0cjU7CkBA
IC0yODUsNzkgKzI4NSw3OSBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEt
bG93CiAgICAgYXR0cmlidXRlIG9iamVjdCBvYmplY3RBdHRyaWJ1dGU7CiAKICAgICAvLyBPdmVy
bG9hZHMKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaj8gb2JqQXJnLCBET01T
dHJpbmcgc3RyQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaj8gb2Jq
QXJnLCBvcHRpb25hbCBsb25nIGxvbmdBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhv
ZChET01TdHJpbmcgc3RyQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QobG9uZyBs
b25nQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdENhbGxiYWNrSW50ZXJm
YWNlIGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nTGlz
dD8gbGlzdEFyZyk7Ci0gICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPERPTVN0
cmluZz4/IGFycmF5QXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaiBv
YmpBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChXaW5kb3dQcm94eSB3aW5kb3cp
OwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChzZXF1ZW5jZTxET01TdHJpbmc+IGFycmF5
QXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2Qoc2VxdWVuY2U8dW5zaWduZWQgbG9u
Zz4gYXJyYXlBcmcpOwotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChET01TdHJpbmcgc3Ry
QXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChUZXN0T2JqPyBvYmpBcmcs
IERPTVN0cmluZyBzdHJBcmcpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKFRl
c3RPYmo/IG9iakFyZywgb3B0aW9uYWwgbG9uZyBsb25nQXJnKTsKKyAgICB1bmRlZmluZWQgICAg
b3ZlcmxvYWRlZE1ldGhvZChET01TdHJpbmcgc3RyQXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3Zl
cmxvYWRlZE1ldGhvZChsb25nIGxvbmdBcmcpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVk
TWV0aG9kKFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkICAg
IG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nTGlzdD8gbGlzdEFyZyk7CisgICAgdW5kZWZpbmVk
ICAgIG92ZXJsb2FkZWRNZXRob2Qoc2VxdWVuY2U8RE9NU3RyaW5nPj8gYXJyYXlBcmcpOworICAg
IHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKFRlc3RPYmogb2JqQXJnKTsKKyAgICB1bmRl
ZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChXaW5kb3dQcm94eSB3aW5kb3cpOworICAgIHVuZGVm
aW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXlBcmcpOwor
ICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+
IGFycmF5QXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChET01TdHJpbmcg
c3RyQXJnKTsKIAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Igb3ZlcmxvYWRl
ZCBmdW5jdGlvbnMgd2l0aCB2YXJpYWRpYyBhcmd1bWVudHMuCi0gICAgdm9pZCAgICBvdmVybG9h
ZGVkTWV0aG9kKEJsb2IuLi4gYmxvYkFyZ3MpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVk
TWV0aG9kKEJsb2IuLi4gYmxvYkFyZ3MpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0
aE9wdGlvbmFsUGFyYW1ldGVyKERPTVN0cmluZyBzdHJBcmcsIG9wdGlvbmFsIFRlc3RPYmo/IG9i
akFyZyA9IG51bGwpOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpb25hbFBhcmFt
ZXRlcihUZXN0T2JqPyBvYmpBcmcsIG9wdGlvbmFsIGxvbmcgbG9uZ0FyZyk7CisgICAgdW5kZWZp
bmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoRE9NU3RyaW5nIHN0ckFy
Zywgb3B0aW9uYWwgVGVzdE9iaj8gb2JqQXJnID0gbnVsbCk7CisgICAgdW5kZWZpbmVkIG92ZXJs
b2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoVGVzdE9iaj8gb2JqQXJnLCBvcHRpb25h
bCBsb25nIGxvbmdBcmcpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0aERpc3Rpbmd1
aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSk7Ci0gICAgdm9p
ZCBvdmVybG9hZGVkTWV0aG9kV2l0aERpc3Rpbmd1aXNoaW5nVW5pb24obG9uZyB2YWx1ZSk7Cisg
ICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoRGlzdGluZ3Vpc2hpbmdVbmlvbigoVGVz
dE9iaiBvciBUZXN0Tm9kZSkgb2JqZWN0T3JOb2RlKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRl
ZE1ldGhvZFdpdGhEaXN0aW5ndWlzaGluZ1VuaW9uKGxvbmcgdmFsdWUpOwogCi0gICAgdm9pZCBv
dmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVzdE9iaiBvciBUZXN0
Tm9kZSkgb2JqZWN0T3JOb2RlKTsKLSAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2RXaXRoMkRpc3Rp
bmd1aXNoaW5nVW5pb25zKChUZXN0SW50ZXJmYWNlIG9yIERPTVN0cmluZyBvciBsb25nKSB2YWx1
ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoMkRpc3Rpbmd1aXNoaW5nVW5p
b25zKChUZXN0T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUpOworICAgIHVuZGVmaW5lZCBv
dmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVzdEludGVyZmFjZSBv
ciBET01TdHJpbmcgb3IgbG9uZykgdmFsdWUpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9k
V2l0aE5vbkRpc3Rpbmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9y
Tm9kZSwgVGVzdE9iaiBvYmplY3QpOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25E
aXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUsIFRl
c3ROb2RlIG5vZGUpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kV2l0aE5vbkRpc3Rp
bmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSwgVGVzdE9i
aiBvYmplY3QpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kV2l0aE5vbkRpc3Rpbmd1
aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSwgVGVzdE5vZGUg
bm9kZSk7CiAKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24oKFRlc3RPYmogb3Ig
VGVzdE5vZGUpPyBvYmplY3RPck5vZGUpOwotICAgIHZvaWQgb3ZlcmxvYWRXaXRoTnVsbGFibGVV
bmlvbihsb25nIGluZGV4KTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRXaXRoTnVsbGFibGVVbmlv
bigoVGVzdE9iaiBvciBUZXN0Tm9kZSk/IG9iamVjdE9yTm9kZSk7CisgICAgdW5kZWZpbmVkIG92
ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24obG9uZyBpbmRleCk7CiAKLSAgICB2b2lkIG92ZXJsb2Fk
V2l0aE9wdGlvbmFsVW5pb24ob3B0aW9uYWwgKERPTVN0cmluZyBvciBib29sZWFuKSBvYmplY3RP
ck5vZGUgPSB0cnVlKTsKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24obG9uZyBp
bmRleCk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkV2l0aE9wdGlvbmFsVW5pb24ob3B0aW9uYWwg
KERPTVN0cmluZyBvciBib29sZWFuKSBvYmplY3RPck5vZGUgPSB0cnVlKTsKKyAgICB1bmRlZmlu
ZWQgb3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbihsb25nIGluZGV4KTsKIAotICAgIHZvaWQgb3Zl
cmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcihUZXN0T2JqPyBvYmos
IFRlc3ROb2RlIG5vZGUpOwotICAgIHZvaWQgb3ZlcmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5n
dWlzaGluZ1BhcmFtZXRlcihUZXN0Tm9kZT8gbm9kZSwgbG9uZyBpbmRleCk7CisgICAgdW5kZWZp
bmVkIG92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIoVGVzdE9i
aj8gb2JqLCBUZXN0Tm9kZSBub2RlKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRXaXRoTnVsbGFi
bGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcihUZXN0Tm9kZT8gbm9kZSwgbG9uZyBpbmRleCk7
CiAKICAgICAvLyBDbGFzcyBtZXRob2RzIHdpdGhpbiBKYXZhU2NyaXB0IChsaWtlIHdoYXQncyB1
c2VkIGZvciBJREJLZXlSYW5nZSkuCi0gICAgc3RhdGljIHZvaWQgY2xhc3NNZXRob2QoKTsKKyAg
ICBzdGF0aWMgdW5kZWZpbmVkIGNsYXNzTWV0aG9kKCk7CiAgICAgc3RhdGljIGxvbmcgY2xhc3NN
ZXRob2RXaXRoT3B0aW9uYWwob3B0aW9uYWwgbG9uZyBhcmcpOwotICAgIFtDdXN0b21dIHN0YXRp
YyB2b2lkIGNsYXNzTWV0aG9kMihsb25nIGFyZyk7CisgICAgW0N1c3RvbV0gc3RhdGljIHVuZGVm
aW5lZCBjbGFzc01ldGhvZDIobG9uZyBhcmcpOwogCiAgICAgLy8gU3RhdGljIG1ldGhvZCB3aXRo
IGNvbmRpdGlvbmFsIG9uIG92ZXJsb2FkZWQgbWV0aG9kcwotICAgIFtDb25kaXRpb25hbD1Db25k
aXRpb24xXSBzdGF0aWMgdm9pZCBvdmVybG9hZGVkTWV0aG9kMShsb25nIGFyZyk7Ci0gICAgW0Nv
bmRpdGlvbmFsPUNvbmRpdGlvbjFdIHN0YXRpYyB2b2lkIG92ZXJsb2FkZWRNZXRob2QxKERPTVN0
cmluZyB0eXBlKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMV0gc3RhdGljIHVuZGVmaW5l
ZCBvdmVybG9hZGVkTWV0aG9kMShsb25nIGFyZyk7CisgICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlv
bjFdIHN0YXRpYyB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZDEoRE9NU3RyaW5nIHR5cGUpOwog
Ci0gICAgdm9pZCBjbGFzc01ldGhvZFdpdGhDbGFtcChbQ2xhbXBdIHVuc2lnbmVkIHNob3J0IG9i
akFyZ3NTaG9ydCwgW0NsYW1wXSB1bnNpZ25lZCBsb25nIG9iakFyZ3NMb25nKTsKLSAgICB2b2lk
IGNsYXNzTWV0aG9kV2l0aENsYW1wT25PcHRpb25hbChvcHRpb25hbCBbQ2xhbXBdIGxvbmcgb2Jq
QXJnc0xvbmcgPSAwKTsKLSAgICB2b2lkIGNsYXNzTWV0aG9kV2l0aEVuZm9yY2VSYW5nZShbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hvcnQsIFtFbmZvcmNlUmFuZ2VdIHVu
c2lnbmVkIGxvbmcgb2JqQXJnc0xvbmcpOwotICAgIHZvaWQgY2xhc3NNZXRob2RXaXRoRW5mb3Jj
ZVJhbmdlT25PcHRpb25hbChvcHRpb25hbCBbRW5mb3JjZVJhbmdlXSBsb25nIG9iakFyZ3NMb25n
ID0gMCk7CisgICAgdW5kZWZpbmVkIGNsYXNzTWV0aG9kV2l0aENsYW1wKFtDbGFtcF0gdW5zaWdu
ZWQgc2hvcnQgb2JqQXJnc1Nob3J0LCBbQ2xhbXBdIHVuc2lnbmVkIGxvbmcgb2JqQXJnc0xvbmcp
OworICAgIHVuZGVmaW5lZCBjbGFzc01ldGhvZFdpdGhDbGFtcE9uT3B0aW9uYWwob3B0aW9uYWwg
W0NsYW1wXSBsb25nIG9iakFyZ3NMb25nID0gMCk7CisgICAgdW5kZWZpbmVkIGNsYXNzTWV0aG9k
V2l0aEVuZm9yY2VSYW5nZShbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hv
cnQsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgb2JqQXJnc0xvbmcpOworICAgIHVuZGVm
aW5lZCBjbGFzc01ldGhvZFdpdGhFbmZvcmNlUmFuZ2VPbk9wdGlvbmFsKG9wdGlvbmFsIFtFbmZv
cmNlUmFuZ2VdIGxvbmcgb2JqQXJnc0xvbmcgPSAwKTsKIAotICAgIHZvaWQgbWV0aG9kV2l0aFVu
c2lnbmVkTG9uZ1NlcXVlbmNlKHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9uZ1Nl
cXVlbmNlKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aFVuc2lnbmVkTG9uZ1NlcXVlbmNlKHNl
cXVlbmNlPHVuc2lnbmVkIGxvbmc+IHVuc2lnbmVkTG9uZ1NlcXVlbmNlKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHNlcXVlbmNlPERPTVN0cmluZz4gc3RyaW5nQXJyYXlGdW5jdGlvbihzZXF1
ZW5jZTxET01TdHJpbmc+IHZhbHVlcyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJp
bmdMaXN0IGRvbVN0cmluZ0xpc3RGdW5jdGlvbihET01TdHJpbmdMaXN0IHZhbHVlcyk7CiAKLSAg
ICB2b2lkIG9wZXJhdGlvbldpdGhPcHRpb25hbFVuaW9uUGFyYW1ldGVyKG9wdGlvbmFsIChET01T
dHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIG9wdGlvbmFsVW5pb24pOwor
ICAgIHVuZGVmaW5lZCBvcGVyYXRpb25XaXRoT3B0aW9uYWxVbmlvblBhcmFtZXRlcihvcHRpb25h
bCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBkb3VibGU+KSBvcHRpb25hbFVu
aW9uKTsKIAotICAgIHZvaWQgbWV0aG9kV2l0aEFuZFdpdGhvdXROdWxsYWJsZVNlcXVlbmNlKHNl
cXVlbmNlPHVuc2lnbmVkIGxvbmc+IGFycmF5QXJnLCBzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPj8g
bnVsbGFibGVBcnJheUFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhBbmRXaXRob3V0TnVs
bGFibGVTZXF1ZW5jZShzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiBhcnJheUFyZywgc2VxdWVuY2U8
dW5zaWduZWQgbG9uZz4/IG51bGxhYmxlQXJyYXlBcmcpOwogCiAgICAgRWxlbWVudD8gZ2V0RWxl
bWVudEJ5SWQoW1JlcXVpcmVzRXhpc3RpbmdBdG9tU3RyaW5nXSBET01TdHJpbmcgZWxlbWVudElk
KTsKIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3Vt
ZW50IGNvbnRlbnREb2N1bWVudDsKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGUsIE1heVRocm93
RXhjZXB0aW9uXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpOwogCi0gICAgdm9pZCBjb252
ZXJ0MShUZXN0Tm9kZSB2YWx1ZSk7Ci0gICAgdm9pZCBjb252ZXJ0MihUZXN0Tm9kZT8gdmFsdWUp
OwotICAgIHZvaWQgY29udmVydDMoRE9NU3RyaW5nIHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQ0
KERPTVN0cmluZz8gdmFsdWUpOworICAgIHVuZGVmaW5lZCBjb252ZXJ0MShUZXN0Tm9kZSB2YWx1
ZSk7CisgICAgdW5kZWZpbmVkIGNvbnZlcnQyKFRlc3ROb2RlPyB2YWx1ZSk7CisgICAgdW5kZWZp
bmVkIGNvbnZlcnQzKERPTVN0cmluZyB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIGNvbnZlcnQ0KERP
TVN0cmluZz8gdmFsdWUpOwogCiAgICAgYXR0cmlidXRlIFNWR1BvaW50IG11dGFibGVQb2ludDsK
ICAgICBTVkdQb2ludCBtdXRhYmxlUG9pbnRGdW5jdGlvbigpOwogCi0gICAgW0ltcGxlbWVudGVk
QXM9YmFuYW5hXSB2b2lkIG9yYW5nZSgpOworICAgIFtJbXBsZW1lbnRlZEFzPWJhbmFuYV0gdW5k
ZWZpbmVkIG9yYW5nZSgpOwogICAgIFtJbXBsZW1lbnRlZEFzPWJsdWViZXJyeV0gYXR0cmlidXRl
IGxvbmcgc3RyYXdiZXJyeTsKIAogICAgIC8vIE9iamVjdGl2ZUMgcmVzZXJ2ZWQgd29yZHMuCkBA
IC0zODAsMTAgKzM4MCwxMCBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEt
bG93CiAKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHJlcGxhY2Vh
YmxlQXR0cmlidXRlOwogCi0gICAgdm9pZCB2YXJpYWRpY1N0cmluZ01ldGhvZChET01TdHJpbmcg
aGVhZCwgRE9NU3RyaW5nLi4uIHRhaWwpOwotICAgIHZvaWQgdmFyaWFkaWNEb3VibGVNZXRob2Qo
dW5yZXN0cmljdGVkIGRvdWJsZSBoZWFkLCB1bnJlc3RyaWN0ZWQgZG91YmxlLi4uIHRhaWwpOwot
ICAgIHZvaWQgdmFyaWFkaWNOb2RlTWV0aG9kKE5vZGUgaGVhZCwgTm9kZS4uLiB0YWlsKTsKLSAg
ICB2b2lkIHZhcmlhZGljVW5pb25NZXRob2QoRE9NU3RyaW5nIGhlYWQsIChOb2RlIG9yIERPTVN0
cmluZykuLi4gdGFpbCk7CisgICAgdW5kZWZpbmVkIHZhcmlhZGljU3RyaW5nTWV0aG9kKERPTVN0
cmluZyBoZWFkLCBET01TdHJpbmcuLi4gdGFpbCk7CisgICAgdW5kZWZpbmVkIHZhcmlhZGljRG91
YmxlTWV0aG9kKHVucmVzdHJpY3RlZCBkb3VibGUgaGVhZCwgdW5yZXN0cmljdGVkIGRvdWJsZS4u
LiB0YWlsKTsKKyAgICB1bmRlZmluZWQgdmFyaWFkaWNOb2RlTWV0aG9kKE5vZGUgaGVhZCwgTm9k
ZS4uLiB0YWlsKTsKKyAgICB1bmRlZmluZWQgdmFyaWFkaWNVbmlvbk1ldGhvZChET01TdHJpbmcg
aGVhZCwgKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiB0YWlsKTsKIAogICAgIC8vIE51bGxhYmxlIGF0
dHJpYnV0ZXMuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IG51
bGxhYmxlRG91YmxlQXR0cmlidXRlOwpAQCAtNDAwLDQ4ICs0MDAsNDggQEAgZW51bSBUZXN0Q29u
ZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAg
ICAgICAgICAgICAgX3JlYWRvbmx5ID0gMDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgIF9hdHRyaWJ1dGU7CiAgICAgYXR0cmlidXRlIF9vcHRpb25hbCAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZTsKLSAgICB2b2lkIF9hbnkodW5yZXN0
cmljdGVkIGZsb2F0IGEsIGxvbmcgYik7CisgICAgdW5kZWZpbmVkIF9hbnkodW5yZXN0cmljdGVk
IGZsb2F0IGEsIGxvbmcgYik7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lk
PiB0ZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RSZWFkT25seVZvaWRQcm9taXNlQXR0cmlidXRlOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPFRlc3ROb2RlPiB0ZXN0UmVhZE9ubHlQcm9t
aXNlQXR0cmlidXRlOwogCiAgICAgLy8gUHJvbWlzZSBmdW5jdGlvbgotICAgIFByb21pc2U8dm9p
ZD4gdGVzdFByb21pc2VGdW5jdGlvbigpOwotICAgIFByb21pc2U8dm9pZD4gdGVzdFByb21pc2VG
dW5jdGlvbldpdGhGbG9hdEFyZ3VtZW50KGZsb2F0IGEpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gUHJvbWlzZTx2b2lkPiB0ZXN0UHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2VwdGlvbigpOwotICAg
IFByb21pc2U8dm9pZD4gdGVzdFByb21pc2VGdW5jdGlvbldpdGhPcHRpb25hbEludEFyZ3VtZW50
KG9wdGlvbmFsIGxvbmcgYSk7Ci0gICAgUHJvbWlzZTx2b2lkPiB0ZXN0UHJvbWlzZU92ZXJsb2Fk
ZWRGdW5jdGlvbihmbG9hdCBhKTsKLSAgICBQcm9taXNlPHZvaWQ+IHRlc3RQcm9taXNlT3Zlcmxv
YWRlZEZ1bmN0aW9uKEZldGNoUmVxdWVzdCByZXF1ZXN0KTsKLSAgICBzdGF0aWMgUHJvbWlzZTx2
b2lkPiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSBzdGF0aWMgUHJvbWlzZTx2b2lkPiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2Vw
dGlvbigpOwotICAgIFtDdXN0b21dIFByb21pc2U8dm9pZD4gdGVzdEN1c3RvbVByb21pc2VGdW5j
dGlvbigpOwotICAgIFtDdXN0b21dIHN0YXRpYyBQcm9taXNlPHZvaWQ+IHRlc3RTdGF0aWNDdXN0
b21Qcm9taXNlRnVuY3Rpb24oKTsKLSAgICBbQ3VzdG9tLCBSZXR1cm5zT3duUHJvbWlzZV0gUHJv
bWlzZTx2b2lkPiB0ZXN0Q3VzdG9tUmV0dXJuc093blByb21pc2VGdW5jdGlvbigpOwotICAgIFtS
ZXR1cm5zT3duUHJvbWlzZSwgUHJvbWlzZVByb3h5XSBQcm9taXNlPHZvaWQ+IHRlc3RSZXR1cm5z
T3duUHJvbWlzZUFuZFByb21pc2VQcm94eUZ1bmN0aW9uKCk7CisgICAgUHJvbWlzZTx1bmRlZmlu
ZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb24oKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFBy
b21pc2VGdW5jdGlvbldpdGhGbG9hdEFyZ3VtZW50KGZsb2F0IGEpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRoRXhjZXB0
aW9uKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRoT3B0
aW9uYWxJbnRBcmd1bWVudChvcHRpb25hbCBsb25nIGEpOworICAgIFByb21pc2U8dW5kZWZpbmVk
PiB0ZXN0UHJvbWlzZU92ZXJsb2FkZWRGdW5jdGlvbihmbG9hdCBhKTsKKyAgICBQcm9taXNlPHVu
ZGVmaW5lZD4gdGVzdFByb21pc2VPdmVybG9hZGVkRnVuY3Rpb24oRmV0Y2hSZXF1ZXN0IHJlcXVl
c3QpOworICAgIHN0YXRpYyBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFN0YXRpY1Byb21pc2VGdW5j
dGlvbigpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc3RhdGljIFByb21pc2U8dW5kZWZpbmVk
PiB0ZXN0U3RhdGljUHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2VwdGlvbigpOworICAgIFtDdXN0b21d
IFByb21pc2U8dW5kZWZpbmVkPiB0ZXN0Q3VzdG9tUHJvbWlzZUZ1bmN0aW9uKCk7CisgICAgW0N1
c3RvbV0gc3RhdGljIFByb21pc2U8dW5kZWZpbmVkPiB0ZXN0U3RhdGljQ3VzdG9tUHJvbWlzZUZ1
bmN0aW9uKCk7CisgICAgW0N1c3RvbSwgUmV0dXJuc093blByb21pc2VdIFByb21pc2U8dW5kZWZp
bmVkPiB0ZXN0Q3VzdG9tUmV0dXJuc093blByb21pc2VGdW5jdGlvbigpOworICAgIFtSZXR1cm5z
T3duUHJvbWlzZSwgUHJvbWlzZVByb3h5XSBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFJldHVybnNP
d25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb24oKTsKIAogICAgIC8vIFB1dEZvcndhcmRz
CiAgICAgW1B1dEZvcndhcmRzPW5hbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXN0Tm9kZSBwdXRG
b3J3YXJkc0F0dHJpYnV0ZTsKICAgICBbUHV0Rm9yd2FyZHM9bmFtZV0gcmVhZG9ubHkgYXR0cmli
dXRlIFRlc3ROb2RlPyBwdXRGb3J3YXJkc051bGxhYmxlQXR0cmlidXRlOwogCiAgICAgLy8gT3Zl
cmxvYWRpbmcgd2l0aCBjb25kaXRpb25hbHMuCi0gICAgW0NvbmRpdGlvbmFsPUNPTkRJVElPTjFd
IHZvaWQgY29uZGl0aW9uYWxPdmVybG9hZChET01TdHJpbmcgc3RyKTsKLSAgICBbQ29uZGl0aW9u
YWw9Q09ORElUSU9OMl0gdm9pZCBjb25kaXRpb25hbE92ZXJsb2FkKGxvbmcgYSk7CisgICAgW0Nv
bmRpdGlvbmFsPUNPTkRJVElPTjFdIHVuZGVmaW5lZCBjb25kaXRpb25hbE92ZXJsb2FkKERPTVN0
cmluZyBzdHIpOworICAgIFtDb25kaXRpb25hbD1DT05ESVRJT04yXSB1bmRlZmluZWQgY29uZGl0
aW9uYWxPdmVybG9hZChsb25nIGEpOwogCi0gICAgdm9pZCBzaW5nbGVDb25kaXRpb25hbE92ZXJs
b2FkKERPTVN0cmluZyBzdHIpOwotICAgIFtDb25kaXRpb25hbD1DT05ESVRJT05dIHZvaWQgc2lu
Z2xlQ29uZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOworICAgIHVuZGVmaW5lZCBzaW5nbGVDb25k
aXRpb25hbE92ZXJsb2FkKERPTVN0cmluZyBzdHIpOworICAgIFtDb25kaXRpb25hbD1DT05ESVRJ
T05dIHVuZGVmaW5lZCBzaW5nbGVDb25kaXRpb25hbE92ZXJsb2FkKGxvbmcgYSk7CiAKLSAgICB2
b2lkIGF0dGFjaFNoYWRvd1Jvb3QoVGVzdERpY3Rpb25hcnkgaW5pdCk7Ci0gICAgdm9pZCBvcGVy
YXRpb25XaXRoRXh0ZXJuYWxEaWN0aW9uYXJ5UGFyYW1ldGVyKFRlc3RTdGFuZGFsb25lRGljdGlv
bmFyeSBkaWN0KTsKKyAgICB1bmRlZmluZWQgYXR0YWNoU2hhZG93Um9vdChUZXN0RGljdGlvbmFy
eSBpbml0KTsKKyAgICB1bmRlZmluZWQgb3BlcmF0aW9uV2l0aEV4dGVybmFsRGljdGlvbmFyeVBh
cmFtZXRlcihUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkgZGljdCk7CiAKICAgICBzdHJpbmdpZmll
ciBhdHRyaWJ1dGUgVVNWU3RyaW5nIHN0cmluZ2lmaWVyQXR0cmlidXRlOwogCiAgICAgc2VyaWFs
aXplciA9IHtjcmVhdGUsIHJlYWRPbmx5U3RyaW5nQXR0ciwgZW51bUF0dHIsIGxvbmdBdHRyfTsK
IAotICAgIHZvaWQgYnVmZmVyU291cmNlUGFyYW1ldGVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsKKyAg
ICB1bmRlZmluZWQgYnVmZmVyU291cmNlUGFyYW1ldGVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsKIAot
ICAgIGxlZ2FjeWNhbGxlciB2b2lkIGxlZ2FjeUNhbGxlck5hbWVkKGxvbmcgcGFyYW0pOworICAg
IGxlZ2FjeWNhbGxlciB1bmRlZmluZWQgbGVnYWN5Q2FsbGVyTmFtZWQobG9uZyBwYXJhbSk7CiAg
ICAgbGVnYWN5Y2FsbGVyIGxvbmcgKERPTVN0cmluZyBwYXJhbSk7Ci0gICAgbGVnYWN5Y2FsbGVy
IHZvaWQgKCk7CisgICAgbGVnYWN5Y2FsbGVyIHVuZGVmaW5lZCAoKTsKIAogICAgIE5vZGUgdGVz
dFJldHVyblZhbHVlT3B0aW1pemF0aW9uKFtSZXR1cm5WYWx1ZV0gTm9kZSBhLCBOb2RlIGIpOwog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTm9kZSB0ZXN0UmV0dXJuVmFsdWVPcHRpbWl6YXRpb25X
aXRoRXhjZXB0aW9uKFtSZXR1cm5WYWx1ZV0gTm9kZSBhLCBOb2RlIGIpOwpAQCAtNDU3LDkgKzQ1
Nyw5IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3cKICAgICBbRXhw
b3NlZD1XaW5kb3ddIGF0dHJpYnV0ZSBsb25nIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dB
dHRyaWJ1dGU7CiAgICAgW0V4cG9zZWQ9V29ya2VyXSBhdHRyaWJ1dGUgbG9uZyBjb25kaXRpb25h
bGx5RXhwb3NlZFRvV29ya2VyQXR0cmlidXRlOwogICAgIFtFeHBvc2VkPShXb3JrZXIsIFdpbmRv
dyldIGF0dHJpYnV0ZSBsb25nIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dBbmRXb3JrZXJB
dHRyaWJ1dGU7Ci0gICAgW0V4cG9zZWQ9V2luZG93XSB2b2lkIGNvbmRpdGlvbmFsbHlFeHBvc2Vk
VG9XaW5kb3dGdW5jdGlvbigpOwotICAgIFtFeHBvc2VkPVdvcmtlcl0gdm9pZCBjb25kaXRpb25h
bGx5RXhwb3NlZFRvV29ya2VyRnVuY3Rpb24oKTsKLSAgICBbRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIpXSB2b2lkIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5kb3dBbmRXb3JrZXJGdW5jdGlvbigp
OworICAgIFtFeHBvc2VkPVdpbmRvd10gdW5kZWZpbmVkIGNvbmRpdGlvbmFsbHlFeHBvc2VkVG9X
aW5kb3dGdW5jdGlvbigpOworICAgIFtFeHBvc2VkPVdvcmtlcl0gdW5kZWZpbmVkIGNvbmRpdGlv
bmFsbHlFeHBvc2VkVG9Xb3JrZXJGdW5jdGlvbigpOworICAgIFtFeHBvc2VkPShXaW5kb3csIFdv
cmtlcildIHVuZGVmaW5lZCBjb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2VyRnVu
Y3Rpb24oKTsKIH07CiAKIC8vIFRoZSBmb2xsb3dpbmcgY29tbWVudCBzaG91bGQgbm90IGdlbmVy
YXRlIGFueSBjb2RlLgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPcGVyYXRpb25CYXNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9wZXJhdGlvbkJhc2UuaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9wZXJhdGlvbkJh
c2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw2IEBACiAgICAgQ29uZGl0aW9uYWw9
Q29uZGl0aW9uQmFzZSwKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIFRlc3RP
cGVyYXRpb25CYXNlIHsKLSAgICB2b2lkIG5vbkNvbmRpdGlvbmFsT3BlcmF0aW9uKCk7Ci0gICAg
W0NvbmRpdGlvbmFsPUNvbmRpdGlvbk9wZXJhdGlvbl0gdm9pZCBjb25kaXRpb25hbE9wZXJhdGlv
bigpOworICAgIHVuZGVmaW5lZCBub25Db25kaXRpb25hbE9wZXJhdGlvbigpOworICAgIFtDb25k
aXRpb25hbD1Db25kaXRpb25PcGVyYXRpb25dIHVuZGVmaW5lZCBjb25kaXRpb25hbE9wZXJhdGlv
bigpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNiBAQAogICAgIFtDYWNoZWRBdHRyaWJ1dGVdIGF0dHJp
YnV0ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgY2FjaGVkVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHNlcXVlbmNlPE1lc3NhZ2VQb3J0PiBwb3J0czsKICAgICBbQ2FjaGVkQXR0cmlidXRl
XSByZWFkb25seSBhdHRyaWJ1dGUgU2VyaWFsaXplZFNjcmlwdFZhbHVlIGNhY2hlZFJlYWRvbmx5
VmFsdWU7Ci0gICAgdm9pZCBmdW5jdGlvbihTZXJpYWxpemVkU2NyaXB0VmFsdWUgdmFsdWUpOwor
ICAgIHVuZGVmaW5lZCBmdW5jdGlvbihTZXJpYWxpemVkU2NyaXB0VmFsdWUgdmFsdWUpOwogICAg
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBmdW5jdGlvblJldHVybmluZygpOwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN1
cHBsZW1lbnRhbC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDAsMTUgKzQwLDE1IEBACiAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZs
ZWN0QXR0cmlidXRlOwogCi0gICAgdm9pZCBzdXBwbGVtZW50YWxNZXRob2QxKCk7CisgICAgdW5k
ZWZpbmVkIHN1cHBsZW1lbnRhbE1ldGhvZDEoKTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogc3VwcGxlbWVudGFsTWV0aG9k
MihET01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7Ci0gICAgW0N1c3RvbV0gdm9pZCBz
dXBwbGVtZW50YWxNZXRob2QzKCk7Ci0gICAgc3RhdGljIHZvaWQgc3VwcGxlbWVudGFsTWV0aG9k
NCgpOworICAgIFtDdXN0b21dIHVuZGVmaW5lZCBzdXBwbGVtZW50YWxNZXRob2QzKCk7CisgICAg
c3RhdGljIHVuZGVmaW5lZCBzdXBwbGVtZW50YWxNZXRob2Q0KCk7CiAKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVVBQTEVNRU5UQUxDT05TVEFOVDEgPSAxOwogICAgIFtSZWZsZWN0PUNPTlNU
X0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNVUFBMRU1FTlRBTENPTlNUQU5UMiA9IDI7CiAK
LSAgICBbSlNCdWlsdGluXSB2b2lkIGJ1aWx0aW5GdW5jdGlvbigpOworICAgIFtKU0J1aWx0aW5d
IHVuZGVmaW5lZCBidWlsdGluRnVuY3Rpb24oKTsKICAgICBbSlNCdWlsdGluXSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgYnVpbHRpbkF0dHJpYnV0ZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdFR5cGVkZWZzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsMjEgKzQwLDIxIEBAIGludGVy
ZmFjZSBUZXN0VHlwZWRlZnMgewogICAgIAogICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUg
VCBUZXN0U3ViT2JqOwogCi0gICAgdm9pZCBmdW5jKG9wdGlvbmFsIFNFUVVFTkNFX09GX0xPTkdT
IHggPSBbXSk7CisgICAgdW5kZWZpbmVkIGZ1bmMob3B0aW9uYWwgU0VRVUVOQ0VfT0ZfTE9OR1Mg
eCA9IFtdKTsKIAotICAgIHZvaWQgc2V0U2hhZG93KERPVUJMRSB3aWR0aCwgRE9VQkxFIGhlaWdo
dCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIsIG9wdGlvbmFsIFNUUklORyBjb2xvciwgb3B0aW9u
YWwgRE9VQkxFIGFscGhhKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KERPVUJMRSB3aWR0aCwg
RE9VQkxFIGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIsIG9wdGlvbmFsIFNUUklORyBj
b2xvciwgb3B0aW9uYWwgRE9VQkxFIGFscGhhKTsKIAogICAgIFVMT05HTE9ORyBtZXRob2RXaXRo
U2VxdWVuY2VBcmcoc2VxdWVuY2U8U0NSSVBUX1ZBTFVFPiBzZXF1ZW5jZUFyZyk7CiAKLSAgICB2
b2lkIG51bGxhYmxlU2VxdWVuY2VBcmcoU0VRVUVOQ0VfT0ZfU1RSSU5HUz8gc2VxdWVuY2VBcmcp
OwotICAgIHZvaWQgc2VxdWVuY2VPZk51bGxhYmxlc0FyZyhzZXF1ZW5jZTxTVFJJTkc/PiBzZXF1
ZW5jZUFyZyk7Ci0gICAgdm9pZCBudWxsYWJsZVNlcXVlbmNlT2ZOdWxsYWJsZXNBcmcoU0VRVUVO
Q0VfT0ZfTlVMTEFCTEVfU1RSSU5HUz8gc2VxdWVuY2VBcmcpOwotICAgIHZvaWQgbnVsbGFibGVT
ZXF1ZW5jZU9mVW5pb25zQXJnKHNlcXVlbmNlPChTVFJJTkcgb3IgU0VRVUVOQ0VfT0ZfU1RSSU5H
Uyk+PyBzZXF1ZW5jZUFyZyk7CisgICAgdW5kZWZpbmVkIG51bGxhYmxlU2VxdWVuY2VBcmcoU0VR
VUVOQ0VfT0ZfU1RSSU5HUz8gc2VxdWVuY2VBcmcpOworICAgIHVuZGVmaW5lZCBzZXF1ZW5jZU9m
TnVsbGFibGVzQXJnKHNlcXVlbmNlPFNUUklORz8+IHNlcXVlbmNlQXJnKTsKKyAgICB1bmRlZmlu
ZWQgbnVsbGFibGVTZXF1ZW5jZU9mTnVsbGFibGVzQXJnKFNFUVVFTkNFX09GX05VTExBQkxFX1NU
UklOR1M/IHNlcXVlbmNlQXJnKTsKKyAgICB1bmRlZmluZWQgbnVsbGFibGVTZXF1ZW5jZU9mVW5p
b25zQXJnKHNlcXVlbmNlPChTVFJJTkcgb3IgU0VRVUVOQ0VfT0ZfU1RSSU5HUyk+PyBzZXF1ZW5j
ZUFyZyk7CiAKLSAgICB2b2lkIHVuaW9uQXJnKFVOSU9OX1NUUklOR19MT05HIHVuaW9uQXJnKTsK
KyAgICB1bmRlZmluZWQgdW5pb25BcmcoVU5JT05fU1RSSU5HX0xPTkcgdW5pb25BcmcpOwogCi0g
ICAgdm9pZCBmdW5jV2l0aENsYW1wKFtDbGFtcF0gVUxPTkdMT05HIGFyZzEsIG9wdGlvbmFsIFtD
bGFtcF0gVUxPTkdMT05HIGFyZzIpOwotICAgIHZvaWQgZnVuY1dpdGhDbGFtcEluVHlwZWRlZihD
TEFNUEVEX0xPTkcgYXJnKTsKKyAgICB1bmRlZmluZWQgZnVuY1dpdGhDbGFtcChbQ2xhbXBdIFVM
T05HTE9ORyBhcmcxLCBvcHRpb25hbCBbQ2xhbXBdIFVMT05HTE9ORyBhcmcyKTsKKyAgICB1bmRl
ZmluZWQgZnVuY1dpdGhDbGFtcEluVHlwZWRlZihDTEFNUEVEX0xPTkcgYXJnKTsKIAogICAgIGF0
dHJpYnV0ZSBbQ2xhbXBdIFVMT05HTE9ORyBhdHRyaWJ1dGVXaXRoQ2xhbXA7CiAgICAgYXR0cmli
dXRlIENMQU1QRURfTE9ORyBhdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWY7CkBAIC02Nyw3ICs2
Nyw3IEBAIGludGVyZmFjZSBUZXN0VHlwZWRlZnMgewogICAgIGJvb2xlYW4gY2FsbFdpdGhTZXF1
ZW5jZVRoYXRSZXF1aXJlc0luY2x1ZGUoc2VxdWVuY2U8VGVzdEV2ZW50VGFyZ2V0PiBzZXF1ZW5j
ZUFyZyk7CiAKICAgICAvLyBFeGNlcHRpb25zCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IG1ldGhvZFdpdGhFeGNlcHRpb24oKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBtZXRob2RXaXRoRXhjZXB0aW9uKCk7CiAKICAgICAvLyBCdWlsdGluIFR5cGVkZWZzCiAgICAg
YXR0cmlidXRlIEJ1ZmZlclNvdXJjZSBidWZmZXJTb3VyY2VBdHRyOwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RW
b2lkQ2FsbGJhY2tGdW5jdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1URVNU
X0NPTkRJVElPTkFMLAotXSBjYWxsYmFjayBUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24gPSB2b2lk
IChGbG9hdDMyQXJyYXkgYXJyYXlQYXJhbSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNyelBhcmFt
LCBET01TdHJpbmcgc3RyQXJnLCBib29sZWFuIGJvb2xQYXJhbSwgbG9uZyBsb25nUGFyYW0sIFRl
c3ROb2RlIHRlc3ROb2RlUGFyYW0pOworXSBjYWxsYmFjayBUZXN0Vm9pZENhbGxiYWNrRnVuY3Rp
b24gPSB1bmRlZmluZWQgKEZsb2F0MzJBcnJheSBhcnJheVBhcmFtLCBTZXJpYWxpemVkU2NyaXB0
VmFsdWUgc3J6UGFyYW0sIERPTVN0cmluZyBzdHJBcmcsIGJvb2xlYW4gYm9vbFBhcmFtLCBsb25n
IGxvbmdQYXJhbSwgVGVzdE5vZGUgdGVzdE5vZGVQYXJhbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlz
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0LmNwcAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDcgKzUzLDcgQEAgSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0Ojp+Sgog
I2VuZGlmCiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0
aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0OjpoYW5kbGVFdmVu
dCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRoaXNPYmpl
Y3QsIHR5cGVuYW1lIElETFNlcXVlbmNlPElETEludGVyZmFjZTxUZXN0Tm9kZT4+OjpQYXJhbWV0
ZXJUeXBlIHBhcmFtZXRlcikKK0NhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6
SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3Q6
OmhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5
cGUgdGhpc09iamVjdCwgdHlwZW5hbWUgSURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFRlc3ROb2Rl
Pj46OlBhcmFtZXRlclR5cGUgcGFyYW1ldGVyKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJh
Y2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVjdXRl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRo
aXNPYmplY3QuaAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICBKU0NhbGxiYWNrRGF0
YVN0cm9uZyogY2FsbGJhY2tEYXRhKCkgeyByZXR1cm4gbV9kYXRhOyB9CiAKICAgICAvLyBGdW5j
dGlvbnMKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlv
blR5cGU+IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFt
ZXRlclR5cGUgdGhpc09iamVjdCwgdHlwZW5hbWUgSURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFRl
c3ROb2RlPj46OlBhcmFtZXRlclR5cGUgcGFyYW1ldGVyKSBvdmVycmlkZTsKKyAgICBDYWxsYmFj
a1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gaGFuZGxl
RXZlbnQodHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0aGlz
T2JqZWN0LCB0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pjo6UGFy
YW1ldGVyVHlwZSBwYXJhbWV0ZXIpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEpTVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdChKU0M6OkpTT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlv
bldpdGhUeXBlZGVmcy5jcHAJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBKU1Rlc3RDYWxsYmFja0Z1bmN0
aW9uV2l0aFR5cGVkZWZzOjp+SlNUCiAjZW5kaWYKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlwZW5h
bWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0
aFR5cGVkZWZzOjpoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJ
RExMb25nPj46OlBhcmFtZXRlclR5cGUgc2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBh
cmFtZXRlclR5cGUgbG9uZ0FyZykKK0NhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5l
ZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZz
OjpoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJRExMb25nPj46
OlBhcmFtZXRlclR5cGUgc2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5
cGUgbG9uZ0FyZykKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAgICAgIHJl
dHVybiBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0
aFR5cGVkZWZzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyAr
NDAsNyBAQCBwdWJsaWM6CiAgICAgSlNDYWxsYmFja0RhdGFTdHJvbmcqIGNhbGxiYWNrRGF0YSgp
IHsgcmV0dXJuIG1fZGF0YTsgfQogCiAgICAgLy8gRnVuY3Rpb25zCi0gICAgQ2FsbGJhY2tSZXN1
bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBoYW5kbGVFdmVudCh0eXBl
bmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJRExMb25nPj46OlBhcmFtZXRlclR5cGUgc2Vx
dWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ0FyZykgb3ZlcnJp
ZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRh
dGlvblR5cGU+IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETFNlcXVlbmNlPElETE51bGxhYmxlPElE
TExvbmc+Pjo6UGFyYW1ldGVyVHlwZSBzZXF1ZW5jZUFyZywgdHlwZW5hbWUgSURMTG9uZzo6UGFy
YW1ldGVyVHlwZSBsb25nQXJnKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBKU1Rlc3RDYWxs
YmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzKEpTQzo6SlNPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVj
dCopOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENhbGxiYWNrSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNyArMTcyLDcg
QEAgSlNWYWx1ZSBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29ucwogICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZUNvbnN0cnVjdG9yPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCi1D
YWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVz
dENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhOb1BhcmFtKCkKK0NhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCiB7CiAgICAgaWYgKCFjYW5JbnZva2VD
YWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRUeXBlOjpVbmFibGVUb0V4
ZWN1dGU7CkBAIC0xOTgsNyArMTk4LDcgQEAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9p
ZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07CiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1l
IElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNh
bGxiYWNrV2l0aEFycmF5UGFyYW0odHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJU
eXBlIGFycmF5UGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6Oklt
cGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aEFy
cmF5UGFyYW0odHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5UGFy
YW0pCiB7CiAgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2Fs
bGJhY2tSZXN1bHRUeXBlOjpVbmFibGVUb0V4ZWN1dGU7CkBAIC0yMjUsNyArMjI1LDcgQEAgQ2Fs
bGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07CiB9
CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4g
SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZVBhcmFtKHR5cGVuYW1lIElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFtLCB0eXBlbmFtZSBJRExET01TdHJpbmc6OlBh
cmFtZXRlclR5cGUgc3RyUGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmlu
ZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNr
V2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKHR5cGVuYW1lIElETFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFtLCB0
eXBlbmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3RyUGFyYW0pCiB7CiAgICAgaWYg
KCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRUeXBl
OjpVbmFibGVUb0V4ZWN1dGU7CkBAIC0yNTMsNyArMjUzLDcgQEAgQ2FsbGJhY2tSZXN1bHQ8dHlw
ZW5hbWUgSURMVm9pZDo6SW1wbGVtZQogICAgIHJldHVybiB7IH07CiB9CiAKLUNhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJ
bnRlcmZhY2U6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QodHlwZW5hbWUgSURMSW50ZXJmYWNlPERP
TVN0cmluZ0xpc3Q+OjpQYXJhbWV0ZXJUeXBlIGxpc3RQYXJhbSkKK0NhbGxiYWNrUmVzdWx0PHR5
cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0lu
dGVyZmFjZTo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8RE9N
U3RyaW5nTGlzdD46OlBhcmFtZXRlclR5cGUgbGlzdFBhcmFtKQogewogICAgIGlmICghY2FuSW52
b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxl
VG9FeGVjdXRlOwpAQCAtMjgwLDcgKzI4MCw3IEBAIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElE
TFZvaWQ6OkltcGxlbWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFja1Jlc3VsdDx0eXBl
bmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNl
OjpjYWxsYmFja1dpdGhCb29sZWFuKHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUg
Ym9vbFBhcmFtKQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1l
bnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhCb29sZWFu
KHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUgYm9vbFBhcmFtKQogewogICAgIGlm
ICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlw
ZTo6VW5hYmxlVG9FeGVjdXRlOwpAQCAtMzA3LDcgKzMwNyw3IEBAIENhbGxiYWNrUmVzdWx0PHR5
cGVuYW1lIElETFZvaWQ6OkltcGxlbWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFja1Jl
c3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNr
SW50ZXJmYWNlOjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25nOjpQ
YXJhbWV0ZXJUeXBlIGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6
UGFyYW1ldGVyVHlwZSB0ZXN0Tm9kZVBhcmFtKQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURM
VW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpj
YWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBl
IGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlw
ZSB0ZXN0Tm9kZVBhcmFtKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAg
ICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVjdXRlOwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJm
YWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmgJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFj
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMyArNDUsMTMgQEAgcHVibGljOgogICAgIHN0YXRp
YyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6SlNHbG9i
YWxPYmplY3QqKTsKIAogICAgIC8vIEZ1bmN0aW9ucwotICAgIENhbGxiYWNrUmVzdWx0PHR5cGVu
YW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoTm9QYXJhbSgpIG92
ZXJyaWRlOwotICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0
aW9uVHlwZT4gY2FsbGJhY2tXaXRoQXJyYXlQYXJhbSh0eXBlbmFtZSBJRExGbG9hdDMyQXJyYXk6
OlBhcmFtZXRlclR5cGUgYXJyYXlQYXJhbSkgb3ZlcnJpZGU7Ci0gICAgQ2FsbGJhY2tSZXN1bHQ8
dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1dpdGhTZXJpYWxp
emVkU2NyaXB0VmFsdWVQYXJhbSh0eXBlbmFtZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURM
RE9NU3RyaW5nOjpQYXJhbWV0ZXJUeXBlIHN0clBhcmFtKSBvdmVycmlkZTsKKyAgICBDYWxsYmFj
a1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJh
Y2tXaXRoTm9QYXJhbSgpIG92ZXJyaWRlOworICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElE
TFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1dpdGhBcnJheVBhcmFtKHR5
cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtKSBvdmVycmlk
ZTsKKyAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0
aW9uVHlwZT4gY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0odHlwZW5hbWUg
SURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT46OlBhcmFtZXRl
clR5cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0cmluZzo6UGFyYW1ldGVyVHlwZSBzdHJQ
YXJhbSkgb3ZlcnJpZGU7CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMTG9uZzo6SW1w
bGVtZW50YXRpb25UeXBlPiBjdXN0b21DYWxsYmFjayh0eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVz
dE9iaj46OlBhcmFtZXRlclR5cGUgdGVzdE9ialBhcmFtLCB0eXBlbmFtZSBJRExJbnRlcmZhY2U8
VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0pIG92ZXJyaWRlOwotICAgIENh
bGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJh
Y2tXaXRoU3RyaW5nTGlzdCh0eXBlbmFtZSBJRExJbnRlcmZhY2U8RE9NU3RyaW5nTGlzdD46OlBh
cmFtZXRlclR5cGUgbGlzdFBhcmFtKSBvdmVycmlkZTsKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBl
bmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aEJvb2xlYW4odHlw
ZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0pIG92ZXJyaWRlOwotICAg
IENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2Fs
bGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3ModHlwZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBs
b25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUg
dGVzdE5vZGVQYXJhbSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURM
VW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aFN0cmluZ0xpc3QodHlw
ZW5hbWUgSURMSW50ZXJmYWNlPERPTVN0cmluZ0xpc3Q+OjpQYXJhbWV0ZXJUeXBlIGxpc3RQYXJh
bSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJ
bXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aEJvb2xlYW4odHlwZW5hbWUgSURMQm9vbGVh
bjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0pIG92ZXJyaWRlOworICAgIENhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1JlcXVp
cmVzVGhpc1RvUGFzcyh0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJhbSwg
dHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9kZVBh
cmFtKSBvdmVycmlkZTsKICAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExET01TdHJpbmc6
OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoQVJldHVyblZhbHVlKCkgb3ZlcnJpZGU7
CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMRE9NU3RyaW5nOjpJbXBsZW1lbnRhdGlv
blR5cGU+IGNhbGxiYWNrVGhhdFJldGhyb3dzRXhjZXB0aW9ucyh0eXBlbmFtZSBJRExFbnVtZXJh
dGlvbjxUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OkVudW0+OjpQYXJhbWV0ZXJUeXBlIGVudW1QYXJh
bSkgb3ZlcnJpZGU7CiAgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMRE9NU3RyaW5nOjpJ
bXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrVGhhdFNraXBzSW52b2tlQ2hlY2sodHlwZW5hbWUg
SURMRGljdGlvbmFyeTxUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OkRpY3Rpb25hcnk+OjpQYXJhbWV0
ZXJUeXBlIGRpY3Rpb25hcnlQYXJhbSkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MzUsOCArMTQzNSw4IEBAIEpTQzo6RW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3QKICNpZiBFTkFCTEUoVEVTVF9GRUFUVVJF
KQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uVGVzdEZlYXR1cmVHZXRTZWNyZXRCb29sZWFuKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkNhbGxGcmFtZSopOwogI2VuZGlmCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkNhbGxGcmFtZSopOwotSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kV2l0aEFy
Z3MoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25CeXRlTWV0aG9k
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQnl0ZU1ldGhvZFdp
dGhBcmdzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT2N0ZXRN
ZXRob2QoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CkBAIC0yMTcxLDgg
KzIxNzEsOCBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvCiAjZWxz
ZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKLSAgICB7ICJ2
b2lkTWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2
ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2QpLCAoaW50cHRy
X3QpICgwKSB9IH0sCi0gICAgeyAidm9pZE1ldGhvZFdpdGhBcmdzIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyksIChpbnRwdHJfdCkgKDMpIH0gfSwKKyAgICB7
ICJ1bmRlZmluZWRNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0
aG9kKSwgKGludHB0cl90KSAoMCkgfSB9LAorICAgIHsgInVuZGVmaW5lZE1ldGhvZFdpdGhBcmdz
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9u
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9u
Pihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzKSwgKGlu
dHB0cl90KSAoMykgfSB9LAogICAgIHsgImJ5dGVNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uQnl0ZU1ldGhvZCksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJieXRlTWV0aG9k
V2l0aEFyZ3MiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZl
RnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQnl0ZU1ldGhvZFdpdGhBcmdzKSwg
KGludHB0cl90KSAoMykgfSB9LAogICAgIHsgIm9jdGV0TWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk9jdGV0TWV0aG9kKSwgKGludHB0cl90KSAoMCkgfSB9LApAQCAtMjQ3OCw3ICsy
NDc4LDcgQEAgdm9pZCBKU1Rlc3RPYmpQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKAogICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIGdsb2JhbE9iamVj
dCgpLT5hcnJheVByb3RvdHlwZSgpLT5nZXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLnZhbHVlc1ByaXZhdGVOYW1lKCkpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBhZGRWYWx1ZUl0ZXJhYmxl
TWV0aG9kcygqZ2xvYmFsT2JqZWN0KCksICp0aGlzKTsKICAgICBKU09iamVjdCYgdW5zY29wYWJs
ZXMgPSAqY29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0KCktPnZtKCksIGdsb2JhbE9i
amVjdCgpLT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwotICAgIHVuc2NvcGFibGVz
LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInZvaWRNZXRob2QiKSwg
anNCb29sZWFuKHRydWUpKTsKKyAgICB1bnNjb3BhYmxlcy5wdXREaXJlY3Qodm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcodm0sICJ1bmRlZmluZWRNZXRob2QiKSwganNCb29sZWFuKHRydWUpKTsK
ICAgICB1bnNjb3BhYmxlcy5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICJzaG9ydEF0dHIiKSwganNCb29sZWFuKHRydWUpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5zY29wYWJsZXNTeW1ib2wsICZ1bnNjb3Bh
YmxlcywgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSk7CiAgICAgSlNDX1RPX1NUUklOR19UQUdfV0lUSE9VVF9UUkFOU0lU
SU9OKCk7CkBAIC01MTU3LDcgKzUxNTcsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
T2JqVGVzdFJlYWRPCiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAg
ICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgUkVMRUFTRV9BTkRfUkVU
VVJOKHRocm93U2NvcGUsICh0b0pTPElETFByb21pc2U8SURMVm9pZD4+KGxleGljYWxHbG9iYWxP
YmplY3QsICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBpbXBsLnRlc3RS
ZWFkT25seVZvaWRQcm9taXNlQXR0cmlidXRlKCkpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHRocm93U2NvcGUsICh0b0pTPElETFByb21pc2U8SURMVW5kZWZpbmVkPj4obGV4aWNhbEdsb2Jh
bE9iamVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwudGVz
dFJlYWRPbmx5Vm9pZFByb21pc2VBdHRyaWJ1dGUoKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUg
anNUZXN0T2JqVGVzdFJlYWRPbmx5Vm9pZFByb21pc2VBdHRyaWJ1dGUoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKQpAQCAtNTc1NSw3ICs1NzU1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcgogCiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVl
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZEJvZHkoSlNDOjpKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlw
ZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMp
CitzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25VbmRlZmluZWRNZXRob2RCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlv
bjxKU1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQogewogICAgIGF1dG8mIHZt
ID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTU3NjMsMTYgKzU3NjMsMTYgQEAgc3RhdGlj
IGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdAogICAgIFVOVVNFRF9QQVJBTShjYWxs
RnJhbWUpOwogICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgdGhy
b3dTY29wZS5yZWxlYXNlKCk7Ci0gICAgaW1wbC52b2lkTWV0aG9kKCk7CisgICAgaW1wbC51bmRl
ZmluZWRNZXRob2QoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uVm9pZE1ldGhvZChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICByZXR1cm4gSURMT3Bl
cmF0aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0
aG9kQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJ2b2lkTWV0aG9kIik7
CisgICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpjYWxsPGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpj
YWxsRnJhbWUsICJ1bmRlZmluZWRNZXRob2QiKTsKIH0KIAotc3RhdGljIGlubGluZSBKU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdz
Qm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxG
cmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Q2xhc3NQ
YXJhbWV0ZXIgY2FzdGVkVGhpcykKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzQm9keShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2Fs
bEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Q2xhc3NQYXJhbWV0ZXIg
Y2FzdGVkVGhpcykKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9i
amVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBA
IC01Nzg4LDE2ICs1Nzg4LDE2IEBAIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3QKICAgICBhdXRvIHN0ckFyZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgRW5zdXJlU3RpbGxBbGl2ZVNjb3Bl
IGFyZ3VtZW50MiA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMik7Ci0gICAgYXV0byBv
YmpBcmcgPSBjb252ZXJ0PElETEludGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIGFyZ3VtZW50Mi52YWx1ZSgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJy
b3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDIsICJvYmpBcmciLCAiVGVzdE9iamVjdCIs
ICJ2b2lkTWV0aG9kV2l0aEFyZ3MiLCAiVGVzdE9iaiIpOyB9KTsKKyAgICBhdXRvIG9iakFyZyA9
IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJn
dW1lbnQyLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMiwgIm9iakFyZyIsICJUZXN0T2JqZWN0IiwgInVuZGVm
aW5lZE1ldGhvZFdpdGhBcmdzIiwgIlRlc3RPYmoiKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICB0aHJvd1Njb3BlLnJlbGVh
c2UoKTsKLSAgICBpbXBsLnZvaWRNZXRob2RXaXRoQXJncyhXVEZNb3ZlKGxvbmdBcmcpLCBXVEZN
b3ZlKHN0ckFyZyksICpvYmpBcmcpOworICAgIGltcGwudW5kZWZpbmVkTWV0aG9kV2l0aEFyZ3Mo
V1RGTW92ZShsb25nQXJnKSwgV1RGTW92ZShzdHJBcmcpLCAqb2JqQXJnKTsKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25V
bmRlZmluZWRNZXRob2RXaXRoQXJncyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rl
c3RPYmo+OjpjYWxsPGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdz
Qm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJ2b2lkTWV0aG9kV2l0aEFy
Z3MiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJnc0JvZHk+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAidW5kZWZpbmVkTWV0aG9kV2l0aEFyZ3MiKTsKIH0KIAog
c3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uQnl0ZU1ldGhvZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVz
dE9iaj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCkBAIC03MzY4LDcgKzczNjgsNyBAQCBz
dGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0CiAgICAgVU5VU0VEX1BBUkFN
KGNhbGxGcmFtZSk7CiAgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAg
ICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT5hcmd1bWVudCgw
KTsKLSAgICBhdXRvIHByb21pc2UgPSBhcmd1bWVudDAudmFsdWUoKS5pc1VuZGVmaW5lZCgpID8g
bnVsbHB0ciA6IGNvbnZlcnQ8SURMUHJvbWlzZTxJRExWb2lkPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsKKyAgICBhdXRvIHByb21pc2UgPSBhcmd1bWVudDAudmFs
dWUoKS5pc1VuZGVmaW5lZCgpID8gbnVsbHB0ciA6IGNvbnZlcnQ8SURMUHJvbWlzZTxJRExVbmRl
ZmluZWQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQwLnZhbHVlKCkpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgdGhy
b3dTY29wZS5yZWxlYXNlKCk7CiAgICAgaW1wbC5tZXRob2RXaXRoT3B0aW9uYWxQcm9taXNlKFdU
Rk1vdmUocHJvbWlzZSkpOwpAQCAtOTA2OCw3ICs5MDY4LDcgQEAgc3RhdGljIGlubGluZSBKU0M6
OkVuY29kZWRKU1ZhbHVlIGpzVGVzdAogICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAg
ICBVTlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+
d3JhcHBlZCgpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjpl
bmNvZGUodG9KUzxJRExQcm9taXNlPElETFZvaWQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBpbXBsLnRlc3RSZXR1cm5zT3duUHJvbWlzZUFuZFBy
b21pc2VQcm94eUZ1bmN0aW9uKCkpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsIEpTVmFsdWU6OmVuY29kZSh0b0pTPElETFByb21pc2U8SURMVW5kZWZpbmVkPj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgaW1wbC50ZXN0UmV0
dXJuc093blByb21pc2VBbmRQcm9taXNlUHJveHlGdW5jdGlvbigpKSkpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVGVzdFJldHVy
bnNPd25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Vm9pZENhbGxiYWNrRnVu
Y3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBAIEpTVGVzdFZvaWRDYWxs
YmFja0Z1bmN0aW9uOjp+SlNUZXN0Vm9pZEMKICNlbmRpZgogfQogCi1DYWxsYmFja1Jlc3VsdDx0
eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdFZvaWRDYWxsYmFja0Z1
bmN0aW9uOjpoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExGbG9hdDMyQXJyYXk6OlBhcmFtZXRlclR5
cGUgYXJyYXlQYXJhbSwgdHlwZW5hbWUgSURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT46OlBhcmFtZXRlclR5cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0
cmluZzo6UGFyYW1ldGVyVHlwZSBzdHJBcmcsIHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRl
clR5cGUgYm9vbFBhcmFtLCB0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJh
bSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9k
ZVBhcmFtKQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRh
dGlvblR5cGU+IEpTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uOjpoYW5kbGVFdmVudCh0eXBlbmFt
ZSBJRExGbG9hdDMyQXJyYXk6OlBhcmFtZXRlclR5cGUgYXJyYXlQYXJhbSwgdHlwZW5hbWUgSURM
U2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT46OlBhcmFtZXRlclR5
cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0cmluZzo6UGFyYW1ldGVyVHlwZSBzdHJBcmcs
IHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUgYm9vbFBhcmFtLCB0eXBlbmFtZSBJ
RExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRl
c3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9kZVBhcmFtKQogewogICAgIGlmICghY2FuSW52
b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxl
VG9FeGVjdXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmgJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3
ICs0Miw3IEBAIHB1YmxpYzoKICAgICBKU0NhbGxiYWNrRGF0YVN0cm9uZyogY2FsbGJhY2tEYXRh
KCkgeyByZXR1cm4gbV9kYXRhOyB9CiAKICAgICAvLyBGdW5jdGlvbnMKLSAgICBDYWxsYmFja1Jl
c3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGhhbmRsZUV2ZW50KHR5
cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtLCB0eXBlbmFt
ZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPjo6UGFyYW1l
dGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3RyaW5nOjpQYXJhbWV0ZXJUeXBlIHN0
ckFyZywgdHlwZW5hbWUgSURMQm9vbGVhbjo6UGFyYW1ldGVyVHlwZSBib29sUGFyYW0sIHR5cGVu
YW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ1BhcmFtLCB0eXBlbmFtZSBJRExJbnRlcmZh
Y2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0pIG92ZXJyaWRlOworICAg
IENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBl
PiBoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExGbG9hdDMyQXJyYXk6OlBhcmFtZXRlclR5cGUgYXJy
YXlQYXJhbSwgdHlwZW5hbWUgSURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT46OlBhcmFtZXRlclR5cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0cmluZzo6
UGFyYW1ldGVyVHlwZSBzdHJBcmcsIHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUg
Ym9vbFBhcmFtLCB0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdQYXJhbSwgdHlw
ZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0ZXN0Tm9kZVBhcmFt
KSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBKU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbihK
U0M6OkpTT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTS2V5ZnJhbWVzUnVsZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAs
OSBAQCBpbnRlcmZhY2UgQ1NTS2V5ZnJhbWVzUnVsZSA6IENTU1J1bGUgewogICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3Nz
UnVsZXM7CiAgICAgCi0gICAgdm9pZCBpbnNlcnRSdWxlKERPTVN0cmluZyBydWxlKTsKLSAgICB2
b2lkIGFwcGVuZFJ1bGUoRE9NU3RyaW5nIHJ1bGUpOwotICAgIHZvaWQgZGVsZXRlUnVsZShET01T
dHJpbmcga2V5KTsKKyAgICB1bmRlZmluZWQgaW5zZXJ0UnVsZShET01TdHJpbmcgcnVsZSk7Cisg
ICAgdW5kZWZpbmVkIGFwcGVuZFJ1bGUoRE9NU3RyaW5nIHJ1bGUpOworICAgIHVuZGVmaW5lZCBk
ZWxldGVSdWxlKERPTVN0cmluZyBrZXkpOwogICAgIENTU0tleWZyYW1lUnVsZT8gZmluZFJ1bGUo
RE9NU3RyaW5nIGtleSk7CiAKICAgICBnZXR0ZXIgQ1NTS2V5ZnJhbWVSdWxlICh1bnNpZ25lZCBs
b25nIGluZGV4KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjMsNSArMjMsNSBAQCBpbnRlcmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTUnVs
ZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwogCiAgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUob3B0aW9uYWwgRE9N
U3RyaW5nIHJ1bGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCA9
IDApOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVSdWxlKG9wdGlvbmFsIHVu
c2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBkZWxldGVSdWxlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50Q2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDQgKzI3LDQgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUNTU1BhaW50aW5nQVBJ
LAogICAgIENvbmRpdGlvbmFsPUNTU19QQUlOVElOR19BUEksCiAgICAgQ2FsbGJhY2tUaGlzT2Jq
ZWN0PWFueQotXSBjYWxsYmFjayBDU1NQYWludENhbGxiYWNrID0gdm9pZCAoUGFpbnRSZW5kZXJp
bmdDb250ZXh0MkQgY29udGV4dCwgQ1NTUGFpbnRTaXplIHNpemUsIFN0eWxlUHJvcGVydHlNYXBS
ZWFkT25seSBzdHlsZU1hcCwgc2VxdWVuY2U8VVNWU3RyaW5nPiBhcmd1bWVudHMpOworXSBjYWxs
YmFjayBDU1NQYWludENhbGxiYWNrID0gdW5kZWZpbmVkIChQYWludFJlbmRlcmluZ0NvbnRleHQy
RCBjb250ZXh0LCBDU1NQYWludFNpemUgc2l6ZSwgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5IHN0
eWxlTWFwLCBzZXF1ZW5jZTxVU1ZTdHJpbmc+IGFyZ3VtZW50cyk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDcgKzMzLDcgQEAKICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSBE
T01TdHJpbmcgcmVtb3ZlUHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CiAgICAgRE9N
U3RyaW5nPyBnZXRQcm9wZXJ0eVByaW9yaXR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwogCi0g
ICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQcm9wZXJ0eShET01T
dHJpbmcgcHJvcGVydHlOYW1lLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2
YWx1ZSwgb3B0aW9uYWwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgcHJpb3Jp
dHkgPSAiIik7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFByb3BlcnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUsIFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIHZhbHVlLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmdd
IERPTVN0cmluZyBwcmlvcml0eSA9ICIiKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxlbmd0aDsKICAgICBnZXR0ZXIgRE9NU3RyaW5nIGl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7CkBAIC00OSw3ICs0OSw3IEBACiAgICAgLy8gcHJlZml4ZXMgZm9yIHRoaXMgdG8g
YmUgcHJhY3RpY2FsLiBJZiB3ZSByZW1vdmUgbGVnYWN5IGFsaWFzZXMsIHdlIHNob3VsZAogICAg
IC8vIHJlY29uc2lkZXIgdGhpcyBkZWNpc2lvbi4KICAgICBnZXR0ZXIgKERPTVN0cmluZyBvciBk
b3VibGUpIChET01TdHJpbmcgbmFtZSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2Vw
dGlvbiwgQ2FsbE5hbWVkU2V0dGVyT25seUZvclN1cHBvcnRlZFByb3BlcnRpZXNdIHNldHRlciB2
b2lkIChET01TdHJpbmcgbmFtZSwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
dmFsdWUpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb24sIENhbGxOYW1lZFNl
dHRlck9ubHlGb3JTdXBwb3J0ZWRQcm9wZXJ0aWVzXSBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJp
bmcgbmFtZSwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWUpOwogCiAg
ICAgLy8gVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgYW5kIHdlIHdvdWxkIGxpa2UgdG8gZHJv
cCBzdXBwb3J0IGZvciBpdCBzb21lZGF5CiAgICAgRGVwcmVjYXRlZENTU09NVmFsdWU/IGdldFBy
b3BlcnR5Q1NTVmFsdWUoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2hlZXQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDExICsyNCwxMSBA
QCBpbnRlcmZhY2UgQ1NTU3R5bGVTaGVldCA6IFN0eWxlU2hlZXQgewogCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBkZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGRlbGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgcnVsZXM7CiAKICAgICAvLyBUaGUgZm9sbG93
aW5nIHR3byBvcGVyYXRpb25zIGFyZSBXZWJLaXQtc3BlY2lmaWMuCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBsb25nIGFkZFJ1bGUob3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdG9yID0gInVuZGVm
aW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBzdHlsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3Zl
UnVsZShvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlUnVsZShvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4
ID0gMCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw1ICszMSw1IEBAIGludGVyZmFjZSBDU1NTdXBwb3J0c1J1
bGUgOiBDU1NSdWxlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbmRpdGlv
blRleHQ7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVs
ZShET01TdHJpbmcgcnVsZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCA9IDApOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0ZVJ1bGUodW5zaWduZWQg
bG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVy
Q3VzdG9tUHJvcGVydHkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01D
U1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw1ICsyNiw1IEBACiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1DU1NDdXN0b21Q
cm9wZXJ0aWVzQW5kVmFsdWVzCiBdIHBhcnRpYWwgaW50ZXJmYWNlIERPTUNTU05hbWVzcGFjZSB7
Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gc3RhdGljIHZvaWQg
cmVnaXN0ZXJQcm9wZXJ0eShET01DU1NDdXN0b21Qcm9wZXJ0eURlc2NyaXB0b3IgZGVzY3JpcHRv
cik7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gc3RhdGljIHVu
ZGVmaW5lZCByZWdpc3RlclByb3BlcnR5KERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvciBk
ZXNjcmlwdG9yKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09N
UHJpbWl0aXZlVmFsdWUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXBy
ZWNhdGVkQ1NTT01QcmltaXRpdmVWYWx1ZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01QcmltaXRpdmVWYWx1ZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDEwICs1NSwxMCBAQAogICAgIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCBwcmltaXRpdmVUeXBlOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldEZsb2F0VmFsdWUob3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgdW5pdFR5cGUgPSAwLCBv
cHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZmxvYXRWYWx1ZSA9IE5hTik7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmxvYXRWYWx1ZShvcHRpb25hbCB1bnNpZ25lZCBz
aG9ydCB1bml0VHlwZSA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBmbG9hdFZhbHVl
ID0gTmFOKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRG
bG9hdFZhbHVlKG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlID0gMCk7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3RyaW5nVmFsdWUob3B0aW9uYWwgdW5zaWduZWQg
c2hvcnQgc3RyaW5nVHlwZSA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBzdHJpbmdWYWx1ZSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RyaW5nVmFsdWUob3B0aW9uYWwg
dW5zaWduZWQgc2hvcnQgc3RyaW5nVHlwZSA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBzdHJpbmdW
YWx1ZSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgZ2V0U3RyaW5nVmFsdWUo
KTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRGVwcmVjYXRlZENTU09NQ291bnRlciBnZXRD
b3VudGVyVmFsdWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBlbnVtIEZvbnRGYWNlU2V0TG9hZFN0YXR1cyB7CiAK
ICAgICBGb250RmFjZVNldCBhZGQoRm9udEZhY2UgZm9udCk7CiAgICAgW0ltcGxlbWVudGVkQXM9
cmVtb3ZlXSBib29sZWFuIGRlbGV0ZShGb250RmFjZSBmb250KTsKLSAgICB2b2lkIGNsZWFyKCk7
CisgICAgdW5kZWZpbmVkIGNsZWFyKCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
bG9hZGluZzsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubG9hZGluZ2RvbmU7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDYgQEAK
IAogICAgIGdldHRlciBET01TdHJpbmc/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlTWVkaXVtKERPTVN0cmluZyBvbGRNZWRp
dW0pOwotICAgIHZvaWQgYXBwZW5kTWVkaXVtKERPTVN0cmluZyBuZXdNZWRpdW0pOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0ZU1lZGl1bShET01TdHJpbmcgb2xkTWVk
aXVtKTsKKyAgICB1bmRlZmluZWQgYXBwZW5kTWVkaXVtKERPTVN0cmluZyBuZXdNZWRpdW0pOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjMsNyArMjMsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
bWVkaWE7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbWF0Y2hlczsKIAotICAgIHZv
aWQgYWRkTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOwotICAgIHZvaWQgcmVtb3Zl
TGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOworICAgIHVuZGVmaW5lZCBhZGRMaXN0
ZW5lcihFdmVudExpc3RlbmVyPyBsaXN0ZW5lcik7CisgICAgdW5kZWZpbmVkIHJlbW92ZUxpc3Rl
bmVyKEV2ZW50TGlzdGVuZXI/IGxpc3RlbmVyKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uY2hhbmdlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXgu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQAogICAgIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIG00NDsKIAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBh
cyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc2V0TWF0cml4VmFsdWUob3B0aW9uYWwgRE9NU3RyaW5nIHN0cmluZyA9ICJ1bmRl
ZmluZWQiKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNYXRyaXhWYWx1
ZShvcHRpb25hbCBET01TdHJpbmcgc3RyaW5nID0gInVuZGVmaW5lZCIpOwogICAgIAogICAgIC8v
IE11bHRpcGx5IHRoaXMgbWF0cml4IGJ5IHNlY29uZE1hdHJpeCwgb24gdGhlIHJpZ2h0IChyZXN1
bHQgPSB0aGlzICogc2Vjb25kTWF0cml4KQogICAgIFdlYktpdENTU01hdHJpeCBtdWx0aXBseShv
cHRpb25hbCBXZWJLaXRDU1NNYXRyaXg/IHNlY29uZE1hdHJpeCA9IG51bGwpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vQWJvcnRBbGdvcml0aG0uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vQWJvcnRBbGdvcml0aG0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0
ICsyNCw0IEBACiAgKi8KIAogWwotXSBjYWxsYmFjayBBYm9ydEFsZ29yaXRobSA9IHZvaWQgKCk7
CitdIGNhbGxiYWNrIEFib3J0QWxnb3JpdGhtID0gdW5kZWZpbmVkICgpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw1
ICszMiw1IEBACiAKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEFib3J0U2ln
bmFsIHNpZ25hbDsKIAotICAgIHZvaWQgYWJvcnQoKTsKKyAgICB1bmRlZmluZWQgYWJvcnQoKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQWJvcnRTaWduYWwuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDcgQEAKICAgICBQcml2YXRlSWRlbnRpZmllciwKICAgICBQdWJsaWNJZGVudGlm
aWVyCiBdIGludGVyZmFjZSBBYm9ydFNpZ25hbCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbIFByaXZh
dGVJZGVudGlmaWVyIF0gc3RhdGljIHZvaWQgd2hlblNpZ25hbEFib3J0ZWQoQWJvcnRTaWduYWwg
b2JqZWN0LCBBYm9ydEFsZ29yaXRobSBhbGdvcml0aG0pOworICAgIFsgUHJpdmF0ZUlkZW50aWZp
ZXIgXSBzdGF0aWMgdW5kZWZpbmVkIHdoZW5TaWduYWxBYm9ydGVkKEFib3J0U2lnbmFsIG9iamVj
dCwgQWJvcnRBbGdvcml0aG0gYWxnb3JpdGhtKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGFib3J0ZWQ7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFib3J0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
MSwxMCArMjEsMTAgQEAgaW50ZXJmYWNlIENoYXJhY3RlckRhdGEgOiBOb2RlIHsKICAgICBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZGF0YTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBET01TdHJpbmcgc3Vic3RyaW5nRGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWdu
ZWQgbG9uZyBjb3VudCk7Ci0gICAgdm9pZCBhcHBlbmREYXRhKERPTVN0cmluZyBkYXRhKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0RGF0YSh1bnNpZ25lZCBsb25nIG9mZnNl
dCwgRE9NU3RyaW5nIGRhdGEpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVE
YXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50KTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVwbGFjZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVu
c2lnbmVkIGxvbmcgY291bnQsIERPTVN0cmluZyBkYXRhKTsKKyAgICB1bmRlZmluZWQgYXBwZW5k
RGF0YShET01TdHJpbmcgZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
aW5zZXJ0RGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0ZURhdGEodW5zaWduZWQgbG9uZyBvZmZz
ZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHJlcGxhY2VEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50
LCBET01TdHJpbmcgZGF0YSk7CiB9OwogCiBDaGFyYWN0ZXJEYXRhIGltcGxlbWVudHMgQ2hpbGRO
b2RlOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTm9kZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTm9kZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9DaGlsZE5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4
ICsyMiw4IEBACiBbCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFjZSBDaGlsZE5v
ZGUgewotICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgYmVmb3JlKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOwotICAgIFtDRVJlYWN0aW9u
cywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWZ0ZXIoKE5vZGUgb3IgRE9N
U3RyaW5nKS4uLiBub2Rlcyk7Ci0gICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNlV2l0aCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVz
KTsKLSAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB2b2lk
IHJlbW92ZSgpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBiZWZvcmUoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAg
W0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFm
dGVyKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5z
Y29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZXBsYWNlV2l0aCgoTm9kZSBv
ciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlKCk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3
ICsyOSw3IEBAIGludGVyZmFjZSBDb21wb3NpdGlvbkV2ZW50IDogVUlFdmVudCB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBkYXRhOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1
bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQg
aW5pdENvbXBvc2l0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGVBcmcgPSAidW5kZWZp
bmVkIiwKKyAgICB1bmRlZmluZWQgaW5pdENvbXBvc2l0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3Ry
aW5nIHR5cGVBcmcgPSAidW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGVBcmcgPSBmYWxzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3QXJn
ID0gbnVsbCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnku
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0
cnkuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxl
bWVudFJlZ2lzdHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsOCBAQAogICAgIEdl
bmVyYXRlSXNSZWFjaGFibGU9SW1wbFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgSlNHZW5l
cmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBpbnRlcmZhY2UgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IHsK
LSAgICBbQ0VSZWFjdGlvbnMsIEN1c3RvbV0gdm9pZCBkZWZpbmUoRE9NU3RyaW5nIG5hbWUsIEZ1
bmN0aW9uIGNvbnN0cnVjdG9yKTsKKyAgICBbQ0VSZWFjdGlvbnMsIEN1c3RvbV0gdW5kZWZpbmVk
IGRlZmluZShET01TdHJpbmcgbmFtZSwgRnVuY3Rpb24gY29uc3RydWN0b3IpOwogICAgIGFueSBn
ZXQoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtDdXN0b20sIE1heVRocm93RXhjZXB0aW9uLCBSZXR1
cm5zT3duUHJvbWlzZV0gUHJvbWlzZTx2b2lkPiB3aGVuRGVmaW5lZChET01TdHJpbmcgbmFtZSk7
Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIHVwZ3JhZGUoTm9kZSByb290KTsKKyAgICBbQ3VzdG9t
LCBNYXlUaHJvd0V4Y2VwdGlvbiwgUmV0dXJuc093blByb21pc2VdIFByb21pc2U8dW5kZWZpbmVk
PiB3aGVuRGVmaW5lZChET01TdHJpbmcgbmFtZSk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmlu
ZWQgdXBncmFkZShOb2RlIHJvb3QpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogCiAgICAgW0N1c3RvbUdldHRl
cl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBkZXRhaWw7CiAKLSAgICB2b2lkIGluaXRDdXN0b21F
dmVudChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9w
dGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLCBvcHRpb25hbCBhbnkgZGV0YWlsID0g
bnVsbCk7CisgICAgdW5kZWZpbmVkIGluaXRDdXN0b21FdmVudChET01TdHJpbmcgdHlwZSwgb3B0
aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJs
ZSA9IGZhbHNlLCBvcHRpb25hbCBhbnkgZGV0YWlsID0gbnVsbCk7CiB9OwogCiBkaWN0aW9uYXJ5
IEN1c3RvbUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RE9NU3RyaW5nTWFwLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NU3Ry
aW5nTWFwLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0
cmluZ01hcC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICBTa2lwVlRh
YmxlVmFsaWRhdGlvbiwKIF0gaW50ZXJmYWNlIERPTVN0cmluZ01hcCB7CiAgICAgZ2V0dGVyIERP
TVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNl
cHRpb25dIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKLSAg
ICBbQ0VSZWFjdGlvbnNdIGRlbGV0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUpOworICAgIFtDRVJl
YWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKERPTVN0cmluZyBu
YW1lLCBET01TdHJpbmcgdmFsdWUpOworICAgIFtDRVJlYWN0aW9uc10gZGVsZXRlciB1bmRlZmlu
ZWQgKERPTVN0cmluZyBuYW1lKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNm
ZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5z
ZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTIgKzM3LDEyIEBACiAgICAgLy8gRklYTUU6
IGl0ZW1zIHNob3VsZCB1c2UgW1NhbWVPYmplY3RdIG9uY2UgdGhhdCBpcyBzdXBwb3J0ZWQuCiAg
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9RGF0YVRyYW5zZmVySXRlbXMsIENhbGxXaXRoPURvY3VtZW50
XSByZWFkb25seSBhdHRyaWJ1dGUgRGF0YVRyYW5zZmVySXRlbUxpc3QgaXRlbXM7CiAKLSAgICB2
b2lkIHNldERyYWdJbWFnZShFbGVtZW50PyBpbWFnZSwgbG9uZyB4LCBsb25nIHkpOyAvLyBGSVhN
RTogRWxlbWVudCBhcmd1bWVudCBpcyBub3QgbnVsbGFibGUgaW4gdGhlIEhUTUwgc3RhbmRhcmQu
CisgICAgdW5kZWZpbmVkIHNldERyYWdJbWFnZShFbGVtZW50PyBpbWFnZSwgbG9uZyB4LCBsb25n
IHkpOyAvLyBGSVhNRTogRWxlbWVudCBhcmd1bWVudCBpcyBub3QgbnVsbGFibGUgaW4gdGhlIEhU
TUwgc3RhbmRhcmQuCiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3Ry
aW5nPiB0eXBlczsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIERPTVN0cmluZyBnZXREYXRhKERP
TVN0cmluZyBmb3JtYXQpOwotICAgIHZvaWQgc2V0RGF0YShET01TdHJpbmcgZm9ybWF0LCBET01T
dHJpbmcgZGF0YSk7Ci0gICAgdm9pZCBjbGVhckRhdGEob3B0aW9uYWwgRE9NU3RyaW5nIGZvcm1h
dCk7CisgICAgdW5kZWZpbmVkIHNldERhdGEoRE9NU3RyaW5nIGZvcm1hdCwgRE9NU3RyaW5nIGRh
dGEpOworICAgIHVuZGVmaW5lZCBjbGVhckRhdGEob3B0aW9uYWwgRE9NU3RyaW5nIGZvcm1hdCk7
CiAgICAgLy8gRklYTUU6IGZpbGVzIHNob3VsZCB1c2UgW1NhbWVPYmplY3RdIG9uY2UgdGhhdCBp
cyBzdXBwb3J0ZWQuCiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSByZWFkb25seSBhdHRyaWJ1dGUg
RmlsZUxpc3QgZmlsZXM7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFu
c2Zlckl0ZW0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBraW5kOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdHlwZTsKIAotICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCBnZXRBc1N0cmluZyhT
dHJpbmdDYWxsYmFjaz8gY2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdW5kZWZp
bmVkIGdldEFzU3RyaW5nKFN0cmluZ0NhbGxiYWNrPyBjYWxsYmFjayk7CiAgICAgRmlsZSBnZXRB
c0ZpbGUoKTsKIAogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZW50cmllcy1hcGkvI2h0
bWwtZGF0YQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3Qu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
SXRlbUxpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBEYXRhVHJhbnNmZXJJdGVtPyBhZGQoRE9NU3RyaW5nIGRhdGEsIERPTVN0
cmluZyB0eXBlKTsKICAgICBEYXRhVHJhbnNmZXJJdGVtPyBhZGQoRmlsZSBmaWxlKTsKIAotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZW1vdmUodW5zaWduZWQgbG9uZyBpbmRleCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwogCi0gICAgdm9pZCBjbGVhcigpOworICAgIHVuZGVmaW5lZCBjbGVhcigpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSb3RhdGlv
blJhdGU/IHJvdGF0aW9uUmF0ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGRvdWJsZT8gaW50ZXJ2YWw7CiAKLSAgICB2b2lkIGluaXREZXZpY2VNb3Rpb25FdmVudChvcHRp
b25hbCBET01TdHJpbmcgdHlwZSA9ICIiLAorICAgIHVuZGVmaW5lZCBpbml0RGV2aWNlTW90aW9u
RXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAiIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBBY2NlbGVyYXRpb24/IGFj
Y2VsZXJhdGlvbiA9IG51bGwsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1
LDcgQEAKICNpZiBkZWZpbmVkKFdURl9QTEFURk9STV9JT1NfRkFNSUxZKSAmJiBXVEZfUExBVEZP
Uk1fSU9TX0ZBTUlMWQogICAgIFtJbXBsZW1lbnRlZEFzPWNvbXBhc3NIZWFkaW5nXSByZWFkb25s
eSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZT8gd2Via2l0Q29tcGFzc0hlYWRpbmc7CiAg
ICAgW0ltcGxlbWVudGVkQXM9Y29tcGFzc0FjY3VyYWN5XSByZWFkb25seSBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGRvdWJsZT8gd2Via2l0Q29tcGFzc0FjY3VyYWN5OwotICAgIHZvaWQgaW5pdERl
dmljZU9yaWVudGF0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAiIiwKKyAgICB1
bmRlZmluZWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5
cGUgPSAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJv
b2xlYW4gYnViYmxlcyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlPyBhbHBoYSA9
IG51bGwsCkBAIC00NSw3ICs0NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlPyBjb21wYXNzQWNjdXJhY3kgPSBudWxs
KTsKICNlbHNlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4/IGFic29sdXRlOwotICAg
IHZvaWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUg
PSAiIiwKKyAgICB1bmRlZmluZWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQob3B0aW9uYWwg
RE9NU3RyaW5nIHR5cGUgPSAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91
YmxlPyBhbHBoYSA9IG51bGwsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTExMyw5ICsxMTMsOSBAQCB0eXBlZGVmIChIVE1MU2NyaXB0RWxlbWVudCBvciBTVkdT
Y3JpcHRFCiAgICAgLy8gdGhlIGV4aXN0aW5nICdpbmN1bWJlbnQgZG9jdW1lbnQnIGNvbmNlcHQu
CiAgICAgW0NFUmVhY3Rpb25zLCBDYWxsV2l0aD1SZXNwb25zaWJsZURvY3VtZW50LCBJbXBsZW1l
bnRlZEFzPW9wZW5Gb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb25dIERvY3VtZW50IG9wZW4o
b3B0aW9uYWwgRE9NU3RyaW5nIHVudXNlZDEsIG9wdGlvbmFsIERPTVN0cmluZyB1bnVzZWQyKTsg
Ly8gYm90aCBhcmd1bWVudHMgYXJlIGlnbm9yZWQuCiAgICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRv
dyZGaXJzdFdpbmRvdywgSW1wbGVtZW50ZWRBcz1vcGVuRm9yQmluZGluZ3MsIE1heVRocm93RXhj
ZXB0aW9uXSBXaW5kb3dQcm94eSBvcGVuKFVTVlN0cmluZyB1cmwsIERPTVN0cmluZyBuYW1lLCBE
T01TdHJpbmcgZmVhdHVyZXMpOwotICAgIFtDRVJlYWN0aW9ucywgSW1wbGVtZW50ZWRBcz1jbG9z
ZUZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbG9zZSgpOwotICAgIFtDRVJl
YWN0aW9ucywgQ2FsbFdpdGg9UmVzcG9uc2libGVEb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgd3JpdGUoRE9NU3RyaW5nLi4uIHRleHQpOwotICAgIFtDRVJlYWN0aW9ucywgQ2FsbFdp
dGg9UmVzcG9uc2libGVEb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd3JpdGVsbihE
T01TdHJpbmcuLi4gdGV4dCk7CisgICAgW0NFUmVhY3Rpb25zLCBJbXBsZW1lbnRlZEFzPWNsb3Nl
Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xvc2UoKTsKKyAgICBb
Q0VSZWFjdGlvbnMsIENhbGxXaXRoPVJlc3BvbnNpYmxlRG9jdW1lbnQsIE1heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgd3JpdGUoRE9NU3RyaW5nLi4uIHRleHQpOworICAgIFtDRVJlYWN0aW9u
cywgQ2FsbFdpdGg9UmVzcG9uc2libGVEb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCB3cml0ZWxuKERPTVN0cmluZy4uLiB0ZXh0KTsKIAogICAgIC8vIFVzZXIgaW50ZXJhY3Rp
b24uCiAgICAgW0ltcGxlbWVudGVkQXM9d2luZG93UHJveHldIHJlYWRvbmx5IGF0dHJpYnV0ZSBX
aW5kb3dQcm94eT8gZGVmYXVsdFZpZXc7CkBAIC0xNDcsNyArMTQ3LDcgQEAgdHlwZWRlZiAoSFRN
TFNjcmlwdEVsZW1lbnQgb3IgU1ZHU2NyaXB0RQogICAgIC8vIEV4dGVuc2lvbnMgZnJvbSBQb2lu
dGVyIExvY2sgQVBJIChodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRlcmxvY2svI2V4dGVuc2lv
bnMtdG8tdGhlLWRvY3VtZW50LWludGVyZmFjZSkuCiAgICAgW05vdEVudW1lcmFibGUsIENvbmRp
dGlvbmFsPVBPSU5URVJfTE9DS10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJsb2Nr
Y2hhbmdlOyAvLyBGSVhNRTogU2hvdWxkIGJlIGVudW1lcmFibGUuCiAgICAgW05vdEVudW1lcmFi
bGUsIENvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBv
aW50ZXJsb2NrZXJyb3I7IC8vIEZJWE1FOiBTaG91bGQgYmUgZW51bWVyYWJsZS4KLSAgICBbQ29u
ZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSB2b2lkIGV4aXRQb2ludGVyTG9jaygpOworICAgIFtDb25k
aXRpb25hbD1QT0lOVEVSX0xPQ0tdIHVuZGVmaW5lZCBleGl0UG9pbnRlckxvY2soKTsKIAogICAg
IC8vIEV4dGVuc2lvbnMgZnJvbSBDU1MgRm9udCBMb2FkaW5nIEFQSSAoaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250LWxvYWRpbmcvI2ZvbnQtZmFjZS1zb3VyY2UpLgogICAgIC8vIEZJ
WE1FOiBTaG91bGQgYmUgaW4gYSBzZXBhcmF0ZSBGb250RmFjZVNvdXJjZSBpbnRlcmZhY2UuCkBA
IC0xODgsOSArMTg4LDkgQEAgdHlwZWRlZiAoSFRNTFNjcmlwdEVsZW1lbnQgb3IgU1ZHU2NyaXB0
RQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhbmNob3JzOyAvKiBbU2Ft
ZU9iamVjdF0gKi8KICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gYXBwbGV0
czsgLyogW1NhbWVPYmplY3RdICovCiAKLSAgICB2b2lkIGNsZWFyKCk7Ci0gICAgdm9pZCBjYXB0
dXJlRXZlbnRzKCk7Ci0gICAgdm9pZCByZWxlYXNlRXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIGNs
ZWFyKCk7CisgICAgdW5kZWZpbmVkIGNhcHR1cmVFdmVudHMoKTsKKyAgICB1bmRlZmluZWQgcmVs
ZWFzZUV2ZW50cygpOwogCiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TEFsbENvbGxlY3Rpb24gYWxsOyAvKiBbU2FtZU9iamVjdF0gKi8KIApJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50RnVsbHNjcmVlbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50RnVsbHNjcmVlbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZ1bGxzY3JlZW4uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiwxMyArMzIsMTMgQEAKICAgICAvLyBGSVhNRTogU2hvdWxkIHByb2JhYmx5IGJlIHVucHJl
Zml4ZWQuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0RnVsbHNjcmVlbkVu
YWJsZWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHdlYmtpdEZ1bGxzY3JlZW5F
bGVtZW50OwotICAgIHZvaWQgd2Via2l0RXhpdEZ1bGxzY3JlZW4oKTsKKyAgICB1bmRlZmluZWQg
d2Via2l0RXhpdEZ1bGxzY3JlZW4oKTsKIAogICAgIC8vIE1vemlsbGEgdmVyc2lvbnMuCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0SXNGdWxsU2NyZWVuOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdEZ1bGxTY3JlZW5LZXlib2FyZElucHV0QWxsb3dl
ZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCB3ZWJraXRDdXJyZW50RnVsbFNjcmVl
bkVsZW1lbnQ7Ci0gICAgdm9pZCB3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk7CisgICAgdW5kZWZp
bmVkIHdlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKTsKIAogICAgIFtOb3RFbnVtZXJhYmxlXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZTsKICAgICBbTm90RW51
bWVyYWJsZV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcjsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTdG9yYWdlQWNj
ZXNzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQAogICAgIEVuYWJsZWRCeVNl
dHRpbmc9c3RvcmFnZUFjY2Vzc0FQSQogXSBwYXJ0aWFsIGludGVyZmFjZSBEb2N1bWVudCB7CiAg
ICAgUHJvbWlzZTxib29sPiBoYXNTdG9yYWdlQWNjZXNzKCk7Ci0gICAgUHJvbWlzZTx2b2lkPiBy
ZXF1ZXN0U3RvcmFnZUFjY2VzcygpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiByZXF1ZXN0U3Rv
cmFnZUFjY2VzcygpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDEsMTAgKzQxLDEwIEBACiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBnZXRBdHRyaWJ1dGVO
YW1lcygpOwogICAgIFtET01KSVQ9UmVhZERPTV0gRE9NU3RyaW5nPyBnZXRBdHRyaWJ1dGUoRE9N
U3RyaW5nIHF1YWxpZmllZE5hbWUpOwogICAgIERPTVN0cmluZz8gZ2V0QXR0cmlidXRlTlMoRE9N
U3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyBsb2NhbE5hbWUpOwotICAgIFtDRVJlYWN0
aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QXR0cmlidXRlKERPTVN0cmluZyBxdWFs
aWZpZWROYW1lLCBET01TdHJpbmcgdmFsdWUpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2V0QXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERP
TVN0cmluZyBxdWFsaWZpZWROYW1lLCBET01TdHJpbmcgdmFsdWUpOwotICAgIFtDRVJlYWN0aW9u
c10gdm9pZCByZW1vdmVBdHRyaWJ1dGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwotICAgIFtD
RVJlYWN0aW9uc10gdm9pZCByZW1vdmVBdHRyaWJ1dGVOUyhET01TdHJpbmc/IG5hbWVzcGFjZVVS
SSwgRE9NU3RyaW5nIGxvY2FsTmFtZSk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldEF0dHJpYnV0ZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9N
U3RyaW5nIHZhbHVlKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgc2V0QXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyBx
dWFsaWZpZWROYW1lLCBET01TdHJpbmcgdmFsdWUpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZp
bmVkIHJlbW92ZUF0dHJpYnV0ZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7CisgICAgW0NFUmVh
Y3Rpb25zXSB1bmRlZmluZWQgcmVtb3ZlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VV
UkksIERPTVN0cmluZyBsb2NhbE5hbWUpOwogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNl
cHRpb25dIGJvb2xlYW4gdG9nZ2xlQXR0cmlidXRlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCBv
cHRpb25hbCBib29sZWFuIGZvcmNlKTsKICAgICBib29sZWFuIGhhc0F0dHJpYnV0ZShET01TdHJp
bmcgcXVhbGlmaWVkTmFtZSk7CiAgICAgYm9vbGVhbiBoYXNBdHRyaWJ1dGVOUyhET01TdHJpbmc/
IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIGxvY2FsTmFtZSk7CkBAIC02NywxOCArNjcsMTggQEAK
ICAgICBIVE1MQ29sbGVjdGlvbiBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKERPTVN0cmluZyBuYW1l
KTsKIAogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIEVsZW1lbnQ/IGluc2Vy
dEFkamFjZW50RWxlbWVudChET01TdHJpbmcgd2hlcmUsIEVsZW1lbnQgZWxlbWVudCk7IC8vIEhp
c3RvcmljYWwuCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGluc2VydEFkamFjZW50VGV4
dChET01TdHJpbmcgd2hlcmUsIERPTVN0cmluZyBkYXRhKTsgLy8gSGlzdG9yaWNhbC4KKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnNlcnRBZGphY2VudFRleHQoRE9NU3RyaW5n
IHdoZXJlLCBET01TdHJpbmcgZGF0YSk7IC8vIEhpc3RvcmljYWwuCiAKICAgICAvLyBDU1NPTS12
aWV3IGV4dGVuc2lvbnMgKGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNleHRl
bnNpb24tdG8tdGhlLWVsZW1lbnQtaW50ZXJmYWNlKS4KICAgICBET01SZWN0TGlzdCBnZXRDbGll
bnRSZWN0cygpOwogICAgIFtOZXdPYmplY3RdIERPTVJlY3QgZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCk7Ci0gICAgdm9pZCBzY3JvbGxJbnRvVmlldyhvcHRpb25hbCAoYm9vbGVhbiBvciBTY3JvbGxJ
bnRvVmlld09wdGlvbnMpIGFyZyk7Ci0gICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xsVG9dIHZvaWQg
c2Nyb2xsKG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb25zKTsKLSAgICBbSW1wbGVtZW50
ZWRBcz1zY3JvbGxUb10gdm9pZCBzY3JvbGwodW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHkpOwotICAgIHZvaWQgc2Nyb2xsVG8ob3B0aW9uYWwgU2Nyb2xsVG9PcHRp
b25zIG9wdGlvbnMpOwotICAgIHZvaWQgc2Nyb2xsVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHkpOwotICAgIHZvaWQgc2Nyb2xsQnkob3B0aW9uYWwgU2Nyb2xs
VG9PcHRpb25zIG9wdGlvbik7Ci0gICAgdm9pZCBzY3JvbGxCeSh1bnJlc3RyaWN0ZWQgZG91Ymxl
IHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7CisgICAgdW5kZWZpbmVkIHNjcm9sbEludG9WaWV3
KG9wdGlvbmFsIChib29sZWFuIG9yIFNjcm9sbEludG9WaWV3T3B0aW9ucykgYXJnKTsKKyAgICBb
SW1wbGVtZW50ZWRBcz1zY3JvbGxUb10gdW5kZWZpbmVkIHNjcm9sbChvcHRpb25hbCBTY3JvbGxU
b09wdGlvbnMgb3B0aW9ucyk7CisgICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xsVG9dIHVuZGVmaW5l
ZCBzY3JvbGwodW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOwor
ICAgIHVuZGVmaW5lZCBzY3JvbGxUbyhvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7
CisgICAgdW5kZWZpbmVkIHNjcm9sbFRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmlj
dGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsQnkob3B0aW9uYWwgU2Nyb2xsVG9P
cHRpb25zIG9wdGlvbik7CisgICAgdW5kZWZpbmVkIHNjcm9sbEJ5KHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKICAgICBhdHRyaWJ1dGUgbG9uZyBzY3JvbGxU
b3A7IC8vIEZJWE1FKHdlYmtpdC5vcmcvYi8xODgwNDUpOiBzaG91bGQgYmUgdW5yZXN0cmljdGVk
IGRvdWJsZS4KICAgICBhdHRyaWJ1dGUgbG9uZyBzY3JvbGxMZWZ0OyAvLyBGSVhNRSh3ZWJraXQu
b3JnL2IvMTg4MDQ1KTogc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3VibGUuCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgc2Nyb2xsV2lkdGg7CkBAIC05MiwyMyArOTIsMjMgQEAKICAgICAv
LyBodHRwczovL3czYy5naXRodWIuaW8vRE9NLVBhcnNpbmcvI2V4dGVuc2lvbnMtdG8tdGhlLWVs
ZW1lbnQtaW50ZXJmYWNlCiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJIVE1MOwogICAgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG91dGVySFRNTDsKLSAg
ICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGluc2VydEFkamFjZW50SFRN
TChET01TdHJpbmcgcG9zaXRpb24sIERPTVN0cmluZyB0ZXh0KTsKKyAgICBbQ0VSZWFjdGlvbnMs
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW5zZXJ0QWRqYWNlbnRIVE1MKERPTVN0cmlu
ZyBwb3NpdGlvbiwgRE9NU3RyaW5nIHRleHQpOwogCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIEZ1
bGwgU2NyZWVuIEFQSSAoaHR0cHM6Ly9mdWxsc2NyZWVuLnNwZWMud2hhdHdnLm9yZy8jYXBpKS4K
ICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGFkZCB1bnByZWZpeGVkIHZlcnNpb25zPwotICAgIFtD
b25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSSwgRW5hYmxlZEJ5U2V0dGluZz1GdWxsU2NyZWVuLCBJ
bXBsZW1lbnRlZEFzPXdlYmtpdFJlcXVlc3RGdWxsc2NyZWVuLCBEaXNhYmxlZEJ5UXVpcms9c2hv
dWxkRGlzYWJsZUVsZW1lbnRGdWxsc2NyZWVuXSB2b2lkIHdlYmtpdFJlcXVlc3RGdWxsU2NyZWVu
KCk7IC8vIFByZWZpeGVkIE1vemlsbGEgdmVyc2lvbi4KLSAgICBbQ29uZGl0aW9uYWw9RlVMTFND
UkVFTl9BUEksIEVuYWJsZWRCeVNldHRpbmc9RnVsbFNjcmVlbiwgRGlzYWJsZWRCeVF1aXJrPXNo
b3VsZERpc2FibGVFbGVtZW50RnVsbHNjcmVlbl0gdm9pZCB3ZWJraXRSZXF1ZXN0RnVsbHNjcmVl
bigpOyAvLyBQcmVmaXhlZCBXM0MgdmVyc2lvbi4KKyAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVF
Tl9BUEksIEVuYWJsZWRCeVNldHRpbmc9RnVsbFNjcmVlbiwgSW1wbGVtZW50ZWRBcz13ZWJraXRS
ZXF1ZXN0RnVsbHNjcmVlbiwgRGlzYWJsZWRCeVF1aXJrPXNob3VsZERpc2FibGVFbGVtZW50RnVs
bHNjcmVlbl0gdW5kZWZpbmVkIHdlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7IC8vIFByZWZpeGVk
IE1vemlsbGEgdmVyc2lvbi4KKyAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEksIEVuYWJs
ZWRCeVNldHRpbmc9RnVsbFNjcmVlbiwgRGlzYWJsZWRCeVF1aXJrPXNob3VsZERpc2FibGVFbGVt
ZW50RnVsbHNjcmVlbl0gdW5kZWZpbmVkIHdlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCk7IC8vIFBy
ZWZpeGVkIFczQyB2ZXJzaW9uLgogCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIFBvaW50ZXIgRXZl
bnRzIEFQSSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BvaW50ZXJldmVudHMvI2V4dGVuc2lvbnMt
dG8tdGhlLWVsZW1lbnQtaW50ZXJmYWNlKS4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c2V0UG9pbnRlckNhcHR1cmUobG9uZyBwb2ludGVySWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCByZWxlYXNlUG9pbnRlckNhcHR1cmUobG9uZyBwb2ludGVySWQpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBvaW50ZXJDYXB0dXJlKGxvbmcgcG9pbnRlcklk
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZWxlYXNlUG9pbnRlckNhcHR1
cmUobG9uZyBwb2ludGVySWQpOwogICAgIGJvb2xlYW4gaGFzUG9pbnRlckNhcHR1cmUobG9uZyBw
b2ludGVySWQpOwogCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIFBvaW50ZXIgTG9jayBBUEkgKGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9wb2ludGVybG9jay8jZXh0ZW5zaW9ucy10by10aGUtZWxlbWVu
dC1pbnRlcmZhY2UpLgotICAgIFtDb25kaXRpb25hbD1QT0lOVEVSX0xPQ0tdIHZvaWQgcmVxdWVz
dFBvaW50ZXJMb2NrKCk7CisgICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10gdW5kZWZpbmVk
IHJlcXVlc3RQb2ludGVyTG9jaygpOwogCiAgICAgLy8gTm9uIHN0YW5kYXJkIEFQSSAoaHR0cHM6
Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0xNzE1MikuCi0gICAgdm9p
ZCBzY3JvbGxJbnRvVmlld0lmTmVlZGVkKG9wdGlvbmFsIGJvb2xlYW4gY2VudGVySWZOZWVkZWQg
PSB0cnVlKTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZChvcHRpb25hbCBi
b29sZWFuIGNlbnRlcklmTmVlZGVkID0gdHJ1ZSk7CiAKICAgICAvLyBFdmVudCBoYW5kbGVyIGZy
b20gU2VsZWN0aW9uIEFQSSAoaHR0cDovL3czYy5naXRodWIuaW8vc2VsZWN0aW9uLWFwaS8jZXh0
ZW5zaW9ucy10by1nbG9iYWxldmVudGhhbmRsZXJzKS4KICAgICAvLyBGSVhNRTogU2hvdWxkIGJl
IG1vdmVkIHRvIEdsb2JhbEV2ZW50SGFuZGxlcnMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDIwICs0MCwyMCBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0
YW1wOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEJVQkJMSU5HX1BIQVNFID0gMzsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgZXZlbnRQaGFzZTsKIAotICAgIHZvaWQg
c3RvcFByb3BhZ2F0aW9uKCk7CisgICAgdW5kZWZpbmVkIHN0b3BQcm9wYWdhdGlvbigpOwogICAg
IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbEJ1YmJsZTsgLy8gaGlzdG9yaWNhbCBhbGlhcyBvZiAu
c3RvcFByb3BhZ2F0aW9uLgotICAgIHZvaWQgc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cisg
ICAgdW5kZWZpbmVkIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gYnViYmxlczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBjYW5jZWxhYmxlOwotICAgIHZvaWQgcHJldmVudERlZmF1bHQoKTsKKyAgICB1bmRlZmluZWQg
cHJldmVudERlZmF1bHQoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBkZWZhdWx0
UHJldmVudGVkOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVNoYWRvd0RPTV0gcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gY29tcG9zZWQ7CiAKICAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIGlzVHJ1c3RlZDsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgSW1wbGVtZW50ZWRBcz10aW1lU3RhbXBGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0
cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wOwogCi0gICAgdm9pZCBpbml0RXZl
bnQoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRp
b25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSk7IC8vIEhpc3RvcmljYWwuCisgICAgdW5k
ZWZpbmVkIGluaXRFdmVudChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVz
ID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlKTsgLy8gSGlzdG9y
aWNhbC4KIAogICAgIC8vIElFIGV4dGVuc2lvbnMgdGhhdCBtYXkgZ2V0IHN0YW5kYXJkaXplZCAo
aHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzMzNCkuCiAgICAgW0ltcGxlbWVu
dGVkQXM9dGFyZ2V0XSByZWFkb25seSBhdHRyaWJ1dGUgRXZlbnRUYXJnZXQgc3JjRWxlbWVudDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNSArMjEsNSBAQAogWwogICAgIE5vSW50ZXJmYWNlT2JqZWN0CiBdIGludGVyZmFjZSBF
dmVudExpc3RlbmVyIHsKLSAgICB2b2lkIGhhbmRsZUV2ZW50KEV2ZW50IGV2ZW50KTsKKyAgICB1
bmRlZmluZWQgaGFuZGxlRXZlbnQoRXZlbnQgZXZlbnQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsOCBAQAogXSBpbnRl
cmZhY2UgRXZlbnRUYXJnZXQgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSBjb25zdHJ1Y3RvcigpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9YWRkRXZlbnRMaXN0ZW5lckZv
ckJpbmRpbmdzXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoW0F0b21TdHJpbmddIERPTVN0cmluZyB0
eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0aW9uYWwgKEFkZEV2ZW50TGlzdGVuZXJP
cHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMgPSBmYWxzZSk7Ci0gICAgW0ltcGxlbWVudGVkQXM9
cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzXSB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIo
W0F0b21TdHJpbmddIERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0
aW9uYWwgKEV2ZW50TGlzdGVuZXJPcHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMgPSBmYWxzZSk7
CisgICAgW0ltcGxlbWVudGVkQXM9YWRkRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzXSB1bmRlZmlu
ZWQgYWRkRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlz
dGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgb3IgYm9v
bGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVFdmVudExp
c3RlbmVyRm9yQmluZGluZ3NdIHVuZGVmaW5lZCByZW1vdmVFdmVudExpc3RlbmVyKFtBdG9tU3Ry
aW5nXSBET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lcj8gY2FsbGJhY2ssIG9wdGlvbmFsIChF
dmVudExpc3RlbmVyT3B0aW9ucyBvciBib29sZWFuKSBvcHRpb25zID0gZmFsc2UpOwogICAgIFtJ
bXBsZW1lbnRlZEFzPWRpc3BhdGNoRXZlbnRGb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb25d
IGJvb2xlYW4gZGlzcGF0Y2hFdmVudChFdmVudCBldmVudCk7CiB9OwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcg
KzIyLDcgQEAgaW50ZXJmYWNlIEhhc2hDaGFuZ2VFdmVudCA6IEV2ZW50IHsKICAgICBjb25zdHJ1
Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgSGFzaENoYW5nZUV2ZW50SW5pdCBldmVudElu
aXREaWN0KTsKIAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBh
cmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAgICB2b2lkIGluaXRIYXNoQ2hhbmdlRXZlbnQob3B0
aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwKKyAgICB1bmRlZmluZWQgaW5pdEhh
c2hDaGFuZ2VFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSA9IGZh
bHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbmNl
bGFibGUgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgVVNW
U3RyaW5nIG9sZFVSTCA9ICJ1bmRlZmluZWQiLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0lk
bGVSZXF1ZXN0Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9J
ZGxlUmVxdWVzdENhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0lkbGVSZXF1ZXN0Q2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw0ICsy
Myw0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJh
Y2sgSWRsZVJlcXVlc3RDYWxsYmFjayA9IHZvaWQgKElkbGVEZWFkbGluZSBkZWFkbGluZSk7Citj
YWxsYmFjayBJZGxlUmVxdWVzdENhbGxiYWNrID0gdW5kZWZpbmVkIChJZGxlRGVhZGxpbmUgZGVh
ZGxpbmUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIGludGVyZmFjZSBLZXlib2FyZEV2ZW50IDogVUlFdmVu
dCB7CiAKICAgICAvLyBGSVhNRTogdGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgdmVyc2lvbiBpbiB0
aGUgRE9NIHNwZWMuCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQg
cGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgaW5pdEtleWJvYXJkRXZlbnQob3B0
aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5C
dWJibGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCisgICAg
dW5kZWZpbmVkIGluaXRLZXlib2FyZEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gInVu
ZGVmaW5lZCIsIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlID0gZmFsc2UsIG9wdGlvbmFsIGJv
b2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAogICAgICAgICBvcHRpb25hbCBXaW5kb3dQcm94eT8g
dmlldyA9IG51bGwsIG9wdGlvbmFsIERPTVN0cmluZyBrZXlJZGVudGlmaWVyID0gInVuZGVmaW5l
ZCIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbG9jYXRpb24gPSAwLAogICAgICAgICBvcHRpb25h
bCBib29sZWFuIGN0cmxLZXkgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBhbHRLZXkgPSBmYWxz
ZSwgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIG1l
dGFLZXkgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBhbHRHcmFwaEtleSA9IGZhbHNlKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDcgQEAgdHlwZWRlZiAoV2luZG93UHJveHkgb3IgTWVzc2FnZVBvcnQpIE1lcwog
ICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgZGF0YTsKICAgICBbQ3Vz
dG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8TWVzc2FnZVBvcnQ+IHBv
cnRzOwogCi0gICAgdm9pZCBpbml0TWVzc2FnZUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25h
bCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0g
ZmFsc2UsCisgICAgdW5kZWZpbmVkIGluaXRNZXNzYWdlRXZlbnQoRE9NU3RyaW5nIHR5cGUsIG9w
dGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFi
bGUgPSBmYWxzZSwKICAgICAgICAgb3B0aW9uYWwgYW55IGRhdGEgPSBudWxsLCBvcHRpb25hbCBV
U1ZTdHJpbmcgb3JpZ2luQXJnID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBsYXN0RXZlbnRJZCA9
ICIiLCBvcHRpb25hbCBNZXNzYWdlRXZlbnRTb3VyY2U/IHNvdXJjZSA9IG51bGwsCiAgICAgICAg
IG9wdGlvbmFsIHNlcXVlbmNlPE1lc3NhZ2VQb3J0PiBtZXNzYWdlUG9ydHMgPSBbXSk7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwx
MCArMzEsMTAgQEAKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGwsCiAgICAgSlNDdXN0b21N
YXJrRnVuY3Rpb24sCiBdIGludGVyZmFjZSBNZXNzYWdlUG9ydCA6IEV2ZW50VGFyZ2V0IHsKLSAg
ICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVz
c2FnZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKLSAgICB2b2lk
IHN0YXJ0KCk7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3Qs
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNl
cXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlv
bmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICB1bmRlZmluZWQgc3RhcnQoKTsK
KyAgICB1bmRlZmluZWQgY2xvc2UoKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25t
ZXNzYWdlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDUsNyArNDUsNyBAQAogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFz
IGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgogICAgIC8vIEZJWE1FOiByZWxhdGVk
VGFyZ2V0IHNob3VsZCBiZSBvZiB0eXBlIEV2ZW50VGFyZ2V0PyBidXQgd2UgbmVlZCB0byB1c2Ug
YW55IHRvIHN1cHBvcnQgYSBxdWlyayBmb3IgaUFkIFByb2R1Y2VyIChyZGFyOi8vcHJvYmxlbS8z
MDY0MDEwMSkuCi0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCZTY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBJbXBsZW1lbnRlZEFzPWluaXRNb3VzZUV2ZW50UXVpcmtdIHZvaWQgaW5pdE1vdXNlRXZl
bnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwKKyAgICBbQ2FsbFdpdGg9
R2xvYmFsT2JqZWN0JlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEltcGxlbWVudGVkQXM9aW5pdE1v
dXNlRXZlbnRRdWlya10gdW5kZWZpbmVkIGluaXRNb3VzZUV2ZW50KG9wdGlvbmFsIERPTVN0cmlu
ZyB0eXBlID0gInVuZGVmaW5lZCIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxl
ID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAogICAgICAgICBv
cHRpb25hbCBXaW5kb3dQcm94eT8gdmlldyA9IG51bGwsIG9wdGlvbmFsIGxvbmcgZGV0YWlsID0g
MCwKICAgICAgICAgb3B0aW9uYWwgbG9uZyBzY3JlZW5YID0gMCwgb3B0aW9uYWwgbG9uZyBzY3Jl
ZW5ZID0gMCwgb3B0aW9uYWwgbG9uZyBjbGllbnRYID0gMCwgb3B0aW9uYWwgbG9uZyBjbGllbnRZ
ID0gMCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogWwogICAgIENhbGxiYWNrVGhpc09iamVj
dD1NdXRhdGlvbk9ic2VydmVyLAogICAgIElzV2Vha0NhbGxiYWNrLAotXSBjYWxsYmFjayBNdXRh
dGlvbkNhbGxiYWNrID0gdm9pZCAoc2VxdWVuY2U8TXV0YXRpb25SZWNvcmQ+IG11dGF0aW9ucywg
TXV0YXRpb25PYnNlcnZlciBvYnNlcnZlcik7CitdIGNhbGxiYWNrIE11dGF0aW9uQ2FsbGJhY2sg
PSB1bmRlZmluZWQgKHNlcXVlbmNlPE11dGF0aW9uUmVjb3JkPiBtdXRhdGlvbnMsIE11dGF0aW9u
T2JzZXJ2ZXIgb2JzZXJ2ZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50Lmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIGludGVyZmFjZSBNdXRhdGlvbkV2
ZW50IDogRXZlbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhdHRy
Q2hhbmdlOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFy
YW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgaW5pdE11dGF0aW9uRXZlbnQob3B0aW9u
YWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJi
bGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCisgICAgdW5k
ZWZpbmVkIGluaXRNdXRhdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gInVuZGVm
aW5lZCIsIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xl
YW4gY2FuY2VsYWJsZSA9IGZhbHNlLAogICAgICAgICBvcHRpb25hbCBOb2RlPyByZWxhdGVkTm9k
ZSA9IG51bGwsIG9wdGlvbmFsIERPTVN0cmluZyBwcmV2VmFsdWUgPSAidW5kZWZpbmVkIiwgb3B0
aW9uYWwgRE9NU3RyaW5nIG5ld1ZhbHVlID0gInVuZGVmaW5lZCIsCiAgICAgICAgIG9wdGlvbmFs
IERPTVN0cmluZyBhdHRyTmFtZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBzaG9y
dCBhdHRyQ2hhbmdlID0gMCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9u
T2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9i
c2VydmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL011dGF0
aW9uT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBACiBdIGludGVy
ZmFjZSBNdXRhdGlvbk9ic2VydmVyIHsKICAgICBjb25zdHJ1Y3RvcihNdXRhdGlvbkNhbGxiYWNr
IGNhbGxiYWNrKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBvYnNlcnZlKE5vZGUg
dGFyZ2V0LCBvcHRpb25hbCBNdXRhdGlvbk9ic2VydmVySW5pdCBvcHRpb25zKTsKLSAgICB2b2lk
IGRpc2Nvbm5lY3QoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBvYnNlcnZl
KE5vZGUgdGFyZ2V0LCBvcHRpb25hbCBNdXRhdGlvbk9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAg
ICB1bmRlZmluZWQgZGlzY29ubmVjdCgpOwogICAgIFtSZXN1bHRGaWVsZD1yZWNvcmRzXSBzZXF1
ZW5jZTxNdXRhdGlvblJlY29yZD4gdGFrZVJlY29yZHMoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQAogCiAgICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBub2RlVmFsdWU7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nPyB0ZXh0Q29udGVudDsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgbm9ybWFsaXpl
KCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmluZWQgbm9ybWFsaXplKCk7CiAKICAgICBbQ0VS
ZWFjdGlvbnMsIEltcGxlbWVudGVkQXM9Y2xvbmVOb2RlRm9yQmluZGluZ3MsIE1heVRocm93RXhj
ZXB0aW9uLCBOZXdPYmplY3RdIE5vZGUgY2xvbmVOb2RlKG9wdGlvbmFsIGJvb2xlYW4gZGVlcCA9
IGZhbHNlKTsKICAgICBib29sZWFuIGlzRXF1YWxOb2RlKE5vZGU/IG90aGVyKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNSArMzIs
NSBAQAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTm9kZT8gbmV4dE5vZGUoKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIE5vZGU/IHByZXZpb3VzTm9kZSgpOwogCi0gICAgdm9pZCBkZXRhY2go
KTsKKyAgICB1bmRlZmluZWQgZGV0YWNoKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1BhcmVudE5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnRO
b2RlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5ICszMyw5IEBACiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEVsZW1lbnQ/IGxhc3RFbGVtZW50Q2hpbGQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgY2hpbGRFbGVtZW50Q291bnQ7CiAKLSAgICBbQ0VSZWFjdGlvbnMsIFVu
c2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHByZXBlbmQoKE5vZGUgb3IgRE9NU3Ry
aW5nKS4uLiBub2Rlcyk7Ci0gICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7Ci0gICAg
W0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNl
Q2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAgW0NFUmVhY3Rpb25z
LCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHByZXBlbmQoKE5vZGUg
b3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4u
IG5vZGVzKTsKKyAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgcmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMp
OwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBFbGVtZW50PyBxdWVyeVNlbGVjdG9yKERPTVN0
cmluZyBzZWxlY3RvcnMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBOb2Rl
TGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZyBzZWxlY3RvcnMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL1JhbmdlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
UmFuZ2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2Uu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNSArMzEsMTUgQEAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBjb2xsYXBzZWQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGUgY29t
bW9uQW5jZXN0b3JDb250YWluZXI7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
U3RhcnQoTm9kZSBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldEVuZChOb2RlIG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3RhcnRCZWZvcmUoTm9kZSBub2RlKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3RhcnRBZnRlcihOb2RlIG5vZGUpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbmRCZWZvcmUoTm9kZSBub2RlKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RW5kQWZ0ZXIoTm9kZSBub2RlKTsKLSAgICB2b2lk
IGNvbGxhcHNlKG9wdGlvbmFsIGJvb2xlYW4gdG9TdGFydCA9IGZhbHNlKTsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2VsZWN0Tm9kZShOb2RlIG5vZGUpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZWxlY3ROb2RlQ29udGVudHMoTm9kZSBub2RlKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTdGFydChOb2RlIG5vZGUsIHVuc2lnbmVkIGxvbmcg
b2Zmc2V0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFbmQoTm9kZSBu
b2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgc2V0U3RhcnRCZWZvcmUoTm9kZSBub2RlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRTdGFydEFmdGVyKE5vZGUgbm9kZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0RW5kQmVmb3JlKE5vZGUgbm9kZSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0RW5kQWZ0ZXIoTm9kZSBub2RlKTsKKyAgICB1bmRlZmluZWQg
Y29sbGFwc2Uob3B0aW9uYWwgYm9vbGVhbiB0b1N0YXJ0ID0gZmFsc2UpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbGVjdE5vZGUoTm9kZSBub2RlKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZWxlY3ROb2RlQ29udGVudHMoTm9kZSBub2RlKTsKIAog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNUQVJUX1RPX1NUQVJUID0gMDsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVEFSVF9UT19FTkQgPSAxOwpAQCAtNDcsMTQgKzQ3LDE0IEBACiAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgRU5EX1RPX1NUQVJUID0gMzsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb24sIEltcGxlbWVudGVkQXM9Y29tcGFyZUJvdW5kYXJ5UG9pbnRzRm9yQmluZGluZ3NdIHNo
b3J0IGNvbXBhcmVCb3VuZGFyeVBvaW50cyh1bnNpZ25lZCBzaG9ydCBob3csIFJhbmdlIHNvdXJj
ZVJhbmdlKTsKIAotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVs
ZXRlQ29udGVudHMoKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgZGVsZXRlQ29udGVudHMoKTsKICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0
aW9uLCBOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7CiAgICAg
W0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdt
ZW50IGNsb25lQ29udGVudHMoKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9u
XSB2b2lkIGluc2VydE5vZGUoTm9kZSBub2RlKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93
RXhjZXB0aW9uXSB2b2lkIHN1cnJvdW5kQ29udGVudHMoTm9kZSBuZXdQYXJlbnQpOworICAgIFtD
RVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnNlcnROb2RlKE5vZGUg
bm9kZSk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN1
cnJvdW5kQ29udGVudHMoTm9kZSBuZXdQYXJlbnQpOwogCiAgICAgW05ld09iamVjdF0gUmFuZ2Ug
Y2xvbmVSYW5nZSgpOwotICAgIHZvaWQgZGV0YWNoKCk7CisgICAgdW5kZWZpbmVkIGRldGFjaCgp
OwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGlzUG9pbnRJblJhbmdlKE5vZGUg
bm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2hv
cnQgY29tcGFyZVBvaW50KE5vZGUgbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwpAQCAtNzEs
NyArNzEsNyBAQAogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVj
dF0gRG9jdW1lbnRGcmFnbWVudCBjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoRE9NU3RyaW5nIGZy
YWdtZW50KTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZC4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgZXhwYW5kKG9wdGlvbmFsIERPTVN0cmluZyB1bml0ID0gIiIpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGV4cGFuZChvcHRpb25hbCBET01TdHJpbmcgdW5pdCA9ICIi
KTsKIAogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbGlrZWx5IGRyb3AgdGhpcyBzaW5jZSBubyBv
dGhlciBicm93c2VyIHN1cHBvcnRzIGl0LgogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2hvcnQg
Y29tcGFyZU5vZGUoTm9kZSBub2RlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9SZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNCArMzEsNCBAQAogLy8gaGlnaFJlc1RpbWUgaXMgcGFzc2Vk
IGFzIGhpZ2ggcmVzb2x1dGlvbiB0aW1lc3RhbXAsIHNlZQogLy8gaHR0cDovL3d3dy53My5vcmcv
VFIvaHItdGltZS8gZm9yIGRldGFpbHMuCiAKLWNhbGxiYWNrIFJlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrID0gdm9pZCAodW5yZXN0cmljdGVkIGRvdWJsZSBoaWdoUmVzVGltZSk7CitjYWxs
YmFjayBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayA9IHVuZGVmaW5lZCAodW5yZXN0cmlj
dGVkIGRvdWJsZSBoaWdoUmVzVGltZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RyaW5n
Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdHJpbmdDYWxs
YmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdHJpbmdD
YWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAKIAogWwogICAgIEV4
cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCi1dIGNhbGxiYWNrIFN0cmluZ0NhbGxiYWNrID0gdm9p
ZCAoRE9NU3RyaW5nIGRhdGEpOworXSBjYWxsYmFjayBTdHJpbmdDYWxsYmFjayA9IHVuZGVmaW5l
ZCAoRE9NU3RyaW5nIGRhdGEpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGludGVyZmFjZSBUZXh0RXZlbnQgOiBVSUV2ZW50IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRhdGE7CiAKICAgICAvLyBGSVhNRTog
VXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0g
ICAgdm9pZCBpbml0VGV4dEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVm
aW5lZCIsCisgICAgdW5kZWZpbmVkIGluaXRUZXh0RXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5
cGVBcmcgPSAidW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9v
bGVhbiBjYW5CdWJibGVBcmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u
YWwgYm9vbGVhbiBjYW5jZWxhYmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3QXJnID0gbnVsbCwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9Ub3VjaEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
VG91Y2hFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9U
b3VjaEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIG1ldGFLZXk7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVu
ZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBp
bml0VG91Y2hFdmVudChvcHRpb25hbCBUb3VjaExpc3Q/IHRvdWNoZXMgPSBudWxsLAorICAgIHVu
ZGVmaW5lZCBpbml0VG91Y2hFdmVudChvcHRpb25hbCBUb3VjaExpc3Q/IHRvdWNoZXMgPSBudWxs
LAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgVG91Y2hMaXN0PyB0YXJnZXRUb3Vj
aGVzID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFRvdWNoTGlzdD8g
Y2hhbmdlZFRvdWNoZXMgPSBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
RE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9V
SUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQCBpbnRlcmZhY2UgVUlFdmVudCA6IEV2ZW50IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBkZXRhaWw7CiAgICAgCiAgICAgLy8gRklYTUU6
IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgot
ICAgIHZvaWQgaW5pdFVJRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVk
Iiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBj
YW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3ID0gbnVsbCwgb3B0
aW9uYWwgbG9uZyBkZXRhaWwgPSAwKTsKKyAgICB1bmRlZmluZWQgaW5pdFVJRXZlbnQob3B0aW9u
YWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJi
bGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFs
IFdpbmRvd1Byb3h5PyB2aWV3ID0gbnVsbCwgb3B0aW9uYWwgbG9uZyBkZXRhaWwgPSAwKTsKIAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxheWVyWDsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyBsYXllclk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDcgKzM5LDcgQEAgaW50ZXJmYWNlIFdoZWVsRXZlbnQgOiBNb3VzZUV2ZW50
IHsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdERpcmVjdGlvbkludmVy
dGVkRnJvbURldmljZTsKIAotICAgIHZvaWQgaW5pdFdlYktpdFdoZWVsRXZlbnQob3B0aW9uYWwg
bG9uZyB3aGVlbERlbHRhWCA9IDAsIG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVkgPSAwLCBvcHRp
b25hbCBXaW5kb3dQcm94eT8gdmlldyA9IG51bGwsCisgICAgdW5kZWZpbmVkIGluaXRXZWJLaXRX
aGVlbEV2ZW50KG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVggPSAwLCBvcHRpb25hbCBsb25nIHdo
ZWVsRGVsdGFZID0gMCwgb3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXcgPSBudWxsLAogICAgICAg
ICBvcHRpb25hbCBsb25nIHNjcmVlblggPSAwLCBvcHRpb25hbCBsb25nIHNjcmVlblkgPSAwLCBv
cHRpb25hbCBsb25nIGNsaWVudFggPSAwLCBvcHRpb25hbCBsb25nIGNsaWVudFkgPSAwLAogICAg
ICAgICBvcHRpb25hbCBib29sZWFuIGN0cmxLZXkgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBh
bHRLZXkgPSBmYWxzZSwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSA9IGZhbHNl
LCBvcHRpb25hbCBib29sZWFuIG1ldGFLZXkgPSBmYWxzZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0Jsb2JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9CbG9iQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0Jsb2JDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDQgKzIz
LDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1jYWxsYmFj
ayBCbG9iQ2FsbGJhY2sgPSB2b2lkIChCbG9iPyBibG9iKTsKK2NhbGxiYWNrIEJsb2JDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoQmxvYj8gYmxvYik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVSZWFkZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVJlYWRlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDEyICs0MywxMiBAQAogCiAgICAg
Ly8gRklYTUU6IEluIGFsbCBmb3VyIG1ldGhvZHMgZm91bmQgYmVsb3csIHRoZSBibG9iIHBhcmFt
ZXRlciBzaG91bGQgbm90IGJlIG51bGxhYmxlLgogICAgIC8vIGFzeW5jIHJlYWQgbWV0aG9kcwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNBcnJheUJ1ZmZlcihCbG9iPyBibG9i
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVhZEFzQmluYXJ5U3RyaW5nKEJsb2I/
IGJsb2IpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNUZXh0KEJsb2I/IGJs
b2IsIG9wdGlvbmFsIERPTVN0cmluZyBlbmNvZGluZyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHJlYWRBc0RhdGFVUkwoQmxvYj8gYmxvYik7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgcmVhZEFzQXJyYXlCdWZmZXIoQmxvYj8gYmxvYik7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVhZEFzQmluYXJ5U3RyaW5nKEJsb2I/IGJsb2IpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlYWRBc1RleHQoQmxvYj8gYmxvYiwgb3B0
aW9uYWwgRE9NU3RyaW5nIGVuY29kaW5nKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCByZWFkQXNEYXRhVVJMKEJsb2I/IGJsb2IpOwogCi0gICAgdm9pZCBhYm9ydCgpOworICAg
IHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIChET01TdHJpbmcg
b3IgQXJyYXlCdWZmZXIpPyByZXN1bHQ7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
Rm9ybURhdGEuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURh
dGEuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1E
YXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTQgKzM5LDE0IEBAIHR5cGVkZWYgKEZpbGUg
b3IgVVNWU3RyaW5nKSBGb3JtRGF0YUVudHIKIF0gaW50ZXJmYWNlIERPTUZvcm1EYXRhIHsKICAg
ICBjb25zdHJ1Y3RvcihvcHRpb25hbCBIVE1MRm9ybUVsZW1lbnQ/IGZvcm0pOwogCi0gICAgdm9p
ZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2YWx1ZSk7Ci0gICAgdm9pZCBhcHBl
bmQoVVNWU3RyaW5nIG5hbWUsIEJsb2IgYmxvYlZhbHVlLCBvcHRpb25hbCBVU1ZTdHJpbmcgZmls
ZW5hbWUpOwotICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gdm9pZCBkZWxldGUoVVNWU3RyaW5n
IG5hbWUpOworICAgIHVuZGVmaW5lZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgQmxvYiBibG9iVmFs
dWUsIG9wdGlvbmFsIFVTVlN0cmluZyBmaWxlbmFtZSk7CisgICAgW0ltcGxlbWVudGVkQXM9cmVt
b3ZlXSB1bmRlZmluZWQgZGVsZXRlKFVTVlN0cmluZyBuYW1lKTsKICAgICBGb3JtRGF0YUVudHJ5
VmFsdWU/IGdldChVU1ZTdHJpbmcgbmFtZSk7CiAgICAgc2VxdWVuY2U8Rm9ybURhdGFFbnRyeVZh
bHVlPiBnZXRBbGwoVVNWU3RyaW5nIG5hbWUpOwogICAgIGJvb2xlYW4gaGFzKFVTVlN0cmluZyBu
YW1lKTsKLSAgICB2b2lkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKLSAg
ICB2b2lkIHNldChVU1ZTdHJpbmcgbmFtZSwgQmxvYiBibG9iVmFsdWUsIG9wdGlvbmFsIFVTVlN0
cmluZyBmaWxlbmFtZSk7CisgICAgdW5kZWZpbmVkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3Ry
aW5nIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0KFVTVlN0cmluZyBuYW1lLCBCbG9iIGJsb2JW
YWx1ZSwgb3B0aW9uYWwgVVNWU3RyaW5nIGZpbGVuYW1lKTsKIAogICAgIGl0ZXJhYmxlPFVTVlN0
cmluZywgRm9ybURhdGFFbnRyeVZhbHVlPjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0RPTVRva2VuTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDggQEAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVyIERPTVN0cmlu
Zz8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBib29sZWFuIGNvbnRhaW5zKERPTVN0
cmluZyB0b2tlbik7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBh
ZGQoRE9NU3RyaW5nLi4uIHRva2Vucyk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCByZW1vdmUoRE9NU3RyaW5nLi4uIHRva2Vucyk7CisgICAgW0NFUmVhY3Rpb25z
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkZChET01TdHJpbmcuLi4gdG9rZW5zKTsK
KyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVtb3ZlKERP
TVN0cmluZy4uLiB0b2tlbnMpOwogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25d
IGJvb2xlYW4gdG9nZ2xlKERPTVN0cmluZyB0b2tlbiwgb3B0aW9uYWwgYm9vbGVhbiBmb3JjZSk7
CiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiByZXBsYWNlKERP
TVN0cmluZyB0b2tlbiwgRE9NU3RyaW5nIG5ld1Rva2VuKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIGJvb2xlYW4gc3VwcG9ydHMoRE9NU3RyaW5nIHRva2VuKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NVVJMLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVVSTC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJM
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTIsNSArNTIsNSBAQAogCiAgICAgLy8gaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL0ZpbGVBUEkvI2NyZWF0aW5nLXJldm9raW5nLgogICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChC
bG9iIGJsb2IpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMg
dm9pZCByZXZva2VPYmplY3RVUkwoRE9NU3RyaW5nIHVybCk7CisgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyB1bmRlZmluZWQgcmV2b2tlT2JqZWN0VVJMKERPTVN0
cmluZyB1cmwpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBpbnRlcmZhY2Ug
SFRNTEJ1dHRvbkVsZW1lbnQgOiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsK
ICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFu
IHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcg
ZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3Ip
OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDcgKzUwLDcgQEAgdHlwZWRlZiAoCiAgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIFJlbmRlcmluZ0NvbnRleHQ/IGdldENvbnRleHQoRE9N
U3RyaW5nIGNvbnRleHRJZCwgYW55Li4uIGFyZ3VtZW50cyk7CiAKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIERPTVN0cmluZyB0b0RhdGFVUkwob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsIG9wdGlv
bmFsIGFueSBxdWFsaXR5KTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdG9CbG9iKEJsb2JDYWxsYmFjayBjYWxsYmFjaywgb3B0
aW9uYWwgRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5KTsKKyAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB0
b0Jsb2IoQmxvYkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBET01TdHJpbmcgdHlwZSwgb3B0
aW9uYWwgYW55IHF1YWxpdHkpOwogICAgIFtDb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTLCBD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gT2Zmc2Ny
ZWVuQ2FudmFzIHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CiAKICAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLCBDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb24sIE5l
d09iamVjdF0gTWVkaWFTdHJlYW0gY2FwdHVyZVN0cmVhbShvcHRpb25hbCBkb3VibGUgZnJhbWVS
ZXF1ZXN0UmF0ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIF0gaW50ZXJmYWNl
IEhUTUxEaWFsb2dFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtDRVJlYWN0aW9ucywgUmVm
bGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gb3BlbjsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJl
dHVyblZhbHVlOwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBzaG93KCk7Ci0gICAgW0NFUmVhY3Rp
b25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzaG93TW9kYWwoKTsKLSAgICBbQ0VSZWFjdGlv
bnNdIHZvaWQgY2xvc2Uob3B0aW9uYWwgRE9NU3RyaW5nIHJldHVyblZhbHVlKTsKKyAgICBbQ0VS
ZWFjdGlvbnNdIHVuZGVmaW5lZCBzaG93KCk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNob3dNb2RhbCgpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZp
bmVkIGNsb3NlKG9wdGlvbmFsIERPTVN0cmluZyByZXR1cm5WYWx1ZSk7CiB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMs
MTMgQEAKIAogICAgIC8vIFVzZXIgaW50ZXJhY3Rpb24uCiAgICAgW0NFUmVhY3Rpb25zLCBSZWZs
ZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBoaWRkZW47Ci0gICAgdm9pZCBjbGljaygpOworICAgIHVu
ZGVmaW5lZCBjbGljaygpOwogICAgIFtDRVJlYWN0aW9ucywgUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyBhY2Nlc3NLZXk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhY2Nl
c3NLZXlMYWJlbDsKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBib29sZWFuIGRyYWdnYWJs
ZTsKICAgICAvLyBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBIVE1MTWVudUVsZW1lbnQ/IGNvbnRl
eHRNZW51OyAvLyBGSVhNRTogTm90IHN1cHBvcnRlZC4KICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBib29sZWFuIHNwZWxsY2hlY2s7Ci0gICAgLy8gdm9pZCBmb3JjZVNwZWxsQ2hlY2soKTsg
Ly8gRklYTUU6IE5vdCBzdXBwb3J0ZWQuCisgICAgLy8gdW5kZWZpbmVkIGZvcmNlU3BlbGxDaGVj
aygpOyAvLyBGSVhNRTogTm90IHN1cHBvcnRlZC4KIAogICAgIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGlubmVyVGV4dDsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw1ICszMSw1IEBAIGludGVyZmFjZSBIVE1MRmllbGRTZXRF
bGVtZW50IDogSFRNTEVsZW0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAg
IHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHkoKTsKICAgICBb
RW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29sZWFuIHJlcG9y
dFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3Ip
OworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJyb3IpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsOCArMzgsOCBAQAogICAgIGdldHRlciBFbGVtZW50PyAodW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgZ2V0dGVyIChSYWRpb05vZGVMaXN0IG9yIEVsZW1lbnQpPyAoRE9N
U3RyaW5nIG5hbWUpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VibWl0RnJvbUphdmFTY3JpcHRd
IHZvaWQgc3VibWl0KCk7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gdm9pZCByZXNldCgp
OworICAgIFtJbXBsZW1lbnRlZEFzPXN1Ym1pdEZyb21KYXZhU2NyaXB0XSB1bmRlZmluZWQgc3Vi
bWl0KCk7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gdW5kZWZpbmVkIHJlc2V0KCk7CiAg
ICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNTUsNiArNTUsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHg7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgeTsKIAotICAgIFByb21pc2U8dm9pZD4gZGVjb2Rl
KCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGRlY29kZSgpOwogfTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC02Myw4ICs2Myw4IEBACiAgICAgYXR0cmlidXRlIERhdGU/IHZhbHVlQXNEYXRlOwogICAgIGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHZhbHVlQXNOdW1iZXI7CiAKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc3RlcFVwKG9wdGlvbmFsIGxvbmcgbiA9IDEpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzdGVwRG93bihvcHRpb25hbCBsb25nIG4gPSAxKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzdGVwVXAob3B0aW9uYWwgbG9uZyBuID0gMSk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3RlcERvd24ob3B0aW9uYWwgbG9u
ZyBuID0gMSk7CiAKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyB3aWR0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRh
dGU7CkBAIC03MiwxOSArNzIsMTkgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwogICAgIFtF
bmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0
VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7
CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwogCi0gICAgdm9pZCBzZWxlY3Qo
KTsKKyAgICB1bmRlZmluZWQgc2VsZWN0KCk7CiAgICAgW0ltcGxlbWVudGVkQXM9c2VsZWN0aW9u
U3RhcnRGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uU3RhcnQ7CiAgICAgW0lt
cGxlbWVudGVkQXM9c2VsZWN0aW9uRW5kRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSBsb25nIHNlbGVj
dGlvbkVuZDsKICAgICBbSW1wbGVtZW50ZWRBcz1zZWxlY3Rpb25EaXJlY3Rpb25Gb3JCaW5kaW5n
c10gYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3Rpb25EaXJlY3Rpb247CiAKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFJhbmdlVGV4dChET01TdHJpbmcgcmVwbGFj
ZW1lbnQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBvcHRpb25hbCBE
T01TdHJpbmcgc2VsZWN0aW9uTW9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCwgdW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBz
ZWxlY3Rpb25Nb2RlKTsKIAotICAgIFtJbXBsZW1lbnRlZEFzPXNldFNlbGVjdGlvblJhbmdlRm9y
QmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGxvbmcg
c3RhcnQsIGxvbmcgZW5kLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsKKyAgICBbSW1w
bGVtZW50ZWRBcz1zZXRTZWxlY3Rpb25SYW5nZUZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFNlbGVjdGlvblJhbmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kLCBvcHRp
b25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsKIAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQs
IFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ247CiAgICAgW0NFUmVhY3Rpb25zPU5v
dE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB1c2VNYXA7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0LDcgKzQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxLZXlnZW5FbGVtZW50IDogSFRNTEVs
ZW1lbgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7
CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50
ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZv
aWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0
Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBOb2RlTGlzdCBsYWJlbHM7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFy
cXVlZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1h
cnF1ZWVFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw4ICsyMCw4IEBA
CiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogXSBpbnRlcmZhY2UgSFRNTE1hcnF1ZWVFbGVtZW50
IDogSFRNTEVsZW1lbnQgewotICAgIHZvaWQgc3RhcnQoKTsKLSAgICB2b2lkIHN0b3AoKTsKKyAg
ICB1bmRlZmluZWQgc3RhcnQoKTsKKyAgICB1bmRlZmluZWQgc3RvcCgpOwogICAgIAogICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYmVoYXZp
b3I7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0
cmluZyBiZ0NvbG9yOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIHR5cGVkZWYgKAogICAg
IFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcHJlbG9hZDsKIAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIGJ1ZmZlcmVkOwotICAgIHZvaWQgbG9h
ZCgpOworICAgIHVuZGVmaW5lZCBsb2FkKCk7CiAKICAgICBET01TdHJpbmcgY2FuUGxheVR5cGUo
RE9NU3RyaW5nIHR5cGUpOwogCkBAIC04Miw5ICs4Miw5IEBAIHR5cGVkZWYgKAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGVuZGVkOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQs
IFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9wbGF5OwogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGxvb3A7Ci0gICAgUHJvbWlzZTx2
b2lkPiBwbGF5KCk7Ci0gICAgdm9pZCBwYXVzZSgpOwotICAgIHZvaWQgZmFzdFNlZWsodW5yZXN0
cmljdGVkIGRvdWJsZSB0aW1lKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcGxheSgpOworICAg
IHVuZGVmaW5lZCBwYXVzZSgpOworICAgIHVuZGVmaW5lZCBmYXN0U2Vlayh1bnJlc3RyaWN0ZWQg
ZG91YmxlIHRpbWUpOwogCiAgICAgLy8gY29udHJvbHMKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVl
ZGVkXSBhdHRyaWJ1dGUgYm9vbGVhbiBjb250cm9sczsKQEAgLTEwMywxMSArMTAzLDExIEBAIHR5
cGVkZWYgKAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7CiAKICAgICBb
Q29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1MZWdh
Y3lFbmNyeXB0ZWRNZWRpYUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3
ZWJraXRLZXlzOwotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBLCBFbmFi
bGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB2b2lkIHdlYmtpdFNldE1lZGlh
S2V5cyhXZWJLaXRNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FD
WV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlwdGVkTWVkaWFB
UEldIHVuZGVmaW5lZCB3ZWJraXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRpYUtl
eXMpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9
RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRp
YUFQSVN1cHBvcnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOwogICAg
IFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVk
TWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBv
cnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmNyeXB0ZWQ7CiAgICAgW0NvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlz
YWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbndhaXRpbmdmb3JrZXk7Ci0gICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRF
RF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlzYWJsZWRCeVF1
aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx2b2lkPiBzZXRN
ZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlR
dWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIFByb21pc2U8dW5kZWZpbmVk
PiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwogCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBUZXh0VHJhY2sgYWRkVGV4dFRyYWNrKERPTVN0cmluZyBraW5kLCBvcHRpb25hbCBE
T01TdHJpbmcgbGFiZWwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhbmd1YWdlID0gIiIpOwog
ICAgIFtJbXBsZW1lbnRlZEFzPWVuc3VyZUF1ZGlvVHJhY2tzXSByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9UcmFja0xpc3QgYXVkaW9UcmFja3M7CkBAIC0xMjAsNiArMTIwLDYgQEAgdHlwZWRlZiAo
CiAKICAgICBWaWRlb1BsYXliYWNrUXVhbGl0eSBnZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpOwog
Ci0gICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gdm9pZCB3ZWJraXRT
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKKyAgICBbQ29uZGl0aW9uYWw9V0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUXSB1bmRlZmluZWQgd2Via2l0U2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCk7
CiAgICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gd2Via2l0Q3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzczsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwogICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xl
YW4gcmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmlu
ZyBlcnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJv
cik7CiAKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1
bWVudCBjb250ZW50RG9jdW1lbnQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5
IGNvbnRlbnRXaW5kb3c7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkg
QEAKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBIVE1MT3B0aW9u
c0NvbGxlY3Rpb24gOiBIVE1MQ29sbGVjdGlvbiB7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgW0NFUmVhY3Rpb25zXSBzZXR0ZXIgdm9pZCAo
dW5zaWduZWQgbG9uZyBpbmRleCwgSFRNTE9wdGlvbkVsZW1lbnQ/IG9wdGlvbik7Ci0gICAgW0NF
UmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGQoKEhUTUxPcHRpb25FbGVtZW50
IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxlbWVudCBv
ciBsb25nKT8gYmVmb3JlID0gbnVsbCk7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIHJlbW92ZShs
b25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlvbnNdIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIEhUTUxPcHRpb25FbGVtZW50PyBvcHRpb24pOworICAgIFtDRVJlYWN0aW9u
cywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZGQoKEhUTUxPcHRpb25FbGVtZW50IG9y
IEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxlbWVudCBvciBs
b25nKT8gYmVmb3JlID0gbnVsbCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmluZWQgcmVtb3Zl
KGxvbmcgaW5kZXgpOwogCiAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0ZWRJbmRleDsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9yRm9yZWlnbkVsZW1lbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw2IEBACiBdIGludGVyZmFjZSBIVE1MT3JG
b3JlaWduRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ01hcCBkYXRh
c2V0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KICAgICBbQ0VSZWFjdGlvbnMs
IEltcGxlbWVudGVkQXM9dGFiSW5kZXhGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgdGFiSW5k
ZXg7Ci0gICAgdm9pZCBmb2N1cygpOwotICAgIHZvaWQgYmx1cigpOworICAgIHVuZGVmaW5lZCBm
b2N1cygpOworICAgIHVuZGVmaW5lZCBibHVyKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3
ICszNyw3IEBAIGludGVyZmFjZSBIVE1MT3V0cHV0RWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xl
YW4gY2hlY2tWYWxpZGl0eSgpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3Rv
bVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlk
aXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3Qg
bGFiZWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTAgKzM3LDEwIEBACiAgICAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVyIEhUTUxP
cHRpb25FbGVtZW50PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOyAvLyBGSVhNRTogVGhlIHNw
ZWMgaGFzIHRoaXMgcmV0dXJuaW5nIEVsZW1lbnQ/LgogICAgIEhUTUxPcHRpb25FbGVtZW50PyBu
YW1lZEl0ZW0oW1JlcXVpcmVzRXhpc3RpbmdBdG9tU3RyaW5nXSBET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGQoKEhUTUxPcHRpb25F
bGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxl
bWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCByZW1vdmUoKTsgLy8gQ2hpbGROb2RlIG92ZXJsb2FkCi0gICAgW0NF
UmVhY3Rpb25zXSB2b2lkIHJlbW92ZShsb25nIGluZGV4KTsKLSAgICBbQ0VSZWFjdGlvbnNdIHNl
dHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBIVE1MT3B0aW9uRWxlbWVudD8gb3B0aW9u
KTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWRkKChI
VE1MT3B0aW9uRWxlbWVudCBvciBIVE1MT3B0R3JvdXBFbGVtZW50KSBlbGVtZW50LCBvcHRpb25h
bCAoSFRNTEVsZW1lbnQgb3IgbG9uZyk/IGJlZm9yZSA9IG51bGwpOworICAgIFtDRVJlYWN0aW9u
cywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmUoKTsgLy8gQ2hpbGROb2RlIG92
ZXJsb2FkCisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmluZWQgcmVtb3ZlKGxvbmcgaW5kZXgpOwor
ICAgIFtDRVJlYWN0aW9uc10gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwg
SFRNTE9wdGlvbkVsZW1lbnQ/IG9wdGlvbik7CiAKICAgICAvKiBbU2FtZU9iamVjdF0gKi8gcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIHNlbGVjdGVkT3B0aW9uczsKICAgICBhdHRy
aWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4OwpAQCAtNTEsNyArNTEsNyBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVj
a1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRp
dHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9N
U3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsCShyZXZp
c2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMyArMzgsMTMgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUVs
ZW1lbnQgOiBIVE1MRWxlbWVudAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgd2lkdGg7CiAKICAgICBIVE1MRWxlbWVudCBjcmVhdGVUSGVh
ZCgpOwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBkZWxldGVUSGVhZCgpOworICAgIFtDRVJlYWN0
aW9uc10gdW5kZWZpbmVkIGRlbGV0ZVRIZWFkKCk7CiAgICAgSFRNTEVsZW1lbnQgY3JlYXRlVEZv
b3QoKTsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlVEZvb3QoKTsKKyAgICBbQ0VSZWFj
dGlvbnNdIHVuZGVmaW5lZCBkZWxldGVURm9vdCgpOwogICAgIEhUTUxFbGVtZW50IGNyZWF0ZVRC
b2R5KCk7CiAgICAgSFRNTEVsZW1lbnQgY3JlYXRlQ2FwdGlvbigpOwotICAgIFtDRVJlYWN0aW9u
c10gdm9pZCBkZWxldGVDYXB0aW9uKCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmluZWQgZGVs
ZXRlQ2FwdGlvbigpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBIVE1MRWxlbWVudCBpbnNl
cnRSb3cob3B0aW9uYWwgbG9uZyBpbmRleCA9IC0xKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRo
cm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQCBpbnRlcmZhY2UgSFRNTFRh
YmxlUm93RWxlbWVudCA6IEhUTUxFbGVtCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVm
bGVjdD1jaGFyb2ZmXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoT2ZmOwogICAgIFtDRVJlYWN0aW9u
cz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gSFRNTEVsZW1lbnQgaW5zZXJ0Q2VsbChvcHRpb25hbCBsb25nIGlu
ZGV4ID0gLTEpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVs
ZXRlQ2VsbChsb25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgZGVsZXRlQ2VsbChsb25nIGluZGV4KTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVl
ZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZBbGlnbjsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gcm93czsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIEhU
TUxFbGVtZW50IGluc2VydFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwotICAgIFtDRVJl
YWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwor
ICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxldGVSb3co
bG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxOSArNDQsMTkgQEAg
aW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1Zh
bGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
RE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3Ry
aW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiAK
LSAgICB2b2lkIHNlbGVjdCgpOworICAgIHVuZGVmaW5lZCBzZWxlY3QoKTsKICAgICBhdHRyaWJ1
dGUgbG9uZyBzZWxlY3Rpb25TdGFydDsKICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25FbmQ7
CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3Rpb25EaXJlY3Rpb247CiAKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFJhbmdlVGV4dChET01TdHJpbmcgcmVw
bGFjZW1lbnQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBvcHRpb25h
bCBET01TdHJpbmcgc2VsZWN0aW9uTW9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCwg
dW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmlu
ZyBzZWxlY3Rpb25Nb2RlKTsKIAotICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2Uob3B0aW9uYWwg
bG9uZyBzdGFydCA9IDAsIG9wdGlvbmFsIGxvbmcgZW5kID0gMCwgb3B0aW9uYWwgRE9NU3RyaW5n
IGRpcmVjdGlvbik7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGlvblJhbmdlKG9wdGlvbmFsIGxv
bmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGVuZCA9IDAsIG9wdGlvbmFsIERPTVN0cmluZyBk
aXJlY3Rpb24pOwogCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmlidXRlIERPTVN0
cmluZyBhdXRvY29tcGxldGU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlk
ZW9FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRl
b0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMyArMzgsMTMgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRTdXBwb3J0c0Z1bGxzY3JlZW47CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW47
CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2Via2l0RW50ZXJGdWxsc2NyZWVuKCk7
Ci0gICAgdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHdlYmtpdEVudGVyRnVsbHNjcmVlbigpOworICAgIHVuZGVmaW5lZCB3ZWJr
aXRFeGl0RnVsbHNjcmVlbigpOwogCiAgICAgLy8gTWFpbnRhaW4gIkZ1bGxTY3JlZW4iIGNhcGl0
YWxpemF0aW9uIHNjaGVtZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCiAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MDgxCi0gICAgW0ltcGxlbWVu
dGVkQXM9d2Via2l0RW50ZXJGdWxsc2NyZWVuLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB3ZWJr
aXRFbnRlckZ1bGxTY3JlZW4oKTsKLSAgICBbSW1wbGVtZW50ZWRBcz13ZWJraXRFeGl0RnVsbHNj
cmVlbl0gdm9pZCB3ZWJraXRFeGl0RnVsbFNjcmVlbigpOworICAgIFtJbXBsZW1lbnRlZEFzPXdl
YmtpdEVudGVyRnVsbHNjcmVlbiwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB3ZWJraXRF
bnRlckZ1bGxTY3JlZW4oKTsKKyAgICBbSW1wbGVtZW50ZWRBcz13ZWJraXRFeGl0RnVsbHNjcmVl
bl0gdW5kZWZpbmVkIHdlYmtpdEV4aXRGdWxsU2NyZWVuKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKIApAQCAtNTYsNyArNTYsNyBAQAogCiAgICAgW0NvbmRp
dGlvbmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSBib29sZWFuIHdlYmtpdFN1cHBvcnRzUHJl
c2VudGF0aW9uTW9kZShWaWRlb1ByZXNlbnRhdGlvbk1vZGUgbW9kZSk7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSByZWFkb25seSBhdHRyaWJ1dGUgVmlkZW9QcmVz
ZW50YXRpb25Nb2RlIHdlYmtpdFByZXNlbnRhdGlvbk1vZGU7Ci0gICAgW0NvbmRpdGlvbmFsPVZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFXSB2b2lkIHdlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUoVmlk
ZW9QcmVzZW50YXRpb25Nb2RlIG1vZGUpOworICAgIFtDb25kaXRpb25hbD1WSURFT19QUkVTRU5U
QVRJT05fTU9ERV0gdW5kZWZpbmVkIHdlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUoVmlkZW9QcmVz
ZW50YXRpb25Nb2RlIG1vZGUpOwogfTsKIAogW0NvbmRpdGlvbmFsPVZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFXSBlbnVtIFZpZGVvUHJlc2VudGF0aW9uTW9kZSB7ICJpbmxpbmUiLCAiZnVsbHNjcmVl
biIsICJwaWN0dXJlLWluLXBpY3R1cmUiIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0lt
YWdlQml0bWFwLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0
bWFwLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJp
dG1hcC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAKIF0gaW50ZXJmYWNlIElt
YWdlQml0bWFwIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci0gICAgdm9pZCBj
bG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICsz
Nyw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIHBsYXllZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHBsYXliYWNrU3RhdGU7Ci0gICAgdm9pZCBwbGF5KCk7Ci0gICAgdm9pZCBwYXVz
ZSgpOwotICAgIHZvaWQgdW5wYXVzZSgpOworICAgIHVuZGVmaW5lZCBwbGF5KCk7CisgICAgdW5k
ZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHVucGF1c2UoKTsKIAogICAgIGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGRlZmF1bHRQbGF5YmFja1JhdGU7CiAgICAgYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBkb3VibGUgcGxheWJhY2tSYXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNCArMjks
MTQgQEAKIF0gaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyB7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoc2VxdWVuY2U8c2VxdWVuY2U8VVNWU3RyaW5nPj4g
b3IgcmVjb3JkPFVTVlN0cmluZywgVVNWU3RyaW5nPiBvciBVU1ZTdHJpbmcpIGluaXQgPSAiIik7
CiAKLSAgICB2b2lkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKLSAg
ICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVdIHZvaWQgZGVsZXRlKFVTVlN0cmluZyBuYW1lKTsKKyAg
ICB1bmRlZmluZWQgYXBwZW5kKFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJpbmcgdmFsdWUpOworICAg
IFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gdW5kZWZpbmVkIGRlbGV0ZShVU1ZTdHJpbmcgbmFtZSk7
CiAgICAgVVNWU3RyaW5nPyBnZXQoVVNWU3RyaW5nIG5hbWUpOwogICAgIHNlcXVlbmNlPFVTVlN0
cmluZz4gZ2V0QWxsKFVTVlN0cmluZyBuYW1lKTsKICAgICBib29sZWFuIGhhcyhVU1ZTdHJpbmcg
bmFtZSk7Ci0gICAgdm9pZCBzZXQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2YWx1ZSk7Cisg
ICAgdW5kZWZpbmVkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKIAotICAg
IHZvaWQgc29ydCgpOworICAgIHVuZGVmaW5lZCBzb3J0KCk7CiAKICAgICBpdGVyYWJsZTxVU1ZT
dHJpbmcsIFVTVlN0cmluZz47CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVm9pZENhbGxi
YWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1ZvaWRDYWxsYmFjay5p
ZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNr
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQAogCiBbCiAgICAgRXhwb3J0TWFj
cm89V0VCQ09SRV9FWFBPUlQKLV0gY2FsbGJhY2sgVm9pZENhbGxiYWNrID0gdm9pZCAoKTsKK10g
Y2FsbGJhY2sgVm9pZENhbGxiYWNrID0gdW5kZWZpbmVkICgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQU5HTEVJbnN0YW5jZWRBcnJheXMuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FOR0xFSW5zdGFuY2VkQXJyYXlzLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQU5HTEVJbnN0YW5jZWRB
cnJheXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiBdIGludGVyZmFjZSBB
TkdMRUluc3RhbmNlZEFycmF5cyB7CiAgICAgY29uc3QgR0xlbnVtIFZFUlRFWF9BVFRSSUJfQVJS
QVlfRElWSVNPUl9BTkdMRSA9IDB4ODhGRTsKIAotICAgIHZvaWQgZHJhd0FycmF5c0luc3RhbmNl
ZEFOR0xFKHVuc2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBmaXJzdCwgbG9uZyBjb3VudCwgbG9uZyBw
cmltY291bnQpOwotICAgIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUodW5zaWduZWQg
bG9uZyBtb2RlLCBsb25nIGNvdW50LCB1bnNpZ25lZCBsb25nIHR5cGUsIGxvbmcgbG9uZyBvZmZz
ZXQsIGxvbmcgcHJpbWNvdW50KTsKLSAgICB2b2lkIHZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSh1
bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGRpdmlzb3IpOworICAgIHVuZGVmaW5l
ZCBkcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUodW5zaWduZWQgbG9uZyBtb2RlLCBsb25nIGZpcnN0
LCBsb25nIGNvdW50LCBsb25nIHByaW1jb3VudCk7CisgICAgdW5kZWZpbmVkIGRyYXdFbGVtZW50
c0luc3RhbmNlZEFOR0xFKHVuc2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBjb3VudCwgdW5zaWduZWQg
bG9uZyB0eXBlLCBsb25nIGxvbmcgb2Zmc2V0LCBsb25nIHByaW1jb3VudCk7CisgICAgdW5kZWZp
bmVkIHZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25l
ZCBsb25nIGRpdmlzb3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc0RyYXdJbWFnZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzRHJhd0ltYWdlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDMs
NyArNDMsNyBAQCB0eXBlZGVmIChIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFCiAgICAg
Ly8gRklYTUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZsb2F0IGFyZ3VtZW50cyBiZWxvdyBzaG91
bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZXMuCiAKICAgICAvLyBkcmF3aW5nIGltYWdlcwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1h
Z2UsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUgZHkpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1h
Z2UsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUgZHksIHVucmVz
dHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJpY3RlZCBkb3VibGUgZGgpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2UsIHVucmVz
dHJpY3RlZCBkb3VibGUgc3gsIHVucmVzdHJpY3RlZCBkb3VibGUgc3ksIHVucmVzdHJpY3RlZCBk
b3VibGUgc3csIHVucmVzdHJpY3RlZCBkb3VibGUgc2gsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJp
Y3RlZCBkb3VibGUgZGgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRyYXdJ
bWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFnZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSBkeSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
ZHJhd0ltYWdlKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR4
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR3LCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIGRoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkcmF3
SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2UsIHVucmVzdHJpY3RlZCBkb3VibGUgc3gsIHVu
cmVzdHJpY3RlZCBkb3VibGUgc3ksIHVucmVzdHJpY3RlZCBkb3VibGUgc3csIHVucmVzdHJpY3Rl
ZCBkb3VibGUgc2gsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUg
ZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJpY3RlZCBkb3VibGUgZGgpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0RyYXdQYXRoLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNEcmF3UGF0aC5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0Ry
YXdQYXRoLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTUgKzI4LDE1IEBACiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJmYWNlIENhbnZhc0RyYXdQYXRoIHsKICAgICAvLyBw
YXRoIEFQSSAoc2VlIGFsc28gQ2FudmFzUGF0aCkKLSAgICB2b2lkIGJlZ2luUGF0aCgpOwotICAg
IHZvaWQgZmlsbChvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxsUnVsZSA9ICJub256ZXJvIik7
Ci0gICAgdm9pZCBmaWxsKFBhdGgyRCBwYXRoLCBvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxs
UnVsZSA9ICJub256ZXJvIik7Ci0gICAgdm9pZCBzdHJva2UoKTsKLSAgICB2b2lkIHN0cm9rZShQ
YXRoMkQgcGF0aCk7Ci0gICAgdm9pZCBjbGlwKG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxS
dWxlID0gIm5vbnplcm8iKTsKLSAgICB2b2lkIGNsaXAoUGF0aDJEIHBhdGgsIG9wdGlvbmFsIENh
bnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKKyAgICB1bmRlZmluZWQgYmVnaW5Q
YXRoKCk7CisgICAgdW5kZWZpbmVkIGZpbGwob3B0aW9uYWwgQ2FudmFzRmlsbFJ1bGUgZmlsbFJ1
bGUgPSAibm9uemVybyIpOworICAgIHVuZGVmaW5lZCBmaWxsKFBhdGgyRCBwYXRoLCBvcHRpb25h
bCBDYW52YXNGaWxsUnVsZSBmaWxsUnVsZSA9ICJub256ZXJvIik7CisgICAgdW5kZWZpbmVkIHN0
cm9rZSgpOworICAgIHVuZGVmaW5lZCBzdHJva2UoUGF0aDJEIHBhdGgpOworICAgIHVuZGVmaW5l
ZCBjbGlwKG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKKyAg
ICB1bmRlZmluZWQgY2xpcChQYXRoMkQgcGF0aCwgb3B0aW9uYWwgQ2FudmFzRmlsbFJ1bGUgZmls
bFJ1bGUgPSAibm9uemVybyIpOwogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcmVzZXRDbGlwLgot
ICAgIC8vIHZvaWQgcmVzZXRDbGlwKCk7CisgICAgLy8gdW5kZWZpbmVkIHJlc2V0Q2xpcCgpOwog
CiAgICAgLy8gRklYTUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZsb2F0IHBhcmFtZXRlcnMgYmVs
b3cgc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3VibGVzLgogICAgIGJvb2xlYW4gaXNQb2ludElu
UGF0aCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIG9wdGlvbmFs
IENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNSArMzAsNSBAQAogICAgIC8vIEZJWE1FOiBUaGUgZmxvYXQgcGFyYW1l
dGVycyBiZWxvdyBzaG91bGQgYmUgYSBkb3VibGUuCiAKICAgICAvLyBvcGFxdWUgb2JqZWN0Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZENvbG9yU3RvcChmbG9hdCBvZmZzZXQsIERP
TVN0cmluZyBjb2xvcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWRkQ29s
b3JTdG9wKGZsb2F0IG9mZnNldCwgRE9NU3RyaW5nIGNvbG9yKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNJbWFnZURhdGEuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGwJKHJldmlzaW9uIDI2
NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDYgQEAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IEltYWdlRGF0YSBjcmVhdGVJbWFnZURhdGEoZmxvYXQgc3csIGZsb2F0IHNoKTsKICAgICBJbWFn
ZURhdGEgY3JlYXRlSW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gSW1hZ2VEYXRhIGdldEltYWdlRGF0YShmbG9hdCBzeCwgZmxvYXQgc3ksIGZs
b2F0IHN3LCBmbG9hdCBzaCk7Ci0gICAgdm9pZCBwdXRJbWFnZURhdGEoSW1hZ2VEYXRhIGltYWdl
ZGF0YSwgZmxvYXQgZHgsIGZsb2F0IGR5KTsKLSAgICB2b2lkIHB1dEltYWdlRGF0YShJbWFnZURh
dGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwgZmxvYXQgZGly
dHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhlaWdodCk7CisgICAgdW5kZWZpbmVk
IHB1dEltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHkpOwor
ICAgIHVuZGVmaW5lZCBwdXRJbWFnZURhdGEoSW1hZ2VEYXRhIGltYWdlZGF0YSwgZmxvYXQgZHgs
IGZsb2F0IGR5LCBmbG9hdCBkaXJ0eVgsIGZsb2F0IGRpcnR5WSwgZmxvYXQgZGlydHlXaWR0aCwg
ZmxvYXQgZGlydHlIZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1BhdGguaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1BhdGguaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXRoLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTYgKzMwLDE2IEBA
CiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJmYWNlIENhbnZhc1BhdGggewog
ICAgIC8vIHNoYXJlZCBwYXRoIEFQSSBtZXRob2RzCi0gICAgdm9pZCBjbG9zZVBhdGgoKTsKLSAg
ICB2b2lkIG1vdmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUg
eSk7Ci0gICAgdm9pZCBsaW5lVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHkpOwotICAgIHZvaWQgcXVhZHJhdGljQ3VydmVUbyh1bnJlc3RyaWN0ZWQgZG91Ymxl
IGNweCwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcHksIHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAgICB2b2lkIGJlemllckN1cnZlVG8odW5yZXN0cmljdGVk
IGRvdWJsZSBjcDF4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMXksIHVucmVzdHJpY3RlZCBkb3Vi
bGUgY3AyeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcDJ5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFy
Y1RvKHVucmVzdHJpY3RlZCBkb3VibGUgeDEsIHVucmVzdHJpY3RlZCBkb3VibGUgeTEsIHVucmVz
dHJpY3RlZCBkb3VibGUgeDIsIHVucmVzdHJpY3RlZCBkb3VibGUgeTIsIHVucmVzdHJpY3RlZCBk
b3VibGUgcmFkaXVzKTsKLSAgICAvLyBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYXJjVG8odW5y
ZXN0cmljdGVkIGRvdWJsZSB4MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MSwgdW5yZXN0cmljdGVk
IGRvdWJsZSB4MiwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MiwgdW5yZXN0cmljdGVkIGRvdWJsZSBy
YWRpdXNYLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUg
cm90YXRpb24pOwotICAgIHZvaWQgcmVjdCh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJp
Y3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSB3LCB1bnJlc3RyaWN0ZWQgZG91Ymxl
IGgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhcmModW5yZXN0cmljdGVkIGRvdWJs
ZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHksIHVucmVzdHJpY3RlZCBkb3VibGUgcmFkaXVzLCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHN0YXJ0QW5nbGUsIHVucmVzdHJpY3RlZCBkb3VibGUgZW5kQW5n
bGUsIG9wdGlvbmFsIGJvb2xlYW4gYW50aWNsb2Nrd2lzZSA9IGZhbHNlKTsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgZWxsaXBzZSh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJp
Y3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24sIHVucmVzdHJpY3Rl
ZCBkb3VibGUgc3RhcnRBbmdsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmRBbmdsZSwgb3B0aW9u
YWwgYm9vbGVhbiBhbnRpY2xvY2t3aXNlID0gZmFsc2UpOworICAgIHVuZGVmaW5lZCBjbG9zZVBh
dGgoKTsKKyAgICB1bmRlZmluZWQgbW92ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0
cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgbGluZVRvKHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgcXVhZHJhdGljQ3Vy
dmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIGNweCwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcHksIHVu
cmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmlu
ZWQgYmV6aWVyQ3VydmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMXgsIHVucmVzdHJpY3RlZCBk
b3VibGUgY3AxeSwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcDJ4LCB1bnJlc3RyaWN0ZWQgZG91Ymxl
IGNwMnksIHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcmNUbyh1bnJlc3RyaWN0ZWQgZG91Ymxl
IHgxLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkxLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHgyLCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHkyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1cyk7CisgICAgLy8g
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXJjVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4
MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB4MiwgdW5yZXN0
cmljdGVkIGRvdWJsZSB5MiwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1bnJlc3RyaWN0
ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24pOworICAgIHVu
ZGVmaW5lZCByZWN0KHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcsIHVucmVzdHJpY3RlZCBkb3VibGUgaCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXJjKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1cywgdW5yZXN0cmlj
dGVkIGRvdWJsZSBzdGFydEFuZ2xlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZEFuZ2xlLCBvcHRp
b25hbCBib29sZWFuIGFudGljbG9ja3dpc2UgPSBmYWxzZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgZWxsaXBzZSh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3Rl
ZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1bnJlc3RyaWN0ZWQgZG91
YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24sIHVucmVzdHJpY3RlZCBk
b3VibGUgc3RhcnRBbmdsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmRBbmdsZSwgb3B0aW9uYWwg
Ym9vbGVhbiBhbnRpY2xvY2t3aXNlID0gZmFsc2UpOwogCiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9
SW5zcGVjdG9yQWRkaXRpb25zXSByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY3VycmVudFg7CiAg
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zXSByZWFkb25seSBhdHRyaWJ1
dGUgZmxvYXQgY3VycmVudFk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNQYXRoRHJhd2luZ1N0eWxlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUGF0aERyYXdpbmdTdHlsZXMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoRHJhd2luZ1N0eWxlcy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKICAgICBhdHRyaWJ1dGUgdW5yZXN0cmlj
dGVkIGZsb2F0IG1pdGVyTGltaXQ7IC8vIChkZWZhdWx0IDEwKQogCiAgICAgLy8gZGFzaGVkIGxp
bmVzCi0gICAgdm9pZCBzZXRMaW5lRGFzaChzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQgZmxvYXQ+IHNl
Z21lbnRzKTsgLy8gZGVmYXVsdCBlbXB0eQorICAgIHVuZGVmaW5lZCBzZXRMaW5lRGFzaChzZXF1
ZW5jZTx1bnJlc3RyaWN0ZWQgZmxvYXQ+IHNlZ21lbnRzKTsgLy8gZGVmYXVsdCBlbXB0eQogICAg
IHNlcXVlbmNlPHVucmVzdHJpY3RlZCBmbG9hdD4gZ2V0TGluZURhc2goKTsKICAgICBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGZsb2F0IGxpbmVEYXNoT2Zmc2V0OwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCShyZXZpc2lvbiAyNjYyODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUK
IF0gaW50ZXJmYWNlIENhbnZhc1BhdHRlcm4gewogICAgIC8vIG9wYXF1ZSBvYmplY3QKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VHJhbnNmb3JtKG9wdGlvbmFsIERPTU1hdHJpeDJE
SW5pdCB0cmFuc2Zvcm0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRy
YW5zZm9ybShvcHRpb25hbCBET01NYXRyaXgyREluaXQgdHJhbnNmb3JtKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZWN0LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZWN0LmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVjdC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICAvLyBGSVhNRTogQWxsIHRoZSB1bnJlc3RyaWN0
ZWQgZmxvYXQgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZXMu
CiAKICAgICAvLyByZWN0cwotICAgIHZvaWQgY2xlYXJSZWN0KHVucmVzdHJpY3RlZCBmbG9hdCB4
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHcsIHVucmVzdHJpY3Rl
ZCBmbG9hdCBoKTsKLSAgICB2b2lkIGZpbGxSZWN0KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHcsIHVucmVzdHJpY3RlZCBmbG9h
dCBoKTsKLSAgICB2b2lkIHN0cm9rZVJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVkIGZsb2F0IGgp
OworICAgIHVuZGVmaW5lZCBjbGVhclJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVkIGZsb2F0IGgp
OworICAgIHVuZGVmaW5lZCBmaWxsUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaCk7
CisgICAgdW5kZWZpbmVkIHN0cm9rZVJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVkIGZsb2F0IGgp
OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzMsMjQgKzMzLDI0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDYW52
YXNFbGVtZW50IGNhbnZhczsKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBsZWdhY3kgYWxpYXNlcyAo
Q29tcG9zaXRpbmcpLgotICAgIFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbEFscGhhXSB2b2lkIHNl
dEFscGhhKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSA9IE5hTik7Ci0gICAgW0lt
cGxlbWVudGVkQXM9c2V0R2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uXSB2b2lkIHNldENvbXBvc2l0
ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9zaXRlT3BlcmF0aW9uID0gInVuZGVm
aW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIg
dmFsdWUgaXMgd3JvbmcuCisgICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQWxwaGFdIHVuZGVm
aW5lZCBzZXRBbHBoYShvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEgPSBOYU4pOwor
ICAgIFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbl0gdW5kZWZpbmVk
IHNldENvbXBvc2l0ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9zaXRlT3BlcmF0
aW9uID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVs
dCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCiAKICAgICAvLyBOb24tc3RhbmRhcmQgZnVuY3Rp
b25hbGl0eSAoQ2FudmFzRHJhd0ltYWdlKS4KLSAgICB2b2lkIGRyYXdJbWFnZUZyb21SZWN0KEhU
TUxJbWFnZUVsZW1lbnQgaW1hZ2UsCisgICAgdW5kZWZpbmVkIGRyYXdJbWFnZUZyb21SZWN0KEhU
TUxJbWFnZUVsZW1lbnQgaW1hZ2UsCiAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBzeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzeSA9IDAsIG9wdGlvbmFsIHVu
cmVzdHJpY3RlZCBmbG9hdCBzdyA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzaCA9
IDAsCiAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBkeCA9IDAsIG9wdGlvbmFs
IHVucmVzdHJpY3RlZCBmbG9hdCBkeSA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBk
dyA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBkaCA9IDAsCiAgICAgICAgIG9wdGlv
bmFsIERPTVN0cmluZyBjb21wb3NpdGVPcGVyYXRpb24gPSAiIik7CiAKICAgICAvLyBOb24tc3Rh
bmRhcmQgbGVnYWN5IGFsaWFzZXMgKENhbnZhc0ZpbGxTdHJva2VTdHlsZXMpLgotICAgIHZvaWQg
c2V0U3Ryb2tlQ29sb3IoRE9NU3RyaW5nIGNvbG9yLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgYWxwaGEpOwotICAgIHZvaWQgc2V0U3Ryb2tlQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IGdy
YXlMZXZlbCwgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAxKTsKLSAgICB2b2lkIHNldFN0cm9rZUNv
bG9yKHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywgdW5yZXN0cmlj
dGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKLSAgICB2b2lkIHNldFN0cm9rZUNv
bG9yKHVucmVzdHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxvYXQgbSwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCBrLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYSk7
Ci0gICAgdm9pZCBzZXRGaWxsQ29sb3IoRE9NU3RyaW5nIGNvbG9yLCBvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYWxwaGEpOwotICAgIHZvaWQgc2V0RmlsbENvbG9yKHVucmVzdHJpY3RlZCBm
bG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSA9IDEpOwot
ICAgIHZvaWQgc2V0RmlsbENvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgZywgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKLSAg
ICB2b2lkIHNldEZpbGxDb2xvcih1bnJlc3RyaWN0ZWQgZmxvYXQgYywgdW5yZXN0cmljdGVkIGZs
b2F0IG0sIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgaywgdW5yZXN0
cmljdGVkIGZsb2F0IGEpOworICAgIHVuZGVmaW5lZCBzZXRTdHJva2VDb2xvcihET01TdHJpbmcg
Y29sb3IsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSk7CisgICAgdW5kZWZpbmVk
IHNldFN0cm9rZUNvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIGZs
b2F0IGFscGhhID0gMSk7CisgICAgdW5kZWZpbmVkIHNldFN0cm9rZUNvbG9yKHVucmVzdHJpY3Rl
ZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVu
cmVzdHJpY3RlZCBmbG9hdCBhKTsKKyAgICB1bmRlZmluZWQgc2V0U3Ryb2tlQ29sb3IodW5yZXN0
cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKKyAgICB1bmRl
ZmluZWQgc2V0RmlsbENvbG9yKERPTVN0cmluZyBjb2xvciwgb3B0aW9uYWwgdW5yZXN0cmljdGVk
IGZsb2F0IGFscGhhKTsKKyAgICB1bmRlZmluZWQgc2V0RmlsbENvbG9yKHVucmVzdHJpY3RlZCBm
bG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSA9IDEpOwor
ICAgIHVuZGVmaW5lZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IHIsIHVucmVzdHJp
Y3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGEp
OworICAgIHVuZGVmaW5lZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVz
dHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0
IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBmdW5jdGlv
bmFsaXR5IChDYW52YXNJbWFnZURhdGEpLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCB3
ZWJraXRCYWNraW5nU3RvcmVQaXhlbFJhdGlvOyAvLyBBbHdheXMgcmV0dXJucyAxLgpAQCAtNTks
MjIgKzU5LDIyIEBACiAgICAgW0ltcGxlbWVudGVkQXM9aW1hZ2VTbW9vdGhpbmdFbmFibGVkXSBh
dHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQ7CiAKICAgICAvLyBO
b24tc3RhbmRhcmQgbGVnYWN5IGFsaWFzZXMgKENhbnZhc1BhdGhEcmF3aW5nU3R5bGVzKS4KLSAg
ICB2b2lkIHNldExpbmVXaWR0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGggPSBO
YU4pOwotICAgIHZvaWQgc2V0TGluZUNhcChvcHRpb25hbCBET01TdHJpbmcgY2FwID0gInVuZGVm
aW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIg
dmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBzZXRMaW5lSm9pbihvcHRpb25hbCBET01TdHJpbmcg
am9pbiA9ICJ1bmRlZmluZWQiKTsgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1
bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgc2V0TWl0ZXJMaW1pdChvcHRp
b25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbGltaXQgPSBOYU4pOworICAgIHVuZGVmaW5lZCBzZXRM
aW5lV2lkdGgob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoID0gTmFOKTsKKyAgICB1
bmRlZmluZWQgc2V0TGluZUNhcChvcHRpb25hbCBET01TdHJpbmcgY2FwID0gInVuZGVmaW5lZCIp
OyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUg
aXMgd3JvbmcuCisgICAgdW5kZWZpbmVkIHNldExpbmVKb2luKG9wdGlvbmFsIERPTVN0cmluZyBq
b2luID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVs
dCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCisgICAgdW5kZWZpbmVkIHNldE1pdGVyTGltaXQo
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGxpbWl0ID0gTmFOKTsKICAgICBhdHRyaWJ1dGUg
c2VxdWVuY2U8dW5yZXN0cmljdGVkIGZsb2F0PiB3ZWJraXRMaW5lRGFzaDsKICAgICBbSW1wbGVt
ZW50ZWRBcz1saW5lRGFzaE9mZnNldF0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCB3ZWJr
aXRMaW5lRGFzaE9mZnNldDsKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBsZWdhY3kgYWxpYXNlcyAo
Q2FudmFzU2hhZG93U3R5bGVzKS4KLSAgICB2b2lkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQgZmxv
YXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBi
bHVyLCBvcHRpb25hbCBET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBhbHBoYSk7Ci0gICAgdm9pZCBzZXRTaGFkb3codW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1ciwgdW5yZXN0
cmljdGVkIGZsb2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGFscGhh
ID0gMSk7Ci0gICAgdm9pZCBzZXRTaGFkb3codW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoLCB1bnJl
c3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1ciwgdW5yZXN0cmlj
dGVkIGZsb2F0IHIsIHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwg
dW5yZXN0cmljdGVkIGZsb2F0IGEpOwotICAgIHZvaWQgc2V0U2hhZG93KGZsb2F0IHdpZHRoLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1ciwgdW5yZXN0
cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKLSAgICB2b2lk
IGNsZWFyU2hhZG93KCk7CisgICAgdW5kZWZpbmVkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQgZmxv
YXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBi
bHVyLCBvcHRpb25hbCBET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBhbHBoYSk7CisgICAgdW5kZWZpbmVkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQgZmxvYXQgd2lk
dGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9hdCBibHVyLCB1
bnJlc3RyaWN0ZWQgZmxvYXQgZ3JheUxldmVsLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
YWxwaGEgPSAxKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KHVucmVzdHJpY3RlZCBmbG9hdCB3
aWR0aCwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCwgdW5yZXN0cmljdGVkIGZsb2F0IGJsdXIs
IHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywgdW5yZXN0cmljdGVk
IGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93
KGZsb2F0IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxv
YXQgYmx1ciwgdW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9h
dCBhKTsKKyAgICB1bmRlZmluZWQgY2xlYXJTaGFkb3coKTsKIAogICAgIC8vIEluc3BlY3Rvci1v
bmx5LgotICAgIFtFbmFibGVkQXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9uc10gdm9pZCBzZXRQ
YXRoKFBhdGgyRCBwYXRoKTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlv
bnNdIHVuZGVmaW5lZCBzZXRQYXRoKFBhdGgyRCBwYXRoKTsKICAgICBbRW5hYmxlZEF0UnVudGlt
ZT1JbnNwZWN0b3JBZGRpdGlvbnMsIE5ld09iamVjdF0gUGF0aDJEIGdldFBhdGgoKTsKIH07CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0YXRlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdGF0ZS5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0YXRlLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNiBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpCiBdIGludGVyZmFjZSBDYW52YXNTdGF0ZSB7CiAgICAgLy8gc3RhdGUKLSAgICB2b2lk
IHNhdmUoKTsgLy8gcHVzaCBzdGF0ZSBvbiBzdGF0ZSBzdGFjawotICAgIHZvaWQgcmVzdG9yZSgp
OyAvLyBwb3Agc3RhdGUgc3RhY2sgYW5kIHJlc3RvcmUgc3RhdGUKKyAgICB1bmRlZmluZWQgc2F2
ZSgpOyAvLyBwdXNoIHN0YXRlIG9uIHN0YXRlIHN0YWNrCisgICAgdW5kZWZpbmVkIHJlc3RvcmUo
KTsgLy8gcG9wIHN0YXRlIHN0YWNrIGFuZCByZXN0b3JlIHN0YXRlCiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVGV4dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1RleHQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw3ICszMCw3IEBACiAgICAgLy8gRklYTUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZs
b2F0IHBhcmFtZXRlcnMgYmVsb3cgc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3VibGVzLgogCiAg
ICAgLy8gdGV4dCAoc2VlIGFsc28gdGhlIENhbnZhc1BhdGhEcmF3aW5nU3R5bGVzIGFuZCBDYW52
YXNUZXh0RHJhd2luZ1N0eWxlcyBpbnRlcmZhY2VzKQotICAgIHZvaWQgZmlsbFRleHQoRE9NU3Ry
aW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgb3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRoKTsKLSAgICB2b2lkIHN0cm9rZVRleHQo
RE9NU3RyaW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eSwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRoKTsKKyAgICB1bmRlZmluZWQg
ZmlsbFRleHQoRE9NU3RyaW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRoKTsKKyAgICB1
bmRlZmluZWQgc3Ryb2tlVGV4dChET01TdHJpbmcgdGV4dCwgdW5yZXN0cmljdGVkIGZsb2F0IHgs
IHVucmVzdHJpY3RlZCBmbG9hdCB5LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbWF4V2lk
dGgpOwogICAgIFRleHRNZXRyaWNzIG1lYXN1cmVUZXh0KERPTVN0cmluZyB0ZXh0KTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNUcmFuc2Zvcm0uaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1RyYW5zZm9ybS5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Ry
YW5zZm9ybS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwxMyBAQAogICAgIC8vIEZJ
WE1FOiBBbGwgdGhlIHVucmVzdHJpY3RlZCBmbG9hdCBwYXJhbWV0ZXJzIGJlbG93IHNob3VsZCBi
ZSB1bnJlc3RyaWN0ZWQgZG91Ymxlcy4KIAogICAgIC8vIHRyYW5zZm9ybWF0aW9ucyAoZGVmYXVs
dCB0cmFuc2Zvcm0gaXMgdGhlIGlkZW50aXR5IG1hdHJpeCkKLSAgICB2b2lkIHNjYWxlKHVucmVz
dHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7Ci0gICAgdm9pZCByb3RhdGUo
dW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlKTsKLSAgICB2b2lkIHRyYW5zbGF0ZSh1bnJlc3RyaWN0
ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOwotICAgIHZvaWQgdHJhbnNmb3JtKHVu
cmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZs
b2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBkLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZSwgdW5yZXN0
cmljdGVkIGZsb2F0IGYpOworICAgIHVuZGVmaW5lZCBzY2FsZSh1bnJlc3RyaWN0ZWQgZmxvYXQg
eCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOworICAgIHVuZGVmaW5lZCByb3RhdGUodW5yZXN0cmlj
dGVkIGZsb2F0IGFuZ2xlKTsKKyAgICB1bmRlZmluZWQgdHJhbnNsYXRlKHVucmVzdHJpY3RlZCBm
bG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7CisgICAgdW5kZWZpbmVkIHRyYW5zZm9ybSh1
bnJlc3RyaWN0ZWQgZmxvYXQgYSwgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBm
bG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZCwgdW5yZXN0cmljdGVkIGZsb2F0IGUsIHVucmVz
dHJpY3RlZCBmbG9hdCBmKTsKIAogICAgIFtOZXdPYmplY3RdIERPTU1hdHJpeCBnZXRUcmFuc2Zv
cm0oKTsKLSAgICB2b2lkIHNldFRyYW5zZm9ybSh1bnJlc3RyaWN0ZWQgZmxvYXQgYSwgdW5yZXN0
cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxvYXQg
ZCwgdW5yZXN0cmljdGVkIGZsb2F0IGUsIHVucmVzdHJpY3RlZCBmbG9hdCBmKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VHJhbnNmb3JtKG9wdGlvbmFsIERPTU1hdHJpeDJESW5p
dCB0cmFuc2Zvcm0pOwotICAgIHZvaWQgcmVzZXRUcmFuc2Zvcm0oKTsKKyAgICB1bmRlZmluZWQg
c2V0VHJhbnNmb3JtKHVucmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwg
dW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBkLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgZSwgdW5yZXN0cmljdGVkIGZsb2F0IGYpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHNldFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXgyREluaXQgdHJhbnNmb3Jt
KTsKKyAgICB1bmRlZmluZWQgcmVzZXRUcmFuc2Zvcm0oKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNVc2VySW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNVc2VySW50ZXJmYWNlLmlkbAkocmV2aXNp
b24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVXNlckludGVy
ZmFjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMCBAQAogICAgIE5vSW50ZXJm
YWNlT2JqZWN0LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBDYW52YXNVc2VySW50
ZXJmYWNlIHsKLSAgICB2b2lkIGRyYXdGb2N1c0lmTmVlZGVkKEVsZW1lbnQgZWxlbWVudCk7Ci0g
ICAgdm9pZCBkcmF3Rm9jdXNJZk5lZWRlZChQYXRoMkQgcGF0aCwgRWxlbWVudCBlbGVtZW50KTsK
KyAgICB1bmRlZmluZWQgZHJhd0ZvY3VzSWZOZWVkZWQoRWxlbWVudCBlbGVtZW50KTsKKyAgICB1
bmRlZmluZWQgZHJhd0ZvY3VzSWZOZWVkZWQoUGF0aDJEIHBhdGgsIEVsZW1lbnQgZWxlbWVudCk7
CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNjcm9sbFBhdGhJbnRvVmlldy4KLSAgICAvLyB2
b2lkIHNjcm9sbFBhdGhJbnRvVmlldygpOwotICAgIC8vIHZvaWQgc2Nyb2xsUGF0aEludG9WaWV3
KFBhdGgyRCBwYXRoKTsKKyAgICAvLyB1bmRlZmluZWQgc2Nyb2xsUGF0aEludG9WaWV3KCk7Cisg
ICAgLy8gdW5kZWZpbmVkIHNjcm9sbFBhdGhJbnRvVmlldyhQYXRoMkQgcGF0aCk7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1h
cFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw2ICszMCw2IEBACiBdIGludGVyZmFjZSBJbWFnZUJpdG1hcFJlbmRlcmluZ0Nv
bnRleHQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudCBjYW52YXM7
CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAo
SW1hZ2VCaXRtYXA/IGJpdG1hcCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
dHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXA/IGJpdG1hcCk7CiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAK
ICAgICBjb25zdCB1bnNpZ25lZCBsb25nIFZFUlRFWF9BUlJBWV9CSU5ESU5HX09FUyA9IDB4ODVC
NTsKIAogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMgY3JlYXRlVmVydGV4QXJyYXlPRVMo
KTsKLSAgICB2b2lkIGRlbGV0ZVZlcnRleEFycmF5T0VTKG9wdGlvbmFsIFdlYkdMVmVydGV4QXJy
YXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7CisgICAgdW5kZWZpbmVkIGRlbGV0ZVZl
cnRleEFycmF5T0VTKG9wdGlvbmFsIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2Jq
ZWN0ID0gbnVsbCk7CiAgICAgYm9vbGVhbiBpc1ZlcnRleEFycmF5T0VTKG9wdGlvbmFsIFdlYkdM
VmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7Ci0gICAgdm9pZCBiaW5k
VmVydGV4QXJyYXlPRVMob3B0aW9uYWwgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUz8gYXJyYXlP
YmplY3QgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgYmluZFZlcnRleEFycmF5T0VTKG9wdGlvbmFs
IFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PZmZz
Y3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMSArMzMsMTEgQEAKICAgICAvLyBDYWxsVHJh
Y2luZ0NhbGxiYWNrPXJlY29yZENhbnZhc0FjdGlvbiwgLy8gRklYTUU6IE9mZnNjcmVlbkNhbnZh
cy4KIF0gaW50ZXJmYWNlIE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE9mZnNjcmVlbkNhbnZhcyBjYW52YXM7Ci0gICAgdm9pZCBjb21t
aXQoKTsKKyAgICB1bmRlZmluZWQgY29tbWl0KCk7CiAKICAgICAvLyBJbnNwZWN0b3Itb25seS4K
ICAgICAvLyBGSVhNRTogT2Zmc2NyZWVuQ2FudmFzLgotICAgIC8vIFtFbmFibGVkQXRSdW50aW1l
PUluc3BlY3RvckFkZGl0aW9uc10gdm9pZCBzZXRQYXRoKFBhdGgyRCBwYXRoKTsKKyAgICAvLyBb
RW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnNdIHVuZGVmaW5lZCBzZXRQYXRoKFBh
dGgyRCBwYXRoKTsKICAgICAvLyBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnMs
IE5ld09iamVjdF0gUGF0aDJEIGdldFBhdGgoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1BhdGgyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvUGF0aDJELmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvUGF0aDJELmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAog
ICAgIC8vIGNvbnN0cnVjdG9yKHNlcXVlbmNlPFBhdGgyRD4gcGF0aHMsIG9wdGlvbmFsIENhbnZh
c0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKICAgICBjb25zdHJ1Y3RvcihET01TdHJp
bmcgZCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWRkUGF0aChQYXRoMkQgcGF0
aCwgb3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IHRyYW5zZm9ybSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgYWRkUGF0aChQYXRoMkQgcGF0aCwgb3B0aW9uYWwgRE9NTWF0cml4
MkRJbml0IHRyYW5zZm9ybSk7CiB9OwogCiBQYXRoMkQgaW1wbGVtZW50cyBDYW52YXNQYXRoOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVy
aW5nQ29udGV4dC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcs
MTY3ICszMzcsMTY3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE0K
ICAgICBjb25zdCBHTGVudW0gTUFYX0NMSUVOVF9XQUlUX1RJTUVPVVRfV0VCR0wgICAgICAgICAg
ICAgICAgID0gMHg5MjQ3OwogCiAgICAgLy8gQnVmZmVyIG9iamVjdHMuCi0gICAgdm9pZCBidWZm
ZXJEYXRhKEdMZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyBkYXRhLCBHTGVudW0gdXNhZ2Us
IEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsKLSAgICB2b2lk
IGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIgZHN0Qnl0ZU9mZnNldCwgQXJy
YXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBs
ZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBBcnJh
eUJ1ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVzYWdlLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25h
bCBHTHVpbnQgbGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlclN1YkRhdGEoR0xlbnVt
IHRhcmdldCwgR0xpbnRwdHIgZHN0Qnl0ZU9mZnNldCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEs
IEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsKIAotICAgIHZv
aWQgY29weUJ1ZmZlclN1YkRhdGEoR0xlbnVtIHJlYWRUYXJnZXQsIEdMZW51bSB3cml0ZVRhcmdl
dCwgR0xpbnRwdHIgcmVhZE9mZnNldCwgR0xpbnRwdHIgd3JpdGVPZmZzZXQsIEdMc2l6ZWlwdHIg
c2l6ZSk7Ci0gICAgdm9pZCBnZXRCdWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQsIEdMaW50cHRy
IHNyY0J5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBkc3REYXRhLCBvcHRpb25hbCBHTHVpbnQg
ZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDApOworICAgIHVuZGVmaW5l
ZCBjb3B5QnVmZmVyU3ViRGF0YShHTGVudW0gcmVhZFRhcmdldCwgR0xlbnVtIHdyaXRlVGFyZ2V0
LCBHTGludHB0ciByZWFkT2Zmc2V0LCBHTGludHB0ciB3cml0ZU9mZnNldCwgR0xzaXplaXB0ciBz
aXplKTsKKyAgICB1bmRlZmluZWQgZ2V0QnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGlu
dHB0ciBzcmNCeXRlT2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcgZHN0RGF0YSwgb3B0aW9uYWwgR0x1
aW50IGRzdE9mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsKIAogICAgIC8v
IEZyYW1lYnVmZmVyIG9iamVjdHMuCi0gICAgdm9pZCBibGl0RnJhbWVidWZmZXIoR0xpbnQgc3Jj
WDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEsIEdMaW50IGRzdFgwLCBH
TGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxkIG1hc2ssIEdM
ZW51bSBmaWx0ZXIpOwotICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0xlbnVtIHRh
cmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQgbGV2
ZWwsIEdMaW50IGxheWVyKTsKLSAgICB2b2lkIGludmFsaWRhdGVGcmFtZWJ1ZmZlcihHTGVudW0g
dGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKLSAgICB2b2lkIGludmFsaWRh
dGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1l
bnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Ci0g
ICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOworICAgIHVuZGVmaW5lZCBibGl0RnJhbWVi
dWZmZXIoR0xpbnQgc3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEs
IEdMaW50IGRzdFgwLCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJp
dGZpZWxkIG1hc2ssIEdMZW51bSBmaWx0ZXIpOworICAgIHVuZGVmaW5lZCBmcmFtZWJ1ZmZlclRl
eHR1cmVMYXllcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwgV2ViR0xUZXh0dXJl
PyB0ZXh0dXJlLCBHTGludCBsZXZlbCwgR0xpbnQgbGF5ZXIpOworICAgIHVuZGVmaW5lZCBpbnZh
bGlkYXRlRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgc2VxdWVuY2U8R0xlbnVtPiBhdHRhY2ht
ZW50cyk7CisgICAgdW5kZWZpbmVkIGludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFy
Z2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHJlYWRCdWZmZXIoR0xl
bnVtIHNyYyk7CiAKICAgICAvLyBSZW5kZXJidWZmZXIgb2JqZWN0cy4KICAgICBbT3ZlcnJpZGVJ
RExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwotICAgIHZvaWQg
cmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgc2Ft
cGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CisgICAgdW5kZWZpbmVkIHJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZShHTGVudW0g
dGFyZ2V0LCBHTHNpemVpIHNhbXBsZXMsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogCiAgICAgLy8gVGV4dHVyZSBvYmplY3RzLgotICAgIHZv
aWQgdGV4U3RvcmFnZTJEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0gaW50
ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKLSAgICB2b2lkIHRl
eFN0b3JhZ2UzRChHTGVudW0gdGFyZ2V0LCBHTHNpemVpIGxldmVscywgR0xlbnVtIGludGVybmFs
Zm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCk7Cisg
ICAgdW5kZWZpbmVkIHRleFN0b3JhZ2UyRChHTGVudW0gdGFyZ2V0LCBHTHNpemVpIGxldmVscywg
R0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Cisg
ICAgdW5kZWZpbmVkIHRleFN0b3JhZ2UzRChHTGVudW0gdGFyZ2V0LCBHTHNpemVpIGxldmVscywg
R0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCk7CiAKLSAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQg
bGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleEltYWdlM0Qo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIHZv
aWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxm
b3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3Jj
RGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KLSAgICB2b2lkIHRleFN1YkltYWdlM0QoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50
IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lk
IHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQs
IEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VT
b3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0
LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQg
c3JjT2Zmc2V0ID0gMCk7Ci0KLSAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zm
c2V0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Ci0K
LSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVs
LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
THNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0ciBv
ZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3IHNyY0Rh
dGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVu
Z3RoT3ZlcnJpZGUgPSAwKTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdMZW51
bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGlu
dCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwg
R0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNldCk7Ci0gICAg
dm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3aWR0
aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVm
ZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwg
R0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CisgICAgdW5kZWZpbmVkIHRleEltYWdlM0Qo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKKyAgICB1bmRlZmlu
ZWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxm
b3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3Vy
Y2UpOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVs
LCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdM
c2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFy
cmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICB1bmRlZmluZWQgdGV4SW1hZ2UzRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNl
dCk7CisKKyAgICB1bmRlZmluZWQgdGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEdM
ZW51bSB0eXBlLCBHTGludHB0ciBwYm9PZmZzZXQpOworICAgIHVuZGVmaW5lZCB0ZXhTdWJJbWFn
ZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXpl
aSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJj
ZSk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2
ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zm
c2V0ID0gMCk7CisKKyAgICB1bmRlZmluZWQgY29weVRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZz
ZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKKwor
ICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRw
dHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZmZXJW
aWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVp
bnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleFN1
YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
THNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIg
b2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleFN1YkltYWdlM0QoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVu
dW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09m
ZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOwogCiAgICAg
Ly8gUHJvZ3JhbXMgYW5kIHNoYWRlcnMvCiAgICAgR0xpbnQgZ2V0RnJhZ0RhdGFMb2NhdGlvbihX
ZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgLy8gVW5pZm9ybXMg
YW5kIGF0dHJpYnV0ZXMuCi0gICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKLSAgICB2b2lkIHVuaWZvcm0ydWkoV2ViR0xVbmlmb3Jt
TG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7Ci0gICAgdm9pZCB1bmlm
b3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQg
djEsIEdMdWludCB2Mik7Ci0gICAgdm9pZCB1bmlmb3JtNHVpKFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQgdjEsIEdMdWludCB2MiwgR0x1aW50IHYzKTsK
LSAgICB2b2lkIHVuaWZvcm0xdWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWlu
dDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1
aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTJ1aXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3Jt
M3VpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIFVpbnQzMkxpc3QgZGF0YSwgb3B0
aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAw
KTsKLSAgICB2b2lkIHVuaWZvcm00dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwg
VWludDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwg
R0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJ4M2Z2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxp
c3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBz
cmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzeDJmdihXZWJHTFVuaWZvcm1M
b2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEs
IG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwot
ICAgIHZvaWQgdW5pZm9ybU1hdHJpeDR4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50
IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lk
IHVuaWZvcm1NYXRyaXgzeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9v
bGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3Jt
TWF0cml4NHgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJh
bnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwg
b3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTRp
KEdMdWludCBpbmRleCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQgdyk7Ci0gICAg
dm9pZCB2ZXJ0ZXhBdHRyaWJJNGl2KEdMdWludCBpbmRleCwgSW50MzJMaXN0IHZhbHVlcyk7Ci0g
ICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNHVpKEdMdWludCBpbmRleCwgR0x1aW50IHgsIEdMdWludCB5
LCBHTHVpbnQgeiwgR0x1aW50IHcpOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aXYoR0x1aW50
IGluZGV4LCBVaW50MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRl
cihHTHVpbnQgaW5kZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwg
R0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTF1aShXZWJHTFVuaWZvcm1M
b2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0ydWko
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7Cisg
ICAgdW5kZWZpbmVkIHVuaWZvcm0zdWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBH
THVpbnQgdjAsIEdMdWludCB2MSwgR0x1aW50IHYyKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTR1
aShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCwgR0x1aW50IHYxLCBH
THVpbnQgdjIsIEdMdWludCB2Myk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0xdWl2KFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQg
c3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVm
aW5lZCB1bmlmb3JtMnVpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIFVpbnQzMkxp
c3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBz
cmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTN1aXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVu
aWZvcm00dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRh
LCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0
aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4MngzZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBv
cHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9
IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4M3gyZnYoV2ViR0xVbmlmb3JtTG9jYXRp
b24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRp
b25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwor
ICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4NHgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBH
THVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAg
IHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4M3g0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVp
bnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVu
ZGVmaW5lZCB1bmlmb3JtTWF0cml4NHgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQg
c3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVm
aW5lZCB2ZXJ0ZXhBdHRyaWJJNGkoR0x1aW50IGluZGV4LCBHTGludCB4LCBHTGludCB5LCBHTGlu
dCB6LCBHTGludCB3KTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliSTRpdihHTHVpbnQgaW5k
ZXgsIEludDMyTGlzdCB2YWx1ZXMpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJNHVpKEdM
dWludCBpbmRleCwgR0x1aW50IHgsIEdMdWludCB5LCBHTHVpbnQgeiwgR0x1aW50IHcpOworICAg
IHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHTHVpbnQgaW5kZXgsIFVpbnQzMkxpc3QgdmFs
dWVzKTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0x1aW50IGluZGV4LCBH
TGludCBzaXplLCBHTGVudW0gdHlwZSwgR0xzaXplaSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7
CiAKICAgICAvLyBXcml0aW5nIHRvIHRoZSBkcmF3aW5nIGJ1ZmZlci4KLSAgICB2b2lkIHZlcnRl
eEF0dHJpYkRpdmlzb3IoR0x1aW50IGluZGV4LCBHTHVpbnQgZGl2aXNvcik7Ci0gICAgdm9pZCBk
cmF3QXJyYXlzSW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwgR0xzaXplaSBjb3Vu
dCwgR0xzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdFbGVtZW50c0luc3RhbmNl
ZChHTGVudW0gbW9kZSwgR0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNl
dCwgR0xzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdM
ZW51bSBtb2RlLCBHTHVpbnQgc3RhcnQsIEdMdWludCBlbmQsIEdMc2l6ZWkgY291bnQsIEdMZW51
bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJEaXZp
c29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOworICAgIHVuZGVmaW5lZCBkcmF3QXJy
YXlzSW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwgR0xzaXplaSBjb3VudCwgR0xz
aXplaSBpbnN0YW5jZUNvdW50KTsKKyAgICB1bmRlZmluZWQgZHJhd0VsZW1lbnRzSW5zdGFuY2Vk
KEdMZW51bSBtb2RlLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0
LCBHTHNpemVpIGluc3RhbmNlQ291bnQpOworICAgIHVuZGVmaW5lZCBkcmF3UmFuZ2VFbGVtZW50
cyhHTGVudW0gbW9kZSwgR0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVpIGNvdW50LCBH
TGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKIAogICAgIC8vIE11bHRpcGxlIFJlbmRlciBU
YXJnZXRzLgotICAgIHZvaWQgZHJhd0J1ZmZlcnMoc2VxdWVuY2U8R0xlbnVtPiBidWZmZXJzKTsK
LSAgICB2b2lkIGNsZWFyQnVmZmVyaXYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwg
SW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwotICAgIHZv
aWQgY2xlYXJCdWZmZXJ1aXYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgVWludDMy
TGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwKTsKLSAgICB2b2lkIGNs
ZWFyQnVmZmVyZnYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgRmxvYXQzMkxpc3Qg
dmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7Ci0gICAgdm9pZCBjbGVhckJ1
ZmZlcmZpKEdMZW51bSBidWZmZXIsIEdMaW50IGRyYXdidWZmZXIsIEdMZmxvYXQgZGVwdGgsIEdM
aW50IHN0ZW5jaWwpOworICAgIHVuZGVmaW5lZCBkcmF3QnVmZmVycyhzZXF1ZW5jZTxHTGVudW0+
IGJ1ZmZlcnMpOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcml2KEdMZW51bSBidWZmZXIsIEdM
aW50IGRyYXdidWZmZXIsIEludDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJ1aXYoR0xlbnVtIGJ1ZmZlciwgR0xp
bnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJmaShHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBHTGZsb2F0IGRlcHRoLCBHTGludCBzdGVuY2lsKTsKIAogICAgIC8vIFF1
ZXJ5IE9iamVjdHMuCiAgICAgV2ViR0xRdWVyeT8gY3JlYXRlUXVlcnkoKTsKLSAgICB2b2lkIGRl
bGV0ZVF1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKKyAgICB1bmRlZmluZWQgZGVsZXRlUXVlcnko
V2ViR0xRdWVyeT8gcXVlcnkpOwogICAgIEdMYm9vbGVhbiBpc1F1ZXJ5KFdlYkdMUXVlcnk/IHF1
ZXJ5KTsKLSAgICB2b2lkIGJlZ2luUXVlcnkoR0xlbnVtIHRhcmdldCwgV2ViR0xRdWVyeSBxdWVy
eSk7Ci0gICAgdm9pZCBlbmRRdWVyeShHTGVudW0gdGFyZ2V0KTsKKyAgICB1bmRlZmluZWQgYmVn
aW5RdWVyeShHTGVudW0gdGFyZ2V0LCBXZWJHTFF1ZXJ5IHF1ZXJ5KTsKKyAgICB1bmRlZmluZWQg
ZW5kUXVlcnkoR0xlbnVtIHRhcmdldCk7CiAgICAgV2ViR0xRdWVyeT8gZ2V0UXVlcnkoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIHBuYW1lKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55
XSBhbnkgZ2V0UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSBxdWVyeSwgR0xlbnVtIHBuYW1lKTsK
IAogICAgIC8vIFNhbXBsZXIgT2JqZWN0cy4KICAgICBXZWJHTFNhbXBsZXI/IGNyZWF0ZVNhbXBs
ZXIoKTsKLSAgICB2b2lkIGRlbGV0ZVNhbXBsZXIoV2ViR0xTYW1wbGVyPyBzYW1wbGVyKTsKKyAg
ICB1bmRlZmluZWQgZGVsZXRlU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwogICAgIEdM
Ym9vbGVhbiBpc1NhbXBsZXIoV2ViR0xTYW1wbGVyPyBzYW1wbGVyKTsKLSAgICB2b2lkIGJpbmRT
YW1wbGVyKEdMdWludCB1bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwotICAgIHZvaWQgc2Ft
cGxlclBhcmFtZXRlcmkoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFtZSwgR0xpbnQg
cGFyYW0pOwotICAgIHZvaWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVyIHNhbXBsZXIs
IEdMZW51bSBwbmFtZSwgR0xmbG9hdCBwYXJhbSk7CisgICAgdW5kZWZpbmVkIGJpbmRTYW1wbGVy
KEdMdWludCB1bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOworICAgIHVuZGVmaW5lZCBzYW1w
bGVyUGFyYW1ldGVyaShXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1lLCBHTGludCBw
YXJhbSk7CisgICAgdW5kZWZpbmVkIHNhbXBsZXJQYXJhbWV0ZXJmKFdlYkdMU2FtcGxlciBzYW1w
bGVyLCBHTGVudW0gcG5hbWUsIEdMZmxvYXQgcGFyYW0pOwogICAgIFtPdmVycmlkZUlETFR5cGU9
SURMV2ViR0xBbnldIGFueSBnZXRTYW1wbGVyUGFyYW1ldGVyKFdlYkdMU2FtcGxlciBzYW1wbGVy
LCBHTGVudW0gcG5hbWUpOwogCiAgICAgLy8gU3luYyBvYmplY3RzLgogICAgIFdlYkdMU3luYz8g
ZmVuY2VTeW5jKEdMZW51bSBjb25kaXRpb24sIEdMYml0ZmllbGQgZmxhZ3MpOwogICAgIEdMYm9v
bGVhbiBpc1N5bmMoV2ViR0xTeW5jPyBzeW5jKTsKLSAgICB2b2lkIGRlbGV0ZVN5bmMoV2ViR0xT
eW5jPyBzeW5jKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlU3luYyhXZWJHTFN5bmM/IHN5bmMpOwog
ICAgIEdMZW51bSBjbGllbnRXYWl0U3luYyhXZWJHTFN5bmMgc3luYywgR0xiaXRmaWVsZCBmbGFn
cywgR0x1aW50NjQgdGltZW91dCk7Ci0gICAgdm9pZCB3YWl0U3luYyhXZWJHTFN5bmMgc3luYywg
R0xiaXRmaWVsZCBmbGFncywgR0xpbnQ2NCB0aW1lb3V0KTsKKyAgICB1bmRlZmluZWQgd2FpdFN5
bmMoV2ViR0xTeW5jIHN5bmMsIEdMYml0ZmllbGQgZmxhZ3MsIEdMaW50NjQgdGltZW91dCk7CiAg
ICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFN5bmNQYXJhbWV0ZXIoV2Vi
R0xTeW5jIHN5bmMsIEdMZW51bSBwbmFtZSk7CiAKICAgICAvLyBUcmFuc2Zvcm0gRmVlZGJhY2su
CiAgICAgV2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz8gY3JlYXRlVHJhbnNmb3JtRmVlZGJhY2soKTsK
LSAgICB2b2lkIGRlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/
IGlkKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zv
cm1GZWVkYmFjaz8gaWQpOwogICAgIEdMYm9vbGVhbiBpc1RyYW5zZm9ybUZlZWRiYWNrKFdlYkdM
VHJhbnNmb3JtRmVlZGJhY2s/IGlkKTsKLSAgICB2b2lkIGJpbmRUcmFuc2Zvcm1GZWVkYmFjayhH
TGVudW0gdGFyZ2V0LCBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7Ci0gICAgdm9pZCBiZWdp
blRyYW5zZm9ybUZlZWRiYWNrKEdMZW51bSBwcmltaXRpdmVNb2RlKTsKLSAgICB2b2lkIGVuZFRy
YW5zZm9ybUZlZWRiYWNrKCk7Ci0gICAgdm9pZCB0cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKFdl
YkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+IHZhcnlpbmdzLCBHTGVudW0g
YnVmZmVyTW9kZSk7CisgICAgdW5kZWZpbmVkIGJpbmRUcmFuc2Zvcm1GZWVkYmFjayhHTGVudW0g
dGFyZ2V0LCBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7CisgICAgdW5kZWZpbmVkIGJlZ2lu
VHJhbnNmb3JtRmVlZGJhY2soR0xlbnVtIHByaW1pdGl2ZU1vZGUpOworICAgIHVuZGVmaW5lZCBl
bmRUcmFuc2Zvcm1GZWVkYmFjaygpOworICAgIHVuZGVmaW5lZCB0cmFuc2Zvcm1GZWVkYmFja1Zh
cnlpbmdzKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+IHZhcnlpbmdz
LCBHTGVudW0gYnVmZmVyTW9kZSk7CiAgICAgV2ViR0xBY3RpdmVJbmZvPyBnZXRUcmFuc2Zvcm1G
ZWVkYmFja1ZhcnlpbmcoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCk7Ci0gICAg
dm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7Ci0gICAgdm9pZCByZXN1bWVUcmFuc2Zvcm1G
ZWVkYmFjaygpOworICAgIHVuZGVmaW5lZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7CisgICAg
dW5kZWZpbmVkIHJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAKICAgICAvLyBVbmlmb3JtIEJ1
ZmZlciBPYmplY3RzIGFuZCBUcmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycy4KLSAgICB2b2lkIGJp
bmRCdWZmZXJCYXNlKEdMZW51bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1
ZmZlcik7Ci0gICAgdm9pZCBiaW5kQnVmZmVyUmFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGlu
ZGV4LCBXZWJHTEJ1ZmZlcj8gYnVmZmVyLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWlwdHIgc2l6
ZSk7CisgICAgdW5kZWZpbmVkIGJpbmRCdWZmZXJCYXNlKEdMZW51bSB0YXJnZXQsIEdMdWludCBp
bmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGJpbmRCdWZmZXJSYW5n
ZShHTGVudW0gdGFyZ2V0LCBHTHVpbnQgaW5kZXgsIFdlYkdMQnVmZmVyPyBidWZmZXIsIEdMaW50
cHRyIG9mZnNldCwgR0xzaXplaXB0ciBzaXplKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdl
YkdMQW55XSBhbnkgZ2V0SW5kZXhlZFBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTHVpbnQgaW5k
ZXgpOwogICAgIHNlcXVlbmNlPEdMdWludD4/IGdldFVuaWZvcm1JbmRpY2VzKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+IHVuaWZvcm1OYW1lcyk7CiAgICAgW092ZXJy
aWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldEFjdGl2ZVVuaWZvcm1zKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBzZXF1ZW5jZTxHTHVpbnQ+IHVuaWZvcm1JbmRpY2VzLCBHTGVudW0gcG5hbWUp
OwogICAgIEdMdWludCBnZXRVbmlmb3JtQmxvY2tJbmRleChXZWJHTFByb2dyYW0gcHJvZ3JhbSwg
RE9NU3RyaW5nIHVuaWZvcm1CbG9ja05hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2Vi
R0xBbnldIGFueSBnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoV2ViR0xQcm9ncmFtIHBy
b2dyYW0sIEdMdWludCB1bmlmb3JtQmxvY2tJbmRleCwgR0xlbnVtIHBuYW1lKTsKICAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBET01TdHJpbmc/IGdldEFjdGl2ZVVuaWZvcm1CbG9j
a05hbWUoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCB1bmlmb3JtQmxvY2tJbmRleCk7Ci0g
ICAgdm9pZCB1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQg
dW5pZm9ybUJsb2NrSW5kZXgsIEdMdWludCB1bmlmb3JtQmxvY2tCaW5kaW5nKTsKKyAgICB1bmRl
ZmluZWQgdW5pZm9ybUJsb2NrQmluZGluZyhXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IHVu
aWZvcm1CbG9ja0luZGV4LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmluZGluZyk7CiAKICAgICAvLyBW
ZXJ0ZXggQXJyYXkgT2JqZWN0cy4KICAgICBXZWJHTFZlcnRleEFycmF5T2JqZWN0PyBjcmVhdGVW
ZXJ0ZXhBcnJheSgpOwotICAgIHZvaWQgZGVsZXRlVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJh
eU9iamVjdD8gdmVydGV4QXJyYXkpOworICAgIHVuZGVmaW5lZCBkZWxldGVWZXJ0ZXhBcnJheShX
ZWJHTFZlcnRleEFycmF5T2JqZWN0PyB2ZXJ0ZXhBcnJheSk7CiAgICAgR0xib29sZWFuIGlzVmVy
dGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4QXJyYXkpOwotICAgIHZvaWQg
YmluZFZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKKyAg
ICB1bmRlZmluZWQgYmluZFZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IHZlcnRl
eEFycmF5KTsKIAogICAgIC8vIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgQVBJLgogCi0gICAgdm9p
ZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVt
IGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
aW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNl
KTsKLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9y
ZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEs
IEdMdWludCBzcmNPZmZzZXQpOwotCi0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRy
IHBib09mZnNldCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleFN1YkltYWdlMkQo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6
ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJy
YXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCi0gICAgdm9pZCBjb21w
cmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBH
THNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRU
ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3Jt
YXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVm
ZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVu
Z3RoT3ZlcnJpZGUgPSAwKTsKLQotICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdl
U2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZm
ZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5n
dGhPdmVycmlkZSA9IDApOwotCi0gICAgdm9pZCB1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3Jj
T2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3Jt
NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1
aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotCi0gICAgdm9p
ZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRh
dGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAg
ICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxp
c3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OwotICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIElu
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKLQotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lk
IHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xl
YW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxp
c3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50
IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdGV4SW1hZ2UyRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBU
ZXhJbWFnZVNvdXJjZSBzb3VyY2UpOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUs
IEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0KTsKKworICAgIHVuZGVm
aW5lZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVt
IGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXpl
aSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3Vy
Y2UpOworICAgIHVuZGVmaW5lZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBzcmNE
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0KTsKKworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4SW1h
Z2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdl
U2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleEltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xz
aXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3
IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVy
cmlkZSA9IDApOworCisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51
bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNp
emUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdW5kZWZpbmVkIHVuaWZvcm0xZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0y
ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVp
bnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZp
bmVkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7
CisgICAgdW5kZWZpbmVkIHVuaWZvcm00ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3Jj
TGVuZ3RoID0gMCk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yaXYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNl
dCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3Jt
M2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWlu
dCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmlu
ZWQgdW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBk
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisK
KyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9j
YXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5p
Zm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDRmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJM
aXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAw
KTsKIAotICAgIHZvaWQgcmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9m
ZnNldCk7Ci0gICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lk
dGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZm
ZXJWaWV3IGRzdERhdGEsIEdMdWludCBkc3RPZmZzZXQpOworICAgIHVuZGVmaW5lZCByZWFkUGl4
ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQg
cmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBkc3REYXRhLCBH
THVpbnQgZHN0T2Zmc2V0KTsKIH07CiAKIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgaW1wbGVtZW50
cyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xEcmF3QnVmZmVycy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw1ICs2OCw1IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBHTGVudW07CiAgICAg
Y29uc3QgR0xlbnVtIE1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCA9IDB4OENERjsKICAgICBj
b25zdCBHTGVudW0gTUFYX0RSQVdfQlVGRkVSU19XRUJHTCA9IDB4ODgyNDsKIAotICAgIHZvaWQg
ZHJhd0J1ZmZlcnNXRUJHTChzZXF1ZW5jZTxHTGVudW0+IGJ1ZmZlcnMpOworICAgIHVuZGVmaW5l
ZCBkcmF3QnVmZmVyc1dFQkdMKHNlcXVlbmNlPEdMZW51bT4gYnVmZmVycyk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4dC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4dC5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9zZUNv
bnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgQ29uZGl0aW9u
YWw9V0VCR0wsCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsV2ViR0xSZW5kZXJpbmdDb250
ZXh0LAogXSBpbnRlcmZhY2UgV2ViR0xMb3NlQ29udGV4dCB7Ci0gICAgdm9pZCBsb3NlQ29udGV4
dCgpOwotICAgIHZvaWQgcmVzdG9yZUNvbnRleHQoKTsKKyAgICB1bmRlZmluZWQgbG9zZUNvbnRl
eHQoKTsKKyAgICB1bmRlZmluZWQgcmVzdG9yZUNvbnRleHQoKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ4MSw0MSAr
NDgxLDQxIEBAIHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgR0xzaXplaSBkcmF3aW5nQnVmZmVyV2lkdGg7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsKIAotICAgIHZvaWQgYWN0
aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRhY2hTaGFkZXIoV2ViR0xQ
cm9ncmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7Ci0gICAgdm9pZCBiaW5kQXR0cmli
TG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCwgRE9NU3RyaW5nIG5h
bWUpOwotICAgIHZvaWQgYmluZEJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBXZWJHTEJ1ZmZlcj8gYnVm
ZmVyKTsKLSAgICB2b2lkIGJpbmRGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBXZWJHTEZyYW1l
YnVmZmVyPyBmcmFtZWJ1ZmZlcik7Ci0gICAgdm9pZCBiaW5kUmVuZGVyYnVmZmVyKEdMZW51bSB0
YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIpOwotICAgIHZvaWQgYmluZFRl
eHR1cmUoR0xlbnVtIHRhcmdldCwgV2ViR0xUZXh0dXJlPyB0ZXh0dXJlKTsKLSAgICB2b2lkIGJs
ZW5kQ29sb3IoR0xjbGFtcGYgcmVkLCBHTGNsYW1wZiBncmVlbiwgR0xjbGFtcGYgYmx1ZSwgR0xj
bGFtcGYgYWxwaGEpOwotICAgIHZvaWQgYmxlbmRFcXVhdGlvbihHTGVudW0gbW9kZSk7Ci0gICAg
dm9pZCBibGVuZEVxdWF0aW9uU2VwYXJhdGUoR0xlbnVtIG1vZGVSR0IsIEdMZW51bSBtb2RlQWxw
aGEpOwotICAgIHZvaWQgYmxlbmRGdW5jKEdMZW51bSBzZmFjdG9yLCBHTGVudW0gZGZhY3Rvcik7
Ci0gICAgdm9pZCBibGVuZEZ1bmNTZXBhcmF0ZShHTGVudW0gc3JjUkdCLCBHTGVudW0gZHN0UkdC
LCBHTGVudW0gc3JjQWxwaGEsIEdMZW51bSBkc3RBbHBoYSk7Ci0gICAgdm9pZCBidWZmZXJEYXRh
KEdMZW51bSB0YXJnZXQsIEJ1ZmZlckRhdGFTb3VyY2U/IGRhdGEsIEdMZW51bSB1c2FnZSk7Ci0g
ICAgdm9pZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWlwdHIgc2l6ZSwgR0xlbnVt
IHVzYWdlKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIg
b2Zmc2V0LCBCdWZmZXJEYXRhU291cmNlIGRhdGEpOworICAgIHVuZGVmaW5lZCBhY3RpdmVUZXh0
dXJlKEdMZW51bSB0ZXh0dXJlKTsKKyAgICB1bmRlZmluZWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJv
Z3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHVuZGVmaW5lZCBiaW5kQXR0
cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCwgRE9NU3RyaW5n
IG5hbWUpOworICAgIHVuZGVmaW5lZCBiaW5kQnVmZmVyKEdMZW51bSB0YXJnZXQsIFdlYkdMQnVm
ZmVyPyBidWZmZXIpOworICAgIHVuZGVmaW5lZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdl
dCwgV2ViR0xGcmFtZWJ1ZmZlcj8gZnJhbWVidWZmZXIpOworICAgIHVuZGVmaW5lZCBiaW5kUmVu
ZGVyYnVmZmVyKEdMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIp
OworICAgIHVuZGVmaW5lZCBiaW5kVGV4dHVyZShHTGVudW0gdGFyZ2V0LCBXZWJHTFRleHR1cmU/
IHRleHR1cmUpOworICAgIHVuZGVmaW5lZCBibGVuZENvbG9yKEdMY2xhbXBmIHJlZCwgR0xjbGFt
cGYgZ3JlZW4sIEdMY2xhbXBmIGJsdWUsIEdMY2xhbXBmIGFscGhhKTsKKyAgICB1bmRlZmluZWQg
YmxlbmRFcXVhdGlvbihHTGVudW0gbW9kZSk7CisgICAgdW5kZWZpbmVkIGJsZW5kRXF1YXRpb25T
ZXBhcmF0ZShHTGVudW0gbW9kZVJHQiwgR0xlbnVtIG1vZGVBbHBoYSk7CisgICAgdW5kZWZpbmVk
IGJsZW5kRnVuYyhHTGVudW0gc2ZhY3RvciwgR0xlbnVtIGRmYWN0b3IpOworICAgIHVuZGVmaW5l
ZCBibGVuZEZ1bmNTZXBhcmF0ZShHTGVudW0gc3JjUkdCLCBHTGVudW0gZHN0UkdCLCBHTGVudW0g
c3JjQWxwaGEsIEdMZW51bSBkc3RBbHBoYSk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlckRhdGEoR0xl
bnVtIHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZT8gZGF0YSwgR0xlbnVtIHVzYWdlKTsKKyAgICB1
bmRlZmluZWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBHTHNpemVpcHRyIHNpemUsIEdMZW51
bSB1c2FnZSk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xp
bnRwdHIgb2Zmc2V0LCBCdWZmZXJEYXRhU291cmNlIGRhdGEpOwogCiAgICAgR0xlbnVtIGNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoR0xlbnVtIHRhcmdldCk7Ci0gICAgdm9pZCBjbGVhcihHTGJpdGZp
ZWxkIG1hc2spOwotICAgIHZvaWQgY2xlYXJDb2xvcihHTGNsYW1wZiByZWQsIEdMY2xhbXBmIGdy
ZWVuLCBHTGNsYW1wZiBibHVlLCBHTGNsYW1wZiBhbHBoYSk7Ci0gICAgdm9pZCBjbGVhckRlcHRo
KEdMY2xhbXBmIGRlcHRoKTsKLSAgICB2b2lkIGNsZWFyU3RlbmNpbChHTGludCBzKTsKLSAgICB2
b2lkIGNvbG9yTWFzayhHTGJvb2xlYW4gcmVkLCBHTGJvb2xlYW4gZ3JlZW4sIEdMYm9vbGVhbiBi
bHVlLCBHTGJvb2xlYW4gYWxwaGEpOwotICAgIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRl
ciBzaGFkZXIpOwotCi0gICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZp
ZXc/IHBpeGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZv
cm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CisgICAgdW5kZWZpbmVk
IGNsZWFyKEdMYml0ZmllbGQgbWFzayk7CisgICAgdW5kZWZpbmVkIGNsZWFyQ29sb3IoR0xjbGFt
cGYgcmVkLCBHTGNsYW1wZiBncmVlbiwgR0xjbGFtcGYgYmx1ZSwgR0xjbGFtcGYgYWxwaGEpOwor
ICAgIHVuZGVmaW5lZCBjbGVhckRlcHRoKEdMY2xhbXBmIGRlcHRoKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXJTdGVuY2lsKEdMaW50IHMpOworICAgIHVuZGVmaW5lZCBjb2xvck1hc2soR0xib29sZWFu
IHJlZCwgR0xib29sZWFuIGdyZWVuLCBHTGJvb2xlYW4gYmx1ZSwgR0xib29sZWFuIGFscGhhKTsK
KyAgICB1bmRlZmluZWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFkZXIpOworCisgICAg
dW5kZWZpbmVkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBp
bnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRl
ciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdM
ZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3VyY2UpOwogCi0gICAgdm9pZCB0ZXhTdWJJbWFn
ZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVt
IHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9m
ZnNldCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdl
U291cmNlIHNvdXJjZSk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lk
dGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZm
ZXJWaWV3PyBwaXhlbHMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3Vy
Y2UpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgdm9pZCBjb21w
cmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9m
ZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3Nl
ZFRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlC
dWZmZXJWaWV3IGRhdGEpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwg
R0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKIAotICAgIHZvaWQgY29weVRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlcik7Ci0gICAgdm9pZCBjb3B5VGV4
U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xp
bnQgeW9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyKTsKKyAgICB1bmRlZmluZWQgY29weVRl
eFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdM
aW50IHlvZmZzZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0KTsKIAogICAgIFdlYkdMQnVmZmVyIGNyZWF0ZUJ1ZmZlcigpOwogICAgIFdlYkdMRnJhbWVi
dWZmZXIgY3JlYXRlRnJhbWVidWZmZXIoKTsKQEAgLTUyNCwzMiArNTI0LDMyIEBAIHR5cGVkZWYg
KEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICBXZWJHTFNoYWRlciBjcmVhdGVT
aGFkZXIoR0xlbnVtIHR5cGUpOwogICAgIFdlYkdMVGV4dHVyZSBjcmVhdGVUZXh0dXJlKCk7CiAK
LSAgICB2b2lkIGN1bGxGYWNlKEdMZW51bSBtb2RlKTsKKyAgICB1bmRlZmluZWQgY3VsbEZhY2Uo
R0xlbnVtIG1vZGUpOwogCi0gICAgdm9pZCBkZWxldGVCdWZmZXIoV2ViR0xCdWZmZXI/IGJ1ZmZl
cik7Ci0gICAgdm9pZCBkZWxldGVGcmFtZWJ1ZmZlcihXZWJHTEZyYW1lYnVmZmVyPyBmcmFtZWJ1
ZmZlcik7Ci0gICAgdm9pZCBkZWxldGVQcm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJvZ3JhbSk7Ci0g
ICAgdm9pZCBkZWxldGVSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1ZmZl
cik7Ci0gICAgdm9pZCBkZWxldGVTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7Ci0gICAgdm9p
ZCBkZWxldGVUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7Ci0KLSAgICB2b2lkIGRlcHRo
RnVuYyhHTGVudW0gZnVuYyk7Ci0gICAgdm9pZCBkZXB0aE1hc2soR0xib29sZWFuIGZsYWcpOwot
ICAgIHZvaWQgZGVwdGhSYW5nZShHTGNsYW1wZiB6TmVhciwgR0xjbGFtcGYgekZhcik7Ci0gICAg
dm9pZCBkZXRhY2hTaGFkZXIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRl
cik7Ci0gICAgdm9pZCBkaXNhYmxlKEdMZW51bSBjYXApOwotICAgIHZvaWQgZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KEdMdWludCBpbmRleCk7Ci0gICAgdm9pZCBkcmF3QXJyYXlzKEdMZW51bSBt
b2RlLCBHTGludCBmaXJzdCwgR0xzaXplaSBjb3VudCk7Ci0gICAgdm9pZCBkcmF3RWxlbWVudHMo
R0xlbnVtIG1vZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQp
OwotCi0gICAgdm9pZCBlbmFibGUoR0xlbnVtIGNhcCk7Ci0gICAgdm9pZCBlbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheShHTHVpbnQgaW5kZXgpOwotICAgIHZvaWQgZmluaXNoKCk7Ci0gICAgdm9pZCBm
bHVzaCgpOwotICAgIHZvaWQgZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xlbnVtIHRhcmdldCwg
R0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSByZW5kZXJidWZmZXJ0YXJnZXQsIFdlYkdMUmVuZGVy
YnVmZmVyPyByZW5kZXJidWZmZXIpOwotICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlMkQoR0xl
bnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSB0ZXh0YXJnZXQsIFdlYkdMVGV4
dHVyZT8gdGV4dHVyZSwgR0xpbnQgbGV2ZWwpOwotICAgIHZvaWQgZnJvbnRGYWNlKEdMZW51bSBt
b2RlKTsKLSAgICB2b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOworICAgIHVuZGVm
aW5lZCBkZWxldGVCdWZmZXIoV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGRl
bGV0ZUZyYW1lYnVmZmVyKFdlYkdMRnJhbWVidWZmZXI/IGZyYW1lYnVmZmVyKTsKKyAgICB1bmRl
ZmluZWQgZGVsZXRlUHJvZ3JhbShXZWJHTFByb2dyYW0/IHByb2dyYW0pOworICAgIHVuZGVmaW5l
ZCBkZWxldGVSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1ZmZlcik7Cisg
ICAgdW5kZWZpbmVkIGRlbGV0ZVNoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKKyAgICB1bmRl
ZmluZWQgZGVsZXRlVGV4dHVyZShXZWJHTFRleHR1cmU/IHRleHR1cmUpOworCisgICAgdW5kZWZp
bmVkIGRlcHRoRnVuYyhHTGVudW0gZnVuYyk7CisgICAgdW5kZWZpbmVkIGRlcHRoTWFzayhHTGJv
b2xlYW4gZmxhZyk7CisgICAgdW5kZWZpbmVkIGRlcHRoUmFuZ2UoR0xjbGFtcGYgek5lYXIsIEdM
Y2xhbXBmIHpGYXIpOworICAgIHVuZGVmaW5lZCBkZXRhY2hTaGFkZXIoV2ViR0xQcm9ncmFtIHBy
b2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7CisgICAgdW5kZWZpbmVkIGRpc2FibGUoR0xlbnVt
IGNhcCk7CisgICAgdW5kZWZpbmVkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5k
ZXgpOworICAgIHVuZGVmaW5lZCBkcmF3QXJyYXlzKEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwg
R0xzaXplaSBjb3VudCk7CisgICAgdW5kZWZpbmVkIGRyYXdFbGVtZW50cyhHTGVudW0gbW9kZSwg
R0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNldCk7CisKKyAgICB1bmRl
ZmluZWQgZW5hYmxlKEdMZW51bSBjYXApOworICAgIHVuZGVmaW5lZCBlbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheShHTHVpbnQgaW5kZXgpOworICAgIHVuZGVmaW5lZCBmaW5pc2goKTsKKyAgICB1bmRl
ZmluZWQgZmx1c2goKTsKKyAgICB1bmRlZmluZWQgZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xl
bnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSByZW5kZXJidWZmZXJ0YXJnZXQs
IFdlYkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIpOworICAgIHVuZGVmaW5lZCBmcmFtZWJ1
ZmZlclRleHR1cmUyRChHTGVudW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHRl
eHRhcmdldCwgV2ViR0xUZXh0dXJlPyB0ZXh0dXJlLCBHTGludCBsZXZlbCk7CisgICAgdW5kZWZp
bmVkIGZyb250RmFjZShHTGVudW0gbW9kZSk7CisgICAgdW5kZWZpbmVkIGdlbmVyYXRlTWlwbWFw
KEdMZW51bSB0YXJnZXQpOwogICAgIAogICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVBdHRy
aWIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCk7CiAgICAgV2ViR0xBY3RpdmVJ
bmZvIGdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCk7
CkBAIC01OTEsNyArNTkxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2Fu
dmFzOwogCiAgICAgR0xzaXplaXB0ciBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoR0x1aW50IGluZGV4
LCBHTGVudW0gcG5hbWUpOwogCi0gICAgdm9pZCBoaW50KEdMZW51bSB0YXJnZXQsIEdMZW51bSBt
b2RlKTsKKyAgICB1bmRlZmluZWQgaGludChHTGVudW0gdGFyZ2V0LCBHTGVudW0gbW9kZSk7CiAg
ICAgR0xib29sZWFuIGlzQnVmZmVyKFdlYkdMQnVmZmVyPyBidWZmZXIpOwogICAgIEdMYm9vbGVh
biBpc0NvbnRleHRMb3N0KCk7CiAgICAgR0xib29sZWFuIGlzRW5hYmxlZChHTGVudW0gY2FwKTsK
QEAgLTYwMCw2OCArNjAwLDY4IEBAIHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENh
bnZhczsKICAgICBHTGJvb2xlYW4gaXNSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJidWZmZXI/IHJl
bmRlcmJ1ZmZlcik7CiAgICAgR0xib29sZWFuIGlzU2hhZGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIp
OwogICAgIEdMYm9vbGVhbiBpc1RleHR1cmUoV2ViR0xUZXh0dXJlPyB0ZXh0dXJlKTsKLSAgICB2
b2lkIGxpbmVXaWR0aChHTGZsb2F0IHdpZHRoKTsKLSAgICB2b2lkIGxpbmtQcm9ncmFtKFdlYkdM
UHJvZ3JhbSBwcm9ncmFtKTsKKyAgICB1bmRlZmluZWQgbGluZVdpZHRoKEdMZmxvYXQgd2lkdGgp
OworICAgIHVuZGVmaW5lZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CiAKLSAg
ICBbTmV3T2JqZWN0LCBDb25kaXRpb25hbD1XRUJYUl0gUHJvbWlzZTx2b2lkPiBtYWtlWFJDb21w
YXRpYmxlKCk7CisgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFByb21pc2U8dW5k
ZWZpbmVkPiBtYWtlWFJDb21wYXRpYmxlKCk7CiAKLSAgICB2b2lkIHBpeGVsU3RvcmVpKEdMZW51
bSBwbmFtZSwgR0xpbnQgcGFyYW0pOwotICAgIHZvaWQgcG9seWdvbk9mZnNldChHTGZsb2F0IGZh
Y3RvciwgR0xmbG9hdCB1bml0cyk7CisgICAgdW5kZWZpbmVkIHBpeGVsU3RvcmVpKEdMZW51bSBw
bmFtZSwgR0xpbnQgcGFyYW0pOworICAgIHVuZGVmaW5lZCBwb2x5Z29uT2Zmc2V0KEdMZmxvYXQg
ZmFjdG9yLCBHTGZsb2F0IHVuaXRzKTsKIAotICAgIHZvaWQgcmVhZFBpeGVscyhHTGludCB4LCBH
TGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBwaXhlbHMpOworICAgIHVuZGVmaW5lZCByZWFkUGl4
ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHBpeGVscyk7CiAgICAgCi0g
ICAgdm9pZCByZW5kZXJidWZmZXJTdG9yYWdlKEdMZW51bSB0YXJnZXQsIEdMZW51bSBpbnRlcm5h
bGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgc2FtcGxl
Q292ZXJhZ2UoR0xjbGFtcGYgdmFsdWUsIEdMYm9vbGVhbiBpbnZlcnQpOwotICAgIHZvaWQgc2Np
c3NvcihHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Ci0g
ICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIgc2hhZGVyLCBET01TdHJpbmcgc3RyaW5n
KTsKLSAgICB2b2lkIHN0ZW5jaWxGdW5jKEdMZW51bSBmdW5jLCBHTGludCByZWYsIEdMdWludCBt
YXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxGdW5jU2VwYXJhdGUoR0xlbnVtIGZhY2UsIEdMZW51bSBm
dW5jLCBHTGludCByZWYsIEdMdWludCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxNYXNrKEdMdWlu
dCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxNYXNrU2VwYXJhdGUoR0xlbnVtIGZhY2UsIEdMdWlu
dCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxPcChHTGVudW0gZmFpbCwgR0xlbnVtIHpmYWlsLCBH
TGVudW0genBhc3MpOwotICAgIHZvaWQgc3RlbmNpbE9wU2VwYXJhdGUoR0xlbnVtIGZhY2UsIEdM
ZW51bSBmYWlsLCBHTGVudW0gemZhaWwsIEdMZW51bSB6cGFzcyk7Ci0KLSAgICB2b2lkIHRleFBh
cmFtZXRlcmYoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1lLCBHTGZsb2F0IHBhcmFtKTsKLSAg
ICB2b2lkIHRleFBhcmFtZXRlcmkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1lLCBHTGludCBw
YXJhbSk7Ci0KLSAgICB2b2lkIHVuaWZvcm0xZihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMZmxvYXQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMmYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtM2YoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQgeSwgR0xmbG9h
dCB6KTsKLSAgICB2b2lkIHVuaWZvcm00ZihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHosIEdMZmxvYXQgdyk7Ci0KLSAgICB2b2lk
IHVuaWZvcm0xaShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50IHgpOwotICAg
IHZvaWQgdW5pZm9ybTJpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCwg
R0xpbnQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtM2koV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBHTGludCB4LCBHTGludCB5LCBHTGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm00aShXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHksIEdMaW50IHosIEdM
aW50IHcpOwotCi0gICAgdm9pZCB1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtM2Z2KFdl
YkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1
bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7
Ci0KLSAgICB2b2lkIHVuaWZvcm0xaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJ
bnQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtMml2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBs
b2NhdGlvbiwgSW50MzJMaXN0IHYpOwotICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1M
b2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2KTsKLSAgICB2b2lkIHVuaWZvcm00aXYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7Ci0KLSAgICB2b2lkIHVu
aWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4g
dHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBhcnJheSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2
KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxv
YXQzMkxpc3QgYXJyYXkpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1M
b2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5
KTsKLQotICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJHTFByb2dyYW0/IHByb2dyYW0pOwotICAgIHZv
aWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKLQotICAgIHZvaWQgdmVy
dGV4QXR0cmliMWYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgpOwotICAgIHZvaWQgdmVydGV4QXR0
cmliMmYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgsIEdMZmxvYXQgeSk7Ci0gICAgdm9pZCB2ZXJ0
ZXhBdHRyaWIzZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHop
OwotICAgIHZvaWQgdmVydGV4QXR0cmliNGYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgsIEdMZmxv
YXQgeSwgR0xmbG9hdCB6LCBHTGZsb2F0IHcpOwotCi0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWIxZnYo
R0x1aW50IGluZGV4LCBGbG9hdDMyTGlzdCB2YWx1ZXMpOwotICAgIHZvaWQgdmVydGV4QXR0cmli
MmZ2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFsdWVzKTsKLSAgICB2b2lkIHZlcnRleEF0
dHJpYjNmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0
ZXhBdHRyaWI0ZnYoR0x1aW50IGluZGV4LCBGbG9hdDMyTGlzdCB2YWx1ZXMpOworICAgIHVuZGVm
aW5lZCByZW5kZXJidWZmZXJTdG9yYWdlKEdMZW51bSB0YXJnZXQsIEdMZW51bSBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzYW1w
bGVDb3ZlcmFnZShHTGNsYW1wZiB2YWx1ZSwgR0xib29sZWFuIGludmVydCk7CisgICAgdW5kZWZp
bmVkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQpOworICAgIHVuZGVmaW5lZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIgc2hhZGVyLCBET01T
dHJpbmcgc3RyaW5nKTsKKyAgICB1bmRlZmluZWQgc3RlbmNpbEZ1bmMoR0xlbnVtIGZ1bmMsIEdM
aW50IHJlZiwgR0x1aW50IG1hc2spOworICAgIHVuZGVmaW5lZCBzdGVuY2lsRnVuY1NlcGFyYXRl
KEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFzayk7CisgICAg
dW5kZWZpbmVkIHN0ZW5jaWxNYXNrKEdMdWludCBtYXNrKTsKKyAgICB1bmRlZmluZWQgc3RlbmNp
bE1hc2tTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0x1aW50IG1hc2spOworICAgIHVuZGVmaW5lZCBz
dGVuY2lsT3AoR0xlbnVtIGZhaWwsIEdMZW51bSB6ZmFpbCwgR0xlbnVtIHpwYXNzKTsKKyAgICB1
bmRlZmluZWQgc3RlbmNpbE9wU2VwYXJhdGUoR0xlbnVtIGZhY2UsIEdMZW51bSBmYWlsLCBHTGVu
dW0gemZhaWwsIEdMZW51bSB6cGFzcyk7CisKKyAgICB1bmRlZmluZWQgdGV4UGFyYW1ldGVyZihH
TGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUsIEdMZmxvYXQgcGFyYW0pOworICAgIHVuZGVmaW5l
ZCB0ZXhQYXJhbWV0ZXJpKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSwgR0xpbnQgcGFyYW0p
OworCisgICAgdW5kZWZpbmVkIHVuaWZvcm0xZihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMZmxvYXQgeCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yZihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKKyAgICB1bmRlZmluZWQgdW5p
Zm9ybTNmKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xmbG9hdCB4LCBHTGZsb2F0
IHksIEdMZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm00ZihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHosIEdMZmxvYXQg
dyk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgR0xpbnQgeCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yaShXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHkpOworICAgIHVuZGVmaW5lZCB1bmlmb3Jt
M2koV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGludCB4LCBHTGludCB5LCBHTGlu
dCB6KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTRpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQgdyk7CisKKyAgICB1bmRlZmlu
ZWQgdW5pZm9ybTFmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0
IHYpOworICAgIHVuZGVmaW5lZCB1bmlmb3JtMmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgRmxvYXQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0zZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCB2KTsKKyAgICB1bmRlZmluZWQgdW5p
Zm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IHYpOwor
CisgICAgdW5kZWZpbmVkIHVuaWZvcm0xaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBJbnQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0zaXYo
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7CisgICAgdW5kZWZp
bmVkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qg
dik7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlv
bj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKKyAg
ICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKKyAgICB1bmRlZmlu
ZWQgdW5pZm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9v
bGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKKworICAgIHVuZGVmaW5lZCB1c2VQ
cm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJvZ3JhbSk7CisgICAgdW5kZWZpbmVkIHZhbGlkYXRlUHJv
Z3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmli
MWYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWIy
ZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKKyAgICB1bmRlZmluZWQgdmVy
dGV4QXR0cmliM2YoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgsIEdMZmxvYXQgeSwgR0xmbG9hdCB6
KTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliNGYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgs
IEdMZmxvYXQgeSwgR0xmbG9hdCB6LCBHTGZsb2F0IHcpOworCisgICAgdW5kZWZpbmVkIHZlcnRl
eEF0dHJpYjFmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7CisgICAgdW5kZWZp
bmVkIHZlcnRleEF0dHJpYjJmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7Cisg
ICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjNmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZh
bHVlcyk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjRmdihHTHVpbnQgaW5kZXgsIEZsb2F0
MzJMaXN0IHZhbHVlcyk7CiAKLSAgICB2b2lkIHZlcnRleEF0dHJpYlBvaW50ZXIoR0x1aW50IGlu
ZHgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTGJvb2xlYW4gbm9ybWFsaXplZCwgR0xzaXpl
aSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYlBv
aW50ZXIoR0x1aW50IGluZHgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTGJvb2xlYW4gbm9y
bWFsaXplZCwgR0xzaXplaSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7CiAKLSAgICB2b2lkIHZp
ZXdwb3J0KEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsK
KyAgICB1bmRlZmluZWQgdmlld3BvcnQoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRU
cmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VGV4dFRyYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTIgKzQ0LDEyIEBAIGVudW0gVGV4
dFRyYWNrS2luZCB7ICJzdWJ0aXRsZXMiLCAiY2FwdGkKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
VGV4dFRyYWNrQ3VlTGlzdD8gY3VlczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRyYWNr
Q3VlTGlzdD8gYWN0aXZlQ3VlczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGRD
dWUoVGV4dFRyYWNrQ3VlIGN1ZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92
ZUN1ZShUZXh0VHJhY2tDdWUgY3VlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBhZGRDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgcmVtb3ZlQ3VlKFRleHRUcmFja0N1ZSBjdWUpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbmN1ZWNoYW5nZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWVFRSZWdpb25M
aXN0IHJlZ2lvbnM7Ci0gICAgdm9pZCBhZGRSZWdpb24oVlRUUmVnaW9uIHJlZ2lvbik7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZVJlZ2lvbihWVFRSZWdpb24gcmVnaW9uKTsK
KyAgICB1bmRlZmluZWQgYWRkUmVnaW9uKFZUVFJlZ2lvbiByZWdpb24pOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92ZVJlZ2lvbihWVFRSZWdpb24gcmVnaW9uKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1h
bmRMaW5lQVBJSG9zdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEwICszNCwxMCBAQAogICAg
IE5vSW50ZXJmYWNlT2JqZWN0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50
ZXJmYWNlIENvbW1hbmRMaW5lQVBJSG9zdCB7Ci0gICAgdm9pZCBjbGVhckNvbnNvbGVNZXNzYWdl
cygpOwotICAgIHZvaWQgY29weVRleHQoRE9NU3RyaW5nIHRleHQpOworICAgIHVuZGVmaW5lZCBj
bGVhckNvbnNvbGVNZXNzYWdlcygpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4dChET01TdHJpbmcg
dGV4dCk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIGluc3BlY3QoYW55IG9i
amVjdFRvSW5zcGVjdCwgYW55IGhpbnRzKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1
bmRlZmluZWQgaW5zcGVjdChhbnkgb2JqZWN0VG9JbnNwZWN0LCBhbnkgaGludHMpOwogICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBpbnNwZWN0ZWRPYmplY3QoKTsKIAogICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3RdIHJlY29yZDxET01TdHJpbmcsIHNlcXVlbmNlPExpc3RlbmVyRW50
cnk+PiBnZXRFdmVudExpc3RlbmVycyhFdmVudFRhcmdldCB0YXJnZXQpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwzNCArMzQsMzQgQEAKICAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZh
Y2UgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IHsKLSAgICB2b2lkIGxvYWRlZCgpOwotICAgIHZvaWQg
Y2xvc2VXaW5kb3coKTsKLSAgICB2b2lkIHJlb3BlbigpOwotICAgIHZvaWQgcmVzZXQoKTsKKyAg
ICB1bmRlZmluZWQgbG9hZGVkKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlV2luZG93KCk7CisgICAg
dW5kZWZpbmVkIHJlb3BlbigpOworICAgIHVuZGVmaW5lZCByZXNldCgpOwogCi0gICAgdm9pZCBi
cmluZ1RvRnJvbnQoKTsKLSAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoRE9NU3RyaW5nIG5l
d1VSTCk7CisgICAgdW5kZWZpbmVkIGJyaW5nVG9Gcm9udCgpOworICAgIHVuZGVmaW5lZCBpbnNw
ZWN0ZWRVUkxDaGFuZ2VkKERPTVN0cmluZyBuZXdVUkwpOwogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gc3VwcG9ydHNTaG93Q2VydGlmaWNhdGU7CiAgICAgYm9vbGVhbiBzaG93Q2Vy
dGlmaWNhdGUoRE9NU3RyaW5nIHNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZSk7CiAKLSAgICB2b2lkIHNl
dFpvb21GYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb20pOworICAgIHVuZGVmaW5lZCBzZXRa
b29tRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCB6b29tKTsKICAgICBmbG9hdCB6b29tRmFjdG9y
KCk7CiAKLSAgICB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoRE9NU3RyaW5nIGFwcGVhcmFuY2Up
OworICAgIHVuZGVmaW5lZCBzZXRGb3JjZWRBcHBlYXJhbmNlKERPTVN0cmluZyBhcHBlYXJhbmNl
KTsKIAogICAgIERPTVN0cmluZyB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCk7CiAKICAg
ICBib29sZWFuIHN1cHBvcnRzRG9ja1NpZGUoRE9NU3RyaW5nIGRvY2tTaWRlKTsKLSAgICB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShET01TdHJpbmcgZG9ja1NpZGUpOworICAgIHVuZGVmaW5lZCBy
ZXF1ZXN0U2V0RG9ja1NpZGUoRE9NU3RyaW5nIGRvY2tTaWRlKTsKIAotICAgIHZvaWQgc2V0QXR0
YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgbG9uZyBoZWlnaHQpOwotICAgIHZvaWQgc2V0QXR0
YWNoZWRXaW5kb3dXaWR0aCh1bnNpZ25lZCBsb25nIHdpZHRoKTsKKyAgICB1bmRlZmluZWQgc2V0
QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5l
ZCBzZXRBdHRhY2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkIGxvbmcgd2lkdGgpOwogCi0gICAgdm9p
ZCBzZXRTaGVldFJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5
LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7CisgICAgdW5kZWZp
bmVkIHNldFNoZWV0UmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0
IHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsKIAotICAgIHZv
aWQgc3RhcnRXaW5kb3dEcmFnKCk7Ci0gICAgdm9pZCBtb3ZlV2luZG93QnkodW5yZXN0cmljdGVk
IGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5KTsKKyAgICB1bmRlZmluZWQgc3RhcnRXaW5k
b3dEcmFnKCk7CisgICAgdW5kZWZpbmVkIG1vdmVXaW5kb3dCeSh1bnJlc3RyaWN0ZWQgZmxvYXQg
eCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gaXNSZW1vdGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsb2NhbGl6ZWRT
dHJpbmdzVVJMOwpAQCAtNjksMzEgKzY5LDMxIEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgaW5zcGVjdGlvbkxldmVsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZWJ1
Z2dhYmxlSW5mbyBkZWJ1Z2dhYmxlSW5mbzsKIAotICAgIHZvaWQgY29weVRleHQoRE9NU3RyaW5n
IHRleHQpOwotICAgIHZvaWQga2lsbFRleHQoRE9NU3RyaW5nIHRleHQsIGJvb2xlYW4gc2hvdWxk
UHJlcGVuZFRvS2lsbFJpbmcsIGJvb2xlYW4gc2hvdWxkU3RhcnROZXdTZXF1ZW5jZSk7Ci0gICAg
dm9pZCBvcGVuSW5OZXdUYWIoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVkIGNvcHlUZXh0
KERPTVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQga2lsbFRleHQoRE9NU3RyaW5nIHRleHQs
IGJvb2xlYW4gc2hvdWxkUHJlcGVuZFRvS2lsbFJpbmcsIGJvb2xlYW4gc2hvdWxkU3RhcnROZXdT
ZXF1ZW5jZSk7CisgICAgdW5kZWZpbmVkIG9wZW5Jbk5ld1RhYihET01TdHJpbmcgdXJsKTsKICAg
ICBib29sZWFuIGNhblNhdmUoKTsKLSAgICB2b2lkIHNhdmUoRE9NU3RyaW5nIHVybCwgRE9NU3Ry
aW5nIGNvbnRlbnQsIGJvb2xlYW4gYmFzZTY0RW5jb2RlZCwgYm9vbGVhbiBmb3JjZVNhdmVBcyk7
Ci0gICAgdm9pZCBhcHBlbmQoRE9NU3RyaW5nIHVybCwgRE9NU3RyaW5nIGNvbnRlbnQpOwotICAg
IHZvaWQgY2xvc2UoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVkIHNhdmUoRE9NU3RyaW5n
IHVybCwgRE9NU3RyaW5nIGNvbnRlbnQsIGJvb2xlYW4gYmFzZTY0RW5jb2RlZCwgYm9vbGVhbiBm
b3JjZVNhdmVBcyk7CisgICAgdW5kZWZpbmVkIGFwcGVuZChET01TdHJpbmcgdXJsLCBET01TdHJp
bmcgY29udGVudCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKERPTVN0cmluZyB1cmwpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwb3J0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgcGxhdGZvcm07CiAKLSAgICB2b2lkIHNob3dDb250ZXh0TWVudShFdmVudCBl
dmVudCwgc2VxdWVuY2U8Q29udGV4dE1lbnVJdGVtPiBpdGVtcyk7Ci0gICAgdm9pZCBkaXNwYXRj
aEV2ZW50QXNDb250ZXh0TWVudUV2ZW50KEV2ZW50IGV2ZW50KTsKLSAgICB2b2lkIHNlbmRNZXNz
YWdlVG9CYWNrZW5kKERPTVN0cmluZyBtZXNzYWdlKTsKLSAgICB2b2lkIHVuYnVmZmVyZWRMb2co
RE9NU3RyaW5nIG1lc3NhZ2UpOworICAgIHVuZGVmaW5lZCBzaG93Q29udGV4dE1lbnUoRXZlbnQg
ZXZlbnQsIHNlcXVlbmNlPENvbnRleHRNZW51SXRlbT4gaXRlbXMpOworICAgIHVuZGVmaW5lZCBk
aXNwYXRjaEV2ZW50QXNDb250ZXh0TWVudUV2ZW50KEV2ZW50IGV2ZW50KTsKKyAgICB1bmRlZmlu
ZWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQoRE9NU3RyaW5nIG1lc3NhZ2UpOworICAgIHVuZGVmaW5l
ZCB1bmJ1ZmZlcmVkTG9nKERPTVN0cmluZyBtZXNzYWdlKTsKIAogICAgIGJvb2xlYW4gaXNVbmRl
clRlc3QoKTsKICAgICBib29sZWFuIGlzRXhwZXJpbWVudGFsQnVpbGQoKTsKIAotICAgIHZvaWQg
YmVlcCgpOwotICAgIHZvaWQgaW5zcGVjdEluc3BlY3RvcigpOworICAgIHVuZGVmaW5lZCBiZWVw
KCk7CisgICAgdW5kZWZpbmVkIGluc3BlY3RJbnNwZWN0b3IoKTsKICAgICBib29sZWFuIGlzQmVp
bmdJbnNwZWN0ZWQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRz
RGlhZ25vc3RpY0xvZ2dpbmc7Ci0gICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl9URUxFTUVUUlld
IHZvaWQgbG9nRGlhZ25vc3RpY0V2ZW50KERPTVN0cmluZyBldmVudE5hbWUsIERPTVN0cmluZyBj
b250ZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SX1RFTEVNRVRSWV0gdW5kZWZpbmVk
IGxvZ0RpYWdub3N0aWNFdmVudChET01TdHJpbmcgZXZlbnROYW1lLCBET01TdHJpbmcgY29udGVu
dCk7CiB9OwogCiBkaWN0aW9uYXJ5IENvbnRleHRNZW51SXRlbSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9N
QXBwbGljYXRpb25DYWNoZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3LDkgQEAKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBPQlNPTEVURSA9IDU7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIHNob3J0IHN0YXR1czsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCB1cGRhdGUoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3dhcENhY2hlKCk7Ci0g
ICAgdm9pZCBhYm9ydCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHVwZGF0
ZSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN3YXBDYWNoZSgpOworICAg
IHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoZWNr
aW5nOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEsMzQgKzQxLDM0
IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNDb2xsYXBzZWQ7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmFuZ2VDb3VudDsKIAotICAgIHZvaWQgY29s
bGFwc2UoTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29sbGFwc2VUb0VuZCgpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBjb2xsYXBzZVRvU3RhcnQoKTsKKyAgICB1bmRlZmluZWQgY29sbGFw
c2UoTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb2xsYXBzZVRvRW5kKCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29sbGFwc2VUb1N0YXJ0KCk7CiAKLSAgICBbQ0VSZWFj
dGlvbnNdIHZvaWQgZGVsZXRlRnJvbURvY3VtZW50KCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRl
ZmluZWQgZGVsZXRlRnJvbURvY3VtZW50KCk7CiAgICAgYm9vbGVhbiBjb250YWluc05vZGUoTm9k
ZSBub2RlLCBvcHRpb25hbCBib29sZWFuIGFsbG93UGFydGlhbCA9IGZhbHNlKTsKLSAgICB2b2lk
IHNlbGVjdEFsbENoaWxkcmVuKE5vZGUgbm9kZSk7CisgICAgdW5kZWZpbmVkIHNlbGVjdEFsbENo
aWxkcmVuKE5vZGUgbm9kZSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZXh0ZW5k
KE5vZGUgbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBleHRlbmQoTm9kZSBub2RlLCBvcHRpb25hbCB1bnNp
Z25lZCBsb25nIG9mZnNldCA9IDApOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBSYW5nZSBn
ZXRSYW5nZUF0KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgcmVtb3ZlQWxsUmFuZ2Vz
KCk7Ci0gICAgdm9pZCBhZGRSYW5nZShSYW5nZSByYW5nZSk7CisgICAgdW5kZWZpbmVkIHJlbW92
ZUFsbFJhbmdlcygpOworICAgIHVuZGVmaW5lZCBhZGRSYW5nZShSYW5nZSByYW5nZSk7CiAKICAg
ICBbTm90RW51bWVyYWJsZV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICB2b2lkIHNldEJhc2VBbmRFeHRlbnQoTm9k
ZT8gYmFzZU5vZGUsIHVuc2lnbmVkIGxvbmcgYmFzZU9mZnNldCwgTm9kZT8gZXh0ZW50Tm9kZSwg
dW5zaWduZWQgbG9uZyBleHRlbnRPZmZzZXQpOwotICAgIHZvaWQgc2V0UG9zaXRpb24oTm9kZT8g
bm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICB1bmRlZmluZWQg
c2V0QmFzZUFuZEV4dGVudChOb2RlPyBiYXNlTm9kZSwgdW5zaWduZWQgbG9uZyBiYXNlT2Zmc2V0
LCBOb2RlPyBleHRlbnROb2RlLCB1bnNpZ25lZCBsb25nIGV4dGVudE9mZnNldCk7CisgICAgdW5k
ZWZpbmVkIHNldFBvc2l0aW9uKE5vZGU/IG5vZGUsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zm
c2V0ID0gMCk7CiAKLSAgICB2b2lkIGVtcHR5KCk7CisgICAgdW5kZWZpbmVkIGVtcHR5KCk7CiAK
ICAgICAvLyBGSVhNRTogVGhlIGZvbGxvd2luZyBvcGVyYXRpb24gc2hvdWxkIGJlIGltcGxlbWVu
dGVkLgotICAgIC8vIHZvaWQgcmVtb3ZlUmFuZ2UoUmFuZ2UgcmFuZ2UpOworICAgIC8vIHVuZGVm
aW5lZCByZW1vdmVSYW5nZShSYW5nZSByYW5nZSk7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVu
ZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBt
b2RpZnkob3B0aW9uYWwgRE9NU3RyaW5nIGFsdGVyID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIERP
TVN0cmluZyBkaXJlY3Rpb24gPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGdyYW51
bGFyaXR5ID0gInVuZGVmaW5lZCIpOworICAgIHVuZGVmaW5lZCBtb2RpZnkob3B0aW9uYWwgRE9N
U3RyaW5nIGFsdGVyID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24g
PSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGdyYW51bGFyaXR5ID0gInVuZGVmaW5l
ZCIpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IGJhc2VOb2RlOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJhc2VPZmZzZXQ7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY1LDExICs2NSwxMSBAQCB0eXBlZGVm
IFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBCYXJQcm9wIHN0YXR1c2JhcjsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBCYXJQcm9wIHRvb2xiYXI7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdGF0dXM7Ci0g
ICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndh
cmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgY2xvc2UoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5
LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5k
ZWZpbmVkIGNsb3NlKCk7CiAgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgRm9yd2FyZERlY2xhcmVJ
bkhlYWRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2xvc2VkOwotICAgIHZvaWQgc3Rv
cCgpOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHksIENhbGxXaXRoPUluY3VtYmVudFdpbmRvdywg
Rm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBmb2N1cygpOwotICAgIFtEb05vdENoZWNrU2Vj
dXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgYmx1cigpOworICAgIHVuZGVmaW5l
ZCBzdG9wKCk7CisgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50V2lu
ZG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZm9jdXMoKTsKKyAgICBbRG9O
b3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgYmx1cigp
OwogCiAgICAgLy8gT3RoZXIgYnJvd3NpbmcgY29udGV4dHMuCiAgICAgW1JlcGxhY2VhYmxlLCBE
b05vdENoZWNrU2VjdXJpdHlPbkdldHRlciwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1
dGUgV2luZG93UHJveHkgZnJhbWVzOwpAQCAtODUsMjQgKzg1LDI0IEBAIHR5cGVkZWYgVVNWU3Ry
aW5nIENTU09NU3RyaW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01BcHBsaWNhdGlvbkNh
Y2hlIGFwcGxpY2F0aW9uQ2FjaGU7CiAKICAgICAvLyBVc2VyIHByb21wdHMuCi0gICAgdm9pZCBh
bGVydCgpOwotICAgIHZvaWQgYWxlcnQoRE9NU3RyaW5nIG1lc3NhZ2UpOworICAgIHVuZGVmaW5l
ZCBhbGVydCgpOworICAgIHVuZGVmaW5lZCBhbGVydChET01TdHJpbmcgbWVzc2FnZSk7CiAgICAg
W0ltcGxlbWVudGVkQXM9Y29uZmlybUZvckJpbmRpbmdzXWJvb2xlYW4gY29uZmlybShvcHRpb25h
bCBET01TdHJpbmcgbWVzc2FnZSA9ICIiKTsKICAgICBET01TdHJpbmc/IHByb21wdChvcHRpb25h
bCBET01TdHJpbmcgbWVzc2FnZSA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgZGVmYXVsdFZhbHVl
ID0gIiIpOwotICAgIHZvaWQgcHJpbnQoKTsKKyAgICB1bmRlZmluZWQgcHJpbnQoKTsKIAogICAg
IGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNr
IGNhbGxiYWNrKTsgLy8gRklYTUU6IFNob3VsZCByZXR1cm4gYW4gdW5zaWduZWQgbG9uZy4KLSAg
ICB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8gRklYTUU6IGhhbmRs
ZSBzaG91bGQgYmUgYW4gdW5zaWduZWQgbG9uZy4KKyAgICB1bmRlZmluZWQgY2FuY2VsQW5pbWF0
aW9uRnJhbWUobG9uZyBoYW5kbGUpOyAvLyBGSVhNRTogaGFuZGxlIHNob3VsZCBiZSBhbiB1bnNp
Z25lZCBsb25nLgogCiAgICAgW0VuYWJsZWRCeVNldHRpbmc9cmVxdWVzdElkbGVDYWxsYmFja10g
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRsZUNhbGxiYWNrKElkbGVSZXF1ZXN0Q2FsbGJhY2sgY2Fs
bGJhY2ssIG9wdGlvbmFsIElkbGVSZXF1ZXN0T3B0aW9ucyBvcHRpb25zKTsKLSAgICBbRW5hYmxl
ZEJ5U2V0dGluZz1yZXF1ZXN0SWRsZUNhbGxiYWNrXSB2b2lkIGNhbmNlbElkbGVDYWxsYmFjayh1
bnNpZ25lZCBsb25nIGhhbmRsZSk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9cmVxdWVzdElkbGVD
YWxsYmFja10gdW5kZWZpbmVkIGNhbmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBsb25nIGhhbmRs
ZSk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0JkluY3VtYmVudFdpbmRvdywgRG9Ob3RD
aGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0
aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKLSAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0JkluY3VtYmVudFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVj
bGFyZUluSGVhZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVz
c2FnZSwgb3B0aW9uYWwgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3QmSW5jdW1iZW50V2luZG93LCBEb05vdENoZWNrU2VjdXJpdHks
IEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4sIG9wdGlvbmFsIHNl
cXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCZJbmN1bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eSwgRm9yd2FyZERlY2xhcmVJbkhl
YWRlciwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2Fn
ZSwgb3B0aW9uYWwgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgLy8g
T2Jzb2xldGUgbWVtYmVycywgc3RpbGwgcGFydCBvZiB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uICho
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNXaW5kb3ctcGFydGlhbCkuCi0gICAgdm9pZCBj
YXB0dXJlRXZlbnRzKCk7IC8vIE5vdCBpbXBsZW1lbnRlZC4gQWxzbyBub3QgaW4gbW9kZXJuIHN0
YW5kYXJkcy4gRW1wdHkgZnVuY3Rpb24gbWF5IGhlbHAgY29tcGF0aWJpbGl0eSB3aXRoIGxlZ2Fj
eSBjb250ZW50LgotICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOyAvLyBOb3QgaW1wbGVtZW50ZWQu
IEFsc28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1heSBoZWxwIGNv
bXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVudC4KKyAgICB1bmRlZmluZWQgY2FwdHVyZUV2
ZW50cygpOyAvLyBOb3QgaW1wbGVtZW50ZWQuIEFsc28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMu
IEVtcHR5IGZ1bmN0aW9uIG1heSBoZWxwIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVu
dC4KKyAgICB1bmRlZmluZWQgcmVsZWFzZUV2ZW50cygpOyAvLyBOb3QgaW1wbGVtZW50ZWQuIEFs
c28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1heSBoZWxwIGNvbXBh
dGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVudC4KIAogICAgIC8vIFdlYlN0b3JhZ2UgKGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYnN0b3JhZ2UuaHRtbCN0aGUtc2Vz
c2lvbnN0b3JhZ2UtYXR0cmlidXRlKS4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3RvcmFnZSBz
ZXNzaW9uU3RvcmFnZTsKQEAgLTExOCwxMCArMTE4LDEwIEBAIHR5cGVkZWYgVVNWU3RyaW5nIENT
U09NU3RyaW5nOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFNjcmVlbiBz
Y3JlZW47IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgogCiAgICAgLy8gQnJvd3Np
bmcgY29udGV4dCAoQ1NTT00tVmlldykuCi0gICAgdm9pZCBtb3ZlVG8ob3B0aW9uYWwgdW5yZXN0
cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFO
KTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBs
b25nLgotICAgIHZvaWQgbW92ZUJ5KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB4ID0gTmFO
LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSA9IE5hTik7IC8vIEZJWE1FOiBQYXJhbWV0
ZXJzIHNob3VsZCBiZSBtYW5kYXRvcnkgYW5kIG9mIHR5cGUgbG9uZy4KLSAgICB2b2lkIHJlc2l6
ZVRvKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0aCA9IE5hTiwgb3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IGhlaWdodCA9IE5hTik7IC8vIFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1h
bmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgotICAgIHZvaWQgcmVzaXplQnkob3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0g
TmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlw
ZSBsb25nLgorICAgIHVuZGVmaW5lZCBtb3ZlVG8ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6
IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgorICAgIHVu
ZGVmaW5lZCBtb3ZlQnkob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hv
dWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgorICAgIHVuZGVmaW5lZCByZXNpemVU
byhvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGggPSBOYU4sIG9wdGlvbmFsIHVucmVz
dHJpY3RlZCBmbG9hdCBoZWlnaHQgPSBOYU4pOyAvLyBQYXJhbWV0ZXJzIHNob3VsZCBiZSBtYW5k
YXRvcnkgYW5kIG9mIHR5cGUgbG9uZy4KKyAgICB1bmRlZmluZWQgcmVzaXplQnkob3B0aW9uYWwg
dW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5
ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2Yg
dHlwZSBsb25nLgogCiAgICAgLy8gVmlld3BvcnQgKENTU09NLVZpZXcpLgogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5uZXJIZWlnaHQ7CkBAIC0xMzIsMTIgKzEz
MiwxMiBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBbUmVwbGFjZWFibGUs
IEltcGxlbWVudGVkQXM9c2Nyb2xsWF0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBwYWdlWE9m
ZnNldDsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgc2Nyb2xs
WTsKICAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2Nyb2xsWV0gcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBwYWdlWU9mZnNldDsKLSAgICBbSW1wbGVtZW50ZWRBcz1zY3JvbGxUb10g
dm9pZCBzY3JvbGwob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbnMpOwotICAgIFtJbXBs
ZW1lbnRlZEFzPXNjcm9sbFRvXSB2b2lkIHNjcm9sbCh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVu
cmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxUbyhvcHRpb25hbCBTY3JvbGxU
b09wdGlvbnMgb3B0aW9ucyk7Ci0gICAgdm9pZCBzY3JvbGxUbyh1bnJlc3RyaWN0ZWQgZG91Ymxl
IHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxCeShvcHRpb25hbCBT
Y3JvbGxUb09wdGlvbnMgb3B0aW9uKTsKLSAgICB2b2lkIHNjcm9sbEJ5KHVucmVzdHJpY3RlZCBk
b3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICBbSW1wbGVtZW50ZWRBcz1zY3Jv
bGxUb10gdW5kZWZpbmVkIHNjcm9sbChvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7
CisgICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xsVG9dIHVuZGVmaW5lZCBzY3JvbGwodW5yZXN0cmlj
dGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIHVuZGVmaW5lZCBzY3Jv
bGxUbyhvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7CisgICAgdW5kZWZpbmVkIHNj
cm9sbFRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAg
ICB1bmRlZmluZWQgc2Nyb2xsQnkob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbik7Cisg
ICAgdW5kZWZpbmVkIHNjcm9sbEJ5KHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVk
IGRvdWJsZSB5KTsKIAogICAgIC8vIFZpc3VhbCBWaWV3cG9ydCAoaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9WaWV3cG9ydEFQSS9zcGVjLmh0bWwpCiAgICAgW0VuYWJsZWRCeVNldHRpbmc9VmlzdWFs
Vmlld3BvcnRBUEksIFJlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgVmlzdWFsVmlld3Bv
cnQgdmlzdWFsVmlld3BvcnQ7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNDE0CkBAIC0xNjQsOCArMTY0
LDggQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAgW1JlcGxhY2VhYmxlXSBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzY3JlZW5MZWZ0OwogICAgIFtSZXBsYWNlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgc2NyZWVuVG9wOwogICAgIGxvbmcgd2Via2l0UmVxdWVzdEFu
aW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsKLSAg
ICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJraXRDYW5jZWxB
bmltYXRpb25GcmFtZShsb25nIGlkKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRp
b25GcmFtZV0gdm9pZCB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9uZyBpZCk7
CisgICAgW0ltcGxlbWVudGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHVuZGVmaW5lZCB3ZWJr
aXRDYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGlkKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1jYW5j
ZWxBbmltYXRpb25GcmFtZV0gdW5kZWZpbmVkIHdlYmtpdENhbmNlbFJlcXVlc3RBbmltYXRpb25G
cmFtZShsb25nIGlkKTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBidXQgbWF5IGdldCBhZGRlZCAo
aHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8yMzc5KS4KICAgICBbUmVwbGFj
ZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYXZpZ2F0b3IgY2xpZW50SW5mb3JtYXRpb247Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDcgKzQ5LDcgQEAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3BlbjsKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uZXJyb3I7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogfTsK
IAogZGljdGlvbmFyeSBFdmVudFNvdXJjZUluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9IaXN0b3J5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3Rvcnku
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTMgQEAKICAgICBhdHRyaWJ1dGUgU2Nyb2xs
UmVzdG9yYXRpb24gc2Nyb2xsUmVzdG9yYXRpb247CiAgICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0
cmlidXRlIGFueSBzdGF0ZTsKIAotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xh
cmVJbkhlYWRlcl0gdm9pZCBiYWNrKCk7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3YXJk
RGVjbGFyZUluSGVhZGVyXSB2b2lkIGZvcndhcmQoKTsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQs
IEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZ28ob3B0aW9uYWwgbG9uZyBkZWx0YSA9IDAp
OworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZp
bmVkIGJhY2soKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFk
ZXJdIHVuZGVmaW5lZCBmb3J3YXJkKCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3YXJk
RGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZ28ob3B0aW9uYWwgbG9uZyBkZWx0YSA9IDApOwog
CiAgICAgLy8gRklYTUU6IHRpdGxlIHNob3VsZCBub3QgYmUgbnVsbGFibGUgYXMgcGVyIHRoZSBI
VE1MIHNwZWNpZmljYXRpb24uCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHB1c2hTdGF0
ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgRE9NU3RyaW5nPyB0aXRsZSwgb3B0aW9uYWwg
VVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVw
bGFjZVN0YXRlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBkYXRhLCBET01TdHJpbmc/IHRpdGxlLCBv
cHRpb25hbCBVU1ZTdHJpbmc/IHVybCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHB1c2hTdGF0ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgRE9NU3RyaW5n
PyB0aXRsZSwgb3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCByZXBsYWNlU3RhdGUoU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRh
dGEsIERPTVN0cmluZz8gdGl0bGUsIG9wdGlvbmFsIFVTVlN0cmluZz8gdXJsID0gbnVsbCk7CiB9
OwogCiBlbnVtIFNjcm9sbFJlc3RvcmF0aW9uIHsgImF1dG8iLCAibWFudWFsIiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJKHJldmlzaW9u
IDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw5ICszNiw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyByb290TWFyZ2luOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxk
b3VibGU+IHRocmVzaG9sZHM7CiAKLSAgICB2b2lkIG9ic2VydmUoRWxlbWVudCB0YXJnZXQpOwot
ICAgIHZvaWQgdW5vYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKLSAgICB2b2lkIGRpc2Nvbm5lY3Qo
KTsKKyAgICB1bmRlZmluZWQgb2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CisgICAgdW5kZWZpbmVk
IHVub2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CisgICAgdW5kZWZpbmVkIGRpc2Nvbm5lY3QoKTsK
ICAgICBbUmVzdWx0RmllbGQ9cmVjb3Jkc10gc2VxdWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJF
bnRyeT4gdGFrZVJlY29yZHMoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNCArMjgsNCBAQAogWwogICAgIENvbmRpdGlvbmFsPUlO
VEVSU0VDVElPTl9PQlNFUlZFUiwKICAgICBDYWxsYmFja1RoaXNPYmplY3Q9SW50ZXJzZWN0aW9u
T2JzZXJ2ZXIsCi1dIGNhbGxiYWNrIEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sgPSB2b2lk
IChzZXF1ZW5jZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5PiBlbnRyaWVzLCBJbnRlcnNlY3Rp
b25PYnNlcnZlciBvYnNlcnZlcik7CitdIGNhbGxiYWNrIEludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2sgPSB1bmRlZmluZWQgKHNlcXVlbmNlPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+IGVu
dHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyIG9ic2VydmVyKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTG9jYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
TG9jYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0xv
Y2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsOSBAQAogXSBpbnRlcmZhY2Ug
TG9jYXRpb24gewogICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3cs
IERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyXSBzdHJpbmdpZmllciBhdHRyaWJ1dGUgVVNWU3Ry
aW5nIGhyZWY7CiAKLSAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93LCBNYXlU
aHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBhc3NpZ24oVVNWU3Ry
aW5nIHVybCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9QWN0aXZlV2luZG93
JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0g
dm9pZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOwotICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cs
IEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgcmVsb2FkKCk7CisgICAgW0NhbGxXaXRoPUFj
dGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywgTWF5VGhyb3dFeGNlcHRpb24sIEZvcndhcmREZWNsYXJl
SW5IZWFkZXJdIHVuZGVmaW5lZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgICAgW0RvTm90Q2hl
Y2tTZWN1cml0eSwgQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4
Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIHJlcGxhY2UoVVNWU3Ry
aW5nIHVybCk7CisgICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhl
YWRlcl0gdW5kZWZpbmVkIHJlbG9hZCgpOwogCiAgICAgLy8gVVJJIGRlY29tcG9zaXRpb24gYXR0
cmlidXRlcwogICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3ddIGF0
dHJpYnV0ZSBVU1ZTdHJpbmcgcHJvdG9jb2w7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogICAgIFtDb25kaXRpb25hbD1O
QVZJR0FUT1JfU1RBTkRBTE9ORV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3RhbmRhbG9u
ZTsKIAotICAgIHZvaWQgZ2V0U3RvcmFnZVVwZGF0ZXMoKTsgLy8gRklYTUU6IFJlbW92ZSB0aGlz
IG1ldGhvZCBvciByZW5hbWUgdG8geWllbGRGb3JTdG9yYWdlVXBkYXRlcy4KKyAgICB1bmRlZmlu
ZWQgZ2V0U3RvcmFnZVVwZGF0ZXMoKTsgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG1ldGhvZCBvciBy
ZW5hbWUgdG8geWllbGRGb3JTdG9yYWdlVXBkYXRlcy4KIH07CiAKIE5hdmlnYXRvciBpbXBsZW1l
bnRzIE5hdmlnYXRvcklEOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JJc0xv
Z2dlZEluLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvcklz
TG9nZ2VkSW4uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvcklzTG9nZ2VkSW4uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAg
ICAgRXhwb3NlZD1XaW5kb3csCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Jc0xvZ2dlZEluQVBJCiBd
IHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7Ci0gICAgUHJvbWlzZTx2b2lkPiBzZXRMb2dn
ZWRJbigpOwotICAgIFByb21pc2U8dm9pZD4gc2V0TG9nZ2VkT3V0KCk7CisgICAgUHJvbWlzZTx1
bmRlZmluZWQ+IHNldExvZ2dlZEluKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldExvZ2dl
ZE91dCgpOwogICAgIFByb21pc2U8Ym9vbD4gaXNMb2dnZWRJbigpOwogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjks
NSArMjksNSBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU2hhcmUKIF0gaW50ZXJmYWNlIE5h
dmlnYXRvclNoYXJlIHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2Vj
dXJlQ29udGV4dF0gYm9vbGVhbiBjYW5TaGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hhcmVEYXRh
KTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29udGV4dF0g
UHJvbWlzZTx2b2lkPiBzaGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hhcmVEYXRhKTsKKyAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29udGV4dF0gUHJvbWlzZTx1
bmRlZmluZWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTUg
KzUwLDE1IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAgICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGluZV0gUGVyZm9ybWFuY2VFbnRyeUxpc3QgZ2V0
RW50cmllc0J5TmFtZShET01TdHJpbmcgbmFtZSwgb3B0aW9uYWwgRE9NU3RyaW5nIGVudHJ5VHlw
ZSk7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLwotICAg
IFtFbmFibGVkQXRSdW50aW1lPVJlc291cmNlVGltaW5nXSB2b2lkIGNsZWFyUmVzb3VyY2VUaW1p
bmdzKCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcgbWF4U2l6ZSk7CisgICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHVuZGVmaW5lZCBjbGVhclJlc291cmNlVGltaW5n
cygpOworICAgIFtFbmFibGVkQXRSdW50aW1lPVJlc291cmNlVGltaW5nXSB1bmRlZmluZWQgc2V0
UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcgbWF4U2l6ZSk7CiAgICAgW0Vu
YWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25y
ZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGw7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8v
dXNlci10aW1pbmcvCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywgTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgbWFyayhET01TdHJpbmcgbWFya05hbWUpOwotICAgIFtFbmFibGVkQXRS
dW50aW1lPVVzZXJUaW1pbmddIHZvaWQgY2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFy
a05hbWUpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0
aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJp
bmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJpbmcgZW5kTWFyayk7Ci0gICAgW0VuYWJsZWRB
dFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmlu
ZyBtZWFzdXJlTmFtZSk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywgTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBtYXJrKERPTVN0cmluZyBtYXJrTmFtZSk7CisgICAgW0Vu
YWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdW5kZWZpbmVkIGNsZWFyTWFya3Mob3B0aW9uYWwg
RE9NU3RyaW5nIG1hcmtOYW1lKTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nLCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG1lYXN1cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1l
LCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJpbmcgZW5kTWFy
ayk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdW5kZWZpbmVkIGNsZWFyTWVh
c3VyZXMob3B0aW9uYWwgRE9NU3RyaW5nIG1lYXN1cmVOYW1lKTsKIH07CiAKIHR5cGVkZWYgc2Vx
dWVuY2U8UGVyZm9ybWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKIF0gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihQ
ZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2spOwogCi0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgb3B0aW9ucyk7Ci0g
ICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
b2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAgICB1bmRlZmluZWQg
ZGlzY29ubmVjdCgpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0
aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkRW50
cnlUeXBlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNCArMjgsNCBAQAogWwogICAgIElzV2Vha0NhbGxiYWNrLAogICAgIENhbGxiYWNr
VGhpc09iamVjdD1QZXJmb3JtYW5jZU9ic2VydmVyLAotXSBjYWxsYmFjayBQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2sgPSB2b2lkIChQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0IGVudHJp
ZXMsIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworXSBjYWxsYmFjayBQZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2sgPSB1bmRlZmluZWQgKFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QgZW50cmllcywgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ3
LDE0ICs0NywxNCBAQAogICAgIFtVbmZvcmdlYWJsZSwgSW1wbGVtZW50ZWRBcz1zZWxmXSByZWFk
b25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OwogICAgIFtSZXBsYWNlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1B1dEZvcndhcmRzPWhyZWYs
IFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9uOyAvLyBG
SVhNRTogU2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50RG9j
dW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgY2xvc2UoKTsKKyAgICBbQ2FsbFdp
dGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBj
bG9zZSgpOwogICAgIFtGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBjbG9zZWQ7Ci0gICAgW0NhbGxXaXRoPUluY3VtYmVudFdpbmRvdywgRm9yd2FyZERl
Y2xhcmVJbkhlYWRlcl0gdm9pZCBmb2N1cygpOwotICAgIFtGb3J3YXJkRGVjbGFyZUluSGVhZGVy
XSB2b2lkIGJsdXIoKTsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBGb3J3YXJkRGVj
bGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZm9jdXMoKTsKKyAgICBbRm9yd2FyZERlY2xhcmVJbkhl
YWRlcl0gdW5kZWZpbmVkIGJsdXIoKTsKICAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9
c2VsZl0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKICAgICBbUmVwbGFj
ZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBbVW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gb3BlbmVyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7Ci0gICAgW0NhbGxXaXRoPUdsb2Jh
bE9iamVjdCZJbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4sIG9wdGlvbmFsIHNl
cXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCZJbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBwb3N0
TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2Vx
dWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNpemVPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAK
IF0gaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIGNv
bnN0cnVjdG9yKFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2spOwogCi0gICAgdm9pZCBv
YnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKLSAgICB2b2lkIHVub2JzZXJ2ZShFbGVtZW50IHRhcmdl
dCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgdW5kZWZpbmVkIG9ic2VydmUoRWxlbWVu
dCB0YXJnZXQpOworICAgIHVuZGVmaW5lZCB1bm9ic2VydmUoRWxlbWVudCB0YXJnZXQpOworICAg
IHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9S
ZXNpemVPYnNlcnZlckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw0ICsyOCw0IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9UkVTSVpFX09CU0VSVkVSLAog
ICAgIENhbGxiYWNrVGhpc09iamVjdD1SZXNpemVPYnNlcnZlciwKLV0gY2FsbGJhY2sgUmVzaXpl
T2JzZXJ2ZXJDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyRW50cnk+IGVu
dHJpZXMsIFJlc2l6ZU9ic2VydmVyIG9ic2VydmVyKTsKK10gY2FsbGJhY2sgUmVzaXplT2JzZXJ2
ZXJDYWxsYmFjayA9IHVuZGVmaW5lZCAoc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJFbnRyeT4gZW50
cmllcywgUmVzaXplT2JzZXJ2ZXIgb2JzZXJ2ZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9VbmRvTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9VbmRv
TWFuYWdlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5k
b01hbmFnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxEb2N1bWVu
dCwKIF0gaW50ZXJmYWNlIFVuZG9NYW5hZ2VyIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgYWRkSXRlbShVbmRvSXRlbSBpdGVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBhZGRJdGVtKFVuZG9JdGVtIGl0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNTAsMTIgKzUwLDEyIEBAIHR5cGVkZWYgKENhbnZhc0ltYWdlU291
cmNlIG9yIEJsb2Igb3IgSW0KICAgICAvLyBUaW1lcnMKICAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgdGFrZSBhIFRpbWVySGFuZGxlciAoYS5rLmEuIChET01TdHJpbmcgb3IgRnVuY3Rpb24pKSBy
YXRoZXIgdGhhbiBhIFNjaGVkdWxlZEFjdGlvbi4KICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gbG9uZyBzZXRUaW1lb3V0KFNjaGVkdWxlZEFjdGlvbiBoYW5k
bGVyLCBvcHRpb25hbCBsb25nIHRpbWVvdXQgPSAwLCBhbnkuLi4gYXJndW1lbnRzKTsKLSAgICB2
b2lkIGNsZWFyVGltZW91dChvcHRpb25hbCBsb25nIGhhbmRsZSA9IDApOworICAgIHVuZGVmaW5l
ZCBjbGVhclRpbWVvdXQob3B0aW9uYWwgbG9uZyBoYW5kbGUgPSAwKTsKICAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgdGFrZSBhIFRpbWVySGFuZGxlciAoYS5rLmEuIChET01TdHJpbmcgb3IgRnVu
Y3Rpb24pKSByYXRoZXIgdGhhbiBhIFNjaGVkdWxlZEFjdGlvbi4KICAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gbG9uZyBzZXRJbnRlcnZhbChTY2hlZHVsZWRB
Y3Rpb24gaGFuZGxlciwgb3B0aW9uYWwgbG9uZyB0aW1lb3V0ID0gMCwgYW55Li4uIGFyZ3VtZW50
cyk7Ci0gICAgdm9pZCBjbGVhckludGVydmFsKG9wdGlvbmFsIGxvbmcgaGFuZGxlID0gMCk7Cisg
ICAgdW5kZWZpbmVkIGNsZWFySW50ZXJ2YWwob3B0aW9uYWwgbG9uZyBoYW5kbGUgPSAwKTsKIAot
ICAgIFtDdXN0b21dIHZvaWQgcXVldWVNaWNyb3Rhc2soVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsK
KyAgICBbQ3VzdG9tXSB1bmRlZmluZWQgcXVldWVNaWNyb3Rhc2soVm9pZENhbGxiYWNrIGNhbGxi
YWNrKTsKIAogICAgIC8vIEJhc2U2NCB1dGlsaXR5IG1ldGhvZHMuCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBET01TdHJpbmcgYXRvYihET01TdHJpbmcgc3RyaW5nKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNiBAQAogICAgIGdldHRlciBET01QbHVnaW4/IGl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7CiAgICAgZ2V0dGVyIERPTVBsdWdpbj8gbmFtZWRJdGVtKERPTVN0cmluZyBuYW1l
KTsKIAotICAgIHZvaWQgcmVmcmVzaChvcHRpb25hbCBib29sZWFuIHJlbG9hZCA9IGZhbHNlKTsK
KyAgICB1bmRlZmluZWQgcmVmcmVzaChvcHRpb25hbCBib29sZWFuIHJlbG9hZCA9IGZhbHNlKTsK
IH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxl
bmd0aDsKICAgICBET01TdHJpbmc/IGtleSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBnZXR0
ZXIgRE9NU3RyaW5nPyBnZXRJdGVtKERPTVN0cmluZyBrZXkpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gc2V0dGVyIHZvaWQgc2V0SXRlbShET01TdHJpbmcga2V5LCBET01TdHJpbmcgZGF0YSk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBkZWxldGVyIHZvaWQgcmVtb3ZlSXRlbShET01TdHJp
bmcga2V5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgc2V0SXRlbShET01TdHJpbmcga2V5LCBE
T01TdHJpbmcgZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBkZWxldGVyIHVuZGVmaW5l
ZCByZW1vdmVJdGVtKERPTVN0cmluZyBrZXkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIGNsZWFyKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
RXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2
ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIGludGVyZmFjZSBT
dG9yYWdlRXZlbnQgOiBFdmVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0b3JhZ2U/IHN0
b3JhZ2VBcmVhOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQg
cGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgaW5pdFN0b3JhZ2VFdmVudChvcHRp
b25hbCBET01TdHJpbmcgdHlwZUFyZyA9ICJ1bmRlZmluZWQiLAorICAgIHVuZGVmaW5lZCBpbml0
U3RvcmFnZUV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVmaW5lZCIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlQXJnID0g
ZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2Vs
YWJsZUFyZyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBET01T
dHJpbmcga2V5QXJnID0gInVuZGVmaW5lZCIsCkBAIC00Myw3ICs0Myw3IEBAIGludGVyZmFjZSBT
dG9yYWdlRXZlbnQgOiBFdmVudCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFs
IFN0b3JhZ2U/IHN0b3JhZ2VBcmVhQXJnID0gbnVsbCk7CiAKICAgICAvLyBOZWVkZWQgb25jZSB3
ZSBzdXBwb3J0IGluaXQ8Ymxhbms+RXZlbnROUwotICAgIC8vIHZvaWQgaW5pdFN0b3JhZ2VFdmVu
dE5TKERPTVN0cmluZyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyB0eXBlQXJnLCBib29sZWFuIGNh
bkJ1YmJsZUFyZywgYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCBET01TdHJpbmcga2V5QXJnLCBET01T
dHJpbmcgb2xkVmFsdWVBcmcsIERPTVN0cmluZyBuZXdWYWx1ZUFyZywgVVNWU3RyaW5nIHVybEFy
ZywgU3RvcmFnZT8gc3RvcmFnZUFyZWFBcmcpOworICAgIC8vIHVuZGVmaW5lZCBpbml0U3RvcmFn
ZUV2ZW50TlMoRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIHR5cGVBcmcsIGJvb2xl
YW4gY2FuQnViYmxlQXJnLCBib29sZWFuIGNhbmNlbGFibGVBcmcsIERPTVN0cmluZyBrZXlBcmcs
IERPTVN0cmluZyBvbGRWYWx1ZUFyZywgRE9NU3RyaW5nIG5ld1ZhbHVlQXJnLCBVU1ZTdHJpbmcg
dXJsQXJnLCBTdG9yYWdlPyBzdG9yYWdlQXJlYUFyZyk7CiB9OwogCiBkaWN0aW9uYXJ5IFN0b3Jh
Z2VFdmVudEluaXQgOiBFdmVudEluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
Z2xlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsCShy
ZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw2ICszNiw2IEBACiAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZh
bHVlQXNTdHJpbmc7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbmV3VmFsdWVTcGVj
aWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgdW5yZXN0cmljdGVkIGZsb2F0IHZh
bHVlSW5TcGVjaWZpZWRVbml0cyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBuZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNo
b3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWVJblNwZWNpZmllZFVuaXRzKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb252ZXJ0VG9TcGVjaWZpZWRVbml0
cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwx
MCArMzEsMTAgQEAgaW50ZXJmYWNlIFNWR0FuaW1hdGlvbkVsZW1lbnQgOiBTVkdFbGVtZQogICAg
IHVucmVzdHJpY3RlZCBmbG9hdCBnZXRDdXJyZW50VGltZSgpOwogICAgIHVucmVzdHJpY3RlZCBm
bG9hdCBnZXRTaW1wbGVEdXJhdGlvbigpOwogCi0gICAgdm9pZCBiZWdpbkVsZW1lbnQoKTsKLSAg
ICB2b2lkIGJlZ2luRWxlbWVudEF0KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBvZmZzZXQg
PSBOYU4pOwotICAgIHZvaWQgZW5kRWxlbWVudCgpOwotICAgIHZvaWQgZW5kRWxlbWVudEF0KG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBvZmZzZXQgPSBOYU4pOworICAgIHVuZGVmaW5lZCBi
ZWdpbkVsZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgYmVnaW5FbGVtZW50QXQob3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IG9mZnNldCA9IE5hTik7CisgICAgdW5kZWZpbmVkIGVuZEVsZW1lbnQo
KTsKKyAgICB1bmRlZmluZWQgZW5kRWxlbWVudEF0KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBvZmZzZXQgPSBOYU4pOwogfTsKIAogU1ZHQW5pbWF0aW9uRWxlbWVudCBpbXBsZW1lbnRzIFNW
R1Rlc3RzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBAIGludGVy
ZmFjZSBTVkdGRURyb3BTaGFkb3dFbGVtZW50IDogU1ZHRWwKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3RkRGV2aWF0aW9uWDsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3RkRGV2aWF0aW9uWTsKIAotICAgIHZvaWQgc2V0U3RkRGV2
aWF0aW9uKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25YID0gTmFOLAor
ICAgIHVuZGVmaW5lZCBzZXRTdGREZXZpYXRpb24ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IHN0ZERldmlhdGlvblggPSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
dW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlhdGlvblkgPSBOYU4pOwogfTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIHN0ZERldmlhdGlvblk7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gZWRnZU1vZGU7CiAKLSAgICB2b2lkIHNldFN0
ZERldmlhdGlvbihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgc3RkRGV2aWF0aW9uWCA9IE5h
TiwKKyAgICB1bmRlZmluZWQgc2V0U3RkRGV2aWF0aW9uKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBm
bG9hdCBzdGREZXZpYXRpb25YID0gTmFOLAogICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25ZID0gTmFOKTsKIH07CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZE51bWJlciAgICAgIHJhZGl1c1g7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR0FuaW1hdGVkTnVtYmVyICAgICAgcmFkaXVzWTsKIAotICAgIHZvaWQgc2V0UmFkaXVz
KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCByYWRpdXNYID0gTmFOLAorICAgIHVuZGVmaW5l
ZCBzZXRSYWRpdXMob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHJhZGl1c1ggPSBOYU4sCiAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHJhZGl1c1kgPSBO
YU4pOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw2ICs0MCw2IEBAIGludGVyZmFjZSBTVkdMZW5ndGggeyAKICAgICBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHZhbHVlQXNTdHJpbmc7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbmV3
VmFsdWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgdW5yZXN0cmljdGVk
IGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBuZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHVu
c2lnbmVkIHNob3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWVJblNwZWNpZmll
ZFVuaXRzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMZW5ndGhMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMiArMzAsMTIg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJdGVtczsKIAotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggaW5pdGlh
bGl6ZShTVkdMZW5ndGggbmV3SXRlbSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIg
U1ZHTGVuZ3RoIGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBTVkdMZW5ndGggaW5zZXJ0SXRlbUJlZm9yZShTVkdMZW5ndGggbmV3SXRlbSwgdW5z
aWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggcmVw
bGFjZUl0ZW0oU1ZHTGVuZ3RoIG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gU1ZHTGVuZ3RoIHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggYXBwZW5kSXRlbShTVkdMZW5n
dGggbmV3SXRlbSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAodW5zaWdu
ZWQgbG9uZyBpbmRleCwgU1ZHTGVuZ3RoIG5ld0l0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHTGVuZ3RoIG5ld0l0
ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsOCBAQCBpbnRlcmZhY2UgU1ZHTWFya2VyRWxl
bWVudCA6IFNWR0VsZW1lbnQgCiAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG9yaWVudDsKIAot
ICAgIHZvaWQgc2V0T3JpZW50VG9BdXRvKCk7Ci0gICAgdm9pZCBzZXRPcmllbnRUb0FuZ2xlKFNW
R0FuZ2xlIGFuZ2xlKTsKKyAgICB1bmRlZmluZWQgc2V0T3JpZW50VG9BdXRvKCk7CisgICAgdW5k
ZWZpbmVkIHNldE9yaWVudFRvQW5nbGUoU1ZHQW5nbGUgYW5nbGUpOwogfTsKIAogU1ZHTWFya2Vy
RWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpdFRvVmlld0JveDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdOdW1iZXJMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTnVtYmVyTGlzdC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdOdW1iZXJMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDEyIEBAIGlu
dGVyZmFjZSBTVkdOdW1iZXJMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
T2ZJdGVtczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBTVkdOdW1iZXIgaW5pdGlhbGl6ZShTVkdOdW1iZXIgbmV3SXRlbSk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBnZXR0ZXIgU1ZHTnVtYmVyIGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdOdW1iZXIgaW5zZXJ0SXRlbUJlZm9yZShT
VkdOdW1iZXIgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBTVkdOdW1iZXIgcmVwbGFjZUl0ZW0oU1ZHTnVtYmVyIG5ld0l0ZW0sIHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHTnVtYmVyIHJlbW92ZUl0
ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdOdW1i
ZXIgYXBwZW5kSXRlbShTVkdOdW1iZXIgbmV3SXRlbSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSBzZXR0ZXIgdm9pZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHTnVtYmVyIG5ld0l0ZW0pOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBp
bmRleCwgU1ZHTnVtYmVyIG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTZWdMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDEyIEBAIGludGVy
ZmFjZSBTVkdQYXRoU2VnTGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbGVuZ3RoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlck9m
SXRlbXM7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjbGVhcigpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gU1ZHUGF0aFNlZyBpbml0aWFsaXplKFNWR1BhdGhTZWcgbmV3SXRlbSk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBnZXR0ZXIgU1ZHUGF0aFNlZyBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUGF0aFNlZyBpbnNlcnRJdGVtQmVmb3Jl
KFNWR1BhdGhTZWcgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBTVkdQYXRoU2VnIHJlcGxhY2VJdGVtKFNWR1BhdGhTZWcgbmV3SXRlbSwgdW5z
aWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQYXRoU2VnIHJl
bW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBT
VkdQYXRoU2VnIGFwcGVuZEl0ZW0oU1ZHUGF0aFNlZyBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQYXRoU2VnIG5l
d0l0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWdu
ZWQgbG9uZyBpbmRleCwgU1ZHUGF0aFNlZyBuZXdJdGVtKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUG9pbnRMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvaW50TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEyICsyNywxMiBAQCBp
bnRlcmZhY2UgU1ZHUG9pbnRMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVy
T2ZJdGVtczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBTVkdQb2ludCBpbml0aWFsaXplKFNWR1BvaW50IG5ld0l0ZW0pOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1BvaW50IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7
CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbnNlcnRJdGVtQmVmb3JlKFNWR1Bv
aW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oU1ZHUG9pbnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBp
bmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCByZW1vdmVJdGVtKHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQgYXBwZW5k
SXRlbShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2
b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQb2ludCBuZXdJdGVtKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIFNWR1Bv
aW50IG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwJ
KHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQAogICAgIGJvb2xlYW4gY2hlY2tJbnRl
cnNlY3Rpb24oU1ZHRWxlbWVudCBlbGVtZW50LCBTVkdSZWN0IHJlY3QpOwogICAgIGJvb2xlYW4g
Y2hlY2tFbmNsb3N1cmUoU1ZHRWxlbWVudCBlbGVtZW50LCBTVkdSZWN0IHJlY3QpOwogCi0gICAg
dm9pZCBkZXNlbGVjdEFsbCgpOworICAgIHVuZGVmaW5lZCBkZXNlbGVjdEFsbCgpOwogCiAgICAg
W05ld09iamVjdF0gU1ZHTnVtYmVyIGNyZWF0ZVNWR051bWJlcigpOwogICAgIFtOZXdPYmplY3Rd
IFNWR0xlbmd0aCBjcmVhdGVTVkdMZW5ndGgoKTsKQEAgLTU5LDE3ICs1OSwxNyBAQAogCiAgICAg
Ly8gU1ZHIGFuaW1hdGlvbnMgZXh0ZW5zaW9ucwogICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3Nw
ZWNzL2FuaW1hdGlvbnMvI0ludGVyZmFjZVNWR1NWR0VsZW1lbnQKLSAgICB2b2lkIHBhdXNlQW5p
bWF0aW9ucygpOwotICAgIHZvaWQgdW5wYXVzZUFuaW1hdGlvbnMoKTsKKyAgICB1bmRlZmluZWQg
cGF1c2VBbmltYXRpb25zKCk7CisgICAgdW5kZWZpbmVkIHVucGF1c2VBbmltYXRpb25zKCk7CiAg
ICAgYm9vbGVhbiBhbmltYXRpb25zUGF1c2VkKCk7CiAgICAgdW5yZXN0cmljdGVkIGZsb2F0IGdl
dEN1cnJlbnRUaW1lKCk7Ci0gICAgdm9pZCBzZXRDdXJyZW50VGltZShvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgc2Vjb25kcyA9IE5hTik7CisgICAgdW5kZWZpbmVkIHNldEN1cnJlbnRUaW1l
KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzZWNvbmRzID0gTmFOKTsKIAogICAgIC8vIERl
cHJlY2F0ZWQgU1ZHIHJlZHJhd2luZwogICAgIHVuc2lnbmVkIGxvbmcgc3VzcGVuZFJlZHJhdyhv
cHRpb25hbCB1bnNpZ25lZCBsb25nIG1heFdhaXRNaWxsaXNlY29uZHMgPSAwKTsKLSAgICB2b2lk
IHVuc3VzcGVuZFJlZHJhdyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIHN1c3BlbmRIYW5kbGVJZCA9
IDApOwotICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3QWxsKCk7Ci0gICAgdm9pZCBmb3JjZVJlZHJh
dygpOworICAgIHVuZGVmaW5lZCB1bnN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBzdXNwZW5kSGFuZGxlSWQgPSAwKTsKKyAgICB1bmRlZmluZWQgdW5zdXNwZW5kUmVkcmF3QWxs
KCk7CisgICAgdW5kZWZpbmVkIGZvcmNlUmVkcmF3KCk7CiB9OwogCiBTVkdTVkdFbGVtZW50IGlt
cGxlbWVudHMgU1ZHRml0VG9WaWV3Qm94OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0
cmluZ0xpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdM
aXN0LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmlu
Z0xpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMiArMjcsMTIgQEAgaW50ZXJmYWNlIFNW
R1N0cmluZ0xpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJPZkl0ZW1zOwog
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0
cmluZyBpbml0aWFsaXplKERPTVN0cmluZyBuZXdJdGVtKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIGdldHRlciBET01TdHJpbmcgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBpbnNlcnRJdGVtQmVmb3JlKERPTVN0cmluZyBu
ZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERP
TVN0cmluZyByZXBsYWNlSXRlbShET01TdHJpbmcgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgcmVtb3ZlSXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBhcHBlbmRJ
dGVtKERPTVN0cmluZyBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2
b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgbmV3SXRlbSk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01T
dHJpbmcgbmV3SXRlbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw1ICs0MCw1
IEBAIGludGVyZmFjZSBTVkdUZXh0Q29udGVudEVsZW1lbnQgOiBTVkdHcmEKICAgICBbTWF5VGhy
b3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUmVjdCBnZXRFeHRlbnRPZkNoYXIob3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVucmVz
dHJpY3RlZCBmbG9hdCBnZXRSb3RhdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9m
ZnNldCA9IDApOwogICAgIGxvbmcgZ2V0Q2hhck51bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0IHBv
aW50KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VsZWN0U3ViU3RyaW5nKG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsZW5n
dGggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZWxlY3RTdWJTdHJp
bmcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwLCBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGxlbmd0aCA9IDApOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zv
cm0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEgKzM1LDExIEBACiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR01hdHJpeCBtYXRyaXg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBmbG9hdCBhbmdsZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNYXRyaXgo
b3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IG1hdHJpeCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldFRyYW5zbGF0ZSh1bnJlc3RyaWN0ZWQgZmxvYXQgdHgsIHVucmVzdHJpY3RlZCBm
bG9hdCB0eSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNjYWxlKHVucmVzdHJp
Y3RlZCBmbG9hdCBzeCwgdW5yZXN0cmljdGVkIGZsb2F0IHN5KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgc2V0Um90YXRlKHVucmVzdHJpY3RlZCBmbG9hdCBhbmdsZSwgdW5yZXN0cmlj
dGVkIGZsb2F0IGN4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgY3kpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRTa2V3WCh1bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTa2V3WSh1bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1hdHJpeChvcHRpb25hbCBET01N
YXRyaXgyREluaXQgbWF0cml4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRUcmFuc2xhdGUodW5yZXN0cmljdGVkIGZsb2F0IHR4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdHkp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNjYWxlKHVucmVzdHJpY3Rl
ZCBmbG9hdCBzeCwgdW5yZXN0cmljdGVkIGZsb2F0IHN5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRSb3RhdGUodW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgY3gsIHVucmVzdHJpY3RlZCBmbG9hdCBjeSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U2tld1godW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTa2V3WSh1bnJlc3RyaWN0ZWQgZmxv
YXQgYW5nbGUpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxp
c3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9y
bUxpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNCArMjgsMTQgQEAgaW50ZXJmYWNlIFNW
R1RyYW5zZm9ybUxpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxl
bmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJPZkl0ZW1z
OwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNW
R1RyYW5zZm9ybSBpbml0aWFsaXplKFNWR1RyYW5zZm9ybSBuZXdJdGVtKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGdldHRlciBTVkdUcmFuc2Zvcm0gZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSBpbnNlcnRJdGVtQmVm
b3JlKFNWR1RyYW5zZm9ybSBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSByZXBsYWNlSXRlbShTVkdUcmFuc2Zvcm0gbmV3
SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdU
cmFuc2Zvcm0gcmVtb3ZlSXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIFNWR1RyYW5zZm9ybSBhcHBlbmRJdGVtKFNWR1RyYW5zZm9ybSBuZXdJdGVtKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4
LCBTVkdUcmFuc2Zvcm0gbmV3SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIg
dW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdUcmFuc2Zvcm0gbmV3SXRlbSk7CiAK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHVHJhbnNmb3JtIGNyZWF0ZVNW
R1RyYW5zZm9ybUZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IG1hdHJpeCk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdUcmFuc2Zvcm0gY29uc29saWRhdGUoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkocmV2aXNpb24g
MjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMsOTYgKzMzLDk2IEBAIGVudW0gRm9udExvYWRUaW1pbmdPdmVy
cmlkZSB7ICJCbG9jayIsICIKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFeHBvcnRN
YWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJmYWNlIEludGVybmFsU2V0
dGluZ3MgOiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUb3VjaEV2ZW50RW11bGF0aW9u
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgLy8gRm9udHMsIHRleHQKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KERPTVN0cmluZyBmYW1p
bHksIERPTVN0cmluZyBzY3JpcHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRT
ZXJpZkZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoRE9NU3RyaW5n
IGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHNldEZpeGVkRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoRE9NU3Ry
aW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KERPTVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3Jp
cHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQaWN0b2dyYXBoRm9udEZhbWls
eShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJl
ZmVyUGljdG9ncmFwaHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGb250TG9h
ZFRpbWluZ092ZXJyaWRlKEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgb3ZlcnJpZGUpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25z
KGJvb2xlYW4gaWdub3JlKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUobG9uZyB3aWR0aCwg
bG9uZyBoZWlnaHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUZXh0QXV0b3Np
emluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN0YW5kYXJkRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5
LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRTZXJpZkZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShE
T01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRGaXhlZEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3Ry
aW5nIHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Q3Vyc2l2
ZUZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoRE9NU3RyaW5n
IGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5n
IHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Rm9udEZhbGxi
YWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJlZmVyUGljdG9ncmFwaHMpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoRm9u
dExvYWRUaW1pbmdPdmVycmlkZSBvdmVycmlkZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sZWFuIGlnbm9y
ZSk7CisKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShsb25nIHdpZHRoLCBsb25n
IGhlaWdodCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VGV4dEF1dG9z
aXppbmdVc2VzSWRlbXBvdGVudE1vZGUoYm9vbGVhbiBlbmFibGVkKTsKIAogICAgIC8vIE1lZGlh
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldENhblN0YXJ0TWVkaWEoYm9vbGVhbiBl
bmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRy
YWNrS2luZChET01TdHJpbmcga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDYW5TdGFydE1lZGlhKGJvb2xlYW4gZW5hYmxlZCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2lu
ZChET01TdHJpbmcga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIGJvb2xlYW4gc2hvdWxkRGlzcGxheVRyYWNrS2luZChET01TdHJpbmcgdHJhY2tLaW5kKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKERP
TVN0cmluZyBwb3N0ZXIpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh1bnJlc3RyaWN0ZWQgZG91Ymxl
IHRpbWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNZWRpYVR5cGVPdmVycmlk
ZShET01TdHJpbmcgbWVkaWFUeXBlT3ZlcnJpZGUpOwotICAgIHZvaWQgc2V0QWxsb3dzQWlyUGxh
eUZvck1lZGlhUGxheWJhY2soYm9vbGVhbiBhdmFpbGFibGUpOwotICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvbihib29sZWFuIGVuYWJsZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKERPTVN0cmluZyBwb3N0ZXIp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUgdGltZSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVkaWFUeXBlT3ZlcnJpZGUoRE9N
U3RyaW5nIG1lZGlhVHlwZU92ZXJyaWRlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxsb3dzQWlyUGxh
eUZvck1lZGlhUGxheWJhY2soYm9vbGVhbiBhdmFpbGFibGUpOworICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU0sIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVkaWFDYXB0dXJl
UmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGJvb2xlYW4gZW5hYmxlKTsKIAotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZXRGb3JjZVBlbmRpbmdXZWJHTFBvbGljeShib29sZWFuIGZvcmNl
ZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Rm9yY2VQZW5kaW5nV2Vi
R0xQb2xpY3koYm9vbGVhbiBmb3JjZWQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRZb3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNl
bWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRZb3VUdWJlRmxhc2hQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAogICAgIC8vIEVkaXRp
bmcsIGZvcm1zCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEVkaXRpbmdCZWhhdmlv
cihET01TdHJpbmcgYmVoYXZpb3IpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRT
aG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29sZWFuIGNvbnZlcnRQb3NpdGlvbik7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2Vz
KGJvb2xlYW4gcHJlZmVyTWltZVR5cGVGb3JJbWFnZSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0RWRpdGluZ0JlaGF2aW9yKERPTVN0cmluZyBiZWhhdmlvcik7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5
bGVPbkNvcHkoYm9vbGVhbiBjb252ZXJ0UG9zaXRpb24pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2xlYW4gcHJlZmVyTWlt
ZVR5cGVGb3JJbWFnZSk7CiAKICAgICAvLyBPdGhlciBzd2l0Y2hlcwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sZWFuIGVuYWJsZWQpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koRE9NU3Ry
aW5nIHBvbGljeSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEltYWdlc0VuYWJs
ZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UERG
SW1hZ2VDYWNoaW5nUG9saWN5KERPTVN0cmluZyBwb2xpY3kpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJv
b2xlYW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEF1dG9zY3Jv
bGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoYm9vbGVh
biBoYXNFeHRlbmRlZEJhY2tncm91bmQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29s
ZWFuIGFsbG93VW5jbGFtcGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QW5p
bWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGUpOwotCi0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1pbmltdW1UaW1lckludGVydmFsKHVucmVz
dHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGJvb2xlYW4gYWxsb3dzKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0Fm
dGVyRnVsbHNjcmVlbihib29sZWFuIGFsbG93cyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJv
b2xlYW4gcmVxdWlyZXMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGcmFtZUZs
YXR0ZW5pbmcoRnJhbWVGbGF0dGVuaW5nVmFsdWUgZnJhbWVGbGF0dGVuaW5nKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0SW5jb21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZChib29s
ZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGREaXNw
YXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihib29sZWFuIHNo
b3VsZERpc3BhdGNoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkRGlz
cGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soYm9vbGVhbiBzaG91bGRE
aXNwYXRjaCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlRGFya0Fw
cGVhcmFuY2UoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW1hZ2VzRW5hYmxlZChib29sZWFuIGVuYWJs
ZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBERkltYWdlQ2FjaGlu
Z1BvbGljeShET01TdHJpbmcgcG9saWN5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2xlYW4g
ZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0QXV0b3Njcm9s
bEZvckRyYWdBbmREcm9wRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKGJv
b2xlYW4gaGFzRXh0ZW5kZWRCYWNrZ3JvdW5kKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBlbmFibGVkKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd1VuY2xhbXBlZFNjcm9s
bFBvc2l0aW9uKGJvb2xlYW4gYWxsb3dVbmNsYW1wZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKGJv
b2xlYW4gZW5hYmxlKTsKKworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1p
bmltdW1UaW1lckludGVydmFsKHVucmVzdHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2soYm9vbGVhbiBhbGxvd3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oYm9vbGVhbiBh
bGxvd3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldElubGluZU1lZGlh
UGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2xlYW4gcmVxdWlyZXMpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZyYW1lRmxhdHRlbmluZyhGcmFt
ZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGREaXNwYXRj
aFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihib29sZWFuIHNob3Vs
ZERpc3BhdGNoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRE
aXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhib29sZWFuIHNob3Vs
ZERpc3BhdGNoKTsKIAogICAgIC8vIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCi0gICAgdm9pZCBz
ZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0
V2ViR0wyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0V2ViR1BVRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9v
bGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29s
ZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFdlYkdQVUVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKKyAgICB1bmRlZmluZWQgc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKKyAgICB1bmRlZmluZWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB1c2VySW50ZXJmYWNl
RGlyZWN0aW9uUG9saWN5KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShET01T
dHJpbmcgcG9saWN5KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBzeXN0ZW1M
YXlvdXREaXJlY3Rpb24oKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldFN5c3RlbUxheW91dERpcmVjdGlvbihET01TdHJpbmcgZGlyZWN0
aW9uKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBkZWZlcnJlZENTU1BhcnNl
ckVuYWJsZWQoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RGVmZXJyZWRDU1NQ
YXJzZXJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0RGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250
Rm9yQWNjZXNzaWJpbGl0eShib29sZWFuIHNob3VsZE1vY2spOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxp
dHkoYm9vbGVhbiBzaG91bGRNb2NrKTsKIAogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAg
YXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWREaXNwbGF5SXNNb25vY2hy
b21lQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAg
YXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWRTdXBwb3J0c0hpZ2hEeW5h
bWljUmFuZ2VWYWx1ZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRN
YW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShib29sZWFuIHNob3VsZCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChib29sZWFuIGVu
YWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1hbmFn
ZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2xlYW4gc2hvdWxkKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoYm9vbGVhbiBl
bmFibGVkKTsKIAogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnNdIGJvb2xlYW4g
d2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCgpOwogCi0gICAgdm9pZCBzZXRTaG91
bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKGJvb2xlYW4gc2hvdWxkRGVhY3RpdmF0ZSk7CisgICAg
dW5kZWZpbmVkIHNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbGVhbiBzaG91bGRE
ZWFjdGl2YXRlKTsKICAgICAKLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElQZXJQYWdlU2Nv
cGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFN0b3JhZ2VBY2Nl
c3NBUElQZXJQYWdlU2NvcGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RWRpdGFibGVSZWdpb25F
bmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw3ICsyNTgsNyBAQCBlbnVtIENv
bnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgLy8gTXVzdCBiZSBjYWxsZWQgb24gYW4gZWxlbWVu
dCB3aG9zZSBlbmNsb3NpbmdMYXllcigpIGlzIHNlbGYtcGFpbnRpbmcuCiAgICAgYm9vbGVhbiBp
c1BhaW50aW5nRnJlcXVlbnRseShFbGVtZW50IGVsZW1lbnQpOwotICAgIHZvaWQgaW5jcmVtZW50
RnJlcXVlbnRQYWludENvdW50ZXIoRWxlbWVudCBlbGVtZW50KTsKKyAgICB1bmRlZmluZWQgaW5j
cmVtZW50RnJlcXVlbnRQYWludENvdW50ZXIoRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQg
ZWxlbWVudCk7CiAgICAgYm9vbGVhbiBpc1ByZWxvYWRlZChET01TdHJpbmcgdXJsKTsKQEAgLTI2
NywxNyArMjY3LDE3IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgRE9NU3RyaW5n
IHhoclJlc3BvbnNlU291cmNlKFhNTEh0dHBSZXF1ZXN0IHhocik7CiAgICAgYm9vbGVhbiBpc1No
YXJpbmdTdHlsZVNoZWV0Q29udGVudHMoSFRNTExpbmtFbGVtZW50IGEsIEhUTUxMaW5rRWxlbWVu
dCBiKTsKICAgICBib29sZWFuIGlzU3R5bGVTaGVldExvYWRpbmdTdWJyZXNvdXJjZXMoSFRNTExp
bmtFbGVtZW50IGxpbmspOwotICAgIHZvaWQgY2xlYXJNZW1vcnlDYWNoZSgpOwotICAgIHZvaWQg
cHJ1bmVNZW1vcnlDYWNoZVRvU2l6ZShsb25nIHNpemUpOwotICAgIHZvaWQgZGVzdHJveURlY29k
ZWREYXRhRm9yQWxsSW1hZ2VzKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyTWVtb3J5Q2FjaGUoKTsK
KyAgICB1bmRlZmluZWQgcHJ1bmVNZW1vcnlDYWNoZVRvU2l6ZShsb25nIHNpemUpOworICAgIHVu
ZGVmaW5lZCBkZXN0cm95RGVjb2RlZERhdGFGb3JBbGxJbWFnZXMoKTsKICAgICBsb25nIG1lbW9y
eUNhY2hlU2l6ZSgpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShDYWNoZVBvbGlj
eSBwb2xpY3kpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVSZXNvdXJjZUxvYWRQcmlvcml0eShSZXNv
dXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSk7Ci0gICAgdm9pZCBzZXRTdHJpY3RSYXdSZXNvdXJj
ZVZhbGlkYXRpb25Qb2xpY3lEaXNhYmxlZChib29sZWFuIGRpc2FibGVkKTsKKyAgICB1bmRlZmlu
ZWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShDYWNoZVBvbGljeSBwb2xpY3kpOworICAgIHVuZGVm
aW5lZCBzZXRPdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5
IHByaW9yaXR5KTsKKyAgICB1bmRlZmluZWQgc2V0U3RyaWN0UmF3UmVzb3VyY2VWYWxpZGF0aW9u
UG9saWN5RGlzYWJsZWQoYm9vbGVhbiBkaXNhYmxlZCk7CiAKLSAgICB2b2lkIGNsZWFyQmFja0Zv
cndhcmRDYWNoZSgpOworICAgIHVuZGVmaW5lZCBjbGVhckJhY2tGb3J3YXJkQ2FjaGUoKTsKICAg
ICB1bnNpZ25lZCBsb25nIGJhY2tGb3J3YXJkQ2FjaGVTaXplKCk7Ci0gICAgdm9pZCBwcmV2ZW50
RG9jdW1lbnRGcm9tRW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlKCk7CisgICAgdW5kZWZpbmVkIHBy
ZXZlbnREb2N1bWVudEZyb21FbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGUoKTsKIAogICAgIENTU1N0
eWxlRGVjbGFyYXRpb24gY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKEVsZW1lbnQg
ZWxlbWVudCk7CiAKQEAgLTI5MSw3ICsyOTEsNyBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkg
ewogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc2hhZG93Um9vdFR5cGUoTm9k
ZSByb290KTsKICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCBlbGVtZW50KTsK
LSAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIGlk
KTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93UHNldWRvSWQoRWxlbWVudCBlbGVtZW50LCBET01T
dHJpbmcgaWQpOwogICAgIE5vZGUgdHJlZVNjb3BlUm9vdE5vZGUoTm9kZSBub2RlKTsKICAgICBO
b2RlIHBhcmVudFRyZWVTY29wZShOb2RlIG5vZGUpOwogCkBAIC0zMDMsOCArMzAzLDggQEAgZW51
bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICAvLyBDU1MgQW5pbWF0aW9uIHRlc3RpbmcuCiAg
ICAgYm9vbGVhbiBhbmltYXRpb25XaXRoSWRFeGlzdHMoRE9NU3RyaW5nIGlkKTsKICAgICB1bnNp
Z25lZCBsb25nIG51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzdXNwZW5kQW5pbWF0aW9ucygpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCByZXN1bWVBbmltYXRpb25zKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCByZXN1bWVBbmltYXRpb25zKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGFu
aW1hdGlvbnNBcmVTdXNwZW5kZWQoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4g
cGF1c2VBbmltYXRpb25BdFRpbWVPbkVsZW1lbnQoRE9NU3RyaW5nIGFuaW1hdGlvbk5hbWUsIHVu
cmVzdHJpY3RlZCBkb3VibGUgcGF1c2VUaW1lLCBFbGVtZW50IGVsZW1lbnQpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBwYXVzZUFuaW1hdGlvbkF0VGltZU9uUHNldWRvRWxlbWVu
dChET01TdHJpbmcgYW5pbWF0aW9uTmFtZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBwYXVzZVRpbWUs
IEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIHBzZXVkb0lkKTsKQEAgLTMyMyw5ICszMjMsOSBA
QCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRWxl
bWVudD8gcHNldWRvRWxlbWVudChFbGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyBwc2V1ZG9JZCk7
CiAKICAgICBET01TdHJpbmcgdmlzaWJsZVBsYWNlaG9sZGVyKEVsZW1lbnQgZWxlbWVudCk7Ci0g
ICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQgZWxlbWVu
dCwgRE9NU3RyaW5nIGNvbG9yVmFsdWUpOworICAgIHVuZGVmaW5lZCBzZWxlY3RDb2xvckluQ29s
b3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIGNvbG9yVmFsdWUp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2VxdWVuY2U8RE9NU3RyaW5nPiBmb3JtQ29udHJv
bFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9N
U3RyaW5nPiB2YWx1ZXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZv
cm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9NU3RyaW5nPiB2
YWx1ZXMpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0IGFic29sdXRlQ2FyZXRC
b3VuZHMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gaXNDYXJldEJsaW5raW5n
U3VzcGVuZGVkKCk7CkBAIC0zMzgsNDQgKzMzOCw0NCBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdv
cnkgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gUmFuZ2U/IG1hcmtlclJhbmdlRm9yTm9kZShO
b2RlIG5vZGUsIERPTVN0cmluZyBtYXJrZXJUeXBlLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBtYXJrZXJEZXNjcmlwdGlvbkZvck5vZGUo
Tm9kZSBub2RlLCBET01TdHJpbmcgbWFya2VyVHlwZSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgZHVtcE1hcmtlclJlY3RzKERPTVN0cmlu
ZyBtYXJrZXJUeXBlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0TWFya2VkVGV4
dE1hdGNoZXNBcmVIaWdobGlnaHRlZChib29sZWFuIGZsYWcpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldE1hcmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0ZWQoYm9vbGVh
biBmbGFnKTsKIAotICAgIHZvaWQgaW52YWxpZGF0ZUZvbnRDYWNoZSgpOwotICAgIHZvaWQgc2V0
Rm9udFNtb290aGluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgaW52
YWxpZGF0ZUZvbnRDYWNoZSgpOworICAgIHVuZGVmaW5lZCBzZXRGb250U21vb3RoaW5nRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNj
cm9sbFZpZXdQb3NpdGlvbihsb25nIHgsIGxvbmcgeSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0U2Nyb2xsVmlld1Bvc2l0aW9uKGxvbmcgeCwgbG9uZyB5KTsKIAogICAg
IC8vIExpa2UgRWxlbWVudC5zY3JvbGxUbygpLCBidXQgd2l0aG91dCBjb25zdGFpbnRzLCBmb3Ig
dGVzdGluZyBydWJiZXItYmFuZGluZy4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdW5j
b25zdHJhaW5lZFNjcm9sbFRvKEVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGRvdWJsZSB4
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHVuY29uc3RyYWluZWRTY3JvbGxUbyhFbGVtZW50IGVsZW1lbnQsIHVucmVzdHJpY3RlZCBk
b3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKIAogICAgIC8vIFNjcm9sbHMgdGhlIGVs
ZW1lbnQgYnkgdGhlIGdpdmVuIGRlbHRhLCBhcHByb3hpbWF0aW5nIHRoZSBhc3luYyB3aGVlbCBl
dmVudCBoYW5kbGluZyBjb2RlIHBhdGggd2hlcmUgYXZhaWxhYmxlLgotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzY3JvbGxCeVNpbXVsYXRpbmdXaGVlbEV2ZW50KEVsZW1lbnQgZWxlbWVu
dCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkZWx0YVgsIHVucmVzdHJpY3RlZCBkb3VibGUgZGVsdGFZ
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzY3JvbGxCeVNpbXVsYXRpbmdX
aGVlbEV2ZW50KEVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkZWx0YVgsIHVu
cmVzdHJpY3RlZCBkb3VibGUgZGVsdGFZKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9N
UmVjdCBsYXlvdXRWaWV3cG9ydFJlY3QoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVJl
Y3QgdmlzdWFsVmlld3BvcnRSZWN0KCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c2V0Vmlld0lzVHJhbnNwYXJlbnQoYm9vbGVhbiB0cm5hc3BhcmVudCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Vmlld0lzVHJhbnNwYXJlbnQoYm9vbGVhbiB0cm5hc3Bh
cmVudCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB2aWV3QmFzZUJhY2tn
cm91bmRDb2xvcigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRWaWV3QmFzZUJh
Y2tncm91bmRDb2xvcihET01TdHJpbmcgY29sb3JWYWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0Vmlld0Jhc2VCYWNrZ3JvdW5kQ29sb3IoRE9NU3RyaW5nIGNvbG9y
VmFsdWUpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFBhZ2luYXRpb24oRE9N
U3RyaW5nIG1vZGUsIGxvbmcgZ2FwLCBvcHRpb25hbCBsb25nIHBhZ2VMZW5ndGggPSAwKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UGFnaW5hdGlvbkxpbmVHcmlkRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBh
Z2luYXRpb24oRE9NU3RyaW5nIG1vZGUsIGxvbmcgZ2FwLCBvcHRpb25hbCBsb25nIHBhZ2VMZW5n
dGggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQYWdpbmF0aW9u
TGluZUdyaWRFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVN0cmluZyBjb25maWd1cmF0aW9uRm9yVmlld3BvcnQodW5yZXN0cmljdGVkIGZsb2F0
IGRldmljZVBpeGVsUmF0aW8sIGxvbmcgZGV2aWNlV2lkdGgsIGxvbmcgZGV2aWNlSGVpZ2h0LCBs
b25nIGF2YWlsYWJsZVdpZHRoLCBsb25nIGF2YWlsYWJsZUhlaWdodCk7CiAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGJvb2xlYW4gd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1lbnQgdGV4dEZp
ZWxkKTsKICAgICBib29sZWFuIGVsZW1lbnRTaG91bGRBdXRvQ29tcGxldGUoSFRNTElucHV0RWxl
bWVudCBpbnB1dEVsZW1lbnQpOwotICAgIHZvaWQgc2V0QXV0b2ZpbGxlZChIVE1MSW5wdXRFbGVt
ZW50IGlucHV0RWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEF1dG9GaWxs
ZWRBbmRWaWV3YWJsZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9vbGVhbiBlbmFi
bGVkKTsKLSAgICB2b2lkIHNldFNob3dBdXRvRmlsbEJ1dHRvbihIVE1MSW5wdXRFbGVtZW50IGlu
cHV0RWxlbWVudCwgQXV0b0ZpbGxCdXR0b25UeXBlIGF1dG9GaWxsQnV0dG9uVHlwZSk7CisgICAg
dW5kZWZpbmVkIHNldEF1dG9maWxsZWQoSFRNTElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQsIGJv
b2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9GaWxsZWRBbmRWaWV3YWJsZShI
VE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRl
ZmluZWQgc2V0U2hvd0F1dG9GaWxsQnV0dG9uKEhUTUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50
LCBBdXRvRmlsbEJ1dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25UeXBlKTsKICAgICBBdXRvRmlsbEJ1
dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25UeXBlKEhUTUxJbnB1dEVsZW1lbnQgaW5wdXRFbGVtZW50
KTsKICAgICBBdXRvRmlsbEJ1dHRvblR5cGUgbGFzdEF1dG9GaWxsQnV0dG9uVHlwZShIVE1MSW5w
dXRFbGVtZW50IGlucHV0RWxlbWVudCk7CiAKLSAgICB2b2lkIHNldENhblNob3dQbGFjZWhvbGRl
cihFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gY2FuU2hvd1BsYWNlaG9sZGVyKTsKKyAgICB1bmRl
ZmluZWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBjYW5T
aG93UGxhY2Vob2xkZXIpOwogCiAgICAgRWxlbWVudCBpbnNlcnRUZXh0UGxhY2Vob2xkZXIobG9u
ZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwotICAgIHZvaWQgcmVtb3ZlVGV4dFBsYWNlaG9sZGVyKEVs
ZW1lbnQgZWxlbWVudCk7CisgICAgdW5kZWZpbmVkIHJlbW92ZVRleHRQbGFjZWhvbGRlcihFbGVt
ZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBSYW5nZT8gcmFuZ2VPZlN0
cmluZyhET01TdHJpbmcgdGV4dCwgUmFuZ2U/IHJlZmVyZW5jZVJhbmdlLCBzZXF1ZW5jZTxET01T
dHJpbmc+IGZpbmRPcHRpb25zKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxv
bmcgY291bnRNYXRjaGVzRm9yVGV4dChET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8RE9NU3RyaW5n
PiBmaW5kT3B0aW9ucywgRE9NU3RyaW5nIG1hcmtNYXRjaGVzKTsKQEAgLTM4Myw5ICszODMsOSBA
QCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBE
T01TdHJpbmcgYXV0b2ZpbGxGaWVsZE5hbWUoRWxlbWVudCBmb3JtQ29udHJvbEVsZW1lbnQpOwog
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGludmFsaWRhdGVDb250cm9sVGludHMoKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnZhbGlkYXRlQ29udHJvbFRpbnRz
KCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChF
bGVtZW50IGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50IGVs
ZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCk7CiAKICAgICBSYW5nZT8gcmFu
Z2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCBzY29wZSwgdW5zaWduZWQgbG9uZyByYW5n
ZUxvY2F0aW9uLCB1bnNpZ25lZCBsb25nIHJhbmdlTGVuZ3RoKTsKICAgICB1bnNpZ25lZCBsb25n
IGxvY2F0aW9uRnJvbVJhbmdlKEVsZW1lbnQgc2NvcGUsIFJhbmdlIHJhbmdlKTsKQEAgLTM5Niwx
NyArMzk2LDE3IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBSYW5nZT8gcmFuZ2VGb3JEaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihsb25nIHgs
IGxvbmcgeSk7CiAgICAgUmFuZ2U/IHJhbmdlT2ZTdHJpbmdOZWFyTG9jYXRpb24oUmFuZ2UgcmFu
Z2UsIERPTVN0cmluZyB0ZXh0LCBsb25nIHRhcmdldE9mZnNldCk7CiAKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2V0RGVsZWdhdGVzU2Nyb2xsaW5nKGJvb2xlYW4gZW5hYmxlZCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RGVsZWdhdGVzU2Nyb2xsaW5nKGJv
b2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcg
bG9uZyBsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZSgpOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5zaWduZWQgbG9uZyBsb25nIGxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2Uo
KTsKLSAgICB2b2lkIGFkdmFuY2VUb05leHRNaXNzcGVsbGluZygpOworICAgIHVuZGVmaW5lZCBh
ZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsKIAogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gdXNl
clByZWZlcnJlZExhbmd1YWdlcygpOwotICAgIHZvaWQgc2V0VXNlclByZWZlcnJlZExhbmd1YWdl
cyhzZXF1ZW5jZTxET01TdHJpbmc+IGxhbmd1YWdlcyk7CisgICAgdW5kZWZpbmVkIHNldFVzZXJQ
cmVmZXJyZWRMYW5ndWFnZXMoc2VxdWVuY2U8RE9NU3RyaW5nPiBsYW5ndWFnZXMpOwogCiAgICAg
c2VxdWVuY2U8RE9NU3RyaW5nPiB1c2VyUHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJpc3RpY3MoKTsK
LSAgICB2b2lkIHNldFVzZXJQcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljKERPTVN0cmluZyBj
aGFyYWN0ZXJpc3RpYyk7CisgICAgdW5kZWZpbmVkIHNldFVzZXJQcmVmZXJyZWRBdWRpb0NoYXJh
Y3RlcmlzdGljKERPTVN0cmluZyBjaGFyYWN0ZXJpc3RpYyk7CiAKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuc2lnbmVkIGxvbmcgd2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyB0b3VjaEV2ZW50SGFuZGxlckNvdW50KCk7CkBA
IC00MjEsMjYgKzQyMSwyNiBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIC8vIENh
bGxpbmcgcGFyc2VyTWV0YURhdGEoKSB3aXRoIG5vIGFyZ3VtZW50cyBnZXRzIHRoZSBtZXRhZGF0
YSBmb3IgdGhlIHNjcmlwdCBvZiB0aGUgY3VycmVudCBzY29wZS4KICAgICBET01TdHJpbmcgcGFy
c2VyTWV0YURhdGEob3B0aW9uYWwgYW55IGZ1bmMpOwogCi0gICAgdm9pZCB1cGRhdGVFZGl0b3JV
SU5vd0lmU2NoZWR1bGVkKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZUVkaXRvclVJTm93SWZTY2hl
ZHVsZWQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHNlbnRlbmNlUmV0cm9D
b3JyZWN0aW9uRW5hYmxlZDsKICAgICBib29sZWFuIGhhc1NwZWxsaW5nTWFya2VyKGxvbmcgZnJv
bSwgbG9uZyBsZW5ndGgpOwogICAgIGJvb2xlYW4gaGFzR3JhbW1hck1hcmtlcihsb25nIGZyb20s
IGxvbmcgbGVuZ3RoKTsKICAgICBib29sZWFuIGhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIobG9uZyBm
cm9tLCBsb25nIGxlbmd0aCk7CiAgICAgYm9vbGVhbiBoYXNEaWN0YXRpb25BbHRlcm5hdGl2ZXNN
YXJrZXIobG9uZyBmcm9tLCBsb25nIGxlbmd0aCk7Ci0gICAgdm9pZCBzZXRDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEF1dG9tYXRp
Y1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0
QXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lk
IHNldEF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0g
ICAgdm9pZCBzZXRBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0gICAgdm9pZCBzZXRBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7Ci0KLSAgICB2b2lkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKERPTVN0cmlu
ZyBjYW5kaWRhdGUsIHVuc2lnbmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
KTsKLSAgICB2b2lkIGNoYW5nZVNlbGVjdGlvbkxpc3RUeXBlKCk7Ci0gICAgdm9pZCBjaGFuZ2VC
YWNrVG9SZXBsYWNlZFN0cmluZyhET01TdHJpbmcgcmVwbGFjZWRTdHJpbmcpOworICAgIHVuZGVm
aW5lZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
KyAgICB1bmRlZmluZWQgc2V0QXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFi
bGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9tYXRpY0Rhc2hTdWJz
dGl0dXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9t
YXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmlu
ZWQgc2V0QXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OworCisgICAgdW5kZWZpbmVkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKERPTVN0cmluZyBjYW5k
aWRhdGUsIHVuc2lnbmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKTsKKyAg
ICB1bmRlZmluZWQgY2hhbmdlU2VsZWN0aW9uTGlzdFR5cGUoKTsKKyAgICB1bmRlZmluZWQgY2hh
bmdlQmFja1RvUmVwbGFjZWRTdHJpbmcoRE9NU3RyaW5nIHJlcGxhY2VkU3RyaW5nKTsKIAogICAg
IGJvb2xlYW4gaXNPdmVyd3JpdGVNb2RlRW5hYmxlZCgpOwotICAgIHZvaWQgdG9nZ2xlT3Zlcndy
aXRlTW9kZUVuYWJsZWQoKTsKKyAgICB1bmRlZmluZWQgdG9nZ2xlT3ZlcndyaXRlTW9kZUVuYWJs
ZWQoKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoKTsKIApA
QCAtNDQ5LDE3ICs0NDksMTcgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICB1bnNp
Z25lZCBsb25nIGltYWdlRnJhbWVJbmRleChIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQpOwogICAg
IHVuc2lnbmVkIGxvbmcgaW1hZ2VGcmFtZUNvdW50KEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7
CiAgICAgZmxvYXQgaW1hZ2VGcmFtZUR1cmF0aW9uQXRJbmRleChIVE1MSW1hZ2VFbGVtZW50IGVs
ZW1lbnQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgc2V0SW1hZ2VGcmFtZURlY29k
aW5nRHVyYXRpb24oSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
ZHVyYXRpb24pOwotICAgIHZvaWQgcmVzZXRJbWFnZUFuaW1hdGlvbihIVE1MSW1hZ2VFbGVtZW50
IGVsZW1lbnQpOworICAgIHVuZGVmaW5lZCBzZXRJbWFnZUZyYW1lRGVjb2RpbmdEdXJhdGlvbihI
VE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQsIHVucmVzdHJpY3RlZCBmbG9hdCBkdXJhdGlvbik7Cisg
ICAgdW5kZWZpbmVkIHJlc2V0SW1hZ2VBbmltYXRpb24oSFRNTEltYWdlRWxlbWVudCBlbGVtZW50
KTsKICAgICBib29sZWFuIGlzSW1hZ2VBbmltYXRpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50
KTsKICAgICB1bnNpZ25lZCBsb25nIGltYWdlUGVuZGluZ0RlY29kZVByb21pc2VzQ291bnRGb3JU
ZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBzZXRDbGVhckRlY29k
ZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVtZW50IGVsZW1l
bnQsIGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldENsZWFyRGVjb2RlckFmdGVy
QXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCwgYm9v
bGVhbiBlbmFibGVkKTsKICAgICB1bnNpZ25lZCBsb25nIGltYWdlRGVjb2RlQ291bnQoSFRNTElt
YWdlRWxlbWVudCBlbGVtZW50KTsKICAgICB1bnNpZ25lZCBsb25nIHBkZkRvY3VtZW50Q2FjaGlu
Z0NvdW50KEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBzZXRMYXJnZUltYWdl
QXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCwg
Ym9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEZvcmNlVXBkYXRlSW1hZ2VEYXRhRW5hYmxl
ZEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwor
ICAgIHVuZGVmaW5lZCBzZXRMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5n
KEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmlu
ZWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVt
ZW50IGVsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2b2lkIHNldEdyaWRNYXhUcmFj
a3NMaW1pdCh1bnNpZ25lZCBsb25nIG1heFRyYWNrc0xpbWl0KTsKKyAgICB1bmRlZmluZWQgc2V0
R3JpZE1heFRyYWNrc0xpbWl0KHVuc2lnbmVkIGxvbmcgbWF4VHJhY2tzTGltaXQpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEludGVybmFsU2V0dGluZ3Mgc2V0dGluZ3M7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd29ya2VyVGhyZWFkQ291bnQ7CkBAIC00OTgsOCAr
NDk4LDggQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVN0cmluZyByZXBhaW50UmVjdHNBc1RleHQoKTsKIAogICAgIC8vIFRoZXNlIHRocm93
IGlmIHRoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYSBjb21wb3NpdGluZyBsYXllci4KLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RWxlbWVudFVzZXNEaXNwbGF5TGlzdERyYXdpbmco
RWxlbWVudCBlbGVtZW50LCBib29sZWFuIHVzZXNEaXNwbGF5TGlzdERyYXdpbmcpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbGVtZW50VHJhY2tzRGlzcGxheUxpc3RSZXBsYXko
RWxlbWVudCBlbGVtZW50LCBib29sZWFuIHRyYWNrUmVwbGF5KTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRFbGVtZW50VXNlc0Rpc3BsYXlMaXN0RHJhd2luZyhFbGVtZW50
IGVsZW1lbnQsIGJvb2xlYW4gdXNlc0Rpc3BsYXlMaXN0RHJhd2luZyk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RWxlbWVudFRyYWNrc0Rpc3BsYXlMaXN0UmVwbGF5KEVs
ZW1lbnQgZWxlbWVudCwgYm9vbGVhbiB0cmFja1JlcGxheSk7CiAKICAgICAvLyBGbGFncyBmb3Ig
ZGlzcGxheUxpc3RGb3JFbGVtZW50LgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IERJU1BMQVlf
TElTVF9JTkNMVURFU19QTEFURk9STV9PUEVSQVRJT05TID0gMTsKQEAgLTUwOCwxNCArNTA4LDE0
IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgLy8gUmV0dXJucyB0aGUgZGlzcGxh
eSBsaXN0IHRoYXQgd2FzIGFjdHVhbGx5IHBhaW50ZWQuCiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBET01TdHJpbmcgcmVwbGF5RGlzcGxheUxpc3RGb3JFbGVtZW50KEVsZW1lbnQgZWxlbWVudCwg
b3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygp
OwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGluc2VydEF1dGhvckNTUyhET01TdHJp
bmcgY3NzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0VXNlckNTUyhET01T
dHJpbmcgY3NzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnNlcnRBdXRo
b3JDU1MoRE9NU3RyaW5nIGNzcyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
aW5zZXJ0VXNlckNTUyhET01TdHJpbmcgY3NzKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzVW5kZXJNZW1vcnlQcmVzc3VyZTsKLSAgICB2b2lkIGJlZ2luU2ltdWxhdGVkTWVt
b3J5UHJlc3N1cmUoKTsKLSAgICB2b2lkIGVuZFNpbXVsYXRlZE1lbW9yeVByZXNzdXJlKCk7Cisg
ICAgdW5kZWZpbmVkIGJlZ2luU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKKyAgICB1bmRlZmlu
ZWQgZW5kU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKIAogICAgIFtDb25kaXRpb25hbD1JTkRF
WEVEX0RBVEFCQVNFXSB1bnNpZ25lZCBsb25nIG51bWJlck9mSURCVHJhbnNhY3Rpb25zKCk7CiAK
QEAgLTUyNCw4ICs1MjQsOCBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIHVuc2ln
bmVkIGxvbmcgcmVmZXJlbmNpbmdOb2RlQ291bnQoRG9jdW1lbnQgZG9jdW1lbnQpOwogICAgIFtD
b25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVJdIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJ
bnRlcnNlY3Rpb25PYnNlcnZlcnMoRG9jdW1lbnQgZG9jdW1lbnQpOwogICAgIFdpbmRvd1Byb3h5
PyBvcGVuRHVtbXlJbnNwZWN0b3JGcm9udGVuZChET01TdHJpbmcgdXJsKTsKLSAgICB2b2lkIGNs
b3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0KTsKKyAgICB1bmRl
ZmluZWQgY2xvc2VEdW1teUluc3BlY3RvckZyb250ZW5kKCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0SW5zcGVjdG9ySXNVbmRlclRlc3QoYm9vbGVhbiBpc1VuZGVyVGVz
dCk7CiAKICAgICBET01TdHJpbmcgY291bnRlclZhbHVlKEVsZW1lbnQgZWxlbWVudCk7CiAgICAg
bG9uZyBwYWdlTnVtYmVyKEVsZW1lbnQgZWxlbWVudCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZs
b2F0IHBhZ2VXaWR0aCA9IDgwMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHBhZ2VIZWln
aHQgPSA2MDApOwpAQCAtNTM0LDQxICs1MzQsNDEgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5
IHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBwYWdlUHJvcGVydHkoRE9NU3Ry
aW5nIHByb3BlcnR5TmFtZSwgbG9uZyBwYWdlTnVtYmVyKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhsb25nIHBhZ2VJbmRleCwg
bG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQsIGxvbmcgbWFyZ2luVG9wLCBsb25nIG1hcmdpblJpZ2h0
LCBsb25nIG1hcmdpbkJvdHRvbSwgbG9uZyBtYXJnaW5MZWZ0KTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRQYWdlU2NhbGVGYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHNjYWxl
RmFjdG9yLCBsb25nIHgsIGxvbmcgeSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0UGFnZVNjYWxlRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCBzY2FsZUZhY3RvciwgbG9u
ZyB4LCBsb25nIHkpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZmxvYXQgcGFnZVNjYWxlRmFj
dG9yKCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UGFnZVpvb21GYWN0b3Io
dW5yZXN0cmljdGVkIGZsb2F0IHpvb21GYWN0b3IpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRUZXh0Wm9vbUZhY3Rvcih1bnJlc3RyaWN0ZWQgZmxvYXQgem9vbUZhY3Rvcik7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UGFnZVpvb21GYWN0b3IodW5yZXN0
cmljdGVkIGZsb2F0IHpvb21GYWN0b3IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFRleHRab29tRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCB6b29tRmFjdG9yKTsKIAot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRVc2VGaXhlZExheW91dChib29sZWFuIHVz
ZUZpeGVkTGF5b3V0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Rml4ZWRMYXlv
dXRTaXplKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKLSAgICB2b2lkIHNldFByaW50aW5nKGxv
bmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRVc2VGaXhlZExheW91dChib29sZWFuIHVzZUZpeGVkTGF5b3V0KTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGaXhlZExheW91dFNpemUobG9uZyB3aWR0aCwgbG9u
ZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzZXRQcmludGluZyhsb25nIHdpZHRoLCBsb25nIGhl
aWdodCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Vmlld0V4cG9zZWRSZWN0
KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVk
IGZsb2F0IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0KTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRWaWV3RXhwb3NlZFJlY3QodW5yZXN0cmljdGVkIGZsb2F0
IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGgsIHVucmVz
dHJpY3RlZCBmbG9hdCBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRIZWFkZXJIZWlnaHQodW5yZXN0
cmljdGVkIGZsb2F0IGhlaWdodCk7Ci0gICAgdm9pZCBzZXRGb290ZXJIZWlnaHQodW5yZXN0cmlj
dGVkIGZsb2F0IGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHNldEhlYWRlckhlaWdodCh1bnJlc3Ry
aWN0ZWQgZmxvYXQgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2V0Rm9vdGVySGVpZ2h0KHVucmVz
dHJpY3RlZCBmbG9hdCBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRUb3BDb250ZW50SW5zZXQodW5y
ZXN0cmljdGVkIGZsb2F0IGNvbnRlbnRJbnNldCk7CisgICAgdW5kZWZpbmVkIHNldFRvcENvbnRl
bnRJbnNldCh1bnJlc3RyaWN0ZWQgZmxvYXQgY29udGVudEluc2V0KTsKIAotICAgIFtDb25kaXRp
b25hbD1GVUxMU0NSRUVOX0FQSV0gdm9pZCB3ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50IGVsZW1lbnQpOwotICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0g
dm9pZCB3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQgZWxlbWVudCk7
Ci0gICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB2b2lkIHdlYmtpdFdpbGxFeGl0RnVs
bFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50KTsKLSAgICBbQ29uZGl0aW9uYWw9RlVM
TFNDUkVFTl9BUEldIHZvaWQgd2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1l
bnQgZWxlbWVudCk7CisgICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB1bmRlZmluZWQg
d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50KTsKKyAg
ICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIHVuZGVmaW5lZCB3ZWJraXREaWRFbnRlckZ1
bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQgZWxlbWVudCk7CisgICAgW0NvbmRpdGlvbmFsPUZV
TExTQ1JFRU5fQVBJXSB1bmRlZmluZWQgd2Via2l0V2lsbEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVu
dChFbGVtZW50IGVsZW1lbnQpOworICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gdW5k
ZWZpbmVkIHdlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50IGVsZW1lbnQp
OwogICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gaXNBbmltYXRpbmdGdWxsU2NyZWVuOwogCi0gICAgdm9pZCBzZXRGdWxsc2NyZWVuSW5z
ZXRzKEZ1bGxzY3JlZW5JbnNldHMgaW5zZXRzKTsKLSAgICB2b2lkIHNldEZ1bGxzY3JlZW5BdXRv
SGlkZUR1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbik7Ci0gICAgdm9pZCBzZXRGdWxsc2NyZWVuQ29u
dHJvbHNIaWRkZW4oYm9vbGVhbiBoaWRkZW4pOworICAgIHVuZGVmaW5lZCBzZXRGdWxsc2NyZWVu
SW5zZXRzKEZ1bGxzY3JlZW5JbnNldHMgaW5zZXRzKTsKKyAgICB1bmRlZmluZWQgc2V0RnVsbHNj
cmVlbkF1dG9IaWRlRHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKTsKKyAgICB1bmRlZmluZWQgc2V0
RnVsbHNjcmVlbkNvbnRyb2xzSGlkZGVuKGJvb2xlYW4gaGlkZGVuKTsKIAotICAgIFtDb25kaXRp
b25hbD1WSURFT19QUkVTRU5UQVRJT05fTU9ERV0gdm9pZCBzZXRNb2NrVmlkZW9QcmVzZW50YXRp
b25Nb2RlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRpb25hbD1WSURFT19Q
UkVTRU5UQVRJT05fTU9ERV0gdW5kZWZpbmVkIHNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVF
bmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2b2lkIHNldEFwcGxpY2F0aW9uQ2FjaGVP
cmlnaW5RdW90YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpOworICAgIHVuZGVmaW5lZCBzZXRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKIAot
ICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGlj
eShET01TdHJpbmcgc2NoZW1lKTsKLSAgICB2b2lkIHJlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRB
c0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShET01TdHJpbmcgc2NoZW1lKTsKKyAgICB1
bmRlZmluZWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGlj
eShET01TdHJpbmcgc2NoZW1lKTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlVVJMU2NoZW1lUmVnaXN0
ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KERPTVN0cmluZyBzY2hlbWUpOwog
Ci0gICAgdm9pZCByZWdpc3RlckRlZmF1bHRQb3J0Rm9yUHJvdG9jb2wodW5zaWduZWQgc2hvcnQg
cG9ydCwgRE9NU3RyaW5nIHNjaGVtZSk7CisgICAgdW5kZWZpbmVkIHJlZ2lzdGVyRGVmYXVsdFBv
cnRGb3JQcm90b2NvbCh1bnNpZ25lZCBzaG9ydCBwb3J0LCBET01TdHJpbmcgc2NoZW1lKTsKIAog
ICAgIE1hbGxvY1N0YXRpc3RpY3MgbWFsbG9jU3RhdGlzdGljcygpOwogICAgIFR5cGVDb252ZXJz
aW9ucyB0eXBlQ29udmVyc2lvbnMoKTsKQEAgLTU3OCwxMCArNTc4LDEwIEBAIGVudW0gQ29udGVu
dFNpemVDYXRlZ29yeSB7CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYm90aCByZXNldCB0aGUg
dHJhY2tlZCByZXBhaW50IHJlY3RzLiBUaGV5IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGluIHRo
ZSBmb2xsb3dpbmcgb3JkZXI6CiAgICAgLy8gIHN0YXJ0VHJhY2tpbmdSZXBhaW50cywgcmVwYWlu
dFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50cy4KLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc3RvcFRyYWNraW5nUmVwYWludHMoKTsKIAotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzdGFydFRyYWNraW5nTGF5ZXJGbHVzaGVzKCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc3RhcnRUcmFja2luZ0xheWVyRmx1c2hlcygpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBsYXllckZsdXNoQ291bnQoKTsKIAogICAgIC8v
IFF1ZXJ5IGlmIGEgdGltZXIgaXMgY3VycmVudGx5IHRocm90dGxlZCwgdG8gZGVidWcgdGltZXIg
dGhyb3R0bGluZy4KQEAgLTU5MCwzMiArNTkwLDMyIEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29y
eSB7CiAgICAgRE9NU3RyaW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZVRocm90dGxpbmdSZWFzb25z
KCk7CiAgICAgYm9vbGVhbiBhcmVUaW1lcnNUaHJvdHRsZWQoKTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRMb3dQb3dlck1vZGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE91dHNpZGVWaWV3cG9ydFRocm90dGxpbmdF
bmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0TG93UG93ZXJNb2RlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE91dHNpZGVWaWV3cG9ydFRocm90dGxpbmdFbmFibGVk
KGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXF1ZXN0
QW5pbWF0aW9uRnJhbWVJbnRlcnZhbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBz
Y3JpcHRlZEFuaW1hdGlvbnNBcmVTdXNwZW5kZWQ7CiAKICAgICAvLyBPdmVycmlkZSB0aGUgYmVo
YXZpb3Igb2YgV2ViUGFnZTo6ZXZlbnRUaHJvdHRsaW5nRGVsYXkoKSwgd2hpY2ggb25seSBhZmZl
Y3RzIGlPUy4KICAgICBhdHRyaWJ1dGUgRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3I/IGV2ZW50VGhy
b3R0bGluZ0JlaGF2aW9yT3ZlcnJpZGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c3RhcnRUcmFja2luZ1N0eWxlUmVjYWxjcygpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHN0YXJ0VHJhY2tpbmdTdHlsZVJlY2FsY3MoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuc2lnbmVkIGxvbmcgc3R5bGVSZWNhbGNDb3VudCgpOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxhc3RTdHlsZVVwZGF0ZVNpemU7CiAKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc3RhcnRUcmFja2luZ0NvbXBvc2l0aW5nVXBkYXRlcygpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN0YXJ0VHJhY2tpbmdDb21wb3NpdGluZ1VwZGF0
ZXMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY29tcG9zaXRpbmdV
cGRhdGVDb3VudCgpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHN0YXJ0VHJhY2tp
bmdSZW5kZXJpbmdVcGRhdGVzKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c3RhcnRUcmFja2luZ1JlbmRlcmluZ1VwZGF0ZXMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuc2lnbmVkIGxvbmcgcmVuZGVyaW5nVXBkYXRlQ291bnQoKTsKIAogICAgIGF0dHJpYnV0ZSBD
b21wb3NpdGluZ1BvbGljeT8gY29tcG9zaXRpbmdQb2xpY3lPdmVycmlkZTsKIAotICAgIHZvaWQg
dXBkYXRlTGF5b3V0QW5kU3R5bGVGb3JBbGxGcmFtZXMoKTsKKyAgICB1bmRlZmluZWQgdXBkYXRl
TGF5b3V0QW5kU3R5bGVGb3JBbGxGcmFtZXMoKTsKIAogICAgIC8vIHxub2RlfCBzaG91bGQgYmUg
RG9jdW1lbnQsIEhUTUxJRnJhbWVFbGVtZW50LCBvciB1bnNwZWNpZmllZC4KICAgICAvLyBJZiB8
bm9kZXwgaXMgYW4gSFRNTElGcmFtZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5jb250ZW50RG9j
dW1lbnQgaXMKICAgICAvLyBzcGVjaWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVja3MuIFVuc3Bl
Y2lmaWVkIG9yIG51bGwgbWVhbnMgdGhpcyBkb2N1bWVudC4KLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExh
eW91dFRhc2tzKG9wdGlvbmFsIE5vZGU/IG5vZGUgPSBudWxsKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRS
dW5Qb3N0TGF5b3V0VGFza3Mob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwpOwogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGF5b3V0Q291bnQ7CiAKQEAgLTYzMiw0MCAr
NjMyLDQwIEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiBpc0Zyb21D
dXJyZW50V29ybGQoYW55IG9iaik7CiAgICAgYW55IGV2YWx1YXRlSW5Xb3JsZElnbm9yaW5nRXhj
ZXB0aW9uKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgc291cmNlKTsKIAotICAgIHZvaWQgc2V0
VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRVc2Vz
TW9ja1Njcm9sbEFuaW1hdG9yKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFVz
ZXNPdmVybGF5U2Nyb2xsYmFycyhib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRV
c2VzTW9ja1Njcm9sbEFuaW1hdG9yKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2b2lkIGZvcmNl
UmVsb2FkKGJvb2xlYW4gZW5kVG9FbmQpOwotICAgIHZvaWQgcmVsb2FkRXhwaXJlZE9ubHkoKTsK
KyAgICB1bmRlZmluZWQgZm9yY2VSZWxvYWQoYm9vbGVhbiBlbmRUb0VuZCk7CisgICAgdW5kZWZp
bmVkIHJlbG9hZEV4cGlyZWRPbmx5KCk7CiAKLSAgICB2b2lkIGVuYWJsZUZpeGVkV2lkdGhBdXRv
U2l6ZU1vZGUoYm9vbGVhbiBlbmFibGVkLCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7Ci0gICAg
dm9pZCBlbmFibGVTaXplVG9Db250ZW50QXV0b1NpemVNb2RlKGJvb2xlYW4gZW5hYmxlZCwgbG9u
ZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBlbmFibGVGaXhlZFdpZHRoQXV0
b1NpemVNb2RlKGJvb2xlYW4gZW5hYmxlZCwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAg
IHVuZGVmaW5lZCBlbmFibGVTaXplVG9Db250ZW50QXV0b1NpemVNb2RlKGJvb2xlYW4gZW5hYmxl
ZCwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwogCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSBz
ZXF1ZW5jZTxET01TdHJpbmc+IG1lZGlhUmVzcG9uc2VTb3VyY2VzKEhUTUxNZWRpYUVsZW1lbnQg
bWVkaWEpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gc2VxdWVuY2U8RE9NU3RyaW5nPiBtZWRp
YVJlc3BvbnNlQ29udGVudFJhbmdlcyhIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKLSAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIHZvaWQgc2ltdWxhdGVBdWRpb0ludGVycnVwdGlvbihIVE1MTWVkaWFF
bGVtZW50IGVsZW1lbnQpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIHNpbXVs
YXRlQXVkaW9JbnRlcnJ1cHRpb24oSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsKICAgICBbQ29u
ZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIG1lZGlhRWxlbWVudEhh
c0NoYXJhY3RlcmlzdGljKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIGNoYXJh
Y3RlcmlzdGljKTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgYmVnaW5TaW11bGF0ZWRI
RENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVP
XSB2b2lkIGVuZFNpbXVsYXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKKyAg
ICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcihI
VE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5l
ZCBlbmRTaW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7CiAKICAgICBb
Q29uZGl0aW9uYWw9VklERU9dIGJvb2xlYW4gZWxlbWVudFNob3VsZEJ1ZmZlckRhdGEoSFRNTE1l
ZGlhRWxlbWVudCBtZWRpYSk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSBET01TdHJpbmcgZWxl
bWVudEJ1ZmZlcmluZ1BvbGljeShIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKICAgICBbQ29uZGl0
aW9uYWw9VklERU9dIGRvdWJsZSBwcml2YXRlUGxheWVyVm9sdW1lKEhUTUxNZWRpYUVsZW1lbnQg
bWVkaWEpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldElzUGxheWluZ1RvQmx1
ZXRvb3RoT3ZlcnJpZGUob3B0aW9uYWwgYm9vbGVhbj8gaXNQbGF5aW5nID0gbnVsbCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVy
cmlkZShvcHRpb25hbCBib29sZWFuPyBpc1BsYXlpbmcgPSBudWxsKTsKIAotICAgIFtDb25kaXRp
b25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSB2b2lkIGluaXRpYWxpemVNb2NrQ0RNKCk7Cisg
ICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHVuZGVmaW5lZCBpbml0aWFs
aXplTW9ja0NETSgpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIE1vY2tDRE1G
YWN0b3J5IHJlZ2lzdGVyTW9ja0NETSgpOwotICAgIHZvaWQgZW5hYmxlTW9ja01lZGlhQ2FwYWJp
bGl0aWVzKCk7CisgICAgdW5kZWZpbmVkIGVuYWJsZU1vY2tNZWRpYUNhcGFiaWxpdGllcygpOwog
Ci0gICAgW0NvbmRpdGlvbmFsPVNQRUVDSF9TWU5USEVTSVNdIHZvaWQgZW5hYmxlTW9ja1NwZWVj
aFN5bnRoZXNpemVyKCk7CisgICAgW0NvbmRpdGlvbmFsPVNQRUVDSF9TWU5USEVTSVNdIHVuZGVm
aW5lZCBlbmFibGVNb2NrU3BlZWNoU3ludGhlc2l6ZXIoKTsKIAogICAgIERPTVN0cmluZyBnZXRJ
bWFnZVNvdXJjZVVSTChFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW0NvbmRpdGlvbmFsPVZJREVP
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGNhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRl
KCk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRD
YXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZShET01TdHJpbmcgb3ZlcnJpZGUpOwotICAgIFtDb25k
aXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UHJpbWFyeUF1ZGlvVHJh
Y2tMYW5ndWFnZU92ZXJyaWRlKERPTVN0cmluZyBsYW5ndWFnZSk7Ci0gICAgW0NvbmRpdGlvbmFs
PVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRDYXB0aW9uRGlzcGxheU1vZGUoRE9N
U3RyaW5nIG1vZGUpOworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRDYXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZShET01TdHJpbmcgb3ZlcnJp
ZGUpOworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRQcmltYXJ5QXVkaW9UcmFja0xhbmd1YWdlT3ZlcnJpZGUoRE9NU3RyaW5nIGxhbmd1YWdl
KTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0Q2FwdGlvbkRpc3BsYXlNb2RlKERPTVN0cmluZyBtb2RlKTsKICAgICBbQ29uZGl0aW9uYWw9
VklERU9dIFRleHRUcmFja0N1ZUdlbmVyaWMgY3JlYXRlR2VuZXJpY0N1ZShkb3VibGUgc3RhcnRU
aW1lLCBkb3VibGUgZW5kVGltZSwgRE9NU3RyaW5nIHRleHQpOwogICAgIFtDb25kaXRpb25hbD1W
SURFTywgTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB0ZXh0VHJhY2tCQ1A0N0xhbmd1YWdl
KFRleHRUcmFjayB0cmFjayk7CiAKQEAgLTY4MSw3MCArNjgxLDcwIEBAIGVudW0gQ29udGVudFNp
emVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiBwbHVnaW5Jc0JlbG93U2l6ZVRocmVzaG9sZChFbGVt
ZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0IHNlbGVjdGlv
bkJvdW5kcygpOwotICAgIHZvaWQgc2V0U2VsZWN0aW9uV2l0aG91dFZhbGlkYXRpb24oTm9kZSBi
YXNlTm9kZSwgdW5zaWduZWQgbG9uZyBiYXNlT2Zmc2V0LCBOb2RlPyBleHRlbnROb2RlLCB1bnNp
Z25lZCBsb25nIGV4dGVudE9mZnNldCk7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGlvbldpdGhv
dXRWYWxpZGF0aW9uKE5vZGUgYmFzZU5vZGUsIHVuc2lnbmVkIGxvbmcgYmFzZU9mZnNldCwgTm9k
ZT8gZXh0ZW50Tm9kZSwgdW5zaWduZWQgbG9uZyBleHRlbnRPZmZzZXQpOwogCi0gICAgW0NvbmRp
dGlvbmFsPU1FRElBX1NPVVJDRV0gdm9pZCBpbml0aWFsaXplTW9ja01lZGlhU291cmNlKCk7Cisg
ICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gdW5kZWZpbmVkIGluaXRpYWxpemVNb2NrTWVk
aWFTb3VyY2UoKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBzZXF1ZW5jZTxET01T
dHJpbmc+IGJ1ZmZlcmVkU2FtcGxlc0ZvclRyYWNrSUQoU291cmNlQnVmZmVyIGJ1ZmZlciwgRE9N
U3RyaW5nIHRyYWNrSUQpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0VdIHNlcXVlbmNl
PERPTVN0cmluZz4gZW5xdWV1ZWRTYW1wbGVzRm9yVHJhY2tJRChTb3VyY2VCdWZmZXIgYnVmZmVy
LCBET01TdHJpbmcgdHJhY2tJRCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gdm9p
ZCBzZXRTaG91bGRHZW5lcmF0ZVRpbWVzdGFtcHMoU291cmNlQnVmZmVyIGJ1ZmZlciwgYm9vbGVh
biBmbGFnKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB1bmRlZmluZWQgc2V0U2hv
dWxkR2VuZXJhdGVUaW1lc3RhbXBzKFNvdXJjZUJ1ZmZlciBidWZmZXIsIGJvb2xlYW4gZmxhZyk7
CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gZG91YmxlIG1pbmltdW1VcGNvbWluZ1By
ZXNlbnRhdGlvblRpbWVGb3JUcmFja0lEKFNvdXJjZUJ1ZmZlciBidWZmZXIsIERPTVN0cmluZyB0
cmFja0lEKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB2b2lkIHNldE1heGltdW1R
dWV1ZURlcHRoRm9yVHJhY2tJRChTb3VyY2VCdWZmZXIgYnVmZmVyLCBET01TdHJpbmcgdHJhY2tJ
RCwgdW5zaWduZWQgbG9uZyBtYXhRdWV1ZURlcHRoKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U09VUkNFXSB1bmRlZmluZWQgc2V0TWF4aW11bVF1ZXVlRGVwdGhGb3JUcmFja0lEKFNvdXJjZUJ1
ZmZlciBidWZmZXIsIERPTVN0cmluZyB0cmFja0lELCB1bnNpZ25lZCBsb25nIG1heFF1ZXVlRGVw
dGgpOwogCi0gICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBi
ZWdpbk1lZGlhU2Vzc2lvbkludGVycnVwdGlvbihET01TdHJpbmcgaW50ZXJydXB0aW9uVHlwZSk7
Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIGVuZE1lZGlhU2Vzc2lvbkludGVycnVwdGlv
bihET01TdHJpbmcgZmxhZ3MpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSB2b2lk
IHNlbmRNZWRpYVNlc3Npb25TdGFydE9mSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uKE1lZGlhU2Vz
c2lvbkludGVycnVwdGluZ0NhdGVnb3J5IGNhdGVnb3J5KTsKLSAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU0VTU0lPTl0gdm9pZCBzZW5kTWVkaWFTZXNzaW9uRW5kT2ZJbnRlcnJ1cHRpb25Ob3RpZmlj
YXRpb24oTWVkaWFTZXNzaW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkgY2F0ZWdvcnkpOworICAgIFtD
b25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBiZWdpbk1lZGlh
U2Vzc2lvbkludGVycnVwdGlvbihET01TdHJpbmcgaW50ZXJydXB0aW9uVHlwZSk7CisgICAgW0Nv
bmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgZW5kTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uKERP
TVN0cmluZyBmbGFncyk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05dIHVuZGVmaW5l
ZCBzZW5kTWVkaWFTZXNzaW9uU3RhcnRPZkludGVycnVwdGlvbk5vdGlmaWNhdGlvbihNZWRpYVNl
c3Npb25JbnRlcnJ1cHRpbmdDYXRlZ29yeSBjYXRlZ29yeSk7CisgICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NFU1NJT05dIHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uRW5kT2ZJbnRlcnJ1cHRpb25O
b3RpZmljYXRpb24oTWVkaWFTZXNzaW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkgY2F0ZWdvcnkpOwog
ICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSBET01TdHJpbmcgbWVkaWFTZXNzaW9uQ3Vy
cmVudFN0YXRlKE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U0VTU0lPTl0gZG91YmxlIG1lZGlhRWxlbWVudFBsYXllclZvbHVtZShIVE1MTWVkaWFFbGVtZW50
IGVsZW1lbnQpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSB2b2lkIHNlbmRNZWRp
YUNvbnRyb2xFdmVudChNZWRpYUNvbnRyb2xFdmVudCBldmVudCk7Ci0gICAgW0NvbmRpdGlvbmFs
PVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCk7Ci0gICAgW0NvbmRp
dGlvbmFsPVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7Ci0gICAgW0Nv
bmRpdGlvbmFsPVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChvcHRp
b25hbCBib29sZWFuIHN1c3BlbmRlZFVuZGVyTG9jayA9IGZhbHNlKTsKLSAgICBbQ29uZGl0aW9u
YWw9VklERU9dIHZvaWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQob3B0aW9uYWwgYm9v
bGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVP
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNZWRpYVNlc3Npb25SZXN0cmljdGlvbnMoRE9N
U3RyaW5nIG1lZGlhVHlwZSwgRE9NU3RyaW5nIHJlc3RyaWN0aW9ucyk7CisgICAgW0NvbmRpdGlv
bmFsPU1FRElBX1NFU1NJT05dIHVuZGVmaW5lZCBzZW5kTWVkaWFDb250cm9sRXZlbnQoTWVkaWFD
b250cm9sRXZlbnQgZXZlbnQpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIGFw
cGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1
bmRlZmluZWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKKyAgICBbQ29uZGl0aW9uYWw9
VklERU9dIHVuZGVmaW5lZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQob3B0aW9uYWwg
Ym9vbGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJ
REVPXSB1bmRlZmluZWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQob3B0aW9uYWwgYm9v
bGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVP
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1lZGlhU2Vzc2lvblJlc3RyaWN0aW9u
cyhET01TdHJpbmcgbWVkaWFUeXBlLCBET01TdHJpbmcgcmVzdHJpY3Rpb25zKTsKICAgICBbQ29u
ZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgbWVkaWFTZXNzaW9u
UmVzdHJpY3Rpb25zKERPTVN0cmluZyBtZWRpYVR5cGUpOwotICAgIFtDb25kaXRpb25hbD1WSURF
T10gdm9pZCBzZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMoSFRNTE1lZGlhRWxlbWVudCBlbGVt
ZW50LCBET01TdHJpbmcgcmVzdHJpY3Rpb25zKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX0FVRElP
XSB2b2lkIHNldEF1ZGlvQ29udGV4dFJlc3RyaWN0aW9ucygoQmFzZUF1ZGlvQ29udGV4dCBvciBX
ZWJLaXRBdWRpb0NvbnRleHQpIGNvbnRleHQsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOwotICAg
IFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdFJlbW90ZUNv
bnRyb2xDb21tYW5kKERPTVN0cmluZyBjb21tYW5kLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgYXJndW1lbnQgPSAwKTsKLSAgICBbQ29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUXSB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOwotICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQsIE1h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyU3Rh
dGUoRE9NU3RyaW5nIGRldmljZU5hbWUsIERPTVN0cmluZyBkZXZpY2VTdGF0ZSk7Ci0gICAgW0Nv
bmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gdm9pZCBtb2NrTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlckRpc21pc3NQb3B1cCgpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJF
QU1dIHZvaWQgc2V0Q3VzdG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcigpOwotCi0gICAgW0NvbmRp
dGlvbmFsPVdFQl9BVURJT10gdm9pZCB1c2VNb2NrQXVkaW9EZXN0aW5hdGlvbkNvY29hKCk7Ci0K
LSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBlbXVsYXRlUlRDUGVlckNvbm5lY3Rpb25Q
bGF0Zm9ybUV2ZW50KFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5lY3Rpb24sIERPTVN0cmluZyBhY3Rp
b24pOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHVzZU1vY2tSVENQZWVyQ29ubmVj
dGlvbkZhY3RvcnkoRE9NU3RyaW5nIHRlc3RDYXNlKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JU
Q10gdm9pZCBzZXRJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBb
Q29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBzZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZh
Y2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2
b2lkIHN0b3BQZWVyQ29ubmVjdGlvbihSVENQZWVyQ29ubmVjdGlvbiBjb25uZWN0aW9uKTsKLSAg
ICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBjbGVhclBlZXJDb25uZWN0aW9uRmFjdG9yeSgp
OwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRp
b24oYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBzZXRV
c2VEVExTMTAoYm9vbGVhbiB1c2UpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNl
dFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbGVhbiB1c2UpOworICAgIFtDb25kaXRpb25hbD1W
SURFT10gdW5kZWZpbmVkIHNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVt
ZW50IGVsZW1lbnQsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOworICAgIFtDb25kaXRpb25hbD1X
RUJfQVVESU9dIHVuZGVmaW5lZCBzZXRBdWRpb0NvbnRleHRSZXN0cmljdGlvbnMoKEJhc2VBdWRp
b0NvbnRleHQgb3IgV2ViS2l0QXVkaW9Db250ZXh0KSBjb250ZXh0LCBET01TdHJpbmcgcmVzdHJp
Y3Rpb25zKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgcG9zdFJlbW90ZUNvbnRyb2xDb21tYW5kKERPTVN0cmluZyBjb21tYW5kLCBvcHRpb25h
bCB1bnJlc3RyaWN0ZWQgZmxvYXQgYXJndW1lbnQgPSAwKTsKKyAgICBbQ29uZGl0aW9uYWw9V0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUXSB1bmRlZmluZWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW0NvbmRpdGlvbmFsPVdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNb2Nr
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlclN0YXRlKERPTVN0cmluZyBkZXZpY2VOYW1lLCBET01T
dHJpbmcgZGV2aWNlU3RhdGUpOworICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVRdIHVuZGVmaW5lZCBtb2NrTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckRpc21pc3NQb3B1
cCgpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRDdXN0b21Q
cml2YXRlUmVjb3JkZXJDcmVhdG9yKCk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSB1
bmRlZmluZWQgdXNlTW9ja0F1ZGlvRGVzdGluYXRpb25Db2NvYSgpOworCisgICAgW0NvbmRpdGlv
bmFsPVdFQl9SVENdIHVuZGVmaW5lZCBlbXVsYXRlUlRDUGVlckNvbm5lY3Rpb25QbGF0Zm9ybUV2
ZW50KFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5lY3Rpb24sIERPTVN0cmluZyBhY3Rpb24pOworICAg
IFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgdXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9u
RmFjdG9yeShET01TdHJpbmcgdGVzdENhc2UpOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1
bmRlZmluZWQgc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKGJvb2xlYW4gZW5hYmxlZCk7CisgICAg
W0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRpb25hbD1XRUJf
UlRDXSB1bmRlZmluZWQgc3RvcFBlZXJDb25uZWN0aW9uKFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5l
Y3Rpb24pOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgY2xlYXJQZWVyQ29u
bmVjdGlvbkZhY3RvcnkoKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNl
dEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFVzZURUTFMxMChib29sZWFuIHVzZSk7CisgICAgW0Nv
bmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlRDKGJv
b2xlYW4gdXNlKTsKIAotICAgIFtDb25kaXRpb25hbD1WSURFT10gdm9pZCBzaW11bGF0ZVN5c3Rl
bVNsZWVwKCk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIHNpbXVsYXRlU3lzdGVtV2Fr
ZSgpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIHNpbXVsYXRlU3lzdGVtU2xl
ZXAoKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBzaW11bGF0ZVN5c3RlbVdh
a2UoKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIGJvb2xlYW4gZWxlbWVudElzQmxvY2tpbmdE
aXNwbGF5U2xlZXAoSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gTW9ja1BhZ2VPdmVybGF5IGluc3RhbGxNb2NrUGFnZU92ZXJsYXkoUGFnZU92ZXJs
YXlUeXBlIHR5cGUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHBhZ2VPdmVy
bGF5TGF5ZXJUcmVlQXNUZXh0KG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IGZsYWdzID0gMCk7CiAK
LSAgICB2b2lkIHNldFBhZ2VNdXRlZChET01TdHJpbmcgbXV0ZWRTdGF0ZSk7CisgICAgdW5kZWZp
bmVkIHNldFBhZ2VNdXRlZChET01TdHJpbmcgbXV0ZWRTdGF0ZSk7CiAgICAgRE9NU3RyaW5nIHBh
Z2VNZWRpYVN0YXRlKCk7CiAKLSAgICB2b2lkIHNldFBhZ2VEZWZlcnNMb2FkaW5nKGJvb2xlYW4g
ZGVmZXJzTG9hZGluZyk7CisgICAgdW5kZWZpbmVkIHNldFBhZ2VEZWZlcnNMb2FkaW5nKGJvb2xl
YW4gZGVmZXJzTG9hZGluZyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIHBhZ2VE
ZWZlcnNMb2FkaW5nKCk7CiAKICAgICBGaWxlPyBjcmVhdGVGaWxlKERPTVN0cmluZyB1cmwpOwot
ICAgIHZvaWQgcXVldWVNaWNyb1Rhc2sobG9uZyB0ZXN0TnVtYmVyKTsKKyAgICB1bmRlZmluZWQg
cXVldWVNaWNyb1Rhc2sobG9uZyB0ZXN0TnVtYmVyKTsKICAgICBib29sZWFuIHRlc3RQcmVsb2Fk
ZXJTZXR0aW5nVmlld3BvcnQoKTsKIAogICAgIFtDb25kaXRpb25hbD1DT05URU5UX0ZJTFRFUklO
R10gcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MgbW9ja0NvbnRl
bnRGaWx0ZXJTZXR0aW5nczsKIAogICAgIFtDb25kaXRpb25hbD1DU1NfU0NST0xMX1NOQVAsIE1h
eVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc2Nyb2xsU25hcE9mZnNldHMoRWxlbWVudCBlbGVt
ZW50KTsKICAgICBbQ29uZGl0aW9uYWw9Q1NTX1NDUk9MTF9TTkFQLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gYm9vbGVhbiBpc1Njcm9sbFNuYXBJblByb2dyZXNzKEVsZW1lbnQgZWxlbWVudCk7Ci0gICAg
W0NvbmRpdGlvbmFsPUNTU19TQ1JPTExfU05BUF0gdm9pZCBzZXRQbGF0Zm9ybU1vbWVudHVtU2Ny
b2xsaW5nUHJlZGljdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbQ29uZGl0aW9u
YWw9Q1NTX1NDUk9MTF9TTkFQXSB1bmRlZmluZWQgc2V0UGxhdGZvcm1Nb21lbnR1bVNjcm9sbGlu
Z1ByZWRpY3Rpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIERPTVN0cmluZyBwYXRoU3RyaW5nV2l0aFNocmlua1dyYXBwZWRSZWN0cyhzZXF1ZW5j
ZTxkb3VibGU+IHJlY3RDb21wb25lbnRzLCBkb3VibGUgcmFkaXVzKTsKIApAQCAtNzUyLDc0ICs3
NTIsNzQgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKIAogICAgIERPTVN0cmluZyB1c2Vy
VmlzaWJsZVN0cmluZyhET01VUkwgdXJsKTsKIAotICAgIHZvaWQgc2V0U2hvd0FsbFBsdWdpbnMo
Ym9vbGVhbiBzaG93QWxsKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvd0FsbFBsdWdpbnMoYm9vbGVh
biBzaG93QWxsKTsKIAogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBjbG9uZUFycmF5
QnVmZmVyKGFueSBidWZmZXIsIGFueSBzcmNCeXRlT2Zmc2V0LCBhbnkgYnl0ZUxlbmd0aCk7CiAg
ICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gYm9vbGVhbiBpc1JlYWRhYmxlU3RyZWFtRGlzdHVy
YmVkKGFueSBzdHJlYW0pOwogCiAgICAgRE9NU3RyaW5nIHJlc291cmNlTG9hZFN0YXRpc3RpY3NG
b3JVUkwoRE9NVVJMIHVybCk7Ci0gICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZChib29sZWFuIGVuYWJsZSk7CisgICAgdW5kZWZpbmVkIHNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKGJvb2xlYW4gZW5hYmxlKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sZWFuIGFsbG93KTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlk
ZShib29sZWFuIGFsbG93KTsKIAogICAgIERPTVN0cmluZyBjb21wb3NlZFRyZWVBc1RleHQoTm9k
ZSBwYXJlbnQpOwogCiAgICAgYm9vbGVhbiBpc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOwogICAg
IGRvdWJsZSBsYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKLSAgICB2b2lkIHdp
dGhVc2VyR2VzdHVyZShWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCB3aXRo
VXNlckdlc3R1cmUoVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKIAogICAgIGJvb2xlYW4gdXNlcklz
SW50ZXJhY3RpbmcoKTsKIAogICAgIEdDT2JzZXJ2YXRpb24/IG9ic2VydmVHQyhhbnkgb2JzZXJ2
ZWQpOwogCi0gICAgdm9pZCBzZXRVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik7Ci0gICAg
dm9pZCBzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihCYXNlV3JpdGluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24pOworICAgIHVuZGVmaW5lZCBzZXRVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik7Cisg
ICAgdW5kZWZpbmVkIHNldEJhc2VXcml0aW5nRGlyZWN0aW9uKEJhc2VXcml0aW5nRGlyZWN0aW9u
IGRpcmVjdGlvbik7CiAKICAgICBib29sZWFuIHVzZXJQcmVmZXJzUmVkdWNlZE1vdGlvbigpOwog
ICAgIAotICAgIHZvaWQgcmVwb3J0QmFja3RyYWNlKCk7CisgICAgdW5kZWZpbmVkIHJlcG9ydEJh
Y2t0cmFjZSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10gYm9vbGVhbiBwYWdl
SGFzUGVuZGluZ1BvaW50ZXJMb2NrKCk7CiAgICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10g
Ym9vbGVhbiBwYWdlSGFzUG9pbnRlckxvY2soKTsKIAogICAgIHNlcXVlbmNlPERPTVN0cmluZz4g
YWNjZXNzS2V5TW9kaWZpZXJzKCk7CiAKLSAgICB2b2lkIHNldFF1aWNrTG9va1Bhc3N3b3JkKERP
TVN0cmluZyBwYXNzd29yZCk7CisgICAgdW5kZWZpbmVkIHNldFF1aWNrTG9va1Bhc3N3b3JkKERP
TVN0cmluZyBwYXNzd29yZCk7CiAKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHZvaWQgc2V0QXNS
dW5uaW5nVXNlclNjcmlwdHMoKTsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIENvbmRpdGlvbmFs
PUFQUExFX1BBWV0gdm9pZCBzZXRBcHBsZVBheUlzQWN0aXZlKCk7CisgICAgW0NhbGxXaXRoPURv
Y3VtZW50XSB1bmRlZmluZWQgc2V0QXNSdW5uaW5nVXNlclNjcmlwdHMoKTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnQsIENvbmRpdGlvbmFsPUFQUExFX1BBWV0gdW5kZWZpbmVkIHNldEFwcGxlUGF5
SXNBY3RpdmUoKTsKIAotICAgIHZvaWQgZGlzYWJsZVRpbGVTaXplVXBkYXRlRGVsYXkoKTsKLSAg
ICB2b2lkIHNldFNwZWN1bGF0aXZlVGlsaW5nRGVsYXlEaXNhYmxlZEZvclRlc3RpbmcoYm9vbGVh
biBkaXNhYmxlZCk7CisgICAgdW5kZWZpbmVkIGRpc2FibGVUaWxlU2l6ZVVwZGF0ZURlbGF5KCk7
CisgICAgdW5kZWZpbmVkIHNldFNwZWN1bGF0aXZlVGlsaW5nRGVsYXlEaXNhYmxlZEZvclRlc3Rp
bmcoYm9vbGVhbiBkaXNhYmxlZCk7CiAKLSAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgc2lt
dWxhdGVXZWJHTENvbnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBjb250ZXh0KTsK
LSAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgZmFpbE5leHRHUFVTdGF0dXNDaGVjayhXZWJH
TFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCk7CisgICAgW0NvbmRpdGlvbmFsPVdFQkdMXSB1bmRl
ZmluZWQgc2ltdWxhdGVXZWJHTENvbnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBj
b250ZXh0KTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHVuZGVmaW5lZCBmYWlsTmV4dEdQVVN0
YXR1c0NoZWNrKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBjb250ZXh0KTsKICAgICBbQ29uZGl0aW9u
YWw9V0VCR0xdIGJvb2xlYW4gaGFzTG93QW5kSGlnaFBvd2VyR1BVcygpOwogCi0gICAgdm9pZCBz
ZXRQYWdlVmlzaWJpbGl0eShib29sZWFuIGlzVmlzaWJsZSk7Ci0gICAgdm9pZCBzZXRQYWdlSXNG
b2N1c2VkQW5kQWN0aXZlKGJvb2xlYW4gaXNGb2N1c2VkKTsKLSAgICB2b2lkIHNldFBhZ2VJc0lu
V2luZG93KGJvb2xlYW4gaXNJbldpbmRvdyk7CisgICAgdW5kZWZpbmVkIHNldFBhZ2VWaXNpYmls
aXR5KGJvb2xlYW4gaXNWaXNpYmxlKTsKKyAgICB1bmRlZmluZWQgc2V0UGFnZUlzRm9jdXNlZEFu
ZEFjdGl2ZShib29sZWFuIGlzRm9jdXNlZCk7CisgICAgdW5kZWZpbmVkIHNldFBhZ2VJc0luV2lu
ZG93KGJvb2xlYW4gaXNJbldpbmRvdyk7CiAgICAgYm9vbGVhbiBpc1BhZ2VBY3RpdmUoKTsKIAot
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldEgyNjRIYXJkd2FyZUVuY29kZXJBbGxv
d2VkKGJvb2xlYW4gYWxsb3dlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgYXBw
bHlSb3RhdGlvbkZvck91dGdvaW5nVmlkZW9Tb3VyY2VzKFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5l
Y3Rpb24pOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldFdlYlJUQ0gyNjVTdXBw
b3J0KGJvb2xlYW4gYWxsb3dlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHZvaWQgc2V0
V2ViUlRDVlA5U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwotCi0gICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTV0gdm9pZCBzZXRNb2NrQXVkaW9UcmFja0NoYW5uZWxOdW1iZXIoTWVkaWFTdHJl
YW1UcmFjayB0cmFjaywgdW5zaWduZWQgc2hvcnQgY291bnQpOwotICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIHZvaWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNXSB2b2lkIHNldENhbWVyYU1lZGlhU3RyZWFtVHJhY2tPcmllbnRhdGlvbihNZWRpYVN0
cmVhbVRyYWNrIHRyYWNrLCBzaG9ydCBvcmllbnRhdGlvbik7Ci0gICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTV0gdm9pZCBvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRyYWNr
IHRyYWNrKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldEgyNjRIYXJk
d2FyZUVuY29kZXJBbGxvd2VkKGJvb2xlYW4gYWxsb3dlZCk7CisgICAgW0NvbmRpdGlvbmFsPVdF
Ql9SVENdIHVuZGVmaW5lZCBhcHBseVJvdGF0aW9uRm9yT3V0Z29pbmdWaWRlb1NvdXJjZXMoUlRD
UGVlckNvbm5lY3Rpb24gY29ubmVjdGlvbik7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVu
ZGVmaW5lZCBzZXRXZWJSVENIMjY1U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOworICAgIFtDb25k
aXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sZWFuIGFs
bG93ZWQpOworCisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldE1v
Y2tBdWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCB1bnNpZ25l
ZCBzaG9ydCBjb3VudCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVk
IHNldFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShib29sZWFuIHNo
b3VsZEludGVycnVwdCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVk
IHNldENhbWVyYU1lZGlhU3RyZWFtVHJhY2tPcmllbnRhdGlvbihNZWRpYVN0cmVhbVRyYWNrIHRy
YWNrLCBzaG9ydCBvcmllbnRhdGlvbik7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0g
dW5kZWZpbmVkIG9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2sp
OwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIFByb21pc2U8SW1hZ2VEYXRhPiBncmFi
TmV4dE1lZGlhU3RyZWFtVHJhY2tGcmFtZSgpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJF
QU1dIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRyYWNrQXVkaW9TYW1wbGVDb3Vu
dDsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyB0cmFja1ZpZGVvU2FtcGxlQ291bnQ7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTV0gdm9pZCBkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVzKE1lZGlhU3RyZWFtVHJh
Y2sgdHJhY2ssIGZsb2F0IGRlbGF5KTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2
b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tNdXRlZChNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBib29s
ZWFuIG11dGVkKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHJlbW92ZU1l
ZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW0gc3RyZWFtLCBNZWRpYVN0cmVhbVRyYWNrIHRyYWNr
KTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNpbXVsYXRlTWVkaWFTdHJl
YW1UcmFja0NhcHR1cmVTb3VyY2VGYWlsdXJlKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOwotICAg
IFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0TWVkaWFTdHJlYW1UcmFja0lkZW50
aWZpZXIoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgRE9NU3RyaW5nIGlkZW50aWZpZXIpOwotICAg
IFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRl
cnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBib29sZWFuIGludGVycnVwdGVkKTsKKyAg
ICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgZGVsYXlNZWRpYVN0cmVhbVRy
YWNrU2FtcGxlcyhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBmbG9hdCBkZWxheSk7CisgICAgW0Nv
bmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldE1lZGlhU3RyZWFtVHJhY2tNdXRl
ZChNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBib29sZWFuIG11dGVkKTsKKyAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgcmVtb3ZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0
cmVhbSBzdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOworICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzaW11bGF0ZU1lZGlhU3RyZWFtVHJhY2tDYXB0dXJlU291
cmNlRmFpbHVyZShNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0TWVkaWFTdHJlYW1UcmFja0lkZW50aWZpZXIoTWVkaWFT
dHJlYW1UcmFjayB0cmFjaywgRE9NU3RyaW5nIGlkZW50aWZpZXIpOworICAgIFtDb25kaXRpb25h
bD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNZWRpYVN0cmVhbVNvdXJjZUludGVycnVwdGVk
KE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGJvb2xlYW4gaW50ZXJydXB0ZWQpOwogICAgIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU1dIGJvb2xlYW4gaXNNZWRpYVN0cmVhbVNvdXJjZUludGVycnVw
dGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJF
QU1dIGJvb2xlYW4gaXNNZWRpYVN0cmVhbVNvdXJjZUVuZGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJh
Y2spOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIGJvb2xlYW4gaXNNb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKTsKQEAgLTgzOCwxNyArODM4LDE3IEBAIGVudW0g
Q29udGVudFNpemVDYXRlZ29yeSB7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBwcm9j
ZXNzSWRlbnRpZmllcjsKICAgICBET01TdHJpbmcgc2VydmljZVdvcmtlckNsaWVudElkZW50aWZp
ZXIoRG9jdW1lbnQgZG9jdW1lbnQpOwotICAgIFByb21pc2U8dm9pZD4gc3RvcmVSZWdpc3RyYXRp
b25zT25EaXNrKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHN0b3JlUmVnaXN0cmF0aW9uc09u
RGlzaygpOwogICAgIFByb21pc2U8ZG91YmxlPiBzZW5kSDJQaW5nKERPTVN0cmluZyB1cmwpOwog
Ci0gICAgUHJvbWlzZTx2b2lkPiBjbGVhckNhY2hlU3RvcmFnZU1lbW9yeVJlcHJlc2VudGF0aW9u
KCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGNsZWFyQ2FjaGVTdG9yYWdlTWVtb3J5UmVwcmVz
ZW50YXRpb24oKTsKICAgICBQcm9taXNlPERPTVN0cmluZz4gY2FjaGVTdG9yYWdlRW5naW5lUmVw
cmVzZW50YXRpb24oKTsKLSAgICB2b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNo
UmVzcG9uc2UgcmVzcG9uc2UsIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAgICB1bmRlZmlu
ZWQgc2V0UmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSByZXNwb25zZSwgdW5z
aWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVNp
emVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKIAotICAgIHZvaWQgdXBkYXRl
UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOworICAgIHVuZGVmaW5lZCB1cGRhdGVRdW90YUJhc2Vk
T25TcGFjZVVzYWdlKCk7CiAKLSAgICB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlzdGVuZXIoU3Ry
aW5nQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRDb25zb2xlTWVzc2FnZUxp
c3RlbmVyKFN0cmluZ0NhbGxiYWNrIGNhbGxiYWNrKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIHN1cHBvcnRzQXVkaW9TZXNzaW9uOwogICAgIERPTVN0cmluZyBhdWRpb1Nlc3Np
b25DYXRlZ29yeSgpOwpAQCAtODU2LDggKzg1Niw4IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29y
eSB7CiAgICAgYm9vbGVhbiBhdWRpb1Nlc3Npb25BY3RpdmUoKTsKIAogICAgIFtDb25kaXRpb25h
bD1TRVJWSUNFX1dPUktFUl0gUHJvbWlzZTxib29sZWFuPiBoYXNTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKERPTVN0cmluZyBzY29wZVVSTCk7Ci0gICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09S
S0VSXSBQcm9taXNlPHZvaWQ+IHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlciB3
b3JrZXIpOwotICAgIFtDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUl0gUHJvbWlzZTx2b2lkPiB3
aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZChTZXJ2aWNlV29ya2VyIHdvcmtlcik7CisgICAg
W0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQcm9taXNlPHVuZGVmaW5lZD4gdGVybWluYXRl
U2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyIHdvcmtlcik7CisgICAgW0NvbmRpdGlvbmFsPVNF
UlZJQ0VfV09SS0VSXSBQcm9taXNlPHVuZGVmaW5lZD4gd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1p
bmF0ZWQoU2VydmljZVdvcmtlciB3b3JrZXIpOwogCiAgICAgW0NhbGxXaXRoPURvY3VtZW50LCBD
b25kaXRpb25hbD1BUFBMRV9QQVldIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yIG1vY2tQYXltZW50Q29vcmRpbmF0b3I7CiAKQEAgLTg2NywxNiArODY3LDE2IEBAIGVu
dW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiB1c2luZ0FwcGxlSW50ZXJuYWxT
REsoKTsKICAgICBib29sZWFuIHVzaW5nR1N0cmVhbWVyKCk7CiAKLSAgICB2b2lkIHBvc3RUYXNr
KFZvaWRDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHF1ZXVlVGFzayhET01TdHJpbmcgc291cmNl
LCBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCBx
dWV1ZVRhc2tUb1F1ZXVlTWljcm90YXNrKERPTVN0cmluZyBzb3VyY2UsIFZvaWRDYWxsYmFjayBj
YWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHBvc3RUYXNrKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7
CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgcXVldWVUYXNrKERPTVN0cmluZyBzb3VyY2UsIFZvaWRDYWxsYmFjayBjYWxs
YmFjayk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgcXVldWVUYXNrVG9RdWV1
ZU1pY3JvdGFzayhET01TdHJpbmcgc291cmNlLCBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBoYXNTYW1lRXZlbnRMb29wQXMoV2luZG93UHJv
eHkgd2luZG93UHJveHkpOwogCiAgICAgRE9NU3RyaW5nIHdpbmRvd0xvY2F0aW9uSG9zdChET01X
aW5kb3cgd2luZG93KTsKIAotICAgIHZvaWQgbWFya0NvbnRleHRBc0luc2VjdXJlKCk7CisgICAg
dW5kZWZpbmVkIG1hcmtDb250ZXh0QXNJbnNlY3VyZSgpOwogCi0gICAgdm9pZCBzZXRNYXhDYW52
YXNQaXhlbE1lbW9yeSh1bnNpZ25lZCBsb25nIHNpemUpOworICAgIHVuZGVmaW5lZCBzZXRNYXhD
YW52YXNQaXhlbE1lbW9yeSh1bnNpZ25lZCBsb25nIHNpemUpOwogCiAgICAgW0NvbmRpdGlvbmFs
PVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gcmVhZG9ubHkgYXR0cmlidXRlIE5vd1BsYXlpbmdT
dGF0ZSBub3dQbGF5aW5nU3RhdGU7CiAKQEAgLTg4NywxNSArODg3LDE1IEBAIGVudW0gQ29udGVu
dFNpemVDYXRlZ29yeSB7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gYm9vbGVhbiBlbGVtZW50U2hvdWxkRGlzcGxheVBvc3RlckltYWdlKEhUTUxWaWRlb0VsZW1l
bnQgZWxlbWVudCk7CiAKICAgICBET01TdHJpbmcgb25nb2luZ0xvYWRzRGVzY3JpcHRpb25zKCk7
Ci0gICAgdm9pZCBzZXRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3NFbmFibGVkKGJvb2xl
YW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJp
Y3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogCi0gICAgdm9pZCByZWxvYWRXaXRob3V0Q29udGVu
dEV4dGVuc2lvbnMoKTsKKyAgICB1bmRlZmluZWQgcmVsb2FkV2l0aG91dENvbnRlbnRFeHRlbnNp
b25zKCk7CiAKLSAgICB2b2lkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbGVhbiB2YWx1ZSk7
CisgICAgdW5kZWZpbmVkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbGVhbiB2YWx1ZSk7CiAK
ICAgICB1bnNpZ25lZCBsb25nIHBsdWdpbkNvdW50KCk7CiAKLSAgICB2b2lkIG5vdGlmeVJlc291
cmNlTG9hZE9ic2VydmVyKCk7CisgICAgdW5kZWZpbmVkIG5vdGlmeVJlc291cmNlTG9hZE9ic2Vy
dmVyKCk7CiAKICAgICB1bnNpZ25lZCBsb25nIHByaW1hcnlTY3JlZW5EaXNwbGF5SUQoKTsKIApA
QCAtOTA5LDIzICs5MDksMjMgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKIAogICAgIHNl
cXVlbmNlPENvb2tpZURhdGE+IGdldENvb2tpZXMoKTsKIAotICAgIHZvaWQgc2V0QWx3YXlzQWxs
b3dMb2NhbFdlYmFyY2hpdmUoYm9vbGVhbiBhbHdheXNBbGxvd0xvY2FsV2ViYXJjaGl2ZSk7Cisg
ICAgdW5kZWZpbmVkIHNldEFsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlKGJvb2xlYW4gYWx3YXlz
QWxsb3dMb2NhbFdlYmFyY2hpdmUpOwogCi0gICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmQoKTsK
LSAgICB2b2lkIHByb2Nlc3NEaWRSZXN1bWUoKTsKKyAgICB1bmRlZmluZWQgcHJvY2Vzc1dpbGxT
dXNwZW5kKCk7CisgICAgdW5kZWZpbmVkIHByb2Nlc3NEaWRSZXN1bWUoKTsKIAotICAgIHZvaWQg
dGVzdERpY3Rpb25hcnlMb2dnaW5nKCk7CisgICAgdW5kZWZpbmVkIHRlc3REaWN0aW9uYXJ5TG9n
Z2luZygpOwogCi0gICAgdm9pZCBzZXRNYXhpbXVtSW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndh
cmRpbmdGb3JGZXRjaChkb3VibGUgaW50ZXJ2YWwpOwotICAgIHZvaWQgc2V0VHJhbnNpZW50QWN0
aXZhdGlvbkR1cmF0aW9uKGRvdWJsZSBzZWNvbmRzKTsKKyAgICB1bmRlZmluZWQgc2V0TWF4aW11
bUludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nRm9yRmV0Y2goZG91YmxlIGludGVydmFs
KTsKKyAgICB1bmRlZmluZWQgc2V0VHJhbnNpZW50QWN0aXZhdGlvbkR1cmF0aW9uKGRvdWJsZSBz
ZWNvbmRzKTsKIAotICAgIHZvaWQgc2V0SXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQoYm9v
bGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldElzUGxheWluZ1RvQXV0b21vdGl2ZUhlYWRV
bml0KGJvb2xlYW4gdmFsdWUpOwogCiAgICAgVGV4dEluZGljYXRvckluZm8gdGV4dEluZGljYXRv
ckZvclJhbmdlKFJhbmdlIHJhbmdlLCBUZXh0SW5kaWNhdG9yT3B0aW9ucyBvcHRpb25zKTsKIAot
ICAgIHZvaWQgYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihIVE1MTGlua0VsZW1lbnQgbGlu
aywgRXZlbnRMaXN0ZW5lcj8gY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBhZGRQcmVmZXRjaExv
YWRFdmVudExpc3RlbmVyKEhUTUxMaW5rRWxlbWVudCBsaW5rLCBFdmVudExpc3RlbmVyPyBjYWxs
YmFjayk7CiAKLSAgICBbQ29uZGl0aW9uYWw9V0VCX0FVVEhOXSB2b2lkIHNldE1vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlv
biBjb25maWd1cmF0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX0FVVEhOXSB1bmRlZmluZWQg
c2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihNb2NrV2ViQXV0aGVudGljYXRp
b25Db25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogCiAgICAgSW50ZXJuYWxzTWFwTGlrZSBj
cmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJuYWxzU2V0TGlrZSBjcmVhdGVJbnRl
cm5hbHNTZXRMaWtlKCk7CkBAIC05NDEsMTEgKzk0MSwxMSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0
ZWdvcnkgewogCiAgICAgYm9vbGVhbiBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiAKLSAgICB2b2lkIHNl
dFN5c3RlbUhhc0JhdHRlcnlGb3JUZXN0aW5nKGJvb2xlYW4gaGFzQmF0dGVyeSk7Ci0gICAgdm9p
ZCBzZXRTeXN0ZW1IYXNBQ0ZvclRlc3RpbmcoYm9vbGVhbiBoYXNBQyk7CisgICAgdW5kZWZpbmVk
IHNldFN5c3RlbUhhc0JhdHRlcnlGb3JUZXN0aW5nKGJvb2xlYW4gaGFzQmF0dGVyeSk7CisgICAg
dW5kZWZpbmVkIHNldFN5c3RlbUhhc0FDRm9yVGVzdGluZyhib29sZWFuIGhhc0FDKTsKIAotICAg
IHZvaWQgc2V0SGFyZHdhcmVWUDlEZWNvZGVyRGlzYWJsZWRGb3JUZXN0aW5nKGJvb2xlYW4gZGlz
YWJsZWQpOwotICAgIHZvaWQgc2V0VlA5U2NyZWVuU2l6ZUFuZFNjYWxlRm9yVGVzdGluZyhkb3Vi
bGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQsIGRvdWJsZSBzY2FsZSk7CisgICAgdW5kZWZpbmVkIHNl
dEhhcmR3YXJlVlA5RGVjb2RlckRpc2FibGVkRm9yVGVzdGluZyhib29sZWFuIGRpc2FibGVkKTsK
KyAgICB1bmRlZmluZWQgc2V0VlA5U2NyZWVuU2l6ZUFuZFNjYWxlRm9yVGVzdGluZyhkb3VibGUg
d2lkdGgsIGRvdWJsZSBoZWlnaHQsIGRvdWJsZSBzY2FsZSk7CiAKICAgICBsb25nIHJlYWRQcmVm
ZXJlbmNlSW50ZWdlcihET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKICAgICBET01T
dHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcg
a2V5KTsKQEAgLTk2NCw1ICs5NjQsNSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAg
IFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIHVuc2lnbmVkIGxvbmcgbWVkaWFLZXlzSW50
ZXJuYWxJbnN0YW5jZU9iamVjdFJlZkNvdW50KE1lZGlhS2V5cyBtZWRpYUtleXMpOwogICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIHVuc2lnbmVkIGxvbmcgbWVkaWFLZXlTZXNzaW9u
SW50ZXJuYWxJbnN0YW5jZVNlc3Npb25PYmplY3RSZWZDb3VudChNZWRpYUtleVNlc3Npb24gc2Vz
c2lvbik7CiAKLSAgICB2b2lkIHNldENvbnRlbnRTaXplQ2F0ZWdvcnkoQ29udGVudFNpemVDYXRl
Z29yeSBjYXRlZ29yeSk7CisgICAgdW5kZWZpbmVkIHNldENvbnRlbnRTaXplQ2F0ZWdvcnkoQ29u
dGVudFNpemVDYXRlZ29yeSBjYXRlZ29yeSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw2IEBACiAgICAgYXR0cmlidXRlIGJvb2xlYW4gc3VwcG9ydHNTZXNzaW9uczsKICAgICBhdHRy
aWJ1dGUgc2VxdWVuY2U8TWVkaWFLZXlFbmNyeXB0aW9uU2NoZW1lPiBzdXBwb3J0ZWRFbmNyeXB0
aW9uU2NoZW1lczsKIAotICAgIHZvaWQgdW5yZWdpc3RlcigpOworICAgIHVuZGVmaW5lZCB1bnJl
Z2lzdGVyKCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3Zl
cmxheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92
ZXJsYXkuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYWdlT3ZlcmxheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAKICAgICBO
b0ludGVyZmFjZU9iamVjdCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVy
ZmFjZSBNb2NrUGFnZU92ZXJsYXkgewotICAgIHZvaWQgc2V0RnJhbWUoZG91YmxlIHgsIGRvdWJs
ZSB5LCBkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzZXRGcmFt
ZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB3aWR0aCwgZG91YmxlIGhlaWdodCk7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxNSArMjcsMTUgQEAK
ICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiBdIGlu
dGVyZmFjZSBNb2NrUGF5bWVudENvb3JkaW5hdG9yIHsKLSAgICB2b2lkIHNldENhbk1ha2VQYXlt
ZW50cyhib29sZWFuIGNhbk1ha2VQYXltZW50cyk7Ci0gICAgdm9pZCBzZXRDYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChib29sZWFuIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKTsK
LSAgICB2b2lkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mgc2hpcHBpbmdB
ZGRyZXNzKTsKLSAgICB2b2lkIGNoYW5nZVNoaXBwaW5nT3B0aW9uKERPTVN0cmluZyBzaGlwcGlu
Z09wdGlvbik7Ci0gICAgdm9pZCBjaGFuZ2VQYXltZW50TWV0aG9kKEFwcGxlUGF5UGF5bWVudE1l
dGhvZCBwYXltZW50TWV0aG9kKTsKLSAgICB2b2lkIGFjY2VwdFBheW1lbnQoKTsKLSAgICB2b2lk
IGNhbmNlbFBheW1lbnQoKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuTWFrZVBheW1lbnRzKGJvb2xl
YW4gY2FuTWFrZVBheW1lbnRzKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQoYm9vbGVhbiBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk7CisgICAg
dW5kZWZpbmVkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mgc2hpcHBpbmdB
ZGRyZXNzKTsKKyAgICB1bmRlZmluZWQgY2hhbmdlU2hpcHBpbmdPcHRpb24oRE9NU3RyaW5nIHNo
aXBwaW5nT3B0aW9uKTsKKyAgICB1bmRlZmluZWQgY2hhbmdlUGF5bWVudE1ldGhvZChBcHBsZVBh
eVBheW1lbnRNZXRob2QgcGF5bWVudE1ldGhvZCk7CisgICAgdW5kZWZpbmVkIGFjY2VwdFBheW1l
bnQoKTsKKyAgICB1bmRlZmluZWQgY2FuY2VsUGF5bWVudCgpOwogCi0gICAgdm9pZCBhZGRTZXR1
cEZlYXR1cmUoQXBwbGVQYXlTZXR1cEZlYXR1cmVTdGF0ZSBzdGF0ZSwgQXBwbGVQYXlTZXR1cEZl
YXR1cmVUeXBlIHR5cGUsIGJvb2xlYW4gc3VwcG9ydHNJbnN0YWxsbWVudHMpOworICAgIHVuZGVm
aW5lZCBhZGRTZXR1cEZlYXR1cmUoQXBwbGVQYXlTZXR1cEZlYXR1cmVTdGF0ZSBzdGF0ZSwgQXBw
bGVQYXlTZXR1cEZlYXR1cmVUeXBlIHR5cGUsIGJvb2xlYW4gc3VwcG9ydHNJbnN0YWxsbWVudHMp
OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5TGluZUl0ZW0gdG90YWw7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IGxpbmVJdGVtczsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2
aWNlV29ya2VySW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiBd
IGludGVyZmFjZSBTZXJ2aWNlV29ya2VySW50ZXJuYWxzIHsKLSAgICB2b2lkIHNldE9ubGluZShi
b29sZWFuIGlzT25saW5lKTsKKyAgICB1bmRlZmluZWQgc2V0T25saW5lKGJvb2xlYW4gaXNPbmxp
bmUpOwogICAgIFByb21pc2U8UmVzcG9uc2U+IHdhaXRGb3JGZXRjaEV2ZW50VG9GaW5pc2goRmV0
Y2hFdmVudCBldmVudCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIEZl
dGNoRXZlbnQgY3JlYXRlQmVpbmdEaXNwYXRjaGVkRmV0Y2hFdmVudCgpOwogICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBGZXRjaFJlc3BvbnNlIGNyZWF0ZU9wYXF1ZVdpdGhC
bG9iQm9keVJlc3BvbnNlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252
ZXJzaW9ucy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9UeXBlQ29u
dmVyc2lvbnMuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1R5cGVDb252ZXJzaW9ucy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY2LDEzICs2NiwxMyBAQAog
ICAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdGVzdFVTVlN0cmluZzsKICAgICBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdGVzdFRyZWF0TnVsbEFzRW1wdHlTdHJp
bmc7CiAKLSAgICB2b2lkIHNldFRlc3RMb25nUmVjb3JkKHJlY29yZDxET01TdHJpbmcsIGxvbmc+
IHJlY29yZCk7CisgICAgdW5kZWZpbmVkIHNldFRlc3RMb25nUmVjb3JkKHJlY29yZDxET01TdHJp
bmcsIGxvbmc+IHJlY29yZCk7CiAgICAgcmVjb3JkPERPTVN0cmluZywgbG9uZz4gdGVzdExvbmdS
ZWNvcmQoKTsKIAotICAgIHZvaWQgc2V0VGVzdE5vZGVSZWNvcmQocmVjb3JkPFVTVlN0cmluZywg
Tm9kZT4gcmVjb3JkKTsKKyAgICB1bmRlZmluZWQgc2V0VGVzdE5vZGVSZWNvcmQocmVjb3JkPFVT
VlN0cmluZywgTm9kZT4gcmVjb3JkKTsKICAgICByZWNvcmQ8VVNWU3RyaW5nLCBOb2RlPiB0ZXN0
Tm9kZVJlY29yZCgpOwogCi0gICAgdm9pZCBzZXRUZXN0U2VxdWVuY2VSZWNvcmQocmVjb3JkPEJ5
dGVTdHJpbmcsIHNlcXVlbmNlPERPTVN0cmluZz4+IHJlY29yZCk7CisgICAgdW5kZWZpbmVkIHNl
dFRlc3RTZXF1ZW5jZVJlY29yZChyZWNvcmQ8Qnl0ZVN0cmluZywgc2VxdWVuY2U8RE9NU3RyaW5n
Pj4gcmVjb3JkKTsKICAgICByZWNvcmQ8Qnl0ZVN0cmluZywgc2VxdWVuY2U8RE9NU3RyaW5nPj4g
dGVzdFNlcXVlbmNlUmVjb3JkKCk7CiAKICAgICBhdHRyaWJ1dGUgKERPTVN0cmluZyBvciBsb25n
IG9yIGJvb2xlYW4gb3IgTm9kZSBvciBzZXF1ZW5jZTxsb25nPikgdGVzdFVuaW9uOwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmlkbAkocmV2aXNpb24gMjY2
Mjg0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiwzMiArMzIsMzIgQEAKIF0gaW50ZXJmYWNlIFdlYkZha2VYUkRldmlj
ZSB7CiAgIC8vIFNldHMgdGhlIHZhbHVlcyB0byBiZSB1c2VkIGZvciBzdWJzZXF1ZW50CiAgIC8v
IHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxiYWNrcy4KLSAgdm9pZCBzZXRWaWV3cyhzZXF1
ZW5jZTxGYWtlWFJWaWV3SW5pdD4gdmlld3MpOworICB1bmRlZmluZWQgc2V0Vmlld3Moc2VxdWVu
Y2U8RmFrZVhSVmlld0luaXQ+IHZpZXdzKTsKIAogICAvLyBiZWhhdmVzIGFzIGlmIGRldmljZSB3
YXMgZGlzY29ubmVjdGVkCi0gIFByb21pc2U8dm9pZD4gZGlzY29ubmVjdCgpOworICBQcm9taXNl
PHVuZGVmaW5lZD4gZGlzY29ubmVjdCgpOwogCiAgIC8vIFNldHMgdGhlIG9yaWdpbiBvZiB0aGUg
dmlld2VyCi0gIHZvaWQgc2V0Vmlld2VyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBv
cmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKTsKKyAgdW5k
ZWZpbmVkIHNldFZpZXdlck9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgb3JpZ2luLCBv
cHRpb25hbCBib29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CiAKICAgLy8gSWYgYW4g
b3JpZ2luIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIGRldmljZSBpcyBhc3N1bWVkIHRvIG5v
dCBiZSB0cmFja2luZywgZW11bGF0ZWRQb3NpdGlvbiBzaG91bGQKICAgLy8gYmUgYXNzdW1lZCBm
b3IgY2FzZXMgd2hlcmUgdGhlIFVBIG11c3QgYWx3YXlzIHByb3ZpZGUgYSBwb3NlLgotICB2b2lk
IGNsZWFyVmlld2VyT3JpZ2luKCk7CisgIHVuZGVmaW5lZCBjbGVhclZpZXdlck9yaWdpbigpOwog
CiAgIC8vIFNpbXVsYXRlcyBkZXZpY2VzIGZvY3VzaW5nIGFuZCBibHVycmluZyBzZXNzaW9ucy4K
LSAgdm9pZCBzaW11bGF0ZVZpc2liaWxpdHlDaGFuZ2UoWFJWaXNpYmlsaXR5U3RhdGUgdmlzaWJp
bGl0eVN0YXRlKTsKKyAgdW5kZWZpbmVkIHNpbXVsYXRlVmlzaWJpbGl0eUNoYW5nZShYUlZpc2li
aWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUpOwogCi0gIHZvaWQgc2V0Qm91bmRzR2VvbWV0cnko
c2VxdWVuY2U8RmFrZVhSQm91bmRzUG9pbnQ+IGJvdW5kc0Nvb3JkaW5hdGVzKTsKKyAgdW5kZWZp
bmVkIHNldEJvdW5kc0dlb21ldHJ5KHNlcXVlbmNlPEZha2VYUkJvdW5kc1BvaW50PiBib3VuZHND
b29yZGluYXRlcyk7CiAgIC8vIFNldHMgdGhlIG5hdGl2ZSBvcmlnaW4gb2YgdGhlIHBoeXNpY2Fs
IGZsb29yCi0gIHZvaWQgc2V0Rmxvb3JPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0IGZs
b29yT3JpZ2luKTsKKyAgdW5kZWZpbmVkIHNldEZsb29yT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNm
b3JtSW5pdCBmbG9vck9yaWdpbik7CiAKICAgLy8gSW5kaWNhdGVzIHRoYXQgdGhlIGRldmljZSBj
YW4gbm8gbG9uZ2VyIGlkZW50aWZ5IHRoZSBsb2NhdGlvbiBvZiB0aGUgcGh5c2ljYWwgZmxvb3Iu
Ci0gIHZvaWQgY2xlYXJGbG9vck9yaWdpbigpOworICB1bmRlZmluZWQgY2xlYXJGbG9vck9yaWdp
bigpOwogCiAgIC8vIFVzZWQgdG8gc2ltdWxhdGUgYSBtYWpvciBjaGFuZ2UgaW4gdHJhY2tpbmcg
YW5kIHRoYXQgYSByZXNldCBwb3NlIGV2ZW50IHNob3VsZCBiZSBmaXJlZAogICAvLyBodHRwczov
L2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLyNldmVudC10eXBlcwotICB2b2lkIHNpbXVs
YXRlUmVzZXRQb3NlKCk7CisgIHVuZGVmaW5lZCBzaW11bGF0ZVJlc2V0UG9zZSgpOwogCiAgIC8v
IFVzZWQgdG8gY29ubmVjdCBhbmQgc2VuZCBpbnB1dCBldmVudHMKICAgV2ViRmFrZVhSSW5wdXRD
b250cm9sbGVyIHNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKEZha2VYUklucHV0U291cmNl
SW5pdCBpbnB1dFNvdXJjZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK307Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRy
b2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dl
YkZha2VYUklucHV0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDQ3ICszMSw0
NyBAQAogICAgIE5vSW50ZXJmYWNlT2JqZWN0CiBdIGludGVyZmFjZSBXZWJGYWtlWFJJbnB1dENv
bnRyb2xsZXIgewogICAgIC8vIEluZGljYXRlcyB0aGF0IHRoZSBoYW5kZWRuZXNzIG9mIHRoZSBk
ZXZpY2UgaGFzIGNoYW5nZWQuCi0gICAgdm9pZCBzZXRIYW5kZWRuZXNzKFhSSGFuZGVkbmVzcyBo
YW5kZWRuZXNzKTsKKyAgICB1bmRlZmluZWQgc2V0SGFuZGVkbmVzcyhYUkhhbmRlZG5lc3MgaGFu
ZGVkbmVzcyk7CiAKICAgICAvLyBJbmRpY2F0ZXMgdGhhdCB0aGUgdGFyZ2V0IHJheSBtb2RlIG9m
IHRoZSBkZXZpY2UgaGFzIGNoYW5nZWQuCi0gICAgdm9pZCBzZXRUYXJnZXRSYXlNb2RlKFhSVGFy
Z2V0UmF5TW9kZSB0YXJnZXRSYXlNb2RlKTsKKyAgICB1bmRlZmluZWQgc2V0VGFyZ2V0UmF5TW9k
ZShYUlRhcmdldFJheU1vZGUgdGFyZ2V0UmF5TW9kZSk7CiAKICAgICAvLyBJbmRpY2F0ZXMgdGhh
dCB0aGUgbGlzdCBvZiBwcm9maWxlcyByZXByZXNlbnRpbmcgdGhlIGRldmljZSBoYXMgY2hhbmdl
ZC4KLSAgICB2b2lkIHNldFByb2ZpbGVzKHNlcXVlbmNlPERPTVN0cmluZz4gcHJvZmlsZXMpOwor
ICAgIHVuZGVmaW5lZCBzZXRQcm9maWxlcyhzZXF1ZW5jZTxET01TdHJpbmc+IHByb2ZpbGVzKTsK
IAogICAgIC8vIFNldHMgb3IgY2xlYXJzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udHJvbGxlci4g
IElmIG5vdCBzZXQsIHRoZSBjb250cm9sbGVyIGlzIGFzc3VtZWQgdG8KICAgICAvLyBub3QgYmUg
dHJhY2tlZC4KLSAgICB2b2lkIHNldEdyaXBPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0
IGdyaXBPcmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNlKTsK
LSAgICB2b2lkIGNsZWFyR3JpcE9yaWdpbigpOworICAgIHVuZGVmaW5lZCBzZXRHcmlwT3JpZ2lu
KEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBncmlwT3JpZ2luLCBvcHRpb25hbCBib29sZWFuIGVt
dWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CisgICAgdW5kZWZpbmVkIGNsZWFyR3JpcE9yaWdpbigp
OwogCiAgICAgLy8gU2V0cyB0aGUgcG9pbnRlciBvcmlnaW4gZm9yIHRoZSBjb250cm9sbGVyLgot
ICAgIHZvaWQgc2V0UG9pbnRlck9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgcG9pbnRl
ck9yaWdpbiwgb3B0aW9uYWwgYm9vbGVhbiBlbXVsYXRlZFBvc2l0aW9uID0gZmFsc2UpOworICAg
IHVuZGVmaW5lZCBzZXRQb2ludGVyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBwb2lu
dGVyT3JpZ2luLCBvcHRpb25hbCBib29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CiAK
ICAgICAvLyBUZW1wb3JhcmlseSBkaXNjb25uZWN0IHRoZSBpbnB1dCBkZXZpY2UKLSAgICB2b2lk
IGRpc2Nvbm5lY3QoKTsKKyAgICB1bmRlZmluZWQgZGlzY29ubmVjdCgpOwogCiAgICAgLy8gUmVj
b25uZWN0IGEgZGlzY29ubmVjdGVkIGlucHV0IGRldmljZQotICAgIHZvaWQgcmVjb25uZWN0KCk7
CisgICAgdW5kZWZpbmVkIHJlY29ubmVjdCgpOwogCiAgICAgLy8gU3RhcnQgYSBzZWxlY3Rpb24g
Zm9yIHRoZSBjdXJyZW50IGZyYW1lIHdpdGggdGhlIHByaW1hcnkgaW5wdXQKICAgICAvLyBJZiBh
IGdhbWVwYWQgaXMgc3VwcG9ydGVkLCBzaG91bGQgdXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgcHJp
bWFyeSBidXR0b24gYWNjb3JkaW5nbHkuCi0gICAgdm9pZCBzdGFydFNlbGVjdGlvbigpOworICAg
IHVuZGVmaW5lZCBzdGFydFNlbGVjdGlvbigpOwogCiAgICAgLy8gRW5kIHNlbGVjdGlvbiBmb3Ig
dGhlIGN1cnJlbnQgZnJhbWUgd2l0aCB0aGUgcHJpbWFyeSBpbnB1dAogICAgIC8vIElmIGEgZ2Ft
ZXBhZCBpcyBzdXBwb3J0ZWQsIHNob3VsZCB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBwcmltYXJ5
IGJ1dHRvbiBhY2NvcmRpbmdseS4KLSAgICB2b2lkIGVuZFNlbGVjdGlvbigpOworICAgIHVuZGVm
aW5lZCBlbmRTZWxlY3Rpb24oKTsKIAogICAgIC8vIFNpbXVsYXRlcyBhIHN0YXJ0L2VuZFNlbGVj
dGlvbiBmb3IgdGhlIGN1cnJlbnQgZnJhbWUgd2l0aCB0aGUgcHJpbWFyeSBpbnB1dAogICAgIC8v
IElmIGEgZ2FtZXBhZCBpcyBzdXBwb3J0ZWQsIHNob3VsZCB1cGRhdGUgdGhlIHN0YXRlIG9mIHRo
ZSBwcmltYXJ5IGJ1dHRvbiBhY2NvcmRpbmdseS4KLSAgICB2b2lkIHNpbXVsYXRlU2VsZWN0KCk7
CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlU2VsZWN0KCk7CiAKICAgICAvLyBVcGRhdGVzIHRoZSBz
ZXQgb2Ygc3VwcG9ydGVkIGJ1dHRvbnMsIGluY2x1ZGluZyBhbnkgaW5pdGlhbCBzdGF0ZS4KICAg
ICAvLyBOb3RlIHRoYXQgdGhpcyBtZXRob2Qgc2hvdWxkIG5vdCBiZSBnZW5lcmFsbHkgdXNlZCB0
byB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZQogICAgIC8vIGJ1dHRvbnMsIGFzIHRoZSBVQSBtYXkg
dHJlYXQgdGhpcyBhcyByZS1jcmVhdGluZyB0aGUgR2FtZXBhZC4KICAgICAvLyBOb3RlIHRoYXQg
aWYgYW55IEZha2VYUkJ1dHRvblR5cGUgaXMgcmVwZWF0ZWQgdGhlIGJlaGF2aW9yIGlzIHVuZGVm
aW5lZC4KLSAgICB2b2lkIHNldFN1cHBvcnRlZEJ1dHRvbnMoc2VxdWVuY2U8RmFrZVhSQnV0dG9u
U3RhdGVJbml0PiBzdXBwb3J0ZWRCdXR0b25zKTsKKyAgICB1bmRlZmluZWQgc2V0U3VwcG9ydGVk
QnV0dG9ucyhzZXF1ZW5jZTxGYWtlWFJCdXR0b25TdGF0ZUluaXQ+IHN1cHBvcnRlZEJ1dHRvbnMp
OwogCiAgICAgLy8gVXNlZCB0byB1cGRhdGUgdGhlIHN0YXRlIG9mIGEgYnV0dG9uIGN1cnJlbnRs
eSBzdXBwb3J0ZWQgYnkgdGhlIGlucHV0IHNvdXJjZQogICAgIC8vIFdpbGwgbm90IGFkZCBzdXBw
b3J0IGZvciB0aGF0IGJ1dHRvbiBpZiBpdCBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4KLSAg
ICB2b2lkIHVwZGF0ZUJ1dHRvblN0YXRlKEZha2VYUkJ1dHRvblN0YXRlSW5pdCBidXR0b25TdGF0
ZSk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZUJ1dHRvblN0YXRlKEZha2VYUkJ1dHRvblN0YXRlSW5p
dCBidXR0b25TdGF0ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJYUlRl
c3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViWFJUZXN0Lmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJYUlRlc3Qu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAKICAgICAvLyBTaW11bGF0ZXMg
YSB1c2VyIGFjdGl2YXRpb24gKGFrYSB1c2VyIGdlc3R1cmUpIGZvciB0aGUgY3VycmVudCBzY29w
ZS4KICAgICAvLyBUaGUgYWN0aXZhdGlvbiBpcyBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgdmFsaWQg
aW4gdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGFuZCBvbmx5IGFwcGxpZXMgdG8gV2ViWFIKICAgICAv
LyBEZXZpY2UgQVBJIG1ldGhvZHMuCi0gICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIHNpbXVs
YXRlVXNlckFjdGl2YXRpb24oWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24gZik7Cisg
ICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgc2ltdWxhdGVVc2VyQWN0aXZhdGlvbihY
UlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5jdGlvbiBmKTsKIAogICAgIC8vIERpc2Nvbm5lY3Qg
YWxsIGZha2UgZGV2aWNlcwotICAgIFByb21pc2U8dm9pZD4gZGlzY29ubmVjdEFsbERldmljZXMo
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gZGlzY29ubmVjdEFsbERldmljZXMoKTsKIH07CiAK
IFsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9u
RnVuY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvWFJTaW11
bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24uaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1hSU2ltdWxhdGVVc2VyQWN0aXZhdGlvbkZ1bmN0aW9uLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQlhS
LAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViWFIKLV0gY2FsbGJhY2sgWFJTaW11bGF0ZVVzZXJB
Y3RpdmF0aW9uRnVuY3Rpb24gPSB2b2lkICgpOworXSBjYWxsYmFjayBYUlNpbXVsYXRlVXNlckFj
dGl2YXRpb25GdW5jdGlvbiA9IHVuZGVmaW5lZCAoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCShyZXZpc2lv
biAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEzIEBACiBdIGludGVyZmFj
ZSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2JhbFNjb3BlIHsKICAgICBb
UmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKIAotICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdl
KGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9
R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVz
c2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2Uo
YW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0aD1H
bG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIFtD
b25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTLCBFbmFibGVkQXRSdW50aW1lPU9mZnNjcmVlbkNh
bnZhc10gbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2Fs
bGJhY2sgY2FsbGJhY2spOyAvLyBGSVhNRTogU2hvdWxkIHJldHVybiBhbiB1bnNpZ25lZCBsb25n
LgotICAgIFtDb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTLCBFbmFibGVkQXRSdW50aW1lPU9m
ZnNjcmVlbkNhbnZhc10gdm9pZCBjYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGhhbmRsZSk7IC8v
IEZJWE1FOiBoYW5kbGUgc2hvdWxkIGJlIGFuIHVuc2lnbmVkIGxvbmcuCisgICAgW0NvbmRpdGlv
bmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2FudmFzXSB1
bmRlZmluZWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUobG9uZyBoYW5kbGUpOyAvLyBGSVhNRTogaGFu
ZGxlIHNob3VsZCBiZSBhbiB1bnNpZ25lZCBsb25nLgogCi0gICAgdm9pZCBjbG9zZSgpOworICAg
IHVuZGVmaW5lZCBjbG9zZSgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3Nh
Z2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkocmV2aXNpb24gMjY2Mjg0
KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSwxMCArMjksMTAgQEAKIF0gaW50ZXJmYWNlIFdvcmtlciA6IEV2ZW50VGFyZ2V0IHsKICAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCZSdW50aW1lRmxhZ3MsIE1heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VXJsLCBvcHRpb25hbCBXb3Jr
ZXJPcHRpb25zIG9wdGlvbnMpOwogCi0gICAgdm9pZCB0ZXJtaW5hdGUoKTsKKyAgICB1bmRlZmlu
ZWQgdGVybWluYXRlKCk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8b2JqZWN0PiB0
cmFuc2Zlcik7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9u
cyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRy
YW5zZmVyKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBQb3N0TWVzc2FnZU9w
dGlvbnMgb3B0aW9ucyk7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7CiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlk
bAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogICAgIC8vIFdv
cmtlclV0aWxzCiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW1wb3J0U2NyaXB0cyhV
U1ZTdHJpbmcuLi4gdXJscyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW1w
b3J0U2NyaXB0cyhVU1ZTdHJpbmcuLi4gdXJscyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdv
cmtlck5hdmlnYXRvciBuYXZpZ2F0b3I7CiAKICAgICAvLyBBZGRpdGlvbmFsIGNvbnN0cnVjdG9y
cwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFi
bGVFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9FeHRlbmRhYmxlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw1ICszMiw1
IEBACiBdIGludGVyZmFjZSBFeHRlbmRhYmxlRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0
b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV4dGVuZGFibGVFdmVudEluaXQgZXZlbnRJbml0
RGljdCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2FpdFVudGlsKFByb21pc2U8
YW55PiBmKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB3YWl0VW50aWwoUHJv
bWlzZTxhbnk+IGYpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9G
ZXRjaEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvRmV0Y2hFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgs
NyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVzZXJ2ZWRDbGllbnRJZDsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldENsaWVudElkOwogCi0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlc3BvbmRXaXRoKFByb21pc2U8RmV0Y2hSZXNwb25z
ZT4gcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVzcG9uZFdpdGgoUHJv
bWlzZTxGZXRjaFJlc3BvbnNlPiByKTsKIH07CiAKIGRpY3Rpb25hcnkgRmV0Y2hFdmVudEluaXQg
OiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzYsOCArMzYsOCBAQAogXSBpbnRlcmZhY2UgU2VydmljZVdvcmtlciA6IEV2ZW50VGFy
Z2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjcmlwdFVSTDsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclN0YXRlIHN0YXRlOwotICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBt
ZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFs
T2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwg
b3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1l
c3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3Nh
Z2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIC8vIGV2ZW50
CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnN0YXRlY2hhbmdlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBA
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIHR5cGU7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKIAotICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdl
LCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9u
YWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmpl
Y3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2Us
IHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3Qs
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9w
dGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIH07CiAKIGVudW0gRnJhbWVUeXBl
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnRzLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzUsNyArMzUsNyBAQAogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIFByb21pc2U8YW55PiBnZXQoRE9NU3RyaW5nIGlkKTsKICAgICBbTmV3T2Jq
ZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHNlcXVlbmNlPENs
aWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAg
ICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFdp
bmRvd0NsaWVudD8+IG9wZW5XaW5kb3coVVNWU3RyaW5nIHVybCk7Ci0gICAgW05ld09iamVjdCwg
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTx2b2lkPiBjbGFpbSgpOwor
ICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8
dW5kZWZpbmVkPiBjbGFpbSgpOwogfTsKIAogZGljdGlvbmFyeSBDbGllbnRRdWVyeU9wdGlvbnMg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IGdl
dFJlZ2lzdHJhdGlvbihvcHRpb25hbCBVU1ZTdHJpbmcgY2xpZW50VVJMID0gIiIpOwogICAgIFtO
ZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+IGdl
dFJlZ2lzdHJhdGlvbnMoKTsKIAotICAgIHZvaWQgc3RhcnRNZXNzYWdlcygpOworICAgIHVuZGVm
aW5lZCBzdGFydE1lc3NhZ2VzKCk7CiAKICAgICAvLyBldmVudHMKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uY29udHJvbGxlcmNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRs
CShyZXZpc2lvbiAyNjYyODQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBA
QAogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlckNsaWVu
dHMgY2xpZW50czsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24gcmVnaXN0cmF0aW9uOwogCi0gICAgW05ld09iamVjdF0gUHJvbWlz
ZTx2b2lkPiBza2lwV2FpdGluZygpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVk
PiBza2lwV2FpdGluZygpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmluc3RhbGw7
CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFjdGl2YXRlOwpJbmRleDogU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw3ICs0MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBzY29wZTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0
ZVZpYUNhY2hlOwogCi0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB1cGRhdGUoKTsKKyAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gdXBkYXRlKCk7CiAgICAgW05ld09iamVj
dF0gUHJvbWlzZTxib29sZWFuPiB1bnJlZ2lzdGVyKCk7CiAKICAgICAvLyBldmVudApJbmRleDog
U291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw2IEBACiAg
ICAgSXNJbW11dGFibGVQcm90b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZSwKICAgICBHbG9i
YWw9KFdvcmtsZXQsUGFpbnRXb3JrbGV0KSwKIF0gaW50ZXJmYWNlIFBhaW50V29ya2xldEdsb2Jh
bFNjb3BlIDogV29ya2xldEdsb2JhbFNjb3BlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sQ2Fs
bFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIHJlZ2lzdGVyUGFpbnQoRE9NU3RyaW5nIG5hbWUsIG9i
amVjdCBwYWludENvbnN0cnVjdG9yKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sQ2FsbFdpdGg9
R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcmVnaXN0ZXJQYWludChET01TdHJpbmcgbmFtZSwgb2Jq
ZWN0IHBhaW50Q29uc3RydWN0b3IpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0
ZWQgZG91YmxlIGRldmljZVBpeGVsUmF0aW87CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1dvcmtsZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw1ICsyOSw1IEBACiAgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBHbG9iYWw9V29ya2xldCwKIF0gaW50ZXJmYWNlIFdv
cmtsZXQgewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
YWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1bGVVUkwvKiwgb3B0aW9uYWwgV29ya2xldE9wdGlvbnMg
b3B0aW9ucyovKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgYWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1bGVVUkwvKiwgb3B0aW9uYWwgV29ya2xl
dE9wdGlvbnMgb3B0aW9ucyovKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNCBAQCBlbnVtIFhNTEh0
dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgcmVhZHlTdGF0ZTsKIAogICAgIC8vIHJlcXVlc3QKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgb3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVybCk7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIG9wZW4oQnl0ZVN0cmluZyBtZXRob2QsIFVTVlN0cmluZyB1
cmwsIGJvb2xlYW4gYXN5bmMsIG9wdGlvbmFsIFVTVlN0cmluZz8gdXNlciA9IG51bGwsIG9wdGlv
bmFsIFVTVlN0cmluZz8gcGFzc3dvcmQgPSBudWxsKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgc2V0UmVxdWVzdEhlYWRlcihCeXRlU3RyaW5nIGhlYWRlciwgQnl0ZVN0cmluZyB2YWx1
ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgb3BlbihCeXRlU3RyaW5nIG1l
dGhvZCwgVVNWU3RyaW5nIHVybCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
b3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVybCwgYm9vbGVhbiBhc3luYywgb3B0
aW9uYWwgVVNWU3RyaW5nPyB1c2VyID0gbnVsbCwgb3B0aW9uYWwgVVNWU3RyaW5nPyBwYXNzd29y
ZCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFJlcXVlc3RI
ZWFkZXIoQnl0ZVN0cmluZyBoZWFkZXIsIEJ5dGVTdHJpbmcgdmFsdWUpOwogICAgIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gd2l0aENyZWRl
bnRpYWxzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYTUxIdHRwUmVxdWVzdFVwbG9hZCB1cGxv
YWQ7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQob3B0aW9uYWwgKERvY3VtZW50
IG9yIEJvZHlJbml0KT8gYm9keSA9IG51bGwpOwotICAgIHZvaWQgYWJvcnQoKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKG9wdGlvbmFsIChEb2N1bWVudCBvciBCb2R5
SW5pdCk/IGJvZHkgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgYWJvcnQoKTsKIAogICAgIC8vIHJl
c3BvbnNlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyByZXNwb25zZVVSTDsKQEAg
LTc2LDcgKzc2LDcgQEAgZW51bSBYTUxIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEJ5dGVTdHJpbmcgc3RhdHVzVGV4dDsKICAgICBCeXRlU3RyaW5nPyBn
ZXRSZXNwb25zZUhlYWRlcihCeXRlU3RyaW5nIG5hbWUpOwogICAgIEJ5dGVTdHJpbmcgZ2V0QWxs
UmVzcG9uc2VIZWFkZXJzKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG92ZXJyaWRl
TWltZVR5cGUoRE9NU3RyaW5nIG1pbWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIG92ZXJyaWRlTWltZVR5cGUoRE9NU3RyaW5nIG1pbWUpOwogICAgIGF0dHJpYnV0ZSBYTUxI
dHRwUmVxdWVzdFJlc3BvbnNlVHlwZSByZXNwb25zZVR5cGU7CiAgICAgW0NhY2hlZEF0dHJpYnV0
ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYW55IHJlc3BvbnNlOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcmVzcG9uc2VUZXh0OwpJbmRleDogU291cmNlL1dl
YkNvcmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3htbC9YU0xUUHJvY2Vzc29yLmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgU291cmNlL1dlYkNv
cmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTQg
QEAKIF0gaW50ZXJmYWNlIFhTTFRQcm9jZXNzb3IgewogICAgIGNvbnN0cnVjdG9yKCk7CiAKLSAg
ICB2b2lkIGltcG9ydFN0eWxlc2hlZXQob3B0aW9uYWwgTm9kZT8gc3R5bGVzaGVldCA9IG51bGwp
OworICAgIHVuZGVmaW5lZCBpbXBvcnRTdHlsZXNoZWV0KG9wdGlvbmFsIE5vZGU/IHN0eWxlc2hl
ZXQgPSBudWxsKTsKICAgICBEb2N1bWVudEZyYWdtZW50IHRyYW5zZm9ybVRvRnJhZ21lbnQob3B0
aW9uYWwgTm9kZT8gc291cmNlID0gbnVsbCwgb3B0aW9uYWwgRG9jdW1lbnQ/IGRvY1ZhbCA9IG51
bGwpOwogICAgIERvY3VtZW50IHRyYW5zZm9ybVRvRG9jdW1lbnQob3B0aW9uYWwgTm9kZT8gc291
cmNlID0gbnVsbCk7CiAKLSAgICB2b2lkIHNldFBhcmFtZXRlcihET01TdHJpbmc/IG5hbWVzcGFj
ZVVSSSwgRE9NU3RyaW5nPyBsb2NhbE5hbWUsIERPTVN0cmluZz8gdmFsdWUpOworICAgIHVuZGVm
aW5lZCBzZXRQYXJhbWV0ZXIoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZz8gbG9j
YWxOYW1lLCBET01TdHJpbmc/IHZhbHVlKTsKICAgICBET01TdHJpbmc/IGdldFBhcmFtZXRlcihE
T01TdHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nPyBsb2NhbE5hbWUpOwotICAgIHZvaWQg
cmVtb3ZlUGFyYW1ldGVyKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmc/IGxvY2Fs
TmFtZSk7Ci0gICAgdm9pZCBjbGVhclBhcmFtZXRlcnMoKTsKKyAgICB1bmRlZmluZWQgcmVtb3Zl
UGFyYW1ldGVyKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmc/IGxvY2FsTmFtZSk7
CisgICAgdW5kZWZpbmVkIGNsZWFyUGFyYW1ldGVycygpOwogCi0gICAgdm9pZCByZXNldCgpOwor
ICAgIHVuZGVmaW5lZCByZXNldCgpOwogfTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTI3ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSAndm9pZCcgdHlwZSBp
cyBjaGFuZ2luZyB0byAndW5kZWZpbmVkJworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NTE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NzU2NjIw
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVcGRhdGUg
SURMcyBhbmQgSURMIHBhcnNpbmcgLyBjb2RlIGdlbmVyYXRpb24gZm9yIHRoZSBzd2l0Y2ggZnJv
bSAndm9pZCcgdG8gJ3VuZGVmaW5lZCcuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yRHVtcFJlbmRlclRyZWUucG06CisgICAgICAgIChfZ2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbkZpbGUpOgorICAgICAgICAoX3JldHVybkV4cHJlc3Npb24pOgorICAgICAg
ICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29u
dHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Nv
ZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRp
b25GaWxlKToKKyAgICAgICAgKF9yZXR1cm5FeHByZXNzaW9uKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIu
aWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
R0NDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29udHJvbGxlci5pZGw6CisKIDIwMjAt
MDgtMjggIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFt3
ZWJraXRjb3JlcHldIE1vdmUgVGltZW91dCB0byB3ZWJraXRjb3JlcHkgKFBhcnQgMykKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJl
ZS5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9CaW5kaW5ncy9Db2RlR2Vu
ZXJhdG9yRHVtcFJlbmRlclRyZWUucG0JKHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzAzLDcgKzMwMyw3IEBAIEVPRgogICAgICAgICAgICAgICAgICRmdW5jdGlv
bkNhbGwgPSAiaW1wbC0+IiAuICRvcGVyYXRpb24tPm5hbWUgLiAiKCIgLiBqb2luKCIsICIsIEBh
cmd1bWVudHMpIC4gIikiOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAg
ICBwdXNoKEBjb250ZW50cywgIiAgICAke2Z1bmN0aW9uQ2FsbH07XG5cbiIpIGlmICRvcGVyYXRp
b24tPnR5cGUtPm5hbWUgZXEgInZvaWQiOworICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIg
ICAgJHtmdW5jdGlvbkNhbGx9O1xuXG4iKSBpZiAkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ1
bmRlZmluZWQiOwogICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIgICAgcmV0dXJuICIgLiAk
c2VsZi0+X3JldHVybkV4cHJlc3Npb24oJG9wZXJhdGlvbi0+dHlwZSwgJGZ1bmN0aW9uQ2FsbCkg
LiAiO1xufVxuIik7CiAgICAgICAgIH0KICAgICB9CkBAIC00NzEsNyArNDcxLDcgQEAgc3ViIF9y
ZXR1cm5FeHByZXNzaW9uCiB7CiAgICAgbXkgKCRzZWxmLCAkcmV0dXJuVHlwZSwgJGV4cHJlc3Np
b24pID0gQF87CiAKLSAgICByZXR1cm4gIkpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpIiBp
ZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAidm9pZCI7CisgICAgcmV0dXJuICJKU1ZhbHVlTWFrZVVu
ZGVmaW5lZChjb250ZXh0KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgInVuZGVmaW5lZCI7CiAg
ICAgcmV0dXJuICJKU1ZhbHVlTWFrZUJvb2xlYW5Pck51bGwoY29udGV4dCwgJHtleHByZXNzaW9u
fSkiIGlmICRyZXR1cm5UeXBlLT5uYW1lIGVxICJib29sZWFuIiAmJiAkcmV0dXJuVHlwZS0+aXNO
dWxsYWJsZTsKICAgICByZXR1cm4gIkpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCAke2V4cHJl
c3Npb259KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgImJvb2xlYW4iOwogICAgIHJldHVybiAi
JHtleHByZXNzaW9ufSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgIm9iamVjdCI7CkluZGV4OiBU
b29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3Jp
cHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4
NCkKKysrIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJ
U2NyaXB0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDUxICs0MCw1MSBAQCBl
bnVtIE1vZGlmaWVyS2V5IHsKIAogaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAKLSAg
ICB2b2lkIGRvQXN5bmNUYXNrKG9iamVjdCBjYWxsYmFjayk7IC8vIFVzZWQgdG8gdGVzdCB0aGUg
aGFybmVzcy4KLSAgICB2b2lkIHVpU2NyaXB0Q29tcGxldGUoRE9NU3RyaW5nIHJlc3VsdCk7Cisg
ICAgdW5kZWZpbmVkIGRvQXN5bmNUYXNrKG9iamVjdCBjYWxsYmFjayk7IC8vIFVzZWQgdG8gdGVz
dCB0aGUgaGFybmVzcy4KKyAgICB1bmRlZmluZWQgdWlTY3JpcHRDb21wbGV0ZShET01TdHJpbmcg
cmVzdWx0KTsKIAotICAgIHZvaWQgZG9BZnRlclByZXNlbnRhdGlvblVwZGF0ZShvYmplY3QgY2Fs
bGJhY2spOyAvLyBDYWxsIHRoZSBjYWxsYmFjayBhZnRlciBzZW5kaW5nIGEgbWVzc2FnZSB0byB0
aGUgV2ViUHJvY2VzcyBhbmQgcmVjZWl2aW5nIGEgc3Vic2VxdWVudCB1cGRhdGUuCi0gICAgdm9p
ZCBkb0FmdGVyTmV4dFN0YWJsZVByZXNlbnRhdGlvblVwZGF0ZShvYmplY3QgY2FsbGJhY2spOwot
ICAgIHZvaWQgZW5zdXJlUG9zaXRpb25JbmZvcm1hdGlvbklzVXBUb0RhdGVBdChsb25nIHgsIGxv
bmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGRvQWZ0ZXJWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGUob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZG9BZnRlclByZXNlbnRh
dGlvblVwZGF0ZShvYmplY3QgY2FsbGJhY2spOyAvLyBDYWxsIHRoZSBjYWxsYmFjayBhZnRlciBz
ZW5kaW5nIGEgbWVzc2FnZSB0byB0aGUgV2ViUHJvY2VzcyBhbmQgcmVjZWl2aW5nIGEgc3Vic2Vx
dWVudCB1cGRhdGUuCisgICAgdW5kZWZpbmVkIGRvQWZ0ZXJOZXh0U3RhYmxlUHJlc2VudGF0aW9u
VXBkYXRlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGVuc3VyZVBvc2l0aW9uSW5m
b3JtYXRpb25Jc1VwVG9EYXRlQXQobG9uZyB4LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7Cisg
ICAgdW5kZWZpbmVkIGRvQWZ0ZXJWaXNpYmxlQ29udGVudFJlY3RVcGRhdGUob2JqZWN0IGNhbGxi
YWNrKTsKIAotICAgIHZvaWQgZG9BZnRlckRvdWJsZVRhcERlbGF5KG9iamVjdCBjYWxsYmFjayk7
CisgICAgdW5kZWZpbmVkIGRvQWZ0ZXJEb3VibGVUYXBEZWxheShvYmplY3QgY2FsbGJhY2spOwog
Ci0gICAgdm9pZCBzaW11bGF0ZUFjY2Vzc2liaWxpdHlTZXR0aW5nc0NoYW5nZU5vdGlmaWNhdGlv
bihvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZUFjY2Vzc2liaWxpdHlT
ZXR0aW5nc0NoYW5nZU5vdGlmaWNhdGlvbihvYmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gSW50
ZXJhY3Rpb24uCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIHBvc3QgZXZlbnRzIGFzeW5jaHJvbm91
c2x5LiBUaGUgY2FsbGJhY2sgaXMgZmlyZWQgd2hlbiB0aGUgZXZlbnRzIGhhdmUgYmVlbiBkaXNw
YXRjaGVkLCBidXQgYW55CiAgICAgLy8gcmVzdWx0aW5nIGJlaGF2aW9yIG1heSBhbHNvIGJlIGFz
eW5jaHJvbm91cy4gUG9pbnRzIGFyZSBpbiAiZ2xvYmFsIiAoV0tXZWJWaWV3KSBjb29yZGluYXRl
cy4KLSAgICB2b2lkIHRvdWNoRG93bkF0UG9pbnQobG9uZyB4LCBsb25nIHksIGxvbmcgdG91Y2hD
b3VudCwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGxpZnRVcEF0UG9pbnQobG9uZyB4LCBs
b25nIHksIGxvbmcgdG91Y2hDb3VudCwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNpbmds
ZVRhcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBz
aW5nbGVUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgb2JqZWN0IG1vZGlm
aWVyQXJyYXksIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCB0d29GaW5nZXJTaW5nbGVUYXBB
dFBvaW50KGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgZG91Ymxl
VGFwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgZGVsYXksIG9iamVjdCBjYWxsYmFjayk7
Ci0gICAgdm9pZCBkcmFnRnJvbVBvaW50VG9Qb2ludChsb25nIHN0YXJ0WCwgbG9uZyBzdGFydFks
IGxvbmcgZW5kWCwgbG9uZyBlbmRZLCBkb3VibGUgZHVyYXRpb25TZWNvbmRzLCBvYmplY3QgY2Fs
bGJhY2spOwotCi0gICAgdm9pZCBhY3RpdmF0ZUF0UG9pbnQobG9uZyB4LCBsb25nIHksIG9iamVj
dCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIGxvbmdQcmVzc0F0UG9pbnQobG9uZyB4LCBsb25nIHks
IG9iamVjdCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIHN0eWx1c0Rvd25BdFBvaW50KGxvbmcgeCwg
bG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUsIGZsb2F0IHBy
ZXNzdXJlLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3R5bHVzTW92ZVRvUG9pbnQobG9u
ZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxv
YXQgcHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNVcEF0UG9pbnQo
bG9uZyB4LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNUYXBBdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5n
bGUsIGZsb2F0IHByZXNzdXJlLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3R5bHVzVGFw
QXRQb2ludFdpdGhNb2RpZmllcnMobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwg
ZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUsIG9iamVjdCBtb2RpZmllckFycmF5
LCBvYmplY3QgY2FsbGJhY2spOwotCi0gICAgdm9pZCBlbnRlclRleHQoRE9NU3RyaW5nIHRleHQp
OwotICAgIHZvaWQgdHlwZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZChET01TdHJpbmcg
Y2hhcmFjdGVyLCBvYmplY3QgY2FsbGJhY2spOwotCi0gICAgdm9pZCBrZXlEb3duKERPTVN0cmlu
ZyBjaGFyYWN0ZXIsIG9iamVjdCBtb2RpZmllckFycmF5KTsKLSAgICB2b2lkIHRvZ2dsZUNhcHNM
b2NrKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldFNwZWxsQ2hlY2tlclJlc3Vs
dHMob2JqZWN0IHJlc3VsdHMpOworICAgIHVuZGVmaW5lZCB0b3VjaERvd25BdFBvaW50KGxvbmcg
eCwgbG9uZyB5LCBsb25nIHRvdWNoQ291bnQsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZp
bmVkIGxpZnRVcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIGxvbmcgdG91Y2hDb3VudCwgb2JqZWN0
IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc2luZ2xlVGFwQXRQb2ludChsb25nIHgsIGxvbmcg
eSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc2luZ2xlVGFwQXRQb2ludFdpdGhN
b2RpZmllcnMobG9uZyB4LCBsb25nIHksIG9iamVjdCBtb2RpZmllckFycmF5LCBvYmplY3QgY2Fs
bGJhY2spOworICAgIHVuZGVmaW5lZCB0d29GaW5nZXJTaW5nbGVUYXBBdFBvaW50KGxvbmcgeCwg
bG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkb3VibGVUYXBBdFBvaW50
KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBkZWxheSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgZHJhZ0Zyb21Qb2ludFRvUG9pbnQobG9uZyBzdGFydFgsIGxvbmcgc3RhcnRZLCBsb25n
IGVuZFgsIGxvbmcgZW5kWSwgZG91YmxlIGR1cmF0aW9uU2Vjb25kcywgb2JqZWN0IGNhbGxiYWNr
KTsKKworICAgIHVuZGVmaW5lZCBhY3RpdmF0ZUF0UG9pbnQobG9uZyB4LCBsb25nIHksIG9iamVj
dCBjYWxsYmFjayk7CisKKyAgICB1bmRlZmluZWQgbG9uZ1ByZXNzQXRQb2ludChsb25nIHgsIGxv
bmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKKworICAgIHVuZGVmaW5lZCBzdHlsdXNEb3duQXRQb2lu
dChsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xl
LCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc3R5bHVz
TW92ZVRvUG9pbnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0
aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZp
bmVkIHN0eWx1c1VwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAg
ICB1bmRlZmluZWQgc3R5bHVzVGFwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0
aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxi
YWNrKTsKKyAgICB1bmRlZmluZWQgc3R5bHVzVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9uZyB4
LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQg
cHJlc3N1cmUsIG9iamVjdCBtb2RpZmllckFycmF5LCBvYmplY3QgY2FsbGJhY2spOworCisgICAg
dW5kZWZpbmVkIGVudGVyVGV4dChET01TdHJpbmcgdGV4dCk7CisgICAgdW5kZWZpbmVkIHR5cGVD
aGFyYWN0ZXJVc2luZ0hhcmR3YXJlS2V5Ym9hcmQoRE9NU3RyaW5nIGNoYXJhY3Rlciwgb2JqZWN0
IGNhbGxiYWNrKTsKKworICAgIHVuZGVmaW5lZCBrZXlEb3duKERPTVN0cmluZyBjaGFyYWN0ZXIs
IG9iamVjdCBtb2RpZmllckFycmF5KTsKKyAgICB1bmRlZmluZWQgdG9nZ2xlQ2Fwc0xvY2sob2Jq
ZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFNwZWxsQ2hlY2tlclJl
c3VsdHMob2JqZWN0IHJlc3VsdHMpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
a2V5Ym9hcmRJc0F1dG9tYXRpY2FsbHlTaGlmdGVkOwogCi0gICAgdm9pZCByYXdLZXlEb3duKERP
TVN0cmluZyBrZXkpOwotICAgIHZvaWQgcmF3S2V5VXAoRE9NU3RyaW5nIGtleSk7CisgICAgdW5k
ZWZpbmVkIHJhd0tleURvd24oRE9NU3RyaW5nIGtleSk7CisgICAgdW5kZWZpbmVkIHJhd0tleVVw
KERPTVN0cmluZyBrZXkpOwogCiAgICAgLy8gZXZlbnRzSlNPTiBkZXNjcmliZXMgYSBzZXJpZXMg
b2YgdXNlciBldmVudHMgaW4gSlNPTiBmb3JtLiBGb3IgdGhlIGtleXMsIHNlZSBISURFdmVudEdl
bmVyYXRvci5tbS4KICAgICAvLyBGb3IgZXhhbXBsZSwgdGhpcyBKU09OIGRlc2NyaWJlcyBhIHRv
dWNoIGRvd24gZm9sbG93ZWQgYnkgYSB0b3VjaCB1cCAoaS5lLiBhIHNpbmdsZSB0YXApLgpAQCAt
MTg5LDE3ICsxODksMTcgQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAgLy8g
ICAgICAgICAgfSwKICAgICAvLyAgICAgIF0KICAgICAvLyAgfQotICAgIHZvaWQgc2VuZEV2ZW50
U3RyZWFtKERPTVN0cmluZyBldmVudHNKU09OLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVm
aW5lZCBzZW5kRXZlbnRTdHJlYW0oRE9NU3RyaW5nIGV2ZW50c0pTT04sIG9iamVjdCBjYWxsYmFj
ayk7CiAKLSAgICB2b2lkIGJlZ2luQmFja1N3aXBlKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9p
ZCBjb21wbGV0ZUJhY2tTd2lwZShvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBiZWdp
bkJhY2tTd2lwZShvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBjb21wbGV0ZUJhY2tT
d2lwZShvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBwbGF5QmFja0V2ZW50U3RyZWFtKERP
TVN0cmluZyBldmVudFN0cmVhbSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgcGxh
eUJhY2tFdmVudFN0cmVhbShET01TdHJpbmcgZXZlbnRTdHJlYW0sIG9iamVjdCBjYWxsYmFjayk7
CiAKICAgICAvLyBFcXVpdmFsZW50IG9mIHByZXNzaW5nIHRoZSBEb25lIGJ1dHRvbiBpbiB0aGUg
Zm9ybSBhY2Nlc3NvcnkgYmFyLgotICAgIHZvaWQgZGlzbWlzc0Zvcm1BY2Nlc3NvcnlWaWV3KCk7
CisgICAgdW5kZWZpbmVkIGRpc21pc3NGb3JtQWNjZXNzb3J5VmlldygpOwogCi0gICAgdm9pZCBk
aXNtaXNzRmlsZVBpY2tlcihvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkaXNtaXNz
RmlsZVBpY2tlcihvYmplY3QgY2FsbGJhY2spOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB0ZXh0Q29udGVudFR5cGU7CiAKQEAgLTIxNCwxMiArMjE0LDEyIEBAIGludGVyZmFj
ZSBVSVNjcmlwdENvbnRyb2xsZXIgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlz
U2hvd2luZ0NvbnRleHRNZW51OwogCiAgICAgLy8gPHNlbGVjdD4gcGlja2VyCi0gICAgdm9pZCBz
ZWxlY3RGb3JtQWNjZXNzb3J5UGlja2VyUm93KGxvbmcgcm93SW5kZXgpOworICAgIHVuZGVmaW5l
ZCBzZWxlY3RGb3JtQWNjZXNzb3J5UGlja2VyUm93KGxvbmcgcm93SW5kZXgpOwogICAgIGJvb2xl
YW4gc2VsZWN0Rm9ybUFjY2Vzc29yeUhhc0NoZWNrZWRJdGVtQXRSb3cobG9uZyByb3dJbmRleCk7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3RGb3JtUG9wb3ZlclRpdGxl
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZm9ybUlucHV0TGFiZWw7CiAKLSAg
ICB2b2lkIHNldFRpbWVQaWNrZXJWYWx1ZShsb25nIGhvdXIsIGxvbmcgbWludXRlKTsKKyAgICB1
bmRlZmluZWQgc2V0VGltZVBpY2tlclZhbHVlKGxvbmcgaG91ciwgbG9uZyBtaW51dGUpOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZVBpY2tlclZhbHVlSG91cjsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIHRpbWVQaWNrZXJWYWx1ZU1pbnV0ZTsKIApAQCAtMjI3LDEy
ICsyMjcsMTIgQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAKICAgICAvLyA8ZGF0
YWxpc3Q+CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNTaG93aW5nRGF0YUxpc3RT
dWdnZXN0aW9uczsKLSAgICB2b2lkIGFjdGl2YXRlRGF0YUxpc3RTdWdnZXN0aW9uKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGFjdGl2YXRlRGF0
YUxpc3RTdWdnZXN0aW9uKHVuc2lnbmVkIGxvbmcgaW5kZXgsIG9iamVjdCBjYWxsYmFjayk7CiAK
LSAgICB2b2lkIGtleWJvYXJkQWNjZXNzb3J5QmFyTmV4dCgpOwotICAgIHZvaWQga2V5Ym9hcmRB
Y2Nlc3NvcnlCYXJQcmV2aW91cygpOworICAgIHVuZGVmaW5lZCBrZXlib2FyZEFjY2Vzc29yeUJh
ck5leHQoKTsKKyAgICB1bmRlZmluZWQga2V5Ym9hcmRBY2Nlc3NvcnlCYXJQcmV2aW91cygpOwog
Ci0gICAgdm9pZCBhcHBseUF1dG9jb3JyZWN0aW9uKERPTVN0cmluZyBuZXdTdHJpbmcsIERPTVN0
cmluZyBvbGRTdHJpbmcsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGFwcGx5QXV0
b2NvcnJlY3Rpb24oRE9NU3RyaW5nIG5ld1N0cmluZywgRE9NU3RyaW5nIG9sZFN0cmluZywgb2Jq
ZWN0IGNhbGxiYWNrKTsKIAogICAgIC8vIFJldHVybmVkIG9iamVjdCBpcyBhIGRpY3Rpb25hcnkg
d2l0aCB0aGUgcGFzc2VkIGluIHN0cmluZyBhcyBhIGtleSBmb3IgcmV0dXJuZWQgb2JqZWN0CiAg
ICAgb2JqZWN0IGNvbnRlbnRzT2ZVc2VySW50ZXJmYWNlSXRlbShET01TdHJpbmcgaW50ZXJmYWNl
SXRlbSk7CkBAIC0yNTEsOCArMjUxLDggQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNTaG93aW5nTWVudTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgb2JqZWN0IG1lbnVSZWN0OwogICAgIG9iamVjdCByZWN0Rm9yTWVudUFj
dGlvbihET01TdHJpbmcgYWN0aW9uKTsKLSAgICB2b2lkIGNob29zZU1lbnVBY3Rpb24oRE9NU3Ry
aW5nIGFjdGlvbiwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGRpc21pc3NNZW51KCk7Cisg
ICAgdW5kZWZpbmVkIGNob29zZU1lbnVBY3Rpb24oRE9NU3RyaW5nIGFjdGlvbiwgb2JqZWN0IGNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZGlzbWlzc01lbnUoKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIGlzU2hvd2luZ1BvcG92ZXI7CiAgICAgYXR0cmlidXRlIG9iamVjdCB3
aWxsUHJlc2VudFBvcG92ZXJDYWxsYmFjazsKQEAgLTI2MywzMiArMjYzLDMyIEBAIGludGVyZmFj
ZSBVSVNjcmlwdENvbnRyb2xsZXIgewogCiAgICAgYXR0cmlidXRlIG9iamVjdCB3aWxsQ3JlYXRl
TmV3UGFnZUNhbGxiYWNrOwogCi0gICAgdm9pZCB6b29tVG9TY2FsZShkb3VibGUgc2NhbGUsIG9i
amVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSwg
b2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgc2V0Vmlld1NjYWxlKGRvdWJsZSBzY2FsZSk7
Ci0gICAgdm9pZCBzZXRNaW5pbXVtRWZmZWN0aXZlV2lkdGgoZG91YmxlIGVmZmVjdGl2ZVdpZHRo
KTsKLSAgICB2b2lkIHNldEFsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQoYm9vbGVhbiBhbGxvd3Mp
OworICAgIHVuZGVmaW5lZCBzZXRWaWV3U2NhbGUoZG91YmxlIHNjYWxlKTsKKyAgICB1bmRlZmlu
ZWQgc2V0TWluaW11bUVmZmVjdGl2ZVdpZHRoKGRvdWJsZSBlZmZlY3RpdmVXaWR0aCk7CisgICAg
dW5kZWZpbmVkIHNldEFsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQoYm9vbGVhbiBhbGxvd3MpOwog
Ci0gICAgdm9pZCBiZWNvbWVGaXJzdFJlc3BvbmRlcigpOwotICAgIHZvaWQgcmVzaWduRmlyc3RS
ZXNwb25kZXIoKTsKKyAgICB1bmRlZmluZWQgYmVjb21lRmlyc3RSZXNwb25kZXIoKTsKKyAgICB1
bmRlZmluZWQgcmVzaWduRmlyc3RSZXNwb25kZXIoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBpc1ByZXNlbnRpbmdNb2RhbGx5OwogCi0gICAgdm9pZCBjb3B5VGV4dChET01TdHJp
bmcgdGV4dCk7Ci0gICAgdm9pZCBwYXN0ZSgpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4dChET01T
dHJpbmcgdGV4dCk7CisgICAgdW5kZWZpbmVkIHBhc3RlKCk7CiAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlIGNvbnRlbnRPZmZzZXRYOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgY29udGVudE9mZnNldFk7CiAKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBzY3JvbGxVcGRhdGVz
RGlzYWJsZWQ7IC8vIFR1cm5zIG9mZiBub3RpZmljYXRpb25zIGJhY2sgdG8gdGhlIHdlYiBwcm9j
ZXNzIGFmdGVyIHNjcm9sbHMgKHVzZWQgZm9yIHRlc3Rpbmcgc2Nyb2xsaW5nIHRyZWUpLgogCi0g
ICAgdm9pZCBzY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcgeSk7IC8vIEluaXRpYXRlIGFuIGFu
aW1hdGVkIHNjcm9sbCBpbiB0aGUgVUkgcHJvY2Vzcy4KKyAgICB1bmRlZmluZWQgc2Nyb2xsVG9P
ZmZzZXQobG9uZyB4LCBsb25nIHkpOyAvLyBJbml0aWF0ZSBhbiBhbmltYXRlZCBzY3JvbGwgaW4g
dGhlIFVJIHByb2Nlc3MuCiAgICAgYXR0cmlidXRlIG9iamVjdCBkaWRFbmRTY3JvbGxpbmdDYWxs
YmFjazsKIAotICAgIHZvaWQgaW1tZWRpYXRlU2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25nIHkp
OyAvLyBTZXQgdGhlIHNjcm9sbCBwb3NpdGlvbiBpbiB0aGUgVUkgcHJvY2VzcyB3aXRob3V0IGFu
aW1hdGlvbi4KLSAgICB2b2lkIGltbWVkaWF0ZVpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSk7IC8v
IFNldCB0aGUgem9vbSBzY2FsZSBpbiB0aGUgVUkgcHJvY2VzcyB3aXRob3V0IGFuaW1hdGlvbi4K
KyAgICB1bmRlZmluZWQgaW1tZWRpYXRlU2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25nIHkpOyAv
LyBTZXQgdGhlIHNjcm9sbCBwb3NpdGlvbiBpbiB0aGUgVUkgcHJvY2VzcyB3aXRob3V0IGFuaW1h
dGlvbi4KKyAgICB1bmRlZmluZWQgaW1tZWRpYXRlWm9vbVRvU2NhbGUoZG91YmxlIHNjYWxlKTsg
Ly8gU2V0IHRoZSB6b29tIHNjYWxlIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQgYW5pbWF0aW9u
LgogCiAgICAgLy8gRmluZCB0aGUgc2Nyb2xsZXIgZm9yIHRoZSBnaXZlbiBwb2ludCBpbiBjb250
ZW50ICgiYWJzb2x1dGUiKSBjb29yZGluYXRlcywgYW5kIGRvIGFuIGltbWVkaWF0ZSBzY3JvbGwu
Ci0gICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxFbGVtZW50QXRDb250ZW50UG9pbnRUb09mZnNldChs
b25nIHgsIGxvbmcgeSwgbG9uZyB4T2Zmc2V0LCBsb25nIHlPZmZzZXQpOworICAgIHVuZGVmaW5l
ZCBpbW1lZGlhdGVTY3JvbGxFbGVtZW50QXRDb250ZW50UG9pbnRUb09mZnNldChsb25nIHgsIGxv
bmcgeSwgbG9uZyB4T2Zmc2V0LCBsb25nIHlPZmZzZXQpOwogCiAgICAgLy8gVmlldyBzdGF0ZQog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgem9vbVNjYWxlOwpAQCAtMzA4LDEyICszMDgs
MTIgQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIG9iamVjdCBzZWxlY3Rpb25DYXJldFZpZXdSZWN0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBvYmplY3Qgc2VsZWN0aW9uUmFuZ2VWaWV3UmVjdHM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IG9iamVjdCBjYWxlbmRhclR5cGU7Ci0gICAgdm9pZCBzZXREZWZhdWx0Q2FsZW5kYXJUeXBlKERP
TVN0cmluZyBjYWxlbmRhcklkZW50aWZpZXIsIERPTVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKTsK
KyAgICB1bmRlZmluZWQgc2V0RGVmYXVsdENhbGVuZGFyVHlwZShET01TdHJpbmcgY2FsZW5kYXJJ
ZGVudGlmaWVyLCBET01TdHJpbmcgbG9jYWxlSWRlbnRpZmllcik7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIG9iamVjdCBpbnB1dFZpZXdCb3VuZHM7CiAKLSAgICB2b2lkIHNldEtleWJvYXJkSW5w
dXRNb2RlSWRlbnRpZmllcihET01TdHJpbmcgaWRlbnRpZmllcik7CisgICAgdW5kZWZpbmVkIHNl
dEtleWJvYXJkSW5wdXRNb2RlSWRlbnRpZmllcihET01TdHJpbmcgaWRlbnRpZmllcik7CiAKLSAg
ICB2b2lkIHJlcGxhY2VUZXh0QXRSYW5nZShET01TdHJpbmcgdGV4dCwgbG9uZyBsb2NhdGlvbiwg
bG9uZyBsZW5ndGgpOworICAgIHVuZGVmaW5lZCByZXBsYWNlVGV4dEF0UmFuZ2UoRE9NU3RyaW5n
IHRleHQsIGxvbmcgbG9jYXRpb24sIGxvbmcgbGVuZ3RoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgc2Nyb2xsaW5nVHJlZUFzVGV4dDsKIApAQCAtMzIxLDM0ICszMjEsMzQg
QEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAKICAgICBvYmplY3QgcHJvcGVydGll
c09mTGF5ZXJXaXRoSUQodW5zaWduZWQgbG9uZyBsb25nIGxheWVySUQpOwogCi0gICAgdm9pZCBy
ZXRyaWV2ZVNwZWFrU2VsZWN0aW9uQ29udGVudChvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVm
aW5lZCByZXRyaWV2ZVNwZWFrU2VsZWN0aW9uQ29udGVudChvYmplY3QgY2FsbGJhY2spOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzaWJpbGl0eVNwZWFrU2VsZWN0aW9u
Q29udGVudDsKICAgICAKLSAgICB2b2lkIHNpbXVsYXRlUm90YXRpb24oRGV2aWNlT3JpZW50YXRp
b24gb3JpZW50YXRpb24sIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzaW11bGF0ZVJvdGF0
aW9uTGlrZVNhZmFyaShEZXZpY2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgb2JqZWN0IGNhbGxi
YWNrKTsKKyAgICB1bmRlZmluZWQgc2ltdWxhdGVSb3RhdGlvbihEZXZpY2VPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc2ltdWxhdGVSb3Rh
dGlvbkxpa2VTYWZhcmkoRGV2aWNlT3JpZW50YXRpb24gb3JpZW50YXRpb24sIG9iamVjdCBjYWxs
YmFjayk7CiAKLSAgICB2b2lkIGZpbmRTdHJpbmcoRE9NU3RyaW5nIHN0cmluZywgdW5zaWduZWQg
bG9uZyBvcHRpb25zLCB1bnNpZ25lZCBsb25nIG1heENvdW50KTsKKyAgICB1bmRlZmluZWQgZmlu
ZFN0cmluZyhET01TdHJpbmcgc3RyaW5nLCB1bnNpZ25lZCBsb25nIG9wdGlvbnMsIHVuc2lnbmVk
IGxvbmcgbWF4Q291bnQpOwogCiAgICAgLy8gVW5wYXJlbnQgYW5kIHBhcmVudCB0aGUgd2ViIHZp
ZXcsIHNpbXVsYXRpbmcsIGZvciBleGFtcGxlLCB0YWIgc3dpdGNoaW5nLgotICAgIHZvaWQgcmVt
b3ZlVmlld0Zyb21XaW5kb3cob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGFkZFZpZXdUb1dp
bmRvdyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCByZW1vdmVWaWV3RnJvbVdpbmRv
dyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBhZGRWaWV3VG9XaW5kb3cob2JqZWN0
IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgaW5zdGFsbFRhcEdlc3R1cmVPbldpbmRvdyhvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsVGFwR2VzdHVyZU9uV2luZG93KG9iamVj
dCBjYWxsYmFjayk7CiAKLSAgICB2b2lkIG92ZXJyaWRlUHJlZmVyZW5jZShET01TdHJpbmcgcHJl
ZmVyZW5jZSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgb3ZlcnJpZGVQcmVmZXJl
bmNlKERPTVN0cmluZyBwcmVmZXJlbmNlLCBET01TdHJpbmcgdmFsdWUpOwogCi0gICAgdm9pZCBz
ZXRTYWZlQXJlYUluc2V0cyhkb3VibGUgdG9wLCBkb3VibGUgcmlnaHQsIGRvdWJsZSBib3R0b20s
IGRvdWJsZSBsZWZ0KTsKKyAgICB1bmRlZmluZWQgc2V0U2FmZUFyZWFJbnNldHMoZG91YmxlIHRv
cCwgZG91YmxlIHJpZ2h0LCBkb3VibGUgYm90dG9tLCBkb3VibGUgbGVmdCk7CiAKLSAgICB2b2lk
IGZpcnN0UmVzcG9uZGVyU3VwcHJlc3Npb25Gb3JXZWJWaWV3KGJvb2xlYW4gc2hvdWxkU3VwcHJl
c3MpOwotICAgIHZvaWQgbWFrZVdpbmRvd0NvbnRlbnRWaWV3Rmlyc3RSZXNwb25kZXIoKTsKKyAg
ICB1bmRlZmluZWQgZmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbkZvcldlYlZpZXcoYm9vbGVhbiBz
aG91bGRTdXBwcmVzcyk7CisgICAgdW5kZWZpbmVkIG1ha2VXaW5kb3dDb250ZW50Vmlld0ZpcnN0
UmVzcG9uZGVyKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNXaW5kb3dDb250
ZW50Vmlld0ZpcnN0UmVzcG9uZGVyOwogCi0gICAgdm9pZCBzZXRIYXJkd2FyZUtleWJvYXJkQXR0
YWNoZWQoYm9vbGVhbiBhdHRhY2hlZCk7CisgICAgdW5kZWZpbmVkIHNldEhhcmR3YXJlS2V5Ym9h
cmRBdHRhY2hlZChib29sZWFuIGF0dGFjaGVkKTsKIAogICAgIG9iamVjdCBhdHRhY2htZW50SW5m
byhET01TdHJpbmcgYXR0YWNobWVudElkZW50aWZpZXIpOwogCiAgICAgLy8gRWRpdGluZwotICAg
IHZvaWQgZHJhd1NxdWFyZUluRWRpdGFibGVJbWFnZSgpOworICAgIHVuZGVmaW5lZCBkcmF3U3F1
YXJlSW5FZGl0YWJsZUltYWdlKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbnVtYmVy
T2ZTdHJva2VzSW5FZGl0YWJsZUltYWdlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbGFzdFVuZG9MYWJlbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZpcnN0
UmVkb0xhYmVsOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw5ICsyNiw5IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9QUNDRVNTSUJJ
TElUWSwKIF0gaW50ZXJmYWNlIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHsKLSAgICB2b2lkIGVu
YWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sZWFuIGVuYWJsZSk7CisgICAgdW5kZWZpbmVk
IGVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sZWFuIGVuYWJsZSk7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gZW5oYW5jZWRBY2Nlc3NpYmlsaXR5RW5hYmxlZDsKLSAgICB2
b2lkIHNldElzb2xhdGVkVHJlZU1vZGUoYm9vbGVhbiBlbmFibGUpOworICAgIHVuZGVmaW5lZCBz
ZXRJc29sYXRlZFRyZWVNb2RlKGJvb2xlYW4gZW5hYmxlKTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHBsYXRmb3JtTmFtZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudCByb290RWxlbWVudDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCBmb2N1c2VkRWxlbWVudDsKQEAgLTM4LDEwICszOCwxMCBAQAog
ICAgIGJvb2xlYW4gYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIob2JqZWN0IGZ1bmN0aW9uQ2FsbGJh
Y2spOwogICAgIGJvb2xlYW4gcmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKIAotICAgIHZv
aWQgbG9nRm9jdXNFdmVudHMoKTsKLSAgICB2b2lkIGxvZ1ZhbHVlQ2hhbmdlRXZlbnRzKCk7Ci0g
ICAgdm9pZCBsb2dTY3JvbGxpbmdTdGFydEV2ZW50cygpOwotICAgIHZvaWQgbG9nQWNjZXNzaWJp
bGl0eUV2ZW50cygpOwotICAgIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgIHVu
ZGVmaW5lZCBsb2dGb2N1c0V2ZW50cygpOworICAgIHVuZGVmaW5lZCBsb2dWYWx1ZUNoYW5nZUV2
ZW50cygpOworICAgIHVuZGVmaW5lZCBsb2dTY3JvbGxpbmdTdGFydEV2ZW50cygpOworICAgIHVu
ZGVmaW5lZCBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIHJlc2V0VG9D
b25zaXN0ZW50U3RhdGUoKTsKIH07CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjg0KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTAgKzM5LDEwIEBACiAgICAgdW5zaWduZWQgbG9u
ZyBpbmRleE9mQ2hpbGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBjaGlsZCk7CiAgICAgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudCBsaW5rZWRVSUVsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgc2VsZWN0ZWRDaGlsZEF0SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBzZXRTZWxlY3RlZENoaWxkKEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBzZXRTZWxlY3RlZENoaWxkQXRJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHJlbW92ZVNlbGVjdGlvbkF0SW5kZXgodW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBjbGVhclNlbGVjdGVkQ2hpbGRyZW4oKTsKKyAg
ICB1bmRlZmluZWQgc2V0U2VsZWN0ZWRDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGVsZW1l
bnQpOworICAgIHVuZGVmaW5lZCBzZXRTZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25lZCBsb25n
IGluZGV4KTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlU2VsZWN0aW9uQXRJbmRleCh1bnNpZ25lZCBs
b25nIGluZGV4KTsKKyAgICB1bmRlZmluZWQgY2xlYXJTZWxlY3RlZENoaWxkcmVuKCk7CiAgICAg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudCB0aXRsZVVJRWxlbWVudCgpOwogICAgIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQgcGFyZW50RWxlbWVudCgpOwogICAgIApAQCAtNjcsMTQgKzY3LDE0IEBACiAg
ICAgb2JqZWN0IHVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUoRE9NU3RyaW5nIGF0dHIpOwog
ICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgdWlFbGVtZW50QXR0cmlidXRlVmFsdWUoRE9NU3Ry
aW5nIGF0dHIpOyAgCiAgICAgYm9vbGVhbiBib29sQXR0cmlidXRlVmFsdWUoRE9NU3RyaW5nIGF0
dHIpOwotICAgIHZvaWQgYXR0cmlidXRlVmFsdWVBc3luYyhET01TdHJpbmcgYXR0cmlidXRlTmFt
ZSwgb2JqZWN0IGNhbGxiYWNrRnVuY3Rpb24pOwotICAgIHZvaWQgc2V0Qm9vbEF0dHJpYnV0ZVZh
bHVlKERPTVN0cmluZyBhdHRyLCBib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgYXR0cmli
dXRlVmFsdWVBc3luYyhET01TdHJpbmcgYXR0cmlidXRlTmFtZSwgb2JqZWN0IGNhbGxiYWNrRnVu
Y3Rpb24pOworICAgIHVuZGVmaW5lZCBzZXRCb29sQXR0cmlidXRlVmFsdWUoRE9NU3RyaW5nIGF0
dHIsIGJvb2xlYW4gdmFsdWUpOwogICAgIGJvb2xlYW4gaXNBdHRyaWJ1dGVTdXBwb3J0ZWQoRE9N
U3RyaW5nIGF0dHIpOwogICAgIGJvb2xlYW4gaXNBdHRyaWJ1dGVTZXR0YWJsZShET01TdHJpbmcg
YXR0cik7CiAgICAgYm9vbGVhbiBpc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgYm9vbGVh
biBpc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpOwogICAgIGJvb2xlYW4gaXNEZWNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKTsKLSAgICB2b2lkIHNldFZhbHVlKERPTVN0cmluZyB2YWx1ZSk7Cisg
ICAgdW5kZWZpbmVkIHNldFZhbHVlKERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZ1ZhbHVlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIGludFZhbHVlOwpAQCAtMTE5LDE0ICsxMTksMTQgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyBjb2x1bW5Db3VudDsKIAogICAgIC8vIEFjdGlvbnMuCi0gICAgdm9pZCBpbmNyZW1l
bnQoKTsKLSAgICB2b2lkIGRlY3JlbWVudCgpOwotICAgIHZvaWQgYXN5bmNJbmNyZW1lbnQoKTsK
LSAgICB2b2lkIGFzeW5jRGVjcmVtZW50KCk7Ci0gICAgdm9pZCBwcmVzcygpOwotICAgIHZvaWQg
c3luY1ByZXNzKCk7Ci0gICAgdm9pZCBzaG93TWVudSgpOwotICAgIHZvaWQgZGlzbWlzcygpOwor
ICAgIHVuZGVmaW5lZCBpbmNyZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgZGVjcmVtZW50KCk7Cisg
ICAgdW5kZWZpbmVkIGFzeW5jSW5jcmVtZW50KCk7CisgICAgdW5kZWZpbmVkIGFzeW5jRGVjcmVt
ZW50KCk7CisgICAgdW5kZWZpbmVkIHByZXNzKCk7CisgICAgdW5kZWZpbmVkIHN5bmNQcmVzcygp
OworICAgIHVuZGVmaW5lZCBzaG93TWVudSgpOworICAgIHVuZGVmaW5lZCBkaXNtaXNzKCk7CiAK
ICAgICAvLyBBdHRyaWJ1dGUgaW5mby4KICAgICBET01TdHJpbmcgYWxsQXR0cmlidXRlcygpOwpA
QCAtMTk2LDExICsxOTYsMTEgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCBob3Jpem9udGFsU2Nyb2xsYmFyOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IHZlcnRpY2FsU2Nyb2xsYmFyOwogCi0gICAgdm9pZCBzY3Jv
bGxUb01ha2VWaXNpYmxlKCk7Ci0gICAgdm9pZCBzY3JvbGxUb0dsb2JhbFBvaW50KGxvbmcgeCwg
bG9uZyB5KTsKLSAgICB2b2lkIHNjcm9sbFRvTWFrZVZpc2libGVXaXRoU3ViRm9jdXMobG9uZyB4
LCBsb25nIHksIGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xs
VG9NYWtlVmlzaWJsZSgpOworICAgIHVuZGVmaW5lZCBzY3JvbGxUb0dsb2JhbFBvaW50KGxvbmcg
eCwgbG9uZyB5KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhTdWJGb2N1
cyhsb25nIHgsIGxvbmcgeSwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwogCi0gICAgdm9pZCB0
YWtlRm9jdXMoKTsKKyAgICB1bmRlZmluZWQgdGFrZUZvY3VzKCk7CiAgICAgYm9vbGVhbiBzY3Jv
bGxQYWdlRG93bigpOwogICAgIGJvb2xlYW4gc2Nyb2xsUGFnZVVwKCk7CiAgICAgYm9vbGVhbiBz
Y3JvbGxQYWdlTGVmdCgpOwpAQCAtMjEyLDcgKzIxMiw3IEBACiAgICAgQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXJSYW5nZSB0ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgZWxlbWVudCk7CiAgICAgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSB0ZXh0TWFy
a2VyUmFuZ2VGb3JNYXJrZXJzKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIHN0YXJ0TWFya2VyLCBB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlciBlbmRNYXJrZXIpOwogICAgIEFjY2Vzc2liaWxpdHlUZXh0
TWFya2VyUmFuZ2Ugc2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKLSAgICB2b2lkIHJlc2V0U2Vs
ZWN0ZWRUZXh0TWFya2VyUmFuZ2UoKTsKKyAgICB1bmRlZmluZWQgcmVzZXRTZWxlY3RlZFRleHRN
YXJrZXJSYW5nZSgpOwogICAgIGJvb2xlYW4gcmVwbGFjZVRleHRJblJhbmdlKERPTVN0cmluZyBz
dHJpbmcsIGxvbmcgcG9zaXRpb24sIGxvbmcgbGVuZ3RoKTsKICAgICBib29sZWFuIGluc2VydFRl
eHQoRE9NU3RyaW5nIHRleHQpOwogICAgIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIHN0YXJ0VGV4
dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIHJh
bmdlKTsKQEAgLTI2MCwxMiArMjYwLDEyIEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcg
ZWxlbWVudFRleHRMZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzdHJp
bmdGb3JTZWxlY3Rpb247CiAgICAgb2JqZWN0IGVsZW1lbnRzRm9yUmFuZ2UodW5zaWduZWQgbG9u
ZyBsb2NhdGlvbiwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOwotICAgIHZvaWQgaW5jcmVhc2VUZXh0
U2VsZWN0aW9uKCk7Ci0gICAgdm9pZCBkZWNyZWFzZVRleHRTZWxlY3Rpb24oKTsKKyAgICB1bmRl
ZmluZWQgaW5jcmVhc2VUZXh0U2VsZWN0aW9uKCk7CisgICAgdW5kZWZpbmVkIGRlY3JlYXNlVGV4
dFNlbGVjdGlvbigpOwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgbGlua2VkRWxlbWVudCgp
OwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaGVhZGVyRWxlbWVudEF0SW5kZXgodW5zaWdu
ZWQgbG9uZyBpbmRleCk7CiAgICAgLy8gVGhpcyB3aWxsIHNpbXVsYXRlIHRoZSBhY2Nlc3NpYmls
aXR5RGlkQmVjb21lRm9jdXNlZCBBUEkgaW4gVUlLaXQuCi0gICAgdm9pZCBhc3Npc3RpdmVUZWNo
bm9sb2d5U2ltdWxhdGVkRm9jdXMoKTsKKyAgICB1bmRlZmluZWQgYXNzaXN0aXZlVGVjaG5vbG9n
eVNpbXVsYXRlZEZvY3VzKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNTZWFy
Y2hGaWVsZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1RleHRBcmVhOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzSW5EZWZpbml0aW9uTGlzdERlZmluaXRpb247
CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Nv
ZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0J
KHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0JKHdvcmtpbmcgY29weSkKQEAg
LTM0NCw3ICszNDQsNyBAQCBFT0YKICAgICAgICAgICAgICAgICAkZnVuY3Rpb25DYWxsID0gImlt
cGwtPiIgLiAkb3BlcmF0aW9uLT5uYW1lIC4gIigiIC4gam9pbigiLCAiLCBAYXJndW1lbnRzKSAu
ICIpIjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAgICAgcHVzaChAY29u
dGVudHMsICIgICAgJHtmdW5jdGlvbkNhbGx9O1xuXG4iKSBpZiAkb3BlcmF0aW9uLT50eXBlLT5u
YW1lIGVxICJ2b2lkIjsKKyAgICAgICAgICAgIHB1c2goQGNvbnRlbnRzLCAiICAgICR7ZnVuY3Rp
b25DYWxsfTtcblxuIikgaWYgJG9wZXJhdGlvbi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIjsK
ICAgICAgICAgICAgIHB1c2goQGNvbnRlbnRzLCAiICAgIHJldHVybiAiIC4gJHNlbGYtPl9yZXR1
cm5FeHByZXNzaW9uKCRvcGVyYXRpb24tPnR5cGUsICRmdW5jdGlvbkNhbGwpIC4gIjtcbn1cbiIp
OwogICAgICAgICB9CiAgICAgfQpAQCAtNTE3LDcgKzUxNyw3IEBAIHN1YiBfcmV0dXJuRXhwcmVz
c2lvbgogewogICAgIG15ICgkc2VsZiwgJHJldHVyblR5cGUsICRleHByZXNzaW9uKSA9IEBfOwog
Ci0gICAgcmV0dXJuICJKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KSIgaWYgJHJldHVyblR5
cGUtPm5hbWUgZXEgInZvaWQiOworICAgIHJldHVybiAiSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29u
dGV4dCkiIGlmICRyZXR1cm5UeXBlLT5uYW1lIGVxICJ1bmRlZmluZWQiOwogICAgIHJldHVybiAi
SlNWYWx1ZU1ha2VCb29sZWFuT3JOdWxsKGNvbnRleHQsICR7ZXhwcmVzc2lvbn0pIiBpZiAkcmV0
dXJuVHlwZS0+bmFtZSBlcSAiYm9vbGVhbiIgJiYgJHJldHVyblR5cGUtPmlzTnVsbGFibGU7CiAg
ICAgcmV0dXJuICJKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgJHtleHByZXNzaW9ufSkiIGlm
ICRyZXR1cm5UeXBlLT5uYW1lIGVxICJib29sZWFuIjsKICAgICByZXR1cm4gIiR7ZXhwcmVzc2lv
bn0iIGlmICRyZXR1cm5UeXBlLT5uYW1lIGVxICJvYmplY3QiOwpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisr
KyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0OCArMjgsNDggQEAgZGlj
dGlvbmFyeSBNb25pdG9yV2hlZWxFdmVudHNPcHRpb25zIHsKIH07CiAKIGludGVyZmFjZSBFdmVu
dFNlbmRpbmdDb250cm9sbGVyIHsKLSAgICB2b2lkIG1vdXNlRG93bihsb25nIGJ1dHRvbk51bWJl
ciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOwotICAgIHZvaWQgbW91c2VVcChsb25nIGJ1dHRvbk51
bWJlciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOwotICAgIHZvaWQgbW91c2VNb3ZlVG8obG9uZyB4
LCBsb25nIHkpOwotICAgIHZvaWQgbW91c2VGb3JjZUNsaWNrKCk7Ci0gICAgdm9pZCBzdGFydEFu
ZENhbmNlbE1vdXNlRm9yY2VDbGljaygpOwotICAgIHZvaWQgbW91c2VGb3JjZURvd24oKTsKLSAg
ICB2b2lkIG1vdXNlRm9yY2VVcCgpOwotICAgIHZvaWQgbW91c2VGb3JjZUNoYW5nZWQoZG91Ymxl
IGZvcmNlKTsKLSAgICB2b2lkIG1vdXNlU2Nyb2xsQnkobG9uZyB4LCBsb25nIHkpOwotICAgIHZv
aWQgbW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKGxvbmcgeCwgbG9uZyB5
LCBET01TdHJpbmcgcGhhc2UsIERPTVN0cmluZyBtb21lbnR1bSk7Ci0gICAgdm9pZCBjb250aW51
b3VzTW91c2VTY3JvbGxCeShsb25nIHgsIGxvbmcgeSwgb3B0aW9uYWwgYm9vbGVhbiBwYWdlZCk7
CisgICAgdW5kZWZpbmVkIG1vdXNlRG93bihsb25nIGJ1dHRvbk51bWJlciwgb2JqZWN0IG1vZGlm
aWVyQXJyYXkpOworICAgIHVuZGVmaW5lZCBtb3VzZVVwKGxvbmcgYnV0dG9uTnVtYmVyLCBvYmpl
Y3QgbW9kaWZpZXJBcnJheSk7CisgICAgdW5kZWZpbmVkIG1vdXNlTW92ZVRvKGxvbmcgeCwgbG9u
ZyB5KTsKKyAgICB1bmRlZmluZWQgbW91c2VGb3JjZUNsaWNrKCk7CisgICAgdW5kZWZpbmVkIHN0
YXJ0QW5kQ2FuY2VsTW91c2VGb3JjZUNsaWNrKCk7CisgICAgdW5kZWZpbmVkIG1vdXNlRm9yY2VE
b3duKCk7CisgICAgdW5kZWZpbmVkIG1vdXNlRm9yY2VVcCgpOworICAgIHVuZGVmaW5lZCBtb3Vz
ZUZvcmNlQ2hhbmdlZChkb3VibGUgZm9yY2UpOworICAgIHVuZGVmaW5lZCBtb3VzZVNjcm9sbEJ5
KGxvbmcgeCwgbG9uZyB5KTsKKyAgICB1bmRlZmluZWQgbW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKGxvbmcgeCwgbG9uZyB5LCBET01TdHJpbmcgcGhhc2UsIERPTVN0cmlu
ZyBtb21lbnR1bSk7CisgICAgdW5kZWZpbmVkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGxvbmcg
eCwgbG9uZyB5LCBvcHRpb25hbCBib29sZWFuIHBhZ2VkKTsKICAgICBvYmplY3QgY29udGV4dENs
aWNrKCk7Ci0gICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CisgICAgdW5kZWZp
bmVkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAotICAgIHZvaWQgbGVhcEZvcndhcmQo
bG9uZyBtaWxsaXNlY29uZHMpOworICAgIHVuZGVmaW5lZCBsZWFwRm9yd2FyZChsb25nIG1pbGxp
c2Vjb25kcyk7CiAKLSAgICB2b2lkIGtleURvd24oRE9NU3RyaW5nIGtleSwgb2JqZWN0IG1vZGlm
aWVyQXJyYXksIGxvbmcgbG9jYXRpb24pOwotICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNL
ZXlEb3duKERPTVN0cmluZyBrZXkpOworICAgIHVuZGVmaW5lZCBrZXlEb3duKERPTVN0cmluZyBr
ZXksIG9iamVjdCBtb2RpZmllckFycmF5LCBsb25nIGxvY2F0aW9uKTsKKyAgICB1bmRlZmluZWQg
c2NoZWR1bGVBc3luY2hyb25vdXNLZXlEb3duKERPTVN0cmluZyBrZXkpOwogCiAgICAgLy8gWm9v
bSBmdW5jdGlvbnMuCi0gICAgdm9pZCB0ZXh0Wm9vbUluKCk7Ci0gICAgdm9pZCB0ZXh0Wm9vbU91
dCgpOwotICAgIHZvaWQgem9vbVBhZ2VJbigpOwotICAgIHZvaWQgem9vbVBhZ2VPdXQoKTsKLSAg
ICB2b2lkIHNjYWxlUGFnZUJ5KGRvdWJsZSBzY2FsZSwgZG91YmxlIHgsIGRvdWJsZSB5KTsKKyAg
ICB1bmRlZmluZWQgdGV4dFpvb21JbigpOworICAgIHVuZGVmaW5lZCB0ZXh0Wm9vbU91dCgpOwor
ICAgIHVuZGVmaW5lZCB6b29tUGFnZUluKCk7CisgICAgdW5kZWZpbmVkIHpvb21QYWdlT3V0KCk7
CisgICAgdW5kZWZpbmVkIHNjYWxlUGFnZUJ5KGRvdWJsZSBzY2FsZSwgZG91YmxlIHgsIGRvdWJs
ZSB5KTsKIAotICAgIHZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKG9wdGlvbmFsIE1vbml0b3JXaGVl
bEV2ZW50c09wdGlvbnMgb3B0aW9ucyk7Ci0gICAgdm9pZCBjYWxsQWZ0ZXJTY3JvbGxpbmdDb21w
bGV0ZXMob2JqZWN0IGZ1bmN0aW9uQ2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBtb25pdG9yV2hl
ZWxFdmVudHMob3B0aW9uYWwgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyBvcHRpb25zKTsKKyAg
ICB1bmRlZmluZWQgY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKG9iamVjdCBmdW5jdGlvbkNh
bGxiYWNrKTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RP
VUNIX0VWRU5UUwogICAgIC8vIFRvdWNoIGV2ZW50cy4KLSAgICB2b2lkIGFkZFRvdWNoUG9pbnQo
bG9uZyB4LCBsb25nIHkpOwotICAgIHZvaWQgdXBkYXRlVG91Y2hQb2ludChsb25nIGluZGV4LCBs
b25nIHgsIGxvbmcgeSk7Ci0gICAgdm9pZCBzZXRUb3VjaE1vZGlmaWVyKERPTVN0cmluZyBtb2Rp
ZmllciwgYm9vbGVhbiBlbmFibGUpOwotICAgIHZvaWQgc2V0VG91Y2hQb2ludFJhZGl1cyhsb25n
IHJhZGl1c1gsIGxvbmcgcmFkaXVzWSk7Ci0gICAgdm9pZCB0b3VjaFN0YXJ0KCk7Ci0gICAgdm9p
ZCB0b3VjaE1vdmUoKTsKLSAgICB2b2lkIHRvdWNoRW5kKCk7Ci0gICAgdm9pZCB0b3VjaENhbmNl
bCgpOwotICAgIHZvaWQgY2xlYXJUb3VjaFBvaW50cygpOwotICAgIHZvaWQgcmVsZWFzZVRvdWNo
UG9pbnQobG9uZyBpbmRleCk7Ci0gICAgdm9pZCBjYW5jZWxUb3VjaFBvaW50KGxvbmcgaW5kZXgp
OworICAgIHVuZGVmaW5lZCBhZGRUb3VjaFBvaW50KGxvbmcgeCwgbG9uZyB5KTsKKyAgICB1bmRl
ZmluZWQgdXBkYXRlVG91Y2hQb2ludChsb25nIGluZGV4LCBsb25nIHgsIGxvbmcgeSk7CisgICAg
dW5kZWZpbmVkIHNldFRvdWNoTW9kaWZpZXIoRE9NU3RyaW5nIG1vZGlmaWVyLCBib29sZWFuIGVu
YWJsZSk7CisgICAgdW5kZWZpbmVkIHNldFRvdWNoUG9pbnRSYWRpdXMobG9uZyByYWRpdXNYLCBs
b25nIHJhZGl1c1kpOworICAgIHVuZGVmaW5lZCB0b3VjaFN0YXJ0KCk7CisgICAgdW5kZWZpbmVk
IHRvdWNoTW92ZSgpOworICAgIHVuZGVmaW5lZCB0b3VjaEVuZCgpOworICAgIHVuZGVmaW5lZCB0
b3VjaENhbmNlbCgpOworICAgIHVuZGVmaW5lZCBjbGVhclRvdWNoUG9pbnRzKCk7CisgICAgdW5k
ZWZpbmVkIHJlbGVhc2VUb3VjaFBvaW50KGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCBjYW5j
ZWxUb3VjaFBvaW50KGxvbmcgaW5kZXgpOwogI2VuZGlmCiB9OwogCkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0dDQ29udHJvbGxlci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9HQ0NvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyODQpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0dDQ29udHJvbGxlci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDggKzI0LDggQEAKICAqLwogCiBpbnRlcmZhY2UgR0NDb250cm9sbGVyIHsK
LSAgICB2b2lkIGNvbGxlY3QoKTsKLSAgICB2b2lkIGNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZChi
b29sZWFuIHdhaXRVbnRpbERvbmUpOworICAgIHVuZGVmaW5lZCBjb2xsZWN0KCk7CisgICAgdW5k
ZWZpbmVkIGNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZChib29sZWFuIHdhaXRVbnRpbERvbmUpOwog
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBnZXRKU09iamVjdENvdW50KCk7CiB9OwogCkluZGV4OiBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHJldmlzaW9uIDI2NjI4NCkKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDE3ICsyOCwxNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNJT1NGYW1pbHk7CiAKICAgICAvLyBUaGUgYmFz
aWNzLgotICAgIHZvaWQgZHVtcEFzVGV4dChib29sZWFuIGR1bXBQaXhlbHMpOwotICAgIHZvaWQg
ZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgdm9pZCB3YWl0Rm9yUG9saWN5RGVsZWdhdGUo
KTsKLSAgICB2b2lkIHdhaXRVbnRpbERvbmUoKTsKLSAgICB2b2lkIG5vdGlmeURvbmUoKTsKKyAg
ICB1bmRlZmluZWQgZHVtcEFzVGV4dChib29sZWFuIGR1bXBQaXhlbHMpOworICAgIHVuZGVmaW5l
ZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICB1bmRlZmluZWQgd2FpdEZvclBvbGljeURl
bGVnYXRlKCk7CisgICAgdW5kZWZpbmVkIHdhaXRVbnRpbERvbmUoKTsKKyAgICB1bmRlZmluZWQg
bm90aWZ5RG9uZSgpOwogICAgIGRvdWJsZSBwcmVjaXNlVGltZSgpOyAvLyBzZWNvbmRzIHNpbmNl
IHRoZSBlcG9jaAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZW91dDsgLy8gbWls
bGlzZWNvbmRzCiAKICAgICAvLyBEb3dubG9hZHMuCi0gICAgdm9pZCB3YWl0VW50aWxEb3dubG9h
ZEZpbmlzaGVkKCk7Ci0gICAgdm9pZCBzZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyhib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgd2FpdFVudGlsRG93bmxvYWRGaW5pc2hlZCgpOwor
ICAgIHVuZGVmaW5lZCBzZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyhib29sZWFuIHZhbHVl
KTsKIAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFTkRFUl9UUkVFX1NIT1dfQUxMX0xBWUVS
UyAgICAgICAgICAgID0gMTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJfVFJFRV9T
SE9XX0xBWUVSX05FU1RJTkcgICAgICAgICA9IDI7CkBAIC00NiwyMTkgKzQ2LDIxOSBAQCBpbnRl
cmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVOREVSX1RSRUVf
U0hPV19PVkVSRkxPVyAgICAgICAgICAgICAgPSA4OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFJFTkRFUl9UUkVFX1NIT1dfU1ZHX0dFT01FVFJZICAgICAgICAgID0gMTY7CiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgUkVOREVSX1RSRUVfU0hPV19MQVlFUl9GUkFHTUVOVFMgICAgICAgPSAz
MjsKLSAgICB2b2lkIHNldFJlbmRlclRyZWVEdW1wT3B0aW9ucyh1bnNpZ25lZCBzaG9ydCBvcHRp
b25zKTsKKyAgICB1bmRlZmluZWQgc2V0UmVuZGVyVHJlZUR1bXBPcHRpb25zKHVuc2lnbmVkIHNo
b3J0IG9wdGlvbnMpOwogCiAgICAgLy8gT3RoZXIgZHVtcGluZy4KLSAgICB2b2lkIGR1bXBCYWNr
Rm9yd2FyZExpc3QoKTsKLSAgICB2b2lkIGR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7
Ci0gICAgdm9pZCBkdW1wRWRpdGluZ0NhbGxiYWNrcygpOwotICAgIHZvaWQgZHVtcFNlbGVjdGlv
blJlY3QoKTsKLSAgICB2b2lkIGR1bXBTdGF0dXNDYWxsYmFja3MoKTsKLSAgICB2b2lkIGR1bXBU
aXRsZUNoYW5nZXMoKTsKLSAgICB2b2lkIGR1bXBGdWxsU2NyZWVuQ2FsbGJhY2tzKCk7Ci0gICAg
dm9pZCBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wUHJvZ3Jlc3NGaW5p
c2hlZENhbGxiYWNrKCk7Ci0gICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7Ci0g
ICAgdm9pZCBkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOwotICAgIHZvaWQgZHVtcFdp
bGxDYWNoZVJlc3BvbnNlKCk7Ci0gICAgdm9pZCBkdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRl
Q2FsbGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wRGF0YWJhc2VDYWxsYmFja3MoKTsKLSAgICB2b2lk
IGR1bXBET01Bc1dlYkFyY2hpdmUoKTsKLSAgICB2b2lkIGR1bXBQb2xpY3lEZWxlZ2F0ZUNhbGxi
YWNrcygpOwotICAgIHZvaWQgZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKLSAgICB2b2lk
IGR1bXBBZENsaWNrQXR0cmlidXRpb24oKTsKKyAgICB1bmRlZmluZWQgZHVtcEJhY2tGb3J3YXJk
TGlzdCgpOworICAgIHVuZGVmaW5lZCBkdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucygpOwor
ICAgIHVuZGVmaW5lZCBkdW1wRWRpdGluZ0NhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1w
U2VsZWN0aW9uUmVjdCgpOworICAgIHVuZGVmaW5lZCBkdW1wU3RhdHVzQ2FsbGJhY2tzKCk7Cisg
ICAgdW5kZWZpbmVkIGR1bXBUaXRsZUNoYW5nZXMoKTsKKyAgICB1bmRlZmluZWQgZHVtcEZ1bGxT
Y3JlZW5DYWxsYmFja3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcEZyYW1lTG9hZENhbGxiYWNrcygp
OworICAgIHVuZGVmaW5lZCBkdW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrKCk7CisgICAgdW5k
ZWZpbmVkIGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcFJl
c291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKTsKKyAgICB1bmRlZmluZWQgZHVtcFdpbGxDYWNoZVJl
c3BvbnNlKCk7CisgICAgdW5kZWZpbmVkIGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxs
YmFja3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7CisgICAgdW5k
ZWZpbmVkIGR1bXBET01Bc1dlYkFyY2hpdmUoKTsKKyAgICB1bmRlZmluZWQgZHVtcFBvbGljeURl
bGVnYXRlQ2FsbGJhY2tzKCk7CisgICAgdW5kZWZpbmVkIGR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzKCk7CisgICAgdW5kZWZpbmVkIGR1bXBBZENsaWNrQXR0cmlidXRpb24oKTsKIAotICAgIHZv
aWQgY2xlYXJET01DYWNoZXMoKTsKLSAgICB2b2lkIGNsZWFyRE9NQ2FjaGUoRE9NU3RyaW5nIG9y
aWdpbik7CisgICAgdW5kZWZpbmVkIGNsZWFyRE9NQ2FjaGVzKCk7CisgICAgdW5kZWZpbmVkIGNs
ZWFyRE9NQ2FjaGUoRE9NU3RyaW5nIG9yaWdpbik7CiAgICAgYm9vbGVhbiBoYXNET01DYWNoZShE
T01TdHJpbmcgb3JpZ2luKTsKICAgICB1bnNpZ25lZCBsb25nIGRvbUNhY2hlU2l6ZShET01TdHJp
bmcgb3JpZ2luKTsKLSAgICB2b2lkIHNldEFsbG93U3RvcmFnZVF1b3RhSW5jcmVhc2UoYm9vbGVh
biB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93U3RvcmFnZVF1b3RhSW5jcmVhc2UoYm9v
bGVhbiB2YWx1ZSk7CiAKICAgICAvLyBTcGVjaWFsIG9wdGlvbnMuCi0gICAgdm9pZCBrZWVwV2Vi
SGlzdG9yeSgpOwotICAgIHZvaWQgc2V0QWNjZXB0c0VkaXRpbmcoYm9vbGVhbiB2YWx1ZSk7Ci0g
ICAgdm9pZCBzZXRDYW5PcGVuV2luZG93cygpOwotICAgIHZvaWQgc2V0Q2xvc2VSZW1haW5pbmdX
aW5kb3dzV2hlbkNvbXBsZXRlKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0WFNTQXVkaXRv
ckVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMcyhib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldE5lZWRzU3RvcmFnZUFj
Y2Vzc0Zyb21GaWxlVVJMc1F1aXJrKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UGx1Z2lu
c0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNz
Q2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJs
ZWQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxl
ZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2xl
YW4gZW5hYmxlZCwgYm9vbGVhbiBwZXJtaXNzaXZlKTsKLSAgICB2b2lkIGFkZE9yaWdpbkFjY2Vz
c0FsbG93TGlzdEVudHJ5KERPTVN0cmluZyBzb3VyY2VPcmlnaW4sIERPTVN0cmluZyBkZXN0aW5h
dGlvblByb3RvY29sLCBET01TdHJpbmcgZGVzdGluYXRpb25Ib3N0LCBib29sZWFuIGFsbG93RGVz
dGluYXRpb25TdWJkb21haW5zKTsKLSAgICB2b2lkIHJlbW92ZU9yaWdpbkFjY2Vzc0FsbG93TGlz
dEVudHJ5KERPTVN0cmluZyBzb3VyY2VPcmlnaW4sIERPTVN0cmluZyBkZXN0aW5hdGlvblByb3Rv
Y29sLCBET01TdHJpbmcgZGVzdGluYXRpb25Ib3N0LCBib29sZWFuIGFsbG93RGVzdGluYXRpb25T
dWJkb21haW5zKTsKLSAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29sZWFuIHZh
bHVlKTsKLSAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oRE9NU3RyaW5nIGxvY2F0
aW9uKTsKLSAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sZWFuIHZhbHVl
KTsKLSAgICB2b2lkIHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sZWFuIGVuYWJs
ZWQpOwotICAgIHZvaWQgc2V0U2VyaWFsaXplSFRUUExvYWRzKCk7Ci0gICAgdm9pZCBkaXNwYXRj
aFBlbmRpbmdMb2FkUmVxdWVzdHMoKTsKLSAgICB2b2lkIHNldENhY2hlTW9kZWwobG9uZyBtb2Rl
bCk7Ci0gICAgdm9pZCBzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sZWFu
IHZhbHVlKTsKLSAgICB2b2lkIHNldFByaW50aW5nKCk7Ci0gICAgdm9pZCBzZXRTaG91bGREZWNp
ZGVOYXZpZ2F0aW9uUG9saWN5QWZ0ZXJEZWxheShib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNl
dFNob3VsZERlY2lkZVJlc3BvbnNlUG9saWN5QWZ0ZXJEZWxheShib29sZWFuIHZhbHVlKTsKLSAg
ICB2b2lkIHNldE5hdmlnYXRpb25HZXN0dXJlc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAg
dm9pZCBzZXRJZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyhib29sZWFuIHZhbHVlKTsKLSAgICB2
b2lkIHNldFNob3VsZERvd25sb2FkVW5kaXNwbGF5YWJsZU1JTUVUeXBlcyhib29sZWFuIHZhbHVl
KTsKKyAgICB1bmRlZmluZWQga2VlcFdlYkhpc3RvcnkoKTsKKyAgICB1bmRlZmluZWQgc2V0QWNj
ZXB0c0VkaXRpbmcoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldENhbk9wZW5XaW5k
b3dzKCk7CisgICAgdW5kZWZpbmVkIHNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0
ZShib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9v
bGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRBbGxvd0ZpbGVBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldE5lZWRzU3RvcmFn
ZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBz
ZXRQbHVnaW5zRW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0SmF2YVNj
cmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEF1
dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBz
ZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29sZWFuIGVuYWJsZWQsIGJvb2xlYW4gcGVybWlzc2l2
ZSk7CisgICAgdW5kZWZpbmVkIGFkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KERPTVN0cmlu
ZyBzb3VyY2VPcmlnaW4sIERPTVN0cmluZyBkZXN0aW5hdGlvblByb3RvY29sLCBET01TdHJpbmcg
ZGVzdGluYXRpb25Ib3N0LCBib29sZWFuIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKKyAg
ICB1bmRlZmluZWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNv
dXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0
aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOworICAgIHVu
ZGVmaW5lZCBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5k
ZWZpbmVkIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oRE9NU3RyaW5nIGxvY2F0aW9uKTsKKyAg
ICB1bmRlZmluZWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2xlYW4gdmFsdWUpOwor
ICAgIHVuZGVmaW5lZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9vbGVhbiBlbmFi
bGVkKTsKKyAgICB1bmRlZmluZWQgc2V0U2VyaWFsaXplSFRUUExvYWRzKCk7CisgICAgdW5kZWZp
bmVkIGRpc3BhdGNoUGVuZGluZ0xvYWRSZXF1ZXN0cygpOworICAgIHVuZGVmaW5lZCBzZXRDYWNo
ZU1vZGVsKGxvbmcgbW9kZWwpOworICAgIHVuZGVmaW5lZCBzZXRBc3luY2hyb25vdXNTcGVsbENo
ZWNraW5nRW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0UHJpbnRpbmco
KTsKKyAgICB1bmRlZmluZWQgc2V0U2hvdWxkRGVjaWRlTmF2aWdhdGlvblBvbGljeUFmdGVyRGVs
YXkoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFNob3VsZERlY2lkZVJlc3BvbnNl
UG9saWN5QWZ0ZXJEZWxheShib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0TmF2aWdh
dGlvbkdlc3R1cmVzRW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0SWdu
b3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNl
dFNob3VsZERvd25sb2FkVW5kaXNwbGF5YWJsZU1JTUVUeXBlcyhib29sZWFuIHZhbHVlKTsKIAog
ICAgIC8vIFNwZWNpYWwgRE9NIGZ1bmN0aW9ucy4KLSAgICB2b2lkIGNsZWFyQmFja0ZvcndhcmRM
aXN0KCk7Ci0gICAgdm9pZCBleGVjQ29tbWFuZChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHNo
b3dVSSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCYWNrRm9yd2FyZExp
c3QoKTsKKyAgICB1bmRlZmluZWQgZXhlY0NvbW1hbmQoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmlu
ZyBzaG93VUksIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc0NvbW1hbmRFbmFibGVk
KERPTVN0cmluZyBuYW1lKTsKICAgICB1bnNpZ25lZCBsb25nIHdpbmRvd0NvdW50KCk7CiAKICAg
ICAvLyBEZXZpY2UgT3JpZW50YXRpb24gTW90aW9uLgotICAgIHZvaWQgc2V0U2hvdWxkQWxsb3dE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRl
ZmluZWQgc2V0U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyhib29s
ZWFuIHZhbHVlKTsKIAogICAgIC8vIFNwZWNpYWwgRE9NIHZhcmlhYmxlcy4KICAgICBhdHRyaWJ1
dGUgYm9vbGVhbiBnbG9iYWxGbGFnOwogCiAgICAgLy8gUmVwYWludCB0ZXN0aW5nLgotICAgIHZv
aWQgdGVzdFJlcGFpbnQoKTsKLSAgICB2b2lkIHJlcGFpbnRTd2VlcEhvcml6b250YWxseSgpOwot
ICAgIHZvaWQgZGlzcGxheSgpOwotICAgIHZvaWQgZGlzcGxheUFuZFRyYWNrUmVwYWludHMoKTsK
KyAgICB1bmRlZmluZWQgdGVzdFJlcGFpbnQoKTsKKyAgICB1bmRlZmluZWQgcmVwYWludFN3ZWVw
SG9yaXpvbnRhbGx5KCk7CisgICAgdW5kZWZpbmVkIGRpc3BsYXkoKTsKKyAgICB1bmRlZmluZWQg
ZGlzcGxheUFuZFRyYWNrUmVwYWludHMoKTsKIAogICAgIC8vIEZhaWxlZCBsb2FkIGNvbmRpdGlv
biB0ZXN0aW5nCi0gICAgdm9pZCBmb3JjZUltbWVkaWF0ZUNvbXBsZXRpb24oKTsKKyAgICB1bmRl
ZmluZWQgZm9yY2VJbW1lZGlhdGVDb21wbGV0aW9uKCk7CiAKICAgICAvLyBQcmludGluZwogICAg
IGJvb2xlYW4gaXNQYWdlQm94VmlzaWJsZShsb25nIHBhZ2VJbmRleCk7CiAKLSAgICB2b2lkIGR1
bXBBbGxIVFRQUmVkaXJlY3RlZFJlc3BvbnNlSGVhZGVycygpOworICAgIHVuZGVmaW5lZCBkdW1w
QWxsSFRUUFJlZGlyZWN0ZWRSZXNwb25zZUhlYWRlcnMoKTsKIAotICAgIFtQYXNzQ29udGV4dF0g
dm9pZCBzZXRWYWx1ZUZvclVzZXIob2JqZWN0IGVsZW1lbnQsIERPTVN0cmluZyB2YWx1ZSk7Cisg
ICAgW1Bhc3NDb250ZXh0XSB1bmRlZmluZWQgc2V0VmFsdWVGb3JVc2VyKG9iamVjdCBlbGVtZW50
LCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8gVXNlckNvbnRlbnQgdGVzdGluZy4KLSAgICB2
b2lkIGFkZFVzZXJTY3JpcHQoRE9NU3RyaW5nIHNvdXJjZSwgYm9vbGVhbiBydW5BdFN0YXJ0LCBi
b29sZWFuIGFsbEZyYW1lcyk7Ci0gICAgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChET01TdHJpbmcg
c291cmNlLCBib29sZWFuIGFsbEZyYW1lcyk7CisgICAgdW5kZWZpbmVkIGFkZFVzZXJTY3JpcHQo
RE9NU3RyaW5nIHNvdXJjZSwgYm9vbGVhbiBydW5BdFN0YXJ0LCBib29sZWFuIGFsbEZyYW1lcyk7
CisgICAgdW5kZWZpbmVkIGFkZFVzZXJTdHlsZVNoZWV0KERPTVN0cmluZyBzb3VyY2UsIGJvb2xl
YW4gYWxsRnJhbWVzKTsKIAogICAgIC8vIExvY2FsIHN0b3JhZ2UgQVBJCi0gICAgdm9pZCBjbGVh
ckFsbERhdGFiYXNlcygpOwotICAgIHZvaWQgc2V0RGF0YWJhc2VRdW90YSh1bnNpZ25lZCBsb25n
IGxvbmcgcXVvdGEpOworICAgIHVuZGVmaW5lZCBjbGVhckFsbERhdGFiYXNlcygpOworICAgIHVu
ZGVmaW5lZCBzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CiAgICAg
RE9NU3RyaW5nIHBhdGhUb0xvY2FsUmVzb3VyY2UoRE9NU3RyaW5nIHVybCk7Ci0gICAgdm9pZCBz
eW5jTG9jYWxTdG9yYWdlKCk7CisgICAgdW5kZWZpbmVkIHN5bmNMb2NhbFN0b3JhZ2UoKTsKIAog
ICAgIGF0dHJpYnV0ZSBkb3VibGUgZGF0YWJhc2VEZWZhdWx0UXVvdGE7CiAgICAgYXR0cmlidXRl
IGRvdWJsZSBkYXRhYmFzZU1heFF1b3RhOwogCiAgICAgLy8gQXBwbGljYXRpb24gQ2FjaGUgQVBJ
Ci0gICAgdm9pZCBjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7Ci0gICAgdm9pZCBzZXRBcHBD
YWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpOworICAgIHVuZGVmaW5lZCBzZXRBcHBDYWNoZU1h
eGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKICAgICBsb25nIGxvbmcgYXBwbGlj
YXRpb25DYWNoZURpc2tVc2FnZUZvck9yaWdpbihET01TdHJpbmcgb3JpZ2luKTsKLSAgICB2b2lk
IGNsZWFyQXBwbGljYXRpb25DYWNoZUZvck9yaWdpbihET01TdHJpbmcgbmFtZSk7Ci0gICAgdm9p
ZCBkaXNhbGxvd0luY3JlYXNlRm9yQXBwbGljYXRpb25DYWNoZVF1b3RhKCk7CisgICAgdW5kZWZp
bmVkIGNsZWFyQXBwbGljYXRpb25DYWNoZUZvck9yaWdpbihET01TdHJpbmcgbmFtZSk7CisgICAg
dW5kZWZpbmVkIGRpc2FsbG93SW5jcmVhc2VGb3JBcHBsaWNhdGlvbkNhY2hlUXVvdGEoKTsKICAg
ICBvYmplY3Qgb3JpZ2luc1dpdGhBcHBsaWNhdGlvbkNhY2hlKCk7CiAKICAgICAvLyBUZXh0IHNl
YXJjaCB0ZXN0aW5nLgogICAgIGJvb2xlYW4gZmluZFN0cmluZyhET01TdHJpbmcgdGFyZ2V0LCBv
YmplY3Qgb3B0aW9uc0FycmF5KTsKLSAgICB2b2lkIGZpbmRTdHJpbmdNYXRjaGVzSW5QYWdlKERP
TVN0cmluZyB0YXJnZXQsIG9iamVjdCBvcHRpb25zQXJyYXkpOwotICAgIHZvaWQgcmVwbGFjZUZp
bmRNYXRjaGVzQXRJbmRpY2VzKG9iamVjdCBtYXRjaEluZGljZXNBcnJheSwgRE9NU3RyaW5nIHJl
cGxhY2VtZW50VGV4dCwgYm9vbGVhbiBzZWxlY3Rpb25Pbmx5KTsKKyAgICB1bmRlZmluZWQgZmlu
ZFN0cmluZ01hdGNoZXNJblBhZ2UoRE9NU3RyaW5nIHRhcmdldCwgb2JqZWN0IG9wdGlvbnNBcnJh
eSk7CisgICAgdW5kZWZpbmVkIHJlcGxhY2VGaW5kTWF0Y2hlc0F0SW5kaWNlcyhvYmplY3QgbWF0
Y2hJbmRpY2VzQXJyYXksIERPTVN0cmluZyByZXBsYWNlbWVudFRleHQsIGJvb2xlYW4gc2VsZWN0
aW9uT25seSk7CiAKICAgICAvLyBFdmFsdWF0aW5nIHNjcmlwdCBpbiBhIHNwZWNpYWwgY29udGV4
dC4KLSAgICBbUGFzc0NvbnRleHRdIHZvaWQgZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQo
dW5zaWduZWQgbG9uZyB3b3JsZElELCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbUGFzc0NvbnRl
eHRdIHVuZGVmaW5lZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCh1bnNpZ25lZCBsb25n
IHdvcmxkSUQsIERPTVN0cmluZyBzY3JpcHQpOwogCiAgICAgLy8gRm9yIFdlYiBJbnNwZWN0b3Ig
dGVzdHMKLSAgICB2b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICB2b2lkIGNsb3NlV2ViSW5z
cGVjdG9yKCk7Ci0gICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKERPTVN0cmluZyBzY3Jp
cHQpOworICAgIHVuZGVmaW5lZCBzaG93V2ViSW5zcGVjdG9yKCk7CisgICAgdW5kZWZpbmVkIGNs
b3NlV2ViSW5zcGVjdG9yKCk7CisgICAgdW5kZWZpbmVkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3Io
RE9NU3RyaW5nIHNjcmlwdCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbnNw
ZWN0b3JUZXN0U3R1YlVSTDsKIAotICAgIHZvaWQgc2V0UE9TSVhMb2NhbGUoRE9NU3RyaW5nIGxv
Y2FsZSk7CisgICAgdW5kZWZpbmVkIHNldFBPU0lYTG9jYWxlKERPTVN0cmluZyBsb2NhbGUpOwog
Ci0gICAgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOworICAgIHVu
ZGVmaW5lZCBzZXRUZXh0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOwogCi0gICAgdm9p
ZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbChib29sZWFuIGZsYWcpOwotICAgIHZvaWQg
c2V0V2lsbFNlbmRSZXF1ZXN0UmV0dXJuc051bGxPblJlZGlyZWN0KGJvb2xlYW4gZmxhZyk7Ci0g
ICAgdm9pZCBzZXRXaWxsU2VuZFJlcXVlc3RBZGRzSFRUUEJvZHkoRE9NU3RyaW5nIGJvZHkpOwor
ICAgIHVuZGVmaW5lZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbChib29sZWFuIGZsYWcp
OworICAgIHVuZGVmaW5lZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbE9uUmVkaXJlY3Qo
Ym9vbGVhbiBmbGFnKTsKKyAgICB1bmRlZmluZWQgc2V0V2lsbFNlbmRSZXF1ZXN0QWRkc0hUVFBC
b2R5KERPTVN0cmluZyBib2R5KTsKICAgICAKLSAgICB2b2lkIHNldFNob3VsZFN0YXlPblBhZ2VB
ZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKGJvb2xlYW4gZmxhZyk7CisgICAgdW5kZWZpbmVkIHNl
dFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKGJvb2xlYW4gZmxhZyk7
CiAKLSAgICB2b2lkIHNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMoKTsKKyAgICB1bmRlZmlu
ZWQgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcygpOwogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0
aW9uOwotICAgIHZvaWQgY2xlYXJEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25h
bE5hdmlnYXRpb24oKTsKKyAgICB1bmRlZmluZWQgY2xlYXJEaWRSZWNlaXZlU2VydmVyUmVkaXJl
Y3RGb3JQcm92aXNpb25hbE5hdmlnYXRpb24oKTsKIAogICAgIC8vIEZvY3VzIHRlc3RpbmcuCi0g
ICAgdm9pZCBhZGRDaHJvbWVJbnB1dEZpZWxkKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBy
ZW1vdmVDaHJvbWVJbnB1dEZpZWxkKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBmb2N1c1dl
YlZpZXcob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgYWRkQ2hyb21lSW5wdXRGaWVs
ZChvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCByZW1vdmVDaHJvbWVJbnB1dEZpZWxk
KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGZvY3VzV2ViVmlldyhvYmplY3QgY2Fs
bGJhY2spOwogCiAgICAgLy8gV2luZG93L3ZpZXcgc3RhdGUKLSAgICB2b2lkIHNldEJhY2tpbmdT
Y2FsZUZhY3Rvcihkb3VibGUgYmFja2luZ1NjYWxlRmFjdG9yLCBvYmplY3QgY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCBzZXRCYWNraW5nU2NhbGVGYWN0b3IoZG91YmxlIGJhY2tpbmdTY2FsZUZh
Y3Rvciwgb2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgc2V0V2luZG93SXNLZXkoYm9vbGVh
biBpc0tleSk7Ci0gICAgdm9pZCBzZXRWaWV3U2l6ZShkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWln
aHQpOworICAgIHVuZGVmaW5lZCBzZXRXaW5kb3dJc0tleShib29sZWFuIGlzS2V5KTsKKyAgICB1
bmRlZmluZWQgc2V0Vmlld1NpemUoZG91YmxlIHdpZHRoLCBkb3VibGUgaGVpZ2h0KTsKIAogICAg
IC8vIENvb2tpZXMgdGVzdGluZwotICAgIHZvaWQgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhib29s
ZWFuIGFjY2VwdCk7Ci0gICAgdm9pZCBzZXRPbmx5QWNjZXB0Rmlyc3RQYXJ0eUNvb2tpZXMoYm9v
bGVhbiBhY2NlcHQpOworICAgIHVuZGVmaW5lZCBzZXRBbHdheXNBY2NlcHRDb29raWVzKGJvb2xl
YW4gYWNjZXB0KTsKKyAgICB1bmRlZmluZWQgc2V0T25seUFjY2VwdEZpcnN0UGFydHlDb29raWVz
KGJvb2xlYW4gYWNjZXB0KTsKIAotICAgIHZvaWQgb3ZlcnJpZGVQcmVmZXJlbmNlKERPTVN0cmlu
ZyBwcmVmZXJlbmNlLCBET01TdHJpbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBvdmVycmlkZVBy
ZWZlcmVuY2UoRE9NU3RyaW5nIHByZWZlcmVuY2UsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAv
LyBQYWdlIFZpc2liaWxpdHkgQVBJCi0gICAgdm9pZCBzZXRQYWdlVmlzaWJpbGl0eShET01TdHJp
bmcgc3RhdGUpOwotICAgIHZvaWQgcmVzZXRQYWdlVmlzaWJpbGl0eSgpOworICAgIHVuZGVmaW5l
ZCBzZXRQYWdlVmlzaWJpbGl0eShET01TdHJpbmcgc3RhdGUpOworICAgIHVuZGVmaW5lZCByZXNl
dFBhZ2VWaXNpYmlsaXR5KCk7CiAKICAgICAvLyBDb250cm9sIGZ1bGwgc2NyZWVuIGJlaGF2aW9y
LgotICAgIHZvaWQgc2V0SGFzQ3VzdG9tRnVsbFNjcmVlbkJlaGF2aW9yKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRIYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IoYm9vbGVhbiB2
YWx1ZSk7CiAKICAgICAvLyBXZWIgbm90aWZpY2F0aW9ucyBzdXBwb3J0Ci0gICAgdm9pZCBncmFu
dFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oRE9NU3RyaW5nIG9yaWdpbik7Ci0gICAgdm9pZCBk
ZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihET01TdHJpbmcgb3JpZ2luKTsKLSAgICB2b2lk
IHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7Ci0gICAgdm9pZCBzaW11bGF0
ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKG9iamVjdCBub3RpZmljYXRpb24pOworICAgIHVuZGVmaW5l
ZCBncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oRE9NU3RyaW5nIG9yaWdpbik7CisgICAg
dW5kZWZpbmVkIGRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKERPTVN0cmluZyBvcmlnaW4p
OworICAgIHVuZGVmaW5lZCByZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwor
ICAgIHVuZGVmaW5lZCBzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKG9iamVjdCBub3RpZmlj
YXRpb24pOwogCiAgICAgLy8gR2VvbG9jYXRpb24KLSAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVy
bWlzc2lvbihib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0
aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBv
cHRpb25hbCBvYmplY3QgYWx0aXR1ZGUsIG9wdGlvbmFsIG9iamVjdCBhbHRpdHVkZUFjY3VyYWN5
LCBvcHRpb25hbCBvYmplY3QgaGVhZGluZywgb3B0aW9uYWwgb2JqZWN0IHNwZWVkLCBvcHRpb25h
bCBvYmplY3QgZmxvb3JMZXZlbCk7Ci0gICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlv
blVuYXZhaWxhYmxlRXJyb3IoRE9NU3RyaW5nIGVycm9yTWVzc2FnZSk7CisgICAgdW5kZWZpbmVk
IHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQg
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0
dWRlLCBkb3VibGUgYWNjdXJhY3ksIG9wdGlvbmFsIG9iamVjdCBhbHRpdHVkZSwgb3B0aW9uYWwg
b2JqZWN0IGFsdGl0dWRlQWNjdXJhY3ksIG9wdGlvbmFsIG9iamVjdCBoZWFkaW5nLCBvcHRpb25h
bCBvYmplY3Qgc3BlZWQsIG9wdGlvbmFsIG9iamVjdCBmbG9vckxldmVsKTsKKyAgICB1bmRlZmlu
ZWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb25VbmF2YWlsYWJsZUVycm9yKERPTVN0cmluZyBl
cnJvck1lc3NhZ2UpOwogICAgIGJvb2xlYW4gaXNHZW9sb2NhdGlvblByb3ZpZGVyQWN0aXZlKCk7
CiAKICAgICAvLyBNZWRpYVN0cmVhbQotICAgIHZvaWQgc2V0VXNlck1lZGlhUGVybWlzc2lvbihi
b29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHJlc2V0VXNlck1lZGlhUGVybWlzc2lvbigpOwotICAg
IHZvaWQgc2V0VXNlck1lZGlhUGVyc2lzdGVudFBlcm1pc3Npb25Gb3JPcmlnaW4oYm9vbGVhbiBw
ZXJtaXNzaW9uLCBET01TdHJpbmcgb3JpZ2luLCBET01TdHJpbmcgcGFyZW50T3JpZ2luKTsKKyAg
ICB1bmRlZmluZWQgc2V0VXNlck1lZGlhUGVybWlzc2lvbihib29sZWFuIHZhbHVlKTsKKyAgICB1
bmRlZmluZWQgcmVzZXRVc2VyTWVkaWFQZXJtaXNzaW9uKCk7CisgICAgdW5kZWZpbmVkIHNldFVz
ZXJNZWRpYVBlcnNpc3RlbnRQZXJtaXNzaW9uRm9yT3JpZ2luKGJvb2xlYW4gcGVybWlzc2lvbiwg
RE9NU3RyaW5nIG9yaWdpbiwgRE9NU3RyaW5nIHBhcmVudE9yaWdpbik7CiAgICAgdW5zaWduZWQg
bG9uZyB1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENvdW50Rm9yT3JpZ2luKERPTVN0cmluZyBv
cmlnaW4sIERPTVN0cmluZyBwYXJlbnRPcmlnaW4pOwotICAgIHZvaWQgcmVzZXRVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdENvdW50Rm9yT3JpZ2luKERPTVN0cmluZyBvcmlnaW4sIERPTVN0cmlu
ZyBwYXJlbnRPcmlnaW4pOworICAgIHVuZGVmaW5lZCByZXNldFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0Q291bnRGb3JPcmlnaW4oRE9NU3RyaW5nIG9yaWdpbiwgRE9NU3RyaW5nIHBhcmVudE9y
aWdpbik7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNEb2luZ01lZGlhQ2FwdHVy
ZTsKIAogICAgIC8vIEF1ZGlvIHRlc3RpbmcuCi0gICAgW1Bhc3NDb250ZXh0XSB2b2lkIHNldEF1
ZGlvUmVzdWx0KG9iamVjdCBkYXRhKTsKKyAgICBbUGFzc0NvbnRleHRdIHVuZGVmaW5lZCBzZXRB
dWRpb1Jlc3VsdChvYmplY3QgZGF0YSk7CiAKICAgICBib29sZWFuIGNhbGxTaG91bGRDbG9zZU9u
V2ViVmlldygpOwogCiAgICAgLy8gV29yayBxdWV1ZS4KLSAgICB2b2lkIHF1ZXVlQmFja05hdmln
YXRpb24odW5zaWduZWQgbG9uZyBob3dGYXJCYWNrd2FyZCk7Ci0gICAgdm9pZCBxdWV1ZUZvcndh
cmROYXZpZ2F0aW9uKHVuc2lnbmVkIGxvbmcgaG93RmFyRm9yd2FyZCk7Ci0gICAgdm9pZCBxdWV1
ZUxvYWQoRE9NU3RyaW5nIHVybCwgRE9NU3RyaW5nIHRhcmdldCwgb3B0aW9uYWwgYm9vbGVhbiBz
aG91bGRPcGVuRXh0ZXJuYWxVUkxzKTsKLSAgICB2b2lkIHF1ZXVlTG9hZEhUTUxTdHJpbmcoRE9N
U3RyaW5nIGNvbnRlbnQsIG9wdGlvbmFsIERPTVN0cmluZyBiYXNlVVJMLCBvcHRpb25hbCBET01T
dHJpbmcgdW5yZWFjaGFibGVVUkwpOwotICAgIHZvaWQgcXVldWVSZWxvYWQoKTsKLSAgICB2b2lk
IHF1ZXVlTG9hZGluZ1NjcmlwdChET01TdHJpbmcgc2NyaXB0KTsKLSAgICB2b2lkIHF1ZXVlTm9u
TG9hZGluZ1NjcmlwdChET01TdHJpbmcgc2NyaXB0KTsKKyAgICB1bmRlZmluZWQgcXVldWVCYWNr
TmF2aWdhdGlvbih1bnNpZ25lZCBsb25nIGhvd0ZhckJhY2t3YXJkKTsKKyAgICB1bmRlZmluZWQg
cXVldWVGb3J3YXJkTmF2aWdhdGlvbih1bnNpZ25lZCBsb25nIGhvd0ZhckZvcndhcmQpOworICAg
IHVuZGVmaW5lZCBxdWV1ZUxvYWQoRE9NU3RyaW5nIHVybCwgRE9NU3RyaW5nIHRhcmdldCwgb3B0
aW9uYWwgYm9vbGVhbiBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKTsKKyAgICB1bmRlZmluZWQgcXVl
dWVMb2FkSFRNTFN0cmluZyhET01TdHJpbmcgY29udGVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIGJh
c2VVUkwsIG9wdGlvbmFsIERPTVN0cmluZyB1bnJlYWNoYWJsZVVSTCk7CisgICAgdW5kZWZpbmVk
IHF1ZXVlUmVsb2FkKCk7CisgICAgdW5kZWZpbmVkIHF1ZXVlTG9hZGluZ1NjcmlwdChET01TdHJp
bmcgc2NyaXB0KTsKKyAgICB1bmRlZmluZWQgcXVldWVOb25Mb2FkaW5nU2NyaXB0KERPTVN0cmlu
ZyBzY3JpcHQpOwogCiAgICAgLy8gQXV0aGVudGljYXRpb24KLSAgICB2b2lkIHNldFJlamVjdHNQ
cm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZUZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyhib29s
ZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXMo
Ym9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRTaG91bGRMb2dDYW5BdXRoZW50aWNhdGVBZ2Fp
bnN0UHJvdGVjdGlvblNwYWNlKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0QXV0aGVudGlj
YXRpb25Vc2VybmFtZShET01TdHJpbmcgdXNlcm5hbWUpOwotICAgIHZvaWQgc2V0QXV0aGVudGlj
YXRpb25QYXNzd29yZChET01TdHJpbmcgcGFzc3dvcmQpOworICAgIHVuZGVmaW5lZCBzZXRSZWpl
Y3RzUHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXMo
Ym9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZXMoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFNob3VsZExvZ0NhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5k
ZWZpbmVkIHNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoRE9NU3RyaW5nIHVzZXJuYW1lKTsKKyAg
ICB1bmRlZmluZWQgc2V0QXV0aGVudGljYXRpb25QYXNzd29yZChET01TdHJpbmcgcGFzc3dvcmQp
OwogCi0gICAgdm9pZCBzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sZWFuIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUoYm9vbGVhbiB2YWx1ZSk7
CiAKLSAgICB2b2lkIHNldFNob3VsZFN3YXBUb0VwaGVtZXJhbFNlc3Npb25Pbk5leHROYXZpZ2F0
aW9uKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0U2hvdWxkU3dhcFRvRGVmYXVsdFNlc3Np
b25Pbk5leHROYXZpZ2F0aW9uKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRTaG91
bGRTd2FwVG9FcGhlbWVyYWxTZXNzaW9uT25OZXh0TmF2aWdhdGlvbihib29sZWFuIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0U2hvdWxkU3dhcFRvRGVmYXVsdFNlc3Npb25Pbk5leHROYXZpZ2F0
aW9uKGJvb2xlYW4gdmFsdWUpOwogCiAgICAgLy8gU2VjdXJlIHRleHQgaW5wdXQgbW9kZSAoTWFj
IG9ubHkpCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2VjdXJlRXZlbnRJbnB1dElz
RW5hYmxlZDsKICAgICAKICAgICAvLyBPdmVycmlkZSBwbHVnaW4gbG9hZCBwb2xpY3kuCi0gICAg
dm9pZCBzZXRCbG9ja0FsbFBsdWdpbnMoYm9vbGVhbiBzaG91bGRCbG9jayk7Ci0gICAgdm9pZCBz
ZXRQbHVnaW5TdXBwb3J0ZWRNb2RlKERPTVN0cmluZyBtb2RlKTsKKyAgICB1bmRlZmluZWQgc2V0
QmxvY2tBbGxQbHVnaW5zKGJvb2xlYW4gc2hvdWxkQmxvY2spOworICAgIHVuZGVmaW5lZCBzZXRQ
bHVnaW5TdXBwb3J0ZWRNb2RlKERPTVN0cmluZyBtb2RlKTsKIAogICAgIC8vIEhvb2tzIHRvIHRo
ZSBKU0MgY29tcGlsZXIuCiAgICAgb2JqZWN0IGZhaWxOZXh0TmV3Q29kZUJsb2NrKCk7CkBAIC0y
NjYsMTU2ICsyNjYsMTU2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBvYmplY3QgbmV2
ZXJJbmxpbmVGdW5jdGlvbihvYmplY3QgZnVuY3Rpb24pOwogCiAgICAgLy8gU3dpcGUgZ2VzdHVy
ZXMKLSAgICB2b2lkIGluc3RhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNr
KTsKLSAgICB2b2lkIGluc3RhbGxXaWxsRW5kU3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJhY2sp
OwotICAgIHZvaWQgaW5zdGFsbERpZEVuZFN3aXBlQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsK
LSAgICB2b2lkIGluc3RhbGxEaWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2sob2JqZWN0IGNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbERpZEJlZ2luU3dpcGVDYWxsYmFjayhvYmpl
Y3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsV2lsbEVuZFN3aXBlQ2FsbGJhY2so
b2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbERpZEVuZFN3aXBlQ2FsbGJh
Y2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbERpZFJlbW92ZVN3aXBl
U25hcHNob3RDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwogCiAgICAgdW5zaWduZWQgbG9uZyBp
bWFnZUNvdW50SW5HZW5lcmFsUGFzdGVib2FyZCgpOwogCiAgICAgLy8gVUkgUHJvY2VzcyBUZXN0
aW5nCi0gICAgdm9pZCBydW5VSVNjcmlwdChET01TdHJpbmcgc2NyaXB0LCBvYmplY3QgY2FsbGJh
Y2spOwotICAgIHZvaWQgcnVuVUlTY3JpcHRJbW1lZGlhdGVseShET01TdHJpbmcgc2NyaXB0LCBv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBydW5VSVNjcmlwdChET01TdHJpbmcgc2Ny
aXB0LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBydW5VSVNjcmlwdEltbWVkaWF0
ZWx5KERPTVN0cmluZyBzY3JpcHQsIG9iamVjdCBjYWxsYmFjayk7CiAKLSAgICB2b2lkIGNsZWFy
VGVzdFJ1bm5lckNhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBjbGVhclRlc3RSdW5uZXJDYWxs
YmFja3MoKTsKIAotICAgIHZvaWQgYWNjdW1tdWxhdGVMb2dzRm9yQ2hhbm5lbChET01TdHJpbmcg
Y2hhbm5lbCk7CisgICAgdW5kZWZpbmVkIGFjY3VtbXVsYXRlTG9nc0ZvckNoYW5uZWwoRE9NU3Ry
aW5nIGNoYW5uZWwpOwogCiAgICAgLy8gQ29udGV4dHVhbCBtZW51IGFjdGlvbnMKLSAgICB2b2lk
IHNldEFsbG93ZWRNZW51QWN0aW9ucyhvYmplY3QgYWN0aW9ucyk7Ci0gICAgdm9pZCBpbnN0YWxs
Q3VzdG9tTWVudUFjdGlvbihET01TdHJpbmcgbmFtZSwgYm9vbGVhbiBkaXNtaXNzZXNBdXRvbWF0
aWNhbGx5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRBbGxvd2VkTWVudUFj
dGlvbnMob2JqZWN0IGFjdGlvbnMpOworICAgIHVuZGVmaW5lZCBpbnN0YWxsQ3VzdG9tTWVudUFj
dGlvbihET01TdHJpbmcgbmFtZSwgYm9vbGVhbiBkaXNtaXNzZXNBdXRvbWF0aWNhbGx5LCBvYmpl
Y3QgY2FsbGJhY2spOwogCiAgICAgLy8gR2FtZXBhZAotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyBpZCwgRE9NU3RyaW5nIG1hcHBp
bmcsIHVuc2lnbmVkIGxvbmcgYXhpc0NvdW50LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkNvdW50KTsK
LSAgICB2b2lkIHNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVu
c2lnbmVkIGxvbmcgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOwotICAgIHZvaWQgc2V0TW9ja0dh
bWVwYWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGJ1dHRv
bkluZGV4LCBkb3VibGUgdmFsdWUpOwotICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgZGlzY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWdu
ZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIGlkLCBET01TdHJpbmcgbWFwcGluZywgdW5zaWduZWQg
bG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxvbmcgYnV0dG9uQ291bnQpOworICAgIHVuZGVmaW5l
ZCBzZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBs
b25nIGF4aXNJbmRleCwgZG91YmxlIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0TW9ja0dhbWVw
YWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGJ1dHRvbklu
ZGV4LCBkb3VibGUgdmFsdWUpOworICAgIHVuZGVmaW5lZCBjb25uZWN0TW9ja0dhbWVwYWQodW5z
aWduZWQgbG9uZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIGRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKIAogICAgIC8vIFJlc291cmNlIExvYWQgU3RhdGlzdGljcwot
ICAgIHZvaWQgY2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFpbihET01TdHJpbmcgZG9tYWluKTsK
KyAgICB1bmRlZmluZWQgY2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFpbihET01TdHJpbmcgZG9t
YWluKTsKICAgICBib29sZWFuIGRvZXNTdGF0aXN0aWNzRG9tYWluSURFeGlzdEluRGF0YWJhc2Uo
dW5zaWduZWQgbG9uZyBkb21haW5JRCk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc0VuYWJsZWQoYm9vbGVh
biB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NFcGhlbWVyYWwoKTsKLSAgICB2b2lk
IGluc3RhbGxTdGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHNDYWxsYmFjayhvYmplY3QgY2Fs
bGJhY2spOwotICAgIHZvaWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRSdW5U
ZWxlbWV0cnlDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc2V0U3RhdGlzdGlj
c0RlYnVnTW9kZShib29sZWFuIHZhbHVlLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwotICAg
IHZvaWQgc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKERPTVN0cmlu
ZyBob3N0TmFtZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKLSAgICB2b2lkIHNldFN0YXRp
c3RpY3NMYXN0U2VlbihET01TdHJpbmcgaG9zdE5hbWUsIGRvdWJsZSBzZWNvbmRzLCBvYmplY3Qg
Y29tcGxldGlvbkhhbmRsZXIpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGlj
KERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIHRvcEZyYW1lRG9tYWluMSwgRE9NU3RyaW5n
IHRvcEZyYW1lRG9tYWluMiwgZG91YmxlIGxhc3RTZWVuLCBib29sZWFuIGhhZFVzZXJJbnRlcmFj
dGlvbiwgZG91YmxlIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb24sIGJvb2xlYW4gaXNHcmFuZGZh
dGhlcmVkLCBib29sZWFuIGlzUHJldmFsZW50LCBib29sZWFuIGlzVmVyeVByZXZhbGVudCwgdW5z
aWduZWQgbG9uZyBkYXRhUmVjb3Jkc1JlbW92ZWQsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7
Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzRXhwaXJlZFN0YXRpc3RpYyhET01TdHJpbmcgaG9zdE5h
bWUsIGJvb2xlYW4gaGFkVXNlckludGVyYWN0aW9uLCBib29sZWFuIGlzU2NoZWR1bGVkRm9yQWxs
QnV0Q29va2llRGF0YVJlbW92YWwsIGJvb2xlYW4gaXNQcmV2YWxlbnQsIG9iamVjdCBjb21wbGV0
aW9uSGFuZGxlcik7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9N
U3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIp
OwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShET01TdHJpbmcg
aG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAg
dW5kZWZpbmVkIGluc3RhbGxTdGF0aXN0aWNzRGlkTW9kaWZ5RGF0YVJlY29yZHNDYWxsYmFjayhv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3Rh
bGxTdGF0aXN0aWNzRGlkUnVuVGVsZW1ldHJ5Q2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKKyAg
ICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc0RlYnVnTW9kZShib29sZWFuIHZhbHVlLCBvYmplY3Qg
Y29tcGxldGlvbkhhbmRsZXIpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2VGb3JEZWJ1Z01vZGUoRE9NU3RyaW5nIGhvc3ROYW1lLCBvYmplY3QgY29tcGxldGlv
bkhhbmRsZXIpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzTGFzdFNlZW4oRE9NU3RyaW5n
IGhvc3ROYW1lLCBkb3VibGUgc2Vjb25kcywgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAg
ICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc01lcmdlU3RhdGlzdGljKERPTVN0cmluZyBob3N0TmFt
ZSwgRE9NU3RyaW5nIHRvcEZyYW1lRG9tYWluMSwgRE9NU3RyaW5nIHRvcEZyYW1lRG9tYWluMiwg
ZG91YmxlIGxhc3RTZWVuLCBib29sZWFuIGhhZFVzZXJJbnRlcmFjdGlvbiwgZG91YmxlIG1vc3RS
ZWNlbnRVc2VySW50ZXJhY3Rpb24sIGJvb2xlYW4gaXNHcmFuZGZhdGhlcmVkLCBib29sZWFuIGlz
UHJldmFsZW50LCBib29sZWFuIGlzVmVyeVByZXZhbGVudCwgdW5zaWduZWQgbG9uZyBkYXRhUmVj
b3Jkc1JlbW92ZWQsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNl
dFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiBo
YWRVc2VySW50ZXJhY3Rpb24sIGJvb2xlYW4gaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbCwgYm9vbGVhbiBpc1ByZXZhbGVudCwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsK
KyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBo
b3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1
bmRlZmluZWQgc2V0U3RhdGlzdGljc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZShET01TdHJpbmcgaG9z
dE5hbWUsIGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgYm9v
bGVhbiBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShET01TdHJpbmcgaG9zdE5hbWUpOwog
ICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBo
b3N0TmFtZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJyZXNvdXJj
ZVVuZGVyKERPTVN0cmluZyBzdWJyZXNvdXJjZUhvc3QsIERPTVN0cmluZyB0b3BGcmFtZUhvc3Qp
OwogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcihET01T
dHJpbmcgc3ViRnJhbWVIb3N0LCBET01TdHJpbmcgdG9wRnJhbWVIb3N0KTsKICAgICBib29sZWFu
IGlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1JlZGlyZWN0aW5nVG8oRE9NU3RyaW5nIGhvc3RSZWRp
cmVjdGVkRnJvbSwgRE9NU3RyaW5nIGhvc3RSZWRpcmVjdGVkVG8pOwotICAgIHZvaWQgc2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4g
dmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNldFN0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZh
bHVlLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSk7CiAgICAgYm9vbGVhbiBp
c1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2UoRE9NU3RyaW5nIHN1Ykhvc3QsIERPTVN0cmlu
ZyB0b3BIb3N0KTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKERPTVN0cmlu
ZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NH
cmFuZGZhdGhlcmVkKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9v
bGVhbiBpc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKERPTVN0cmluZyBob3N0TmFtZSk7Ci0gICAg
dm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01T
dHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIHRvcEZy
YW1lSG9zdE5hbWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRU
byk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdEZyb20o
RE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwotICAg
IHZvaWQgc2V0U3RhdGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RUbyhET01TdHJpbmcgaG9z
dE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7Ci0gICAgdm9pZCBzZXRTdGF0
aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01T
dHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0Nyb3Nz
U2l0ZUxvYWRXaXRoTGlua0RlY29yYXRpb24oRE9NU3RyaW5nIGZyb21Ib3N0LCBET01TdHJpbmcg
dG9Ib3N0KTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKKyAgICB1bmRlZmluZWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbGVh
biB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7
CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAg
dW5kZWZpbmVkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oRE9NU3Ry
aW5nIGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVm
aW5lZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdEZyb20oRE9NU3RyaW5n
IGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVmaW5l
ZCBzZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFt
ZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKyAgICB1bmRlZmluZWQgc2V0U3Rh
dGlzdGljc1RvcEZyYW1lVW5pcXVlUmVkaXJlY3RGcm9tKERPTVN0cmluZyBob3N0TmFtZSwgRE9N
U3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGlj
c0Nyb3NzU2l0ZUxvYWRXaXRoTGlua0RlY29yYXRpb24oRE9NU3RyaW5nIGZyb21Ib3N0LCBET01T
dHJpbmcgdG9Ib3N0KTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIGJvb2xlYW4gc3RhdGlzdGljc05vdGlm
eU9ic2VydmVyKCk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3JkcygpOwotICAgIHZvaWQgc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG9iamVj
dCBjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgdm9pZCBzdGF0aXN0aWNzU3VibWl0VGVsZW1ldHJ5
KCk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNSdW5uaW5nVGVzdChib29sZWFuIHZhbHVlKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFS
ZWNvcmRzUmVtb3ZhbChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NNaW5p
bXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlIHNlY29uZHMpOwotICAgIHZv
aWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7Ci0gICAg
dm9pZCBzZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModW5zaWduZWQgbG9uZyBlbnRy
aWVzKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NQcnVuZUVudHJpZXNEb3duVG8odW5zaWduZWQg
bG9uZyBlbnRyaWVzKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lz
dGVudFN0b3JlKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzQ2xlYXJJbk1l
bW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3Vycyh1bnNpZ25lZCBsb25nIGhv
dXJzLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3RhdGlzdGljc0NsZWFyVGhyb3VnaFdl
YnNpdGVEYXRhUmVtb3ZhbChvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3RhdGlzdGljc0Rl
bGV0ZUNvb2tpZXNGb3JIb3N0KERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiBpbmNsdWRlSHR0
cE9ubHlDb29raWVzKTsKKyAgICB1bmRlZmluZWQgc3RhdGlzdGljc1Byb2Nlc3NTdGF0aXN0aWNz
QW5kRGF0YVJlY29yZHMoKTsKKyAgICB1bmRlZmluZWQgc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJs
b2NraW5nKG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHN0YXRpc3Rp
Y3NTdWJtaXRUZWxlbWV0cnkoKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc0lzUnVubmlu
Z1Rlc3QoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sZWFuIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRz
UmVtb3ZhbChkb3VibGUgc2Vjb25kcyk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NHcmFu
ZGZhdGhlcmluZ1RpbWUoZG91YmxlIHNlY29uZHMpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0
aWNzTWF4U3RhdGlzdGljc0VudHJpZXModW5zaWduZWQgbG9uZyBlbnRyaWVzKTsKKyAgICB1bmRl
ZmluZWQgc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rvd25Ubyh1bnNpZ25lZCBsb25nIGVudHJp
ZXMpOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRT
dG9yZShvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzQ2xlYXJJbk1l
bW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3Vycyh1bnNpZ25lZCBsb25nIGhv
dXJzLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzQ2xlYXJUaHJv
dWdoV2Vic2l0ZURhdGFSZW1vdmFsKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0
YXRpc3RpY3NEZWxldGVDb29raWVzRm9ySG9zdChET01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4g
aW5jbHVkZUh0dHBPbmx5Q29va2llcyk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NIYXNMb2Nh
bFN0b3JhZ2UoRE9NU3RyaW5nIGhvc3ROYW1lKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NDYWNo
ZU1heEFnZUNhcChkb3VibGUgc2Vjb25kcyk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzUmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZShvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOworICAgIHVuZGVmaW5lZCBz
ZXRTdGF0aXN0aWNzQ2FjaGVNYXhBZ2VDYXAoZG91YmxlIHNlY29uZHMpOworICAgIHVuZGVmaW5l
ZCBzdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShvYmplY3QgY29tcGxldGlvbkhhbmRs
ZXIpOwogICAgIGJvb2xlYW4gaGFzU3RhdGlzdGljc0lzb2xhdGVkU2Vzc2lvbihET01TdHJpbmcg
aG9zdE5hbWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZERvd25ncmFkZVJlZmVycmVy
KGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNz
U2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhib29sZWFuIHZhbHVlLCBvYmplY3QgY2FsbGJh
Y2ssIG9wdGlvbmFsIGJvb2xlYW4gb25seU9uU2l0ZXNXaXRob3V0VXNlckludGVyYWN0aW9uKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZShi
b29sZWFuIHZhbHVlLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3RhdGlzdGljc1NldFRv
U2FtZVNpdGVTdHJpY3RDb29raWVzKERPTVN0cmluZyBob3N0TmFtZSwgb2JqZWN0IGNhbGxiYWNr
KTsKLSAgICB2b2lkIHN0YXRpc3RpY3NTZXRGaXJzdFBhcnR5SG9zdENOQU1FRG9tYWluKERPTVN0
cmluZyBmaXJzdFBhcnR5VVJMU3RyaW5nLCBET01TdHJpbmcgY25hbWVVUkxTdHJpbmcsIG9iamVj
dCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzU2V0VGhpcmRQYXJ0eUNOQU1FRG9tYWlu
KERPTVN0cmluZyBjbmFtZVVSTFN0cmluZywgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGxv
YWRlZFN1YnJlc291cmNlRG9tYWlucyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBz
ZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIoYm9vbGVhbiB2YWx1ZSwgb2JqZWN0
IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1Nob3VsZEJsb2NrVGhpcmRQ
YXJ0eUNvb2tpZXMoYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNhbGxiYWNrLCBvcHRpb25hbCBib29s
ZWFuIG9ubHlPblNpdGVzV2l0aG91dFVzZXJJbnRlcmFjdGlvbik7CisgICAgdW5kZWZpbmVkIHNl
dFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZShib29sZWFuIHZhbHVl
LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzU2V0VG9TYW1lU2l0
ZVN0cmljdENvb2tpZXMoRE9NU3RyaW5nIGhvc3ROYW1lLCBvYmplY3QgY2FsbGJhY2spOworICAg
IHVuZGVmaW5lZCBzdGF0aXN0aWNzU2V0Rmlyc3RQYXJ0eUhvc3RDTkFNRURvbWFpbihET01TdHJp
bmcgZmlyc3RQYXJ0eVVSTFN0cmluZywgRE9NU3RyaW5nIGNuYW1lVVJMU3RyaW5nLCBvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzU2V0VGhpcmRQYXJ0eUNOQU1FRG9t
YWluKERPTVN0cmluZyBjbmFtZVVSTFN0cmluZywgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgbG9hZGVkU3VicmVzb3VyY2VEb21haW5zKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICAv
LyBJbmplY3RlZCBidW5kbGUgZm9ybSBjbGllbnQuCi0gICAgdm9pZCBpbnN0YWxsVGV4dERpZENo
YW5nZUluVGV4dEZpZWxkQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGluc3Rh
bGxUZXh0RmllbGREaWRCZWdpbkVkaXRpbmdDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwotICAg
IHZvaWQgaW5zdGFsbFRleHRGaWVsZERpZEVuZEVkaXRpbmdDYWxsYmFjayhvYmplY3QgY2FsbGJh
Y2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsVGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJh
Y2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbFRleHRGaWVsZERpZEJl
Z2luRWRpdGluZ0NhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3Rh
bGxUZXh0RmllbGREaWRFbmRFZGl0aW5nQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKIAogICAg
IC8vIFN0b3JhZ2UgQWNjZXNzIEFQSQotICAgIHZvaWQgZ2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJp
ZXMob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZ2V0QWxsU3RvcmFnZUFjY2Vzc0Vu
dHJpZXMob2JqZWN0IGNhbGxiYWNrKTsKIAogICAgIC8vIE9wZW4gcGFuZWwKLSAgICB2b2lkIHNl
dE9wZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxlc0FycmF5KTsKLSAgICB2b2lkIHNldE9wZW5QYW5l
bEZpbGVzTWVkaWFJY29uKG9iamVjdCBtZWRpYUljb24pOworICAgIHVuZGVmaW5lZCBzZXRPcGVu
UGFuZWxGaWxlcyhvYmplY3QgZmlsZXNBcnJheSk7CisgICAgdW5kZWZpbmVkIHNldE9wZW5QYW5l
bEZpbGVzTWVkaWFJY29uKG9iamVjdCBtZWRpYUljb24pOwogCiAgICAgLy8gTW9kYWwgYWxlcnRz
Ci0gICAgdm9pZCBzZXRTaG91bGREaXNtaXNzSmF2YVNjcmlwdEFsZXJ0c0FzeW5jaHJvbm91c2x5
KGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgYWJvcnRNb2RhbCgpOworICAgIHVuZGVmaW5lZCBz
ZXRTaG91bGREaXNtaXNzSmF2YVNjcmlwdEFsZXJ0c0FzeW5jaHJvbm91c2x5KGJvb2xlYW4gdmFs
dWUpOworICAgIHVuZGVmaW5lZCBhYm9ydE1vZGFsKCk7CiAKLSAgICB2b2lkIHNldFdlYlJUQ01E
TlNJQ0VDYW5kaWRhdGVzRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEN1c3Rv
bVVzZXJBZ2VudChET01TdHJpbmcgdXNlckFnZW50KTsKKyAgICB1bmRlZmluZWQgc2V0V2ViUlRD
TUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBz
ZXRDdXN0b21Vc2VyQWdlbnQoRE9NU3RyaW5nIHVzZXJBZ2VudCk7CiAKLSAgICB2b2lkIHNldFdl
YkFQSVN0YXRpc3RpY3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRX
ZWJBUElTdGF0aXN0aWNzRW5hYmxlZChib29sZWFuIHZhbHVlKTsKIAotICAgIHZvaWQgdGVybWlu
YXRlTmV0d29ya1Byb2Nlc3MoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzKCk7
Ci0gICAgdm9pZCBzZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGJvb2xlYW4gdmFs
dWUpOworICAgIHVuZGVmaW5lZCB0ZXJtaW5hdGVOZXR3b3JrUHJvY2VzcygpOworICAgIHVuZGVm
aW5lZCB0ZXJtaW5hdGVTZXJ2aWNlV29ya2VycygpOworICAgIHVuZGVmaW5lZCBzZXRVc2VTZXBh
cmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKGJvb2xlYW4gdmFsdWUpOwogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2VydmVyVHJ1c3RFdmFsdWF0aW9uQ2FsbGJhY2tDYWxs
c0NvdW50OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZGlkQ2FuY2VsQ2xpZW50
UmVkaXJlY3Q7CiAKLSAgICB2b2lkIHJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFscyhvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCByZW1vdmVBbGxTZXNzaW9uQ3JlZGVudGlhbHMob2Jq
ZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgZ2V0QXBwbGljYXRpb25NYW5pZmVzdFRoZW4ob2Jq
ZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZ2V0QXBwbGljYXRpb25NYW5pZmVzdFRoZW4o
b2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgaW5zdGFsbEZha2VIZWx2ZXRpY2EoRE9NU3Ry
aW5nIGNvbmZpZ3VyYXRpb24pOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRmFrZUhlbHZldGljYShE
T01TdHJpbmcgY29uZmlndXJhdGlvbik7CiAKLSAgICB2b2lkIGFkZE1vY2tDYW1lcmFEZXZpY2Uo
RE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVsKTsKLSAgICB2b2lkIGFkZE1v
Y2tNaWNyb3Bob25lRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQsIERPTVN0cmluZyBsYWJl
bCk7Ci0gICAgdm9pZCBhZGRNb2NrU2NyZWVuRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQs
IERPTVN0cmluZyBsYWJlbCk7Ci0gICAgdm9pZCBjbGVhck1vY2tNZWRpYURldmljZXMoKTsKLSAg
ICB2b2lkIHJlbW92ZU1vY2tNZWRpYURldmljZShET01TdHJpbmcgcGVyc2lzdGVudElkKTsKLSAg
ICB2b2lkIHJlc2V0TW9ja01lZGlhRGV2aWNlcygpOwotICAgIHZvaWQgc2V0TW9ja0NhbWVyYU9y
aWVudGF0aW9uKHVuc2lnbmVkIGxvbmcgb3JpZW50YXRpb24pOworICAgIHVuZGVmaW5lZCBhZGRN
b2NrQ2FtZXJhRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQsIERPTVN0cmluZyBsYWJlbCk7
CisgICAgdW5kZWZpbmVkIGFkZE1vY2tNaWNyb3Bob25lRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0
ZW50SWQsIERPTVN0cmluZyBsYWJlbCk7CisgICAgdW5kZWZpbmVkIGFkZE1vY2tTY3JlZW5EZXZp
Y2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVsKTsKKyAgICB1bmRlZmlu
ZWQgY2xlYXJNb2NrTWVkaWFEZXZpY2VzKCk7CisgICAgdW5kZWZpbmVkIHJlbW92ZU1vY2tNZWRp
YURldmljZShET01TdHJpbmcgcGVyc2lzdGVudElkKTsKKyAgICB1bmRlZmluZWQgcmVzZXRNb2Nr
TWVkaWFEZXZpY2VzKCk7CisgICAgdW5kZWZpbmVkIHNldE1vY2tDYW1lcmFPcmllbnRhdGlvbih1
bnNpZ25lZCBsb25nIG9yaWVudGF0aW9uKTsKICAgICBib29sZWFuIGlzTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJFbmFibGVkKCk7CiAKICAgICBib29sZWFuIGhhc0FwcEJvdW5kU2Vzc2lv
bigpOwotICAgIHZvaWQgY2xlYXJBcHBCb3VuZFNlc3Npb24oKTsKLSAgICB2b2lkIHNldEFwcEJv
dW5kRG9tYWlucyhvYmplY3Qgb3JpZ2luc0FycmF5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVu
ZGVmaW5lZCBjbGVhckFwcEJvdW5kU2Vzc2lvbigpOworICAgIHVuZGVmaW5lZCBzZXRBcHBCb3Vu
ZERvbWFpbnMob2JqZWN0IG9yaWdpbnNBcnJheSwgb2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZv
aWQgaW5qZWN0VXNlclNjcmlwdChET01TdHJpbmcgc3RyaW5nKTsKKyAgICB1bmRlZmluZWQgaW5q
ZWN0VXNlclNjcmlwdChET01TdHJpbmcgc3RyaW5nKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyB1c2VyU2NyaXB0SW5qZWN0ZWRDb3VudDsKIAotICAgIHZvaWQgc2VuZERp
c3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZE1lc3NhZ2VGb3JUZXN0aW5nKCk7CisgICAgdW5kZWZp
bmVkIHNlbmREaXNwbGF5Q29uZmlndXJhdGlvbkNoYW5nZWRNZXNzYWdlRm9yVGVzdGluZygpOwog
Ci0gICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyRmV0Y2hUaW1lb3V0KGRvdWJsZSBzZWNvbmRzKTsK
KyAgICB1bmRlZmluZWQgc2V0U2VydmljZVdvcmtlckZldGNoVGltZW91dChkb3VibGUgc2Vjb25k
cyk7CiAKICAgICAvLyBXZWJBdXRobgotICAgIHZvaWQgYWRkVGVzdEtleVRvS2V5Y2hhaW4oRE9N
U3RyaW5nIHByaXZhdGVLZXlCYXNlNjQsIERPTVN0cmluZyBhdHRyTGFiZWwsIERPTVN0cmluZyBh
cHBsaWNhdGlvblRhZ0Jhc2U2NCk7Ci0gICAgdm9pZCBjbGVhblVwS2V5Y2hhaW4oRE9NU3RyaW5n
IGF0dHJMYWJlbCwgb3B0aW9uYWwgRE9NU3RyaW5nIGFwcGxpY2F0aW9uTGFiZWxCYXNlNjQpOwor
ICAgIHVuZGVmaW5lZCBhZGRUZXN0S2V5VG9LZXljaGFpbihET01TdHJpbmcgcHJpdmF0ZUtleUJh
c2U2NCwgRE9NU3RyaW5nIGF0dHJMYWJlbCwgRE9NU3RyaW5nIGFwcGxpY2F0aW9uVGFnQmFzZTY0
KTsKKyAgICB1bmRlZmluZWQgY2xlYW5VcEtleWNoYWluKERPTVN0cmluZyBhdHRyTGFiZWwsIG9w
dGlvbmFsIERPTVN0cmluZyBhcHBsaWNhdGlvbkxhYmVsQmFzZTY0KTsKICAgICBib29sZWFuIGtl
eUV4aXN0c0luS2V5Y2hhaW4oRE9NU3RyaW5nIGF0dHJMYWJlbCwgRE9NU3RyaW5nIGFwcGxpY2F0
aW9uTGFiZWxCYXNlNjQpOwogCiAgICAgLy8gQWQgQ2xpY2sgQXR0cmlidXRpb24KLSAgICB2b2lk
IGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uKCk7Ci0gICAgdm9pZCBjbGVhckFkQ2xpY2tBdHRyaWJ1
dGlvbnNUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKCk7Ci0gICAgdm9pZCBzZXRBZENsaWNrQXR0
cmlidXRpb25PdmVycmlkZVRpbWVyRm9yVGVzdGluZyhib29sZWFuIHZhbHVlKTsKLSAgICB2b2lk
IHNldEFkQ2xpY2tBdHRyaWJ1dGlvbkNvbnZlcnNpb25VUkxGb3JUZXN0aW5nKERPTVN0cmluZyB1
cmwpOwotICAgIHZvaWQgbWFya0FkQ2xpY2tBdHRyaWJ1dGlvbnNBc0V4cGlyZWRGb3JUZXN0aW5n
KCk7CisgICAgdW5kZWZpbmVkIGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uKCk7CisgICAgdW5kZWZp
bmVkIGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsK
KyAgICB1bmRlZmluZWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uT3ZlcnJpZGVUaW1lckZvclRlc3Rp
bmcoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEFkQ2xpY2tBdHRyaWJ1dGlvbkNv
bnZlcnNpb25VUkxGb3JUZXN0aW5nKERPTVN0cmluZyB1cmwpOworICAgIHVuZGVmaW5lZCBtYXJr
QWRDbGlja0F0dHJpYnV0aW9uc0FzRXhwaXJlZEZvclRlc3RpbmcoKTsKIH07CkluZGV4OiBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1RleHRJbnB1dENvbnRy
b2xsZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI4NCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElu
cHV0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkgQEAKICAqLwog
CiBpbnRlcmZhY2UgVGV4dElucHV0Q29udHJvbGxlciB7Ci0gICAgdm9pZCBzZXRNYXJrZWRUZXh0
KERPTVN0cmluZyBzdHJpbmcsIGxvbmcgZnJvbSwgbG9uZyBsZW5ndGgsIGJvb2xlYW4gc3VwcHJl
c3NVbmRlcmxpbmUsIG9iamVjdCBoaWdobGlnaHRzKTsKKyAgICB1bmRlZmluZWQgc2V0TWFya2Vk
VGV4dChET01TdHJpbmcgc3RyaW5nLCBsb25nIGZyb20sIGxvbmcgbGVuZ3RoLCBib29sZWFuIHN1
cHByZXNzVW5kZXJsaW5lLCBvYmplY3QgaGlnaGxpZ2h0cyk7CiAgICAgYm9vbGVhbiBoYXNNYXJr
ZWRUZXh0KCk7Ci0gICAgdm9pZCB1bm1hcmtUZXh0KCk7Ci0gICAgdm9pZCBpbnNlcnRUZXh0KERP
TVN0cmluZyBzdHJpbmcpOworICAgIHVuZGVmaW5lZCB1bm1hcmtUZXh0KCk7CisgICAgdW5kZWZp
bmVkIGluc2VydFRleHQoRE9NU3RyaW5nIHN0cmluZyk7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407507</attachid>
            <date>2020-08-28 15:24:05 -0700</date>
            <delta_ts>2020-08-28 16:05:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215514-20200828152404.patch</filename>
            <type>text/plain</type>
            <size>545931</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3OSBAQAorMjAyMC0wOC0yNyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gJ3ZvaWQnIHR5cGUg
aXMgY2hhbmdpbmcgdG8gJ3VuZGVmaW5lZCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTUxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjc1NjYy
MDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBkYXRl
IElETHMgYW5kIElETCBwYXJzaW5nIC8gY29kZSBnZW5lcmF0aW9uIGZvciB0aGUgc3dpdGNoIGZy
b20gJ3ZvaWQnIHRvICd1bmRlZmluZWQnLgorICAgICAgICBBbHNvIHVwZGF0ZXMgdGhlIHBhcnNl
ciB0byBiZXR0ZXIgbWF0Y2ggY3VycmVudCBXZWJJREwgZ3JhbW1hciwgcmVtb3ZpbmcgdGhlIHNw
ZWNpYWwgCisgICAgICAgICdSZXR1cm5UeXBlJyBjb25zdHJ1Y3Rpb24gYW5kIGp1c3QgdXNpbmcg
J1R5cGUnIGluc3RlYWQuIAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9u
RXJyb3JDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaWRs
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsOgorICAgICAgICAqIE1vZHVsZXMv
cXVvdGEvU3RvcmFnZVF1b3RhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3JhZ2VR
dW90YUNhbGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXli
YWNrLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1
bHRSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNp
bmsuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250
cm9sbGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3Ry
ZWFtRGVmYXVsdFdyaXRlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BbmFseXNl
ck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVk
U291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
V2ViS2l0QXVkaW9MaXN0ZW5lci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJL
aXRBdWRpb1Bhbm5lck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0
T3NjaWxsYXRvck5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDYWxsYmFjay5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGw6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUv
V2ViR1BVVGV4dHVyZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5n
c1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmI6CisgICAgICAgICog
YW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGw6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmlkbDoKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0RPTVBy
b21pc2VQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5w
bToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKE5lZWRzRXhwbGljaXRQcm9wYWdhdGVFeGNlcHRpb25DYWxsKToKKyAgICAgICAgKEdlbmVy
YXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICAoR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIChHZXRCYXNlSURMVHlwZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZUNhbGxi
YWNrUmVzdCk6CisgICAgICAgIChwYXJzZUF0dHJpYnV0ZU9yT3BlcmF0aW9uRm9yU3RyaW5naWZp
ZXJPclN0YXRpYyk6CisgICAgICAgIChwYXJzZU9wZXJhdGlvbik6CisgICAgICAgIChwYXJzZVNw
ZWNpYWxPcGVyYXRpb24pOgorICAgICAgICAocGFyc2VNYXBMaWtlUHJvcGVydGllcyk6CisgICAg
ICAgIChwYXJzZVNldExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKHBhcnNlU2luZ2xlVHlwZSk6
CisgICAgICAgIChwYXJzZVVuaW9uTWVtYmVyVHlwZSk6CisgICAgICAgIChwYXJzZURpc3Rpbmd1
aXNoYWJsZVR5cGUpOgorICAgICAgICAocGFyc2VDb25zdFR5cGUpOgorICAgICAgICAocGFyc2VQ
cmltaXRpdmVUeXBlKToKKyAgICAgICAgKHBhcnNlTm9uQW55VHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgIChwYXJzZVJldHVyblR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0OjpoYW5k
bGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnM6OmhhbmRsZUV2ZW50
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5j
dGlvbldpdGhUeXBlZGVmcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxs
YmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbSk6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2tJbnRl
cmZhY2U6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0aEJvb2xlYW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUu
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTVGVzdE9iakNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpUZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZUdldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1l
dGhvZEJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25V
bmRlZmluZWRNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJnc0JvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJncyk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRpb25hbFBy
b21pc2VCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
VGVzdFJldHVybnNPd25Qcm9taXNlQW5kUHJvbWlzZVByb3h5RnVuY3Rpb25Cb2R5KToKKyAgICAg
ICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZEJvZHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lk
TWV0aG9kKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uVm9pZE1ldGhvZFdpdGhBcmdzQm9keSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1
bmN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9u
OjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFZvaWRDYWxsYmFja0Z1bmN0aW9uLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RDRVJlYWN0aW9ucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RDYWxsVHJhY2VyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENh
bGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5LmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0R2xvYmFsT2JqZWN0LmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEltcGxlbWVudHMuaWRsOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGw6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJU
aHJvd2luZ0V4Y2VwdGlvbi5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGw6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaWRsOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNl
cHRpb24uaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5p
ZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5pZGw6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1
aWx0aW5zLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0
dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzQW5kT3ZlcnJp
ZGVCdWlsdGlucy5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROb2Rl
LmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25CYXNlLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVtZW50
YWwuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRs
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rp
b24uaWRsOgorICAgICAgICAqIGNzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbDoKKyAgICAgICAgKiBj
c3MvQ1NTTWVkaWFSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRDYWxsYmFjay5pZGw6
CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbDoKKyAg
ICAgICAgKiBjc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5pZGw6CisgICAgICAgICog
Y3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaWRsOgorICAgICAgICAqIGNz
cy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU01hdHJpeC5pZGw6
CisgICAgICAgICogZG9tL0Fib3J0QWxnb3JpdGhtLmlkbDoKKyAgICAgICAgKiBkb20vQWJvcnRD
b250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBkb20vQWJvcnRTaWduYWwuaWRsOgorICAgICAgICAq
IGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAgICAgKiBkb20vQ2hpbGROb2RlLmlkbDoKKyAg
ICAgICAgKiBkb20vQ29tcG9zaXRpb25FdmVudC5pZGw6CisgICAgICAgICogZG9tL0N1c3RvbUVs
ZW1lbnRSZWdpc3RyeS5pZGw6CisgICAgICAgICogZG9tL0N1c3RvbUV2ZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRE9NU3RyaW5nTWFwLmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVyLmlk
bDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5pZGw6CisgICAgICAgICogZG9tL0Rh
dGFUcmFuc2Zlckl0ZW1MaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQu
aWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZ1bGxzY3JlZW4uaWRs
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaWRsOgorICAgICAgICAqIGRv
bS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9F
dmVudExpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAg
ICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9JZGxlUmVxdWVzdENh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5pZGw6CisgICAgICAgICog
ZG9tL01lc3NhZ2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmlkbDoKKyAg
ICAgICAgKiBkb20vTW91c2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL011dGF0aW9uQ2FsbGJh
Y2suaWRsOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20v
TXV0YXRpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAq
IGRvbS9Ob2RlSXRlcmF0b3IuaWRsOgorICAgICAgICAqIGRvbS9QYXJlbnROb2RlLmlkbDoKKyAg
ICAgICAgKiBkb20vUmFuZ2UuaWRsOgorICAgICAgICAqIGRvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5pZGw6CisgICAgICAgICogZG9tL1N0cmluZ0NhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBkb20vVGV4dEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5pZGw6Cisg
ICAgICAgICogZG9tL1VJRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9XaGVlbEV2ZW50LmlkbDoK
KyAgICAgICAgKiBmaWxlYXBpL0Jsb2JDYWxsYmFjay5pZGw6CisgICAgICAgICogZmlsZWFwaS9G
aWxlUmVhZGVyLmlkbDoKKyAgICAgICAgKiBodG1sL0RPTUZvcm1EYXRhLmlkbDoKKyAgICAgICAg
KiBodG1sL0RPTVRva2VuTGlzdC5pZGw6CisgICAgICAgICogaHRtbC9ET01VUkwuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTENh
bnZhc0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxk
U2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJv
d0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmlkbDoK
KyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5pZGw6CisgICAgICAgICogaHRtbC9VUkxT
ZWFyY2hQYXJhbXMuaWRsOgorICAgICAgICAqIGh0bWwvVm9pZENhbGxiYWNrLmlkbDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9BTkdMRUluc3RhbmNlZEFycmF5cy5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNEcmF3UGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUGF0aC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UGF0aERyYXdpbmdTdHlsZXMuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1BhdHRl
cm4uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Rl
eHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1RyYW5zZm9ybS5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzVXNlckludGVyZmFjZS5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMv
T2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9QYXRoMkQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuaWRsOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQuaWRsOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsOgorICAgICAgICAqIGh0bWwv
dHJhY2svVGV4dFRyYWNrLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElI
b3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoK
KyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGw6CisgICAg
ICAgICogcGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL0hpc3Rv
cnkuaWRsOgorICAgICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsOgorICAgICAg
ICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFn
ZS9Mb2NhdGlvbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAgICAgICAq
IHBhZ2UvTmF2aWdhdG9ySXNMb2dnZWRJbi5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JT
aGFyZS5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5pZGw6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsOgor
ICAgICAgICAqIHBhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHBhZ2UvUmVzaXpl
T2JzZXJ2ZXJDYWxsYmFjay5pZGw6CisgICAgICAgICogcGFnZS9VbmRvTWFuYWdlci5pZGw6Cisg
ICAgICAgICogcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAgKiBw
bHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuaWRs
OgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5nbGUuaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVs
ZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaWRsOgorICAgICAgICAqIHN2Zy9T
VkdMZW5ndGhMaXN0LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6Cisg
ICAgICAgICogc3ZnL1NWR051bWJlckxpc3QuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQYXRoU2Vn
TGlzdC5pZGw6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAgICogc3Zn
L1NWR1NWR0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdTdHJpbmdMaXN0LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
VHJhbnNmb3JtLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGw6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGw6CisgICAg
ICAgICogdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5pZGw6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsOgorICAgICAgICAqIHRlc3Rpbmcv
V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1dlYlhSVGVz
dC5pZGw6CisgICAgICAgICogdGVzdGluZy9YUlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5jdGlv
bi5pZGw6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZl
bnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGw6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGw6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKyAgICAgICAgKiB3b3JrbGV0cy9QYWludFdv
cmtsZXRHbG9iYWxTY29wZS5pZGw6CisgICAgICAgICogd29ya2xldHMvV29ya2xldC5pZGw6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nl
c3Nvci5pZGw6CisKIDIwMjAtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSBhbG1vc3QgYWxsIHRoZSByZW1haW5pbmcgdXNlcyBvZiBsaXZlIHJh
bmdlcwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Np
b24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NSwx
OCArNDUsMTggQEAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBz
dGF0aWMgUHJvbWlzZTxib29sZWFuPiBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChET01T
dHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyKTsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRo
cm93RXhjZXB0aW9uXSBzdGF0aWMgUHJvbWlzZTxib29sZWFuPiBvcGVuUGF5bWVudFNldHVwKERP
TVN0cmluZyBtZXJjaGFudElkZW50aWZpZXIpOwogCi0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBiZWdpbigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBhYm9ydCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbFdpdGg9R2xvYmFsT2Jq
ZWN0XSB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGFueSBtZXJjaGFudFNlc3Npb24p
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2Vs
ZWN0aW9uKEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUgdXBkYXRlKTsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUgdXBkYXRlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5UGF5bWVudE1ldGhv
ZFVwZGF0ZSB1cGRhdGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZVBh
eW1lbnQoQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCByZXN1bHQpOworICAgIFtD
YWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBiZWdpbigpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFib3J0KCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uLCBDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHVuZGVmaW5lZCBjb21wbGV0ZU1lcmNo
YW50VmFsaWRhdGlvbihhbnkgbWVyY2hhbnRTZXNzaW9uKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5U2hp
cHBpbmdNZXRob2RVcGRhdGUgdXBkYXRlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFVwZGF0ZSB1cGRhdGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUg
dXBkYXRlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb21wbGV0ZVBheW1l
bnQoQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCByZXN1bHQpOwogCi0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24odW5z
aWduZWQgc2hvcnQgc3RhdHVzLCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5jZTxB
cHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbih1bnNpZ25lZCBzaG9ydCBzdGF0
dXMsIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kcywg
QXBwbGVQYXlMaW5lSXRlbSBuZXdUb3RhbCwgc2VxdWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbmV3
TGluZUl0ZW1zKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5TGluZUl0ZW0gbmV3VG90YWwsIHNlcXVlbmNlPEFwcGxl
UGF5TGluZUl0ZW0+IG5ld0xpbmVJdGVtcyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IGNvbXBsZXRlUGF5bWVudCh1bnNpZ25lZCBzaG9ydCBzdGF0dXMpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24odW5zaWdu
ZWQgc2hvcnQgc3RhdHVzLCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5jZTxBcHBs
ZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHVuc2lnbmVkIHNob3J0IHN0
YXR1cywgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gbmV3U2hpcHBpbmdNZXRob2Rz
LCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBu
ZXdMaW5lSXRlbXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbXBsZXRl
UGF5bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5j
ZTxBcHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIGNvbXBsZXRlUGF5bWVudCh1bnNpZ25lZCBzaG9ydCBzdGF0dXMpOwogCiAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnZhbGlkYXRlbWVyY2hhbnQ7CiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbnBheW1lbnRtZXRob2RzZWxlY3RlZDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbAko
cmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNiBAQCB0eXBlZGVm
IHNlcXVlbmNlPENsaXBib2FyZEl0ZW0+IENsaXBib2FyCiBdIGludGVyZmFjZSBDbGlwYm9hcmQg
OiBFdmVudFRhcmdldCB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxDbGlwYm9hcmRJdGVtcz4g
cmVhZCgpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8RE9NU3RyaW5nPiByZWFkVGV4dCgpOwot
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gd3JpdGUoQ2xpcGJvYXJkSXRlbXMgZGF0YSk7
Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZVRleHQoRE9NU3RyaW5nIGRhdGEp
OworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVkPiB3cml0ZShDbGlwYm9hcmRJdGVt
cyBkYXRhKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gd3JpdGVUZXh0KERP
TVN0cmluZyBkYXRhKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TUNhY2hlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TUNhY2hlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9ET01DYWNoZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDkgQEAgdHlwZWRl
ZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdQogXSBpbnRlcmZhY2UgRE9NQ2FjaGUg
ewogICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0
LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQ
cm9taXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1ZXN0
SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgICBb
TmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0KTsKLSAgICBb
TmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGFkZEFsbChzZXF1ZW5jZTxSZXF1ZXN0SW5mbz4gcmVx
dWVzdHMpOwotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gcHV0KFJlcXVlc3RJbmZvIHJl
cXVlc3QsIEZldGNoUmVzcG9uc2UgcmVzcG9uc2UpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8
dW5kZWZpbmVkPiBhZGQoUmVxdWVzdEluZm8gcmVxdWVzdCk7CisgICAgW05ld09iamVjdF0gUHJv
bWlzZTx1bmRlZmluZWQ+IGFkZEFsbChzZXF1ZW5jZTxSZXF1ZXN0SW5mbz4gcmVxdWVzdHMpOwor
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZpbmVkPiBwdXQoUmVxdWVzdEluZm8gcmVxdWVz
dCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAgW05ld09iamVjdCwgSW1wbGVtZW50ZWRB
cz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9w
dGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21p
c2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwg
b3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw1ICszNCw1IEBACiAgICAgUHJvbWlzZTxCYXNp
Y0NyZWRlbnRpYWw/PiBnZXQob3B0aW9uYWwgQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIG9wdGlv
bnMpOwogICAgIFByb21pc2U8QmFzaWNDcmVkZW50aWFsPiBzdG9yZShCYXNpY0NyZWRlbnRpYWwg
Y3JlZGVudGlhbCk7CiAgICAgUHJvbWlzZTxCYXNpY0NyZWRlbnRpYWw/PiBjcmVhdGUob3B0aW9u
YWwgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRpb25zKTsKLSAgICBQcm9taXNlPHZvaWQ+
IHByZXZlbnRTaWxlbnRBY2Nlc3MoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcHJldmVudFNp
bGVudEFjY2VzcygpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAkocmV2aXNpb24gMjY2Mjk4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aAkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbG9z
ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIHJlbW92ZShSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmKTsKIAotICAgIHVzaW5nIENsb3NlZFByb21pc2UgPSBET01Qcm9taXNlUHJveHk8
SURMVm9pZD47CisgICAgdXNpbmcgQ2xvc2VkUHJvbWlzZSA9IERPTVByb21pc2VQcm94eTxJRExV
bmRlZmluZWQ+OwogICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xvc2Vk
UHJvbWlzZS5nZXQoKTsgfQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWY8U2hhcmVk
QnVmZmVyPiwgTWVkaWFLZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJldHVybiBtX3N0
YXR1c2VzOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDEzICszNSwxMyBAQAogXSBpbnRlcmZhY2UgTWVkaWFLZXlT
ZXNzaW9uIDogRXZlbnRUYXJnZXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
c2Vzc2lvbklkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGV4
cGlyYXRpb247Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY2xvc2VkOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPHVuZGVmaW5lZD4gY2xvc2VkOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleVN0YXR1c01hcCBrZXlTdGF0dXNlczsKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ua2V5c3RhdHVzZXNjaGFuZ2U7CiAgICAgYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbm1lc3NhZ2U7Ci0gICAgUHJvbWlzZTx2b2lkPiBnZW5lcmF0ZVJlcXVlc3Qo
RE9NU3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRhKTsKKyAgICBQcm9t
aXNlPHVuZGVmaW5lZD4gZ2VuZXJhdGVSZXF1ZXN0KERPTVN0cmluZyBpbml0RGF0YVR5cGUsIEJ1
ZmZlclNvdXJjZSBpbml0RGF0YSk7CiAgICAgUHJvbWlzZTxib29sPiBsb2FkKERPTVN0cmluZyBz
ZXNzaW9uSWQpOwotICAgIFByb21pc2U8dm9pZD4gdXBkYXRlKEJ1ZmZlclNvdXJjZSByZXNwb25z
ZSk7Ci0gICAgUHJvbWlzZTx2b2lkPiBjbG9zZSgpOwotICAgIFByb21pc2U8dm9pZD4gcmVtb3Zl
KCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHVwZGF0ZShCdWZmZXJTb3VyY2UgcmVzcG9uc2Up
OworICAgIFByb21pc2U8dW5kZWZpbmVkPiBjbG9zZSgpOworICAgIFByb21pc2U8dW5kZWZpbmVk
PiByZW1vdmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vz
c2lvbi5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDggKzMzLDggQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGtl
eVN5c3RlbTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlc3Npb25JZDsKIAot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB1cGRhdGUoVWludDhBcnJheSBrZXkpOwotICAg
IHZvaWQgY2xvc2UoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB1cGRhdGUo
VWludDhBcnJheSBrZXkpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogICAgIAogICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRrZXlhZGRlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2Via2l0a2V5ZXJyb3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDQgKzIzLDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi1jYWxsYmFjayBFcnJvckNhbGxiYWNrID0gdm9pZCAoRE9NRXhjZXB0
aW9uIGVycm9yKTsKK2NhbGxiYWNrIEVycm9yQ2FsbGJhY2sgPSB1bmRlZmluZWQgKERPTUV4Y2Vw
dGlvbiBlcnJvcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmls
ZUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZUNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTIzLDQgKzIzLDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci1jYWxsYmFjayBGaWxlQ2FsbGJhY2sgPSB2b2lkIChGaWxlIGZpbGUpOworY2FsbGJhY2sgRmls
ZUNhbGxiYWNrID0gdW5kZWZpbmVkIChGaWxlIGZpbGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCwxMiArMjgsMTIgQEAKIF0gaW50ZXJmYWNlIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSA6
IEZpbGVTeXN0ZW1FbnRyeSB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7CiAKLSAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnZXRGaWxlKG9wdGlvbmFsIFVTVlN0cmlu
Zz8gcGF0aCwKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVk
IGdldEZpbGUob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAogICAgICAgICBvcHRpb25hbCBGaWxl
U3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8g
ZXJyb3JDYWxsYmFjayk7CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
dm9pZCBnZXREaXJlY3Rvcnkob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1bmRlZmluZWQgZ2V0RGlyZWN0b3J5KG9wdGlvbmFs
IFVTVlN0cmluZz8gcGF0aCwKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUZsYWdzIG9wdGlv
bnMsCiAgICAgICAgIG9wdGlvbmFsIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPyBzdWNjZXNzQ2Fs
bGJhY2ssCiAgICAgICAgIG9wdGlvbmFsIEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw1ICsyNyw1IEBACiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9RGlyZWN0b3J5VXBsb2FkLAogXSBpbnRlcmZhY2Ug
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIHZvaWQgcmVhZEVudHJpZXMoRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayBzdWNj
ZXNzQ2FsbGJhY2ssIG9wdGlvbmFsIEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1bmRlZmluZWQgcmVhZEVudHJpZXMo
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFsIEVycm9y
Q2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjMsNCArMjMsNCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWNhbGxiYWNrIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2sgPSB2b2lkIChzZXF1ZW5jZTxGaWxl
U3lzdGVtRW50cnk+IGVudHJpZXMpOworY2FsbGJhY2sgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoc2VxdWVuY2U8RmlsZVN5c3RlbUVudHJ5PiBlbnRyaWVzKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVt
RW50cnkuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsNSArMzQs
NSBAQAogICAgIFtJbXBsZW1lbnRlZEFzPXZpcnR1YWxQYXRoXSByZWFkb25seSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGZ1bGxQYXRoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVt
IGZpbGVzeXN0ZW07CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9p
ZCBnZXRQYXJlbnQob3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxs
YmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHVuZGVmaW5lZCBnZXRQYXJlbnQob3B0aW9uYWwg
RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JD
YWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2su
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw0ICsy
Myw0IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJh
Y2sgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgPSB2b2lkIChGaWxlU3lzdGVtRW50cnkgZW50cnkp
OworY2FsbGJhY2sgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgPSB1bmRlZmluZWQgKEZpbGVTeXN0
ZW1FbnRyeSBlbnRyeSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRy
eS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDUgKzI2LDUgQEAKIFsKICAgICBFbmFibGVkQXRS
dW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50ZXJmYWNlIEZpbGVTeXN0ZW1GaWxlRW50cnkg
OiBGaWxlU3lzdGVtRW50cnkgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSB2b2lkIGZpbGUoRmlsZUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JD
YWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIHVuZGVmaW5lZCBmaWxlKEZpbGVDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlv
bmFsIEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwJKHJldmlzaW9uIDI2NjI5OCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzYsMTEgKzM2LDExIEBAIHR5cGVkZWYgKHNlcXVlbmNlPHNlcXVlbmNlPEJ5
dGVTdHJpbmc+PiAKIF0gaW50ZXJmYWNlIEZldGNoSGVhZGVycyB7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCBIZWFkZXJzSW5pdCBpbml0KTsKIAotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhcHBlbmQoQnl0ZVN0cmluZyBuYW1lLCBCeXRlU3RyaW5n
IHZhbHVlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9cmVtb3ZlXSB2
b2lkIGRlbGV0ZShCeXRlU3RyaW5nIG5hbWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIGFwcGVuZChCeXRlU3RyaW5nIG5hbWUsIEJ5dGVTdHJpbmcgdmFsdWUpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIHVuZGVmaW5lZCBkZWxldGUo
Qnl0ZVN0cmluZyBuYW1lKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIEJ5dGVTdHJpbmc/IGdl
dChCeXRlU3RyaW5nIG5hbWUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBoYXMo
Qnl0ZVN0cmluZyBuYW1lKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0KEJ5dGVT
dHJpbmcgbmFtZSwgQnl0ZVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0KEJ5dGVTdHJpbmcgbmFtZSwgQnl0ZVN0cmluZyB2YWx1ZSk7CiAKICAgICBp
dGVyYWJsZTxCeXRlU3RyaW5nLCBCeXRlU3RyaW5nPjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCiBdIGludGVyZmFjZSBHZW9sb2NhdGlvbiB7
CiAgICAgLy8gRklYTUU6IFBvc2l0aW9uRXJyb3JDYWxsYmFjayBzaG91bGQgbm90IGJlIG51bGxh
YmxlCi0gICAgdm9pZCBnZXRDdXJyZW50UG9zaXRpb24oUG9zaXRpb25DYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCisgICAgdW5kZWZpbmVkIGdldEN1cnJlbnRQb3NpdGlvbihQb3NpdGlvbkNhbGxi
YWNrIHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25h
bCBQb3NpdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgUG9zaXRpb25PcHRpb25zIG9wdGlvbnMpOwogCkBAIC0zOSw2
ICszOSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFBvc2l0aW9uRXJyb3JD
YWxsYmFjaz8gZXJyb3JDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
UG9zaXRpb25PcHRpb25zIG9wdGlvbnMpOwogCi0gICAgdm9pZCBjbGVhcldhdGNoKGxvbmcgd2F0
Y2hJZCk7CisgICAgdW5kZWZpbmVkIGNsZWFyV2F0Y2gobG9uZyB3YXRjaElkKTsKIH07CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjQsNCArMjQsNCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9R0VPTE9DQVRJT04sCi1dIGNhbGxi
YWNrIFBvc2l0aW9uQ2FsbGJhY2sgPSB2b2lkIChHZW9sb2NhdGlvblBvc2l0aW9uPyBwb3NpdGlv
bik7IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgbnVsbGFibGUuCitdIGNhbGxiYWNrIFBv
c2l0aW9uQ2FsbGJhY2sgPSB1bmRlZmluZWQgKEdlb2xvY2F0aW9uUG9zaXRpb24/IHBvc2l0aW9u
KTsgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJy
b3JDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNCArMjQsNCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9R0VPTE9DQVRJT04sCi1dIGNh
bGxiYWNrIFBvc2l0aW9uRXJyb3JDYWxsYmFjayA9IHZvaWQgKEdlb2xvY2F0aW9uUG9zaXRpb25F
cnJvciBlcnJvcik7CitdIGNhbGxiYWNrIFBvc2l0aW9uRXJyb3JDYWxsYmFjayA9IHVuZGVmaW5l
ZCAoR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAkocmV2aXNpb24gMjY2Mjk4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsOCArMzUsOCBAQAogICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBhbnkgcHJpbWFyeUtleTsKIAogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1h
eVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IHVwZGF0ZShhbnkgdmFsdWUpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBhZHZhbmNlKFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcg
Y291bnQpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIEltcGxlbWVudGVkQXM9Y29udGlu
dWVGdW5jdGlvbiwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29udGludWUob3B0aW9uYWwgYW55
IGtleSk7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgY29udGludWVQcmltYXJ5S2V5KGFueSBrZXksIGFueSBwcmltYXJ5S2V5KTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZHZhbmNlKFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVk
IGxvbmcgY291bnQpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIEltcGxlbWVudGVkQXM9
Y29udGludWVGdW5jdGlvbiwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb250aW51ZShv
cHRpb25hbCBhbnkga2V5KTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbnRpbnVlUHJpbWFyeUtleShhbnkga2V5LCBhbnkgcHJpbWFy
eUtleSk7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVtZW50ZWRBcz1kZWxldGVG
dW5jdGlvbiwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgZGVsZXRlKCk7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxNCArMzQsMTQgQEAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBvYmplY3RTdG9yZU5hbWVzOwogCiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBJREJPYmplY3RTdG9yZSBjcmVhdGVPYmplY3RTdG9yZShET01T
dHJpbmcgbmFtZSwgb3B0aW9uYWwgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzIHBhcmFtZXRlcnMp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVPYmplY3RTdG9yZShET01TdHJp
bmcgbmFtZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlT2JqZWN0
U3RvcmUoRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBJREJUcmFu
c2FjdGlvbiB0cmFuc2FjdGlvbigoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pIHN0
b3JlTmFtZXMsIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uTW9kZSBtb2RlID0gInJlYWRvbmx5Iik7
CiAKICAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgcGFydCBvZiB0aGUgc3BlYywgYnV0IGlzIG5l
ZWRlZCBmb3IgY29tcGF0aWJpbGl0eS4KICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9JbmRleGVkREIvaXNzdWVzLzg1CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBJREJUcmFuc2Fj
dGlvbiB0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0IHN0b3JlTmFtZXMsIG9wdGlvbmFsIElEQlRy
YW5zYWN0aW9uTW9kZSBtb2RlID0gInJlYWRvbmx5Iik7Ci0gICAgdm9pZCBjbG9zZSgpOworICAg
IHVuZGVmaW5lZCBjbG9zZSgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFib3J0
OwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jbG9zZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCB0eXBlZGVmIChET01T
dHJpbmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5nCiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwg
TWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgZ2V0QWxsS2V5cyhhbnkga2V5LCBvcHRpb25h
bCBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGNvdW50KTsKICAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCSW5kZXggY3JlYXRlSW5kZXgoRE9NU3Ry
aW5nIG5hbWUsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5nPikga2V5UGF0aCwgb3B0
aW9uYWwgSURCSW5kZXhQYXJhbWV0ZXJzIG9wdGlvbnMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gSURCSW5kZXggaW5kZXgoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBkZWxldGVJbmRleChET01TdHJpbmcgbmFtZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgZGVsZXRlSW5kZXgoRE9NU3RyaW5nIG5hbWUpOwogICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IGNvdW50KG9wdGlv
bmFsIElEQktleVJhbmdlPyByYW5nZSA9IG51bGwpOwogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmpl
Y3QsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IGNvdW50KGFueSBrZXkpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBA
QAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01FeGNlcHRpb24gZXJyb3I7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIElEQk9iamVjdFN0b3JlIG9iamVjdFN0b3JlKERPTVN0cmluZyBuYW1l
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWJvcnQoKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbmFib3J0OwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jb21wbGV0ZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01l
ZGlhQ29udHJvbHNIb3N0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQCBlbnVtIERldmljZVR5cGUgewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBUZXh0VHJhY2sgY2FwdGlvbk1lbnVPZmZJdGVtOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBUZXh0VHJhY2sgY2FwdGlvbk1lbnVBdXRvbWF0aWNJdGVtOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgY2FwdGlvbkRpc3BsYXlNb2RlOwotICAgIHZvaWQgc2V0U2VsZWN0ZWRU
ZXh0VHJhY2soVGV4dFRyYWNrPyB0cmFjayk7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGVkVGV4
dFRyYWNrKFRleHRUcmFjaz8gdHJhY2spOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRWxl
bWVudCB0ZXh0VHJhY2tDb250YWluZXI7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBzdXBwb3J0c0Z1bGxzY3JlZW47CkBAIC01NSw5ICs1NSw5IEBAIGVudW0gRGV2aWNlVHlwZSB7
CiAKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjb250cm9sc0RlcGVuZE9uUGFnZVNjYWxlRmFjdG9y
OwogICAgIAotICAgIHZvaWQgdXBkYXRlVGV4dFRyYWNrQ29udGFpbmVyKCk7Ci0gICAgdm9pZCBl
bnRlcmVkRnVsbHNjcmVlbigpOwotICAgIHZvaWQgZXhpdGVkRnVsbHNjcmVlbigpOworICAgIHVu
ZGVmaW5lZCB1cGRhdGVUZXh0VHJhY2tDb250YWluZXIoKTsKKyAgICB1bmRlZmluZWQgZW50ZXJl
ZEZ1bGxzY3JlZW4oKTsKKyAgICB1bmRlZmluZWQgZXhpdGVkRnVsbHNjcmVlbigpOwogCiAgICAg
RE9NU3RyaW5nIGdlbmVyYXRlVVVJRCgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCShyZXZpc2lvbiAy
NjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDExICs0NywxMSBAQCBlbnVtIFJlY29yZGlu
Z1N0YXRlIHsgImluYWN0aXZlIiwgInJlY29yCiAgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgYXVkaW9CaXRzUGVyU2Vjb25kOwogICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0
ZSBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVNb2RlOwogCi0gICAgW01heVRocm93RXhjZXB0aW9u
LCBJbXBsZW1lbnRlZEFzPXN0YXJ0UmVjb3JkaW5nXSB2b2lkIHN0YXJ0KG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgdGltZXNsaWNlKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1zdG9wUmVjb3JkaW5nXSB2
b2lkIHN0b3AoKTsKLSAgICAvLyB2b2lkIHBhdXNlKCk7Ci0gICAgLy8gdm9pZCByZXN1bWUoKTsK
LSAgICB2b2lkIHJlcXVlc3REYXRhKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1l
bnRlZEFzPXN0YXJ0UmVjb3JkaW5nXSB1bmRlZmluZWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQg
bG9uZyB0aW1lc2xpY2UpOworICAgIFtJbXBsZW1lbnRlZEFzPXN0b3BSZWNvcmRpbmddIHVuZGVm
aW5lZCBzdG9wKCk7CisgICAgLy8gdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgLy8gdW5kZWZpbmVk
IHJlc3VtZSgpOworICAgIHVuZGVmaW5lZCByZXF1ZXN0RGF0YSgpOwogCiAgICAgLy8gc3RhdGlj
IGJvb2xlYW4gaXNUeXBlU3VwcG9ydGVkKERPTVN0cmluZyB0eXBlKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDkgKzMzLDkgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTZXNzaW9uS2luZCBraW5kOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNZWRpYVJlbW90ZUNvbnRyb2xzPyBjb250cm9sczsKIAotICAgIHZvaWQgc2V0
TWV0YWRhdGEoTWVkaWFNZXRhZGF0YT8gbWV0YWRhdGEpOworICAgIHVuZGVmaW5lZCBzZXRNZXRh
ZGF0YShNZWRpYU1ldGFkYXRhPyBtZXRhZGF0YSk7CiAKLSAgICB2b2lkIGRlYWN0aXZhdGUoKTsK
KyAgICB1bmRlZmluZWQgZGVhY3RpdmF0ZSgpOwogfTsKIAogZW51bSBNZWRpYVNlc3Npb25LaW5k
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTYgKzU1
LDE2IEBAIGVudW0gUmVhZHlTdGF0ZSB7CiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGUgZHVyYXRpb247CiAKICAgICBbTmV3T2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gU291cmNl
QnVmZmVyIGFkZFNvdXJjZUJ1ZmZlcihET01TdHJpbmcgdHlwZSk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIgYnVmZmVyKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmVTb3VyY2VCdWZmZXIoU291cmNl
QnVmZmVyIGJ1ZmZlcik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUmVhZHlTdGF0ZSByZWFk
eVN0YXRlOwogICAgIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBlbmRPZlN0cmVhbShv
cHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBlbmRPZlN0cmVhbShvcHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsK
IAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgYm9vbGVhbiBp
c1R5cGVTdXBwb3J0ZWQgKERPTVN0cmluZyB0eXBlKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhckxpdmVTZWVrYWJsZVJhbmdlKCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TGl2ZVNlZWthYmxlUmFuZ2UoZG91
YmxlIHN0YXJ0LCBkb3VibGUgZW5kKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBjbGVhckxpdmVTZWVrYWJsZVJhbmdlKCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uc291cmNlb3BlbjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc291cmNlZW5kZWQ7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU3LDExICs1
NywxMSBAQAogICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGFwcGVuZFdpbmRvd0Vu
ZDsKIAogICAgIC8vIEFwcGVuZCBzZWdtZW50IGRhdGEuCi0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGFwcGVuZEJ1ZmZlcihCdWZmZXJTb3VyY2UgZGF0YSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsKIAogICAg
IC8vIEFib3J0IHRoZSBjdXJyZW50IHNlZ21lbnQgYXBwZW5kIHNlcXVlbmNlLgotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBhYm9ydCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCByZW1vdmUoZG91YmxlIHN0YXJ0LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWJvcnQoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCByZW1vdmUoZG91YmxlIHN0YXJ0LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVu
ZCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udXBkYXRlc3RhcnQ7CiAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnVwZGF0ZTsKQEAgLTY5LDUgKzY5LDUgQEAKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZXJyb3I7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmFib3J0OwogCi0gICAgW0VuYWJsZWRCeVNldHRpbmc9U291cmNlQnVmZmVyQ2hhbmdlVHlwZSwg
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2hhbmdlVHlwZShET01TdHJpbmcgdHlwZSk7CisgICAg
W0VuYWJsZWRCeVNldHRpbmc9U291cmNlQnVmZmVyQ2hhbmdlVHlwZSwgTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBjaGFuZ2VUeXBlKERPTVN0cmluZyB0eXBlKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJl
YW1UcmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAKICAgICBTa2lwVlRh
YmxlVmFsaWRhdGlvbiwKIF0gaW50ZXJmYWNlIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNr
IDogTWVkaWFTdHJlYW1UcmFjayB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDYW52YXNF
bGVtZW50IGNhbnZhczsKLSAgICB2b2lkIHJlcXVlc3RGcmFtZSgpOworICAgIHVuZGVmaW5lZCBy
ZXF1ZXN0RnJhbWUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDggKzQwLDggQEAKICAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFB1YmxpY0lkZW50
aWZpZXJdIHNlcXVlbmNlPE1lZGlhU3RyZWFtVHJhY2s+IGdldFRyYWNrcygpOwogICAgIE1lZGlh
U3RyZWFtVHJhY2sgZ2V0VHJhY2tCeUlkKERPTVN0cmluZyB0cmFja0lkKTsKIAotICAgIHZvaWQg
YWRkVHJhY2soTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7Ci0gICAgdm9pZCByZW1vdmVUcmFjayhN
ZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKKyAgICB1bmRlZmluZWQgYWRkVHJhY2soTWVkaWFTdHJl
YW1UcmFjayB0cmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJh
Y2sgdHJhY2spOwogCiAgICAgTWVkaWFTdHJlYW0gY2xvbmUoKTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMiArNDUsMTIg
QEAgZW51bSBNZWRpYVN0cmVhbVRyYWNrU3RhdGUgeyAibGl2ZSIsICJlbgogICAgIGF0dHJpYnV0
ZSBFdmVudEhhbmRsZXIgb25lbmRlZDsKIAogICAgIE1lZGlhU3RyZWFtVHJhY2sgY2xvbmUoKTsK
LSAgICBbSW1wbGVtZW50ZWRBcz1zdG9wVHJhY2tdIHZvaWQgc3RvcCgpOworICAgIFtJbXBsZW1l
bnRlZEFzPXN0b3BUcmFja10gdW5kZWZpbmVkIHN0b3AoKTsKIAogICAgIE1lZGlhVHJhY2tDYXBh
YmlsaXRpZXMgZ2V0Q2FwYWJpbGl0aWVzKCk7CiAgICAgTWVkaWFUcmFja0NvbnN0cmFpbnRzIGdl
dENvbnN0cmFpbnRzKCk7CiAgICAgTWVkaWFUcmFja1NldHRpbmdzIGdldFNldHRpbmdzKCk7Ci0g
ICAgUHJvbWlzZTx2b2lkPiBhcHBseUNvbnN0cmFpbnRzKG9wdGlvbmFsIE1lZGlhVHJhY2tDb25z
dHJhaW50cyBjb25zdHJhaW50cyk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGFwcGx5Q29uc3Ry
YWludHMob3B0aW9uYWwgTWVkaWFUcmFja0NvbnN0cmFpbnRzIGNvbnN0cmFpbnRzKTsKIAogICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25vdmVyY29uc3RyYWluZWQ7CiB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdh
dG9yTWVkaWFEZXZpY2VzLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMyw1ICszMyw1IEBACiAgICAgRW5hYmxlZEF0UnVudGltZT1NZWRpYURldmljZXMs
CiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgICAgW1NhbWVPYmplY3QsIFNlY3Vy
ZUNvbnRleHQsIENvbnRleHRBbGxvd3NNZWRpYURldmljZXNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBN
ZWRpYURldmljZXMgbWVkaWFEZXZpY2VzOwotICAgIFtDdXN0b20sIEVuYWJsZWRCeVNldHRpbmc9
TGVnYWN5R2V0VXNlck1lZGlhXSB2b2lkIGdldFVzZXJNZWRpYShvYmplY3QgY29uc3RyYWludHMs
IG9iamVjdD8gc3VjY2Vzc0NhbGxiYWNrLCBvYmplY3Q/IGVycm9yQ2FsbGJhY2spOworICAgIFtD
dXN0b20sIEVuYWJsZWRCeVNldHRpbmc9TGVnYWN5R2V0VXNlck1lZGlhXSB1bmRlZmluZWQgZ2V0
VXNlck1lZGlhKG9iamVjdCBjb25zdHJhaW50cywgb2JqZWN0PyBzdWNjZXNzQ2FsbGJhY2ssIG9i
amVjdD8gZXJyb3JDYWxsYmFjayk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX1JU
QywKICAgICBFbmFibGVkQXRSdW50aW1lPVBlZXJDb25uZWN0aW9uLAogXSBpbnRlcmZhY2UgUlRD
RFRNRlNlbmRlciA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
aW5zZXJ0RFRNRihET01TdHJpbmcgdG9uZXMsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgZHVyYXRp
b24gPSAxMDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW50ZXJUb25lR2FwID0gNzApOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGluc2VydERUTUYoRE9NU3RyaW5nIHRvbmVz
LCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGR1cmF0aW9uID0gMTAwLCBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGludGVyVG9uZUdhcCA9IDcwKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
dG9uZWNoYW5nZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbkluc2VydERU
TUY7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFu
bmVsLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RhdGFDaGFubmVsLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQzLDEyICs0MywxMiBAQAogCiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBiaW5hcnlUeXBlOwog
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQoQXJyYXlCdWZmZXIgZGF0YSk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQoQXJyYXlCdWZmZXJWaWV3IGRhdGEpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEJsb2IgZGF0YSk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIHNlbmQoVVNWU3RyaW5nIGRhdGEpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbmQoQXJyYXlCdWZmZXIgZGF0YSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChCbG9iIGRhdGEpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNlbmQoVVNWU3RyaW5nIGRhdGEpOwogCi0gICAgdm9pZCBj
bG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbm9wZW47CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVycm9yOwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03
OSw3ICs3OSw3IEBAIHR5cGVkZWYgKG9iamVjdCBvciBET01TdHJpbmcpIEFsZ29yaXRobUkKICAg
ICBbSlNCdWlsdGluLCBDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoKTsKIAogICAgIC8v
IEpTIGJ1aWx0LWluIGNvbnN0cnVjdG9yIGhhbmRsZXMgdGhlIG9wdGlvbmFsIFJUQ0NvbmZpZ3Vy
YXRpb24KLSAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIENhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBpbml0aWFsaXplV2l0aChSVENDb25maWd1cmF0aW9uIGNvbmZpZ3Vy
YXRpb24pOworICAgIFtQcml2YXRlSWRlbnRpZmllciwgQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW5pdGlhbGl6ZVdpdGgoUlRDQ29uZmlndXJhdGlvbiBj
b25maWd1cmF0aW9uKTsKIAogCiAgICAgLy8gNC4zLjIgSW50ZXJmYWNlIERlZmluaXRpb24KQEAg
LTg3LDE3ICs4NywxNyBAQCB0eXBlZGVmIChvYmplY3Qgb3IgRE9NU3RyaW5nKSBBbGdvcml0aG1J
CiAgICAgW0pTQnVpbHRpbl0gUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBjcmVh
dGVPZmZlcihvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb2ZmZXJPcHRpb25zKTsKICAgICBbSlNC
dWlsdGluXSBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZUFuc3dlcihv
cHRpb25hbCBSVENBbnN3ZXJPcHRpb25zIGFuc3dlck9wdGlvbnMpOwogCi0gICAgW0pTQnVpbHRp
bl0gUHJvbWlzZTx2b2lkPiBzZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkluaXQgZGVzY3JpcHRpb24pOworICAgIFtKU0J1aWx0aW5dIFByb21pc2U8dW5kZWZpbmVkPiBz
ZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRpb24p
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IGxvY2FsRGVz
Y3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8g
Y3VycmVudExvY2FsRGVzY3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbj8gcGVuZGluZ0xvY2FsRGVzY3JpcHRpb247CiAKLSAgICBbSlNCdWlsdGlu
XSBQcm9taXNlPHZvaWQ+IHNldFJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkluaXQgZGVzY3JpcHRpb24pOworICAgIFtKU0J1aWx0aW5dIFByb21pc2U8dW5kZWZpbmVkPiBz
ZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9u
KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyByZW1vdGVE
ZXNjcmlwdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
PyBjdXJyZW50UmVtb3RlRGVzY3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbj8gcGVuZGluZ1JlbW90ZURlc2NyaXB0aW9uOwogCi0gICAgW0pTQnVp
bHRpbl0gUHJvbWlzZTx2b2lkPiBhZGRJY2VDYW5kaWRhdGUoKFJUQ0ljZUNhbmRpZGF0ZUluaXQg
b3IgUlRDSWNlQ2FuZGlkYXRlKSBjYW5kaWRhdGUpOworICAgIFtKU0J1aWx0aW5dIFByb21pc2U8
dW5kZWZpbmVkPiBhZGRJY2VDYW5kaWRhdGUoKFJUQ0ljZUNhbmRpZGF0ZUluaXQgb3IgUlRDSWNl
Q2FuZGlkYXRlKSBjYW5kaWRhdGUpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1NpZ25h
bGluZ1N0YXRlIHNpZ25hbGluZ1N0YXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENJY2VH
YXRoZXJpbmdTdGF0ZSBpY2VHYXRoZXJpbmdTdGF0ZTsKQEAgLTEwNyw4ICsxMDcsOCBAQCB0eXBl
ZGVmIChvYmplY3Qgb3IgRE9NU3RyaW5nKSBBbGdvcml0aG1JCiAgICAgLy8gRklYTUUgMTY5NjQ0
OiBtaXNzaW5nIGRlZmF1bHRJY2VTZXJ2ZXJzCiAKICAgICBSVENDb25maWd1cmF0aW9uIGdldENv
bmZpZ3VyYXRpb24oKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Q29uZmlndXJh
dGlvbihSVENDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwotICAgIHZvaWQgY2xvc2UoKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDb25maWd1cmF0aW9uKFJUQ0Nv
bmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CisgICAgdW5kZWZpbmVkIGNsb3NlKCk7CiAKICAg
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubmVnb3RpYXRpb25uZWVkZWQ7CiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmljZWNhbmRpZGF0ZTsKQEAgLTEyMiw5ICsxMjIsOSBAQCB0eXBl
ZGVmIChvYmplY3Qgb3IgRE9NU3RyaW5nKSBBbGdvcml0aG1JCiAgICAgLy8gU2VlIFJUQ1BlZXJD
b25uZWN0aW9uSW50ZXJuYWxzLmpzLgogICAgIFtQcml2YXRlSWRlbnRpZmllcl0gUHJvbWlzZTxS
VENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBxdWV1ZWRDcmVhdGVPZmZlcihvcHRpb25hbCBSVENP
ZmZlck9wdGlvbnMgb2ZmZXJPcHRpb25zKTsKICAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21p
c2U8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdD4gcXVldWVkQ3JlYXRlQW5zd2VyKG9wdGlvbmFs
IFJUQ0Fuc3dlck9wdGlvbnMgYW5zd2VyT3B0aW9ucyk7Ci0gICAgW1ByaXZhdGVJZGVudGlmaWVy
XSBQcm9taXNlPHZvaWQ+IHF1ZXVlZFNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uIGRlc2NyaXB0aW9uKTsKLSAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dm9p
ZD4gcXVldWVkU2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2Ny
aXB0aW9uKTsKLSAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8dm9pZD4gcXVldWVkQWRk
SWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZT8gY2FuZGlkYXRlKTsKKyAgICBbUHJpdmF0ZUlk
ZW50aWZpZXJdIFByb21pc2U8dW5kZWZpbmVkPiBxdWV1ZWRTZXRMb2NhbERlc2NyaXB0aW9uKFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbik7CisgICAgW1ByaXZhdGVJZGVudGlmaWVy
XSBQcm9taXNlPHVuZGVmaW5lZD4gcXVldWVkU2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21p
c2U8dW5kZWZpbmVkPiBxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlPyBjYW5k
aWRhdGUpOwogCiAKICAgICAvLyA0LjExIENlcnRpZmljYXRlIG1hbmFnZW1lbnQKQEAgLTEzNyw3
ICsxMzcsNyBAQCB0eXBlZGVmIChvYmplY3Qgb3IgRE9NU3RyaW5nKSBBbGdvcml0aG1JCiAgICAg
c2VxdWVuY2U8UlRDUnRwVHJhbnNjZWl2ZXI+IGdldFRyYW5zY2VpdmVycygpOwogCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBSVENSdHBTZW5kZXIgYWRkVHJhY2soTWVkaWFTdHJlYW1UcmFjayB0
cmFjaywgTWVkaWFTdHJlYW0uLi4gc3RyZWFtcyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHJlbW92ZVRyYWNrKFJUQ1J0cFNlbmRlciBzZW5kZXIpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHJlbW92ZVRyYWNrKFJUQ1J0cFNlbmRlciBzZW5kZXIpOwogCiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBSVENSdHBUcmFuc2NlaXZlciBhZGRUcmFuc2NlaXZlcigoTWVk
aWFTdHJlYW1UcmFjayBvciBET01TdHJpbmcpIHRyYWNrLCBvcHRpb25hbCBSVENSdHBUcmFuc2Nl
aXZlckluaXQgaW5pdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNDAsOCArNDAsOCBAQAogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXRT
dHJlYW1zCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBSVENS
dHBDYXBhYmlsaXRpZXM/IGdldENhcGFiaWxpdGllcyhET01TdHJpbmcga2luZCk7CiAgICAgUlRD
UnRwU2VuZFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpOwotICAgIFByb21pc2U8dm9pZD4gc2V0
UGFyYW1ldGVycyhSVENSdHBTZW5kUGFyYW1ldGVycyBwYXJhbWV0ZXJzKTsKLSAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTx2b2lkPiByZXBsYWNlVHJhY2soTWVk
aWFTdHJlYW1UcmFjaz8gd2l0aFRyYWNrKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0UGFy
YW1ldGVycyhSVENSdHBTZW5kUGFyYW1ldGVycyBwYXJhbWV0ZXJzKTsKKyAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTx1bmRlZmluZWQ+IHJlcGxhY2VUcmFjayhN
ZWRpYVN0cmVhbVRyYWNrPyB3aXRoVHJhY2spOwogICAgIFByb21pc2U8UlRDU3RhdHNSZXBvcnQ+
IGdldFN0YXRzKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQywgRW5hYmxlZEF0UnVudGlt
ZT1XZWJSVENEVE1GXSByZWFkb25seSBhdHRyaWJ1dGUgUlRDRFRNRlNlbmRlcj8gZHRtZjsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNDEsNiArNDEsNiBAQCB0eXBlZGVmIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uIFJ0cFRy
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3RvcHBlZDsKICAgICBhdHRyaWJ1dGUg
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24gZGlyZWN0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbj8gY3VycmVudERpcmVjdGlvbjsKLSAgICB2b2lk
IHN0b3AoKTsKLSAgICB2b2lkIHNldENvZGVjUHJlZmVyZW5jZXMoc2VxdWVuY2U8UlRDUnRwQ29k
ZWNDYXBhYmlsaXR5PiBjb2RlY3MpOworICAgIHVuZGVmaW5lZCBzdG9wKCk7CisgICAgdW5kZWZp
bmVkIHNldENvZGVjUHJlZmVyZW5jZXMoc2VxdWVuY2U8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBj
b2RlY3MpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzcsNyArMzcsNyBAQAogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0
b3IoRE9NU3RyaW5nIHRpdGxlLCBvcHRpb25hbCBOb3RpZmljYXRpb25PcHRpb25zIG9wdGlvbnMp
OwogCiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIE5v
dGlmaWNhdGlvblBlcm1pc3Npb24gcGVybWlzc2lvbjsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRd
IHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKG9wdGlvbmFsIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25DYWxsYmFjaz8gZGVwcmVjYXRlZENhbGxiYWNrKTsgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IHJldHVybiBhIFByb21pc2U8Tm90aWZpY2F0aW9uUGVybWlzc2lvbj4uCisgICAgW0NhbGxXaXRo
PURvY3VtZW50XSBzdGF0aWMgdW5kZWZpbmVkIHJlcXVlc3RQZXJtaXNzaW9uKG9wdGlvbmFsIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz8gZGVwcmVjYXRlZENhbGxiYWNrKTsgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIHJldHVybiBhIFByb21pc2U8Tm90aWZpY2F0aW9uUGVybWlzc2lvbj4u
CiAKICAgICAvLyBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbWF4QWN0
aW9uczsKIApAQCAtNjEsMTAgKzYxLDEwIEBACiAgICAgLy8gW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBhbnkgZGF0YTsKICAgICAvLyBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmli
dXRlIEZyb3plbkFycmF5PE5vdGlmaWNhdGlvbkFjdGlvbj4gYWN0aW9uczsKIAotICAgIHZvaWQg
Y2xvc2UoKTsKKyAgICB1bmRlZmluZWQgY2xvc2UoKTsKIAogICAgIC8vIExlZ2FjeS4gTm90IGlu
IHRoZSBzcGVjaWZpY2F0aW9uLgotICAgIHZvaWQgc2hvdygpOworICAgIHVuZGVmaW5lZCBzaG93
KCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2xvc2U7CiAgICAgW0ltcGxlbWVu
dGVkQXM9b25zaG93XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZGlzcGxheTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQAog
CiBbCiAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUywKLV0gY2FsbGJhY2sgTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrID0gdm9pZCAoTm90aWZpY2F0aW9uUGVybWlzc2lvbiBwZXJt
aXNzaW9uKTsKK10gY2FsbGJhY2sgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrID0gdW5k
ZWZpbmVkIChOb3RpZmljYXRpb25QZXJtaXNzaW9uIHBlcm1pc3Npb24pOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9N
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG1ldGhvZE5hbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmlu
ZyB2YWxpZGF0aW9uVVJMOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZShQ
cm9taXNlPGFueT4gbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgY29tcGxldGUoUHJvbWlzZTxhbnk+IG1lcmNoYW50U2Vzc2lvblByb21p
c2UpOwogfTsKIAogWwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAgICAgW0NhbGxXaXRoPURvY3VtZW50
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Ioc2VxdWVuY2U8UGF5bWVudE1ldGhvZERh
dGE+IG1ldGhvZERhdGEsIFBheW1lbnREZXRhaWxzSW5pdCBkZXRhaWxzLCBvcHRpb25hbCBQYXlt
ZW50T3B0aW9ucyBvcHRpb25zKTsKIAogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxQ
YXltZW50UmVzcG9uc2U+IHNob3cob3B0aW9uYWwgUHJvbWlzZTxQYXltZW50RGV0YWlsc1VwZGF0
ZT4gZGV0YWlsc1Byb21pc2UpOwotICAgIFByb21pc2U8dm9pZD4gYWJvcnQoKTsKKyAgICBQcm9t
aXNlPHVuZGVmaW5lZD4gYWJvcnQoKTsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8
Ym9vbGVhbj4gY2FuTWFrZVBheW1lbnQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgaWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDUgKzMx
LDUgQEAKIF0gaW50ZXJmYWNlIFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQgOiBFdmVudCB7CiAg
ICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIFBheW1lbnRSZXF1ZXN0VXBk
YXRlRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHVwZGF0ZVdpdGgoUHJvbWlzZTxQYXltZW50RGV0YWlsc1VwZGF0ZT4gZGV0YWlsc1Byb21p
c2UpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHVwZGF0ZVdpdGgoUHJvbWlz
ZTxQYXltZW50RGV0YWlsc1VwZGF0ZT4gZGV0YWlsc1Byb21pc2UpOwogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXNwb25zZS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIs
OCArNDIsOCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IHBheWVyRW1haWw7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gcGF5ZXJQaG9uZTsKIAotICAgIFtO
ZXdPYmplY3RdIFByb21pc2U8dm9pZD4gY29tcGxldGUob3B0aW9uYWwgUGF5bWVudENvbXBsZXRl
IHJlc3VsdCA9ICJ1bmtub3duIik7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiByZXRy
eShvcHRpb25hbCBQYXltZW50VmFsaWRhdGlvbkVycm9ycyBlcnJvckZpZWxkcyk7CisgICAgW05l
d09iamVjdF0gUHJvbWlzZTx1bmRlZmluZWQ+IGNvbXBsZXRlKG9wdGlvbmFsIFBheW1lbnRDb21w
bGV0ZSByZXN1bHQgPSAidW5rbm93biIpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dW5kZWZp
bmVkPiByZXRyeShvcHRpb25hbCBQYXltZW50VmFsaWRhdGlvbkVycm9ycyBlcnJvckZpZWxkcyk7
CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucGF5ZXJkZXRhaWxjaGFuZ2U7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGlj
dHVyZUluUGljdHVyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL0RvY3VtZW50UGljdHVyZUluUGljdHVyZS5pZGwJKHJldmlzaW9uIDI2
NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Eb2N1bWVu
dFBpY3R1cmVJblBpY3R1cmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1ICszMCw1IEBACiBd
IHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBwaWN0dXJlSW5QaWN0dXJlRW5hYmxlZDsKIAotICAgIFtOZXdPYmplY3RdIFByb21pc2U8
dm9pZD4gZXhpdFBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVu
ZGVmaW5lZD4gZXhpdFBpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDUgKzMxLDUgQEAKICAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYW55
IHRpbWVkTWV0YURhdGE7CiAgICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFu
eSBhY2Nlc3NMb2c7CiAgICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBl
cnJvckxvZzsKLSAgICB2b2lkIHBvc3RFdmVudChET01TdHJpbmcgZXZlbnROYW1lKTsKKyAgICB1
bmRlZmluZWQgcG9zdEV2ZW50KERPTVN0cmluZyBldmVudE5hbWUpOwogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2su
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0
b3JhZ2VFcnJvckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNCArMzAsNCBAQAog
CiBbCiAgICAgQ29uZGl0aW9uYWw9UVVPVEEsCi1dIGNhbGxiYWNrIFN0b3JhZ2VFcnJvckNhbGxi
YWNrID0gdm9pZCAoRE9NRXhjZXB0aW9uIGVycm9yKTsKK10gY2FsbGJhY2sgU3RvcmFnZUVycm9y
Q2FsbGJhY2sgPSB1bmRlZmluZWQgKERPTUV4Y2VwdGlvbiBlcnJvcik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmlkbAkocmV2aXNpb24gMjY2Mjk4
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDYgKzMxLDYgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBURU1Q
T1JBUlkgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwogCi0g
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcXVlcnlVc2FnZUFuZFF1
b3RhKHVuc2lnbmVkIHNob3J0IHN0b3JhZ2VUeXBlLCBvcHRpb25hbCBTdG9yYWdlVXNhZ2VDYWxs
YmFjaz8gdXNhZ2VDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVycm9y
Q2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJl
cXVlc3RRdW90YSh1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgdW5zaWduZWQgbG9uZyBsb25n
IG5ld1F1b3RhSW5CeXRlcywgb3B0aW9uYWwgU3RvcmFnZVF1b3RhQ2FsbGJhY2s/IHF1b3RhQ2Fs
bGJhY2ssIG9wdGlvbmFsIFN0b3JhZ2VFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIHF1ZXJ5VXNhZ2VB
bmRRdW90YSh1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgb3B0aW9uYWwgU3RvcmFnZVVzYWdl
Q2FsbGJhY2s/IHVzYWdlQ2FsbGJhY2ssIG9wdGlvbmFsIFN0b3JhZ2VFcnJvckNhbGxiYWNrPyBl
cnJvckNhbGxiYWNrKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5k
ZWZpbmVkIHJlcXVlc3RRdW90YSh1bnNpZ25lZCBzaG9ydCBzdG9yYWdlVHlwZSwgdW5zaWduZWQg
bG9uZyBsb25nIG5ld1F1b3RhSW5CeXRlcywgb3B0aW9uYWwgU3RvcmFnZVF1b3RhQ2FsbGJhY2s/
IHF1b3RhQ2FsbGJhY2ssIG9wdGlvbmFsIFN0b3JhZ2VFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxi
YWNrKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90
YS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL1N0b3JhZ2VRdW90YS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDYgQEAKICAg
ICBDb25kaXRpb25hbD1RVU9UQSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBp
bnRlcmZhY2UgU3RvcmFnZVF1b3RhIHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoU3RvcmFnZVVzYWdlQ2FsbGJhY2sgdXNhZ2VD
YWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwot
ICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlcXVlc3RRdW90YSh1
bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25hbCBTdG9yYWdlUXVvdGFD
YWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVy
cm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1bmRl
ZmluZWQgcXVlcnlVc2FnZUFuZFF1b3RhKFN0b3JhZ2VVc2FnZUNhbGxiYWNrIHVzYWdlQ2FsbGJh
Y2ssIG9wdGlvbmFsIFN0b3JhZ2VFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIHJlcXVlc3RRdW90YSh1
bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGFJbkJ5dGVzLCBvcHRpb25hbCBTdG9yYWdlUXVvdGFD
YWxsYmFjaz8gcXVvdGFDYWxsYmFjaywgb3B0aW9uYWwgU3RvcmFnZUVycm9yQ2FsbGJhY2s/IGVy
cm9yQ2FsbGJhY2spOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3Rv
cmFnZVF1b3RhQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvU3RvcmFnZVF1b3RhQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YUNhbGxiYWNrLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNCArMzAsNCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9UVVPVEEs
Ci1dIGNhbGxiYWNrIFN0b3JhZ2VRdW90YUNhbGxiYWNrID0gdm9pZCAodW5zaWduZWQgbG9uZyBs
b25nIGdyYW50ZWRRdW90YUluQnl0ZXMpOworXSBjYWxsYmFjayBTdG9yYWdlUXVvdGFDYWxsYmFj
ayA9IHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBsb25nIGdyYW50ZWRRdW90YUluQnl0ZXMpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlVXNhZ2VDYWxsYmFjay5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlVXNh
Z2VDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvU3RvcmFnZVVzYWdlQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0
ICszMCw0IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1RVU9UQSwKLV0gY2FsbGJhY2sgU3RvcmFn
ZVVzYWdlQ2FsbGJhY2sgPSB2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFVzYWdlSW5C
eXRlcywgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRRdW90YUluQnl0ZXMpOworXSBjYWxsYmFj
ayBTdG9yYWdlVXNhZ2VDYWxsYmFjayA9IHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBsb25nIGN1
cnJlbnRVc2FnZUluQnl0ZXMsIHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJyZW50UXVvdGFJbkJ5dGVz
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxh
eWJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcmVtb3RlcGxh
eWJhY2svUmVtb3RlUGxheWJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNiBAQCBpbnRlcmZhY2UgUmVtb3RlUGxheWJhY2sgOiBFdmVudFRh
cmdldCB7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmRpc2Nvbm5lY3Q7CiAKICAgICBQ
cm9taXNlPGxvbmc+IHdhdGNoQXZhaWxhYmlsaXR5KFJlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5
Q2FsbGJhY2sgY2FsbGJhY2spOwotICAgIFByb21pc2U8dm9pZD4gY2FuY2VsV2F0Y2hBdmFpbGFi
aWxpdHkob3B0aW9uYWwgbG9uZyBpZCk7Ci0gICAgUHJvbWlzZTx2b2lkPiBwcm9tcHQoKTsKKyAg
ICBQcm9taXNlPHVuZGVmaW5lZD4gY2FuY2VsV2F0Y2hBdmFpbGFiaWxpdHkob3B0aW9uYWwgbG9u
ZyBpZCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHByb21wdCgpOwogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmlkbAkocmV2
aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsOSArMzEsOSBAQAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHNwZWFraW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIHBhdXNlZDsKIAotICAgIHZvaWQgc3BlYWsoU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIHV0
dGVyYW5jZSk7Ci0gICAgdm9pZCBjYW5jZWwoKTsKLSAgICB2b2lkIHBhdXNlKCk7Ci0gICAgdm9p
ZCByZXN1bWUoKTsKKyAgICB1bmRlZmluZWQgc3BlYWsoU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
IHV0dGVyYW5jZSk7CisgICAgdW5kZWZpbmVkIGNhbmNlbCgpOworICAgIHVuZGVmaW5lZCBwYXVz
ZSgpOworICAgIHVuZGVmaW5lZCByZXN1bWUoKTsKICAgICBzZXF1ZW5jZTxTcGVlY2hTeW50aGVz
aXNWb2ljZT4gZ2V0Vm9pY2VzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw5
ICszNCw5IEBACiBdIGludGVyZmFjZSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIHsKICAg
ICBjb25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0sIGFueSB1bmRlcmx5aW5nQnl0ZVNv
dXJjZSwgdW5zaWduZWQgbG9uZyBoaWdoV2F0ZXJNYXJrKTsKIAotICAgIFtOb3RFbnVtZXJhYmxl
XSB2b2lkIGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKLSAgICBbTm90RW51bWVyYWJsZV0g
dm9pZCBjbG9zZSgpOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2b2lkIGVycm9yKG9wdGlvbmFsIGFu
eSBlcnJvcik7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCBlbnF1ZXVlKG9wdGlvbmFs
IGFueSBjaHVuayk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCBjbG9zZSgpOworICAg
IFtOb3RFbnVtZXJhYmxlXSB1bmRlZmluZWQgZXJyb3Iob3B0aW9uYWwgYW55IGVycm9yKTsKIAog
ICAgIFtOb3RFbnVtZXJhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdCBieW9iUmVxdWVzdDsKICAgICBbTm90RW51bWVyYWJsZV0gcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBkZXNpcmVkU2l6ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsCShyZXZp
c2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1CWU9CUmVhZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogCiAg
ICAgW05vdEVudW1lcmFibGVdIFByb21pc2U8YW55PiByZWFkKG9wdGlvbmFsIGFueSB2aWV3KTsK
ICAgICBbTm90RW51bWVyYWJsZV0gUHJvbWlzZTxhbnk+IGNhbmNlbChvcHRpb25hbCBhbnkgcmVh
c29uKTsKLSAgICBbTm90RW51bWVyYWJsZV0gdm9pZCByZWxlYXNlTG9jaygpOworICAgIFtOb3RF
bnVtZXJhYmxlXSB1bmRlZmluZWQgcmVsZWFzZUxvY2soKTsKIAogICAgIFtOb3RFbnVtZXJhYmxl
XSByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxib29sZWFuPiBjbG9zZWQ7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3Qu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw4ICszMyw4IEBACiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVhbUJZT0JS
ZXF1ZXN0IHsKICAgICBjb25zdHJ1Y3RvcihSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGNv
bnRyb2xsZXIsIFR5cGVkQXJyYXkgdmlldyk7CiAKLSAgICBbTm90RW51bWVyYWJsZV0gdm9pZCBy
ZXNwb25kKG9wdGlvbmFsIGFueSBieXRlc1dyaXR0ZW4pOwotICAgIFtOb3RFbnVtZXJhYmxlXSB2
b2lkIHJlc3BvbmRXaXRoTmV3VmlldyhvcHRpb25hbCBhbnkgdmlldyk7CisgICAgW05vdEVudW1l
cmFibGVdIHVuZGVmaW5lZCByZXNwb25kKG9wdGlvbmFsIGFueSBieXRlc1dyaXR0ZW4pOworICAg
IFtOb3RFbnVtZXJhYmxlXSB1bmRlZmluZWQgcmVzcG9uZFdpdGhOZXdWaWV3KG9wdGlvbmFsIGFu
eSB2aWV3KTsKIAogICAgIFtOb3RFbnVtZXJhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgVHlwZWRB
cnJheSB2aWV3OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSAr
MzQsOSBAQAogXSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciB7CiAg
ICAgY29uc3RydWN0b3IoUmVhZGFibGVTdHJlYW0gc3RyZWFtLCBhbnkgdW5kZXJseWluZ1NvdXJj
ZSwgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspOwogCi0g
ICAgW05vdEVudW1lcmFibGVdIHZvaWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOwotICAg
IFtOb3RFbnVtZXJhYmxlXSB2b2lkIGNsb3NlKCk7Ci0gICAgW05vdEVudW1lcmFibGVdIHZvaWQg
ZXJyb3Iob3B0aW9uYWwgYW55IGVycm9yKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5kZWZpbmVk
IGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKKyAgICBbTm90RW51bWVyYWJsZV0gdW5kZWZp
bmVkIGNsb3NlKCk7CisgICAgW05vdEVudW1lcmFibGVdIHVuZGVmaW5lZCBlcnJvcihvcHRpb25h
bCBhbnkgZXJyb3IpOwogCiAgICAgW05vdEVudW1lcmFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBk
b3VibGUgZGVzaXJlZFNpemU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbURlZmF1bHRSZWFkZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3
IEBACiAKICAgICBbTm90RW51bWVyYWJsZV0gUHJvbWlzZTxhbnk+IHJlYWQoKTsKICAgICBbTm90
RW51bWVyYWJsZV0gUHJvbWlzZTxhbnk+IGNhbmNlbChvcHRpb25hbCBhbnkgcmVhc29uKTsKLSAg
ICBbTm90RW51bWVyYWJsZV0gdm9pZCByZWxlYXNlTG9jaygpOworICAgIFtOb3RFbnVtZXJhYmxl
XSB1bmRlZmluZWQgcmVsZWFzZUxvY2soKTsKIAogICAgIFtOb3RFbnVtZXJhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgUHJvbWlzZTxib29sZWFuPiBjbG9zZWQ7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbVNpbmsuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAgICAg
Tm9JbnRlcmZhY2VPYmplY3QsCiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNl
IFJlYWRhYmxlU3RyZWFtU2luayB7Ci0gICAgdm9pZCBlbnF1ZXVlKEJ1ZmZlclNvdXJjZSBjaHVu
ayk7Ci0gICAgdm9pZCBjbG9zZSgpOwotICAgIHZvaWQgZXJyb3IoRE9NU3RyaW5nIG1lc3NhZ2Up
OworICAgIHVuZGVmaW5lZCBlbnF1ZXVlKEJ1ZmZlclNvdXJjZSBjaHVuayk7CisgICAgdW5kZWZp
bmVkIGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIGVycm9yKERPTVN0cmluZyBtZXNzYWdlKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3Vy
Y2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbVNvdXJjZS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDkgKzMwLDkgQEAKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBTa2lwVlRhYmxl
VmFsaWRhdGlvbgogXSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1Tb3VyY2UgewotICAgIFtDdXN0
b21dIFByb21pc2U8dm9pZD4gc3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciBj
b250cm9sbGVyKTsKLSAgICBbQ3VzdG9tXSBQcm9taXNlPHZvaWQ+IHB1bGwoUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlciBjb250cm9sbGVyKTsKLSAgICB2b2lkIGNhbmNlbChhbnkgcmVh
c29uKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPHVuZGVmaW5lZD4gc3RhcnQoUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlciBjb250cm9sbGVyKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPHVu
ZGVmaW5lZD4gcHVsbChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIGNvbnRyb2xsZXIp
OworICAgIHVuZGVmaW5lZCBjYW5jZWwoYW55IHJlYXNvbik7CiAKICAgICAvLyBQbGFjZSBob2xk
ZXIgdG8ga2VlcCB0aGUgY29udHJvbGxlciBsaW5rZWQgdG8gdGhlIHNvdXJjZS4KICAgICBbQ2Fj
aGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgY29udHJv
bGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9UcmFuc2Zvcm1TdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1RyYW5zZm9ybVN0
cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBA
QAogXSBpbnRlcmZhY2UgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyBkZXNpcmVkU2l6ZTsKIAotICAg
IHZvaWQgZW5xdWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOwotICAgIHZvaWQgZXJyb3Iob3B0aW9u
YWwgYW55IHJlYXNvbik7Ci0gICAgdm9pZCB0ZXJtaW5hdGUoKTsKKyAgICB1bmRlZmluZWQgZW5x
dWV1ZShvcHRpb25hbCBhbnkgY2h1bmspOworICAgIHVuZGVmaW5lZCBlcnJvcihvcHRpb25hbCBh
bnkgcmVhc29uKTsKKyAgICB1bmRlZmluZWQgdGVybWluYXRlKCk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1ICszMCw1IEBACiAgICAgUHJpdmF0ZUlkZW50aWZp
ZXIsCiAgICAgUHVibGljSWRlbnRpZmllcgogXSBpbnRlcmZhY2UgV3JpdGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlciB7Ci0gICAgdm9pZCBlcnJvcihvcHRpb25hbCBhbnkgZSk7CisgICAgdW5k
ZWZpbmVkIGVycm9yKG9wdGlvbmFsIGFueSBlKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1EZWZhdWx0
V3JpdGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1dyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDEyICszMiwxMiBAQAogXSBpbnRlcmZhY2UgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVy
IHsKICAgICBjb25zdHJ1Y3RvcihXcml0YWJsZVN0cmVhbSBzdHJlYW0pOwogCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY2xvc2VkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBQcm9taXNlPHVuZGVmaW5lZD4gY2xvc2VkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlPyBkZXNpcmVkU2l6ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZTx2b2lkPiByZWFkeTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx1bmRlZmlu
ZWQ+IHJlYWR5OwogCi0gICAgUHJvbWlzZTx2b2lkPiBhYm9ydChvcHRpb25hbCBhbnkgcmVhc29u
KTsKLSAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7Ci0gICAgdm9pZCByZWxlYXNlTG9jaygpOwot
ICAgIFByb21pc2U8dm9pZD4gd3JpdGUob3B0aW9uYWwgYW55IGNodW5rKTsKKyAgICBQcm9taXNl
PHVuZGVmaW5lZD4gYWJvcnQob3B0aW9uYWwgYW55IHJlYXNvbik7CisgICAgUHJvbWlzZTx1bmRl
ZmluZWQ+IGNsb3NlKCk7CisgICAgdW5kZWZpbmVkIHJlbGVhc2VMb2NrKCk7CisgICAgUHJvbWlz
ZTx1bmRlZmluZWQ+IHdyaXRlKG9wdGlvbmFsIGFueSBjaHVuayk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMCArNDAsMTAgQEAKIAogICAgIC8vIENvcGll
cyB0aGUgY3VycmVudCBmcmVxdWVuY3kgZGF0YSBpbnRvIHRoZSBwYXNzZWQgYXJyYXkuCiAgICAg
Ly8gSWYgdGhlIGFycmF5IGhhcyBmZXdlciBlbGVtZW50cyB0aGFuIHRoZSBmcmVxdWVuY3lCaW5D
b3VudCwgdGhlIGV4Y2VzcyBlbGVtZW50cyB3aWxsIGJlIGRyb3BwZWQuCi0gICAgdm9pZCBnZXRG
bG9hdEZyZXF1ZW5jeURhdGEoRmxvYXQzMkFycmF5IGFycmF5KTsKLSAgICB2b2lkIGdldEJ5dGVG
cmVxdWVuY3lEYXRhKFVpbnQ4QXJyYXkgYXJyYXkpOworICAgIHVuZGVmaW5lZCBnZXRGbG9hdEZy
ZXF1ZW5jeURhdGEoRmxvYXQzMkFycmF5IGFycmF5KTsKKyAgICB1bmRlZmluZWQgZ2V0Qnl0ZUZy
ZXF1ZW5jeURhdGEoVWludDhBcnJheSBhcnJheSk7CiAKICAgICAvLyBSZWFsLXRpbWUgd2F2ZWZv
cm0gZGF0YQotICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10g
dm9pZCBnZXRGbG9hdFRpbWVEb21haW5EYXRhKEZsb2F0MzJBcnJheSBhcnJheSk7Ci0gICAgdm9p
ZCBnZXRCeXRlVGltZURvbWFpbkRhdGEoVWludDhBcnJheSBhcnJheSk7CisgICAgW0VuYWJsZWRC
eVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB1bmRlZmluZWQgZ2V0RmxvYXRUaW1l
RG9tYWluRGF0YShGbG9hdDMyQXJyYXkgYXJyYXkpOworICAgIHVuZGVmaW5lZCBnZXRCeXRlVGlt
ZURvbWFpbkRhdGEoVWludDhBcnJheSBhcnJheSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBACiAKICAgICAvLyBDaGFubmVsIGFjY2VzcwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gRmxvYXQzMkFycmF5IGdldENoYW5uZWxEYXRhKHVuc2lnbmVk
IGxvbmcgY2hhbm5lbEluZGV4KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNl
dHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB2b2lkIGNvcHlGcm9tQ2hhbm5lbChGbG9h
dDMyQXJyYXkgZGVzdGluYXRpb24sIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSB2b2lkIGNvcHlU
b0NoYW5uZWwoRmxvYXQzMkFycmF5IHNvdXJjZSwgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVy
LCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGJ1ZmZlck9mZnNldCA9IDApOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIHVu
ZGVmaW5lZCBjb3B5RnJvbUNoYW5uZWwoRmxvYXQzMkFycmF5IGRlc3RpbmF0aW9uLCB1bnNpZ25l
ZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zmc2V0
ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVu
cHJlZml4ZWRXZWJBdWRpb10gdW5kZWZpbmVkIGNvcHlUb0NoYW5uZWwoRmxvYXQzMkFycmF5IHNv
dXJjZSwgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVyLCBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGJ1ZmZlck9mZnNldCA9IDApOwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IHBhcnQgb2Yg
dGhlIHNwZWNpZmljYXRpb24uCiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBnYWlu
OyAvLyBsaW5lYXIgZ2FpbiAoZGVmYXVsdCAxLjApCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAKIFsKICAgICBD
b25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi1dIGNhbGxi
YWNrIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgPSB2b2lkIChBdWRpb0J1ZmZlcj8gYXVkaW9CdWZmZXIp
OworXSBjYWxsYmFjayBBdWRpb0J1ZmZlckNhbGxiYWNrID0gdW5kZWZpbmVkIChBdWRpb0J1ZmZl
cj8gYXVkaW9CdWZmZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjk4
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAgICAgYXR0cmlidXRlIGRv
dWJsZSBsb29wU3RhcnQ7CiAgICAgYXR0cmlidXRlIGRvdWJsZSBsb29wRW5kOwogCi0gICAgW01h
eVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0YXJ0TGF0ZXJdIHZvaWQgc3RhcnQob3B0
aW9uYWwgZG91YmxlIHdoZW4gPSAwLCBvcHRpb25hbCBkb3VibGUgZ3JhaW5PZmZzZXQgPSAwLCBv
cHRpb25hbCBkb3VibGUgZ3JhaW5EdXJhdGlvbik7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJ
bXBsZW1lbnRlZEFzPXN0YXJ0TGF0ZXJdIHVuZGVmaW5lZCBzdGFydChvcHRpb25hbCBkb3VibGUg
d2hlbiA9IDAsIG9wdGlvbmFsIGRvdWJsZSBncmFpbk9mZnNldCA9IDAsIG9wdGlvbmFsIGRvdWJs
ZSBncmFpbkR1cmF0aW9uKTsKIAogICAgIC8vIEZJWE1FOiBUaG9zZSBjb25zdGFudHMgYXJlIGtl
cHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgcHJlZml4ZWQgQVBJIGFuZCBz
aG91bGQKICAgICAvLyBiZSByZW1vdmVkIG9uY2Ugd2Ugc3RvcCBzdXBwb3J0aW5nIGl0LgpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw5ICszOSw5IEBACiAKICAgICBb
Q2FsbFdpdGg9QWN0aXZlV2luZG93XSBBdWRpb1RpbWVzdGFtcCBnZXRPdXRwdXRUaW1lc3RhbXAo
KTsKIAotICAgIFtJbXBsZW1lbnRlZEFzPXN1c3BlbmRSZW5kZXJpbmddIFByb21pc2U8dm9pZD4g
c3VzcGVuZCgpOwotICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10gUHJvbWlzZTx2
b2lkPiByZXN1bWUoKTsKLSAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7CisgICAgW0ltcGxlbWVu
dGVkQXM9c3VzcGVuZFJlbmRlcmluZ10gUHJvbWlzZTx1bmRlZmluZWQ+IHN1c3BlbmQoKTsKKyAg
ICBbSW1wbGVtZW50ZWRBcz1yZXN1bWVSZW5kZXJpbmddIFByb21pc2U8dW5kZWZpbmVkPiByZXN1
bWUoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gY2xvc2UoKTsKIAogICAgIFtDb25kaXRpb25h
bD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSBj
cmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UoSFRNTE1lZGlhRWxlbWVudCBtZWRpYUVsZW1lbnQpOwog
ICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sIE1heVRocm93RXhjZXB0aW9uXSBNZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZSBjcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShNZWRpYVN0cmVhbSBt
ZWRpYVN0cmVhbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
TGlzdGVuZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9MaXN0ZW5lci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDYgKzQxLDYgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSB1cFk7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gdXBaOwogCi0gICAgdm9pZCBzZXRQb3NpdGlv
bihmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKLSAgICB2b2lkIHNldE9yaWVudGF0aW9uKGZs
b2F0IHgsIGZsb2F0IHksIGZsb2F0IHosIGZsb2F0IHhVcCwgZmxvYXQgeVVwLCBmbG9hdCB6VXAp
OworICAgIHVuZGVmaW5lZCBzZXRQb3NpdGlvbihmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsK
KyAgICB1bmRlZmluZWQgc2V0T3JpZW50YXRpb24oZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeiwg
ZmxvYXQgeFVwLCBmbG9hdCB5VXAsIGZsb2F0IHpVcCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCwxMyArMzQsMTMgQEAKICAgICBhdHRyaWJ1dGUgQ2hhbm5lbEludGVycHJl
dGF0aW9uIGNoYW5uZWxJbnRlcnByZXRhdGlvbjsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
QXVkaW9Ob2RlIGNvbm5lY3QoW1JldHVyblZhbHVlXSBBdWRpb05vZGUgZGVzdGluYXRpb24sIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgb3V0cHV0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBp
bnB1dCA9IDApOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb25uZWN0KEF1ZGlvUGFy
YW0gZGVzdGluYXRpb24sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb3V0cHV0ID0gMCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0
aW9uLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG91dHB1dCA9IDApOwogCi0gICAgdm9pZCBkaXNj
b25uZWN0KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRpc2Nvbm5lY3QodW5zaWdu
ZWQgbG9uZyBvdXRwdXQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkaXNjb25uZWN0
KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBkaXNjb25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0
cHV0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGlzY29ubmVjdChBdWRpb05vZGUg
ZGVzdGluYXRpb25Ob2RlLCB1bnNpZ25lZCBsb25nIG91dHB1dCwgdW5zaWduZWQgbG9uZyBpbnB1
dCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGRpc2Nvbm5lY3QoQXVkaW9QYXJhbSBk
ZXN0aW5hdGlvblBhcmFtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGlzY29ubmVj
dChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0sIHVuc2lnbmVkIGxvbmcgb3V0cHV0KTsKKyAg
ICB1bmRlZmluZWQgZGlzY29ubmVjdCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIGRpc2Nvbm5lY3QodW5zaWduZWQgbG9uZyBvdXRwdXQpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGRpc2Nvbm5lY3QoQXVkaW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdChBdWRpb05vZGUgZGVz
dGluYXRpb25Ob2RlLCB1bnNpZ25lZCBsb25nIG91dHB1dCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdChBdWRpb05vZGUgZGVzdGluYXRpb25Ob2RlLCB1bnNp
Z25lZCBsb25nIG91dHB1dCwgdW5zaWduZWQgbG9uZyBpbnB1dCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgZGlzY29ubmVjdChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0p
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRpc2Nvbm5lY3QoQXVkaW9QYXJh
bSBkZXN0aW5hdGlvblBhcmFtLCB1bnNpZ25lZCBsb25nIG91dHB1dCk7CiB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgQWN0aXZlRE9NT2JqZWN0LAogXSBpbnRlcmZhY2Ug
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlIDogQXVkaW9Ob2RlIHsKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uZW5kZWQ7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFz
PXN0YXJ0TGF0ZXJdIHZvaWQgc3RhcnQob3B0aW9uYWwgZG91YmxlIHdoZW4gPSAwKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9c3RvcExhdGVyXSB2b2lkIHN0b3Aob3B0
aW9uYWwgZG91YmxlIHdoZW4gPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVu
dGVkQXM9c3RhcnRMYXRlcl0gdW5kZWZpbmVkIHN0YXJ0KG9wdGlvbmFsIGRvdWJsZSB3aGVuID0g
MCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXN0b3BMYXRlcl0gdW5k
ZWZpbmVkIHN0b3Aob3B0aW9uYWwgZG91YmxlIHdoZW4gPSAwKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlx
dWFkRmlsdGVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDUgKzM2LDUgQEAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBROyAvLyBRdWFsaXR5IGZhY3RvcgogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGdhaW47IC8vIGluIERlY2liZWxzCiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UoRmxvYXQzMkFycmF5
IGZyZXF1ZW5jeUh6LCBGbG9hdDMyQXJyYXkgbWFnUmVzcG9uc2UsIEZsb2F0MzJBcnJheSBwaGFz
ZVJlc3BvbnNlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBnZXRGcmVxdWVu
Y3lSZXNwb25zZShGbG9hdDMyQXJyYXkgZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNw
b25zZSwgRmxvYXQzMkFycmF5IHBoYXNlUmVzcG9uc2UpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2Rl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQAogICAgIEVuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvLAogXSBpbnRlcmZhY2UgSUlSRmlsdGVyTm9kZSA6
IEF1ZGlvTm9kZSB7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0IGF1ZGlvQ29udGV4dCwg
SUlSRmlsdGVyT3B0aW9ucyBvcHRpb25zKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
Z2V0RnJlcXVlbmN5UmVzcG9uc2UoRmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LCBGbG9hdDMyQXJy
YXkgbWFnUmVzcG9uc2UsIEZsb2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBnZXRGcmVxdWVuY3lSZXNwb25zZShGbG9hdDMyQXJyYXkg
ZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25zZSwgRmxvYXQzMkFycmF5IHBoYXNl
UmVzcG9uc2UpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQAogICAgIAogICAgIFtJbXBsZW1lbnRlZEFz
PXN0YXJ0T2ZmbGluZVJlbmRlcmluZ10gUHJvbWlzZTxBdWRpb0J1ZmZlcj4gc3RhcnRSZW5kZXJp
bmcoKTsKIAotICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZU9mZmxpbmVSZW5kZXJpbmddIFByb21p
c2U8dm9pZD4gcmVzdW1lKCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9c3VzcGVuZE9mZmxpbmVSZW5k
ZXJpbmddIFByb21pc2U8dm9pZD4gc3VzcGVuZChkb3VibGUgc3VzcGVuZFRpbWUpOworICAgIFtJ
bXBsZW1lbnRlZEFzPXJlc3VtZU9mZmxpbmVSZW5kZXJpbmddIFByb21pc2U8dW5kZWZpbmVkPiBy
ZXN1bWUoKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1zdXNwZW5kT2ZmbGluZVJlbmRlcmluZ10gUHJv
bWlzZTx1bmRlZmluZWQ+IHN1c3BlbmQoZG91YmxlIHN1c3BlbmRUaW1lKTsKIAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEF1ZGlvUGFyYW0gZnJlcXVlbmN5OyAvLyBpbiBIZXJ0egogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb1BhcmFtIGRldHVuZTsgLy8gaW4gQ2VudHMKIAotICAgIHZvaWQgc2V0UGVy
aW9kaWNXYXZlKFBlcmlvZGljV2F2ZSB3YXZlKTsKKyAgICB1bmRlZmluZWQgc2V0UGVyaW9kaWNX
YXZlKFBlcmlvZGljV2F2ZSB3YXZlKTsKIAogICAgIC8vIEZJWE1FOiBUaG9zZSBsZWdhY3kgcGxh
eWJhY2sgc3RhdGUgY29uc3RhbnRzIGFyZSBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5
IHdpdGggdGhlCiAgICAgLy8gcHJlZml4ZWQgQVBJIGFuZCBzaG91bGQgYmUgcmVtb3ZlZCBvbmNl
IHdlIHN0b3Agc3VwcG9ydGluZyB0aGUgcHJlZml4ZWQgQVBJLgpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw4ICszMyw4IEBACiAgICAgYXR0cmlidXRlIFBhbm5pbmdNb2RlbFR5
cGUgcGFubmluZ01vZGVsOwogCiAgICAgLy8gVXNlcyBhIDNEIGNhcnRlc2lhbiBjb29yZGluYXRl
IHN5c3RlbSAKLSAgICB2b2lkIHNldFBvc2l0aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOwotICAgIHZvaWQgc2V0T3Jp
ZW50YXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJl
c3RyaWN0ZWQgZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHNldFBvc2l0aW9uKHVucmVzdHJpY3Rl
ZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOwor
ICAgIHVuZGVmaW5lZCBzZXRPcmllbnRhdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0
cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKICAgICAKICAgICAvLyBEZWZh
dWx0IGRpc3RhbmNlIG1vZGVsIGlzIGludmVyc2UKICAgICBhdHRyaWJ1dGUgRGlzdGFuY2VNb2Rl
bFR5cGUgZGlzdGFuY2VNb2RlbDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2Vi
S2l0QXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDcsNSArNDcs
NSBAQAogICAgIGF0dHJpYnV0ZSBkb3VibGUgbG9vcFN0YXJ0OwogICAgIGF0dHJpYnV0ZSBkb3Vi
bGUgbG9vcEVuZDsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zdGFy
dExhdGVyXSB2b2lkIHN0YXJ0KG9wdGlvbmFsIGRvdWJsZSB3aGVuID0gMCwgb3B0aW9uYWwgZG91
YmxlIGdyYWluT2Zmc2V0ID0gMCwgb3B0aW9uYWwgZG91YmxlIGdyYWluRHVyYXRpb24pOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zdGFydExhdGVyXSB1bmRlZmluZWQg
c3RhcnQob3B0aW9uYWwgZG91YmxlIHdoZW4gPSAwLCBvcHRpb25hbCBkb3VibGUgZ3JhaW5PZmZz
ZXQgPSAwLCBvcHRpb25hbCBkb3VibGUgZ3JhaW5EdXJhdGlvbik7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0
LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NCw5ICs0NCw5IEBA
CiAgICAgLy8gQWxsIHBhbm5pbmcgaXMgcmVsYXRpdmUgdG8gdGhpcyBsaXN0ZW5lci4KICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0QXVkaW9MaXN0ZW5lciBsaXN0ZW5lcjsKIAotICAgIFtJ
bXBsZW1lbnRlZEFzPXN1c3BlbmRSZW5kZXJpbmddIFByb21pc2U8dm9pZD4gc3VzcGVuZCgpOwot
ICAgIFtJbXBsZW1lbnRlZEFzPXJlc3VtZVJlbmRlcmluZ10gUHJvbWlzZTx2b2lkPiByZXN1bWUo
KTsKLSAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7CisgICAgW0ltcGxlbWVudGVkQXM9c3VzcGVu
ZFJlbmRlcmluZ10gUHJvbWlzZTx1bmRlZmluZWQ+IHN1c3BlbmQoKTsKKyAgICBbSW1wbGVtZW50
ZWRBcz1yZXN1bWVSZW5kZXJpbmddIFByb21pc2U8dW5kZWZpbmVkPiByZXN1bWUoKTsKKyAgICBQ
cm9taXNlPHVuZGVmaW5lZD4gY2xvc2UoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRp
b0NvbnRleHRTdGF0ZSBzdGF0ZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3RhdGVj
aGFuZ2U7CkBAIC01OCw3ICs1OCw3IEBACiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1l
bnRlZEFzPWNyZWF0ZUxlZ2FjeUJ1ZmZlcl0gQXVkaW9CdWZmZXIgY3JlYXRlQnVmZmVyKEFycmF5
QnVmZmVyIGJ1ZmZlciwgYm9vbGVhbiBtaXhUb01vbm8pOwogCiAgICAgLy8gQXN5bmNocm9ub3Vz
IGF1ZGlvIGZpbGUgZGF0YSBkZWNvZGluZy4KLSAgICB2b2lkIGRlY29kZUF1ZGlvRGF0YShBcnJh
eUJ1ZmZlciBhdWRpb0RhdGEsIEF1ZGlvQnVmZmVyQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywg
b3B0aW9uYWwgQXVkaW9CdWZmZXJDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgdW5kZWZp
bmVkIGRlY29kZUF1ZGlvRGF0YShBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIEF1ZGlvQnVmZmVyQ2Fs
bGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgQXVkaW9CdWZmZXJDYWxsYmFjaz8gZXJy
b3JDYWxsYmFjayk7CiAKICAgICAvLyBTb3VyY2VzCiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJ
bXBsZW1lbnRlZEFzPWNyZWF0ZVdlYktpdEJ1ZmZlclNvdXJjZV0gV2ViS2l0QXVkaW9CdWZmZXJT
b3VyY2VOb2RlIGNyZWF0ZUJ1ZmZlclNvdXJjZSgpOwpAQCAtODYsNyArODYsNyBAQAogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gQ2hhbm5lbE1lcmdlck5vZGUgY3JlYXRlQ2hhbm5lbE1lcmdlcihv
cHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRzID0gNik7CiAKICAgICAvLyBPZmZs
aW5lIHJlbmRlcmluZwotICAgIC8vIHZvaWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmco
dW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJh
bWVzLCB1bnJlc3RyaWN0ZWQgZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgLy8gdW5kZWZpbmVkIHBy
ZXBhcmVPZmZsaW5lQnVmZmVyUmVuZGVyaW5nKHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVs
cywgdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgdW5yZXN0cmljdGVkIGZsb2F0IHNhbXBs
ZVJhdGUpOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jb21wbGV0ZTsKLSAgICB2b2lk
IHN0YXJ0UmVuZGVyaW5nKCk7CisgICAgdW5kZWZpbmVkIHN0YXJ0UmVuZGVyaW5nKCk7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0xpc3RlbmVy
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktp
dEF1ZGlvTGlzdGVuZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvTGlzdGVuZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw3ICszNCw3IEBACiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBkb3BwbGVy
RmFjdG9yOyAgLy8gc2FtZSBhcyBPcGVuQUwgKGRlZmF1bHQgMS4wKQogICAgIGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZmxvYXQgc3BlZWRPZlNvdW5kOyAgIC8vIGluIG1ldGVycyAvIHNlY29uZCAo
ZGVmYXVsdCAzNDMuMykKIAotICAgIHZvaWQgc2V0UG9zaXRpb24odW5yZXN0cmljdGVkIGZsb2F0
IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7Ci0gICAgdm9p
ZCBzZXRPcmllbnRhdGlvbih1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0
IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeFVwLCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgeVVwLCB1bnJlc3RyaWN0ZWQgZmxvYXQgelVwKTsKLSAgICB2b2lkIHNldFZl
bG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0
cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVmaW5lZCBzZXRQb3NpdGlvbih1bnJlc3RyaWN0ZWQg
ZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAg
ICB1bmRlZmluZWQgc2V0T3JpZW50YXRpb24odW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJp
Y3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeiwgdW5yZXN0cmljdGVkIGZsb2F0IHhV
cCwgdW5yZXN0cmljdGVkIGZsb2F0IHlVcCwgdW5yZXN0cmljdGVkIGZsb2F0IHpVcCk7CisgICAg
dW5kZWZpbmVkIHNldFZlbG9jaXR5KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2ViS2l0QXVkaW9QYW5uZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsOSArMzIsOSBA
QAogICAgIGF0dHJpYnV0ZSBQYW5uaW5nTW9kZWxUeXBlIHBhbm5pbmdNb2RlbDsKIAogICAgIC8v
IFVzZXMgYSAzRCBjYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0ZW0KLSAgICB2b2lkIHNldFBvc2l0
aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmlj
dGVkIGZsb2F0IHopOwotICAgIHZvaWQgc2V0T3JpZW50YXRpb24odW5yZXN0cmljdGVkIGZsb2F0
IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeik7Ci0gICAgdm9p
ZCBzZXRWZWxvY2l0eSh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHks
IHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgc2V0UG9zaXRpb24odW5yZXN0
cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
eik7CisgICAgdW5kZWZpbmVkIHNldE9yaWVudGF0aW9uKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHopOworICAgIHVuZGVmaW5l
ZCBzZXRWZWxvY2l0eSh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHks
IHVucmVzdHJpY3RlZCBmbG9hdCB6KTsKIAogICAgIC8vIERpc3RhbmNlIG1vZGVsCiAgICAgYXR0
cmlidXRlIERpc3RhbmNlTW9kZWxUeXBlIGRpc3RhbmNlTW9kZWw7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JOb2RlLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JOb2Rl
LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRPc2NpbGxhdG9yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDUgKzQzLDUg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBmcmVxdWVuY3k7IC8vIGluIEhl
cnR6CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZGV0dW5lOyAvLyBpbiBDZW50
cwogCi0gICAgW0ltcGxlbWVudGVkQXM9c2V0V2ViS2l0UGVyaW9kaWNXYXZlXSB2b2lkIHNldFBl
cmlvZGljV2F2ZShQZXJpb2RpY1dhdmU/IHdhdmUpOworICAgIFtJbXBsZW1lbnRlZEFzPXNldFdl
YktpdFBlcmlvZGljV2F2ZV0gdW5kZWZpbmVkIHNldFBlcmlvZGljV2F2ZShQZXJpb2RpY1dhdmU/
IHdhdmUpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2UuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsOCArMzEs
OCBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU1FMLAogXSBpbnRlcmZhY2UgRGF0YWJhc2Ug
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVyc2lvbjsKLSAgICB2b2lkIGNo
YW5nZVZlcnNpb24oRE9NU3RyaW5nIG9sZFZlcnNpb24sIERPTVN0cmluZyBuZXdWZXJzaW9uLCBv
cHRpb25hbCBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrPyBjYWxsYmFjaywgb3B0aW9uYWwgU1FMVHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrLCBvcHRpb25hbCBWb2lkQ2FsbGJh
Y2s/IHN1Y2Nlc3NDYWxsYmFjayk7Ci0gICAgdm9pZCB0cmFuc2FjdGlvbihTUUxUcmFuc2FjdGlv
bkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/
IGVycm9yQ2FsbGJhY2ssIG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsK
LSAgICB2b2lkIHJlYWRUcmFuc2FjdGlvbihTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIGNhbGxiYWNr
LCBvcHRpb25hbCBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ssIG9w
dGlvbmFsIFZvaWRDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgY2hh
bmdlVmVyc2lvbihET01TdHJpbmcgb2xkVmVyc2lvbiwgRE9NU3RyaW5nIG5ld1ZlcnNpb24sIG9w
dGlvbmFsIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2s/IGNhbGxiYWNrLCBvcHRpb25hbCBTUUxUcmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2ssIG9wdGlvbmFsIFZvaWRDYWxsYmFj
az8gc3VjY2Vzc0NhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgdHJhbnNhY3Rpb24oU1FMVHJhbnNh
Y3Rpb25DYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrPyBlcnJvckNhbGxiYWNrLCBvcHRpb25hbCBWb2lkQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFj
ayk7CisgICAgdW5kZWZpbmVkIHJlYWRUcmFuc2FjdGlvbihTUUxUcmFuc2FjdGlvbkNhbGxiYWNr
IGNhbGxiYWNrLCBvcHRpb25hbCBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s/IGVycm9yQ2Fs
bGJhY2ssIG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrKTsKIH07CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDYWxsYmFjay5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZUNhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNCArMjYsNCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1jYWxsYmFjayBEYXRhYmFzZUNhbGxi
YWNrID0gdm9pZCAoRGF0YWJhc2UgZGF0YWJhc2UpOworY2FsbGJhY2sgRGF0YWJhc2VDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoRGF0YWJhc2UgZGF0YWJhc2UpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFj
ay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsy
Niw0IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIFNRTFN0YXRlbWVudENhbGxiYWNr
ID0gdm9pZCAoU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIFNRTFJlc3VsdFNldCByZXN1bHRT
ZXQpOworY2FsbGJhY2sgU1FMU3RhdGVtZW50Q2FsbGJhY2sgPSB1bmRlZmluZWQgKFNRTFRyYW5z
YWN0aW9uIHRyYW5zYWN0aW9uLCBTUUxSZXN1bHRTZXQgcmVzdWx0U2V0KTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNSArMzEsNSBAQCB0
eXBlZGVmIChET01TdHJpbmc/IG9yIHVucmVzdHJpY3RlZCBkb3ViCiBbCiAgICAgU2tpcFZUYWJs
ZVZhbGlkYXRpb24sCiBdIGludGVyZmFjZSBTUUxUcmFuc2FjdGlvbiB7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIGV4ZWN1dGVTcWwoRE9NU3RyaW5nIHNxbFN0YXRlbWVudCwgb3B0aW9u
YWwgc2VxdWVuY2U8U1FMVmFsdWU+PyBhcmd1bWVudHMgPSBbXSwgb3B0aW9uYWwgU1FMU3RhdGVt
ZW50Q2FsbGJhY2s/IGNhbGxiYWNrLCBvcHRpb25hbCBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNr
PyBlcnJvckNhbGxiYWNrKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBleGVj
dXRlU3FsKERPTVN0cmluZyBzcWxTdGF0ZW1lbnQsIG9wdGlvbmFsIHNlcXVlbmNlPFNRTFZhbHVl
Pj8gYXJndW1lbnRzID0gW10sIG9wdGlvbmFsIFNRTFN0YXRlbWVudENhbGxiYWNrPyBjYWxsYmFj
aywgb3B0aW9uYWwgU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlv
bkNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2su
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiAgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWNhbGxiYWNrIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgPSB2b2lkIChTUUxUcmFuc2FjdGlvbiB0
cmFuc2FjdGlvbik7CitjYWxsYmFjayBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrID0gdW5kZWZpbmVk
IChTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDQgKzI2LDQgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotY2FsbGJhY2sgU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrID0gdm9pZCAoU1FMRXJyb3IgZXJyb3IpOworY2FsbGJh
Y2sgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrID0gdW5kZWZpbmVkIChTUUxFcnJvciBlcnJv
cik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZl
ci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVUJ1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgdHlwZWRl
ZiB1bnNpZ25lZCBsb25nIGxvbmcgdTY0OwogXSBpbnRlcmZhY2UgV2ViR1BVQnVmZmVyIHsKICAg
ICBQcm9taXNlPEFycmF5QnVmZmVyPiBtYXBSZWFkQXN5bmMoKTsKICAgICBQcm9taXNlPEFycmF5
QnVmZmVyPiBtYXBXcml0ZUFzeW5jKCk7Ci0gICAgdm9pZCB1bm1hcCgpOworICAgIHVuZGVmaW5l
ZCB1bm1hcCgpOwogCi0gICAgdm9pZCBkZXN0cm95KCk7CisgICAgdW5kZWZpbmVkIGRlc3Ryb3ko
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5k
RW5jb2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQ29tbWFuZEVuY29kZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21tYW5kRW5jb2Rlci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTU4LDI0ICs1OCwyNCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1NjQ7CiAg
ICAgV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIgYmVnaW5SZW5kZXJQYXNzKFdlYkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogICAgIFdlYkdQVUNvbXB1dGVQYXNzRW5jb2RlciBi
ZWdpbkNvbXB1dGVQYXNzKCk7CiAKLSAgICB2b2lkIGNvcHlCdWZmZXJUb0J1ZmZlcigKKyAgICB1
bmRlZmluZWQgY29weUJ1ZmZlclRvQnVmZmVyKAogICAgICAgICBXZWJHUFVCdWZmZXIgc3JjLAog
ICAgICAgICB1NjQgc3JjT2Zmc2V0LAogICAgICAgICBXZWJHUFVCdWZmZXIgZHN0LAogICAgICAg
ICB1NjQgZHN0T2Zmc2V0LAogICAgICAgICB1NjQgc2l6ZSk7CiAKLSAgICB2b2lkIGNvcHlCdWZm
ZXJUb1RleHR1cmUoCisgICAgdW5kZWZpbmVkIGNvcHlCdWZmZXJUb1RleHR1cmUoCiAgICAgICAg
IEdQVUJ1ZmZlckNvcHlWaWV3IHNvdXJjZSwKICAgICAgICAgR1BVVGV4dHVyZUNvcHlWaWV3IGRl
c3RpbmF0aW9uLAogICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSk7CiAKLSAgICB2b2lkIGNv
cHlUZXh0dXJlVG9CdWZmZXIoCisgICAgdW5kZWZpbmVkIGNvcHlUZXh0dXJlVG9CdWZmZXIoCiAg
ICAgICAgIEdQVVRleHR1cmVDb3B5VmlldyBzb3VyY2UsCiAgICAgICAgIEdQVUJ1ZmZlckNvcHlW
aWV3IGRlc3RpbmF0aW9uLAogICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSk7CiAKLSAgICB2
b2lkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKAorICAgIHVuZGVmaW5lZCBjb3B5VGV4dHVyZVRvVGV4
dHVyZSgKICAgICAgICAgR1BVVGV4dHVyZUNvcHlWaWV3IHNvdXJjZSwKICAgICAgICAgR1BVVGV4
dHVyZUNvcHlWaWV3IGRlc3RpbmF0aW9uLAogICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVDb21wdXRlUGFzc0Vu
Y29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDggKzMyLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIHUzMjsKICAg
ICBJbnRlcmZhY2VOYW1lPUdQVUNvbXB1dGVQYXNzRW5jb2RlciwKICAgICBKU0dlbmVyYXRlVG9K
U09iamVjdAogXSBpbnRlcmZhY2UgV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIDogV2ViR1BVUHJv
Z3JhbW1hYmxlUGFzc0VuY29kZXIgewotICAgIHZvaWQgc2V0UGlwZWxpbmUoV2ViR1BVQ29tcHV0
ZVBpcGVsaW5lIHBpcGVsaW5lKTsKLSAgICB2b2lkIGRpc3BhdGNoKHUzMiB4LCB1MzIgeSwgdTMy
IHopOworICAgIHVuZGVmaW5lZCBzZXRQaXBlbGluZShXZWJHUFVDb21wdXRlUGlwZWxpbmUgcGlw
ZWxpbmUpOworICAgIHVuZGVmaW5lZCBkaXNwYXRjaCh1MzIgeCwgdTMyIHksIHUzMiB6KTsKIAog
ICAgIC8vIFRPRE8gYWRkIG1pc3NpbmcgY29tbWFuZHMKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMu
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYg
QEAgdHlwZWRlZiAoR1BVT3V0T2ZNZW1vcnlFcnJvciBvciBHUFVWYWxpZAogICAgIENvbmRpdGlv
bmFsPVdFQkdQVSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQogXSBwYXJ0aWFsIGludGVy
ZmFjZSBXZWJHUFVEZXZpY2UgewotICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKTsKKyAgICB1bmRlZmluZWQgcHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIg
ZmlsdGVyKTsKICAgICBQcm9taXNlPEdQVUVycm9yPz4gcG9wRXJyb3JTY29wZSgpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBhc3NF
bmNvZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwogICAgIEludGVyZmFjZU5hbWU9R1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIsCiAg
ICAgU2tpcFZUYWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNlIFdlYkdQVVByb2dyYW1tYWJsZVBh
c3NFbmNvZGVyIHsKLSAgICB2b2lkIGVuZFBhc3MoKTsKLSAgICB2b2lkIHNldEJpbmRHcm91cCh1
MzIgaW5kZXgsIFdlYkdQVUJpbmRHcm91cCBiaW5kR3JvdXAvKiwgb3B0aW9uYWwgc2VxdWVuY2U8
dTMyPiBkeW5hbWljT2Zmc2V0cyovKTsKKyAgICB1bmRlZmluZWQgZW5kUGFzcygpOworICAgIHVu
ZGVmaW5lZCBzZXRCaW5kR3JvdXAodTMyIGluZGV4LCBXZWJHUFVCaW5kR3JvdXAgYmluZEdyb3Vw
LyosIG9wdGlvbmFsIHNlcXVlbmNlPHUzMj4gZHluYW1pY09mZnNldHMqLyk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVF1ZXVlLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5IEBACiAgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPUdQVVF1ZXVlCiBdIGludGVyZmFjZSBXZWJH
UFVRdWV1ZSB7Ci0gICAgdm9pZCBzdWJtaXQoc2VxdWVuY2U8V2ViR1BVQ29tbWFuZEJ1ZmZlcj4g
YnVmZmVycyk7CisgICAgdW5kZWZpbmVkIHN1Ym1pdChzZXF1ZW5jZTxXZWJHUFVDb21tYW5kQnVm
ZmVyPiBidWZmZXJzKTsKIAogICAgIC8vIEZJWE1FOiBVbmltcGxlbWVudGVkLgotICAgIC8vIHZv
aWQgc2lnbmFsKFdlYkdQVUZlbmNlIGZlbmNlLCB1NjQgc2lnbmFsVmFsdWUpOwotICAgIC8vIHZv
aWQgd2FpdChXZWJHUFVGZW5jZSBmZW5jZSwgdTY0IHZhbHVlVG9XYWl0KTsKKyAgICAvLyB1bmRl
ZmluZWQgc2lnbmFsKFdlYkdQVUZlbmNlIGZlbmNlLCB1NjQgc2lnbmFsVmFsdWUpOworICAgIC8v
IHVuZGVmaW5lZCB3YWl0KFdlYkdQVUZlbmNlIGZlbmNlLCB1NjQgdmFsdWVUb1dhaXQpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNv
ZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzQsMjMgKzM0LDIzIEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHU2NDsK
ICAgICBJbnRlcmZhY2VOYW1lPUdQVVJlbmRlclBhc3NFbmNvZGVyLAogICAgIEpTR2VuZXJhdGVU
b0pTT2JqZWN0CiBdIGludGVyZmFjZSBXZWJHUFVSZW5kZXJQYXNzRW5jb2RlciA6IFdlYkdQVVBy
b2dyYW1tYWJsZVBhc3NFbmNvZGVyIHsKLSAgICB2b2lkIHNldFBpcGVsaW5lKFdlYkdQVVJlbmRl
clBpcGVsaW5lIHBpcGVsaW5lKTsKLSAgICB2b2lkIHNldEJsZW5kQ29sb3IoR1BVQ29sb3IgY29s
b3IpOworICAgIHVuZGVmaW5lZCBzZXRQaXBlbGluZShXZWJHUFVSZW5kZXJQaXBlbGluZSBwaXBl
bGluZSk7CisgICAgdW5kZWZpbmVkIHNldEJsZW5kQ29sb3IoR1BVQ29sb3IgY29sb3IpOwogCiAg
ICAgLy8gVGhlIGRlZmF1bHQgdmlld3BvcnQgaXMgKDAuMCwgMC4wLCB3LCBoLCAwLjAsIDEuMCks
IHdoZXJlIHcgYW5kIGggYXJlIHRoZSBkaW1lbnNpb25zIG9mIGJhY2sgYnVmZmVyCi0gICAgdm9p
ZCBzZXRWaWV3cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0
LCBmbG9hdCBtaW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOworICAgIHVuZGVmaW5lZCBzZXRWaWV3
cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBt
aW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwogCiAgICAgLy8gVGhlIGRlZmF1bHQgc2Npc3NvciBy
ZWN0YW5nbGUgaXMgKDAsIDAsIHcsIGgpLCB3aGVyZSB3IGFuZCBoIGFyZSB0aGUgZGltZW5zaW9u
cyBvZiBiYWNrIGJ1ZmZlci4KICAgICAvLyBXaWR0aCBhbmQgaGVpZ2h0IG11c3QgYmUgZ3JlYXRl
ciB0aGFuIDAuIE90aGVyd2lzZSwgYW4gZXJyb3Igd2lsbCBiZSBnZW5lcmF0ZWQuCi0gICAgdm9p
ZCBzZXRTY2lzc29yUmVjdCh1MzIgeCwgdTMyIHksIHUzMiB3aWR0aCwgdTMyIGhlaWdodCk7Cisg
ICAgdW5kZWZpbmVkIHNldFNjaXNzb3JSZWN0KHUzMiB4LCB1MzIgeSwgdTMyIHdpZHRoLCB1MzIg
aGVpZ2h0KTsKIAotICAgIHZvaWQgc2V0SW5kZXhCdWZmZXIoV2ViR1BVQnVmZmVyIGJ1ZmZlciwg
dTY0IG9mZnNldCk7Ci0gICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXJzKHUzMiBzdGFydFNsb3QsIHNl
cXVlbmNlPFdlYkdQVUJ1ZmZlcj4gYnVmZmVycywgc2VxdWVuY2U8dTY0PiBvZmZzZXRzKTsKKyAg
ICB1bmRlZmluZWQgc2V0SW5kZXhCdWZmZXIoV2ViR1BVQnVmZmVyIGJ1ZmZlciwgdTY0IG9mZnNl
dCk7CisgICAgdW5kZWZpbmVkIHNldFZlcnRleEJ1ZmZlcnModTMyIHN0YXJ0U2xvdCwgc2VxdWVu
Y2U8V2ViR1BVQnVmZmVyPiBidWZmZXJzLCBzZXF1ZW5jZTx1NjQ+IG9mZnNldHMpOwogCi0gICAg
dm9pZCBkcmF3KHUzMiB2ZXJ0ZXhDb3VudCwgdTMyIGluc3RhbmNlQ291bnQsIHUzMiBmaXJzdFZl
cnRleCwgdTMyIGZpcnN0SW5zdGFuY2UpOwotICAgIHZvaWQgZHJhd0luZGV4ZWQodTMyIGluZGV4
Q291bnQsIHUzMiBpbnN0YW5jZUNvdW50LCB1MzIgZmlyc3RJbmRleCwgaTMyIGJhc2VWZXJ0ZXgs
IHUzMiBmaXJzdEluc3RhbmNlKTsKKyAgICB1bmRlZmluZWQgZHJhdyh1MzIgdmVydGV4Q291bnQs
IHUzMiBpbnN0YW5jZUNvdW50LCB1MzIgZmlyc3RWZXJ0ZXgsIHUzMiBmaXJzdEluc3RhbmNlKTsK
KyAgICB1bmRlZmluZWQgZHJhd0luZGV4ZWQodTMyIGluZGV4Q291bnQsIHUzMiBpbnN0YW5jZUNv
dW50LCB1MzIgZmlyc3RJbmRleCwgaTMyIGJhc2VWZXJ0ZXgsIHUzMiBmaXJzdEluc3RhbmNlKTsK
IAogLyogTm90IFlldCBJbXBsZW1lbnRlZAotICAgIHZvaWQgc2V0U3RlbmNpbFJlZmVyZW5jZSh1
MzIgcmVmZXJlbmNlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RlbmNpbFJlZmVyZW5jZSh1MzIgcmVm
ZXJlbmNlKTsKICovCiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVVGV4dHVyZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVVGV4dHVyZS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVVRleHR1cmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1HUFVUZXh0dXJlCiBdIGludGVyZmFjZSBXZWJH
UFVUZXh0dXJlIHsKICAgICBXZWJHUFVUZXh0dXJlVmlldyBjcmVhdGVEZWZhdWx0VmlldygpOwot
ICAgIHZvaWQgZGVzdHJveSgpOworICAgIHVuZGVmaW5lZCBkZXN0cm95KCk7CiAKICAgICAvLyBO
b3QgWWV0IEltcGxlbWVudGVkOgogICAgIC8vIFdlYkdQVVRleHR1cmVWaWV3IGNyZWF0ZVRleHR1
cmVWaWV3KFdlYkdQVVRleHR1cmVWaWV3RGVzY3JpcHRvciBkZXNjKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCShyZXZpc2lvbiAy
NjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNTgsMTAgKzU4LDEwIEBACiAKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGJpbmFyeVR5cGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChB
cnJheUJ1ZmZlciBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChBcnJh
eUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQoQmxv
YiBkYXRhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VuZChVU1ZTdHJpbmcgZGF0
YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChBcnJheUJ1ZmZlciBk
YXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKEJsb2Ig
ZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2VuZChVU1ZTdHJpbmcg
ZGF0YSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xvc2Uob3B0aW9uYWwgW0Ns
YW1wXSB1bnNpZ25lZCBzaG9ydCBjb2RlLCBvcHRpb25hbCBVU1ZTdHJpbmcgcmVhc29uKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjbG9zZShvcHRpb25hbCBbQ2xhbXBdIHVu
c2lnbmVkIHNob3J0IGNvZGUsIG9wdGlvbmFsIFVTVlN0cmluZyByZWFzb24pOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9u
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEzIEBACiAgICAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUklucHV0U291cmNlQXJyYXkgaW5wdXRTb3VyY2VzOwog
CiAgICAgLy8gTWV0aG9kcwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB1cGRhdGVSZW5k
ZXJTdGF0ZShvcHRpb25hbCBYUlJlbmRlclN0YXRlSW5pdCBzdGF0ZUluaXQpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHVwZGF0ZVJlbmRlclN0YXRlKG9wdGlvbmFsIFhSUmVu
ZGVyU3RhdGVJbml0IHN0YXRlSW5pdCk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxXZWJYUlJl
ZmVyZW5jZVNwYWNlPiByZXF1ZXN0UmVmZXJlbmNlU3BhY2UoWFJSZWZlcmVuY2VTcGFjZVR5cGUg
dHlwZSk7CiAKICAgICB1bnNpZ25lZCBsb25nIHJlcXVlc3RBbmltYXRpb25GcmFtZShYUkZyYW1l
UmVxdWVzdENhbGxiYWNrIGNhbGxiYWNrKTsKLSAgICB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1l
KHVuc2lnbmVkIGxvbmcgaGFuZGxlKTsKKyAgICB1bmRlZmluZWQgY2FuY2VsQW5pbWF0aW9uRnJh
bWUodW5zaWduZWQgbG9uZyBoYW5kbGUpOwogCi0gICAgUHJvbWlzZTx2b2lkPiBlbmQoKTsKKyAg
ICBQcm9taXNlPHVuZGVmaW5lZD4gZW5kKCk7CiAKICAgICAvLyBFdmVudHMKICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9uZW5kOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlN5c3RlbS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUlN5c3RlbS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICsz
Miw3IEBACiAgICAgSW50ZXJmYWNlTmFtZT1YUlN5c3RlbQogXSBpbnRlcmZhY2UgV2ViWFJTeXN0
ZW0gOiBFdmVudFRhcmdldCB7CiAgICAgLy8gTWV0aG9kcwotICAgIFByb21pc2U8dm9pZD4gaXNT
ZXNzaW9uU3VwcG9ydGVkKFhSU2Vzc2lvbk1vZGUgbW9kZSk7CisgICAgUHJvbWlzZTx1bmRlZmlu
ZWQ+IGlzU2Vzc2lvblN1cHBvcnRlZChYUlNlc3Npb25Nb2RlIG1vZGUpOwogICAgIFtOZXdPYmpl
Y3QsIENhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPFdlYlhSU2Vzc2lvbj4gcmVxdWVzdFNlc3Np
b24oWFJTZXNzaW9uTW9kZSBtb2RlLCBvcHRpb25hbCBYUlNlc3Npb25Jbml0IG9wdGlvbnMpOwog
CiAgICAgLy8gRXZlbnRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDQgKzI3LDQgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJl
c1RpbWVTdGFtcDsKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQlhSCi1dIGNhbGxiYWNrIFhSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2sgPSB2b2lkIChET01IaWdoUmVzVGltZVN0YW1wIHRpbWUsIFdlYlhS
RnJhbWUgZnJhbWUpOworXSBjYWxsYmFjayBYUkZyYW1lUmVxdWVzdENhbGxiYWNrID0gdW5kZWZp
bmVkIChET01IaWdoUmVzVGltZVN0YW1wIHRpbWUsIFdlYlhSRnJhbWUgZnJhbWUpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkLmlkbC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU2NyaXB0cy9T
ZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMv
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwuZXJiCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiBdIGludGVyZmFjZSBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkIHsKIDwlLSBm
b3IgQHNldHRpbmcgaW4gQHNldHRpbmdzIGRvIC0lPgogPCUtIGlmIEBzZXR0aW5nLmV4Y2x1ZGVG
cm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxzZSBhbmQgQHNldHRpbmcuaWRsVHlwZSAtJT4KLSAg
ICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLmlk
bFR5cGUgJT4gPCU9IEBzZXR0aW5nLm5hbWUgJT4pOworICAgIHVuZGVmaW5lZCA8JT0gQHNldHRp
bmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5pZGxUeXBlICU+IDwlPSBAc2V0
dGluZy5uYW1lICU+KTsKIDwlLSBlbmQgLSU+CiA8JS0gZW5kIC0lPgogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNSArMzAsNSBAQAogXSBpbnRlcmZhY2UgQW5pbWF0aW9uRWZmZWN0
IHsKICAgICBbSW1wbGVtZW50ZWRBcz1nZXRCaW5kaW5nc1RpbWluZ10gRWZmZWN0VGltaW5nIGdl
dFRpbWluZygpOwogICAgIFtJbXBsZW1lbnRlZEFzPWdldEJpbmRpbmdzQ29tcHV0ZWRUaW1pbmdd
IENvbXB1dGVkRWZmZWN0VGltaW5nIGdldENvbXB1dGVkVGltaW5nKCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzVXBkYXRlVGltaW5nXSB2b2lkIHVwZGF0
ZVRpbWluZyhvcHRpb25hbCBPcHRpb25hbEVmZmVjdFRpbWluZyB0aW1pbmcpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1iaW5kaW5nc1VwZGF0ZVRpbWluZ10gdW5kZWZp
bmVkIHVwZGF0ZVRpbWluZyhvcHRpb25hbCBPcHRpb25hbEVmZmVjdFRpbWluZyB0aW1pbmcpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAko
cmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCB0eXBlZGVmIFVTVlN0cmlu
ZyBDU1NPTVN0cmluZzsKICAgICBbRW5hYmxlZEF0UnVudGltZT1XZWJBbmltYXRpb25zQ29tcG9z
aXRlT3BlcmF0aW9uc10gYXR0cmlidXRlIEl0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbiBpdGVy
YXRpb25Db21wb3NpdGU7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc0NvbXBv
c2l0ZU9wZXJhdGlvbnNdIGF0dHJpYnV0ZSBDb21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRlOwog
ICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIEltcGxlbWVudGVkQXM9Z2V0QmluZGluZ3NLZXlm
cmFtZXNdIHNlcXVlbmNlPG9iamVjdD4gZ2V0S2V5ZnJhbWVzKCk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uLCBDYWxsV2l0aD1HbG9iYWxPYmplY3QsIEltcGxlbWVudGVkQXM9c2V0QmluZGluZ3NL
ZXlmcmFtZXNdIHZvaWQgc2V0S2V5ZnJhbWVzKG9iamVjdD8ga2V5ZnJhbWVzKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPUdsb2JhbE9iamVjdCwgSW1wbGVtZW50ZWRBcz1zZXRC
aW5kaW5nc0tleWZyYW1lc10gdW5kZWZpbmVkIHNldEtleWZyYW1lcyhvYmplY3Q/IGtleWZyYW1l
cyk7CiB9OwogCiBkaWN0aW9uYXJ5IEJhc2VQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTU5LDEyICs1OSwxMiBAQCBlbnVtIEFuaW1hdGlvblJlcGxhY2VTdGF0ZSB7
CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlbW92ZTsKICAgICBbSW1wbGVtZW50ZWRB
cz1iaW5kaW5nc1JlYWR5XSByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxXZWJBbmltYXRpb24+
IHJlYWR5OwogICAgIFtJbXBsZW1lbnRlZEFzPWJpbmRpbmdzRmluaXNoZWRdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBQcm9taXNlPFdlYkFuaW1hdGlvbj4gZmluaXNoZWQ7Ci0gICAgdm9pZCBjYW5jZWwo
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZmluaXNoKCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUGxheV0gdm9pZCBwbGF5KCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUGF1c2VdIHZvaWQgcGF1
c2UoKTsKLSAgICB2b2lkIHVwZGF0ZVBsYXliYWNrUmF0ZShkb3VibGUgcGxheWJhY2tSYXRlKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9YmluZGluZ3NSZXZlcnNlXSB2
b2lkIHJldmVyc2UoKTsKLSAgICB2b2lkIHBlcnNpc3QoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgY29tbWl0U3R5bGVzKCk7CisgICAgdW5kZWZpbmVkIGNhbmNlbCgpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGZpbmlzaCgpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbiwgSW1wbGVtZW50ZWRBcz1iaW5kaW5nc1BsYXldIHVuZGVmaW5lZCBwbGF5KCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdzUGF1c2VdIHVuZGVmaW5l
ZCBwYXVzZSgpOworICAgIHVuZGVmaW5lZCB1cGRhdGVQbGF5YmFja1JhdGUoZG91YmxlIHBsYXli
YWNrUmF0ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWJpbmRpbmdz
UmV2ZXJzZV0gdW5kZWZpbmVkIHJldmVyc2UoKTsKKyAgICB1bmRlZmluZWQgcGVyc2lzdCgpOwor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNvbW1pdFN0eWxlcygpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL0lETFR5cGVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsNyAr
OTMsNyBAQCBzdHJ1Y3QgSURMQW55IDogSURMVHlwZTxKU0M6OlN0cm9uZzxKU0M6CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gc3RhdGljIGlubGluZSBVJiYgZXh0cmFjdFZhbHVlRnJvbU51bGxh
YmxlKFUmJiB2YWx1ZSkgeyByZXR1cm4gc3RkOjpmb3J3YXJkPFU+KHZhbHVlKTsgfQogfTsKIAot
c3RydWN0IElETFZvaWQgOiBJRExUeXBlPHZvaWQ+IHsgfTsKK3N0cnVjdCBJRExVbmRlZmluZWQg
OiBJRExUeXBlPHZvaWQ+IHsgfTsKIAogc3RydWN0IElETEJvb2xlYW4gOiBJRExUeXBlPGJvb2w+
IHsgfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NUHJvbWlzZVByb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NUHJvbWlzZVBy
b3h5LmgJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RP
TVByb21pc2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6
CiB9OwogCiB0ZW1wbGF0ZTw+Ci1jbGFzcyBET01Qcm9taXNlUHJveHk8SURMVm9pZD4geworY2xh
c3MgRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIERPTVByb21pc2VQcm94eSgpID0gZGVmYXVsdDsKQEAgLTE4
Myw5ICsxODMsOSBAQCBpbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVHlwZT46OnJlCiB9
CiAKIAotLy8gTUFSSzogLSBET01Qcm9taXNlUHJveHk8SURMVm9pZD4gc3BlY2lhbGl6YXRpb24K
Ky8vIE1BUks6IC0gRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD4gc3BlY2lhbGl6YXRpb24K
IAotaW5saW5lIEpTQzo6SlNWYWx1ZSBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OnByb21pc2Uo
SlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKK2lubGluZSBKU0M6OkpTVmFsdWUgRE9NUHJvbWlzZVByb3h5PElE
TFVuZGVmaW5lZD46OnByb21pc2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKICAgICBVTlVTRURfUEFS
QU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgZm9yIChhdXRvJiBkZWZlcnJlZFByb21pc2Ug
OiBtX2RlZmVycmVkUHJvbWlzZXMpIHsKQEAgLTIxMCwxOCArMjEwLDE4IEBAIGlubGluZSBKU0M6
OkpTVmFsdWUgRE9NUHJvbWlzZVByb3h5PElETFYKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1p
bmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OmNsZWFyKCkKK2lubGluZSB2b2lk
IERPTVByb21pc2VQcm94eTxJRExVbmRlZmluZWQ+OjpjbGVhcigpCiB7CiAgICAgbV92YWx1ZU9y
RXhjZXB0aW9uID0gV1RGOjpudWxsb3B0OwogICAgIG1fZGVmZXJyZWRQcm9taXNlcy5jbGVhcigp
OwogfQogCi1pbmxpbmUgYm9vbCBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OmlzRnVsZmlsbGVk
KCkgY29uc3QKK2lubGluZSBib29sIERPTVByb21pc2VQcm94eTxJRExVbmRlZmluZWQ+Ojppc0Z1
bGZpbGxlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdmFsdWVPckV4Y2VwdGlvbi5oYXNWYWx1
ZSgpOwogfQogCi1pbmxpbmUgdm9pZCBET01Qcm9taXNlUHJveHk8SURMVm9pZD46OnJlc29sdmUo
KQoraW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElETFVuZGVmaW5lZD46OnJlc29sdmUoKQog
ewogICAgIEFTU0VSVCghbV92YWx1ZU9yRXhjZXB0aW9uKTsKICAgICBtX3ZhbHVlT3JFeGNlcHRp
b24gPSBFeGNlcHRpb25Pcjx2b2lkPiB7IH07CkBAIC0yMjksNyArMjI5LDcgQEAgaW5saW5lIHZv
aWQgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+OjpyZQogICAgICAgICBkZWZlcnJlZFByb21pc2Ut
PnJlc29sdmUoKTsKIH0KIAotaW5saW5lIHZvaWQgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+Ojpy
ZWplY3QoRXhjZXB0aW9uIGV4Y2VwdGlvbiwgUmVqZWN0QXNIYW5kbGVkIHJlamVjdEFzSGFuZGxl
ZCkKK2lubGluZSB2b2lkIERPTVByb21pc2VQcm94eTxJRExVbmRlZmluZWQ+OjpyZWplY3QoRXhj
ZXB0aW9uIGV4Y2VwdGlvbiwgUmVqZWN0QXNIYW5kbGVkIHJlamVjdEFzSGFuZGxlZCkKIHsKICAg
ICBBU1NFUlQoIW1fdmFsdWVPckV4Y2VwdGlvbik7CiAgICAgbV92YWx1ZU9yRXhjZXB0aW9uID0g
RXhjZXB0aW9uT3I8dm9pZD4geyBXVEZNb3ZlKGV4Y2VwdGlvbikgfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0JKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbQkod29ya2luZyBjb3B5KQpAQCAtOTAsNyArOTAsNyBAQCBteSAlYnVmZmVyU291cmNlVHlw
ZXMgPSAoCiAKIG15ICVwcmltaXRpdmVUeXBlSGFzaCA9ICggCiAgICAgImJvb2xlYW4iID0+IDEs
IAotICAgICJ2b2lkIiA9PiAxLAorICAgICJ1bmRlZmluZWQiID0+IDEsCiAgICAgIkRhdGUiID0+
IDEKICk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNTkw
Niw3ICs1OTA2LDcgQEAgc3ViIE5lZWRzRXhwbGljaXRQcm9wYWdhdGVFeGNlcHRpb25DYWxsCiAK
ICAgICByZXR1cm4gMCB1bmxlc3MgJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TWF5
VGhyb3dFeGNlcHRpb259OwogCi0gICAgcmV0dXJuICRvcGVyYXRpb24tPnR5cGUgJiYgKCRvcGVy
YXRpb24tPnR5cGUtPm5hbWUgZXEgInZvaWQiIHx8ICRjb2RlR2VuZXJhdG9yLT5Jc1Byb21pc2VU
eXBlKCRvcGVyYXRpb24tPnR5cGUpIHx8IEdldE9wZXJhdGlvblJldHVybmVkQXJndW1lbnROYW1l
KCRvcGVyYXRpb24pKTsKKyAgICByZXR1cm4gJG9wZXJhdGlvbi0+dHlwZSAmJiAoJG9wZXJhdGlv
bi0+dHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIiB8fCAkY29kZUdlbmVyYXRvci0+SXNQcm9taXNl
VHlwZSgkb3BlcmF0aW9uLT50eXBlKSB8fCBHZXRPcGVyYXRpb25SZXR1cm5lZEFyZ3VtZW50TmFt
ZSgkb3BlcmF0aW9uKSk7CiB9CiAKIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawpAQCAtNjQw
Miw3ICs2NDAyLDcgQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbgog
ICAgICAgICAgICAgICAgICRjYWxsYmFja0ludm9jYXRpb24gPSAibV9kYXRhLT5pbnZva2VDYWxs
YmFjayh0aGlzVmFsdWUsIGFyZ3MsIEpTQ2FsbGJhY2tEYXRhOjpDYWxsYmFja1R5cGU6OiR7Y2Fs
bGJhY2tUeXBlfSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgXCIke2Z1bmN0aW9uTmFtZX1c
IiksIHJldHVybmVkRXhjZXB0aW9uKSI7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
ICgkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ2b2lkIikgeworICAgICAgICAgICAgaWYgKCRv
cGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAgICBw
dXNoKEAkY29udGVudFJlZiwgIiAgICAke2NhbGxiYWNrSW52b2NhdGlvbn07XG4iKTsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcHVzaChAJGNvbnRlbnRSZWYsICIgICAg
YXV0byBqc1Jlc3VsdCA9ICR7Y2FsbGJhY2tJbnZvY2F0aW9ufTtcbiIpOwpAQCAtNjQxOSw3ICs2
NDE5LDcgQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbgogICAgICAg
ICAgICAgcHVzaChAJGNvbnRlbnRSZWYsICIgICAgICAgIHJldHVybiBDYWxsYmFja1Jlc3VsdFR5
cGU6OkV4Y2VwdGlvblRocm93bjtcbiIpOwogICAgICAgICAgICAgcHVzaChAJGNvbnRlbnRSZWYs
ICIgICAgIH1cblxuIik7CiAKLSAgICAgICAgICAgIGlmICgkb3BlcmF0aW9uLT50eXBlLT5uYW1l
IGVxICJ2b2lkIikgeworICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEg
InVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICBy
ZXR1cm4geyB9O1xuIik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIG15
ICRuYXRpdmVWYWx1ZSA9IEpTVmFsdWVUb05hdGl2ZSgkaW50ZXJmYWNlT3JDYWxsYmFjaywgJG9w
ZXJhdGlvbiwgImpzUmVzdWx0IiwgIiIsICImbGV4aWNhbEdsb2JhbE9iamVjdCIsICJsZXhpY2Fs
R2xvYmFsT2JqZWN0Iik7CkBAIC02NDgzLDcgKzY0ODMsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbkZ1bmN0aW9uQ2FsbAogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICRpbmRlbnQg
LiAiJGZ1bmN0aW9uU3RyaW5nO1xuIik7CiAgICAgICAgIEdlbmVyYXRlV3JpdGVCYXJyaWVyc0Zv
ckFyZ3VtZW50cygkb3V0cHV0QXJyYXksICRvcGVyYXRpb24sICRpbmRlbnQpOwogICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICRpbmRlbnQgLiAicmV0dXJuIEpTVmFsdWU6OmVuY29kZSgkcmV0
dXJuQXJndW1lbnROYW1lLnZhbHVlKCkpO1xuIik7Ci0gICAgfSBlbHNpZiAoJG9wZXJhdGlvbi0+
dHlwZS0+bmFtZSBlcSAidm9pZCIgfHwgKCRjb2RlR2VuZXJhdG9yLT5Jc1Byb21pc2VUeXBlKCRv
cGVyYXRpb24tPnR5cGUpICYmICEkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntQcm9t
aXNlUHJveHl9KSkgeworICAgIH0gZWxzaWYgKCRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEgInVu
ZGVmaW5lZCIgfHwgKCRjb2RlR2VuZXJhdG9yLT5Jc1Byb21pc2VUeXBlKCRvcGVyYXRpb24tPnR5
cGUpICYmICEkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntQcm9taXNlUHJveHl9KSkg
ewogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICRpbmRlbnQgLiAidGhyb3dTY29wZS5yZWxl
YXNlKCk7XG4iKSBpZiAoJGhhc1Rocm93U2NvcGUpOwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICRpbmRlbnQgLiAiJGZ1bmN0aW9uU3RyaW5nO1xuIik7CiAgICAgICAgIEdlbmVyYXRlV3Jp
dGVCYXJyaWVyc0ZvckFyZ3VtZW50cygkb3V0cHV0QXJyYXksICRvcGVyYXRpb24sICRpbmRlbnQp
OwpAQCAtNjc0Nyw3ICs2NzQ3LDcgQEAgc3ViIEdldEJhc2VJRExUeXBlCiAgICAgfQogCiAgICAg
bXkgJUlETFR5cGVzID0gKAotICAgICAgICAidm9pZCIgPT4gIklETFZvaWQiLAorICAgICAgICAi
dW5kZWZpbmVkIiA9PiAiSURMVW5kZWZpbmVkIiwKICAgICAgICAgImFueSIgPT4gIklETEFueSIs
CiAgICAgICAgICJib29sZWFuIiA9PiAiSURMQm9vbGVhbiIsCiAgICAgICAgICJieXRlIiA9PiAi
SURMQnl0ZSIsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNl
ci5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBh
cnNlci5wbQkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExQYXJzZXIucG0JKHdvcmtpbmcgY29weSkKQEAgLTYwOSwyNSArNjA5LDI1IEBAIG15
ICRuZXh0QXR0cmlidXRlXzEgPSAnXihhdHRyaWJ1dGV8aW5oZXIKIG15ICRuZXh0QXR0cmlidXRl
XzIgPSAnXihyZWFkb25seXxhdHRyaWJ1dGUpJCc7CiBteSAkbmV4dFByaW1pdGl2ZVR5cGVfMSA9
ICdeKGludHxsb25nfHNob3J0fHVuc2lnbmVkKSQnOwogbXkgJG5leHRQcmltaXRpdmVUeXBlXzIg
PSAnXihkb3VibGV8ZmxvYXR8dW5yZXN0cmljdGVkKSQnOwotbXkgJG5leHRBcmd1bWVudExpc3Rf
MSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfFxbfGFueXxib29s
ZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGlufGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFsfHNlcXVl
bmNlfHNob3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0Tm9uQW55VHlwZV8x
ID0gJ14oYm9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9jdGV0fHNob3J0fHVucmVzdHJp
Y3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0QXJndW1lbnRMaXN0XzEgPSAnXihcKHxCeXRlU3Ry
aW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxcW3xhbnl8Ym9vbGVhbnxieXRlfGRvdWJsZXxm
bG9hdHxpbnxsb25nfG9iamVjdHxvY3RldHxvcHRpb25hbHxzZXF1ZW5jZXxzaG9ydHx1bmRlZmlu
ZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHREaXN0aW5ndWlzaGFibGVUeXBl
XzEgPSAnXihib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2N0ZXR8c2hvcnR8dW5kZWZp
bmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKIG15ICRuZXh0U3RyaW5nVHlwZV8xID0gJ14o
Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nKSQnOwotbXkgJG5leHRJbnRlcmZhY2VNZW1i
ZXJfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRy
aWJ1dGV8Ym9vbGVhbnxieXRlfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0fGxl
Z2FjeWNhbGxlcnxsb25nfG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXR0ZXJ8c2hv
cnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkfHZvaWQpJCc7Ci1teSAkbmV4dE9wZXJhdGlvbl8xID0g
J14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0
ZXxkZWxldGVyfGRvdWJsZXxmbG9hdHxnZXR0ZXJ8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9j
dGV0fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5zaWduZWR8dm9pZCkkJzsK
K215ICRuZXh0SW50ZXJmYWNlTWVtYmVyXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xV
U1ZTdHJpbmd8RGF0ZXxhbnl8YXR0cmlidXRlfGJvb2xlYW58Ynl0ZXxkZWxldGVyfGRvdWJsZXxm
bG9hdHxnZXR0ZXJ8aW5oZXJpdHxsZWdhY3ljYWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8cmVhZG9u
bHl8c2VxdWVuY2V8c2V0dGVyfHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQp
JCc7CitteSAkbmV4dE9wZXJhdGlvbl8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNW
U3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkZWxldGVyfGRvdWJsZXxmbG9hdHxnZXR0ZXJ8
bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bmRl
ZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkgJG5leHRVbnJlc3RyaWN0ZWRGbG9h
dFR5cGVfMSA9ICdeKGRvdWJsZXxmbG9hdCkkJzsKIG15ICRuZXh0RXh0ZW5kZWRBdHRyaWJ1dGVS
ZXN0M18xID0gJ14oXCx8XF0pJCc7Ci1teSAkbmV4dEV4Y2VwdGlvbkZpZWxkXzEgPSAnXihcKHxC
eXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxhbnl8Ym9vbGVhbnxieXRlfGRvdWJs
ZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5jZXxzaG9ydHx1bnJlc3RyaWN0ZWR8dW5z
aWduZWQpJCc7Ci1teSAkbmV4dFR5cGVfMSA9ICdeKEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0
cmluZ3xEYXRlfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0
fHNlcXVlbmNlfHNob3J0fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0RXhjZXB0
aW9uRmllbGRfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFu
eXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNo
b3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CitteSAkbmV4dFR5cGVfMSA9
ICdeKEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxib29sZWFufGJ5dGV8
ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNob3J0fHVuZGVmaW5lZHx1
bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CiBteSAkbmV4dFNwZWNpYWxzXzEgPSAnXihkZWxldGVy
fGdldHRlcnxsZWdhY3ljYWxsZXJ8c2V0dGVyKSQnOwogbXkgJG5leHREZWZpbml0aW9uc18xID0g
J14oY2FsbGJhY2t8ZGljdGlvbmFyeXxlbnVtfGV4Y2VwdGlvbnxpbnRlcmZhY2V8cGFydGlhbHx0
eXBlZGVmKSQnOwotbXkgJG5leHRFeGNlcHRpb25NZW1iZXJzXzEgPSAnXihcKHxCeXRlU3RyaW5n
fERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxcW3xhbnl8Ym9vbGVhbnxieXRlfGNvbnN0fGRvdWJs
ZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxvcHRpb25hbHxzZXF1ZW5jZXxzaG9ydHx1bnJlc3Ry
aWN0ZWR8dW5zaWduZWQpJCc7Ci1teSAkbmV4dEludGVyZmFjZU1lbWJlcnNfMSA9ICdeKFwofEJ5
dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxhdHRyaWJ1dGV8Ym9vbGVhbnxi
eXRlfGNvbnN0fGNvbnN0cnVjdG9yfGRlbGV0ZXJ8ZG91YmxlfGZsb2F0fGdldHRlcnxpbmhlcml0
fGxlZ2FjeWNhbGxlcnxsb25nfG9iamVjdHxvY3RldHxyZWFkb25seXxzZXF1ZW5jZXxzZXJpYWxp
emVyfHNldHRlcnxzaG9ydHxzdGF0aWN8c3RyaW5naWZpZXJ8dW5yZXN0cmljdGVkfHVuc2lnbmVk
fHZvaWQpJCc7Ci1teSAkbmV4dFNpbmdsZVR5cGVfMSA9ICdeKEJ5dGVTdHJpbmd8RE9NU3RyaW5n
fFVTVlN0cmluZ3xEYXRlfGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0
ZXR8c2VxdWVuY2V8c2hvcnR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwotbXkgJG5leHRBcmd1
bWVudE5hbWVfMSA9ICdeKGF0dHJpYnV0ZXxjYWxsYmFja3xjb25zdHxkZWxldGVyfGRpY3Rpb25h
cnl8ZW51bXxleGNlcHRpb258Z2V0dGVyfGltcGxlbWVudHN8aW5oZXJpdHxpbnRlcmZhY2V8bGVn
YWN5Y2FsbGVyfHBhcnRpYWx8c2VyaWFsaXplcnxzZXR0ZXJ8c3RhdGljfHN0cmluZ2lmaWVyfHR5
cGVkZWZ8dW5yZXN0cmljdGVkKSQnOworbXkgJG5leHRFeGNlcHRpb25NZW1iZXJzXzEgPSAnXihc
KHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxcW3xhbnl8Ym9vbGVhbnxieXRl
fGNvbnN0fGRvdWJsZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxvcHRpb25hbHxzZXF1ZW5jZXxz
aG9ydHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRJbnRlcmZh
Y2VNZW1iZXJzXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxh
bnl8YXR0cmlidXRlfGJvb2xlYW58Ynl0ZXxjb25zdHxjb25zdHJ1Y3RvcnxkZWxldGVyfGRvdWJs
ZXxmbG9hdHxnZXR0ZXJ8aW5oZXJpdHxsZWdhY3ljYWxsZXJ8bG9uZ3xvYmplY3R8b2N0ZXR8cmVh
ZG9ubHl8c2VxdWVuY2V8c2VyaWFsaXplcnxzZXR0ZXJ8c2hvcnR8c3RhdGljfHN0cmluZ2lmaWVy
fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CitteSAkbmV4dFNpbmdsZVR5cGVf
MSA9ICdeKEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGJvb2xlYW58Ynl0ZXxk
b3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVu
cmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0QXJndW1lbnROYW1lXzEgPSAnXihhdHRy
aWJ1dGV8Y2FsbGJhY2t8Y29uc3R8ZGVsZXRlcnxkaWN0aW9uYXJ5fGVudW18ZXhjZXB0aW9ufGdl
dHRlcnxpbXBsZW1lbnRzfGluaGVyaXR8aW50ZXJmYWNlfGxlZ2FjeWNhbGxlcnxwYXJ0aWFsfHNl
cmlhbGl6ZXJ8c2V0dGVyfHN0YXRpY3xzdHJpbmdpZmllcnx0eXBlZGVmfHVuZGVmaW5lZHx1bnJl
c3RyaWN0ZWQpJCc7CiBteSAkbmV4dENvbnN0VmFsdWVfMSA9ICdeKGZhbHNlfHRydWUpJCc7CiBt
eSAkbmV4dENvbnN0VmFsdWVfMiA9ICdeKC18SW5maW5pdHl8TmFOKSQnOwogbXkgJG5leHREZWZp
bml0aW9uXzEgPSAnXihjYWxsYmFja3xpbnRlcmZhY2UpJCc7Ci1teSAkbmV4dE9wZXJhdGlvblJl
c3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxib29s
ZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNob3J0fHVu
cmVzdHJpY3RlZHx1bnNpZ25lZHx2b2lkKSQnOworbXkgJG5leHRPcGVyYXRpb25SZXN0XzEgPSAn
XihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxhbnl8Ym9vbGVhbnxieXRl
fGRvdWJsZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5jZXxzaG9ydHx1bmRlZmluZWR8
dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkgJG5leHRVbnNpZ25lZEludGVnZXJUeXBlXzEg
PSAnXihsb25nfHNob3J0KSQnOwogbXkgJG5leHREZWZhdWx0VmFsdWVfMSA9ICdeKC18SW5maW5p
dHl8TmFOfGZhbHNlfG51bGx8dHJ1ZSkkJzsKIApAQCAtMTIyNCw3ICsxMjI0LDcgQEAgc3ViIHBh
cnNlQ2FsbGJhY2tSZXN0CiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5n
ZXRUb2tlbigpLCAiPSIsIF9fTElORV9fKTsKIAogICAgICAgICBteSAkb3BlcmF0aW9uID0gSURM
T3BlcmF0aW9uLT5uZXcoKTsKLSAgICAgICAgJG9wZXJhdGlvbi0+dHlwZSgkc2VsZi0+cGFyc2VS
ZXR1cm5UeXBlKCkpOworICAgICAgICAkb3BlcmF0aW9uLT50eXBlKCRzZWxmLT5wYXJzZVR5cGUo
KSk7CiAgICAgICAgIAogICAgICAgICAkc2VsZi0+YXNzZXJ0RXh0ZW5kZWRBdHRyaWJ1dGVzVmFs
aWRGb3JDb250ZXh0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QsICJjYWxsYmFjay1mdW5jdGlvbiIs
ICJvcGVyYXRpb24iKTsKICAgICAgICAgJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwpAQCAtMTY0NSw3ICsxNjQ1LDcgQEAgc3ViIHBhcnNlQXR0
cmlidXRlT3JPcGVyYXRpb25Gb3JTdHJpbmdpZgogICAgIH0KIAogICAgIGlmICgkbmV4dC0+dHlw
ZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRPcGVyYXRp
b25SZXN0XzEvKSB7Ci0gICAgICAgIG15ICRyZXR1cm5UeXBlID0gJHNlbGYtPnBhcnNlUmV0dXJu
VHlwZSgpOworICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUoKTsKIAog
ICAgICAgICAjIE5PVEU6IFRoaXMgaXMgYSBub24tc3RhbmRhcmQgYWRkaXRpb24uIEluIFdlYklE
TCwgdGhlcmUgaXMgbm8gd2F5IHRvIGFzc29jaWF0ZQogICAgICAgICAjIGV4dGVuZGVkIGF0dHJp
YnV0ZXMgd2l0aCBhIHJldHVybiB0eXBlLgpAQCAtMTc0MSw3ICsxNzQxLDcgQEAgc3ViIHBhcnNl
T3BlcmF0aW9uCiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VTcGVjaWFsT3BlcmF0aW9uKCRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJ
ZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0T3BlcmF0aW9uUmVzdF8x
LykgewotICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJzZVJldHVyblR5cGUoKTsK
KyAgICAgICAgbXkgJHJldHVyblR5cGUgPSAkc2VsZi0+cGFyc2VUeXBlKCk7CiAKICAgICAgICAg
IyBOT1RFOiBUaGlzIGlzIGEgbm9uLXN0YW5kYXJkIGFkZGl0aW9uLiBJbiBXZWJJREwsIHRoZXJl
IGlzIG5vIHdheSB0byBhc3NvY2lhdGUKICAgICAgICAgIyBleHRlbmRlZCBhdHRyaWJ1dGVzIHdp
dGggYSByZXR1cm4gdHlwZS4KQEAgLTE3NjQsNyArMTc2NCw3IEBAIHN1YiBwYXJzZVNwZWNpYWxP
cGVyYXRpb24KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U3BlY2lhbHNfMS8pIHsK
ICAgICAgICAgbXkgQHNwZWNpYWxzID0gKCk7CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCBAeyRz
ZWxmLT5wYXJzZVNwZWNpYWxzKCl9KTsKLSAgICAgICAgbXkgJHJldHVyblR5cGUgPSAkc2VsZi0+
cGFyc2VSZXR1cm5UeXBlKCk7CisgICAgICAgIG15ICRyZXR1cm5UeXBlID0gJHNlbGYtPnBhcnNl
VHlwZSgpOwogCiAgICAgICAgICMgTk9URTogVGhpcyBpcyBhIG5vbi1zdGFuZGFyZCBhZGRpdGlv
bi4gSW4gV2ViSURMLCB0aGVyZSBpcyBubyB3YXkgdG8gYXNzb2NpYXRlCiAgICAgICAgICMgZXh0
ZW5kZWQgYXR0cmlidXRlcyB3aXRoIGEgcmV0dXJuIHR5cGUuCkBAIC0yMDI0LDcgKzIwMjQsNyBA
QCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogICAgICRjbGVhck9wZXJhdGlvbi0+bmFtZSgi
Y2xlYXIiKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPmlzTWFwTGlrZSgxKTsKICAgICAkY2xlYXJP
cGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7Ci0gICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1ha2VTaW1wbGVUeXBlKCJ2b2lk
IikpOworICAgICRjbGVhck9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgidW5kZWZpbmVk
IikpOwogCiAgICAgbXkgJGRlbGV0ZU9wZXJhdGlvbiA9IElETE9wZXJhdGlvbi0+bmV3KCk7CiAg
ICAgJGRlbGV0ZU9wZXJhdGlvbi0+bmFtZSgiZGVsZXRlIik7CkBAIC0yMTUyLDcgKzIxNTIsNyBA
QCBzdWIgcGFyc2VTZXRMaWtlUHJvcGVydGllcwogICAgICRjbGVhck9wZXJhdGlvbi0+bmFtZSgi
Y2xlYXIiKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPmlzU2V0TGlrZSgxKTsKICAgICAkY2xlYXJP
cGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7Ci0gICAgJGNsZWFyT3BlcmF0aW9uLT50eXBlKG1ha2VTaW1wbGVUeXBlKCJ2b2lk
IikpOworICAgICRjbGVhck9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgidW5kZWZpbmVk
IikpOwogCiAgICAgbXkgJGRlbGV0ZU9wZXJhdGlvbiA9IElETE9wZXJhdGlvbi0+bmV3KCk7CiAg
ICAgJGRlbGV0ZU9wZXJhdGlvbi0+bmFtZSgiZGVsZXRlIik7CkBAIC0yNjE2LDEwICsyNjE2LDIz
IEBAIHN1YiBwYXJzZVNpbmdsZVR5cGUKICAgICAgICAgJGFueVR5cGUtPm5hbWUoImFueSIpOwog
ICAgICAgICByZXR1cm4gJGFueVR5cGU7CiAgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBl
cSAiUHJvbWlzZSIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdl
dFRva2VuKCksICJQcm9taXNlIiwgX19MSU5FX18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9r
ZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIjwiLCBfX0xJTkVfXyk7CisKKyAgICAgICAgbXkg
JHN1YnR5cGUgPSAkc2VsZi0+cGFyc2VUeXBlKCk7CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRv
a2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI+IiwgX19MSU5FX18pOworCisgICAgICAgIG15
ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7CisgICAgICAgICR0eXBlLT5uYW1lKCJQcm9taXNlIik7
CisgICAgICAgIHB1c2goQHskdHlwZS0+c3VidHlwZXN9LCAkc3VidHlwZSk7CisgICAgICAgIHJl
dHVybiAkdHlwZTsKKyAgICB9CiAgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRv
a2VuIHx8ICRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dFNpbmdsZVR5cGVfMS8pIHsKLSAgICAgICAg
bXkgJG5vbkFueVR5cGUgPSAkc2VsZi0+cGFyc2VOb25BbnlUeXBlKCk7Ci0gICAgICAgICRub25B
bnlUeXBlLT5pc051bGxhYmxlKCRzZWxmLT5wYXJzZU51bGwoKSk7Ci0gICAgICAgIHJldHVybiAk
bm9uQW55VHlwZTsKKyAgICAgICAgbXkgJGRpc3Rpbmd1aXNoYWJsZVR5cGUgPSAkc2VsZi0+cGFy
c2VEaXN0aW5ndWlzaGFibGVUeXBlKCk7CisgICAgICAgICRkaXN0aW5ndWlzaGFibGVUeXBlLT5p
c051bGxhYmxlKCRzZWxmLT5wYXJzZU51bGwoKSk7CisgICAgICAgIHJldHVybiAkZGlzdGluZ3Vp
c2hhYmxlVHlwZTsKICAgICB9CiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4
dC0+dmFsdWUoKSwgX19MSU5FX18pOwogfQpAQCAtMjY2MywxMCArMjY3NiwxMCBAQCBzdWIgcGFy
c2VVbmlvbk1lbWJlclR5cGUKICAgICB9CiAKICAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVu
dGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U2luZ2xlVHlwZV8xLykgewot
ICAgICAgICBteSAkbm9uQW55VHlwZSA9ICRzZWxmLT5wYXJzZU5vbkFueVR5cGUoKTsKLSAgICAg
ICAgJG5vbkFueVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVsbCgpKTsKLSAgICAgICAg
JG5vbkFueVR5cGUtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsK
LSAgICAgICAgcmV0dXJuICRub25BbnlUeXBlOworICAgICAgICBteSAkZGlzdGluZ3Vpc2hhYmxl
VHlwZSA9ICRzZWxmLT5wYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUoKTsKKyAgICAgICAgJGRpc3Rp
bmd1aXNoYWJsZVR5cGUtPmlzTnVsbGFibGUoJHNlbGYtPnBhcnNlTnVsbCgpKTsKKyAgICAgICAg
JGRpc3Rpbmd1aXNoYWJsZVR5cGUtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0KTsKKyAgICAgICAgcmV0dXJuICRkaXN0aW5ndWlzaGFibGVUeXBlOwogICAgIH0KICAg
ICAkc2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7
CiB9CkBAIC0yNjg3LDE0ICsyNzAwLDE0IEBAIHN1YiBwYXJzZVVuaW9uTWVtYmVyVHlwZXMKICAg
ICByZXR1cm4gQHN1YnR5cGVzOwogfQogCi1zdWIgcGFyc2VOb25BbnlUeXBlCitzdWIgcGFyc2VE
aXN0aW5ndWlzaGFibGVUeXBlCiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKICAgICBteSAkbmV4
dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKIAogICAgIG15ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7
CiAKLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0Tm9uQW55VHlwZV8xLykgeworICAg
IGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHREaXN0aW5ndWlzaGFibGVUeXBlXzEvKSB7CiAg
ICAgICAgICR0eXBlLT5uYW1lKCRzZWxmLT5wYXJzZVByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAg
IHJldHVybiAkdHlwZTsKICAgICB9CkBAIC0yNzUyLDE5ICsyNzY1LDYgQEAgc3ViIHBhcnNlTm9u
QW55VHlwZQogCiAgICAgICAgIHJldHVybiAkdHlwZTsKICAgICB9Ci0gICAgaWYgKCRuZXh0LT52
YWx1ZSgpIGVxICJQcm9taXNlIikgewotICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgk
c2VsZi0+Z2V0VG9rZW4oKSwgIlByb21pc2UiLCBfX0xJTkVfXyk7Ci0gICAgICAgICRzZWxmLT5h
c3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiPCIsIF9fTElORV9fKTsKLQotICAg
ICAgICBteSAkc3VidHlwZSA9ICRzZWxmLT5wYXJzZVJldHVyblR5cGUoKTsKLQotICAgICAgICAk
c2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7
Ci0KLSAgICAgICAgJHR5cGUtPm5hbWUoIlByb21pc2UiKTsKLSAgICAgICAgcHVzaChAeyR0eXBl
LT5zdWJ0eXBlc30sICRzdWJ0eXBlKTsKLQotICAgICAgICByZXR1cm4gJHR5cGU7Ci0gICAgfQog
ICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAicmVjb3JkIikgewogICAgICAgICAkc2VsZi0+YXNz
ZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgInJlY29yZCIsIF9fTElORV9fKTsKICAg
ICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI8IiwgX19M
SU5FX18pOwpAQCAtMjgwMCw3ICsyODAwLDcgQEAgc3ViIHBhcnNlQ29uc3RUeXBlCiAKICAgICBt
eSAkdHlwZSA9IElETFR5cGUtPm5ldygpOwogCi0gICAgaWYgKCRuZXh0LT52YWx1ZSgpID1+IC8k
bmV4dE5vbkFueVR5cGVfMS8pIHsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0RGlz
dGluZ3Vpc2hhYmxlVHlwZV8xLykgewogICAgICAgICAkdHlwZS0+bmFtZSgkc2VsZi0+cGFyc2VQ
cmltaXRpdmVUeXBlKCkpOwogICAgICAgICAkdHlwZS0+aXNOdWxsYWJsZSgkc2VsZi0+cGFyc2VO
dWxsKCkpOwogICAgICAgICByZXR1cm4gJHR5cGU7CkBAIC0yODQ1LDYgKzI4NDUsMTAgQEAgc3Vi
IHBhcnNlUHJpbWl0aXZlVHlwZQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRQcmlt
aXRpdmVUeXBlXzIvKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VVbnJlc3RyaWN0ZWRG
bG9hdFR5cGUoKTsKICAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJ1bmRlZmluZWQi
KSB7CisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAi
dW5kZWZpbmVkIiwgX19MSU5FX18pOworICAgICAgICByZXR1cm4gInVuZGVmaW5lZCI7CisgICAg
fQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiYm9vbGVhbiIpIHsKICAgICAgICAgJHNlbGYt
PmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJib29sZWFuIiwgX19MSU5FX18p
OwogICAgICAgICByZXR1cm4gImJvb2xlYW4iOwpAQCAtMjk0NywyMyArMjk1MSw2IEBAIHN1YiBw
YXJzZU51bGwKICAgICByZXR1cm4gMDsKIH0KIAotc3ViIHBhcnNlUmV0dXJuVHlwZQotewotICAg
IG15ICRzZWxmID0gc2hpZnQ7Ci0gICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7Ci0g
ICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJ2b2lkIikgewotICAgICAgICAkc2VsZi0+YXNzZXJ0
VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgInZvaWQiLCBfX0xJTkVfXyk7Ci0gICAgICAg
IAotICAgICAgICBteSAkdm9pZFR5cGUgPSBJRExUeXBlLT5uZXcoKTsKLSAgICAgICAgJHZvaWRU
eXBlLT5uYW1lKCJ2b2lkIik7Ci0gICAgICAgIHJldHVybiAkdm9pZFR5cGU7Ci0gICAgfQotICAg
IGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9
fiAvJG5leHRFeGNlcHRpb25GaWVsZF8xLykgewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNl
VHlwZSgpOwotICAgIH0KLSAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52
YWx1ZSgpLCBfX0xJTkVfXyk7Ci19Ci0KIHN1YiBwYXJzZU9wdGlvbmFsU2VtaWNvbG9uCiB7CiAg
ICAgbXkgJHNlbGYgPSBzaGlmdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Q0VSZWFjdGlvbnMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q0VSZWFjdGlvbnMuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENFUmVhY3Rp
b25zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTMgKzI3LDEzIEBACiAgKi8KIAogaW50ZXJm
YWNlIFRlc3RDRVJlYWN0aW9ucyB7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIG1ldGhvZFdpdGhD
RVJlYWN0aW9ucygpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIG1ldGhvZFdpdGhDRVJl
YWN0aW9ucygpOwogICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBhdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnM7CiAgICAgW0NFUmVhY3Rpb25zLCBSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnM7CiAKICAgICBbUHV0Rm9y
d2FyZHM9dmFsdWVdIGF0dHJpYnV0ZSBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciBzdHJpbmdp
ZmllckF0dHJpYnV0ZTsKIAotICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIHZvaWQgbWV0aG9k
V2l0aENFUmVhY3Rpb25zTm90TmVlZGVkKCk7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0g
dW5kZWZpbmVkIG1ldGhvZFdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZCgpOwogICAgIFtDRVJlYWN0
aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0cmlidXRlV2l0aENFUmVhY3Rp
b25zTm90TmVlZGVkOwogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc05vdE5lZWRlZDsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsVHJh
Y2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdENhbGxUcmFjZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxUcmFjZXIuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiwxNCArMzYsMTQgQEAgdHlwZWRlZiAoYm9vbGVhbiBvciBmbG9hdCBvciBET01TdHJp
bmcpIAogCiAgICAgY29uc3QgYm9vbGVhbiB0ZXN0Q29uc3RWYWx1ZSA9IGZhbHNlOwogCi0gICAg
dm9pZCB0ZXN0T3BlcmF0aW9uSW50ZXJmYWNlKCk7Ci0gICAgW0NhbGxUcmFjaW5nQ2FsbGJhY2s9
dGVzdENhbGxUcmFjZXJPcGVyYXRpb25dIHZvaWQgdGVzdE9wZXJhdGlvblNwZWNpZmllZCgpOwor
ICAgIHVuZGVmaW5lZCB0ZXN0T3BlcmF0aW9uSW50ZXJmYWNlKCk7CisgICAgW0NhbGxUcmFjaW5n
Q2FsbGJhY2s9dGVzdENhbGxUcmFjZXJPcGVyYXRpb25dIHVuZGVmaW5lZCB0ZXN0T3BlcmF0aW9u
U3BlY2lmaWVkKCk7CiAKLSAgICB2b2lkIHRlc3RPcGVyYXRpb25XaXRoQXJndW1lbnRzKGJvb2xl
YW4gYSwgZmxvYXQgYiwgRE9NU3RyaW5nIGMpOwotICAgIHZvaWQgdGVzdE9wZXJhdGlvbldpdGhO
dWxsYWJsZUFyZ3VtZW50KE5vZGU/IG5vZGVOdWxsYWJsZUFyZyk7Ci0gICAgdm9pZCB0ZXN0T3Bl
cmF0aW9uV2l0aFZhcmlhbnRBcmd1bWVudChWYXJpYW50VHlwZSB2YXJpYW50QXJnKTsKLSAgICB2
b2lkIHRlc3RPcGVyYXRpb25XaXRoTnVsbGFibGVWYXJpYW50QXJndW1lbnQoVmFyaWFudFR5cGU/
IHZhcmlhbnROdWxsYWJsZUFyZyk7Ci0gICAgdm9pZCB0ZXN0T3BlcmF0aW9uV2l0aE9wdGlvbmFs
VmFyaWFudEFyZ3VtZW50KG9wdGlvbmFsIFZhcmlhbnRUeXBlIHZhcmlhbnRPcHRpb25hbEFyZyk7
Ci0gICAgdm9pZCB0ZXN0T3BlcmF0aW9uV2l0aERlZmF1bHRWYXJpYW50QXJndW1lbnQob3B0aW9u
YWwgVmFyaWFudFR5cGUgdmFyaWFudERlZmF1bHRBcmcgPSAiIik7CisgICAgdW5kZWZpbmVkIHRl
c3RPcGVyYXRpb25XaXRoQXJndW1lbnRzKGJvb2xlYW4gYSwgZmxvYXQgYiwgRE9NU3RyaW5nIGMp
OworICAgIHVuZGVmaW5lZCB0ZXN0T3BlcmF0aW9uV2l0aE51bGxhYmxlQXJndW1lbnQoTm9kZT8g
bm9kZU51bGxhYmxlQXJnKTsKKyAgICB1bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhWYXJpYW50
QXJndW1lbnQoVmFyaWFudFR5cGUgdmFyaWFudEFyZyk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVy
YXRpb25XaXRoTnVsbGFibGVWYXJpYW50QXJndW1lbnQoVmFyaWFudFR5cGU/IHZhcmlhbnROdWxs
YWJsZUFyZyk7CisgICAgdW5kZWZpbmVkIHRlc3RPcGVyYXRpb25XaXRoT3B0aW9uYWxWYXJpYW50
QXJndW1lbnQob3B0aW9uYWwgVmFyaWFudFR5cGUgdmFyaWFudE9wdGlvbmFsQXJnKTsKKyAgICB1
bmRlZmluZWQgdGVzdE9wZXJhdGlvbldpdGhEZWZhdWx0VmFyaWFudEFyZ3VtZW50KG9wdGlvbmFs
IFZhcmlhbnRUeXBlIHZhcmlhbnREZWZhdWx0QXJnID0gIiIpOwogfTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRo
aXNPYmplY3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0LmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxs
YmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsy
OCw0IEBACiAKIFsKICAgICBDYWxsYmFja1RoaXNPYmplY3Q9VGVzdE5vZGUKLV0gY2FsbGJhY2sg
VGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdCA9IHZvaWQgKHNlcXVlbmNlPFRlc3RO
b2RlPiBwYXJhbWV0ZXIpOworXSBjYWxsYmFjayBUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlz
T2JqZWN0ID0gdW5kZWZpbmVkIChzZXF1ZW5jZTxUZXN0Tm9kZT4gcGFyYW1ldGVyKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2tGdW5jdGlv
bldpdGhUeXBlZGVmcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RD
YWxsYmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiAr
MjUsNiBAQAogCiB0eXBlZGVmIGxvbmcgTE9ORzsKIHR5cGVkZWYgc2VxdWVuY2U8TE9ORz8+IFNF
UVVFTkNFX09GX05VTExBQkxFX0xPTkdTOwotdHlwZWRlZiB2b2lkIFZPSUQ7Cit0eXBlZGVmIHVu
ZGVmaW5lZCBVTkRFRklORUQ7CiAKLWNhbGxiYWNrIFRlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFR5
cGVkZWZzID0gVk9JRCAoU0VRVUVOQ0VfT0ZfTlVMTEFCTEVfTE9OR1Mgc2VxdWVuY2VBcmcsIExP
TkcgbG9uZ0FyZyk7CitjYWxsYmFjayBUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmcyA9
IFVOREVGSU5FRCAoU0VRVUVOQ0VfT0ZfTlVMTEFCTEVfTE9OR1Mgc2VxdWVuY2VBcmcsIExPTkcg
bG9uZ0FyZyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dENhbGxiYWNrSW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrSW50ZXJmYWNlLmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFj
a0ludGVyZmFjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQyLDEzICs0MiwxMyBAQCBkaWN0aW9u
YXJ5IFRlc3RDYWxsYmFja0ludGVyZmFjZURpY3Rpb25hCiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgQ09OU1RBTlQyID0gMjsKIAogICAgIC8vIE9wZXJhdGlvbnMuCi0gICAgdm9pZCBjYWxsYmFj
a1dpdGhOb1BhcmFtKCk7Ci0gICAgdm9pZCBjYWxsYmFja1dpdGhBcnJheVBhcmFtKEZsb2F0MzJB
cnJheSBhcnJheVBhcmFtKTsKLSAgICB2b2lkIGNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZVBhcmFtKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBzcnpQYXJhbSwgRE9NU3RyaW5nIHN0clBh
cmFtKTsKKyAgICB1bmRlZmluZWQgY2FsbGJhY2tXaXRoTm9QYXJhbSgpOworICAgIHVuZGVmaW5l
ZCBjYWxsYmFja1dpdGhBcnJheVBhcmFtKEZsb2F0MzJBcnJheSBhcnJheVBhcmFtKTsKKyAgICB1
bmRlZmluZWQgY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIHNyelBhcmFtLCBET01TdHJpbmcgc3RyUGFyYW0pOwogICAgIFtDdXN0b21d
IGxvbmcgY3VzdG9tQ2FsbGJhY2soVGVzdE9iaiB0ZXN0T2JqUGFyYW0sIFRlc3ROb2RlIHRlc3RO
b2RlUGFyYW0pOwotICAgIHZvaWQgY2FsbGJhY2tXaXRoU3RyaW5nTGlzdChET01TdHJpbmdMaXN0
IGxpc3RQYXJhbSk7Ci0gICAgdm9pZCBjYWxsYmFja1dpdGhCb29sZWFuKGJvb2xlYW4gYm9vbFBh
cmFtKTsKLSAgICB2b2lkIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGxvbmcgbG9uZ1BhcmFt
LCBUZXN0Tm9kZSB0ZXN0Tm9kZVBhcmFtKTsKKyAgICB1bmRlZmluZWQgY2FsbGJhY2tXaXRoU3Ry
aW5nTGlzdChET01TdHJpbmdMaXN0IGxpc3RQYXJhbSk7CisgICAgdW5kZWZpbmVkIGNhbGxiYWNr
V2l0aEJvb2xlYW4oYm9vbGVhbiBib29sUGFyYW0pOworICAgIHVuZGVmaW5lZCBjYWxsYmFja1Jl
cXVpcmVzVGhpc1RvUGFzcyhsb25nIGxvbmdQYXJhbSwgVGVzdE5vZGUgdGVzdE5vZGVQYXJhbSk7
CiAgICAgRE9NU3RyaW5nIGNhbGxiYWNrV2l0aEFSZXR1cm5WYWx1ZSgpOwogICAgIFtSZXRocm93
RXhjZXB0aW9uXSBET01TdHJpbmcgY2FsbGJhY2tUaGF0UmV0aHJvd3NFeGNlcHRpb25zKFRlc3RD
YWxsYmFja0ludGVyZmFjZUVudW0gZW51bVBhcmFtKTsKICAgICBbU2tpcENhbGxiYWNrSW52b2tl
Q2hlY2tdIERPTVN0cmluZyBjYWxsYmFja1RoYXRTa2lwc0ludm9rZUNoZWNrKFRlc3RDYWxsYmFj
a0ludGVyZmFjZURpY3Rpb25hcnkgZGljdGlvbmFyeVBhcmFtKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2Vj
dXJpdHkuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsOSBAQAogICAgIENoZWNrU2VjdXJpdHkKIF0gaW50ZXJmYWNlIFRlc3RBY3RpdmVET01P
YmplY3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGV4Y2l0aW5nQXR0cjsKLSAgICB2
b2lkIGV4Y2l0aW5nRnVuY3Rpb24oTm9kZSBuZXh0Q2hpbGQpOwotICAgIFtEb05vdENoZWNrU2Vj
dXJpdHldIHZvaWQgcG9zdE1lc3NhZ2UoRE9NU3RyaW5nIG1lc3NhZ2UpOworICAgIHVuZGVmaW5l
ZCBleGNpdGluZ0Z1bmN0aW9uKE5vZGUgbmV4dENoaWxkKTsKKyAgICBbRG9Ob3RDaGVja1NlY3Vy
aXR5XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoRE9NU3RyaW5nIG1lc3NhZ2UpOwogCi0gICAgW0NF
UmVhY3Rpb25zXSB2b2lkIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nIHBhcmFtKTsKLSAgICB2
b2lkIG92ZXJsb2FkZWRNZXRob2QoTm9kZSBwYXJhbTEsIE5vZGUgcGFyYW0yKTsKKyAgICBbQ0VS
ZWFjdGlvbnNdIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kKERPTVN0cmluZyBwYXJhbSk7Cisg
ICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2QoTm9kZSBwYXJhbTEsIE5vZGUgcGFyYW0yKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJs
ZWRCeVNldHRpbmcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGlu
Zy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDUgKzI4LDUgQEAgaW50ZXJmYWNlIFRlc3RFbmFi
bGVkQnlTZXR0aW5nIHsKIAogICAgIC8vIFtFbmFibGVkQnlTZXR0aW5nXSBhdHRyaWJ1dGVzIGFu
ZCBvcGVyYXRpb25zLgogICAgIFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRCeVNl
dHRpbmc9VGVzdFNldHRpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgZW5hYmxlZEJ5U2V0dGluZ0F0
dHJpYnV0ZTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQnlTZXR0aW5n
PVRlc3RTZXR0aW5nXSB2b2lkIGVuYWJsZWRCeVNldHRpbmdPcGVyYXRpb24oRE9NU3RyaW5nIHRl
c3RQYXJhbSk7CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEJ5U2V0dGlu
Zz1UZXN0U2V0dGluZ10gdW5kZWZpbmVkIGVuYWJsZWRCeVNldHRpbmdPcGVyYXRpb24oRE9NU3Ry
aW5nIHRlc3RQYXJhbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RHbG9iYWxPYmplY3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0R2xvYmFsT2JqZWN0LmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RHbG9iYWxP
YmplY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxOCArMzEsMTggQEAKICAgICBbUHJpdmF0
ZUlkZW50aWZpZXIsIFB1YmxpY0lkZW50aWZpZXJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcHVibGlj
QW5kUHJpdmF0ZUF0dHJpYnV0ZTsKICAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBQcml2
YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gYXR0cmlidXRlIERPTVN0cmluZyBwdWJs
aWNBbmRQcml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGU7CiAgICAgW0NvbmRpdGlvbmFsPVRFU1Rf
RkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gYXR0cmlidXRlIERPTVN0cmlu
ZyBlbmFibGVkQXRSdW50aW1lQXR0cmlidXRlOwotICAgIHZvaWQgcmVndWxhck9wZXJhdGlvbihE
T01TdHJpbmcgdGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFi
bGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24o
RE9NU3RyaW5nIHRlc3RQYXJhbSk7Ci0gICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5h
YmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9u
KGxvbmcgdGVzdFBhcmFtKTsKLSAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlXSBzdGF0aWMgdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0
aW9uU3RhdGljKGxvbmcgdGVzdFBhcmFtKTsKKyAgICB1bmRlZmluZWQgcmVndWxhck9wZXJhdGlv
bihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBF
bmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVudGltZU9w
ZXJhdGlvbihET01TdHJpbmcgdGVzdFBhcmFtKTsKKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFU
VVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB1bmRlZmluZWQgZW5hYmxlZEF0UnVu
dGltZU9wZXJhdGlvbihsb25nIHRlc3RQYXJhbSk7CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVB
VFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gc3RhdGljIHVuZGVmaW5lZCBlbmFi
bGVkQXRSdW50aW1lT3BlcmF0aW9uU3RhdGljKGxvbmcgdGVzdFBhcmFtKTsKIAotICAgIFtFbmFi
bGVkRm9yV29ybGQ9c3BlY2lmaWNXb3JsZF0gdm9pZCBlbmFibGVkSW5TcGVjaWZpY1dvcmxkKGxv
bmcgdGVzdFBhcmFtKTsKKyAgICBbRW5hYmxlZEZvcldvcmxkPXNwZWNpZmljV29ybGRdIHVuZGVm
aW5lZCBlbmFibGVkSW5TcGVjaWZpY1dvcmxkKGxvbmcgdGVzdFBhcmFtKTsKIAotICAgIFtFbmFi
bGVkRm9yV29ybGQ9c3BlY2lmaWNXb3JsZCwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0g
dm9pZCBlbmFibGVkSW5TcGVjaWZpY1dvcmxkV2hlblJ1bnRpbWVGZWF0dXJlRW5hYmxlZChsb25n
IHRlc3RQYXJhbSk7Ci0gICAgW0VuYWJsZWRGb3JXb3JsZD1zcGVjaWZpY1dvcmxkLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlJlRlc3RGZWF0dXJlMV0gdm9pZCBlbmFibGVkSW5TcGVjaWZp
Y1dvcmxkV2hlblJ1bnRpbWVGZWF0dXJlc0VuYWJsZWQobG9uZyB0ZXN0UGFyYW0pOworICAgIFtF
bmFibGVkRm9yV29ybGQ9c3BlY2lmaWNXb3JsZCwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVy
ZV0gdW5kZWZpbmVkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVudGltZUZlYXR1cmVFbmFi
bGVkKGxvbmcgdGVzdFBhcmFtKTsKKyAgICBbRW5hYmxlZEZvcldvcmxkPXNwZWNpZmljV29ybGQs
IEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmUmVGVzdEZlYXR1cmUxXSB1bmRlZmluZWQgZW5h
YmxlZEluU3BlY2lmaWNXb3JsZFdoZW5SdW50aW1lRmVhdHVyZXNFbmFibGVkKGxvbmcgdGVzdFBh
cmFtKTsKIAotICAgIFtQcml2YXRlSWRlbnRpZmllciwgQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJF
LCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIHRlc3RQcml2YXRlRnVuY3Rpb24o
KTsKLSAgICBbSlNCdWlsdGluLCBDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1
bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQgdGVzdEpTQnVpbHRpbkZ1bmN0aW9uKCk7CisgICAgW1By
aXZhdGVJZGVudGlmaWVyLCBDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRp
bWU9VGVzdEZlYXR1cmVdIHVuZGVmaW5lZCB0ZXN0UHJpdmF0ZUZ1bmN0aW9uKCk7CisgICAgW0pT
QnVpbHRpbiwgQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRlc3RG
ZWF0dXJlXSB1bmRlZmluZWQgdGVzdEpTQnVpbHRpbkZ1bmN0aW9uKCk7CiAKICAgICAvLyBbU2Vj
dXJlQ29udGV4dF0gYXR0cmlidXRlcyBhbmQgb3BlcmF0aW9uczsgd2lsbCBub3QgYmUgZXhwb3Nl
ZCB0byBhIG5vbi1zZWN1cmUgY29udGV4dC4KICAgICAvLyBGcm9tIDxodHRwczovL3czYy5naXRo
dWIuaW8vd2ViYXBwc2VjLXNlY3VyZS1jb250ZXh0cy8jaW50ZWdyYXRpb24taWRsPiAoRWRpdG9y
J3MgRHJhZnQsIDE3IE5vdmVtYmVyIDIwMTYpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEltcGxlbWVudHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGwJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1w
bGVtZW50cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDEwICs0MCwxMCBAQAogICAgIFtDdXN0
b21HZXR0ZXIsIEN1c3RvbVNldHRlcl0gYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3Ry
MzsKICAgICBhdHRyaWJ1dGUgTm9kZSBpbXBsZW1lbnRzTm9kZTsKIAotICAgIHZvaWQgaW1wbGVt
ZW50c01ldGhvZDEoKTsKKyAgICB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDEoKTsKICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RP
YmogaW1wbGVtZW50c01ldGhvZDIoRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcpOwot
ICAgIFtDdXN0b21dIHZvaWQgaW1wbGVtZW50c01ldGhvZDMoKTsKLSAgICBzdGF0aWMgdm9pZCBp
bXBsZW1lbnRzTWV0aG9kNCgpOworICAgIFtDdXN0b21dIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0
aG9kMygpOworICAgIHN0YXRpYyB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDQoKTsKIAogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IElNUExFTUVOVFNDT05TVEFOVDEgPSAxOwogICAgIFtSZWZs
ZWN0PUNPTlNUX0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IElNUExFTUVOVFNDT05TVEFOVDIg
PSAyOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsCShy
ZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw3IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
IHsKLSAgICBzZXR0ZXIgdm9pZCAodW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVl
KTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcg
dmFsdWUpOwogCiAgICAgLy8gTk9URTogSW5kZXhlZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNl
bmNlIG9mIGEgaW5kZXhlZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1
bnNpZ25lZCBsb25nIGluZGV4KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0
aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFj
ZSBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9u
ZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IEluZGV4ZWQgc2V0dGVy
cyByZXF1aXJlIHRoZSBwcmVzZW5jZSBvZiBhIGluZGV4ZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAg
Z2V0dGVyIERPTVN0cmluZyAodW5zaWduZWQgbG9uZyBpbmRleCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwog
CiBpbnRlcmZhY2UgVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB7Ci0gICAgc2V0dGVy
IHZvaWQgaW5kZXhlZFNldHRlcih1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUp
OworICAgIHNldHRlciB1bmRlZmluZWQgaW5kZXhlZFNldHRlcih1bnNpZ25lZCBsb25nIGluZGV4
LCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8gTk9URTogSW5kZXhlZCBzZXR0ZXJzIHJlcXVp
cmUgdGhlIHByZXNlbmNlIG9mIGEgaW5kZXhlZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIg
RE9NU3RyaW5nICh1bnNpZ25lZCBsb25nIGluZGV4KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SlNCdWlsdGlu
Q29uc3RydWN0b3IuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzEsMTAgKzMxLDEwIEBACiBdIGludGVyZmFjZSBUZXN0SlNCdWlsdGluQ29uc3Ry
dWN0b3IgewogICAgIGNvbnN0cnVjdG9yKCk7CiAKLSAgICB2b2lkIHRlc3RGdW5jdGlvbigpOwor
ICAgIHVuZGVmaW5lZCB0ZXN0RnVuY3Rpb24oKTsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiB0ZXN0
QXR0cmlidXRlOwogCi0gICAgWyBDdXN0b20gXSB2b2lkIHRlc3RDdXN0b21GdW5jdGlvbigpOwor
ICAgIFsgQ3VzdG9tIF0gdW5kZWZpbmVkIHRlc3RDdXN0b21GdW5jdGlvbigpOwogICAgIFsgQ3Vz
dG9tR2V0dGVyIF0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gdGVzdEF0dHJpYnV0ZUN1c3Rv
bTsKICAgICBbIEN1c3RvbUdldHRlciwgQ3VzdG9tU2V0dGVyIF0gYXR0cmlidXRlIGJvb2xlYW4g
dGVzdEF0dHJpYnV0ZVJXQ3VzdG9tOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkgQEAKICAq
LwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciB7Ci0g
ICAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOworICAgIHNl
dHRlciB1bmRlZmluZWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwogICAgIGdl
dHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1lKTsKIAotICAgIHNldHRlciB2b2lkICh1bnNp
Z25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQg
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0
cmluZyAodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw5ICsyNCw5IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIg
dm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVl
KTsKICAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcg
dmFsdWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWdu
ZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBnZXR0ZXIgRE9NU3RyaW5nICh1
bnNpZ25lZCBsb25nIGluZGV4KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDkg
QEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlm
aWVyIHsKLSAgICBzZXR0ZXIgdm9pZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3Ry
aW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBu
YW1lLCBET01TdHJpbmcgdmFsdWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBu
YW1lKTsKIAotICAgIHNldHRlciB2b2lkIGluZGV4ZWRTZXR0ZXIodW5zaWduZWQgbG9uZyBpbmRl
eCwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBzZXR0ZXIgdW5kZWZpbmVkIGluZGV4ZWRTZXR0ZXIo
dW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBnZXR0ZXIgRE9NU3Ry
aW5nICh1bnNpZ25lZCBsb25nIGluZGV4KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERl
bGV0ZXJOb0lkZW50aWZpZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5h
bWVkRGVsZXRlck5vSWRlbnRpZmllciB7Ci0gICAgZGVsZXRlciB2b2lkIChET01TdHJpbmcgbmFt
ZSk7CisgICAgZGVsZXRlciB1bmRlZmluZWQgKERPTVN0cmluZyBuYW1lKTsKIAogICAgIC8vIE5P
VEU6IE5hbWVkIGRlbGV0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVy
IGFzIHdlbGwuCiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw3IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbiB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBkZWxldGVyIHZvaWQgKERPTVN0cmluZyBu
YW1lKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGRlbGV0ZXIgdW5kZWZpbmVkIChET01TdHJp
bmcgbmFtZSk7CiAKICAgICAvLyBOT1RFOiBOYW1lZCBkZWxldGVycyByZXF1aXJlIHRoZSBwcmVz
ZW5jZSBvZiBhIG5hbWVkIGdldHRlciBhcyB3ZWxsLgogICAgIGdldHRlciBET01TdHJpbmcgKERP
TVN0cmluZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aElkZW50
aWZpZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXIgewotICAgIGRlbGV0ZXIgdm9pZCBuYW1lZERlbGV0ZXIoRE9NU3RyaW5n
IG5hbWUpOworICAgIGRlbGV0ZXIgdW5kZWZpbmVkIG5hbWVkRGVsZXRlcihET01TdHJpbmcgbmFt
ZSk7CiAKICAgICAvLyBOT1RFOiBOYW1lZCBkZWxldGVycyByZXF1aXJlIHRoZSBwcmVzZW5jZSBv
ZiBhIG5hbWVkIGdldHRlciBhcyB3ZWxsLgogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmlu
ZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRH
ZXR0ZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFtZWREZWxl
dGVyV2l0aEluZGV4ZWRHZXR0ZXIgewotICAgIGRlbGV0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUp
OworICAgIGRlbGV0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSk7CiAKICAgICAvLyBUaGUg
cHJlc2VuY2Ugb2YgYW4gaW5kZXggZ2V0dGVyIGNoYW5nZXMgYWRkcyBhZGRpdGlvbmFsCiAgICAg
Ly8gY2hlY2tzIHRvIHRoZSBkZWxldGUgYWxnb3JpdGhtLgpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogaW50ZXJmYWNlIFRlc3RO
YW1lZFNldHRlck5vSWRlbnRpZmllciB7Ci0gICAgc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1l
LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgKERPTVN0cmluZyBuYW1l
LCBET01TdHJpbmcgdmFsdWUpOwogCiAgICAgLy8gTk9URTogTmFtZWQgc2V0dGVycyByZXF1aXJl
IHRoZSBwcmVzZW5jZSBvZiBhIG5hbWVkIGdldHRlciBhcyB3ZWxsLgogICAgIGdldHRlciBET01T
dHJpbmcgKERPTVN0cmluZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIGludGVyZmFjZSBU
ZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwgRE9NU3Ry
aW5nIHZhbHVlKTsKIAogICAgIC8vIE5PVEU6IE5hbWVkIHNldHRlcnMgcmVxdWlyZSB0aGUgcHJl
c2VuY2Ugb2YgYSBuYW1lZCBnZXR0ZXIgYXMgd2VsbC4KICAgICBnZXR0ZXIgRE9NU3RyaW5nIChE
T01TdHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBpbnRlcmZhY2UgVGVzdE5hbWVkU2V0dGVyV2l0
aElkZW50aWZpZXIgewotICAgIHNldHRlciB2b2lkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1l
LCBET01TdHJpbmcgdmFsdWUpOworICAgIHNldHRlciB1bmRlZmluZWQgbmFtZWRTZXR0ZXIoRE9N
U3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBOYW1lZCBzZXR0
ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAg
Z2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAog
aW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIHsKLSAgICBzZXR0ZXIg
dm9pZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBz
ZXR0ZXIgdW5kZWZpbmVkIG5hbWVkU2V0dGVyKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFs
dWUpOwogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBuYW1lKTsKIAogICAgIGdldHRl
ciBET01TdHJpbmcgaW5kZXhlZFNldHRlcih1bnNpZ25lZCBsb25nIGluZGV4KTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0
dGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQsOSBAQAogICovCiAKIGludGVyZmFjZSBUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciB7Ci0gICAgc2V0dGVyIHZvaWQgbmFt
ZWRTZXR0ZXIoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVu
ZGVmaW5lZCBuYW1lZFNldHRlcihET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsKICAg
ICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAKLSAgICBzZXR0ZXIgdm9pZCBp
bmRleGVkU2V0dGVyKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyB2YWx1ZSk7CisgICAg
c2V0dGVyIHVuZGVmaW5lZCBpbmRleGVkU2V0dGVyKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0
cmluZyB2YWx1ZSk7CiAgICAgZ2V0dGVyIERPTVN0cmluZyBpbmRleGVkU2V0dGVyKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoT3ZlcnJpZGVCdWlsdGlucy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldp
dGhPdmVycmlkZUJ1aWx0aW5zLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0
aW5zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIE92ZXJyaWRl
QnVpbHRpbnMKIF0gaW50ZXJmYWNlIFRlc3ROYW1lZFNldHRlcldpdGhPdmVycmlkZUJ1aWx0aW5z
IHsKLSAgICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7Cisg
ICAgc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAK
ICAgICAvLyBOT1RFOiBOYW1lZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFt
ZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNl
dHRlcldpdGhVbmZvcmdhYmxlUHJvcGVydGllcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhVbmZvcmdhYmxl
UHJvcGVydGllcy5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXMu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMSArMjQsMTEgQEAKICAqLwogCiBpbnRlcmZhY2Ug
VGVzdE5hbWVkU2V0dGVyV2l0aFVuZm9yZ2FibGVQcm9wZXJ0aWVzIHsKLSAgICBzZXR0ZXIgdm9p
ZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5l
ZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBOYW1l
ZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNlIG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwu
CiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgW1VuZm9yZ2Vh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVuZm9yZ2VhYmxlQXR0cmlidXRlOwot
ICAgIFtVbmZvcmdlYWJsZV0gdm9pZCB1bmZvcmdlYWJsZU9wZXJhdGlvbigpOworICAgIFtVbmZv
cmdlYWJsZV0gdW5kZWZpbmVkIHVuZm9yZ2VhYmxlT3BlcmF0aW9uKCk7CiB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRlcldpdGhVbmZv
cmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TmFtZWRTZXR0ZXJXaXRoVW5m
b3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlkZUJ1aWx0aW5zLmlkbAkocmV2aXNpb24gMjY2Mjk4
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZFNldHRl
cldpdGhVbmZvcmdhYmxlUHJvcGVydGllc0FuZE92ZXJyaWRlQnVpbHRpbnMuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiwxMSArMjYsMTEgQEAKIFsKICAgICBPdmVycmlkZUJ1aWx0aW5zCiBdIGlu
dGVyZmFjZSBUZXN0TmFtZWRTZXR0ZXJXaXRoVW5mb3JnYWJsZVByb3BlcnRpZXNBbmRPdmVycmlk
ZUJ1aWx0aW5zIHsKLSAgICBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2
YWx1ZSk7CisgICAgc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2
YWx1ZSk7CiAKICAgICAvLyBOT1RFOiBOYW1lZCBzZXR0ZXJzIHJlcXVpcmUgdGhlIHByZXNlbmNl
IG9mIGEgbmFtZWQgZ2V0dGVyIGFzIHdlbGwuCiAgICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3Ry
aW5nIG5hbWUpOwogCiAgICAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHVuZm9yZ2VhYmxlQXR0cmlidXRlOwotICAgIFtVbmZvcmdlYWJsZV0gdm9pZCB1bmZvcmdl
YWJsZU9wZXJhdGlvbigpOworICAgIFtVbmZvcmdlYWJsZV0gdW5kZWZpbmVkIHVuZm9yZ2VhYmxl
T3BlcmF0aW9uKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3ROb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE5vZGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw3IEBACiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogCiAgICAgW0Vu
YWJsZWRBdFJ1bnRpbWU9RE9NSXRlcmF0b3JdIGl0ZXJhYmxlPFRlc3ROb2RlPjsKLSAgICBQcm9t
aXNlPHZvaWQ+IHRlc3RXb3JrZXJQcm9taXNlKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHRl
c3RXb3JrZXJQcm9taXNlKCk7CiAKICAgICAvLyBbU2VjdXJlQ29udGV4dF0gYXR0cmlidXRlcyBh
bmQgb3BlcmF0aW9uczsgd2lsbCBub3QgYmUgZXhwb3NlZCB0byBhIG5vbi1zZWN1cmUgY29udGV4
dC4KICAgICAvLyBGcm9tIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLXNlY3VyZS1j
b250ZXh0cy8jaW50ZWdyYXRpb24taWRsPiAoRWRpdG9yJ3MgRHJhZnQsIDE3IE5vdmVtYmVyIDIw
MTYpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RPYmouaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTExMiwxMyArMTEyLDEz
IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3cKIAogICAgIC8vIFtF
bmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRpb25zLgogICAgIFtDb25kaXRp
b25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmUmVGVzdEZlYXR1
cmUxXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU7Ci0gICAg
W0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0g
dm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0pOwotICAg
IFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVd
IHZvaWQgZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbihsb25nIHRlc3RQYXJhbSk7Ci0gICAgW0Nv
bmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gc3Rh
dGljIHZvaWQgZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvblN0YXRpYyhsb25nIHRlc3RQYXJhbSk7
CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVh
dHVyZV0gdW5kZWZpbmVkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24oRE9NU3RyaW5nIHRlc3RQ
YXJhbSk7CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1U
ZXN0RmVhdHVyZV0gdW5kZWZpbmVkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24obG9uZyB0ZXN0
UGFyYW0pOworICAgIFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9
VGVzdEZlYXR1cmVdIHN0YXRpYyB1bmRlZmluZWQgZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvblN0
YXRpYyhsb25nIHRlc3RQYXJhbSk7CiAgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5h
YmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgZW5h
YmxlZEF0UnVudGltZUF0dHJpYnV0ZVN0YXRpYzsKIAotICAgIFtFbmFibGVkRm9yV29ybGQ9c29t
ZVdvcmxkLCBFbmFibGVkQXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRJblNwZWNp
ZmljV29ybGRXaGVuUnVudGltZUZlYXR1cmVFbmFibGVkKGxvbmcgdGVzdFBhcmFtKTsKLSAgICBb
RW5hYmxlZEZvcldvcmxkPXNvbWVXb3JsZF0gdm9pZCB3b3JsZFNwZWNpZmljTWV0aG9kKGxvbmcg
dGVzdFBhcmFtKTsKKyAgICBbRW5hYmxlZEZvcldvcmxkPXNvbWVXb3JsZCwgRW5hYmxlZEF0UnVu
dGltZT1UZXN0RmVhdHVyZV0gdW5kZWZpbmVkIGVuYWJsZWRJblNwZWNpZmljV29ybGRXaGVuUnVu
dGltZUZlYXR1cmVFbmFibGVkKGxvbmcgdGVzdFBhcmFtKTsKKyAgICBbRW5hYmxlZEZvcldvcmxk
PXNvbWVXb3JsZF0gdW5kZWZpbmVkIHdvcmxkU3BlY2lmaWNNZXRob2QobG9uZyB0ZXN0UGFyYW0p
OwogCiAgICAgLy8gW1NlY3VyZUNvbnRleHRdIGF0dHJpYnV0ZXMgYW5kIG9wZXJhdGlvbnM7IHdp
bGwgbm90IGJlIGV4cG9zZWQgdG8gYSBub24tc2VjdXJlIGNvbnRleHQuCiAgICAgLy8gRnJvbSA8
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmFwcHNlYy1zZWN1cmUtY29udGV4dHMvI2ludGVncmF0
aW9uLWlkbD4gKEVkaXRvcidzIERyYWZ0LCAxNyBOb3ZlbWJlciAyMDE2KQpAQCAtMTMyLDggKzEz
Miw4IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3cKICAgICBpdGVy
YWJsZTxET01TdHJpbmc+OwogCiAgICAgLy8gTWV0aG9kcwotICAgIFtVbnNjb3BhYmxlXSB2b2lk
IHZvaWRNZXRob2QoKTsKLSAgICB2b2lkIHZvaWRNZXRob2RXaXRoQXJncyhsb25nIGxvbmdBcmcs
IERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsKKyAgICBbVW5zY29wYWJsZV0gdW5k
ZWZpbmVkIHVuZGVmaW5lZE1ldGhvZCgpOworICAgIHVuZGVmaW5lZCB1bmRlZmluZWRNZXRob2RX
aXRoQXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsK
ICAgICBieXRlIGJ5dGVNZXRob2QoKTsKICAgICBieXRlIGJ5dGVNZXRob2RXaXRoQXJncyhieXRl
IGJ5dGVBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsKICAgICBvY3RldCBv
Y3RldE1ldGhvZCgpOwpAQCAtMTQzLDQ1ICsxNDMsNDUgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7
ICJoaWdoIiwgImtpbmRhLWxvdwogICAgIFRlc3RPYmogb2JqTWV0aG9kKCk7CiAgICAgVGVzdE9i
aiBvYmpNZXRob2RXaXRoQXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RP
Ymogb2JqQXJnKTsKICAgICBbVW5mb3JnZWFibGVdIGxvbmcgdW5mb3JnZWFibGVNZXRob2QoKTsK
LSAgICB2b2lkIG1ldGhvZFdpdGhBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGFyZyk7Ci0gICAgdm9pZCBtZXRob2RXaXRoWFBh
dGhOU1Jlc29sdmVyUGFyYW1ldGVyKFhQYXRoTlNSZXNvbHZlciByZXNvbHZlcik7CisgICAgdW5k
ZWZpbmVkIG1ldGhvZFdpdGhBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhY
UGF0aE5TUmVzb2x2ZXJQYXJhbWV0ZXIoWFBhdGhOU1Jlc29sdmVyIHJlc29sdmVyKTsKIAogICAg
IC8vIE51bGxhYmxlIFN0cmluZyByZXR1cm4gdmFsdWVzLgogICAgIERPTVN0cmluZz8gbnVsbGFi
bGVTdHJpbmdNZXRob2QoKTsKICAgICBzdGF0aWMgRE9NU3RyaW5nPyBudWxsYWJsZVN0cmluZ1N0
YXRpY01ldGhvZCgpOwogICAgIGdldHRlciBET01TdHJpbmc/IG51bGxhYmxlU3RyaW5nU3BlY2lh
bE1ldGhvZCh1bnNpZ25lZCBsb25nIGluZGV4KTsKIAotICAgIHZvaWQgbWV0aG9kV2l0aEVudW1B
cmcoVGVzdEVudW1UeXBlIGVudW1BcmcpOwotICAgIHZvaWQgbWV0aG9kV2l0aFN0YW5kYWxvbmVF
bnVtQXJnKFRlc3RTdGFuZGFsb25lRW51bWVyYXRpb24gZW51bUFyZyk7Ci0gICAgdm9pZCBtZXRo
b2RXaXRoT3B0aW9uYWxFbnVtQXJnKG9wdGlvbmFsIFRlc3RFbnVtVHlwZSBlbnVtQXJnKTsKLSAg
ICB2b2lkIG1ldGhvZFdpdGhPcHRpb25hbEVudW1BcmdBbmREZWZhdWx0VmFsdWUob3B0aW9uYWwg
VGVzdEVudW1UeXBlIGVudW1BcmcgPSAiRW51bVZhbHVlMSIpOworICAgIHVuZGVmaW5lZCBtZXRo
b2RXaXRoRW51bUFyZyhUZXN0RW51bVR5cGUgZW51bUFyZyk7CisgICAgdW5kZWZpbmVkIG1ldGhv
ZFdpdGhTdGFuZGFsb25lRW51bUFyZyhUZXN0U3RhbmRhbG9uZUVudW1lcmF0aW9uIGVudW1Bcmcp
OworICAgIHVuZGVmaW5lZCBtZXRob2RXaXRoT3B0aW9uYWxFbnVtQXJnKG9wdGlvbmFsIFRlc3RF
bnVtVHlwZSBlbnVtQXJnKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aE9wdGlvbmFsRW51bUFy
Z0FuZERlZmF1bHRWYWx1ZShvcHRpb25hbCBUZXN0RW51bVR5cGUgZW51bUFyZyA9ICJFbnVtVmFs
dWUxIik7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBUZXN0T2JqIG1ldGhvZFRoYXRSZXF1aXJl
c0FsbEFyZ3NBbmRUaHJvd3MoRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcpOwogCi0g
ICAgdm9pZCBtZXRob2RXaXRoVVNWU3RyaW5nQXJnKFVTVlN0cmluZyBzdHIpOwotICAgIHZvaWQg
bWV0aG9kV2l0aE51bGxhYmxlVVNWU3RyaW5nQXJnKFVTVlN0cmluZz8gc3RyKTsKLSAgICB2b2lk
IG1ldGhvZFdpdGhVU1ZTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gVVNWU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdp
dGhVU1ZTdHJpbmdBcmcoVVNWU3RyaW5nIHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhO
dWxsYWJsZVVTVlN0cmluZ0FyZyhVU1ZTdHJpbmc/IHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhv
ZFdpdGhVU1ZTdHJpbmdBcmdUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nKFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZ10gVVNWU3RyaW5nIHN0cik7CiAKLSAgICB2b2lkIG1ldGhvZFdpdGhCeXRlU3Ry
aW5nQXJnKEJ5dGVTdHJpbmcgc3RyKTsKLSAgICB2b2lkIG1ldGhvZFdpdGhOdWxsYWJsZUJ5dGVT
dHJpbmdBcmcoQnl0ZVN0cmluZz8gc3RyKTsKLSAgICB2b2lkIG1ldGhvZFdpdGhCeXRlU3RyaW5n
QXJnVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmluZyhbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIEJ5
dGVTdHJpbmcgc3RyKTsKKyAgICB1bmRlZmluZWQgbWV0aG9kV2l0aEJ5dGVTdHJpbmdBcmcoQnl0
ZVN0cmluZyBzdHIpOworICAgIHVuZGVmaW5lZCBtZXRob2RXaXRoTnVsbGFibGVCeXRlU3RyaW5n
QXJnKEJ5dGVTdHJpbmc/IHN0cik7CisgICAgdW5kZWZpbmVkIG1ldGhvZFdpdGhCeXRlU3RyaW5n
QXJnVHJlYXRpbmdOdWxsQXNFbXB0eVN0cmluZyhbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIEJ5
dGVTdHJpbmcgc3RyKTsKIAotICAgIHZvaWQgc2VyaWFsaXplZFZhbHVlKFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSBzZXJpYWxpemVkQXJnKTsKKyAgICB1bmRlZmluZWQgc2VyaWFsaXplZFZhbHVlKFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSBzZXJpYWxpemVkQXJnKTsKIAotICAgIHZvaWQgbWV0aG9kV2l0
aFJlY29yZChyZWNvcmQ8RE9NU3RyaW5nLCBsb25nPiByZWNvcmRQYXJhbWV0ZXIpOworICAgIHVu
ZGVmaW5lZCBtZXRob2RXaXRoUmVjb3JkKHJlY29yZDxET01TdHJpbmcsIGxvbmc+IHJlY29yZFBh
cmFtZXRlcik7CiAKICAgICAvLyBFeGNlcHRpb25zCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIG1ldGhvZFdpdGhFeGNlcHRpb24oKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBtZXRob2RXaXRoRXhjZXB0aW9uKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBsb25n
IG1ldGhvZFdpdGhFeGNlcHRpb25SZXR1cm5pbmdMb25nKCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBUZXN0T2JqIG1ldGhvZFdpdGhFeGNlcHRpb25SZXR1cm5pbmdPYmplY3QoKTsKIAogICAg
IC8vICdDdXN0b20nIGV4dGVuZGVkIGF0dHJpYnV0ZQogICAgIFtDdXN0b21dIGF0dHJpYnV0ZSBs
b25nICAgICAgICAgICAgY3VzdG9tQXR0cjsKLSAgICBbQ3VzdG9tXSB2b2lkIGN1c3RvbU1ldGhv
ZCgpOwotICAgIFtDdXN0b21dIHZvaWQgY3VzdG9tTWV0aG9kV2l0aEFyZ3MobG9uZyBsb25nQXJn
LCBET01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7CisgICAgW0N1c3RvbV0gdW5kZWZp
bmVkIGN1c3RvbU1ldGhvZCgpOworICAgIFtDdXN0b21dIHVuZGVmaW5lZCBjdXN0b21NZXRob2RX
aXRoQXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsK
IAogICAgIC8vICdKU0J1aWx0aW4nIGV4dGVuZGVkIGF0dHJpYnV0ZQotICAgIFtDb25kaXRpb25h
bD1Db25kaXRpb24zLCBKU0J1aWx0aW5dIHZvaWQganNCdWlsdGluTWV0aG9kKCk7Ci0gICAgW0Nv
bmRpdGlvbmFsPUNvbmRpdGlvbjMsIEpTQnVpbHRpbl0gdm9pZCBqc0J1aWx0aW5NZXRob2RXaXRo
QXJncyhsb25nIGxvbmdBcmcsIERPTVN0cmluZyBzdHJBcmcsIFRlc3RPYmogb2JqQXJnKTsKKyAg
ICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMywgSlNCdWlsdGluXSB1bmRlZmluZWQganNCdWlsdGlu
TWV0aG9kKCk7CisgICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjMsIEpTQnVpbHRpbl0gdW5kZWZp
bmVkIGpzQnVpbHRpbk1ldGhvZFdpdGhBcmdzKGxvbmcgbG9uZ0FyZywgRE9NU3RyaW5nIHN0ckFy
ZywgVGVzdE9iaiBvYmpBcmcpOwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb240LCBKU0J1aWx0
aW5dIGF0dHJpYnV0ZSBUZXN0T2JqIGpzQnVpbHRpbkF0dHJpYnV0ZTsKICAgICBbQ29uZGl0aW9u
YWw9Q29uZGl0aW9uNCwgSlNCdWlsdGluXSByZWFkb25seSBhdHRyaWJ1dGUgVGVzdE9iaiBqc0J1
aWx0aW5SZWFkT25seUF0dHJpYnV0ZTsKIApAQCAtMTg5LDIzICsxODksMjMgQEAgZW51bSBUZXN0
Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogICAgIFtQcml2YXRlSWRlbnRpZmllcl0g
RE9NU3RyaW5nIHByaXZhdGVNZXRob2QoRE9NU3RyaW5nIGFyZ3VtZW50KTsKICAgICBbUHJpdmF0
ZUlkZW50aWZpZXIsIFB1YmxpY0lkZW50aWZpZXJdIERPTVN0cmluZyBwdWJsaWNBbmRQcml2YXRl
TWV0aG9kKERPTVN0cmluZyBhcmd1bWVudCk7CiAKLSAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFsIGJvb2xlYW4g
dXNlQ2FwdHVyZSA9IGZhbHNlKTsKLSAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3Ry
aW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2Fw
dHVyZSA9IGZhbHNlKTsKKyAgICB1bmRlZmluZWQgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcg
dHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJl
ID0gZmFsc2UpOworICAgIHVuZGVmaW5lZCByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZyB0
eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBvcHRpb25hbCBib29sZWFuIHVzZUNhcHR1cmUg
PSBmYWxzZSk7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZvbzsKICAgICBbSW1wbGVt
ZW50ZWRBcz1vbmZvb10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGZvbzsKIAogICAg
IC8vICdDYWxsV2l0aCcgZXh0ZW5kZWQgYXR0cmlidXRlCi0gICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdF0gdm9pZCB3aXRoRXhlY1N0YXRlVm9pZCgpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmpl
Y3RdIHVuZGVmaW5lZCB3aXRoRXhlY1N0YXRlVm9pZCgpOwogICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3RdIFRlc3RPYmogd2l0aEV4ZWNTdGF0ZU9iaigpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHdpdGhFeGVjU3RhdGVWb2lkRXhjZXB0aW9u
KCk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCB3aXRoRXhlY1N0YXRlVm9pZEV4Y2VwdGlvbigpOwogICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3QsIE1heVRocm93RXhjZXB0aW9uXSBUZXN0T2JqIHdpdGhFeGVjU3RhdGVPYmpFeGNlcHRp
b24oKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCB3aXRoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0JkV4ZWNTdGF0ZV0gdm9pZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZEV4ZWNTdGF0
ZSgpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB1bmRlZmluZWQgd2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCZFeGVjU3RhdGVdIHVuZGVmaW5lZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFu
ZEV4ZWNTdGF0ZSgpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JkV4ZWNT
dGF0ZSwgTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRBbmRFeGVjU3RhdGVPYmpFeGNlcHRpb24oKTsKICAgICBbQ2FsbFdpdGg9ICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0ICAmICBFeGVjU3RhdGUgIF0gVGVzdE9iaiB3aXRoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dEFuZEV4ZWNTdGF0ZVdpdGhTcGFjZXMoKTsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRd
IHZvaWQgd2l0aERvY3VtZW50QXJndW1lbnQoKTsKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50RG9j
dW1lbnRdIHZvaWQgd2l0aENhbGxlckRvY3VtZW50QXJndW1lbnQoKTsKLSAgICBbQ2FsbFdpdGg9
SW5jdW1iZW50V2luZG93XSB2b2lkIHdpdGhDYWxsZXJXaW5kb3dBcmd1bWVudCgpOworICAgIFtD
YWxsV2l0aD1Eb2N1bWVudF0gdW5kZWZpbmVkIHdpdGhEb2N1bWVudEFyZ3VtZW50KCk7CisgICAg
W0NhbGxXaXRoPUluY3VtYmVudERvY3VtZW50XSB1bmRlZmluZWQgd2l0aENhbGxlckRvY3VtZW50
QXJndW1lbnQoKTsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93XSB1bmRlZmluZWQgd2l0
aENhbGxlcldpbmRvd0FyZ3VtZW50KCk7CiAKICAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBh
dHRyaWJ1dGUgbG9uZyB3aXRoRXhlY1N0YXRlQXR0cmlidXRlOwogICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIFNldHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvd10gYXR0cmli
dXRlIGxvbmcgd2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdpdGhBdHRyaWJ1dGU7CkBAIC0yMTQs
NTIgKzIxNCw1MiBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAg
ICAgW0NhbGxXaXRoPSAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCAgJiAgRXhlY1N0YXRlICBdIGF0
dHJpYnV0ZSBUZXN0T2JqIHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kRXhlY1N0YXRlV2l0
aFNwYWNlc0F0dHJpYnV0ZTsKIAogICAgIC8vIE9wdGlvbmFsIHBhcmFtZXRlcnMuCi0gICAgdm9p
ZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBcmcob3B0aW9uYWwgbG9uZyBvcHQpOwotICAgIHZvaWQg
ICAgbWV0aG9kV2l0aE9wdGlvbmFsQXJnQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIGxvbmcgb3B0
ID0gNjY2KTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZE9wdGlvbmFs
QXJnKGxvbmcgbm9uT3B0LCBvcHRpb25hbCBsb25nIG9wdCk7Ci0gICAgdm9pZCAgICBtZXRob2RX
aXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3MobG9uZyBub25PcHQsIG9wdGlvbmFs
IGxvbmcgb3B0MSwgb3B0aW9uYWwgbG9uZyBvcHQyKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhP
cHRpb25hbFN0cmluZyhvcHRpb25hbCBET01TdHJpbmcgc3RyKTsKLSAgICB2b2lkICAgIG1ldGhv
ZFdpdGhPcHRpb25hbFVTVlN0cmluZyhvcHRpb25hbCBVU1ZTdHJpbmcgc3RyKTsKLSAgICB2b2lk
ICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmcob3B0aW9uYWwgW0F0b21TdHJpbmddIERP
TVN0cmluZyBzdHIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nQW5kRGVm
YXVsdFZhbHVlKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSAiZm9vIik7Ci0gICAgdm9pZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxBdG9tU3RyaW5nQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIFtBdG9t
U3RyaW5nXSBET01TdHJpbmcgc3RyID0gImZvbyIpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9w
dGlvbmFsU3RyaW5nSXNOdWxsKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSBudWxsKTsKLSAgICB2
b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzVW5kZWZpbmVkKG9wdGlvbmFsIERPTVN0
cmluZyBzdHIgPSAidW5kZWZpbmVkIik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxB
dG9tU3RyaW5nSXNOdWxsKG9wdGlvbmFsIFtBdG9tU3RyaW5nXSBET01TdHJpbmcgc3RyID0gbnVs
bCk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJc0VtcHR5U3RyaW5nKG9w
dGlvbmFsIERPTVN0cmluZyBzdHIgPSAiIik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9u
YWxVU1ZTdHJpbmdJc0VtcHR5U3RyaW5nKG9wdGlvbmFsIFVTVlN0cmluZyBzdHIgPSAiIik7Ci0g
ICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBdG9tU3RyaW5nSXNFbXB0eVN0cmluZyhvcHRp
b25hbCBbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHN0ciA9ICIiKTsKLSAgICB2b2lkICAgIG1ldGhv
ZFdpdGhPcHRpb25hbERvdWJsZUlzTmFOKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgbnVt
YmVyID0gTmFOKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEZsb2F0SXNOYU4ob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG51bWJlciA9IE5hTik7Ci0gICAgdm9pZCAgICBtZXRo
b2RXaXRoT3B0aW9uYWxMb25nTG9uZyhvcHRpb25hbCBsb25nIGxvbmcgbnVtYmVyKTsKLSAgICB2
b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbExvbmdMb25nSXNaZXJvKG9wdGlvbmFsIGxvbmcgbG9u
ZyBudW1iZXIgPSAwKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVuc2lnbmVkTG9u
Z0xvbmcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsb25nIG51bWJlcik7Ci0gICAgdm9pZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxVbnNpZ25lZExvbmdMb25nSXNaZXJvKG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgbG9uZyBudW1iZXIgPSAwKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFNl
cXVlbmNlKG9wdGlvbmFsIHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXkpOwotICAgIHZvaWQgICAg
bWV0aG9kV2l0aE9wdGlvbmFsU2VxdWVuY2VJc0VtcHR5KG9wdGlvbmFsIHNlcXVlbmNlPERPTVN0
cmluZz4gYXJyYXkgPSBbXSk7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxCb29sZWFu
KG9wdGlvbmFsIGJvb2xlYW4gYik7Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxCb29s
ZWFuSXNGYWxzZShvcHRpb25hbCBib29sZWFuIGIgPSBmYWxzZSk7Ci0gICAgdm9pZCAgICBtZXRo
b2RXaXRoT3B0aW9uYWxBbnkob3B0aW9uYWwgYW55IGEpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0
aE9wdGlvbmFsT2JqZWN0KG9wdGlvbmFsIG9iamVjdCBhKTsKLSAgICB2b2lkICAgIG1ldGhvZFdp
dGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcihvcHRpb25hbCBUZXN0T2JqPyBvYmopOwotICAgIHZv
aWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVySXNOdWxsKG9wdGlvbmFsIFRl
c3RPYmo/IG9iaiA9IG51bGwpOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsWFBhdGhO
U1Jlc29sdmVyKG9wdGlvbmFsIFhQYXRoTlNSZXNvbHZlcj8gcmVzb2x2ZXIpOwotICAgIHZvaWQg
ICAgbWV0aG9kV2l0aE9wdGlvbmFsUmVjb3JkKG9wdGlvbmFsIHJlY29yZDxET01TdHJpbmcsIGxv
bmc+PyByZWNvcmQgPSBudWxsKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbFByb21p
c2Uob3B0aW9uYWwgUHJvbWlzZTx2b2lkPiBwcm9taXNlKTsKKyAgICB1bmRlZmluZWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsQXJnKG9wdGlvbmFsIGxvbmcgb3B0KTsKKyAgICB1bmRlZmluZWQgICAg
bWV0aG9kV2l0aE9wdGlvbmFsQXJnQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIGxvbmcgb3B0ID0g
NjY2KTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9u
YWxBcmcobG9uZyBub25PcHQsIG9wdGlvbmFsIGxvbmcgb3B0KTsKKyAgICB1bmRlZmluZWQgICAg
bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9uYWxBcmdzKGxvbmcgbm9uT3B0LCBv
cHRpb25hbCBsb25nIG9wdDEsIG9wdGlvbmFsIGxvbmcgb3B0Mik7CisgICAgdW5kZWZpbmVkICAg
IG1ldGhvZFdpdGhPcHRpb25hbFN0cmluZyhvcHRpb25hbCBET01TdHJpbmcgc3RyKTsKKyAgICB1
bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsVVNWU3RyaW5nKG9wdGlvbmFsIFVTVlN0cmlu
ZyBzdHIpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxBdG9tU3RyaW5nKG9w
dGlvbmFsIFtBdG9tU3RyaW5nXSBET01TdHJpbmcgc3RyKTsKKyAgICB1bmRlZmluZWQgICAgbWV0
aG9kV2l0aE9wdGlvbmFsU3RyaW5nQW5kRGVmYXVsdFZhbHVlKG9wdGlvbmFsIERPTVN0cmluZyBz
dHIgPSAiZm9vIik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJp
bmdBbmREZWZhdWx0VmFsdWUob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIgPSAi
Zm9vIik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzTnVsbChv
cHRpb25hbCBET01TdHJpbmcgc3RyID0gbnVsbCk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdp
dGhPcHRpb25hbFN0cmluZ0lzVW5kZWZpbmVkKG9wdGlvbmFsIERPTVN0cmluZyBzdHIgPSAidW5k
ZWZpbmVkIik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdJ
c051bGwob3B0aW9uYWwgW0F0b21TdHJpbmddIERPTVN0cmluZyBzdHIgPSBudWxsKTsKKyAgICB1
bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNFbXB0eVN0cmluZyhvcHRpb25h
bCBET01TdHJpbmcgc3RyID0gIiIpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9u
YWxVU1ZTdHJpbmdJc0VtcHR5U3RyaW5nKG9wdGlvbmFsIFVTVlN0cmluZyBzdHIgPSAiIik7Cisg
ICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEF0b21TdHJpbmdJc0VtcHR5U3RyaW5n
KG9wdGlvbmFsIFtBdG9tU3RyaW5nXSBET01TdHJpbmcgc3RyID0gIiIpOworICAgIHVuZGVmaW5l
ZCAgICBtZXRob2RXaXRoT3B0aW9uYWxEb3VibGVJc05hTihvcHRpb25hbCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIG51bWJlciA9IE5hTik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25h
bEZsb2F0SXNOYU4ob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG51bWJlciA9IE5hTik7Cisg
ICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbExvbmdMb25nKG9wdGlvbmFsIGxvbmcg
bG9uZyBudW1iZXIpOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxMb25nTG9u
Z0lzWmVybyhvcHRpb25hbCBsb25nIGxvbmcgbnVtYmVyID0gMCk7CisgICAgdW5kZWZpbmVkICAg
IG1ldGhvZFdpdGhPcHRpb25hbFVuc2lnbmVkTG9uZ0xvbmcob3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBsb25nIG51bWJlcik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFVuc2ln
bmVkTG9uZ0xvbmdJc1plcm8ob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsb25nIG51bWJlciA9IDAp
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoT3B0aW9uYWxTZXF1ZW5jZShvcHRpb25hbCBz
ZXF1ZW5jZTxET01TdHJpbmc+IGFycmF5KTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9w
dGlvbmFsU2VxdWVuY2VJc0VtcHR5KG9wdGlvbmFsIHNlcXVlbmNlPERPTVN0cmluZz4gYXJyYXkg
PSBbXSk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW4ob3B0aW9u
YWwgYm9vbGVhbiBiKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsQm9vbGVh
bklzRmFsc2Uob3B0aW9uYWwgYm9vbGVhbiBiID0gZmFsc2UpOworICAgIHVuZGVmaW5lZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxBbnkob3B0aW9uYWwgYW55IGEpOworICAgIHVuZGVmaW5lZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxPYmplY3Qob3B0aW9uYWwgb2JqZWN0IGEpOworICAgIHVuZGVmaW5l
ZCAgICBtZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBwZXIob3B0aW9uYWwgVGVzdE9iaj8g
b2JqKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVy
SXNOdWxsKG9wdGlvbmFsIFRlc3RPYmo/IG9iaiA9IG51bGwpOworICAgIHVuZGVmaW5lZCAgICBt
ZXRob2RXaXRoT3B0aW9uYWxYUGF0aE5TUmVzb2x2ZXIob3B0aW9uYWwgWFBhdGhOU1Jlc29sdmVy
PyByZXNvbHZlcik7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFJlY29yZChv
cHRpb25hbCByZWNvcmQ8RE9NU3RyaW5nLCBsb25nPj8gcmVjb3JkID0gbnVsbCk7CisgICAgdW5k
ZWZpbmVkICAgIG1ldGhvZFdpdGhPcHRpb25hbFByb21pc2Uob3B0aW9uYWwgUHJvbWlzZTx1bmRl
ZmluZWQ+IHByb21pc2UpOwogCiAgICAgLy8gQ2FsbGJhY2sgaW50ZXJmYWNlIHBhcmFtZXRlcnMu
Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBcmcoVGVzdENhbGxiYWNrSW50ZXJmYWNl
IGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxi
YWNrQXJnKGxvbmcgbm9uQ2FsbGJhY2ssIFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7
Ci0gICAgdm9pZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhvcHRpb25hbCBU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2U/IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgICAgbWV0aG9k
V2l0aENhbGxiYWNrQXJnKFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkICAgIG1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKGxvbmcgbm9u
Q2FsbGJhY2ssIFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
ICAgIG1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxsYmFj
a0ludGVyZmFjZT8gY2FsbGJhY2spOwogCiAgICAgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gcGFyYW1l
dGVycy4KLSAgICB2b2lkICAgIG1ldGhvZFdpdGhDYWxsYmFja0Z1bmN0aW9uQXJnKFRlc3RDYWxs
YmFja0Z1bmN0aW9uIGNhbGxiYWNrKTsKLSAgICB2b2lkICAgIG1ldGhvZFdpdGhOb25DYWxsYmFj
a0FyZ0FuZENhbGxiYWNrRnVuY3Rpb25BcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENhbGxiYWNr
RnVuY3Rpb24gY2FsbGJhY2spOwotICAgIHZvaWQgICAgbWV0aG9kV2l0aENhbGxiYWNrRnVuY3Rp
b25BbmRPcHRpb25hbEFyZyhvcHRpb25hbCBUZXN0Q2FsbGJhY2tGdW5jdGlvbj8gY2FsbGJhY2sp
OworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoQ2FsbGJhY2tGdW5jdGlvbkFyZyhUZXN0Q2Fs
bGJhY2tGdW5jdGlvbiBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkICAgIG1ldGhvZFdpdGhOb25D
YWxsYmFja0FyZ0FuZENhbGxiYWNrRnVuY3Rpb25BcmcobG9uZyBub25DYWxsYmFjaywgVGVzdENh
bGxiYWNrRnVuY3Rpb24gY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCAgICBtZXRob2RXaXRoQ2Fs
bGJhY2tGdW5jdGlvbkFuZE9wdGlvbmFsQXJnKG9wdGlvbmFsIFRlc3RDYWxsYmFja0Z1bmN0aW9u
PyBjYWxsYmFjayk7CiAKICAgICAvLyBzdGF0aWMgbWV0aG9kcyB3aXRoICdDYWxsYmFjaycgZXh0
ZW5kZWQgYXR0cmlidXRlCi0gICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxi
YWNrQW5kT3B0aW9uYWxBcmcob3B0aW9uYWwgVGVzdENhbGxiYWNrSW50ZXJmYWNlPyBjYWxsYmFj
ayk7Ci0gICAgc3RhdGljIHZvaWQgICAgc3RhdGljTWV0aG9kV2l0aENhbGxiYWNrQXJnKFRlc3RD
YWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7CisgICAgc3RhdGljIHVuZGVmaW5lZCAgICBzdGF0
aWNNZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhvcHRpb25hbCBUZXN0Q2FsbGJhY2tJ
bnRlcmZhY2U/IGNhbGxiYWNrKTsKKyAgICBzdGF0aWMgdW5kZWZpbmVkICAgIHN0YXRpY01ldGhv
ZFdpdGhDYWxsYmFja0FyZyhUZXN0Q2FsbGJhY2tJbnRlcmZhY2UgY2FsbGJhY2spOwogCiAgICAg
Ly8gJ0NvbmRpdGlvbmFsJyBleHRlbmRlZCBhdHRyaWJ1dGUKICAgICBbQ29uZGl0aW9uYWw9Q29u
ZGl0aW9uMV0gYXR0cmlidXRlIGxvbmcgY29uZGl0aW9uYWxBdHRyMTsKQEAgLTI2OCw4ICsyNjgs
OCBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAKICAgICAvLyAn
Q29uZGl0aW9uYWwnIGV4dGVuZGVkIG1ldGhvZAogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24x
XSBET01TdHJpbmcgY29uZGl0aW9uYWxNZXRob2QxKCk7Ci0gICAgW0NvbmRpdGlvbmFsPUNvbmRp
dGlvbjEmQ29uZGl0aW9uMl0gdm9pZCBjb25kaXRpb25hbE1ldGhvZDIoKTsKLSAgICBbQ29uZGl0
aW9uYWw9Q29uZGl0aW9uMXxDb25kaXRpb24yXSB2b2lkIGNvbmRpdGlvbmFsTWV0aG9kMygpOwor
ICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xJkNvbmRpdGlvbjJdIHVuZGVmaW5lZCBjb25kaXRp
b25hbE1ldGhvZDIoKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMXxDb25kaXRpb24yXSB1
bmRlZmluZWQgY29uZGl0aW9uYWxNZXRob2QzKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0
aW9uMV0gYXR0cmlidXRlIFRlc3RPYmplY3RBQ29uc3RydWN0b3IgY29uZGl0aW9uYWxBdHRyNDsK
ICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMSZDb25kaXRpb24yXSBhdHRyaWJ1dGUgVGVzdE9i
amVjdEJDb25zdHJ1Y3RvciBjb25kaXRpb25hbEF0dHI1OwpAQCAtMjg1LDc5ICsyODUsNzkgQEAg
ZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogICAgIGF0dHJpYnV0ZSBv
YmplY3Qgb2JqZWN0QXR0cmlidXRlOwogCiAgICAgLy8gT3ZlcmxvYWRzCi0gICAgdm9pZCAgICBv
dmVybG9hZGVkTWV0aG9kKFRlc3RPYmo/IG9iakFyZywgRE9NU3RyaW5nIHN0ckFyZyk7Ci0gICAg
dm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKFRlc3RPYmo/IG9iakFyZywgb3B0aW9uYWwgbG9uZyBs
b25nQXJnKTsKLSAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nIHN0ckFyZyk7
Ci0gICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGxvbmcgbG9uZ0FyZyk7Ci0gICAgdm9pZCAg
ICBvdmVybG9hZGVkTWV0aG9kKFRlc3RDYWxsYmFja0ludGVyZmFjZSBjYWxsYmFjayk7Ci0gICAg
dm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKERPTVN0cmluZ0xpc3Q/IGxpc3RBcmcpOwotICAgIHZv
aWQgICAgb3ZlcmxvYWRlZE1ldGhvZChzZXF1ZW5jZTxET01TdHJpbmc+PyBhcnJheUFyZyk7Ci0g
ICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKFRlc3RPYmogb2JqQXJnKTsKLSAgICB2b2lkICAg
IG92ZXJsb2FkZWRNZXRob2QoV2luZG93UHJveHkgd2luZG93KTsKLSAgICB2b2lkICAgIG92ZXJs
b2FkZWRNZXRob2Qoc2VxdWVuY2U8RE9NU3RyaW5nPiBhcnJheUFyZyk7Ci0gICAgdm9pZCAgICBv
dmVybG9hZGVkTWV0aG9kKHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGFycmF5QXJnKTsKLSAgICB2
b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nIHN0ckFyZyk7CisgICAgdW5kZWZpbmVk
ICAgIG92ZXJsb2FkZWRNZXRob2QoVGVzdE9iaj8gb2JqQXJnLCBET01TdHJpbmcgc3RyQXJnKTsK
KyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChUZXN0T2JqPyBvYmpBcmcsIG9wdGlv
bmFsIGxvbmcgbG9uZ0FyZyk7CisgICAgdW5kZWZpbmVkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9N
U3RyaW5nIHN0ckFyZyk7CisgICAgdW5kZWZpbmVkICAgIG92ZXJsb2FkZWRNZXRob2QobG9uZyBs
b25nQXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChUZXN0Q2FsbGJhY2tJ
bnRlcmZhY2UgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9kKERP
TVN0cmluZ0xpc3Q/IGxpc3RBcmcpOworICAgIHVuZGVmaW5lZCAgICBvdmVybG9hZGVkTWV0aG9k
KHNlcXVlbmNlPERPTVN0cmluZz4/IGFycmF5QXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3Zlcmxv
YWRlZE1ldGhvZChUZXN0T2JqIG9iakFyZyk7CisgICAgdW5kZWZpbmVkICAgIG92ZXJsb2FkZWRN
ZXRob2QoV2luZG93UHJveHkgd2luZG93KTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1l
dGhvZChzZXF1ZW5jZTxET01TdHJpbmc+IGFycmF5QXJnKTsKKyAgICB1bmRlZmluZWQgICAgb3Zl
cmxvYWRlZE1ldGhvZChzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiBhcnJheUFyZyk7CisgICAgdW5k
ZWZpbmVkICAgIG92ZXJsb2FkZWRNZXRob2QoRE9NU3RyaW5nIHN0ckFyZyk7CiAKICAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHN1cHBvcnQgZm9yIG92ZXJsb2FkZWQgZnVuY3Rpb25zIHdpdGggdmFy
aWFkaWMgYXJndW1lbnRzLgotICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChCbG9iLi4uIGJs
b2JBcmdzKTsKKyAgICB1bmRlZmluZWQgICAgb3ZlcmxvYWRlZE1ldGhvZChCbG9iLi4uIGJsb2JB
cmdzKTsKIAotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpb25hbFBhcmFtZXRlcihE
T01TdHJpbmcgc3RyQXJnLCBvcHRpb25hbCBUZXN0T2JqPyBvYmpBcmcgPSBudWxsKTsKLSAgICB2
b2lkIG92ZXJsb2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoVGVzdE9iaj8gb2JqQXJn
LCBvcHRpb25hbCBsb25nIGxvbmdBcmcpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9k
V2l0aE9wdGlvbmFsUGFyYW1ldGVyKERPTVN0cmluZyBzdHJBcmcsIG9wdGlvbmFsIFRlc3RPYmo/
IG9iakFyZyA9IG51bGwpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZGVkTWV0aG9kV2l0aE9wdGlv
bmFsUGFyYW1ldGVyKFRlc3RPYmo/IG9iakFyZywgb3B0aW9uYWwgbG9uZyBsb25nQXJnKTsKIAot
ICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhEaXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0T2Jq
IG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUpOwotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdp
dGhEaXN0aW5ndWlzaGluZ1VuaW9uKGxvbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBvdmVybG9h
ZGVkTWV0aG9kV2l0aERpc3Rpbmd1aXNoaW5nVW5pb24oKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9i
amVjdE9yTm9kZSk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkZWRNZXRob2RXaXRoRGlzdGluZ3Vp
c2hpbmdVbmlvbihsb25nIHZhbHVlKTsKIAotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGgy
RGlzdGluZ3Vpc2hpbmdVbmlvbnMoKFRlc3RPYmogb3IgVGVzdE5vZGUpIG9iamVjdE9yTm9kZSk7
Ci0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVz
dEludGVyZmFjZSBvciBET01TdHJpbmcgb3IgbG9uZykgdmFsdWUpOworICAgIHVuZGVmaW5lZCBv
dmVybG9hZGVkTWV0aG9kV2l0aDJEaXN0aW5ndWlzaGluZ1VuaW9ucygoVGVzdE9iaiBvciBUZXN0
Tm9kZSkgb2JqZWN0T3JOb2RlKTsKKyAgICB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGgy
RGlzdGluZ3Vpc2hpbmdVbmlvbnMoKFRlc3RJbnRlcmZhY2Ugb3IgRE9NU3RyaW5nIG9yIGxvbmcp
IHZhbHVlKTsKIAotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlzaGlu
Z1VuaW9uKChUZXN0T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUsIFRlc3RPYmogb2JqZWN0
KTsKLSAgICB2b2lkIG92ZXJsb2FkZWRNZXRob2RXaXRoTm9uRGlzdGluZ3Vpc2hpbmdVbmlvbigo
VGVzdE9iaiBvciBUZXN0Tm9kZSkgb2JqZWN0T3JOb2RlLCBUZXN0Tm9kZSBub2RlKTsKKyAgICB1
bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0
T2JqIG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUsIFRlc3RPYmogb2JqZWN0KTsKKyAgICB1bmRl
ZmluZWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlzaGluZ1VuaW9uKChUZXN0T2Jq
IG9yIFRlc3ROb2RlKSBvYmplY3RPck5vZGUsIFRlc3ROb2RlIG5vZGUpOwogCi0gICAgdm9pZCBv
dmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uKChUZXN0T2JqIG9yIFRlc3ROb2RlKT8gb2JqZWN0T3JO
b2RlKTsKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24obG9uZyBpbmRleCk7Cisg
ICAgdW5kZWZpbmVkIG92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24oKFRlc3RPYmogb3IgVGVzdE5v
ZGUpPyBvYmplY3RPck5vZGUpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZFdpdGhOdWxsYWJsZVVu
aW9uKGxvbmcgaW5kZXgpOwogCi0gICAgdm9pZCBvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKG9w
dGlvbmFsIChET01TdHJpbmcgb3IgYm9vbGVhbikgb2JqZWN0T3JOb2RlID0gdHJ1ZSk7Ci0gICAg
dm9pZCBvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5l
ZCBvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKG9wdGlvbmFsIChET01TdHJpbmcgb3IgYm9vbGVh
bikgb2JqZWN0T3JOb2RlID0gdHJ1ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkV2l0aE9wdGlv
bmFsVW5pb24obG9uZyBpbmRleCk7CiAKLSAgICB2b2lkIG92ZXJsb2FkV2l0aE51bGxhYmxlTm9u
RGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIoVGVzdE9iaj8gb2JqLCBUZXN0Tm9kZSBub2RlKTsKLSAg
ICB2b2lkIG92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIoVGVz
dE5vZGU/IG5vZGUsIGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCBvdmVybG9hZFdpdGhOdWxs
YWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyKFRlc3RPYmo/IG9iaiwgVGVzdE5vZGUgbm9k
ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQ
YXJhbWV0ZXIoVGVzdE5vZGU/IG5vZGUsIGxvbmcgaW5kZXgpOwogCiAgICAgLy8gQ2xhc3MgbWV0
aG9kcyB3aXRoaW4gSmF2YVNjcmlwdCAobGlrZSB3aGF0J3MgdXNlZCBmb3IgSURCS2V5UmFuZ2Up
LgotICAgIHN0YXRpYyB2b2lkIGNsYXNzTWV0aG9kKCk7CisgICAgc3RhdGljIHVuZGVmaW5lZCBj
bGFzc01ldGhvZCgpOwogICAgIHN0YXRpYyBsb25nIGNsYXNzTWV0aG9kV2l0aE9wdGlvbmFsKG9w
dGlvbmFsIGxvbmcgYXJnKTsKLSAgICBbQ3VzdG9tXSBzdGF0aWMgdm9pZCBjbGFzc01ldGhvZDIo
bG9uZyBhcmcpOworICAgIFtDdXN0b21dIHN0YXRpYyB1bmRlZmluZWQgY2xhc3NNZXRob2QyKGxv
bmcgYXJnKTsKIAogICAgIC8vIFN0YXRpYyBtZXRob2Qgd2l0aCBjb25kaXRpb25hbCBvbiBvdmVy
bG9hZGVkIG1ldGhvZHMKLSAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMV0gc3RhdGljIHZvaWQg
b3ZlcmxvYWRlZE1ldGhvZDEobG9uZyBhcmcpOwotICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24x
XSBzdGF0aWMgdm9pZCBvdmVybG9hZGVkTWV0aG9kMShET01TdHJpbmcgdHlwZSk7CisgICAgW0Nv
bmRpdGlvbmFsPUNvbmRpdGlvbjFdIHN0YXRpYyB1bmRlZmluZWQgb3ZlcmxvYWRlZE1ldGhvZDEo
bG9uZyBhcmcpOworICAgIFtDb25kaXRpb25hbD1Db25kaXRpb24xXSBzdGF0aWMgdW5kZWZpbmVk
IG92ZXJsb2FkZWRNZXRob2QxKERPTVN0cmluZyB0eXBlKTsKIAotICAgIHZvaWQgY2xhc3NNZXRo
b2RXaXRoQ2xhbXAoW0NsYW1wXSB1bnNpZ25lZCBzaG9ydCBvYmpBcmdzU2hvcnQsIFtDbGFtcF0g
dW5zaWduZWQgbG9uZyBvYmpBcmdzTG9uZyk7Ci0gICAgdm9pZCBjbGFzc01ldGhvZFdpdGhDbGFt
cE9uT3B0aW9uYWwob3B0aW9uYWwgW0NsYW1wXSBsb25nIG9iakFyZ3NMb25nID0gMCk7Ci0gICAg
dm9pZCBjbGFzc01ldGhvZFdpdGhFbmZvcmNlUmFuZ2UoW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
c2hvcnQgb2JqQXJnc1Nob3J0LCBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIG9iakFyZ3NM
b25nKTsKLSAgICB2b2lkIGNsYXNzTWV0aG9kV2l0aEVuZm9yY2VSYW5nZU9uT3B0aW9uYWwob3B0
aW9uYWwgW0VuZm9yY2VSYW5nZV0gbG9uZyBvYmpBcmdzTG9uZyA9IDApOworICAgIHVuZGVmaW5l
ZCBjbGFzc01ldGhvZFdpdGhDbGFtcChbQ2xhbXBdIHVuc2lnbmVkIHNob3J0IG9iakFyZ3NTaG9y
dCwgW0NsYW1wXSB1bnNpZ25lZCBsb25nIG9iakFyZ3NMb25nKTsKKyAgICB1bmRlZmluZWQgY2xh
c3NNZXRob2RXaXRoQ2xhbXBPbk9wdGlvbmFsKG9wdGlvbmFsIFtDbGFtcF0gbG9uZyBvYmpBcmdz
TG9uZyA9IDApOworICAgIHVuZGVmaW5lZCBjbGFzc01ldGhvZFdpdGhFbmZvcmNlUmFuZ2UoW0Vu
Zm9yY2VSYW5nZV0gdW5zaWduZWQgc2hvcnQgb2JqQXJnc1Nob3J0LCBbRW5mb3JjZVJhbmdlXSB1
bnNpZ25lZCBsb25nIG9iakFyZ3NMb25nKTsKKyAgICB1bmRlZmluZWQgY2xhc3NNZXRob2RXaXRo
RW5mb3JjZVJhbmdlT25PcHRpb25hbChvcHRpb25hbCBbRW5mb3JjZVJhbmdlXSBsb25nIG9iakFy
Z3NMb25nID0gMCk7CiAKLSAgICB2b2lkIG1ldGhvZFdpdGhVbnNpZ25lZExvbmdTZXF1ZW5jZShz
ZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiB1bnNpZ25lZExvbmdTZXF1ZW5jZSk7CisgICAgdW5kZWZp
bmVkIG1ldGhvZFdpdGhVbnNpZ25lZExvbmdTZXF1ZW5jZShzZXF1ZW5jZTx1bnNpZ25lZCBsb25n
PiB1bnNpZ25lZExvbmdTZXF1ZW5jZSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBzZXF1ZW5j
ZTxET01TdHJpbmc+IHN0cmluZ0FycmF5RnVuY3Rpb24oc2VxdWVuY2U8RE9NU3RyaW5nPiB2YWx1
ZXMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nTGlzdCBkb21TdHJpbmdMaXN0
RnVuY3Rpb24oRE9NU3RyaW5nTGlzdCB2YWx1ZXMpOwogCi0gICAgdm9pZCBvcGVyYXRpb25XaXRo
T3B0aW9uYWxVbmlvblBhcmFtZXRlcihvcHRpb25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVu
cmVzdHJpY3RlZCBkb3VibGU+KSBvcHRpb25hbFVuaW9uKTsKKyAgICB1bmRlZmluZWQgb3BlcmF0
aW9uV2l0aE9wdGlvbmFsVW5pb25QYXJhbWV0ZXIob3B0aW9uYWwgKERPTVN0cmluZyBvciBzZXF1
ZW5jZTx1bnJlc3RyaWN0ZWQgZG91YmxlPikgb3B0aW9uYWxVbmlvbik7CiAKLSAgICB2b2lkIG1l
dGhvZFdpdGhBbmRXaXRob3V0TnVsbGFibGVTZXF1ZW5jZShzZXF1ZW5jZTx1bnNpZ25lZCBsb25n
PiBhcnJheUFyZywgc2VxdWVuY2U8dW5zaWduZWQgbG9uZz4/IG51bGxhYmxlQXJyYXlBcmcpOwor
ICAgIHVuZGVmaW5lZCBtZXRob2RXaXRoQW5kV2l0aG91dE51bGxhYmxlU2VxdWVuY2Uoc2VxdWVu
Y2U8dW5zaWduZWQgbG9uZz4gYXJyYXlBcmcsIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+PyBudWxs
YWJsZUFycmF5QXJnKTsKIAogICAgIEVsZW1lbnQ/IGdldEVsZW1lbnRCeUlkKFtSZXF1aXJlc0V4
aXN0aW5nQXRvbVN0cmluZ10gRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiAKICAgICBbQ2hlY2tTZWN1
cml0eUZvck5vZGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7
CiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHRG9jdW1l
bnQgZ2V0U1ZHRG9jdW1lbnQoKTsKIAotICAgIHZvaWQgY29udmVydDEoVGVzdE5vZGUgdmFsdWUp
OwotICAgIHZvaWQgY29udmVydDIoVGVzdE5vZGU/IHZhbHVlKTsKLSAgICB2b2lkIGNvbnZlcnQz
KERPTVN0cmluZyB2YWx1ZSk7Ci0gICAgdm9pZCBjb252ZXJ0NChET01TdHJpbmc/IHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgY29udmVydDEoVGVzdE5vZGUgdmFsdWUpOworICAgIHVuZGVmaW5lZCBj
b252ZXJ0MihUZXN0Tm9kZT8gdmFsdWUpOworICAgIHVuZGVmaW5lZCBjb252ZXJ0MyhET01TdHJp
bmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBjb252ZXJ0NChET01TdHJpbmc/IHZhbHVlKTsKIAog
ICAgIGF0dHJpYnV0ZSBTVkdQb2ludCBtdXRhYmxlUG9pbnQ7CiAgICAgU1ZHUG9pbnQgbXV0YWJs
ZVBvaW50RnVuY3Rpb24oKTsKIAotICAgIFtJbXBsZW1lbnRlZEFzPWJhbmFuYV0gdm9pZCBvcmFu
Z2UoKTsKKyAgICBbSW1wbGVtZW50ZWRBcz1iYW5hbmFdIHVuZGVmaW5lZCBvcmFuZ2UoKTsKICAg
ICBbSW1wbGVtZW50ZWRBcz1ibHVlYmVycnldIGF0dHJpYnV0ZSBsb25nIHN0cmF3YmVycnk7CiAK
ICAgICAvLyBPYmplY3RpdmVDIHJlc2VydmVkIHdvcmRzLgpAQCAtMzgwLDEwICszODAsMTAgQEAg
ZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogCiAgICAgW1JlcGxhY2Vh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyByZXBsYWNlYWJsZUF0dHJpYnV0ZTsKIAotICAg
IHZvaWQgdmFyaWFkaWNTdHJpbmdNZXRob2QoRE9NU3RyaW5nIGhlYWQsIERPTVN0cmluZy4uLiB0
YWlsKTsKLSAgICB2b2lkIHZhcmlhZGljRG91YmxlTWV0aG9kKHVucmVzdHJpY3RlZCBkb3VibGUg
aGVhZCwgdW5yZXN0cmljdGVkIGRvdWJsZS4uLiB0YWlsKTsKLSAgICB2b2lkIHZhcmlhZGljTm9k
ZU1ldGhvZChOb2RlIGhlYWQsIE5vZGUuLi4gdGFpbCk7Ci0gICAgdm9pZCB2YXJpYWRpY1VuaW9u
TWV0aG9kKERPTVN0cmluZyBoZWFkLCAoTm9kZSBvciBET01TdHJpbmcpLi4uIHRhaWwpOworICAg
IHVuZGVmaW5lZCB2YXJpYWRpY1N0cmluZ01ldGhvZChET01TdHJpbmcgaGVhZCwgRE9NU3RyaW5n
Li4uIHRhaWwpOworICAgIHVuZGVmaW5lZCB2YXJpYWRpY0RvdWJsZU1ldGhvZCh1bnJlc3RyaWN0
ZWQgZG91YmxlIGhlYWQsIHVucmVzdHJpY3RlZCBkb3VibGUuLi4gdGFpbCk7CisgICAgdW5kZWZp
bmVkIHZhcmlhZGljTm9kZU1ldGhvZChOb2RlIGhlYWQsIE5vZGUuLi4gdGFpbCk7CisgICAgdW5k
ZWZpbmVkIHZhcmlhZGljVW5pb25NZXRob2QoRE9NU3RyaW5nIGhlYWQsIChOb2RlIG9yIERPTVN0
cmluZykuLi4gdGFpbCk7CiAKICAgICAvLyBOdWxsYWJsZSBhdHRyaWJ1dGVzLgogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyBudWxsYWJsZURvdWJsZUF0dHJpYnV0
ZTsKQEAgLTQwMCw0OCArNDAwLDQ4IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJr
aW5kYS1sb3cKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCAgICAgICAgICAgICAgIF9yZWFkb25s
eSA9IDA7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICBfYXR0cmlidXRl
OwogICAgIGF0dHJpYnV0ZSBfb3B0aW9uYWwgICAgICAgICAgICAgICAgYXR0cmlidXRlV2l0aFJl
c2VydmVkRW51bVR5cGU7Ci0gICAgdm9pZCBfYW55KHVucmVzdHJpY3RlZCBmbG9hdCBhLCBsb25n
IGIpOworICAgIHVuZGVmaW5lZCBfYW55KHVucmVzdHJpY3RlZCBmbG9hdCBhLCBsb25nIGIpOwog
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gdGVzdFJlYWRPbmx5Vm9pZFBy
b21pc2VBdHRyaWJ1dGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dW5kZWZpbmVk
PiB0ZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0dHJpYnV0ZTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgUHJvbWlzZTxUZXN0Tm9kZT4gdGVzdFJlYWRPbmx5UHJvbWlzZUF0dHJpYnV0ZTsKIAogICAg
IC8vIFByb21pc2UgZnVuY3Rpb24KLSAgICBQcm9taXNlPHZvaWQ+IHRlc3RQcm9taXNlRnVuY3Rp
b24oKTsKLSAgICBQcm9taXNlPHZvaWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRoRmxvYXRBcmd1
bWVudChmbG9hdCBhKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFByb21pc2U8dm9pZD4gdGVz
dFByb21pc2VGdW5jdGlvbldpdGhFeGNlcHRpb24oKTsKLSAgICBQcm9taXNlPHZvaWQ+IHRlc3RQ
cm9taXNlRnVuY3Rpb25XaXRoT3B0aW9uYWxJbnRBcmd1bWVudChvcHRpb25hbCBsb25nIGEpOwot
ICAgIFByb21pc2U8dm9pZD4gdGVzdFByb21pc2VPdmVybG9hZGVkRnVuY3Rpb24oZmxvYXQgYSk7
Ci0gICAgUHJvbWlzZTx2b2lkPiB0ZXN0UHJvbWlzZU92ZXJsb2FkZWRGdW5jdGlvbihGZXRjaFJl
cXVlc3QgcmVxdWVzdCk7Ci0gICAgc3RhdGljIFByb21pc2U8dm9pZD4gdGVzdFN0YXRpY1Byb21p
c2VGdW5jdGlvbigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc3RhdGljIFByb21pc2U8dm9p
ZD4gdGVzdFN0YXRpY1Byb21pc2VGdW5jdGlvbldpdGhFeGNlcHRpb24oKTsKLSAgICBbQ3VzdG9t
XSBQcm9taXNlPHZvaWQ+IHRlc3RDdXN0b21Qcm9taXNlRnVuY3Rpb24oKTsKLSAgICBbQ3VzdG9t
XSBzdGF0aWMgUHJvbWlzZTx2b2lkPiB0ZXN0U3RhdGljQ3VzdG9tUHJvbWlzZUZ1bmN0aW9uKCk7
Ci0gICAgW0N1c3RvbSwgUmV0dXJuc093blByb21pc2VdIFByb21pc2U8dm9pZD4gdGVzdEN1c3Rv
bVJldHVybnNPd25Qcm9taXNlRnVuY3Rpb24oKTsKLSAgICBbUmV0dXJuc093blByb21pc2UsIFBy
b21pc2VQcm94eV0gUHJvbWlzZTx2b2lkPiB0ZXN0UmV0dXJuc093blByb21pc2VBbmRQcm9taXNl
UHJveHlGdW5jdGlvbigpOworICAgIFByb21pc2U8dW5kZWZpbmVkPiB0ZXN0UHJvbWlzZUZ1bmN0
aW9uKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNlRnVuY3Rpb25XaXRoRmxv
YXRBcmd1bWVudChmbG9hdCBhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFByb21pc2U8dW5k
ZWZpbmVkPiB0ZXN0UHJvbWlzZUZ1bmN0aW9uV2l0aEV4Y2VwdGlvbigpOworICAgIFByb21pc2U8
dW5kZWZpbmVkPiB0ZXN0UHJvbWlzZUZ1bmN0aW9uV2l0aE9wdGlvbmFsSW50QXJndW1lbnQob3B0
aW9uYWwgbG9uZyBhKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFByb21pc2VPdmVybG9h
ZGVkRnVuY3Rpb24oZmxvYXQgYSk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RQcm9taXNl
T3ZlcmxvYWRlZEZ1bmN0aW9uKEZldGNoUmVxdWVzdCByZXF1ZXN0KTsKKyAgICBzdGF0aWMgUHJv
bWlzZTx1bmRlZmluZWQ+IHRlc3RTdGF0aWNQcm9taXNlRnVuY3Rpb24oKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHN0YXRpYyBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdFN0YXRpY1Byb21pc2VG
dW5jdGlvbldpdGhFeGNlcHRpb24oKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPHVuZGVmaW5lZD4g
dGVzdEN1c3RvbVByb21pc2VGdW5jdGlvbigpOworICAgIFtDdXN0b21dIHN0YXRpYyBQcm9taXNl
PHVuZGVmaW5lZD4gdGVzdFN0YXRpY0N1c3RvbVByb21pc2VGdW5jdGlvbigpOworICAgIFtDdXN0
b20sIFJldHVybnNPd25Qcm9taXNlXSBQcm9taXNlPHVuZGVmaW5lZD4gdGVzdEN1c3RvbVJldHVy
bnNPd25Qcm9taXNlRnVuY3Rpb24oKTsKKyAgICBbUmV0dXJuc093blByb21pc2UsIFByb21pc2VQ
cm94eV0gUHJvbWlzZTx1bmRlZmluZWQ+IHRlc3RSZXR1cm5zT3duUHJvbWlzZUFuZFByb21pc2VQ
cm94eUZ1bmN0aW9uKCk7CiAKICAgICAvLyBQdXRGb3J3YXJkcwogICAgIFtQdXRGb3J3YXJkcz1u
YW1lXSByZWFkb25seSBhdHRyaWJ1dGUgVGVzdE5vZGUgcHV0Rm9yd2FyZHNBdHRyaWJ1dGU7CiAg
ICAgW1B1dEZvcndhcmRzPW5hbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXN0Tm9kZT8gcHV0Rm9y
d2FyZHNOdWxsYWJsZUF0dHJpYnV0ZTsKIAogICAgIC8vIE92ZXJsb2FkaW5nIHdpdGggY29uZGl0
aW9uYWxzLgotICAgIFtDb25kaXRpb25hbD1DT05ESVRJT04xXSB2b2lkIGNvbmRpdGlvbmFsT3Zl
cmxvYWQoRE9NU3RyaW5nIHN0cik7Ci0gICAgW0NvbmRpdGlvbmFsPUNPTkRJVElPTjJdIHZvaWQg
Y29uZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOworICAgIFtDb25kaXRpb25hbD1DT05ESVRJT04x
XSB1bmRlZmluZWQgY29uZGl0aW9uYWxPdmVybG9hZChET01TdHJpbmcgc3RyKTsKKyAgICBbQ29u
ZGl0aW9uYWw9Q09ORElUSU9OMl0gdW5kZWZpbmVkIGNvbmRpdGlvbmFsT3ZlcmxvYWQobG9uZyBh
KTsKIAotICAgIHZvaWQgc2luZ2xlQ29uZGl0aW9uYWxPdmVybG9hZChET01TdHJpbmcgc3RyKTsK
LSAgICBbQ29uZGl0aW9uYWw9Q09ORElUSU9OXSB2b2lkIHNpbmdsZUNvbmRpdGlvbmFsT3Zlcmxv
YWQobG9uZyBhKTsKKyAgICB1bmRlZmluZWQgc2luZ2xlQ29uZGl0aW9uYWxPdmVybG9hZChET01T
dHJpbmcgc3RyKTsKKyAgICBbQ29uZGl0aW9uYWw9Q09ORElUSU9OXSB1bmRlZmluZWQgc2luZ2xl
Q29uZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOwogCi0gICAgdm9pZCBhdHRhY2hTaGFkb3dSb290
KFRlc3REaWN0aW9uYXJ5IGluaXQpOwotICAgIHZvaWQgb3BlcmF0aW9uV2l0aEV4dGVybmFsRGlj
dGlvbmFyeVBhcmFtZXRlcihUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnkgZGljdCk7CisgICAgdW5k
ZWZpbmVkIGF0dGFjaFNoYWRvd1Jvb3QoVGVzdERpY3Rpb25hcnkgaW5pdCk7CisgICAgdW5kZWZp
bmVkIG9wZXJhdGlvbldpdGhFeHRlcm5hbERpY3Rpb25hcnlQYXJhbWV0ZXIoVGVzdFN0YW5kYWxv
bmVEaWN0aW9uYXJ5IGRpY3QpOwogCiAgICAgc3RyaW5naWZpZXIgYXR0cmlidXRlIFVTVlN0cmlu
ZyBzdHJpbmdpZmllckF0dHJpYnV0ZTsKIAogICAgIHNlcmlhbGl6ZXIgPSB7Y3JlYXRlLCByZWFk
T25seVN0cmluZ0F0dHIsIGVudW1BdHRyLCBsb25nQXR0cn07CiAKLSAgICB2b2lkIGJ1ZmZlclNv
dXJjZVBhcmFtZXRlcihCdWZmZXJTb3VyY2UgZGF0YSk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlclNv
dXJjZVBhcmFtZXRlcihCdWZmZXJTb3VyY2UgZGF0YSk7CiAKLSAgICBsZWdhY3ljYWxsZXIgdm9p
ZCBsZWdhY3lDYWxsZXJOYW1lZChsb25nIHBhcmFtKTsKKyAgICBsZWdhY3ljYWxsZXIgdW5kZWZp
bmVkIGxlZ2FjeUNhbGxlck5hbWVkKGxvbmcgcGFyYW0pOwogICAgIGxlZ2FjeWNhbGxlciBsb25n
IChET01TdHJpbmcgcGFyYW0pOwotICAgIGxlZ2FjeWNhbGxlciB2b2lkICgpOworICAgIGxlZ2Fj
eWNhbGxlciB1bmRlZmluZWQgKCk7CiAKICAgICBOb2RlIHRlc3RSZXR1cm5WYWx1ZU9wdGltaXph
dGlvbihbUmV0dXJuVmFsdWVdIE5vZGUgYSwgTm9kZSBiKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIE5vZGUgdGVzdFJldHVyblZhbHVlT3B0aW1pemF0aW9uV2l0aEV4Y2VwdGlvbihbUmV0dXJu
VmFsdWVdIE5vZGUgYSwgTm9kZSBiKTsKQEAgLTQ1Nyw5ICs0NTcsOSBAQCBlbnVtIFRlc3RDb25m
aWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93CiAgICAgW0V4cG9zZWQ9V2luZG93XSBhdHRyaWJ1
dGUgbG9uZyBjb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QXR0cmlidXRlOwogICAgIFtFeHBv
c2VkPVdvcmtlcl0gYXR0cmlidXRlIGxvbmcgY29uZGl0aW9uYWxseUV4cG9zZWRUb1dvcmtlckF0
dHJpYnV0ZTsKICAgICBbRXhwb3NlZD0oV29ya2VyLCBXaW5kb3cpXSBhdHRyaWJ1dGUgbG9uZyBj
b25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2VyQXR0cmlidXRlOwotICAgIFtFeHBv
c2VkPVdpbmRvd10gdm9pZCBjb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93RnVuY3Rpb24oKTsK
LSAgICBbRXhwb3NlZD1Xb3JrZXJdIHZvaWQgY29uZGl0aW9uYWxseUV4cG9zZWRUb1dvcmtlckZ1
bmN0aW9uKCk7Ci0gICAgW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0gdm9pZCBjb25kaXRpb25h
bGx5RXhwb3NlZFRvV2luZG93QW5kV29ya2VyRnVuY3Rpb24oKTsKKyAgICBbRXhwb3NlZD1XaW5k
b3ddIHVuZGVmaW5lZCBjb25kaXRpb25hbGx5RXhwb3NlZFRvV2luZG93RnVuY3Rpb24oKTsKKyAg
ICBbRXhwb3NlZD1Xb3JrZXJdIHVuZGVmaW5lZCBjb25kaXRpb25hbGx5RXhwb3NlZFRvV29ya2Vy
RnVuY3Rpb24oKTsKKyAgICBbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIpXSB1bmRlZmluZWQgY29u
ZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRvd0FuZFdvcmtlckZ1bmN0aW9uKCk7CiB9OwogCiAvLyBU
aGUgZm9sbG93aW5nIGNvbW1lbnQgc2hvdWxkIG5vdCBnZW5lcmF0ZSBhbnkgY29kZS4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3BlcmF0aW9uQmFzZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RPcGVyYXRpb25CYXNlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25CYXNlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzMsNiArMzMsNiBAQAogICAgIENvbmRpdGlvbmFsPUNvbmRpdGlvbkJhc2UsCiAgICAg
Tm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFjZSBUZXN0T3BlcmF0aW9uQmFzZSB7Ci0gICAg
dm9pZCBub25Db25kaXRpb25hbE9wZXJhdGlvbigpOwotICAgIFtDb25kaXRpb25hbD1Db25kaXRp
b25PcGVyYXRpb25dIHZvaWQgY29uZGl0aW9uYWxPcGVyYXRpb24oKTsKKyAgICB1bmRlZmluZWQg
bm9uQ29uZGl0aW9uYWxPcGVyYXRpb24oKTsKKyAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uT3Bl
cmF0aW9uXSB1bmRlZmluZWQgY29uZGl0aW9uYWxPcGVyYXRpb24oKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaWRsCShyZXZpc2lv
biAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDYgQEAKICAgICBbQ2FjaGVkQXR0cmlidXRlXSBhdHRyaWJ1dGUgU2VyaWFsaXplZFNjcmlw
dFZhbHVlIGNhY2hlZFZhbHVlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxNZXNz
YWdlUG9ydD4gcG9ydHM7CiAgICAgW0NhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRl
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBjYWNoZWRSZWFkb25seVZhbHVlOwotICAgIHZvaWQgZnVu
Y3Rpb24oU2VyaWFsaXplZFNjcmlwdFZhbHVlIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgZnVuY3Rp
b24oU2VyaWFsaXplZFNjcmlwdFZhbHVlIHZhbHVlKTsKICAgICBTZXJpYWxpemVkU2NyaXB0VmFs
dWUgZnVuY3Rpb25SZXR1cm5pbmcoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdFN1cHBsZW1lbnRhbC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVtZW50YWwuaWRsCShyZXZp
c2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dFN1cHBsZW1lbnRhbC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE1ICs0MCwxNSBAQAogCiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdEF0dHJpYnV0ZTsKIAotICAg
IHZvaWQgc3VwcGxlbWVudGFsTWV0aG9kMSgpOworICAgIHVuZGVmaW5lZCBzdXBwbGVtZW50YWxN
ZXRob2QxKCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93
RXhjZXB0aW9uXSBUZXN0T2JqIHN1cHBsZW1lbnRhbE1ldGhvZDIoRE9NU3RyaW5nIHN0ckFyZywg
VGVzdE9iaiBvYmpBcmcpOwotICAgIFtDdXN0b21dIHZvaWQgc3VwcGxlbWVudGFsTWV0aG9kMygp
OwotICAgIHN0YXRpYyB2b2lkIHN1cHBsZW1lbnRhbE1ldGhvZDQoKTsKKyAgICBbQ3VzdG9tXSB1
bmRlZmluZWQgc3VwcGxlbWVudGFsTWV0aG9kMygpOworICAgIHN0YXRpYyB1bmRlZmluZWQgc3Vw
cGxlbWVudGFsTWV0aG9kNCgpOwogCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1VQUExFTUVO
VEFMQ09OU1RBTlQxID0gMTsKICAgICBbUmVmbGVjdD1DT05TVF9JTVBMXSBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVVBQTEVNRU5UQUxDT05TVEFOVDIgPSAyOwogCi0gICAgW0pTQnVpbHRpbl0gdm9p
ZCBidWlsdGluRnVuY3Rpb24oKTsKKyAgICBbSlNCdWlsdGluXSB1bmRlZmluZWQgYnVpbHRpbkZ1
bmN0aW9uKCk7CiAgICAgW0pTQnVpbHRpbl0gYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGJ1aWx0
aW5BdHRyaWJ1dGU7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDIxICs0MCwyMSBAQCBpbnRlcmZhY2UgVGVzdFR5cGVkZWZzIHsK
ICAgICAKICAgICBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIFQgVGVzdFN1Yk9iajsKIAotICAg
IHZvaWQgZnVuYyhvcHRpb25hbCBTRVFVRU5DRV9PRl9MT05HUyB4ID0gW10pOworICAgIHVuZGVm
aW5lZCBmdW5jKG9wdGlvbmFsIFNFUVVFTkNFX09GX0xPTkdTIHggPSBbXSk7CiAKLSAgICB2b2lk
IHNldFNoYWRvdyhET1VCTEUgd2lkdGgsIERPVUJMRSBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9h
dCBibHVyLCBvcHRpb25hbCBTVFJJTkcgY29sb3IsIG9wdGlvbmFsIERPVUJMRSBhbHBoYSk7Cisg
ICAgdW5kZWZpbmVkIHNldFNoYWRvdyhET1VCTEUgd2lkdGgsIERPVUJMRSBoZWlnaHQsIHVucmVz
dHJpY3RlZCBmbG9hdCBibHVyLCBvcHRpb25hbCBTVFJJTkcgY29sb3IsIG9wdGlvbmFsIERPVUJM
RSBhbHBoYSk7CiAKICAgICBVTE9OR0xPTkcgbWV0aG9kV2l0aFNlcXVlbmNlQXJnKHNlcXVlbmNl
PFNDUklQVF9WQUxVRT4gc2VxdWVuY2VBcmcpOwogCi0gICAgdm9pZCBudWxsYWJsZVNlcXVlbmNl
QXJnKFNFUVVFTkNFX09GX1NUUklOR1M/IHNlcXVlbmNlQXJnKTsKLSAgICB2b2lkIHNlcXVlbmNl
T2ZOdWxsYWJsZXNBcmcoc2VxdWVuY2U8U1RSSU5HPz4gc2VxdWVuY2VBcmcpOwotICAgIHZvaWQg
bnVsbGFibGVTZXF1ZW5jZU9mTnVsbGFibGVzQXJnKFNFUVVFTkNFX09GX05VTExBQkxFX1NUUklO
R1M/IHNlcXVlbmNlQXJnKTsKLSAgICB2b2lkIG51bGxhYmxlU2VxdWVuY2VPZlVuaW9uc0FyZyhz
ZXF1ZW5jZTwoU1RSSU5HIG9yIFNFUVVFTkNFX09GX1NUUklOR1MpPj8gc2VxdWVuY2VBcmcpOwor
ICAgIHVuZGVmaW5lZCBudWxsYWJsZVNlcXVlbmNlQXJnKFNFUVVFTkNFX09GX1NUUklOR1M/IHNl
cXVlbmNlQXJnKTsKKyAgICB1bmRlZmluZWQgc2VxdWVuY2VPZk51bGxhYmxlc0FyZyhzZXF1ZW5j
ZTxTVFJJTkc/PiBzZXF1ZW5jZUFyZyk7CisgICAgdW5kZWZpbmVkIG51bGxhYmxlU2VxdWVuY2VP
Zk51bGxhYmxlc0FyZyhTRVFVRU5DRV9PRl9OVUxMQUJMRV9TVFJJTkdTPyBzZXF1ZW5jZUFyZyk7
CisgICAgdW5kZWZpbmVkIG51bGxhYmxlU2VxdWVuY2VPZlVuaW9uc0FyZyhzZXF1ZW5jZTwoU1RS
SU5HIG9yIFNFUVVFTkNFX09GX1NUUklOR1MpPj8gc2VxdWVuY2VBcmcpOwogCi0gICAgdm9pZCB1
bmlvbkFyZyhVTklPTl9TVFJJTkdfTE9ORyB1bmlvbkFyZyk7CisgICAgdW5kZWZpbmVkIHVuaW9u
QXJnKFVOSU9OX1NUUklOR19MT05HIHVuaW9uQXJnKTsKIAotICAgIHZvaWQgZnVuY1dpdGhDbGFt
cChbQ2xhbXBdIFVMT05HTE9ORyBhcmcxLCBvcHRpb25hbCBbQ2xhbXBdIFVMT05HTE9ORyBhcmcy
KTsKLSAgICB2b2lkIGZ1bmNXaXRoQ2xhbXBJblR5cGVkZWYoQ0xBTVBFRF9MT05HIGFyZyk7Cisg
ICAgdW5kZWZpbmVkIGZ1bmNXaXRoQ2xhbXAoW0NsYW1wXSBVTE9OR0xPTkcgYXJnMSwgb3B0aW9u
YWwgW0NsYW1wXSBVTE9OR0xPTkcgYXJnMik7CisgICAgdW5kZWZpbmVkIGZ1bmNXaXRoQ2xhbXBJ
blR5cGVkZWYoQ0xBTVBFRF9MT05HIGFyZyk7CiAKICAgICBhdHRyaWJ1dGUgW0NsYW1wXSBVTE9O
R0xPTkcgYXR0cmlidXRlV2l0aENsYW1wOwogICAgIGF0dHJpYnV0ZSBDTEFNUEVEX0xPTkcgYXR0
cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmOwpAQCAtNjcsNyArNjcsNyBAQCBpbnRlcmZhY2UgVGVz
dFR5cGVkZWZzIHsKICAgICBib29sZWFuIGNhbGxXaXRoU2VxdWVuY2VUaGF0UmVxdWlyZXNJbmNs
dWRlKHNlcXVlbmNlPFRlc3RFdmVudFRhcmdldD4gc2VxdWVuY2VBcmcpOwogCiAgICAgLy8gRXhj
ZXB0aW9ucwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBtZXRob2RXaXRoRXhjZXB0aW9u
KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgbWV0aG9kV2l0aEV4Y2VwdGlv
bigpOwogCiAgICAgLy8gQnVpbHRpbiBUeXBlZGVmcwogICAgIGF0dHJpYnV0ZSBCdWZmZXJTb3Vy
Y2UgYnVmZmVyU291cmNlQXR0cjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24u
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NCArMjgsNCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9VEVTVF9DT05ESVRJT05BTCwKLV0gY2Fs
bGJhY2sgVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uID0gdm9pZCAoRmxvYXQzMkFycmF5IGFycmF5
UGFyYW0sIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBzcnpQYXJhbSwgRE9NU3RyaW5nIHN0ckFyZywg
Ym9vbGVhbiBib29sUGFyYW0sIGxvbmcgbG9uZ1BhcmFtLCBUZXN0Tm9kZSB0ZXN0Tm9kZVBhcmFt
KTsKK10gY2FsbGJhY2sgVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uID0gdW5kZWZpbmVkIChGbG9h
dDMyQXJyYXkgYXJyYXlQYXJhbSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlIHNyelBhcmFtLCBET01T
dHJpbmcgc3RyQXJnLCBib29sZWFuIGJvb2xQYXJhbSwgbG9uZyBsb25nUGFyYW0sIFRlc3ROb2Rl
IHRlc3ROb2RlUGFyYW0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdC5jcHAJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9u
V2l0aFRoaXNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIEpTVGVz
dENhbGxiYWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdDo6fkoKICNlbmRpZgogfQogCi1DYWxsYmFj
a1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxi
YWNrRnVuY3Rpb25XaXRoVGhpc09iamVjdDo6aGFuZGxlRXZlbnQodHlwZW5hbWUgSURMSW50ZXJm
YWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVyVHlwZSB0aGlzT2JqZWN0LCB0eXBlbmFtZSBJRExTZXF1
ZW5jZTxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pjo6UGFyYW1ldGVyVHlwZSBwYXJhbWV0ZXIpCitD
YWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4g
SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0OjpoYW5kbGVFdmVudCh0eXBlbmFt
ZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRoaXNPYmplY3QsIHR5cGVu
YW1lIElETFNlcXVlbmNlPElETEludGVyZmFjZTxUZXN0Tm9kZT4+OjpQYXJhbWV0ZXJUeXBlIHBh
cmFtZXRlcikKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAgICAgIHJldHVy
biBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRo
aXNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUaGlzT2JqZWN0LmgJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRoaXNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAs
NyArNDAsNyBAQCBwdWJsaWM6CiAgICAgSlNDYWxsYmFja0RhdGFTdHJvbmcqIGNhbGxiYWNrRGF0
YSgpIHsgcmV0dXJuIG1fZGF0YTsgfQogCiAgICAgLy8gRnVuY3Rpb25zCi0gICAgQ2FsbGJhY2tS
ZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBoYW5kbGVFdmVudCh0
eXBlbmFtZSBJRExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRoaXNPYmplY3Qs
IHR5cGVuYW1lIElETFNlcXVlbmNlPElETEludGVyZmFjZTxUZXN0Tm9kZT4+OjpQYXJhbWV0ZXJU
eXBlIHBhcmFtZXRlcikgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURM
VW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGhhbmRsZUV2ZW50KHR5cGVuYW1lIElETElu
dGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGhpc09iamVjdCwgdHlwZW5hbWUgSURM
U2VxdWVuY2U8SURMSW50ZXJmYWNlPFRlc3ROb2RlPj46OlBhcmFtZXRlclR5cGUgcGFyYW1ldGVy
KSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0aFRo
aXNPYmplY3QoSlNDOjpKU09iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlv
bldpdGhUeXBlZGVmcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb25XaXRoVHlwZWRlZnMuY3BwCShy
ZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAgSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmczo6fkpT
VAogI2VuZGlmCiB9CiAKLUNhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWVu
dGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmczo6aGFuZGxlRXZl
bnQodHlwZW5hbWUgSURMU2VxdWVuY2U8SURMTnVsbGFibGU8SURMTG9uZz4+OjpQYXJhbWV0ZXJU
eXBlIHNlcXVlbmNlQXJnLCB0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdBcmcp
CitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlw
ZT4gSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmczo6aGFuZGxlRXZlbnQodHlwZW5h
bWUgSURMU2VxdWVuY2U8SURMTnVsbGFibGU8SURMTG9uZz4+OjpQYXJhbWV0ZXJUeXBlIHNlcXVl
bmNlQXJnLCB0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdBcmcpCiB7CiAgICAg
aWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAgICByZXR1cm4gQ2FsbGJhY2tSZXN1bHRU
eXBlOjpVbmFibGVUb0V4ZWN1dGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBlZGVmcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxs
YmFja0Z1bmN0aW9uV2l0aFR5cGVkZWZzLmgJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uV2l0
aFR5cGVkZWZzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAg
IEpTQ2FsbGJhY2tEYXRhU3Ryb25nKiBjYWxsYmFja0RhdGEoKSB7IHJldHVybiBtX2RhdGE7IH0K
IAogICAgIC8vIEZ1bmN0aW9ucwotICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6
OkltcGxlbWVudGF0aW9uVHlwZT4gaGFuZGxlRXZlbnQodHlwZW5hbWUgSURMU2VxdWVuY2U8SURM
TnVsbGFibGU8SURMTG9uZz4+OjpQYXJhbWV0ZXJUeXBlIHNlcXVlbmNlQXJnLCB0eXBlbmFtZSBJ
RExMb25nOjpQYXJhbWV0ZXJUeXBlIGxvbmdBcmcpIG92ZXJyaWRlOworICAgIENhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBoYW5kbGVFdmVu
dCh0eXBlbmFtZSBJRExTZXF1ZW5jZTxJRExOdWxsYWJsZTxJRExMb25nPj46OlBhcmFtZXRlclR5
cGUgc2VxdWVuY2VBcmcsIHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ0FyZykg
b3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbldpdGhUeXBl
ZGVmcyhKU0M6OkpTT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDcgKzE3Miw3IEBAIEpTVmFsdWUgSlNUZXN0Q2Fs
bGJhY2tJbnRlcmZhY2U6OmdldENvbnMKICAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2VDb25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlwZW5h
bWUgSURMVm9pZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6
Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmlu
ZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNr
V2l0aE5vUGFyYW0oKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAg
cmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVjdXRlOwpAQCAtMTk4LDcgKzE5
OCw3IEBAIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxlbWUKICAgICByZXR1
cm4geyB9OwogfQogCi1DYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRh
dGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhBcnJheVBhcmFt
KHR5cGVuYW1lIElETEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtKQorQ2Fs
bGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpT
VGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKHR5cGVuYW1lIElE
TEZsb2F0MzJBcnJheTo6UGFyYW1ldGVyVHlwZSBhcnJheVBhcmFtKQogewogICAgIGlmICghY2Fu
SW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5h
YmxlVG9FeGVjdXRlOwpAQCAtMjI1LDcgKzIyNSw3IEBAIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1l
IElETFZvaWQ6OkltcGxlbWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFja1Jlc3VsdDx0
eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJm
YWNlOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbSh0eXBlbmFtZSBJRExT
ZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlw
ZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3RyaW5nOjpQYXJhbWV0ZXJUeXBlIHN0clBhcmFt
KQorQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5
cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0
VmFsdWVQYXJhbSh0eXBlbmFtZSBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPjo6UGFyYW1ldGVyVHlwZSBzcnpQYXJhbSwgdHlwZW5hbWUgSURMRE9NU3RyaW5n
OjpQYXJhbWV0ZXJUeXBlIHN0clBhcmFtKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2so
KSkKICAgICAgICAgcmV0dXJuIENhbGxiYWNrUmVzdWx0VHlwZTo6VW5hYmxlVG9FeGVjdXRlOwpA
QCAtMjUzLDcgKzI1Myw3IEBAIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6OkltcGxl
bWUKICAgICByZXR1cm4geyB9OwogfQogCi1DYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lk
OjpJbXBsZW1lbnRhdGlvblR5cGU+IEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlOjpjYWxsYmFja1dp
dGhTdHJpbmdMaXN0KHR5cGVuYW1lIElETEludGVyZmFjZTxET01TdHJpbmdMaXN0Pjo6UGFyYW1l
dGVyVHlwZSBsaXN0UGFyYW0pCitDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6
OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmNhbGxiYWNrV2l0
aFN0cmluZ0xpc3QodHlwZW5hbWUgSURMSW50ZXJmYWNlPERPTVN0cmluZ0xpc3Q+OjpQYXJhbWV0
ZXJUeXBlIGxpc3RQYXJhbSkKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAg
ICAgIHJldHVybiBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKQEAgLTI4MCw3
ICsyODAsNyBAQCBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lCiAgICAg
cmV0dXJuIHsgfTsKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVt
ZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoQm9vbGVh
bih0eXBlbmFtZSBJRExCb29sZWFuOjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSkKK0NhbGxiYWNr
UmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RD
YWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoQm9vbGVhbih0eXBlbmFtZSBJRExCb29sZWFu
OjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSkKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNr
KCkpCiAgICAgICAgIHJldHVybiBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsK
QEAgLTMwNyw3ICszMDcsNyBAQCBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBs
ZW1lCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9p
ZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tS
ZXF1aXJlc1RoaXNUb1Bhc3ModHlwZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFy
YW0sIHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5v
ZGVQYXJhbSkKK0NhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50
YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNU
b1Bhc3ModHlwZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFyYW0sIHR5cGVuYW1l
IElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5vZGVQYXJhbSkKIHsK
ICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAgICAgIHJldHVybiBDYWxsYmFja1Jl
c3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0lu
dGVyZmFjZS5oCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpA
QCAtNDUsMTMgKzQ1LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpKU1ZhbHVlIGdldENv
bnN0cnVjdG9yKEpTQzo6Vk0mLCBjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAv
LyBGdW5jdGlvbnMKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1l
bnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aE5vUGFyYW0oKSBvdmVycmlkZTsKLSAgICBDYWxsYmFj
a1Jlc3VsdDx0eXBlbmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0
aEFycmF5UGFyYW0odHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5
UGFyYW0pIG92ZXJyaWRlOwotICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFZvaWQ6Oklt
cGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0o
dHlwZW5hbWUgSURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT46
OlBhcmFtZXRlclR5cGUgc3J6UGFyYW0sIHR5cGVuYW1lIElETERPTVN0cmluZzo6UGFyYW1ldGVy
VHlwZSBzdHJQYXJhbSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURM
VW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aE5vUGFyYW0oKSBvdmVy
cmlkZTsKKyAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVu
dGF0aW9uVHlwZT4gY2FsbGJhY2tXaXRoQXJyYXlQYXJhbSh0eXBlbmFtZSBJRExGbG9hdDMyQXJy
YXk6OlBhcmFtZXRlclR5cGUgYXJyYXlQYXJhbSkgb3ZlcnJpZGU7CisgICAgQ2FsbGJhY2tSZXN1
bHQ8dHlwZW5hbWUgSURMVW5kZWZpbmVkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0
aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKHR5cGVuYW1lIElETFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFtLCB0eXBl
bmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3RyUGFyYW0pIG92ZXJyaWRlOwogICAg
IENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETExvbmc6OkltcGxlbWVudGF0aW9uVHlwZT4gY3Vz
dG9tQ2FsbGJhY2sodHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3RPYmo+OjpQYXJhbWV0ZXJUeXBl
IHRlc3RPYmpQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1ldGVy
VHlwZSB0ZXN0Tm9kZVBhcmFtKSBvdmVycmlkZTsKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFt
ZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrV2l0aFN0cmluZ0xpc3QodHlw
ZW5hbWUgSURMSW50ZXJmYWNlPERPTVN0cmluZ0xpc3Q+OjpQYXJhbWV0ZXJUeXBlIGxpc3RQYXJh
bSkgb3ZlcnJpZGU7Ci0gICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1wbGVt
ZW50YXRpb25UeXBlPiBjYWxsYmFja1dpdGhCb29sZWFuKHR5cGVuYW1lIElETEJvb2xlYW46OlBh
cmFtZXRlclR5cGUgYm9vbFBhcmFtKSBvdmVycmlkZTsKLSAgICBDYWxsYmFja1Jlc3VsdDx0eXBl
bmFtZSBJRExWb2lkOjpJbXBsZW1lbnRhdGlvblR5cGU+IGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9Q
YXNzKHR5cGVuYW1lIElETExvbmc6OlBhcmFtZXRlclR5cGUgbG9uZ1BhcmFtLCB0eXBlbmFtZSBJ
RExJbnRlcmZhY2U8VGVzdE5vZGU+OjpQYXJhbWV0ZXJUeXBlIHRlc3ROb2RlUGFyYW0pIG92ZXJy
aWRlOworICAgIENhbGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50
YXRpb25UeXBlPiBjYWxsYmFja1dpdGhTdHJpbmdMaXN0KHR5cGVuYW1lIElETEludGVyZmFjZTxE
T01TdHJpbmdMaXN0Pjo6UGFyYW1ldGVyVHlwZSBsaXN0UGFyYW0pIG92ZXJyaWRlOworICAgIENh
bGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBj
YWxsYmFja1dpdGhCb29sZWFuKHR5cGVuYW1lIElETEJvb2xlYW46OlBhcmFtZXRlclR5cGUgYm9v
bFBhcmFtKSBvdmVycmlkZTsKKyAgICBDYWxsYmFja1Jlc3VsdDx0eXBlbmFtZSBJRExVbmRlZmlu
ZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3ModHlwZW5h
bWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFj
ZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5vZGVQYXJhbSkgb3ZlcnJpZGU7CiAgICAg
Q2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMRE9NU3RyaW5nOjpJbXBsZW1lbnRhdGlvblR5cGU+
IGNhbGxiYWNrV2l0aEFSZXR1cm5WYWx1ZSgpIG92ZXJyaWRlOwogICAgIENhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETERPTVN0cmluZzo6SW1wbGVtZW50YXRpb25UeXBlPiBjYWxsYmFja1RoYXRS
ZXRocm93c0V4Y2VwdGlvbnModHlwZW5hbWUgSURMRW51bWVyYXRpb248VGVzdENhbGxiYWNrSW50
ZXJmYWNlOjpFbnVtPjo6UGFyYW1ldGVyVHlwZSBlbnVtUGFyYW0pIG92ZXJyaWRlOwogICAgIENh
bGxiYWNrUmVzdWx0PHR5cGVuYW1lIElETERPTVN0cmluZzo6SW1wbGVtZW50YXRpb25UeXBlPiBj
YWxsYmFja1RoYXRTa2lwc0ludm9rZUNoZWNrKHR5cGVuYW1lIElETERpY3Rpb25hcnk8VGVzdENh
bGxiYWNrSW50ZXJmYWNlOjpEaWN0aW9uYXJ5Pjo6UGFyYW1ldGVyVHlwZSBkaWN0aW9uYXJ5UGFy
YW0pIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDM1LDggKzE0MzUsOCBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRlc3RGZWF0dXJlR2V0
U2VjcmV0Qm9vbGVhbihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKICNl
bmRpZgotSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uVm9pZE1ldGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUq
KTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxs
RnJhbWUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpD
YWxsRnJhbWUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkNhbGxGcmFtZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQnl0ZU1ldGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2RXaXRoQXJncyhKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk9jdGV0TWV0aG9kKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwpAQCAtMjE3MSw4ICsyMTcxLDggQEAgc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialBybwogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50
cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCi0gICAgeyAidm9pZE1ldGhvZCIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9kKSwgKGludHB0cl90KSAoMCkgfSB9LAotICAgIHsg
InZvaWRNZXRob2RXaXRoQXJncyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0aG9k
V2l0aEFyZ3MpLCAoaW50cHRyX3QpICgzKSB9IH0sCisgICAgeyAidW5kZWZpbmVkTWV0aG9kIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5lZE1ldGhvZCksIChpbnRwdHJfdCkgKDAp
IH0gfSwKKyAgICB7ICJ1bmRlZmluZWRNZXRob2RXaXRoQXJncyIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJncyksIChpbnRwdHJfdCkgKDMpIH0gfSwKICAg
ICB7ICJieXRlTWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJh
d05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2QpLCAo
aW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiYnl0ZU1ldGhvZFdpdGhBcmdzIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2RXaXRoQXJncyksIChpbnRwdHJfdCkgKDMpIH0gfSwK
ICAgICB7ICJvY3RldE1ldGhvZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PY3RldE1ldGhv
ZCksIChpbnRwdHJfdCkgKDApIH0gfSwKQEAgLTI0NzgsNyArMjQ3OCw3IEBAIHZvaWQgSlNUZXN0
T2JqUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbigKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLCBnbG9iYWxPYmplY3QoKS0+YXJyYXlQcm90b3R5cGUo
KS0+Z2V0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS52YWx1ZXNQ
cml2YXRlTmFtZSgpKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSk7CiAgICAgYWRkVmFsdWVJdGVyYWJsZU1ldGhvZHMoKmdsb2JhbE9iamVj
dCgpLCAqdGhpcyk7CiAgICAgSlNPYmplY3QmIHVuc2NvcGFibGVzID0gKmNvbnN0cnVjdEVtcHR5
T2JqZWN0KGdsb2JhbE9iamVjdCgpLT52bSgpLCBnbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlw
ZU9iamVjdFN0cnVjdHVyZSgpKTsKLSAgICB1bnNjb3BhYmxlcy5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICJ2b2lkTWV0aG9kIiksIGpzQm9vbGVhbih0cnVlKSk7Cisg
ICAgdW5zY29wYWJsZXMucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAi
dW5kZWZpbmVkTWV0aG9kIiksIGpzQm9vbGVhbih0cnVlKSk7CiAgICAgdW5zY29wYWJsZXMucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAic2hvcnRBdHRyIiksIGpzQm9v
bGVhbih0cnVlKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnVuc2NvcGFibGVzU3ltYm9sLCAmdW5zY29wYWJsZXMsIEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwog
ICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhPVVRfVFJBTlNJVElPTigpOwpAQCAtNTE1Nyw3ICs1
MTU3LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ialRlc3RSZWFkTwogICAgIGF1
dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNP
YmplY3Qud3JhcHBlZCgpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9K
UzxJRExQcm9taXNlPElETFZvaWQ+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpc09iamVjdC5n
bG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC50ZXN0UmVhZE9ubHlWb2lkUHJvbWlzZUF0
dHJpYnV0ZSgpKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJ
RExQcm9taXNlPElETFVuZGVmaW5lZD4+KGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzT2JqZWN0
Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBpbXBsLnRlc3RSZWFkT25seVZvaWRQcm9taXNl
QXR0cmlidXRlKCkpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialRlc3RSZWFkT25s
eVZvaWRQcm9taXNlQXR0cmlidXRlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKQEAgLTU3NTUsNyArNTc1
NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHIKIAogI2VuZGlm
CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvblZvaWRNZXRob2RCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxK
U1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQorc3RhdGljIGlubGluZSBKU0M6
OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9k
Qm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxG
cmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Q2xhc3NQ
YXJhbWV0ZXIgY2FzdGVkVGhpcykKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNh
bEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CkBAIC01NzYzLDE2ICs1NzYzLDE2IEBAIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVk
SlNWYWx1ZSBqc1Rlc3QKICAgICBVTlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKICAgICBhdXRvJiBp
bXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwogICAgIHRocm93U2NvcGUucmVsZWFzZSgpOwot
ICAgIGltcGwudm9pZE1ldGhvZCgpOworICAgIGltcGwudW5kZWZpbmVkTWV0aG9kKCk7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2QoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQor
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVu
ZGVmaW5lZE1ldGhvZChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+Ojpj
YWxsPGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZEJvZHk+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAidm9pZE1ldGhvZCIpOworICAgIHJldHVybiBJRExPcGVy
YXRpb248SlNUZXN0T2JqPjo6Y2FsbDxqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblVuZGVmaW5l
ZE1ldGhvZEJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAidW5kZWZpbmVk
TWV0aG9kIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJnc0JvZHkoSlNDOjpKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlw
ZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMp
CitzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25VbmRlZmluZWRNZXRob2RXaXRoQXJnc0JvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURM
T3BlcmF0aW9uPEpTVGVzdE9iaj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCiB7CiAgICAg
YXV0byYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtNTc4OCwxNiArNTc4OCwxNiBA
QCBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0CiAgICAgYXV0byBzdHJB
cmcgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50
MS52YWx1ZSgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRK
U1ZhbHVlKCkpOwogICAgIEVuc3VyZVN0aWxsQWxpdmVTY29wZSBhcmd1bWVudDIgPSBjYWxsRnJh
bWUtPnVuY2hlY2tlZEFyZ3VtZW50KDIpOwotICAgIGF1dG8gb2JqQXJnID0gY29udmVydDxJRExJ
bnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDIudmFsdWUo
KSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJv
d1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmpl
Y3QsIHNjb3BlLCAyLCAib2JqQXJnIiwgIlRlc3RPYmplY3QiLCAidm9pZE1ldGhvZFdpdGhBcmdz
IiwgIlRlc3RPYmoiKTsgfSk7CisgICAgYXV0byBvYmpBcmcgPSBjb252ZXJ0PElETEludGVyZmFj
ZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50Mi52YWx1ZSgpLCBbXShK
U0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUm
IHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2Nv
cGUsIDIsICJvYmpBcmciLCAiVGVzdE9iamVjdCIsICJ1bmRlZmluZWRNZXRob2RXaXRoQXJncyIs
ICJUZXN0T2JqIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5j
b2RlZEpTVmFsdWUoKSk7CiAgICAgdGhyb3dTY29wZS5yZWxlYXNlKCk7Ci0gICAgaW1wbC52b2lk
TWV0aG9kV2l0aEFyZ3MoV1RGTW92ZShsb25nQXJnKSwgV1RGTW92ZShzdHJBcmcpLCAqb2JqQXJn
KTsKKyAgICBpbXBsLnVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzKFdURk1vdmUobG9uZ0FyZyksIFdU
Rk1vdmUoc3RyQXJnKSwgKm9iakFyZyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyhKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5kZWZpbmVkTWV0aG9kV2l0aEFy
Z3MoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQogewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Y2FsbDxqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJnc0JvZHk+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCAqY2FsbEZyYW1lLCAidm9pZE1ldGhvZFdpdGhBcmdzIik7CisgICAgcmV0dXJuIElE
TE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpjYWxsPGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVW5k
ZWZpbmVkTWV0aG9kV2l0aEFyZ3NCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFt
ZSwgInVuZGVmaW5lZE1ldGhvZFdpdGhBcmdzIik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgSlNDOjpF
bmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkJ5dGVNZXRob2RCb2R5KEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBj
YWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRl
ciBjYXN0ZWRUaGlzKQpAQCAtNzM2OCw3ICs3MzY4LDcgQEAgc3RhdGljIGlubGluZSBKU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzVGVzdAogICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwogICAgIGF1
dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgRW5zdXJlU3RpbGxBbGl2ZVNj
b3BlIGFyZ3VtZW50MCA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7Ci0gICAgYXV0byBwcm9taXNl
ID0gYXJndW1lbnQwLnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/IG51bGxwdHIgOiBjb252ZXJ0PElE
TFByb21pc2U8SURMVm9pZD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUo
KSk7CisgICAgYXV0byBwcm9taXNlID0gYXJndW1lbnQwLnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/
IG51bGxwdHIgOiBjb252ZXJ0PElETFByb21pc2U8SURMVW5kZWZpbmVkPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIHRocm93U2NvcGUucmVsZWFzZSgpOwog
ICAgIGltcGwubWV0aG9kV2l0aE9wdGlvbmFsUHJvbWlzZShXVEZNb3ZlKHByb21pc2UpKTsKQEAg
LTkwNjgsNyArOTA2OCw3IEBAIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rl
c3QKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxG
cmFtZSk7CiAgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKLSAgICBSRUxF
QVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMUHJvbWlz
ZTxJRExWb2lkPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgaW1wbC50ZXN0UmV0dXJuc093blByb21pc2VBbmRQcm9taXNlUHJveHlGdW5jdGlvbigp
KSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUo
dG9KUzxJRExQcm9taXNlPElETFVuZGVmaW5lZD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIGltcGwudGVzdFJldHVybnNPd25Qcm9taXNlQW5kUHJv
bWlzZVByb3h5RnVuY3Rpb24oKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRlc3RSZXR1cm5zT3duUHJvbWlzZUFuZFByb21p
c2VQcm94eUZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1
bmN0aW9uLmNwcAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFZvaWRDYWxsYmFja0Z1bmN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjAsNyArNjAsNyBAQCBKU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbjo6fkpTVGVz
dFZvaWRDCiAjZW5kaWYKIH0KIAotQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9pZDo6SW1w
bGVtZW50YXRpb25UeXBlPiBKU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbjo6aGFuZGxlRXZlbnQo
dHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5UGFyYW0sIHR5cGVu
YW1lIElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJh
bWV0ZXJUeXBlIHNyelBhcmFtLCB0eXBlbmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUg
c3RyQXJnLCB0eXBlbmFtZSBJRExCb29sZWFuOjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSwgdHlw
ZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVy
ZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5vZGVQYXJhbSkKK0NhbGxiYWNrUmVz
dWx0PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RWb2lk
Q2FsbGJhY2tGdW5jdGlvbjo6aGFuZGxlRXZlbnQodHlwZW5hbWUgSURMRmxvYXQzMkFycmF5OjpQ
YXJhbWV0ZXJUeXBlIGFycmF5UGFyYW0sIHR5cGVuYW1lIElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0ZXJUeXBlIHNyelBhcmFtLCB0eXBlbmFt
ZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3RyQXJnLCB0eXBlbmFtZSBJRExCb29sZWFu
OjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSwgdHlwZW5hbWUgSURMTG9uZzo6UGFyYW1ldGVyVHlw
ZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFjZTxUZXN0Tm9kZT46OlBhcmFtZXRlclR5
cGUgdGVzdE5vZGVQYXJhbSkKIHsKICAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCiAgICAg
ICAgIHJldHVybiBDYWxsYmFja1Jlc3VsdFR5cGU6OlVuYWJsZVRvRXhlY3V0ZTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RWb2lkQ2FsbGJhY2tG
dW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RWb2lkQ2FsbGJhY2tGdW5jdGlvbi5oCShyZXZpc2lvbiAyNjYyOTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Vm9pZENhbGxi
YWNrRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAg
ICAgSlNDYWxsYmFja0RhdGFTdHJvbmcqIGNhbGxiYWNrRGF0YSgpIHsgcmV0dXJuIG1fZGF0YTsg
fQogCiAgICAgLy8gRnVuY3Rpb25zCi0gICAgQ2FsbGJhY2tSZXN1bHQ8dHlwZW5hbWUgSURMVm9p
ZDo6SW1wbGVtZW50YXRpb25UeXBlPiBoYW5kbGVFdmVudCh0eXBlbmFtZSBJRExGbG9hdDMyQXJy
YXk6OlBhcmFtZXRlclR5cGUgYXJyYXlQYXJhbSwgdHlwZW5hbWUgSURMU2VyaWFsaXplZFNjcmlw
dFZhbHVlPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT46OlBhcmFtZXRlclR5cGUgc3J6UGFyYW0sIHR5
cGVuYW1lIElETERPTVN0cmluZzo6UGFyYW1ldGVyVHlwZSBzdHJBcmcsIHR5cGVuYW1lIElETEJv
b2xlYW46OlBhcmFtZXRlclR5cGUgYm9vbFBhcmFtLCB0eXBlbmFtZSBJRExMb25nOjpQYXJhbWV0
ZXJUeXBlIGxvbmdQYXJhbSwgdHlwZW5hbWUgSURMSW50ZXJmYWNlPFRlc3ROb2RlPjo6UGFyYW1l
dGVyVHlwZSB0ZXN0Tm9kZVBhcmFtKSBvdmVycmlkZTsKKyAgICBDYWxsYmFja1Jlc3VsdDx0eXBl
bmFtZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gaGFuZGxlRXZlbnQodHlwZW5h
bWUgSURMRmxvYXQzMkFycmF5OjpQYXJhbWV0ZXJUeXBlIGFycmF5UGFyYW0sIHR5cGVuYW1lIElE
TFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTxTZXJpYWxpemVkU2NyaXB0VmFsdWU+OjpQYXJhbWV0ZXJU
eXBlIHNyelBhcmFtLCB0eXBlbmFtZSBJRExET01TdHJpbmc6OlBhcmFtZXRlclR5cGUgc3RyQXJn
LCB0eXBlbmFtZSBJRExCb29sZWFuOjpQYXJhbWV0ZXJUeXBlIGJvb2xQYXJhbSwgdHlwZW5hbWUg
SURMTG9uZzo6UGFyYW1ldGVyVHlwZSBsb25nUGFyYW0sIHR5cGVuYW1lIElETEludGVyZmFjZTxU
ZXN0Tm9kZT46OlBhcmFtZXRlclR5cGUgdGVzdE5vZGVQYXJhbSkgb3ZlcnJpZGU7CiAKIHByaXZh
dGU6CiAgICAgSlNUZXN0Vm9pZENhbGxiYWNrRnVuY3Rpb24oSlNDOjpKU09iamVjdCosIEpTRE9N
R2xvYmFsT2JqZWN0Kik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVzUnVs
ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1lc1J1bGUu
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJhbWVz
UnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkgKzMwLDkgQEAgaW50ZXJmYWNlIENTU0tl
eWZyYW1lc1J1bGUgOiBDU1NSdWxlIHsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwogICAgIAotICAgIHZv
aWQgaW5zZXJ0UnVsZShET01TdHJpbmcgcnVsZSk7Ci0gICAgdm9pZCBhcHBlbmRSdWxlKERPTVN0
cmluZyBydWxlKTsKLSAgICB2b2lkIGRlbGV0ZVJ1bGUoRE9NU3RyaW5nIGtleSk7CisgICAgdW5k
ZWZpbmVkIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUpOworICAgIHVuZGVmaW5lZCBhcHBlbmRS
dWxlKERPTVN0cmluZyBydWxlKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlUnVsZShET01TdHJpbmcg
a2V5KTsKICAgICBDU1NLZXlmcmFtZVJ1bGU/IGZpbmRSdWxlKERPTVN0cmluZyBrZXkpOwogCiAg
ICAgZ2V0dGVyIENTU0tleWZyYW1lUnVsZSAodW5zaWduZWQgbG9uZyBpbmRleCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDUgKzIz
LDUgQEAgaW50ZXJmYWNlIENTU01lZGlhUnVsZSA6IENTU1J1bGUgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5zaWduZWQgbG9uZyBpbnNlcnRSdWxlKG9wdGlvbmFsIERPTVN0cmluZyBydWxlID0gInVuZGVm
aW5lZCIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgZGVsZXRlUnVsZShvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0g
MCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVsZShvcHRpb25h
bCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhaW50Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWludENhbGxiYWNrLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhaW50Q2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw0ICsyNyw0IEBA
CiAgICAgRW5hYmxlZEF0UnVudGltZT1DU1NQYWludGluZ0FQSSwKICAgICBDb25kaXRpb25hbD1D
U1NfUEFJTlRJTkdfQVBJLAogICAgIENhbGxiYWNrVGhpc09iamVjdD1hbnkKLV0gY2FsbGJhY2sg
Q1NTUGFpbnRDYWxsYmFjayA9IHZvaWQgKFBhaW50UmVuZGVyaW5nQ29udGV4dDJEIGNvbnRleHQs
IENTU1BhaW50U2l6ZSBzaXplLCBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkgc3R5bGVNYXAsIHNl
cXVlbmNlPFVTVlN0cmluZz4gYXJndW1lbnRzKTsKK10gY2FsbGJhY2sgQ1NTUGFpbnRDYWxsYmFj
ayA9IHVuZGVmaW5lZCAoUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgY29udGV4dCwgQ1NTUGFpbnRT
aXplIHNpemUsIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seSBzdHlsZU1hcCwgc2VxdWVuY2U8VVNW
U3RyaW5nPiBhcmd1bWVudHMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVj
bGFyYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURl
Y2xhcmF0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlRGVjbGFyYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAg
ICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHJlbW92ZVByb3Bl
cnR5KERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwogICAgIERPTVN0cmluZz8gZ2V0UHJvcGVydHlQ
cmlvcml0eShET01TdHJpbmcgcHJvcGVydHlOYW1lKTsKIAotICAgIFtDRVJlYWN0aW9ucywgTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UHJvcGVydHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWUsIG9wdGlvbmFsIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHByaW9yaXR5ID0gIiIpOworICAgIFtDRVJl
YWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQcm9wZXJ0eShET01TdHJp
bmcgcHJvcGVydHlOYW1lLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1
ZSwgb3B0aW9uYWwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgcHJpb3JpdHkg
PSAiIik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAg
ICAgZ2V0dGVyIERPTVN0cmluZyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpAQCAtNDksNyAr
NDksNyBAQAogICAgIC8vIHByZWZpeGVzIGZvciB0aGlzIHRvIGJlIHByYWN0aWNhbC4gSWYgd2Ug
cmVtb3ZlIGxlZ2FjeSBhbGlhc2VzLCB3ZSBzaG91bGQKICAgICAvLyByZWNvbnNpZGVyIHRoaXMg
ZGVjaXNpb24uCiAgICAgZ2V0dGVyIChET01TdHJpbmcgb3IgZG91YmxlKSAoRE9NU3RyaW5nIG5h
bWUpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb24sIENhbGxOYW1lZFNldHRl
ck9ubHlGb3JTdXBwb3J0ZWRQcm9wZXJ0aWVzXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIG5hbWUs
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlKTsKKyAgICBbQ0VSZWFj
dGlvbnMsIE1heVRocm93RXhjZXB0aW9uLCBDYWxsTmFtZWRTZXR0ZXJPbmx5Rm9yU3VwcG9ydGVk
UHJvcGVydGllc10gc2V0dGVyIHVuZGVmaW5lZCAoRE9NU3RyaW5nIG5hbWUsIFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIC8vIFRoaXMgbWV0aG9kIGlz
IGRlcHJlY2F0ZWQsIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIGRyb3Agc3VwcG9ydCBmb3IgaXQgc29t
ZWRheQogICAgIERlcHJlY2F0ZWRDU1NPTVZhbHVlPyBnZXRQcm9wZXJ0eUNTU1ZhbHVlKERPTVN0
cmluZyBwcm9wZXJ0eU5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hl
ZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMSArMjQsMTEgQEAgaW50ZXJmYWNlIENTU1N0eWxl
U2hlZXQgOiBTdHlsZVNoZWV0IHsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQg
bG9uZyBpbnNlcnRSdWxlKERPTVN0cmluZyBydWxlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGlu
ZGV4ID0gMCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlUnVsZSh1bnNp
Z25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxl
dGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENT
U1J1bGVMaXN0IHJ1bGVzOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB0d28gb3BlcmF0aW9ucyBh
cmUgV2ViS2l0LXNwZWNpZmljLgogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gbG9uZyBhZGRSdWxl
KG9wdGlvbmFsIERPTVN0cmluZyBzZWxlY3RvciA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBET01T
dHJpbmcgc3R5bGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZVJ1bGUob3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyBpbmRleCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJl
bW92ZVJ1bGUob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCA9IDApOwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNSArMzEsNSBAQCBpbnRlcmZhY2UgQ1NTU3VwcG9ydHNSdWxlIDogQ1NTUnVsZSB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjb25kaXRpb25UZXh0OwogCiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBkZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9w
ZXJ0eS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NS
ZWdpc3RlckN1c3RvbVByb3BlcnR5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNSArMjYsNSBA
QAogWwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlcwog
XSBwYXJ0aWFsIGludGVyZmFjZSBET01DU1NOYW1lc3BhY2UgewotICAgIFtDYWxsV2l0aD1Eb2N1
bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyB2b2lkIHJlZ2lzdGVyUHJvcGVydHkoRE9N
Q1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFtDYWxsV2l0aD1E
b2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIHN0YXRpYyB1bmRlZmluZWQgcmVnaXN0ZXJQcm9w
ZXJ0eShET01DU1NDdXN0b21Qcm9wZXJ0eURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NUHJpbWl0aXZl
VmFsdWUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVj
YXRlZENTU09NUHJpbWl0aXZlVmFsdWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxMCArNTUs
MTAgQEAKICAgICAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcHJpbWl0
aXZlVHlwZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGbG9hdFZhbHVlKG9w
dGlvbmFsIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVk
IGZsb2F0IGZsb2F0VmFsdWUgPSBOYU4pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldEZsb2F0VmFsdWUob3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgdW5pdFR5cGUgPSAwLCBv
cHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZmxvYXRWYWx1ZSA9IE5hTik7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0RmxvYXRWYWx1ZShvcHRpb25hbCB1
bnNpZ25lZCBzaG9ydCB1bml0VHlwZSA9IDApOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldFN0cmluZ1ZhbHVlKG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IHN0cmluZ1R5cGUgPSAw
LCBvcHRpb25hbCBET01TdHJpbmcgc3RyaW5nVmFsdWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFN0cmluZ1ZhbHVlKG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IHN0cmlu
Z1R5cGUgPSAwLCBvcHRpb25hbCBET01TdHJpbmcgc3RyaW5nVmFsdWUpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGdldFN0cmluZ1ZhbHVlKCk7CiAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIERlcHJlY2F0ZWRDU1NPTUNvdW50ZXIgZ2V0Q291bnRlclZhbHVlKCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQy
LDcgQEAgZW51bSBGb250RmFjZVNldExvYWRTdGF0dXMgewogCiAgICAgRm9udEZhY2VTZXQgYWRk
KEZvbnRGYWNlIGZvbnQpOwogICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gYm9vbGVhbiBkZWxl
dGUoRm9udEZhY2UgZm9udCk7Ci0gICAgdm9pZCBjbGVhcigpOworICAgIHVuZGVmaW5lZCBjbGVh
cigpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmxvYWRpbmc7CiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmxvYWRpbmdkb25lOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlz
dC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3Qu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw2IEBACiAKICAgICBnZXR0ZXIgRE9NU3Ry
aW5nPyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGRlbGV0ZU1lZGl1bShET01TdHJpbmcgb2xkTWVkaXVtKTsKLSAgICB2b2lkIGFwcGVu
ZE1lZGl1bShET01TdHJpbmcgbmV3TWVkaXVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBkZWxldGVNZWRpdW0oRE9NU3RyaW5nIG9sZE1lZGl1bSk7CisgICAgdW5kZWZpbmVk
IGFwcGVuZE1lZGl1bShET01TdHJpbmcgbmV3TWVkaXVtKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcg
QEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1lZGlhOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIG1hdGNoZXM7CiAKLSAgICB2b2lkIGFkZExpc3RlbmVyKEV2ZW50
TGlzdGVuZXI/IGxpc3RlbmVyKTsKLSAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVu
ZXI/IGxpc3RlbmVyKTsKKyAgICB1bmRlZmluZWQgYWRkTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8g
bGlzdGVuZXIpOworICAgIHVuZGVmaW5lZCByZW1vdmVMaXN0ZW5lcihFdmVudExpc3RlbmVyPyBs
aXN0ZW5lcik7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAkocmV2aXNpb24gMjY2Mjk4KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDcgKzU2LDcgQEAKICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBtNDQ7
CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIg
dmFsdWUgaXMgd3JvbmcuCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1hdHJpeFZh
bHVlKG9wdGlvbmFsIERPTVN0cmluZyBzdHJpbmcgPSAidW5kZWZpbmVkIik7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWF0cml4VmFsdWUob3B0aW9uYWwgRE9NU3RyaW5n
IHN0cmluZyA9ICJ1bmRlZmluZWQiKTsKICAgICAKICAgICAvLyBNdWx0aXBseSB0aGlzIG1hdHJp
eCBieSBzZWNvbmRNYXRyaXgsIG9uIHRoZSByaWdodCAocmVzdWx0ID0gdGhpcyAqIHNlY29uZE1h
dHJpeCkKICAgICBXZWJLaXRDU1NNYXRyaXggbXVsdGlwbHkob3B0aW9uYWwgV2ViS2l0Q1NTTWF0
cml4PyBzZWNvbmRNYXRyaXggPSBudWxsKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9y
dEFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0QWxn
b3JpdGhtLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0
QWxnb3JpdGhtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNCArMjQsNCBAQAogICovCiAKIFsK
LV0gY2FsbGJhY2sgQWJvcnRBbGdvcml0aG0gPSB2b2lkICgpOworXSBjYWxsYmFjayBBYm9ydEFs
Z29yaXRobSA9IHVuZGVmaW5lZCAoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydENv
bnRyb2xsZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydENvbnRy
b2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQWJvcnRD
b250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNSArMzIsNSBAQAogCiAgICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBYm9ydFNpZ25hbCBzaWduYWw7CiAKLSAgICB2
b2lkIGFib3J0KCk7CisgICAgdW5kZWZpbmVkIGFib3J0KCk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0Fib3J0U2lnbmFsLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vQWJvcnRTaWduYWwuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vQWJvcnRTaWduYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAgICAg
UHJpdmF0ZUlkZW50aWZpZXIsCiAgICAgUHVibGljSWRlbnRpZmllcgogXSBpbnRlcmZhY2UgQWJv
cnRTaWduYWwgOiBFdmVudFRhcmdldCB7Ci0gICAgWyBQcml2YXRlSWRlbnRpZmllciBdIHN0YXRp
YyB2b2lkIHdoZW5TaWduYWxBYm9ydGVkKEFib3J0U2lnbmFsIG9iamVjdCwgQWJvcnRBbGdvcml0
aG0gYWxnb3JpdGhtKTsKKyAgICBbIFByaXZhdGVJZGVudGlmaWVyIF0gc3RhdGljIHVuZGVmaW5l
ZCB3aGVuU2lnbmFsQWJvcnRlZChBYm9ydFNpZ25hbCBvYmplY3QsIEFib3J0QWxnb3JpdGhtIGFs
Z29yaXRobSk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhYm9ydGVkOwogICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25hYm9ydDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ2hh
cmFjdGVyRGF0YS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9D
aGFyYWN0ZXJEYXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTAgKzIxLDEwIEBAIGludGVy
ZmFjZSBDaGFyYWN0ZXJEYXRhIDogTm9kZSB7CiAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGE7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN1YnN0
cmluZ0RhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwotICAg
IHZvaWQgYXBwZW5kRGF0YShET01TdHJpbmcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGluc2VydERhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIERPTVN0cmluZyBkYXRhKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlRGF0YSh1bnNpZ25lZCBsb25nIG9m
ZnNldCwgdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHJlcGxhY2VEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50LCBE
T01TdHJpbmcgZGF0YSk7CisgICAgdW5kZWZpbmVkIGFwcGVuZERhdGEoRE9NU3RyaW5nIGRhdGEp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGluc2VydERhdGEodW5zaWduZWQg
bG9uZyBvZmZzZXQsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBkZWxldGVEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNv
dW50KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZXBsYWNlRGF0YSh1bnNp
Z25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBjb3VudCwgRE9NU3RyaW5nIGRhdGEpOwog
fTsKIAogQ2hhcmFjdGVyRGF0YSBpbXBsZW1lbnRzIENoaWxkTm9kZTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9DaGlsZE5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9DaGlsZE5vZGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
Q2hpbGROb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogWwogICAgIE5v
SW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgQ2hpbGROb2RlIHsKLSAgICBbQ0VSZWFjdGlv
bnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGJlZm9yZSgoTm9kZSBvciBE
T01TdHJpbmcpLi4uIG5vZGVzKTsKLSAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRo
cm93RXhjZXB0aW9uXSB2b2lkIGFmdGVyKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOwot
ICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVw
bGFjZVdpdGgoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7Ci0gICAgW0NFUmVhY3Rpb25z
LCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZW1vdmUoKTsKKyAgICBbQ0VS
ZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYmVmb3Jl
KChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29w
YWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZnRlcigoTm9kZSBvciBET01TdHJp
bmcpLi4uIG5vZGVzKTsKKyAgICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGUsIE1heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgcmVwbGFjZVdpdGgoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rl
cyk7CisgICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHJlbW92ZSgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NpdGlv
bkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25F
dmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3Np
dGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBpbnRlcmZhY2Ug
Q29tcG9zaXRpb25FdmVudCA6IFVJRXZlbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgZGF0YTsKIAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0
IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KLSAgICB2b2lkIGluaXRDb21wb3NpdGlvbkV2ZW50
KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVmaW5lZCIsCisgICAgdW5kZWZpbmVk
IGluaXRDb21wb3NpdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVm
aW5lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNh
bkJ1YmJsZUFyZyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u
YWwgYm9vbGVhbiBjYW5jZWxhYmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBXaW5kb3dQcm94eT8gdmlld0FyZyA9IG51bGwsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDggQEAKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUlt
cGxTY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwK
IF0gaW50ZXJmYWNlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSB7Ci0gICAgW0NFUmVhY3Rpb25zLCBD
dXN0b21dIHZvaWQgZGVmaW5lKERPTVN0cmluZyBuYW1lLCBGdW5jdGlvbiBjb25zdHJ1Y3Rvcik7
CisgICAgW0NFUmVhY3Rpb25zLCBDdXN0b21dIHVuZGVmaW5lZCBkZWZpbmUoRE9NU3RyaW5nIG5h
bWUsIEZ1bmN0aW9uIGNvbnN0cnVjdG9yKTsKICAgICBhbnkgZ2V0KERPTVN0cmluZyBuYW1lKTsK
LSAgICBbQ3VzdG9tLCBNYXlUaHJvd0V4Y2VwdGlvbiwgUmV0dXJuc093blByb21pc2VdIFByb21p
c2U8dm9pZD4gd2hlbkRlZmluZWQoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtDRVJlYWN0aW9uc10g
dm9pZCB1cGdyYWRlKE5vZGUgcm9vdCk7CisgICAgW0N1c3RvbSwgTWF5VGhyb3dFeGNlcHRpb24s
IFJldHVybnNPd25Qcm9taXNlXSBQcm9taXNlPHVuZGVmaW5lZD4gd2hlbkRlZmluZWQoRE9NU3Ry
aW5nIG5hbWUpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIHVwZ3JhZGUoTm9kZSByb290
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDcgKzMyLDcgQEAKIAogICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBhbnkgZGV0YWlsOwogCi0gICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNl
bGFibGUgPSBmYWxzZSwgb3B0aW9uYWwgYW55IGRldGFpbCA9IG51bGwpOworICAgIHVuZGVmaW5l
ZCBpbml0Q3VzdG9tRXZlbnQoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGJvb2xlYW4gYnViYmxl
cyA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwgb3B0aW9uYWwg
YW55IGRldGFpbCA9IG51bGwpOwogfTsKIAogZGljdGlvbmFyeSBDdXN0b21FdmVudEluaXQgOiBF
dmVudEluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24sCiBdIGlu
dGVyZmFjZSBET01TdHJpbmdNYXAgewogICAgIGdldHRlciBET01TdHJpbmcgKERPTVN0cmluZyBu
YW1lKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAo
RE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyB2YWx1ZSk7Ci0gICAgW0NFUmVhY3Rpb25zXSBkZWxl
dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhj
ZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVl
KTsKKyAgICBbQ0VSZWFjdGlvbnNdIGRlbGV0ZXIgdW5kZWZpbmVkIChET01TdHJpbmcgbmFtZSk7
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDEyICszNywxMiBAQAogICAgIC8vIEZJWE1FOiBpdGVtcyBzaG91bGQgdXNlIFtT
YW1lT2JqZWN0XSBvbmNlIHRoYXQgaXMgc3VwcG9ydGVkLgogICAgIFtFbmFibGVkQXRSdW50aW1l
PURhdGFUcmFuc2Zlckl0ZW1zLCBDYWxsV2l0aD1Eb2N1bWVudF0gcmVhZG9ubHkgYXR0cmlidXRl
IERhdGFUcmFuc2Zlckl0ZW1MaXN0IGl0ZW1zOwogCi0gICAgdm9pZCBzZXREcmFnSW1hZ2UoRWxl
bWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5KTsgLy8gRklYTUU6IEVsZW1lbnQgYXJndW1lbnQg
aXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1MIHN0YW5kYXJkLgorICAgIHVuZGVmaW5lZCBzZXRE
cmFnSW1hZ2UoRWxlbWVudD8gaW1hZ2UsIGxvbmcgeCwgbG9uZyB5KTsgLy8gRklYTUU6IEVsZW1l
bnQgYXJndW1lbnQgaXMgbm90IG51bGxhYmxlIGluIHRoZSBIVE1MIHN0YW5kYXJkLgogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gdHlwZXM7CiAgICAgW0Nh
bGxXaXRoPURvY3VtZW50XSBET01TdHJpbmcgZ2V0RGF0YShET01TdHJpbmcgZm9ybWF0KTsKLSAg
ICB2b2lkIHNldERhdGEoRE9NU3RyaW5nIGZvcm1hdCwgRE9NU3RyaW5nIGRhdGEpOwotICAgIHZv
aWQgY2xlYXJEYXRhKG9wdGlvbmFsIERPTVN0cmluZyBmb3JtYXQpOworICAgIHVuZGVmaW5lZCBz
ZXREYXRhKERPTVN0cmluZyBmb3JtYXQsIERPTVN0cmluZyBkYXRhKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXJEYXRhKG9wdGlvbmFsIERPTVN0cmluZyBmb3JtYXQpOwogICAgIC8vIEZJWE1FOiBmaWxl
cyBzaG91bGQgdXNlIFtTYW1lT2JqZWN0XSBvbmNlIHRoYXQgaXMgc3VwcG9ydGVkLgogICAgIFtD
YWxsV2l0aD1Eb2N1bWVudF0gcmVhZG9ubHkgYXR0cmlidXRlIEZpbGVMaXN0IGZpbGVzOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwJKHJldmlzaW9uIDI2
NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcga2luZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICBb
Q2FsbFdpdGg9RG9jdW1lbnRdIHZvaWQgZ2V0QXNTdHJpbmcoU3RyaW5nQ2FsbGJhY2s/IGNhbGxi
YWNrKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHVuZGVmaW5lZCBnZXRBc1N0cmluZyhTdHJp
bmdDYWxsYmFjaz8gY2FsbGJhY2spOwogICAgIEZpbGUgZ2V0QXNGaWxlKCk7CiAKICAgICAvLyBo
dHRwczovL3dpY2cuZ2l0aHViLmlvL2VudHJpZXMtYXBpLyNodG1sLWRhdGEKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRGF0YVRy
YW5zZmVySXRlbT8gYWRkKERPTVN0cmluZyBkYXRhLCBET01TdHJpbmcgdHlwZSk7CiAgICAgRGF0
YVRyYW5zZmVySXRlbT8gYWRkKEZpbGUgZmlsZSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgcmVtb3ZlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHJlbW92ZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKIAotICAgIHZvaWQgY2xl
YXIoKTsKKyAgICB1bmRlZmluZWQgY2xlYXIoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUm90YXRpb25SYXRlPyByb3RhdGlvblJhdGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IGludGVydmFsOwog
Ci0gICAgdm9pZCBpbml0RGV2aWNlTW90aW9uRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUg
PSAiIiwKKyAgICB1bmRlZmluZWQgaW5pdERldmljZU1vdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0
cmluZyB0eXBlID0gIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
Ym9vbGVhbiBidWJibGVzID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgQWNjZWxlcmF0aW9uPyBhY2NlbGVyYXRpb24gPSBudWxsLApJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAko
cmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAjaWYgZGVmaW5lZChX
VEZfUExBVEZPUk1fSU9TX0ZBTUlMWSkgJiYgV1RGX1BMQVRGT1JNX0lPU19GQU1JTFkKICAgICBb
SW1wbGVtZW50ZWRBcz1jb21wYXNzSGVhZGluZ10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGU/IHdlYmtpdENvbXBhc3NIZWFkaW5nOwogICAgIFtJbXBsZW1lbnRlZEFzPWNv
bXBhc3NBY2N1cmFjeV0gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IHdl
YmtpdENvbXBhc3NBY2N1cmFjeTsKLSAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50
KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gIiIsCisgICAgdW5kZWZpbmVkIGluaXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gIiIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxz
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4g
Y2FuY2VsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZT8gYWxwaGEgPSBudWxsLApAQCAtNDUsNyArNDUs
NyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0
cmljdGVkIGRvdWJsZT8gY29tcGFzc0FjY3VyYWN5ID0gbnVsbCk7CiAjZWxzZQogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuPyBhYnNvbHV0ZTsKLSAgICB2b2lkIGluaXREZXZpY2VPcmll
bnRhdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gIiIsCisgICAgdW5kZWZpbmVk
IGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0gIiIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGJ1
YmJsZXMgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZT8gYWxwaGEgPSBudWxsLApJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOSArMTEzLDkg
QEAgdHlwZWRlZiAoSFRNTFNjcmlwdEVsZW1lbnQgb3IgU1ZHU2NyaXB0RQogICAgIC8vIHRoZSBl
eGlzdGluZyAnaW5jdW1iZW50IGRvY3VtZW50JyBjb25jZXB0LgogICAgIFtDRVJlYWN0aW9ucywg
Q2FsbFdpdGg9UmVzcG9uc2libGVEb2N1bWVudCwgSW1wbGVtZW50ZWRBcz1vcGVuRm9yQmluZGlu
Z3MsIE1heVRocm93RXhjZXB0aW9uXSBEb2N1bWVudCBvcGVuKG9wdGlvbmFsIERPTVN0cmluZyB1
bnVzZWQxLCBvcHRpb25hbCBET01TdHJpbmcgdW51c2VkMik7IC8vIGJvdGggYXJndW1lbnRzIGFy
ZSBpZ25vcmVkLgogICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIEltcGxl
bWVudGVkQXM9b3BlbkZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlvbl0gV2luZG93UHJveHkg
b3BlbihVU1ZTdHJpbmcgdXJsLCBET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIGZlYXR1cmVzKTsK
LSAgICBbQ0VSZWFjdGlvbnMsIEltcGxlbWVudGVkQXM9Y2xvc2VGb3JCaW5kaW5ncywgTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgY2xvc2UoKTsKLSAgICBbQ0VSZWFjdGlvbnMsIENhbGxXaXRoPVJl
c3BvbnNpYmxlRG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHdyaXRlKERPTVN0cmlu
Zy4uLiB0ZXh0KTsKLSAgICBbQ0VSZWFjdGlvbnMsIENhbGxXaXRoPVJlc3BvbnNpYmxlRG9jdW1l
bnQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHdyaXRlbG4oRE9NU3RyaW5nLi4uIHRleHQpOwor
ICAgIFtDRVJlYWN0aW9ucywgSW1wbGVtZW50ZWRBcz1jbG9zZUZvckJpbmRpbmdzLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsb3NlKCk7CisgICAgW0NFUmVhY3Rpb25zLCBDYWxsV2l0
aD1SZXNwb25zaWJsZURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdyaXRl
KERPTVN0cmluZy4uLiB0ZXh0KTsKKyAgICBbQ0VSZWFjdGlvbnMsIENhbGxXaXRoPVJlc3BvbnNp
YmxlRG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgd3JpdGVsbihET01TdHJp
bmcuLi4gdGV4dCk7CiAKICAgICAvLyBVc2VyIGludGVyYWN0aW9uLgogICAgIFtJbXBsZW1lbnRl
ZEFzPXdpbmRvd1Byb3h5XSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IGRlZmF1bHRW
aWV3OwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNW
R1NjcmlwdEUKICAgICAvLyBFeHRlbnNpb25zIGZyb20gUG9pbnRlciBMb2NrIEFQSSAoaHR0cHM6
Ly93d3cudzMub3JnL1RSL3BvaW50ZXJsb2NrLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudC1p
bnRlcmZhY2UpLgogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1QT0lOVEVSX0xPQ0td
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVybG9ja2NoYW5nZTsgLy8gRklYTUU6IFNo
b3VsZCBiZSBlbnVtZXJhYmxlLgogICAgIFtOb3RFbnVtZXJhYmxlLCBDb25kaXRpb25hbD1QT0lO
VEVSX0xPQ0tdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVybG9ja2Vycm9yOyAvLyBG
SVhNRTogU2hvdWxkIGJlIGVudW1lcmFibGUuCi0gICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9D
S10gdm9pZCBleGl0UG9pbnRlckxvY2soKTsKKyAgICBbQ29uZGl0aW9uYWw9UE9JTlRFUl9MT0NL
XSB1bmRlZmluZWQgZXhpdFBvaW50ZXJMb2NrKCk7CiAKICAgICAvLyBFeHRlbnNpb25zIGZyb20g
Q1NTIEZvbnQgTG9hZGluZyBBUEkgKGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udC1s
b2FkaW5nLyNmb250LWZhY2Utc291cmNlKS4KICAgICAvLyBGSVhNRTogU2hvdWxkIGJlIGluIGEg
c2VwYXJhdGUgRm9udEZhY2VTb3VyY2UgaW50ZXJmYWNlLgpAQCAtMTg4LDkgKzE4OCw5IEBAIHR5
cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50IG9yIFNWR1NjcmlwdEUKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgSFRNTENvbGxlY3Rpb24gYW5jaG9yczsgLyogW1NhbWVPYmplY3RdICovCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFwcGxldHM7IC8qIFtTYW1lT2JqZWN0XSAq
LwogCi0gICAgdm9pZCBjbGVhcigpOwotICAgIHZvaWQgY2FwdHVyZUV2ZW50cygpOwotICAgIHZv
aWQgcmVsZWFzZUV2ZW50cygpOworICAgIHVuZGVmaW5lZCBjbGVhcigpOworICAgIHVuZGVmaW5l
ZCBjYXB0dXJlRXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIHJlbGVhc2VFdmVudHMoKTsKIAogICAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxBbGxDb2xsZWN0aW9uIGFsbDsg
LyogW1NhbWVPYmplY3RdICovCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZ1
bGxzY3JlZW4uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZ1
bGxzY3JlZW4uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnRGdWxsc2NyZWVuLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTMgKzMyLDEzIEBACiAg
ICAgLy8gRklYTUU6IFNob3VsZCBwcm9iYWJseSBiZSB1bnByZWZpeGVkLgogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdEZ1bGxzY3JlZW5FbmFibGVkOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBFbGVtZW50PyB3ZWJraXRGdWxsc2NyZWVuRWxlbWVudDsKLSAgICB2b2lkIHdl
YmtpdEV4aXRGdWxsc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHdlYmtpdEV4aXRGdWxsc2NyZWVu
KCk7CiAKICAgICAvLyBNb3ppbGxhIHZlcnNpb25zLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIHdlYmtpdElzRnVsbFNjcmVlbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biB3ZWJraXRGdWxsU2NyZWVuS2V5Ym9hcmRJbnB1dEFsbG93ZWQ7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEVsZW1lbnQgd2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50OwotICAgIHZvaWQg
d2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpOworICAgIHVuZGVmaW5lZCB3ZWJraXRDYW5jZWxGdWxs
U2NyZWVuKCk7CiAKICAgICBbTm90RW51bWVyYWJsZV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2U7CiAgICAgW05vdEVudW1lcmFibGVdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253ZWJraXRmdWxsc2NyZWVuZXJyb3I7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRTdG9yYWdlQWNjZXNzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRTdG9yYWdlQWNjZXNzLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3RvcmFnZUFjY2Vzcy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDUgKzI4LDUgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPXN0b3JhZ2VBY2Nlc3NB
UEkKIF0gcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogICAgIFByb21pc2U8Ym9vbD4gaGFz
U3RvcmFnZUFjY2VzcygpOwotICAgIFByb21pc2U8dm9pZD4gcmVxdWVzdFN0b3JhZ2VBY2Nlc3Mo
KTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcmVxdWVzdFN0b3JhZ2VBY2Nlc3MoKTsKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEwICs0MSwxMCBAQAog
ICAgIHNlcXVlbmNlPERPTVN0cmluZz4gZ2V0QXR0cmlidXRlTmFtZXMoKTsKICAgICBbRE9NSklU
PVJlYWRET01dIERPTVN0cmluZz8gZ2V0QXR0cmlidXRlKERPTVN0cmluZyBxdWFsaWZpZWROYW1l
KTsKICAgICBET01TdHJpbmc/IGdldEF0dHJpYnV0ZU5TKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJ
LCBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0
aW9uXSB2b2lkIHNldEF0dHJpYnV0ZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9NU3RyaW5n
IHZhbHVlKTsKLSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEF0
dHJpYnV0ZU5TKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmcgcXVhbGlmaWVkTmFt
ZSwgRE9NU3RyaW5nIHZhbHVlKTsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgcmVtb3ZlQXR0cmli
dXRlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lKTsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgcmVt
b3ZlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyBsb2NhbE5h
bWUpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRB
dHRyaWJ1dGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0cmluZyB2YWx1ZSk7CisgICAg
W0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEF0dHJpYnV0ZU5T
KERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9NU3Ry
aW5nIHZhbHVlKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCByZW1vdmVBdHRyaWJ1dGUo
RE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOworICAgIFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIHJl
bW92ZUF0dHJpYnV0ZU5TKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmcgbG9jYWxO
YW1lKTsKICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIHRvZ2ds
ZUF0dHJpYnV0ZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgb3B0aW9uYWwgYm9vbGVhbiBmb3Jj
ZSk7CiAgICAgYm9vbGVhbiBoYXNBdHRyaWJ1dGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwog
ICAgIGJvb2xlYW4gaGFzQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0
cmluZyBsb2NhbE5hbWUpOwpAQCAtNjcsMTggKzY3LDE4IEBACiAgICAgSFRNTENvbGxlY3Rpb24g
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZShET01TdHJpbmcgbmFtZSk7CiAKICAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSBFbGVtZW50PyBpbnNlcnRBZGphY2VudEVsZW1lbnQoRE9N
U3RyaW5nIHdoZXJlLCBFbGVtZW50IGVsZW1lbnQpOyAvLyBIaXN0b3JpY2FsLgotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnRBZGphY2VudFRleHQoRE9NU3RyaW5nIHdoZXJlLCBE
T01TdHJpbmcgZGF0YSk7IC8vIEhpc3RvcmljYWwuCisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgaW5zZXJ0QWRqYWNlbnRUZXh0KERPTVN0cmluZyB3aGVyZSwgRE9NU3RyaW5nIGRh
dGEpOyAvLyBIaXN0b3JpY2FsLgogCiAgICAgLy8gQ1NTT00tdmlldyBleHRlbnNpb25zIChodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8jZXh0ZW5zaW9uLXRvLXRoZS1lbGVtZW50
LWludGVyZmFjZSkuCiAgICAgRE9NUmVjdExpc3QgZ2V0Q2xpZW50UmVjdHMoKTsKICAgICBbTmV3
T2JqZWN0XSBET01SZWN0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgIHZvaWQgc2Nyb2xs
SW50b1ZpZXcob3B0aW9uYWwgKGJvb2xlYW4gb3IgU2Nyb2xsSW50b1ZpZXdPcHRpb25zKSBhcmcp
OwotICAgIFtJbXBsZW1lbnRlZEFzPXNjcm9sbFRvXSB2b2lkIHNjcm9sbChvcHRpb25hbCBTY3Jv
bGxUb09wdGlvbnMgb3B0aW9ucyk7Ci0gICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xsVG9dIHZvaWQg
c2Nyb2xsKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAg
ICB2b2lkIHNjcm9sbFRvKG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb25zKTsKLSAgICB2
b2lkIHNjcm9sbFRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5
KTsKLSAgICB2b2lkIHNjcm9sbEJ5KG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb24pOwot
ICAgIHZvaWQgc2Nyb2xsQnkodW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91
YmxlIHkpOworICAgIHVuZGVmaW5lZCBzY3JvbGxJbnRvVmlldyhvcHRpb25hbCAoYm9vbGVhbiBv
ciBTY3JvbGxJbnRvVmlld09wdGlvbnMpIGFyZyk7CisgICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xs
VG9dIHVuZGVmaW5lZCBzY3JvbGwob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbnMpOwor
ICAgIFtJbXBsZW1lbnRlZEFzPXNjcm9sbFRvXSB1bmRlZmluZWQgc2Nyb2xsKHVucmVzdHJpY3Rl
ZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xs
VG8ob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbnMpOworICAgIHVuZGVmaW5lZCBzY3Jv
bGxUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7CisgICAg
dW5kZWZpbmVkIHNjcm9sbEJ5KG9wdGlvbmFsIFNjcm9sbFRvT3B0aW9ucyBvcHRpb24pOworICAg
IHVuZGVmaW5lZCBzY3JvbGxCeSh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBk
b3VibGUgeSk7CiAgICAgYXR0cmlidXRlIGxvbmcgc2Nyb2xsVG9wOyAvLyBGSVhNRSh3ZWJraXQu
b3JnL2IvMTg4MDQ1KTogc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3VibGUuCiAgICAgYXR0cmli
dXRlIGxvbmcgc2Nyb2xsTGVmdDsgLy8gRklYTUUod2Via2l0Lm9yZy9iLzE4ODA0NSk6IHNob3Vs
ZCBiZSB1bnJlc3RyaWN0ZWQgZG91YmxlLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNj
cm9sbFdpZHRoOwpAQCAtOTIsMjMgKzkyLDIzIEBACiAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL0RPTS1QYXJzaW5nLyNleHRlbnNpb25zLXRvLXRoZS1lbGVtZW50LWludGVyZmFjZQogICAg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGlubmVySFRNTDsKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBvdXRlckhUTUw7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnRBZGphY2VudEhUTUwoRE9NU3RyaW5nIHBvc2l0aW9u
LCBET01TdHJpbmcgdGV4dCk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGluc2VydEFkamFjZW50SFRNTChET01TdHJpbmcgcG9zaXRpb24sIERPTVN0cmlu
ZyB0ZXh0KTsKIAogICAgIC8vIEV4dGVuc2lvbnMgZnJvbSBGdWxsIFNjcmVlbiBBUEkgKGh0dHBz
Oi8vZnVsbHNjcmVlbi5zcGVjLndoYXR3Zy5vcmcvI2FwaSkuCiAgICAgLy8gRklYTUU6IFNob3Vs
ZCB3ZSBhZGQgdW5wcmVmaXhlZCB2ZXJzaW9ucz8KLSAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVF
Tl9BUEksIEVuYWJsZWRCeVNldHRpbmc9RnVsbFNjcmVlbiwgSW1wbGVtZW50ZWRBcz13ZWJraXRS
ZXF1ZXN0RnVsbHNjcmVlbiwgRGlzYWJsZWRCeVF1aXJrPXNob3VsZERpc2FibGVFbGVtZW50RnVs
bHNjcmVlbl0gdm9pZCB3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOyAvLyBQcmVmaXhlZCBNb3pp
bGxhIHZlcnNpb24uCi0gICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJLCBFbmFibGVkQnlT
ZXR0aW5nPUZ1bGxTY3JlZW4sIERpc2FibGVkQnlRdWlyaz1zaG91bGREaXNhYmxlRWxlbWVudEZ1
bGxzY3JlZW5dIHZvaWQgd2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTsgLy8gUHJlZml4ZWQgVzND
IHZlcnNpb24uCisgICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJLCBFbmFibGVkQnlTZXR0
aW5nPUZ1bGxTY3JlZW4sIEltcGxlbWVudGVkQXM9d2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4sIERp
c2FibGVkQnlRdWlyaz1zaG91bGREaXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5dIHVuZGVmaW5lZCB3
ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOyAvLyBQcmVmaXhlZCBNb3ppbGxhIHZlcnNpb24uCisg
ICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJLCBFbmFibGVkQnlTZXR0aW5nPUZ1bGxTY3Jl
ZW4sIERpc2FibGVkQnlRdWlyaz1zaG91bGREaXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5dIHVuZGVm
aW5lZCB3ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpOyAvLyBQcmVmaXhlZCBXM0MgdmVyc2lvbi4K
IAogICAgIC8vIEV4dGVuc2lvbnMgZnJvbSBQb2ludGVyIEV2ZW50cyBBUEkgKGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wb2ludGVyZXZlbnRzLyNleHRlbnNpb25zLXRvLXRoZS1lbGVtZW50LWludGVy
ZmFjZSkuCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFBvaW50ZXJDYXB0dXJlKGxv
bmcgcG9pbnRlcklkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVsZWFzZVBvaW50
ZXJDYXB0dXJlKGxvbmcgcG9pbnRlcklkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRQb2ludGVyQ2FwdHVyZShsb25nIHBvaW50ZXJJZCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgcmVsZWFzZVBvaW50ZXJDYXB0dXJlKGxvbmcgcG9pbnRlcklkKTsK
ICAgICBib29sZWFuIGhhc1BvaW50ZXJDYXB0dXJlKGxvbmcgcG9pbnRlcklkKTsKIAogICAgIC8v
IEV4dGVuc2lvbnMgZnJvbSBQb2ludGVyIExvY2sgQVBJIChodHRwczovL3czYy5naXRodWIuaW8v
cG9pbnRlcmxvY2svI2V4dGVuc2lvbnMtdG8tdGhlLWVsZW1lbnQtaW50ZXJmYWNlKS4KLSAgICBb
Q29uZGl0aW9uYWw9UE9JTlRFUl9MT0NLXSB2b2lkIHJlcXVlc3RQb2ludGVyTG9jaygpOworICAg
IFtDb25kaXRpb25hbD1QT0lOVEVSX0xPQ0tdIHVuZGVmaW5lZCByZXF1ZXN0UG9pbnRlckxvY2so
KTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBBUEkgKGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1
YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNTIpLgotICAgIHZvaWQgc2Nyb2xsSW50b1ZpZXdJZk5l
ZWRlZChvcHRpb25hbCBib29sZWFuIGNlbnRlcklmTmVlZGVkID0gdHJ1ZSk7CisgICAgdW5kZWZp
bmVkIHNjcm9sbEludG9WaWV3SWZOZWVkZWQob3B0aW9uYWwgYm9vbGVhbiBjZW50ZXJJZk5lZWRl
ZCA9IHRydWUpOwogCiAgICAgLy8gRXZlbnQgaGFuZGxlciBmcm9tIFNlbGVjdGlvbiBBUEkgKGh0
dHA6Ly93M2MuZ2l0aHViLmlvL3NlbGVjdGlvbi1hcGkvI2V4dGVuc2lvbnMtdG8tZ2xvYmFsZXZl
bnRoYW5kbGVycykuCiAgICAgLy8gRklYTUU6IFNob3VsZCBiZSBtb3ZlZCB0byBHbG9iYWxFdmVu
dEhhbmRsZXJzLgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCwyMCArNDAs
MjAgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBCVUJCTElOR19QSEFTRSA9IDM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IGV2ZW50UGhhc2U7CiAKLSAgICB2b2lkIHN0b3BQcm9wYWdhdGlvbigpOwor
ICAgIHVuZGVmaW5lZCBzdG9wUHJvcGFnYXRpb24oKTsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBj
YW5jZWxCdWJibGU7IC8vIGhpc3RvcmljYWwgYWxpYXMgb2YgLnN0b3BQcm9wYWdhdGlvbi4KLSAg
ICB2b2lkIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworICAgIHVuZGVmaW5lZCBzdG9wSW1t
ZWRpYXRlUHJvcGFnYXRpb24oKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGJ1
YmJsZXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKLSAgICB2
b2lkIHByZXZlbnREZWZhdWx0KCk7CisgICAgdW5kZWZpbmVkIHByZXZlbnREZWZhdWx0KCk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZGVmYXVsdFByZXZlbnRlZDsKICAgICBbRW5h
YmxlZEF0UnVudGltZT1TaGFkb3dET01dIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBv
c2VkOwogCiAgICAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Ry
dXN0ZWQ7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEltcGxlbWVudGVk
QXM9dGltZVN0YW1wRm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGlt
ZVN0YW1wIHRpbWVTdGFtcDsKIAotICAgIHZvaWQgaW5pdEV2ZW50KERPTVN0cmluZyB0eXBlLCBv
cHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxh
YmxlID0gZmFsc2UpOyAvLyBIaXN0b3JpY2FsLgorICAgIHVuZGVmaW5lZCBpbml0RXZlbnQoRE9N
U3RyaW5nIHR5cGUsIG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRpb25hbCBi
b29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSk7IC8vIEhpc3RvcmljYWwuCiAKICAgICAvLyBJRSBl
eHRlbnNpb25zIHRoYXQgbWF5IGdldCBzdGFuZGFyZGl6ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93
aGF0d2cvZG9tL2lzc3Vlcy8zMzQpLgogICAgIFtJbXBsZW1lbnRlZEFzPXRhcmdldF0gcmVhZG9u
bHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0IHNyY0VsZW1lbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TGlzdGVuZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRMaXN0ZW5lci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDUgKzIxLDUgQEAKIFsK
ICAgICBOb0ludGVyZmFjZU9iamVjdAogXSBpbnRlcmZhY2UgRXZlbnRMaXN0ZW5lciB7Ci0gICAg
dm9pZCBoYW5kbGVFdmVudChFdmVudCBldmVudCk7CisgICAgdW5kZWZpbmVkIGhhbmRsZUV2ZW50
KEV2ZW50IGV2ZW50KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwJKHJl
dmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDggQEAKIF0gaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsK
ICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoKTsKIAot
ICAgIFtJbXBsZW1lbnRlZEFzPWFkZEV2ZW50TGlzdGVuZXJGb3JCaW5kaW5nc10gdm9pZCBhZGRF
dmVudExpc3RlbmVyKFtBdG9tU3RyaW5nXSBET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lcj8g
Y2FsbGJhY2ssIG9wdGlvbmFsIChBZGRFdmVudExpc3RlbmVyT3B0aW9ucyBvciBib29sZWFuKSBv
cHRpb25zID0gZmFsc2UpOwotICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZUV2ZW50TGlzdGVuZXJG
b3JCaW5kaW5nc10gdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKFtBdG9tU3RyaW5nXSBET01TdHJp
bmcgdHlwZSwgRXZlbnRMaXN0ZW5lcj8gY2FsbGJhY2ssIG9wdGlvbmFsIChFdmVudExpc3RlbmVy
T3B0aW9ucyBvciBib29sZWFuKSBvcHRpb25zID0gZmFsc2UpOworICAgIFtJbXBsZW1lbnRlZEFz
PWFkZEV2ZW50TGlzdGVuZXJGb3JCaW5kaW5nc10gdW5kZWZpbmVkIGFkZEV2ZW50TGlzdGVuZXIo
W0F0b21TdHJpbmddIERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0
aW9uYWwgKEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMgPSBmYWxz
ZSk7CisgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzXSB1
bmRlZmluZWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3RyaW5nIHR5cGUs
IEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoRXZlbnRMaXN0ZW5lck9wdGlvbnMg
b3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKICAgICBbSW1wbGVtZW50ZWRBcz1kaXNwYXRj
aEV2ZW50Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGRpc3BhdGNoRXZl
bnQoRXZlbnQgZXZlbnQpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0hhc2hDaGFu
Z2VFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0hhc2hDaGFuZ2VF
dmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBAIGludGVyZmFjZSBI
YXNoQ2hhbmdlRXZlbnQgOiBFdmVudCB7CiAgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIEhhc2hDaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CiAKICAgICAvLyBG
SVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3Jv
bmcuCi0gICAgdm9pZCBpbml0SGFzaENoYW5nZUV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBl
ID0gInVuZGVmaW5lZCIsCisgICAgdW5kZWZpbmVkIGluaXRIYXNoQ2hhbmdlRXZlbnQob3B0aW9u
YWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFVTVlN0cmluZyBvbGRVUkwgPSAidW5k
ZWZpbmVkIiwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9JZGxlUmVxdWVzdENhbGxiYWNrLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSWRsZVJlcXVlc3RDYWxsYmFjay5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9JZGxlUmVxdWVzdENh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNCArMjMsNCBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWNhbGxiYWNrIElkbGVSZXF1ZXN0Q2FsbGJh
Y2sgPSB2b2lkIChJZGxlRGVhZGxpbmUgZGVhZGxpbmUpOworY2FsbGJhY2sgSWRsZVJlcXVlc3RD
YWxsYmFjayA9IHVuZGVmaW5lZCAoSWRsZURlYWRsaW5lIGRlYWRsaW5lKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAs
NyBAQCBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudCA6IFVJRXZlbnQgewogCiAgICAgLy8gRklYTUU6
IHRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24gaW4gdGhlIERPTSBzcGVjLgogICAgIC8v
IEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3
cm9uZy4KLSAgICB2b2lkIGluaXRLZXlib2FyZEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBl
ID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlID0gZmFsc2UsIG9wdGlv
bmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAorICAgIHVuZGVmaW5lZCBpbml0S2V5Ym9h
cmRFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBi
b29sZWFuIGNhbkJ1YmJsZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBm
YWxzZSwKICAgICAgICAgb3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXcgPSBudWxsLCBvcHRpb25h
bCBET01TdHJpbmcga2V5SWRlbnRpZmllciA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGxvY2F0aW9uID0gMCwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjdHJsS2V5ID0g
ZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gYWx0S2V5ID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4g
c2hpZnRLZXkgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5ID0gZmFsc2UsIG9wdGlv
bmFsIGJvb2xlYW4gYWx0R3JhcGhLZXkgPSBmYWxzZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIHR5cGVk
ZWYgKFdpbmRvd1Byb3h5IG9yIE1lc3NhZ2VQb3J0KSBNZXMKICAgICBbQ3VzdG9tR2V0dGVyXSBy
ZWFkb25seSBhdHRyaWJ1dGUgYW55IGRhdGE7CiAgICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkg
YXR0cmlidXRlIEZyb3plbkFycmF5PE1lc3NhZ2VQb3J0PiBwb3J0czsKIAotICAgIHZvaWQgaW5p
dE1lc3NhZ2VFdmVudChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0g
ZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAorICAgIHVuZGVmaW5l
ZCBpbml0TWVzc2FnZUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJs
ZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsCiAgICAgICAg
IG9wdGlvbmFsIGFueSBkYXRhID0gbnVsbCwgb3B0aW9uYWwgVVNWU3RyaW5nIG9yaWdpbkFyZyA9
ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFzdEV2ZW50SWQgPSAiIiwgb3B0aW9uYWwgTWVzc2Fn
ZUV2ZW50U291cmNlPyBzb3VyY2UgPSBudWxsLAogICAgICAgICBvcHRpb25hbCBzZXF1ZW5jZTxN
ZXNzYWdlUG9ydD4gbWVzc2FnZVBvcnRzID0gW10pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlUG9ydC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEwIEBACiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogXSBpbnRl
cmZhY2UgTWVzc2FnZVBvcnQgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNl
cXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOwotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBQ
b3N0TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7Ci0gICAgdm9pZCBzdGFydCgpOwotICAgIHZvaWQg
Y2xvc2UoKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5z
ZmVyKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBQb3N0TWVzc2FnZU9wdGlv
bnMgb3B0aW9ucyk7CisgICAgdW5kZWZpbmVkIHN0YXJ0KCk7CisgICAgdW5kZWZpbmVkIGNsb3Nl
KCk7CiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vTW91c2VFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAK
IAogICAgIC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2
YWx1ZSBpcyB3cm9uZy4KICAgICAvLyBGSVhNRTogcmVsYXRlZFRhcmdldCBzaG91bGQgYmUgb2Yg
dHlwZSBFdmVudFRhcmdldD8gYnV0IHdlIG5lZWQgdG8gdXNlIGFueSB0byBzdXBwb3J0IGEgcXVp
cmsgZm9yIGlBZCBQcm9kdWNlciAocmRhcjovL3Byb2JsZW0vMzA2NDAxMDEpLgotICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3QmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgSW1wbGVtZW50ZWRBcz1p
bml0TW91c2VFdmVudFF1aXJrXSB2b2lkIGluaXRNb3VzZUV2ZW50KG9wdGlvbmFsIERPTVN0cmlu
ZyB0eXBlID0gInVuZGVmaW5lZCIsCisgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCZTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBJbXBsZW1lbnRlZEFzPWluaXRNb3VzZUV2ZW50UXVpcmtdIHVuZGVm
aW5lZCBpbml0TW91c2VFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQi
LAogICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSA9IGZhbHNlLCBvcHRpb25hbCBi
b29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwKICAgICAgICAgb3B0aW9uYWwgV2luZG93UHJveHk/
IHZpZXcgPSBudWxsLCBvcHRpb25hbCBsb25nIGRldGFpbCA9IDAsCiAgICAgICAgIG9wdGlvbmFs
IGxvbmcgc2NyZWVuWCA9IDAsIG9wdGlvbmFsIGxvbmcgc2NyZWVuWSA9IDAsIG9wdGlvbmFsIGxv
bmcgY2xpZW50WCA9IDAsIG9wdGlvbmFsIGxvbmcgY2xpZW50WSA9IDAsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDQgKzI2LDQgQEAKIFsKICAgICBDYWxsYmFja1RoaXNPYmplY3Q9TXV0YXRpb25PYnNlcnZlciwK
ICAgICBJc1dlYWtDYWxsYmFjaywKLV0gY2FsbGJhY2sgTXV0YXRpb25DYWxsYmFjayA9IHZvaWQg
KHNlcXVlbmNlPE11dGF0aW9uUmVjb3JkPiBtdXRhdGlvbnMsIE11dGF0aW9uT2JzZXJ2ZXIgb2Jz
ZXJ2ZXIpOworXSBjYWxsYmFjayBNdXRhdGlvbkNhbGxiYWNrID0gdW5kZWZpbmVkIChzZXF1ZW5j
ZTxNdXRhdGlvblJlY29yZD4gbXV0YXRpb25zLCBNdXRhdGlvbk9ic2VydmVyIG9ic2VydmVyKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNyBAQCBpbnRlcmZhY2UgTXV0YXRpb25FdmVudCA6IEV2ZW50IHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgYXR0ckNoYW5nZTsKIAogICAgIC8vIEZJ
WE1FOiBVc2luZyAidW5kZWZpbmVkIiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9u
Zy4KLSAgICB2b2lkIGluaXRNdXRhdGlvbkV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlID0g
InVuZGVmaW5lZCIsIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlID0gZmFsc2UsIG9wdGlvbmFs
IGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLAorICAgIHVuZGVmaW5lZCBpbml0TXV0YXRpb25F
dmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCBib29s
ZWFuIGNhbkJ1YmJsZSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUgPSBmYWxz
ZSwKICAgICAgICAgb3B0aW9uYWwgTm9kZT8gcmVsYXRlZE5vZGUgPSBudWxsLCBvcHRpb25hbCBE
T01TdHJpbmcgcHJldlZhbHVlID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBuZXdW
YWx1ZSA9ICJ1bmRlZmluZWQiLAogICAgICAgICBvcHRpb25hbCBET01TdHJpbmcgYXR0ck5hbWUg
PSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgYXR0ckNoYW5nZSA9IDApOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsOCArMzYsOCBAQAogXSBpbnRlcmZhY2UgTXV0YXRpb25PYnNlcnZl
ciB7CiAgICAgY29uc3RydWN0b3IoTXV0YXRpb25DYWxsYmFjayBjYWxsYmFjayk7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShOb2RlIHRhcmdldCwgb3B0aW9uYWwgTXV0
YXRpb25PYnNlcnZlckluaXQgb3B0aW9ucyk7Ci0gICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgb2JzZXJ2ZShOb2RlIHRhcmdldCwgb3B0aW9u
YWwgTXV0YXRpb25PYnNlcnZlckluaXQgb3B0aW9ucyk7CisgICAgdW5kZWZpbmVkIGRpc2Nvbm5l
Y3QoKTsKICAgICBbUmVzdWx0RmllbGQ9cmVjb3Jkc10gc2VxdWVuY2U8TXV0YXRpb25SZWNvcmQ+
IHRha2VSZWNvcmRzKCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU4
LDcgKzU4LDcgQEAKIAogICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZz8gbm9k
ZVZhbHVlOwogICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZz8gdGV4dENvbnRl
bnQ7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIG5vcm1hbGl6ZSgpOworICAgIFtDRVJlYWN0aW9u
c10gdW5kZWZpbmVkIG5vcm1hbGl6ZSgpOwogCiAgICAgW0NFUmVhY3Rpb25zLCBJbXBsZW1lbnRl
ZEFzPWNsb25lTm9kZUZvckJpbmRpbmdzLCBNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBO
b2RlIGNsb25lTm9kZShvcHRpb25hbCBib29sZWFuIGRlZXAgPSBmYWxzZSk7CiAgICAgYm9vbGVh
biBpc0VxdWFsTm9kZShOb2RlPyBvdGhlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZUl0ZXJhdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJh
dG9yLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVy
YXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDUgKzMyLDUgQEAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIE5vZGU/IG5leHROb2RlKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBOb2Rl
PyBwcmV2aW91c05vZGUoKTsKIAotICAgIHZvaWQgZGV0YWNoKCk7CisgICAgdW5kZWZpbmVkIGRl
dGFjaCgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwJKHJldmlzaW9uIDI2
NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzMsOSArMzMsOSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBsYXN0
RWxlbWVudENoaWxkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNoaWxk
RWxlbWVudENvdW50OwogCi0gICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOwotICAg
IFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYXBwZW5k
KChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOwotICAgIFtDRVJlYWN0aW9ucywgVW5zY29w
YWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERP
TVN0cmluZykuLi4gbm9kZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9k
ZXMpOworICAgIFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZSwgTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAgW0NFUmVh
Y3Rpb25zLCBVbnNjb3BhYmxlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlcGxhY2VD
aGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKIAogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gRWxlbWVudD8gcXVlcnlTZWxlY3RvcihET01TdHJpbmcgc2VsZWN0b3JzKTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUxpc3QgcXVlcnlTZWxlY3RvckFs
bChET01TdHJpbmcgc2VsZWN0b3JzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTUgKzMxLDE1IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29sbGFw
c2VkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVy
OwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFN0YXJ0KE5vZGUgbm9kZSwgdW5z
aWduZWQgbG9uZyBvZmZzZXQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbmQo
Tm9kZSBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldFN0YXJ0QmVmb3JlKE5vZGUgbm9kZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldFN0YXJ0QWZ0ZXIoTm9kZSBub2RlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgc2V0RW5kQmVmb3JlKE5vZGUgbm9kZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldEVuZEFmdGVyKE5vZGUgbm9kZSk7Ci0gICAgdm9pZCBjb2xsYXBzZShvcHRpb25hbCBi
b29sZWFuIHRvU3RhcnQgPSBmYWxzZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNl
bGVjdE5vZGUoTm9kZSBub2RlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VsZWN0
Tm9kZUNvbnRlbnRzKE5vZGUgbm9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0U3RhcnQoTm9kZSBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RW5kKE5vZGUgbm9kZSwgdW5zaWduZWQgbG9uZyBv
ZmZzZXQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN0YXJ0QmVmb3Jl
KE5vZGUgbm9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RhcnRB
ZnRlcihOb2RlIG5vZGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEVu
ZEJlZm9yZShOb2RlIG5vZGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dEVuZEFmdGVyKE5vZGUgbm9kZSk7CisgICAgdW5kZWZpbmVkIGNvbGxhcHNlKG9wdGlvbmFsIGJv
b2xlYW4gdG9TdGFydCA9IGZhbHNlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZWxlY3ROb2RlKE5vZGUgbm9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2VsZWN0Tm9kZUNvbnRlbnRzKE5vZGUgbm9kZSk7CiAKICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBTVEFSVF9UT19TVEFSVCA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1RBUlRf
VE9fRU5EID0gMTsKQEAgLTQ3LDE0ICs0NywxNCBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IEVORF9UT19TVEFSVCA9IDM7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBzaG9ydCBjb21wYXJl
Qm91bmRhcnlQb2ludHModW5zaWduZWQgc2hvcnQgaG93LCBSYW5nZSBzb3VyY2VSYW5nZSk7CiAK
LSAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZUNvbnRlbnRz
KCk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0
ZUNvbnRlbnRzKCk7CiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RDb250ZW50cygpOwogICAgIFtDRVJlYWN0aW9u
cywgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNv
bnRlbnRzKCk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBpbnNl
cnROb2RlKE5vZGUgbm9kZSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzdXJyb3VuZENvbnRlbnRzKE5vZGUgbmV3UGFyZW50KTsKKyAgICBbQ0VSZWFjdGlvbnMs
IE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgaW5zZXJ0Tm9kZShOb2RlIG5vZGUpOworICAg
IFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzdXJyb3VuZENvbnRl
bnRzKE5vZGUgbmV3UGFyZW50KTsKIAogICAgIFtOZXdPYmplY3RdIFJhbmdlIGNsb25lUmFuZ2Uo
KTsKLSAgICB2b2lkIGRldGFjaCgpOworICAgIHVuZGVmaW5lZCBkZXRhY2goKTsKIAogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBpc1BvaW50SW5SYW5nZShOb2RlIG5vZGUsIHVuc2ln
bmVkIGxvbmcgb2Zmc2V0KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNob3J0IGNvbXBhcmVQ
b2ludChOb2RlIG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKQEAgLTcyLDcgKzcyLDcgQEAK
IAogICAgIC8vIE5vbi1zdGFuZGFyZCBleHRlbnNpb24uCiAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBldmVudHVhbGx5IGRyb3AgdGhpcyBzaW5jZSBubyBvdGhlciBicm93c2VyIHN1cHBvcnRzIGl0
LgotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBleHBhbmQob3B0aW9uYWwgRE9NU3RyaW5n
IHVuaXQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGV4cGFuZChvcHRpb25h
bCBET01TdHJpbmcgdW5pdCk7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGxpa2VseSBkcm9w
IHRoaXMgc2luY2Ugd2UgYWRkZWQgaXQgZm9yIEZpcmVmb3ggaW50ZXJvcGVyYWJpbGl0eSwgYnV0
IG5vdyBubyBvdGhlciBicm93c2VyIHN1cHBvcnRzIGl0LgogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gc2hvcnQgY29tcGFyZU5vZGUoTm9kZSBub2RlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9SZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxi
YWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNCArMzEsNCBAQAogLy8gaGlnaFJlc1RpbWUg
aXMgcGFzc2VkIGFzIGhpZ2ggcmVzb2x1dGlvbiB0aW1lc3RhbXAsIHNlZQogLy8gaHR0cDovL3d3
dy53My5vcmcvVFIvaHItdGltZS8gZm9yIGRldGFpbHMuCiAKLWNhbGxiYWNrIFJlcXVlc3RBbmlt
YXRpb25GcmFtZUNhbGxiYWNrID0gdm9pZCAodW5yZXN0cmljdGVkIGRvdWJsZSBoaWdoUmVzVGlt
ZSk7CitjYWxsYmFjayBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayA9IHVuZGVmaW5lZCAo
dW5yZXN0cmljdGVkIGRvdWJsZSBoaWdoUmVzVGltZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vU3RyaW5nQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9T
dHJpbmdDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9TdHJpbmdDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAKIAog
WwogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCi1dIGNhbGxiYWNrIFN0cmluZ0NhbGxi
YWNrID0gdm9pZCAoRE9NU3RyaW5nIGRhdGEpOworXSBjYWxsYmFjayBTdHJpbmdDYWxsYmFjayA9
IHVuZGVmaW5lZCAoRE9NU3RyaW5nIGRhdGEpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Rl
eHRFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGludGVyZmFjZSBUZXh0RXZlbnQgOiBV
SUV2ZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRhdGE7CiAKICAgICAv
LyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMg
d3JvbmcuCi0gICAgdm9pZCBpbml0VGV4dEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJn
ID0gInVuZGVmaW5lZCIsCisgICAgdW5kZWZpbmVkIGluaXRUZXh0RXZlbnQob3B0aW9uYWwgRE9N
U3RyaW5nIHR5cGVBcmcgPSAidW5kZWZpbmVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0
aW9uYWwgYm9vbGVhbiBjYW5CdWJibGVBcmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3QXJnID0gbnVsbCwKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vVG91Y2hFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9Ub3VjaEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG1ldGFLZXk7CiAKICAgICAvLyBGSVhNRTog
VXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0g
ICAgdm9pZCBpbml0VG91Y2hFdmVudChvcHRpb25hbCBUb3VjaExpc3Q/IHRvdWNoZXMgPSBudWxs
LAorICAgIHVuZGVmaW5lZCBpbml0VG91Y2hFdmVudChvcHRpb25hbCBUb3VjaExpc3Q/IHRvdWNo
ZXMgPSBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgVG91Y2hMaXN0PyB0
YXJnZXRUb3VjaGVzID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFRv
dWNoTGlzdD8gY2hhbmdlZFRvdWNoZXMgPSBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVUlF
dmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQCBpbnRlcmZhY2UgVUlFdmVudCA6
IEV2ZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBkZXRhaWw7CiAgICAgCiAgICAg
Ly8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlz
IHdyb25nLgotICAgIHZvaWQgaW5pdFVJRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAi
dW5kZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUgPSBmYWxzZSwgb3B0aW9uYWwg
Ym9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3ID0g
bnVsbCwgb3B0aW9uYWwgbG9uZyBkZXRhaWwgPSAwKTsKKyAgICB1bmRlZmluZWQgaW5pdFVJRXZl
bnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUgPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgYm9vbGVh
biBjYW5CdWJibGUgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2Us
IG9wdGlvbmFsIFdpbmRvd1Byb3h5PyB2aWV3ID0gbnVsbCwgb3B0aW9uYWwgbG9uZyBkZXRhaWwg
PSAwKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxheWVyWDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyBsYXllclk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRs
CShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgaW50ZXJmYWNlIFdoZWVsRXZlbnQgOiBN
b3VzZUV2ZW50IHsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdERpcmVj
dGlvbkludmVydGVkRnJvbURldmljZTsKIAotICAgIHZvaWQgaW5pdFdlYktpdFdoZWVsRXZlbnQo
b3B0aW9uYWwgbG9uZyB3aGVlbERlbHRhWCA9IDAsIG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVkg
PSAwLCBvcHRpb25hbCBXaW5kb3dQcm94eT8gdmlldyA9IG51bGwsCisgICAgdW5kZWZpbmVkIGlu
aXRXZWJLaXRXaGVlbEV2ZW50KG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVggPSAwLCBvcHRpb25h
bCBsb25nIHdoZWVsRGVsdGFZID0gMCwgb3B0aW9uYWwgV2luZG93UHJveHk/IHZpZXcgPSBudWxs
LAogICAgICAgICBvcHRpb25hbCBsb25nIHNjcmVlblggPSAwLCBvcHRpb25hbCBsb25nIHNjcmVl
blkgPSAwLCBvcHRpb25hbCBsb25nIGNsaWVudFggPSAwLCBvcHRpb25hbCBsb25nIGNsaWVudFkg
PSAwLAogICAgICAgICBvcHRpb25hbCBib29sZWFuIGN0cmxLZXkgPSBmYWxzZSwgb3B0aW9uYWwg
Ym9vbGVhbiBhbHRLZXkgPSBmYWxzZSwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtl
eSA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIG1ldGFLZXkgPSBmYWxzZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0Jsb2JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9CbG9iQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2JDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTIzLDQgKzIzLDQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci1jYWxsYmFjayBCbG9iQ2FsbGJhY2sgPSB2b2lkIChCbG9iPyBibG9iKTsKK2NhbGxiYWNrIEJs
b2JDYWxsYmFjayA9IHVuZGVmaW5lZCAoQmxvYj8gYmxvYik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZVJlYWRlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDEyICs0MywxMiBA
QAogCiAgICAgLy8gRklYTUU6IEluIGFsbCBmb3VyIG1ldGhvZHMgZm91bmQgYmVsb3csIHRoZSBi
bG9iIHBhcmFtZXRlciBzaG91bGQgbm90IGJlIG51bGxhYmxlLgogICAgIC8vIGFzeW5jIHJlYWQg
bWV0aG9kcwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNBcnJheUJ1ZmZlcihC
bG9iPyBibG9iKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVhZEFzQmluYXJ5U3Ry
aW5nKEJsb2I/IGJsb2IpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNUZXh0
KEJsb2I/IGJsb2IsIG9wdGlvbmFsIERPTVN0cmluZyBlbmNvZGluZyk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHJlYWRBc0RhdGFVUkwoQmxvYj8gYmxvYik7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVhZEFzQXJyYXlCdWZmZXIoQmxvYj8gYmxvYik7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVhZEFzQmluYXJ5U3RyaW5nKEJsb2I/IGJs
b2IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlYWRBc1RleHQoQmxvYj8g
YmxvYiwgb3B0aW9uYWwgRE9NU3RyaW5nIGVuY29kaW5nKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCByZWFkQXNEYXRhVVJMKEJsb2I/IGJsb2IpOwogCi0gICAgdm9pZCBhYm9y
dCgpOworICAgIHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIChE
T01TdHJpbmcgb3IgQXJyYXlCdWZmZXIpPyByZXN1bHQ7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NRm9ybURhdGEuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NRm9ybURhdGEuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0RPTUZvcm1EYXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTQgKzM5LDE0IEBAIHR5cGVk
ZWYgKEZpbGUgb3IgVVNWU3RyaW5nKSBGb3JtRGF0YUVudHIKIF0gaW50ZXJmYWNlIERPTUZvcm1E
YXRhIHsKICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCBIVE1MRm9ybUVsZW1lbnQ/IGZvcm0pOwog
Ci0gICAgdm9pZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2YWx1ZSk7Ci0gICAg
dm9pZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIEJsb2IgYmxvYlZhbHVlLCBvcHRpb25hbCBVU1ZT
dHJpbmcgZmlsZW5hbWUpOwotICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gdm9pZCBkZWxldGUo
VVNWU3RyaW5nIG5hbWUpOworICAgIHVuZGVmaW5lZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVT
VlN0cmluZyB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgQmxv
YiBibG9iVmFsdWUsIG9wdGlvbmFsIFVTVlN0cmluZyBmaWxlbmFtZSk7CisgICAgW0ltcGxlbWVu
dGVkQXM9cmVtb3ZlXSB1bmRlZmluZWQgZGVsZXRlKFVTVlN0cmluZyBuYW1lKTsKICAgICBGb3Jt
RGF0YUVudHJ5VmFsdWU/IGdldChVU1ZTdHJpbmcgbmFtZSk7CiAgICAgc2VxdWVuY2U8Rm9ybURh
dGFFbnRyeVZhbHVlPiBnZXRBbGwoVVNWU3RyaW5nIG5hbWUpOwogICAgIGJvb2xlYW4gaGFzKFVT
VlN0cmluZyBuYW1lKTsKLSAgICB2b2lkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZh
bHVlKTsKLSAgICB2b2lkIHNldChVU1ZTdHJpbmcgbmFtZSwgQmxvYiBibG9iVmFsdWUsIG9wdGlv
bmFsIFVTVlN0cmluZyBmaWxlbmFtZSk7CisgICAgdW5kZWZpbmVkIHNldChVU1ZTdHJpbmcgbmFt
ZSwgVVNWU3RyaW5nIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0KFVTVlN0cmluZyBuYW1lLCBC
bG9iIGJsb2JWYWx1ZSwgb3B0aW9uYWwgVVNWU3RyaW5nIGZpbGVuYW1lKTsKIAogICAgIGl0ZXJh
YmxlPFVTVlN0cmluZywgRm9ybURhdGFFbnRyeVZhbHVlPjsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9ET01Ub2tlbkxpc3QuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVRva2VuTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDggKzMwLDggQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVy
IERPTVN0cmluZz8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBib29sZWFuIGNvbnRh
aW5zKERPTVN0cmluZyB0b2tlbik7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBhZGQoRE9NU3RyaW5nLi4uIHRva2Vucyk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCByZW1vdmUoRE9NU3RyaW5nLi4uIHRva2Vucyk7CisgICAgW0NF
UmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkZChET01TdHJpbmcuLi4g
dG9rZW5zKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
cmVtb3ZlKERPTVN0cmluZy4uLiB0b2tlbnMpOwogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dF
eGNlcHRpb25dIGJvb2xlYW4gdG9nZ2xlKERPTVN0cmluZyB0b2tlbiwgb3B0aW9uYWwgYm9vbGVh
biBmb3JjZSk7CiAgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBy
ZXBsYWNlKERPTVN0cmluZyB0b2tlbiwgRE9NU3RyaW5nIG5ld1Rva2VuKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGJvb2xlYW4gc3VwcG9ydHMoRE9NU3RyaW5nIHRva2VuKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVVSTC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVVJMLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTIsNSArNTIsNSBAQAogCiAgICAgLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL0ZpbGVBUEkvI2NyZWF0aW5nLXJldm9raW5nLgogICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMgRE9NU3RyaW5nIGNyZWF0ZU9i
amVjdFVSTChCbG9iIGJsb2IpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSBzdGF0aWMgdm9pZCByZXZva2VPYmplY3RVUkwoRE9NU3RyaW5nIHVybCk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyB1bmRlZmluZWQgcmV2b2tlT2JqZWN0
VVJMKERPTVN0cmluZyB1cmwpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBp
bnRlcmZhY2UgSFRNTEJ1dHRvbkVsZW1lbnQgOiBIVE1MRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICBib29sZWFuIGNoZWNrVmFs
aWRpdHkoKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
XSBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShE
T01TdHJpbmcgZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJp
bmcgZXJyb3IpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgdHlwZWRlZiAoCiAgICAgW0NhbGxXaXRo
PUdsb2JhbE9iamVjdCwgTWF5VGhyb3dFeGNlcHRpb25dIFJlbmRlcmluZ0NvbnRleHQ/IGdldENv
bnRleHQoRE9NU3RyaW5nIGNvbnRleHRJZCwgYW55Li4uIGFyZ3VtZW50cyk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB0b0RhdGFVUkwob3B0aW9uYWwgRE9NU3RyaW5nIHR5
cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5KTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdG9CbG9iKEJsb2JDYWxsYmFjayBjYWxs
YmFjaywgb3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5KTsKKyAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCB0b0Jsb2IoQmxvYkNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBET01TdHJpbmcg
dHlwZSwgb3B0aW9uYWwgYW55IHF1YWxpdHkpOwogICAgIFtDb25kaXRpb25hbD1PRkZTQ1JFRU5f
Q0FOVkFTLCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlv
bl0gT2Zmc2NyZWVuQ2FudmFzIHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CiAKICAgICBb
Q29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLCBDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNl
cHRpb24sIE5ld09iamVjdF0gTWVkaWFTdHJlYW0gY2FwdHVyZVN0cmVhbShvcHRpb25hbCBkb3Vi
bGUgZnJhbWVSZXF1ZXN0UmF0ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRGlhbG9nRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIF0g
aW50ZXJmYWNlIEhUTUxEaWFsb2dFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtDRVJlYWN0
aW9ucywgUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gb3BlbjsKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHJldHVyblZhbHVlOwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBzaG93KCk7Ci0gICAg
W0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzaG93TW9kYWwoKTsKLSAgICBb
Q0VSZWFjdGlvbnNdIHZvaWQgY2xvc2Uob3B0aW9uYWwgRE9NU3RyaW5nIHJldHVyblZhbHVlKTsK
KyAgICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCBzaG93KCk7CisgICAgW0NFUmVhY3Rpb25zLCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNob3dNb2RhbCgpOworICAgIFtDRVJlYWN0aW9u
c10gdW5kZWZpbmVkIGNsb3NlKG9wdGlvbmFsIERPTVN0cmluZyByZXR1cm5WYWx1ZSk7CiB9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
MywxMyArMzMsMTMgQEAKIAogICAgIC8vIFVzZXIgaW50ZXJhY3Rpb24uCiAgICAgW0NFUmVhY3Rp
b25zLCBSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBoaWRkZW47Ci0gICAgdm9pZCBjbGljaygp
OworICAgIHVuZGVmaW5lZCBjbGljaygpOwogICAgIFtDRVJlYWN0aW9ucywgUmVmbGVjdF0gYXR0
cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBhY2Nlc3NLZXlMYWJlbDsKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBib29sZWFu
IGRyYWdnYWJsZTsKICAgICAvLyBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBIVE1MTWVudUVsZW1l
bnQ/IGNvbnRleHRNZW51OyAvLyBGSVhNRTogTm90IHN1cHBvcnRlZC4KICAgICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBib29sZWFuIHNwZWxsY2hlY2s7Ci0gICAgLy8gdm9pZCBmb3JjZVNwZWxs
Q2hlY2soKTsgLy8gRklYTUU6IE5vdCBzdXBwb3J0ZWQuCisgICAgLy8gdW5kZWZpbmVkIGZvcmNl
U3BlbGxDaGVjaygpOyAvLyBGSVhNRTogTm90IHN1cHBvcnRlZC4KIAogICAgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGlubmVyVGV4
dDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw1ICszMSw1IEBAIGludGVyZmFjZSBIVE1M
RmllbGRTZXRFbGVtZW50IDogSFRNTEVsZW0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHko
KTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1JbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uXSBib29s
ZWFuIHJlcG9ydFZhbGlkaXR5KCk7Ci0gICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJp
bmcgZXJyb3IpOworICAgIHVuZGVmaW5lZCBzZXRDdXN0b21WYWxpZGl0eShET01TdHJpbmcgZXJy
b3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsOCBAQAogICAgIGdldHRlciBFbGVtZW50PyAo
dW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgZ2V0dGVyIChSYWRpb05vZGVMaXN0IG9yIEVsZW1l
bnQpPyAoRE9NU3RyaW5nIG5hbWUpOwogCi0gICAgW0ltcGxlbWVudGVkQXM9c3VibWl0RnJvbUph
dmFTY3JpcHRdIHZvaWQgc3VibWl0KCk7Ci0gICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gdm9p
ZCByZXNldCgpOworICAgIFtJbXBsZW1lbnRlZEFzPXN1Ym1pdEZyb21KYXZhU2NyaXB0XSB1bmRl
ZmluZWQgc3VibWl0KCk7CisgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gdW5kZWZpbmVkIHJl
c2V0KCk7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRp
bWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIHg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgeTsKIAotICAgIFByb21pc2U8dm9p
ZD4gZGVjb2RlKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGRlY29kZSgpOwogfTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC02Myw4ICs2Myw4IEBACiAgICAgYXR0cmlidXRlIERhdGU/IHZhbHVlQXNEYXRl
OwogICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHZhbHVlQXNOdW1iZXI7CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3RlcFVwKG9wdGlvbmFsIGxvbmcgbiA9IDEpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzdGVwRG93bihvcHRpb25hbCBsb25nIG4gPSAx
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzdGVwVXAob3B0aW9uYWwgbG9u
ZyBuID0gMSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3RlcERvd24ob3B0
aW9uYWwgbG9uZyBuID0gMSk7CiAKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3
aWxsVmFsaWRhdGU7CkBAIC03MiwxOSArNzIsMTkgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwogICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xl
YW4gcmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmlu
ZyBlcnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJv
cik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwogCi0gICAgdm9p
ZCBzZWxlY3QoKTsKKyAgICB1bmRlZmluZWQgc2VsZWN0KCk7CiAgICAgW0ltcGxlbWVudGVkQXM9
c2VsZWN0aW9uU3RhcnRGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uU3RhcnQ7
CiAgICAgW0ltcGxlbWVudGVkQXM9c2VsZWN0aW9uRW5kRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSBs
b25nIHNlbGVjdGlvbkVuZDsKICAgICBbSW1wbGVtZW50ZWRBcz1zZWxlY3Rpb25EaXJlY3Rpb25G
b3JCaW5kaW5nc10gYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3Rpb25EaXJlY3Rpb247CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNl
bWVudCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFJhbmdlVGV4dChET01TdHJp
bmcgcmVwbGFjZW1lbnQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBv
cHRpb25hbCBET01TdHJpbmcgc2VsZWN0aW9uTW9kZSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNl
bWVudCwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERP
TVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKIAotICAgIFtJbXBsZW1lbnRlZEFzPXNldFNlbGVjdGlv
blJhbmdlRm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNlbGVjdGlvblJh
bmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsK
KyAgICBbSW1wbGVtZW50ZWRBcz1zZXRTZWxlY3Rpb25SYW5nZUZvckJpbmRpbmdzLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNlbGVjdGlvblJhbmdlKGxvbmcgc3RhcnQsIGxvbmcg
ZW5kLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsKIAogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ247CiAgICAgW0NFUmVh
Y3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB1c2VNYXA7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbAkocmV2aXNpb24g
MjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxLZXlnZW5FbGVtZW50
IDogSFRNTEVsZW1lbgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2U7CiAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1
bnRpbWU9SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgp
OwotICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRl
ZmluZWQgc2V0Q3VzdG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw4
ICsyMCw4IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogXSBpbnRlcmZhY2UgSFRNTE1hcnF1
ZWVFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIHZvaWQgc3RhcnQoKTsKLSAgICB2b2lkIHN0
b3AoKTsKKyAgICB1bmRlZmluZWQgc3RhcnQoKTsKKyAgICB1bmRlZmluZWQgc3RvcCgpOwogICAg
IAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgYmVoYXZpb3I7CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmli
dXRlIERPTVN0cmluZyBiZ0NvbG9yOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIHR5cGVk
ZWYgKAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcHJl
bG9hZDsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIGJ1ZmZlcmVkOwotICAg
IHZvaWQgbG9hZCgpOworICAgIHVuZGVmaW5lZCBsb2FkKCk7CiAKICAgICBET01TdHJpbmcgY2Fu
UGxheVR5cGUoRE9NU3RyaW5nIHR5cGUpOwogCkBAIC04Miw5ICs4Miw5IEBAIHR5cGVkZWYgKAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGVuZGVkOwogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9wbGF5OwogICAgIFtDRVJl
YWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGxvb3A7Ci0gICAg
UHJvbWlzZTx2b2lkPiBwbGF5KCk7Ci0gICAgdm9pZCBwYXVzZSgpOwotICAgIHZvaWQgZmFzdFNl
ZWsodW5yZXN0cmljdGVkIGRvdWJsZSB0aW1lKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gcGxh
eSgpOworICAgIHVuZGVmaW5lZCBwYXVzZSgpOworICAgIHVuZGVmaW5lZCBmYXN0U2Vlayh1bnJl
c3RyaWN0ZWQgZG91YmxlIHRpbWUpOwogCiAgICAgLy8gY29udHJvbHMKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgYm9vbGVhbiBjb250cm9sczsKQEAgLTEwMywxMSArMTAz
LDExIEBAIHR5cGVkZWYgKAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVEFUSVNUSUNTXSByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3ZWJraXRWaWRlb0RlY29kZWRCeXRlQ291bnQ7
CiAKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVu
dGltZT1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1l
ZGlhS2V5cyB3ZWJraXRLZXlzOwotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01F
RElBLCBFbmFibGVkQXRSdW50aW1lPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJXSB2b2lkIHdlYmtp
dFNldE1lZGlhS2V5cyhXZWJLaXRNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlv
bmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9TGVnYWN5RW5jcnlw
dGVkTWVkaWFBUEldIHVuZGVmaW5lZCB3ZWJraXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlz
PyBtZWRpYUtleXMpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRB
dFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNy
eXB0ZWRNZWRpYUFQSVN1cHBvcnRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleXMgbWVkaWFL
ZXlzOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9
RW5jcnlwdGVkTWVkaWFBUEksIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRp
YUFQSVN1cHBvcnRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmNyeXB0ZWQ7CiAgICAgW0Nv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRp
YUFQSSwgRGlzYWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0g
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndhaXRpbmdmb3JrZXk7Ci0gICAgW0NvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQSwgRW5hYmxlZEF0UnVudGltZT1FbmNyeXB0ZWRNZWRpYUFQSSwgRGlz
YWJsZWRCeVF1aXJrPWhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydF0gUHJvbWlzZTx2
b2lkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOworICAgIFtDb25kaXRpb25h
bD1FTkNSWVBURURfTUVESUEsIEVuYWJsZWRBdFJ1bnRpbWU9RW5jcnlwdGVkTWVkaWFBUEksIERp
c2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRdIFByb21pc2U8
dW5kZWZpbmVkPiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzPyBtZWRpYUtleXMpOwogCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBUZXh0VHJhY2sgYWRkVGV4dFRyYWNrKERPTVN0cmluZyBraW5kLCBv
cHRpb25hbCBET01TdHJpbmcgbGFiZWwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhbmd1YWdl
ID0gIiIpOwogICAgIFtJbXBsZW1lbnRlZEFzPWVuc3VyZUF1ZGlvVHJhY2tzXSByZWFkb25seSBh
dHRyaWJ1dGUgQXVkaW9UcmFja0xpc3QgYXVkaW9UcmFja3M7CkBAIC0xMjAsNiArMTIwLDYgQEAg
dHlwZWRlZiAoCiAKICAgICBWaWRlb1BsYXliYWNrUXVhbGl0eSBnZXRWaWRlb1BsYXliYWNrUXVh
bGl0eSgpOwogCi0gICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gdm9p
ZCB3ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKKyAgICBbQ29uZGl0aW9uYWw9V0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUXSB1bmRlZmluZWQgd2Via2l0U2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKCk7CiAgICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0Q3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJl
bGVzczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50Lmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgIGJvb2xlYW4gY2hlY2tW
YWxpZGl0eSgpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVyYWN0aXZlRm9ybVZhbGlkYXRp
b25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5
KERPTVN0cmluZyBlcnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1c3RvbVZhbGlkaXR5KERPTVN0
cmluZyBlcnJvcik7CiAKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdp
bmRvd1Byb3h5IGNvbnRlbnRXaW5kb3c7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0
LDkgKzI0LDkgQEAKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBI
VE1MT3B0aW9uc0NvbGxlY3Rpb24gOiBIVE1MQ29sbGVjdGlvbiB7CiAgICAgW0NFUmVhY3Rpb25z
XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgW0NFUmVhY3Rpb25zXSBzZXR0
ZXIgdm9pZCAodW5zaWduZWQgbG9uZyBpbmRleCwgSFRNTE9wdGlvbkVsZW1lbnQ/IG9wdGlvbik7
Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGQoKEhUTUxPcHRp
b25FbGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1M
RWxlbWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lk
IHJlbW92ZShsb25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlvbnNdIHNldHRlciB1bmRlZmluZWQg
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIEhUTUxPcHRpb25FbGVtZW50PyBvcHRpb24pOworICAgIFtD
RVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhZGQoKEhUTUxPcHRpb25F
bGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxl
bWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmlu
ZWQgcmVtb3ZlKGxvbmcgaW5kZXgpOwogCiAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0ZWRJbmRl
eDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9yRm9yZWln
bkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw2IEBACiBdIGludGVyZmFj
ZSBIVE1MT3JGb3JlaWduRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
Z01hcCBkYXRhc2V0OyAvLyBGSVhNRTogU2hvdWxkIGJlIFtTYW1lT2JqZWN0XS4KICAgICBbQ0VS
ZWFjdGlvbnMsIEltcGxlbWVudGVkQXM9dGFiSW5kZXhGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxv
bmcgdGFiSW5kZXg7Ci0gICAgdm9pZCBmb2N1cygpOwotICAgIHZvaWQgYmx1cigpOworICAgIHVu
ZGVmaW5lZCBmb2N1cygpOworICAgIHVuZGVmaW5lZCBibHVyKCk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw3ICszNyw3IEBAIGludGVyZmFjZSBIVE1MT3V0cHV0RWxlbWVudCA6IEhUTUxFbGVt
ZW4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwog
ICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPUludGVy
YWN0aXZlRm9ybVZhbGlkYXRpb25dIGJvb2xlYW4gcmVwb3J0VmFsaWRpdHkoKTsKLSAgICB2b2lk
IHNldEN1c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CisgICAgdW5kZWZpbmVkIHNldEN1
c3RvbVZhbGlkaXR5KERPTVN0cmluZyBlcnJvcik7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Tm9kZUxpc3QgbGFiZWxzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTAgKzM3LDEwIEBACiAg
ICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0
dGVyIEhUTUxPcHRpb25FbGVtZW50PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOyAvLyBGSVhN
RTogVGhlIHNwZWMgaGFzIHRoaXMgcmV0dXJuaW5nIEVsZW1lbnQ/LgogICAgIEhUTUxPcHRpb25F
bGVtZW50PyBuYW1lZEl0ZW0oW1JlcXVpcmVzRXhpc3RpbmdBdG9tU3RyaW5nXSBET01TdHJpbmcg
bmFtZSk7Ci0gICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGQoKEhU
TUxPcHRpb25FbGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFs
IChIVE1MRWxlbWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7Ci0gICAgW0NFUmVhY3Rpb25z
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZW1vdmUoKTsgLy8gQ2hpbGROb2RlIG92ZXJsb2Fk
Ci0gICAgW0NFUmVhY3Rpb25zXSB2b2lkIHJlbW92ZShsb25nIGluZGV4KTsKLSAgICBbQ0VSZWFj
dGlvbnNdIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBIVE1MT3B0aW9uRWxlbWVu
dD8gb3B0aW9uKTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgYWRkKChIVE1MT3B0aW9uRWxlbWVudCBvciBIVE1MT3B0R3JvdXBFbGVtZW50KSBlbGVtZW50
LCBvcHRpb25hbCAoSFRNTEVsZW1lbnQgb3IgbG9uZyk/IGJlZm9yZSA9IG51bGwpOworICAgIFtD
RVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmUoKTsgLy8gQ2hp
bGROb2RlIG92ZXJsb2FkCisgICAgW0NFUmVhY3Rpb25zXSB1bmRlZmluZWQgcmVtb3ZlKGxvbmcg
aW5kZXgpOworICAgIFtDRVJlYWN0aW9uc10gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9u
ZyBpbmRleCwgSFRNTE9wdGlvbkVsZW1lbnQ/IG9wdGlvbik7CiAKICAgICAvKiBbU2FtZU9iamVj
dF0gKi8gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIHNlbGVjdGVkT3B0aW9uczsK
ICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4OwpAQCAtNTEsNyArNTEsNyBAQAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9v
bGVhbiBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFs
aWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlz
dCBsYWJlbHM7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMyArMzgsMTMgQEAgaW50ZXJmYWNlIEhU
TUxUYWJsZUVsZW1lbnQgOiBIVE1MRWxlbWVudAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQs
IFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgd2lkdGg7CiAKICAgICBIVE1MRWxlbWVudCBj
cmVhdGVUSGVhZCgpOwotICAgIFtDRVJlYWN0aW9uc10gdm9pZCBkZWxldGVUSGVhZCgpOworICAg
IFtDRVJlYWN0aW9uc10gdW5kZWZpbmVkIGRlbGV0ZVRIZWFkKCk7CiAgICAgSFRNTEVsZW1lbnQg
Y3JlYXRlVEZvb3QoKTsKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlVEZvb3QoKTsKKyAg
ICBbQ0VSZWFjdGlvbnNdIHVuZGVmaW5lZCBkZWxldGVURm9vdCgpOwogICAgIEhUTUxFbGVtZW50
IGNyZWF0ZVRCb2R5KCk7CiAgICAgSFRNTEVsZW1lbnQgY3JlYXRlQ2FwdGlvbigpOwotICAgIFtD
RVJlYWN0aW9uc10gdm9pZCBkZWxldGVDYXB0aW9uKCk7CisgICAgW0NFUmVhY3Rpb25zXSB1bmRl
ZmluZWQgZGVsZXRlQ2FwdGlvbigpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBIVE1MRWxl
bWVudCBpbnNlcnRSb3cob3B0aW9uYWwgbG9uZyBpbmRleCA9IC0xKTsKLSAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsKKyAgICBb
Q0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUm93KGxvbmcg
aW5kZXgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFi
bGVSb3dFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQCBpbnRlcmZh
Y2UgSFRNTFRhYmxlUm93RWxlbWVudCA6IEhUTUxFbGVtCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5l
ZWRlZCwgUmVmbGVjdD1jaGFyb2ZmXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoT2ZmOwogICAgIFtD
RVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWdu
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSFRNTEVsZW1lbnQgaW5zZXJ0Q2VsbChvcHRpb25h
bCBsb25nIGluZGV4ID0gLTEpOwotICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgZGVsZXRlQ2VsbChsb25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlQ2VsbChsb25nIGluZGV4KTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbAkocmV2
aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAKICAgICBbQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZBbGlnbjsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gcm93czsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIEhUTUxFbGVtZW50IGluc2VydFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwot
ICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcg
aW5kZXgpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBk
ZWxldGVSb3cobG9uZyBpbmRleCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxOSAr
NDQsMTkgQEAgaW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbQogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgYm9vbGVh
biBjaGVja1ZhbGlkaXR5KCk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbl0gYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwotICAgIHZvaWQgc2V0Q3VzdG9t
VmFsaWRpdHkoRE9NU3RyaW5nIGVycm9yKTsKKyAgICB1bmRlZmluZWQgc2V0Q3VzdG9tVmFsaWRp
dHkoRE9NU3RyaW5nIGVycm9yKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBs
YWJlbHM7CiAKLSAgICB2b2lkIHNlbGVjdCgpOworICAgIHVuZGVmaW5lZCBzZWxlY3QoKTsKICAg
ICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25TdGFydDsKICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxl
Y3Rpb25FbmQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3Rpb25EaXJlY3Rpb247CiAK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBs
YWNlbWVudCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFJhbmdlVGV4dChET01T
dHJpbmcgcmVwbGFjZW1lbnQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5k
LCBvcHRpb25hbCBET01TdHJpbmcgc2VsZWN0aW9uTW9kZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBs
YWNlbWVudCwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFs
IERPTVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKIAotICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2Uo
b3B0aW9uYWwgbG9uZyBzdGFydCA9IDAsIG9wdGlvbmFsIGxvbmcgZW5kID0gMCwgb3B0aW9uYWwg
RE9NU3RyaW5nIGRpcmVjdGlvbik7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGlvblJhbmdlKG9w
dGlvbmFsIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGVuZCA9IDAsIG9wdGlvbmFsIERP
TVN0cmluZyBkaXJlY3Rpb24pOwogCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZF0gYXR0cmli
dXRlIERPTVN0cmluZyBhdXRvY29tcGxldGU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxWaWRlb0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMyArMzgs
MTMgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRTdXBwb3J0c0Z1bGxz
Y3JlZW47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW47CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2Via2l0RW50ZXJGdWxs
c2NyZWVuKCk7Ci0gICAgdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHdlYmtpdEVudGVyRnVsbHNjcmVlbigpOworICAgIHVuZGVm
aW5lZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOwogCiAgICAgLy8gTWFpbnRhaW4gIkZ1bGxTY3Jl
ZW4iIGNhcGl0YWxpemF0aW9uIHNjaGVtZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCiAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MDgxCi0gICAg
W0ltcGxlbWVudGVkQXM9d2Via2l0RW50ZXJGdWxsc2NyZWVuLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCB3ZWJraXRFbnRlckZ1bGxTY3JlZW4oKTsKLSAgICBbSW1wbGVtZW50ZWRBcz13ZWJraXRF
eGl0RnVsbHNjcmVlbl0gdm9pZCB3ZWJraXRFeGl0RnVsbFNjcmVlbigpOworICAgIFtJbXBsZW1l
bnRlZEFzPXdlYmtpdEVudGVyRnVsbHNjcmVlbiwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCB3ZWJraXRFbnRlckZ1bGxTY3JlZW4oKTsKKyAgICBbSW1wbGVtZW50ZWRBcz13ZWJraXRFeGl0
RnVsbHNjcmVlbl0gdW5kZWZpbmVkIHdlYmtpdEV4aXRGdWxsU2NyZWVuKCk7CiAKICAgICBbQ29u
ZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJr
aXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKIApAQCAtNTYsNyArNTYsNyBAQAogCiAg
ICAgW0NvbmRpdGlvbmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSBib29sZWFuIHdlYmtpdFN1
cHBvcnRzUHJlc2VudGF0aW9uTW9kZShWaWRlb1ByZXNlbnRhdGlvbk1vZGUgbW9kZSk7CiAgICAg
W0NvbmRpdGlvbmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSByZWFkb25seSBhdHRyaWJ1dGUg
VmlkZW9QcmVzZW50YXRpb25Nb2RlIHdlYmtpdFByZXNlbnRhdGlvbk1vZGU7Ci0gICAgW0NvbmRp
dGlvbmFsPVZJREVPX1BSRVNFTlRBVElPTl9NT0RFXSB2b2lkIHdlYmtpdFNldFByZXNlbnRhdGlv
bk1vZGUoVmlkZW9QcmVzZW50YXRpb25Nb2RlIG1vZGUpOworICAgIFtDb25kaXRpb25hbD1WSURF
T19QUkVTRU5UQVRJT05fTU9ERV0gdW5kZWZpbmVkIHdlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUo
VmlkZW9QcmVzZW50YXRpb25Nb2RlIG1vZGUpOwogfTsKIAogW0NvbmRpdGlvbmFsPVZJREVPX1BS
RVNFTlRBVElPTl9NT0RFXSBlbnVtIFZpZGVvUHJlc2VudGF0aW9uTW9kZSB7ICJpbmxpbmUiLCAi
ZnVsbHNjcmVlbiIsICJwaWN0dXJlLWluLXBpY3R1cmUiIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0ltYWdlQml0bWFwLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0ltYWdlQml0bWFwLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9JbWFnZUJpdG1hcC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAKIF0gaW50
ZXJmYWNlIEltYWdlQml0bWFwIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyB3aWR0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci0g
ICAgdm9pZCBjbG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogfTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw5ICszNyw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIHBsYXllZDsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHBsYXliYWNrU3RhdGU7Ci0gICAgdm9pZCBwbGF5KCk7Ci0gICAg
dm9pZCBwYXVzZSgpOwotICAgIHZvaWQgdW5wYXVzZSgpOworICAgIHVuZGVmaW5lZCBwbGF5KCk7
CisgICAgdW5kZWZpbmVkIHBhdXNlKCk7CisgICAgdW5kZWZpbmVkIHVucGF1c2UoKTsKIAogICAg
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGRlZmF1bHRQbGF5YmFja1JhdGU7CiAgICAg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgcGxheWJhY2tSYXRlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSwxNCArMjksMTQgQEAKIF0gaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyB7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoc2VxdWVuY2U8c2VxdWVuY2U8VVNW
U3RyaW5nPj4gb3IgcmVjb3JkPFVTVlN0cmluZywgVVNWU3RyaW5nPiBvciBVU1ZTdHJpbmcpIGlu
aXQgPSAiIik7CiAKLSAgICB2b2lkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZh
bHVlKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVdIHZvaWQgZGVsZXRlKFVTVlN0cmluZyBu
YW1lKTsKKyAgICB1bmRlZmluZWQgYXBwZW5kKFVTVlN0cmluZyBuYW1lLCBVU1ZTdHJpbmcgdmFs
dWUpOworICAgIFtJbXBsZW1lbnRlZEFzPXJlbW92ZV0gdW5kZWZpbmVkIGRlbGV0ZShVU1ZTdHJp
bmcgbmFtZSk7CiAgICAgVVNWU3RyaW5nPyBnZXQoVVNWU3RyaW5nIG5hbWUpOwogICAgIHNlcXVl
bmNlPFVTVlN0cmluZz4gZ2V0QWxsKFVTVlN0cmluZyBuYW1lKTsKICAgICBib29sZWFuIGhhcyhV
U1ZTdHJpbmcgbmFtZSk7Ci0gICAgdm9pZCBzZXQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVl
KTsKIAotICAgIHZvaWQgc29ydCgpOworICAgIHVuZGVmaW5lZCBzb3J0KCk7CiAKICAgICBpdGVy
YWJsZTxVU1ZTdHJpbmcsIFVTVlN0cmluZz47CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
Vm9pZENhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1ZvaWRD
YWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVm9p
ZENhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQAogCiBbCiAgICAg
RXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQKLV0gY2FsbGJhY2sgVm9pZENhbGxiYWNrID0gdm9p
ZCAoKTsKK10gY2FsbGJhY2sgVm9pZENhbGxiYWNrID0gdW5kZWZpbmVkICgpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQU5HTEVJbnN0YW5jZWRBcnJheXMuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FOR0xFSW5zdGFuY2VkQXJyYXlzLmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQU5HTEVJ
bnN0YW5jZWRBcnJheXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiBdIGlu
dGVyZmFjZSBBTkdMRUluc3RhbmNlZEFycmF5cyB7CiAgICAgY29uc3QgR0xlbnVtIFZFUlRFWF9B
VFRSSUJfQVJSQVlfRElWSVNPUl9BTkdMRSA9IDB4ODhGRTsKIAotICAgIHZvaWQgZHJhd0FycmF5
c0luc3RhbmNlZEFOR0xFKHVuc2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBmaXJzdCwgbG9uZyBjb3Vu
dCwgbG9uZyBwcmltY291bnQpOwotICAgIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUo
dW5zaWduZWQgbG9uZyBtb2RlLCBsb25nIGNvdW50LCB1bnNpZ25lZCBsb25nIHR5cGUsIGxvbmcg
bG9uZyBvZmZzZXQsIGxvbmcgcHJpbWNvdW50KTsKLSAgICB2b2lkIHZlcnRleEF0dHJpYkRpdmlz
b3JBTkdMRSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGRpdmlzb3IpOworICAg
IHVuZGVmaW5lZCBkcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUodW5zaWduZWQgbG9uZyBtb2RlLCBs
b25nIGZpcnN0LCBsb25nIGNvdW50LCBsb25nIHByaW1jb3VudCk7CisgICAgdW5kZWZpbmVkIGRy
YXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKHVuc2lnbmVkIGxvbmcgbW9kZSwgbG9uZyBjb3VudCwg
dW5zaWduZWQgbG9uZyB0eXBlLCBsb25nIGxvbmcgb2Zmc2V0LCBsb25nIHByaW1jb3VudCk7Cisg
ICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSh1bnNpZ25lZCBsb25nIGluZGV4
LCB1bnNpZ25lZCBsb25nIGRpdmlzb3IpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc0RyYXdJbWFnZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzRHJhd0ltYWdlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNyArNDMsNyBAQCB0eXBlZGVmIChIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52
YXNFCiAgICAgLy8gRklYTUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZsb2F0IGFyZ3VtZW50cyBi
ZWxvdyBzaG91bGQgYmUgdW5yZXN0cmljdGVkIGRvdWJsZXMuCiAKICAgICAvLyBkcmF3aW5nIGlt
YWdlcwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VT
b3VyY2UgaW1hZ2UsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUg
ZHkpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VT
b3VyY2UgaW1hZ2UsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUg
ZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJpY3RlZCBkb3VibGUgZGgpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1h
Z2UsIHVucmVzdHJpY3RlZCBkb3VibGUgc3gsIHVucmVzdHJpY3RlZCBkb3VibGUgc3ksIHVucmVz
dHJpY3RlZCBkb3VibGUgc3csIHVucmVzdHJpY3RlZCBkb3VibGUgc2gsIHVucmVzdHJpY3RlZCBk
b3VibGUgZHgsIHVucmVzdHJpY3RlZCBkb3VibGUgZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcs
IHVucmVzdHJpY3RlZCBkb3VibGUgZGgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIGRyYXdJbWFnZShDYW52YXNJbWFnZVNvdXJjZSBpbWFnZSwgdW5yZXN0cmljdGVkIGRvdWJs
ZSBkeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkeSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgZHJhd0ltYWdlKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIGR4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGR3
LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGRoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBkcmF3SW1hZ2UoQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2UsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgc3gsIHVucmVzdHJpY3RlZCBkb3VibGUgc3ksIHVucmVzdHJpY3RlZCBkb3VibGUgc3csIHVu
cmVzdHJpY3RlZCBkb3VibGUgc2gsIHVucmVzdHJpY3RlZCBkb3VibGUgZHgsIHVucmVzdHJpY3Rl
ZCBkb3VibGUgZHksIHVucmVzdHJpY3RlZCBkb3VibGUgZHcsIHVucmVzdHJpY3RlZCBkb3VibGUg
ZGgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0RyYXdQYXRo
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNEcmF3
UGF0aC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc0RyYXdQYXRoLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTUgKzI4LDE1IEBACiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJmYWNlIENhbnZhc0RyYXdQYXRoIHsK
ICAgICAvLyBwYXRoIEFQSSAoc2VlIGFsc28gQ2FudmFzUGF0aCkKLSAgICB2b2lkIGJlZ2luUGF0
aCgpOwotICAgIHZvaWQgZmlsbChvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxsUnVsZSA9ICJu
b256ZXJvIik7Ci0gICAgdm9pZCBmaWxsKFBhdGgyRCBwYXRoLCBvcHRpb25hbCBDYW52YXNGaWxs
UnVsZSBmaWxsUnVsZSA9ICJub256ZXJvIik7Ci0gICAgdm9pZCBzdHJva2UoKTsKLSAgICB2b2lk
IHN0cm9rZShQYXRoMkQgcGF0aCk7Ci0gICAgdm9pZCBjbGlwKG9wdGlvbmFsIENhbnZhc0ZpbGxS
dWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKLSAgICB2b2lkIGNsaXAoUGF0aDJEIHBhdGgsIG9w
dGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKKyAgICB1bmRlZmlu
ZWQgYmVnaW5QYXRoKCk7CisgICAgdW5kZWZpbmVkIGZpbGwob3B0aW9uYWwgQ2FudmFzRmlsbFJ1
bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOworICAgIHVuZGVmaW5lZCBmaWxsKFBhdGgyRCBwYXRo
LCBvcHRpb25hbCBDYW52YXNGaWxsUnVsZSBmaWxsUnVsZSA9ICJub256ZXJvIik7CisgICAgdW5k
ZWZpbmVkIHN0cm9rZSgpOworICAgIHVuZGVmaW5lZCBzdHJva2UoUGF0aDJEIHBhdGgpOworICAg
IHVuZGVmaW5lZCBjbGlwKG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnpl
cm8iKTsKKyAgICB1bmRlZmluZWQgY2xpcChQYXRoMkQgcGF0aCwgb3B0aW9uYWwgQ2FudmFzRmls
bFJ1bGUgZmlsbFJ1bGUgPSAibm9uemVybyIpOwogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcmVz
ZXRDbGlwLgotICAgIC8vIHZvaWQgcmVzZXRDbGlwKCk7CisgICAgLy8gdW5kZWZpbmVkIHJlc2V0
Q2xpcCgpOwogCiAgICAgLy8gRklYTUU6IEFsbCB0aGUgdW5yZXN0cmljdGVkIGZsb2F0IHBhcmFt
ZXRlcnMgYmVsb3cgc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3VibGVzLgogICAgIGJvb2xlYW4g
aXNQb2ludEluUGF0aCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHks
IG9wdGlvbmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwJKHJldmlzaW9u
IDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzAsNSArMzAsNSBAQAogICAgIC8vIEZJWE1FOiBUaGUgZmxv
YXQgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUgYSBkb3VibGUuCiAKICAgICAvLyBvcGFxdWUg
b2JqZWN0Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZENvbG9yU3RvcChmbG9hdCBv
ZmZzZXQsIERPTVN0cmluZyBjb2xvcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgYWRkQ29sb3JTdG9wKGZsb2F0IG9mZnNldCwgRE9NU3RyaW5nIGNvbG9yKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNJbWFnZURhdGEuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0ltYWdlRGF0YS5pZGwJKHJl
dmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0ltYWdl
RGF0YS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDYgQEAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIEltYWdlRGF0YSBjcmVhdGVJbWFnZURhdGEoZmxvYXQgc3csIGZsb2F0IHNoKTsK
ICAgICBJbWFnZURhdGEgY3JlYXRlSW1hZ2VEYXRhKEltYWdlRGF0YSBpbWFnZWRhdGEpOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gSW1hZ2VEYXRhIGdldEltYWdlRGF0YShmbG9hdCBzeCwgZmxv
YXQgc3ksIGZsb2F0IHN3LCBmbG9hdCBzaCk7Ci0gICAgdm9pZCBwdXRJbWFnZURhdGEoSW1hZ2VE
YXRhIGltYWdlZGF0YSwgZmxvYXQgZHgsIGZsb2F0IGR5KTsKLSAgICB2b2lkIHB1dEltYWdlRGF0
YShJbWFnZURhdGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxvYXQgZHksIGZsb2F0IGRpcnR5WCwg
ZmxvYXQgZGlydHlZLCBmbG9hdCBkaXJ0eVdpZHRoLCBmbG9hdCBkaXJ0eUhlaWdodCk7CisgICAg
dW5kZWZpbmVkIHB1dEltYWdlRGF0YShJbWFnZURhdGEgaW1hZ2VkYXRhLCBmbG9hdCBkeCwgZmxv
YXQgZHkpOworICAgIHVuZGVmaW5lZCBwdXRJbWFnZURhdGEoSW1hZ2VEYXRhIGltYWdlZGF0YSwg
ZmxvYXQgZHgsIGZsb2F0IGR5LCBmbG9hdCBkaXJ0eVgsIGZsb2F0IGRpcnR5WSwgZmxvYXQgZGly
dHlXaWR0aCwgZmxvYXQgZGlydHlIZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1BhdGguaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1BhdGguaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTYg
KzMwLDE2IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJmYWNlIENhbnZh
c1BhdGggewogICAgIC8vIHNoYXJlZCBwYXRoIEFQSSBtZXRob2RzCi0gICAgdm9pZCBjbG9zZVBh
dGgoKTsKLSAgICB2b2lkIG1vdmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVucmVzdHJpY3Rl
ZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBsaW5lVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHkpOwotICAgIHZvaWQgcXVhZHJhdGljQ3VydmVUbyh1bnJlc3RyaWN0
ZWQgZG91YmxlIGNweCwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcHksIHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKLSAgICB2b2lkIGJlemllckN1cnZlVG8odW5y
ZXN0cmljdGVkIGRvdWJsZSBjcDF4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMXksIHVucmVzdHJp
Y3RlZCBkb3VibGUgY3AyeCwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcDJ5LCB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIGFyY1RvKHVucmVzdHJpY3RlZCBkb3VibGUgeDEsIHVucmVzdHJpY3RlZCBkb3VibGUg
eTEsIHVucmVzdHJpY3RlZCBkb3VibGUgeDIsIHVucmVzdHJpY3RlZCBkb3VibGUgeTIsIHVucmVz
dHJpY3RlZCBkb3VibGUgcmFkaXVzKTsKLSAgICAvLyBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
YXJjVG8odW5yZXN0cmljdGVkIGRvdWJsZSB4MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MSwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB4MiwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MiwgdW5yZXN0cmljdGVk
IGRvdWJsZSByYWRpdXNYLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3Rl
ZCBkb3VibGUgcm90YXRpb24pOwotICAgIHZvaWQgcmVjdCh1bnJlc3RyaWN0ZWQgZG91YmxlIHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSB3LCB1bnJlc3RyaWN0
ZWQgZG91YmxlIGgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhcmModW5yZXN0cmlj
dGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHksIHVucmVzdHJpY3RlZCBkb3VibGUg
cmFkaXVzLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHN0YXJ0QW5nbGUsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgZW5kQW5nbGUsIG9wdGlvbmFsIGJvb2xlYW4gYW50aWNsb2Nrd2lzZSA9IGZhbHNlKTsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgZWxsaXBzZSh1bnJlc3RyaWN0ZWQgZG91YmxlIHgs
IHVucmVzdHJpY3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24sIHVu
cmVzdHJpY3RlZCBkb3VibGUgc3RhcnRBbmdsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmRBbmds
ZSwgb3B0aW9uYWwgYm9vbGVhbiBhbnRpY2xvY2t3aXNlID0gZmFsc2UpOworICAgIHVuZGVmaW5l
ZCBjbG9zZVBhdGgoKTsKKyAgICB1bmRlZmluZWQgbW92ZVRvKHVucmVzdHJpY3RlZCBkb3VibGUg
eCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgbGluZVRvKHVucmVzdHJp
Y3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICB1bmRlZmluZWQgcXVh
ZHJhdGljQ3VydmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIGNweCwgdW5yZXN0cmljdGVkIGRvdWJs
ZSBjcHksIHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAg
ICB1bmRlZmluZWQgYmV6aWVyQ3VydmVUbyh1bnJlc3RyaWN0ZWQgZG91YmxlIGNwMXgsIHVucmVz
dHJpY3RlZCBkb3VibGUgY3AxeSwgdW5yZXN0cmljdGVkIGRvdWJsZSBjcDJ4LCB1bnJlc3RyaWN0
ZWQgZG91YmxlIGNwMnksIHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJs
ZSB5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhcmNUbyh1bnJlc3RyaWN0
ZWQgZG91YmxlIHgxLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkxLCB1bnJlc3RyaWN0ZWQgZG91Ymxl
IHgyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkyLCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1cyk7
CisgICAgLy8gW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXJjVG8odW5yZXN0cmljdGVk
IGRvdWJsZSB4MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MSwgdW5yZXN0cmljdGVkIGRvdWJsZSB4
MiwgdW5yZXN0cmljdGVkIGRvdWJsZSB5MiwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24p
OworICAgIHVuZGVmaW5lZCByZWN0KHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVk
IGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcsIHVucmVzdHJpY3RlZCBkb3VibGUgaCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXJjKHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHJhZGl1cywg
dW5yZXN0cmljdGVkIGRvdWJsZSBzdGFydEFuZ2xlLCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZEFu
Z2xlLCBvcHRpb25hbCBib29sZWFuIGFudGljbG9ja3dpc2UgPSBmYWxzZSk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZWxsaXBzZSh1bnJlc3RyaWN0ZWQgZG91YmxlIHgsIHVu
cmVzdHJpY3RlZCBkb3VibGUgeSwgdW5yZXN0cmljdGVkIGRvdWJsZSByYWRpdXNYLCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHJhZGl1c1ksIHVucmVzdHJpY3RlZCBkb3VibGUgcm90YXRpb24sIHVucmVz
dHJpY3RlZCBkb3VibGUgc3RhcnRBbmdsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmRBbmdsZSwg
b3B0aW9uYWwgYm9vbGVhbiBhbnRpY2xvY2t3aXNlID0gZmFsc2UpOwogCiAgICAgW0VuYWJsZWRB
dFJ1bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zXSByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY3Vy
cmVudFg7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zXSByZWFkb25s
eSBhdHRyaWJ1dGUgZmxvYXQgY3VycmVudFk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNQYXRoRHJhd2luZ1N0eWxlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aERyYXdpbmdTdHlsZXMuaWRsCShyZXZpc2lvbiAy
NjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoRHJhd2luZ1N0
eWxlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAKICAgICBhdHRyaWJ1dGUg
dW5yZXN0cmljdGVkIGZsb2F0IG1pdGVyTGltaXQ7IC8vIChkZWZhdWx0IDEwKQogCiAgICAgLy8g
ZGFzaGVkIGxpbmVzCi0gICAgdm9pZCBzZXRMaW5lRGFzaChzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQg
ZmxvYXQ+IHNlZ21lbnRzKTsgLy8gZGVmYXVsdCBlbXB0eQorICAgIHVuZGVmaW5lZCBzZXRMaW5l
RGFzaChzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQgZmxvYXQ+IHNlZ21lbnRzKTsgLy8gZGVmYXVsdCBl
bXB0eQogICAgIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBmbG9hdD4gZ2V0TGluZURhc2goKTsKICAg
ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IGxpbmVEYXNoT2Zmc2V0OwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCShyZXZpc2lv
biAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUKIF0gaW50ZXJmYWNlIENhbnZhc1BhdHRlcm4gewogICAgIC8vIG9wYXF1ZSBvYmpl
Y3QKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VHJhbnNmb3JtKG9wdGlvbmFsIERP
TU1hdHJpeDJESW5pdCB0cmFuc2Zvcm0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXgyREluaXQgdHJhbnNmb3JtKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZWN0LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZWN0LmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVjdC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICAvLyBGSVhNRTogQWxsIHRoZSB1
bnJlc3RyaWN0ZWQgZmxvYXQgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUgdW5yZXN0cmljdGVk
IGRvdWJsZXMuCiAKICAgICAvLyByZWN0cwotICAgIHZvaWQgY2xlYXJSZWN0KHVucmVzdHJpY3Rl
ZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHcsIHVu
cmVzdHJpY3RlZCBmbG9hdCBoKTsKLSAgICB2b2lkIGZpbGxSZWN0KHVucmVzdHJpY3RlZCBmbG9h
dCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IHcsIHVucmVzdHJp
Y3RlZCBmbG9hdCBoKTsKLSAgICB2b2lkIHN0cm9rZVJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgs
IHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVk
IGZsb2F0IGgpOworICAgIHVuZGVmaW5lZCBjbGVhclJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgs
IHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVk
IGZsb2F0IGgpOworICAgIHVuZGVmaW5lZCBmaWxsUmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwg
dW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCB3LCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgaCk7CisgICAgdW5kZWZpbmVkIHN0cm9rZVJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgs
IHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgdywgdW5yZXN0cmljdGVk
IGZsb2F0IGgpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMsMjQgKzMzLDI0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEhUTUxDYW52YXNFbGVtZW50IGNhbnZhczsKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBsZWdhY3kg
YWxpYXNlcyAoQ29tcG9zaXRpbmcpLgotICAgIFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbEFscGhh
XSB2b2lkIHNldEFscGhhKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSA9IE5hTik7
Ci0gICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uXSB2b2lkIHNl
dENvbXBvc2l0ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9zaXRlT3BlcmF0aW9u
ID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBw
YXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCisgICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQWxw
aGFdIHVuZGVmaW5lZCBzZXRBbHBoYShvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEg
PSBOYU4pOworICAgIFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbl0g
dW5kZWZpbmVkIHNldENvbXBvc2l0ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9z
aXRlT3BlcmF0aW9uID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIg
YXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCiAKICAgICAvLyBOb24tc3RhbmRh
cmQgZnVuY3Rpb25hbGl0eSAoQ2FudmFzRHJhd0ltYWdlKS4KLSAgICB2b2lkIGRyYXdJbWFnZUZy
b21SZWN0KEhUTUxJbWFnZUVsZW1lbnQgaW1hZ2UsCisgICAgdW5kZWZpbmVkIGRyYXdJbWFnZUZy
b21SZWN0KEhUTUxJbWFnZUVsZW1lbnQgaW1hZ2UsCiAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBzeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzeSA9IDAsIG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdyA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBm
bG9hdCBzaCA9IDAsCiAgICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBkeCA9IDAs
IG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBkeSA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3Rl
ZCBmbG9hdCBkdyA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBkaCA9IDAsCiAgICAg
ICAgIG9wdGlvbmFsIERPTVN0cmluZyBjb21wb3NpdGVPcGVyYXRpb24gPSAiIik7CiAKICAgICAv
LyBOb24tc3RhbmRhcmQgbGVnYWN5IGFsaWFzZXMgKENhbnZhc0ZpbGxTdHJva2VTdHlsZXMpLgot
ICAgIHZvaWQgc2V0U3Ryb2tlQ29sb3IoRE9NU3RyaW5nIGNvbG9yLCBvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYWxwaGEpOwotICAgIHZvaWQgc2V0U3Ryb2tlQ29sb3IodW5yZXN0cmljdGVk
IGZsb2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgZmxvYXQgYWxwaGEgPSAxKTsKLSAgICB2b2lkIHNl
dFN0cm9rZUNvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywg
dW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKLSAgICB2b2lkIHNl
dFN0cm9rZUNvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxvYXQgbSwg
dW5yZXN0cmljdGVkIGZsb2F0IHksIHVucmVzdHJpY3RlZCBmbG9hdCBrLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgYSk7Ci0gICAgdm9pZCBzZXRGaWxsQ29sb3IoRE9NU3RyaW5nIGNvbG9yLCBvcHRpb25h
bCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEpOwotICAgIHZvaWQgc2V0RmlsbENvbG9yKHVucmVz
dHJpY3RlZCBmbG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBo
YSA9IDEpOwotICAgIHZvaWQgc2V0RmlsbENvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJl
c3RyaWN0ZWQgZmxvYXQgZywgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9h
dCBhKTsKLSAgICB2b2lkIHNldEZpbGxDb2xvcih1bnJlc3RyaWN0ZWQgZmxvYXQgYywgdW5yZXN0
cmljdGVkIGZsb2F0IG0sIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQg
aywgdW5yZXN0cmljdGVkIGZsb2F0IGEpOworICAgIHVuZGVmaW5lZCBzZXRTdHJva2VDb2xvcihE
T01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBoYSk7CisgICAg
dW5kZWZpbmVkIHNldFN0cm9rZUNvbG9yKHVucmVzdHJpY3RlZCBmbG9hdCBncmF5TGV2ZWwsIG9w
dGlvbmFsIGZsb2F0IGFscGhhID0gMSk7CisgICAgdW5kZWZpbmVkIHNldFN0cm9rZUNvbG9yKHVu
cmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywgdW5yZXN0cmljdGVkIGZs
b2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKKyAgICB1bmRlZmluZWQgc2V0U3Ryb2tlQ29s
b3IodW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsK
KyAgICB1bmRlZmluZWQgc2V0RmlsbENvbG9yKERPTVN0cmluZyBjb2xvciwgb3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IGFscGhhKTsKKyAgICB1bmRlZmluZWQgc2V0RmlsbENvbG9yKHVucmVz
dHJpY3RlZCBmbG9hdCBncmF5TGV2ZWwsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBhbHBo
YSA9IDEpOworICAgIHVuZGVmaW5lZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0IHIs
IHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0cmljdGVk
IGZsb2F0IGEpOworICAgIHVuZGVmaW5lZCBzZXRGaWxsQ29sb3IodW5yZXN0cmljdGVkIGZsb2F0
IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmlj
dGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKIAogICAgIC8vIE5vbi1zdGFuZGFy
ZCBmdW5jdGlvbmFsaXR5IChDYW52YXNJbWFnZURhdGEpLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCB3ZWJraXRCYWNraW5nU3RvcmVQaXhlbFJhdGlvOyAvLyBBbHdheXMgcmV0dXJucyAx
LgpAQCAtNTksMjIgKzU5LDIyIEBACiAgICAgW0ltcGxlbWVudGVkQXM9aW1hZ2VTbW9vdGhpbmdF
bmFibGVkXSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQ7CiAK
ICAgICAvLyBOb24tc3RhbmRhcmQgbGVnYWN5IGFsaWFzZXMgKENhbnZhc1BhdGhEcmF3aW5nU3R5
bGVzKS4KLSAgICB2b2lkIHNldExpbmVXaWR0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
d2lkdGggPSBOYU4pOwotICAgIHZvaWQgc2V0TGluZUNhcChvcHRpb25hbCBET01TdHJpbmcgY2Fw
ID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBw
YXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0gICAgdm9pZCBzZXRMaW5lSm9pbihvcHRpb25hbCBE
T01TdHJpbmcgam9pbiA9ICJ1bmRlZmluZWQiKTsgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQi
IGFzIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgc2V0TWl0ZXJM
aW1pdChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgbGltaXQgPSBOYU4pOworICAgIHVuZGVm
aW5lZCBzZXRMaW5lV2lkdGgob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoID0gTmFO
KTsKKyAgICB1bmRlZmluZWQgc2V0TGluZUNhcChvcHRpb25hbCBET01TdHJpbmcgY2FwID0gInVu
ZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0
ZXIgdmFsdWUgaXMgd3JvbmcuCisgICAgdW5kZWZpbmVkIHNldExpbmVKb2luKG9wdGlvbmFsIERP
TVN0cmluZyBqb2luID0gInVuZGVmaW5lZCIpOyAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIg
YXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCisgICAgdW5kZWZpbmVkIHNldE1p
dGVyTGltaXQob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGxpbWl0ID0gTmFOKTsKICAgICBh
dHRyaWJ1dGUgc2VxdWVuY2U8dW5yZXN0cmljdGVkIGZsb2F0PiB3ZWJraXRMaW5lRGFzaDsKICAg
ICBbSW1wbGVtZW50ZWRBcz1saW5lRGFzaE9mZnNldF0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBm
bG9hdCB3ZWJraXRMaW5lRGFzaE9mZnNldDsKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBsZWdhY3kg
YWxpYXNlcyAoQ2FudmFzU2hhZG93U3R5bGVzKS4KLSAgICB2b2lkIHNldFNoYWRvdyh1bnJlc3Ry
aWN0ZWQgZmxvYXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3Rl
ZCBmbG9hdCBibHVyLCBvcHRpb25hbCBET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBhbHBoYSk7Ci0gICAgdm9pZCBzZXRTaGFkb3codW5yZXN0cmljdGVkIGZsb2F0
IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1
ciwgdW5yZXN0cmljdGVkIGZsb2F0IGdyYXlMZXZlbCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZs
b2F0IGFscGhhID0gMSk7Ci0gICAgdm9pZCBzZXRTaGFkb3codW5yZXN0cmljdGVkIGZsb2F0IHdp
ZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1ciwg
dW5yZXN0cmljdGVkIGZsb2F0IHIsIHVucmVzdHJpY3RlZCBmbG9hdCBnLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGEpOwotICAgIHZvaWQgc2V0U2hhZG93KGZsb2F0
IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3RyaWN0ZWQgZmxvYXQgYmx1
ciwgdW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBtLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsK
LSAgICB2b2lkIGNsZWFyU2hhZG93KCk7CisgICAgdW5kZWZpbmVkIHNldFNoYWRvdyh1bnJlc3Ry
aWN0ZWQgZmxvYXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3Rl
ZCBmbG9hdCBibHVyLCBvcHRpb25hbCBET01TdHJpbmcgY29sb3IsIG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBhbHBoYSk7CisgICAgdW5kZWZpbmVkIHNldFNoYWRvdyh1bnJlc3RyaWN0ZWQg
ZmxvYXQgd2lkdGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQsIHVucmVzdHJpY3RlZCBmbG9h
dCBibHVyLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZ3JheUxldmVsLCBvcHRpb25hbCB1bnJlc3RyaWN0
ZWQgZmxvYXQgYWxwaGEgPSAxKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93KHVucmVzdHJpY3Rl
ZCBmbG9hdCB3aWR0aCwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCwgdW5yZXN0cmljdGVkIGZs
b2F0IGJsdXIsIHVucmVzdHJpY3RlZCBmbG9hdCByLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZywgdW5y
ZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBhKTsKKyAgICB1bmRlZmluZWQg
c2V0U2hhZG93KGZsb2F0IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0LCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYmx1ciwgdW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9h
dCBtLCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5yZXN0cmljdGVkIGZsb2F0IGssIHVucmVzdHJp
Y3RlZCBmbG9hdCBhKTsKKyAgICB1bmRlZmluZWQgY2xlYXJTaGFkb3coKTsKIAogICAgIC8vIElu
c3BlY3Rvci1vbmx5LgotICAgIFtFbmFibGVkQXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9uc10g
dm9pZCBzZXRQYXRoKFBhdGgyRCBwYXRoKTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0
b3JBZGRpdGlvbnNdIHVuZGVmaW5lZCBzZXRQYXRoKFBhdGgyRCBwYXRoKTsKICAgICBbRW5hYmxl
ZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnMsIE5ld09iamVjdF0gUGF0aDJEIGdldFBhdGgo
KTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0YXRlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdGF0ZS5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1N0YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNiBAQAogICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpCiBdIGludGVyZmFjZSBDYW52YXNTdGF0ZSB7CiAgICAgLy8gc3RhdGUK
LSAgICB2b2lkIHNhdmUoKTsgLy8gcHVzaCBzdGF0ZSBvbiBzdGF0ZSBzdGFjawotICAgIHZvaWQg
cmVzdG9yZSgpOyAvLyBwb3Agc3RhdGUgc3RhY2sgYW5kIHJlc3RvcmUgc3RhdGUKKyAgICB1bmRl
ZmluZWQgc2F2ZSgpOyAvLyBwdXNoIHN0YXRlIG9uIHN0YXRlIHN0YWNrCisgICAgdW5kZWZpbmVk
IHJlc3RvcmUoKTsgLy8gcG9wIHN0YXRlIHN0YWNrIGFuZCByZXN0b3JlIHN0YXRlCiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVGV4dC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzVGV4dC5pZGwJKHJldmlzaW9uIDI2
NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1RleHQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAgICAgLy8gRklYTUU6IEFsbCB0aGUgdW5yZXN0
cmljdGVkIGZsb2F0IHBhcmFtZXRlcnMgYmVsb3cgc2hvdWxkIGJlIHVucmVzdHJpY3RlZCBkb3Vi
bGVzLgogCiAgICAgLy8gdGV4dCAoc2VlIGFsc28gdGhlIENhbnZhc1BhdGhEcmF3aW5nU3R5bGVz
IGFuZCBDYW52YXNUZXh0RHJhd2luZ1N0eWxlcyBpbnRlcmZhY2VzKQotICAgIHZvaWQgZmlsbFRl
eHQoRE9NU3RyaW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxv
YXQgeSwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRoKTsKLSAgICB2b2lkIHN0
cm9rZVRleHQoRE9NU3RyaW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0
ZWQgZmxvYXQgeSwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRoKTsKKyAgICB1
bmRlZmluZWQgZmlsbFRleHQoRE9NU3RyaW5nIHRleHQsIHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1
bnJlc3RyaWN0ZWQgZmxvYXQgeSwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG1heFdpZHRo
KTsKKyAgICB1bmRlZmluZWQgc3Ryb2tlVGV4dChET01TdHJpbmcgdGV4dCwgdW5yZXN0cmljdGVk
IGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgbWF4V2lkdGgpOwogICAgIFRleHRNZXRyaWNzIG1lYXN1cmVUZXh0KERPTVN0cmluZyB0ZXh0
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNUcmFuc2Zvcm0u
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1RyYW5z
Zm9ybS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1RyYW5zZm9ybS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwxMyBAQAog
ICAgIC8vIEZJWE1FOiBBbGwgdGhlIHVucmVzdHJpY3RlZCBmbG9hdCBwYXJhbWV0ZXJzIGJlbG93
IHNob3VsZCBiZSB1bnJlc3RyaWN0ZWQgZG91Ymxlcy4KIAogICAgIC8vIHRyYW5zZm9ybWF0aW9u
cyAoZGVmYXVsdCB0cmFuc2Zvcm0gaXMgdGhlIGlkZW50aXR5IG1hdHJpeCkKLSAgICB2b2lkIHNj
YWxlKHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7Ci0gICAgdm9p
ZCByb3RhdGUodW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlKTsKLSAgICB2b2lkIHRyYW5zbGF0ZSh1
bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOwotICAgIHZvaWQgdHJh
bnNmb3JtKHVucmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3RyaWN0ZWQgZmxvYXQgYiwgdW5yZXN0
cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBkLCB1bnJlc3RyaWN0ZWQgZmxvYXQg
ZSwgdW5yZXN0cmljdGVkIGZsb2F0IGYpOworICAgIHVuZGVmaW5lZCBzY2FsZSh1bnJlc3RyaWN0
ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOworICAgIHVuZGVmaW5lZCByb3RhdGUo
dW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xlKTsKKyAgICB1bmRlZmluZWQgdHJhbnNsYXRlKHVucmVz
dHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSk7CisgICAgdW5kZWZpbmVkIHRy
YW5zZm9ybSh1bnJlc3RyaWN0ZWQgZmxvYXQgYSwgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVz
dHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0ZWQgZmxvYXQgZCwgdW5yZXN0cmljdGVkIGZsb2F0
IGUsIHVucmVzdHJpY3RlZCBmbG9hdCBmKTsKIAogICAgIFtOZXdPYmplY3RdIERPTU1hdHJpeCBn
ZXRUcmFuc2Zvcm0oKTsKLSAgICB2b2lkIHNldFRyYW5zZm9ybSh1bnJlc3RyaWN0ZWQgZmxvYXQg
YSwgdW5yZXN0cmljdGVkIGZsb2F0IGIsIHVucmVzdHJpY3RlZCBmbG9hdCBjLCB1bnJlc3RyaWN0
ZWQgZmxvYXQgZCwgdW5yZXN0cmljdGVkIGZsb2F0IGUsIHVucmVzdHJpY3RlZCBmbG9hdCBmKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VHJhbnNmb3JtKG9wdGlvbmFsIERPTU1h
dHJpeDJESW5pdCB0cmFuc2Zvcm0pOwotICAgIHZvaWQgcmVzZXRUcmFuc2Zvcm0oKTsKKyAgICB1
bmRlZmluZWQgc2V0VHJhbnNmb3JtKHVucmVzdHJpY3RlZCBmbG9hdCBhLCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgYiwgdW5yZXN0cmljdGVkIGZsb2F0IGMsIHVucmVzdHJpY3RlZCBmbG9hdCBkLCB1bnJl
c3RyaWN0ZWQgZmxvYXQgZSwgdW5yZXN0cmljdGVkIGZsb2F0IGYpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXgyREluaXQg
dHJhbnNmb3JtKTsKKyAgICB1bmRlZmluZWQgcmVzZXRUcmFuc2Zvcm0oKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNVc2VySW50ZXJmYWNlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNVc2VySW50ZXJmYWNlLmlk
bAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
VXNlckludGVyZmFjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMCBAQAogICAg
IE5vSW50ZXJmYWNlT2JqZWN0LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBDYW52
YXNVc2VySW50ZXJmYWNlIHsKLSAgICB2b2lkIGRyYXdGb2N1c0lmTmVlZGVkKEVsZW1lbnQgZWxl
bWVudCk7Ci0gICAgdm9pZCBkcmF3Rm9jdXNJZk5lZWRlZChQYXRoMkQgcGF0aCwgRWxlbWVudCBl
bGVtZW50KTsKKyAgICB1bmRlZmluZWQgZHJhd0ZvY3VzSWZOZWVkZWQoRWxlbWVudCBlbGVtZW50
KTsKKyAgICB1bmRlZmluZWQgZHJhd0ZvY3VzSWZOZWVkZWQoUGF0aDJEIHBhdGgsIEVsZW1lbnQg
ZWxlbWVudCk7CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHNjcm9sbFBhdGhJbnRvVmlldy4K
LSAgICAvLyB2b2lkIHNjcm9sbFBhdGhJbnRvVmlldygpOwotICAgIC8vIHZvaWQgc2Nyb2xsUGF0
aEludG9WaWV3KFBhdGgyRCBwYXRoKTsKKyAgICAvLyB1bmRlZmluZWQgc2Nyb2xsUGF0aEludG9W
aWV3KCk7CisgICAgLy8gdW5kZWZpbmVkIHNjcm9sbFBhdGhJbnRvVmlldyhQYXRoMkQgcGF0aCk7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJp
bmdDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9J
bWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw2IEBACiBdIGludGVyZmFjZSBJbWFnZUJpdG1hcFJl
bmRlcmluZ0NvbnRleHQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVu
dCBjYW52YXM7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdHJhbnNmZXJGcm9tSW1h
Z2VCaXRtYXAoSW1hZ2VCaXRtYXA/IGJpdG1hcCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgdHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXA/IGJpdG1hcCk7CiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVj
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4
QXJyYXlPYmplY3QuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcg
KzMyLDcgQEAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nIFZFUlRFWF9BUlJBWV9CSU5ESU5HX09F
UyA9IDB4ODVCNTsKIAogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMgY3JlYXRlVmVydGV4
QXJyYXlPRVMoKTsKLSAgICB2b2lkIGRlbGV0ZVZlcnRleEFycmF5T0VTKG9wdGlvbmFsIFdlYkdM
VmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7CisgICAgdW5kZWZpbmVk
IGRlbGV0ZVZlcnRleEFycmF5T0VTKG9wdGlvbmFsIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM/
IGFycmF5T2JqZWN0ID0gbnVsbCk7CiAgICAgYm9vbGVhbiBpc1ZlcnRleEFycmF5T0VTKG9wdGlv
bmFsIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7Ci0gICAg
dm9pZCBiaW5kVmVydGV4QXJyYXlPRVMob3B0aW9uYWwgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9F
Uz8gYXJyYXlPYmplY3QgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgYmluZFZlcnRleEFycmF5T0VT
KG9wdGlvbmFsIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM/IGFycmF5T2JqZWN0ID0gbnVsbCk7
CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMSArMzMsMTEgQEAKICAgICAv
LyBDYWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENhbnZhc0FjdGlvbiwgLy8gRklYTUU6IE9mZnNj
cmVlbkNhbnZhcy4KIF0gaW50ZXJmYWNlIE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE9mZnNjcmVlbkNhbnZhcyBjYW52YXM7Ci0gICAg
dm9pZCBjb21taXQoKTsKKyAgICB1bmRlZmluZWQgY29tbWl0KCk7CiAKICAgICAvLyBJbnNwZWN0
b3Itb25seS4KICAgICAvLyBGSVhNRTogT2Zmc2NyZWVuQ2FudmFzLgotICAgIC8vIFtFbmFibGVk
QXRSdW50aW1lPUluc3BlY3RvckFkZGl0aW9uc10gdm9pZCBzZXRQYXRoKFBhdGgyRCBwYXRoKTsK
KyAgICAvLyBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnNdIHVuZGVmaW5lZCBz
ZXRQYXRoKFBhdGgyRCBwYXRoKTsKICAgICAvLyBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JB
ZGRpdGlvbnMsIE5ld09iamVjdF0gUGF0aDJEIGdldFBhdGgoKTsKIH07CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1BhdGgyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvUGF0aDJELmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvUGF0aDJELmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyAr
MzYsNyBAQAogICAgIC8vIGNvbnN0cnVjdG9yKHNlcXVlbmNlPFBhdGgyRD4gcGF0aHMsIG9wdGlv
bmFsIENhbnZhc0ZpbGxSdWxlIGZpbGxSdWxlID0gIm5vbnplcm8iKTsKICAgICBjb25zdHJ1Y3Rv
cihET01TdHJpbmcgZCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWRkUGF0aChQ
YXRoMkQgcGF0aCwgb3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IHRyYW5zZm9ybSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYWRkUGF0aChQYXRoMkQgcGF0aCwgb3B0aW9uYWwg
RE9NTWF0cml4MkRJbml0IHRyYW5zZm9ybSk7CiB9OwogCiBQYXRoMkQgaW1wbGVtZW50cyBDYW52
YXNQYXRoOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5n
Q29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMzcsMTY3ICszMzcsMTY3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0
YSBvciBIVE0KICAgICBjb25zdCBHTGVudW0gTUFYX0NMSUVOVF9XQUlUX1RJTUVPVVRfV0VCR0wg
ICAgICAgICAgICAgICAgID0gMHg5MjQ3OwogCiAgICAgLy8gQnVmZmVyIG9iamVjdHMuCi0gICAg
dm9pZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyBkYXRhLCBHTGVu
dW0gdXNhZ2UsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsK
LSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIgZHN0Qnl0ZU9m
ZnNldCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFs
IEdMdWludCBsZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgYnVmZmVyRGF0YShHTGVudW0gdGFy
Z2V0LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVzYWdlLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlclN1YkRh
dGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIgZHN0Qnl0ZU9mZnNldCwgQXJyYXlCdWZmZXJWaWV3
IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsK
IAotICAgIHZvaWQgY29weUJ1ZmZlclN1YkRhdGEoR0xlbnVtIHJlYWRUYXJnZXQsIEdMZW51bSB3
cml0ZVRhcmdldCwgR0xpbnRwdHIgcmVhZE9mZnNldCwgR0xpbnRwdHIgd3JpdGVPZmZzZXQsIEdM
c2l6ZWlwdHIgc2l6ZSk7Ci0gICAgdm9pZCBnZXRCdWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQs
IEdMaW50cHRyIHNyY0J5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBkc3REYXRhLCBvcHRpb25h
bCBHTHVpbnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDApOworICAg
IHVuZGVmaW5lZCBjb3B5QnVmZmVyU3ViRGF0YShHTGVudW0gcmVhZFRhcmdldCwgR0xlbnVtIHdy
aXRlVGFyZ2V0LCBHTGludHB0ciByZWFkT2Zmc2V0LCBHTGludHB0ciB3cml0ZU9mZnNldCwgR0xz
aXplaXB0ciBzaXplKTsKKyAgICB1bmRlZmluZWQgZ2V0QnVmZmVyU3ViRGF0YShHTGVudW0gdGFy
Z2V0LCBHTGludHB0ciBzcmNCeXRlT2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcgZHN0RGF0YSwgb3B0
aW9uYWwgR0x1aW50IGRzdE9mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAwKTsK
IAogICAgIC8vIEZyYW1lYnVmZmVyIG9iamVjdHMuCi0gICAgdm9pZCBibGl0RnJhbWVidWZmZXIo
R0xpbnQgc3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEsIEdMaW50
IGRzdFgwLCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxk
IG1hc2ssIEdMZW51bSBmaWx0ZXIpOwotICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIo
R0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwg
R0xpbnQgbGV2ZWwsIEdMaW50IGxheWVyKTsKLSAgICB2b2lkIGludmFsaWRhdGVGcmFtZWJ1ZmZl
cihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKLSAgICB2b2lk
IGludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+
IGF0dGFjaG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCk7Ci0gICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOworICAgIHVuZGVmaW5lZCBi
bGl0RnJhbWVidWZmZXIoR0xpbnQgc3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xp
bnQgc3JjWTEsIEdMaW50IGRzdFgwLCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRz
dFkxLCBHTGJpdGZpZWxkIG1hc2ssIEdMZW51bSBmaWx0ZXIpOworICAgIHVuZGVmaW5lZCBmcmFt
ZWJ1ZmZlclRleHR1cmVMYXllcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwgV2Vi
R0xUZXh0dXJlPyB0ZXh0dXJlLCBHTGludCBsZXZlbCwgR0xpbnQgbGF5ZXIpOworICAgIHVuZGVm
aW5lZCBpbnZhbGlkYXRlRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgc2VxdWVuY2U8R0xlbnVt
PiBhdHRhY2htZW50cyk7CisgICAgdW5kZWZpbmVkIGludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcihH
TGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzLCBHTGludCB4LCBHTGlu
dCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHJlYWRC
dWZmZXIoR0xlbnVtIHNyYyk7CiAKICAgICAvLyBSZW5kZXJidWZmZXIgb2JqZWN0cy4KICAgICBb
T3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0
ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwot
ICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdM
c2l6ZWkgc2FtcGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBs
ZShHTGVudW0gdGFyZ2V0LCBHTHNpemVpIHNhbXBsZXMsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwg
R0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogCiAgICAgLy8gVGV4dHVyZSBvYmplY3Rz
LgotICAgIHZvaWQgdGV4U3RvcmFnZTJEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKLSAg
ICB2b2lkIHRleFN0b3JhZ2UzRChHTGVudW0gdGFyZ2V0LCBHTHNpemVpIGxldmVscywgR0xlbnVt
IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBk
ZXB0aCk7CisgICAgdW5kZWZpbmVkIHRleFN0b3JhZ2UyRChHTGVudW0gdGFyZ2V0LCBHTHNpemVp
IGxldmVscywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCk7CisgICAgdW5kZWZpbmVkIHRleFN0b3JhZ2UzRChHTGVudW0gdGFyZ2V0LCBHTHNpemVp
IGxldmVscywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xzaXplaSBkZXB0aCk7CiAKLSAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleEltYWdlM0QoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRl
eEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9y
ZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMp
OwotICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQg
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZl
clZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KLSAgICB2b2lkIHRleFN1YkltYWdl
M0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVp
IGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsK
LSAgICB2b2lkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
VGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBzcmNEYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7Ci0KLSAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTNEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBH
TGludCB6b2Zmc2V0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCk7Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VTaXplLCBH
TGludHB0ciBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZmZXJW
aWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVp
bnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXpl
aSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNl
dCk7Ci0gICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xz
aXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQs
IEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwg
b3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CisgICAgdW5kZWZpbmVkIHRl
eEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9y
ZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKKyAg
ICB1bmRlZmluZWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQg
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNv
dXJjZSBzb3VyY2UpOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVt
IHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICB1bmRlZmluZWQgdGV4SW1hZ2Uz
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6
ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdM
ZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50
IHNyY09mZnNldCk7CisKKyAgICB1bmRlZmluZWQgdGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBm
b3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBwYm9PZmZzZXQpOworICAgIHVuZGVmaW5lZCB0
ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlIHNvdXJjZSk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwg
R0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9y
bWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBzcmNEYXRhLCBvcHRpb25hbCBHTHVp
bnQgc3JjT2Zmc2V0ID0gMCk7CisKKyAgICB1bmRlZmluZWQgY29weVRleFN1YkltYWdlM0QoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdM
aW50IHpvZmZzZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0KTsKKworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6
ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleEltYWdlM0Qo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJy
YXlCdWZmZXJWaWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRp
b25hbCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKyAgICB1bmRlZmluZWQgY29tcHJl
c3NlZFRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwg
R0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3NlZFRleFN1YkltYWdlM0Qo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IEdMaW50IHpvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoLCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgb3B0aW9uYWwgR0x1
aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDAp
OwogCiAgICAgLy8gUHJvZ3JhbXMgYW5kIHNoYWRlcnMvCiAgICAgR0xpbnQgZ2V0RnJhZ0RhdGFM
b2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgLy8g
VW5pZm9ybXMgYW5kIGF0dHJpYnV0ZXMuCi0gICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKLSAgICB2b2lkIHVuaWZvcm0ydWkoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7Ci0gICAg
dm9pZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYw
LCBHTHVpbnQgdjEsIEdMdWludCB2Mik7Ci0gICAgdm9pZCB1bmlmb3JtNHVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQgdjEsIEdMdWludCB2MiwgR0x1
aW50IHYzKTsKLSAgICB2b2lkIHVuaWZvcm0xdWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2Nh
dGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0
aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTJ1aXYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9p
ZCB1bmlmb3JtM3VpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIFVpbnQzMkxpc3Qg
ZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm00dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBs
b2NhdGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwg
b3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJ4
M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwg
RmxvYXQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFs
IEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzeDJmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJM
aXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQg
c3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRh
LCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0
aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDR4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgb3B0aW9u
YWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
LSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9p
ZCB1bmlmb3JtTWF0cml4NHgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJv
b2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zm
c2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdmVydGV4
QXR0cmliSTRpKEdMdWludCBpbmRleCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQg
dyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNGl2KEdMdWludCBpbmRleCwgSW50MzJMaXN0IHZh
bHVlcyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNHVpKEdMdWludCBpbmRleCwgR0x1aW50IHgs
IEdMdWludCB5LCBHTHVpbnQgeiwgR0x1aW50IHcpOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTR1
aXYoR0x1aW50IGluZGV4LCBVaW50MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRy
aWJJUG9pbnRlcihHTHVpbnQgaW5kZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVp
IHN0cmlkZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTF1aShXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCk7CisgICAgdW5kZWZpbmVkIHVu
aWZvcm0ydWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWlu
dCB2MSk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0zdWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSwgR0x1aW50IHYyKTsKKyAgICB1bmRlZmluZWQg
dW5pZm9ybTR1aShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMdWludCB2MCwgR0x1
aW50IHYxLCBHTHVpbnQgdjIsIEdMdWludCB2Myk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0xdWl2
KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwor
ICAgIHVuZGVmaW5lZCB1bmlmb3JtMnVpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IFVpbnQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFs
IEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTN1aXYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5k
ZWZpbmVkIHVuaWZvcm00dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMy
TGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50
IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4MngzZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4M3gyZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBk
YXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRh
LCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0
aCA9IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4NHgyZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBv
cHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9
IDApOworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4M3g0ZnYoV2ViR0xVbmlmb3JtTG9jYXRp
b24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRp
b25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDAp
OworICAgIHVuZGVmaW5lZCB1bmlmb3JtTWF0cml4NHgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwor
ICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJNGkoR0x1aW50IGluZGV4LCBHTGludCB4LCBHTGlu
dCB5LCBHTGludCB6LCBHTGludCB3KTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliSTRpdihH
THVpbnQgaW5kZXgsIEludDMyTGlzdCB2YWx1ZXMpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRy
aWJJNHVpKEdMdWludCBpbmRleCwgR0x1aW50IHgsIEdMdWludCB5LCBHTHVpbnQgeiwgR0x1aW50
IHcpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHTHVpbnQgaW5kZXgsIFVpbnQz
Mkxpc3QgdmFsdWVzKTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0x1aW50
IGluZGV4LCBHTGludCBzaXplLCBHTGVudW0gdHlwZSwgR0xzaXplaSBzdHJpZGUsIEdMaW50cHRy
IG9mZnNldCk7CiAKICAgICAvLyBXcml0aW5nIHRvIHRoZSBkcmF3aW5nIGJ1ZmZlci4KLSAgICB2
b2lkIHZlcnRleEF0dHJpYkRpdmlzb3IoR0x1aW50IGluZGV4LCBHTHVpbnQgZGl2aXNvcik7Ci0g
ICAgdm9pZCBkcmF3QXJyYXlzSW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwgR0xz
aXplaSBjb3VudCwgR0xzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdFbGVtZW50
c0luc3RhbmNlZChHTGVudW0gbW9kZSwgR0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50
cHRyIG9mZnNldCwgR0xzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdSYW5nZUVs
ZW1lbnRzKEdMZW51bSBtb2RlLCBHTHVpbnQgc3RhcnQsIEdMdWludCBlbmQsIEdMc2l6ZWkgY291
bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpOworICAgIHVuZGVmaW5lZCB2ZXJ0ZXhB
dHRyaWJEaXZpc29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOworICAgIHVuZGVmaW5l
ZCBkcmF3QXJyYXlzSW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwgR0xzaXplaSBj
b3VudCwgR0xzaXplaSBpbnN0YW5jZUNvdW50KTsKKyAgICB1bmRlZmluZWQgZHJhd0VsZW1lbnRz
SW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRw
dHIgb2Zmc2V0LCBHTHNpemVpIGluc3RhbmNlQ291bnQpOworICAgIHVuZGVmaW5lZCBkcmF3UmFu
Z2VFbGVtZW50cyhHTGVudW0gbW9kZSwgR0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVp
IGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKIAogICAgIC8vIE11bHRpcGxl
IFJlbmRlciBUYXJnZXRzLgotICAgIHZvaWQgZHJhd0J1ZmZlcnMoc2VxdWVuY2U8R0xlbnVtPiBi
dWZmZXJzKTsKLSAgICB2b2lkIGNsZWFyQnVmZmVyaXYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJh
d2J1ZmZlciwgSW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAp
OwotICAgIHZvaWQgY2xlYXJCdWZmZXJ1aXYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZl
ciwgVWludDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwKTsKLSAg
ICB2b2lkIGNsZWFyQnVmZmVyZnYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgRmxv
YXQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7Ci0gICAgdm9p
ZCBjbGVhckJ1ZmZlcmZpKEdMZW51bSBidWZmZXIsIEdMaW50IGRyYXdidWZmZXIsIEdMZmxvYXQg
ZGVwdGgsIEdMaW50IHN0ZW5jaWwpOworICAgIHVuZGVmaW5lZCBkcmF3QnVmZmVycyhzZXF1ZW5j
ZTxHTGVudW0+IGJ1ZmZlcnMpOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcml2KEdMZW51bSBi
dWZmZXIsIEdMaW50IGRyYXdidWZmZXIsIEludDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJ1aXYoR0xlbnVtIGJ1
ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVm
ZmVyLCBHTGludCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWlu
dCBzcmNPZmZzZXQgPSAwKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZmZXJmaShHTGVudW0gYnVm
ZmVyLCBHTGludCBkcmF3YnVmZmVyLCBHTGZsb2F0IGRlcHRoLCBHTGludCBzdGVuY2lsKTsKIAog
ICAgIC8vIFF1ZXJ5IE9iamVjdHMuCiAgICAgV2ViR0xRdWVyeT8gY3JlYXRlUXVlcnkoKTsKLSAg
ICB2b2lkIGRlbGV0ZVF1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKKyAgICB1bmRlZmluZWQgZGVs
ZXRlUXVlcnkoV2ViR0xRdWVyeT8gcXVlcnkpOwogICAgIEdMYm9vbGVhbiBpc1F1ZXJ5KFdlYkdM
UXVlcnk/IHF1ZXJ5KTsKLSAgICB2b2lkIGJlZ2luUXVlcnkoR0xlbnVtIHRhcmdldCwgV2ViR0xR
dWVyeSBxdWVyeSk7Ci0gICAgdm9pZCBlbmRRdWVyeShHTGVudW0gdGFyZ2V0KTsKKyAgICB1bmRl
ZmluZWQgYmVnaW5RdWVyeShHTGVudW0gdGFyZ2V0LCBXZWJHTFF1ZXJ5IHF1ZXJ5KTsKKyAgICB1
bmRlZmluZWQgZW5kUXVlcnkoR0xlbnVtIHRhcmdldCk7CiAgICAgV2ViR0xRdWVyeT8gZ2V0UXVl
cnkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1lKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlE
TFdlYkdMQW55XSBhbnkgZ2V0UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSBxdWVyeSwgR0xlbnVt
IHBuYW1lKTsKIAogICAgIC8vIFNhbXBsZXIgT2JqZWN0cy4KICAgICBXZWJHTFNhbXBsZXI/IGNy
ZWF0ZVNhbXBsZXIoKTsKLSAgICB2b2lkIGRlbGV0ZVNhbXBsZXIoV2ViR0xTYW1wbGVyPyBzYW1w
bGVyKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIp
OwogICAgIEdMYm9vbGVhbiBpc1NhbXBsZXIoV2ViR0xTYW1wbGVyPyBzYW1wbGVyKTsKLSAgICB2
b2lkIGJpbmRTYW1wbGVyKEdMdWludCB1bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwotICAg
IHZvaWQgc2FtcGxlclBhcmFtZXRlcmkoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFt
ZSwgR0xpbnQgcGFyYW0pOwotICAgIHZvaWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVy
IHNhbXBsZXIsIEdMZW51bSBwbmFtZSwgR0xmbG9hdCBwYXJhbSk7CisgICAgdW5kZWZpbmVkIGJp
bmRTYW1wbGVyKEdMdWludCB1bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOworICAgIHVuZGVm
aW5lZCBzYW1wbGVyUGFyYW1ldGVyaShXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1l
LCBHTGludCBwYXJhbSk7CisgICAgdW5kZWZpbmVkIHNhbXBsZXJQYXJhbWV0ZXJmKFdlYkdMU2Ft
cGxlciBzYW1wbGVyLCBHTGVudW0gcG5hbWUsIEdMZmxvYXQgcGFyYW0pOwogICAgIFtPdmVycmlk
ZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRTYW1wbGVyUGFyYW1ldGVyKFdlYkdMU2FtcGxl
ciBzYW1wbGVyLCBHTGVudW0gcG5hbWUpOwogCiAgICAgLy8gU3luYyBvYmplY3RzLgogICAgIFdl
YkdMU3luYz8gZmVuY2VTeW5jKEdMZW51bSBjb25kaXRpb24sIEdMYml0ZmllbGQgZmxhZ3MpOwog
ICAgIEdMYm9vbGVhbiBpc1N5bmMoV2ViR0xTeW5jPyBzeW5jKTsKLSAgICB2b2lkIGRlbGV0ZVN5
bmMoV2ViR0xTeW5jPyBzeW5jKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlU3luYyhXZWJHTFN5bmM/
IHN5bmMpOwogICAgIEdMZW51bSBjbGllbnRXYWl0U3luYyhXZWJHTFN5bmMgc3luYywgR0xiaXRm
aWVsZCBmbGFncywgR0x1aW50NjQgdGltZW91dCk7Ci0gICAgdm9pZCB3YWl0U3luYyhXZWJHTFN5
bmMgc3luYywgR0xiaXRmaWVsZCBmbGFncywgR0xpbnQ2NCB0aW1lb3V0KTsKKyAgICB1bmRlZmlu
ZWQgd2FpdFN5bmMoV2ViR0xTeW5jIHN5bmMsIEdMYml0ZmllbGQgZmxhZ3MsIEdMaW50NjQgdGlt
ZW91dCk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFN5bmNQYXJh
bWV0ZXIoV2ViR0xTeW5jIHN5bmMsIEdMZW51bSBwbmFtZSk7CiAKICAgICAvLyBUcmFuc2Zvcm0g
RmVlZGJhY2suCiAgICAgV2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz8gY3JlYXRlVHJhbnNmb3JtRmVl
ZGJhY2soKTsKLSAgICB2b2lkIGRlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJhbnNmb3Jt
RmVlZGJhY2s/IGlkKTsKKyAgICB1bmRlZmluZWQgZGVsZXRlVHJhbnNmb3JtRmVlZGJhY2soV2Vi
R0xUcmFuc2Zvcm1GZWVkYmFjaz8gaWQpOwogICAgIEdMYm9vbGVhbiBpc1RyYW5zZm9ybUZlZWRi
YWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGlkKTsKLSAgICB2b2lkIGJpbmRUcmFuc2Zvcm1G
ZWVkYmFjayhHTGVudW0gdGFyZ2V0LCBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7Ci0gICAg
dm9pZCBiZWdpblRyYW5zZm9ybUZlZWRiYWNrKEdMZW51bSBwcmltaXRpdmVNb2RlKTsKLSAgICB2
b2lkIGVuZFRyYW5zZm9ybUZlZWRiYWNrKCk7Ci0gICAgdm9pZCB0cmFuc2Zvcm1GZWVkYmFja1Zh
cnlpbmdzKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+IHZhcnlpbmdz
LCBHTGVudW0gYnVmZmVyTW9kZSk7CisgICAgdW5kZWZpbmVkIGJpbmRUcmFuc2Zvcm1GZWVkYmFj
ayhHTGVudW0gdGFyZ2V0LCBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7CisgICAgdW5kZWZp
bmVkIGJlZ2luVHJhbnNmb3JtRmVlZGJhY2soR0xlbnVtIHByaW1pdGl2ZU1vZGUpOworICAgIHVu
ZGVmaW5lZCBlbmRUcmFuc2Zvcm1GZWVkYmFjaygpOworICAgIHVuZGVmaW5lZCB0cmFuc2Zvcm1G
ZWVkYmFja1ZhcnlpbmdzKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+
IHZhcnlpbmdzLCBHTGVudW0gYnVmZmVyTW9kZSk7CiAgICAgV2ViR0xBY3RpdmVJbmZvPyBnZXRU
cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmcoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRl
eCk7Ci0gICAgdm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7Ci0gICAgdm9pZCByZXN1bWVU
cmFuc2Zvcm1GZWVkYmFjaygpOworICAgIHVuZGVmaW5lZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNr
KCk7CisgICAgdW5kZWZpbmVkIHJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAKICAgICAvLyBV
bmlmb3JtIEJ1ZmZlciBPYmplY3RzIGFuZCBUcmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycy4KLSAg
ICB2b2lkIGJpbmRCdWZmZXJCYXNlKEdMZW51bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xC
dWZmZXI/IGJ1ZmZlcik7Ci0gICAgdm9pZCBiaW5kQnVmZmVyUmFuZ2UoR0xlbnVtIHRhcmdldCwg
R0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZlcj8gYnVmZmVyLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6
ZWlwdHIgc2l6ZSk7CisgICAgdW5kZWZpbmVkIGJpbmRCdWZmZXJCYXNlKEdMZW51bSB0YXJnZXQs
IEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CisgICAgdW5kZWZpbmVkIGJpbmRC
dWZmZXJSYW5nZShHTGVudW0gdGFyZ2V0LCBHTHVpbnQgaW5kZXgsIFdlYkdMQnVmZmVyPyBidWZm
ZXIsIEdMaW50cHRyIG9mZnNldCwgR0xzaXplaXB0ciBzaXplKTsKICAgICBbT3ZlcnJpZGVJRExU
eXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW5kZXhlZFBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBH
THVpbnQgaW5kZXgpOwogICAgIHNlcXVlbmNlPEdMdWludD4/IGdldFVuaWZvcm1JbmRpY2VzKFdl
YkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxET01TdHJpbmc+IHVuaWZvcm1OYW1lcyk7CiAg
ICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldEFjdGl2ZVVuaWZvcm1zKFdl
YkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxHTHVpbnQ+IHVuaWZvcm1JbmRpY2VzLCBHTGVu
dW0gcG5hbWUpOwogICAgIEdMdWludCBnZXRVbmlmb3JtQmxvY2tJbmRleChXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgRE9NU3RyaW5nIHVuaWZvcm1CbG9ja05hbWUpOwogICAgIFtPdmVycmlkZUlETFR5
cGU9SURMV2ViR0xBbnldIGFueSBnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtIHByb2dyYW0sIEdMdWludCB1bmlmb3JtQmxvY2tJbmRleCwgR0xlbnVtIHBuYW1lKTsK
ICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBET01TdHJpbmc/IGdldEFjdGl2ZVVu
aWZvcm1CbG9ja05hbWUoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCB1bmlmb3JtQmxvY2tJ
bmRleCk7Ci0gICAgdm9pZCB1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSBwcm9ncmFt
LCBHTHVpbnQgdW5pZm9ybUJsb2NrSW5kZXgsIEdMdWludCB1bmlmb3JtQmxvY2tCaW5kaW5nKTsK
KyAgICB1bmRlZmluZWQgdW5pZm9ybUJsb2NrQmluZGluZyhXZWJHTFByb2dyYW0gcHJvZ3JhbSwg
R0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmluZGluZyk7CiAK
ICAgICAvLyBWZXJ0ZXggQXJyYXkgT2JqZWN0cy4KICAgICBXZWJHTFZlcnRleEFycmF5T2JqZWN0
PyBjcmVhdGVWZXJ0ZXhBcnJheSgpOwotICAgIHZvaWQgZGVsZXRlVmVydGV4QXJyYXkoV2ViR0xW
ZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4QXJyYXkpOworICAgIHVuZGVmaW5lZCBkZWxldGVWZXJ0
ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0PyB2ZXJ0ZXhBcnJheSk7CiAgICAgR0xib29s
ZWFuIGlzVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4QXJyYXkpOwot
ICAgIHZvaWQgYmluZFZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFy
cmF5KTsKKyAgICB1bmRlZmluZWQgYmluZFZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmpl
Y3Q/IHZlcnRleEFycmF5KTsKIAogICAgIC8vIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgQVBJLgog
Ci0gICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBp
bnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRl
ciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQg
bGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3Vy
Y2Ugc291cmNlKTsKLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2
ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3
IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCi0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUs
IEdMaW50cHRyIHBib09mZnNldCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCi0gICAg
dm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xl
bnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQg
Ym9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNv
bXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50
ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIs
IEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVp
bnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKLQotICAgIHZvaWQgY29tcHJlc3NlZFRleFN1Yklt
YWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTHNp
emVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhT
dWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwg
QXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWlu
dCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOwotCi0gICAgdm9pZCB1bmlmb3JtMWZ2KFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNl
dCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTJmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBz
cmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZv
cm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBH
THVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9p
ZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qg
ZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwot
Ci0gICAgdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGgg
PSAwKTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9j
YXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQg
c3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGggPSAwKTsKLQotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
LSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9u
LCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4
NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwg
RmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aCA9IDApOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBi
b09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51
bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3VyY2UpOworICAgIHVuZGVmaW5lZCB0ZXhJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0KTsKKwor
ICAgIHVuZGVmaW5lZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0
aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNv
dXJjZSBzb3VyY2UpOworICAgIHVuZGVmaW5lZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVy
VmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0KTsKKworICAgIHVuZGVmaW5lZCBjb21wcmVz
c2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFs
Zm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNp
emVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1bmRlZmluZWQgY29tcHJlc3Nl
ZFRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZv
cm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xzaXpl
aSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdW5kZWZpbmVkIGNvbXByZXNzZWRU
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdW5kZWZpbmVkIHVuaWZvcm0xZnYo
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQg
c3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVk
IHVuaWZvcm0yZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBk
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Cisg
ICAgdW5kZWZpbmVkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBG
bG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVu
Z3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm00ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBH
THVpbnQgc3JjTGVuZ3RoID0gMCk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFpdihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0y
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50
IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHVuZGVmaW5l
ZCB1bmlmb3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRh
dGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAg
ICB1bmRlZmluZWQgdW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIElu
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRl
ZmluZWQgdW5pZm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdM
Ym9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9w
dGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJp
eDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2Us
IEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKIAotICAgIHZvaWQgcmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdM
aW50cHRyIG9mZnNldCk7Ci0gICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3IGRzdERhdGEsIEdMdWludCBkc3RPZmZzZXQpOworICAgIHVuZGVmaW5l
ZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB1
bmRlZmluZWQgcmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBk
c3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0KTsKIH07CiAKIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQg
aW1wbGVtZW50cyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5pZGwJKHJldmlzaW9uIDI2NjI5
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC02OCw1ICs2OCw1IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBHTGVu
dW07CiAgICAgY29uc3QgR0xlbnVtIE1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCA9IDB4OENE
RjsKICAgICBjb25zdCBHTGVudW0gTUFYX0RSQVdfQlVGRkVSU19XRUJHTCA9IDB4ODgyNDsKIAot
ICAgIHZvaWQgZHJhd0J1ZmZlcnNXRUJHTChzZXF1ZW5jZTxHTGVudW0+IGJ1ZmZlcnMpOworICAg
IHVuZGVmaW5lZCBkcmF3QnVmZmVyc1dFQkdMKHNlcXVlbmNlPEdMZW51bT4gYnVmZmVycyk7CiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4dC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4
dC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMTG9zZUNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAg
Q29uZGl0aW9uYWw9V0VCR0wsCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LAogXSBpbnRlcmZhY2UgV2ViR0xMb3NlQ29udGV4dCB7Ci0gICAgdm9pZCBs
b3NlQ29udGV4dCgpOwotICAgIHZvaWQgcmVzdG9yZUNvbnRleHQoKTsKKyAgICB1bmRlZmluZWQg
bG9zZUNvbnRleHQoKTsKKyAgICB1bmRlZmluZWQgcmVzdG9yZUNvbnRleHQoKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQ4MSw0MSArNDgxLDQxIEBAIHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZh
czsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgR0xzaXplaSBkcmF3aW5nQnVmZmVyV2lkdGg7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsKIAotICAg
IHZvaWQgYWN0aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRhY2hTaGFk
ZXIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7Ci0gICAgdm9pZCBi
aW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCwgRE9N
U3RyaW5nIG5hbWUpOwotICAgIHZvaWQgYmluZEJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBXZWJHTEJ1
ZmZlcj8gYnVmZmVyKTsKLSAgICB2b2lkIGJpbmRGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBX
ZWJHTEZyYW1lYnVmZmVyPyBmcmFtZWJ1ZmZlcik7Ci0gICAgdm9pZCBiaW5kUmVuZGVyYnVmZmVy
KEdMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIpOwotICAgIHZv
aWQgYmluZFRleHR1cmUoR0xlbnVtIHRhcmdldCwgV2ViR0xUZXh0dXJlPyB0ZXh0dXJlKTsKLSAg
ICB2b2lkIGJsZW5kQ29sb3IoR0xjbGFtcGYgcmVkLCBHTGNsYW1wZiBncmVlbiwgR0xjbGFtcGYg
Ymx1ZSwgR0xjbGFtcGYgYWxwaGEpOwotICAgIHZvaWQgYmxlbmRFcXVhdGlvbihHTGVudW0gbW9k
ZSk7Ci0gICAgdm9pZCBibGVuZEVxdWF0aW9uU2VwYXJhdGUoR0xlbnVtIG1vZGVSR0IsIEdMZW51
bSBtb2RlQWxwaGEpOwotICAgIHZvaWQgYmxlbmRGdW5jKEdMZW51bSBzZmFjdG9yLCBHTGVudW0g
ZGZhY3Rvcik7Ci0gICAgdm9pZCBibGVuZEZ1bmNTZXBhcmF0ZShHTGVudW0gc3JjUkdCLCBHTGVu
dW0gZHN0UkdCLCBHTGVudW0gc3JjQWxwaGEsIEdMZW51bSBkc3RBbHBoYSk7Ci0gICAgdm9pZCBi
dWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEJ1ZmZlckRhdGFTb3VyY2U/IGRhdGEsIEdMZW51bSB1
c2FnZSk7Ci0gICAgdm9pZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWlwdHIgc2l6
ZSwgR0xlbnVtIHVzYWdlKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwg
R0xpbnRwdHIgb2Zmc2V0LCBCdWZmZXJEYXRhU291cmNlIGRhdGEpOworICAgIHVuZGVmaW5lZCBh
Y3RpdmVUZXh0dXJlKEdMZW51bSB0ZXh0dXJlKTsKKyAgICB1bmRlZmluZWQgYXR0YWNoU2hhZGVy
KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHVuZGVmaW5l
ZCBiaW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCwg
RE9NU3RyaW5nIG5hbWUpOworICAgIHVuZGVmaW5lZCBiaW5kQnVmZmVyKEdMZW51bSB0YXJnZXQs
IFdlYkdMQnVmZmVyPyBidWZmZXIpOworICAgIHVuZGVmaW5lZCBiaW5kRnJhbWVidWZmZXIoR0xl
bnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZlcj8gZnJhbWVidWZmZXIpOworICAgIHVuZGVmaW5l
ZCBiaW5kUmVuZGVyYnVmZmVyKEdMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyPyByZW5k
ZXJidWZmZXIpOworICAgIHVuZGVmaW5lZCBiaW5kVGV4dHVyZShHTGVudW0gdGFyZ2V0LCBXZWJH
TFRleHR1cmU/IHRleHR1cmUpOworICAgIHVuZGVmaW5lZCBibGVuZENvbG9yKEdMY2xhbXBmIHJl
ZCwgR0xjbGFtcGYgZ3JlZW4sIEdMY2xhbXBmIGJsdWUsIEdMY2xhbXBmIGFscGhhKTsKKyAgICB1
bmRlZmluZWQgYmxlbmRFcXVhdGlvbihHTGVudW0gbW9kZSk7CisgICAgdW5kZWZpbmVkIGJsZW5k
RXF1YXRpb25TZXBhcmF0ZShHTGVudW0gbW9kZVJHQiwgR0xlbnVtIG1vZGVBbHBoYSk7CisgICAg
dW5kZWZpbmVkIGJsZW5kRnVuYyhHTGVudW0gc2ZhY3RvciwgR0xlbnVtIGRmYWN0b3IpOworICAg
IHVuZGVmaW5lZCBibGVuZEZ1bmNTZXBhcmF0ZShHTGVudW0gc3JjUkdCLCBHTGVudW0gZHN0UkdC
LCBHTGVudW0gc3JjQWxwaGEsIEdMZW51bSBkc3RBbHBoYSk7CisgICAgdW5kZWZpbmVkIGJ1ZmZl
ckRhdGEoR0xlbnVtIHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZT8gZGF0YSwgR0xlbnVtIHVzYWdl
KTsKKyAgICB1bmRlZmluZWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBHTHNpemVpcHRyIHNp
emUsIEdMZW51bSB1c2FnZSk7CisgICAgdW5kZWZpbmVkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRh
cmdldCwgR0xpbnRwdHIgb2Zmc2V0LCBCdWZmZXJEYXRhU291cmNlIGRhdGEpOwogCiAgICAgR0xl
bnVtIGNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xlbnVtIHRhcmdldCk7Ci0gICAgdm9pZCBjbGVh
cihHTGJpdGZpZWxkIG1hc2spOwotICAgIHZvaWQgY2xlYXJDb2xvcihHTGNsYW1wZiByZWQsIEdM
Y2xhbXBmIGdyZWVuLCBHTGNsYW1wZiBibHVlLCBHTGNsYW1wZiBhbHBoYSk7Ci0gICAgdm9pZCBj
bGVhckRlcHRoKEdMY2xhbXBmIGRlcHRoKTsKLSAgICB2b2lkIGNsZWFyU3RlbmNpbChHTGludCBz
KTsKLSAgICB2b2lkIGNvbG9yTWFzayhHTGJvb2xlYW4gcmVkLCBHTGJvb2xlYW4gZ3JlZW4sIEdM
Ym9vbGVhbiBibHVlLCBHTGJvb2xlYW4gYWxwaGEpOwotICAgIHZvaWQgY29tcGlsZVNoYWRlcihX
ZWJHTFNoYWRlciBzaGFkZXIpOwotCi0gICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJh
eUJ1ZmZlclZpZXc/IHBpeGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleElt
YWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwg
R0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CisgICAg
dW5kZWZpbmVkIGNsZWFyKEdMYml0ZmllbGQgbWFzayk7CisgICAgdW5kZWZpbmVkIGNsZWFyQ29s
b3IoR0xjbGFtcGYgcmVkLCBHTGNsYW1wZiBncmVlbiwgR0xjbGFtcGYgYmx1ZSwgR0xjbGFtcGYg
YWxwaGEpOworICAgIHVuZGVmaW5lZCBjbGVhckRlcHRoKEdMY2xhbXBmIGRlcHRoKTsKKyAgICB1
bmRlZmluZWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOworICAgIHVuZGVmaW5lZCBjb2xvck1hc2so
R0xib29sZWFuIHJlZCwgR0xib29sZWFuIGdyZWVuLCBHTGJvb2xlYW4gYmx1ZSwgR0xib29sZWFu
IGFscGhhKTsKKyAgICB1bmRlZmluZWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFkZXIp
OworCisgICAgdW5kZWZpbmVkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWws
IEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdM
aW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
cGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB0ZXhJbWFnZTJEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMZW51bSBm
b3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSBzb3VyY2UpOwogCi0gICAgdm9pZCB0
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUs
IFRleEltYWdlU291cmNlIHNvdXJjZSk7CisgICAgdW5kZWZpbmVkIHRleFN1YkltYWdlMkQoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNv
dXJjZSBzb3VyY2UpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAg
dm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKKyAgICB1bmRlZmluZWQg
Y29tcHJlc3NlZFRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBp
bnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRl
ciwgQXJyYXlCdWZmZXJWaWV3IGRhdGEpOworICAgIHVuZGVmaW5lZCBjb21wcmVzc2VkVGV4U3Vi
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEFy
cmF5QnVmZmVyVmlldyBkYXRhKTsKIAotICAgIHZvaWQgY29weVRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xpbnQgeCwgR0xpbnQg
eSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlcik7Ci0gICAgdm9p
ZCBjb3B5VGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9m
ZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xz
aXplaSBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyKTsKKyAgICB1bmRlZmlu
ZWQgY29weVRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0KTsKIAogICAgIFdlYkdMQnVmZmVyIGNyZWF0ZUJ1ZmZlcigpOwogICAgIFdl
YkdMRnJhbWVidWZmZXIgY3JlYXRlRnJhbWVidWZmZXIoKTsKQEAgLTUyNCwzMiArNTI0LDMyIEBA
IHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICBXZWJHTFNoYWRl
ciBjcmVhdGVTaGFkZXIoR0xlbnVtIHR5cGUpOwogICAgIFdlYkdMVGV4dHVyZSBjcmVhdGVUZXh0
dXJlKCk7CiAKLSAgICB2b2lkIGN1bGxGYWNlKEdMZW51bSBtb2RlKTsKKyAgICB1bmRlZmluZWQg
Y3VsbEZhY2UoR0xlbnVtIG1vZGUpOwogCi0gICAgdm9pZCBkZWxldGVCdWZmZXIoV2ViR0xCdWZm
ZXI/IGJ1ZmZlcik7Ci0gICAgdm9pZCBkZWxldGVGcmFtZWJ1ZmZlcihXZWJHTEZyYW1lYnVmZmVy
PyBmcmFtZWJ1ZmZlcik7Ci0gICAgdm9pZCBkZWxldGVQcm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJv
Z3JhbSk7Ci0gICAgdm9pZCBkZWxldGVSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJidWZmZXI/IHJl
bmRlcmJ1ZmZlcik7Ci0gICAgdm9pZCBkZWxldGVTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7
Ci0gICAgdm9pZCBkZWxldGVUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7Ci0KLSAgICB2
b2lkIGRlcHRoRnVuYyhHTGVudW0gZnVuYyk7Ci0gICAgdm9pZCBkZXB0aE1hc2soR0xib29sZWFu
IGZsYWcpOwotICAgIHZvaWQgZGVwdGhSYW5nZShHTGNsYW1wZiB6TmVhciwgR0xjbGFtcGYgekZh
cik7Ci0gICAgdm9pZCBkZXRhY2hTaGFkZXIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdlYkdMU2hh
ZGVyIHNoYWRlcik7Ci0gICAgdm9pZCBkaXNhYmxlKEdMZW51bSBjYXApOwotICAgIHZvaWQgZGlz
YWJsZVZlcnRleEF0dHJpYkFycmF5KEdMdWludCBpbmRleCk7Ci0gICAgdm9pZCBkcmF3QXJyYXlz
KEdMZW51bSBtb2RlLCBHTGludCBmaXJzdCwgR0xzaXplaSBjb3VudCk7Ci0gICAgdm9pZCBkcmF3
RWxlbWVudHMoR0xlbnVtIG1vZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0
ciBvZmZzZXQpOwotCi0gICAgdm9pZCBlbmFibGUoR0xlbnVtIGNhcCk7Ci0gICAgdm9pZCBlbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5kZXgpOwotICAgIHZvaWQgZmluaXNoKCk7Ci0g
ICAgdm9pZCBmbHVzaCgpOwotICAgIHZvaWQgZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSByZW5kZXJidWZmZXJ0YXJnZXQsIFdl
YkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIpOwotICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0
dXJlMkQoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSB0ZXh0YXJnZXQs
IFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQgbGV2ZWwpOwotICAgIHZvaWQgZnJvbnRGYWNl
KEdMZW51bSBtb2RlKTsKLSAgICB2b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwor
ICAgIHVuZGVmaW5lZCBkZWxldGVCdWZmZXIoV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CisgICAgdW5k
ZWZpbmVkIGRlbGV0ZUZyYW1lYnVmZmVyKFdlYkdMRnJhbWVidWZmZXI/IGZyYW1lYnVmZmVyKTsK
KyAgICB1bmRlZmluZWQgZGVsZXRlUHJvZ3JhbShXZWJHTFByb2dyYW0/IHByb2dyYW0pOworICAg
IHVuZGVmaW5lZCBkZWxldGVSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJidWZmZXI/IHJlbmRlcmJ1
ZmZlcik7CisgICAgdW5kZWZpbmVkIGRlbGV0ZVNoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsK
KyAgICB1bmRlZmluZWQgZGVsZXRlVGV4dHVyZShXZWJHTFRleHR1cmU/IHRleHR1cmUpOworCisg
ICAgdW5kZWZpbmVkIGRlcHRoRnVuYyhHTGVudW0gZnVuYyk7CisgICAgdW5kZWZpbmVkIGRlcHRo
TWFzayhHTGJvb2xlYW4gZmxhZyk7CisgICAgdW5kZWZpbmVkIGRlcHRoUmFuZ2UoR0xjbGFtcGYg
ek5lYXIsIEdMY2xhbXBmIHpGYXIpOworICAgIHVuZGVmaW5lZCBkZXRhY2hTaGFkZXIoV2ViR0xQ
cm9ncmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7CisgICAgdW5kZWZpbmVkIGRpc2Fi
bGUoR0xlbnVtIGNhcCk7CisgICAgdW5kZWZpbmVkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShH
THVpbnQgaW5kZXgpOworICAgIHVuZGVmaW5lZCBkcmF3QXJyYXlzKEdMZW51bSBtb2RlLCBHTGlu
dCBmaXJzdCwgR0xzaXplaSBjb3VudCk7CisgICAgdW5kZWZpbmVkIGRyYXdFbGVtZW50cyhHTGVu
dW0gbW9kZSwgR0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNldCk7CisK
KyAgICB1bmRlZmluZWQgZW5hYmxlKEdMZW51bSBjYXApOworICAgIHVuZGVmaW5lZCBlbmFibGVW
ZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5kZXgpOworICAgIHVuZGVmaW5lZCBmaW5pc2goKTsK
KyAgICB1bmRlZmluZWQgZmx1c2goKTsKKyAgICB1bmRlZmluZWQgZnJhbWVidWZmZXJSZW5kZXJi
dWZmZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIEdMZW51bSByZW5kZXJidWZm
ZXJ0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyPyByZW5kZXJidWZmZXIpOworICAgIHVuZGVmaW5l
ZCBmcmFtZWJ1ZmZlclRleHR1cmUyRChHTGVudW0gdGFyZ2V0LCBHTGVudW0gYXR0YWNobWVudCwg
R0xlbnVtIHRleHRhcmdldCwgV2ViR0xUZXh0dXJlPyB0ZXh0dXJlLCBHTGludCBsZXZlbCk7Cisg
ICAgdW5kZWZpbmVkIGZyb250RmFjZShHTGVudW0gbW9kZSk7CisgICAgdW5kZWZpbmVkIGdlbmVy
YXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwogICAgIAogICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRB
Y3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCBpbmRleCk7CiAgICAgV2Vi
R0xBY3RpdmVJbmZvIGdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWlu
dCBpbmRleCk7CkBAIC01OTEsNyArNTkxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQp
IFdlYkdMQ2FudmFzOwogCiAgICAgR0xzaXplaXB0ciBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoR0x1
aW50IGluZGV4LCBHTGVudW0gcG5hbWUpOwogCi0gICAgdm9pZCBoaW50KEdMZW51bSB0YXJnZXQs
IEdMZW51bSBtb2RlKTsKKyAgICB1bmRlZmluZWQgaGludChHTGVudW0gdGFyZ2V0LCBHTGVudW0g
bW9kZSk7CiAgICAgR0xib29sZWFuIGlzQnVmZmVyKFdlYkdMQnVmZmVyPyBidWZmZXIpOwogICAg
IEdMYm9vbGVhbiBpc0NvbnRleHRMb3N0KCk7CiAgICAgR0xib29sZWFuIGlzRW5hYmxlZChHTGVu
dW0gY2FwKTsKQEAgLTYwMCw2OCArNjAwLDY4IEBAIHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50
KSBXZWJHTENhbnZhczsKICAgICBHTGJvb2xlYW4gaXNSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJi
dWZmZXI/IHJlbmRlcmJ1ZmZlcik7CiAgICAgR0xib29sZWFuIGlzU2hhZGVyKFdlYkdMU2hhZGVy
PyBzaGFkZXIpOwogICAgIEdMYm9vbGVhbiBpc1RleHR1cmUoV2ViR0xUZXh0dXJlPyB0ZXh0dXJl
KTsKLSAgICB2b2lkIGxpbmVXaWR0aChHTGZsb2F0IHdpZHRoKTsKLSAgICB2b2lkIGxpbmtQcm9n
cmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKKyAgICB1bmRlZmluZWQgbGluZVdpZHRoKEdMZmxv
YXQgd2lkdGgpOworICAgIHVuZGVmaW5lZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3Jh
bSk7CiAKLSAgICBbTmV3T2JqZWN0LCBDb25kaXRpb25hbD1XRUJYUl0gUHJvbWlzZTx2b2lkPiBt
YWtlWFJDb21wYXRpYmxlKCk7CisgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFBy
b21pc2U8dW5kZWZpbmVkPiBtYWtlWFJDb21wYXRpYmxlKCk7CiAKLSAgICB2b2lkIHBpeGVsU3Rv
cmVpKEdMZW51bSBwbmFtZSwgR0xpbnQgcGFyYW0pOwotICAgIHZvaWQgcG9seWdvbk9mZnNldChH
TGZsb2F0IGZhY3RvciwgR0xmbG9hdCB1bml0cyk7CisgICAgdW5kZWZpbmVkIHBpeGVsU3RvcmVp
KEdMZW51bSBwbmFtZSwgR0xpbnQgcGFyYW0pOworICAgIHVuZGVmaW5lZCBwb2x5Z29uT2Zmc2V0
KEdMZmxvYXQgZmFjdG9yLCBHTGZsb2F0IHVuaXRzKTsKIAotICAgIHZvaWQgcmVhZFBpeGVscyhH
TGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZv
cm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBwaXhlbHMpOworICAgIHVuZGVmaW5l
ZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHBpeGVscyk7
CiAgICAgCi0gICAgdm9pZCByZW5kZXJidWZmZXJTdG9yYWdlKEdMZW51bSB0YXJnZXQsIEdMZW51
bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZv
aWQgc2FtcGxlQ292ZXJhZ2UoR0xjbGFtcGYgdmFsdWUsIEdMYm9vbGVhbiBpbnZlcnQpOwotICAg
IHZvaWQgc2Npc3NvcihHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCk7Ci0gICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIgc2hhZGVyLCBET01TdHJp
bmcgc3RyaW5nKTsKLSAgICB2b2lkIHN0ZW5jaWxGdW5jKEdMZW51bSBmdW5jLCBHTGludCByZWYs
IEdMdWludCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxGdW5jU2VwYXJhdGUoR0xlbnVtIGZhY2Us
IEdMZW51bSBmdW5jLCBHTGludCByZWYsIEdMdWludCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxN
YXNrKEdMdWludCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxNYXNrU2VwYXJhdGUoR0xlbnVtIGZh
Y2UsIEdMdWludCBtYXNrKTsKLSAgICB2b2lkIHN0ZW5jaWxPcChHTGVudW0gZmFpbCwgR0xlbnVt
IHpmYWlsLCBHTGVudW0genBhc3MpOwotICAgIHZvaWQgc3RlbmNpbE9wU2VwYXJhdGUoR0xlbnVt
IGZhY2UsIEdMZW51bSBmYWlsLCBHTGVudW0gemZhaWwsIEdMZW51bSB6cGFzcyk7Ci0KLSAgICB2
b2lkIHRleFBhcmFtZXRlcmYoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1lLCBHTGZsb2F0IHBh
cmFtKTsKLSAgICB2b2lkIHRleFBhcmFtZXRlcmkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1l
LCBHTGludCBwYXJhbSk7Ci0KLSAgICB2b2lkIHVuaWZvcm0xZihXZWJHTFVuaWZvcm1Mb2NhdGlv
bj8gbG9jYXRpb24sIEdMZmxvYXQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMmYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24/IGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlm
b3JtM2YoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQg
eSwgR0xmbG9hdCB6KTsKLSAgICB2b2lkIHVuaWZvcm00ZihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8g
bG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHosIEdMZmxvYXQgdyk7Ci0K
LSAgICB2b2lkIHVuaWZvcm0xaShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50
IHgpOwotICAgIHZvaWQgdW5pZm9ybTJpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwg
R0xpbnQgeCwgR0xpbnQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtM2koV2ViR0xVbmlmb3JtTG9jYXRp
b24/IGxvY2F0aW9uLCBHTGludCB4LCBHTGludCB5LCBHTGludCB6KTsKLSAgICB2b2lkIHVuaWZv
cm00aShXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHksIEdM
aW50IHosIEdMaW50IHcpOwotCi0gICAgdm9pZCB1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlm
b3JtM2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7Ci0g
ICAgdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQz
Mkxpc3Qgdik7Ci0KLSAgICB2b2lkIHVuaWZvcm0xaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBJbnQzMkxpc3Qgdik7Ci0gICAgdm9pZCB1bmlmb3JtMml2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IHYpOwotICAgIHZvaWQgdW5pZm9ybTNpdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCB2KTsKLSAgICB2b2lkIHVuaWZv
cm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7Ci0KLSAg
ICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBH
TGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBhcnJheSk7Ci0gICAgdm9pZCB1bmlmb3Jt
TWF0cml4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5z
cG9zZSwgRmxvYXQzMkxpc3QgYXJyYXkpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJM
aXN0IGFycmF5KTsKLQotICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJHTFByb2dyYW0/IHByb2dyYW0p
OwotICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKLQotICAg
IHZvaWQgdmVydGV4QXR0cmliMWYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgpOwotICAgIHZvaWQg
dmVydGV4QXR0cmliMmYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgsIEdMZmxvYXQgeSk7Ci0gICAg
dm9pZCB2ZXJ0ZXhBdHRyaWIzZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBH
TGZsb2F0IHopOwotICAgIHZvaWQgdmVydGV4QXR0cmliNGYoR0x1aW50IGluZGV4LCBHTGZsb2F0
IHgsIEdMZmxvYXQgeSwgR0xmbG9hdCB6LCBHTGZsb2F0IHcpOwotCi0gICAgdm9pZCB2ZXJ0ZXhB
dHRyaWIxZnYoR0x1aW50IGluZGV4LCBGbG9hdDMyTGlzdCB2YWx1ZXMpOwotICAgIHZvaWQgdmVy
dGV4QXR0cmliMmZ2KEdMdWludCBpbmRleCwgRmxvYXQzMkxpc3QgdmFsdWVzKTsKLSAgICB2b2lk
IHZlcnRleEF0dHJpYjNmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7Ci0gICAg
dm9pZCB2ZXJ0ZXhBdHRyaWI0ZnYoR0x1aW50IGluZGV4LCBGbG9hdDMyTGlzdCB2YWx1ZXMpOwor
ICAgIHVuZGVmaW5lZCByZW5kZXJidWZmZXJTdG9yYWdlKEdMZW51bSB0YXJnZXQsIEdMZW51bSBp
bnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOworICAgIHVuZGVm
aW5lZCBzYW1wbGVDb3ZlcmFnZShHTGNsYW1wZiB2YWx1ZSwgR0xib29sZWFuIGludmVydCk7Cisg
ICAgdW5kZWZpbmVkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xz
aXplaSBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIgc2hh
ZGVyLCBET01TdHJpbmcgc3RyaW5nKTsKKyAgICB1bmRlZmluZWQgc3RlbmNpbEZ1bmMoR0xlbnVt
IGZ1bmMsIEdMaW50IHJlZiwgR0x1aW50IG1hc2spOworICAgIHVuZGVmaW5lZCBzdGVuY2lsRnVu
Y1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFz
ayk7CisgICAgdW5kZWZpbmVkIHN0ZW5jaWxNYXNrKEdMdWludCBtYXNrKTsKKyAgICB1bmRlZmlu
ZWQgc3RlbmNpbE1hc2tTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0x1aW50IG1hc2spOworICAgIHVu
ZGVmaW5lZCBzdGVuY2lsT3AoR0xlbnVtIGZhaWwsIEdMZW51bSB6ZmFpbCwgR0xlbnVtIHpwYXNz
KTsKKyAgICB1bmRlZmluZWQgc3RlbmNpbE9wU2VwYXJhdGUoR0xlbnVtIGZhY2UsIEdMZW51bSBm
YWlsLCBHTGVudW0gemZhaWwsIEdMZW51bSB6cGFzcyk7CisKKyAgICB1bmRlZmluZWQgdGV4UGFy
YW1ldGVyZihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUsIEdMZmxvYXQgcGFyYW0pOworICAg
IHVuZGVmaW5lZCB0ZXhQYXJhbWV0ZXJpKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSwgR0xp
bnQgcGFyYW0pOworCisgICAgdW5kZWZpbmVkIHVuaWZvcm0xZihXZWJHTFVuaWZvcm1Mb2NhdGlv
bj8gbG9jYXRpb24sIEdMZmxvYXQgeCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yZihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKKyAgICB1bmRl
ZmluZWQgdW5pZm9ybTNmKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xmbG9hdCB4
LCBHTGZsb2F0IHksIEdMZmxvYXQgeik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm00ZihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZsb2F0IHos
IEdMZmxvYXQgdyk7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybTFpKFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCk7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yaShXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHkpOworICAgIHVuZGVmaW5l
ZCB1bmlmb3JtM2koV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGludCB4LCBHTGlu
dCB5LCBHTGludCB6KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybTRpKFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQgdyk7CisKKyAg
ICB1bmRlZmluZWQgdW5pZm9ybTFmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZs
b2F0MzJMaXN0IHYpOworICAgIHVuZGVmaW5lZCB1bmlmb3JtMmZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0zZnYo
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9hdDMyTGlzdCB2KTsKKyAgICB1bmRl
ZmluZWQgdW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJM
aXN0IHYpOworCisgICAgdW5kZWZpbmVkIHVuaWZvcm0xaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/
IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVuaWZvcm0yaXYoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7CisgICAgdW5kZWZpbmVkIHVu
aWZvcm0zaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3Qgdik7Cisg
ICAgdW5kZWZpbmVkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJ
bnQzMkxpc3Qgdik7CisKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDJmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFy
cmF5KTsKKyAgICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlv
bj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKKyAg
ICB1bmRlZmluZWQgdW5pZm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRp
b24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKKworICAgIHVuZGVm
aW5lZCB1c2VQcm9ncmFtKFdlYkdMUHJvZ3JhbT8gcHJvZ3JhbSk7CisgICAgdW5kZWZpbmVkIHZh
bGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisKKyAgICB1bmRlZmluZWQgdmVy
dGV4QXR0cmliMWYoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgpOworICAgIHVuZGVmaW5lZCB2ZXJ0
ZXhBdHRyaWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKKyAgICB1bmRl
ZmluZWQgdmVydGV4QXR0cmliM2YoR0x1aW50IGluZGV4LCBHTGZsb2F0IHgsIEdMZmxvYXQgeSwg
R0xmbG9hdCB6KTsKKyAgICB1bmRlZmluZWQgdmVydGV4QXR0cmliNGYoR0x1aW50IGluZGV4LCBH
TGZsb2F0IHgsIEdMZmxvYXQgeSwgR0xmbG9hdCB6LCBHTGZsb2F0IHcpOworCisgICAgdW5kZWZp
bmVkIHZlcnRleEF0dHJpYjFmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7Cisg
ICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjJmdihHTHVpbnQgaW5kZXgsIEZsb2F0MzJMaXN0IHZh
bHVlcyk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjNmdihHTHVpbnQgaW5kZXgsIEZsb2F0
MzJMaXN0IHZhbHVlcyk7CisgICAgdW5kZWZpbmVkIHZlcnRleEF0dHJpYjRmdihHTHVpbnQgaW5k
ZXgsIEZsb2F0MzJMaXN0IHZhbHVlcyk7CiAKLSAgICB2b2lkIHZlcnRleEF0dHJpYlBvaW50ZXIo
R0x1aW50IGluZHgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTGJvb2xlYW4gbm9ybWFsaXpl
ZCwgR0xzaXplaSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdW5kZWZpbmVkIHZlcnRl
eEF0dHJpYlBvaW50ZXIoR0x1aW50IGluZHgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTGJv
b2xlYW4gbm9ybWFsaXplZCwgR0xzaXplaSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7CiAKLSAg
ICB2b2lkIHZpZXdwb3J0KEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgdmlld3BvcnQoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVGV4dFRyYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RleHRUcmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTIgKzQ0LDEyIEBA
IGVudW0gVGV4dFRyYWNrS2luZCB7ICJzdWJ0aXRsZXMiLCAiY2FwdGkKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgVGV4dFRyYWNrQ3VlTGlzdD8gY3VlczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
VGV4dFRyYWNrQ3VlTGlzdD8gYWN0aXZlQ3VlczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBhZGRDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHJlbW92ZUN1ZShUZXh0VHJhY2tDdWUgY3VlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBhZGRDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgcmVtb3ZlQ3VlKFRleHRUcmFja0N1ZSBjdWUpOwogCiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmN1ZWNoYW5nZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBW
VFRSZWdpb25MaXN0IHJlZ2lvbnM7Ci0gICAgdm9pZCBhZGRSZWdpb24oVlRUUmVnaW9uIHJlZ2lv
bik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlbW92ZVJlZ2lvbihWVFRSZWdpb24g
cmVnaW9uKTsKKyAgICB1bmRlZmluZWQgYWRkUmVnaW9uKFZUVFJlZ2lvbiByZWdpb24pOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlbW92ZVJlZ2lvbihWVFRSZWdpb24gcmVn
aW9uKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElI
b3N0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExp
bmVBUElIb3N0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEwICszNCwx
MCBAQAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUKIF0gaW50ZXJmYWNlIENvbW1hbmRMaW5lQVBJSG9zdCB7Ci0gICAgdm9pZCBjbGVhckNvbnNv
bGVNZXNzYWdlcygpOwotICAgIHZvaWQgY29weVRleHQoRE9NU3RyaW5nIHRleHQpOworICAgIHVu
ZGVmaW5lZCBjbGVhckNvbnNvbGVNZXNzYWdlcygpOworICAgIHVuZGVmaW5lZCBjb3B5VGV4dChE
T01TdHJpbmcgdGV4dCk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIGluc3Bl
Y3QoYW55IG9iamVjdFRvSW5zcGVjdCwgYW55IGhpbnRzKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFs
T2JqZWN0XSB1bmRlZmluZWQgaW5zcGVjdChhbnkgb2JqZWN0VG9JbnNwZWN0LCBhbnkgaGludHMp
OwogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBpbnNwZWN0ZWRPYmplY3QoKTsKIAog
ICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIHJlY29yZDxET01TdHJpbmcsIHNlcXVlbmNlPExp
c3RlbmVyRW50cnk+PiBnZXRFdmVudExpc3RlbmVycyhFdmVudFRhcmdldCB0YXJnZXQpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwzNCArMzQsMzQgQEAK
ICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAog
XSBpbnRlcmZhY2UgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IHsKLSAgICB2b2lkIGxvYWRlZCgpOwot
ICAgIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICB2b2lkIHJlb3BlbigpOwotICAgIHZvaWQgcmVz
ZXQoKTsKKyAgICB1bmRlZmluZWQgbG9hZGVkKCk7CisgICAgdW5kZWZpbmVkIGNsb3NlV2luZG93
KCk7CisgICAgdW5kZWZpbmVkIHJlb3BlbigpOworICAgIHVuZGVmaW5lZCByZXNldCgpOwogCi0g
ICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKLSAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoRE9N
U3RyaW5nIG5ld1VSTCk7CisgICAgdW5kZWZpbmVkIGJyaW5nVG9Gcm9udCgpOworICAgIHVuZGVm
aW5lZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKERPTVN0cmluZyBuZXdVUkwpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gc3VwcG9ydHNTaG93Q2VydGlmaWNhdGU7CiAgICAgYm9vbGVh
biBzaG93Q2VydGlmaWNhdGUoRE9NU3RyaW5nIHNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZSk7CiAKLSAg
ICB2b2lkIHNldFpvb21GYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb20pOworICAgIHVuZGVm
aW5lZCBzZXRab29tRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCB6b29tKTsKICAgICBmbG9hdCB6
b29tRmFjdG9yKCk7CiAKLSAgICB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoRE9NU3RyaW5nIGFw
cGVhcmFuY2UpOworICAgIHVuZGVmaW5lZCBzZXRGb3JjZWRBcHBlYXJhbmNlKERPTVN0cmluZyBh
cHBlYXJhbmNlKTsKIAogICAgIERPTVN0cmluZyB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
KCk7CiAKICAgICBib29sZWFuIHN1cHBvcnRzRG9ja1NpZGUoRE9NU3RyaW5nIGRvY2tTaWRlKTsK
LSAgICB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShET01TdHJpbmcgZG9ja1NpZGUpOworICAgIHVu
ZGVmaW5lZCByZXF1ZXN0U2V0RG9ja1NpZGUoRE9NU3RyaW5nIGRvY2tTaWRlKTsKIAotICAgIHZv
aWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgbG9uZyBoZWlnaHQpOwotICAgIHZv
aWQgc2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNpZ25lZCBsb25nIHdpZHRoKTsKKyAgICB1bmRl
ZmluZWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgbG9uZyBoZWlnaHQpOworICAg
IHVuZGVmaW5lZCBzZXRBdHRhY2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkIGxvbmcgd2lkdGgpOwog
Ci0gICAgdm9pZCBzZXRTaGVldFJlY3QodW5yZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3Rl
ZCBmbG9hdCB5LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7Cisg
ICAgdW5kZWZpbmVkIHNldFNoZWV0UmVjdCh1bnJlc3RyaWN0ZWQgZmxvYXQgeCwgdW5yZXN0cmlj
dGVkIGZsb2F0IHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KTsK
IAotICAgIHZvaWQgc3RhcnRXaW5kb3dEcmFnKCk7Ci0gICAgdm9pZCBtb3ZlV2luZG93QnkodW5y
ZXN0cmljdGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5KTsKKyAgICB1bmRlZmluZWQg
c3RhcnRXaW5kb3dEcmFnKCk7CisgICAgdW5kZWZpbmVkIG1vdmVXaW5kb3dCeSh1bnJlc3RyaWN0
ZWQgZmxvYXQgeCwgdW5yZXN0cmljdGVkIGZsb2F0IHkpOwogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gaXNSZW1vdGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBs
b2NhbGl6ZWRTdHJpbmdzVVJMOwpAQCAtNjksMzEgKzY5LDMxIEBACiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgaW5zcGVjdGlvbkxldmVsOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBEZWJ1Z2dhYmxlSW5mbyBkZWJ1Z2dhYmxlSW5mbzsKIAotICAgIHZvaWQgY29weVRleHQo
RE9NU3RyaW5nIHRleHQpOwotICAgIHZvaWQga2lsbFRleHQoRE9NU3RyaW5nIHRleHQsIGJvb2xl
YW4gc2hvdWxkUHJlcGVuZFRvS2lsbFJpbmcsIGJvb2xlYW4gc2hvdWxkU3RhcnROZXdTZXF1ZW5j
ZSk7Ci0gICAgdm9pZCBvcGVuSW5OZXdUYWIoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVk
IGNvcHlUZXh0KERPTVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQga2lsbFRleHQoRE9NU3Ry
aW5nIHRleHQsIGJvb2xlYW4gc2hvdWxkUHJlcGVuZFRvS2lsbFJpbmcsIGJvb2xlYW4gc2hvdWxk
U3RhcnROZXdTZXF1ZW5jZSk7CisgICAgdW5kZWZpbmVkIG9wZW5Jbk5ld1RhYihET01TdHJpbmcg
dXJsKTsKICAgICBib29sZWFuIGNhblNhdmUoKTsKLSAgICB2b2lkIHNhdmUoRE9NU3RyaW5nIHVy
bCwgRE9NU3RyaW5nIGNvbnRlbnQsIGJvb2xlYW4gYmFzZTY0RW5jb2RlZCwgYm9vbGVhbiBmb3Jj
ZVNhdmVBcyk7Ci0gICAgdm9pZCBhcHBlbmQoRE9NU3RyaW5nIHVybCwgRE9NU3RyaW5nIGNvbnRl
bnQpOwotICAgIHZvaWQgY2xvc2UoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVkIHNhdmUo
RE9NU3RyaW5nIHVybCwgRE9NU3RyaW5nIGNvbnRlbnQsIGJvb2xlYW4gYmFzZTY0RW5jb2RlZCwg
Ym9vbGVhbiBmb3JjZVNhdmVBcyk7CisgICAgdW5kZWZpbmVkIGFwcGVuZChET01TdHJpbmcgdXJs
LCBET01TdHJpbmcgY29udGVudCk7CisgICAgdW5kZWZpbmVkIGNsb3NlKERPTVN0cmluZyB1cmwp
OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwb3J0OwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgcGxhdGZvcm07CiAKLSAgICB2b2lkIHNob3dDb250ZXh0TWVu
dShFdmVudCBldmVudCwgc2VxdWVuY2U8Q29udGV4dE1lbnVJdGVtPiBpdGVtcyk7Ci0gICAgdm9p
ZCBkaXNwYXRjaEV2ZW50QXNDb250ZXh0TWVudUV2ZW50KEV2ZW50IGV2ZW50KTsKLSAgICB2b2lk
IHNlbmRNZXNzYWdlVG9CYWNrZW5kKERPTVN0cmluZyBtZXNzYWdlKTsKLSAgICB2b2lkIHVuYnVm
ZmVyZWRMb2coRE9NU3RyaW5nIG1lc3NhZ2UpOworICAgIHVuZGVmaW5lZCBzaG93Q29udGV4dE1l
bnUoRXZlbnQgZXZlbnQsIHNlcXVlbmNlPENvbnRleHRNZW51SXRlbT4gaXRlbXMpOworICAgIHVu
ZGVmaW5lZCBkaXNwYXRjaEV2ZW50QXNDb250ZXh0TWVudUV2ZW50KEV2ZW50IGV2ZW50KTsKKyAg
ICB1bmRlZmluZWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQoRE9NU3RyaW5nIG1lc3NhZ2UpOworICAg
IHVuZGVmaW5lZCB1bmJ1ZmZlcmVkTG9nKERPTVN0cmluZyBtZXNzYWdlKTsKIAogICAgIGJvb2xl
YW4gaXNVbmRlclRlc3QoKTsKICAgICBib29sZWFuIGlzRXhwZXJpbWVudGFsQnVpbGQoKTsKIAot
ICAgIHZvaWQgYmVlcCgpOwotICAgIHZvaWQgaW5zcGVjdEluc3BlY3RvcigpOworICAgIHVuZGVm
aW5lZCBiZWVwKCk7CisgICAgdW5kZWZpbmVkIGluc3BlY3RJbnNwZWN0b3IoKTsKICAgICBib29s
ZWFuIGlzQmVpbmdJbnNwZWN0ZWQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHN1cHBvcnRzRGlhZ25vc3RpY0xvZ2dpbmc7Ci0gICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl9U
RUxFTUVUUlldIHZvaWQgbG9nRGlhZ25vc3RpY0V2ZW50KERPTVN0cmluZyBldmVudE5hbWUsIERP
TVN0cmluZyBjb250ZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SX1RFTEVNRVRSWV0g
dW5kZWZpbmVkIGxvZ0RpYWdub3N0aWNFdmVudChET01TdHJpbmcgZXZlbnROYW1lLCBET01TdHJp
bmcgY29udGVudCk7CiB9OwogCiBkaWN0aW9uYXJ5IENvbnRleHRNZW51SXRlbSB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3
LDkgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBPQlNPTEVURSA9IDU7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHN0YXR1czsKIAotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCB1cGRhdGUoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3dhcENh
Y2hlKCk7Ci0gICAgdm9pZCBhYm9ydCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHVwZGF0ZSgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN3YXBDYWNo
ZSgpOworICAgIHVuZGVmaW5lZCBhYm9ydCgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbmNoZWNraW5nOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEs
MzQgKzQxLDM0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNDb2xsYXBzZWQ7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmFuZ2VDb3VudDsKIAotICAg
IHZvaWQgY29sbGFwc2UoTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQg
PSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY29sbGFwc2VUb0VuZCgpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb2xsYXBzZVRvU3RhcnQoKTsKKyAgICB1bmRlZmlu
ZWQgY29sbGFwc2UoTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAw
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb2xsYXBzZVRvRW5kKCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY29sbGFwc2VUb1N0YXJ0KCk7CiAKLSAg
ICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlRnJvbURvY3VtZW50KCk7CisgICAgW0NFUmVhY3Rp
b25zXSB1bmRlZmluZWQgZGVsZXRlRnJvbURvY3VtZW50KCk7CiAgICAgYm9vbGVhbiBjb250YWlu
c05vZGUoTm9kZSBub2RlLCBvcHRpb25hbCBib29sZWFuIGFsbG93UGFydGlhbCA9IGZhbHNlKTsK
LSAgICB2b2lkIHNlbGVjdEFsbENoaWxkcmVuKE5vZGUgbm9kZSk7CisgICAgdW5kZWZpbmVkIHNl
bGVjdEFsbENoaWxkcmVuKE5vZGUgbm9kZSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgZXh0ZW5kKE5vZGUgbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBleHRlbmQoTm9kZSBub2RlLCBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwogCiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBSYW5nZSBnZXRSYW5nZUF0KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgcmVtb3Zl
QWxsUmFuZ2VzKCk7Ci0gICAgdm9pZCBhZGRSYW5nZShSYW5nZSByYW5nZSk7CisgICAgdW5kZWZp
bmVkIHJlbW92ZUFsbFJhbmdlcygpOworICAgIHVuZGVmaW5lZCBhZGRSYW5nZShSYW5nZSByYW5n
ZSk7CiAKICAgICBbTm90RW51bWVyYWJsZV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICB2b2lkIHNldEJhc2VBbmRF
eHRlbnQoTm9kZT8gYmFzZU5vZGUsIHVuc2lnbmVkIGxvbmcgYmFzZU9mZnNldCwgTm9kZT8gZXh0
ZW50Tm9kZSwgdW5zaWduZWQgbG9uZyBleHRlbnRPZmZzZXQpOwotICAgIHZvaWQgc2V0UG9zaXRp
b24oTm9kZT8gbm9kZSwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICB1
bmRlZmluZWQgc2V0QmFzZUFuZEV4dGVudChOb2RlPyBiYXNlTm9kZSwgdW5zaWduZWQgbG9uZyBi
YXNlT2Zmc2V0LCBOb2RlPyBleHRlbnROb2RlLCB1bnNpZ25lZCBsb25nIGV4dGVudE9mZnNldCk7
CisgICAgdW5kZWZpbmVkIHNldFBvc2l0aW9uKE5vZGU/IG5vZGUsIG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgb2Zmc2V0ID0gMCk7CiAKLSAgICB2b2lkIGVtcHR5KCk7CisgICAgdW5kZWZpbmVkIGVt
cHR5KCk7CiAKICAgICAvLyBGSVhNRTogVGhlIGZvbGxvd2luZyBvcGVyYXRpb24gc2hvdWxkIGJl
IGltcGxlbWVudGVkLgotICAgIC8vIHZvaWQgcmVtb3ZlUmFuZ2UoUmFuZ2UgcmFuZ2UpOworICAg
IC8vIHVuZGVmaW5lZCByZW1vdmVSYW5nZShSYW5nZSByYW5nZSk7CiAKICAgICAvLyBGSVhNRTog
VXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCi0g
ICAgdm9pZCBtb2RpZnkob3B0aW9uYWwgRE9NU3RyaW5nIGFsdGVyID0gInVuZGVmaW5lZCIsIG9w
dGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24gPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9NU3Ry
aW5nIGdyYW51bGFyaXR5ID0gInVuZGVmaW5lZCIpOworICAgIHVuZGVmaW5lZCBtb2RpZnkob3B0
aW9uYWwgRE9NU3RyaW5nIGFsdGVyID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBk
aXJlY3Rpb24gPSAidW5kZWZpbmVkIiwgb3B0aW9uYWwgRE9NU3RyaW5nIGdyYW51bGFyaXR5ID0g
InVuZGVmaW5lZCIpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IGJhc2VOb2RlOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGJhc2VPZmZzZXQ7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY1LDExICs2NSwxMSBA
QCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHN0YXR1c2JhcjsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBCYXJQcm9wIHRvb2xiYXI7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBz
dGF0dXM7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1l
bnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgY2xvc2UoKTsKKyAgICBbRG9Ob3RDaGVj
a1NlY3VyaXR5LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhl
YWRlcl0gdW5kZWZpbmVkIGNsb3NlKCk7CiAgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgRm9yd2Fy
ZERlY2xhcmVJbkhlYWRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2xvc2VkOwotICAg
IHZvaWQgc3RvcCgpOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHksIENhbGxXaXRoPUluY3VtYmVu
dFdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBmb2N1cygpOwotICAgIFtEb05v
dENoZWNrU2VjdXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgYmx1cigpOworICAg
IHVuZGVmaW5lZCBzdG9wKCk7CisgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5j
dW1iZW50V2luZG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZm9jdXMoKTsK
KyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmlu
ZWQgYmx1cigpOwogCiAgICAgLy8gT3RoZXIgYnJvd3NpbmcgY29udGV4dHMuCiAgICAgW1JlcGxh
Y2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlciwgQ3VzdG9tR2V0dGVyXSByZWFkb25s
eSBhdHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwpAQCAtODUsMjQgKzg1LDI0IEBAIHR5cGVk
ZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01BcHBs
aWNhdGlvbkNhY2hlIGFwcGxpY2F0aW9uQ2FjaGU7CiAKICAgICAvLyBVc2VyIHByb21wdHMuCi0g
ICAgdm9pZCBhbGVydCgpOwotICAgIHZvaWQgYWxlcnQoRE9NU3RyaW5nIG1lc3NhZ2UpOworICAg
IHVuZGVmaW5lZCBhbGVydCgpOworICAgIHVuZGVmaW5lZCBhbGVydChET01TdHJpbmcgbWVzc2Fn
ZSk7CiAgICAgW0ltcGxlbWVudGVkQXM9Y29uZmlybUZvckJpbmRpbmdzXWJvb2xlYW4gY29uZmly
bShvcHRpb25hbCBET01TdHJpbmcgbWVzc2FnZSA9ICIiKTsKICAgICBET01TdHJpbmc/IHByb21w
dChvcHRpb25hbCBET01TdHJpbmcgbWVzc2FnZSA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgZGVm
YXVsdFZhbHVlID0gIiIpOwotICAgIHZvaWQgcHJpbnQoKTsKKyAgICB1bmRlZmluZWQgcHJpbnQo
KTsKIAogICAgIGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrIGNhbGxiYWNrKTsgLy8gRklYTUU6IFNob3VsZCByZXR1cm4gYW4gdW5zaWduZWQg
bG9uZy4KLSAgICB2b2lkIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8gRklY
TUU6IGhhbmRsZSBzaG91bGQgYmUgYW4gdW5zaWduZWQgbG9uZy4KKyAgICB1bmRlZmluZWQgY2Fu
Y2VsQW5pbWF0aW9uRnJhbWUobG9uZyBoYW5kbGUpOyAvLyBGSVhNRTogaGFuZGxlIHNob3VsZCBi
ZSBhbiB1bnNpZ25lZCBsb25nLgogCiAgICAgW0VuYWJsZWRCeVNldHRpbmc9cmVxdWVzdElkbGVD
YWxsYmFja10gdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRsZUNhbGxiYWNrKElkbGVSZXF1ZXN0Q2Fs
bGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIElkbGVSZXF1ZXN0T3B0aW9ucyBvcHRpb25zKTsKLSAg
ICBbRW5hYmxlZEJ5U2V0dGluZz1yZXF1ZXN0SWRsZUNhbGxiYWNrXSB2b2lkIGNhbmNlbElkbGVD
YWxsYmFjayh1bnNpZ25lZCBsb25nIGhhbmRsZSk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9cmVx
dWVzdElkbGVDYWxsYmFja10gdW5kZWZpbmVkIGNhbmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBs
b25nIGhhbmRsZSk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0JkluY3VtYmVudFdpbmRv
dywgRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9y
aWdpbiwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKLSAgICBbQ2Fs
bFdpdGg9R2xvYmFsT2JqZWN0JkluY3VtYmVudFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBG
b3J3YXJkRGVjbGFyZUluSGVhZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2Fn
ZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMp
OworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QmSW5jdW1iZW50V2luZG93LCBEb05vdENoZWNr
U2VjdXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4sIG9w
dGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CisgICAgW0NhbGxXaXRoPUds
b2JhbE9iamVjdCZJbmN1bWJlbnRXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eSwgRm9yd2FyZERl
Y2xhcmVJbkhlYWRlciwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShh
bnkgbWVzc2FnZSwgb3B0aW9uYWwgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOwog
CiAgICAgLy8gT2Jzb2xldGUgbWVtYmVycywgc3RpbGwgcGFydCBvZiB0aGUgSFRNTCBzcGVjaWZp
Y2F0aW9uIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNXaW5kb3ctcGFydGlhbCkuCi0g
ICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7IC8vIE5vdCBpbXBsZW1lbnRlZC4gQWxzbyBub3QgaW4g
bW9kZXJuIHN0YW5kYXJkcy4gRW1wdHkgZnVuY3Rpb24gbWF5IGhlbHAgY29tcGF0aWJpbGl0eSB3
aXRoIGxlZ2FjeSBjb250ZW50LgotICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOyAvLyBOb3QgaW1w
bGVtZW50ZWQuIEFsc28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1h
eSBoZWxwIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVudC4KKyAgICB1bmRlZmluZWQg
Y2FwdHVyZUV2ZW50cygpOyAvLyBOb3QgaW1wbGVtZW50ZWQuIEFsc28gbm90IGluIG1vZGVybiBz
dGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1heSBoZWxwIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdh
Y3kgY29udGVudC4KKyAgICB1bmRlZmluZWQgcmVsZWFzZUV2ZW50cygpOyAvLyBOb3QgaW1wbGVt
ZW50ZWQuIEFsc28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1heSBo
ZWxwIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVudC4KIAogICAgIC8vIFdlYlN0b3Jh
Z2UgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYnN0b3JhZ2UuaHRt
bCN0aGUtc2Vzc2lvbnN0b3JhZ2UtYXR0cmlidXRlKS4KICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U3RvcmFnZSBzZXNzaW9uU3RvcmFnZTsKQEAgLTExOCwxMCArMTE4LDEwIEBAIHR5cGVkZWYgVVNW
U3RyaW5nIENTU09NU3RyaW5nOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRl
IFNjcmVlbiBzY3JlZW47IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgogCiAgICAg
Ly8gQnJvd3NpbmcgY29udGV4dCAoQ1NTT00tVmlldykuCi0gICAgdm9pZCBtb3ZlVG8ob3B0aW9u
YWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQg
b2YgdHlwZSBsb25nLgotICAgIHZvaWQgbW92ZUJ5KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCB4ID0gTmFOLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSA9IE5hTik7IC8vIEZJWE1F
OiBQYXJhbWV0ZXJzIHNob3VsZCBiZSBtYW5kYXRvcnkgYW5kIG9mIHR5cGUgbG9uZy4KLSAgICB2
b2lkIHJlc2l6ZVRvKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3aWR0aCA9IE5hTiwgb3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCA9IE5hTik7IC8vIFBhcmFtZXRlcnMgc2hv
dWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgotICAgIHZvaWQgcmVzaXplQnkob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBm
bG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBh
bmQgb2YgdHlwZSBsb25nLgorICAgIHVuZGVmaW5lZCBtb3ZlVG8ob3B0aW9uYWwgdW5yZXN0cmlj
dGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFOKTsg
Ly8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25n
LgorICAgIHVuZGVmaW5lZCBtb3ZlQnkob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBO
YU4sIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFt
ZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgb2YgdHlwZSBsb25nLgorICAgIHVuZGVmaW5l
ZCByZXNpemVUbyhvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lkdGggPSBOYU4sIG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQgPSBOYU4pOyAvLyBQYXJhbWV0ZXJzIHNob3Vs
ZCBiZSBtYW5kYXRvcnkgYW5kIG9mIHR5cGUgbG9uZy4KKyAgICB1bmRlZmluZWQgcmVzaXplQnko
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHggPSBOYU4sIG9wdGlvbmFsIHVucmVzdHJpY3Rl
ZCBmbG9hdCB5ID0gTmFOKTsgLy8gRklYTUU6IFBhcmFtZXRlcnMgc2hvdWxkIGJlIG1hbmRhdG9y
eSBhbmQgb2YgdHlwZSBsb25nLgogCiAgICAgLy8gVmlld3BvcnQgKENTU09NLVZpZXcpLgogICAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5uZXJIZWlnaHQ7CkBAIC0x
MzIsMTIgKzEzMiwxMiBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBbUmVw
bGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2Nyb2xsWF0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSBwYWdlWE9mZnNldDsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgc2Nyb2xsWTsKICAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2Nyb2xsWV0gcmVh
ZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBwYWdlWU9mZnNldDsKLSAgICBbSW1wbGVtZW50ZWRBcz1z
Y3JvbGxUb10gdm9pZCBzY3JvbGwob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9wdGlvbnMpOwot
ICAgIFtJbXBsZW1lbnRlZEFzPXNjcm9sbFRvXSB2b2lkIHNjcm9sbCh1bnJlc3RyaWN0ZWQgZG91
YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxUbyhvcHRpb25h
bCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7Ci0gICAgdm9pZCBzY3JvbGxUbyh1bnJlc3RyaWN0
ZWQgZG91YmxlIHgsIHVucmVzdHJpY3RlZCBkb3VibGUgeSk7Ci0gICAgdm9pZCBzY3JvbGxCeShv
cHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9uKTsKLSAgICB2b2lkIHNjcm9sbEJ5KHVucmVz
dHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKKyAgICBbSW1wbGVtZW50
ZWRBcz1zY3JvbGxUb10gdW5kZWZpbmVkIHNjcm9sbChvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMg
b3B0aW9ucyk7CisgICAgW0ltcGxlbWVudGVkQXM9c2Nyb2xsVG9dIHVuZGVmaW5lZCBzY3JvbGwo
dW5yZXN0cmljdGVkIGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIHVuZGVm
aW5lZCBzY3JvbGxUbyhvcHRpb25hbCBTY3JvbGxUb09wdGlvbnMgb3B0aW9ucyk7CisgICAgdW5k
ZWZpbmVkIHNjcm9sbFRvKHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJs
ZSB5KTsKKyAgICB1bmRlZmluZWQgc2Nyb2xsQnkob3B0aW9uYWwgU2Nyb2xsVG9PcHRpb25zIG9w
dGlvbik7CisgICAgdW5kZWZpbmVkIHNjcm9sbEJ5KHVucmVzdHJpY3RlZCBkb3VibGUgeCwgdW5y
ZXN0cmljdGVkIGRvdWJsZSB5KTsKIAogICAgIC8vIFZpc3VhbCBWaWV3cG9ydCAoaHR0cHM6Ly93
aWNnLmdpdGh1Yi5pby9WaWV3cG9ydEFQSS9zcGVjLmh0bWwpCiAgICAgW0VuYWJsZWRCeVNldHRp
bmc9VmlzdWFsVmlld3BvcnRBUEksIFJlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgVmlz
dWFsVmlld3BvcnQgdmlzdWFsVmlld3BvcnQ7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmpl
Y3RdLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNDE0CkBAIC0x
NjQsOCArMTY0LDggQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAgW1JlcGxh
Y2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzY3JlZW5MZWZ0OwogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2NyZWVuVG9wOwogICAgIGxvbmcgd2Via2l0
UmVxdWVzdEFuaW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxi
YWNrKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJr
aXRDYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGlkKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1jYW5j
ZWxBbmltYXRpb25GcmFtZV0gdm9pZCB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
bG9uZyBpZCk7CisgICAgW0ltcGxlbWVudGVkQXM9Y2FuY2VsQW5pbWF0aW9uRnJhbWVdIHVuZGVm
aW5lZCB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGlkKTsKKyAgICBbSW1wbGVtZW50
ZWRBcz1jYW5jZWxBbmltYXRpb25GcmFtZV0gdW5kZWZpbmVkIHdlYmtpdENhbmNlbFJlcXVlc3RB
bmltYXRpb25GcmFtZShsb25nIGlkKTsKIAogICAgIC8vIE5vbiBzdGFuZGFyZCBidXQgbWF5IGdl
dCBhZGRlZCAoaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8yMzc5KS4KICAg
ICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYXZpZ2F0b3IgY2xpZW50SW5mb3Jt
YXRpb247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ub3BlbjsK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZTsKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uZXJyb3I7Ci0gICAgdm9pZCBjbG9zZSgpOworICAgIHVuZGVmaW5lZCBjbG9z
ZSgpOwogfTsKIAogZGljdGlvbmFyeSBFdmVudFNvdXJjZUluaXQgewpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9IaXN0b3J5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0hpc3RvcnkuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0hp
c3RvcnkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTMgQEAKICAgICBhdHRyaWJ1
dGUgU2Nyb2xsUmVzdG9yYXRpb24gc2Nyb2xsUmVzdG9yYXRpb247CiAgICAgW0N1c3RvbV0gcmVh
ZG9ubHkgYXR0cmlidXRlIGFueSBzdGF0ZTsKIAotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9y
d2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBiYWNrKCk7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50
LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGZvcndhcmQoKTsKLSAgICBbQ2FsbFdpdGg9
RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZ28ob3B0aW9uYWwgbG9uZyBk
ZWx0YSA9IDApOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRl
cl0gdW5kZWZpbmVkIGJhY2soKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIEZvcndhcmREZWNs
YXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBmb3J3YXJkKCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50
LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZ28ob3B0aW9uYWwgbG9uZyBkZWx0
YSA9IDApOwogCiAgICAgLy8gRklYTUU6IHRpdGxlIHNob3VsZCBub3QgYmUgbnVsbGFibGUgYXMg
cGVyIHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHB1c2hTdGF0ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgRE9NU3RyaW5nPyB0aXRsZSwg
b3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgcmVwbGFjZVN0YXRlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBkYXRhLCBET01TdHJpbmc/
IHRpdGxlLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHVybCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHB1c2hTdGF0ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwg
RE9NU3RyaW5nPyB0aXRsZSwgb3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZXBsYWNlU3RhdGUoU2VyaWFsaXplZFNjcmlw
dFZhbHVlIGRhdGEsIERPTVN0cmluZz8gdGl0bGUsIG9wdGlvbmFsIFVTVlN0cmluZz8gdXJsID0g
bnVsbCk7CiB9OwogCiBlbnVtIFNjcm9sbFJlc3RvcmF0aW9uIHsgImF1dG8iLCAibWFudWFsIiB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJ
KHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw5ICszNiw5IEBACiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyByb290TWFyZ2luOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBz
ZXF1ZW5jZTxkb3VibGU+IHRocmVzaG9sZHM7CiAKLSAgICB2b2lkIG9ic2VydmUoRWxlbWVudCB0
YXJnZXQpOwotICAgIHZvaWQgdW5vYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKLSAgICB2b2lkIGRp
c2Nvbm5lY3QoKTsKKyAgICB1bmRlZmluZWQgb2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CisgICAg
dW5kZWZpbmVkIHVub2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CisgICAgdW5kZWZpbmVkIGRpc2Nv
bm5lY3QoKTsKICAgICBbUmVzdWx0RmllbGQ9cmVjb3Jkc10gc2VxdWVuY2U8SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJFbnRyeT4gdGFrZVJlY29yZHMoKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckNh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNCArMjgsNCBAQAogWwogICAgIENvbmRp
dGlvbmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUiwKICAgICBDYWxsYmFja1RoaXNPYmplY3Q9SW50
ZXJzZWN0aW9uT2JzZXJ2ZXIsCi1dIGNhbGxiYWNrIEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJh
Y2sgPSB2b2lkIChzZXF1ZW5jZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5PiBlbnRyaWVzLCBJ
bnRlcnNlY3Rpb25PYnNlcnZlciBvYnNlcnZlcik7CitdIGNhbGxiYWNrIEludGVyc2VjdGlvbk9i
c2VydmVyQ2FsbGJhY2sgPSB1bmRlZmluZWQgKHNlcXVlbmNlPEludGVyc2VjdGlvbk9ic2VydmVy
RW50cnk+IGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyIG9ic2VydmVyKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTG9jYXRpb24uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsOSBAQAogXSBp
bnRlcmZhY2UgTG9jYXRpb24gewogICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmly
c3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyXSBzdHJpbmdpZmllciBhdHRyaWJ1
dGUgVVNWU3RyaW5nIGhyZWY7CiAKLSAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2lu
ZG93LCBNYXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBhc3Np
Z24oVVNWU3RyaW5nIHVybCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9QWN0
aXZlV2luZG93JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJ
bkhlYWRlcl0gdm9pZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOwotICAgIFtDYWxsV2l0aD1BY3Rp
dmVXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgcmVsb2FkKCk7CisgICAgW0Nh
bGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywgTWF5VGhyb3dFeGNlcHRpb24sIEZvcndh
cmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgICAg
W0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93LCBN
YXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIHJlcGxh
Y2UoVVNWU3RyaW5nIHVybCk7CisgICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvdywgRm9yd2FyZERl
Y2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIHJlbG9hZCgpOwogCiAgICAgLy8gVVJJIGRlY29tcG9z
aXRpb24gYXR0cmlidXRlcwogICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RX
aW5kb3ddIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcHJvdG9jb2w7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogICAgIFtDb25k
aXRpb25hbD1OQVZJR0FUT1JfU1RBTkRBTE9ORV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
c3RhbmRhbG9uZTsKIAotICAgIHZvaWQgZ2V0U3RvcmFnZVVwZGF0ZXMoKTsgLy8gRklYTUU6IFJl
bW92ZSB0aGlzIG1ldGhvZCBvciByZW5hbWUgdG8geWllbGRGb3JTdG9yYWdlVXBkYXRlcy4KKyAg
ICB1bmRlZmluZWQgZ2V0U3RvcmFnZVVwZGF0ZXMoKTsgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG1l
dGhvZCBvciByZW5hbWUgdG8geWllbGRGb3JTdG9yYWdlVXBkYXRlcy4KIH07CiAKIE5hdmlnYXRv
ciBpbXBsZW1lbnRzIE5hdmlnYXRvcklEOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JJc0xvZ2dlZEluLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvcklzTG9nZ2VkSW4uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvcklzTG9nZ2VkSW4uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw3IEBACiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Jc0xvZ2dl
ZEluQVBJCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7Ci0gICAgUHJvbWlzZTx2b2lk
PiBzZXRMb2dnZWRJbigpOwotICAgIFByb21pc2U8dm9pZD4gc2V0TG9nZ2VkT3V0KCk7CisgICAg
UHJvbWlzZTx1bmRlZmluZWQ+IHNldExvZ2dlZEluKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+
IHNldExvZ2dlZE91dCgpOwogICAgIFByb21pc2U8Ym9vbD4gaXNMb2dnZWRJbigpOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU2hhcmUKIF0gaW50
ZXJmYWNlIE5hdmlnYXRvclNoYXJlIHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgU2VjdXJlQ29udGV4dF0gYm9vbGVhbiBjYW5TaGFyZShvcHRpb25hbCBTaGFyZURhdGEg
c2hhcmVEYXRhKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJl
Q29udGV4dF0gUHJvbWlzZTx2b2lkPiBzaGFyZShvcHRpb25hbCBTaGFyZURhdGEgc2hhcmVEYXRh
KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29udGV4dF0g
UHJvbWlzZTx1bmRlZmluZWQ+IHNoYXJlKG9wdGlvbmFsIFNoYXJlRGF0YSBzaGFyZURhdGEpOwog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtNTAsMTUgKzUwLDE1IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAg
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGluZV0gUGVyZm9ybWFuY2VFbnRy
eUxpc3QgZ2V0RW50cmllc0J5TmFtZShET01TdHJpbmcgbmFtZSwgb3B0aW9uYWwgRE9NU3RyaW5n
IGVudHJ5VHlwZSk7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGlt
aW5nLwotICAgIFtFbmFibGVkQXRSdW50aW1lPVJlc291cmNlVGltaW5nXSB2b2lkIGNsZWFyUmVz
b3VyY2VUaW1pbmdzKCk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHZv
aWQgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcgbWF4U2l6ZSk7Cisg
ICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIHVuZGVmaW5lZCBjbGVhclJlc291
cmNlVGltaW5ncygpOworICAgIFtFbmFibGVkQXRSdW50aW1lPVJlc291cmNlVGltaW5nXSB1bmRl
ZmluZWQgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcgbWF4U2l6ZSk7
CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmddIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGw7CiAKICAgICAvLyBodHRwczovL3czYy5n
aXRodWIuaW8vdXNlci10aW1pbmcvCi0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywg
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbWFyayhET01TdHJpbmcgbWFya05hbWUpOwotICAgIFtF
bmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQgY2xlYXJNYXJrcyhvcHRpb25hbCBET01T
dHJpbmcgbWFya05hbWUpOwotICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1heVRo
cm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1lLCBvcHRpb25h
bCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJpbmcgZW5kTWFyayk7Ci0gICAg
W0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFs
IERPTVN0cmluZyBtZWFzdXJlTmFtZSk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWlu
ZywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBtYXJrKERPTVN0cmluZyBtYXJrTmFtZSk7
CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdW5kZWZpbmVkIGNsZWFyTWFya3Mo
b3B0aW9uYWwgRE9NU3RyaW5nIG1hcmtOYW1lKTsKKyAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2Vy
VGltaW5nLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIG1lYXN1cmUoRE9NU3RyaW5nIG1l
YXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJp
bmcgZW5kTWFyayk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdW5kZWZpbmVk
IGNsZWFyTWVhc3VyZXMob3B0aW9uYWwgRE9NU3RyaW5nIG1lYXN1cmVOYW1lKTsKIH07CiAKIHR5
cGVkZWYgc2VxdWVuY2U8UGVyZm9ybWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKIF0gaW50ZXJmYWNlIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25z
dHJ1Y3RvcihQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2spOwogCi0gICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgb3B0
aW9ucyk7Ci0gICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAgICB1
bmRlZmluZWQgZGlzY29ubmVjdCgpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3Vw
cG9ydGVkRW50cnlUeXBlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjgsNCArMjgsNCBAQAogWwogICAgIElzV2Vha0NhbGxiYWNrLAogICAg
IENhbGxiYWNrVGhpc09iamVjdD1QZXJmb3JtYW5jZU9ic2VydmVyLAotXSBjYWxsYmFjayBQZXJm
b3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgPSB2b2lkIChQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0IGVudHJpZXMsIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworXSBjYWxsYmFjayBQ
ZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgPSB1bmRlZmluZWQgKFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QgZW50cmllcywgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDE0ICs0NywxNCBAQAogICAgIFtVbmZvcmdlYWJsZSwgSW1wbGVtZW50ZWRBcz1z
ZWxmXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OwogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1B1dEZvcndh
cmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0
aW9uOyAvLyBGSVhNRTogU2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KLSAgICBbQ2FsbFdpdGg9SW5j
dW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgY2xvc2UoKTsKKyAg
ICBbQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVu
ZGVmaW5lZCBjbG9zZSgpOwogICAgIFtGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7Ci0gICAgW0NhbGxXaXRoPUluY3VtYmVudFdpbmRvdywg
Rm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBmb2N1cygpOwotICAgIFtGb3J3YXJkRGVjbGFy
ZUluSGVhZGVyXSB2b2lkIGJsdXIoKTsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBG
b3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgZm9jdXMoKTsKKyAgICBbRm9yd2FyZERl
Y2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIGJsdXIoKTsKICAgICBbUmVwbGFjZWFibGUsIEltcGxl
bWVudGVkQXM9c2VsZl0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKICAg
ICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsK
ICAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gb3BlbmVyOwogICAgIFtSZXBsYWNl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7Ci0gICAgW0NhbGxX
aXRoPUdsb2JhbE9iamVjdCZJbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJd
IHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4sIG9w
dGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CisgICAgW0NhbGxXaXRoPUds
b2JhbE9iamVjdCZJbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVm
aW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0
aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKIH07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcg
KzMyLDcgQEAKIF0gaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyIHsKICAgICBbQ2FsbFdpdGg9RG9j
dW1lbnRdIGNvbnN0cnVjdG9yKFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2spOwogCi0g
ICAgdm9pZCBvYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsKLSAgICB2b2lkIHVub2JzZXJ2ZShFbGVt
ZW50IHRhcmdldCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgdW5kZWZpbmVkIG9ic2Vy
dmUoRWxlbWVudCB0YXJnZXQpOworICAgIHVuZGVmaW5lZCB1bm9ic2VydmUoRWxlbWVudCB0YXJn
ZXQpOworICAgIHVuZGVmaW5lZCBkaXNjb25uZWN0KCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9SZXNpemVPYnNlcnZlckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2suaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9UkVTSVpFX09C
U0VSVkVSLAogICAgIENhbGxiYWNrVGhpc09iamVjdD1SZXNpemVPYnNlcnZlciwKLV0gY2FsbGJh
Y2sgUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVy
RW50cnk+IGVudHJpZXMsIFJlc2l6ZU9ic2VydmVyIG9ic2VydmVyKTsKK10gY2FsbGJhY2sgUmVz
aXplT2JzZXJ2ZXJDYWxsYmFjayA9IHVuZGVmaW5lZCAoc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJF
bnRyeT4gZW50cmllcywgUmVzaXplT2JzZXJ2ZXIgb2JzZXJ2ZXIpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9VbmRvTWFuYWdlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvVW5kb01hbmFnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUlt
cGxEb2N1bWVudCwKIF0gaW50ZXJmYWNlIFVuZG9NYW5hZ2VyIHsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgYWRkSXRlbShVbmRvSXRlbSBpdGVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBhZGRJdGVtKFVuZG9JdGVtIGl0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTIgKzUwLDEyIEBAIHR5cGVkZWYgKENhbnZh
c0ltYWdlU291cmNlIG9yIEJsb2Igb3IgSW0KICAgICAvLyBUaW1lcnMKICAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgdGFrZSBhIFRpbWVySGFuZGxlciAoYS5rLmEuIChET01TdHJpbmcgb3IgRnVu
Y3Rpb24pKSByYXRoZXIgdGhhbiBhIFNjaGVkdWxlZEFjdGlvbi4KICAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gbG9uZyBzZXRUaW1lb3V0KFNjaGVkdWxlZEFj
dGlvbiBoYW5kbGVyLCBvcHRpb25hbCBsb25nIHRpbWVvdXQgPSAwLCBhbnkuLi4gYXJndW1lbnRz
KTsKLSAgICB2b2lkIGNsZWFyVGltZW91dChvcHRpb25hbCBsb25nIGhhbmRsZSA9IDApOworICAg
IHVuZGVmaW5lZCBjbGVhclRpbWVvdXQob3B0aW9uYWwgbG9uZyBoYW5kbGUgPSAwKTsKICAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgdGFrZSBhIFRpbWVySGFuZGxlciAoYS5rLmEuIChET01TdHJp
bmcgb3IgRnVuY3Rpb24pKSByYXRoZXIgdGhhbiBhIFNjaGVkdWxlZEFjdGlvbi4KICAgICBbQ2Fs
bFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gbG9uZyBzZXRJbnRlcnZhbChT
Y2hlZHVsZWRBY3Rpb24gaGFuZGxlciwgb3B0aW9uYWwgbG9uZyB0aW1lb3V0ID0gMCwgYW55Li4u
IGFyZ3VtZW50cyk7Ci0gICAgdm9pZCBjbGVhckludGVydmFsKG9wdGlvbmFsIGxvbmcgaGFuZGxl
ID0gMCk7CisgICAgdW5kZWZpbmVkIGNsZWFySW50ZXJ2YWwob3B0aW9uYWwgbG9uZyBoYW5kbGUg
PSAwKTsKIAotICAgIFtDdXN0b21dIHZvaWQgcXVldWVNaWNyb3Rhc2soVm9pZENhbGxiYWNrIGNh
bGxiYWNrKTsKKyAgICBbQ3VzdG9tXSB1bmRlZmluZWQgcXVldWVNaWNyb3Rhc2soVm9pZENhbGxi
YWNrIGNhbGxiYWNrKTsKIAogICAgIC8vIEJhc2U2NCB1dGlsaXR5IG1ldGhvZHMuCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgYXRvYihET01TdHJpbmcgc3RyaW5nKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsCShyZXZpc2lvbiAyNjYy
OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNiBAQAogICAgIGdldHRlciBET01QbHVnaW4/IGl0ZW0odW5z
aWduZWQgbG9uZyBpbmRleCk7CiAgICAgZ2V0dGVyIERPTVBsdWdpbj8gbmFtZWRJdGVtKERPTVN0
cmluZyBuYW1lKTsKIAotICAgIHZvaWQgcmVmcmVzaChvcHRpb25hbCBib29sZWFuIHJlbG9hZCA9
IGZhbHNlKTsKKyAgICB1bmRlZmluZWQgcmVmcmVzaChvcHRpb25hbCBib29sZWFuIHJlbG9hZCA9
IGZhbHNlKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKICAgICBET01TdHJpbmc/IGtleSh1bnNpZ25lZCBsb25nIGluZGV4KTsK
ICAgICBnZXR0ZXIgRE9NU3RyaW5nPyBnZXRJdGVtKERPTVN0cmluZyBrZXkpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgc2V0SXRlbShET01TdHJpbmcga2V5LCBET01TdHJp
bmcgZGF0YSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBkZWxldGVyIHZvaWQgcmVtb3ZlSXRl
bShET01TdHJpbmcga2V5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgc2V0SXRlbShET01TdHJp
bmcga2V5LCBET01TdHJpbmcgZGF0YSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBkZWxldGVy
IHVuZGVmaW5lZCByZW1vdmVJdGVtKERPTVN0cmluZyBrZXkpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZUV2ZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIGlu
dGVyZmFjZSBTdG9yYWdlRXZlbnQgOiBFdmVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0
b3JhZ2U/IHN0b3JhZ2VBcmVhOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFz
IGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIHZvaWQgaW5pdFN0b3JhZ2VF
dmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZUFyZyA9ICJ1bmRlZmluZWQiLAorICAgIHVuZGVm
aW5lZCBpbml0U3RvcmFnZUV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlQXJnID0gInVuZGVm
aW5lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnVi
YmxlQXJnID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xl
YW4gY2FuY2VsYWJsZUFyZyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRp
b25hbCBET01TdHJpbmcga2V5QXJnID0gInVuZGVmaW5lZCIsCkBAIC00Myw3ICs0Myw3IEBAIGlu
dGVyZmFjZSBTdG9yYWdlRXZlbnQgOiBFdmVudCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIFN0b3JhZ2U/IHN0b3JhZ2VBcmVhQXJnID0gbnVsbCk7CiAKICAgICAvLyBOZWVk
ZWQgb25jZSB3ZSBzdXBwb3J0IGluaXQ8Ymxhbms+RXZlbnROUwotICAgIC8vIHZvaWQgaW5pdFN0
b3JhZ2VFdmVudE5TKERPTVN0cmluZyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyB0eXBlQXJnLCBi
b29sZWFuIGNhbkJ1YmJsZUFyZywgYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCBET01TdHJpbmcga2V5
QXJnLCBET01TdHJpbmcgb2xkVmFsdWVBcmcsIERPTVN0cmluZyBuZXdWYWx1ZUFyZywgVVNWU3Ry
aW5nIHVybEFyZywgU3RvcmFnZT8gc3RvcmFnZUFyZWFBcmcpOworICAgIC8vIHVuZGVmaW5lZCBp
bml0U3RvcmFnZUV2ZW50TlMoRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nIHR5cGVB
cmcsIGJvb2xlYW4gY2FuQnViYmxlQXJnLCBib29sZWFuIGNhbmNlbGFibGVBcmcsIERPTVN0cmlu
ZyBrZXlBcmcsIERPTVN0cmluZyBvbGRWYWx1ZUFyZywgRE9NU3RyaW5nIG5ld1ZhbHVlQXJnLCBV
U1ZTdHJpbmcgdXJsQXJnLCBTdG9yYWdlPyBzdG9yYWdlQXJlYUFyZyk7CiB9OwogCiBkaWN0aW9u
YXJ5IFN0b3JhZ2VFdmVudEluaXQgOiBFdmVudEluaXQgewpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuZ2xlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5n
bGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw2IEBACiAKICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHZhbHVlQXNTdHJpbmc7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbmV3
VmFsdWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgdW5yZXN0cmljdGVk
IGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBuZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHVu
c2lnbmVkIHNob3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWVJblNwZWNpZmll
ZFVuaXRzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSwxMCArMzEsMTAgQEAgaW50ZXJmYWNlIFNWR0FuaW1hdGlvbkVsZW1lbnQgOiBTVkdF
bGVtZQogICAgIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRDdXJyZW50VGltZSgpOwogICAgIHVucmVz
dHJpY3RlZCBmbG9hdCBnZXRTaW1wbGVEdXJhdGlvbigpOwogCi0gICAgdm9pZCBiZWdpbkVsZW1l
bnQoKTsKLSAgICB2b2lkIGJlZ2luRWxlbWVudEF0KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9h
dCBvZmZzZXQgPSBOYU4pOwotICAgIHZvaWQgZW5kRWxlbWVudCgpOwotICAgIHZvaWQgZW5kRWxl
bWVudEF0KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBvZmZzZXQgPSBOYU4pOworICAgIHVu
ZGVmaW5lZCBiZWdpbkVsZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgYmVnaW5FbGVtZW50QXQob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IG9mZnNldCA9IE5hTik7CisgICAgdW5kZWZpbmVkIGVu
ZEVsZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgZW5kRWxlbWVudEF0KG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBmbG9hdCBvZmZzZXQgPSBOYU4pOwogfTsKIAogU1ZHQW5pbWF0aW9uRWxlbWVudCBpbXBs
ZW1lbnRzIFNWR1Rlc3RzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRv
d0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BT
aGFkb3dFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3
IEBAIGludGVyZmFjZSBTVkdGRURyb3BTaGFkb3dFbGVtZW50IDogU1ZHRWwKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3RkRGV2aWF0aW9uWDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3RkRGV2aWF0aW9uWTsKIAotICAgIHZvaWQg
c2V0U3RkRGV2aWF0aW9uKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25Y
ID0gTmFOLAorICAgIHVuZGVmaW5lZCBzZXRTdGREZXZpYXRpb24ob3B0aW9uYWwgdW5yZXN0cmlj
dGVkIGZsb2F0IHN0ZERldmlhdGlvblggPSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlhdGlvblkgPSBOYU4pOwogfTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIHN0ZERldmlhdGlvblk7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gZWRnZU1vZGU7CiAKLSAgICB2
b2lkIHNldFN0ZERldmlhdGlvbihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgc3RkRGV2aWF0
aW9uWCA9IE5hTiwKKyAgICB1bmRlZmluZWQgc2V0U3RkRGV2aWF0aW9uKG9wdGlvbmFsIHVucmVz
dHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25YID0gTmFOLAogICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzdGREZXZpYXRpb25ZID0gTmFOKTsKIH07
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xv
Z3lFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciAgICAgIHJhZGl1c1g7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyICAgICAgcmFkaXVzWTsKIAotICAgIHZvaWQg
c2V0UmFkaXVzKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCByYWRpdXNYID0gTmFOLAorICAg
IHVuZGVmaW5lZCBzZXRSYWRpdXMob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHJhZGl1c1gg
PSBOYU4sCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHJh
ZGl1c1kgPSBOYU4pOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwJKHJldmlz
aW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw2ICs0MCw2IEBAIGludGVyZmFjZSBTVkdMZW5ndGggeyAKICAgICBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsKICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZhbHVlQXNTdHJpbmc7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgbmV3VmFsdWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgdW5y
ZXN0cmljdGVkIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cyk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRU
eXBlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBuZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWVJ
blNwZWNpZmllZFVuaXRzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjb252
ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwx
MiArMzAsMTIgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJdGVtczsKIAot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdMZW5n
dGggaW5pdGlhbGl6ZShTVkdMZW5ndGggbmV3SXRlbSk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBnZXR0ZXIgU1ZHTGVuZ3RoIGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggaW5zZXJ0SXRlbUJlZm9yZShTVkdMZW5ndGggbmV3
SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdM
ZW5ndGggcmVwbGFjZUl0ZW0oU1ZHTGVuZ3RoIG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHTGVuZ3RoIHJlbW92ZUl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdMZW5ndGggYXBwZW5kSXRl
bShTVkdMZW5ndGggbmV3SXRlbSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9p
ZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHTGVuZ3RoIG5ld0l0ZW0pOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHTGVu
Z3RoIG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsOCBAQCBpbnRlcmZhY2UgU1ZH
TWFya2VyRWxlbWVudCA6IFNWR0VsZW1lbnQgCiAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG9y
aWVudDsKIAotICAgIHZvaWQgc2V0T3JpZW50VG9BdXRvKCk7Ci0gICAgdm9pZCBzZXRPcmllbnRU
b0FuZ2xlKFNWR0FuZ2xlIGFuZ2xlKTsKKyAgICB1bmRlZmluZWQgc2V0T3JpZW50VG9BdXRvKCk7
CisgICAgdW5kZWZpbmVkIHNldE9yaWVudFRvQW5nbGUoU1ZHQW5nbGUgYW5nbGUpOwogfTsKIAog
U1ZHTWFya2VyRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpdFRvVmlld0JveDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4
LDEyIEBAIGludGVyZmFjZSBTVkdOdW1iZXJMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZJdGVtczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBTVkdOdW1iZXIgaW5pdGlhbGl6ZShTVkdOdW1iZXIgbmV3SXRlbSk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIgU1ZHTnVtYmVyIGdldEl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdOdW1iZXIgaW5zZXJ0SXRl
bUJlZm9yZShTVkdOdW1iZXIgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBTVkdOdW1iZXIgcmVwbGFjZUl0ZW0oU1ZHTnVtYmVyIG5ld0l0ZW0s
IHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHTnVtYmVy
IHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBTVkdOdW1iZXIgYXBwZW5kSXRlbShTVkdOdW1iZXIgbmV3SXRlbSk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHTnVtYmVyIG5l
d0l0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5lZCAodW5zaWdu
ZWQgbG9uZyBpbmRleCwgU1ZHTnVtYmVyIG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDEy
IEBAIGludGVyZmFjZSBTVkdQYXRoU2VnTGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IG51bWJlck9mSXRlbXM7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgY2xlYXIoKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBjbGVhcigpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gU1ZHUGF0aFNlZyBpbml0aWFsaXplKFNWR1BhdGhTZWcgbmV3SXRlbSk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIgU1ZHUGF0aFNlZyBnZXRJdGVtKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUGF0aFNlZyBpbnNlcnRJ
dGVtQmVmb3JlKFNWR1BhdGhTZWcgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBTVkdQYXRoU2VnIHJlcGxhY2VJdGVtKFNWR1BhdGhTZWcgbmV3
SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQ
YXRoU2VnIHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBTVkdQYXRoU2VnIGFwcGVuZEl0ZW0oU1ZHUGF0aFNlZyBuZXdJdGVtKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQ
YXRoU2VnIG5ld0l0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHVuZGVmaW5l
ZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHUGF0aFNlZyBuZXdJdGVtKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEyICsy
NywxMiBAQCBpbnRlcmZhY2UgU1ZHUG9pbnRMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZJdGVtczsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGNsZWFyKCk7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbml0aWFsaXplKFNWR1BvaW50IG5ld0l0ZW0pOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1BvaW50IGdldEl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbnNlcnRJdGVtQmVm
b3JlKFNWR1BvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oU1ZHUG9pbnQgbmV3SXRlbSwgdW5zaWdu
ZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCByZW1vdmVJ
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9p
bnQgYXBwZW5kSXRlbShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQb2ludCBuZXdJdGVtKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB1bmRlZmluZWQgKHVuc2lnbmVkIGxvbmcgaW5k
ZXgsIFNWR1BvaW50IG5ld0l0ZW0pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQAogICAgIGJvb2xlYW4g
Y2hlY2tJbnRlcnNlY3Rpb24oU1ZHRWxlbWVudCBlbGVtZW50LCBTVkdSZWN0IHJlY3QpOwogICAg
IGJvb2xlYW4gY2hlY2tFbmNsb3N1cmUoU1ZHRWxlbWVudCBlbGVtZW50LCBTVkdSZWN0IHJlY3Qp
OwogCi0gICAgdm9pZCBkZXNlbGVjdEFsbCgpOworICAgIHVuZGVmaW5lZCBkZXNlbGVjdEFsbCgp
OwogCiAgICAgW05ld09iamVjdF0gU1ZHTnVtYmVyIGNyZWF0ZVNWR051bWJlcigpOwogICAgIFtO
ZXdPYmplY3RdIFNWR0xlbmd0aCBjcmVhdGVTVkdMZW5ndGgoKTsKQEAgLTU5LDE3ICs1OSwxNyBA
QAogCiAgICAgLy8gU1ZHIGFuaW1hdGlvbnMgZXh0ZW5zaW9ucwogICAgIC8vIGh0dHBzOi8vc3Zn
d2cub3JnL3NwZWNzL2FuaW1hdGlvbnMvI0ludGVyZmFjZVNWR1NWR0VsZW1lbnQKLSAgICB2b2lk
IHBhdXNlQW5pbWF0aW9ucygpOwotICAgIHZvaWQgdW5wYXVzZUFuaW1hdGlvbnMoKTsKKyAgICB1
bmRlZmluZWQgcGF1c2VBbmltYXRpb25zKCk7CisgICAgdW5kZWZpbmVkIHVucGF1c2VBbmltYXRp
b25zKCk7CiAgICAgYm9vbGVhbiBhbmltYXRpb25zUGF1c2VkKCk7CiAgICAgdW5yZXN0cmljdGVk
IGZsb2F0IGdldEN1cnJlbnRUaW1lKCk7Ci0gICAgdm9pZCBzZXRDdXJyZW50VGltZShvcHRpb25h
bCB1bnJlc3RyaWN0ZWQgZmxvYXQgc2Vjb25kcyA9IE5hTik7CisgICAgdW5kZWZpbmVkIHNldEN1
cnJlbnRUaW1lKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzZWNvbmRzID0gTmFOKTsKIAog
ICAgIC8vIERlcHJlY2F0ZWQgU1ZHIHJlZHJhd2luZwogICAgIHVuc2lnbmVkIGxvbmcgc3VzcGVu
ZFJlZHJhdyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIG1heFdhaXRNaWxsaXNlY29uZHMgPSAwKTsK
LSAgICB2b2lkIHVuc3VzcGVuZFJlZHJhdyhvcHRpb25hbCB1bnNpZ25lZCBsb25nIHN1c3BlbmRI
YW5kbGVJZCA9IDApOwotICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3QWxsKCk7Ci0gICAgdm9pZCBm
b3JjZVJlZHJhdygpOworICAgIHVuZGVmaW5lZCB1bnN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBzdXNwZW5kSGFuZGxlSWQgPSAwKTsKKyAgICB1bmRlZmluZWQgdW5zdXNwZW5k
UmVkcmF3QWxsKCk7CisgICAgdW5kZWZpbmVkIGZvcmNlUmVkcmF3KCk7CiB9OwogCiBTVkdTVkdF
bGVtZW50IGltcGxlbWVudHMgU1ZHRml0VG9WaWV3Qm94OwpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N0cmluZ0xpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdHJpbmdMaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N0cmluZ0xpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMiArMjcsMTIgQEAgaW50
ZXJmYWNlIFNWR1N0cmluZ0xpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJP
Zkl0ZW1zOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVN0cmluZyBpbml0aWFsaXplKERPTVN0cmluZyBuZXdJdGVtKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGdldHRlciBET01TdHJpbmcgZ2V0SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBpbnNlcnRJdGVtQmVmb3JlKERP
TVN0cmluZyBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIERPTVN0cmluZyByZXBsYWNlSXRlbShET01TdHJpbmcgbmV3SXRlbSwgdW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgcmVtb3ZlSXRl
bSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmlu
ZyBhcHBlbmRJdGVtKERPTVN0cmluZyBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgbmV3SXRlbSk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGlu
ZGV4LCBET01TdHJpbmcgbmV3SXRlbSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw1ICs0MCw1IEBAIGludGVyZmFjZSBTVkdUZXh0Q29udGVudEVsZW1lbnQgOiBTVkdHcmEKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUmVjdCBnZXRFeHRlbnRPZkNoYXIo
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRSb3RhdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIG9mZnNldCA9IDApOwogICAgIGxvbmcgZ2V0Q2hhck51bUF0UG9zaXRpb24oRE9NUG9p
bnRJbml0IHBvaW50KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2VsZWN0U3ViU3Ry
aW5nKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBsZW5ndGggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZWxl
Y3RTdWJTdHJpbmcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwLCBvcHRpb25hbCB1
bnNpZ25lZCBsb25nIGxlbmd0aCA9IDApOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdUcmFuc2Zvcm0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFu
c2Zvcm0uaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJh
bnNmb3JtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEgKzM1LDExIEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNWR01hdHJpeCBtYXRyaXg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
cmVzdHJpY3RlZCBmbG9hdCBhbmdsZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRNYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IG1hdHJpeCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHNldFRyYW5zbGF0ZSh1bnJlc3RyaWN0ZWQgZmxvYXQgdHgsIHVucmVz
dHJpY3RlZCBmbG9hdCB0eSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNjYWxl
KHVucmVzdHJpY3RlZCBmbG9hdCBzeCwgdW5yZXN0cmljdGVkIGZsb2F0IHN5KTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Um90YXRlKHVucmVzdHJpY3RlZCBmbG9hdCBhbmdsZSwg
dW5yZXN0cmljdGVkIGZsb2F0IGN4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgY3kpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTa2V3WCh1bnJlc3RyaWN0ZWQgZmxvYXQgYW5nbGUpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTa2V3WSh1bnJlc3RyaWN0ZWQgZmxvYXQg
YW5nbGUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1hdHJpeChvcHRp
b25hbCBET01NYXRyaXgyREluaXQgbWF0cml4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRUcmFuc2xhdGUodW5yZXN0cmljdGVkIGZsb2F0IHR4LCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgdHkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNjYWxlKHVu
cmVzdHJpY3RlZCBmbG9hdCBzeCwgdW5yZXN0cmljdGVkIGZsb2F0IHN5KTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRSb3RhdGUodW5yZXN0cmljdGVkIGZsb2F0IGFuZ2xl
LCB1bnJlc3RyaWN0ZWQgZmxvYXQgY3gsIHVucmVzdHJpY3RlZCBmbG9hdCBjeSk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2tld1godW5yZXN0cmljdGVkIGZsb2F0IGFu
Z2xlKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTa2V3WSh1bnJlc3Ry
aWN0ZWQgZmxvYXQgYW5nbGUpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Ry
YW5zZm9ybUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFu
c2Zvcm1MaXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNCArMjgsMTQgQEAgaW50
ZXJmYWNlIFNWR1RyYW5zZm9ybUxpc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1i
ZXJPZkl0ZW1zOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgY2xlYXIoKTsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFNWR1RyYW5zZm9ybSBpbml0aWFsaXplKFNWR1RyYW5zZm9ybSBuZXdJdGVtKTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIGdldHRlciBTVkdUcmFuc2Zvcm0gZ2V0SXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSBpbnNl
cnRJdGVtQmVmb3JlKFNWR1RyYW5zZm9ybSBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSByZXBsYWNlSXRlbShTVkdUcmFu
c2Zvcm0gbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSBTVkdUcmFuc2Zvcm0gcmVtb3ZlSXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIFNWR1RyYW5zZm9ybSBhcHBlbmRJdGVtKFNWR1RyYW5zZm9ybSBu
ZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBs
b25nIGluZGV4LCBTVkdUcmFuc2Zvcm0gbmV3SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSBzZXR0ZXIgdW5kZWZpbmVkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdUcmFuc2Zvcm0gbmV3
SXRlbSk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHVHJhbnNmb3Jt
IGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4MkRJbml0IG1h
dHJpeCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdUcmFuc2Zvcm0gY29uc29saWRhdGUo
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAko
cmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsOTYgKzMzLDk2IEBAIGVudW0gRm9udExvYWRU
aW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAg
ICBFeHBvcnRNYWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJmYWNlIElu
dGVybmFsU2V0dGluZ3MgOiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkIHsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoYm9vbGVhbiBl
bmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUb3VjaEV2ZW50
RW11bGF0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgLy8gRm9udHMsIHRleHQK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KERPTVN0
cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlw
dCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHko
RE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHNldEZpeGVkRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcg
c2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1p
bHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KERPTVN0cmluZyBmYW1pbHksIERPTVN0
cmluZyBzY3JpcHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQaWN0b2dyYXBo
Rm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJv
b2xlYW4gcHJlZmVyUGljdG9ncmFwaHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgb3ZlcnJpZGUp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRJZ25vcmVGb250TG9hZENv
bXBsZXRpb25zKGJvb2xlYW4gaWdub3JlKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUobG9u
ZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRU
ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sZWFuIGVuYWJsZWQpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN0YW5kYXJkRm9udEZhbWlseShET01TdHJp
bmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRTZXJpZkZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNj
cmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2Fuc1NlcmlmRm9u
dEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGaXhlZEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWls
eSwgRE9NU3RyaW5nIHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmFudGFzeUZvbnRGYW1pbHko
RE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwg
RE9NU3RyaW5nIHNjcmlwdCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0
Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJlZmVyUGljdG9ncmFwaHMp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZvbnRMb2FkVGltaW5nT3Zl
cnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlkZSBvdmVycmlkZSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29s
ZWFuIGlnbm9yZSk7CisKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShsb25nIHdp
ZHRoLCBsb25nIGhlaWdodCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0
VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUoYm9vbGVhbiBlbmFibGVkKTsKIAogICAg
IC8vIE1lZGlhCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldENhblN0YXJ0TWVkaWEo
Ym9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxk
RGlzcGxheVRyYWNrS2luZChET01TdHJpbmcga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDYW5TdGFydE1lZGlhKGJvb2xlYW4gZW5h
YmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxh
eVRyYWNrS2luZChET01TdHJpbmcga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGJvb2xlYW4gc2hvdWxkRGlzcGxheVRyYWNrS2luZChET01TdHJpbmcgdHJh
Y2tLaW5kKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RGVmYXVsdFZpZGVvUG9z
dGVyVVJMKERPTVN0cmluZyBwb3N0ZXIpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh1bnJlc3RyaWN0
ZWQgZG91YmxlIHRpbWUpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNZWRpYVR5
cGVPdmVycmlkZShET01TdHJpbmcgbWVkaWFUeXBlT3ZlcnJpZGUpOwotICAgIHZvaWQgc2V0QWxs
b3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYm9vbGVhbiBhdmFpbGFibGUpOwotICAgIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU0sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1lZGlhQ2Fw
dHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihib29sZWFuIGVuYWJsZSk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKERPTVN0cmlu
ZyBwb3N0ZXIpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUg
dGltZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVkaWFUeXBlT3Zl
cnJpZGUoRE9NU3RyaW5nIG1lZGlhVHlwZU92ZXJyaWRlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxs
b3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYm9vbGVhbiBhdmFpbGFibGUpOworICAgIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU0sIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVk
aWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGJvb2xlYW4gZW5hYmxlKTsKIAotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGb3JjZVBlbmRpbmdXZWJHTFBvbGljeShib29s
ZWFuIGZvcmNlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Rm9yY2VQ
ZW5kaW5nV2ViR0xQb2xpY3koYm9vbGVhbiBmb3JjZWQpOwogCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVu
YWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRZb3VUdWJlRmxhc2hQbHVn
aW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9v
bGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRZb3VU
dWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIAogICAg
IC8vIEVkaXRpbmcsIGZvcm1zCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEVkaXRp
bmdCZWhhdmlvcihET01TdHJpbmcgYmVoYXZpb3IpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRTaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29sZWFuIGNvbnZlcnRQ
b3NpdGlvbik7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFByZWZlck1JTUVUeXBl
Rm9ySW1hZ2VzKGJvb2xlYW4gcHJlZmVyTWltZVR5cGVGb3JJbWFnZSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RWRpdGluZ0JlaGF2aW9yKERPTVN0cmluZyBiZWhhdmlv
cik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkQ29udmVydFBv
c2l0aW9uU3R5bGVPbkNvcHkoYm9vbGVhbiBjb252ZXJ0UG9zaXRpb24pOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2xlYW4g
cHJlZmVyTWltZVR5cGVGb3JJbWFnZSk7CiAKICAgICAvLyBPdGhlciBzd2l0Y2hlcwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sZWFuIGVuYWJs
ZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xp
Y3koRE9NU3RyaW5nIHBvbGljeSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldElt
YWdlc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5KERPTVN0cmluZyBwb2xpY3kpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJl
aGF2aW9yKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNl
dEF1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBh
Z2UoYm9vbGVhbiBoYXNFeHRlbmRlZEJhY2tncm91bmQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBlbmFibGVkKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3Np
dGlvbihib29sZWFuIGFsbG93VW5jbGFtcGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFi
bGUpOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1pbmltdW1UaW1lckludGVy
dmFsKHVucmVzdHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGJvb2xlYW4gYWxs
b3dzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0QWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbihib29sZWFuIGFsbG93cyk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0
cmlidXRlKGJvb2xlYW4gcmVxdWlyZXMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRGcmFtZUZsYXR0ZW5pbmcoRnJhbWVGbGF0dGVuaW5nVmFsdWUgZnJhbWVGbGF0dGVuaW5nKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0SW5jb21wbGV0ZUltYWdlQm9yZGVyRW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRT
aG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihi
b29sZWFuIHNob3VsZERpc3BhdGNoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soYm9vbGVh
biBzaG91bGREaXNwYXRjaCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0
VXNlRGFya0FwcGVhcmFuY2UoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW1hZ2VzRW5hYmxlZChib29s
ZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBERklt
YWdlQ2FjaGluZ1BvbGljeShET01TdHJpbmcgcG9saWN5KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHVuZGVmaW5lZCBzZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9y
KGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0
QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlv
bmRQYWdlKGJvb2xlYW4gaGFzRXh0ZW5kZWRCYWNrZ3JvdW5kKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBl
bmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd1VuY2xh
bXBlZFNjcm9sbFBvc2l0aW9uKGJvb2xlYW4gYWxsb3dVbmNsYW1wZWQpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdF
bmFibGVkKGJvb2xlYW4gZW5hYmxlKTsKKworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldE1pbmltdW1UaW1lckludGVydmFsKHVucmVzdHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJ
blNlY29uZHMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2soYm9vbGVhbiBhbGxvd3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4o
Ym9vbGVhbiBhbGxvd3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2xlYW4gcmVx
dWlyZXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZyYW1lRmxhdHRl
bmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpOworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQoYm9v
bGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91
bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihib29s
ZWFuIHNob3VsZERpc3BhdGNoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhib29s
ZWFuIHNob3VsZERpc3BhdGNoKTsKIAogICAgIC8vIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCi0g
ICAgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAg
IHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0V2Vi
R1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0U2NyZWVuQ2FwdHVyZUVu
YWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEZldGNoQVBJS2VlcEFsaXZlRW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRJbmRleGVkREJXb3JrZXJz
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRXZWJHTDJFbmFibGVk
KGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFdlYkdQVUVuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJv
b2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB1c2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeShET01TdHJpbmcgcG9saWN5KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmlu
ZyBzeXN0ZW1MYXlvdXREaXJlY3Rpb24oKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN5c3RlbUxheW91dERpcmVjdGlvbihET01TdHJp
bmcgZGlyZWN0aW9uKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBkZWZlcnJl
ZENTU1BhcnNlckVuYWJsZWQoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RGVm
ZXJyZWRDU1NQYXJzZXJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0RGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkTW9ja0JvbGRT
eXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShib29sZWFuIHNob3VsZE1vY2spOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFj
Y2Vzc2liaWxpdHkoYm9vbGVhbiBzaG91bGRNb2NrKTsKIAogICAgIGF0dHJpYnV0ZSBGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFs
dWU7CiAgICAgYXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWREaXNwbGF5
SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFs
dWU7CiAgICAgYXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWRTdXBwb3J0
c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShib29sZWFuIHNob3VsZCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNo
b3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2xlYW4gc2hvdWxkKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQo
Ym9vbGVhbiBlbmFibGVkKTsKIAogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnNd
IGJvb2xlYW4gd2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCgpOwogCi0gICAgdm9p
ZCBzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKGJvb2xlYW4gc2hvdWxkRGVhY3RpdmF0
ZSk7CisgICAgdW5kZWZpbmVkIHNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbGVh
biBzaG91bGREZWFjdGl2YXRlKTsKICAgICAKLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElQ
ZXJQYWdlU2NvcGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldFN0
b3JhZ2VBY2Nlc3NBUElQZXJQYWdlU2NvcGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RWRpdGFi
bGVSZWdpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw3ICsyNTgsNyBA
QCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgLy8gTXVzdCBiZSBjYWxsZWQgb24g
YW4gZWxlbWVudCB3aG9zZSBlbmNsb3NpbmdMYXllcigpIGlzIHNlbGYtcGFpbnRpbmcuCiAgICAg
Ym9vbGVhbiBpc1BhaW50aW5nRnJlcXVlbnRseShFbGVtZW50IGVsZW1lbnQpOwotICAgIHZvaWQg
aW5jcmVtZW50RnJlcXVlbnRQYWludENvdW50ZXIoRWxlbWVudCBlbGVtZW50KTsKKyAgICB1bmRl
ZmluZWQgaW5jcmVtZW50RnJlcXVlbnRQYWludENvdW50ZXIoRWxlbWVudCBlbGVtZW50KTsKIAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0
KEVsZW1lbnQgZWxlbWVudCk7CiAgICAgYm9vbGVhbiBpc1ByZWxvYWRlZChET01TdHJpbmcgdXJs
KTsKQEAgLTI2NywxNyArMjY3LDE3IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAg
RE9NU3RyaW5nIHhoclJlc3BvbnNlU291cmNlKFhNTEh0dHBSZXF1ZXN0IHhocik7CiAgICAgYm9v
bGVhbiBpc1NoYXJpbmdTdHlsZVNoZWV0Q29udGVudHMoSFRNTExpbmtFbGVtZW50IGEsIEhUTUxM
aW5rRWxlbWVudCBiKTsKICAgICBib29sZWFuIGlzU3R5bGVTaGVldExvYWRpbmdTdWJyZXNvdXJj
ZXMoSFRNTExpbmtFbGVtZW50IGxpbmspOwotICAgIHZvaWQgY2xlYXJNZW1vcnlDYWNoZSgpOwot
ICAgIHZvaWQgcHJ1bmVNZW1vcnlDYWNoZVRvU2l6ZShsb25nIHNpemUpOwotICAgIHZvaWQgZGVz
dHJveURlY29kZWREYXRhRm9yQWxsSW1hZ2VzKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyTWVtb3J5
Q2FjaGUoKTsKKyAgICB1bmRlZmluZWQgcHJ1bmVNZW1vcnlDYWNoZVRvU2l6ZShsb25nIHNpemUp
OworICAgIHVuZGVmaW5lZCBkZXN0cm95RGVjb2RlZERhdGFGb3JBbGxJbWFnZXMoKTsKICAgICBs
b25nIG1lbW9yeUNhY2hlU2l6ZSgpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShD
YWNoZVBvbGljeSBwb2xpY3kpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVSZXNvdXJjZUxvYWRQcmlv
cml0eShSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSk7Ci0gICAgdm9pZCBzZXRTdHJpY3RS
YXdSZXNvdXJjZVZhbGlkYXRpb25Qb2xpY3lEaXNhYmxlZChib29sZWFuIGRpc2FibGVkKTsKKyAg
ICB1bmRlZmluZWQgc2V0T3ZlcnJpZGVDYWNoZVBvbGljeShDYWNoZVBvbGljeSBwb2xpY3kpOwor
ICAgIHVuZGVmaW5lZCBzZXRPdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5KFJlc291cmNlTG9h
ZFByaW9yaXR5IHByaW9yaXR5KTsKKyAgICB1bmRlZmluZWQgc2V0U3RyaWN0UmF3UmVzb3VyY2VW
YWxpZGF0aW9uUG9saWN5RGlzYWJsZWQoYm9vbGVhbiBkaXNhYmxlZCk7CiAKLSAgICB2b2lkIGNs
ZWFyQmFja0ZvcndhcmRDYWNoZSgpOworICAgIHVuZGVmaW5lZCBjbGVhckJhY2tGb3J3YXJkQ2Fj
aGUoKTsKICAgICB1bnNpZ25lZCBsb25nIGJhY2tGb3J3YXJkQ2FjaGVTaXplKCk7Ci0gICAgdm9p
ZCBwcmV2ZW50RG9jdW1lbnRGcm9tRW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlKCk7CisgICAgdW5k
ZWZpbmVkIHByZXZlbnREb2N1bWVudEZyb21FbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGUoKTsKIAog
ICAgIENTU1N0eWxlRGVjbGFyYXRpb24gY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZv
KEVsZW1lbnQgZWxlbWVudCk7CiAKQEAgLTI5MSw3ICsyOTEsNyBAQCBlbnVtIENvbnRlbnRTaXpl
Q2F0ZWdvcnkgewogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc2hhZG93Um9v
dFR5cGUoTm9kZSByb290KTsKICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCBl
bGVtZW50KTsKLSAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVsZW1lbnQgZWxlbWVudCwgRE9N
U3RyaW5nIGlkKTsKKyAgICB1bmRlZmluZWQgc2V0U2hhZG93UHNldWRvSWQoRWxlbWVudCBlbGVt
ZW50LCBET01TdHJpbmcgaWQpOwogICAgIE5vZGUgdHJlZVNjb3BlUm9vdE5vZGUoTm9kZSBub2Rl
KTsKICAgICBOb2RlIHBhcmVudFRyZWVTY29wZShOb2RlIG5vZGUpOwogCkBAIC0zMDMsOCArMzAz
LDggQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICAvLyBDU1MgQW5pbWF0aW9uIHRl
c3RpbmcuCiAgICAgYm9vbGVhbiBhbmltYXRpb25XaXRoSWRFeGlzdHMoRE9NU3RyaW5nIGlkKTsK
ICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzdXNwZW5kQW5pbWF0aW9ucygpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCByZXN1bWVBbmltYXRpb25zKCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCByZXN1bWVBbmltYXRpb25zKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBi
b29sZWFuIGFuaW1hdGlvbnNBcmVTdXNwZW5kZWQoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IGJvb2xlYW4gcGF1c2VBbmltYXRpb25BdFRpbWVPbkVsZW1lbnQoRE9NU3RyaW5nIGFuaW1hdGlv
bk5hbWUsIHVucmVzdHJpY3RlZCBkb3VibGUgcGF1c2VUaW1lLCBFbGVtZW50IGVsZW1lbnQpOwog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBwYXVzZUFuaW1hdGlvbkF0VGltZU9uUHNl
dWRvRWxlbWVudChET01TdHJpbmcgYW5pbWF0aW9uTmFtZSwgdW5yZXN0cmljdGVkIGRvdWJsZSBw
YXVzZVRpbWUsIEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIHBzZXVkb0lkKTsKQEAgLTMyMyw5
ICszMjMsOSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gRWxlbWVudD8gcHNldWRvRWxlbWVudChFbGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyBw
c2V1ZG9JZCk7CiAKICAgICBET01TdHJpbmcgdmlzaWJsZVBsYWNlaG9sZGVyKEVsZW1lbnQgZWxl
bWVudCk7Ci0gICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1l
bnQgZWxlbWVudCwgRE9NU3RyaW5nIGNvbG9yVmFsdWUpOworICAgIHVuZGVmaW5lZCBzZWxlY3RD
b2xvckluQ29sb3JDaG9vc2VyKEhUTUxJbnB1dEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIGNv
bG9yVmFsdWUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2VxdWVuY2U8RE9NU3RyaW5nPiBm
b3JtQ29udHJvbFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKCk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oc2Vx
dWVuY2U8RE9NU3RyaW5nPiB2YWx1ZXMpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9N
U3RyaW5nPiB2YWx1ZXMpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0IGFic29s
dXRlQ2FyZXRCb3VuZHMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gaXNDYXJl
dEJsaW5raW5nU3VzcGVuZGVkKCk7CkBAIC0zMzgsNDQgKzMzOCw0NCBAQCBlbnVtIENvbnRlbnRT
aXplQ2F0ZWdvcnkgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gUmFuZ2U/IG1hcmtlclJhbmdl
Rm9yTm9kZShOb2RlIG5vZGUsIERPTVN0cmluZyBtYXJrZXJUeXBlLCB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBtYXJrZXJEZXNjcmlwdGlv
bkZvck5vZGUoTm9kZSBub2RlLCBET01TdHJpbmcgbWFya2VyVHlwZSwgdW5zaWduZWQgbG9uZyBp
bmRleCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgZHVtcE1hcmtlclJlY3Rz
KERPTVN0cmluZyBtYXJrZXJUeXBlKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
TWFya2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZChib29sZWFuIGZsYWcpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1hcmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0
ZWQoYm9vbGVhbiBmbGFnKTsKIAotICAgIHZvaWQgaW52YWxpZGF0ZUZvbnRDYWNoZSgpOwotICAg
IHZvaWQgc2V0Rm9udFNtb290aGluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRl
ZmluZWQgaW52YWxpZGF0ZUZvbnRDYWNoZSgpOworICAgIHVuZGVmaW5lZCBzZXRGb250U21vb3Ro
aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2
b2lkIHNldFNjcm9sbFZpZXdQb3NpdGlvbihsb25nIHgsIGxvbmcgeSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2Nyb2xsVmlld1Bvc2l0aW9uKGxvbmcgeCwgbG9uZyB5
KTsKIAogICAgIC8vIExpa2UgRWxlbWVudC5zY3JvbGxUbygpLCBidXQgd2l0aG91dCBjb25zdGFp
bnRzLCBmb3IgdGVzdGluZyBydWJiZXItYmFuZGluZy4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgdW5jb25zdHJhaW5lZFNjcm9sbFRvKEVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVk
IGRvdWJsZSB4LCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHVuY29uc3RyYWluZWRTY3JvbGxUbyhFbGVtZW50IGVsZW1lbnQsIHVucmVz
dHJpY3RlZCBkb3VibGUgeCwgdW5yZXN0cmljdGVkIGRvdWJsZSB5KTsKIAogICAgIC8vIFNjcm9s
bHMgdGhlIGVsZW1lbnQgYnkgdGhlIGdpdmVuIGRlbHRhLCBhcHByb3hpbWF0aW5nIHRoZSBhc3lu
YyB3aGVlbCBldmVudCBoYW5kbGluZyBjb2RlIHBhdGggd2hlcmUgYXZhaWxhYmxlLgotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzY3JvbGxCeVNpbXVsYXRpbmdXaGVlbEV2ZW50KEVsZW1l
bnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGRvdWJsZSBkZWx0YVgsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgZGVsdGFZKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzY3JvbGxCeVNp
bXVsYXRpbmdXaGVlbEV2ZW50KEVsZW1lbnQgZWxlbWVudCwgdW5yZXN0cmljdGVkIGRvdWJsZSBk
ZWx0YVgsIHVucmVzdHJpY3RlZCBkb3VibGUgZGVsdGFZKTsKIAogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gRE9NUmVjdCBsYXlvdXRWaWV3cG9ydFJlY3QoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVJlY3QgdmlzdWFsVmlld3BvcnRSZWN0KCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc2V0Vmlld0lzVHJhbnNwYXJlbnQoYm9vbGVhbiB0cm5hc3BhcmVudCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Vmlld0lzVHJhbnNwYXJlbnQoYm9vbGVh
biB0cm5hc3BhcmVudCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB2aWV3
QmFzZUJhY2tncm91bmRDb2xvcigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRW
aWV3QmFzZUJhY2tncm91bmRDb2xvcihET01TdHJpbmcgY29sb3JWYWx1ZSk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Vmlld0Jhc2VCYWNrZ3JvdW5kQ29sb3IoRE9NU3Ry
aW5nIGNvbG9yVmFsdWUpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFBhZ2lu
YXRpb24oRE9NU3RyaW5nIG1vZGUsIGxvbmcgZ2FwLCBvcHRpb25hbCBsb25nIHBhZ2VMZW5ndGgg
PSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UGFnaW5hdGlvbkxpbmVHcmlk
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFBhZ2luYXRpb24oRE9NU3RyaW5nIG1vZGUsIGxvbmcgZ2FwLCBvcHRpb25hbCBsb25n
IHBhZ2VMZW5ndGggPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQ
YWdpbmF0aW9uTGluZUdyaWRFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIERPTVN0cmluZyBjb25maWd1cmF0aW9uRm9yVmlld3BvcnQodW5yZXN0cmlj
dGVkIGZsb2F0IGRldmljZVBpeGVsUmF0aW8sIGxvbmcgZGV2aWNlV2lkdGgsIGxvbmcgZGV2aWNl
SGVpZ2h0LCBsb25nIGF2YWlsYWJsZVdpZHRoLCBsb25nIGF2YWlsYWJsZUhlaWdodCk7CiAKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1l
bnQgdGV4dEZpZWxkKTsKICAgICBib29sZWFuIGVsZW1lbnRTaG91bGRBdXRvQ29tcGxldGUoSFRN
TElucHV0RWxlbWVudCBpbnB1dEVsZW1lbnQpOwotICAgIHZvaWQgc2V0QXV0b2ZpbGxlZChIVE1M
SW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNl
dEF1dG9GaWxsZWRBbmRWaWV3YWJsZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9v
bGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldFNob3dBdXRvRmlsbEJ1dHRvbihIVE1MSW5wdXRF
bGVtZW50IGlucHV0RWxlbWVudCwgQXV0b0ZpbGxCdXR0b25UeXBlIGF1dG9GaWxsQnV0dG9uVHlw
ZSk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9maWxsZWQoSFRNTElucHV0RWxlbWVudCBpbnB1dEVs
ZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9GaWxsZWRBbmRW
aWV3YWJsZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsK
KyAgICB1bmRlZmluZWQgc2V0U2hvd0F1dG9GaWxsQnV0dG9uKEhUTUxJbnB1dEVsZW1lbnQgaW5w
dXRFbGVtZW50LCBBdXRvRmlsbEJ1dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25UeXBlKTsKICAgICBB
dXRvRmlsbEJ1dHRvblR5cGUgYXV0b0ZpbGxCdXR0b25UeXBlKEhUTUxJbnB1dEVsZW1lbnQgaW5w
dXRFbGVtZW50KTsKICAgICBBdXRvRmlsbEJ1dHRvblR5cGUgbGFzdEF1dG9GaWxsQnV0dG9uVHlw
ZShIVE1MSW5wdXRFbGVtZW50IGlucHV0RWxlbWVudCk7CiAKLSAgICB2b2lkIHNldENhblNob3dQ
bGFjZWhvbGRlcihFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gY2FuU2hvd1BsYWNlaG9sZGVyKTsK
KyAgICB1bmRlZmluZWQgc2V0Q2FuU2hvd1BsYWNlaG9sZGVyKEVsZW1lbnQgZWxlbWVudCwgYm9v
bGVhbiBjYW5TaG93UGxhY2Vob2xkZXIpOwogCiAgICAgRWxlbWVudCBpbnNlcnRUZXh0UGxhY2Vo
b2xkZXIobG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwotICAgIHZvaWQgcmVtb3ZlVGV4dFBsYWNl
aG9sZGVyKEVsZW1lbnQgZWxlbWVudCk7CisgICAgdW5kZWZpbmVkIHJlbW92ZVRleHRQbGFjZWhv
bGRlcihFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBSYW5nZT8g
cmFuZ2VPZlN0cmluZyhET01TdHJpbmcgdGV4dCwgUmFuZ2U/IHJlZmVyZW5jZVJhbmdlLCBzZXF1
ZW5jZTxET01TdHJpbmc+IGZpbmRPcHRpb25zKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
c2lnbmVkIGxvbmcgY291bnRNYXRjaGVzRm9yVGV4dChET01TdHJpbmcgdGV4dCwgc2VxdWVuY2U8
RE9NU3RyaW5nPiBmaW5kT3B0aW9ucywgRE9NU3RyaW5nIG1hcmtNYXRjaGVzKTsKQEAgLTM4Myw5
ICszODMsOSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBET01TdHJpbmcgYXV0b2ZpbGxGaWVsZE5hbWUoRWxlbWVudCBmb3JtQ29udHJvbEVs
ZW1lbnQpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGludmFsaWRhdGVDb250cm9s
VGludHMoKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBpbnZhbGlkYXRlQ29u
dHJvbFRpbnRzKCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2Nyb2xsRWxlbWVu
dFRvUmVjdChFbGVtZW50IGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2Nyb2xsRWxlbWVudFRvUmVjdChF
bGVtZW50IGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCk7CiAKICAgICBS
YW5nZT8gcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCBzY29wZSwgdW5zaWduZWQg
bG9uZyByYW5nZUxvY2F0aW9uLCB1bnNpZ25lZCBsb25nIHJhbmdlTGVuZ3RoKTsKICAgICB1bnNp
Z25lZCBsb25nIGxvY2F0aW9uRnJvbVJhbmdlKEVsZW1lbnQgc2NvcGUsIFJhbmdlIHJhbmdlKTsK
QEAgLTM5NiwxNyArMzk2LDE3IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSBSYW5nZT8gcmFuZ2VGb3JEaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlv
bihsb25nIHgsIGxvbmcgeSk7CiAgICAgUmFuZ2U/IHJhbmdlT2ZTdHJpbmdOZWFyTG9jYXRpb24o
UmFuZ2UgcmFuZ2UsIERPTVN0cmluZyB0ZXh0LCBsb25nIHRhcmdldE9mZnNldCk7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RGVsZWdhdGVzU2Nyb2xsaW5nKGJvb2xlYW4gZW5h
YmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RGVsZWdhdGVzU2Ny
b2xsaW5nKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2ln
bmVkIGxvbmcgbG9uZyBsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZSgpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBsb25nIGxhc3RTcGVsbENoZWNrUHJvY2Vzc2Vk
U2VxdWVuY2UoKTsKLSAgICB2b2lkIGFkdmFuY2VUb05leHRNaXNzcGVsbGluZygpOworICAgIHVu
ZGVmaW5lZCBhZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsKIAogICAgIHNlcXVlbmNlPERPTVN0
cmluZz4gdXNlclByZWZlcnJlZExhbmd1YWdlcygpOwotICAgIHZvaWQgc2V0VXNlclByZWZlcnJl
ZExhbmd1YWdlcyhzZXF1ZW5jZTxET01TdHJpbmc+IGxhbmd1YWdlcyk7CisgICAgdW5kZWZpbmVk
IHNldFVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoc2VxdWVuY2U8RE9NU3RyaW5nPiBsYW5ndWFnZXMp
OwogCiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiB1c2VyUHJlZmVycmVkQXVkaW9DaGFyYWN0ZXJp
c3RpY3MoKTsKLSAgICB2b2lkIHNldFVzZXJQcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljKERP
TVN0cmluZyBjaGFyYWN0ZXJpc3RpYyk7CisgICAgdW5kZWZpbmVkIHNldFVzZXJQcmVmZXJyZWRB
dWRpb0NoYXJhY3RlcmlzdGljKERPTVN0cmluZyBjaGFyYWN0ZXJpc3RpYyk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgd2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyB0b3VjaEV2ZW50SGFuZGxlckNv
dW50KCk7CkBAIC00MjEsMjYgKzQyMSwyNiBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewog
ICAgIC8vIENhbGxpbmcgcGFyc2VyTWV0YURhdGEoKSB3aXRoIG5vIGFyZ3VtZW50cyBnZXRzIHRo
ZSBtZXRhZGF0YSBmb3IgdGhlIHNjcmlwdCBvZiB0aGUgY3VycmVudCBzY29wZS4KICAgICBET01T
dHJpbmcgcGFyc2VyTWV0YURhdGEob3B0aW9uYWwgYW55IGZ1bmMpOwogCi0gICAgdm9pZCB1cGRh
dGVFZGl0b3JVSU5vd0lmU2NoZWR1bGVkKCk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZUVkaXRvclVJ
Tm93SWZTY2hlZHVsZWQoKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHNlbnRl
bmNlUmV0cm9Db3JyZWN0aW9uRW5hYmxlZDsKICAgICBib29sZWFuIGhhc1NwZWxsaW5nTWFya2Vy
KGxvbmcgZnJvbSwgbG9uZyBsZW5ndGgpOwogICAgIGJvb2xlYW4gaGFzR3JhbW1hck1hcmtlcihs
b25nIGZyb20sIGxvbmcgbGVuZ3RoKTsKICAgICBib29sZWFuIGhhc0F1dG9jb3JyZWN0ZWRNYXJr
ZXIobG9uZyBmcm9tLCBsb25nIGxlbmd0aCk7CiAgICAgYm9vbGVhbiBoYXNEaWN0YXRpb25BbHRl
cm5hdGl2ZXNNYXJrZXIobG9uZyBmcm9tLCBsb25nIGxlbmd0aCk7Ci0gICAgdm9pZCBzZXRDb250
aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNl
dEF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAg
IHZvaWQgc2V0QXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
LSAgICB2b2lkIHNldEF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7Ci0gICAgdm9pZCBzZXRBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFi
bGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0KLSAgICB2b2lkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRl
KERPTVN0cmluZyBjYW5kaWRhdGUsIHVuc2lnbmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxv
bmcgbGVuZ3RoKTsKLSAgICB2b2lkIGNoYW5nZVNlbGVjdGlvbkxpc3RUeXBlKCk7Ci0gICAgdm9p
ZCBjaGFuZ2VCYWNrVG9SZXBsYWNlZFN0cmluZyhET01TdHJpbmcgcmVwbGFjZWRTdHJpbmcpOwor
ICAgIHVuZGVmaW5lZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbGVhbiBl
bmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0QXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFi
bGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9tYXRpY0xpbmtEZXRl
Y3Rpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldEF1dG9tYXRp
Y0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVk
IHNldEF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAg
ICB1bmRlZmluZWQgc2V0QXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOworCisgICAgdW5kZWZpbmVkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKERPTVN0
cmluZyBjYW5kaWRhdGUsIHVuc2lnbmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoKTsKKyAgICB1bmRlZmluZWQgY2hhbmdlU2VsZWN0aW9uTGlzdFR5cGUoKTsKKyAgICB1bmRl
ZmluZWQgY2hhbmdlQmFja1RvUmVwbGFjZWRTdHJpbmcoRE9NU3RyaW5nIHJlcGxhY2VkU3RyaW5n
KTsKIAogICAgIGJvb2xlYW4gaXNPdmVyd3JpdGVNb2RlRW5hYmxlZCgpOwotICAgIHZvaWQgdG9n
Z2xlT3ZlcndyaXRlTW9kZUVuYWJsZWQoKTsKKyAgICB1bmRlZmluZWQgdG9nZ2xlT3ZlcndyaXRl
TW9kZUVuYWJsZWQoKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY3JvbGxhYmxlQXJl
YXMoKTsKIApAQCAtNDQ5LDE3ICs0NDksMTcgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsK
ICAgICB1bnNpZ25lZCBsb25nIGltYWdlRnJhbWVJbmRleChIVE1MSW1hZ2VFbGVtZW50IGVsZW1l
bnQpOwogICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VGcmFtZUNvdW50KEhUTUxJbWFnZUVsZW1lbnQg
ZWxlbWVudCk7CiAgICAgZmxvYXQgaW1hZ2VGcmFtZUR1cmF0aW9uQXRJbmRleChIVE1MSW1hZ2VF
bGVtZW50IGVsZW1lbnQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgc2V0SW1hZ2VG
cmFtZURlY29kaW5nRHVyYXRpb24oSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCB1bnJlc3RyaWN0
ZWQgZmxvYXQgZHVyYXRpb24pOwotICAgIHZvaWQgcmVzZXRJbWFnZUFuaW1hdGlvbihIVE1MSW1h
Z2VFbGVtZW50IGVsZW1lbnQpOworICAgIHVuZGVmaW5lZCBzZXRJbWFnZUZyYW1lRGVjb2RpbmdE
dXJhdGlvbihIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQsIHVucmVzdHJpY3RlZCBmbG9hdCBkdXJh
dGlvbik7CisgICAgdW5kZWZpbmVkIHJlc2V0SW1hZ2VBbmltYXRpb24oSFRNTEltYWdlRWxlbWVu
dCBlbGVtZW50KTsKICAgICBib29sZWFuIGlzSW1hZ2VBbmltYXRpbmcoSFRNTEltYWdlRWxlbWVu
dCBlbGVtZW50KTsKICAgICB1bnNpZ25lZCBsb25nIGltYWdlUGVuZGluZ0RlY29kZVByb21pc2Vz
Q291bnRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBzZXRD
bGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVt
ZW50IGVsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZpbmVkIHNldENsZWFyRGVj
b2RlckFmdGVyQXN5bmNGcmFtZVJlcXVlc3RGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxl
bWVudCwgYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bnNpZ25lZCBsb25nIGltYWdlRGVjb2RlQ291
bnQoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKICAgICB1bnNpZ25lZCBsb25nIHBkZkRvY3Vt
ZW50Q2FjaGluZ0NvdW50KEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCk7Ci0gICAgdm9pZCBzZXRM
YXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQg
ZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldEZvcmNlVXBkYXRlSW1hZ2VE
YXRhRW5hYmxlZEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVu
YWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRG
b3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKKyAg
ICB1bmRlZmluZWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVzdGluZyhIVE1M
SW1hZ2VFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2b2lkIHNldEdy
aWRNYXhUcmFja3NMaW1pdCh1bnNpZ25lZCBsb25nIG1heFRyYWNrc0xpbWl0KTsKKyAgICB1bmRl
ZmluZWQgc2V0R3JpZE1heFRyYWNrc0xpbWl0KHVuc2lnbmVkIGxvbmcgbWF4VHJhY2tzTGltaXQp
OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEludGVybmFsU2V0dGluZ3Mgc2V0dGluZ3M7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd29ya2VyVGhyZWFkQ291bnQ7CkBA
IC00OTgsOCArNDk4LDggQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIERPTVN0cmluZyByZXBhaW50UmVjdHNBc1RleHQoKTsKIAogICAgIC8vIFRo
ZXNlIHRocm93IGlmIHRoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYSBjb21wb3NpdGluZyBsYXll
ci4KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0RWxlbWVudFVzZXNEaXNwbGF5TGlz
dERyYXdpbmcoRWxlbWVudCBlbGVtZW50LCBib29sZWFuIHVzZXNEaXNwbGF5TGlzdERyYXdpbmcp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRFbGVtZW50VHJhY2tzRGlzcGxheUxp
c3RSZXBsYXkoRWxlbWVudCBlbGVtZW50LCBib29sZWFuIHRyYWNrUmVwbGF5KTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFbGVtZW50VXNlc0Rpc3BsYXlMaXN0RHJhd2lu
ZyhFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gdXNlc0Rpc3BsYXlMaXN0RHJhd2luZyk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RWxlbWVudFRyYWNrc0Rpc3BsYXlMaXN0
UmVwbGF5KEVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiB0cmFja1JlcGxheSk7CiAKICAgICAvLyBG
bGFncyBmb3IgZGlzcGxheUxpc3RGb3JFbGVtZW50LgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IERJU1BMQVlfTElTVF9JTkNMVURFU19QTEFURk9STV9PUEVSQVRJT05TID0gMTsKQEAgLTUwOCwx
NCArNTA4LDE0IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgLy8gUmV0dXJucyB0
aGUgZGlzcGxheSBsaXN0IHRoYXQgd2FzIGFjdHVhbGx5IHBhaW50ZWQuCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBET01TdHJpbmcgcmVwbGF5RGlzcGxheUxpc3RGb3JFbGVtZW50KEVsZW1lbnQg
ZWxlbWVudCwgb3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7Cisg
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJl
c291cmNlcygpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGluc2VydEF1dGhvckNT
UyhET01TdHJpbmcgY3NzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW5zZXJ0VXNl
ckNTUyhET01TdHJpbmcgY3NzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBp
bnNlcnRBdXRob3JDU1MoRE9NU3RyaW5nIGNzcyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgaW5zZXJ0VXNlckNTUyhET01TdHJpbmcgY3NzKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIGlzVW5kZXJNZW1vcnlQcmVzc3VyZTsKLSAgICB2b2lkIGJlZ2luU2lt
dWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKLSAgICB2b2lkIGVuZFNpbXVsYXRlZE1lbW9yeVByZXNz
dXJlKCk7CisgICAgdW5kZWZpbmVkIGJlZ2luU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKKyAg
ICB1bmRlZmluZWQgZW5kU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKIAogICAgIFtDb25kaXRp
b25hbD1JTkRFWEVEX0RBVEFCQVNFXSB1bnNpZ25lZCBsb25nIG51bWJlck9mSURCVHJhbnNhY3Rp
b25zKCk7CiAKQEAgLTUyNCw4ICs1MjQsOCBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewog
ICAgIHVuc2lnbmVkIGxvbmcgcmVmZXJlbmNpbmdOb2RlQ291bnQoRG9jdW1lbnQgZG9jdW1lbnQp
OwogICAgIFtDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JTRVJWRVJdIHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZJbnRlcnNlY3Rpb25PYnNlcnZlcnMoRG9jdW1lbnQgZG9jdW1lbnQpOwogICAgIFdp
bmRvd1Byb3h5PyBvcGVuRHVtbXlJbnNwZWN0b3JGcm9udGVuZChET01TdHJpbmcgdXJsKTsKLSAg
ICB2b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0KTsK
KyAgICB1bmRlZmluZWQgY2xvc2VEdW1teUluc3BlY3RvckZyb250ZW5kKCk7CisgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW5zcGVjdG9ySXNVbmRlclRlc3QoYm9vbGVhbiBp
c1VuZGVyVGVzdCk7CiAKICAgICBET01TdHJpbmcgY291bnRlclZhbHVlKEVsZW1lbnQgZWxlbWVu
dCk7CiAgICAgbG9uZyBwYWdlTnVtYmVyKEVsZW1lbnQgZWxlbWVudCwgb3B0aW9uYWwgdW5yZXN0
cmljdGVkIGZsb2F0IHBhZ2VXaWR0aCA9IDgwMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IHBhZ2VIZWlnaHQgPSA2MDApOwpAQCAtNTM0LDQxICs1MzQsNDEgQEAgZW51bSBDb250ZW50U2l6
ZUNhdGVnb3J5IHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBwYWdlUHJvcGVy
dHkoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgbG9uZyBwYWdlTnVtYmVyKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIERPTVN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhsb25nIHBh
Z2VJbmRleCwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQsIGxvbmcgbWFyZ2luVG9wLCBsb25nIG1h
cmdpblJpZ2h0LCBsb25nIG1hcmdpbkJvdHRvbSwgbG9uZyBtYXJnaW5MZWZ0KTsKIAotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRQYWdlU2NhbGVGYWN0b3IodW5yZXN0cmljdGVkIGZs
b2F0IHNjYWxlRmFjdG9yLCBsb25nIHgsIGxvbmcgeSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0UGFnZVNjYWxlRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCBzY2FsZUZh
Y3RvciwgbG9uZyB4LCBsb25nIHkpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZmxvYXQgcGFn
ZVNjYWxlRmFjdG9yKCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UGFnZVpv
b21GYWN0b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb21GYWN0b3IpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRUZXh0Wm9vbUZhY3Rvcih1bnJlc3RyaWN0ZWQgZmxvYXQgem9vbUZh
Y3Rvcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UGFnZVpvb21GYWN0
b3IodW5yZXN0cmljdGVkIGZsb2F0IHpvb21GYWN0b3IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFRleHRab29tRmFjdG9yKHVucmVzdHJpY3RlZCBmbG9hdCB6b29tRmFj
dG9yKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRVc2VGaXhlZExheW91dChi
b29sZWFuIHVzZUZpeGVkTGF5b3V0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
Rml4ZWRMYXlvdXRTaXplKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKLSAgICB2b2lkIHNldFBy
aW50aW5nKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRVc2VGaXhlZExheW91dChib29sZWFuIHVzZUZpeGVkTGF5b3V0KTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRGaXhlZExheW91dFNpemUobG9uZyB3
aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzZXRQcmludGluZyhsb25nIHdpZHRo
LCBsb25nIGhlaWdodCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Vmlld0V4
cG9zZWRSZWN0KHVucmVzdHJpY3RlZCBmbG9hdCB4LCB1bnJlc3RyaWN0ZWQgZmxvYXQgeSwgdW5y
ZXN0cmljdGVkIGZsb2F0IHdpZHRoLCB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0KTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRWaWV3RXhwb3NlZFJlY3QodW5yZXN0cmlj
dGVkIGZsb2F0IHgsIHVucmVzdHJpY3RlZCBmbG9hdCB5LCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2lk
dGgsIHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRIZWFkZXJIZWln
aHQodW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCk7Ci0gICAgdm9pZCBzZXRGb290ZXJIZWlnaHQo
dW5yZXN0cmljdGVkIGZsb2F0IGhlaWdodCk7CisgICAgdW5kZWZpbmVkIHNldEhlYWRlckhlaWdo
dCh1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0KTsKKyAgICB1bmRlZmluZWQgc2V0Rm9vdGVySGVp
Z2h0KHVucmVzdHJpY3RlZCBmbG9hdCBoZWlnaHQpOwogCi0gICAgdm9pZCBzZXRUb3BDb250ZW50
SW5zZXQodW5yZXN0cmljdGVkIGZsb2F0IGNvbnRlbnRJbnNldCk7CisgICAgdW5kZWZpbmVkIHNl
dFRvcENvbnRlbnRJbnNldCh1bnJlc3RyaWN0ZWQgZmxvYXQgY29udGVudEluc2V0KTsKIAotICAg
IFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gdm9pZCB3ZWJraXRXaWxsRW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50IGVsZW1lbnQpOwotICAgIFtDb25kaXRpb25hbD1GVUxMU0NS
RUVOX0FQSV0gdm9pZCB3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQg
ZWxlbWVudCk7Ci0gICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB2b2lkIHdlYmtpdFdp
bGxFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVtZW50KTsKLSAgICBbQ29uZGl0
aW9uYWw9RlVMTFNDUkVFTl9BUEldIHZvaWQgd2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVt
ZW50KEVsZW1lbnQgZWxlbWVudCk7CisgICAgW0NvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB1
bmRlZmluZWQgd2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCBlbGVt
ZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIHVuZGVmaW5lZCB3ZWJraXRE
aWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQgZWxlbWVudCk7CisgICAgW0NvbmRp
dGlvbmFsPUZVTExTQ1JFRU5fQVBJXSB1bmRlZmluZWQgd2Via2l0V2lsbEV4aXRGdWxsU2NyZWVu
Rm9yRWxlbWVudChFbGVtZW50IGVsZW1lbnQpOworICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVO
X0FQSV0gdW5kZWZpbmVkIHdlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50
IGVsZW1lbnQpOwogICAgIFtDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNBbmltYXRpbmdGdWxsU2NyZWVuOwogCi0gICAgdm9pZCBzZXRGdWxs
c2NyZWVuSW5zZXRzKEZ1bGxzY3JlZW5JbnNldHMgaW5zZXRzKTsKLSAgICB2b2lkIHNldEZ1bGxz
Y3JlZW5BdXRvSGlkZUR1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbik7Ci0gICAgdm9pZCBzZXRGdWxs
c2NyZWVuQ29udHJvbHNIaWRkZW4oYm9vbGVhbiBoaWRkZW4pOworICAgIHVuZGVmaW5lZCBzZXRG
dWxsc2NyZWVuSW5zZXRzKEZ1bGxzY3JlZW5JbnNldHMgaW5zZXRzKTsKKyAgICB1bmRlZmluZWQg
c2V0RnVsbHNjcmVlbkF1dG9IaWRlRHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKTsKKyAgICB1bmRl
ZmluZWQgc2V0RnVsbHNjcmVlbkNvbnRyb2xzSGlkZGVuKGJvb2xlYW4gaGlkZGVuKTsKIAotICAg
IFtDb25kaXRpb25hbD1WSURFT19QUkVTRU5UQVRJT05fTU9ERV0gdm9pZCBzZXRNb2NrVmlkZW9Q
cmVzZW50YXRpb25Nb2RlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRpb25h
bD1WSURFT19QUkVTRU5UQVRJT05fTU9ERV0gdW5kZWZpbmVkIHNldE1vY2tWaWRlb1ByZXNlbnRh
dGlvbk1vZGVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2b2lkIHNldEFwcGxpY2F0
aW9uQ2FjaGVPcmlnaW5RdW90YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpOworICAgIHVuZGVm
aW5lZCBzZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEodW5zaWduZWQgbG9uZyBsb25nIHF1
b3RhKTsKIAotICAgIHZvaWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShET01TdHJpbmcgc2NoZW1lKTsKLSAgICB2b2lkIHJlbW92ZVVSTFNjaGVtZVJl
Z2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShET01TdHJpbmcgc2NoZW1l
KTsKKyAgICB1bmRlZmluZWQgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1
cml0eVBvbGljeShET01TdHJpbmcgc2NoZW1lKTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlVVJMU2No
ZW1lUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KERPTVN0cmluZyBz
Y2hlbWUpOwogCi0gICAgdm9pZCByZWdpc3RlckRlZmF1bHRQb3J0Rm9yUHJvdG9jb2wodW5zaWdu
ZWQgc2hvcnQgcG9ydCwgRE9NU3RyaW5nIHNjaGVtZSk7CisgICAgdW5kZWZpbmVkIHJlZ2lzdGVy
RGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1bnNpZ25lZCBzaG9ydCBwb3J0LCBET01TdHJpbmcgc2No
ZW1lKTsKIAogICAgIE1hbGxvY1N0YXRpc3RpY3MgbWFsbG9jU3RhdGlzdGljcygpOwogICAgIFR5
cGVDb252ZXJzaW9ucyB0eXBlQ29udmVyc2lvbnMoKTsKQEAgLTU3OCwxMCArNTc4LDEwIEBAIGVu
dW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYm90aCBy
ZXNldCB0aGUgdHJhY2tlZCByZXBhaW50IHJlY3RzLiBUaGV5IGFyZSBpbnRlbmRlZCB0byBiZSB1
c2VkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CiAgICAgLy8gIHN0YXJ0VHJhY2tpbmdSZXBhaW50
cywgcmVwYWludFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50cy4KLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc3RvcFRyYWNraW5nUmVwYWludHMoKTsKIAotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzdGFydFRyYWNraW5nTGF5ZXJGbHVzaGVzKCk7CisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc3RhcnRUcmFja2luZ0xheWVyRmx1c2hlcygpOwog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBsYXllckZsdXNoQ291bnQoKTsK
IAogICAgIC8vIFF1ZXJ5IGlmIGEgdGltZXIgaXMgY3VycmVudGx5IHRocm90dGxlZCwgdG8gZGVi
dWcgdGltZXIgdGhyb3R0bGluZy4KQEAgLTU5MCwzMiArNTkwLDMyIEBAIGVudW0gQ29udGVudFNp
emVDYXRlZ29yeSB7CiAgICAgRE9NU3RyaW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZVRocm90dGxp
bmdSZWFzb25zKCk7CiAgICAgYm9vbGVhbiBhcmVUaW1lcnNUaHJvdHRsZWQoKTsKIAotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRMb3dQb3dlck1vZGVFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE91dHNpZGVWaWV3cG9ydFRo
cm90dGxpbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0TG93UG93ZXJNb2RlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE91dHNpZGVWaWV3cG9ydFRocm90dGxp
bmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJbnRlcnZhbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBzY3JpcHRlZEFuaW1hdGlvbnNBcmVTdXNwZW5kZWQ7CiAKICAgICAvLyBPdmVycmlk
ZSB0aGUgYmVoYXZpb3Igb2YgV2ViUGFnZTo6ZXZlbnRUaHJvdHRsaW5nRGVsYXkoKSwgd2hpY2gg
b25seSBhZmZlY3RzIGlPUy4KICAgICBhdHRyaWJ1dGUgRXZlbnRUaHJvdHRsaW5nQmVoYXZpb3I/
IGV2ZW50VGhyb3R0bGluZ0JlaGF2aW9yT3ZlcnJpZGU7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc3RhcnRUcmFja2luZ1N0eWxlUmVjYWxjcygpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHN0YXJ0VHJhY2tpbmdTdHlsZVJlY2FsY3MoKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgc3R5bGVSZWNhbGNDb3VudCgpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxhc3RTdHlsZVVwZGF0ZVNpemU7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3RhcnRUcmFja2luZ0NvbXBvc2l0aW5nVXBkYXRlcygp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHN0YXJ0VHJhY2tpbmdDb21wb3Np
dGluZ1VwZGF0ZXMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgY29t
cG9zaXRpbmdVcGRhdGVDb3VudCgpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHN0
YXJ0VHJhY2tpbmdSZW5kZXJpbmdVcGRhdGVzKCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc3RhcnRUcmFja2luZ1JlbmRlcmluZ1VwZGF0ZXMoKTsKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgcmVuZGVyaW5nVXBkYXRlQ291bnQoKTsKIAogICAgIGF0
dHJpYnV0ZSBDb21wb3NpdGluZ1BvbGljeT8gY29tcG9zaXRpbmdQb2xpY3lPdmVycmlkZTsKIAot
ICAgIHZvaWQgdXBkYXRlTGF5b3V0QW5kU3R5bGVGb3JBbGxGcmFtZXMoKTsKKyAgICB1bmRlZmlu
ZWQgdXBkYXRlTGF5b3V0QW5kU3R5bGVGb3JBbGxGcmFtZXMoKTsKIAogICAgIC8vIHxub2RlfCBz
aG91bGQgYmUgRG9jdW1lbnQsIEhUTUxJRnJhbWVFbGVtZW50LCBvciB1bnNwZWNpZmllZC4KICAg
ICAvLyBJZiB8bm9kZXwgaXMgYW4gSFRNTElGcmFtZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5j
b250ZW50RG9jdW1lbnQgaXMKICAgICAvLyBzcGVjaWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVj
a3MuIFVuc3BlY2lmaWVkIG9yIG51bGwgbWVhbnMgdGhpcyBkb2N1bWVudC4KLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5k
UnVuUG9zdExheW91dFRhc2tzKG9wdGlvbmFsIE5vZGU/IG5vZGUgPSBudWxsKTsKKyAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3Mob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwpOwog
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGF5b3V0Q291bnQ7CiAKQEAg
LTYzMiw0MCArNjMyLDQwIEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgYm9vbGVh
biBpc0Zyb21DdXJyZW50V29ybGQoYW55IG9iaik7CiAgICAgYW55IGV2YWx1YXRlSW5Xb3JsZEln
bm9yaW5nRXhjZXB0aW9uKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgc291cmNlKTsKIAotICAg
IHZvaWQgc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9p
ZCBzZXRVc2VzTW9ja1Njcm9sbEFuaW1hdG9yKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgdW5kZWZp
bmVkIHNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyhib29sZWFuIGVuYWJsZWQpOworICAgIHVuZGVm
aW5lZCBzZXRVc2VzTW9ja1Njcm9sbEFuaW1hdG9yKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB2
b2lkIGZvcmNlUmVsb2FkKGJvb2xlYW4gZW5kVG9FbmQpOwotICAgIHZvaWQgcmVsb2FkRXhwaXJl
ZE9ubHkoKTsKKyAgICB1bmRlZmluZWQgZm9yY2VSZWxvYWQoYm9vbGVhbiBlbmRUb0VuZCk7Cisg
ICAgdW5kZWZpbmVkIHJlbG9hZEV4cGlyZWRPbmx5KCk7CiAKLSAgICB2b2lkIGVuYWJsZUZpeGVk
V2lkdGhBdXRvU2l6ZU1vZGUoYm9vbGVhbiBlbmFibGVkLCBsb25nIHdpZHRoLCBsb25nIGhlaWdo
dCk7Ci0gICAgdm9pZCBlbmFibGVTaXplVG9Db250ZW50QXV0b1NpemVNb2RlKGJvb2xlYW4gZW5h
YmxlZCwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBlbmFibGVGaXhl
ZFdpZHRoQXV0b1NpemVNb2RlKGJvb2xlYW4gZW5hYmxlZCwgbG9uZyB3aWR0aCwgbG9uZyBoZWln
aHQpOworICAgIHVuZGVmaW5lZCBlbmFibGVTaXplVG9Db250ZW50QXV0b1NpemVNb2RlKGJvb2xl
YW4gZW5hYmxlZCwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOwogCiAgICAgW0NvbmRpdGlvbmFs
PVZJREVPXSBzZXF1ZW5jZTxET01TdHJpbmc+IG1lZGlhUmVzcG9uc2VTb3VyY2VzKEhUTUxNZWRp
YUVsZW1lbnQgbWVkaWEpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gc2VxdWVuY2U8RE9NU3Ry
aW5nPiBtZWRpYVJlc3BvbnNlQ29udGVudFJhbmdlcyhIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsK
LSAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgc2ltdWxhdGVBdWRpb0ludGVycnVwdGlvbihI
VE1MTWVkaWFFbGVtZW50IGVsZW1lbnQpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZp
bmVkIHNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsK
ICAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIG1lZGlh
RWxlbWVudEhhc0NoYXJhY3RlcmlzdGljKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgRE9NU3Ry
aW5nIGNoYXJhY3RlcmlzdGljKTsKLSAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgYmVnaW5T
aW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7Ci0gICAgW0NvbmRpdGlv
bmFsPVZJREVPXSB2b2lkIGVuZFNpbXVsYXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1l
ZGlhKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBiZWdpblNpbXVsYXRlZEhE
Q1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9d
IHVuZGVmaW5lZCBlbmRTaW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7
CiAKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIGJvb2xlYW4gZWxlbWVudFNob3VsZEJ1ZmZlckRh
dGEoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSBET01T
dHJpbmcgZWxlbWVudEJ1ZmZlcmluZ1BvbGljeShIVE1MTWVkaWFFbGVtZW50IG1lZGlhKTsKICAg
ICBbQ29uZGl0aW9uYWw9VklERU9dIGRvdWJsZSBwcml2YXRlUGxheWVyVm9sdW1lKEhUTUxNZWRp
YUVsZW1lbnQgbWVkaWEpOwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldElzUGxh
eWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUob3B0aW9uYWwgYm9vbGVhbj8gaXNQbGF5aW5nID0gbnVs
bCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SXNQbGF5aW5nVG9CbHVl
dG9vdGhPdmVycmlkZShvcHRpb25hbCBib29sZWFuPyBpc1BsYXlpbmcgPSBudWxsKTsKIAotICAg
IFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSB2b2lkIGluaXRpYWxpemVNb2Nr
Q0RNKCk7CisgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHVuZGVmaW5l
ZCBpbml0aWFsaXplTW9ja0NETSgpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFd
IE1vY2tDRE1GYWN0b3J5IHJlZ2lzdGVyTW9ja0NETSgpOwotICAgIHZvaWQgZW5hYmxlTW9ja01l
ZGlhQ2FwYWJpbGl0aWVzKCk7CisgICAgdW5kZWZpbmVkIGVuYWJsZU1vY2tNZWRpYUNhcGFiaWxp
dGllcygpOwogCi0gICAgW0NvbmRpdGlvbmFsPVNQRUVDSF9TWU5USEVTSVNdIHZvaWQgZW5hYmxl
TW9ja1NwZWVjaFN5bnRoZXNpemVyKCk7CisgICAgW0NvbmRpdGlvbmFsPVNQRUVDSF9TWU5USEVT
SVNdIHVuZGVmaW5lZCBlbmFibGVNb2NrU3BlZWNoU3ludGhlc2l6ZXIoKTsKIAogICAgIERPTVN0
cmluZyBnZXRJbWFnZVNvdXJjZVVSTChFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGNhcHRpb25zU3R5bGVTaGVl
dE92ZXJyaWRlKCk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZXRDYXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZShET01TdHJpbmcgb3ZlcnJpZGUpOwot
ICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UHJpbWFy
eUF1ZGlvVHJhY2tMYW5ndWFnZU92ZXJyaWRlKERPTVN0cmluZyBsYW5ndWFnZSk7Ci0gICAgW0Nv
bmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRDYXB0aW9uRGlzcGxh
eU1vZGUoRE9NU3RyaW5nIG1vZGUpOworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDYXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZShET01TdHJp
bmcgb3ZlcnJpZGUpOworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRQcmltYXJ5QXVkaW9UcmFja0xhbmd1YWdlT3ZlcnJpZGUoRE9NU3RyaW5n
IGxhbmd1YWdlKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0Q2FwdGlvbkRpc3BsYXlNb2RlKERPTVN0cmluZyBtb2RlKTsKICAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIFRleHRUcmFja0N1ZUdlbmVyaWMgY3JlYXRlR2VuZXJpY0N1ZShkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgRE9NU3RyaW5nIHRleHQpOwogICAgIFtDb25k
aXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyB0ZXh0VHJhY2tCQ1A0
N0xhbmd1YWdlKFRleHRUcmFjayB0cmFjayk7CiAKQEAgLTY4MSw3MCArNjgxLDcwIEBAIGVudW0g
Q29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiBwbHVnaW5Jc0JlbG93U2l6ZVRocmVz
aG9sZChFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0
IHNlbGVjdGlvbkJvdW5kcygpOwotICAgIHZvaWQgc2V0U2VsZWN0aW9uV2l0aG91dFZhbGlkYXRp
b24oTm9kZSBiYXNlTm9kZSwgdW5zaWduZWQgbG9uZyBiYXNlT2Zmc2V0LCBOb2RlPyBleHRlbnRO
b2RlLCB1bnNpZ25lZCBsb25nIGV4dGVudE9mZnNldCk7CisgICAgdW5kZWZpbmVkIHNldFNlbGVj
dGlvbldpdGhvdXRWYWxpZGF0aW9uKE5vZGUgYmFzZU5vZGUsIHVuc2lnbmVkIGxvbmcgYmFzZU9m
ZnNldCwgTm9kZT8gZXh0ZW50Tm9kZSwgdW5zaWduZWQgbG9uZyBleHRlbnRPZmZzZXQpOwogCi0g
ICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gdm9pZCBpbml0aWFsaXplTW9ja01lZGlhU291
cmNlKCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gdW5kZWZpbmVkIGluaXRpYWxp
emVNb2NrTWVkaWFTb3VyY2UoKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBzZXF1
ZW5jZTxET01TdHJpbmc+IGJ1ZmZlcmVkU2FtcGxlc0ZvclRyYWNrSUQoU291cmNlQnVmZmVyIGJ1
ZmZlciwgRE9NU3RyaW5nIHRyYWNrSUQpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0Vd
IHNlcXVlbmNlPERPTVN0cmluZz4gZW5xdWV1ZWRTYW1wbGVzRm9yVHJhY2tJRChTb3VyY2VCdWZm
ZXIgYnVmZmVyLCBET01TdHJpbmcgdHJhY2tJRCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NP
VVJDRV0gdm9pZCBzZXRTaG91bGRHZW5lcmF0ZVRpbWVzdGFtcHMoU291cmNlQnVmZmVyIGJ1ZmZl
ciwgYm9vbGVhbiBmbGFnKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB1bmRlZmlu
ZWQgc2V0U2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzKFNvdXJjZUJ1ZmZlciBidWZmZXIsIGJvb2xl
YW4gZmxhZyk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NPVVJDRV0gZG91YmxlIG1pbmltdW1V
cGNvbWluZ1ByZXNlbnRhdGlvblRpbWVGb3JUcmFja0lEKFNvdXJjZUJ1ZmZlciBidWZmZXIsIERP
TVN0cmluZyB0cmFja0lEKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSB2b2lkIHNl
dE1heGltdW1RdWV1ZURlcHRoRm9yVHJhY2tJRChTb3VyY2VCdWZmZXIgYnVmZmVyLCBET01TdHJp
bmcgdHJhY2tJRCwgdW5zaWduZWQgbG9uZyBtYXhRdWV1ZURlcHRoKTsKKyAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU09VUkNFXSB1bmRlZmluZWQgc2V0TWF4aW11bVF1ZXVlRGVwdGhGb3JUcmFja0lE
KFNvdXJjZUJ1ZmZlciBidWZmZXIsIERPTVN0cmluZyB0cmFja0lELCB1bnNpZ25lZCBsb25nIG1h
eFF1ZXVlRGVwdGgpOwogCi0gICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBiZWdpbk1lZGlhU2Vzc2lvbkludGVycnVwdGlvbihET01TdHJpbmcgaW50ZXJydXB0
aW9uVHlwZSk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIGVuZE1lZGlhU2Vzc2lvbklu
dGVycnVwdGlvbihET01TdHJpbmcgZmxhZ3MpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNT
SU9OXSB2b2lkIHNlbmRNZWRpYVNlc3Npb25TdGFydE9mSW50ZXJydXB0aW9uTm90aWZpY2F0aW9u
KE1lZGlhU2Vzc2lvbkludGVycnVwdGluZ0NhdGVnb3J5IGNhdGVnb3J5KTsKLSAgICBbQ29uZGl0
aW9uYWw9TUVESUFfU0VTU0lPTl0gdm9pZCBzZW5kTWVkaWFTZXNzaW9uRW5kT2ZJbnRlcnJ1cHRp
b25Ob3RpZmljYXRpb24oTWVkaWFTZXNzaW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkgY2F0ZWdvcnkp
OworICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBi
ZWdpbk1lZGlhU2Vzc2lvbkludGVycnVwdGlvbihET01TdHJpbmcgaW50ZXJydXB0aW9uVHlwZSk7
CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgZW5kTWVkaWFTZXNzaW9uSW50ZXJy
dXB0aW9uKERPTVN0cmluZyBmbGFncyk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05d
IHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uU3RhcnRPZkludGVycnVwdGlvbk5vdGlmaWNhdGlv
bihNZWRpYVNlc3Npb25JbnRlcnJ1cHRpbmdDYXRlZ29yeSBjYXRlZ29yeSk7CisgICAgW0NvbmRp
dGlvbmFsPU1FRElBX1NFU1NJT05dIHVuZGVmaW5lZCBzZW5kTWVkaWFTZXNzaW9uRW5kT2ZJbnRl
cnJ1cHRpb25Ob3RpZmljYXRpb24oTWVkaWFTZXNzaW9uSW50ZXJydXB0aW5nQ2F0ZWdvcnkgY2F0
ZWdvcnkpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSBET01TdHJpbmcgbWVkaWFT
ZXNzaW9uQ3VycmVudFN0YXRlKE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU0VTU0lPTl0gZG91YmxlIG1lZGlhRWxlbWVudFBsYXllclZvbHVtZShIVE1MTWVk
aWFFbGVtZW50IGVsZW1lbnQpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSB2b2lk
IHNlbmRNZWRpYUNvbnRyb2xFdmVudChNZWRpYUNvbnRyb2xFdmVudCBldmVudCk7Ci0gICAgW0Nv
bmRpdGlvbmFsPVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCk7Ci0g
ICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7
Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdy
b3VuZChvcHRpb25hbCBib29sZWFuIHN1c3BlbmRlZFVuZGVyTG9jayA9IGZhbHNlKTsKLSAgICBb
Q29uZGl0aW9uYWw9VklERU9dIHZvaWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQob3B0
aW9uYWwgYm9vbGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7Ci0gICAgW0NvbmRpdGlv
bmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRNZWRpYVNlc3Npb25SZXN0cmlj
dGlvbnMoRE9NU3RyaW5nIG1lZGlhVHlwZSwgRE9NU3RyaW5nIHJlc3RyaWN0aW9ucyk7CisgICAg
W0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJT05dIHVuZGVmaW5lZCBzZW5kTWVkaWFDb250cm9sRXZl
bnQoTWVkaWFDb250cm9sRXZlbnQgZXZlbnQpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5k
ZWZpbmVkIGFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCk7CisgICAgW0NvbmRpdGlvbmFs
PVZJREVPXSB1bmRlZmluZWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKKyAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQo
b3B0aW9uYWwgYm9vbGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7CisgICAgW0NvbmRp
dGlvbmFsPVZJREVPXSB1bmRlZmluZWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQob3B0
aW9uYWwgYm9vbGVhbiBzdXNwZW5kZWRVbmRlckxvY2sgPSBmYWxzZSk7CisgICAgW0NvbmRpdGlv
bmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldE1lZGlhU2Vzc2lvblJl
c3RyaWN0aW9ucyhET01TdHJpbmcgbWVkaWFUeXBlLCBET01TdHJpbmcgcmVzdHJpY3Rpb25zKTsK
ICAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgbWVk
aWFTZXNzaW9uUmVzdHJpY3Rpb25zKERPTVN0cmluZyBtZWRpYVR5cGUpOwotICAgIFtDb25kaXRp
b25hbD1WSURFT10gdm9pZCBzZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMoSFRNTE1lZGlhRWxl
bWVudCBlbGVtZW50LCBET01TdHJpbmcgcmVzdHJpY3Rpb25zKTsKLSAgICBbQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSB2b2lkIHNldEF1ZGlvQ29udGV4dFJlc3RyaWN0aW9ucygoQmFzZUF1ZGlvQ29u
dGV4dCBvciBXZWJLaXRBdWRpb0NvbnRleHQpIGNvbnRleHQsIERPTVN0cmluZyByZXN0cmljdGlv
bnMpOwotICAgIFtDb25kaXRpb25hbD1WSURFTywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcG9z
dFJlbW90ZUNvbnRyb2xDb21tYW5kKERPTVN0cmluZyBjb21tYW5kLCBvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgYXJndW1lbnQgPSAwKTsKLSAgICBbQ29uZGl0aW9uYWw9V0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUXSB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyU3RhdGUoRE9NU3RyaW5nIGRldmljZU5hbWUsIERPTVN0cmluZyBkZXZpY2VTdGF0ZSk7
Ci0gICAgW0NvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVF0gdm9pZCBtb2NrTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlckRpc21pc3NQb3B1cCgpOwotICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIHZvaWQgc2V0Q3VzdG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcigpOwotCi0g
ICAgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gdm9pZCB1c2VNb2NrQXVkaW9EZXN0aW5hdGlvbkNv
Y29hKCk7Ci0KLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBlbXVsYXRlUlRDUGVlckNv
bm5lY3Rpb25QbGF0Zm9ybUV2ZW50KFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5lY3Rpb24sIERPTVN0
cmluZyBhY3Rpb24pOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHVzZU1vY2tSVENQ
ZWVyQ29ubmVjdGlvbkZhY3RvcnkoRE9NU3RyaW5nIHRlc3RDYXNlKTsKLSAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdm9pZCBzZXRJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoYm9vbGVhbiBlbmFibGVk
KTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBzZXRFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtDb25kaXRpb25hbD1X
RUJfUlRDXSB2b2lkIHN0b3BQZWVyQ29ubmVjdGlvbihSVENQZWVyQ29ubmVjdGlvbiBjb25uZWN0
aW9uKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdm9pZCBjbGVhclBlZXJDb25uZWN0aW9u
RmFjdG9yeSgpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldEVuYWJsZVdlYlJU
Q0VuY3J5cHRpb24oYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10g
dm9pZCBzZXRVc2VEVExTMTAoYm9vbGVhbiB1c2UpOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRD
XSB2b2lkIHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbGVhbiB1c2UpOworICAgIFtDb25k
aXRpb25hbD1WSURFT10gdW5kZWZpbmVkIHNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhIVE1M
TWVkaWFFbGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOworICAgIFtDb25k
aXRpb25hbD1XRUJfQVVESU9dIHVuZGVmaW5lZCBzZXRBdWRpb0NvbnRleHRSZXN0cmljdGlvbnMo
KEJhc2VBdWRpb0NvbnRleHQgb3IgV2ViS2l0QXVkaW9Db250ZXh0KSBjb250ZXh0LCBET01TdHJp
bmcgcmVzdHJpY3Rpb25zKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgcG9zdFJlbW90ZUNvbnRyb2xDb21tYW5kKERPTVN0cmluZyBjb21tYW5k
LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYXJndW1lbnQgPSAwKTsKKyAgICBbQ29uZGl0
aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUXSB1bmRlZmluZWQgc2V0TW9ja01lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW0NvbmRpdGlv
bmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRNb2NrTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlclN0YXRlKERPTVN0cmluZyBkZXZpY2VO
YW1lLCBET01TdHJpbmcgZGV2aWNlU3RhdGUpOworICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVRdIHVuZGVmaW5lZCBtb2NrTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckRp
c21pc3NQb3B1cCgpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBz
ZXRDdXN0b21Qcml2YXRlUmVjb3JkZXJDcmVhdG9yKCk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VC
X0FVRElPXSB1bmRlZmluZWQgdXNlTW9ja0F1ZGlvRGVzdGluYXRpb25Db2NvYSgpOworCisgICAg
W0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBlbXVsYXRlUlRDUGVlckNvbm5lY3Rpb25Q
bGF0Zm9ybUV2ZW50KFJUQ1BlZXJDb25uZWN0aW9uIGNvbm5lY3Rpb24sIERPTVN0cmluZyBhY3Rp
b24pOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgdXNlTW9ja1JUQ1BlZXJD
b25uZWN0aW9uRmFjdG9yeShET01TdHJpbmcgdGVzdENhc2UpOworICAgIFtDb25kaXRpb25hbD1X
RUJfUlRDXSB1bmRlZmluZWQgc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKGJvb2xlYW4gZW5hYmxl
ZCk7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRFbnVtZXJhdGluZ0Fs
bE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtDb25kaXRp
b25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc3RvcFBlZXJDb25uZWN0aW9uKFJUQ1BlZXJDb25uZWN0
aW9uIGNvbm5lY3Rpb24pOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgY2xl
YXJQZWVyQ29ubmVjdGlvbkZhY3RvcnkoKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5k
ZWZpbmVkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbGVhbiBlbmFibGVkKTsKKyAgICBb
Q29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFVzZURUTFMxMChib29sZWFuIHVzZSk7
CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRVc2VHUFVQcm9jZXNzRm9y
V2ViUlRDKGJvb2xlYW4gdXNlKTsKIAotICAgIFtDb25kaXRpb25hbD1WSURFT10gdm9pZCBzaW11
bGF0ZVN5c3RlbVNsZWVwKCk7Ci0gICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIHNpbXVsYXRl
U3lzdGVtV2FrZSgpOworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVkIHNpbXVsYXRl
U3lzdGVtU2xlZXAoKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBzaW11bGF0
ZVN5c3RlbVdha2UoKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIGJvb2xlYW4gZWxlbWVudElz
QmxvY2tpbmdEaXNwbGF5U2xlZXAoSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gTW9ja1BhZ2VPdmVybGF5IGluc3RhbGxNb2NrUGFnZU92ZXJsYXko
UGFnZU92ZXJsYXlUeXBlIHR5cGUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5n
IHBhZ2VPdmVybGF5TGF5ZXJUcmVlQXNUZXh0KG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IGZsYWdz
ID0gMCk7CiAKLSAgICB2b2lkIHNldFBhZ2VNdXRlZChET01TdHJpbmcgbXV0ZWRTdGF0ZSk7Cisg
ICAgdW5kZWZpbmVkIHNldFBhZ2VNdXRlZChET01TdHJpbmcgbXV0ZWRTdGF0ZSk7CiAgICAgRE9N
U3RyaW5nIHBhZ2VNZWRpYVN0YXRlKCk7CiAKLSAgICB2b2lkIHNldFBhZ2VEZWZlcnNMb2FkaW5n
KGJvb2xlYW4gZGVmZXJzTG9hZGluZyk7CisgICAgdW5kZWZpbmVkIHNldFBhZ2VEZWZlcnNMb2Fk
aW5nKGJvb2xlYW4gZGVmZXJzTG9hZGluZyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29s
ZWFuIHBhZ2VEZWZlcnNMb2FkaW5nKCk7CiAKICAgICBGaWxlPyBjcmVhdGVGaWxlKERPTVN0cmlu
ZyB1cmwpOwotICAgIHZvaWQgcXVldWVNaWNyb1Rhc2sobG9uZyB0ZXN0TnVtYmVyKTsKKyAgICB1
bmRlZmluZWQgcXVldWVNaWNyb1Rhc2sobG9uZyB0ZXN0TnVtYmVyKTsKICAgICBib29sZWFuIHRl
c3RQcmVsb2FkZXJTZXR0aW5nVmlld3BvcnQoKTsKIAogICAgIFtDb25kaXRpb25hbD1DT05URU5U
X0ZJTFRFUklOR10gcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3Mg
bW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5nczsKIAogICAgIFtDb25kaXRpb25hbD1DU1NfU0NST0xM
X1NOQVAsIE1heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc2Nyb2xsU25hcE9mZnNldHMoRWxl
bWVudCBlbGVtZW50KTsKICAgICBbQ29uZGl0aW9uYWw9Q1NTX1NDUk9MTF9TTkFQLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gYm9vbGVhbiBpc1Njcm9sbFNuYXBJblByb2dyZXNzKEVsZW1lbnQgZWxlbWVu
dCk7Ci0gICAgW0NvbmRpdGlvbmFsPUNTU19TQ1JPTExfU05BUF0gdm9pZCBzZXRQbGF0Zm9ybU1v
bWVudHVtU2Nyb2xsaW5nUHJlZGljdGlvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBb
Q29uZGl0aW9uYWw9Q1NTX1NDUk9MTF9TTkFQXSB1bmRlZmluZWQgc2V0UGxhdGZvcm1Nb21lbnR1
bVNjcm9sbGluZ1ByZWRpY3Rpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBwYXRoU3RyaW5nV2l0aFNocmlua1dyYXBwZWRSZWN0
cyhzZXF1ZW5jZTxkb3VibGU+IHJlY3RDb21wb25lbnRzLCBkb3VibGUgcmFkaXVzKTsKIApAQCAt
NzUyLDc0ICs3NTIsNzQgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKIAogICAgIERPTVN0
cmluZyB1c2VyVmlzaWJsZVN0cmluZyhET01VUkwgdXJsKTsKIAotICAgIHZvaWQgc2V0U2hvd0Fs
bFBsdWdpbnMoYm9vbGVhbiBzaG93QWxsKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvd0FsbFBsdWdp
bnMoYm9vbGVhbiBzaG93QWxsKTsKIAogICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBj
bG9uZUFycmF5QnVmZmVyKGFueSBidWZmZXIsIGFueSBzcmNCeXRlT2Zmc2V0LCBhbnkgYnl0ZUxl
bmd0aCk7CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gYm9vbGVhbiBpc1JlYWRhYmxlU3Ry
ZWFtRGlzdHVyYmVkKGFueSBzdHJlYW0pOwogCiAgICAgRE9NU3RyaW5nIHJlc291cmNlTG9hZFN0
YXRpc3RpY3NGb3JVUkwoRE9NVVJMIHVybCk7Ci0gICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChib29sZWFuIGVuYWJsZSk7CisgICAgdW5kZWZpbmVkIHNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKGJvb2xlYW4gZW5hYmxlKTsKIAotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBzZXRDYW5TaG93TW9kYWxEaWFsb2dPdmVycmlkZShib29sZWFuIGFsbG93
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDYW5TaG93TW9kYWxEaWFs
b2dPdmVycmlkZShib29sZWFuIGFsbG93KTsKIAogICAgIERPTVN0cmluZyBjb21wb3NlZFRyZWVB
c1RleHQoTm9kZSBwYXJlbnQpOwogCiAgICAgYm9vbGVhbiBpc1Byb2Nlc3NpbmdVc2VyR2VzdHVy
ZSgpOwogICAgIGRvdWJsZSBsYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKLSAg
ICB2b2lkIHdpdGhVc2VyR2VzdHVyZShWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHVuZGVm
aW5lZCB3aXRoVXNlckdlc3R1cmUoVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKIAogICAgIGJvb2xl
YW4gdXNlcklzSW50ZXJhY3RpbmcoKTsKIAogICAgIEdDT2JzZXJ2YXRpb24/IG9ic2VydmVHQyhh
bnkgb2JzZXJ2ZWQpOwogCi0gICAgdm9pZCBzZXRVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
KFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bik7Ci0gICAgdm9pZCBzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihCYXNlV3JpdGluZ0RpcmVjdGlv
biBkaXJlY3Rpb24pOworICAgIHVuZGVmaW5lZCBzZXRVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uKFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbik7CisgICAgdW5kZWZpbmVkIHNldEJhc2VXcml0aW5nRGlyZWN0aW9uKEJhc2VXcml0aW5n
RGlyZWN0aW9uIGRpcmVjdGlvbik7CiAKICAgICBib29sZWFuIHVzZXJQcmVmZXJzUmVkdWNlZE1v
dGlvbigpOwogICAgIAotICAgIHZvaWQgcmVwb3J0QmFja3RyYWNlKCk7CisgICAgdW5kZWZpbmVk
IHJlcG9ydEJhY2t0cmFjZSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPVBPSU5URVJfTE9DS10gYm9v
bGVhbiBwYWdlSGFzUGVuZGluZ1BvaW50ZXJMb2NrKCk7CiAgICAgW0NvbmRpdGlvbmFsPVBPSU5U
RVJfTE9DS10gYm9vbGVhbiBwYWdlSGFzUG9pbnRlckxvY2soKTsKIAogICAgIHNlcXVlbmNlPERP
TVN0cmluZz4gYWNjZXNzS2V5TW9kaWZpZXJzKCk7CiAKLSAgICB2b2lkIHNldFF1aWNrTG9va1Bh
c3N3b3JkKERPTVN0cmluZyBwYXNzd29yZCk7CisgICAgdW5kZWZpbmVkIHNldFF1aWNrTG9va1Bh
c3N3b3JkKERPTVN0cmluZyBwYXNzd29yZCk7CiAKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHZv
aWQgc2V0QXNSdW5uaW5nVXNlclNjcmlwdHMoKTsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIENv
bmRpdGlvbmFsPUFQUExFX1BBWV0gdm9pZCBzZXRBcHBsZVBheUlzQWN0aXZlKCk7CisgICAgW0Nh
bGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgc2V0QXNSdW5uaW5nVXNlclNjcmlwdHMoKTsKKyAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnQsIENvbmRpdGlvbmFsPUFQUExFX1BBWV0gdW5kZWZpbmVkIHNl
dEFwcGxlUGF5SXNBY3RpdmUoKTsKIAotICAgIHZvaWQgZGlzYWJsZVRpbGVTaXplVXBkYXRlRGVs
YXkoKTsKLSAgICB2b2lkIHNldFNwZWN1bGF0aXZlVGlsaW5nRGVsYXlEaXNhYmxlZEZvclRlc3Rp
bmcoYm9vbGVhbiBkaXNhYmxlZCk7CisgICAgdW5kZWZpbmVkIGRpc2FibGVUaWxlU2l6ZVVwZGF0
ZURlbGF5KCk7CisgICAgdW5kZWZpbmVkIHNldFNwZWN1bGF0aXZlVGlsaW5nRGVsYXlEaXNhYmxl
ZEZvclRlc3RpbmcoYm9vbGVhbiBkaXNhYmxlZCk7CiAKLSAgICBbQ29uZGl0aW9uYWw9V0VCR0xd
IHZvaWQgc2ltdWxhdGVXZWJHTENvbnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBj
b250ZXh0KTsKLSAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgZmFpbE5leHRHUFVTdGF0dXND
aGVjayhXZWJHTFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCk7CisgICAgW0NvbmRpdGlvbmFsPVdF
QkdMXSB1bmRlZmluZWQgc2ltdWxhdGVXZWJHTENvbnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5n
Q29udGV4dCBjb250ZXh0KTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHVuZGVmaW5lZCBmYWls
TmV4dEdQVVN0YXR1c0NoZWNrKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBjb250ZXh0KTsKICAgICBb
Q29uZGl0aW9uYWw9V0VCR0xdIGJvb2xlYW4gaGFzTG93QW5kSGlnaFBvd2VyR1BVcygpOwogCi0g
ICAgdm9pZCBzZXRQYWdlVmlzaWJpbGl0eShib29sZWFuIGlzVmlzaWJsZSk7Ci0gICAgdm9pZCBz
ZXRQYWdlSXNGb2N1c2VkQW5kQWN0aXZlKGJvb2xlYW4gaXNGb2N1c2VkKTsKLSAgICB2b2lkIHNl
dFBhZ2VJc0luV2luZG93KGJvb2xlYW4gaXNJbldpbmRvdyk7CisgICAgdW5kZWZpbmVkIHNldFBh
Z2VWaXNpYmlsaXR5KGJvb2xlYW4gaXNWaXNpYmxlKTsKKyAgICB1bmRlZmluZWQgc2V0UGFnZUlz
Rm9jdXNlZEFuZEFjdGl2ZShib29sZWFuIGlzRm9jdXNlZCk7CisgICAgdW5kZWZpbmVkIHNldFBh
Z2VJc0luV2luZG93KGJvb2xlYW4gaXNJbldpbmRvdyk7CiAgICAgYm9vbGVhbiBpc1BhZ2VBY3Rp
dmUoKTsKIAotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldEgyNjRIYXJkd2FyZUVu
Y29kZXJBbGxvd2VkKGJvb2xlYW4gYWxsb3dlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENd
IHZvaWQgYXBwbHlSb3RhdGlvbkZvck91dGdvaW5nVmlkZW9Tb3VyY2VzKFJUQ1BlZXJDb25uZWN0
aW9uIGNvbm5lY3Rpb24pOwotICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB2b2lkIHNldFdlYlJU
Q0gyNjVTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9SVENd
IHZvaWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwotCi0gICAgW0NvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXRNb2NrQXVkaW9UcmFja0NoYW5uZWxOdW1iZXIo
TWVkaWFTdHJlYW1UcmFjayB0cmFjaywgdW5zaWduZWQgc2hvcnQgY291bnQpOwotICAgIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VW
aXNpYmlsaXR5Q2hhbmdlKGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKLSAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldENhbWVyYU1lZGlhU3RyZWFtVHJhY2tPcmllbnRhdGlv
bihNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBzaG9ydCBvcmllbnRhdGlvbik7Ci0gICAgW0NvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0
cmVhbVRyYWNrIHRyYWNrKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNl
dEgyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkKGJvb2xlYW4gYWxsb3dlZCk7CisgICAgW0NvbmRp
dGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBhcHBseVJvdGF0aW9uRm9yT3V0Z29pbmdWaWRlb1Nv
dXJjZXMoUlRDUGVlckNvbm5lY3Rpb24gY29ubmVjdGlvbik7CisgICAgW0NvbmRpdGlvbmFsPVdF
Ql9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENIMjY1U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwor
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDVlA5U3VwcG9ydChi
b29sZWFuIGFsbG93ZWQpOworCisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZp
bmVkIHNldE1vY2tBdWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVhbVRyYWNrIHRyYWNr
LCB1bnNpZ25lZCBzaG9ydCBjb3VudCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0g
dW5kZWZpbmVkIHNldFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShi
b29sZWFuIHNob3VsZEludGVycnVwdCk7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0g
dW5kZWZpbmVkIHNldENhbWVyYU1lZGlhU3RyZWFtVHJhY2tPcmllbnRhdGlvbihNZWRpYVN0cmVh
bVRyYWNrIHRyYWNrLCBzaG9ydCBvcmllbnRhdGlvbik7CisgICAgW0NvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTV0gdW5kZWZpbmVkIG9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3RyZWFtVHJh
Y2sgdHJhY2spOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIFByb21pc2U8SW1hZ2VE
YXRhPiBncmFiTmV4dE1lZGlhU3RyZWFtVHJhY2tGcmFtZSgpOwogICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRyYWNrQXVkaW9T
YW1wbGVDb3VudDsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyB0cmFja1ZpZGVvU2FtcGxlQ291bnQ7Ci0gICAgW0NvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTV0gdm9pZCBkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVzKE1lZGlh
U3RyZWFtVHJhY2sgdHJhY2ssIGZsb2F0IGRlbGF5KTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNXSB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tNdXRlZChNZWRpYVN0cmVhbVRyYWNrIHRy
YWNrLCBib29sZWFuIG11dGVkKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lk
IHJlbW92ZU1lZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW0gc3RyZWFtLCBNZWRpYVN0cmVhbVRy
YWNrIHRyYWNrKTsKLSAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNpbXVsYXRl
TWVkaWFTdHJlYW1UcmFja0NhcHR1cmVTb3VyY2VGYWlsdXJlKE1lZGlhU3RyZWFtVHJhY2sgdHJh
Y2spOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0TWVkaWFTdHJlYW1U
cmFja0lkZW50aWZpZXIoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgRE9NU3RyaW5nIGlkZW50aWZp
ZXIpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0TWVkaWFTdHJlYW1T
b3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBib29sZWFuIGludGVycnVw
dGVkKTsKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgZGVsYXlNZWRp
YVN0cmVhbVRyYWNrU2FtcGxlcyhNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBmbG9hdCBkZWxheSk7
CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldE1lZGlhU3RyZWFt
VHJhY2tNdXRlZChNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCBib29sZWFuIG11dGVkKTsKKyAgICBb
Q29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgcmVtb3ZlTWVkaWFTdHJlYW1UcmFj
ayhNZWRpYVN0cmVhbSBzdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOworICAgIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzaW11bGF0ZU1lZGlhU3RyZWFtVHJhY2tD
YXB0dXJlU291cmNlRmFpbHVyZShNZWRpYVN0cmVhbVRyYWNrIHRyYWNrKTsKKyAgICBbQ29uZGl0
aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0TWVkaWFTdHJlYW1UcmFja0lkZW50aWZp
ZXIoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgRE9NU3RyaW5nIGlkZW50aWZpZXIpOworICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNZWRpYVN0cmVhbVNvdXJjZUlu
dGVycnVwdGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIGJvb2xlYW4gaW50ZXJydXB0ZWQpOwog
ICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIGJvb2xlYW4gaXNNZWRpYVN0cmVhbVNvdXJj
ZUludGVycnVwdGVkKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2spOwogICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIGJvb2xlYW4gaXNNZWRpYVN0cmVhbVNvdXJjZUVuZGVkKE1lZGlhU3RyZWFt
VHJhY2sgdHJhY2spOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIGJvb2xlYW4gaXNN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKTsKQEAgLTgzOCwxNyArODM4LDE3
IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
bG9uZyBwcm9jZXNzSWRlbnRpZmllcjsKICAgICBET01TdHJpbmcgc2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIoRG9jdW1lbnQgZG9jdW1lbnQpOwotICAgIFByb21pc2U8dm9pZD4gc3RvcmVS
ZWdpc3RyYXRpb25zT25EaXNrKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHN0b3JlUmVnaXN0
cmF0aW9uc09uRGlzaygpOwogICAgIFByb21pc2U8ZG91YmxlPiBzZW5kSDJQaW5nKERPTVN0cmlu
ZyB1cmwpOwogCi0gICAgUHJvbWlzZTx2b2lkPiBjbGVhckNhY2hlU3RvcmFnZU1lbW9yeVJlcHJl
c2VudGF0aW9uKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGNsZWFyQ2FjaGVTdG9yYWdlTWVt
b3J5UmVwcmVzZW50YXRpb24oKTsKICAgICBQcm9taXNlPERPTVN0cmluZz4gY2FjaGVTdG9yYWdl
RW5naW5lUmVwcmVzZW50YXRpb24oKTsKLSAgICB2b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQYWRk
aW5nKEZldGNoUmVzcG9uc2UgcmVzcG9uc2UsIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAg
ICB1bmRlZmluZWQgc2V0UmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSByZXNw
b25zZSwgdW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBy
ZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKIAotICAgIHZv
aWQgdXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOworICAgIHVuZGVmaW5lZCB1cGRhdGVR
dW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CiAKLSAgICB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlz
dGVuZXIoU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRDb25zb2xl
TWVzc2FnZUxpc3RlbmVyKFN0cmluZ0NhbGxiYWNrIGNhbGxiYWNrKTsKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzQXVkaW9TZXNzaW9uOwogICAgIERPTVN0cmluZyBh
dWRpb1Nlc3Npb25DYXRlZ29yeSgpOwpAQCAtODU2LDggKzg1Niw4IEBAIGVudW0gQ29udGVudFNp
emVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiBhdWRpb1Nlc3Npb25BY3RpdmUoKTsKIAogICAgIFtD
b25kaXRpb25hbD1TRVJWSUNFX1dPUktFUl0gUHJvbWlzZTxib29sZWFuPiBoYXNTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKERPTVN0cmluZyBzY29wZVVSTCk7Ci0gICAgW0NvbmRpdGlvbmFsPVNF
UlZJQ0VfV09SS0VSXSBQcm9taXNlPHZvaWQ+IHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXIoU2Vydmlj
ZVdvcmtlciB3b3JrZXIpOwotICAgIFtDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUl0gUHJvbWlz
ZTx2b2lkPiB3aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZChTZXJ2aWNlV29ya2VyIHdvcmtl
cik7CisgICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQcm9taXNlPHVuZGVmaW5lZD4g
dGVybWluYXRlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyIHdvcmtlcik7CisgICAgW0NvbmRp
dGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQcm9taXNlPHVuZGVmaW5lZD4gd2hlblNlcnZpY2VXb3Jr
ZXJJc1Rlcm1pbmF0ZWQoU2VydmljZVdvcmtlciB3b3JrZXIpOwogCiAgICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBDb25kaXRpb25hbD1BUFBMRV9QQVldIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5
bWVudENvb3JkaW5hdG9yIG1vY2tQYXltZW50Q29vcmRpbmF0b3I7CiAKQEAgLTg2NywxNiArODY3
LDE2IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgYm9vbGVhbiB1c2luZ0FwcGxl
SW50ZXJuYWxTREsoKTsKICAgICBib29sZWFuIHVzaW5nR1N0cmVhbWVyKCk7CiAKLSAgICB2b2lk
IHBvc3RUYXNrKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHF1ZXVlVGFzayhET01TdHJp
bmcgc291cmNlLCBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwotICAgIFtDYWxsV2l0aD1Eb2N1bWVu
dF0gdm9pZCBxdWV1ZVRhc2tUb1F1ZXVlTWljcm90YXNrKERPTVN0cmluZyBzb3VyY2UsIFZvaWRD
YWxsYmFjayBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHBvc3RUYXNrKFZvaWRDYWxsYmFjayBj
YWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgcXVldWVUYXNrKERPTVN0cmluZyBzb3VyY2UsIFZvaWRDYWxs
YmFjayBjYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgcXVldWVU
YXNrVG9RdWV1ZU1pY3JvdGFzayhET01TdHJpbmcgc291cmNlLCBWb2lkQ2FsbGJhY2sgY2FsbGJh
Y2spOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBoYXNTYW1lRXZlbnRMb29wQXMo
V2luZG93UHJveHkgd2luZG93UHJveHkpOwogCiAgICAgRE9NU3RyaW5nIHdpbmRvd0xvY2F0aW9u
SG9zdChET01XaW5kb3cgd2luZG93KTsKIAotICAgIHZvaWQgbWFya0NvbnRleHRBc0luc2VjdXJl
KCk7CisgICAgdW5kZWZpbmVkIG1hcmtDb250ZXh0QXNJbnNlY3VyZSgpOwogCi0gICAgdm9pZCBz
ZXRNYXhDYW52YXNQaXhlbE1lbW9yeSh1bnNpZ25lZCBsb25nIHNpemUpOworICAgIHVuZGVmaW5l
ZCBzZXRNYXhDYW52YXNQaXhlbE1lbW9yeSh1bnNpZ25lZCBsb25nIHNpemUpOwogCiAgICAgW0Nv
bmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gcmVhZG9ubHkgYXR0cmlidXRlIE5v
d1BsYXlpbmdTdGF0ZSBub3dQbGF5aW5nU3RhdGU7CiAKQEAgLTg4NywxNSArODg3LDE1IEBAIGVu
dW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJv
d0V4Y2VwdGlvbl0gYm9vbGVhbiBlbGVtZW50U2hvdWxkRGlzcGxheVBvc3RlckltYWdlKEhUTUxW
aWRlb0VsZW1lbnQgZWxlbWVudCk7CiAKICAgICBET01TdHJpbmcgb25nb2luZ0xvYWRzRGVzY3Jp
cHRpb25zKCk7Ci0gICAgdm9pZCBzZXRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3NFbmFi
bGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRDYXB0dXJlRXh0cmFOZXR3b3Jr
TG9hZE1ldHJpY3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogCi0gICAgdm9pZCByZWxvYWRXaXRo
b3V0Q29udGVudEV4dGVuc2lvbnMoKTsKKyAgICB1bmRlZmluZWQgcmVsb2FkV2l0aG91dENvbnRl
bnRFeHRlbnNpb25zKCk7CiAKLSAgICB2b2lkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbGVh
biB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFVzZVN5c3RlbUFwcGVhcmFuY2UoYm9vbGVhbiB2
YWx1ZSk7CiAKICAgICB1bnNpZ25lZCBsb25nIHBsdWdpbkNvdW50KCk7CiAKLSAgICB2b2lkIG5v
dGlmeVJlc291cmNlTG9hZE9ic2VydmVyKCk7CisgICAgdW5kZWZpbmVkIG5vdGlmeVJlc291cmNl
TG9hZE9ic2VydmVyKCk7CiAKICAgICB1bnNpZ25lZCBsb25nIHByaW1hcnlTY3JlZW5EaXNwbGF5
SUQoKTsKIApAQCAtOTA5LDIzICs5MDksMjMgQEAgZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsK
IAogICAgIHNlcXVlbmNlPENvb2tpZURhdGE+IGdldENvb2tpZXMoKTsKIAotICAgIHZvaWQgc2V0
QWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hpdmUoYm9vbGVhbiBhbHdheXNBbGxvd0xvY2FsV2ViYXJj
aGl2ZSk7CisgICAgdW5kZWZpbmVkIHNldEFsd2F5c0FsbG93TG9jYWxXZWJhcmNoaXZlKGJvb2xl
YW4gYWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hpdmUpOwogCi0gICAgdm9pZCBwcm9jZXNzV2lsbFN1
c3BlbmQoKTsKLSAgICB2b2lkIHByb2Nlc3NEaWRSZXN1bWUoKTsKKyAgICB1bmRlZmluZWQgcHJv
Y2Vzc1dpbGxTdXNwZW5kKCk7CisgICAgdW5kZWZpbmVkIHByb2Nlc3NEaWRSZXN1bWUoKTsKIAot
ICAgIHZvaWQgdGVzdERpY3Rpb25hcnlMb2dnaW5nKCk7CisgICAgdW5kZWZpbmVkIHRlc3REaWN0
aW9uYXJ5TG9nZ2luZygpOwogCi0gICAgdm9pZCBzZXRNYXhpbXVtSW50ZXJ2YWxGb3JVc2VyR2Vz
dHVyZUZvcndhcmRpbmdGb3JGZXRjaChkb3VibGUgaW50ZXJ2YWwpOwotICAgIHZvaWQgc2V0VHJh
bnNpZW50QWN0aXZhdGlvbkR1cmF0aW9uKGRvdWJsZSBzZWNvbmRzKTsKKyAgICB1bmRlZmluZWQg
c2V0TWF4aW11bUludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nRm9yRmV0Y2goZG91Ymxl
IGludGVydmFsKTsKKyAgICB1bmRlZmluZWQgc2V0VHJhbnNpZW50QWN0aXZhdGlvbkR1cmF0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKIAotICAgIHZvaWQgc2V0SXNQbGF5aW5nVG9BdXRvbW90aXZlSGVh
ZFVuaXQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldElzUGxheWluZ1RvQXV0b21v
dGl2ZUhlYWRVbml0KGJvb2xlYW4gdmFsdWUpOwogCiAgICAgVGV4dEluZGljYXRvckluZm8gdGV4
dEluZGljYXRvckZvclJhbmdlKFJhbmdlIHJhbmdlLCBUZXh0SW5kaWNhdG9yT3B0aW9ucyBvcHRp
b25zKTsKIAotICAgIHZvaWQgYWRkUHJlZmV0Y2hMb2FkRXZlbnRMaXN0ZW5lcihIVE1MTGlua0Vs
ZW1lbnQgbGluaywgRXZlbnRMaXN0ZW5lcj8gY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBhZGRQ
cmVmZXRjaExvYWRFdmVudExpc3RlbmVyKEhUTUxMaW5rRWxlbWVudCBsaW5rLCBFdmVudExpc3Rl
bmVyPyBjYWxsYmFjayk7CiAKLSAgICBbQ29uZGl0aW9uYWw9V0VCX0FVVEhOXSB2b2lkIHNldE1v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX0FVVEhOXSB1
bmRlZmluZWQgc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihNb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogCiAgICAgSW50ZXJuYWxz
TWFwTGlrZSBjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJuYWxzU2V0TGlrZSBj
cmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CkBAIC05NDEsMTEgKzk0MSwxMSBAQCBlbnVtIENvbnRl
bnRTaXplQ2F0ZWdvcnkgewogCiAgICAgYm9vbGVhbiBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiAKLSAg
ICB2b2lkIHNldFN5c3RlbUhhc0JhdHRlcnlGb3JUZXN0aW5nKGJvb2xlYW4gaGFzQmF0dGVyeSk7
Ci0gICAgdm9pZCBzZXRTeXN0ZW1IYXNBQ0ZvclRlc3RpbmcoYm9vbGVhbiBoYXNBQyk7CisgICAg
dW5kZWZpbmVkIHNldFN5c3RlbUhhc0JhdHRlcnlGb3JUZXN0aW5nKGJvb2xlYW4gaGFzQmF0dGVy
eSk7CisgICAgdW5kZWZpbmVkIHNldFN5c3RlbUhhc0FDRm9yVGVzdGluZyhib29sZWFuIGhhc0FD
KTsKIAotICAgIHZvaWQgc2V0SGFyZHdhcmVWUDlEZWNvZGVyRGlzYWJsZWRGb3JUZXN0aW5nKGJv
b2xlYW4gZGlzYWJsZWQpOwotICAgIHZvaWQgc2V0VlA5U2NyZWVuU2l6ZUFuZFNjYWxlRm9yVGVz
dGluZyhkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQsIGRvdWJsZSBzY2FsZSk7CisgICAgdW5k
ZWZpbmVkIHNldEhhcmR3YXJlVlA5RGVjb2RlckRpc2FibGVkRm9yVGVzdGluZyhib29sZWFuIGRp
c2FibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0VlA5U2NyZWVuU2l6ZUFuZFNjYWxlRm9yVGVzdGlu
Zyhkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQsIGRvdWJsZSBzY2FsZSk7CiAKICAgICBsb25n
IHJlYWRQcmVmZXJlbmNlSW50ZWdlcihET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsK
ICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBE
T01TdHJpbmcga2V5KTsKQEAgLTk2NCw1ICs5NjQsNSBAQCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdv
cnkgewogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIHVuc2lnbmVkIGxvbmcgbWVk
aWFLZXlzSW50ZXJuYWxJbnN0YW5jZU9iamVjdFJlZkNvdW50KE1lZGlhS2V5cyBtZWRpYUtleXMp
OwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIHVuc2lnbmVkIGxvbmcgbWVkaWFL
ZXlTZXNzaW9uSW50ZXJuYWxJbnN0YW5jZVNlc3Npb25PYmplY3RSZWZDb3VudChNZWRpYUtleVNl
c3Npb24gc2Vzc2lvbik7CiAKLSAgICB2b2lkIHNldENvbnRlbnRTaXplQ2F0ZWdvcnkoQ29udGVu
dFNpemVDYXRlZ29yeSBjYXRlZ29yeSk7CisgICAgdW5kZWZpbmVkIHNldENvbnRlbnRTaXplQ2F0
ZWdvcnkoQ29udGVudFNpemVDYXRlZ29yeSBjYXRlZ29yeSk7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw2IEBACiAgICAgYXR0cmlidXRlIGJvb2xlYW4gc3VwcG9ydHNTZXNzaW9uczsK
ICAgICBhdHRyaWJ1dGUgc2VxdWVuY2U8TWVkaWFLZXlFbmNyeXB0aW9uU2NoZW1lPiBzdXBwb3J0
ZWRFbmNyeXB0aW9uU2NoZW1lczsKIAotICAgIHZvaWQgdW5yZWdpc3RlcigpOworICAgIHVuZGVm
aW5lZCB1bnJlZ2lzdGVyKCk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYWdlT3ZlcmxheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGFnZU92ZXJsYXkuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUg
QEAKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
CiBdIGludGVyZmFjZSBNb2NrUGFnZU92ZXJsYXkgewotICAgIHZvaWQgc2V0RnJhbWUoZG91Ymxl
IHgsIGRvdWJsZSB5LCBkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQpOworICAgIHVuZGVmaW5l
ZCBzZXRGcmFtZShkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB3aWR0aCwgZG91YmxlIGhlaWdo
dCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxNSAr
MjcsMTUgQEAKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCiAgICAgTm9JbnRlcmZhY2VPYmpl
Y3QsCiBdIGludGVyZmFjZSBNb2NrUGF5bWVudENvb3JkaW5hdG9yIHsKLSAgICB2b2lkIHNldENh
bk1ha2VQYXltZW50cyhib29sZWFuIGNhbk1ha2VQYXltZW50cyk7Ci0gICAgdm9pZCBzZXRDYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChib29sZWFuIGNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKTsKLSAgICB2b2lkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mg
c2hpcHBpbmdBZGRyZXNzKTsKLSAgICB2b2lkIGNoYW5nZVNoaXBwaW5nT3B0aW9uKERPTVN0cmlu
ZyBzaGlwcGluZ09wdGlvbik7Ci0gICAgdm9pZCBjaGFuZ2VQYXltZW50TWV0aG9kKEFwcGxlUGF5
UGF5bWVudE1ldGhvZCBwYXltZW50TWV0aG9kKTsKLSAgICB2b2lkIGFjY2VwdFBheW1lbnQoKTsK
LSAgICB2b2lkIGNhbmNlbFBheW1lbnQoKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuTWFrZVBheW1l
bnRzKGJvb2xlYW4gY2FuTWFrZVBheW1lbnRzKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuTWFrZVBh
eW1lbnRzV2l0aEFjdGl2ZUNhcmQoYm9vbGVhbiBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZCk7CisgICAgdW5kZWZpbmVkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mg
c2hpcHBpbmdBZGRyZXNzKTsKKyAgICB1bmRlZmluZWQgY2hhbmdlU2hpcHBpbmdPcHRpb24oRE9N
U3RyaW5nIHNoaXBwaW5nT3B0aW9uKTsKKyAgICB1bmRlZmluZWQgY2hhbmdlUGF5bWVudE1ldGhv
ZChBcHBsZVBheVBheW1lbnRNZXRob2QgcGF5bWVudE1ldGhvZCk7CisgICAgdW5kZWZpbmVkIGFj
Y2VwdFBheW1lbnQoKTsKKyAgICB1bmRlZmluZWQgY2FuY2VsUGF5bWVudCgpOwogCi0gICAgdm9p
ZCBhZGRTZXR1cEZlYXR1cmUoQXBwbGVQYXlTZXR1cEZlYXR1cmVTdGF0ZSBzdGF0ZSwgQXBwbGVQ
YXlTZXR1cEZlYXR1cmVUeXBlIHR5cGUsIGJvb2xlYW4gc3VwcG9ydHNJbnN0YWxsbWVudHMpOwor
ICAgIHVuZGVmaW5lZCBhZGRTZXR1cEZlYXR1cmUoQXBwbGVQYXlTZXR1cEZlYXR1cmVTdGF0ZSBz
dGF0ZSwgQXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlIHR5cGUsIGJvb2xlYW4gc3VwcG9ydHNJbnN0
YWxsbWVudHMpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5TGluZUl0ZW0gdG90
YWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+IGxp
bmVJdGVtczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVy
bmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29y
a2VySW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvdGVz
dGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTm9JbnRlcmZhY2VP
YmplY3QsCiBdIGludGVyZmFjZSBTZXJ2aWNlV29ya2VySW50ZXJuYWxzIHsKLSAgICB2b2lkIHNl
dE9ubGluZShib29sZWFuIGlzT25saW5lKTsKKyAgICB1bmRlZmluZWQgc2V0T25saW5lKGJvb2xl
YW4gaXNPbmxpbmUpOwogICAgIFByb21pc2U8UmVzcG9uc2U+IHdhaXRGb3JGZXRjaEV2ZW50VG9G
aW5pc2goRmV0Y2hFdmVudCBldmVudCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIEZldGNoRXZlbnQgY3JlYXRlQmVpbmdEaXNwYXRjaGVkRmV0Y2hFdmVudCgpOwogICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBGZXRjaFJlc3BvbnNlIGNyZWF0ZU9w
YXF1ZVdpdGhCbG9iQm9keVJlc3BvbnNlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1R5cGVDb252ZXJzaW9ucy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9UeXBlQ29udmVyc2lvbnMuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY2LDEzICs2
NiwxMyBAQAogICAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdGVzdFVTVlN0cmluZzsKICAgICBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdGVzdFRyZWF0TnVsbEFz
RW1wdHlTdHJpbmc7CiAKLSAgICB2b2lkIHNldFRlc3RMb25nUmVjb3JkKHJlY29yZDxET01TdHJp
bmcsIGxvbmc+IHJlY29yZCk7CisgICAgdW5kZWZpbmVkIHNldFRlc3RMb25nUmVjb3JkKHJlY29y
ZDxET01TdHJpbmcsIGxvbmc+IHJlY29yZCk7CiAgICAgcmVjb3JkPERPTVN0cmluZywgbG9uZz4g
dGVzdExvbmdSZWNvcmQoKTsKIAotICAgIHZvaWQgc2V0VGVzdE5vZGVSZWNvcmQocmVjb3JkPFVT
VlN0cmluZywgTm9kZT4gcmVjb3JkKTsKKyAgICB1bmRlZmluZWQgc2V0VGVzdE5vZGVSZWNvcmQo
cmVjb3JkPFVTVlN0cmluZywgTm9kZT4gcmVjb3JkKTsKICAgICByZWNvcmQ8VVNWU3RyaW5nLCBO
b2RlPiB0ZXN0Tm9kZVJlY29yZCgpOwogCi0gICAgdm9pZCBzZXRUZXN0U2VxdWVuY2VSZWNvcmQo
cmVjb3JkPEJ5dGVTdHJpbmcsIHNlcXVlbmNlPERPTVN0cmluZz4+IHJlY29yZCk7CisgICAgdW5k
ZWZpbmVkIHNldFRlc3RTZXF1ZW5jZVJlY29yZChyZWNvcmQ8Qnl0ZVN0cmluZywgc2VxdWVuY2U8
RE9NU3RyaW5nPj4gcmVjb3JkKTsKICAgICByZWNvcmQ8Qnl0ZVN0cmluZywgc2VxdWVuY2U8RE9N
U3RyaW5nPj4gdGVzdFNlcXVlbmNlUmVjb3JkKCk7CiAKICAgICBhdHRyaWJ1dGUgKERPTVN0cmlu
ZyBvciBsb25nIG9yIGJvb2xlYW4gb3IgTm9kZSBvciBzZXF1ZW5jZTxsb25nPikgdGVzdFVuaW9u
OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmlkbAkocmV2
aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2Uu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwzMiArMzIsMzIgQEAKIF0gaW50ZXJmYWNlIFdlYkZh
a2VYUkRldmljZSB7CiAgIC8vIFNldHMgdGhlIHZhbHVlcyB0byBiZSB1c2VkIGZvciBzdWJzZXF1
ZW50CiAgIC8vIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIGNhbGxiYWNrcy4KLSAgdm9pZCBzZXRW
aWV3cyhzZXF1ZW5jZTxGYWtlWFJWaWV3SW5pdD4gdmlld3MpOworICB1bmRlZmluZWQgc2V0Vmll
d3Moc2VxdWVuY2U8RmFrZVhSVmlld0luaXQ+IHZpZXdzKTsKIAogICAvLyBiZWhhdmVzIGFzIGlm
IGRldmljZSB3YXMgZGlzY29ubmVjdGVkCi0gIFByb21pc2U8dm9pZD4gZGlzY29ubmVjdCgpOwor
ICBQcm9taXNlPHVuZGVmaW5lZD4gZGlzY29ubmVjdCgpOwogCiAgIC8vIFNldHMgdGhlIG9yaWdp
biBvZiB0aGUgdmlld2VyCi0gIHZvaWQgc2V0Vmlld2VyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNm
b3JtSW5pdCBvcmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9IGZhbHNl
KTsKKyAgdW5kZWZpbmVkIHNldFZpZXdlck9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQg
b3JpZ2luLCBvcHRpb25hbCBib29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CiAKICAg
Ly8gSWYgYW4gb3JpZ2luIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIGRldmljZSBpcyBhc3N1
bWVkIHRvIG5vdCBiZSB0cmFja2luZywgZW11bGF0ZWRQb3NpdGlvbiBzaG91bGQKICAgLy8gYmUg
YXNzdW1lZCBmb3IgY2FzZXMgd2hlcmUgdGhlIFVBIG11c3QgYWx3YXlzIHByb3ZpZGUgYSBwb3Nl
LgotICB2b2lkIGNsZWFyVmlld2VyT3JpZ2luKCk7CisgIHVuZGVmaW5lZCBjbGVhclZpZXdlck9y
aWdpbigpOwogCiAgIC8vIFNpbXVsYXRlcyBkZXZpY2VzIGZvY3VzaW5nIGFuZCBibHVycmluZyBz
ZXNzaW9ucy4KLSAgdm9pZCBzaW11bGF0ZVZpc2liaWxpdHlDaGFuZ2UoWFJWaXNpYmlsaXR5U3Rh
dGUgdmlzaWJpbGl0eVN0YXRlKTsKKyAgdW5kZWZpbmVkIHNpbXVsYXRlVmlzaWJpbGl0eUNoYW5n
ZShYUlZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUpOwogCi0gIHZvaWQgc2V0Qm91bmRz
R2VvbWV0cnkoc2VxdWVuY2U8RmFrZVhSQm91bmRzUG9pbnQ+IGJvdW5kc0Nvb3JkaW5hdGVzKTsK
KyAgdW5kZWZpbmVkIHNldEJvdW5kc0dlb21ldHJ5KHNlcXVlbmNlPEZha2VYUkJvdW5kc1BvaW50
PiBib3VuZHNDb29yZGluYXRlcyk7CiAgIC8vIFNldHMgdGhlIG5hdGl2ZSBvcmlnaW4gb2YgdGhl
IHBoeXNpY2FsIGZsb29yCi0gIHZvaWQgc2V0Rmxvb3JPcmlnaW4oRmFrZVhSUmlnaWRUcmFuc2Zv
cm1Jbml0IGZsb29yT3JpZ2luKTsKKyAgdW5kZWZpbmVkIHNldEZsb29yT3JpZ2luKEZha2VYUlJp
Z2lkVHJhbnNmb3JtSW5pdCBmbG9vck9yaWdpbik7CiAKICAgLy8gSW5kaWNhdGVzIHRoYXQgdGhl
IGRldmljZSBjYW4gbm8gbG9uZ2VyIGlkZW50aWZ5IHRoZSBsb2NhdGlvbiBvZiB0aGUgcGh5c2lj
YWwgZmxvb3IuCi0gIHZvaWQgY2xlYXJGbG9vck9yaWdpbigpOworICB1bmRlZmluZWQgY2xlYXJG
bG9vck9yaWdpbigpOwogCiAgIC8vIFVzZWQgdG8gc2ltdWxhdGUgYSBtYWpvciBjaGFuZ2UgaW4g
dHJhY2tpbmcgYW5kIHRoYXQgYSByZXNldCBwb3NlIGV2ZW50IHNob3VsZCBiZSBmaXJlZAogICAv
LyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLyNldmVudC10eXBlcwotICB2
b2lkIHNpbXVsYXRlUmVzZXRQb3NlKCk7CisgIHVuZGVmaW5lZCBzaW11bGF0ZVJlc2V0UG9zZSgp
OwogCiAgIC8vIFVzZWQgdG8gY29ubmVjdCBhbmQgc2VuZCBpbnB1dCBldmVudHMKICAgV2ViRmFr
ZVhSSW5wdXRDb250cm9sbGVyIHNpbXVsYXRlSW5wdXRTb3VyY2VDb25uZWN0aW9uKEZha2VYUklu
cHV0U291cmNlSW5pdCBpbnB1dFNvdXJjZSk7Ci19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJv
bGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJ
bnB1dENvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDQ3ICszMSw0NyBAQAogICAgIE5vSW50ZXJmYWNlT2JqZWN0CiBdIGludGVyZmFjZSBXZWJGYWtl
WFJJbnB1dENvbnRyb2xsZXIgewogICAgIC8vIEluZGljYXRlcyB0aGF0IHRoZSBoYW5kZWRuZXNz
IG9mIHRoZSBkZXZpY2UgaGFzIGNoYW5nZWQuCi0gICAgdm9pZCBzZXRIYW5kZWRuZXNzKFhSSGFu
ZGVkbmVzcyBoYW5kZWRuZXNzKTsKKyAgICB1bmRlZmluZWQgc2V0SGFuZGVkbmVzcyhYUkhhbmRl
ZG5lc3MgaGFuZGVkbmVzcyk7CiAKICAgICAvLyBJbmRpY2F0ZXMgdGhhdCB0aGUgdGFyZ2V0IHJh
eSBtb2RlIG9mIHRoZSBkZXZpY2UgaGFzIGNoYW5nZWQuCi0gICAgdm9pZCBzZXRUYXJnZXRSYXlN
b2RlKFhSVGFyZ2V0UmF5TW9kZSB0YXJnZXRSYXlNb2RlKTsKKyAgICB1bmRlZmluZWQgc2V0VGFy
Z2V0UmF5TW9kZShYUlRhcmdldFJheU1vZGUgdGFyZ2V0UmF5TW9kZSk7CiAKICAgICAvLyBJbmRp
Y2F0ZXMgdGhhdCB0aGUgbGlzdCBvZiBwcm9maWxlcyByZXByZXNlbnRpbmcgdGhlIGRldmljZSBo
YXMgY2hhbmdlZC4KLSAgICB2b2lkIHNldFByb2ZpbGVzKHNlcXVlbmNlPERPTVN0cmluZz4gcHJv
ZmlsZXMpOworICAgIHVuZGVmaW5lZCBzZXRQcm9maWxlcyhzZXF1ZW5jZTxET01TdHJpbmc+IHBy
b2ZpbGVzKTsKIAogICAgIC8vIFNldHMgb3IgY2xlYXJzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29u
dHJvbGxlci4gIElmIG5vdCBzZXQsIHRoZSBjb250cm9sbGVyIGlzIGFzc3VtZWQgdG8KICAgICAv
LyBub3QgYmUgdHJhY2tlZC4KLSAgICB2b2lkIHNldEdyaXBPcmlnaW4oRmFrZVhSUmlnaWRUcmFu
c2Zvcm1Jbml0IGdyaXBPcmlnaW4sIG9wdGlvbmFsIGJvb2xlYW4gZW11bGF0ZWRQb3NpdGlvbiA9
IGZhbHNlKTsKLSAgICB2b2lkIGNsZWFyR3JpcE9yaWdpbigpOworICAgIHVuZGVmaW5lZCBzZXRH
cmlwT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBncmlwT3JpZ2luLCBvcHRpb25hbCBi
b29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBmYWxzZSk7CisgICAgdW5kZWZpbmVkIGNsZWFyR3Jp
cE9yaWdpbigpOwogCiAgICAgLy8gU2V0cyB0aGUgcG9pbnRlciBvcmlnaW4gZm9yIHRoZSBjb250
cm9sbGVyLgotICAgIHZvaWQgc2V0UG9pbnRlck9yaWdpbihGYWtlWFJSaWdpZFRyYW5zZm9ybUlu
aXQgcG9pbnRlck9yaWdpbiwgb3B0aW9uYWwgYm9vbGVhbiBlbXVsYXRlZFBvc2l0aW9uID0gZmFs
c2UpOworICAgIHVuZGVmaW5lZCBzZXRQb2ludGVyT3JpZ2luKEZha2VYUlJpZ2lkVHJhbnNmb3Jt
SW5pdCBwb2ludGVyT3JpZ2luLCBvcHRpb25hbCBib29sZWFuIGVtdWxhdGVkUG9zaXRpb24gPSBm
YWxzZSk7CiAKICAgICAvLyBUZW1wb3JhcmlseSBkaXNjb25uZWN0IHRoZSBpbnB1dCBkZXZpY2UK
LSAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKyAgICB1bmRlZmluZWQgZGlzY29ubmVjdCgpOwogCiAg
ICAgLy8gUmVjb25uZWN0IGEgZGlzY29ubmVjdGVkIGlucHV0IGRldmljZQotICAgIHZvaWQgcmVj
b25uZWN0KCk7CisgICAgdW5kZWZpbmVkIHJlY29ubmVjdCgpOwogCiAgICAgLy8gU3RhcnQgYSBz
ZWxlY3Rpb24gZm9yIHRoZSBjdXJyZW50IGZyYW1lIHdpdGggdGhlIHByaW1hcnkgaW5wdXQKICAg
ICAvLyBJZiBhIGdhbWVwYWQgaXMgc3VwcG9ydGVkLCBzaG91bGQgdXBkYXRlIHRoZSBzdGF0ZSBv
ZiB0aGUgcHJpbWFyeSBidXR0b24gYWNjb3JkaW5nbHkuCi0gICAgdm9pZCBzdGFydFNlbGVjdGlv
bigpOworICAgIHVuZGVmaW5lZCBzdGFydFNlbGVjdGlvbigpOwogCiAgICAgLy8gRW5kIHNlbGVj
dGlvbiBmb3IgdGhlIGN1cnJlbnQgZnJhbWUgd2l0aCB0aGUgcHJpbWFyeSBpbnB1dAogICAgIC8v
IElmIGEgZ2FtZXBhZCBpcyBzdXBwb3J0ZWQsIHNob3VsZCB1cGRhdGUgdGhlIHN0YXRlIG9mIHRo
ZSBwcmltYXJ5IGJ1dHRvbiBhY2NvcmRpbmdseS4KLSAgICB2b2lkIGVuZFNlbGVjdGlvbigpOwor
ICAgIHVuZGVmaW5lZCBlbmRTZWxlY3Rpb24oKTsKIAogICAgIC8vIFNpbXVsYXRlcyBhIHN0YXJ0
L2VuZFNlbGVjdGlvbiBmb3IgdGhlIGN1cnJlbnQgZnJhbWUgd2l0aCB0aGUgcHJpbWFyeSBpbnB1
dAogICAgIC8vIElmIGEgZ2FtZXBhZCBpcyBzdXBwb3J0ZWQsIHNob3VsZCB1cGRhdGUgdGhlIHN0
YXRlIG9mIHRoZSBwcmltYXJ5IGJ1dHRvbiBhY2NvcmRpbmdseS4KLSAgICB2b2lkIHNpbXVsYXRl
U2VsZWN0KCk7CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlU2VsZWN0KCk7CiAKICAgICAvLyBVcGRh
dGVzIHRoZSBzZXQgb2Ygc3VwcG9ydGVkIGJ1dHRvbnMsIGluY2x1ZGluZyBhbnkgaW5pdGlhbCBz
dGF0ZS4KICAgICAvLyBOb3RlIHRoYXQgdGhpcyBtZXRob2Qgc2hvdWxkIG5vdCBiZSBnZW5lcmFs
bHkgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZQogICAgIC8vIGJ1dHRvbnMsIGFzIHRo
ZSBVQSBtYXkgdHJlYXQgdGhpcyBhcyByZS1jcmVhdGluZyB0aGUgR2FtZXBhZC4KICAgICAvLyBO
b3RlIHRoYXQgaWYgYW55IEZha2VYUkJ1dHRvblR5cGUgaXMgcmVwZWF0ZWQgdGhlIGJlaGF2aW9y
IGlzIHVuZGVmaW5lZC4KLSAgICB2b2lkIHNldFN1cHBvcnRlZEJ1dHRvbnMoc2VxdWVuY2U8RmFr
ZVhSQnV0dG9uU3RhdGVJbml0PiBzdXBwb3J0ZWRCdXR0b25zKTsKKyAgICB1bmRlZmluZWQgc2V0
U3VwcG9ydGVkQnV0dG9ucyhzZXF1ZW5jZTxGYWtlWFJCdXR0b25TdGF0ZUluaXQ+IHN1cHBvcnRl
ZEJ1dHRvbnMpOwogCiAgICAgLy8gVXNlZCB0byB1cGRhdGUgdGhlIHN0YXRlIG9mIGEgYnV0dG9u
IGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgdGhlIGlucHV0IHNvdXJjZQogICAgIC8vIFdpbGwgbm90
IGFkZCBzdXBwb3J0IGZvciB0aGF0IGJ1dHRvbiBpZiBpdCBpcyBub3QgY3VycmVudGx5IHN1cHBv
cnRlZC4KLSAgICB2b2lkIHVwZGF0ZUJ1dHRvblN0YXRlKEZha2VYUkJ1dHRvblN0YXRlSW5pdCBi
dXR0b25TdGF0ZSk7CisgICAgdW5kZWZpbmVkIHVwZGF0ZUJ1dHRvblN0YXRlKEZha2VYUkJ1dHRv
blN0YXRlSW5pdCBidXR0b25TdGF0ZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9XZWJYUlRlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2Vi
WFJUZXN0LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9X
ZWJYUlRlc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAKICAgICAvLyBT
aW11bGF0ZXMgYSB1c2VyIGFjdGl2YXRpb24gKGFrYSB1c2VyIGdlc3R1cmUpIGZvciB0aGUgY3Vy
cmVudCBzY29wZS4KICAgICAvLyBUaGUgYWN0aXZhdGlvbiBpcyBvbmx5IGd1YXJhbnRlZWQgdG8g
YmUgdmFsaWQgaW4gdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGFuZCBvbmx5IGFwcGxpZXMgdG8gV2Vi
WFIKICAgICAvLyBEZXZpY2UgQVBJIG1ldGhvZHMuCi0gICAgW0NhbGxXaXRoPURvY3VtZW50XSB2
b2lkIHNpbXVsYXRlVXNlckFjdGl2YXRpb24oWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rp
b24gZik7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgc2ltdWxhdGVVc2VyQWN0
aXZhdGlvbihYUlNpbXVsYXRlVXNlckFjdGl2YXRpb25GdW5jdGlvbiBmKTsKIAogICAgIC8vIERp
c2Nvbm5lY3QgYWxsIGZha2UgZGV2aWNlcwotICAgIFByb21pc2U8dm9pZD4gZGlzY29ubmVjdEFs
bERldmljZXMoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gZGlzY29ubmVjdEFsbERldmljZXMo
KTsKIH07CiAKIFsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvWFJTaW11bGF0ZVVzZXJB
Y3RpdmF0aW9uRnVuY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24uaWRsCShyZXZpc2lvbiAyNjYyOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1hSU2ltdWxhdGVVc2VyQWN0aXZhdGlvbkZ1bmN0
aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNCArMjUsNCBAQAogWwogICAgIENvbmRpdGlv
bmFsPVdFQlhSLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViWFIKLV0gY2FsbGJhY2sgWFJTaW11
bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24gPSB2b2lkICgpOworXSBjYWxsYmFjayBYUlNpbXVs
YXRlVXNlckFjdGl2YXRpb25GdW5jdGlvbiA9IHVuZGVmaW5lZCAoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRs
CShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEzIEBACiBd
IGludGVyZmFjZSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2JhbFNjb3Bl
IHsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsK
IAotICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBv
c3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBb
Q2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2Fn
ZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAg
IFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9z
dE1lc3NhZ2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1l
c3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsK
IAogICAgIFtDb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTLCBFbmFibGVkQXRSdW50aW1lPU9m
ZnNjcmVlbkNhbnZhc10gbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2sgY2FsbGJhY2spOyAvLyBGSVhNRTogU2hvdWxkIHJldHVybiBhbiB1bnNp
Z25lZCBsb25nLgotICAgIFtDb25kaXRpb25hbD1PRkZTQ1JFRU5fQ0FOVkFTLCBFbmFibGVkQXRS
dW50aW1lPU9mZnNjcmVlbkNhbnZhc10gdm9pZCBjYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGhh
bmRsZSk7IC8vIEZJWE1FOiBoYW5kbGUgc2hvdWxkIGJlIGFuIHVuc2lnbmVkIGxvbmcuCisgICAg
W0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVu
Q2FudmFzXSB1bmRlZmluZWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUobG9uZyBoYW5kbGUpOyAvLyBG
SVhNRTogaGFuZGxlIHNob3VsZCBiZSBhbiB1bnNpZ25lZCBsb25nLgogCi0gICAgdm9pZCBjbG9z
ZSgpOworICAgIHVuZGVmaW5lZCBjbG9zZSgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbm1lc3NhZ2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkocmV2aXNp
b24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxMCArMjksMTAgQEAKIF0gaW50ZXJmYWNlIFdvcmtlciA6IEV2ZW50VGFy
Z2V0IHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCZSdW50aW1lRmxhZ3Ms
IE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VXJsLCBvcHRp
b25hbCBXb3JrZXJPcHRpb25zIG9wdGlvbnMpOwogCi0gICAgdm9pZCB0ZXJtaW5hdGUoKTsKKyAg
ICB1bmRlZmluZWQgdGVybWluYXRlKCk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgc2VxdWVuY2U8
b2JqZWN0PiB0cmFuc2Zlcik7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNz
YWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxv
YmplY3Q+IHRyYW5zZmVyKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBQb3N0
TWVzc2FnZU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1l
c3NhZ2U7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAKIAog
ICAgIC8vIFdvcmtlclV0aWxzCiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgaW1wb3J0
U2NyaXB0cyhVU1ZTdHJpbmcuLi4gdXJscyk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRl
ZmluZWQgaW1wb3J0U2NyaXB0cyhVU1ZTdHJpbmcuLi4gdXJscyk7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFdvcmtlck5hdmlnYXRvciBuYXZpZ2F0b3I7CiAKICAgICAvLyBBZGRpdGlvbmFsIGNv
bnN0cnVjdG9ycwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFi
bGVFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L0V4dGVuZGFibGVFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
Miw1ICszMiw1IEBACiBdIGludGVyZmFjZSBFeHRlbmRhYmxlRXZlbnQgOiBFdmVudCB7CiAgICAg
Y29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV4dGVuZGFibGVFdmVudEluaXQg
ZXZlbnRJbml0RGljdCk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgd2FpdFVudGls
KFByb21pc2U8YW55PiBmKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCB3YWl0
VW50aWwoUHJvbWlzZTxhbnk+IGYpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9GZXRjaEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNyArMzgsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVzZXJ2ZWRD
bGllbnRJZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldENsaWVudElk
OwogCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlc3BvbmRXaXRoKFByb21pc2U8RmV0
Y2hSZXNwb25zZT4gcik7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVzcG9u
ZFdpdGgoUHJvbWlzZTxGZXRjaFJlc3BvbnNlPiByKTsKIH07CiAKIGRpY3Rpb25hcnkgRmV0Y2hF
dmVudEluaXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzYsOCArMzYsOCBAQAogXSBpbnRlcmZhY2UgU2VydmljZVdvcmtlciA6
IEV2ZW50VGFyZ2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjcmlwdFVS
TDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclN0YXRlIHN0YXRlOwotICAg
IFtDYWxsV2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNz
YWdlKGFueSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdp
dGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkg
bWVzc2FnZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3Nh
Z2UoYW55IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0
aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2Uo
YW55IG1lc3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIAogICAg
IC8vIGV2ZW50CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnN0YXRlY2hhbmdlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50LmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4
ICszNSw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBl
IHR5cGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKIAotICAgIFtDYWxs
V2l0aD1HbG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFu
eSBtZXNzYWdlLCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyKTsKLSAgICBbQ2FsbFdpdGg9R2xv
YmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2Fn
ZSwgb3B0aW9uYWwgUG9zdE1lc3NhZ2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1H
bG9iYWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55
IG1lc3NhZ2UsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIpOworICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIE1heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1l
c3NhZ2UsIG9wdGlvbmFsIFBvc3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIH07CiAKIGVudW0g
RnJhbWVUeXBlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8YW55PiBnZXQoRE9NU3RyaW5nIGlkKTsKICAg
ICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHNl
cXVlbmNlPENsaWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRp
b25zKTsKICAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQ
cm9taXNlPFdpbmRvd0NsaWVudD8+IG9wZW5XaW5kb3coVVNWU3RyaW5nIHVybCk7Ci0gICAgW05l
d09iamVjdCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTx2b2lkPiBj
bGFpbSgpOworICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IFByb21pc2U8dW5kZWZpbmVkPiBjbGFpbSgpOwogfTsKIAogZGljdGlvbmFyeSBDbGllbnRRdWVy
eU9wdGlvbnMgewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysg
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAgICAgW05ld09iamVjdF0gUHJvbWlz
ZTxhbnk+IGdldFJlZ2lzdHJhdGlvbihvcHRpb25hbCBVU1ZTdHJpbmcgY2xpZW50VVJMID0gIiIp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbj4+IGdldFJlZ2lzdHJhdGlvbnMoKTsKIAotICAgIHZvaWQgc3RhcnRNZXNzYWdlcygpOwor
ICAgIHVuZGVmaW5lZCBzdGFydE1lc3NhZ2VzKCk7CiAKICAgICAvLyBldmVudHMKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uY29udHJvbGxlcmNoYW5nZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NyArMzcsNyBAQAogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdv
cmtlckNsaWVudHMgY2xpZW50czsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gcmVnaXN0cmF0aW9uOwogCi0gICAgW05ld09iamVj
dF0gUHJvbWlzZTx2b2lkPiBza2lwV2FpdGluZygpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8
dW5kZWZpbmVkPiBza2lwV2FpdGluZygpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmluc3RhbGw7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFjdGl2YXRlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24u
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmlu
ZyBzY29wZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNh
Y2hlIHVwZGF0ZVZpYUNhY2hlOwogCi0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB1cGRh
dGUoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHVuZGVmaW5lZD4gdXBkYXRlKCk7CiAgICAg
W05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiB1bnJlZ2lzdGVyKCk7CiAKICAgICAvLyBldmVu
dApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEds
b2JhbFNjb3BlLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICsz
NCw2IEBACiAgICAgSXNJbW11dGFibGVQcm90b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZSwK
ICAgICBHbG9iYWw9KFdvcmtsZXQsUGFpbnRXb3JrbGV0KSwKIF0gaW50ZXJmYWNlIFBhaW50V29y
a2xldEdsb2JhbFNjb3BlIDogV29ya2xldEdsb2JhbFNjb3BlIHsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb24sQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB2b2lkIHJlZ2lzdGVyUGFpbnQoRE9NU3RyaW5n
IG5hbWUsIG9iamVjdCBwYWludENvbnN0cnVjdG9yKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24s
Q2FsbFdpdGg9R2xvYmFsT2JqZWN0XSB1bmRlZmluZWQgcmVnaXN0ZXJQYWludChET01TdHJpbmcg
bmFtZSwgb2JqZWN0IHBhaW50Q29uc3RydWN0b3IpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZG91YmxlIGRldmljZVBpeGVsUmF0aW87CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3dvcmtsZXRzL1dvcmtsZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw1ICsyOSw1IEBACiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBHbG9iYWw9V29ya2xldCwKIF0gaW50
ZXJmYWNlIFdvcmtsZXQgewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgYWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1bGVVUkwvKiwgb3B0aW9uYWwgV29ya2xl
dE9wdGlvbnMgb3B0aW9ucyovKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgYWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1bGVVUkwvKiwgb3B0aW9u
YWwgV29ya2xldE9wdGlvbnMgb3B0aW9ucyovKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNCBAQCBl
bnVtIFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZTsKIAogICAgIC8vIHJlcXVlc3QKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgb3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVybCk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG9wZW4oQnl0ZVN0cmluZyBtZXRob2QsIFVT
VlN0cmluZyB1cmwsIGJvb2xlYW4gYXN5bmMsIG9wdGlvbmFsIFVTVlN0cmluZz8gdXNlciA9IG51
bGwsIG9wdGlvbmFsIFVTVlN0cmluZz8gcGFzc3dvcmQgPSBudWxsKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgc2V0UmVxdWVzdEhlYWRlcihCeXRlU3RyaW5nIGhlYWRlciwgQnl0ZVN0
cmluZyB2YWx1ZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgb3BlbihCeXRl
U3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVybCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgb3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgVVNWU3RyaW5nIHVybCwgYm9vbGVhbiBh
c3luYywgb3B0aW9uYWwgVVNWU3RyaW5nPyB1c2VyID0gbnVsbCwgb3B0aW9uYWwgVVNWU3RyaW5n
PyBwYXNzd29yZCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dFJlcXVlc3RIZWFkZXIoQnl0ZVN0cmluZyBoZWFkZXIsIEJ5dGVTdHJpbmcgdmFsdWUpOwogICAg
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4g
d2l0aENyZWRlbnRpYWxzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYTUxIdHRwUmVxdWVzdFVw
bG9hZCB1cGxvYWQ7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNlbmQob3B0aW9uYWwg
KERvY3VtZW50IG9yIEJvZHlJbml0KT8gYm9keSA9IG51bGwpOwotICAgIHZvaWQgYWJvcnQoKTsK
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZW5kKG9wdGlvbmFsIChEb2N1bWVu
dCBvciBCb2R5SW5pdCk/IGJvZHkgPSBudWxsKTsKKyAgICB1bmRlZmluZWQgYWJvcnQoKTsKIAog
ICAgIC8vIHJlc3BvbnNlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyByZXNwb25z
ZVVSTDsKQEAgLTc2LDcgKzc2LDcgQEAgZW51bSBYTUxIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEJ5dGVTdHJpbmcgc3RhdHVzVGV4dDsKICAgICBCeXRl
U3RyaW5nPyBnZXRSZXNwb25zZUhlYWRlcihCeXRlU3RyaW5nIG5hbWUpOwogICAgIEJ5dGVTdHJp
bmcgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IG92ZXJyaWRlTWltZVR5cGUoRE9NU3RyaW5nIG1pbWUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIG92ZXJyaWRlTWltZVR5cGUoRE9NU3RyaW5nIG1pbWUpOwogICAgIGF0dHJp
YnV0ZSBYTUxIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSByZXNwb25zZVR5cGU7CiAgICAgW0NhY2hl
ZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYW55IHJlc3BvbnNl
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcmVzcG9uc2VUZXh0OwpJbmRleDog
U291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgU291
cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwx
NCArMzYsMTQgQEAKIF0gaW50ZXJmYWNlIFhTTFRQcm9jZXNzb3IgewogICAgIGNvbnN0cnVjdG9y
KCk7CiAKLSAgICB2b2lkIGltcG9ydFN0eWxlc2hlZXQob3B0aW9uYWwgTm9kZT8gc3R5bGVzaGVl
dCA9IG51bGwpOworICAgIHVuZGVmaW5lZCBpbXBvcnRTdHlsZXNoZWV0KG9wdGlvbmFsIE5vZGU/
IHN0eWxlc2hlZXQgPSBudWxsKTsKICAgICBEb2N1bWVudEZyYWdtZW50IHRyYW5zZm9ybVRvRnJh
Z21lbnQob3B0aW9uYWwgTm9kZT8gc291cmNlID0gbnVsbCwgb3B0aW9uYWwgRG9jdW1lbnQ/IGRv
Y1ZhbCA9IG51bGwpOwogICAgIERvY3VtZW50IHRyYW5zZm9ybVRvRG9jdW1lbnQob3B0aW9uYWwg
Tm9kZT8gc291cmNlID0gbnVsbCk7CiAKLSAgICB2b2lkIHNldFBhcmFtZXRlcihET01TdHJpbmc/
IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nPyBsb2NhbE5hbWUsIERPTVN0cmluZz8gdmFsdWUpOwor
ICAgIHVuZGVmaW5lZCBzZXRQYXJhbWV0ZXIoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0
cmluZz8gbG9jYWxOYW1lLCBET01TdHJpbmc/IHZhbHVlKTsKICAgICBET01TdHJpbmc/IGdldFBh
cmFtZXRlcihET01TdHJpbmc/IG5hbWVzcGFjZVVSSSwgRE9NU3RyaW5nPyBsb2NhbE5hbWUpOwot
ICAgIHZvaWQgcmVtb3ZlUGFyYW1ldGVyKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJp
bmc/IGxvY2FsTmFtZSk7Ci0gICAgdm9pZCBjbGVhclBhcmFtZXRlcnMoKTsKKyAgICB1bmRlZmlu
ZWQgcmVtb3ZlUGFyYW1ldGVyKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01TdHJpbmc/IGxv
Y2FsTmFtZSk7CisgICAgdW5kZWZpbmVkIGNsZWFyUGFyYW1ldGVycygpOwogCi0gICAgdm9pZCBy
ZXNldCgpOworICAgIHVuZGVmaW5lZCByZXNldCgpOwogfTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjI5OCkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTI3
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSAndm9p
ZCcgdHlwZSBpcyBjaGFuZ2luZyB0byAndW5kZWZpbmVkJworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NTE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS82NzU2NjIwMT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBVcGRhdGUgSURMcyBhbmQgSURMIHBhcnNpbmcgLyBjb2RlIGdlbmVyYXRpb24gZm9yIHRoZSBz
d2l0Y2ggZnJvbSAndm9pZCcgdG8gJ3VuZGVmaW5lZCcuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yRHVtcFJlbmRlclRyZWUucG06CisgICAgICAgIChf
Z2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZpbGUpOgorICAgICAgICAoX3JldHVybkV4cHJlc3Npb24p
OgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJ
U2NyaXB0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGw6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtOgorICAgICAgICAoX2dlbmVyYXRlSW1w
bGVtZW50YXRpb25GaWxlKToKKyAgICAgICAgKF9yZXR1cm5FeHByZXNzaW9uKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvR0NDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29udHJvbGxlci5pZGw6
CisKIDIwMjAtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbW92ZSBhbG1vc3QgYWxsIHRoZSByZW1haW5pbmcgdXNlcyBvZiBsaXZlIHJhbmdlcwpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJU
cmVlLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0JpbmRpbmdzL0NvZGVH
ZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQkocmV2aXNpb24gMjY2Mjk4KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJUcmVlLnBtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDMsNyArMzAzLDcgQEAgRU9GCiAgICAgICAgICAgICAgICAgJGZ1bmN0
aW9uQ2FsbCA9ICJpbXBsLT4iIC4gJG9wZXJhdGlvbi0+bmFtZSAuICIoIiAuIGpvaW4oIiwgIiwg
QGFyZ3VtZW50cykgLiAiKSI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIHB1c2goQGNvbnRlbnRzLCAiICAgICR7ZnVuY3Rpb25DYWxsfTtcblxuIikgaWYgJG9wZXJh
dGlvbi0+dHlwZS0+bmFtZSBlcSAidm9pZCI7CisgICAgICAgICAgICBwdXNoKEBjb250ZW50cywg
IiAgICAke2Z1bmN0aW9uQ2FsbH07XG5cbiIpIGlmICRvcGVyYXRpb24tPnR5cGUtPm5hbWUgZXEg
InVuZGVmaW5lZCI7CiAgICAgICAgICAgICBwdXNoKEBjb250ZW50cywgIiAgICByZXR1cm4gIiAu
ICRzZWxmLT5fcmV0dXJuRXhwcmVzc2lvbigkb3BlcmF0aW9uLT50eXBlLCAkZnVuY3Rpb25DYWxs
KSAuICI7XG59XG4iKTsKICAgICAgICAgfQogICAgIH0KQEAgLTQ3MSw3ICs0NzEsNyBAQCBzdWIg
X3JldHVybkV4cHJlc3Npb24KIHsKICAgICBteSAoJHNlbGYsICRyZXR1cm5UeXBlLCAkZXhwcmVz
c2lvbikgPSBAXzsKIAotICAgIHJldHVybiAiSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCki
IGlmICRyZXR1cm5UeXBlLT5uYW1lIGVxICJ2b2lkIjsKKyAgICByZXR1cm4gIkpTVmFsdWVNYWtl
VW5kZWZpbmVkKGNvbnRleHQpIiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAidW5kZWZpbmVkIjsK
ICAgICByZXR1cm4gIkpTVmFsdWVNYWtlQm9vbGVhbk9yTnVsbChjb250ZXh0LCAke2V4cHJlc3Np
b259KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgImJvb2xlYW4iICYmICRyZXR1cm5UeXBlLT5p
c051bGxhYmxlOwogICAgIHJldHVybiAiSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsICR7ZXhw
cmVzc2lvbn0pIiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAiYm9vbGVhbiI7CiAgICAgcmV0dXJu
ICIke2V4cHJlc3Npb259IiBpZiAkcmV0dXJuVHlwZS0+bmFtZSBlcSAib2JqZWN0IjsKSW5kZXg6
IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0
Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2
Mjk4KQorKysgVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3Mv
VUlTY3JpcHRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNTEgKzQwLDUxIEBA
IGVudW0gTW9kaWZpZXJLZXkgewogCiBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAot
ICAgIHZvaWQgZG9Bc3luY1Rhc2sob2JqZWN0IGNhbGxiYWNrKTsgLy8gVXNlZCB0byB0ZXN0IHRo
ZSBoYXJuZXNzLgotICAgIHZvaWQgdWlTY3JpcHRDb21wbGV0ZShET01TdHJpbmcgcmVzdWx0KTsK
KyAgICB1bmRlZmluZWQgZG9Bc3luY1Rhc2sob2JqZWN0IGNhbGxiYWNrKTsgLy8gVXNlZCB0byB0
ZXN0IHRoZSBoYXJuZXNzLgorICAgIHVuZGVmaW5lZCB1aVNjcmlwdENvbXBsZXRlKERPTVN0cmlu
ZyByZXN1bHQpOwogCi0gICAgdm9pZCBkb0FmdGVyUHJlc2VudGF0aW9uVXBkYXRlKG9iamVjdCBj
YWxsYmFjayk7IC8vIENhbGwgdGhlIGNhbGxiYWNrIGFmdGVyIHNlbmRpbmcgYSBtZXNzYWdlIHRv
IHRoZSBXZWJQcm9jZXNzIGFuZCByZWNlaXZpbmcgYSBzdWJzZXF1ZW50IHVwZGF0ZS4KLSAgICB2
b2lkIGRvQWZ0ZXJOZXh0U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRlKG9iamVjdCBjYWxsYmFjayk7
Ci0gICAgdm9pZCBlbnN1cmVQb3NpdGlvbkluZm9ybWF0aW9uSXNVcFRvRGF0ZUF0KGxvbmcgeCwg
bG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgZG9BZnRlclZpc2libGVDb250ZW50
UmVjdFVwZGF0ZShvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkb0FmdGVyUHJlc2Vu
dGF0aW9uVXBkYXRlKG9iamVjdCBjYWxsYmFjayk7IC8vIENhbGwgdGhlIGNhbGxiYWNrIGFmdGVy
IHNlbmRpbmcgYSBtZXNzYWdlIHRvIHRoZSBXZWJQcm9jZXNzIGFuZCByZWNlaXZpbmcgYSBzdWJz
ZXF1ZW50IHVwZGF0ZS4KKyAgICB1bmRlZmluZWQgZG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRp
b25VcGRhdGUob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZW5zdXJlUG9zaXRpb25J
bmZvcm1hdGlvbklzVXBUb0RhdGVBdChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsK
KyAgICB1bmRlZmluZWQgZG9BZnRlclZpc2libGVDb250ZW50UmVjdFVwZGF0ZShvYmplY3QgY2Fs
bGJhY2spOwogCi0gICAgdm9pZCBkb0FmdGVyRG91YmxlVGFwRGVsYXkob2JqZWN0IGNhbGxiYWNr
KTsKKyAgICB1bmRlZmluZWQgZG9BZnRlckRvdWJsZVRhcERlbGF5KG9iamVjdCBjYWxsYmFjayk7
CiAKLSAgICB2b2lkIHNpbXVsYXRlQWNjZXNzaWJpbGl0eVNldHRpbmdzQ2hhbmdlTm90aWZpY2F0
aW9uKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlQWNjZXNzaWJpbGl0
eVNldHRpbmdzQ2hhbmdlTm90aWZpY2F0aW9uKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBJ
bnRlcmFjdGlvbi4KICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgcG9zdCBldmVudHMgYXN5bmNocm9u
b3VzbHkuIFRoZSBjYWxsYmFjayBpcyBmaXJlZCB3aGVuIHRoZSBldmVudHMgaGF2ZSBiZWVuIGRp
c3BhdGNoZWQsIGJ1dCBhbnkKICAgICAvLyByZXN1bHRpbmcgYmVoYXZpb3IgbWF5IGFsc28gYmUg
YXN5bmNocm9ub3VzLiBQb2ludHMgYXJlIGluICJnbG9iYWwiIChXS1dlYlZpZXcpIGNvb3JkaW5h
dGVzLgotICAgIHZvaWQgdG91Y2hEb3duQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3Vj
aENvdW50LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgbGlmdFVwQXRQb2ludChsb25nIHgs
IGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc2lu
Z2xlVGFwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lk
IHNpbmdsZVRhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgbW9k
aWZpZXJBcnJheSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHR3b0ZpbmdlclNpbmdsZVRh
cEF0UG9pbnQobG9uZyB4LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBkb3Vi
bGVUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBkZWxheSwgb2JqZWN0IGNhbGxiYWNr
KTsKLSAgICB2b2lkIGRyYWdGcm9tUG9pbnRUb1BvaW50KGxvbmcgc3RhcnRYLCBsb25nIHN0YXJ0
WSwgbG9uZyBlbmRYLCBsb25nIGVuZFksIGRvdWJsZSBkdXJhdGlvblNlY29uZHMsIG9iamVjdCBj
YWxsYmFjayk7Ci0KLSAgICB2b2lkIGFjdGl2YXRlQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKLQotICAgIHZvaWQgbG9uZ1ByZXNzQXRQb2ludChsb25nIHgsIGxvbmcg
eSwgb2JqZWN0IGNhbGxiYWNrKTsKLQotICAgIHZvaWQgc3R5bHVzRG93bkF0UG9pbnQobG9uZyB4
LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQg
cHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNNb3ZlVG9Qb2ludChs
b25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBm
bG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0eWx1c1VwQXRQb2lu
dChsb25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0eWx1c1RhcEF0
UG9pbnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVB
bmdsZSwgZmxvYXQgcHJlc3N1cmUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdHlsdXNU
YXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xl
LCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IG1vZGlmaWVyQXJy
YXksIG9iamVjdCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIGVudGVyVGV4dChET01TdHJpbmcgdGV4
dCk7Ci0gICAgdm9pZCB0eXBlQ2hhcmFjdGVyVXNpbmdIYXJkd2FyZUtleWJvYXJkKERPTVN0cmlu
ZyBjaGFyYWN0ZXIsIG9iamVjdCBjYWxsYmFjayk7Ci0KLSAgICB2b2lkIGtleURvd24oRE9NU3Ry
aW5nIGNoYXJhY3Rlciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOwotICAgIHZvaWQgdG9nZ2xlQ2Fw
c0xvY2sob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNldENvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0U3BlbGxDaGVja2VyUmVz
dWx0cyhvYmplY3QgcmVzdWx0cyk7CisgICAgdW5kZWZpbmVkIHRvdWNoRG93bkF0UG9pbnQobG9u
ZyB4LCBsb25nIHksIGxvbmcgdG91Y2hDb3VudCwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgbGlmdFVwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBvYmpl
Y3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW5nbGVUYXBBdFBvaW50KGxvbmcgeCwgbG9u
ZyB5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW5nbGVUYXBBdFBvaW50V2l0
aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIG9iamVjdCBj
YWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHR3b0ZpbmdlclNpbmdsZVRhcEF0UG9pbnQobG9uZyB4
LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGRvdWJsZVRhcEF0UG9p
bnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGRlbGF5LCBvYmplY3QgY2FsbGJhY2spOworICAgIHVu
ZGVmaW5lZCBkcmFnRnJvbVBvaW50VG9Qb2ludChsb25nIHN0YXJ0WCwgbG9uZyBzdGFydFksIGxv
bmcgZW5kWCwgbG9uZyBlbmRZLCBkb3VibGUgZHVyYXRpb25TZWNvbmRzLCBvYmplY3QgY2FsbGJh
Y2spOworCisgICAgdW5kZWZpbmVkIGFjdGl2YXRlQXRQb2ludChsb25nIHgsIGxvbmcgeSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKKworICAgIHVuZGVmaW5lZCBsb25nUHJlc3NBdFBvaW50KGxvbmcgeCwg
bG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOworCisgICAgdW5kZWZpbmVkIHN0eWx1c0Rvd25BdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5n
bGUsIGZsb2F0IHByZXNzdXJlLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzdHls
dXNNb3ZlVG9Qb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBh
bHRpdHVkZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRl
ZmluZWQgc3R5bHVzVXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCBzdHlsdXNUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemlt
dXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUsIGZsb2F0IHByZXNzdXJlLCBvYmplY3QgY2Fs
bGJhY2spOworICAgIHVuZGVmaW5lZCBzdHlsdXNUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25n
IHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVkZUFuZ2xlLCBmbG9h
dCBwcmVzc3VyZSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIG9iamVjdCBjYWxsYmFjayk7CisKKyAg
ICB1bmRlZmluZWQgZW50ZXJUZXh0KERPTVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQgdHlw
ZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZChET01TdHJpbmcgY2hhcmFjdGVyLCBvYmpl
Y3QgY2FsbGJhY2spOworCisgICAgdW5kZWZpbmVkIGtleURvd24oRE9NU3RyaW5nIGNoYXJhY3Rl
ciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOworICAgIHVuZGVmaW5lZCB0b2dnbGVDYXBzTG9jayhv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICB1bmRlZmluZWQgc2V0U3BlbGxDaGVja2Vy
UmVzdWx0cyhvYmplY3QgcmVzdWx0cyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQ7CiAKLSAgICB2b2lkIHJhd0tleURvd24o
RE9NU3RyaW5nIGtleSk7Ci0gICAgdm9pZCByYXdLZXlVcChET01TdHJpbmcga2V5KTsKKyAgICB1
bmRlZmluZWQgcmF3S2V5RG93bihET01TdHJpbmcga2V5KTsKKyAgICB1bmRlZmluZWQgcmF3S2V5
VXAoRE9NU3RyaW5nIGtleSk7CiAKICAgICAvLyBldmVudHNKU09OIGRlc2NyaWJlcyBhIHNlcmll
cyBvZiB1c2VyIGV2ZW50cyBpbiBKU09OIGZvcm0uIEZvciB0aGUga2V5cywgc2VlIEhJREV2ZW50
R2VuZXJhdG9yLm1tLgogICAgIC8vIEZvciBleGFtcGxlLCB0aGlzIEpTT04gZGVzY3JpYmVzIGEg
dG91Y2ggZG93biBmb2xsb3dlZCBieSBhIHRvdWNoIHVwIChpLmUuIGEgc2luZ2xlIHRhcCkuCkBA
IC0xODksMTcgKzE4OSwxNyBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKICAgICAv
LyAgICAgICAgICB9LAogICAgIC8vICAgICAgXQogICAgIC8vICB9Ci0gICAgdm9pZCBzZW5kRXZl
bnRTdHJlYW0oRE9NU3RyaW5nIGV2ZW50c0pTT04sIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkIHNlbmRFdmVudFN0cmVhbShET01TdHJpbmcgZXZlbnRzSlNPTiwgb2JqZWN0IGNhbGxi
YWNrKTsKIAotICAgIHZvaWQgYmVnaW5CYWNrU3dpcGUob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2
b2lkIGNvbXBsZXRlQmFja1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGJl
Z2luQmFja1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGNvbXBsZXRlQmFj
a1N3aXBlKG9iamVjdCBjYWxsYmFjayk7CiAKLSAgICB2b2lkIHBsYXlCYWNrRXZlbnRTdHJlYW0o
RE9NU3RyaW5nIGV2ZW50U3RyZWFtLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBw
bGF5QmFja0V2ZW50U3RyZWFtKERPTVN0cmluZyBldmVudFN0cmVhbSwgb2JqZWN0IGNhbGxiYWNr
KTsKIAogICAgIC8vIEVxdWl2YWxlbnQgb2YgcHJlc3NpbmcgdGhlIERvbmUgYnV0dG9uIGluIHRo
ZSBmb3JtIGFjY2Vzc29yeSBiYXIuCi0gICAgdm9pZCBkaXNtaXNzRm9ybUFjY2Vzc29yeVZpZXco
KTsKKyAgICB1bmRlZmluZWQgZGlzbWlzc0Zvcm1BY2Nlc3NvcnlWaWV3KCk7CiAKLSAgICB2b2lk
IGRpc21pc3NGaWxlUGlja2VyKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGRpc21p
c3NGaWxlUGlja2VyKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRleHRDb250ZW50VHlwZTsKIApAQCAtMjE0LDEyICsyMTQsMTIgQEAgaW50ZXJm
YWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNTaG93aW5nQ29udGV4dE1lbnU7CiAKICAgICAvLyA8c2VsZWN0PiBwaWNrZXIKLSAgICB2b2lk
IHNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3cobG9uZyByb3dJbmRleCk7CisgICAgdW5kZWZp
bmVkIHNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3cobG9uZyByb3dJbmRleCk7CiAgICAgYm9v
bGVhbiBzZWxlY3RGb3JtQWNjZXNzb3J5SGFzQ2hlY2tlZEl0ZW1BdFJvdyhsb25nIHJvd0luZGV4
KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlbGVjdEZvcm1Qb3BvdmVyVGl0
bGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBmb3JtSW5wdXRMYWJlbDsKIAot
ICAgIHZvaWQgc2V0VGltZVBpY2tlclZhbHVlKGxvbmcgaG91ciwgbG9uZyBtaW51dGUpOworICAg
IHVuZGVmaW5lZCBzZXRUaW1lUGlja2VyVmFsdWUobG9uZyBob3VyLCBsb25nIG1pbnV0ZSk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB0aW1lUGlja2VyVmFsdWVIb3VyOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZVBpY2tlclZhbHVlTWludXRlOwogCkBAIC0yMjcs
MTIgKzIyNywxMiBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAogICAgIC8vIDxk
YXRhbGlzdD4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nob3dpbmdEYXRhTGlz
dFN1Z2dlc3Rpb25zOwotICAgIHZvaWQgYWN0aXZhdGVEYXRhTGlzdFN1Z2dlc3Rpb24odW5zaWdu
ZWQgbG9uZyBpbmRleCwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgYWN0aXZhdGVE
YXRhTGlzdFN1Z2dlc3Rpb24odW5zaWduZWQgbG9uZyBpbmRleCwgb2JqZWN0IGNhbGxiYWNrKTsK
IAotICAgIHZvaWQga2V5Ym9hcmRBY2Nlc3NvcnlCYXJOZXh0KCk7Ci0gICAgdm9pZCBrZXlib2Fy
ZEFjY2Vzc29yeUJhclByZXZpb3VzKCk7CisgICAgdW5kZWZpbmVkIGtleWJvYXJkQWNjZXNzb3J5
QmFyTmV4dCgpOworICAgIHVuZGVmaW5lZCBrZXlib2FyZEFjY2Vzc29yeUJhclByZXZpb3VzKCk7
CiAKLSAgICB2b2lkIGFwcGx5QXV0b2NvcnJlY3Rpb24oRE9NU3RyaW5nIG5ld1N0cmluZywgRE9N
U3RyaW5nIG9sZFN0cmluZywgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgYXBwbHlB
dXRvY29ycmVjdGlvbihET01TdHJpbmcgbmV3U3RyaW5nLCBET01TdHJpbmcgb2xkU3RyaW5nLCBv
YmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gUmV0dXJuZWQgb2JqZWN0IGlzIGEgZGljdGlvbmFy
eSB3aXRoIHRoZSBwYXNzZWQgaW4gc3RyaW5nIGFzIGEga2V5IGZvciByZXR1cm5lZCBvYmplY3QK
ICAgICBvYmplY3QgY29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKERPTVN0cmluZyBpbnRlcmZh
Y2VJdGVtKTsKQEAgLTI1MSw4ICsyNTEsOCBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVy
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nob3dpbmdNZW51OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBvYmplY3QgbWVudVJlY3Q7CiAgICAgb2JqZWN0IHJlY3RGb3JNZW51
QWN0aW9uKERPTVN0cmluZyBhY3Rpb24pOwotICAgIHZvaWQgY2hvb3NlTWVudUFjdGlvbihET01T
dHJpbmcgYWN0aW9uLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgZGlzbWlzc01lbnUoKTsK
KyAgICB1bmRlZmluZWQgY2hvb3NlTWVudUFjdGlvbihET01TdHJpbmcgYWN0aW9uLCBvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBkaXNtaXNzTWVudSgpOwogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gaXNTaG93aW5nUG9wb3ZlcjsKICAgICBhdHRyaWJ1dGUgb2JqZWN0
IHdpbGxQcmVzZW50UG9wb3ZlckNhbGxiYWNrOwpAQCAtMjYzLDMyICsyNjMsMzIgQEAgaW50ZXJm
YWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAKICAgICBhdHRyaWJ1dGUgb2JqZWN0IHdpbGxDcmVh
dGVOZXdQYWdlQ2FsbGJhY2s7CiAKLSAgICB2b2lkIHpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSwg
b2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgem9vbVRvU2NhbGUoZG91YmxlIHNjYWxl
LCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBzZXRWaWV3U2NhbGUoZG91YmxlIHNjYWxl
KTsKLSAgICB2b2lkIHNldE1pbmltdW1FZmZlY3RpdmVXaWR0aChkb3VibGUgZWZmZWN0aXZlV2lk
dGgpOwotICAgIHZvaWQgc2V0QWxsb3dzVmlld3BvcnRTaHJpbmtUb0ZpdChib29sZWFuIGFsbG93
cyk7CisgICAgdW5kZWZpbmVkIHNldFZpZXdTY2FsZShkb3VibGUgc2NhbGUpOworICAgIHVuZGVm
aW5lZCBzZXRNaW5pbXVtRWZmZWN0aXZlV2lkdGgoZG91YmxlIGVmZmVjdGl2ZVdpZHRoKTsKKyAg
ICB1bmRlZmluZWQgc2V0QWxsb3dzVmlld3BvcnRTaHJpbmtUb0ZpdChib29sZWFuIGFsbG93cyk7
CiAKLSAgICB2b2lkIGJlY29tZUZpcnN0UmVzcG9uZGVyKCk7Ci0gICAgdm9pZCByZXNpZ25GaXJz
dFJlc3BvbmRlcigpOworICAgIHVuZGVmaW5lZCBiZWNvbWVGaXJzdFJlc3BvbmRlcigpOworICAg
IHVuZGVmaW5lZCByZXNpZ25GaXJzdFJlc3BvbmRlcigpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGlzUHJlc2VudGluZ01vZGFsbHk7CiAKLSAgICB2b2lkIGNvcHlUZXh0KERPTVN0
cmluZyB0ZXh0KTsKLSAgICB2b2lkIHBhc3RlKCk7CisgICAgdW5kZWZpbmVkIGNvcHlUZXh0KERP
TVN0cmluZyB0ZXh0KTsKKyAgICB1bmRlZmluZWQgcGFzdGUoKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGUgY29udGVudE9mZnNldFg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBjb250ZW50T2Zmc2V0WTsKIAogICAgIGF0dHJpYnV0ZSBib29sZWFuIHNjcm9sbFVwZGF0
ZXNEaXNhYmxlZDsgLy8gVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgYmFjayB0byB0aGUgd2ViIHBy
b2Nlc3MgYWZ0ZXIgc2Nyb2xscyAodXNlZCBmb3IgdGVzdGluZyBzY3JvbGxpbmcgdHJlZSkuCiAK
LSAgICB2b2lkIHNjcm9sbFRvT2Zmc2V0KGxvbmcgeCwgbG9uZyB5KTsgLy8gSW5pdGlhdGUgYW4g
YW5pbWF0ZWQgc2Nyb2xsIGluIHRoZSBVSSBwcm9jZXNzLgorICAgIHVuZGVmaW5lZCBzY3JvbGxU
b09mZnNldChsb25nIHgsIGxvbmcgeSk7IC8vIEluaXRpYXRlIGFuIGFuaW1hdGVkIHNjcm9sbCBp
biB0aGUgVUkgcHJvY2Vzcy4KICAgICBhdHRyaWJ1dGUgb2JqZWN0IGRpZEVuZFNjcm9sbGluZ0Nh
bGxiYWNrOwogCi0gICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcg
eSk7IC8vIFNldCB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQg
YW5pbWF0aW9uLgotICAgIHZvaWQgaW1tZWRpYXRlWm9vbVRvU2NhbGUoZG91YmxlIHNjYWxlKTsg
Ly8gU2V0IHRoZSB6b29tIHNjYWxlIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQgYW5pbWF0aW9u
LgorICAgIHVuZGVmaW5lZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcgeSk7
IC8vIFNldCB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBVSSBwcm9jZXNzIHdpdGhvdXQgYW5p
bWF0aW9uLgorICAgIHVuZGVmaW5lZCBpbW1lZGlhdGVab29tVG9TY2FsZShkb3VibGUgc2NhbGUp
OyAvLyBTZXQgdGhlIHpvb20gc2NhbGUgaW4gdGhlIFVJIHByb2Nlc3Mgd2l0aG91dCBhbmltYXRp
b24uCiAKICAgICAvLyBGaW5kIHRoZSBzY3JvbGxlciBmb3IgdGhlIGdpdmVuIHBvaW50IGluIGNv
bnRlbnQgKCJhYnNvbHV0ZSIpIGNvb3JkaW5hdGVzLCBhbmQgZG8gYW4gaW1tZWRpYXRlIHNjcm9s
bC4KLSAgICB2b2lkIGltbWVkaWF0ZVNjcm9sbEVsZW1lbnRBdENvbnRlbnRQb2ludFRvT2Zmc2V0
KGxvbmcgeCwgbG9uZyB5LCBsb25nIHhPZmZzZXQsIGxvbmcgeU9mZnNldCk7CisgICAgdW5kZWZp
bmVkIGltbWVkaWF0ZVNjcm9sbEVsZW1lbnRBdENvbnRlbnRQb2ludFRvT2Zmc2V0KGxvbmcgeCwg
bG9uZyB5LCBsb25nIHhPZmZzZXQsIGxvbmcgeU9mZnNldCk7CiAKICAgICAvLyBWaWV3IHN0YXRl
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB6b29tU2NhbGU7CkBAIC0zMDgsMTIgKzMw
OCwxMiBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgb2JqZWN0IHNlbGVjdGlvbkNhcmV0Vmlld1JlY3Q7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIG9iamVjdCBzZWxlY3Rpb25SYW5nZVZpZXdSZWN0czsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgb2JqZWN0IGNhbGVuZGFyVHlwZTsKLSAgICB2b2lkIHNldERlZmF1bHRDYWxlbmRhclR5cGUo
RE9NU3RyaW5nIGNhbGVuZGFySWRlbnRpZmllciwgRE9NU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIp
OworICAgIHVuZGVmaW5lZCBzZXREZWZhdWx0Q2FsZW5kYXJUeXBlKERPTVN0cmluZyBjYWxlbmRh
cklkZW50aWZpZXIsIERPTVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgb2JqZWN0IGlucHV0Vmlld0JvdW5kczsKIAotICAgIHZvaWQgc2V0S2V5Ym9hcmRJ
bnB1dE1vZGVJZGVudGlmaWVyKERPTVN0cmluZyBpZGVudGlmaWVyKTsKKyAgICB1bmRlZmluZWQg
c2V0S2V5Ym9hcmRJbnB1dE1vZGVJZGVudGlmaWVyKERPTVN0cmluZyBpZGVudGlmaWVyKTsKIAot
ICAgIHZvaWQgcmVwbGFjZVRleHRBdFJhbmdlKERPTVN0cmluZyB0ZXh0LCBsb25nIGxvY2F0aW9u
LCBsb25nIGxlbmd0aCk7CisgICAgdW5kZWZpbmVkIHJlcGxhY2VUZXh0QXRSYW5nZShET01TdHJp
bmcgdGV4dCwgbG9uZyBsb2NhdGlvbiwgbG9uZyBsZW5ndGgpOwogCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0OwogCkBAIC0zMjEsMzQgKzMyMSwz
NCBAQCBpbnRlcmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKIAogICAgIG9iamVjdCBwcm9wZXJ0
aWVzT2ZMYXllcldpdGhJRCh1bnNpZ25lZCBsb25nIGxvbmcgbGF5ZXJJRCk7CiAKLSAgICB2b2lk
IHJldHJpZXZlU3BlYWtTZWxlY3Rpb25Db250ZW50KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5k
ZWZpbmVkIHJldHJpZXZlU3BlYWtTZWxlY3Rpb25Db250ZW50KG9iamVjdCBjYWxsYmFjayk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NpYmlsaXR5U3BlYWtTZWxlY3Rp
b25Db250ZW50OwogICAgIAotICAgIHZvaWQgc2ltdWxhdGVSb3RhdGlvbihEZXZpY2VPcmllbnRh
dGlvbiBvcmllbnRhdGlvbiwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNpbXVsYXRlUm90
YXRpb25MaWtlU2FmYXJpKERldmljZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBvYmplY3QgY2Fs
bGJhY2spOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJvdGF0aW9uKERldmljZU9yaWVudGF0aW9u
IG9yaWVudGF0aW9uLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJv
dGF0aW9uTGlrZVNhZmFyaShEZXZpY2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgb2JqZWN0IGNh
bGxiYWNrKTsKIAotICAgIHZvaWQgZmluZFN0cmluZyhET01TdHJpbmcgc3RyaW5nLCB1bnNpZ25l
ZCBsb25nIG9wdGlvbnMsIHVuc2lnbmVkIGxvbmcgbWF4Q291bnQpOworICAgIHVuZGVmaW5lZCBm
aW5kU3RyaW5nKERPTVN0cmluZyBzdHJpbmcsIHVuc2lnbmVkIGxvbmcgb3B0aW9ucywgdW5zaWdu
ZWQgbG9uZyBtYXhDb3VudCk7CiAKICAgICAvLyBVbnBhcmVudCBhbmQgcGFyZW50IHRoZSB3ZWIg
dmlldywgc2ltdWxhdGluZywgZm9yIGV4YW1wbGUsIHRhYiBzd2l0Y2hpbmcuCi0gICAgdm9pZCBy
ZW1vdmVWaWV3RnJvbVdpbmRvdyhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgYWRkVmlld1Rv
V2luZG93KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZVZpZXdGcm9tV2lu
ZG93KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGFkZFZpZXdUb1dpbmRvdyhvYmpl
Y3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBpbnN0YWxsVGFwR2VzdHVyZU9uV2luZG93KG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxUYXBHZXN0dXJlT25XaW5kb3cob2Jq
ZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgb3ZlcnJpZGVQcmVmZXJlbmNlKERPTVN0cmluZyBw
cmVmZXJlbmNlLCBET01TdHJpbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBvdmVycmlkZVByZWZl
cmVuY2UoRE9NU3RyaW5nIHByZWZlcmVuY2UsIERPTVN0cmluZyB2YWx1ZSk7CiAKLSAgICB2b2lk
IHNldFNhZmVBcmVhSW5zZXRzKGRvdWJsZSB0b3AsIGRvdWJsZSByaWdodCwgZG91YmxlIGJvdHRv
bSwgZG91YmxlIGxlZnQpOworICAgIHVuZGVmaW5lZCBzZXRTYWZlQXJlYUluc2V0cyhkb3VibGUg
dG9wLCBkb3VibGUgcmlnaHQsIGRvdWJsZSBib3R0b20sIGRvdWJsZSBsZWZ0KTsKIAotICAgIHZv
aWQgZmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbkZvcldlYlZpZXcoYm9vbGVhbiBzaG91bGRTdXBw
cmVzcyk7Ci0gICAgdm9pZCBtYWtlV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcigpOwor
ICAgIHVuZGVmaW5lZCBmaXJzdFJlc3BvbmRlclN1cHByZXNzaW9uRm9yV2ViVmlldyhib29sZWFu
IHNob3VsZFN1cHByZXNzKTsKKyAgICB1bmRlZmluZWQgbWFrZVdpbmRvd0NvbnRlbnRWaWV3Rmly
c3RSZXNwb25kZXIoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1dpbmRvd0Nv
bnRlbnRWaWV3Rmlyc3RSZXNwb25kZXI7CiAKLSAgICB2b2lkIHNldEhhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZChib29sZWFuIGF0dGFjaGVkKTsKKyAgICB1bmRlZmluZWQgc2V0SGFyZHdhcmVLZXli
b2FyZEF0dGFjaGVkKGJvb2xlYW4gYXR0YWNoZWQpOwogCiAgICAgb2JqZWN0IGF0dGFjaG1lbnRJ
bmZvKERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKICAgICAvLyBFZGl0aW5nCi0g
ICAgdm9pZCBkcmF3U3F1YXJlSW5FZGl0YWJsZUltYWdlKCk7CisgICAgdW5kZWZpbmVkIGRyYXdT
cXVhcmVJbkVkaXRhYmxlSW1hZ2UoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBudW1i
ZXJPZlN0cm9rZXNJbkVkaXRhYmxlSW1hZ2U7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBsYXN0VW5kb0xhYmVsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZmly
c3RSZWRvTGFiZWw7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkgQEAKIFsKICAgICBDb25kaXRpb25hbD1BQ0NFU1NJ
QklMSVRZLAogXSBpbnRlcmZhY2UgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgewotICAgIHZvaWQg
ZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gZW5hYmxlKTsKKyAgICB1bmRlZmlu
ZWQgZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gZW5hYmxlKTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkOwotICAg
IHZvaWQgc2V0SXNvbGF0ZWRUcmVlTW9kZShib29sZWFuIGVuYWJsZSk7CisgICAgdW5kZWZpbmVk
IHNldElzb2xhdGVkVHJlZU1vZGUoYm9vbGVhbiBlbmFibGUpOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgcGxhdGZvcm1OYW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IHJvb3RFbGVtZW50OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRFbGVtZW50OwpAQCAtMzgsMTAgKzM4LDEwIEBA
CiAgICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmplY3QgZnVuY3Rpb25DYWxs
YmFjayk7CiAgICAgYm9vbGVhbiByZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOwogCi0gICAg
dm9pZCBsb2dGb2N1c0V2ZW50cygpOwotICAgIHZvaWQgbG9nVmFsdWVDaGFuZ2VFdmVudHMoKTsK
LSAgICB2b2lkIGxvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKCk7Ci0gICAgdm9pZCBsb2dBY2Nlc3Np
YmlsaXR5RXZlbnRzKCk7Ci0gICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAg
dW5kZWZpbmVkIGxvZ0ZvY3VzRXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIGxvZ1ZhbHVlQ2hhbmdl
RXZlbnRzKCk7CisgICAgdW5kZWZpbmVkIGxvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKCk7CisgICAg
dW5kZWZpbmVkIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKTsKKyAgICB1bmRlZmluZWQgcmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOwogfTsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjYyOTgpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTAgQEAKICAgICB1bnNpZ25lZCBs
b25nIGluZGV4T2ZDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGNoaWxkKTsKICAgICBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IGxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgbG9uZyBp
bmRleCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBzZWxlY3RlZENoaWxkQXRJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHNldFNlbGVjdGVkQ2hpbGQoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCBlbGVtZW50KTsKLSAgICB2b2lkIHNldFNlbGVjdGVkQ2hpbGRBdEluZGV4
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgcmVtb3ZlU2VsZWN0aW9uQXRJbmRleCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGNsZWFyU2VsZWN0ZWRDaGlsZHJlbigpOwor
ICAgIHVuZGVmaW5lZCBzZXRTZWxlY3RlZENoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgZWxl
bWVudCk7CisgICAgdW5kZWZpbmVkIHNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGxv
bmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCByZW1vdmVTZWxlY3Rpb25BdEluZGV4KHVuc2lnbmVk
IGxvbmcgaW5kZXgpOworICAgIHVuZGVmaW5lZCBjbGVhclNlbGVjdGVkQ2hpbGRyZW4oKTsKICAg
ICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IHRpdGxlVUlFbGVtZW50KCk7CiAgICAgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCBwYXJlbnRFbGVtZW50KCk7CiAgICAgCkBAIC02NywxNCArNjcsMTQgQEAK
ICAgICBvYmplY3QgdWlFbGVtZW50QXJyYXlBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcgYXR0cik7
CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCB1aUVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShET01T
dHJpbmcgYXR0cik7ICAKICAgICBib29sZWFuIGJvb2xBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcg
YXR0cik7Ci0gICAgdm9pZCBhdHRyaWJ1dGVWYWx1ZUFzeW5jKERPTVN0cmluZyBhdHRyaWJ1dGVO
YW1lLCBvYmplY3QgY2FsbGJhY2tGdW5jdGlvbik7Ci0gICAgdm9pZCBzZXRCb29sQXR0cmlidXRl
VmFsdWUoRE9NU3RyaW5nIGF0dHIsIGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBhdHRy
aWJ1dGVWYWx1ZUFzeW5jKERPTVN0cmluZyBhdHRyaWJ1dGVOYW1lLCBvYmplY3QgY2FsbGJhY2tG
dW5jdGlvbik7CisgICAgdW5kZWZpbmVkIHNldEJvb2xBdHRyaWJ1dGVWYWx1ZShET01TdHJpbmcg
YXR0ciwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVN1cHBvcnRlZChE
T01TdHJpbmcgYXR0cik7CiAgICAgYm9vbGVhbiBpc0F0dHJpYnV0ZVNldHRhYmxlKERPTVN0cmlu
ZyBhdHRyKTsKICAgICBib29sZWFuIGlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKTsKICAgICBib29s
ZWFuIGlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCk7CiAgICAgYm9vbGVhbiBpc0RlY3JlbWVu
dEFjdGlvblN1cHBvcnRlZCgpOwotICAgIHZvaWQgc2V0VmFsdWUoRE9NU3RyaW5nIHZhbHVlKTsK
KyAgICB1bmRlZmluZWQgc2V0VmFsdWUoRE9NU3RyaW5nIHZhbHVlKTsKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGxvbmcgaW50VmFsdWU7CkBAIC0xMTksMTQgKzExOSwxNCBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBsb25nIGNvbHVtbkNvdW50OwogCiAgICAgLy8gQWN0aW9ucy4KLSAgICB2b2lkIGluY3Jl
bWVudCgpOwotICAgIHZvaWQgZGVjcmVtZW50KCk7Ci0gICAgdm9pZCBhc3luY0luY3JlbWVudCgp
OwotICAgIHZvaWQgYXN5bmNEZWNyZW1lbnQoKTsKLSAgICB2b2lkIHByZXNzKCk7Ci0gICAgdm9p
ZCBzeW5jUHJlc3MoKTsKLSAgICB2b2lkIHNob3dNZW51KCk7Ci0gICAgdm9pZCBkaXNtaXNzKCk7
CisgICAgdW5kZWZpbmVkIGluY3JlbWVudCgpOworICAgIHVuZGVmaW5lZCBkZWNyZW1lbnQoKTsK
KyAgICB1bmRlZmluZWQgYXN5bmNJbmNyZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgYXN5bmNEZWNy
ZW1lbnQoKTsKKyAgICB1bmRlZmluZWQgcHJlc3MoKTsKKyAgICB1bmRlZmluZWQgc3luY1ByZXNz
KCk7CisgICAgdW5kZWZpbmVkIHNob3dNZW51KCk7CisgICAgdW5kZWZpbmVkIGRpc21pc3MoKTsK
IAogICAgIC8vIEF0dHJpYnV0ZSBpbmZvLgogICAgIERPTVN0cmluZyBhbGxBdHRyaWJ1dGVzKCk7
CkBAIC0xOTYsMTEgKzE5NiwxMSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50IGhvcml6b250YWxTY3JvbGxiYXI7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgdmVydGljYWxTY3JvbGxiYXI7CiAKLSAgICB2b2lkIHNj
cm9sbFRvTWFrZVZpc2libGUoKTsKLSAgICB2b2lkIHNjcm9sbFRvR2xvYmFsUG9pbnQobG9uZyB4
LCBsb25nIHkpOwotICAgIHZvaWQgc2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhTdWJGb2N1cyhsb25n
IHgsIGxvbmcgeSwgbG9uZyB3aWR0aCwgbG9uZyBoZWlnaHQpOworICAgIHVuZGVmaW5lZCBzY3Jv
bGxUb01ha2VWaXNpYmxlKCk7CisgICAgdW5kZWZpbmVkIHNjcm9sbFRvR2xvYmFsUG9pbnQobG9u
ZyB4LCBsb25nIHkpOworICAgIHVuZGVmaW5lZCBzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZv
Y3VzKGxvbmcgeCwgbG9uZyB5LCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CiAKLSAgICB2b2lk
IHRha2VGb2N1cygpOworICAgIHVuZGVmaW5lZCB0YWtlRm9jdXMoKTsKICAgICBib29sZWFuIHNj
cm9sbFBhZ2VEb3duKCk7CiAgICAgYm9vbGVhbiBzY3JvbGxQYWdlVXAoKTsKICAgICBib29sZWFu
IHNjcm9sbFBhZ2VMZWZ0KCk7CkBAIC0yMTIsNyArMjEyLDcgQEAKICAgICBBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlclJhbmdlIHRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQoQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCBlbGVtZW50KTsKICAgICBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIHRleHRN
YXJrZXJSYW5nZUZvck1hcmtlcnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgc3RhcnRNYXJrZXIs
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIGVuZE1hcmtlcik7CiAgICAgQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXJSYW5nZSBzZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOwotICAgIHZvaWQgcmVzZXRT
ZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOworICAgIHVuZGVmaW5lZCByZXNldFNlbGVjdGVkVGV4
dE1hcmtlclJhbmdlKCk7CiAgICAgYm9vbGVhbiByZXBsYWNlVGV4dEluUmFuZ2UoRE9NU3RyaW5n
IHN0cmluZywgbG9uZyBwb3NpdGlvbiwgbG9uZyBsZW5ndGgpOwogICAgIGJvb2xlYW4gaW5zZXJ0
VGV4dChET01TdHJpbmcgdGV4dCk7CiAgICAgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgc3RhcnRU
ZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2Ug
cmFuZ2UpOwpAQCAtMjYwLDEyICsyNjAsMTIgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBlbGVtZW50VGV4dExlbmd0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0
cmluZ0ZvclNlbGVjdGlvbjsKICAgICBvYmplY3QgZWxlbWVudHNGb3JSYW5nZSh1bnNpZ25lZCBs
b25nIGxvY2F0aW9uLCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7Ci0gICAgdm9pZCBpbmNyZWFzZVRl
eHRTZWxlY3Rpb24oKTsKLSAgICB2b2lkIGRlY3JlYXNlVGV4dFNlbGVjdGlvbigpOworICAgIHVu
ZGVmaW5lZCBpbmNyZWFzZVRleHRTZWxlY3Rpb24oKTsKKyAgICB1bmRlZmluZWQgZGVjcmVhc2VU
ZXh0U2VsZWN0aW9uKCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBsaW5rZWRFbGVtZW50
KCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBoZWFkZXJFbGVtZW50QXRJbmRleCh1bnNp
Z25lZCBsb25nIGluZGV4KTsKICAgICAvLyBUaGlzIHdpbGwgc2ltdWxhdGUgdGhlIGFjY2Vzc2li
aWxpdHlEaWRCZWNvbWVGb2N1c2VkIEFQSSBpbiBVSUtpdC4KLSAgICB2b2lkIGFzc2lzdGl2ZVRl
Y2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOworICAgIHVuZGVmaW5lZCBhc3Npc3RpdmVUZWNobm9s
b2d5U2ltdWxhdGVkRm9jdXMoKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Nl
YXJjaEZpZWxkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVGV4dEFyZWE7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNJbkRlZmluaXRpb25MaXN0RGVmaW5pdGlv
bjsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
Q29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5w
bQkocmV2aXNpb24gMjY2Mjk4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQkod29ya2luZyBjb3B5KQpA
QCAtMzQ0LDcgKzM0NCw3IEBAIEVPRgogICAgICAgICAgICAgICAgICRmdW5jdGlvbkNhbGwgPSAi
aW1wbC0+IiAuICRvcGVyYXRpb24tPm5hbWUgLiAiKCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMp
IC4gIikiOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICBwdXNoKEBj
b250ZW50cywgIiAgICAke2Z1bmN0aW9uQ2FsbH07XG5cbiIpIGlmICRvcGVyYXRpb24tPnR5cGUt
Pm5hbWUgZXEgInZvaWQiOworICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIgICAgJHtmdW5j
dGlvbkNhbGx9O1xuXG4iKSBpZiAkb3BlcmF0aW9uLT50eXBlLT5uYW1lIGVxICJ1bmRlZmluZWQi
OwogICAgICAgICAgICAgcHVzaChAY29udGVudHMsICIgICAgcmV0dXJuICIgLiAkc2VsZi0+X3Jl
dHVybkV4cHJlc3Npb24oJG9wZXJhdGlvbi0+dHlwZSwgJGZ1bmN0aW9uQ2FsbCkgLiAiO1xufVxu
Iik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MTcsNyArNTE3LDcgQEAgc3ViIF9yZXR1cm5FeHBy
ZXNzaW9uCiB7CiAgICAgbXkgKCRzZWxmLCAkcmV0dXJuVHlwZSwgJGV4cHJlc3Npb24pID0gQF87
CiAKLSAgICByZXR1cm4gIkpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpIiBpZiAkcmV0dXJu
VHlwZS0+bmFtZSBlcSAidm9pZCI7CisgICAgcmV0dXJuICJKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgInVuZGVmaW5lZCI7CiAgICAgcmV0dXJu
ICJKU1ZhbHVlTWFrZUJvb2xlYW5Pck51bGwoY29udGV4dCwgJHtleHByZXNzaW9ufSkiIGlmICRy
ZXR1cm5UeXBlLT5uYW1lIGVxICJib29sZWFuIiAmJiAkcmV0dXJuVHlwZS0+aXNOdWxsYWJsZTsK
ICAgICByZXR1cm4gIkpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCAke2V4cHJlc3Npb259KSIg
aWYgJHJldHVyblR5cGUtPm5hbWUgZXEgImJvb2xlYW4iOwogICAgIHJldHVybiAiJHtleHByZXNz
aW9ufSIgaWYgJHJldHVyblR5cGUtPm5hbWUgZXEgIm9iamVjdCI7CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDQ4ICsyOCw0OCBAQCBk
aWN0aW9uYXJ5IE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMgewogfTsKIAogaW50ZXJmYWNlIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXIgewotICAgIHZvaWQgbW91c2VEb3duKGxvbmcgYnV0dG9uTnVt
YmVyLCBvYmplY3QgbW9kaWZpZXJBcnJheSk7Ci0gICAgdm9pZCBtb3VzZVVwKGxvbmcgYnV0dG9u
TnVtYmVyLCBvYmplY3QgbW9kaWZpZXJBcnJheSk7Ci0gICAgdm9pZCBtb3VzZU1vdmVUbyhsb25n
IHgsIGxvbmcgeSk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlQ2xpY2soKTsKLSAgICB2b2lkIHN0YXJ0
QW5kQ2FuY2VsTW91c2VGb3JjZUNsaWNrKCk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlRG93bigpOwot
ICAgIHZvaWQgbW91c2VGb3JjZVVwKCk7Ci0gICAgdm9pZCBtb3VzZUZvcmNlQ2hhbmdlZChkb3Vi
bGUgZm9yY2UpOwotICAgIHZvaWQgbW91c2VTY3JvbGxCeShsb25nIHgsIGxvbmcgeSk7Ci0gICAg
dm9pZCBtb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMobG9uZyB4LCBsb25n
IHksIERPTVN0cmluZyBwaGFzZSwgRE9NU3RyaW5nIG1vbWVudHVtKTsKLSAgICB2b2lkIGNvbnRp
bnVvdXNNb3VzZVNjcm9sbEJ5KGxvbmcgeCwgbG9uZyB5LCBvcHRpb25hbCBib29sZWFuIHBhZ2Vk
KTsKKyAgICB1bmRlZmluZWQgbW91c2VEb3duKGxvbmcgYnV0dG9uTnVtYmVyLCBvYmplY3QgbW9k
aWZpZXJBcnJheSk7CisgICAgdW5kZWZpbmVkIG1vdXNlVXAobG9uZyBidXR0b25OdW1iZXIsIG9i
amVjdCBtb2RpZmllckFycmF5KTsKKyAgICB1bmRlZmluZWQgbW91c2VNb3ZlVG8obG9uZyB4LCBs
b25nIHkpOworICAgIHVuZGVmaW5lZCBtb3VzZUZvcmNlQ2xpY2soKTsKKyAgICB1bmRlZmluZWQg
c3RhcnRBbmRDYW5jZWxNb3VzZUZvcmNlQ2xpY2soKTsKKyAgICB1bmRlZmluZWQgbW91c2VGb3Jj
ZURvd24oKTsKKyAgICB1bmRlZmluZWQgbW91c2VGb3JjZVVwKCk7CisgICAgdW5kZWZpbmVkIG1v
dXNlRm9yY2VDaGFuZ2VkKGRvdWJsZSBmb3JjZSk7CisgICAgdW5kZWZpbmVkIG1vdXNlU2Nyb2xs
QnkobG9uZyB4LCBsb25nIHkpOworICAgIHVuZGVmaW5lZCBtb3VzZVNjcm9sbEJ5V2l0aFdoZWVs
QW5kTW9tZW50dW1QaGFzZXMobG9uZyB4LCBsb25nIHksIERPTVN0cmluZyBwaGFzZSwgRE9NU3Ry
aW5nIG1vbWVudHVtKTsKKyAgICB1bmRlZmluZWQgY29udGludW91c01vdXNlU2Nyb2xsQnkobG9u
ZyB4LCBsb25nIHksIG9wdGlvbmFsIGJvb2xlYW4gcGFnZWQpOwogICAgIG9iamVjdCBjb250ZXh0
Q2xpY2soKTsKLSAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKKyAgICB1bmRl
ZmluZWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCi0gICAgdm9pZCBsZWFwRm9yd2Fy
ZChsb25nIG1pbGxpc2Vjb25kcyk7CisgICAgdW5kZWZpbmVkIGxlYXBGb3J3YXJkKGxvbmcgbWls
bGlzZWNvbmRzKTsKIAotICAgIHZvaWQga2V5RG93bihET01TdHJpbmcga2V5LCBvYmplY3QgbW9k
aWZpZXJBcnJheSwgbG9uZyBsb2NhdGlvbik7Ci0gICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91
c0tleURvd24oRE9NU3RyaW5nIGtleSk7CisgICAgdW5kZWZpbmVkIGtleURvd24oRE9NU3RyaW5n
IGtleSwgb2JqZWN0IG1vZGlmaWVyQXJyYXksIGxvbmcgbG9jYXRpb24pOworICAgIHVuZGVmaW5l
ZCBzY2hlZHVsZUFzeW5jaHJvbm91c0tleURvd24oRE9NU3RyaW5nIGtleSk7CiAKICAgICAvLyBa
b29tIGZ1bmN0aW9ucy4KLSAgICB2b2lkIHRleHRab29tSW4oKTsKLSAgICB2b2lkIHRleHRab29t
T3V0KCk7Ci0gICAgdm9pZCB6b29tUGFnZUluKCk7Ci0gICAgdm9pZCB6b29tUGFnZU91dCgpOwot
ICAgIHZvaWQgc2NhbGVQYWdlQnkoZG91YmxlIHNjYWxlLCBkb3VibGUgeCwgZG91YmxlIHkpOwor
ICAgIHVuZGVmaW5lZCB0ZXh0Wm9vbUluKCk7CisgICAgdW5kZWZpbmVkIHRleHRab29tT3V0KCk7
CisgICAgdW5kZWZpbmVkIHpvb21QYWdlSW4oKTsKKyAgICB1bmRlZmluZWQgem9vbVBhZ2VPdXQo
KTsKKyAgICB1bmRlZmluZWQgc2NhbGVQYWdlQnkoZG91YmxlIHNjYWxlLCBkb3VibGUgeCwgZG91
YmxlIHkpOwogCi0gICAgdm9pZCBtb25pdG9yV2hlZWxFdmVudHMob3B0aW9uYWwgTW9uaXRvcldo
ZWVsRXZlbnRzT3B0aW9ucyBvcHRpb25zKTsKLSAgICB2b2lkIGNhbGxBZnRlclNjcm9sbGluZ0Nv
bXBsZXRlcyhvYmplY3QgZnVuY3Rpb25DYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIG1vbml0b3JX
aGVlbEV2ZW50cyhvcHRpb25hbCBNb25pdG9yV2hlZWxFdmVudHNPcHRpb25zIG9wdGlvbnMpOwor
ICAgIHVuZGVmaW5lZCBjYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMob2JqZWN0IGZ1bmN0aW9u
Q2FsbGJhY2spOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVf
VE9VQ0hfRVZFTlRTCiAgICAgLy8gVG91Y2ggZXZlbnRzLgotICAgIHZvaWQgYWRkVG91Y2hQb2lu
dChsb25nIHgsIGxvbmcgeSk7Ci0gICAgdm9pZCB1cGRhdGVUb3VjaFBvaW50KGxvbmcgaW5kZXgs
IGxvbmcgeCwgbG9uZyB5KTsKLSAgICB2b2lkIHNldFRvdWNoTW9kaWZpZXIoRE9NU3RyaW5nIG1v
ZGlmaWVyLCBib29sZWFuIGVuYWJsZSk7Ci0gICAgdm9pZCBzZXRUb3VjaFBvaW50UmFkaXVzKGxv
bmcgcmFkaXVzWCwgbG9uZyByYWRpdXNZKTsKLSAgICB2b2lkIHRvdWNoU3RhcnQoKTsKLSAgICB2
b2lkIHRvdWNoTW92ZSgpOwotICAgIHZvaWQgdG91Y2hFbmQoKTsKLSAgICB2b2lkIHRvdWNoQ2Fu
Y2VsKCk7Ci0gICAgdm9pZCBjbGVhclRvdWNoUG9pbnRzKCk7Ci0gICAgdm9pZCByZWxlYXNlVG91
Y2hQb2ludChsb25nIGluZGV4KTsKLSAgICB2b2lkIGNhbmNlbFRvdWNoUG9pbnQobG9uZyBpbmRl
eCk7CisgICAgdW5kZWZpbmVkIGFkZFRvdWNoUG9pbnQobG9uZyB4LCBsb25nIHkpOworICAgIHVu
ZGVmaW5lZCB1cGRhdGVUb3VjaFBvaW50KGxvbmcgaW5kZXgsIGxvbmcgeCwgbG9uZyB5KTsKKyAg
ICB1bmRlZmluZWQgc2V0VG91Y2hNb2RpZmllcihET01TdHJpbmcgbW9kaWZpZXIsIGJvb2xlYW4g
ZW5hYmxlKTsKKyAgICB1bmRlZmluZWQgc2V0VG91Y2hQb2ludFJhZGl1cyhsb25nIHJhZGl1c1gs
IGxvbmcgcmFkaXVzWSk7CisgICAgdW5kZWZpbmVkIHRvdWNoU3RhcnQoKTsKKyAgICB1bmRlZmlu
ZWQgdG91Y2hNb3ZlKCk7CisgICAgdW5kZWZpbmVkIHRvdWNoRW5kKCk7CisgICAgdW5kZWZpbmVk
IHRvdWNoQ2FuY2VsKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyVG91Y2hQb2ludHMoKTsKKyAgICB1
bmRlZmluZWQgcmVsZWFzZVRvdWNoUG9pbnQobG9uZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIGNh
bmNlbFRvdWNoUG9pbnQobG9uZyBpbmRleCk7CiAjZW5kaWYKIH07CiAKSW5kZXg6IFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvR0NDb250cm9sbGVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0dDQ29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI2NjI5OCkKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvR0NDb250cm9sbGVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsOCArMjQsOCBAQAogICovCiAKIGludGVyZmFjZSBHQ0NvbnRyb2xsZXIg
ewotICAgIHZvaWQgY29sbGVjdCgpOwotICAgIHZvaWQgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFk
KGJvb2xlYW4gd2FpdFVudGlsRG9uZSk7CisgICAgdW5kZWZpbmVkIGNvbGxlY3QoKTsKKyAgICB1
bmRlZmluZWQgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkKGJvb2xlYW4gd2FpdFVudGlsRG9uZSk7
CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGdldEpTT2JqZWN0Q291bnQoKTsKIH07CiAKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjY2Mjk4KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjgsMTcgKzI4LDE3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0lPU0ZhbWlseTsKIAogICAgIC8vIFRoZSBi
YXNpY3MuCi0gICAgdm9pZCBkdW1wQXNUZXh0KGJvb2xlYW4gZHVtcFBpeGVscyk7Ci0gICAgdm9p
ZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0
ZSgpOwotICAgIHZvaWQgd2FpdFVudGlsRG9uZSgpOwotICAgIHZvaWQgbm90aWZ5RG9uZSgpOwor
ICAgIHVuZGVmaW5lZCBkdW1wQXNUZXh0KGJvb2xlYW4gZHVtcFBpeGVscyk7CisgICAgdW5kZWZp
bmVkIGR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgIHVuZGVmaW5lZCB3YWl0Rm9yUG9saWN5
RGVsZWdhdGUoKTsKKyAgICB1bmRlZmluZWQgd2FpdFVudGlsRG9uZSgpOworICAgIHVuZGVmaW5l
ZCBub3RpZnlEb25lKCk7CiAgICAgZG91YmxlIHByZWNpc2VUaW1lKCk7IC8vIHNlY29uZHMgc2lu
Y2UgdGhlIGVwb2NoCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB0aW1lb3V0OyAvLyBt
aWxsaXNlY29uZHMKIAogICAgIC8vIERvd25sb2Fkcy4KLSAgICB2b2lkIHdhaXRVbnRpbERvd25s
b2FkRmluaXNoZWQoKTsKLSAgICB2b2lkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJv
b2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCB3YWl0VW50aWxEb3dubG9hZEZpbmlzaGVkKCk7
CisgICAgdW5kZWZpbmVkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2xlYW4gdmFs
dWUpOwogCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVOREVSX1RSRUVfU0hPV19BTExfTEFZ
RVJTICAgICAgICAgICAgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFTkRFUl9UUkVF
X1NIT1dfTEFZRVJfTkVTVElORyAgICAgICAgID0gMjsKQEAgLTQ2LDIxOSArNDYsMjE5IEBAIGlu
dGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJfVFJF
RV9TSE9XX09WRVJGTE9XICAgICAgICAgICAgICA9IDg7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgUkVOREVSX1RSRUVfU0hPV19TVkdfR0VPTUVUUlkgICAgICAgICAgPSAxNjsKICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBSRU5ERVJfVFJFRV9TSE9XX0xBWUVSX0ZSQUdNRU5UUyAgICAgICA9
IDMyOwotICAgIHZvaWQgc2V0UmVuZGVyVHJlZUR1bXBPcHRpb25zKHVuc2lnbmVkIHNob3J0IG9w
dGlvbnMpOworICAgIHVuZGVmaW5lZCBzZXRSZW5kZXJUcmVlRHVtcE9wdGlvbnModW5zaWduZWQg
c2hvcnQgb3B0aW9ucyk7CiAKICAgICAvLyBPdGhlciBkdW1waW5nLgotICAgIHZvaWQgZHVtcEJh
Y2tGb3J3YXJkTGlzdCgpOwotICAgIHZvaWQgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMo
KTsKLSAgICB2b2lkIGR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wU2VsZWN0
aW9uUmVjdCgpOwotICAgIHZvaWQgZHVtcFN0YXR1c0NhbGxiYWNrcygpOwotICAgIHZvaWQgZHVt
cFRpdGxlQ2hhbmdlcygpOwotICAgIHZvaWQgZHVtcEZ1bGxTY3JlZW5DYWxsYmFja3MoKTsKLSAg
ICB2b2lkIGR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLSAgICB2b2lkIGR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2soKTsKLSAgICB2b2lkIGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsK
LSAgICB2b2lkIGR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7Ci0gICAgdm9pZCBkdW1w
V2lsbENhY2hlUmVzcG9uc2UoKTsKLSAgICB2b2lkIGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3MoKTsKLSAgICB2b2lkIGR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgIHZv
aWQgZHVtcERPTUFzV2ViQXJjaGl2ZSgpOwotICAgIHZvaWQgZHVtcFBvbGljeURlbGVnYXRlQ2Fs
bGJhY2tzKCk7Ci0gICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgIHZv
aWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbigpOworICAgIHVuZGVmaW5lZCBkdW1wQmFja0Zvcndh
cmRMaXN0KCk7CisgICAgdW5kZWZpbmVkIGR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7
CisgICAgdW5kZWZpbmVkIGR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7CisgICAgdW5kZWZpbmVkIGR1
bXBTZWxlY3Rpb25SZWN0KCk7CisgICAgdW5kZWZpbmVkIGR1bXBTdGF0dXNDYWxsYmFja3MoKTsK
KyAgICB1bmRlZmluZWQgZHVtcFRpdGxlQ2hhbmdlcygpOworICAgIHVuZGVmaW5lZCBkdW1wRnVs
bFNjcmVlbkNhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tz
KCk7CisgICAgdW5kZWZpbmVkIGR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2soKTsKKyAgICB1
bmRlZmluZWQgZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1w
UmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOworICAgIHVuZGVmaW5lZCBkdW1wV2lsbENhY2hl
UmVzcG9uc2UoKTsKKyAgICB1bmRlZmluZWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNh
bGxiYWNrcygpOworICAgIHVuZGVmaW5lZCBkdW1wRGF0YWJhc2VDYWxsYmFja3MoKTsKKyAgICB1
bmRlZmluZWQgZHVtcERPTUFzV2ViQXJjaGl2ZSgpOworICAgIHVuZGVmaW5lZCBkdW1wUG9saWN5
RGVsZWdhdGVDYWxsYmFja3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcFJlc291cmNlTG9hZFN0YXRp
c3RpY3MoKTsKKyAgICB1bmRlZmluZWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbigpOwogCi0gICAg
dm9pZCBjbGVhckRPTUNhY2hlcygpOwotICAgIHZvaWQgY2xlYXJET01DYWNoZShET01TdHJpbmcg
b3JpZ2luKTsKKyAgICB1bmRlZmluZWQgY2xlYXJET01DYWNoZXMoKTsKKyAgICB1bmRlZmluZWQg
Y2xlYXJET01DYWNoZShET01TdHJpbmcgb3JpZ2luKTsKICAgICBib29sZWFuIGhhc0RPTUNhY2hl
KERPTVN0cmluZyBvcmlnaW4pOwogICAgIHVuc2lnbmVkIGxvbmcgZG9tQ2FjaGVTaXplKERPTVN0
cmluZyBvcmlnaW4pOwotICAgIHZvaWQgc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZShib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZShi
b29sZWFuIHZhbHVlKTsKIAogICAgIC8vIFNwZWNpYWwgb3B0aW9ucy4KLSAgICB2b2lkIGtlZXBX
ZWJIaXN0b3J5KCk7Ci0gICAgdm9pZCBzZXRBY2NlcHRzRWRpdGluZyhib29sZWFuIHZhbHVlKTsK
LSAgICB2b2lkIHNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgdm9pZCBzZXRDbG9zZVJlbWFpbmlu
Z1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRYU1NBdWRp
dG9yRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdl
QWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRQbHVn
aW5zRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5h
YmxlZChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFi
bGVkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9v
bGVhbiBlbmFibGVkLCBib29sZWFuIHBlcm1pc3NpdmUpOwotICAgIHZvaWQgYWRkT3JpZ2luQWNj
ZXNzQWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3Rp
bmF0aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dE
ZXN0aW5hdGlvblN1YmRvbWFpbnMpOwotICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dM
aXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uUHJv
dG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0aW5hdGlv
blN1YmRvbWFpbnMpOwotICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2xlYW4g
dmFsdWUpOwotICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihET01TdHJpbmcgbG9j
YXRpb24pOwotICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2xlYW4gdmFs
dWUpOwotICAgIHZvaWQgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2xlYW4gZW5h
YmxlZCk7Ci0gICAgdm9pZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKLSAgICB2b2lkIGRpc3Bh
dGNoUGVuZGluZ0xvYWRSZXF1ZXN0cygpOwotICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChsb25nIG1v
ZGVsKTsKLSAgICB2b2lkIHNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2xl
YW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UHJpbnRpbmcoKTsKLSAgICB2b2lkIHNldFNob3VsZERl
Y2lkZU5hdmlnYXRpb25Qb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQg
c2V0U2hvdWxkRGVjaWRlUmVzcG9uc2VQb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOwot
ICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChib29sZWFuIHZhbHVlKTsKLSAg
ICB2b2lkIHNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKGJvb2xlYW4gdmFsdWUpOwotICAg
IHZvaWQgc2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlNRVR5cGVzKGJvb2xlYW4gdmFs
dWUpOworICAgIHVuZGVmaW5lZCBrZWVwV2ViSGlzdG9yeSgpOworICAgIHVuZGVmaW5lZCBzZXRB
Y2NlcHRzRWRpdGluZyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKyAgICB1bmRlZmluZWQgc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBs
ZXRlKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93RmlsZUFjY2Vz
c0Zyb21GaWxlVVJMcyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0TmVlZHNTdG9y
YWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRKYXZh
U2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBz
ZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0
QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2xlYW4gZW5hYmxlZCwgYm9vbGVhbiBwZXJtaXNz
aXZlKTsKKyAgICB1bmRlZmluZWQgYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoRE9NU3Ry
aW5nIHNvdXJjZU9yaWdpbiwgRE9NU3RyaW5nIGRlc3RpbmF0aW9uUHJvdG9jb2wsIERPTVN0cmlu
ZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xlYW4gYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwor
ICAgIHVuZGVmaW5lZCByZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShET01TdHJpbmcg
c291cmNlT3JpZ2luLCBET01TdHJpbmcgZGVzdGluYXRpb25Qcm90b2NvbCwgRE9NU3RyaW5nIGRl
c3RpbmF0aW9uSG9zdCwgYm9vbGVhbiBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CisgICAg
dW5kZWZpbmVkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29sZWFuIHZhbHVlKTsKKyAgICB1
bmRlZmluZWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihET01TdHJpbmcgbG9jYXRpb24pOwor
ICAgIHVuZGVmaW5lZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7
CisgICAgdW5kZWZpbmVkIHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sZWFuIGVu
YWJsZWQpOworICAgIHVuZGVmaW5lZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKKyAgICB1bmRl
ZmluZWQgZGlzcGF0Y2hQZW5kaW5nTG9hZFJlcXVlc3RzKCk7CisgICAgdW5kZWZpbmVkIHNldENh
Y2hlTW9kZWwobG9uZyBtb2RlbCk7CisgICAgdW5kZWZpbmVkIHNldEFzeW5jaHJvbm91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRQcmludGlu
ZygpOworICAgIHVuZGVmaW5lZCBzZXRTaG91bGREZWNpZGVOYXZpZ2F0aW9uUG9saWN5QWZ0ZXJE
ZWxheShib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvdWxkRGVjaWRlUmVzcG9u
c2VQb2xpY3lBZnRlckRlbGF5KGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXROYXZp
Z2F0aW9uR2VzdHVyZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRJ
Z25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQg
c2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlNRVR5cGVzKGJvb2xlYW4gdmFsdWUpOwog
CiAgICAgLy8gU3BlY2lhbCBET00gZnVuY3Rpb25zLgotICAgIHZvaWQgY2xlYXJCYWNrRm9yd2Fy
ZExpc3QoKTsKLSAgICB2b2lkIGV4ZWNDb21tYW5kKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcg
c2hvd1VJLCBET01TdHJpbmcgdmFsdWUpOworICAgIHVuZGVmaW5lZCBjbGVhckJhY2tGb3J3YXJk
TGlzdCgpOworICAgIHVuZGVmaW5lZCBleGVjQ29tbWFuZChET01TdHJpbmcgbmFtZSwgRE9NU3Ry
aW5nIHNob3dVSSwgRE9NU3RyaW5nIHZhbHVlKTsKICAgICBib29sZWFuIGlzQ29tbWFuZEVuYWJs
ZWQoRE9NU3RyaW5nIG5hbWUpOwogICAgIHVuc2lnbmVkIGxvbmcgd2luZG93Q291bnQoKTsKIAog
ICAgIC8vIERldmljZSBPcmllbnRhdGlvbiBNb3Rpb24uCi0gICAgdm9pZCBzZXRTaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJvb2xlYW4gdmFsdWUpOworICAgIHVu
ZGVmaW5lZCBzZXRTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJv
b2xlYW4gdmFsdWUpOwogCiAgICAgLy8gU3BlY2lhbCBET00gdmFyaWFibGVzLgogICAgIGF0dHJp
YnV0ZSBib29sZWFuIGdsb2JhbEZsYWc7CiAKICAgICAvLyBSZXBhaW50IHRlc3RpbmcuCi0gICAg
dm9pZCB0ZXN0UmVwYWludCgpOwotICAgIHZvaWQgcmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5KCk7
Ci0gICAgdm9pZCBkaXNwbGF5KCk7Ci0gICAgdm9pZCBkaXNwbGF5QW5kVHJhY2tSZXBhaW50cygp
OworICAgIHVuZGVmaW5lZCB0ZXN0UmVwYWludCgpOworICAgIHVuZGVmaW5lZCByZXBhaW50U3dl
ZXBIb3Jpem9udGFsbHkoKTsKKyAgICB1bmRlZmluZWQgZGlzcGxheSgpOworICAgIHVuZGVmaW5l
ZCBkaXNwbGF5QW5kVHJhY2tSZXBhaW50cygpOwogCiAgICAgLy8gRmFpbGVkIGxvYWQgY29uZGl0
aW9uIHRlc3RpbmcKLSAgICB2b2lkIGZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbigpOworICAgIHVu
ZGVmaW5lZCBmb3JjZUltbWVkaWF0ZUNvbXBsZXRpb24oKTsKIAogICAgIC8vIFByaW50aW5nCiAg
ICAgYm9vbGVhbiBpc1BhZ2VCb3hWaXNpYmxlKGxvbmcgcGFnZUluZGV4KTsKIAotICAgIHZvaWQg
ZHVtcEFsbEhUVFBSZWRpcmVjdGVkUmVzcG9uc2VIZWFkZXJzKCk7CisgICAgdW5kZWZpbmVkIGR1
bXBBbGxIVFRQUmVkaXJlY3RlZFJlc3BvbnNlSGVhZGVycygpOwogCi0gICAgW1Bhc3NDb250ZXh0
XSB2b2lkIHNldFZhbHVlRm9yVXNlcihvYmplY3QgZWxlbWVudCwgRE9NU3RyaW5nIHZhbHVlKTsK
KyAgICBbUGFzc0NvbnRleHRdIHVuZGVmaW5lZCBzZXRWYWx1ZUZvclVzZXIob2JqZWN0IGVsZW1l
bnQsIERPTVN0cmluZyB2YWx1ZSk7CiAKICAgICAvLyBVc2VyQ29udGVudCB0ZXN0aW5nLgotICAg
IHZvaWQgYWRkVXNlclNjcmlwdChET01TdHJpbmcgc291cmNlLCBib29sZWFuIHJ1bkF0U3RhcnQs
IGJvb2xlYW4gYWxsRnJhbWVzKTsKLSAgICB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KERPTVN0cmlu
ZyBzb3VyY2UsIGJvb2xlYW4gYWxsRnJhbWVzKTsKKyAgICB1bmRlZmluZWQgYWRkVXNlclNjcmlw
dChET01TdHJpbmcgc291cmNlLCBib29sZWFuIHJ1bkF0U3RhcnQsIGJvb2xlYW4gYWxsRnJhbWVz
KTsKKyAgICB1bmRlZmluZWQgYWRkVXNlclN0eWxlU2hlZXQoRE9NU3RyaW5nIHNvdXJjZSwgYm9v
bGVhbiBhbGxGcmFtZXMpOwogCiAgICAgLy8gTG9jYWwgc3RvcmFnZSBBUEkKLSAgICB2b2lkIGNs
ZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVkIGxv
bmcgbG9uZyBxdW90YSk7CisgICAgdW5kZWZpbmVkIGNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAg
dW5kZWZpbmVkIHNldERhdGFiYXNlUXVvdGEodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKICAg
ICBET01TdHJpbmcgcGF0aFRvTG9jYWxSZXNvdXJjZShET01TdHJpbmcgdXJsKTsKLSAgICB2b2lk
IHN5bmNMb2NhbFN0b3JhZ2UoKTsKKyAgICB1bmRlZmluZWQgc3luY0xvY2FsU3RvcmFnZSgpOwog
CiAgICAgYXR0cmlidXRlIGRvdWJsZSBkYXRhYmFzZURlZmF1bHRRdW90YTsKICAgICBhdHRyaWJ1
dGUgZG91YmxlIGRhdGFiYXNlTWF4UXVvdGE7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBB
UEkKLSAgICB2b2lkIGNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMoKTsKLSAgICB2b2lkIHNldEFw
cENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOworICAgIHVuZGVmaW5l
ZCBjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CisgICAgdW5kZWZpbmVkIHNldEFwcENhY2hl
TWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwogICAgIGxvbmcgbG9uZyBhcHBs
aWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luKERPTVN0cmluZyBvcmlnaW4pOwotICAgIHZv
aWQgY2xlYXJBcHBsaWNhdGlvbkNhY2hlRm9yT3JpZ2luKERPTVN0cmluZyBuYW1lKTsKLSAgICB2
b2lkIGRpc2FsbG93SW5jcmVhc2VGb3JBcHBsaWNhdGlvbkNhY2hlUXVvdGEoKTsKKyAgICB1bmRl
ZmluZWQgY2xlYXJBcHBsaWNhdGlvbkNhY2hlRm9yT3JpZ2luKERPTVN0cmluZyBuYW1lKTsKKyAg
ICB1bmRlZmluZWQgZGlzYWxsb3dJbmNyZWFzZUZvckFwcGxpY2F0aW9uQ2FjaGVRdW90YSgpOwog
ICAgIG9iamVjdCBvcmlnaW5zV2l0aEFwcGxpY2F0aW9uQ2FjaGUoKTsKIAogICAgIC8vIFRleHQg
c2VhcmNoIHRlc3RpbmcuCiAgICAgYm9vbGVhbiBmaW5kU3RyaW5nKERPTVN0cmluZyB0YXJnZXQs
IG9iamVjdCBvcHRpb25zQXJyYXkpOwotICAgIHZvaWQgZmluZFN0cmluZ01hdGNoZXNJblBhZ2Uo
RE9NU3RyaW5nIHRhcmdldCwgb2JqZWN0IG9wdGlvbnNBcnJheSk7Ci0gICAgdm9pZCByZXBsYWNl
RmluZE1hdGNoZXNBdEluZGljZXMob2JqZWN0IG1hdGNoSW5kaWNlc0FycmF5LCBET01TdHJpbmcg
cmVwbGFjZW1lbnRUZXh0LCBib29sZWFuIHNlbGVjdGlvbk9ubHkpOworICAgIHVuZGVmaW5lZCBm
aW5kU3RyaW5nTWF0Y2hlc0luUGFnZShET01TdHJpbmcgdGFyZ2V0LCBvYmplY3Qgb3B0aW9uc0Fy
cmF5KTsKKyAgICB1bmRlZmluZWQgcmVwbGFjZUZpbmRNYXRjaGVzQXRJbmRpY2VzKG9iamVjdCBt
YXRjaEluZGljZXNBcnJheSwgRE9NU3RyaW5nIHJlcGxhY2VtZW50VGV4dCwgYm9vbGVhbiBzZWxl
Y3Rpb25Pbmx5KTsKIAogICAgIC8vIEV2YWx1YXRpbmcgc2NyaXB0IGluIGEgc3BlY2lhbCBjb250
ZXh0LgotICAgIFtQYXNzQ29udGV4dF0gdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3Js
ZCh1bnNpZ25lZCBsb25nIHdvcmxkSUQsIERPTVN0cmluZyBzY3JpcHQpOworICAgIFtQYXNzQ29u
dGV4dF0gdW5kZWZpbmVkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKHVuc2lnbmVkIGxv
bmcgd29ybGRJRCwgRE9NU3RyaW5nIHNjcmlwdCk7CiAKICAgICAvLyBGb3IgV2ViIEluc3BlY3Rv
ciB0ZXN0cwotICAgIHZvaWQgc2hvd1dlYkluc3BlY3RvcigpOwotICAgIHZvaWQgY2xvc2VXZWJJ
bnNwZWN0b3IoKTsKLSAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoRE9NU3RyaW5nIHNj
cmlwdCk7CisgICAgdW5kZWZpbmVkIHNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICB1bmRlZmluZWQg
Y2xvc2VXZWJJbnNwZWN0b3IoKTsKKyAgICB1bmRlZmluZWQgZXZhbHVhdGVJbldlYkluc3BlY3Rv
cihET01TdHJpbmcgc2NyaXB0KTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlu
c3BlY3RvclRlc3RTdHViVVJMOwogCi0gICAgdm9pZCBzZXRQT1NJWExvY2FsZShET01TdHJpbmcg
bG9jYWxlKTsKKyAgICB1bmRlZmluZWQgc2V0UE9TSVhMb2NhbGUoRE9NU3RyaW5nIGxvY2FsZSk7
CiAKLSAgICB2b2lkIHNldFRleHREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CisgICAg
dW5kZWZpbmVkIHNldFRleHREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CiAKLSAgICB2
b2lkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsKGJvb2xlYW4gZmxhZyk7Ci0gICAgdm9p
ZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbE9uUmVkaXJlY3QoYm9vbGVhbiBmbGFnKTsK
LSAgICB2b2lkIHNldFdpbGxTZW5kUmVxdWVzdEFkZHNIVFRQQm9keShET01TdHJpbmcgYm9keSk7
CisgICAgdW5kZWZpbmVkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsKGJvb2xlYW4gZmxh
Zyk7CisgICAgdW5kZWZpbmVkIHNldFdpbGxTZW5kUmVxdWVzdFJldHVybnNOdWxsT25SZWRpcmVj
dChib29sZWFuIGZsYWcpOworICAgIHVuZGVmaW5lZCBzZXRXaWxsU2VuZFJlcXVlc3RBZGRzSFRU
UEJvZHkoRE9NU3RyaW5nIGJvZHkpOwogICAgIAotICAgIHZvaWQgc2V0U2hvdWxkU3RheU9uUGFn
ZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoYm9vbGVhbiBmbGFnKTsKKyAgICB1bmRlZmluZWQg
c2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoYm9vbGVhbiBmbGFn
KTsKIAotICAgIHZvaWQgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcygpOworICAgIHVuZGVm
aW5lZCBzZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKCk7CiAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hdmln
YXRpb247Ci0gICAgdm9pZCBjbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lv
bmFsTmF2aWdhdGlvbigpOworICAgIHVuZGVmaW5lZCBjbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbigpOwogCiAgICAgLy8gRm9jdXMgdGVzdGluZy4K
LSAgICB2b2lkIGFkZENocm9tZUlucHV0RmllbGQob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lk
IHJlbW92ZUNocm9tZUlucHV0RmllbGQob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIGZvY3Vz
V2ViVmlldyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBhZGRDaHJvbWVJbnB1dEZp
ZWxkKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUNocm9tZUlucHV0Rmll
bGQob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgZm9jdXNXZWJWaWV3KG9iamVjdCBj
YWxsYmFjayk7CiAKICAgICAvLyBXaW5kb3cvdmlldyBzdGF0ZQotICAgIHZvaWQgc2V0QmFja2lu
Z1NjYWxlRmFjdG9yKGRvdWJsZSBiYWNraW5nU2NhbGVGYWN0b3IsIG9iamVjdCBjYWxsYmFjayk7
CisgICAgdW5kZWZpbmVkIHNldEJhY2tpbmdTY2FsZUZhY3Rvcihkb3VibGUgYmFja2luZ1NjYWxl
RmFjdG9yLCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBzZXRXaW5kb3dJc0tleShib29s
ZWFuIGlzS2V5KTsKLSAgICB2b2lkIHNldFZpZXdTaXplKGRvdWJsZSB3aWR0aCwgZG91YmxlIGhl
aWdodCk7CisgICAgdW5kZWZpbmVkIHNldFdpbmRvd0lzS2V5KGJvb2xlYW4gaXNLZXkpOworICAg
IHVuZGVmaW5lZCBzZXRWaWV3U2l6ZShkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQpOwogCiAg
ICAgLy8gQ29va2llcyB0ZXN0aW5nCi0gICAgdm9pZCBzZXRBbHdheXNBY2NlcHRDb29raWVzKGJv
b2xlYW4gYWNjZXB0KTsKLSAgICB2b2lkIHNldE9ubHlBY2NlcHRGaXJzdFBhcnR5Q29va2llcyhi
b29sZWFuIGFjY2VwdCk7CisgICAgdW5kZWZpbmVkIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9v
bGVhbiBhY2NlcHQpOworICAgIHVuZGVmaW5lZCBzZXRPbmx5QWNjZXB0Rmlyc3RQYXJ0eUNvb2tp
ZXMoYm9vbGVhbiBhY2NlcHQpOwogCi0gICAgdm9pZCBvdmVycmlkZVByZWZlcmVuY2UoRE9NU3Ry
aW5nIHByZWZlcmVuY2UsIERPTVN0cmluZyB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIG92ZXJyaWRl
UHJlZmVyZW5jZShET01TdHJpbmcgcHJlZmVyZW5jZSwgRE9NU3RyaW5nIHZhbHVlKTsKIAogICAg
IC8vIFBhZ2UgVmlzaWJpbGl0eSBBUEkKLSAgICB2b2lkIHNldFBhZ2VWaXNpYmlsaXR5KERPTVN0
cmluZyBzdGF0ZSk7Ci0gICAgdm9pZCByZXNldFBhZ2VWaXNpYmlsaXR5KCk7CisgICAgdW5kZWZp
bmVkIHNldFBhZ2VWaXNpYmlsaXR5KERPTVN0cmluZyBzdGF0ZSk7CisgICAgdW5kZWZpbmVkIHJl
c2V0UGFnZVZpc2liaWxpdHkoKTsKIAogICAgIC8vIENvbnRyb2wgZnVsbCBzY3JlZW4gYmVoYXZp
b3IuCi0gICAgdm9pZCBzZXRIYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IoYm9vbGVhbiB2YWx1
ZSk7CisgICAgdW5kZWZpbmVkIHNldEhhc0N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcihib29sZWFu
IHZhbHVlKTsKIAogICAgIC8vIFdlYiBub3RpZmljYXRpb25zIHN1cHBvcnQKLSAgICB2b2lkIGdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihET01TdHJpbmcgb3JpZ2luKTsKLSAgICB2b2lk
IGRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKERPTVN0cmluZyBvcmlnaW4pOwotICAgIHZv
aWQgcmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKLSAgICB2b2lkIHNpbXVs
YXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sob2JqZWN0IG5vdGlmaWNhdGlvbik7CisgICAgdW5kZWZp
bmVkIGdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihET01TdHJpbmcgb3JpZ2luKTsKKyAg
ICB1bmRlZmluZWQgZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oRE9NU3RyaW5nIG9yaWdp
bik7CisgICAgdW5kZWZpbmVkIHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7
CisgICAgdW5kZWZpbmVkIHNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sob2JqZWN0IG5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBHZW9sb2NhdGlvbgotICAgIHZvaWQgc2V0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9z
aXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3ks
IG9wdGlvbmFsIG9iamVjdCBhbHRpdHVkZSwgb3B0aW9uYWwgb2JqZWN0IGFsdGl0dWRlQWNjdXJh
Y3ksIG9wdGlvbmFsIG9iamVjdCBoZWFkaW5nLCBvcHRpb25hbCBvYmplY3Qgc3BlZWQsIG9wdGlv
bmFsIG9iamVjdCBmbG9vckxldmVsKTsKLSAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0
aW9uVW5hdmFpbGFibGVFcnJvcihET01TdHJpbmcgZXJyb3JNZXNzYWdlKTsKKyAgICB1bmRlZmlu
ZWQgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5l
ZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25n
aXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSwgb3B0aW9uYWwgb2JqZWN0IGFsdGl0dWRlLCBvcHRpb25h
bCBvYmplY3QgYWx0aXR1ZGVBY2N1cmFjeSwgb3B0aW9uYWwgb2JqZWN0IGhlYWRpbmcsIG9wdGlv
bmFsIG9iamVjdCBzcGVlZCwgb3B0aW9uYWwgb2JqZWN0IGZsb29yTGV2ZWwpOworICAgIHVuZGVm
aW5lZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IoRE9NU3RyaW5n
IGVycm9yTWVzc2FnZSk7CiAgICAgYm9vbGVhbiBpc0dlb2xvY2F0aW9uUHJvdmlkZXJBY3RpdmUo
KTsKIAogICAgIC8vIE1lZGlhU3RyZWFtCi0gICAgdm9pZCBzZXRVc2VyTWVkaWFQZXJtaXNzaW9u
KGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgcmVzZXRVc2VyTWVkaWFQZXJtaXNzaW9uKCk7Ci0g
ICAgdm9pZCBzZXRVc2VyTWVkaWFQZXJzaXN0ZW50UGVybWlzc2lvbkZvck9yaWdpbihib29sZWFu
IHBlcm1pc3Npb24sIERPTVN0cmluZyBvcmlnaW4sIERPTVN0cmluZyBwYXJlbnRPcmlnaW4pOwor
ICAgIHVuZGVmaW5lZCBzZXRVc2VyTWVkaWFQZXJtaXNzaW9uKGJvb2xlYW4gdmFsdWUpOworICAg
IHVuZGVmaW5lZCByZXNldFVzZXJNZWRpYVBlcm1pc3Npb24oKTsKKyAgICB1bmRlZmluZWQgc2V0
VXNlck1lZGlhUGVyc2lzdGVudFBlcm1pc3Npb25Gb3JPcmlnaW4oYm9vbGVhbiBwZXJtaXNzaW9u
LCBET01TdHJpbmcgb3JpZ2luLCBET01TdHJpbmcgcGFyZW50T3JpZ2luKTsKICAgICB1bnNpZ25l
ZCBsb25nIHVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q291bnRGb3JPcmlnaW4oRE9NU3RyaW5n
IG9yaWdpbiwgRE9NU3RyaW5nIHBhcmVudE9yaWdpbik7Ci0gICAgdm9pZCByZXNldFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0Q291bnRGb3JPcmlnaW4oRE9NU3RyaW5nIG9yaWdpbiwgRE9NU3Ry
aW5nIHBhcmVudE9yaWdpbik7CisgICAgdW5kZWZpbmVkIHJlc2V0VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RDb3VudEZvck9yaWdpbihET01TdHJpbmcgb3JpZ2luLCBET01TdHJpbmcgcGFyZW50
T3JpZ2luKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0RvaW5nTWVkaWFDYXB0
dXJlOwogCiAgICAgLy8gQXVkaW8gdGVzdGluZy4KLSAgICBbUGFzc0NvbnRleHRdIHZvaWQgc2V0
QXVkaW9SZXN1bHQob2JqZWN0IGRhdGEpOworICAgIFtQYXNzQ29udGV4dF0gdW5kZWZpbmVkIHNl
dEF1ZGlvUmVzdWx0KG9iamVjdCBkYXRhKTsKIAogICAgIGJvb2xlYW4gY2FsbFNob3VsZENsb3Nl
T25XZWJWaWV3KCk7CiAKICAgICAvLyBXb3JrIHF1ZXVlLgotICAgIHZvaWQgcXVldWVCYWNrTmF2
aWdhdGlvbih1bnNpZ25lZCBsb25nIGhvd0ZhckJhY2t3YXJkKTsKLSAgICB2b2lkIHF1ZXVlRm9y
d2FyZE5hdmlnYXRpb24odW5zaWduZWQgbG9uZyBob3dGYXJGb3J3YXJkKTsKLSAgICB2b2lkIHF1
ZXVlTG9hZChET01TdHJpbmcgdXJsLCBET01TdHJpbmcgdGFyZ2V0LCBvcHRpb25hbCBib29sZWFu
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHMpOwotICAgIHZvaWQgcXVldWVMb2FkSFRNTFN0cmluZyhE
T01TdHJpbmcgY29udGVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIGJhc2VVUkwsIG9wdGlvbmFsIERP
TVN0cmluZyB1bnJlYWNoYWJsZVVSTCk7Ci0gICAgdm9pZCBxdWV1ZVJlbG9hZCgpOwotICAgIHZv
aWQgcXVldWVMb2FkaW5nU2NyaXB0KERPTVN0cmluZyBzY3JpcHQpOwotICAgIHZvaWQgcXVldWVO
b25Mb2FkaW5nU2NyaXB0KERPTVN0cmluZyBzY3JpcHQpOworICAgIHVuZGVmaW5lZCBxdWV1ZUJh
Y2tOYXZpZ2F0aW9uKHVuc2lnbmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOworICAgIHVuZGVmaW5l
ZCBxdWV1ZUZvcndhcmROYXZpZ2F0aW9uKHVuc2lnbmVkIGxvbmcgaG93RmFyRm9yd2FyZCk7Cisg
ICAgdW5kZWZpbmVkIHF1ZXVlTG9hZChET01TdHJpbmcgdXJsLCBET01TdHJpbmcgdGFyZ2V0LCBv
cHRpb25hbCBib29sZWFuIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMpOworICAgIHVuZGVmaW5lZCBx
dWV1ZUxvYWRIVE1MU3RyaW5nKERPTVN0cmluZyBjb250ZW50LCBvcHRpb25hbCBET01TdHJpbmcg
YmFzZVVSTCwgb3B0aW9uYWwgRE9NU3RyaW5nIHVucmVhY2hhYmxlVVJMKTsKKyAgICB1bmRlZmlu
ZWQgcXVldWVSZWxvYWQoKTsKKyAgICB1bmRlZmluZWQgcXVldWVMb2FkaW5nU2NyaXB0KERPTVN0
cmluZyBzY3JpcHQpOworICAgIHVuZGVmaW5lZCBxdWV1ZU5vbkxvYWRpbmdTY3JpcHQoRE9NU3Ry
aW5nIHNjcmlwdCk7CiAKICAgICAvLyBBdXRoZW50aWNhdGlvbgotICAgIHZvaWQgc2V0UmVqZWN0
c1Byb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2VzKGJv
b2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyhib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFNob3VsZExvZ0NhbkF1dGhlbnRpY2F0ZUFn
YWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRBdXRoZW50
aWNhdGlvblVzZXJuYW1lKERPTVN0cmluZyB1c2VybmFtZSk7Ci0gICAgdm9pZCBzZXRBdXRoZW50
aWNhdGlvblBhc3N3b3JkKERPTVN0cmluZyBwYXNzd29yZCk7CisgICAgdW5kZWZpbmVkIHNldFJl
amVjdHNQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZUZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlcyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U2hvdWxkTG9nQ2Fu
QXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sZWFuIHZhbHVlKTsKKyAgICB1
bmRlZmluZWQgc2V0QXV0aGVudGljYXRpb25Vc2VybmFtZShET01TdHJpbmcgdXNlcm5hbWUpOwor
ICAgIHVuZGVmaW5lZCBzZXRBdXRoZW50aWNhdGlvblBhc3N3b3JkKERPTVN0cmluZyBwYXNzd29y
ZCk7CiAKLSAgICB2b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sZWFuIHZhbHVl
KTsKIAotICAgIHZvaWQgc2V0U2hvdWxkU3dhcFRvRXBoZW1lcmFsU2Vzc2lvbk9uTmV4dE5hdmln
YXRpb24oYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRTaG91bGRTd2FwVG9EZWZhdWx0U2Vz
c2lvbk9uTmV4dE5hdmlnYXRpb24oYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNldFNo
b3VsZFN3YXBUb0VwaGVtZXJhbFNlc3Npb25Pbk5leHROYXZpZ2F0aW9uKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRTaG91bGRTd2FwVG9EZWZhdWx0U2Vzc2lvbk9uTmV4dE5hdmln
YXRpb24oYm9vbGVhbiB2YWx1ZSk7CiAKICAgICAvLyBTZWN1cmUgdGV4dCBpbnB1dCBtb2RlIChN
YWMgb25seSkKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzZWN1cmVFdmVudElucHV0
SXNFbmFibGVkOwogICAgIAogICAgIC8vIE92ZXJyaWRlIHBsdWdpbiBsb2FkIHBvbGljeS4KLSAg
ICB2b2lkIHNldEJsb2NrQWxsUGx1Z2lucyhib29sZWFuIHNob3VsZEJsb2NrKTsKLSAgICB2b2lk
IHNldFBsdWdpblN1cHBvcnRlZE1vZGUoRE9NU3RyaW5nIG1vZGUpOworICAgIHVuZGVmaW5lZCBz
ZXRCbG9ja0FsbFBsdWdpbnMoYm9vbGVhbiBzaG91bGRCbG9jayk7CisgICAgdW5kZWZpbmVkIHNl
dFBsdWdpblN1cHBvcnRlZE1vZGUoRE9NU3RyaW5nIG1vZGUpOwogCiAgICAgLy8gSG9va3MgdG8g
dGhlIEpTQyBjb21waWxlci4KICAgICBvYmplY3QgZmFpbE5leHROZXdDb2RlQmxvY2soKTsKQEAg
LTI2NiwxNTYgKzI2NiwxNTYgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIG9iamVjdCBu
ZXZlcklubGluZUZ1bmN0aW9uKG9iamVjdCBmdW5jdGlvbik7CiAKICAgICAvLyBTd2lwZSBnZXN0
dXJlcwotICAgIHZvaWQgaW5zdGFsbERpZEJlZ2luU3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJh
Y2spOwotICAgIHZvaWQgaW5zdGFsbFdpbGxFbmRTd2lwZUNhbGxiYWNrKG9iamVjdCBjYWxsYmFj
ayk7Ci0gICAgdm9pZCBpbnN0YWxsRGlkRW5kU3dpcGVDYWxsYmFjayhvYmplY3QgY2FsbGJhY2sp
OwotICAgIHZvaWQgaW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhvYmplY3Qg
Y2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkQmVnaW5Td2lwZUNhbGxiYWNrKG9i
amVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxXaWxsRW5kU3dpcGVDYWxsYmFj
ayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkRW5kU3dpcGVDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkUmVtb3ZlU3dp
cGVTbmFwc2hvdENhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7CiAKICAgICB1bnNpZ25lZCBsb25n
IGltYWdlQ291bnRJbkdlbmVyYWxQYXN0ZWJvYXJkKCk7CiAKICAgICAvLyBVSSBQcm9jZXNzIFRl
c3RpbmcKLSAgICB2b2lkIHJ1blVJU2NyaXB0KERPTVN0cmluZyBzY3JpcHQsIG9iamVjdCBjYWxs
YmFjayk7Ci0gICAgdm9pZCBydW5VSVNjcmlwdEltbWVkaWF0ZWx5KERPTVN0cmluZyBzY3JpcHQs
IG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJ1blVJU2NyaXB0KERPTVN0cmluZyBz
Y3JpcHQsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJ1blVJU2NyaXB0SW1tZWRp
YXRlbHkoRE9NU3RyaW5nIHNjcmlwdCwgb2JqZWN0IGNhbGxiYWNrKTsKIAotICAgIHZvaWQgY2xl
YXJUZXN0UnVubmVyQ2FsbGJhY2tzKCk7CisgICAgdW5kZWZpbmVkIGNsZWFyVGVzdFJ1bm5lckNh
bGxiYWNrcygpOwogCi0gICAgdm9pZCBhY2N1bW11bGF0ZUxvZ3NGb3JDaGFubmVsKERPTVN0cmlu
ZyBjaGFubmVsKTsKKyAgICB1bmRlZmluZWQgYWNjdW1tdWxhdGVMb2dzRm9yQ2hhbm5lbChET01T
dHJpbmcgY2hhbm5lbCk7CiAKICAgICAvLyBDb250ZXh0dWFsIG1lbnUgYWN0aW9ucwotICAgIHZv
aWQgc2V0QWxsb3dlZE1lbnVBY3Rpb25zKG9iamVjdCBhY3Rpb25zKTsKLSAgICB2b2lkIGluc3Rh
bGxDdXN0b21NZW51QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21pc3Nlc0F1dG9t
YXRpY2FsbHksIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHNldEFsbG93ZWRNZW51
QWN0aW9ucyhvYmplY3QgYWN0aW9ucyk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxDdXN0b21NZW51
QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21pc3Nlc0F1dG9tYXRpY2FsbHksIG9i
amVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBHYW1lcGFkCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBh
ZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIGlkLCBET01TdHJpbmcgbWFw
cGluZywgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxvbmcgYnV0dG9uQ291bnQp
OwotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgbG9uZyBpbmRleCwg
dW5zaWduZWQgbG9uZyBheGlzSW5kZXgsIGRvdWJsZSB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRNb2Nr
R2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYnV0
dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7Ci0gICAgdm9pZCBjb25uZWN0TW9ja0dhbWVwYWQodW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVwYWQodW5zaWdu
ZWQgbG9uZyBpbmRleCk7CisgICAgdW5kZWZpbmVkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNp
Z25lZCBsb25nIGluZGV4LCBET01TdHJpbmcgaWQsIERPTVN0cmluZyBtYXBwaW5nLCB1bnNpZ25l
ZCBsb25nIGF4aXNDb3VudCwgdW5zaWduZWQgbG9uZyBidXR0b25Db3VudCk7CisgICAgdW5kZWZp
bmVkIHNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVk
IGxvbmcgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRNb2NrR2Ft
ZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYnV0dG9u
SW5kZXgsIGRvdWJsZSB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIGNvbm5lY3RNb2NrR2FtZXBhZCh1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICB1bmRlZmluZWQgZGlzY29ubmVjdE1vY2tHYW1lcGFk
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiAgICAgLy8gUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNz
Ci0gICAgdm9pZCBjbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKERPTVN0cmluZyBkb21haW4p
OworICAgIHVuZGVmaW5lZCBjbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKERPTVN0cmluZyBk
b21haW4pOwogICAgIGJvb2xlYW4gZG9lc1N0YXRpc3RpY3NEb21haW5JREV4aXN0SW5EYXRhYmFz
ZSh1bnNpZ25lZCBsb25nIGRvbWFpbklEKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NFbmFibGVk
KGJvb2xlYW4gdmFsdWUpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzRW5hYmxlZChib29s
ZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0VwaGVtZXJhbCgpOwotICAgIHZv
aWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNrKG9iamVjdCBj
YWxsYmFjayk7Ci0gICAgdm9pZCBpbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBpbnN0YWxsU3RhdGlzdGljc0RpZFJ1
blRlbGVtZXRyeUNhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0
aWNzRGVidWdNb2RlKGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7Ci0g
ICAgdm9pZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoRE9NU3Ry
aW5nIGhvc3ROYW1lLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwotICAgIHZvaWQgc2V0U3Rh
dGlzdGljc0xhc3RTZWVuKERPTVN0cmluZyBob3N0TmFtZSwgZG91YmxlIHNlY29uZHMsIG9iamVj
dCBjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0
aWMoRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4xLCBET01TdHJp
bmcgdG9wRnJhbWVEb21haW4yLCBkb3VibGUgbGFzdFNlZW4sIGJvb2xlYW4gaGFkVXNlckludGVy
YWN0aW9uLCBkb3VibGUgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc0dyYW5k
ZmF0aGVyZWQsIGJvb2xlYW4gaXNQcmV2YWxlbnQsIGJvb2xlYW4gaXNWZXJ5UHJldmFsZW50LCB1
bnNpZ25lZCBsb25nIGRhdGFSZWNvcmRzUmVtb3ZlZCwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVy
KTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NFeHBpcmVkU3RhdGlzdGljKERPTVN0cmluZyBob3N0
TmFtZSwgYm9vbGVhbiBoYWRVc2VySW50ZXJhY3Rpb24sIGJvb2xlYW4gaXNTY2hlZHVsZWRGb3JB
bGxCdXRDb29raWVEYXRhUmVtb3ZhbCwgYm9vbGVhbiBpc1ByZXZhbGVudCwgb2JqZWN0IGNvbXBs
ZXRpb25IYW5kbGVyKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShE
T01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxl
cik7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKERPTVN0cmlu
ZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAg
ICB1bmRlZmluZWQgaW5zdGFsbFN0YXRpc3RpY3NEaWRNb2RpZnlEYXRhUmVjb3Jkc0NhbGxiYWNr
KG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5z
dGFsbFN0YXRpc3RpY3NEaWRSdW5UZWxlbWV0cnlDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwor
ICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzRGVidWdNb2RlKGJvb2xlYW4gdmFsdWUsIG9iamVj
dCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZUZvckRlYnVnTW9kZShET01TdHJpbmcgaG9zdE5hbWUsIG9iamVjdCBjb21wbGV0
aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVkIHNldFN0YXRpc3RpY3NMYXN0U2VlbihET01TdHJp
bmcgaG9zdE5hbWUsIGRvdWJsZSBzZWNvbmRzLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOwor
ICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMoRE9NU3RyaW5nIGhvc3RO
YW1lLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4xLCBET01TdHJpbmcgdG9wRnJhbWVEb21haW4y
LCBkb3VibGUgbGFzdFNlZW4sIGJvb2xlYW4gaGFkVXNlckludGVyYWN0aW9uLCBkb3VibGUgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc0dyYW5kZmF0aGVyZWQsIGJvb2xlYW4g
aXNQcmV2YWxlbnQsIGJvb2xlYW4gaXNWZXJ5UHJldmFsZW50LCB1bnNpZ25lZCBsb25nIGRhdGFS
ZWNvcmRzUmVtb3ZlZCwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQg
c2V0U3RhdGlzdGljc0V4cGlyZWRTdGF0aXN0aWMoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFu
IGhhZFVzZXJJbnRlcmFjdGlvbiwgYm9vbGVhbiBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsLCBib29sZWFuIGlzUHJldmFsZW50LCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIp
OworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5n
IGhvc3ROYW1lLCBib29sZWFuIHZhbHVlLCBvYmplY3QgY29tcGxldGlvbkhhbmRsZXIpOworICAg
IHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzVmVyeVByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBo
b3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBob3N0TmFtZSk7
CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5n
IGhvc3ROYW1lKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YnJlc291
cmNlVW5kZXIoRE9NU3RyaW5nIHN1YnJlc291cmNlSG9zdCwgRE9NU3RyaW5nIHRvcEZyYW1lSG9z
dCk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKERP
TVN0cmluZyBzdWJGcmFtZUhvc3QsIERPTVN0cmluZyB0b3BGcmFtZUhvc3QpOwogICAgIGJvb2xl
YW4gaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzUmVkaXJlY3RpbmdUbyhET01TdHJpbmcgaG9zdFJl
ZGlyZWN0ZWRGcm9tLCBET01TdHJpbmcgaG9zdFJlZGlyZWN0ZWRUbyk7Ci0gICAgdm9pZCBzZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVh
biB2YWx1ZSwgb2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQgc2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4g
dmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICBib29sZWFu
IGlzU3RhdGlzdGljc09ubHlJbkRhdGFiYXNlT25jZShET01TdHJpbmcgc3ViSG9zdCwgRE9NU3Ry
aW5nIHRvcEhvc3QpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3Ry
aW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGlj
c0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lKTsKLSAg
ICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERP
TVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9w
RnJhbWVIb3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJv
bShET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7Ci0g
ICAgdm9pZCBzZXRTdGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBo
b3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKLSAgICB2b2lkIHNldFN0
YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0RnJvbShET01TdHJpbmcgaG9zdE5hbWUsIERP
TVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzQ3Jv
c3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbihET01TdHJpbmcgZnJvbUhvc3QsIERPTVN0cmlu
ZyB0b0hvc3QpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpOworICAgIHVuZGVmaW5lZCBzZXRVc2VJVFBEYXRhYmFzZShib29s
ZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAg
ICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhET01T
dHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgdW5k
ZWZpbmVkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0RnJvbShET01TdHJp
bmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgdW5kZWZp
bmVkIHNldFN0YXRpc3RpY3NUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8oRE9NU3RyaW5nIGhvc3RO
YW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVmaW5lZCBzZXRT
dGF0aXN0aWNzVG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oRE9NU3RyaW5nIGhvc3ROYW1lLCBE
T01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0
aWNzQ3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbihET01TdHJpbmcgZnJvbUhvc3QsIERP
TVN0cmluZyB0b0hvc3QpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgYm9vbGVhbiBzdGF0aXN0aWNzTm90
aWZ5T2JzZXJ2ZXIoKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERh
dGFSZWNvcmRzKCk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcob2Jq
ZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NTdWJtaXRUZWxlbWV0
cnkoKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NJc1J1bm5pbmdUZXN0KGJvb2xlYW4gdmFsdWUp
OwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0
YVJlY29yZHNSZW1vdmFsKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc01p
bmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChkb3VibGUgc2Vjb25kcyk7Ci0gICAg
dm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJpbmdUaW1lKGRvdWJsZSBzZWNvbmRzKTsKLSAg
ICB2b2lkIHNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNpZ25lZCBsb25nIGVu
dHJpZXMpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc1BydW5lRW50cmllc0Rvd25Ubyh1bnNpZ25l
ZCBsb25nIGVudHJpZXMpOwotICAgIHZvaWQgc3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmUob2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NDbGVhcklu
TWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkIGxvbmcg
aG91cnMsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzQ2xlYXJUaHJvdWdo
V2Vic2l0ZURhdGFSZW1vdmFsKG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNz
RGVsZXRlQ29va2llc0Zvckhvc3QoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIGluY2x1ZGVI
dHRwT25seUNvb2tpZXMpOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzUHJvY2Vzc1N0YXRpc3Rp
Y3NBbmREYXRhUmVjb3JkcygpOworICAgIHVuZGVmaW5lZCBzdGF0aXN0aWNzVXBkYXRlQ29va2ll
QmxvY2tpbmcob2JqZWN0IGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB1bmRlZmluZWQgc3RhdGlz
dGljc1N1Ym1pdFRlbGVtZXRyeSgpOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdChib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc1Nob3Vs
ZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2xlYW4gdmFsdWUp
OworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKTsKKyAgICB1bmRlZmluZWQgc2V0U3RhdGlzdGljc0dy
YW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7CisgICAgdW5kZWZpbmVkIHNldFN0YXRp
c3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNpZ25lZCBsb25nIGVudHJpZXMpOworICAgIHVu
ZGVmaW5lZCBzZXRTdGF0aXN0aWNzUHJ1bmVFbnRyaWVzRG93blRvKHVuc2lnbmVkIGxvbmcgZW50
cmllcyk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVu
dFN0b3JlKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhcklu
TWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkIGxvbmcg
aG91cnMsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NDbGVhclRo
cm91Z2hXZWJzaXRlRGF0YVJlbW92YWwob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQg
c3RhdGlzdGljc0RlbGV0ZUNvb2tpZXNGb3JIb3N0KERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVh
biBpbmNsdWRlSHR0cE9ubHlDb29raWVzKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0xv
Y2FsU3RvcmFnZShET01TdHJpbmcgaG9zdE5hbWUpOwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0Nh
Y2hlTWF4QWdlQ2FwKGRvdWJsZSBzZWNvbmRzKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdW5kZWZpbmVk
IHNldFN0YXRpc3RpY3NDYWNoZU1heEFnZUNhcChkb3VibGUgc2Vjb25kcyk7CisgICAgdW5kZWZp
bmVkIHN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKG9iamVjdCBjb21wbGV0aW9uSGFu
ZGxlcik7CiAgICAgYm9vbGVhbiBoYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNzaW9uKERPTVN0cmlu
ZyBob3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJy
ZXIoYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjYWxs
YmFjaywgb3B0aW9uYWwgYm9vbGVhbiBvbmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24p
OwotICAgIHZvaWQgc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2Rl
KGJvb2xlYW4gdmFsdWUsIG9iamVjdCBjYWxsYmFjayk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzU2V0
VG9TYW1lU2l0ZVN0cmljdENvb2tpZXMoRE9NU3RyaW5nIGhvc3ROYW1lLCBvYmplY3QgY2FsbGJh
Y2spOwotICAgIHZvaWQgc3RhdGlzdGljc1NldEZpcnN0UGFydHlIb3N0Q05BTUVEb21haW4oRE9N
U3RyaW5nIGZpcnN0UGFydHlVUkxTdHJpbmcsIERPTVN0cmluZyBjbmFtZVVSTFN0cmluZywgb2Jq
ZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHN0YXRpc3RpY3NTZXRUaGlyZFBhcnR5Q05BTUVEb21h
aW4oRE9NU3RyaW5nIGNuYW1lVVJMU3RyaW5nLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQg
bG9hZGVkU3VicmVzb3VyY2VEb21haW5zKG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
IHNldFN0YXRpc3RpY3NTaG91bGREb3duZ3JhZGVSZWZlcnJlcihib29sZWFuIHZhbHVlLCBvYmpl
Y3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBzZXRTdGF0aXN0aWNzU2hvdWxkQmxvY2tUaGly
ZFBhcnR5Q29va2llcyhib29sZWFuIHZhbHVlLCBvYmplY3QgY2FsbGJhY2ssIG9wdGlvbmFsIGJv
b2xlYW4gb25seU9uU2l0ZXNXaXRob3V0VXNlckludGVyYWN0aW9uKTsKKyAgICB1bmRlZmluZWQg
c2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlKGJvb2xlYW4gdmFs
dWUsIG9iamVjdCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRUb1NhbWVT
aXRlU3RyaWN0Q29va2llcyhET01TdHJpbmcgaG9zdE5hbWUsIG9iamVjdCBjYWxsYmFjayk7Cisg
ICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRGaXJzdFBhcnR5SG9zdENOQU1FRG9tYWluKERPTVN0
cmluZyBmaXJzdFBhcnR5VVJMU3RyaW5nLCBET01TdHJpbmcgY25hbWVVUkxTdHJpbmcsIG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHN0YXRpc3RpY3NTZXRUaGlyZFBhcnR5Q05BTUVE
b21haW4oRE9NU3RyaW5nIGNuYW1lVVJMU3RyaW5nLCBvYmplY3QgY2FsbGJhY2spOworICAgIHVu
ZGVmaW5lZCBsb2FkZWRTdWJyZXNvdXJjZURvbWFpbnMob2JqZWN0IGNhbGxiYWNrKTsKIAogICAg
IC8vIEluamVjdGVkIGJ1bmRsZSBmb3JtIGNsaWVudC4KLSAgICB2b2lkIGluc3RhbGxUZXh0RGlk
Q2hhbmdlSW5UZXh0RmllbGRDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgaW5z
dGFsbFRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0NhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7Ci0g
ICAgdm9pZCBpbnN0YWxsVGV4dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrKG9iamVjdCBjYWxs
YmFjayk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxUZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsVGV4dEZpZWxkRGlk
QmVnaW5FZGl0aW5nQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5z
dGFsbFRleHRGaWVsZERpZEVuZEVkaXRpbmdDYWxsYmFjayhvYmplY3QgY2FsbGJhY2spOwogCiAg
ICAgLy8gU3RvcmFnZSBBY2Nlc3MgQVBJCi0gICAgdm9pZCBnZXRBbGxTdG9yYWdlQWNjZXNzRW50
cmllcyhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBnZXRBbGxTdG9yYWdlQWNjZXNz
RW50cmllcyhvYmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gT3BlbiBwYW5lbAotICAgIHZvaWQg
c2V0T3BlblBhbmVsRmlsZXMob2JqZWN0IGZpbGVzQXJyYXkpOwotICAgIHZvaWQgc2V0T3BlblBh
bmVsRmlsZXNNZWRpYUljb24ob2JqZWN0IG1lZGlhSWNvbik7CisgICAgdW5kZWZpbmVkIHNldE9w
ZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxlc0FycmF5KTsKKyAgICB1bmRlZmluZWQgc2V0T3BlblBh
bmVsRmlsZXNNZWRpYUljb24ob2JqZWN0IG1lZGlhSWNvbik7CiAKICAgICAvLyBNb2RhbCBhbGVy
dHMKLSAgICB2b2lkIHNldFNob3VsZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3Vz
bHkoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBhYm9ydE1vZGFsKCk7CisgICAgdW5kZWZpbmVk
IHNldFNob3VsZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3VzbHkoYm9vbGVhbiB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIGFib3J0TW9kYWwoKTsKIAotICAgIHZvaWQgc2V0V2ViUlRD
TUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0Q3Vz
dG9tVXNlckFnZW50KERPTVN0cmluZyB1c2VyQWdlbnQpOworICAgIHVuZGVmaW5lZCBzZXRXZWJS
VENNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVk
IHNldEN1c3RvbVVzZXJBZ2VudChET01TdHJpbmcgdXNlckFnZW50KTsKIAotICAgIHZvaWQgc2V0
V2ViQVBJU3RhdGlzdGljc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CisgICAgdW5kZWZpbmVkIHNl
dFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogCi0gICAgdm9pZCB0ZXJt
aW5hdGVOZXR3b3JrUHJvY2VzcygpOwotICAgIHZvaWQgdGVybWluYXRlU2VydmljZVdvcmtlcnMo
KTsKLSAgICB2b2lkIHNldFVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MoYm9vbGVhbiB2
YWx1ZSk7CisgICAgdW5kZWZpbmVkIHRlcm1pbmF0ZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgdW5k
ZWZpbmVkIHRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzKCk7CisgICAgdW5kZWZpbmVkIHNldFVzZVNl
cGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MoYm9vbGVhbiB2YWx1ZSk7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzZXJ2ZXJUcnVzdEV2YWx1YXRpb25DYWxsYmFja0Nh
bGxzQ291bnQ7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBkaWRDYW5jZWxDbGll
bnRSZWRpcmVjdDsKIAotICAgIHZvaWQgcmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzKG9iamVj
dCBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVkIHJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFscyhv
YmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBnZXRBcHBsaWNhdGlvbk1hbmlmZXN0VGhlbihv
YmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBnZXRBcHBsaWNhdGlvbk1hbmlmZXN0VGhl
bihvYmplY3QgY2FsbGJhY2spOwogCi0gICAgdm9pZCBpbnN0YWxsRmFrZUhlbHZldGljYShET01T
dHJpbmcgY29uZmlndXJhdGlvbik7CisgICAgdW5kZWZpbmVkIGluc3RhbGxGYWtlSGVsdmV0aWNh
KERPTVN0cmluZyBjb25maWd1cmF0aW9uKTsKIAotICAgIHZvaWQgYWRkTW9ja0NhbWVyYURldmlj
ZShET01TdHJpbmcgcGVyc2lzdGVudElkLCBET01TdHJpbmcgbGFiZWwpOwotICAgIHZvaWQgYWRk
TW9ja01pY3JvcGhvbmVEZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxh
YmVsKTsKLSAgICB2b2lkIGFkZE1vY2tTY3JlZW5EZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJ
ZCwgRE9NU3RyaW5nIGxhYmVsKTsKLSAgICB2b2lkIGNsZWFyTW9ja01lZGlhRGV2aWNlcygpOwot
ICAgIHZvaWQgcmVtb3ZlTW9ja01lZGlhRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQpOwot
ICAgIHZvaWQgcmVzZXRNb2NrTWVkaWFEZXZpY2VzKCk7Ci0gICAgdm9pZCBzZXRNb2NrQ2FtZXJh
T3JpZW50YXRpb24odW5zaWduZWQgbG9uZyBvcmllbnRhdGlvbik7CisgICAgdW5kZWZpbmVkIGFk
ZE1vY2tDYW1lcmFEZXZpY2UoRE9NU3RyaW5nIHBlcnNpc3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVs
KTsKKyAgICB1bmRlZmluZWQgYWRkTW9ja01pY3JvcGhvbmVEZXZpY2UoRE9NU3RyaW5nIHBlcnNp
c3RlbnRJZCwgRE9NU3RyaW5nIGxhYmVsKTsKKyAgICB1bmRlZmluZWQgYWRkTW9ja1NjcmVlbkRl
dmljZShET01TdHJpbmcgcGVyc2lzdGVudElkLCBET01TdHJpbmcgbGFiZWwpOworICAgIHVuZGVm
aW5lZCBjbGVhck1vY2tNZWRpYURldmljZXMoKTsKKyAgICB1bmRlZmluZWQgcmVtb3ZlTW9ja01l
ZGlhRGV2aWNlKERPTVN0cmluZyBwZXJzaXN0ZW50SWQpOworICAgIHVuZGVmaW5lZCByZXNldE1v
Y2tNZWRpYURldmljZXMoKTsKKyAgICB1bmRlZmluZWQgc2V0TW9ja0NhbWVyYU9yaWVudGF0aW9u
KHVuc2lnbmVkIGxvbmcgb3JpZW50YXRpb24pOwogICAgIGJvb2xlYW4gaXNNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKTsKIAogICAgIGJvb2xlYW4gaGFzQXBwQm91bmRTZXNz
aW9uKCk7Ci0gICAgdm9pZCBjbGVhckFwcEJvdW5kU2Vzc2lvbigpOwotICAgIHZvaWQgc2V0QXBw
Qm91bmREb21haW5zKG9iamVjdCBvcmlnaW5zQXJyYXksIG9iamVjdCBjYWxsYmFjayk7CisgICAg
dW5kZWZpbmVkIGNsZWFyQXBwQm91bmRTZXNzaW9uKCk7CisgICAgdW5kZWZpbmVkIHNldEFwcEJv
dW5kRG9tYWlucyhvYmplY3Qgb3JpZ2luc0FycmF5LCBvYmplY3QgY2FsbGJhY2spOwogCi0gICAg
dm9pZCBpbmplY3RVc2VyU2NyaXB0KERPTVN0cmluZyBzdHJpbmcpOworICAgIHVuZGVmaW5lZCBp
bmplY3RVc2VyU2NyaXB0KERPTVN0cmluZyBzdHJpbmcpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHVzZXJTY3JpcHRJbmplY3RlZENvdW50OwogCi0gICAgdm9pZCBzZW5k
RGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkTWVzc2FnZUZvclRlc3RpbmcoKTsKKyAgICB1bmRl
ZmluZWQgc2VuZERpc3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZE1lc3NhZ2VGb3JUZXN0aW5nKCk7
CiAKLSAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXQoZG91YmxlIHNlY29uZHMp
OworICAgIHVuZGVmaW5lZCBzZXRTZXJ2aWNlV29ya2VyRmV0Y2hUaW1lb3V0KGRvdWJsZSBzZWNv
bmRzKTsKIAogICAgIC8vIFdlYkF1dGhuCi0gICAgdm9pZCBhZGRUZXN0S2V5VG9LZXljaGFpbihE
T01TdHJpbmcgcHJpdmF0ZUtleUJhc2U2NCwgRE9NU3RyaW5nIGF0dHJMYWJlbCwgRE9NU3RyaW5n
IGFwcGxpY2F0aW9uVGFnQmFzZTY0KTsKLSAgICB2b2lkIGNsZWFuVXBLZXljaGFpbihET01TdHJp
bmcgYXR0ckxhYmVsLCBvcHRpb25hbCBET01TdHJpbmcgYXBwbGljYXRpb25MYWJlbEJhc2U2NCk7
CisgICAgdW5kZWZpbmVkIGFkZFRlc3RLZXlUb0tleWNoYWluKERPTVN0cmluZyBwcml2YXRlS2V5
QmFzZTY0LCBET01TdHJpbmcgYXR0ckxhYmVsLCBET01TdHJpbmcgYXBwbGljYXRpb25UYWdCYXNl
NjQpOworICAgIHVuZGVmaW5lZCBjbGVhblVwS2V5Y2hhaW4oRE9NU3RyaW5nIGF0dHJMYWJlbCwg
b3B0aW9uYWwgRE9NU3RyaW5nIGFwcGxpY2F0aW9uTGFiZWxCYXNlNjQpOwogICAgIGJvb2xlYW4g
a2V5RXhpc3RzSW5LZXljaGFpbihET01TdHJpbmcgYXR0ckxhYmVsLCBET01TdHJpbmcgYXBwbGlj
YXRpb25MYWJlbEJhc2U2NCk7CiAKICAgICAvLyBBZCBDbGljayBBdHRyaWJ1dGlvbgotICAgIHZv
aWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb24oKTsKLSAgICB2b2lkIGNsZWFyQWRDbGlja0F0dHJp
YnV0aW9uc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsKLSAgICB2b2lkIHNldEFkQ2xpY2tB
dHRyaWJ1dGlvbk92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGJvb2xlYW4gdmFsdWUpOwotICAgIHZv
aWQgc2V0QWRDbGlja0F0dHJpYnV0aW9uQ29udmVyc2lvblVSTEZvclRlc3RpbmcoRE9NU3RyaW5n
IHVybCk7Ci0gICAgdm9pZCBtYXJrQWRDbGlja0F0dHJpYnV0aW9uc0FzRXhwaXJlZEZvclRlc3Rp
bmcoKTsKKyAgICB1bmRlZmluZWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb24oKTsKKyAgICB1bmRl
ZmluZWQgY2xlYXJBZENsaWNrQXR0cmlidXRpb25zVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbCgp
OworICAgIHVuZGVmaW5lZCBzZXRBZENsaWNrQXR0cmlidXRpb25PdmVycmlkZVRpbWVyRm9yVGVz
dGluZyhib29sZWFuIHZhbHVlKTsKKyAgICB1bmRlZmluZWQgc2V0QWRDbGlja0F0dHJpYnV0aW9u
Q29udmVyc2lvblVSTEZvclRlc3RpbmcoRE9NU3RyaW5nIHVybCk7CisgICAgdW5kZWZpbmVkIG1h
cmtBZENsaWNrQXR0cmlidXRpb25zQXNFeHBpcmVkRm9yVGVzdGluZygpOwogfTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29u
dHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbAkocmV2aXNpb24gMjY2Mjk4
KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXh0
SW5wdXRDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQsOSBAQAogICov
CiAKIGludGVyZmFjZSBUZXh0SW5wdXRDb250cm9sbGVyIHsKLSAgICB2b2lkIHNldE1hcmtlZFRl
eHQoRE9NU3RyaW5nIHN0cmluZywgbG9uZyBmcm9tLCBsb25nIGxlbmd0aCwgYm9vbGVhbiBzdXBw
cmVzc1VuZGVybGluZSwgb2JqZWN0IGhpZ2hsaWdodHMpOworICAgIHVuZGVmaW5lZCBzZXRNYXJr
ZWRUZXh0KERPTVN0cmluZyBzdHJpbmcsIGxvbmcgZnJvbSwgbG9uZyBsZW5ndGgsIGJvb2xlYW4g
c3VwcHJlc3NVbmRlcmxpbmUsIG9iamVjdCBoaWdobGlnaHRzKTsKICAgICBib29sZWFuIGhhc01h
cmtlZFRleHQoKTsKLSAgICB2b2lkIHVubWFya1RleHQoKTsKLSAgICB2b2lkIGluc2VydFRleHQo
RE9NU3RyaW5nIHN0cmluZyk7CisgICAgdW5kZWZpbmVkIHVubWFya1RleHQoKTsKKyAgICB1bmRl
ZmluZWQgaW5zZXJ0VGV4dChET01TdHJpbmcgc3RyaW5nKTsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>