<?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>76108</bug_id>
          
          <creation_ts>2012-01-11 15:03:30 -0800</creation_ts>
          <short_desc>IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted</short_desc>
          <delta_ts>2012-01-11 17:03:09 -0800</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534299</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 15:03:30 -0800</bug_when>
    <thetext>IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534302</commentid>
    <comment_count>1</comment_count>
      <attachid>122103</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 15:06:41 -0800</bug_when>
    <thetext>Created attachment 122103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534332</commentid>
    <comment_count>2</comment_count>
      <attachid>122110</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 15:27:27 -0800</bug_when>
    <thetext>Created attachment 122110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534336</commentid>
    <comment_count>3</comment_count>
      <attachid>122110</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 15:29:07 -0800</bug_when>
    <thetext>Comment on attachment 122110
Patch

Oops - I had my more detailed changelog saved locally but it didn&apos;t make it into the patch somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534347</commentid>
    <comment_count>4</comment_count>
      <attachid>122103</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-01-11 15:50:17 -0800</bug_when>
    <thetext>Comment on attachment 122103
Patch

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

&gt; Source/WebCore/storage/IDBDatabaseException.h:55
&gt; +        TRANSACTION_INACTIVE_ERR = IDBDatabaseExceptionOffset + 7,
&gt; +        ABORT_ERR = IDBDatabaseExceptionOffset + 8,
&gt; +        READ_ONLY_ERR = IDBDatabaseExceptionOffset + 9,

It&apos;s sufficient to set the first value to IDBDatabaseExceptionOffset and the rest will increment from there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534371</commentid>
    <comment_count>5</comment_count>
      <attachid>122117</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 16:16:14 -0800</bug_when>
    <thetext>Created attachment 122117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534373</commentid>
    <comment_count>6</comment_count>
      <attachid>122117</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-01-11 16:17:14 -0800</bug_when>
    <thetext>Comment on attachment 122117
Patch

Thanks, good to tidy while I&apos;m in there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534424</commentid>
    <comment_count>7</comment_count>
      <attachid>122117</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 17:03:03 -0800</bug_when>
    <thetext>Comment on attachment 122117
Patch

Clearing flags on attachment: 122117

Committed r104771: &lt;http://trac.webkit.org/changeset/104771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534425</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 17:03:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122103</attachid>
            <date>2012-01-11 15:06:41 -0800</date>
            <delta_ts>2012-01-11 15:50:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76108-20120111150640.patch</filename>
            <type>text/plain</type>
            <size>40228</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ2ZTNmNDdkNjNlYTcy
