<?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>60733</bug_id>
          
          <creation_ts>2011-05-12 15:28:39 -0700</creation_ts>
          <short_desc>Port Mozilla&apos;s IndexedDB tests: indexes with keys and key ranges</short_desc>
          <delta_ts>2011-05-13 13:23:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>pilgrim</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>403203</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-12 15:28:39 -0700</bug_when>
    <thetext>Original test: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_indexes.html?force=1

This is a port of a test from Mozilla&apos;s IndexedDB test suite. It creates an object store with several rows of data, creates indexes on each key, then iterates each index in a variety of ways (keys, key ranges, etc).

Variations that WebKit fails have been split out into separate tests. This is what remains, which WebKit passes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403214</commentid>
    <comment_count>1</comment_count>
      <attachid>93358</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-12 15:35:32 -0700</bug_when>
    <thetext>Created attachment 93358
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403599</commentid>
    <comment_count>2</comment_count>
      <attachid>93358</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-13 09:31:51 -0700</bug_when>
    <thetext>Comment on attachment 93358
Patch

I think this is fine, but a couple questions:
- Are the results deterministic?  It looks like multiple database queries get queued up.  Will they always get resolved in the same order?
- How long does this test take to run?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403614</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-13 09:53:38 -0700</bug_when>
    <thetext>In my testing the results are deterministic and nowhere near the timeout threshold. Less than one second on my poor old laptop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403734</commentid>
    <comment_count>4</comment_count>
      <attachid>93358</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-13 12:12:55 -0700</bug_when>
    <thetext>Comment on attachment 93358
Patch

Ok, I suspect this is fine because queries always get answered in the order they come in.  Ideally, tests should be only tens of ms, but under a second isn&apos;t terrible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403790</commentid>
    <comment_count>5</comment_count>
      <attachid>93358</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-13 13:23:08 -0700</bug_when>
    <thetext>Comment on attachment 93358
Patch

Clearing flags on attachment: 93358

Committed r86457: &lt;http://trac.webkit.org/changeset/86457&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403791</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-13 13:23:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93358</attachid>
            <date>2011-05-12 15:35:32 -0700</date>
            <delta_ts>2011-05-13 13:23:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60733-20110512183533.patch</filename>
            <type>text/plain</type>
            <size>95559</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg2Mzg5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMTIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogaW5kZXhlcyB3aXRo