NDY0OWRjYjE5NjM5NjIwZjM0ZDE3NzBmZC4uZjQyZGYxMzhmMWJmMDI4MzhjMGM3NzI4YjEzOGQw
ODY5N2U0OWU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBNZXRo
b2RzIHNob3VsZCB0aHJvdyBUUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlv
biBpcyBjb21wbGV0ZWQvYWJvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzYxMDgKKworICAgICAgICBVcGRhdGVkIElEQkRhdGFiYXNlRXhjZXB0
aW9uIGVycm9yIGNvZGVzIHRvIG1hdGNoIHNwZWMgKHRoZSBwcmUtRE9NNCB2ZXJzaW9uKSwKKyAg
ICAgICAgaW5jbHVkaW5nIHVwZGF0ZWQgZGVzY3JpcHRpb24gc3RyaW5ncywgYW5kIGNoYW5nZWQg
cmVsZXZhbnQgc3RvcmUgYW5kIGluZGV4IAorICAgICAgICBtZXRob2RzIHRvIHJhaXNlIHRoZSBl
eHBlY3RlZCBleGNlcHRpb24gdHlwZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLmh0bWwKKworICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoQ29udGlu
dWUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lE
QkRhdGFiYXNlRXhjZXB0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkluZGV4QmFja2Vu
ZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6b3BlbkN1
cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJhY2tlbmRJbXBsOjpvcGVuS2V5Q3Vy
c29yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6OmNvdW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6OmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJJbmRleEJhY2tlbmRJbXBsOjpnZXRLZXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbDo6cHV0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2Vu
ZEltcGw6OmRlbGV0ZUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGw6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGw6OmNyZWF0ZUluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGw6OmRlbGV0ZUluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw6Om9wZW5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbDo6Y291bnQpOgorCiAyMDEyLTAxLTEwICBEYW5pZWwgQ2hlbmcgIDxk
Y2hlbmdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUGFzdGVib2FyZDo6ZG9j
dW1lbnRGcmFnbWVudCBzaG91bGQgZmFsbCBiYWNrIHRvIHRleHQgaWYgdGhlcmUncyBubyBIVE1M
IHRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2Vu
ZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5j
cHAKaW5kZXggMjM1MWY2NzUwZWFjNjlkZjhmMDBlMjZkMDAyNzJhYzZiYjhlY2NmNC4uN2Y5OTQ2
MzE0NDc0MTQ0MGM3YzFlZjM1ZjU1NjZmY2EzMmI4YjViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCB2
b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURC
S2V5PiBwcnBLZXksIFBhc3NSZWZQdAogICAgIH0KIAogICAgIGlmICghbV90cmFuc2FjdGlvbi0+
c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCQ3Vyc29yQmFja2VuZEltcGw6OmNv
bnRpbnVlRnVuY3Rpb25JbnRlcm5hbCwgdGhpcywga2V5LCBwcnBDYWxsYmFja3MpKSkKLSAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBl
YyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAK
IC8vIElNUE9SVEFOVDogSWYgdGhpcyBldmVyIDEpIGZpcmVzIGFuICdlcnJvcicgZXZlbnQgYW5k
IDIpIGl0J3MgcG9zc2libGUgdG8gZmlyZSBhbm90aGVyIGV2ZW50IGFmdGVyd2FyZHMsCkBAIC0x
NDYsNyArMTQ2LDcgQEAgdm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24o
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrcywKIHZvaWQgSURCQ3Vyc29yQmFj
a2VuZEltcGw6OnByZWZldGNoQ29udGludWUoaW50IG51bWJlclRvRmV0Y2gsIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlm
ICghbV90cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCQ3Vy
c29yQmFja2VuZEltcGw6OnByZWZldGNoQ29udGludWVJbnRlcm5hbCwgdGhpcywgbnVtYmVyVG9G
ZXRjaCwgcHJwQ2FsbGJhY2tzKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246
Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJB
TlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogfQogCiB2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpw
cmVmZXRjaENvbnRpbnVlSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8SURCQ3Vyc29yQmFja2VuZEltcGw+IHBycEN1cnNvciwgaW50IG51bWJlclRvRmV0Y2gsIFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCmluZGV4IGY1YzNlZGM3NjRjMmFjOGVjYzc4
YWVjNjRmMmVjYzgzYjgxNjRlOWMuLjRmYzY4MWUwYzA4MDA3MTJlOGE1Y2UyYmE5ODEyN2IyNzA1
MDNjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNl
cHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uY3BwCkBAIC00MiwxMyArNDIsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2Vw
dGlvbk5hbWVzW10gPSB7CiAgICAgIkNPTlNUUkFJTlRfRVJSIiwKICAgICAiREFUQV9FUlIiLAog
ICAgICJOT1RfQUxMT1dFRF9FUlIiLAotICAgICJTRVJJQUxfRVJSIiwKLSAgICAiUkVDT1ZFUkFC
TEVfRVJSIiwKLSAgICAiVFJBTlNJRU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIiwKLSAgICAi
REVBRExPQ0tfRVJSIiwKKyAgICAiVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwKKyAgICAiQUJP
UlRfRVJSIiwKICAgICAiUkVBRF9PTkxZX0VSUiIsCi0gICAgIkFCT1JUX0VSUiIKKyAgICAiVElN
RU9VVF9FUlIiLAorICAgICJRVU9UQV9FUlIiLAorICAgICJWRVJfRVJSIgogfTsKIAogc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewpAQCAtNTgsMTMg
KzU3LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNb
XSA9IHsKICAgICAiVGhlIHJlcXVlc3QgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBmYWls
ZWQgY29uc3RyYWludC4iLAogICAgICJUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBtZWV0IHRo
ZSByZXF1aXJlbWVudHMgb2YgdGhlIGZ1bmN0aW9uLiIsCiAgICAgIlRoaXMgZnVuY3Rpb24gaXMg
bm90IGFsbG93ZWQgdG8gYmUgY2FsbGVkIGluIHN1Y2ggYSBjb250ZXh0LiIsCi0gICAgIlRoZSBk
YXRhIHN1cHBsaWVkIGNhbm5vdCBiZSBzZXJpYWxpemVkIGFjY29yZGluZyB0byB0aGUgc3RydWN0
dXJlZCBjbG9uaW5nIGFsZ29yaXRobS4iLAotICAgICJSRUNPVkVSQUJMRV9FUlIiLCAvLyBGSVhN
RTogVGhpcyBpc24ndCBldmVuIHVzZWQuCi0gICAgIlRSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTog
VGhpcyBpc24ndCBldmVuIHVzZWQuCi0gICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhpcyBjYW4ndCBi
ZSB0aHJvd24uCi0gICAgIkRFQURMT0NLX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgot
ICAgICJXcml0ZSBvcGVyYXRpb25zIGNhbm5vdCBiZSBwcmVmb3JtZWQgb24gYSByZWFkLW9ubHkg
dHJhbnNhY3Rpb24uIiwKLSAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUg
cmVxdWVzdCBjYW5ub3QgYmUgZnVsZmlsbGVkLiIKKyAgICAiQSByZXF1ZXN0IHdhcyBwbGFjZWQg
YWdhaW5zdCBhIHRyYW5zYWN0aW9uIHdoaWNoIGlzIGVpdGhlciBjdXJyZW50bHkgbm90IGFjdGl2
ZSwgb3Igd2hpY2ggaXMgZmluaXNoZWQuIiwKKyAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9y
dGVkLCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVsZmlsbGVkLiIsCisgICAgIkEgd3JpdGUg
b3BlcmF0aW9uIHdhcyBhdHRlbXB0ZWQgaW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKKyAg
ICAiQSBsb2NrIGZvciB0aGUgdHJhbnNhY3Rpb24gY291bGQgbm90IGJlIG9idGFpbmVkIGluIGEg
cmVhc29uYWJsZSB0aW1lLiIsIC8vIEZJWE1FOiBUaGlzIGlzbid0IHVzZWQgeWV0LgorICAgICJU
aGUgb3BlcmF0aW9uIGZhaWxlZCBiZWNhdXNlIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmlu
ZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhl
IHVzZXIgZGVjbGluZWQgdG8gZ2l2ZSBtb3JlIHNwYWNlIHRvIHRoZSBkYXRhYmFzZS4iLCAvLyBG
SVhNRTogVGhpcyBpc24ndCB1c2VkIHlldAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG9w
ZW4gYSBkYXRhYmFzZSB1c2luZyBhIGxvd2VyIHZlcnNpb24gdGhhbiB0aGUgZXhpc3RpbmcgdmVy
c2lvbi4iLCAvLyBGSVhNRTogVGhpcyBpc24ndCB1c2VkIHlldAogfTsKIAogQ09NUElMRV9BU1NF
UlQoV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChl
eGNlcHRpb25EZXNjcmlwdGlvbnMpLCBJREJEYXRhYmFzZUV4Y2VwdGlvblRhYmxlc011c3RNYXRj
aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgKaW5k
ZXggZjYwNjAzNjI0ZTVkYWRjMTJmNDBlMzVkNjQzNTJkNjRlZGUwNDMzMC4uZTUzYmM5NTBkMWEw
YzVkZThmOGNhNjM4ZmViMjkxMWUzMzNlY2YzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaApAQCAtNTAsMTMgKzUwLDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgQ09OU1RSQUlOVF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDQsCiAg
ICAgICAgIERBVEFfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyA1LAogICAgICAg
ICBOT1RfQUxMT1dFRF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDYsCi0gICAg
ICAgIFNFUklBTF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDcsCi0gICAgICAg
IFJFQ09WRVJBQkxFX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgOCwKLSAgICAg
ICAgVFJBTlNJRU5UX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgOSwKKyAgICAg
ICAgVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQg
KyA3LAorICAgICAgICBBQk9SVF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDgs
CisgICAgICAgIFJFQURfT05MWV9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDks
CiAgICAgICAgIFRJTUVPVVRfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMCwK
LSAgICAgICAgREVBRExPQ0tfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMSwK
LSAgICAgICAgUkVBRF9PTkxZX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTIs
Ci0gICAgICAgIEFCT1JUX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTMKKyAg
ICAgICAgUVVPVEFfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMSwKKyAgICAg
ICAgVkVSX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTIKICAgICB9OwogCiAg
ICAgc3RhdGljIGludCBFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUoaW50IGVycm9yQ29kZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaWRs
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwKaW5kZXgg
ZDYwMzA1NzM4YmRkMmQ4NGFmZmRjMWFmOWM3MGU1MDRiMGQ4OGVlYy4uMWFkZTM3ZDZkODNhMjFl
NjE1YjE1ZmE4N2ZhM2NkNTM1YTE3NDg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwKQEAgLTQ2LDEzICs0NiwxMiBAQCBtb2R1bGUgc3Rv
cmFnZSB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENPTlNUUkFJTlRfRVJSID0gNDsK
ICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgREFUQV9FUlIgPSA1OwogICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBOT1RfQUxMT1dFRF9FUlIgPSA2OwotICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTRVJJQUxfRVJSID0gNzsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
UkVDT1ZFUkFCTEVfRVJSID0gODsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVFJBTlNJ
RU5UX0VSUiA9IDk7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRSQU5TQUNUSU9OX0lO
QUNUSVZFX0VSUiA9IDc7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFCT1JUX0VSUiA9
IDg7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFQURfT05MWV9FUlIgPSA5OwogICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBUSU1FT1VUX0VSUiA9IDEwOwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBERUFETE9DS19FUlIgPSAxMTsKLSAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUkVBRF9PTkxZX0VSUiA9IDEyOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBBQk9SVF9FUlIgPSAxMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFfRVJS
ID0gMTE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFZFUl9FUlIgPSAxMjsKICAgICB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2Vu
ZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbXBsLmNw
cAppbmRleCA2ZjYxZjc3NGRhOTdkYmJkM2JhZTBlM2VjNDAwMjkzZjViN2Y2MGM0Li5jNjFhM2I5
MTQ3YmU5MTNiYTE4YzUxYjQyNzA2MGMwMjcxNzgxNTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lk
IElEQkluZGV4QmFja2VuZEltcGw6Om9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4g
cHJwS2V5UmFuZ2UsIHVuc2lnbgogICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9
IHBycENhbGxiYWNrczsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
PiB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uUHRyOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNj
aGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJm9wZW5DdXJzb3JJbnRlcm5hbCwgaW5kZXgs
IGtleVJhbmdlLCBkaXJlY3Rpb24sIElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U6OkluZGV4Q3Vy
c29yLCBjYWxsYmFja3MsIHRyYW5zYWN0aW9uKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VF
eGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2Vw
dGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogfQogCiB2b2lkIElEQkluZGV4QmFja2Vu
ZEltcGw6Om9wZW5LZXlDdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcHJwS2V5UmFuZ2Us
IHVuc2lnbmVkIHNob3J0IGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENh
bGxiYWNrcywgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvblB0ciwg
RXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xMTksNyArMTE5LDcgQEAgdm9pZCBJREJJbmRleEJhY2tl
bmRJbXBsOjpvcGVuS2V5Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBycEtleVJhbmdl
LCB1bnMKICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7
CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24g
PSB0cmFuc2FjdGlvblB0cjsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3Jl
YXRlQ2FsbGJhY2tUYXNrKCZvcGVuQ3Vyc29ySW50ZXJuYWwsIGluZGV4LCBrZXlSYW5nZSwgZGly
ZWN0aW9uLCBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlOjpJbmRleEtleUN1cnNvciwgY2FsbGJh
Y2tzLCB0cmFuc2FjdGlvbikpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpO
T1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5T
QUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpjb3Vu
dEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkluZGV4QmFj
a2VuZEltcGw+IGluZGV4LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiByYW5nZSwgUGFzc1JlZlB0
cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgSURCSW5k
ZXhCYWNrZW5kSW1wbDo6Y291bnRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxJREJJCiB2b2lkIElEQkluZGV4QmFja2VuZEltcGw6OmNvdW50KFBhc3NSZWZQdHI8
SURCS2V5UmFuZ2U+IHJhbmdlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJh
Y2tUYXNrKCZjb3VudEludGVybmFsLCB0aGlzLCByYW5nZSwgY2FsbGJhY2tzLCB0cmFuc2FjdGlv
bikpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7
CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZF
X0VSUjsKIH0KIAogdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpnZXRJbnRlcm5hbChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCwg
UGFzc1JlZlB0cjxJREJLZXk+IGtleSwgYm9vbCBnZXRPYmplY3QsIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPiBjYWxsYmFja3MpCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCBJREJJbmRleEJhY2tl
bmRJbXBsOjpnZXQoUGFzc1JlZlB0cjxJREJLZXk+IHBycEtleSwgUGFzc1JlZlB0cjxJREJDYWxs
YmFja3MKICAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBwcnBLZXk7CiAgICAgUmVmUHRyPElEQkNh
bGxiYWNrcz4gY2FsbGJhY2tzID0gcHJwQ2FsbGJhY2tzOwogICAgIGlmICghdHJhbnNhY3Rpb24t
PnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJmdldEludGVybmFsLCBpbmRleCwga2V5
LCB0cnVlLCBjYWxsYmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFO
U0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0
S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBw
cnBDYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24s
IEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgSURCSW5kZXhCYWNr
ZW5kSW1wbDo6Z2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURC
Q2FsbGJhCiAgICAgUmVmUHRyPElEQktleT4ga2V5ID0gcHJwS2V5OwogICAgIFJlZlB0cjxJREJD
YWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKICAgICBpZiAoIXRyYW5zYWN0aW9u
LT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZnZXRJbnRlcm5hbCwgaW5kZXgsIGtl
eSwgZmFsc2UsIGNhbGxiYWNrcykpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRS
QU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogYm9vbCBJREJJbmRleEJhY2tlbmRJbXBsOjph
ZGRpbmdLZXlBbGxvd2VkKGNvbnN0IElEQktleSogaW5kZXhLZXksIGNvbnN0IElEQktleSogcHJp
bWFyeUtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGwuY3BwCmluZGV4IDIxOWY5MWI0ZDE3Y2YyODJmMjA1YTE2NjRkMTE0YzAzNTI0
ZGM0NTQuLmE5NDViZDA1M2ViN2U0OTczNmVkMGY3MTkyNzk0MDhlZjQ2NGRmNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNw
cApAQCAtODcsNyArODcsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmdldChQ
YXNzUmVmUHRyPElEQktleT4gcHJwS2V5LCBQYXNzUmVmUHRyPElEQkNhbAogICAgIFJlZlB0cjxJ
REJLZXk+IGtleSA9IHBycEtleTsKICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3Mg
PSBwcnBDYWxsYmFja3M7CiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0
ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Z2V0SW50ZXJuYWwsIG9i
amVjdFN0b3JlLCBrZXksIGNhbGxiYWNrcykpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsOjpnZXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJL
ZXk+IGtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKQEAgLTE1MSw3ICsx
NTEsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dChQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gcHJwVmFsdWUsCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IHRocm93IGEgU0VSSUFMX0VSUiBvbiBzdHJ1Y3R1cmVkIGNsb25lIHByb2JsZW1zLgogICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZCB0aHJvdyBhIERBVEFfRVJSIHdoZW4gdGhlIHdyb25nIGtleS9r
ZXlQYXRoIGRhdGEgaXMgc3VwcGxpZWQuCiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVU
YXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50
ZXJuYWwsIG9iamVjdFN0b3JlLCB2YWx1ZSwga2V5LCBwdXRNb2RlLCBjYWxsYmFja3MsIHRyYW5z
YWN0aW9uKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VE
X0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSOwogfQogCiBQYXNzUmVmUHRyPElEQktleT4gSURCT2JqZWN0U3RvcmVCYWNrZW5k
SW1wbDo6c2VsZWN0S2V5Rm9yUHV0KElEQk9iamVjdFN0b3JlQmFja2VuZEltcGwqIG9iamVjdFN0
b3JlLCBJREJLZXkqIGtleSwgUHV0TW9kZSBwdXRNb2RlLCBJREJDYWxsYmFja3MqIGNhbGxiYWNr
cywgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mIHZhbHVlKQpAQCAtMzM0LDcgKzMzNCw3
IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24oUGFzc1Jl
ZlB0cjxJREJLZXk+IHBycEtleSwgUGFzc1JlCiAgICAgfQogCiAgICAgaWYgKCF0cmFuc2FjdGlv
bi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5k
SW1wbDo6ZGVsZXRlSW50ZXJuYWwsIG9iamVjdFN0b3JlLCBrZXksIGNhbGxiYWNrcykpKQotICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0K
IAogdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpkZWxldGVJbnRlcm5hbChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBv
YmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IGNhbGxiYWNrcykKQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGw6OmNsZWFyKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIElE
QgogICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKIAog
ICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklE
Qk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNsZWFySW50ZXJuYWwsIG9iamVjdFN0b3JlLCBjYWxs
YmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURf
RVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFD
VElWRV9FUlI7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y2xlYXJJbnRl
cm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNr
cykKQEAgLTQ1MSw3ICs0NTEsNyBAQCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFj
ZT4gSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y3JlYXRlSW5kZXgoY29ucwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0U3RvcmUsIGluZGV4LCB0cmFuc2FjdGlvblB0
ciksCiAgICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6cmVtb3ZlSW5kZXhGcm9tTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb2JqZWN0U3RvcmUsIGluZGV4KSkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
IApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVs
ZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RTdG9yZSwgaW5kZXgsIHRyYW5zYWN0aW9uUHRy
KSwKICAgICAgICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOjphZGRJbmRleFRvTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2JqZWN0U3RvcmUsIGluZGV4KSkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpU
UkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9p
bmRleGVzLnJlbW92ZShuYW1lKTsKQEAgLTUyOCw3ICs1MjgsNyBAQCB2b2lkIElEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw6Om9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcHJwUmFu
Z2UsIHVucwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzaygKICAgICAgICAgICAg
IGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6b3BlbkN1cnNv
ckludGVybmFsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFN0b3JlLCBy
YW5nZSwgZGlyZWN0aW9uLCBjYWxsYmFja3MsIHRyYW5zYWN0aW9uUHRyKSkpIHsKLSAgICAgICAg
ZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiAgICAgfQog
fQogCkBAIC01NDksNyArNTQ5LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpv
cGVuQ3Vyc29ySW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3MKIHZvaWQgSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y291bnQoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFu
Z2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlm
ICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVj
dFN0b3JlQmFja2VuZEltcGw6OmNvdW50SW50ZXJuYWwsIHRoaXMsIHJhbmdlLCBjYWxsYmFja3Ms
IHRyYW5zYWN0aW9uKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9B
TExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJ
T05fSU5BQ1RJVkVfRVJSOwogfQogCiB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNv
dW50SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJh
bmdlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQlRy
YW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24pCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTE5YzQ4ZThk
NmQwYjAyZWU3YmE2MTE4MzA3MWM2MTRhNDQ2MDVkMi4uM2JjMTc4NDJlOWRjNGUyMTM2ZDJhYzNi
NDRiNTcwNTY4MDE1NTE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBNZXRo
b2RzIHNob3VsZCB0aHJvdyBUUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlv
biBpcyBjb21wbGV0ZWQvYWJvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzYxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY29uc3RhbnRzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbDoKKwogMjAxMi0wMS0xMCAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjEwNDU0My4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2NvbnN0YW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jb25zdGFudHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ1MTZmN2U1YWFhOWYxNzhlMzdk
ODMwOTVjZTU0MjM5YjQ3NDE1ZjEuLjJiODZkZjk5OTQ3YWI1MDM5ZTY2NmY4YmE4MWY5ODNiNGUw
ZDhjYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY29uc3Rh
bnRzLWV4cGVjdGVkLnR4dApAQCAtOSwxMSArOSwxMiBAQCBQQVNTIHdlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLk5PVF9GT1VORF9FUlIgaXMgMwogUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5DT05TVFJBSU5UX0VSUiBpcyA0CiBQQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSIGlzIDUKIFBBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9X
RURfRVJSIGlzIDYKLVBBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uU0VSSUFMX0VSUiBp
cyA3Ci1QQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlJFQ09WRVJBQkxFX0VSUiBpcyA4
Ci1QQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TSUVOVF9FUlIgaXMgOQorUEFT
UyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgaXMg
NworUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIgaXMgOAorUEFTUyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSIGlzIDkKIFBBU1Mgd2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uVElNRU9VVF9FUlIgaXMgMTAKLVBBU1Mgd2Via2l0SURCRGF0
YWJhc2VFeGNlcHRpb24uREVBRExPQ0tfRVJSIGlzIDExCitQQVNTIHdlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLlFVT1RBX0VSUiBpcyAxMQorUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5WRVJfRVJSIGlzIDEyCiBQQVNTIHdlYmtpdElEQlJlcXVlc3QuTE9BRElORyBpcyAxCiBQQVNT
IHdlYmtpdElEQlJlcXVlc3QuRE9ORSBpcyAyCiBQQVNTIHdlYmtpdElEQkN1cnNvci5ORVhUIGlz
IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY29uc3RhbnRzLmh0bWwKaW5kZXgg
ZDBlMDMyYWFlODcwOWMzMDY1MzI0ODkzZTM0MzBhMGY1ZDg2Y2Q2OS4uYTE2MWU5ZThkOGU1MGYy
NmI0ZjY2NWM4OGMwNjkwNmYwNjg3MmM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY29uc3RhbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY29uc3RhbnRzLmh0bWwKQEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogCiBkZXNjcmlw
dGlvbigiVGVzdCBJbmRleGVkREIncyBjb25zdGFudHMuIik7Ci1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiB0ZXN0KCkKQEAg
LTIwLDExICsyMCwxMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzaG91bGRCZSgid2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9FUlIiLCAiNCIpOwogICAgIHNob3VsZEJlKCJ3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIsICI1Iik7CiAgICAgc2hvdWxkQmUo
IndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VEX0VSUiIsICI2Iik7Ci0gICAg
c2hvdWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlNFUklBTF9FUlIiLCAiNyIpOwot
ICAgIHNob3VsZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUNPVkVSQUJMRV9FUlIi
LCAiOCIpOwotICAgIHNob3VsZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0lF
TlRfRVJSIiwgIjkiKTsKKyAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwgIjciKTsKKyAgICBzaG91bGRCZSgid2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIiwgIjgiKTsKKyAgICBzaG91bGRCZSgid2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZX0VSUiIsICI5Iik7CiAgICAgc2hvdWxkQmUo
IndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlRJTUVPVVRfRVJSIiwgIjEwIik7Ci0gICAgc2hv
dWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRFQURMT0NLX0VSUiIsICIxMSIpOwor
ICAgIHNob3VsZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5RVU9UQV9FUlIiLCAiMTEi
KTsKKyAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uVkVSX0VSUiIsICIx
MiIpOwogCiAgICAgc2hvdWxkQmUoIndlYmtpdElEQlJlcXVlc3QuTE9BRElORyIsICIxIik7CiAg
ICAgc2hvdWxkQmUoIndlYmtpdElEQlJlcXVlc3QuRE9ORSIsICIyIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC1leHBlY3RlZC50eHQKaW5k
ZXggYzNkMWU1NWQ1NjRmNjA2MGE2OTFkNWJmMjkzYmRkMTFlNzg0ZTg1Yy4uMTA2YjJmZjllMWEx
OTQ5NDRmMzJhYzU2M2IzZGYzYmQ0ZDM4NDRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4LWV4cGVjdGVkLnR4dApAQCAtMjksNyArMjks
NyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLk5PVF9BTExPV0VEX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIG9iamVj
dFN0b3JlLmRlbGV0ZUluZGV4KCdzZWNvbmQnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
LVBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKK1BBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXguaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4Lmh0bWwKaW5kZXggYzY3ZThlMThi
NDM3NGFiOWI0YWQ2MGQ2N2NiMDg0MTY1MWUwN2ExNC4uNGE3MDc0M2JjMGRkMjZkZWI4N2M2Yjli
ZGNlNzMzNWM0MDY5OTRlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGVsZXRlSW5kZXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9k
ZWxldGVJbmRleC5odG1sCkBAIC01Niw3ICs1Niw3IEBAIGZ1bmN0aW9uIHR3aWRkbGVJbmRleGVz
KCkKIGZ1bmN0aW9uIHBvc3RUd2lkZGxpbmcoKQogewogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdiYXInKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24u
Tk9UX0FMTE9XRURfRVJSIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigib2JqZWN0U3Rv
cmUuZGVsZXRlSW5kZXgoJ3NlY29uZCcpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExP
V0VEX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oIm9iamVjdFN0b3JlLmRlbGV0
ZUluZGV4KCdzZWNvbmQnKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFD
VElWRV9FUlIiKTsKICAgICBkb25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dAppbmRl
eCA0MTMwYmYyMTdiZTUzYWFmNjM4MGY4ODcyYjVmZTM4MmU3MTE0Y2E5Li5lZGFhMDIyMDBhNWZk
YzMyZjljMzJiYzJkZTFkMjllYjViNGU2NzZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0CkBA
IC0zLDExICszLDE0IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBJbmRl
eGVkREIgPT0gbnVsbCBpcyBmYWxzZQotSW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVl
JykKLUluZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCi1JbmRleGVkREIub3Blbign
c2V0LXZlcnNpb24tcXVldWUnKQotSW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykK
K3dpbmRvdy5pbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRl
eGVkREIKK1BBU1MgaW5kZXhlZERCICE9IG51bGwgaXMgdHJ1ZQorSURCRGF0YWJhc2VFeGNlcHRp
b24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uCitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uICE9IG51bGwgaXMgdHJ1ZQor
aW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKK2luZGV4ZWREQi5vcGVuKCdzZXQt
dmVyc2lvbi1xdWV1ZScpCitpbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKQoraW5k
ZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKIGNvbm5lY3Rpb25zWzBdLnNldFZlcnNp
b24oJ3ZlcnNpb24gMCcpCiBjb25uZWN0aW9uc1sxXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQog
Y29ubmVjdGlvbnNbMl0uc2V0VmVyc2lvbigndmVyc2lvbiAyJykKQEAgLTUyLDE3ICs1NSwxNyBA
QCBOb3RlOiBUaGlzIG1lYW5zIHRoYXQgYSBjb25uZWN0aW9uIGNhbiByZWNlaXZlIGEgYmxvY2tl
ZCBldmVudCBhZnRlciBpdHMgY2xvc2UoKQogUEFTUyBldmVudC52ZXJzaW9uIGlzICJ2ZXJzaW9u
IDMiCiAKIFBBU1MgY29ubmVjdGlvblswXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQudGFy
Z2V0LmVycm9yQ29kZSBpcyAxMworUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgogUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJyb3JN
ZXNzYWdlLmxlbmd0aCA+IDAgaXMgdHJ1ZQogQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBz
ZXQgdmVyc2lvbiB0cmFuc2FjdGlvbiB3YXMgY3JlYXRlZAogCiBQQVNTIGNvbm5lY3Rpb25bMl0g
Z290IGVycm9yIGV2ZW50Ci1QQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgMTMKK1BBU1Mg
ZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIK
IFBBU1MgZXZlbnQudGFyZ2V0LndlYmtpdEVycm9yTWVzc2FnZS5sZW5ndGggPiAwIGlzIHRydWUK
IENvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2Fz
IGNyZWF0ZWQKIAogUEFTUyBjb25uZWN0aW9uWzNdIGdvdCBlcnJvciBldmVudAotUEFTUyBldmVu
dC50YXJnZXQuZXJyb3JDb2RlIGlzIDEzCitQQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSCiBQQVNTIGV2ZW50LnRhcmdldC53ZWJraXRF
cnJvck1lc3NhZ2UubGVuZ3RoID4gMCBpcyB0cnVlCiBDb25uZWN0aW9uIHdhcyBjbG9zZWQgYmVm
b3JlIHNldCB2ZXJzaW9uIHRyYW5zYWN0aW9uIHdhcyBjcmVhdGVkCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sCmluZGV4IDE2
YTk0ZDA2NjExZGYwNTE1NGM5NWZmZmYzNjI3ZTg1NmU1YWUxYTAuLjc5NzU3MDk1YmY0ZDk4YWQy
MmFkZWFkNTQxMGFlNzNhNTZiYjA3MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbApAQCAtMTUsMTcgKzE1LDE3IEBAIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiBjb25uZWN0aW9ucyA9IFtdDQogZnVuY3Rp
b24gdGVzdCgpDQogew0KLSAgICBpZiAoJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93KQ0KLSAg
ICAgICAgSW5kZXhlZERCID0gd2Via2l0SW5kZXhlZERCOw0KLSAgICBlbHNlIGlmICgnbW96SW5k
ZXhlZERCJyBpbiB3aW5kb3cpDQotICAgICAgICBJbmRleGVkREIgPSBtb3pJbmRleGVkREI7DQot
ICAgIHNob3VsZEJlRmFsc2UoIkluZGV4ZWREQiA9PSBudWxsIik7DQorICAgIGV2YWxBbmRMb2co
IndpbmRvdy5pbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRl
eGVkREIiKTsNCisgICAgc2hvdWxkQmVUcnVlKCJpbmRleGVkREIgIT0gbnVsbCIpOw0KKyAgICBl
dmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2Vw
dGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24iKTsNCisgICAgc2hvdWxk
QmVUcnVlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiAhPSBudWxsIik7DQorDQogICAgIG9wZW5EQkNv
bm5lY3Rpb24oKTsNCiB9DQogDQogZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpDQogew0KLSAg
ICByZXN1bHQgPSBldmFsQW5kTG9nKCJJbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUn
KSIpOw0KKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbignc2V0LXZlcnNp
b24tcXVldWUnKSIpOw0KICAgICByZXN1bHQub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7DQogICAg
IHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogfQ0KQEAgLTExNSw4
ICsxMTUsOCBAQCBmdW5jdGlvbiBjb25uZWN0aW9uRXJyb3IoZXZlbnQsIGNvbm5lY3Rpb25JZCkK
IHsNCiAgICAgZGVidWcoIiIpDQogICAgIHRlc3RQYXNzZWQoImNvbm5lY3Rpb25bIiArIGNvbm5l
Y3Rpb25JZCArICJdIGdvdCBlcnJvciBldmVudCIpOw0KLSAgICBzaG91bGRCZSgiZXZlbnQudGFy
Z2V0LmVycm9yQ29kZSIsICIxMyIpDQotICAgIGlmICgnd2Via2l0SW5kZXhlZERCJyBpbiB3aW5k
b3cpIHsNCisgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uQUJPUlRfRVJSIikNCisgICAgaWYgKCd3ZWJraXRFcnJvck1lc3NhZ2UnIGlu
IGV2ZW50LnRhcmdldCkgew0KICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC53ZWJraXRF
cnJvck1lc3NhZ2UubGVuZ3RoID4gMCIsICJ0cnVlIik7DQogICAgICAgICBkZWJ1ZyhldmVudC50
YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlKTsNCiAgICAgfQ0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4
dAppbmRleCBiMjA4OWUwOTM5MjEyN2IwYTQzODViODczMDQ1YmRhNWIxYmQ0MjQxLi43YmQzYjZl
MTM5M2FmMjllMjQ0OWQ2MGQ3YzRkMTQ1ZGZmN2UxNmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQu
dHh0CkBAIC0zLDcgKzMsMTMgQEAgVGVzdCB0cmFuc2FjdGlvbiBhYm9ydHMgc2VuZCB0aGUgcHJv
cGVyIG9uYWJvcnQgbWVzc2FnZXMuLgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLXdl
YmtpdEluZGV4ZWREQi5vcGVuKCduYW1lJykKK3dpbmRvdy5pbmRleGVkREIgPSB3aW5kb3cuaW5k
ZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIKK1BBU1MgaW5kZXhlZERCICE9IG51bGwg
aXMgdHJ1ZQorSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93
LndlYmtpdElEQlRyYW5zYWN0aW9uCitQQVNTIElEQlRyYW5zYWN0aW9uICE9IG51bGwgaXMgdHJ1
ZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwg
d2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uCitQQVNTIElEQkRhdGFiYXNlRXhjZXB0
aW9uICE9IG51bGwgaXMgdHJ1ZQoraW5kZXhlZERCLm9wZW4oJ25hbWUnKQogZGIgPSBldmVudC50
YXJnZXQucmVzdWx0CiBkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpCiBzZXRWZXJzaW9uU3Vj
Y2VzcygpOgpAQCAtMTMsMjAgKzE5LDIwIEBAIHRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QK
IERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnLCBudWxsKQogc3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdr
ZXknKQotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSdd
LCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9u
QWJvcnRlZAogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBz
dG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuYWRkKHt4OiAndmFs
dWUyJywgeTogJ3p6ejInfSwgJ2tleTInKQogc3RvcmUuYWRkKHt4OiAndmFsdWUzJywgeTogJ3p6
ejMnfSwgJ2tleTMnKQotUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgorUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlz
IElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgogUEFTUyBmaXJzdEVycm9yIGlzIGZhbHNl
CiBQQVNTIHNlY29uZEVycm9yIGlzIGZhbHNlCiBQQVNTIGFib3J0RmlyZWQgaXMgZmFsc2UKIEV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiAnenp6NCd9
LCAna2V5NCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIHdlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VEX0VSUgotUEFTUyBldmVudC50YXJnZXQu
ZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgorUEFTUyBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorUEFT
UyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VS
UgogUEFTUyBmaXJzdEVycm9yIGlzIHRydWUKIFBBU1Mgc2Vjb25kRXJyb3IgaXMgZmFsc2UKIFBB
U1MgYWJvcnRGaXJlZCBpcyBmYWxzZQpAQCAtMzUsNyArNDEsNyBAQCBQQVNTIHNlY29uZEVycm9y
IGlzIHRydWUKIFBBU1MgYWJvcnRGaXJlZCBpcyBmYWxzZQogRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLmFkZCh7eDogJ3ZhbHVlNScsIHk6ICd6eno1J30sICdrZXk1JykKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uTk9UX0FMTE9XRURfRVJSCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJB
TlNBQ1RJT05fSU5BQ1RJVkVfRVJSCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC5odG1sCmluZGV4IDFiNGE1NjM1NjRkYzVmN2MyMzhlZDZkNmI4MTIw
ODEzZWFjMWYwNjkuLmRlYmJhNjIyMjBlZWE3ODA1ZDBmM2M2NmE4MGYxZmM4YTA4OGI4MjEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQuaHRtbApAQCAtMTQsNyArMTQsMTQgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIndlYmtp
dEluZGV4ZWREQi5vcGVuKCduYW1lJykiKTsKKyAgICBldmFsQW5kTG9nKCJ3aW5kb3cuaW5kZXhl
ZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIik7CisgICAg
c2hvdWxkQmVUcnVlKCJpbmRleGVkREIgIT0gbnVsbCIpOworICAgIGV2YWxBbmRMb2coIklEQlRy
YW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFu
c2FjdGlvbiIpOworICAgIHNob3VsZEJlVHJ1ZSgiSURCVHJhbnNhY3Rpb24gIT0gbnVsbCIpOwor
ICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNl
RXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbiIpOworICAgIHNo
b3VsZEJlVHJ1ZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gIT0gbnVsbCIpOworCisgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCduYW1lJykiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHNldFZlcnNpb247CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiB9CkBAIC00NSw3ICs1Miw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5n
KCkKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkIik7CiAgICAgZXZh
bEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7
CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKSIpOwpAQCAtNjMsMTggKzcwLDE4IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiAKIGZ1
bmN0aW9uIGZpcnN0QWRkKCkKIHsKLSAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LmVycm9yQ29k
ZSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIiKTsKKyAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LmVycm9yQ29kZSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9F
UlIiKTsKICAgICBzaG91bGRCZUZhbHNlKCJmaXJzdEVycm9yIik7CiAgICAgc2hvdWxkQmVGYWxz
ZSgic2Vjb25kRXJyb3IiKTsKICAgICBzaG91bGRCZUZhbHNlKCJhYm9ydEZpcmVkIik7CiAgICAg
Zmlyc3RFcnJvciA9IHRydWU7CiAKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5h
ZGQoe3g6ICd2YWx1ZTQnLCB5OiAnenp6NCd9LCAna2V5NCcpIiwgIndlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLk5PVF9BTExPV0VEX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmFkZCh7eDogJ3ZhbHVlNCcsIHk6ICd6eno0J30sICdrZXk0JykiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7CiB9CiAKIGZ1bmN0aW9uIHNl
Y29uZEFkZCgpCiB7Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIik7CisgICAgc2hvdWxkQmUoImV2ZW50
LnRhcmdldC5lcnJvckNvZGUiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIik7CiAg
ICAgc2hvdWxkQmVUcnVlKCJmaXJzdEVycm9yIik7CiAgICAgc2hvdWxkQmVGYWxzZSgic2Vjb25k
RXJyb3IiKTsKICAgICBzaG91bGRCZUZhbHNlKCJhYm9ydEZpcmVkIik7CkBAIC04OCw3ICs5NSw3
IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZCgpCiAgICAgc2hvdWxkQmVGYWxzZSgiYWJv
cnRGaXJlZCIpOwogICAgIGFib3J0RmlyZWQgPSB0cnVlOwogCi0gICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigic3RvcmUuYWRkKHt4OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKSIsICJ3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsKKyAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZTUnLCB5OiAnenp6NSd9LCAna2V5
NScpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOwog
ICAgIGRvbmUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggNTkyMWMzZGIx
YTM1NzhiMWUyYzk3ZjFkODA0MTY3MzAyYTUwOWUyYy4uMWI2MTJmODQxMGIwZjkzYTY0ZDdhZWYx
ZWJhMWQ2YmI0MWJlZDRmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0zLDkgKzMs
MTIgQEAgVGVzdCBJbmRleGVkREIgdHJhbnNhY3Rpb24gYmFzaWNzLgogT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCiAKLVBBU1MgJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93IGlzIHRydWUK
LVBBU1Mgd2Via2l0SW5kZXhlZERCID09IG51bGwgaXMgZmFsc2UKLXdlYmtpdEluZGV4ZWREQi5v
cGVuKCd0cmFuc2FjdGlvbi1iYXNpY3MnKQoraW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8
fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGlu
ZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5J
REJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247
CitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKKworaW5kZXhlZERC
Lm9wZW4oJ3RyYW5zYWN0aW9uLWJhc2ljcycpCiBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50
YXJnZXQucmVzdWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKQEAgLTUw
LDYgKzUzLDQxIEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogc3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5k
ZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpCiAKK3Rlc3RJbmFjdGl2ZUFib3J0ZWRUcmFuc2Fj
dGlvbigpOgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4Lm9wZW5DdXJzb3IoKQorUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRl
eC5vcGVuS2V5Q3Vyc29yKCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXguZ2V0KDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZF
X0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4LmdldEtleSgwKQorUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFO
U0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5jb3Vu
dCgpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLnB1dCgwLCAwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoMCwgMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZGVsZXRlKDApCitQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3Jl
LmNsZWFyKCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUuZ2V0KDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLm9wZW5DdXJzb3IoKQorUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElP
Tl9JTkFDVElWRV9FUlIKKwogdGVzdFNldFZlcnNpb25BYm9ydDQoKToKIFBBU1Mgd2luZG93LmRi
Lm9iamVjdFN0b3JlTmFtZXMgaXMgW10KIFBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMu
bGVuZ3RoIGlzIDAKQEAgLTYxLDYgKzk5LDQxIEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1
ZQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4
ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpCiAKK3Rlc3RJbmFj
dGl2ZUNvbXBsZXRlZFRyYW5zYWN0aW9uKCk6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5k
ZXgub3BlbkN1cnNvcigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlz
IElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4Lm9wZW5LZXlDdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9J
TkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5nZXQoMCkKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXgu
Z2V0S2V5KDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGluZGV4LmNvdW50KCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KDAsIDApCitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCgwLCAwKQor
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBz
dG9yZS5kZWxldGUoMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUuY2xlYXIoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
K1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoMCkKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJ
T05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUub3BlbkN1cnNv
cigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorCiB0ZXN0U2V0VmVyc2lvbkFib3J0
NSgpOgogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzIGlzIFsnc3RvcmVGYWlsJ10KIFBBU1MgZGIu
b2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbAppbmRleCBlMWYwYjcyYWQ1YzNi
OGE0NTAyNjBlNWJhM2IwMzk5ODk4ZjIxZjg3Li43ZmExOTE2ZDFlNWMyZmQ0ODAwNjYxMjcyZGU5
YmFlMTZmYjFhNTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbApAQCAtMTIsMTAgKzEyLDEzIEBAIGRlc2NyaXB0aW9u
KCJUZXN0IEluZGV4ZWREQiB0cmFuc2FjdGlvbiBiYXNpY3MuIik7CiANCiBmdW5jdGlvbiB0ZXN0
KCkNCiB7DQotICAgIHNob3VsZEJlVHJ1ZSgiJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93Iik7
DQotICAgIHNob3VsZEJlRmFsc2UoIndlYmtpdEluZGV4ZWREQiA9PSBudWxsIik7DQorICAgIGlu
ZGV4ZWREQiA9IGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2lu
ZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOyIpOw0KKyAgICBzaG91
bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOw0KKyAgICBJREJEYXRhYmFzZUV4Y2VwdGlv
biA9IGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNl
RXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsiKTsNCisgICAg
c2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOw0KKyAgICBkZWJ1
ZygiIik7DQogDQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJ3ZWJraXRJbmRleGVkREIub3Bl
bigndHJhbnNhY3Rpb24tYmFzaWNzJykiKTsNCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5vcGVuKCd0cmFuc2FjdGlvbi1iYXNpY3MnKSIpOw0KICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IG9wZW5TdWNjZXNzOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsNCiB9DQpAQCAtMTA0LDE1ICsxMDcsMzUgQEAgZnVuY3Rpb24gYWRkSURCT2Jq
ZWN0cygpCiAgICAgc2hvdWxkQmVGYWxzZSgiZXZlbnQuY2FuY2VsYWJsZSIpOw0KICAgICB2YXIg
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAg
c2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOw0KLSAgICB0cmFucy5vbmFib3J0ID0gdGVz
dFNldFZlcnNpb25BYm9ydDQ7DQorICAgIHRyYW5zLm9uYWJvcnQgPSB0ZXN0SW5hY3RpdmVBYm9y
dGVkVHJhbnNhY3Rpb247DQogICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxl
dGVDYWxsYmFjazsNCiANCi0gICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkiKTsNCi0gICAgdmFyIGluZGV4ID0g
ZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhGYWlsJywgJ3gnLCBm
YWxzZSkiKTsNCisgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZUZhaWwnLCBudWxsKSIpOw0KKyAgICBpbmRleCA9IGV2YWxBbmRMb2coImlu
ZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpIik7DQogDQog
ICAgIHRyYW5zLmFib3J0KCk7DQogfQ0KIA0KK2Z1bmN0aW9uIHRlc3RJbmFjdGl2ZUFib3J0ZWRU
cmFuc2FjdGlvbigpDQorew0KKyAgICBkZWJ1ZygiIik7DQorICAgIGRlYnVnKCJ0ZXN0SW5hY3Rp
dmVBYm9ydGVkVHJhbnNhY3Rpb24oKToiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
aW5kZXgub3BlbkN1cnNvcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lO
QUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleC5vcGVuS2V5
Q3Vyc29yKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
Iik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4LmdldCgwKSIsICJJREJEYXRh
YmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiaW5kZXguZ2V0S2V5KDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRS
QU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJp
bmRleC5jb3VudCgpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZF
X0VSUiIpOw0KKw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoMCwgMCki
LCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAg
IGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZCgwLCAwKSIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigic3RvcmUuZGVsZXRlKDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNU
SU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5j
bGVhcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIp
Ow0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5nZXQoMCkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oInN0b3JlLm9wZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5U
UkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisNCisgICAgdGVzdFNldFZlcnNpb25BYm9ydDQo
KTsNCit9DQorDQogZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydDQoKQ0KIHsNCiAgICAgZGVi
dWcoIiIpOw0KQEAgLTEyOSwxMCArMTUyLDMwIEBAIGZ1bmN0aW9uIGFkZElEQk9iamVjdHNBbmRD
b21taXQoKQogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsNCiAgICAgdHJhbnMu
b25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOw0KIA0KLSAgICB2YXIgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBudWxs
KSIpOw0KLSAgICB2YXIgaW5kZXggPSBldmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUlu
ZGV4KCdpbmRleEZhaWwnLCAneCcsIGZhbHNlKSIpOw0KKyAgICBzdG9yZSA9IGV2YWxBbmRMb2co
InN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpIik7DQorICAg
IGluZGV4ID0gZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhGYWls
JywgJ3gnLCBmYWxzZSkiKTsNCisNCisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RJbmFjdGl2
ZUNvbXBsZXRlZFRyYW5zYWN0aW9uOw0KK30NCiANCi0gICAgdHJhbnMub25jb21wbGV0ZSA9IHRl
c3RTZXRWZXJzaW9uQWJvcnQ1Ow0KK2Z1bmN0aW9uIHRlc3RJbmFjdGl2ZUNvbXBsZXRlZFRyYW5z
YWN0aW9uKCkNCit7DQorICAgIGRlYnVnKCIiKTsNCisgICAgZGVidWcoInRlc3RJbmFjdGl2ZUNv
bXBsZXRlZFRyYW5zYWN0aW9uKCk6Iik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImlu
ZGV4Lm9wZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFD
VElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXgub3BlbktleUN1
cnNvcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIp
Ow0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleC5nZXQoMCkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImluZGV4LmdldEtleSgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFO
U0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5k
ZXguY291bnQoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIiKTsNCisNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KDAsIDApIiwg
IklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoMCwgMCkiLCAiSURCRGF0YWJhc2VFeGNl
cHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInN0b3JlLmRlbGV0ZSgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElP
Tl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY2xl
YXIoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsN
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KDApIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJzdG9yZS5vcGVuQ3Vyc29yKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJB
TlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorDQorICAgIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCk7
DQogfQ0KIA0KIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCkNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122110</attachid>
            <date>2012-01-11 15:27:27 -0800</date>
            <delta_ts>2012-01-11 16:16:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76108-20120111152726.patch</filename>
            <type>text/plain</type>
            <size>40264</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ2ZTNmNDdkNjNlYTcy
NDY0OWRjYjE5NjM5NjIwZjM0ZDE3NzBmZC4uZWZhYjEyMmUxY2JmNWVhY2U1OWFjOWY3MGMyMTQw
N2JkMDRmYzg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBNZXRo
b2RzIHNob3VsZCB0aHJvdyBUUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlv
biBpcyBjb21wbGV0ZWQvYWJvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzYxMDgKKworICAgICAgICBVcGRhdGVkIElEQkRhdGFiYXNlRXhjZXB0
aW9uIGVycm9yIGNvZGVzIHRvIG1hdGNoIHNwZWMgKHRoZSBwcmUtRE9NNCB2ZXJzaW9uKSwKKyAg
ICAgICAgaW5jbHVkaW5nIHVwZGF0ZWQgZGVzY3JpcHRpb24gc3RyaW5ncywgYW5kIGNoYW5nZWQg
cmVsZXZhbnQgc3RvcmUgYW5kIGluZGV4IAorICAgICAgICBtZXRob2RzIHRvIHJhaXNlIHRoZSBl
eHBlY3RlZCBleGNlcHRpb24gdHlwZSBub3cgdGhhdCBpdCBpcyBkZXRhaWxlZCBpbiB0aGUgc3Bl
Yy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
czogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwKKworICAgICAgICAq
IHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6
SURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoQ29udGludWUpOgorICAgICAgICAqIHN0b3Jh
Z2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJh
c2VFeGNlcHRpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmlk
bDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6b3BlbkN1cnNvcik6CisgICAgICAgIChXZWJD
b3JlOjpJREJJbmRleEJhY2tlbmRJbXBsOjpvcGVuS2V5Q3Vyc29yKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQkluZGV4QmFja2VuZEltcGw6OmNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQklu
ZGV4QmFja2VuZEltcGw6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJhY2tlbmRJ
bXBsOjpnZXRLZXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUZ1bmN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNsZWFyKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNyZWF0ZUluZGV4
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUlu
ZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9wZW5D
dXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y291
bnQpOgorCiAyMDEyLTAxLTEwICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudCBzaG91bGQg
ZmFsbCBiYWNrIHRvIHRleHQgaWYgdGhlcmUncyBubyBIVE1MIHRleHQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKaW5kZXggMjM1MWY2NzUwZWFj
NjlkZjhmMDBlMjZkMDAyNzJhYzZiYjhlY2NmNC4uN2Y5OTQ2MzE0NDc0MTQ0MGM3YzFlZjM1ZjU1
NjZmY2EzMmI4YjViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JC
YWNrZW5kSW1wbC5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIElEQkN1cnNvckJhY2tlbmRJ
bXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQ
dAogICAgIH0KIAogICAgIGlmICghbV90cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNh
bGxiYWNrVGFzaygmSURCQ3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb25JbnRlcm5h
bCwgdGhpcywga2V5LCBwcnBDYWxsYmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIC8vIElNUE9SVEFOVDogSWYgdGhp
cyBldmVyIDEpIGZpcmVzIGFuICdlcnJvcicgZXZlbnQgYW5kIDIpIGl0J3MgcG9zc2libGUgdG8g
ZmlyZSBhbm90aGVyIGV2ZW50IGFmdGVyd2FyZHMsCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBJ
REJDdXJzb3JCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrcywKIHZvaWQgSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoQ29u
dGludWUoaW50IG51bWJlclRvRmV0Y2gsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxs
YmFja3MsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbV90cmFuc2FjdGlvbi0+c2No
ZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZl
dGNoQ29udGludWVJbnRlcm5hbCwgdGhpcywgbnVtYmVyVG9GZXRjaCwgcHJwQ2FsbGJhY2tzKSkp
Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
OwogfQogCiB2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpwcmVmZXRjaENvbnRpbnVlSW50ZXJu
YWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCQ3Vyc29yQmFja2VuZElt
cGw+IHBycEN1cnNvciwgaW50IG51bWJlclRvRmV0Y2gsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFi
YXNlRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNl
cHRpb24uY3BwCmluZGV4IGY1YzNlZGM3NjRjMmFjOGVjYzc4YWVjNjRmMmVjYzgzYjgxNjRlOWMu
LjRmYzY4MWUwYzA4MDA3MTJlOGE1Y2UyYmE5ODEyN2IyNzA1MDNjZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCkBAIC00MiwxMyArNDIs
MTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CiAgICAg
IkNPTlNUUkFJTlRfRVJSIiwKICAgICAiREFUQV9FUlIiLAogICAgICJOT1RfQUxMT1dFRF9FUlIi
LAotICAgICJTRVJJQUxfRVJSIiwKLSAgICAiUkVDT1ZFUkFCTEVfRVJSIiwKLSAgICAiVFJBTlNJ
RU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIiwKLSAgICAiREVBRExPQ0tfRVJSIiwKKyAgICAi
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwKKyAgICAiQUJPUlRfRVJSIiwKICAgICAiUkVBRF9P
TkxZX0VSUiIsCi0gICAgIkFCT1JUX0VSUiIKKyAgICAiVElNRU9VVF9FUlIiLAorICAgICJRVU9U
QV9FUlIiLAorICAgICJWRVJfRVJSIgogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4
Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewpAQCAtNTgsMTMgKzU3LDEyIEBAIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKICAgICAiVGhlIHJlcXVl
c3QgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBmYWlsZWQgY29uc3RyYWludC4iLAogICAg
ICJUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhl
IGZ1bmN0aW9uLiIsCiAgICAgIlRoaXMgZnVuY3Rpb24gaXMgbm90IGFsbG93ZWQgdG8gYmUgY2Fs
bGVkIGluIHN1Y2ggYSBjb250ZXh0LiIsCi0gICAgIlRoZSBkYXRhIHN1cHBsaWVkIGNhbm5vdCBi
ZSBzZXJpYWxpemVkIGFjY29yZGluZyB0byB0aGUgc3RydWN0dXJlZCBjbG9uaW5nIGFsZ29yaXRo
bS4iLAotICAgICJSRUNPVkVSQUJMRV9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVz
ZWQuCi0gICAgIlRSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQu
Ci0gICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJvd24uCi0gICAgIkRFQURM
T0NLX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgotICAgICJXcml0ZSBvcGVyYXRpb25z
IGNhbm5vdCBiZSBwcmVmb3JtZWQgb24gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKLSAgICAi
VGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVs
ZmlsbGVkLiIKKyAgICAiQSByZXF1ZXN0IHdhcyBwbGFjZWQgYWdhaW5zdCBhIHRyYW5zYWN0aW9u
IHdoaWNoIGlzIGVpdGhlciBjdXJyZW50bHkgbm90IGFjdGl2ZSwgb3Igd2hpY2ggaXMgZmluaXNo
ZWQuIiwKKyAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBj
YW5ub3QgYmUgZnVsZmlsbGVkLiIsCisgICAgIkEgd3JpdGUgb3BlcmF0aW9uIHdhcyBhdHRlbXB0
ZWQgaW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKKyAgICAiQSBsb2NrIGZvciB0aGUgdHJh
bnNhY3Rpb24gY291bGQgbm90IGJlIG9idGFpbmVkIGluIGEgcmVhc29uYWJsZSB0aW1lLiIsIC8v
IEZJWE1FOiBUaGlzIGlzbid0IHVzZWQgeWV0LgorICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBi
ZWNhdXNlIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0
aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gZ2l2
ZSBtb3JlIHNwYWNlIHRvIHRoZSBkYXRhYmFzZS4iLCAvLyBGSVhNRTogVGhpcyBpc24ndCB1c2Vk
IHlldAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG9wZW4gYSBkYXRhYmFzZSB1c2luZyBh
IGxvd2VyIHZlcnNpb24gdGhhbiB0aGUgZXhpc3RpbmcgdmVyc2lvbi4iLCAvLyBGSVhNRTogVGhp
cyBpc24ndCB1c2VkIHlldAogfTsKIAogQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChl
eGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMp
LCBJREJEYXRhYmFzZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgKaW5kZXggZjYwNjAzNjI0ZTVkYWRjMTJm
NDBlMzVkNjQzNTJkNjRlZGUwNDMzMC4uZTUzYmM5NTBkMWEwYzVkZThmOGNhNjM4ZmViMjkxMWUz
MzNlY2YzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4
Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uaApAQCAtNTAsMTMgKzUwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgQ09OU1RSQUlOVF9FUlIg
PSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDQsCiAgICAgICAgIERBVEFfRVJSID0gSURC
RGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyA1LAogICAgICAgICBOT1RfQUxMT1dFRF9FUlIgPSBJ
REJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDYsCi0gICAgICAgIFNFUklBTF9FUlIgPSBJREJE
YXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDcsCi0gICAgICAgIFJFQ09WRVJBQkxFX0VSUiA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgOCwKLSAgICAgICAgVFJBTlNJRU5UX0VSUiA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgOSwKKyAgICAgICAgVFJBTlNBQ1RJT05fSU5BQ1RJ
VkVfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyA3LAorICAgICAgICBBQk9SVF9F
UlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDgsCisgICAgICAgIFJFQURfT05MWV9F
UlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCArIDksCiAgICAgICAgIFRJTUVPVVRfRVJS
ID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMCwKLSAgICAgICAgREVBRExPQ0tfRVJS
ID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMSwKLSAgICAgICAgUkVBRF9PTkxZX0VS
UiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTIsCi0gICAgICAgIEFCT1JUX0VSUiA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTMKKyAgICAgICAgUVVPVEFfRVJSID0gSURC
RGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAxMSwKKyAgICAgICAgVkVSX0VSUiA9IElEQkRhdGFi
YXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTIKICAgICB9OwogCiAgICAgc3RhdGljIGludCBFcnJvckNv
ZGVUb0V4Y2VwdGlvbkNvZGUoaW50IGVycm9yQ29kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5pZGwKaW5kZXggZDYwMzA1NzM4YmRkMmQ4NGFmZmRj
MWFmOWM3MGU1MDRiMGQ4OGVlYy4uMWFkZTM3ZDZkODNhMjFlNjE1YjE1ZmE4N2ZhM2NkNTM1YTE3
NDg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2Vw
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlv
bi5pZGwKQEAgLTQ2LDEzICs0NiwxMiBAQCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IENPTlNUUkFJTlRfRVJSID0gNDsKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgREFUQV9FUlIgPSA1OwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT1Rf
QUxMT1dFRF9FUlIgPSA2OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTRVJJQUxfRVJS
ID0gNzsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVDT1ZFUkFCTEVfRVJSID0gODsK
LSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVFJBTlNJRU5UX0VSUiA9IDk7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiA9IDc7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFCT1JUX0VSUiA9IDg7CisgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFJFQURfT05MWV9FUlIgPSA5OwogICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBUSU1FT1VUX0VSUiA9IDEwOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBERUFE
TE9DS19FUlIgPSAxMTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVBRF9PTkxZX0VS
UiA9IDEyOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAxMzsKKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFfRVJSID0gMTE7CisgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFZFUl9FUlIgPSAxMjsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbXBsLmNwcAppbmRleCA2ZjYxZjc3NGRhOTdk
YmJkM2JhZTBlM2VjNDAwMjkzZjViN2Y2MGM0Li5jNjFhM2I5MTQ3YmU5MTNiYTE4YzUxYjQyNzA2
MGMwMjcxNzgxNTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4
QmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNr
ZW5kSW1wbC5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIElEQkluZGV4QmFja2VuZEltcGw6
Om9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcHJwS2V5UmFuZ2UsIHVuc2lnbgog
ICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKICAgICBS
ZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbiA9IHRyYW5z
YWN0aW9uUHRyOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxs
YmFja1Rhc2soJm9wZW5DdXJzb3JJbnRlcm5hbCwgaW5kZXgsIGtleVJhbmdlLCBkaXJlY3Rpb24s
IElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U6OkluZGV4Q3Vyc29yLCBjYWxsYmFja3MsIHRyYW5z
YWN0aW9uKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VE
X0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSOwogfQogCiB2b2lkIElEQkluZGV4QmFja2VuZEltcGw6Om9wZW5LZXlDdXJzb3Io
UGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcHJwS2V5UmFuZ2UsIHVuc2lnbmVkIHNob3J0IGRpcmVj
dGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrcywgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvblB0ciwgRXhjZXB0aW9uQ29kZSYgZWMpCkBA
IC0xMTksNyArMTE5LDcgQEAgdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpvcGVuS2V5Q3Vyc29y
KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBycEtleVJhbmdlLCB1bnMKICAgICBSZWZQdHI8SURC
Q2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7CiAgICAgUmVmUHRyPElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvblB0cjsKICAg
ICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZvcGVu
Q3Vyc29ySW50ZXJuYWwsIGluZGV4LCBrZXlSYW5nZSwgZGlyZWN0aW9uLCBJREJDdXJzb3JCYWNr
ZW5kSW50ZXJmYWNlOjpJbmRleEtleUN1cnNvciwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbikpKQot
ICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAg
ICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsK
IH0KIAogdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpjb3VudEludGVybmFsKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+IGluZGV4LCBQYXNz
UmVmUHRyPElEQktleVJhbmdlPiByYW5nZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxi
YWNrcywgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0
aW9uKQpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Y291bnRJ
bnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJCiB2b2lkIElE
QkluZGV4QmFja2VuZEltcGw6OmNvdW50KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIXRy
YW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZjb3VudEludGVybmFs
LCB0aGlzLCByYW5nZSwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbikpKQotICAgICAgICBlYyA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJJ
bmRleEJhY2tlbmRJbXBsOjpnZXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCwgUGFzc1JlZlB0cjxJREJLZXk+IGtl
eSwgYm9vbCBnZXRPYmplY3QsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCkBA
IC0xNzEsNyArMTcxLDcgQEAgdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpnZXQoUGFzc1JlZlB0
cjxJREJLZXk+IHBycEtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3MKICAgICBSZWZQdHI8SURC
S2V5PiBrZXkgPSBwcnBLZXk7CiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0g
cHJwQ2FsbGJhY2tzOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVD
YWxsYmFja1Rhc2soJmdldEludGVybmFsLCBpbmRleCwga2V5LCB0cnVlLCBjYWxsYmFja3MpKSkK
LSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7
CiB9CiAKIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5
PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQpA
QCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0S2V5KFBhc3NS
ZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhCiAgICAgUmVmUHRyPElE
QktleT4ga2V5ID0gcHJwS2V5OwogICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9
IHBycENhbGxiYWNrczsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRl
Q2FsbGJhY2tUYXNrKCZnZXRJbnRlcm5hbCwgaW5kZXgsIGtleSwgZmFsc2UsIGNhbGxiYWNrcykp
KQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7Cisg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VS
UjsKIH0KIAogYm9vbCBJREJJbmRleEJhY2tlbmRJbXBsOjphZGRpbmdLZXlBbGxvd2VkKGNvbnN0
IElEQktleSogaW5kZXhLZXksIGNvbnN0IElEQktleSogcHJpbWFyeUtleSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCmluZGV4
IDIxOWY5MWI0ZDE3Y2YyODJmMjA1YTE2NjRkMTE0YzAzNTI0ZGM0NTQuLmE5NDViZDA1M2ViN2U0
OTczNmVkMGY3MTkyNzk0MDhlZjQ2NGRmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApAQCAtODcsNyArODcsNyBAQCB2
b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmdldChQYXNzUmVmUHRyPElEQktleT4gcHJw
S2V5LCBQYXNzUmVmUHRyPElEQkNhbAogICAgIFJlZlB0cjxJREJLZXk+IGtleSA9IHBycEtleTsK
ICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7CiAgICAg
aWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW1wbDo6Z2V0SW50ZXJuYWwsIG9iamVjdFN0b3JlLCBrZXksIGNhbGxi
YWNrcykpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9F
UlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNU
SVZFX0VSUjsKIH0KIAogdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXRJbnRlcm5h
bChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcykKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIElEQk9iamVj
dFN0b3JlQmFja2VuZEltcGw6OnB1dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
cHJwVmFsdWUsCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHRocm93IGEgU0VSSUFMX0VSUiBv
biBzdHJ1Y3R1cmVkIGNsb25lIHByb2JsZW1zLgogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB0
aHJvdyBhIERBVEFfRVJSIHdoZW4gdGhlIHdyb25nIGtleS9rZXlQYXRoIGRhdGEgaXMgc3VwcGxp
ZWQuCiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFz
aygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwsIG9iamVjdFN0b3JlLCB2
YWx1ZSwga2V5LCBwdXRNb2RlLCBjYWxsYmFja3MsIHRyYW5zYWN0aW9uKSkpCi0gICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogfQogCiBQYXNz
UmVmUHRyPElEQktleT4gSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6c2VsZWN0S2V5Rm9yUHV0
KElEQk9iamVjdFN0b3JlQmFja2VuZEltcGwqIG9iamVjdFN0b3JlLCBJREJLZXkqIGtleSwgUHV0
TW9kZSBwdXRNb2RlLCBJREJDYWxsYmFja3MqIGNhbGxiYWNrcywgUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mIHZhbHVlKQpAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgSURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+IHBycEtleSwg
UGFzc1JlCiAgICAgfQogCiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0
ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW50ZXJuYWws
IG9iamVjdFN0b3JlLCBrZXksIGNhbGxiYWNrcykpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNl
cHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsOjpkZWxldGVJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0
cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKQEAgLTM2
OCw3ICszNjgsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNsZWFyKFBhc3NS
ZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIElEQgogICAgIFJlZlB0cjxJREJDYWxs
YmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKIAogICAgIGlmICghdHJhbnNhY3Rpb24t
PnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw6OmNsZWFySW50ZXJuYWwsIG9iamVjdFN0b3JlLCBjYWxsYmFja3MpKSkKLSAgICAgICAgZWMg
PSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIHZvaWQg
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y2xlYXJJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9y
ZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKQEAgLTQ1MSw3ICs0NTEsNyBA
QCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6Y3JlYXRlSW5kZXgoY29ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb2JqZWN0U3RvcmUsIGluZGV4LCB0cmFuc2FjdGlvblB0ciksCiAgICAgICAgICAgICAgIGNy
ZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cmVtb3ZlSW5kZXhG
cm9tTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0U3RvcmUsIGlu
ZGV4KSkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURf
RVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFD
VElWRV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtNTA3LDcgKzUwNyw3IEBA
IHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5n
JiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvYmplY3RTdG9yZSwgaW5kZXgsIHRyYW5zYWN0aW9uUHRyKSwKICAgICAgICAgICAgICAgY3Jl
YXRlQ2FsbGJhY2tUYXNrKCZJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjphZGRJbmRleFRvTWFw
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0U3RvcmUsIGluZGV4KSkp
IHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOwor
ICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9F
UlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9pbmRleGVzLnJlbW92ZShuYW1lKTsK
QEAgLTUyOCw3ICs1MjgsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9wZW5D
dXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcHJwUmFuZ2UsIHVucwogICAgIGlmICghdHJh
bnNhY3Rpb24tPnNjaGVkdWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygm
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6b3BlbkN1cnNvckludGVybmFsLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFN0b3JlLCByYW5nZSwgZGlyZWN0aW9uLCBjYWxs
YmFja3MsIHRyYW5zYWN0aW9uUHRyKSkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2Vw
dGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiAgICAgfQogfQogCkBAIC01NDksNyArNTQ5LDcg
QEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpvcGVuQ3Vyc29ySW50ZXJuYWwoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3MKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bDo6Y291bnQoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNh
Y3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVk
dWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNv
dW50SW50ZXJuYWwsIHRoaXMsIHJhbmdlLCBjYWxsYmFja3MsIHRyYW5zYWN0aW9uKSkpCi0gICAg
ICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAg
ZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogfQog
CiB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNvdW50SW50ZXJuYWwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gb2Jq
ZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCBQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZT4gdHJhbnNhY3Rpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTE5YzQ4ZThkNmQwYjAyZWU3YmE2MTE4MzA3MWM2
MTRhNDQ2MDVkMi4uM2JjMTc4NDJlOWRjNGUyMTM2ZDJhYzNiNDRiNTcwNTY4MDE1NTE2NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTExICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBNZXRob2RzIHNob3VsZCB0aHJvdyBUUkFO
U0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWQvYWJvcnRl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2NvbnN0YW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvY29uc3RhbnRzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlSW5kZXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZUluZGV4Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVl
dWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9u
X3F1ZXVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbDoKKwogMjAxMi0wMS0xMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwNDU0
My4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jb25zdGFudHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDQ1MTZmN2U1YWFhOWYxNzhlMzdkODMwOTVjZTU0MjM5YjQ3NDE1ZjEu
LjJiODZkZjk5OTQ3YWI1MDM5ZTY2NmY4YmE4MWY5ODNiNGUwZDhjYTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY29uc3RhbnRzLWV4cGVjdGVkLnR4dApAQCAt
OSwxMSArOSwxMiBAQCBQQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9F
UlIgaXMgMwogUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5DT05TVFJBSU5UX0VSUiBp
cyA0CiBQQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIGlzIDUKIFBBU1Mg
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSIGlzIDYKLVBBU1Mgd2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uU0VSSUFMX0VSUiBpcyA3Ci1QQVNTIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLlJFQ09WRVJBQkxFX0VSUiBpcyA4Ci1QQVNTIHdlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLlRSQU5TSUVOVF9FUlIgaXMgOQorUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgaXMgNworUEFTUyB3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIgaXMgOAorUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5SRUFEX09OTFlfRVJSIGlzIDkKIFBBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
VElNRU9VVF9FUlIgaXMgMTAKLVBBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREVBRExP
Q0tfRVJSIGlzIDExCitQQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlFVT1RBX0VSUiBp
cyAxMQorUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5WRVJfRVJSIGlzIDEyCiBQQVNT
IHdlYmtpdElEQlJlcXVlc3QuTE9BRElORyBpcyAxCiBQQVNTIHdlYmtpdElEQlJlcXVlc3QuRE9O
RSBpcyAyCiBQQVNTIHdlYmtpdElEQkN1cnNvci5ORVhUIGlzIDAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY29uc3RhbnRzLmh0bWwKaW5kZXggZDBlMDMyYWFlODcwOWMzMDY1MzI0
ODkzZTM0MzBhMGY1ZDg2Y2Q2OS4uYTE2MWU5ZThkOGU1MGYyNmI0ZjY2NWM4OGMwNjkwNmYwNjg3
MmM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY29uc3RhbnRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY29uc3RhbnRzLmh0bWwK
QEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogCiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIn
cyBjb25zdGFudHMuIik7Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwogCiBmdW5jdGlvbiB0ZXN0KCkKQEAgLTIwLDExICsyMCwxMiBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09O
U1RSQUlOVF9FUlIiLCAiNCIpOwogICAgIHNob3VsZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUiIsICI1Iik7CiAgICAgc2hvdWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uLk5PVF9BTExPV0VEX0VSUiIsICI2Iik7Ci0gICAgc2hvdWxkQmUoIndlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLlNFUklBTF9FUlIiLCAiNyIpOwotICAgIHNob3VsZEJlKCJ3ZWJraXRJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5SRUNPVkVSQUJMRV9FUlIiLCAiOCIpOwotICAgIHNob3VsZEJl
KCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0lFTlRfRVJSIiwgIjkiKTsKKyAgICBz
aG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVf
RVJSIiwgIjciKTsKKyAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQUJP
UlRfRVJSIiwgIjgiKTsKKyAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
UkVBRF9PTkxZX0VSUiIsICI5Iik7CiAgICAgc2hvdWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uLlRJTUVPVVRfRVJSIiwgIjEwIik7Ci0gICAgc2hvdWxkQmUoIndlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRFQURMT0NLX0VSUiIsICIxMSIpOworICAgIHNob3VsZEJlKCJ3ZWJraXRJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5RVU9UQV9FUlIiLCAiMTEiKTsKKyAgICBzaG91bGRCZSgid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uVkVSX0VSUiIsICIxMiIpOwogCiAgICAgc2hvdWxkQmUo
IndlYmtpdElEQlJlcXVlc3QuTE9BRElORyIsICIxIik7CiAgICAgc2hvdWxkQmUoIndlYmtpdElE
QlJlcXVlc3QuRE9ORSIsICIyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9kZWxldGVJbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9kZWxldGVJbmRleC1leHBlY3RlZC50eHQKaW5kZXggYzNkMWU1NWQ1NjRmNjA2MGE2
OTFkNWJmMjkzYmRkMTFlNzg0ZTg1Yy4uMTA2YjJmZjllMWExOTQ5NDRmMzJhYzU2M2IzZGYzYmQ0
ZDM4NDRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRl
SW5kZXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rl
bGV0ZUluZGV4LWV4cGVjdGVkLnR4dApAQCAtMjksNyArMjksNyBAQCBQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VE
X0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIG9iamVjdFN0b3JlLmRlbGV0ZUluZGV4KCdz
ZWNvbmQnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZGVsZXRlSW5kZXguaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RlbGV0ZUluZGV4Lmh0bWwKaW5kZXggYzY3ZThlMThiNDM3NGFiOWI0YWQ2MGQ2N2NiMDg0
MTY1MWUwN2ExNC4uNGE3MDc0M2JjMGRkMjZkZWI4N2M2YjliZGNlNzMzNWM0MDY5OTRlYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXguaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC5odG1sCkBAIC01
Niw3ICs1Niw3IEBAIGZ1bmN0aW9uIHR3aWRkbGVJbmRleGVzKCkKIGZ1bmN0aW9uIHBvc3RUd2lk
ZGxpbmcoKQogewogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdiYXInKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSIik7Ci0g
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigib2JqZWN0U3RvcmUuZGVsZXRlSW5kZXgoJ3NlY29u
ZCcpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VEX0VSUiIpOworICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oIm9iamVjdFN0b3JlLmRlbGV0ZUluZGV4KCdzZWNvbmQnKSIsICJJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsKICAgICBkb25l
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92
ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3NldF92ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dAppbmRleCA0MTMwYmYyMTdiZTUzYWFmNjM4
MGY4ODcyYjVmZTM4MmU3MTE0Y2E5Li5lZGFhMDIyMDBhNWZkYzMyZjljMzJiYzJkZTFkMjllYjVi
NGU2NzZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVy
c2lvbl9xdWV1ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0CkBAIC0zLDExICszLDE0IEBACiBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBJbmRleGVkREIgPT0gbnVsbCBpcyBmYWxz
ZQotSW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKLUluZGV4ZWREQi5vcGVuKCdz
ZXQtdmVyc2lvbi1xdWV1ZScpCi1JbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKQot
SW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKK3dpbmRvdy5pbmRleGVkREIgPSB3
aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIKK1BBU1MgaW5kZXhlZERC
ICE9IG51bGwgaXMgdHJ1ZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJh
c2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uCitQQVNTIElE
QkRhdGFiYXNlRXhjZXB0aW9uICE9IG51bGwgaXMgdHJ1ZQoraW5kZXhlZERCLm9wZW4oJ3NldC12
ZXJzaW9uLXF1ZXVlJykKK2luZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCitpbmRl
eGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKQoraW5kZXhlZERCLm9wZW4oJ3NldC12ZXJz
aW9uLXF1ZXVlJykKIGNvbm5lY3Rpb25zWzBdLnNldFZlcnNpb24oJ3ZlcnNpb24gMCcpCiBjb25u
ZWN0aW9uc1sxXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQogY29ubmVjdGlvbnNbMl0uc2V0VmVy
c2lvbigndmVyc2lvbiAyJykKQEAgLTUyLDE3ICs1NSwxNyBAQCBOb3RlOiBUaGlzIG1lYW5zIHRo
YXQgYSBjb25uZWN0aW9uIGNhbiByZWNlaXZlIGEgYmxvY2tlZCBldmVudCBhZnRlciBpdHMgY2xv
c2UoKQogUEFTUyBldmVudC52ZXJzaW9uIGlzICJ2ZXJzaW9uIDMiCiAKIFBBU1MgY29ubmVjdGlv
blswXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyAxMwor
UEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JU
X0VSUgogUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNzYWdlLmxlbmd0aCA+IDAgaXMg
dHJ1ZQogQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBzZXQgdmVyc2lvbiB0cmFuc2FjdGlv
biB3YXMgY3JlYXRlZAogCiBQQVNTIGNvbm5lY3Rpb25bMl0gZ290IGVycm9yIGV2ZW50Ci1QQVNT
IGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgMTMKK1BBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIKIFBBU1MgZXZlbnQudGFyZ2V0Lndl
YmtpdEVycm9yTWVzc2FnZS5sZW5ndGggPiAwIGlzIHRydWUKIENvbm5lY3Rpb24gd2FzIGNsb3Nl
ZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQKIAogUEFTUyBjb25u
ZWN0aW9uWzNdIGdvdCBlcnJvciBldmVudAotUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlz
IDEzCitQQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
QUJPUlRfRVJSCiBQQVNTIGV2ZW50LnRhcmdldC53ZWJraXRFcnJvck1lc3NhZ2UubGVuZ3RoID4g
MCBpcyB0cnVlCiBDb25uZWN0aW9uIHdhcyBjbG9zZWQgYmVmb3JlIHNldCB2ZXJzaW9uIHRyYW5z
YWN0aW9uIHdhcyBjcmVhdGVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sCmluZGV4IDE2YTk0ZDA2NjExZGYwNTE1NGM5NWZm
ZmYzNjI3ZTg1NmU1YWUxYTAuLjc5NzU3MDk1YmY0ZDk4YWQyMmFkZWFkNTQxMGFlNzNhNTZiYjA3
MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9u
X3F1ZXVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNp
b25fcXVldWUuaHRtbApAQCAtMTUsMTcgKzE1LDE3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCiBjb25uZWN0aW9ucyA9IFtdDQogZnVuY3Rpb24gdGVzdCgpDQogew0KLSAgICBp
ZiAoJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93KQ0KLSAgICAgICAgSW5kZXhlZERCID0gd2Vi
a2l0SW5kZXhlZERCOw0KLSAgICBlbHNlIGlmICgnbW96SW5kZXhlZERCJyBpbiB3aW5kb3cpDQot
ICAgICAgICBJbmRleGVkREIgPSBtb3pJbmRleGVkREI7DQotICAgIHNob3VsZEJlRmFsc2UoIklu
ZGV4ZWREQiA9PSBudWxsIik7DQorICAgIGV2YWxBbmRMb2coIndpbmRvdy5pbmRleGVkREIgPSB3
aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIiKTsNCisgICAgc2hvdWxk
QmVUcnVlKCJpbmRleGVkREIgIT0gbnVsbCIpOw0KKyAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFz
ZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24iKTsNCisgICAgc2hvdWxkQmVUcnVlKCJJREJEYXRhYmFzZUV4
Y2VwdGlvbiAhPSBudWxsIik7DQorDQogICAgIG9wZW5EQkNvbm5lY3Rpb24oKTsNCiB9DQogDQog
ZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpDQogew0KLSAgICByZXN1bHQgPSBldmFsQW5kTG9n
KCJJbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKSIpOw0KKyAgICByZXN1bHQgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKSIpOw0KICAgICBy
ZXN1bHQub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7DQogICAgIHJlc3VsdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogfQ0KQEAgLTExNSw4ICsxMTUsOCBAQCBmdW5jdGlvbiBj
b25uZWN0aW9uRXJyb3IoZXZlbnQsIGNvbm5lY3Rpb25JZCkKIHsNCiAgICAgZGVidWcoIiIpDQog
ICAgIHRlc3RQYXNzZWQoImNvbm5lY3Rpb25bIiArIGNvbm5lY3Rpb25JZCArICJdIGdvdCBlcnJv
ciBldmVudCIpOw0KLSAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LmVycm9yQ29kZSIsICIxMyIp
DQotICAgIGlmICgnd2Via2l0SW5kZXhlZERCJyBpbiB3aW5kb3cpIHsNCisgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJS
IikNCisgICAgaWYgKCd3ZWJraXRFcnJvck1lc3NhZ2UnIGluIGV2ZW50LnRhcmdldCkgew0KICAg
ICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC53ZWJraXRFcnJvck1lc3NhZ2UubGVuZ3RoID4g
MCIsICJ0cnVlIik7DQogICAgICAgICBkZWJ1ZyhldmVudC50YXJnZXQud2Via2l0RXJyb3JNZXNz
YWdlKTsNCiAgICAgfQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCBiMjA4OWUwOTM5MjEy
N2IwYTQzODViODczMDQ1YmRhNWIxYmQ0MjQxLi43YmQzYjZlMTM5M2FmMjllMjQ0OWQ2MGQ3YzRk
MTQ1ZGZmN2UxNmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsMTMgQEAg
VGVzdCB0cmFuc2FjdGlvbiBhYm9ydHMgc2VuZCB0aGUgcHJvcGVyIG9uYWJvcnQgbWVzc2FnZXMu
LgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLXdlYmtpdEluZGV4ZWREQi5vcGVuKCdu
YW1lJykKK3dpbmRvdy5pbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJr
aXRJbmRleGVkREIKK1BBU1MgaW5kZXhlZERCICE9IG51bGwgaXMgdHJ1ZQorSURCVHJhbnNhY3Rp
b24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9u
CitQQVNTIElEQlRyYW5zYWN0aW9uICE9IG51bGwgaXMgdHJ1ZQorSURCRGF0YWJhc2VFeGNlcHRp
b24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uCitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uICE9IG51bGwgaXMgdHJ1ZQor
aW5kZXhlZERCLm9wZW4oJ25hbWUnKQogZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBkYi5zZXRW
ZXJzaW9uKCduZXcgdmVyc2lvbicpCiBzZXRWZXJzaW9uU3VjY2VzcygpOgpAQCAtMTMsMjAgKzE5
LDIwIEBAIHRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QKIERlbGV0ZWQgYWxsIG9iamVjdCBz
dG9yZXMuCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQog
c3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXknKQotdHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCBJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZAogdHJhbnMub25jb21w
bGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuYWRkKHt4OiAndmFsdWUyJywgeTogJ3p6ejInfSwgJ2tl
eTInKQogc3RvcmUuYWRkKHt4OiAndmFsdWUzJywgeTogJ3p6ejMnfSwgJ2tleTMnKQotUEFTUyBl
dmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JU
X0VSUgorUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkFCT1JUX0VSUgogUEFTUyBmaXJzdEVycm9yIGlzIGZhbHNlCiBQQVNTIHNlY29uZEVycm9yIGlz
IGZhbHNlCiBQQVNTIGFib3J0RmlyZWQgaXMgZmFsc2UKIEV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiAnenp6NCd9LCAna2V5NCcpCiBQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
Lk5PVF9BTExPV0VEX0VSUgotUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorUEFTUyBldmVudC50YXJnZXQuZXJyb3JD
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgogUEFTUyBmaXJzdEVycm9yIGlz
IHRydWUKIFBBU1Mgc2Vjb25kRXJyb3IgaXMgZmFsc2UKIFBBU1MgYWJvcnRGaXJlZCBpcyBmYWxz
ZQpAQCAtMzUsNyArNDEsNyBAQCBQQVNTIHNlY29uZEVycm9yIGlzIHRydWUKIFBBU1MgYWJvcnRG
aXJlZCBpcyBmYWxzZQogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogJ3Zh
bHVlNScsIHk6ICd6eno1J30sICdrZXk1JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1Q
QVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSCitQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1s
CmluZGV4IDFiNGE1NjM1NjRkYzVmN2MyMzhlZDZkNmI4MTIwODEzZWFjMWYwNjkuLmRlYmJhNjIy
MjBlZWE3ODA1ZDBmM2M2NmE4MGYxZmM4YTA4OGI4MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbApAQCAtMTQsNyArMTQs
MTQgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKIAogZnVuY3Rpb24gdGVzdCgp
CiB7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVuKCduYW1l
JykiKTsKKyAgICBldmFsQW5kTG9nKCJ3aW5kb3cuaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWRE
QiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIik7CisgICAgc2hvdWxkQmVUcnVlKCJpbmRleGVk
REIgIT0gbnVsbCIpOworICAgIGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93LklE
QlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbiIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiSURCVHJhbnNhY3Rpb24gIT0gbnVsbCIpOworICAgIGV2YWxBbmRMb2coIklEQkRh
dGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbiIpOworICAgIHNob3VsZEJlVHJ1ZSgiSURCRGF0YWJh
c2VFeGNlcHRpb24gIT0gbnVsbCIpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKCduYW1lJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb247
CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CkBAIC00
NSw3ICs1Miw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFi
b3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21w
bGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5k
TG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtNjMsMTgg
KzcwLDE4IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiAKIGZ1bmN0aW9uIGZpcnN0QWRkKCkKIHsK
LSAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LmVycm9yQ29kZSIsICJ3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5BQk9SVF9FUlIiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LmVycm9y
Q29kZSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIiKTsKICAgICBzaG91bGRCZUZh
bHNlKCJmaXJzdEVycm9yIik7CiAgICAgc2hvdWxkQmVGYWxzZSgic2Vjb25kRXJyb3IiKTsKICAg
ICBzaG91bGRCZUZhbHNlKCJhYm9ydEZpcmVkIik7CiAgICAgZmlyc3RFcnJvciA9IHRydWU7CiAK
LSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiAn
enp6NCd9LCAna2V5NCcpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VE
X0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZCh7eDogJ3ZhbHVl
NCcsIHk6ICd6eno0J30sICdrZXk0JykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJ
T05fSU5BQ1RJVkVfRVJSIik7CiB9CiAKIGZ1bmN0aW9uIHNlY29uZEFkZCgpCiB7Ci0gICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uQUJPUlRfRVJSIik7CisgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAi
SURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIik7CiAgICAgc2hvdWxkQmVUcnVlKCJmaXJz
dEVycm9yIik7CiAgICAgc2hvdWxkQmVGYWxzZSgic2Vjb25kRXJyb3IiKTsKICAgICBzaG91bGRC
ZUZhbHNlKCJhYm9ydEZpcmVkIik7CkBAIC04OCw3ICs5NSw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0
aW9uQWJvcnRlZCgpCiAgICAgc2hvdWxkQmVGYWxzZSgiYWJvcnRGaXJlZCIpOwogICAgIGFib3J0
RmlyZWQgPSB0cnVlOwogCi0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKHt4
OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUnKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9y
ZS5hZGQoe3g6ICd2YWx1ZTUnLCB5OiAnenp6NSd9LCAna2V5NScpIiwgIklEQkRhdGFiYXNlRXhj
ZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOwogICAgIGRvbmUoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggNTkyMWMzZGIxYTM1NzhiMWUyYzk3ZjFkODA0MTY3
MzAyYTUwOWUyYy4uMWI2MTJmODQxMGIwZjkzYTY0ZDdhZWYxZWJhMWQ2YmI0MWJlZDRmNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0zLDkgKzMsMTIgQEAgVGVzdCBJbmRleGVkREIg
dHJhbnNhY3Rpb24gYmFzaWNzLgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
J3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93IGlzIHRydWUKLVBBU1Mgd2Via2l0SW5kZXhlZERC
ID09IG51bGwgaXMgZmFsc2UKLXdlYmtpdEluZGV4ZWREQi5vcGVuKCd0cmFuc2FjdGlvbi1iYXNp
Y3MnKQoraW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhl
ZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZh
bHNlCitJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8
fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247CitQQVNTIElEQkRhdGFiYXNlRXhj
ZXB0aW9uID09IG51bGwgaXMgZmFsc2UKKworaW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9uLWJh
c2ljcycpCiBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiByZXF1ZXN0
ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKQEAgLTUwLDYgKzUzLDQxIEBAIFBBU1MgdHJh
bnMgIT09IG51bGwgaXMgdHJ1ZQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVG
YWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4Jywg
ZmFsc2UpCiAKK3Rlc3RJbmFjdGl2ZUFib3J0ZWRUcmFuc2FjdGlvbigpOgorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4Lm9wZW5DdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElW
RV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5vcGVuS2V5Q3Vyc29yKCkKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5k
ZXguZ2V0KDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGluZGV4LmdldEtleSgwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIK
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5jb3VudCgpCitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgwLCAwKQor
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBz
dG9yZS5hZGQoMCwgMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUuZGVsZXRlKDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZF
X0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmNsZWFyKCkKK1BBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNB
Q1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KDAp
CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHN0b3JlLm9wZW5DdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKKwogdGVz
dFNldFZlcnNpb25BYm9ydDQoKToKIFBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMg
W10KIFBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKQEAgLTYxLDYg
Kzk5LDQxIEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4RmFpbCcsICd4JywgZmFsc2UpCiAKK3Rlc3RJbmFjdGl2ZUNvbXBsZXRlZFRyYW5zYWN0
aW9uKCk6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXgub3BlbkN1cnNvcigpCitQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4
Lm9wZW5LZXlDdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBp
cyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBpbmRleC5nZXQoMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVf
RVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXguZ2V0S2V5KDApCitQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5T
QUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4LmNvdW50
KCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmUucHV0KDAsIDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2Rl
IGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCgwLCAwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFD
VElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5kZWxldGUoMCkKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUu
Y2xlYXIoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5nZXQoMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUub3BlbkN1cnNvcigpCitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUgorCiB0ZXN0U2V0VmVyc2lvbkFib3J0NSgpOgogUEFTUyBkYi5vYmplY3RT
dG9yZU5hbWVzIGlzIFsnc3RvcmVGYWlsJ10KIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5n
dGggaXMgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1iYXNpY3MuaHRtbAppbmRleCBlMWYwYjcyYWQ1YzNiOGE0NTAyNjBlNWJhM2IwMzk5ODk4
ZjIxZjg3Li43ZmExOTE2ZDFlNWMyZmQ0ODAwNjYxMjcyZGU5YmFlMTZmYjFhNTRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3Mu
aHRtbApAQCAtMTIsMTAgKzEyLDEzIEBAIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiB0cmFu
c2FjdGlvbiBiYXNpY3MuIik7CiANCiBmdW5jdGlvbiB0ZXN0KCkNCiB7DQotICAgIHNob3VsZEJl
VHJ1ZSgiJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93Iik7DQotICAgIHNob3VsZEJlRmFsc2Uo
IndlYmtpdEluZGV4ZWREQiA9PSBudWxsIik7DQorICAgIGluZGV4ZWREQiA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8
fCB3aW5kb3cubW96SW5kZXhlZERCOyIpOw0KKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIg
PT0gbnVsbCIpOw0KKyAgICBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IGV2YWxBbmRMb2coIklEQkRh
dGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsiKTsNCisgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0
YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOw0KKyAgICBkZWJ1ZygiIik7DQogDQotICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJ3ZWJraXRJbmRleGVkREIub3BlbigndHJhbnNhY3Rpb24tYmFzaWNz
JykiKTsNCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd0cmFuc2Fj
dGlvbi1iYXNpY3MnKSIpOw0KICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOw0K
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCiB9DQpAQCAt
MTA0LDE1ICsxMDcsMzUgQEAgZnVuY3Rpb24gYWRkSURCT2JqZWN0cygpCiAgICAgc2hvdWxkQmVG
YWxzZSgiZXZlbnQuY2FuY2VsYWJsZSIpOw0KICAgICB2YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAh
PT0gbnVsbCIpOw0KLSAgICB0cmFucy5vbmFib3J0ID0gdGVzdFNldFZlcnNpb25BYm9ydDQ7DQor
ICAgIHRyYW5zLm9uYWJvcnQgPSB0ZXN0SW5hY3RpdmVBYm9ydGVkVHJhbnNhY3Rpb247DQogICAg
IHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsNCiANCi0gICAg
dmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmVGYWlsJywgbnVsbCkiKTsNCi0gICAgdmFyIGluZGV4ID0gZXZhbEFuZExvZygiaW5kZXggPSBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXhGYWlsJywgJ3gnLCBmYWxzZSkiKTsNCisgICAgc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBu
dWxsKSIpOw0KKyAgICBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuY3JlYXRlSW5k
ZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpIik7DQogDQogICAgIHRyYW5zLmFib3J0KCk7DQog
fQ0KIA0KK2Z1bmN0aW9uIHRlc3RJbmFjdGl2ZUFib3J0ZWRUcmFuc2FjdGlvbigpDQorew0KKyAg
ICBkZWJ1ZygiIik7DQorICAgIGRlYnVnKCJ0ZXN0SW5hY3RpdmVBYm9ydGVkVHJhbnNhY3Rpb24o
KToiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXgub3BlbkN1cnNvcigpIiwg
IklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleC5vcGVuS2V5Q3Vyc29yKCkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImluZGV4LmdldCgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FD
VElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXgu
Z2V0S2V5KDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VS
UiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleC5jb3VudCgpIiwgIklEQkRh
dGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKw0KKyAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoMCwgMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRp
b24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oInN0b3JlLmFkZCgwLCAwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9J
TkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRl
KDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0K
KyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5jbGVhcigpIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJzdG9yZS5nZXQoMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJ
T05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLm9w
ZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIiKTsNCisNCisgICAgdGVzdFNldFZlcnNpb25BYm9ydDQoKTsNCit9DQorDQogZnVuY3Rpb24g
dGVzdFNldFZlcnNpb25BYm9ydDQoKQ0KIHsNCiAgICAgZGVidWcoIiIpOw0KQEAgLTEyOSwxMCAr
MTUyLDMwIEBAIGZ1bmN0aW9uIGFkZElEQk9iamVjdHNBbmRDb21taXQoKQogICAgIHNob3VsZEJl
VHJ1ZSgidHJhbnMgIT09IG51bGwiKTsNCiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOw0KIA0KLSAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBudWxsKSIpOw0KLSAgICB2YXIgaW5kZXgg
PSBldmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcs
IGZhbHNlKSIpOw0KKyAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpIik7DQorICAgIGluZGV4ID0gZXZhbEFuZExvZygi
aW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhGYWlsJywgJ3gnLCBmYWxzZSkiKTsNCisN
CisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RJbmFjdGl2ZUNvbXBsZXRlZFRyYW5zYWN0aW9u
Ow0KK30NCiANCi0gICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RTZXRWZXJzaW9uQWJvcnQ1Ow0K
K2Z1bmN0aW9uIHRlc3RJbmFjdGl2ZUNvbXBsZXRlZFRyYW5zYWN0aW9uKCkNCit7DQorICAgIGRl
YnVnKCIiKTsNCisgICAgZGVidWcoInRlc3RJbmFjdGl2ZUNvbXBsZXRlZFRyYW5zYWN0aW9uKCk6
Iik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4Lm9wZW5DdXJzb3IoKSIsICJJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXgub3BlbktleUN1cnNvcigpIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJpbmRleC5nZXQoMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJ
T05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4Lmdl
dEtleSgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIi
KTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXguY291bnQoKSIsICJJREJEYXRh
YmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisNCisgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KDAsIDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJzdG9yZS5hZGQoMCwgMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRlbGV0ZSgw
KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY2xlYXIoKSIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigic3RvcmUuZ2V0KDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5vcGVu
Q3Vyc29yKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
Iik7DQorDQorICAgIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCk7DQogfQ0KIA0KIGZ1bmN0aW9uIHRl
c3RTZXRWZXJzaW9uQWJvcnQ1KCkNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122117</attachid>
            <date>2012-01-11 16:16:14 -0800</date>
            <delta_ts>2012-01-11 17:03:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76108-20120111161613.patch</filename>
            <type>text/plain</type>
            <size>40625</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ2ZTNmNDdkNjNlYTcy