IGtleXMgYW5kIGtleSByYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwNzMzCisKKyAgICAgICAgVGhpcyBtZWdhdGVzdCBjcmVhdGVzIGFuIG9i
amVjdCBzdG9yZSB3aXRoIHNldmVyYWwgcm93cyBvZiBkYXRhLAorICAgICAgICBjcmVhdGVzIGlu
ZGV4ZXMgb24gZWFjaCBrZXksIHRoZW4gaXRlcmF0ZXMgZWFjaCBpbmRleCBpbiBhIHZhcmlldHkK
KyAgICAgICAgb2Ygd2F5cyAoa2V5cywga2V5IHJhbmdlcywgZXRjKS4KKworICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sOiBBZGRlZC4KKwog
MjAxMS0wNS0xMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2luZGV4ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNDIgQEAKK1Rlc3QgSW5kZXhlZERC
OiBpdGVyYXRpbmcgdGhyb3VnaCBpbmRleCBjdXJzb3JzIHdpdGgga2V5cyBhbmQga2V5IHJhbmdl
cworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93Lmlu
ZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7
CitQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJEYXRhYmFzZUV4Y2VwdGlvbiA9
IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb247CitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKK0lE
QlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJU
cmFuc2FjdGlvbjsKK1BBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQorSURCQ3Vy
c29yID0gd2luZG93LklEQkN1cnNvciB8fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOworUEFTUyBJ
REJDdXJzb3IgPT0gbnVsbCBpcyBmYWxzZQorSURCS2V5UmFuZ2UgPSB3aW5kb3cuSURCS2V5UmFu
Z2UgfHwgd2luZG93LndlYmtpdElEQktleVJhbmdlOworUEFTUyBJREJLZXlSYW5nZSA9PSBudWxs
IGlzIGZhbHNlCitpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikKK29wZW5TdWNjZXNz
KCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcx
JykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7CitGaXJzdCwgYWRkIGFsbCBvdXIgZGF0YSB0byB0
aGUgb2JqZWN0IHN0b3JlLgorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURh
dGFbaV0udmFsdWUsIG9iamVjdFN0b3JlRGF0YVtpXS5rZXkpOworcmVxdWVzdCA9IG9iamVjdFN0
b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0udmFsdWUsIG9iamVjdFN0b3JlRGF0YVtpXS5rZXkp
OworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0udmFsdWUsIG9i
amVjdFN0b3JlRGF0YVtpXS5rZXkpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChvYmplY3RT
dG9yZURhdGFbaV0udmFsdWUsIG9iamVjdFN0b3JlRGF0YVtpXS5rZXkpOworcmVxdWVzdCA9IG9i
amVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0udmFsdWUsIG9iamVjdFN0b3JlRGF0YVtp
XS5rZXkpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0udmFs
dWUsIG9iamVjdFN0b3JlRGF0YVtpXS5rZXkpOworTm93IGNyZWF0ZSB0aGUgaW5kZXhlcy4KK29i
amVjdFN0b3JlLmNyZWF0ZUluZGV4KGluZGV4RGF0YVtpXS5uYW1lLCBpbmRleERhdGFbaV0ua2V5
UGF0aCwgaW5kZXhEYXRhW2ldLm9wdGlvbnMpOworb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoaW5k
ZXhEYXRhW2ldLm5hbWUsIGluZGV4RGF0YVtpXS5rZXlQYXRoLCBpbmRleERhdGFbaV0ub3B0aW9u
cyk7CitvYmplY3RTdG9yZS5jcmVhdGVJbmRleChpbmRleERhdGFbaV0ubmFtZSwgaW5kZXhEYXRh
W2ldLmtleVBhdGgsIGluZGV4RGF0YVtpXS5vcHRpb25zKTsKK1BBU1Mgb2JqZWN0U3RvcmUuaW5k
ZXhOYW1lcy5sZW5ndGggaXMgaW5kZXhEYXRhLmxlbmd0aAorb2JqZWN0U3RvcmUgPSBkYi50cmFu
c2FjdGlvbihvYmplY3RTdG9yZU5hbWUpLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7CitQ
QVNTIG9iamVjdFN0b3JlLmluZGV4TmFtZXMubGVuZ3RoIGlzIGluZGV4RGF0YS5sZW5ndGgKK1BB
U1MgZm91bmQgaXMgdHJ1ZQoraW5kZXggPSBvYmplY3RTdG9yZS5pbmRleChpbmRleERhdGFbaV0u
bmFtZSk7CitQQVNTIGluZGV4Lm5hbWUgaXMgaW5kZXhEYXRhW2ldLm5hbWUKK1BBU1MgaW5kZXgu
a2V5UGF0aCBpcyBpbmRleERhdGFbaV0ua2V5UGF0aAorUEFTUyBpbmRleC51bmlxdWUgaXMgdHJ1
ZQorUEFTUyBmb3VuZCBpcyB0cnVlCitpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KGluZGV4RGF0
YVtpXS5uYW1lKTsKK1BBU1MgaW5kZXgubmFtZSBpcyBpbmRleERhdGFbaV0ubmFtZQorUEFTUyBp
bmRleC5rZXlQYXRoIGlzIGluZGV4RGF0YVtpXS5rZXlQYXRoCitQQVNTIGluZGV4LnVuaXF1ZSBp
cyBmYWxzZQorUEFTUyBmb3VuZCBpcyB0cnVlCitpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KGlu
ZGV4RGF0YVtpXS5uYW1lKTsKK1BBU1MgaW5kZXgubmFtZSBpcyBpbmRleERhdGFbaV0ubmFtZQor
UEFTUyBpbmRleC5rZXlQYXRoIGlzIGluZGV4RGF0YVtpXS5rZXlQYXRoCitQQVNTIGluZGV4LnVu
aXF1ZSBpcyBmYWxzZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykuZ2V0S2V5
KCdCb2InKTsKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAnMjM3LTIzLTc3MzInCityZXF1
ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5nZXQoJ0JvYicpOworUEFTUyBldmVudC50
YXJnZXQucmVzdWx0Lm5hbWUgaXMgJ0JvYicKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5oZWln
aHQgaXMgNjAKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC53ZWlnaHQgaXMgMTIwCityZXF1ZXN0
ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKCk7CitjdXJzb3IgPSBl
dmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJz
b3IgaXMgZmFsc2UKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmlt
YXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3Zh
bHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJn
ZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFs
c2UKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBj
dXJzb3IgaXMgZmFsc2UKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0
OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2N1cnNv
ci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMg
ZmFsc2UKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBj
dXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
CitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2N1cnNvci5jb250aW51
ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2tl
eUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkK
K1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2N1cnNvci5jb250aW51ZSgpOworUEFT
UyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5u
YW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS5rZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2tleUluZGV4Kys7
CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmlt
YXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgJ3Zh
bHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iu
a2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNT
IGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5r
ZXkKK1BBU1MgJ3ZhbHVlJyBpbiBjdXJzb3IgaXMgZmFsc2UKK2tleUluZGV4Kys7CitjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyBvYmplY3RTdG9yZURhdGEu
bGVuZ3RoCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ3dlaWdodCcpLm9wZW5LZXlDdXJz
b3IobnVsbCwgSURCQ3Vyc29yLk5FWFQpOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
K1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52
YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2Vp
Z2h0U29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtl
eSBpcyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BB
U1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRl
eF0ua2V5CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mg
Y3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53
ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29y
dFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBv
YmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vy
c29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5
CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29y
LmtleSBpcyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQK
K1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJ
bmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RT
dG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnBy
aW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5CitrZXlJ
bmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBp
cyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0u
a2V5CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURh
dGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5CitrZXlJbmRleCsr
OworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29y
LnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5Citj
dXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFXZWln
aHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMg
b2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5CitrZXlJbmRleCsrOworY3Vy
c29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9y
ZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1h
cnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3Iu
Y29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0
W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0
U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5CitrZXlJbmRleCsrOworY3Vyc29yID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5SW5kZXggaXMgb2JqZWN0U3RvcmVEYXRhLmxl
bmd0aAorb2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUpLm9iamVj
dFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7CitrZXlJbmRleCA9IG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0Lmxlbmd0aCAtIDE7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVu
S2V5Q3Vyc29yKG51bGwsIElEQkN1cnNvci5QUkVWKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5r
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtl
eQora2V5SW5kZXgtLTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNv
ci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BB
U1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQora2V5SW5kZXgtLTsKK2N1
cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRp
bnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLmtleQora2V5SW5kZXgtLTsKK2N1cnNvciA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNv
ci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BB
U1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LmtleQora2V5SW5kZXgtLTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1
cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUK
K1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQora2V5SW5kZXgtLTsK
K2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1h
cnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNv
bnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQora2V5SW5kZXgtLTsKK2N1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIC0xCitrZXlSYW5nZSA9IElEQktleVJhbmdl
LmJvdW5kKCdCb2InLCAnUm9uJyk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUn
KS5vcGVuS2V5Q3Vyc29yKGtleVJhbmdlKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29y
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUo
KTsKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJz
b3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQ
QVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS5rZXkKK2N1cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRl
eCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5SW5kZXggaXMgNQor
a2V5SW5kZXggPSAyOwora2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5ib3VuZCgnQm9iJywgJ1Jvbics
IHRydWUpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1cnNv
cihrZXlSYW5nZSk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iu
a2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNT
IGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5r
ZXkKK2N1cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsr
OworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3Iu
Y29udGludWUoKTsKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBrZXlJbmRleCBpcyA1CitrZXlJbmRleCA9IDE7CitrZXlSYW5nZSA9IElEQktleVJhbmdl
LmJvdW5kKCdCb2InLCAnUm9uJywgZmFsc2UsIHRydWUpOworcmVxdWVzdCA9IG9iamVjdFN0b3Jl
LmluZGV4KCduYW1lJykub3BlbktleUN1cnNvcihrZXlSYW5nZSk7CitjdXJzb3IgPSBldmVudC50
YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250aW51ZSgpOwora2V5SW5k
ZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29y
LnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vy
c29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tleUluZGV4Kys7CitjdXJz
b3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyA0CitrZXlJbmRleCA9
IDI7CitrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAnUm9uJywgdHJ1ZSwgdHJ1
ZSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKGtl
eVJhbmdlKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vy
c29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQor
Y3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJl
c3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRl
eF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tleUluZGV4Kys7Citj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyA0CitrZXlJbmRl
eCA9IDE7CitrZXlSYW5nZSA9IElEQktleVJhbmdlLmxvd2VyQm91bmQoJ0JvYicpOworcmVxdWVz
dCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1cnNvcihrZXlSYW5nZSk7Citj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5
S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250
aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5h
bWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tl
eUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkK
K2N1cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOwor
Y3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5SW5kZXggaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnQubGVuZ3RoCitrZXlJbmRleCA9IDI7CitrZXlSYW5nZSA9IElEQktleVJh
bmdlLmxvd2VyQm91bmQoJ0JvYicsIHRydWUpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4
KCduYW1lJykub3BlbktleUN1cnNvcihrZXlSYW5nZSk7CitjdXJzb3IgPSBldmVudC50YXJnZXQu
cmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsK
K2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1h
cnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNv
bnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BB
U1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
bmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tleUluZGV4Kys7CitjdXJzb3IgPSBl
dmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250aW51ZSgpOwor
a2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0Lmxlbmd0aAora2V5SW5kZXggPSAwOwora2V5UmFu
Z2UgPSBJREJLZXlSYW5nZS51cHBlckJvdW5kKCdKb2UnKTsKK3JlcXVlc3QgPSBvYmplY3RTdG9y
ZS5pbmRleCgnbmFtZScpLm9wZW5LZXlDdXJzb3Ioa2V5UmFuZ2UpOworY3Vyc29yID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tleUlu
ZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNv
ci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1
cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1
bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vy
c29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5SW5kZXggaXMgMwora2V5SW5kZXgg
PSAwOwora2V5UmFuZ2UgPSBJREJLZXlSYW5nZS51cHBlckJvdW5kKCdKb2UnLCB0cnVlKTsKK3Jl
cXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9wZW5LZXlDdXJzb3Ioa2V5UmFuZ2Up
OworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3Iu
Y29udGludWUoKTsKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIDIKK2tleUluZGV4ID0gMzsK
K2tleVJhbmdlID0gSURCS2V5UmFuZ2Uub25seSgnUGF0Jyk7CityZXF1ZXN0ID0gb2JqZWN0U3Rv
cmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKGtleVJhbmdlKTsKK2N1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJ
bmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5SW5kZXggaXMg
NAora2V5SW5kZXggPSAwOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3Bl
bkN1cnNvcigpOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtl
eSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBj
dXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5
CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2Vp
Z2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1
cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vy
c29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJz
b3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vy
c29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQor
UEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRl
eF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFs
dWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWln
aHQKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJz
b3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQ
QVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1
ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdo
dAorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUu
bmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFT
UyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRleCsrOworY3Vyc29yID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5u
YW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNT
IGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvci5jb250aW51ZSgpOworUEFT
UyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5u
YW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNv
ci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVl
LndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5h
bWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29y
LnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
d2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtl
eSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52
YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
CitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJz
b3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZh
bHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUK
K1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAorY3Vyc29yLmNvbnRpbnVlKCk7
CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1Mg
Y3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUud2VpZ2h0CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
K1BBU1Mga2V5SW5kZXggaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnQubGVuZ3RoCitrZXlJbmRl
eCA9IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0Lmxlbmd0aCAtIDE7CityZXF1ZXN0ID0gb2JqZWN0
U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKG51bGwsIElEQkN1cnNvci5QUkVWKTsKK2N1
cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3Iu
dmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFt
ZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUo
KTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWln
aHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFT
UyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS53ZWlnaHQKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNv
ci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BB
U1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVl
LndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0
CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5u
YW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNT
IGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUu
aGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQK
K1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJz
b3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQ
QVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNv
ciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFs
dWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQor
UEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsK
K1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBj
dXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS53ZWlnaHQKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5r
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtl
eQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndl
aWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Citj
dXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1l
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1
bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVp
Z2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BB
U1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRl
eF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3Iu
cHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNT
IGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIC0xCitrZXlJbmRleCA9IDE7
CitrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAnUm9uJyk7CityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKGtleVJhbmdlKTsKK2N1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUu
bmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFT
UyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BB
U1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
bmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJz
b3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFT
UyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5u
YW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNv
ci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVl
LndlaWdodAorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3Iu
dmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFt
ZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRleCsrOworY3Vy
c29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtl
eSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52
YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
CitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvci5jb250aW51ZSgp
OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdo
dCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNT
IGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1Mg
Y3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1
cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7
CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyA1CitrZXlJ
bmRleCA9IDI7CitrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAnUm9uJywgdHJ1
ZSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKGtleVJh
bmdlKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29y
LnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFT
UyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3Iu
Y29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52
YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhl
aWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJn
ZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2Jq
ZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZh
bHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVp
Z2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLnZhbHVlLndlaWdodAorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5r
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtl
eQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndl
aWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Citr
ZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtl
eSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBj
dXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5
CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2Vp
Z2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1
cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vy
c29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIDUKK2tleUluZGV4ID0gMTsKK2tleVJh
bmdlID0gSURCS2V5UmFuZ2UuYm91bmQoJ0JvYicsICdSb24nLCBmYWxzZSwgdHJ1ZSk7CityZXF1
ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKGtleVJhbmdlKTsKK2N1
cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlL
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3Iu
dmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFt
ZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUo
KTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWln
aHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFT
UyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0
OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdo
dCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNT
IGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLndlaWdodAorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2Jq
ZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnBy
aW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBj
dXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRleCsr
OworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1
cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvci5jb250
aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVl
LmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0
CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIDQKK2tleUluZGV4ID0gMjsKK2tleVJhbmdlID0gSURC
S2V5UmFuZ2UuYm91bmQoJ0JvYicsICdSb24nLCB0cnVlLCB0cnVlKTsKK3JlcXVlc3QgPSBvYmpl
Y3RTdG9yZS5pbmRleCgnbmFtZScpLm9wZW5DdXJzb3Ioa2V5UmFuZ2UpOworY3Vyc29yID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1l
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBj
dXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
CitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52
YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndl
aWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1
cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUK
K1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZh
bHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2Vp
Z2h0CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1
ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQ
QVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyA0CitrZXlJbmRleCA9IDQ7
CitrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAnUm9uJyk7CityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKGtleVJhbmdlLCBJREJDdXJzb3Iu
UFJFVik7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNv
ci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BB
U1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAorY3Vyc29y
LmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3Iu
dmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5o
ZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRleC0tOworY3Vyc29yID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52
YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhl
aWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iu
a2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNT
IGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5r
ZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53
ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAor
a2V5SW5kZXgtLTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5r
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtl
eQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndl
aWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Citj
dXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1l
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4LS07CitjdXJzb3IgPSBldmVu
dC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUg
aXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vy
c29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAorY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1
cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUK
K1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZh
bHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2Vp
Z2h0CitrZXlJbmRleC0tOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mga2V5
SW5kZXggaXMgMAora2V5SW5kZXggPSAzOwora2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5vbmx5KDY1
KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnaGVpZ2h0Jykub3BlbktleUN1cnNvcihr
ZXlSYW5nZSwgSURCQ3Vyc29yLk5FWFQpOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
K1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52
YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhSGVp
Z2h0U29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IuY29udGludWUoKTsKK2tleUluZGV4Kys7Citj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0
b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNv
ci5jb250aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CitQQVNTIGtleUluZGV4IGlzIDUKK2tleUluZGV4ID0gMzsKK2tleVJhbmdlID0gSURCS2V5UmFu
Z2Uub25seSg2NSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ2hlaWdodCcpLm9wZW5L
ZXlDdXJzb3Ioa2V5UmFuZ2UsIElEQkN1cnNvci5ORVhUX05PX0RVUExJQ0FURSk7CitjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0
YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IucHJpbWFyeUtl
eSBpcyBvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvci5jb250
aW51ZSgpOwora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGtleUluZGV4IGlzIDQKK2tleUluZGV4ID0gMzsKK2tleVJhbmdlID0gSURCS2V5UmFuZ2Uub25s
eSg2NSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ2hlaWdodCcpLm9wZW5DdXJzb3Io
a2V5UmFuZ2UsIElEQkN1cnNvci5ORVhUKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0u
dmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YUhl
aWdodFNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RT
dG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1
ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUuaGVp
Z2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29y
dFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IuY29udGludWUoKTsKK2tleUluZGV4Kys7
CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVj
dFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3Iu
cHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS5rZXkKK1BB
U1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRl
eF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0
YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2Vp
Z2h0IGlzIG9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAor
Y3Vyc29yLmNvbnRpbnVlKCk7CitrZXlJbmRleCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJl
c3VsdDsKK1BBU1Mga2V5SW5kZXggaXMgNQora2V5SW5kZXggPSAzOwora2V5UmFuZ2UgPSBJREJL
ZXlSYW5nZS5vbmx5KDY1KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnaGVpZ2h0Jyku
b3BlbkN1cnNvcihrZXlSYW5nZSwgSURCQ3Vyc29yLk5FWFRfTk9fRFVQTElDQVRFKTsKK2N1cnNv
ciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVE
YXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci5wcmltYXJ5
S2V5IGlzIG9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJz
b3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhSGVpZ2h0
U29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMg
b2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3Iu
Y29udGludWUoKTsKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBrZXlJbmRleCBpcyA0CitrZXlJbmRleCA9IDA7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUu
aW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKCk7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVz
dWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkKK25leHRLZXkgPSAha2V5SW5kZXggPyAnUGF0JyA6IHVuZGVm
aW5lZDsKK2N1cnNvci5jb250aW51ZShuZXh0S2V5KTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJp
bWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitrZXlJbmRl
eCA9IDM7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNv
ci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK25l
eHRLZXkgPSAha2V5SW5kZXggPyAnUGF0JyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51ZSgp
OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVz
dWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkKK25leHRLZXkgPSAha2V5SW5kZXggPyAnUGF0JyA6IHVuZGVm
aW5lZDsKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2tleUluZGV4Kys7Citj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5
S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK25leHRLZXkgPSAh
a2V5SW5kZXggPyAnUGF0JyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBj
dXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
CitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS5rZXkKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFT
UyBrZXlJbmRleCBpcyBvYmplY3RTdG9yZURhdGEubGVuZ3RoCitrZXlJbmRleCA9IDA7CityZXF1
ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKCk7CitjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK25leHRLZXkgPSAha2V5SW5k
ZXggPyAnRmxvJyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51ZShuZXh0S2V5KTsKK1BBU1Mg
Y3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFt
ZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0ua2V5CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5
IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1
cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkK
K25leHRLZXkgPSAha2V5SW5kZXggPyAnRmxvJyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51
ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5h
bWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLmtleQorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdGbG8nIDogdW5kZWZpbmVkOworY3Vy
c29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJl
c3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRl
eF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0ua2V5CituZXh0S2V5ID0gIWtleUluZGV4ID8gJ0ZsbycgOiB1bmRl
ZmluZWQ7CitjdXJzb3IuY29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtl
eSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitjdXJzb3IgPSBldmVu
dC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK25leHRLZXkgPSAha2V5SW5kZXggPyAn
RmxvJyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51ZSgpOworUEFTUyBjdXJzb3Iua2V5IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNv
ci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK2N1
cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGtleUluZGV4IGlzIG9iamVjdFN0b3Jl
RGF0YS5sZW5ndGgKK2tleUluZGV4ID0gMDsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgn
bmFtZScpLm9wZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5h
bWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29y
LnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
d2VpZ2h0CituZXh0S2V5ID0gIWtleUluZGV4ID8gJ1BhdCcgOiB1bmRlZmluZWQ7CitjdXJzb3Iu
Y29udGludWUobmV4dEtleSk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2Jq
ZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFt
ZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBj
dXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRleCA9IDM7CitjdXJzb3IgPSBl
dmVudC50YXJnZXQucmVzdWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5h
bWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnZhbHVlLmhlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodAorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdQ
YXQnIDogdW5kZWZpbmVkOworY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29y
LnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFT
UyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitrZXlJbmRl
eCsrOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1MgY3Vyc29yLmtleSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3Iu
cHJpbWFyeUtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNT
IGN1cnNvci52YWx1ZS5uYW1lIGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlz
IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK25leHRLZXkg
PSAha2V5SW5kZXggPyAnUGF0JyA6IHVuZGVmaW5lZDsKK2N1cnNvci5jb250aW51ZSgpOworUEFT
UyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5u
YW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNv
ci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVl
LndlaWdodAora2V5SW5kZXgrKzsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNT
IGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5h
bWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29y
LnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
d2VpZ2h0CituZXh0S2V5ID0gIWtleUluZGV4ID8gJ1BhdCcgOiB1bmRlZmluZWQ7CitjdXJzb3Iu
Y29udGludWUoKTsKK1BBU1MgY3Vyc29yLmtleSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzIG9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci52
YWx1ZS5oZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhl
aWdodAorUEFTUyBjdXJzb3IudmFsdWUud2VpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS52YWx1ZS53ZWlnaHQKK2tleUluZGV4Kys7CitjdXJzb3IgPSBldmVudC50YXJn
ZXQucmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydC5sZW5n
dGgKK2tleUluZGV4ID0gMDsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9w
ZW5DdXJzb3IoKTsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitQQVNTIGN1cnNvci5r
ZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtl
eQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndl
aWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Citu
ZXh0S2V5ID0gIWtleUluZGV4ID8gJ0ZsbycgOiB1bmRlZmluZWQ7CitjdXJzb3IuY29udGludWUo
bmV4dEtleSk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3IudmFs
dWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWln
aHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtr
ZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworUEFT
UyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5u
YW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1cnNv
ci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVl
LndlaWdodAorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdGbG8nIDogdW5kZWZpbmVkOworY3Vyc29y
LmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyBv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJzb3Iu
dmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5o
ZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdodCBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNTIGN1
cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLndlaWdodAorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdGbG8nIDogdW5kZWZpbmVkOworY3Vy
c29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFtZSBp
cyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBjdXJz
b3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0
OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhlaWdo
dCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQQVNT
IGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLndlaWdodAorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdGbG8nIDogdW5kZWZpbmVkOwor
Y3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2Jq
ZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUubmFt
ZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFTUyBj
dXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVz
dWx0OworUEFTUyBjdXJzb3Iua2V5IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5uYW1lCitQQVNTIGN1cnNvci5wcmltYXJ5S2V5IGlzIG9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgb2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnZhbHVlLmhl
aWdodCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0CitQ
QVNTIGN1cnNvci52YWx1ZS53ZWlnaHQgaXMgb2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLndlaWdodAorbmV4dEtleSA9ICFrZXlJbmRleCA/ICdGbG8nIDogdW5kZWZpbmVk
OworY3Vyc29yLmNvbnRpbnVlKCk7CitQQVNTIGN1cnNvci5rZXkgaXMgb2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMg
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleQorUEFTUyBjdXJzb3IudmFsdWUu
bmFtZSBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZQorUEFT
UyBjdXJzb3IudmFsdWUuaGVpZ2h0IGlzIG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS5oZWlnaHQKK1BBU1MgY3Vyc29yLnZhbHVlLndlaWdodCBpcyBvYmplY3RTdG9yZURh
dGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0CitjdXJzb3IgPSBldmVudC50YXJnZXQu
cmVzdWx0OworUEFTUyBrZXlJbmRleCBpcyBvYmplY3RTdG9yZURhdGFOYW1lU29ydC5sZW5ndGgK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4
OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvaW5kZXhlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwMzIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPCEtLQorICBvcmlnaW5hbCB0ZXN0OiBodHRwOi8vbXhyLm1vemlsbGEub3JnL21v
emlsbGEyLjAvc291cmNlL2RvbS9pbmRleGVkREIvdGVzdC90ZXN0X2luZGV4ZXMuaHRtbD9mb3Jj
ZT0xCisgIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwgdGVzdDoKKyAgICAiIEFueSBjb3B5cmlnaHQgaXMg
ZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICAgICAgaHR0cDovL2NyZWF0aXZlY29t
bW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyAiCistLT4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQjogaXRlcmF0aW5nIHRocm91Z2ggaW5k
ZXggY3Vyc29ycyB3aXRoIGtleXMgYW5kIGtleSByYW5nZXMiKTsKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2lu
ZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVs
bCIpOworICAgIElEQkRhdGFiYXNlRXhjZXB0aW9uID0gZXZhbEFuZExvZygiSURCRGF0YWJhc2VF
eGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhj
ZXB0aW9uID09IG51bGwiKTsKKyAgICBJREJUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coIklEQlRy
YW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFu
c2FjdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7
CisgICAgSURCQ3Vyc29yID0gZXZhbEFuZExvZygiSURCQ3Vyc29yID0gd2luZG93LklEQkN1cnNv
ciB8fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkN1
cnNvciA9PSBudWxsIik7CisgICAgSURCS2V5UmFuZ2UgPSBldmFsQW5kTG9nKCJJREJLZXlSYW5n
ZSA9IHdpbmRvdy5JREJLZXlSYW5nZSB8fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2U7Iik7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiSURCS2V5UmFuZ2UgPT0gbnVsbCIpOworCisgICAgbmFtZSA9IHdp
bmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFi
YXNlIjsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVz
Y3JpcHRpb24pIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKKyAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24g
b3BlblN1Y2Nlc3MoKQoreworICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOworICAgIGRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisKKyAgICBvYmplY3RTdG9y
ZU5hbWUgPSAiUGVvcGxlIjsKKworICAgIG9iamVjdFN0b3JlRGF0YSA9IFsKKyAgICAgICAgeyBr
ZXk6ICIyMzctMjMtNzczMiIsIHZhbHVlOiB7IG5hbWU6ICJCb2IiLCBoZWlnaHQ6IDYwLCB3ZWln
aHQ6IDEyMCB9IH0sCisgICAgICAgIHsga2V5OiAiMjM3LTIzLTc3MzMiLCB2YWx1ZTogeyBuYW1l
OiAiQW5uIiwgaGVpZ2h0OiA1Miwgd2VpZ2h0OiAxMTAgfSB9LAorICAgICAgICB7IGtleTogIjIz
Ny0yMy03NzM0IiwgdmFsdWU6IHsgbmFtZTogIlJvbiIsIGhlaWdodDogNzMsIHdlaWdodDogMTgw
IH0gfSwKKyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczNSIsIHZhbHVlOiB7IG5hbWU6ICJTdWUi
LCBoZWlnaHQ6IDU4LCB3ZWlnaHQ6IDEzMCB9IH0sCisgICAgICAgIHsga2V5OiAiMjM3LTIzLTc3
MzYiLCB2YWx1ZTogeyBuYW1lOiAiSm9lIiwgaGVpZ2h0OiA2NSwgd2VpZ2h0OiAxNTAgfSB9LAor
ICAgICAgICB7IGtleTogIjIzNy0yMy03NzM3IiwgdmFsdWU6IHsgbmFtZTogIlBhdCIsIGhlaWdo
dDogNjUsIHdlaWdodDogMTAwIH0gfQorICAgIF07CisKKyAgICBpbmRleERhdGEgPSBbCisgICAg
ICAgIHsgbmFtZTogIm5hbWUiLCBrZXlQYXRoOiAibmFtZSIsIG9wdGlvbnM6IHsgdW5pcXVlOiB0
cnVlIH0gfSwKKyAgICAgICAgeyBuYW1lOiAiaGVpZ2h0Iiwga2V5UGF0aDogImhlaWdodCIsIG9w
dGlvbnM6IHsgfSB9LAorICAgICAgICB7IG5hbWU6ICJ3ZWlnaHQiLCBrZXlQYXRoOiAid2VpZ2h0
Iiwgb3B0aW9uczogeyB1bmlxdWU6IGZhbHNlIH0gfQorICAgIF07CisKKyAgICBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydCA9IFsKKyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczMyIsIHZhbHVlOiB7
IG5hbWU6ICJBbm4iLCBoZWlnaHQ6IDUyLCB3ZWlnaHQ6IDExMCB9IH0sCisgICAgICAgIHsga2V5
OiAiMjM3LTIzLTc3MzIiLCB2YWx1ZTogeyBuYW1lOiAiQm9iIiwgaGVpZ2h0OiA2MCwgd2VpZ2h0
OiAxMjAgfSB9LAorICAgICAgICB7IGtleTogIjIzNy0yMy03NzM2IiwgdmFsdWU6IHsgbmFtZTog
IkpvZSIsIGhlaWdodDogNjUsIHdlaWdodDogMTUwIH0gfSwKKyAgICAgICAgeyBrZXk6ICIyMzct
MjMtNzczNyIsIHZhbHVlOiB7IG5hbWU6ICJQYXQiLCBoZWlnaHQ6IDY1LCB3ZWlnaHQ6IDEwMCB9
IH0sCisgICAgICAgIHsga2V5OiAiMjM3LTIzLTc3MzQiLCB2YWx1ZTogeyBuYW1lOiAiUm9uIiwg
aGVpZ2h0OiA3Mywgd2VpZ2h0OiAxODAgfSB9LAorICAgICAgICB7IGtleTogIjIzNy0yMy03NzM1
IiwgdmFsdWU6IHsgbmFtZTogIlN1ZSIsIGhlaWdodDogNTgsIHdlaWdodDogMTMwIH0gfQorICAg
IF07CisKKyAgICBvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0ID0gWworICAgICAgICB7IGtleTog
IjIzNy0yMy03NzM3IiwgdmFsdWU6IHsgbmFtZTogIlBhdCIsIGhlaWdodDogNjUsIHdlaWdodDog
MTAwIH0gfSwKKyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczMyIsIHZhbHVlOiB7IG5hbWU6ICJB
bm4iLCBoZWlnaHQ6IDUyLCB3ZWlnaHQ6IDExMCB9IH0sCisgICAgICAgIHsga2V5OiAiMjM3LTIz
LTc3MzIiLCB2YWx1ZTogeyBuYW1lOiAiQm9iIiwgaGVpZ2h0OiA2MCwgd2VpZ2h0OiAxMjAgfSB9
LAorICAgICAgICB7IGtleTogIjIzNy0yMy03NzM1IiwgdmFsdWU6IHsgbmFtZTogIlN1ZSIsIGhl
aWdodDogNTgsIHdlaWdodDogMTMwIH0gfSwKKyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczNiIs
IHZhbHVlOiB7IG5hbWU6ICJKb2UiLCBoZWlnaHQ6IDY1LCB3ZWlnaHQ6IDE1MCB9IH0sCisgICAg
ICAgIHsga2V5OiAiMjM3LTIzLTc3MzQiLCB2YWx1ZTogeyBuYW1lOiAiUm9uIiwgaGVpZ2h0OiA3
Mywgd2VpZ2h0OiAxODAgfSB9CisgICAgXTsKKworICAgIG9iamVjdFN0b3JlRGF0YUhlaWdodFNv
cnQgPSBbCisgICAgICAgIHsga2V5OiAiMjM3LTIzLTc3MzMiLCB2YWx1ZTogeyBuYW1lOiAiQW5u
IiwgaGVpZ2h0OiA1Miwgd2VpZ2h0OiAxMTAgfSB9LAorICAgICAgICB7IGtleTogIjIzNy0yMy03
NzM1IiwgdmFsdWU6IHsgbmFtZTogIlN1ZSIsIGhlaWdodDogNTgsIHdlaWdodDogMTMwIH0gfSwK
KyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczMiIsIHZhbHVlOiB7IG5hbWU6ICJCb2IiLCBoZWln
aHQ6IDYwLCB3ZWlnaHQ6IDEyMCB9IH0sCisgICAgICAgIHsga2V5OiAiMjM3LTIzLTc3MzYiLCB2
YWx1ZTogeyBuYW1lOiAiSm9lIiwgaGVpZ2h0OiA2NSwgd2VpZ2h0OiAxNTAgfSB9LAorICAgICAg
ICB7IGtleTogIjIzNy0yMy03NzM3IiwgdmFsdWU6IHsgbmFtZTogIlBhdCIsIGhlaWdodDogNjUs
IHdlaWdodDogMTAwIH0gfSwKKyAgICAgICAgeyBrZXk6ICIyMzctMjMtNzczNCIsIHZhbHVlOiB7
IG5hbWU6ICJSb24iLCBoZWlnaHQ6IDczLCB3ZWlnaHQ6IDE4MCB9IH0KKyAgICBdOworCisgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNyZWF0ZUFuZFBvcHVsYXRlT2JqZWN0U3RvcmU7CisgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9u
IGNyZWF0ZUFuZFBvcHVsYXRlT2JqZWN0U3RvcmUoKQoreworICAgIGRlbGV0ZUFsbE9iamVjdFN0
b3JlcyhkYik7CisKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsiKTsKKworICAgIGRlYnVnKCJG
aXJzdCwgYWRkIGFsbCBvdXIgZGF0YSB0byB0aGUgb2JqZWN0IHN0b3JlLiIpOworICAgIGFkZGVk
RGF0YSA9IDA7CisgICAgZm9yIChpIGluIG9iamVjdFN0b3JlRGF0YSkgeworICAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQob2JqZWN0U3RvcmVEYXRh
W2ldLnZhbHVlLCBvYmplY3RTdG9yZURhdGFbaV0ua2V5KTsiKTsKKyAgICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbihldmVudCkgeworICAgICAgICBpZiAoKythZGRlZERhdGEgPT0gb2JqZWN0U3Rv
cmVEYXRhLmxlbmd0aCkgeworICAgICAgICAgIGNyZWF0ZUluZGV4ZXMoKTsKKyAgICAgICAgfQor
ICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gY3JlYXRlSW5kZXhlcygpCit7CisgICAgZGVi
dWcoIk5vdyBjcmVhdGUgdGhlIGluZGV4ZXMuIik7CisgICAgZm9yIChpIGluIGluZGV4RGF0YSkg
eworICAgICAgZXZhbEFuZExvZygib2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoaW5kZXhEYXRhW2ld
Lm5hbWUsIGluZGV4RGF0YVtpXS5rZXlQYXRoLCBpbmRleERhdGFbaV0ub3B0aW9ucyk7Iik7Cisg
ICAgfQorICAgIHNob3VsZEJlKCJvYmplY3RTdG9yZS5pbmRleE5hbWVzLmxlbmd0aCIsICJpbmRl
eERhdGEubGVuZ3RoIik7CisKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0
b3JlID0gZGIudHJhbnNhY3Rpb24ob2JqZWN0U3RvcmVOYW1lKS5vYmplY3RTdG9yZShvYmplY3RT
dG9yZU5hbWUpOyIpOworCisgICAgLy8gQ2hlY2sgZ2xvYmFsIHByb3BlcnRpZXMgdG8gbWFrZSBz
dXJlIHRoZXkgYXJlIGNvcnJlY3QuCisgICAgc2hvdWxkQmUoIm9iamVjdFN0b3JlLmluZGV4TmFt
ZXMubGVuZ3RoIiwgImluZGV4RGF0YS5sZW5ndGgiKTsKKyAgICBmb3IgKGkgaW4gaW5kZXhEYXRh
KSB7CisgICAgICAgIGZvdW5kID0gZmFsc2U7CisgICAgICAgIGZvciAoaiA9IDA7IGogPCBvYmpl
Y3RTdG9yZS5pbmRleE5hbWVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICBpZiAob2JqZWN0
U3RvcmUuaW5kZXhOYW1lcy5pdGVtKGopID09IGluZGV4RGF0YVtpXS5uYW1lKSB7CisgICAgICAg
ICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZm91bmQiKTsKKyAgICAgICAg
aW5kZXggPSBldmFsQW5kTG9nKCJpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KGluZGV4RGF0YVtp
XS5uYW1lKTsiKTsKKyAgICAgICAgc2hvdWxkQmUoImluZGV4Lm5hbWUiLCAiaW5kZXhEYXRhW2ld
Lm5hbWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImluZGV4LmtleVBhdGgiLCAiaW5kZXhEYXRhW2ld
LmtleVBhdGgiKTsKKyAgICAgICAgc2hvdWxkQmUoImluZGV4LnVuaXF1ZSIsIGluZGV4RGF0YVtp
XS5vcHRpb25zLnVuaXF1ZSA/ICJ0cnVlIiA6ICJmYWxzZSIpOworICAgIH0KKworICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5nZXRL
ZXkoJ0JvYicpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hlY2tHZXRLZXk7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrR2V0S2V5KCkKK3sKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICIn
MjM3LTIzLTc3MzInIik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9i
amVjdFN0b3JlLmluZGV4KCduYW1lJykuZ2V0KCdCb2InKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNo
ZWNrR2V0OworfQorCitmdW5jdGlvbiBjaGVja0dldCgpCit7CisgICAgc2hvdWxkQmUoImV2ZW50
LnRhcmdldC5yZXN1bHQubmFtZSIsICInQm9iJyIpOworICAgIHNob3VsZEJlKCJldmVudC50YXJn
ZXQucmVzdWx0LmhlaWdodCIsICI2MCIpOworICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LndlaWdodCIsICIxMjAiKTsKKworICAgIGtleUluZGV4ID0gMDsKKworICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5
Q3Vyc29yKCk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAg
Y3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAg
ICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCIndmFsdWUnIGlu
IGN1cnNvciIpOworCisgICAgICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsi
KTsKKworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5
Iik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCIndmFsdWUnIGluIGN1cnNvciIpOworCisg
ICAgICAgICAgICBldmFsQW5kTG9nKCJrZXlJbmRleCsrOyIpOworICAgICAgICB9CisgICAgICAg
IGVsc2UgeworICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICJvYmplY3RTdG9yZURhdGEu
bGVuZ3RoIik7CisgICAgICAgICAgdGVzdEdyb3VwMygpOworICAgICAgICB9CisgICAgfTsKK30K
KworZnVuY3Rpb24gdGVzdEdyb3VwMygpCit7CisgICAga2V5SW5kZXggPSAwOworCisgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnd2VpZ2h0Jyku
b3BlbktleUN1cnNvcihudWxsLCBJREJDdXJzb3IuTkVYVCk7Iik7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAg
ICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJ
bmRleF0udmFsdWUud2VpZ2h0Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1h
cnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhV2VpZ2h0U29ydFtrZXlJbmRleF0ua2V5Iik7CisKKyAg
ICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZSgpOyIpOworCisgICAgICAgICAg
ICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUlu
ZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFy
eUtleSIsICJvYmplY3RTdG9yZURhdGFXZWlnaHRTb3J0W2tleUluZGV4XS5rZXkiKTsKKworICAg
ICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAgfQorICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICJvYmplY3RTdG9yZURhdGEu
bGVuZ3RoIik7CisgICAgICAgICAgICB0ZXN0R3JvdXA0KCk7CisgICAgICAgIH0KKyAgICB9Cit9
CisKK2Z1bmN0aW9uIHRlc3RHcm91cDQoKQoreworLyogdGhpcyB3YXMgc3BsaXQgb3V0IGludG8g
YSBzZXBhcmF0ZSB0ZXN0CisgICAgZGVidWcoIkNoZWNrIHRoYXQgdGhlIG5hbWUgaW5kZXggZW5m
b3JjZXMgaXRzIHVuaXF1ZSBjb25zdHJhaW50LiIpOworICAgIG9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygib2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsIElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7Cisg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigib2JqZWN0U3RvcmUuYWRkKHsgbmFtZTogJ0JvYics
IGhlaWdodDogNjIsIHdlaWdodDogMTcwIH0sICcyMzctMjMtNzczOCcpOyIsICJJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5DT05TVFJBSU5UX0VSUiIpOworKi8KKworICAgIG9iamVjdFN0b3JlID0gZXZh
bEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUpLm9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7CisgICAga2V5SW5kZXggPSBldmFsQW5kTG9n
KCJrZXlJbmRleCA9IG9iamVjdFN0b3JlRGF0YU5hbWVTb3J0Lmxlbmd0aCAtIDE7Iik7CisgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScp
Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpOyIpOworICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7CisgICAgICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlL
ZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworCisgICAgICAg
ICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKworICAgICAgICAgICAgc2hv
dWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2
YWxBbmRMb2coImtleUluZGV4LS07Iik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiLTEiKTsKKyAgICAgICAgICAgIHRlc3RHcm91
cDUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEdyb3VwNSgpCit7Cisg
ICAga2V5SW5kZXggPSAxOworICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJ
REJLZXlSYW5nZS5ib3VuZCgnQm9iJywgJ1JvbicpOyIpOworICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29yKGtl
eVJhbmdlKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeworICAgICAgICBj
dXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOworICAg
ICAgICBpZiAoY3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZSIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0
W2tleUluZGV4XS5rZXkiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51
ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAg
fQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICI1Iik7
CisgICAgICAgICAgICB0ZXN0R3JvdXA2KCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0
aW9uIHRlc3RHcm91cDYoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXgg
PSAyOyIpOworICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJREJLZXlSYW5n
ZS5ib3VuZCgnQm9iJywgJ1JvbicsIHRydWUpOyIpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9wZW5LZXlDdXJzb3Ioa2V5
UmFuZ2UpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgICAgIGN1
cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7CisgICAg
ICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAg
ICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRb
a2V5SW5kZXhdLmtleSIpOworCisgICAgICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGlu
dWUoKTsiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAg
IH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNSIp
OworICAgICAgICAgICAgdGVzdEdyb3VwNygpOworICAgICAgICB9CisgICAgfQorfQorCitmdW5j
dGlvbiB0ZXN0R3JvdXA3KCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4
ID0gMTsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coImtleVJhbmdlID0gSURCS2V5UmFu
Z2UuYm91bmQoJ0JvYicsICdSb24nLCBmYWxzZSwgdHJ1ZSk7Iik7CisKKyAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1
cnNvcihrZXlSYW5nZSk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAg
ICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsi
KTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5r
ZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNv
ci5jb250aW51ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsK
KyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRl
eCIsICI0Iik7CisgICAgICAgICAgICB0ZXN0R3JvdXA4KCk7CisgICAgICAgIH0KKyAgICB9Cit9
CisKK2Z1bmN0aW9uIHRlc3RHcm91cDgoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygi
a2V5SW5kZXggPSAyOyIpOworICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJ
REJLZXlSYW5nZS5ib3VuZCgnQm9iJywgJ1JvbicsIHRydWUsIHRydWUpOyIpOworCisgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9w
ZW5LZXlDdXJzb3Ioa2V5UmFuZ2UpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKGV2ZW50
KSB7CisgICAgICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7Iik7CisgICAgICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAib2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworCisgICAgICAgICAgICBldmFsQW5kTG9n
KCJjdXJzb3IuY29udGludWUoKTsiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImtleUluZGV4
Kys7Iik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgi
a2V5SW5kZXgiLCAiNCIpOworICAgICAgICAgICAgdGVzdEdyb3VwOSgpOworICAgICAgICB9Cisg
ICAgfQorfQorCitmdW5jdGlvbiB0ZXN0R3JvdXA5KCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxB
bmRMb2coImtleUluZGV4ID0gMTsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coImtleVJh
bmdlID0gSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgnQm9iJyk7Iik7CisKKyAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1
cnNvcihrZXlSYW5nZSk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAg
ICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsi
KTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5r
ZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNv
ci5jb250aW51ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsK
KyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRl
eCIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydC5sZW5ndGgiKTsKKyAgICAgICAgICAgIHRlc3RH
cm91cDEwKCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RHcm91cDEwKCkK
K3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gMjsiKTsKKyAgICBrZXlS
YW5nZSA9IGV2YWxBbmRMb2coImtleVJhbmdlID0gSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgnQm9i
JywgdHJ1ZSk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVj
dFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1cnNvcihrZXlSYW5nZSk7Iik7CisgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygi
Y3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgewor
ICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iu
cHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisK
KyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZSgpOyIpOworICAgICAgICAg
ICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICJvYmplY3RTdG9yZURhdGFOYW1lU29y
dC5sZW5ndGgiKTsKKyAgICAgICAgICAgIHRlc3RHcm91cDExKCk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHRlc3RHcm91cDExKCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRM
b2coImtleUluZGV4ID0gMDsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coImtleVJhbmdl
ID0gSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgnSm9lJyk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1cnNv
cihrZXlSYW5nZSk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAg
ICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsK
KyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXki
LCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5j
b250aW51ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAg
ICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAi
MyIpOworICAgICAgICAgIHRlc3RHcm91cDEyKCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHRlc3RHcm91cDEyKCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUlu
ZGV4ID0gMDsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coImtleVJhbmdlID0gSURCS2V5
UmFuZ2UudXBwZXJCb3VuZCgnSm9lJywgdHJ1ZSk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbktleUN1cnNvcihr
ZXlSYW5nZSk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAg
Y3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAg
ICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29y
dFtrZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250
aW51ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICIy
Iik7CisgICAgICAgICAgICB0ZXN0R3JvdXAxMygpOworICAgICAgICB9CisgICAgfQorfQorCitm
dW5jdGlvbiB0ZXN0R3JvdXAxMygpCit7CisgICAga2V5SW5kZXggPSBldmFsQW5kTG9nKCJrZXlJ
bmRleCA9IDM7Iik7CisgICAga2V5UmFuZ2UgPSBldmFsQW5kTG9nKCJrZXlSYW5nZSA9IElEQktl
eVJhbmdlLm9ubHkoJ1BhdCcpOyIpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVl
c3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9wZW5LZXlDdXJzb3Ioa2V5UmFuZ2UpOyIp
OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgICAgIGN1cnNvciA9IGV2
YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7CisgICAgICAgIGlmIChj
dXJzb3IpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LmtleSIpOworCisgICAgICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsK
KyAgICAgICAgICAgIGV2YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAgIH0KKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNCIpOworICAgICAg
ICAgICAgdGVzdEdyb3VwMTQoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gdGVz
dEdyb3VwMTQoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXggPSAwOyIp
OworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRl
eCgnbmFtZScpLm9wZW5DdXJzb3IoKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVu
dCkgeworICAgICAgICBjdXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQu
cmVzdWx0OyIpOworICAgICAgICBpZiAoY3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRCZSgi
Y3Vyc29yLmtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFt
ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IudmFsdWUubmFtZSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFs
dWUubmFtZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5oZWlnaHQiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodCIpOworICAgICAg
ICAgICAgaWYgKCd3ZWlnaHQnIGluIGN1cnNvci52YWx1ZSkgeworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZXZh
bEFuZExvZygiY3Vyc29yLmNvbnRpbnVlKCk7Iik7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1l
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAib2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1
cnNvci52YWx1ZS5uYW1lIiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1
ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLmhlaWdodCIsICJv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0Iik7CisgICAgICAg
ICAgICBpZiAoJ3dlaWdodCcgaW4gY3Vyc29yLnZhbHVlKSB7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoImN1cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBldmFs
QW5kTG9nKCJrZXlJbmRleCsrOyIpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgc2hvdWxkQmUoImtleUluZGV4IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0Lmxlbmd0
aCIpOworICAgICAgICAgICAgdGVzdEdyb3VwMTUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdEdyb3VwMTUoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5
SW5kZXggPSBvYmplY3RTdG9yZURhdGFOYW1lU29ydC5sZW5ndGggLSAxOyIpOworCisgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9w
ZW5DdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24gKGV2ZW50KSB7CisgICAgICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7Iik7CisgICAgICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworICAgICAgICAgICAgc2hv
dWxkQmUoImN1cnNvci52YWx1ZS5uYW1lIiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUlu
ZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLmhl
aWdodCIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0Iik7
CisgICAgICAgICAgICBpZiAoJ3dlaWdodCcgaW4gY3Vyc29yLnZhbHVlKSB7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhTmFt
ZVNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKworICAgICAgICAgICAgc2hv
dWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91
bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVp
Z2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsK
KyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLndlaWdodCIsICJvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGtleUluZGV4LS07CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBz
aG91bGRCZSgia2V5SW5kZXgiLCAiLTEiKTsKKyAgICAgICAgICAgIHRlc3RHcm91cDE2KCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RHcm91cDE2KCkKK3sKKyAgICBrZXlJ
bmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gMTsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxB
bmRMb2coImtleVJhbmdlID0gSURCS2V5UmFuZ2UuYm91bmQoJ0JvYicsICdSb24nKTsiKTsKKwor
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25h
bWUnKS5vcGVuQ3Vyc29yKGtleVJhbmdlKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChl
dmVudCkgeworICAgICAgICBjdXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJn
ZXQucmVzdWx0OyIpOworICAgICAgICBpZiAoY3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLmtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
bmFtZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVj
dFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS5rZXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJjdXJzb3IudmFsdWUubmFtZSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUubmFtZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5oZWlnaHQi
LCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodCIpOworICAg
ICAgICAgICAgaWYgKCd3ZWlnaHQnIGluIGN1cnNvci52YWx1ZSkgeworICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKworICAgICAgICAgICAgc2hvdWxk
QmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVl
Lm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmpl
Y3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVpZ2h0
IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAg
ICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICI1Iik7CisgICAgICAgICAgICB0ZXN0
R3JvdXAxNygpOworICAgICAgICB9CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0R3JvdXAxNygp
Cit7CisgICAga2V5SW5kZXggPSBldmFsQW5kTG9nKCJrZXlJbmRleCA9IDI7Iik7CisgICAga2V5
UmFuZ2UgPSBldmFsQW5kTG9nKCJrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAn
Um9uJywgdHJ1ZSk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9i
amVjdFN0b3JlLmluZGV4KCduYW1lJykub3BlbkN1cnNvcihrZXlSYW5nZSk7Iik7CisgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygi
Y3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgewor
ICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iu
cHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRh
TmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IudmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUp
IHsKKyAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9i
amVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRpbnVlKCk7Iik7CisK
KyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29y
LnByaW1hcnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5uYW1lIiwgIm9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
Y3Vyc29yLnZhbHVlLmhlaWdodCIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
dmFsdWUuaGVpZ2h0Iik7CisgICAgICAgICAgICBpZiAoJ3dlaWdodCcgaW4gY3Vyc29yLnZhbHVl
KSB7CisgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLndlaWdodCIsICJv
YmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Iik7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAg
IH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNSIp
OworICAgICAgICAgICAgdGVzdEdyb3VwMTgoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVu
Y3Rpb24gdGVzdEdyb3VwMTgoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5k
ZXggPSAxOyIpOworICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJREJLZXlS
YW5nZS5ib3VuZCgnQm9iJywgJ1JvbicsIGZhbHNlLCB0cnVlKTsiKTsKKworICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vy
c29yKGtleVJhbmdlKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeworICAg
ICAgICBjdXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OyIp
OworICAgICAgICBpZiAoY3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtl
eSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVjdFN0b3JlRGF0YU5h
bWVTb3J0W2tleUluZGV4XS5rZXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFs
dWUubmFtZSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5oZWlnaHQiLCAib2JqZWN0U3Rv
cmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodCIpOworICAgICAgICAgICAgaWYg
KCd3ZWlnaHQnIGluIGN1cnNvci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImN1cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBldmFsQW5kTG9n
KCJjdXJzb3IuY29udGludWUoKTsiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5r
ZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFO
YW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZh
bHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlm
ICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4
XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZXZhbEFuZExv
Zygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJrZXlJbmRleCIsICI0Iik7CisgICAgICAgICAgICB0ZXN0R3JvdXAxOSgpOwor
ICAgICAgICB9CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0R3JvdXAxOSgpCit7CisgICAga2V5
SW5kZXggPSBldmFsQW5kTG9nKCJrZXlJbmRleCA9IDI7Iik7CisgICAga2V5UmFuZ2UgPSBldmFs
QW5kTG9nKCJrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKCdCb2InLCAnUm9uJywgdHJ1ZSwg
dHJ1ZSk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0
b3JlLmluZGV4KCduYW1lJykub3BlbkN1cnNvcihrZXlSYW5nZSk7Iik7CisgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29y
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAg
ICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFy
eUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAg
ICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNv
cnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iu
dmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5o
ZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0
b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRpbnVlKCk7Iik7CisKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1h
cnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5uYW1lIiwgIm9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29y
LnZhbHVlLmhlaWdodCIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUu
aGVpZ2h0Iik7CisgICAgICAgICAgICBpZiAoJ3dlaWdodCcgaW4gY3Vyc29yLnZhbHVlKSB7Cisg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLndlaWdodCIsICJvYmplY3RT
dG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Iik7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNCIpOworICAg
ICAgICAgICAgdGVzdEdyb3VwMjAoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24g
dGVzdEdyb3VwMjAoKQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXggPSA0
OyIpOworICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5i
b3VuZCgnQm9iJywgJ1JvbicpOyIpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVl
c3QgPSBvYmplY3RTdG9yZS5pbmRleCgnbmFtZScpLm9wZW5DdXJzb3Ioa2V5UmFuZ2UsIElEQkN1
cnNvci5QUkVWKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeworICAgICAg
ICBjdXJzb3IgPSBldmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOwor
ICAgICAgICBpZiAoY3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIs
ICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZSIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVT
b3J0W2tleUluZGV4XS5rZXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUu
bmFtZSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0udmFsdWUubmFtZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS5oZWlnaHQiLCAib2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodCIpOworICAgICAgICAgICAgaWYgKCd3
ZWlnaHQnIGluIGN1cnNvci52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgc2hvdWxkQmUoImN1
cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZh
bHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBldmFsQW5kTG9nKCJj
dXJzb3IuY29udGludWUoKTsiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXki
LCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVl
Lm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgn
d2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZXZhbEFuZExvZygi
a2V5SW5kZXgtLTsiKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJrZXlJbmRleCIsICIwIik7CisgICAgICAgICAgICB0ZXN0R3JvdXAyMSgpOworICAg
ICAgICB9CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0R3JvdXAyMSgpCit7CisgICAga2V5SW5k
ZXggPSBldmFsQW5kTG9nKCJrZXlJbmRleCA9IDM7Iik7CisgICAga2V5UmFuZ2UgPSBldmFsQW5k
TG9nKCJrZXlSYW5nZSA9IElEQktleVJhbmdlLm9ubHkoNjUpOyIpOworCisgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnaGVpZ2h0Jykub3Blbktl
eUN1cnNvcihrZXlSYW5nZSwgSURCQ3Vyc29yLk5FWFQpOyIpOworICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVu
Y3Rpb24gKGV2ZW50KSB7CisgICAgICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2
ZW50LnRhcmdldC5yZXN1bHQ7Iik7CisgICAgICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5k
ZXhdLnZhbHVlLmhlaWdodCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5
S2V5IiwgIm9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLmtleSIpOworCisgICAg
ICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKyAgICAgICAgICAgIGV2
YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNSIpOworICAgICAgICAgICAgdGVzdEdyb3Vw
MjIoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEdyb3VwMjIoKQorewor
ICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXggPSAzOyIpOworICAgIGtleVJhbmdl
ID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5vbmx5KDY1KTsiKTsKKworICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ2hlaWdo
dCcpLm9wZW5LZXlDdXJzb3Ioa2V5UmFuZ2UsIElEQkN1cnNvci5ORVhUX05PX0RVUExJQ0FURSk7
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0g
ZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYg
KGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3Rv
cmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUuaGVpZ2h0Iik7CisgICAgICAgICAgICBz
aG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAib2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtr
ZXlJbmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51
ZSgpOyIpOworICAgICAgICAgICAgZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAg
fQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICI0Iik7
CisgICAgICAgICAgICB0ZXN0R3JvdXAyNCgpOworICAgICAgICB9CisgICAgfQorfQorCisvKiB0
aGlzIHdhcyBzcGxpdCBvdXQgaW50byBhIHNlcGFyYXRlIHRlc3QKK2Z1bmN0aW9uIHRlc3RHcm91
cDIzKCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gNTsiKTsKKwor
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ2hl
aWdodCcpLm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVZfTk9fRFVQTElDQVRFKTsi
KTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeworICAgICAgICBjdXJzb3IgPSBl
dmFsQW5kTG9nKCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOworICAgICAgICBpZiAo
Y3Vyc29yKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJvYmplY3RTdG9y
ZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tl
eUluZGV4XS5rZXkiKTsKKworICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRpbnVl
KCk7Iik7CisgICAgICAgICAgICBpZiAoa2V5SW5kZXggPT0gNSkgeworICAgICAgICAgICAgICAg
IGV2YWxBbmRMb2coImtleUluZGV4LS07Iik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBl
dmFsQW5kTG9nKCJrZXlJbmRleC0tOyIpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgc2hvdWxkQmUoImtleUluZGV4IiwgIi0xIik7CisgICAgICAgICAgICB0ZXN0R3Jv
dXAyNCgpOworICAgICAgICB9CisgICAgfQorfQorKi8KKworZnVuY3Rpb24gdGVzdEdyb3VwMjQo
KQoreworICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXggPSAzOyIpOworICAgIGtl
eVJhbmdlID0gZXZhbEFuZExvZygia2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5vbmx5KDY1KTsiKTsK
KworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgo
J2hlaWdodCcpLm9wZW5DdXJzb3Ioa2V5UmFuZ2UsIElEQkN1cnNvci5ORVhUKTsiKTsKKyAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeworICAgICAgICBjdXJzb3IgPSBldmFsQW5kTG9n
KCJjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOworICAgICAgICBpZiAoY3Vyc29yKSB7
CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJvYmplY3RTdG9yZURhdGFIZWln
aHRTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS5r
ZXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUubmFtZSIsICJvYmplY3RT
dG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBz
aG91bGRCZSgiY3Vyc29yLnZhbHVlLmhlaWdodCIsICJvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0
W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBj
dXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLndl
aWdodCIsICJvYmplY3RTdG9yZURhdGFIZWlnaHRTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQi
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRp
bnVlKCk7Iik7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJrZXlJbmRleCsrOyIpOworICAgICAg
ICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2hvdWxkQmUoImtleUluZGV4IiwgIjUi
KTsKKyAgICAgICAgICAgIHRlc3RHcm91cDI1KCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHRlc3RHcm91cDI1KCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUlu
ZGV4ID0gMzsiKTsKKyAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coImtleVJhbmdlID0gSURCS2V5
UmFuZ2Uub25seSg2NSk7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9
IG9iamVjdFN0b3JlLmluZGV4KCdoZWlnaHQnKS5vcGVuQ3Vyc29yKGtleVJhbmdlLCBJREJDdXJz
b3IuTkVYVF9OT19EVVBMSUNBVEUpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKGV2ZW50
KSB7CisgICAgICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQ7Iik7CisgICAgICAgIGlmIChjdXJzb3IpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhl
aWdodCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5wcmltYXJ5S2V5IiwgIm9iamVj
dFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLmtleSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImN1cnNvci52YWx1ZS5uYW1lIiwgIm9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5k
ZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVp
Z2h0IiwgIm9iamVjdFN0b3JlRGF0YUhlaWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLmhlaWdodCIp
OworICAgICAgICAgICAgaWYgKCd3ZWlnaHQnIGluIGN1cnNvci52YWx1ZSkgeworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YUhl
aWdodFNvcnRba2V5SW5kZXhdLnZhbHVlLndlaWdodCIpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKyAgICAgICAgICAgIGV2
YWxBbmRMb2coImtleUluZGV4Kys7Iik7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBzaG91bGRCZSgia2V5SW5kZXgiLCAiNCIpOworICAgICAgICAgICAgdGVzdEdyb3Vw
MjcoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworLyogdGhpcyB3YXMgc3BsaXQgb3V0IGludG8g
YSBzZXBhcmF0ZSB0ZXN0CitmdW5jdGlvbiB0ZXN0R3JvdXAyNigpCit7CisgICAga2V5SW5kZXgg
PSBldmFsQW5kTG9nKCJrZXlJbmRleCA9IDU7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCdoZWlnaHQnKS5vcGVuQ3Vyc29yKG51bGws
IElEQkN1cnNvci5QUkVWX05PX0RVUExJQ0FURSk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlv
biAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hv
dWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0u
dmFsdWUuaGVpZ2h0Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXki
LCAib2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAg
ICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29y
dFtrZXlJbmRleF0udmFsdWUubmFtZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52
YWx1ZS5oZWlnaHQiLCAib2JqZWN0U3RvcmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUu
aGVpZ2h0Iik7CisgICAgICAgICAgICBpZiAoJ3dlaWdodCcgaW4gY3Vyc29yLnZhbHVlKSB7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci52YWx1ZS53ZWlnaHQiLCAib2JqZWN0U3Rv
cmVEYXRhSGVpZ2h0U29ydFtrZXlJbmRleF0udmFsdWUud2VpZ2h0Iik7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZSgpOyIpOworICAgICAg
ICAgICAgaWYgKGtleUluZGV4ID09IDUpIHsKKyAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJr
ZXlJbmRleC0tOyIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZXZhbEFuZExvZygia2V5
SW5kZXgtLTsiKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJrZXlJbmRleCIsICItMSIpOworICAgICAgICAgICAgdGVzdEdyb3VwMjcoKTsKKyAgICAg
ICAgfQorICAgIH0KK30KKyovCisKK2Z1bmN0aW9uIHRlc3RHcm91cDI3KCkKK3sKKyAgICBrZXlJ
bmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gMDsiKTsKKworICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29y
KCk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29y
ID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAg
aWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIG5leHRLZXkgPSBldmFsQW5kTG9nKCJuZXh0S2V5
ID0gIWtleUluZGV4ID8gJ1BhdCcgOiB1bmRlZmluZWQ7Iik7CisgICAgICAgICAgICBpZiAobmV4
dEtleSkgeworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZShuZXh0
S2V5KTsiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZXZhbEFuZExv
ZygiY3Vyc29yLmNvbnRpbnVlKCk7Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworCisgICAgICAgICAgICBp
ZiAoIWtleUluZGV4KSB7CisgICAgICAgICAgICAgICAga2V5SW5kZXggPSBldmFsQW5kTG9nKCJr
ZXlJbmRleCA9IDM7Iik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBldmFsQW5kTG9nKCJrZXlJbmRleCsrOyIpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2hvdWxkQmUoImtleUluZGV4Iiwg
Im9iamVjdFN0b3JlRGF0YS5sZW5ndGgiKTsKKyAgICAgICAgICAgIHRlc3RHcm91cDI4KCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RHcm91cDI4KCkKK3sKKyAgICBrZXlJ
bmRleCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gMDsiKTsKKworICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuS2V5Q3Vyc29y
KCk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29y
ID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAg
aWYgKGN1cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJ
bmRleF0ua2V5Iik7CisKKyAgICAgICAgICAgIG5leHRLZXkgPSBldmFsQW5kTG9nKCJuZXh0S2V5
ID0gIWtleUluZGV4ID8gJ0ZsbycgOiB1bmRlZmluZWQ7Iik7CisgICAgICAgICAgICBpZiAobmV4
dEtleSkgeworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZShuZXh0
S2V5KTsiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZXZhbEFuZExv
ZygiY3Vyc29yLmNvbnRpbnVlKCk7Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3Iua2V5IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS5uYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCAi
b2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLmtleSIpOworCisgICAgICAgICAgICBr
ZXlJbmRleCArPSBrZXlJbmRleCA/IDEgOiAyOworICAgICAgICB9CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgc2hvdWxkQmUoImtleUluZGV4IiwgIm9iamVjdFN0b3JlRGF0YS5sZW5ndGgi
KTsKKyAgICAgICAgICAgIHRlc3RHcm91cDI5KCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHRlc3RHcm91cDI5KCkKK3sKKyAgICBrZXlJbmRleCA9IGV2YWxBbmRMb2coImtleUlu
ZGV4ID0gMDsiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0
U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKCk7Iik7CisgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5j
dGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1cnNvcikgeworICAgICAgICAgICAg
c2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIs
ICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBz
aG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUu
aGVpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQi
KTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgbmV4dEtleSA9IGV2YWxBbmRMb2coIm5leHRLZXkgPSAha2V5SW5kZXggPyAnUGF0
JyA6IHVuZGVmaW5lZDsiKTsKKyAgICAgICAgICAgIGlmIChuZXh0S2V5KSB7CisgICAgICAgICAg
ICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRpbnVlKG5leHRLZXkpOyIpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUo
KTsiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXki
LCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1l
U29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVl
Lm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0b3Jl
RGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgn
d2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52
YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFrZXlJbmRl
eCkgeworICAgICAgICAgICAgICAgIGtleUluZGV4ID0gZXZhbEFuZExvZygia2V5SW5kZXggPSAz
OyIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAg
ZXZhbEFuZExvZygia2V5SW5kZXgrKzsiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICJvYmplY3RTdG9y
ZURhdGFOYW1lU29ydC5sZW5ndGgiKTsKKyAgICAgICAgICAgIHRlc3RHcm91cDMwKCk7CisgICAg
ICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RHcm91cDMwKCkKK3sKKyAgICBrZXlJbmRl
eCA9IGV2YWxBbmRMb2coImtleUluZGV4ID0gMDsiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ25hbWUnKS5vcGVuQ3Vyc29yKCk7Iik7
CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgY3Vyc29yID0gZXZh
bEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKKyAgICAgICAgaWYgKGN1
cnNvcikgeworICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVE
YXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJjdXJzb3IucHJpbWFyeUtleSIsICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0u
a2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0
U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3IudmFsdWUuaGVpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tl
eUluZGV4XS52YWx1ZS5oZWlnaHQiKTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJz
b3IudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2Vp
Z2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbmV4dEtleSA9IGV2YWxBbmRMb2coIm5leHRL
ZXkgPSAha2V5SW5kZXggPyAnRmxvJyA6IHVuZGVmaW5lZDsiKTsKKyAgICAgICAgICAgIGlmIChu
ZXh0S2V5KSB7CisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmNvbnRpbnVlKG5l
eHRLZXkpOyIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBldmFsQW5k
TG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
c2hvdWxkQmUoImN1cnNvci5rZXkiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5SW5kZXhd
LnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtleSIs
ICJvYmplY3RTdG9yZURhdGFOYW1lU29ydFtrZXlJbmRleF0ua2V5Iik7CisgICAgICAgICAgICBz
aG91bGRCZSgiY3Vyc29yLnZhbHVlLm5hbWUiLCAib2JqZWN0U3RvcmVEYXRhTmFtZVNvcnRba2V5
SW5kZXhdLnZhbHVlLm5hbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUu
aGVpZ2h0IiwgIm9iamVjdFN0b3JlRGF0YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS5oZWlnaHQi
KTsKKyAgICAgICAgICAgIGlmICgnd2VpZ2h0JyBpbiBjdXJzb3IudmFsdWUpIHsKKyAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUud2VpZ2h0IiwgIm9iamVjdFN0b3JlRGF0
YU5hbWVTb3J0W2tleUluZGV4XS52YWx1ZS53ZWlnaHQiKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAga2V5SW5kZXggKz0ga2V5SW5kZXggPyAxIDogMjsKKyAgICAgICAgfQorICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJrZXlJbmRleCIsICJvYmplY3RTdG9yZURh
dGFOYW1lU29ydC5sZW5ndGgiKTsKKyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgfQorICAg
IH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKK3Rlc3QoKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>