NDY0OWRjYjE5NjM5NjIwZjM0ZDE3NzBmZC4uZWZhYjEyMmUxY2JmNWVhY2U1OWFjOWY3MGMyMTQw
N2JkMDRmYzg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAxLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBNZXRo
b2RzIHNob3VsZCB0aHJvdyBUUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlv
biBpcyBjb21wbGV0ZWQvYWJvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzYxMDgKKworICAgICAgICBVcGRhdGVkIElEQkRhdGFiYXNlRXhjZXB0
aW9uIGVycm9yIGNvZGVzIHRvIG1hdGNoIHNwZWMgKHRoZSBwcmUtRE9NNCB2ZXJzaW9uKSwKKyAg
ICAgICAgaW5jbHVkaW5nIHVwZGF0ZWQgZGVzY3JpcHRpb24gc3RyaW5ncywgYW5kIGNoYW5nZWQg
cmVsZXZhbnQgc3RvcmUgYW5kIGluZGV4IAorICAgICAgICBtZXRob2RzIHRvIHJhaXNlIHRoZSBl
eHBlY3RlZCBleGNlcHRpb24gdHlwZSBub3cgdGhhdCBpdCBpcyBkZXRhaWxlZCBpbiB0aGUgc3Bl
Yy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
czogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwKKworICAgICAgICAq
IHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6
SURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoQ29udGludWUpOgorICAgICAgICAqIHN0b3Jh
Z2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJh
c2VFeGNlcHRpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmlk
bDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6b3BlbkN1cnNvcik6CisgICAgICAgIChXZWJD
b3JlOjpJREJJbmRleEJhY2tlbmRJbXBsOjpvcGVuS2V5Q3Vyc29yKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQkluZGV4QmFja2VuZEltcGw6OmNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQklu
ZGV4QmFja2VuZEltcGw6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJhY2tlbmRJ
bXBsOjpnZXRLZXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUZ1bmN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNsZWFyKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNyZWF0ZUluZGV4
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUlu
ZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9wZW5D
dXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y291
bnQpOgorCiAyMDEyLTAxLTEwICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudCBzaG91bGQg
ZmFsbCBiYWNrIHRvIHRleHQgaWYgdGhlcmUncyBubyBIVE1MIHRleHQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKaW5kZXggMjM1MWY2NzUwZWFj
NjlkZjhmMDBlMjZkMDAyNzJhYzZiYjhlY2NmNC4uN2Y5OTQ2MzE0NDc0MTQ0MGM3YzFlZjM1ZjU1
NjZmY2EzMmI4YjViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JC
YWNrZW5kSW1wbC5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIElEQkN1cnNvckJhY2tlbmRJ
bXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQ
dAogICAgIH0KIAogICAgIGlmICghbV90cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNh
bGxiYWNrVGFzaygmSURCQ3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb25JbnRlcm5h
bCwgdGhpcywga2V5LCBwcnBDYWxsYmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIC8vIElNUE9SVEFOVDogSWYgdGhp
cyBldmVyIDEpIGZpcmVzIGFuICdlcnJvcicgZXZlbnQgYW5kIDIpIGl0J3MgcG9zc2libGUgdG8g
ZmlyZSBhbm90aGVyIGV2ZW50IGFmdGVyd2FyZHMsCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBJ
REJDdXJzb3JCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrcywKIHZvaWQgSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoQ29u
dGludWUoaW50IG51bWJlclRvRmV0Y2gsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxs
YmFja3MsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbV90cmFuc2FjdGlvbi0+c2No
ZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZl
dGNoQ29udGludWVJbnRlcm5hbCwgdGhpcywgbnVtYmVyVG9GZXRjaCwgcHJwQ2FsbGJhY2tzKSkp
Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
OwogfQogCiB2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpwcmVmZXRjaENvbnRpbnVlSW50ZXJu
YWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCQ3Vyc29yQmFja2VuZElt
cGw+IHBycEN1cnNvciwgaW50IG51bWJlclRvRmV0Y2gsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFi
YXNlRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNl
cHRpb24uY3BwCmluZGV4IGY1YzNlZGM3NjRjMmFjOGVjYzc4YWVjNjRmMmVjYzgzYjgxNjRlOWMu
LjRmYzY4MWUwYzA4MDA3MTJlOGE1Y2UyYmE5ODEyN2IyNzA1MDNjZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwCkBAIC00MiwxMyArNDIs
MTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5hbWVzW10gPSB7CiAgICAg
IkNPTlNUUkFJTlRfRVJSIiwKICAgICAiREFUQV9FUlIiLAogICAgICJOT1RfQUxMT1dFRF9FUlIi
LAotICAgICJTRVJJQUxfRVJSIiwKLSAgICAiUkVDT1ZFUkFCTEVfRVJSIiwKLSAgICAiVFJBTlNJ
RU5UX0VSUiIsCi0gICAgIlRJTUVPVVRfRVJSIiwKLSAgICAiREVBRExPQ0tfRVJSIiwKKyAgICAi
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwKKyAgICAiQUJPUlRfRVJSIiwKICAgICAiUkVBRF9P
TkxZX0VSUiIsCi0gICAgIkFCT1JUX0VSUiIKKyAgICAiVElNRU9VVF9FUlIiLAorICAgICJRVU9U
QV9FUlIiLAorICAgICJWRVJfRVJSIgogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4
Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0gewpAQCAtNTgsMTMgKzU3LDEyIEBAIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBleGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKICAgICAiVGhlIHJlcXVl
c3QgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gYSBmYWlsZWQgY29uc3RyYWludC4iLAogICAg
ICJUaGUgZGF0YSBwcm92aWRlZCBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhl
IGZ1bmN0aW9uLiIsCiAgICAgIlRoaXMgZnVuY3Rpb24gaXMgbm90IGFsbG93ZWQgdG8gYmUgY2Fs
bGVkIGluIHN1Y2ggYSBjb250ZXh0LiIsCi0gICAgIlRoZSBkYXRhIHN1cHBsaWVkIGNhbm5vdCBi
ZSBzZXJpYWxpemVkIGFjY29yZGluZyB0byB0aGUgc3RydWN0dXJlZCBjbG9uaW5nIGFsZ29yaXRo
bS4iLAotICAgICJSRUNPVkVSQUJMRV9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVz
ZWQuCi0gICAgIlRSQU5TSUVOVF9FUlIiLCAvLyBGSVhNRTogVGhpcyBpc24ndCBldmVuIHVzZWQu
Ci0gICAgIlRJTUVPVVRfRVJSIiwgLy8gVGhpcyBjYW4ndCBiZSB0aHJvd24uCi0gICAgIkRFQURM
T0NLX0VSUiIsIC8vIFRoaXMgY2FuJ3QgYmUgdGhyb3duLgotICAgICJXcml0ZSBvcGVyYXRpb25z
IGNhbm5vdCBiZSBwcmVmb3JtZWQgb24gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKLSAgICAi
VGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBjYW5ub3QgYmUgZnVs
ZmlsbGVkLiIKKyAgICAiQSByZXF1ZXN0IHdhcyBwbGFjZWQgYWdhaW5zdCBhIHRyYW5zYWN0aW9u
IHdoaWNoIGlzIGVpdGhlciBjdXJyZW50bHkgbm90IGFjdGl2ZSwgb3Igd2hpY2ggaXMgZmluaXNo
ZWQuIiwKKyAgICAiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLCBzbyB0aGUgcmVxdWVzdCBj
YW5ub3QgYmUgZnVsZmlsbGVkLiIsCisgICAgIkEgd3JpdGUgb3BlcmF0aW9uIHdhcyBhdHRlbXB0
ZWQgaW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24uIiwKKyAgICAiQSBsb2NrIGZvciB0aGUgdHJh
bnNhY3Rpb24gY291bGQgbm90IGJlIG9idGFpbmVkIGluIGEgcmVhc29uYWJsZSB0aW1lLiIsIC8v
IEZJWE1FOiBUaGlzIGlzbid0IHVzZWQgeWV0LgorICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBi
ZWNhdXNlIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0
aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gZ2l2
ZSBtb3JlIHNwYWNlIHRvIHRoZSBkYXRhYmFzZS4iLCAvLyBGSVhNRTogVGhpcyBpc24ndCB1c2Vk
IHlldAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIG9wZW4gYSBkYXRhYmFzZSB1c2luZyBh
IGxvd2VyIHZlcnNpb24gdGhhbiB0aGUgZXhpc3RpbmcgdmVyc2lvbi4iLCAvLyBGSVhNRTogVGhp
cyBpc24ndCB1c2VkIHlldAogfTsKIAogQ09NUElMRV9BU1NFUlQoV1RGX0FSUkFZX0xFTkdUSChl
eGNlcHRpb25OYW1lcykgPT0gV1RGX0FSUkFZX0xFTkdUSChleGNlcHRpb25EZXNjcmlwdGlvbnMp
LCBJREJEYXRhYmFzZUV4Y2VwdGlvblRhYmxlc011c3RNYXRjaCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgKaW5kZXggZjYwNjAzNjI0ZTVkYWRjMTJm
NDBlMzVkNjQzNTJkNjRlZGUwNDMzMC4uNTcwYTJmY2Q2NGY1ODM4M2U3NmZkMDUzNmRjNzA5MGY4
Y2NlOGIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUV4
Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRp
b24uaApAQCAtNDMsMjAgKzQzLDE5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgaW50IElE
QkRhdGFiYXNlRXhjZXB0aW9uTWF4ID0gMTI5OTsKIAogICAgIGVudW0gSURCRGF0YWJhc2VFeGNl
cHRpb25Db2RlIHsKLSAgICAgICAgTk9fRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQg
KyAwLAotICAgICAgICBVTktOT1dOX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsg
MSwKLSAgICAgICAgTk9OX1RSQU5TSUVOVF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNl
dCArIDIsCi0gICAgICAgIE5PVF9GT1VORF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNl
dCArIDMsCi0gICAgICAgIENPTlNUUkFJTlRfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZz
ZXQgKyA0LAotICAgICAgICBEQVRBX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsg
NSwKLSAgICAgICAgTk9UX0FMTE9XRURfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQg
KyA2LAotICAgICAgICBTRVJJQUxfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyA3
LAotICAgICAgICBSRUNPVkVSQUJMRV9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCAr
IDgsCi0gICAgICAgIFRSQU5TSUVOVF9FUlIgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCAr
IDksCi0gICAgICAgIFRJTUVPVVRfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAx
MCwKLSAgICAgICAgREVBRExPQ0tfRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQgKyAx
MSwKLSAgICAgICAgUkVBRF9PTkxZX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsg
MTIsCi0gICAgICAgIEFCT1JUX0VSUiA9IElEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0ICsgMTMK
KyAgICAgICAgTk9fRVJSID0gSURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQsCisgICAgICAgIFVO
S05PV05fRVJSLAorICAgICAgICBOT05fVFJBTlNJRU5UX0VSUiwKKyAgICAgICAgTk9UX0ZPVU5E
X0VSUiwKKyAgICAgICAgQ09OU1RSQUlOVF9FUlIsCisgICAgICAgIERBVEFfRVJSLAorICAgICAg
ICBOT1RfQUxMT1dFRF9FUlIsCisgICAgICAgIFRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiwKKyAg
ICAgICAgQUJPUlRfRVJSLAorICAgICAgICBSRUFEX09OTFlfRVJSLAorICAgICAgICBUSU1FT1VU
X0VSUiwKKyAgICAgICAgUVVPVEFfRVJSLAorICAgICAgICBWRVJfRVJSCiAgICAgfTsKIAogICAg
IHN0YXRpYyBpbnQgRXJyb3JDb2RlVG9FeGNlcHRpb25Db2RlKGludCBlcnJvckNvZGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlRXhjZXB0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaWRsCmluZGV4IGQ2
MDMwNTczOGJkZDJkODRhZmZkYzFhZjljNzBlNTA0YjBkODhlZWMuLjFhZGUzN2Q2ZDgzYTIxZTYx
NWIxNWZhODdmYTNjZDUzNWExNzQ4NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VFeGNlcHRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2VFeGNlcHRpb24uaWRsCkBAIC00NiwxMyArNDYsMTIgQEAgbW9kdWxlIHN0b3Jh
Z2UgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT05TVFJBSU5UX0VSUiA9IDQ7CiAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IERBVEFfRVJSID0gNTsKICAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgTk9UX0FMTE9XRURfRVJSID0gNjsKLSAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU0VSSUFMX0VSUiA9IDc7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJF
Q09WRVJBQkxFX0VSUiA9IDg7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRSQU5TSUVO
VF9FUlIgPSA5OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBUUkFOU0FDVElPTl9JTkFD
VElWRV9FUlIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSA4
OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRUFEX09OTFlfRVJSID0gOTsKICAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVElNRU9VVF9FUlIgPSAxMDsKLSAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgREVBRExPQ0tfRVJSID0gMTE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFJFQURfT05MWV9FUlIgPSAxMjsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
QUJPUlRfRVJSID0gMTM7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFFVT1RBX0VSUiA9
IDExOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBWRVJfRVJSID0gMTI7CiAgICAgfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAK
aW5kZXggNmY2MWY3NzRkYTk3ZGJiZDNiYWUwZTNlYzQwMDI5M2Y1YjdmNjBjNC4uYzYxYTNiOTE0
N2JlOTEzYmExOGM1MWI0MjcwNjBjMDI3MTc4MTU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBJ
REJJbmRleEJhY2tlbmRJbXBsOjpvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBy
cEtleVJhbmdlLCB1bnNpZ24KICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBw
cnBDYWxsYmFja3M7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4g
dHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvblB0cjsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hl
ZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZvcGVuQ3Vyc29ySW50ZXJuYWwsIGluZGV4LCBr
ZXlSYW5nZSwgZGlyZWN0aW9uLCBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlOjpJbmRleEN1cnNv
ciwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbikpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJJbmRleEJhY2tlbmRJ
bXBsOjpvcGVuS2V5Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBycEtleVJhbmdlLCB1
bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxs
YmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb25QdHIsIEV4
Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgSURCSW5kZXhCYWNrZW5k
SW1wbDo6b3BlbktleUN1cnNvcihQYXNzUmVmUHRyPElEQktleVJhbmdlPiBwcnBLZXlSYW5nZSwg
dW5zCiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJwQ2FsbGJhY2tzOwog
ICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uID0g
dHJhbnNhY3Rpb25QdHI7CiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0
ZUNhbGxiYWNrVGFzaygmb3BlbkN1cnNvckludGVybmFsLCBpbmRleCwga2V5UmFuZ2UsIGRpcmVj
dGlvbiwgSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZTo6SW5kZXhLZXlDdXJzb3IsIGNhbGxiYWNr
cywgdHJhbnNhY3Rpb24pKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9U
X0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FD
VElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Y291bnRJ
bnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tl
bmRJbXBsPiBpbmRleCwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlPiB0cmFuc2FjdGlvbikKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIElEQkluZGV4
QmFja2VuZEltcGw6OmNvdW50SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8SURCSQogdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpjb3VudChQYXNzUmVmUHRyPElE
QktleVJhbmdlPiByYW5nZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNr
VGFzaygmY291bnRJbnRlcm5hbCwgdGhpcywgcmFuZ2UsIGNhbGxiYWNrcywgdHJhbnNhY3Rpb24p
KSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOwor
ICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9F
UlI7CiB9CiAKIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0SW50ZXJuYWwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4gaW5kZXgsIFBh
c3NSZWZQdHI8SURCS2V5PiBrZXksIGJvb2wgZ2V0T2JqZWN0LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4gY2FsbGJhY2tzKQpAQCAtMTcxLDcgKzE3MSw3IEBAIHZvaWQgSURCSW5kZXhCYWNrZW5k
SW1wbDo6Z2V0KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJh
Y2tzCiAgICAgUmVmUHRyPElEQktleT4ga2V5ID0gcHJwS2V5OwogICAgIFJlZlB0cjxJREJDYWxs
YmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5z
Y2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZnZXRJbnRlcm5hbCwgaW5kZXgsIGtleSwg
dHJ1ZSwgY2FsbGJhY2tzKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5P
VF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNB
Q1RJT05fSU5BQ1RJVkVfRVJSOwogfQogCiB2b2lkIElEQkluZGV4QmFja2VuZEltcGw6OmdldEtl
eShQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJw
Q2FsbGJhY2tzLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBF
eGNlcHRpb25Db2RlJiBlYykKQEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIElEQkluZGV4QmFja2Vu
ZEltcGw6OmdldEtleShQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5LCBQYXNzUmVmUHRyPElEQkNh
bGxiYQogICAgIFJlZlB0cjxJREJLZXk+IGtleSA9IHBycEtleTsKICAgICBSZWZQdHI8SURCQ2Fs
bGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7CiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+
c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmZ2V0SW50ZXJuYWwsIGluZGV4LCBrZXks
IGZhbHNlLCBjYWxsYmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFO
U0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIGJvb2wgSURCSW5kZXhCYWNrZW5kSW1wbDo6YWRk
aW5nS2V5QWxsb3dlZChjb25zdCBJREJLZXkqIGluZGV4S2V5LCBjb25zdCBJREJLZXkqIHByaW1h
cnlLZXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsLmNwcAppbmRleCAyMTlmOTFiNGQxN2NmMjgyZjIwNWExNjY0ZDExNGMwMzUyNGRj
NDU0Li5hOTQ1YmQwNTNlYjdlNDk3MzZlZDBmNzE5Mjc5NDA4ZWY0NjRkZjZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAK
QEAgLTg3LDcgKzg3LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXQoUGFz
c1JlZlB0cjxJREJLZXk+IHBycEtleSwgUGFzc1JlZlB0cjxJREJDYWwKICAgICBSZWZQdHI8SURC
S2V5PiBrZXkgPSBwcnBLZXk7CiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0g
cHJwQ2FsbGJhY2tzOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVD
YWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmdldEludGVybmFsLCBvYmpl
Y3RTdG9yZSwga2V5LCBjYWxsYmFja3MpKSkKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2Vw
dGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6Z2V0SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5
PiBrZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCkBAIC0xNTEsNyArMTUx
LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXQoUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IHBycFZhbHVlLAogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB0
aHJvdyBhIFNFUklBTF9FUlIgb24gc3RydWN0dXJlZCBjbG9uZSBwcm9ibGVtcy4KICAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgdGhyb3cgYSBEQVRBX0VSUiB3aGVuIHRoZSB3cm9uZyBrZXkva2V5
UGF0aCBkYXRhIGlzIHN1cHBsaWVkLgogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFz
ayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dEludGVy
bmFsLCBvYmplY3RTdG9yZSwgdmFsdWUsIGtleSwgcHV0TW9kZSwgY2FsbGJhY2tzLCB0cmFuc2Fj
dGlvbikpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9F
UlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNU
SVZFX0VSUjsKIH0KIAogUGFzc1JlZlB0cjxJREJLZXk+IElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw6OnNlbGVjdEtleUZvclB1dChJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsKiBvYmplY3RTdG9y
ZSwgSURCS2V5KiBrZXksIFB1dE1vZGUgcHV0TW9kZSwgSURCQ2FsbGJhY2tzKiBjYWxsYmFja3Ms
IFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiB2YWx1ZSkKQEAgLTMzNCw3ICszMzQsNyBA
QCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUZ1bmN0aW9uKFBhc3NSZWZQ
dHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZQogICAgIH0KIAogICAgIGlmICghdHJhbnNhY3Rpb24t
PnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw6OmRlbGV0ZUludGVybmFsLCBvYmplY3RTdG9yZSwga2V5LCBjYWxsYmFja3MpKSkKLSAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOworICAgICAgICBl
YyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CiB9CiAK
IHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW50ZXJuYWwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gb2Jq
ZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOjpjbGVhcihQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBJREIK
ICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7CiAKICAg
ICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjbGVhckludGVybmFsLCBvYmplY3RTdG9yZSwgY2FsbGJh
Y2tzKSkpCi0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VS
UjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJ
VkVfRVJSOwogfQogCiB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNsZWFySW50ZXJu
YWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3Mp
CkBAIC00NTEsNyArNDUxLDcgQEAgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+
IElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmNyZWF0ZUluZGV4KGNvbnMKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9iamVjdFN0b3JlLCBpbmRleCwgdHJhbnNhY3Rpb25QdHIp
LAogICAgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2Vu
ZEltcGw6OnJlbW92ZUluZGV4RnJvbU1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9iamVjdFN0b3JlLCBpbmRleCkpKSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNl
cHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
QEAgLTUwNyw3ICs1MDcsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0
ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb2JqZWN0U3RvcmUsIGluZGV4LCB0cmFuc2FjdGlvblB0ciks
CiAgICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5k
SW1wbDo6YWRkSW5kZXhUb01hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i
amVjdFN0b3JlLCBpbmRleCkpKSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246
Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJB
TlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1faW5k
ZXhlcy5yZW1vdmUobmFtZSk7CkBAIC01MjgsNyArNTI4LDcgQEAgdm9pZCBJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsOjpvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBycFJhbmdl
LCB1bnMKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soCiAgICAgICAgICAgICBj
cmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9wZW5DdXJzb3JJ
bnRlcm5hbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RTdG9yZSwgcmFu
Z2UsIGRpcmVjdGlvbiwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvblB0cikpKSB7Ci0gICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKKyAgICAgICAgZWMgPSBJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwogICAgIH0KIH0K
IApAQCAtNTQ5LDcgKzU0OSw3IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6b3Bl
bkN1cnNvckludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzCiB2b2lkIElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw6OmNvdW50KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdl
LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAo
IXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsOjpjb3VudEludGVybmFsLCB0aGlzLCByYW5nZSwgY2FsbGJhY2tzLCB0
cmFuc2FjdGlvbikpKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxM
T1dFRF9FUlI7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUjsKIH0KIAogdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjb3Vu
dEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw+IG9iamVjdFN0b3JlLCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiByYW5n
ZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxOWM0OGU4ZDZk
MGIwMmVlN2JhNjExODMwNzFjNjE0YTQ0NjA1ZDIuLjNiYzE3ODQyZTlkYzRlMjEzNmQyYWMzYjQ0
YjU3MDU2ODAxNTUxNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMS0xMSAgSm9zaHVh
IEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogTWV0aG9k
cyBzaG91bGQgdGhyb3cgVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIHdoZW4gdHJhbnNhY3Rpb24g
aXMgY29tcGxldGVkL2Fib3J0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2MTA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jb25zdGFudHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL3NldF92ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWw6CisKIDIwMTItMDEtMTAgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMDQ1NDMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY29uc3RhbnRzLWV4cGVjdGVkLnR4dAppbmRleCA0NTE2ZjdlNWFhYTlmMTc4ZTM3ZDgz
MDk1Y2U1NDIzOWI0NzQxNWYxLi4yYjg2ZGY5OTk0N2FiNTAzOWU2NjZmOGJhODFmOTgzYjRlMGQ4
Y2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jb25zdGFudHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50
cy1leHBlY3RlZC50eHQKQEAgLTksMTEgKzksMTIgQEAgUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIGlzIDMKIFBBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uQ09OU1RSQUlOVF9FUlIgaXMgNAogUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUiBpcyA1CiBQQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9BTExPV0VE
X0VSUiBpcyA2Ci1QQVNTIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlNFUklBTF9FUlIgaXMg
NwotUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUNPVkVSQUJMRV9FUlIgaXMgOAot
UEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0lFTlRfRVJSIGlzIDkKK1BBU1Mg
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIGlzIDcK
K1BBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIGlzIDgKK1BBU1Mgd2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZX0VSUiBpcyA5CiBQQVNTIHdlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLlRJTUVPVVRfRVJSIGlzIDEwCi1QQVNTIHdlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRFQURMT0NLX0VSUiBpcyAxMQorUEFTUyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5RVU9UQV9FUlIgaXMgMTEKK1BBU1Mgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
VkVSX0VSUiBpcyAxMgogUEFTUyB3ZWJraXRJREJSZXF1ZXN0LkxPQURJTkcgaXMgMQogUEFTUyB3
ZWJraXRJREJSZXF1ZXN0LkRPTkUgaXMgMgogUEFTUyB3ZWJraXRJREJDdXJzb3IuTkVYVCBpcyAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jb25zdGFudHMuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NvbnN0YW50cy5odG1sCmluZGV4IGQw
ZTAzMmFhZTg3MDljMzA2NTMyNDg5M2UzNDMwYTBmNWQ4NmNkNjkuLmExNjFlOWU4ZDhlNTBmMjZi
NGY2NjVjODhjMDY5MDZmMDY4NzJjNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2NvbnN0YW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2NvbnN0YW50cy5odG1sCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdD4KIAogZGVzY3JpcHRp
b24oIlRlc3QgSW5kZXhlZERCJ3MgY29uc3RhbnRzLiIpOwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKIAogZnVuY3Rpb24gdGVzdCgpCkBAIC0y
MCwxMSArMjAsMTIgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc2hvdWxkQmUoIndlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJSIiwgIjQiKTsKICAgICBzaG91bGRCZSgid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiLCAiNSIpOwogICAgIHNob3VsZEJlKCJ3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiLCAiNiIpOwotICAgIHNo
b3VsZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5TRVJJQUxfRVJSIiwgIjciKTsKLSAg
ICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uUkVDT1ZFUkFCTEVfRVJSIiwg
IjgiKTsKLSAgICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNJRU5U
X0VSUiIsICI5Iik7CisgICAgc2hvdWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlRS
QU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIsICI3Iik7CisgICAgc2hvdWxkQmUoIndlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUiIsICI4Iik7CisgICAgc2hvdWxkQmUoIndlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLlJFQURfT05MWV9FUlIiLCAiOSIpOwogICAgIHNob3VsZEJlKCJ3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5USU1FT1VUX0VSUiIsICIxMCIpOwotICAgIHNob3Vs
ZEJlKCJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5ERUFETE9DS19FUlIiLCAiMTEiKTsKKyAg
ICBzaG91bGRCZSgid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uUVVPVEFfRVJSIiwgIjExIik7
CisgICAgc2hvdWxkQmUoIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLlZFUl9FUlIiLCAiMTIi
KTsKIAogICAgIHNob3VsZEJlKCJ3ZWJraXRJREJSZXF1ZXN0LkxPQURJTkciLCAiMSIpOwogICAg
IHNob3VsZEJlKCJ3ZWJraXRJREJSZXF1ZXN0LkRPTkUiLCAiMiIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtZXhwZWN0ZWQudHh0CmluZGV4
IGMzZDFlNTVkNTY0ZjYwNjBhNjkxZDViZjI5M2JkZDExZTc4NGU4NWMuLjEwNmIyZmY5ZTFhMTk0
OTQ0ZjMyYWM1NjNiM2RmM2JkNGQzODQ0YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC1leHBlY3RlZC50eHQKQEAgLTI5LDcgKzI5LDcg
QEAgUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBvYmplY3RT
dG9yZS5kZWxldGVJbmRleCgnc2Vjb25kJykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1Q
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSCitQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVJbmRleC5odG1sCmluZGV4IGM2N2U4ZTE4YjQz
NzRhYjliNGFkNjBkNjdjYjA4NDE2NTFlMDdhMTQuLjRhNzA3NDNiYzBkZDI2ZGViODdjNmI5YmRj
ZTczMzVjNDA2OTk0ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2RlbGV0ZUluZGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlSW5kZXguaHRtbApAQCAtNTYsNyArNTYsNyBAQCBmdW5jdGlvbiB0d2lkZGxlSW5kZXhlcygp
CiBmdW5jdGlvbiBwb3N0VHdpZGRsaW5nKCkKIHsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnYmFyJyk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLk5P
VF9BTExPV0VEX0VSUiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oIm9iamVjdFN0b3Jl
LmRlbGV0ZUluZGV4KCdzZWNvbmQnKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dF
RF9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJvYmplY3RTdG9yZS5kZWxldGVJ
bmRleCgnc2Vjb25kJykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJ
VkVfRVJSIik7CiAgICAgZG9uZSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS1leHBlY3RlZC50eHQKaW5kZXgg
NDEzMGJmMjE3YmU1M2FhZjYzODBmODg3MmI1ZmUzODJlNzExNGNhOS4uZWRhYTAyMjAwYTVmZGMz
MmY5YzMyYmMyZGUxZDI5ZWI1YjRlNjc2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLWV4cGVjdGVkLnR4dApAQCAt
MywxMSArMywxNCBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgSW5kZXhl
ZERCID09IG51bGwgaXMgZmFsc2UKLUluZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScp
Ci1JbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tcXVldWUnKQotSW5kZXhlZERCLm9wZW4oJ3Nl
dC12ZXJzaW9uLXF1ZXVlJykKLUluZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCit3
aW5kb3cuaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhl
ZERCCitQQVNTIGluZGV4ZWREQiAhPSBudWxsIGlzIHRydWUKK0lEQkRhdGFiYXNlRXhjZXB0aW9u
ID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbgorUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiAhPSBudWxsIGlzIHRydWUKK2lu
ZGV4ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCitpbmRleGVkREIub3Blbignc2V0LXZl
cnNpb24tcXVldWUnKQoraW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJykKK2luZGV4
ZWREQi5vcGVuKCdzZXQtdmVyc2lvbi1xdWV1ZScpCiBjb25uZWN0aW9uc1swXS5zZXRWZXJzaW9u
KCd2ZXJzaW9uIDAnKQogY29ubmVjdGlvbnNbMV0uc2V0VmVyc2lvbigndmVyc2lvbiAxJykKIGNv
bm5lY3Rpb25zWzJdLnNldFZlcnNpb24oJ3ZlcnNpb24gMicpCkBAIC01MiwxNyArNTUsMTcgQEAg
Tm90ZTogVGhpcyBtZWFucyB0aGF0IGEgY29ubmVjdGlvbiBjYW4gcmVjZWl2ZSBhIGJsb2NrZWQg
ZXZlbnQgYWZ0ZXIgaXRzIGNsb3NlKCkKIFBBU1MgZXZlbnQudmVyc2lvbiBpcyAidmVyc2lvbiAz
IgogCiBQQVNTIGNvbm5lY3Rpb25bMF0gZ290IGVycm9yIGV2ZW50Ci1QQVNTIGV2ZW50LnRhcmdl
dC5lcnJvckNvZGUgaXMgMTMKK1BBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIKIFBBU1MgZXZlbnQudGFyZ2V0LndlYmtpdEVycm9yTWVz
c2FnZS5sZW5ndGggPiAwIGlzIHRydWUKIENvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0
IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQKIAogUEFTUyBjb25uZWN0aW9uWzJdIGdv
dCBlcnJvciBldmVudAotUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIDEzCitQQVNTIGV2
ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSCiBQ
QVNTIGV2ZW50LnRhcmdldC53ZWJraXRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMCBpcyB0cnVlCiBD
b25uZWN0aW9uIHdhcyBjbG9zZWQgYmVmb3JlIHNldCB2ZXJzaW9uIHRyYW5zYWN0aW9uIHdhcyBj
cmVhdGVkCiAKIFBBU1MgY29ubmVjdGlvblszXSBnb3QgZXJyb3IgZXZlbnQKLVBBU1MgZXZlbnQu
dGFyZ2V0LmVycm9yQ29kZSBpcyAxMworUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUgogUEFTUyBldmVudC50YXJnZXQud2Via2l0RXJy
b3JNZXNzYWdlLmxlbmd0aCA+IDAgaXMgdHJ1ZQogQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9y
ZSBzZXQgdmVyc2lvbiB0cmFuc2FjdGlvbiB3YXMgY3JlYXRlZAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbAppbmRleCAxNmE5
NGQwNjYxMWRmMDUxNTRjOTVmZmZmMzYyN2U4NTZlNWFlMWEwLi43OTc1NzA5NWJmNGQ5OGFkMjJh
ZGVhZDU0MTBhZTczYTU2YmIwNzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwKQEAgLTE1LDE3ICsxNSwxNyBAQCBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogY29ubmVjdGlvbnMgPSBbXQ0KIGZ1bmN0aW9u
IHRlc3QoKQ0KIHsNCi0gICAgaWYgKCd3ZWJraXRJbmRleGVkREInIGluIHdpbmRvdykNCi0gICAg
ICAgIEluZGV4ZWREQiA9IHdlYmtpdEluZGV4ZWREQjsNCi0gICAgZWxzZSBpZiAoJ21vekluZGV4
ZWREQicgaW4gd2luZG93KQ0KLSAgICAgICAgSW5kZXhlZERCID0gbW96SW5kZXhlZERCOw0KLSAg
ICBzaG91bGRCZUZhbHNlKCJJbmRleGVkREIgPT0gbnVsbCIpOw0KKyAgICBldmFsQW5kTG9nKCJ3
aW5kb3cuaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhl
ZERCIik7DQorICAgIHNob3VsZEJlVHJ1ZSgiaW5kZXhlZERCICE9IG51bGwiKTsNCisgICAgZXZh
bEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRp
b24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uIik7DQorICAgIHNob3VsZEJl
VHJ1ZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gIT0gbnVsbCIpOw0KKw0KICAgICBvcGVuREJDb25u
ZWN0aW9uKCk7DQogfQ0KIA0KIGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQ0KIHsNCi0gICAg
cmVzdWx0ID0gZXZhbEFuZExvZygiSW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLXF1ZXVlJyki
KTsNCisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9u
LXF1ZXVlJykiKTsNCiAgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOw0KICAgICBy
ZXN1bHQub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOw0KIH0NCkBAIC0xMTUsOCAr
MTE1LDggQEAgZnVuY3Rpb24gY29ubmVjdGlvbkVycm9yKGV2ZW50LCBjb25uZWN0aW9uSWQpCiB7
DQogICAgIGRlYnVnKCIiKQ0KICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0aW9uWyIgKyBjb25uZWN0
aW9uSWQgKyAiXSBnb3QgZXJyb3IgZXZlbnQiKTsNCi0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC5lcnJvckNvZGUiLCAiMTMiKQ0KLSAgICBpZiAoJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93
KSB7DQorICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQuZXJyb3JDb2RlIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLkFCT1JUX0VSUiIpDQorICAgIGlmICgnd2Via2l0RXJyb3JNZXNzYWdlJyBpbiBl
dmVudC50YXJnZXQpIHsNCiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQud2Via2l0RXJy
b3JNZXNzYWdlLmxlbmd0aCA+IDAiLCAidHJ1ZSIpOw0KICAgICAgICAgZGVidWcoZXZlbnQudGFy
Z2V0LndlYmtpdEVycm9yTWVzc2FnZSk7DQogICAgIH0NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQK
aW5kZXggYjIwODllMDkzOTIxMjdiMGE0Mzg1Yjg3MzA0NWJkYTViMWJkNDI0MS4uN2JkM2I2ZTEz
OTNhZjI5ZTI0NDlkNjBkN2M0ZDE0NWRmZjdlMTZmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4
dApAQCAtMyw3ICszLDEzIEBAIFRlc3QgdHJhbnNhY3Rpb24gYWJvcnRzIHNlbmQgdGhlIHByb3Bl
ciBvbmFib3J0IG1lc3NhZ2VzLi4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi13ZWJr
aXRJbmRleGVkREIub3BlbignbmFtZScpCit3aW5kb3cuaW5kZXhlZERCID0gd2luZG93LmluZGV4
ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCCitQQVNTIGluZGV4ZWREQiAhPSBudWxsIGlz
IHRydWUKK0lEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53
ZWJraXRJREJUcmFuc2FjdGlvbgorUEFTUyBJREJUcmFuc2FjdGlvbiAhPSBudWxsIGlzIHRydWUK
K0lEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdp
bmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbgorUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlv
biAhPSBudWxsIGlzIHRydWUKK2luZGV4ZWREQi5vcGVuKCduYW1lJykKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAogZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQogc2V0VmVyc2lvblN1Y2Nl
c3MoKToKQEAgLTEzLDIwICsxOSwyMCBAQCB0cmFucy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0CiBE
ZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAna2V5
JykKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFi
b3J0ZWQKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjawogc3Rv
cmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmFkZCh7eDogJ3ZhbHVl
MicsIHk6ICd6enoyJ30sICdrZXkyJykKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlMycsIHk6ICd6enoz
J30sICdrZXkzJykKLVBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyB3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIKK1BBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIKIFBBU1MgZmlyc3RFcnJvciBpcyBmYWxzZQog
UEFTUyBzZWNvbmRFcnJvciBpcyBmYWxzZQogUEFTUyBhYm9ydEZpcmVkIGlzIGZhbHNlCiBFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKHt4OiAndmFsdWU0JywgeTogJ3p6ejQnfSwg
J2tleTQnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyB3ZWJraXRJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKLVBBU1MgZXZlbnQudGFyZ2V0LmVy
cm9yQ29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIKK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK1BBU1Mg
ZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5BQk9SVF9FUlIK
IFBBU1MgZmlyc3RFcnJvciBpcyB0cnVlCiBQQVNTIHNlY29uZEVycm9yIGlzIGZhbHNlCiBQQVNT
IGFib3J0RmlyZWQgaXMgZmFsc2UKQEAgLTM1LDcgKzQxLDcgQEAgUEFTUyBzZWNvbmRFcnJvciBp
cyB0cnVlCiBQQVNTIGFib3J0RmlyZWQgaXMgZmFsc2UKIEV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5hZGQoe3g6ICd2YWx1ZTUnLCB5OiAnenp6NSd9LCAna2V5NScpCiBQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
Lk5PVF9BTExPV0VEX0VSUgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5T
QUNUSU9OX0lOQUNUSVZFX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYWJvcnQuaHRtbAppbmRleCAxYjRhNTYzNTY0ZGM1ZjdjMjM4ZWQ2ZDZiODEyMDgx
M2VhYzFmMDY5Li5kZWJiYTYyMjIwZWVhNzgwNWQwZjNjNjZhODBmMWZjOGEwODhiODIxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0
Lmh0bWwKQEAgLTE0LDcgKzE0LDE0IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CiAKIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJ3ZWJraXRJ
bmRleGVkREIub3BlbignbmFtZScpIik7CisgICAgZXZhbEFuZExvZygid2luZG93LmluZGV4ZWRE
QiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiIpOworICAgIHNo
b3VsZEJlVHJ1ZSgiaW5kZXhlZERCICE9IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFu
c2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNh
Y3Rpb24iKTsKKyAgICBzaG91bGRCZVRydWUoIklEQlRyYW5zYWN0aW9uICE9IG51bGwiKTsKKyAg
ICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4
Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24iKTsKKyAgICBzaG91
bGRCZVRydWUoIklEQkRhdGFiYXNlRXhjZXB0aW9uICE9IG51bGwiKTsKKworICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbignbmFtZScpIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBzZXRWZXJzaW9uOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogfQpAQCAtNDUsNyArNTIsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmVOYW1lJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZh
bEFuZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZCIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjayIpOwog
ICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykiKTsKQEAgLTYzLDE4ICs3MCwxOCBAQCBmdW5jdGlvbiBzdGFydFRlc3QoKQogCiBmdW5j
dGlvbiBmaXJzdEFkZCgpCiB7Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUi
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJSIik7CisgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uQUJPUlRfRVJS
Iik7CiAgICAgc2hvdWxkQmVGYWxzZSgiZmlyc3RFcnJvciIpOwogICAgIHNob3VsZEJlRmFsc2Uo
InNlY29uZEVycm9yIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiYWJvcnRGaXJlZCIpOwogICAgIGZp
cnN0RXJyb3IgPSB0cnVlOwogCi0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRk
KHt4OiAndmFsdWU0JywgeTogJ3p6ejQnfSwgJ2tleTQnKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJz
dG9yZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiAnenp6NCd9LCAna2V5NCcpIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOwogfQogCiBmdW5jdGlvbiBzZWNv
bmRBZGQoKQogewotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQuZXJyb3JDb2RlIiwgIndlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUiIpOworICAgIHNob3VsZEJlKCJldmVudC50
YXJnZXQuZXJyb3JDb2RlIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkFCT1JUX0VSUiIpOwogICAg
IHNob3VsZEJlVHJ1ZSgiZmlyc3RFcnJvciIpOwogICAgIHNob3VsZEJlRmFsc2UoInNlY29uZEVy
cm9yIik7CiAgICAgc2hvdWxkQmVGYWxzZSgiYWJvcnRGaXJlZCIpOwpAQCAtODgsNyArOTUsNyBA
QCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQoKQogICAgIHNob3VsZEJlRmFsc2UoImFib3J0
RmlyZWQiKTsKICAgICBhYm9ydEZpcmVkID0gdHJ1ZTsKIAotICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInN0b3JlLmFkZCh7eDogJ3ZhbHVlNScsIHk6ICd6eno1J30sICdrZXk1JykiLCAid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSIik7CisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKHt4OiAndmFsdWU1JywgeTogJ3p6ejUnfSwgJ2tleTUn
KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsKICAg
ICBkb25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDU5MjFjM2RiMWEz
NTc4YjFlMmM5N2YxZDgwNDE2NzMwMmE1MDllMmMuLjFiNjEyZjg0MTBiMGY5M2E2NGQ3YWVmMWVi
YTFkNmJiNDFiZWQ0ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtMyw5ICszLDEy
IEBAIFRlc3QgSW5kZXhlZERCIHRyYW5zYWN0aW9uIGJhc2ljcy4KIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KIAogCi1QQVNTICd3ZWJraXRJbmRleGVkREInIGluIHdpbmRvdyBpcyB0cnVlCi1Q
QVNTIHdlYmtpdEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCi13ZWJraXRJbmRleGVkREIub3Bl
bigndHJhbnNhY3Rpb24tYmFzaWNzJykKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwg
d2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRl
eGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURC
RGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uOwor
UEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCisKK2luZGV4ZWREQi5v
cGVuKCd0cmFuc2FjdGlvbi1iYXNpY3MnKQogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCkBAIC01MCw2
ICs1Myw0MSBAQCBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIHN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4
KCdpbmRleEZhaWwnLCAneCcsIGZhbHNlKQogCit0ZXN0SW5hY3RpdmVBYm9ydGVkVHJhbnNhY3Rp
b24oKToKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5vcGVuQ3Vyc29yKCkKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXgu
b3BlbktleUN1cnNvcigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlz
IElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4LmdldCgwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
K1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleC5nZXRLZXkoMCkKK1BBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNB
Q1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXguY291bnQo
KQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5wdXQoMCwgMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKDAsIDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNU
SVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmRlbGV0ZSgwKQorUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5U
UkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5j
bGVhcigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLmdldCgwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5vcGVuQ3Vyc29yKCkKK1BBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05f
SU5BQ1RJVkVfRVJSCisKIHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCk6CiBQQVNTIHdpbmRvdy5kYi5v
YmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCBpcyAwCkBAIC02MSw2ICs5OSw0MSBAQCBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUK
IHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9
IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcsIGZhbHNlKQogCit0ZXN0SW5hY3Rp
dmVDb21wbGV0ZWRUcmFuc2FjdGlvbigpOgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4
Lm9wZW5DdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBpbmRleC5vcGVuS2V5Q3Vyc29yKCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXguZ2V0KDApCitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRS
QU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4Lmdl
dEtleSgwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBpbmRleC5jb3VudCgpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgwLCAwKQorUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9J
TkFDVElWRV9FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoMCwgMCkKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3Rv
cmUuZGVsZXRlKDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLmNsZWFyKCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KDApCitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9O
X0lOQUNUSVZFX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLm9wZW5DdXJzb3Io
KQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIKKwogdGVzdFNldFZlcnNpb25BYm9ydDUo
KToKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbJ3N0b3JlRmFpbCddCiBQQVNTIGRiLm9i
amVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwKaW5kZXggZTFmMGI3MmFkNWMzYjhh
NDUwMjYwZTViYTNiMDM5OTg5OGYyMWY4Ny4uN2ZhMTkxNmQxZTVjMmZkNDgwMDY2MTI3MmRlOWJh
ZTE2ZmIxYTU0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwKQEAgLTEyLDEwICsxMiwxMyBAQCBkZXNjcmlwdGlvbigi
VGVzdCBJbmRleGVkREIgdHJhbnNhY3Rpb24gYmFzaWNzLiIpOwogDQogZnVuY3Rpb24gdGVzdCgp
DQogew0KLSAgICBzaG91bGRCZVRydWUoIid3ZWJraXRJbmRleGVkREInIGluIHdpbmRvdyIpOw0K
LSAgICBzaG91bGRCZUZhbHNlKCJ3ZWJraXRJbmRleGVkREIgPT0gbnVsbCIpOw0KKyAgICBpbmRl
eGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRv
dy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsiKTsNCisgICAgc2hvdWxk
QmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsNCisgICAgSURCRGF0YWJhc2VFeGNlcHRpb24g
PSBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4
Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247Iik7DQorICAgIHNo
b3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwiKTsNCisgICAgZGVidWco
IiIpOw0KIA0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygid2Via2l0SW5kZXhlZERCLm9wZW4o
J3RyYW5zYWN0aW9uLWJhc2ljcycpIik7DQorICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbigndHJhbnNhY3Rpb24tYmFzaWNzJykiKTsNCiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsNCiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7DQogfQ0KQEAgLTEwNCwxNSArMTA3LDM1IEBAIGZ1bmN0aW9uIGFkZElEQk9iamVj
dHMoKQogICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LmNhbmNlbGFibGUiKTsNCiAgICAgdmFyIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHNo
b3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsNCi0gICAgdHJhbnMub25hYm9ydCA9IHRlc3RT
ZXRWZXJzaW9uQWJvcnQ0Ow0KKyAgICB0cmFucy5vbmFib3J0ID0gdGVzdEluYWN0aXZlQWJvcnRl
ZFRyYW5zYWN0aW9uOw0KICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRl
Q2FsbGJhY2s7DQogDQotICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpIik7DQotICAgIHZhciBpbmRleCA9IGV2
YWxBbmRMb2coImluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JywgZmFs
c2UpIik7DQorICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmVGYWlsJywgbnVsbCkiKTsNCisgICAgaW5kZXggPSBldmFsQW5kTG9nKCJpbmRl
eCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcsIGZhbHNlKSIpOw0KIA0KICAg
ICB0cmFucy5hYm9ydCgpOw0KIH0NCiANCitmdW5jdGlvbiB0ZXN0SW5hY3RpdmVBYm9ydGVkVHJh
bnNhY3Rpb24oKQ0KK3sNCisgICAgZGVidWcoIiIpOw0KKyAgICBkZWJ1ZygidGVzdEluYWN0aXZl
QWJvcnRlZFRyYW5zYWN0aW9uKCk6Iik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImlu
ZGV4Lm9wZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFD
VElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXgub3BlbktleUN1
cnNvcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIp
Ow0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleC5nZXQoMCkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImluZGV4LmdldEtleSgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFO
U0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5k
ZXguY291bnQoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIiKTsNCisNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KDAsIDApIiwg
IklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoMCwgMCkiLCAiSURCRGF0YWJhc2VFeGNl
cHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInN0b3JlLmRlbGV0ZSgwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElP
Tl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY2xl
YXIoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsN
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KDApIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJzdG9yZS5vcGVuQ3Vyc29yKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJB
TlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQorDQorICAgIHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCk7
DQorfQ0KKw0KIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCkNCiB7DQogICAgIGRlYnVn
KCIiKTsNCkBAIC0xMjksMTAgKzE1MiwzMCBAQCBmdW5jdGlvbiBhZGRJREJPYmplY3RzQW5kQ29t
bWl0KCkKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7DQogICAgIHRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsNCiANCi0gICAgdmFyIHN0b3JlID0gZXZh
bEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCki
KTsNCi0gICAgdmFyIGluZGV4ID0gZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRl
eCgnaW5kZXhGYWlsJywgJ3gnLCBmYWxzZSkiKTsNCisgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBudWxsKSIpOw0KKyAgICBp
bmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcs
ICd4JywgZmFsc2UpIik7DQorDQorICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0SW5hY3RpdmVD
b21wbGV0ZWRUcmFuc2FjdGlvbjsNCit9DQogDQotICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0
U2V0VmVyc2lvbkFib3J0NTsNCitmdW5jdGlvbiB0ZXN0SW5hY3RpdmVDb21wbGV0ZWRUcmFuc2Fj
dGlvbigpDQorew0KKyAgICBkZWJ1ZygiIik7DQorICAgIGRlYnVnKCJ0ZXN0SW5hY3RpdmVDb21w
bGV0ZWRUcmFuc2FjdGlvbigpOiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRl
eC5vcGVuQ3Vyc29yKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJ
VkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4Lm9wZW5LZXlDdXJz
b3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsN
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXguZ2V0KDApIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJpbmRleC5nZXRLZXkoMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNB
Q1RJT05fSU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4
LmNvdW50KCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJS
Iik7DQorDQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dCgwLCAwKSIsICJJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKDAsIDApIiwgIklEQkRhdGFiYXNlRXhjZXB0
aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJzdG9yZS5kZWxldGUoMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05f
SU5BQ1RJVkVfRVJSIik7DQorICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNsZWFy
KCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIik7DQor
ICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldCgwKSIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiKTsNCisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigic3RvcmUub3BlbkN1cnNvcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5T
QUNUSU9OX0lOQUNUSVZFX0VSUiIpOw0KKw0KKyAgICB0ZXN0U2V0VmVyc2lvbkFib3J0NSgpOw0K
IH0NCiANCiBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lvbkFib3J0NSgpDQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>