Re: fence_ec2 agent

東一彦 <[email protected]> Wed, 25 Mar 2015 09:49:32 +0900
Newsgroups gmane.linux.highavailability.user
Message-ID <[email protected]>
SGkgTWFya3VzLAoKVGhhbmsgeW91IGZvciB0aGUgY29tbWVudC4KCj4gV291bGQgaXQgYmUgcG9z
c2libGUsIHRvIGltcGxlbWVudCB0aGlzIGlkZWEgYXMgYW4gYWRkaXRpb25hbCBjb25maWd1cmF0
aW9uIG1ldGhvZCB0byB0aGUgZmVuY2VfZWMyIGFnZW50PwpJIHRoaW5rIHRoYXQgeW91ciBpZGVh
IGlzIGdvb2QuCgpTbywgSSB0cmllcyB0byBpbXBsZW1lbnQgaXQuCkknbSBnb2luZyB0byBjaGFu
Z2UgdGhlIGZlbmNlX2VjMihlYzIpIHRoZSBmb2xsb3dpbmcgcG9pbnRzLgoKICAtIHRoZSAidGFn
IiBhbmQgdGhlICJwb3J0IiBvcHRpb25zIHdpbGwgYmUgIm5vdCIgcmVxdWlyZWQuCgogIC0gaWYg
dGhlICJwb3J0IiBvcHRpb24gaXMgbm90IHNldCwgdGhlIDJuZCBhcmd1bWVudCBvZiBlYzIgd2ls
bCB1c2UgYXMgdGhlICJwb3J0Ii4KICAgIC0gdGhlIDJuZCBhcmd1bWVudCBvZiBlYzIgaXMgIm5v
ZGUgdG8gZmVuY2UiLgoKICAtIHRoZSAic3RhdCIgYW5kICJzdGF0dXMiIGFjdGlvbiB3aWxsIGJl
IHNhbWUgdGhlICJtb25pdG9yIiBhY3Rpb24uCiAgICAoZm9yIGRvIG5vdCB1c2UgdGhlICJwb3J0
IiBwYXJhbWV0ZXIgaW4gInN0YXQiIGFjdGlvbi4pCgoKQnkgdGhlIGFib3ZlIG1vZGlmaWNhdGlv
bnMsIElmIGl0IGlzIGRlc2NyaWJlZCB1bmFtZSBpbiB0aGUgTmFtZSB0YWcsCnRoZSBzZXR0aW5n
IG9mIHRoZSAidGFnIiBhbmQgInBvcnQiIHBhcmFtZXRlcnMgYXJlIG5vIGxvbmdlciBuZWNlc3Nh
cnkuCgotLS0tCnByaW1pdGl2ZSBwcm1TdG9uaXRoMS0yIHN0b25pdGg6ZXh0ZXJuYWwvZWMyIFwK
ICAgICAgICAgcGFyYW1zIFwKICAgICAgICAgICAgICAgICBwY21rX29mZl90aW1lb3V0PSIxMjBz
IiBcCiAgICAgICAgIG9wIHN0YXJ0IGludGVydmFsPSIwcyIgdGltZW91dD0iNjBzIiBcCiAgICAg
ICAgIG9wIG1vbml0b3IgaW50ZXJ2YWw9IjM2MDBzIiB0aW1lb3V0PSI2MHMiIFwKICAgICAgICAg
b3Agc3RvcCBpbnRlcnZhbD0iMHMiIHRpbWVvdXQ9IjYwcyIKLS0tLQoKCllvdSBjYW4gdXNlICJ0
YWciIHBhcmFtZXRlciBsaWtlIHlvdXIgIkNsdXN0ZXJuYW1lIiB0YWcuCklmIGNsdXN0ZXIgbm9k
ZXMoaW5zdGFuY2VzKSBoYXZlICJDbHVzdGVyMSIgdGFnLCBhbmQgdW5hbWUgaXMgZGVzY3JpYmVk
IGluIHRoYXQgdGFnLAppdCB3b3JrcyBqdXN0IGxpa2UgeW91IHRvIGV4cGVjdC4KCi0tLS0KcHJp
bWl0aXZlIHBybVN0b25pdGgxLTIgc3Rvbml0aDpleHRlcm5hbC9lYzIgXAogICAgICAgICBwYXJh
bXMgXAogICAgICAgICAgICAgICAgIHBjbWtfb2ZmX3RpbWVvdXQ9IjEyMHMiIFwKICAgICAgICAg
ICAgICAgICB0YWc9IkNsdXN0ZXIxIiBcCiAgICAgICAgIG9wIHN0YXJ0IGludGVydmFsPSIwcyIg
dGltZW91dD0iNjBzIiBcCiAgICAgICAgIG9wIG1vbml0b3IgaW50ZXJ2YWw9IjM2MDBzIiB0aW1l
b3V0PSI2MHMiIFwKICAgICAgICAgb3Agc3RvcCBpbnRlcnZhbD0iMHMiIHRpbWVvdXQ9IjYwcyIK
LS0tLQoKVGhlIDFzdCBpbnN0YW5jZSBoYXZlICJDbHVzdGVyMT1ub2RlMDEiIHRhZy1rZXkuClRo
ZSAybmQgaW5zdGFuY2UgaGF2ZSAiQ2x1c3RlcjE9bm9kZTAyIiB0YWcta2V5LgpUaGUgM3JkIGlu
c3RhbmNlIGhhdmUgIkNsdXN0ZXIxPW5vZGUwMyIgdGFnLWtleS4KLi4uClRoZSBwcm1TdG9uaXRo
MS0yIGNhbiBmZW5jZSBub2RlMDEgLCBub2RlMDIgYW5kIG5vZGUwMy4KCgpJZiB5b3UgbGlrZSBh
Ym92ZSwgSSB3aWxsIGltcGxlbWVudCB0aGF0LgoKClJlZ2FyZHMsCkthenVoaWtvIEhpZ2FzaGkK
CgpPbiAyMDE1LzAzLzE5IDE6MDMsIE1hcmt1cyBHdWVydGxlciB3cm90ZToKPiBIaSBLYXp1aGlr
bywgRGVqYW4sCj4KPiB0aGUgbmV3IHJlc291cmNlIGFnZW50IGlzIHZlcnkgZ29vZC4gU2luY2Ug
dGhlcmUgd2VyZSBhIGNvdXBsZSBvZiBkYXlzIGJldHdlZW4gbXkgb3JpZ2luYWwgcXVlc3Rpb24g
YW5kIHRoZSBhbnN3ZXIgZnJvbQo+IEthenVoaWtvLCBJIGFsc28gaGF2ZSB3cml0dGVuIGEgc3Rv
bml0aCBhZ2VudCBwcm9vZiBvZiBjb25jZXB0IChhdHRhY2hlZCB0byB0aGlzIGVtYWlsKSBpbiBv
cmRlciB0byBjb250aW51ZSBpbiBteQo+IHByb2plY3QuIEhvd2V2ZXIsIEkgdGhpbmsgdGhhdCB5
b3VyIGZlbmNlX2VjMiBhZ2VudCBpcyBiZXR0ZXIgZnJvbSBhIGRldmVsb3BtZW50IHBlcnNwZWN0
aXZlIGFuZCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UKPiB0byBoYXZlIHR3byBkaWZmZXJlbnQgYWdl
bnRzIGZvciB0aGUgc2FtZSB1c2UgY2FzZS4KPgo+IE5ldmVydGhlbGVzcywgSSd2ZSBpbXBsZW1l
bnRlZCBhbiBpZGVhLCB0aGF0IGlzIHZlcnkgdXNlZnVsIGluIEVDMiBlbnZpcm9ubWVudHMgd2l0
aCBjbHVzdGVycyB0aGF0IGhhdmUgbW9yZSB0aGFuIHR3bwo+IG5vZGVzOiBBbGwgRUMyIGluc3Rh
bmNlcyB0aGF0IGJlbG9uZyB0byBhIGNsdXN0ZXIgZ2V0IGEgdW5pcXVlIGNsdXN0ZXIgbmFtZSB2
aWEgYW4gRUMyIGluc3RhbmNlIHRhZy4gVGhlIGFnZW50IHVzZXMgdGhpcwo+IHRhZyB0byBkZXRl
cm1pbmUgYWxsIGNsdXN0ZXIgbm9kZXMgdGhhdCBiZWxvbmcgdG8gaGlzIG93biBjbHVzdGVyCj4K
PiAtLS0gU05JUCAtLS0KPiAgICAgIGdldGhvc3RzKQo+ICAgICAgICAgICMgTGlzdCBvZiBob3N0
bmFtZXMgb2YgdGhpcyBjbHVzdGVyCj4gICAgICAgICAgaW5pdF9hZ2VudAo+ICAgICAgICAgIGVj
Mi1kZXNjcmliZS1pbnN0YW5jZXMgLS1maWx0ZXIgInRhZy1rZXk9Q2x1c3Rlcm5hbWUiIC0tZmls
dGVyICJ0YWctdmFsdWU9JGNsdXN0ZXJuYW1lIiB8IGdyZXAgIl5UQUciIHxncmVwCj4gIkhvc3Ru
YW1lIiB8IGF3ayAneyBwcmludCAkNSB9JyB8IHNvcnQgLXUKPiAtLS0gU05JUCAtLS0KPgo+IFRo
ZSBhZHZhbnRhZ2Ugb2YgdGhpcyBtZXRob2QgaXMsIHRoYXQgeW91IGp1c3QgbmVlZCBvbmUgY29u
ZmlndXJhdGlvbiBzbmlwcGV0IGZvciBhbGwgbm9kZXMuIFRoaXMgYWxsb3dzIHRvIGR5bmFtaWNh
bGx5Cj4gYWRkIG9yIHJlbW92ZSBFQzIgaW5zdGFuY2VzIC8gY2x1c3RlciBub2RlcyB0by9mcm9t
IGEgY2x1c3RlciB3aXRob3V0IGhhdmluZyB0byBuZWVkIHRvIHRvdWNoIHRoZSBjbHVzdGVyIGNv
bmZpZ3VyYXRpb24uCj4gRHluYW1pY2FsbHkgYWRkaW5nIG9yIHJlbW92aW5nIG5vZGVzIChjb21w
dXRlIGluc3RhbmNlcykgaXMgYSB2ZXJ5IGNvbW1vbiBzY2VuYXJpbyBpbiBhIGNsb3VkLgo+Cj4g
V291bGQgaXQgYmUgcG9zc2libGUsIHRvIGltcGxlbWVudCB0aGlzIGlkZWEgYXMgYW4gYWRkaXRp
b25hbCBjb25maWd1cmF0aW9uIG1ldGhvZCB0byB0aGUgZmVuY2VfZWMyIGFnZW50Pwo+Cj4gQ2hl
ZXJzLAo+IE1hcmt1cwo+Cj4+Pj4g5p2x5LiA5b2mIDxoaWdhc2hpLmthenVoaWtvQGxhYi5udHQu
Y28uanA+IDMvMTIvMjAxNSAxMDo0NCBBTSA+Pj4KPiBIaSBEZWphbgo+Cj4gVGhhbmsgeW91IGZv
ciBhZGQgaXQgYW5kIHRoZSBmaXggc29tZSBpc3N1ZXMgIQo+Cj4KPiAgID4gSSB3YXMgbm90IGFi
bGUgdG8gdGVzdCBpdCwgaG9wZSBpdCB3b3JrcyA6KQo+IEkgY29uZmlybWVkIHRoYXQgaXQgd29y
a3MgZmluZSBpbiBteSBBV1MgZW52aXJvbm1lbnQgOikKPgo+Cj4gUmVnYXJkcywKPiBLYXp1aGlr
byBIaWdhc2hpCj4KPiBPbiAyMDE1LzAzLzExIDIxOjI3LCBEZWphbiBNdWhhbWVkYWdpYyB3cm90
ZToKPj4gSGkgS2F6dWhpa28tc2FuLAo+Pgo+PiBPbiBXZWQsIE1hciAxMSwgMjAxNSBhdCAwMjoz
Njo0M1BNICswOTAwLCDmnbHkuIDlvaYgd3JvdGU6Cj4+PiBIaSwgRGVqYW4KPj4+Cj4+PiBUaGFu
ayB5b3UgZm9yIHRoZSBjb21tZW50Lgo+Pj4KPj4+IEknZCBsaWtlIHRvIGNvbnRyaWJ1dGUgaXQg
YXMgZ2x1ZSBzdG9uaXRoIGFnZW50cy4KPj4+Cj4+PiBTbywgSSByZW5hbWUgaXQgdG8ganVzdCAi
ZWMyIi4KPj4+Cj4+PiBXb3VsZCB5b3UgcGxlYXNlIGFkZCBpdCB0byBnbHVlIHJlcG9zaXRvcnkg
KGh0dHA6Ly9oZy5saW51eC1oYS5vcmcvZ2x1ZS8pID8KPj4KPj4gSSBqdXN0IGFkZGVkIHlvdXIg
c3Rvbml0aCBhZ2VudC4gVGhlcmUgd2VyZSB0aGlzIGNoYW5nZSBpbiB0aGUKPj4gaW5pdGlhbCBj
aGFuZ2VzZXQ6Cj4+Cj4+IC0gcmVwbGFjZWQgJy0nIHdoaWNoIGlzIG5vdCBhbGxvd2VkIGluIGlk
ZW50aWZpZXJzIHdpdGggJ18nIGluCj4+ICAgICBmdW5jdGlvbiBnZXRpbmZvX3htbCgpLgo+Pgo+
PiBUaGVyZSB3ZXJlIG90aGVyIHNtYWxsZXIgY2hhbmdlcy4gWW91IGNhbiBmaW5kIHRoZW0gaW4g
dGhlCj4+IHJlcG9zaXRvcnkuCj4+Cj4+IEkgd2FzIG5vdCBhYmxlIHRvIHRlc3QgaXQsIGhvcGUg
aXQgd29ya3MgOikKPj4KPj4gTWFueSB0aGFua3MgZm9yIHRoZSBjb250cmlidXRpb24uCj4+Cj4+
IENoZWVycywKPj4KPj4gRGVqYW4KPj4KPj4+IFJlZ2FyZHMsCj4+PiBLYXp1aGlrbyBIaWdhc2hp
Cj4+Pgo+Pj4gT24gMjAxNS8wMy8wNiAyOjM4LCBEZWphbiBNdWhhbWVkYWdpYyB3cm90ZToKPj4+
PiBIaSwKPj4+Pgo+Pj4+IE9uIFR1ZSwgTWFyIDAzLCAyMDE1IGF0IDA1OjEzOjQ5UE0gKzA5MDAs
IOadseS4gOW9piB3cm90ZToKPj4+Pj4gRGVhciBNYXJrdXMsCj4+Pj4+Cj4+Pj4+IEkgd2FzIGFs
c28gdGhpbmtpbmcgdGhlIHNhbWUgdGhpbmcuCj4+Pj4+IFNvLCBBbHJlYWR5IEkndmUgY3JlYXRl
ZCBhIG5ldyBvbmUuCj4+Pj4KPj4+PiBQZXJoYXBzIHlvdSdkIGxpa2UgdG8gdGhlbiBjb250cmli
dXRlIGl0IHVwc3RyZWFtPyBFaXRoZXIgdG8KPj4+PiBnbHVlIHN0b25pdGggYWdlbnRzIG9yIFJI
VCBmZW5jaW5nIGFnZW50cy4gSXQgYXBwZWFycyB0aGF0IHRoZQo+Pj4+IGFnZW50IGlzIHVzaW5n
IHRoZSBzdG9uaXRoIGludGVyZmFjZSwgYnV0IHRoZSBuYW1lIHJlZmxlY3RzIHRoZQo+Pj4+IGZl
bmNpbmcgYWdlbnRzIG5hbWluZyBzY2hlbWUuCj4+Pj4KPj4+PiBDaGVlcnMsCj4+Pj4KPj4+PiBE
ZWphbgo+Pj4+Cj4+Pj4+IFtDaGFuZ2VTZXRdCj4+Pj4+IC0gQW4gQVBJIHRvIGJlIHVzZWQgd2Fz
IGNoYW5nZWQgZnJvbSAiQW1hem9uIEVDMiBDTEkiIHRvICJBV1MgQ0xJIi4KPj4+Pj4gICAgIC0t
ICJBV1MgQ0xJIiBpcyBiYXNlZCBQeXRob24uIFNvLCBDUFUgbG9hZCBtaWdodCBiZSByZWR1Y2Vk
Lgo+Pj4+Pgo+Pj4+PiAtIFRoZSAiLS1wcml2YXRlLWtleSIgYW5kICItLWNlcnQiIG9wdGlvbnMg
YXJlIGRlcHJlY2F0ZWQgaW4gQVdTIENMSS4KPj4+Pj4gICAgIFNvLCBJIGFkZCBhIG5ldyBvcHRp
b24gIi0tcHJvZmlsZSIuIFVzZSBhIHNwZWNpZmljIHByb2ZpbGUgZnJvbSB0aGF0IGNyZWRlbnRp
YWwgZmlsZS4KPj4+Pj4gICAgIGRlZmF1bHQgaXMgIiIKPj4+Pj4KPj4+Pj4KPj4+Pj4gW0hvdyB0
byB1c2VdCj4+Pj4+IC0gUGxhZXNlIGluc3RhbGwgdGhlICJBV1MgQ0xJIi4KPj4+Pj4gICAgIGh0
dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NsaS9sYXRlc3QvdXNlcmd1aWRlL2NsaS1jaGFwLWdl
dHRpbmctc3RhcnRlZC5odG1sCj4+Pj4+Cj4+Pj4+IC0gUGxlYXNlIGNvcHkgdGhlIGZlbmNlX2Vj
MiBpbiAvdXNyL2xpYjY0L3N0b25pdGgvcGx1Z2lucy9leHRlcm5hbC8uCj4+Pj4+ICAgICBBbmQg
LCBQbGVhc2Ugc2V0IHRoZSBwZXJtaXNzaW9ucyB0byA3NTUuCj4+Pj4+Cj4+Pj4+IC0gUGxlYXNl
IHNldCBjcm0gc2V0dGluZ3MgYXMgaW4gdGhpcyBleGFtcGxlLgo+Pj4+PiAgICAgLSBUaGUgaW5z
dGFuY2UgdGhhdCBoYXZlIGJlZW4gc2V0IGFzICJub2RlMDEiIGluIHRoZSAiTmFtZSIgdGFnIGFy
ZSBmZW5jZS4KPj4+Pj4gICAgIC0tLS0tLQo+Pj4+PiAgICAgcHJpbWl0aXZlIHBybVN0b25pdGgx
LTIgc3Rvbml0aDpleHRlcm5hbC9mZW5jZV9lYzIgXAkJCj4+Pj4+IAlwYXJhbXMgXAkKPj4+Pj4g
CQlwY21rX29mZl90aW1lb3V0PSIzMDBzIiBcCj4+Pj4+IAkJcG9ydD0ibm9kZTAxIiBcCj4+Pj4+
IAkJdGFnPSJOYW1lIgo+IFwKPj4+Pj4gCW9wIHN0YXJ0IGludGVydmFsPSIwcyIgdGltZW91dD0i
NjBzIiBcCQo+Pj4+PiAJb3AgbW9uaXRvciBpbnRlcnZhbD0iMzYwMHMiIHRpbWVvdXQ9IjYwcyIg
XAkKPj4+Pj4gCW9wIHN0b3AgaW50ZXJ2YWw9IjBzIiB0aW1lb3V0PSI2MHMiCQo+Pj4+PiAgICAg
LS0tLS0tCj4+Pj4+Cj4+Pj4+Cj4+Pj4+IFJlZ2FyZHMsCj4+Pj4+IEthenVoaWtvIEhpZ2FzaGkK
Pj4+Pj4KPj4+Pj4gT24gMjAxNS8wMi8yNSA3OjIyLCBNYXJrdXMgR3VlcnRsZXIgd3JvdGU6Cj4+
Pj4+PiBEZWFyIGxpc3QsCj4+Pj4+PiBJIHdhcyBqdXN0IHRyeWluZyB0byBjb25maWd1cmUgdGhl
IGZlbmNlX2VjMiBzdG9uaXRoIGFnZW50IGZyb20gMjAxMiwgd3JpdHRlbiBieSBBbmRyZXcgQmVl
a2hvZi4gSXQgbG9va3MgbGlrZSwKPiB0aGF0IHRoaXMgb25lIG5vdCB3b3JraW5nIGFueW1vcmUg
d2l0aCBuZXdlciBzdG9uaXRoIC8gY2x1c3RlciB2ZXJzaW9ucy4gSXMgdGhlcmUgYW55IG90aGVy
IEVDMiBhZ2VudCwgdGhhdCBpcyBzdGlsbAo+IG1haW50YWluZWQ/Cj4+Pj4+Pgo+Pj4+Pj4gSWYg
bm90LCBJJ2xsIHdyaXRlIG9uZSBteXNlbGYuIEhvd2V2ZXIsIEknZCBsaWtlIHRvIGNoZWNrIGFs
bCBvcHRpb25zIGZpcnN0Lgo+Pj4+Pj4KPj4+Pj4+IENoZWVycywKPj4+Pj4+IE1hcmt1cwo+Pj4+
Pj4KPj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Cj4+Pj4+PiBMaW51eC1IQSBtYWlsaW5nIGxpc3QKPj4+Pj4+IExpbnV4LUhBQGxpc3RzLmxpbnV4
LWhhLm9yZwo+Pj4+Pj4gaHR0cDovL2xpc3RzLmxpbnV4LWhhLm9yZy9tYWlsbWFuL2xpc3RpbmZv
L2xpbnV4LWhhCj4+Pj4+PiBTZWUgYWxzbzogaHR0cDovL2xpbnV4LWhhLm9yZy9SZXBvcnRpbmdQ
cm9ibGVtcwo+Pj4+Pj4KPj4+Pj4KPj4+Pj4KPj4KPj4+ICMhL2Jpbi9iYXNoCj4+Pgo+Pj4gZGVz
Y3JpcHRpb249Igo+Pj4gZmVuY2VfZWMyIGlzIGFuIEkvTyBGZW5jaW5nIGFnZW50IHdoaWNoIGNh
biBiZSB1c2VkIHdpdGggQW1hem9uIEVDMiBpbnN0YW5jZXMuCj4+Pgo+Pj4gQVBJIGZ1bmN0aW9u
cyB1c2VkIGJ5IHRoaXMgYWdlbnQ6Cj4+PiAtIGF3cyBlYzIgZGVzY3JpYmUtdGFncwo+Pj4gLSBh
d3MgZWMyIGRlc2NyaWJlLWluc3RhbmNlcwo+Pj4gLSBhd3MgZWMyIHN0b3AtaW5zdGFuY2VzCj4+
PiAtIGF3cyBlYzIgc3RhcnQtaW5zdGFuY2VzCj4+PiAtIGF3cyBlYzIgcmVib290LWluc3RhbmNl
cwo+Pj4KPj4+IElmIHRoZSB1bmFtZSB1c2VkIGJ5IHRoZSBjbHVzdGVyIG5vZGUgaXMgYW55IG9m
Ogo+Pj4gICAgLSBQdWJsaWMgRE5TIG5hbWUgKG9yIHBhcnQgdGhlcmUgb2YpLAo+Pj4gICAgLSBQ
cml2YXRlIEROUyBuYW1lIChvciBwYXJ0IHRoZXJlIG9mKSwKPj4+ICAgIC0gSW5zdGFuY2UgSUQg
KGVnLiBpLTRmMTVhODM5KQo+Pj4gICAgLSBDb250ZW50cyBvZiB0YWcgYXNzb2NpYXRlZCB3aXRo
IHRoZSBpbnN0YW5jZQo+Pj4gdGhlbiB0aGUgYWdlbnQgc2hvdWxkIGJlIGFibGUgdG8gYXV0b21h
dGljYWxseSBkaXNjb3ZlciB0aGUgaW5zdGFuY2VzIGl0IGNhbiBjb250cm9sLgo+Pj4KPj4+IElm
IHRoZSB0YWcgY29udGFpbmluZyB0aGUgdW5hbWUgaXMgbm90IFtOYW1lXSwgdGhlbiBpdCB3aWxs
IG5lZWQgdG8gYmUgc3BlY2lmaWVkIHVzaW5nIHRoZSBbdGFnXSBvcHRpb24uCj4+PiAiCj4+Pgo+
Pj4gIwo+Pj4gIyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxMyBBbmRyZXcgQmVla2hvZgo+Pj4gIyBD
b3B5cmlnaHQgKGMpIDIwMTQgTklQUE9OIFRFTEVHUkFQSCBBTkQgVEVMRVBIT05FIENPUlBPUkFU
SU9OCj4+PiAjICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkLgo+Pj4gIwo+
Pj4gIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQo+Pj4gIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdmVyc2lvbiAyIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+Pj4gIyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPj4+ICMKPj4+ICMgVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLCBidXQKPj4+ICMg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
Zgo+Pj4gIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuCj4+PiAjCj4+PiAjIEZ1cnRoZXIsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgd2l0
aG91dCBhbnkgd2FycmFudHkgdGhhdCBpdCBpcwo+Pj4gIyBmcmVlIG9mIHRoZSByaWdodGZ1bCBj
bGFpbSBvZiBhbnkgdGhpcmQgcGVyc29uIHJlZ2FyZGluZyBpbmZyaW5nZW1lbnQKPj4+ICMgb3Ig
dGhlIGxpa2UuICBBbnkgbGljZW5zZSBwcm92aWRlZCBoZXJlaW4sIHdoZXRoZXIgaW1wbGllZCBv
cgo+Pj4gIyBvdGhlcndpc2UsIGFwcGxpZXMgb25seSB0byB0aGlzIHNvZnR3YXJlIGZpbGUuICBQ
YXRlbnQgbGljZW5zZXMsIGlmCj4+PiAjIGFueSwgcHJvdmlkZWQgaGVyZWluIGRvIG5vdCBhcHBs
eSB0byBjb21iaW5hdGlvbnMgb2YgdGhpcyBwcm9ncmFtIHdpdGgKPj4+ICMgb3RoZXIgc29mdHdh
cmUsIG9yIGFueSBvdGhlciBwcm9kdWN0IHdoYXRzb2V2ZXIuCj4+PiAjCj4+PiAjIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Cj4+PiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sCj4+PiAjIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwgQm9zdG9uIE1BIDAyMTExLTEzMDcsIFVTQS4KPj4+ICMKPj4+ICMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4+
Pgo+Pj4gcXVpZXQ9MAo+Pj4gcG9ydF9kZWZhdWx0PSIiCj4+Pgo+Pj4gaW5zdGFuY2Vfbm90X2Zv
dW5kPTAKPj4+IHVua25vd25fYXJlX3N0b3BwZWQ9MAo+Pj4KPj4+IGFjdGlvbl9kZWZhdWx0PSJy
ZXNldCIgICAgICAgICAjIERlZmF1bHQgZmVuY2UgYWN0aW9uCj4+PiBlYzJfdGFnX2RlZmF1bHQ9
Ik5hbWUiCSAgICAgICAjIEVDMiBUYWcgY29udGFpbmluZyB0aGUgaW5zdGFuY2UncyB1bmFtZQo+
Pj4KPj4+IHNsZWVwX3RpbWU9IjEiCj4+Pgo+Pj4gZWMyX3RhZz0ke3RhZ30KPj4+Cj4+PiA6ICR7
ZWMyX3RhZz0ke2VjMl90YWdfZGVmYXVsdH19Cj4+PiA6ICR7cG9ydD0ke3BvcnRfZGVmYXVsdH19
Cj4+Pgo+Pj4gZnVuY3Rpb24gdXNhZ2UoKQo+Pj4gewo+Pj4gY2F0IDw8RU9GCj4+PiBgYmFzZW5h
bWUgJDBgIC0gQSBmZW5jaW5nIGFnZW50IGZvciBBbWF6b24gRUMyIGluc3RhbmNlcwo+Pj4KPj4+
ICRkZXNjcmlwdGlvbgo+Pj4KPj4+IFVzYWdlOiBgYmFzZW5hbWUgJDBgIC1vfC0tYWN0aW9uIFst
bnwtLXBvcnRdIFtvcHRpb25zXQo+Pj4gT3B0aW9uczoKPj4+ICAgIC1oLCAtLWhlbHAgCQlUaGlz
IHRleHQKPj4+ICAgIC1WLCAtLXZlcnNpb24JCVZlcnNpb24gaW5mb3JtYXRpb24KPj4+ICAgIC1x
LCAtLXF1aWV0IAkJUmVkdWNlZCBvdXRwdXQgbW9kZQo+Pj4KPj4+IENvbW1hbmRzOgo+Pj4gICAg
LW8sIC0tYWN0aW9uCQlBY3Rpb24gdG8gcGVyZm9ybTogb258b2ZmfHJlYm9vdHxzdGF0dXN8bW9u
aXRvcgo+Pj4gICAgLW4sIC0tcG9ydCAJCVRoZSBuYW1lIG9mIGEgbWFjaGluZS9pbnN0YW5jZSB0
byBjb250cm9sL2NoZWNrCj4+Pgo+Pj4gQWRkaXRpb25hbCBPcHRpb25zOgo+Pj4gICAgLXAsIC0t
cHJvZmlsZQkJVXNlIGEgc3BlY2lmaWMgcHJvZmlsZSBmcm9tIHlvdXIgY3JlZGVudGlhbCBmaWxl
Lgo+Pj4gICAgLXQsIC0tdGFnIAkJTmFtZSBvZiB0aGUgdGFnIGNvbnRhaW5pbmcgdGhlIGluc3Rh
bmNlJ3MgdW5hbWUKPj4+Cj4+PiBEYW5nZXJvdXMgb3B0aW9uczoKPj4+ICAgIC1VLCAtLXVua25v
d24tYXJlLXN0b3BwZWQgCUFzc3VtZSBhbnkgdW5rbm93biBpbnN0YW5jZSBpcyBzYWZlbHkgc3Rv
cHBlZAo+Pj4KPj4+IEVPRgo+Pj4KPiAgICAgZXhpdCAwOwo+Pj4gfQo+Pj4KPj4+IGZ1bmN0aW9u
IGdldGluZm8teG1sKCkKPj4+IHsKPj4+IAljYXQgPDxFT0YKPj4+IDxwYXJhbWV0ZXJzPgo+Pj4g
CTxwYXJhbWV0ZXIgbmFtZT0icG9ydCIgdW5pcXVlPSIxIiByZXF1aXJlZD0iMSI+Cj4+PiAJCTxj
b250ZW50IHR5cGU9InN0cmluZyIgLz4KPj4+IAkJPHNob3J0ZGVzYyBsYW5nPSJlbiI+VGhlIG5h
bWUvaWQvdGFnIG9mIGEgaW5zdGFuY2UgdG8gY29udHJvbC9jaGVjazwvc2hvcnRkZXNjPgo+Pj4g
CTwvcGFyYW1ldGVyPgo+Pj4gCTxwYXJhbWV0ZXIgbmFtZT0icHJvZmlsZSIgdW5pcXVlPSIwIiBy
ZXF1aXJlZD0iMCI+Cj4+PiAJCTxjb250ZW50IHR5cGU9InN0cmluZyIgZGVmYXVsdD0iZGVmYXVs
dCIgLz4KPj4+IAkJPHNob3J0ZGVzYyBsYW5nPSJlbiI+VXNlIGEgc3BlY2lmaWMgcHJvZmlsZSBm
cm9tIHlvdXIgY3JlZGVudGlhbCBmaWxlLjwvc2hvcnRkZXNjPgo+Pj4gCTwvcGFyYW1ldGVyPgo+
Pj4gCTxwYXJhbWV0ZXIgbmFtZT0idGFnIiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIxIj4KPj4+IAkJ
PGNvbnRlbnQgdHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJOYW1lIiAvPgo+Pj4gCQk8c2hvcnRkZXNj
IGxhbmc9ImVuIj5OYW1lIG9mIHRoZSB0YWcgY29udGFpbmluZyB0aGUgaW5zdGFuY2VzIHVuYW1l
PC9zaG9ydGRlc2M+Cj4+PiAJPC9wYXJhbWV0ZXI+Cj4+PiAJPHBhcmFtZXRlciBuYW1lPSJ1bmtu
b3duX2FyZV9zdG9wcGVkIiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIwIj4KPj4+IAkJPGNvbnRlbnQg
dHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJmYWxzZSIgLz4KPj4+IAkJPHNob3J0ZGVzYyBsYW5nPSJl
biI+REFOR0VSOiBBc3N1bWUgYW55IHVua25vd24gaW5zdGFuY2UgaXMgc2FmZWx5IHN0b3BwZWQ8
L3Nob3J0ZGVzYz4KPj4+IAk8L3BhcmFtZXRlcj4KPj4+IDwvcGFyYW1ldGVycz4KPj4+IEVPRgo+
Pj4gCWV4aXQgMDsKPj4+IH0KPj4+Cj4+PiBmdW5jdGlvbiBtZXRhZGF0YSgpCj4+PiB7Cj4+PiAJ
Y2F0IDw8RU9GCj4+PiA8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cj4+PiA8cmVzb3VyY2UtYWdlbnQg
bmFtZT0iZmVuY2VfZWMyIiBzaG9ydGRlc2M9IkZlbmNpbmcgYWdlbnQgZm9yIEFtYXpvbiBFQzIg
aW5zdGFuY2VzIiA+Cj4+PiAJPGxvbmdkZXNjPgo+Pj4gJGRlc2NyaXB0aW9uCj4+PiAJPC9sb25n
ZGVzYz4KPj4+IAk8cGFyYW1ldGVycz4KPj4+IAk8cGFyYW1ldGVyIG5hbWU9ImFjdGlvbiIgdW5p
cXVlPSIwIiByZXF1aXJlZD0iMSI+Cj4+PiAJCTxnZXRvcHQgbWl4ZWQ9Ii1vLCAtLWFjdGlvbj1b
YWN0aW9uXSIgLz4KPj4+IAkJPGNvbnRlbnQgdHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJyZWJvb3Qi
IC8+Cj4+PiAJCTxzaG9ydGRlc2MgbGFuZz0iZW4iPkZlbmNpbmcgQWN0aW9uPC9zaG9ydGRlc2M+
Cj4+PiAJPC9wYXJhbWV0ZXI+Cj4+PiAJPHBhcmFtZXRlciBuYW1lPSJwb3J0IiB1bmlxdWU9IjEi
IHJlcXVpcmVkPSIxIj4KPj4+IAkJPGdldG9wdCBtaXhlZD0iLW4sIC0tcG9ydD1bcG9ydF0iIC8+
Cj4+PiAJCTxjb250ZW50IHR5cGU9InN0cmluZyIgLz4KPj4+IAkJPHNob3J0ZGVzYyBsYW5nPSJl
biI+VGhlIG5hbWUvaWQvdGFnIG9mIGEgaW5zdGFuY2UgdG8gY29udHJvbC9jaGVjazwvc2hvcnRk
ZXNjPgo+Pj4gCTwvcGFyYW1ldGVyPgo+Pj4gCTxwYXJhbWV0ZXIgbmFtZT0icHJvZmlsZSIgdW5p
cXVlPSIwIiByZXF1aXJlZD0iMCI+Cj4+PiAJCTxnZXRvcHQgbWl4ZWQ9Ii1wLCAtLXByb2ZpbGU9
W3Byb2ZpbGVdIiAvPgo+Pj4gCQk8Y29udGVudCB0eXBlPSJzdHJpbmciIGRlZmF1bHQ9ImRlZmF1
bHQiIC8+Cj4+PiAJCTxzaG9ydGRlc2MgbGFuZz0iZW4iPlVzZSBhIHNwZWNpZmljIHByb2ZpbGUg
ZnJvbSB5b3VyIGNyZWRlbnRpYWwgZmlsZS48L3Nob3J0ZGVzYz4KPj4+IAk8L3BhcmFtZXRlcj4K
Pj4+IAk8cGFyYW1ldGVyIG5hbWU9InRhZyIgdW5pcXVlPSIwIiByZXF1aXJlZD0iMSI+Cj4+PiAJ
CTxnZXRvcHQgbWl4ZWQ9Ii10LCAtLXRhZz1bdGFnXSIgLz4KPj4+IAkJPGNvbnRlbnQgdHlwZT0i
c3RyaW5nIiBkZWZhdWx0PSJOYW1lIiAvPgo+Pj4gCQk8c2hvcnRkZXNjIGxhbmc9ImVuIj5OYW1l
IG9mIHRoZSB0YWcgY29udGFpbmluZyB0aGUgaW5zdGFuY2VzIHVuYW1lPC9zaG9ydGRlc2M+Cj4+
PiAJPC9wYXJhbWV0ZXI+Cj4+PiAJPHBhcmFtZXRlciBuYW1lPSJ1bmtub3duLWFyZS1zdG9wcGVk
IiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIwIj4KPj4+IAkJPGdldG9wdCBtaXhlZD0iLVUsIC0tdW5r
bm93bi1hcmUtc3RvcHBlZCIgLz4KPj4+IAkJPGNvbnRlbnQgdHlwZT0ic3RyaW5nIiBkZWZhdWx0
PSJmYWxzZSIgLz4KPj4+IAkJPHNob3J0ZGVzYyBsYW5nPSJlbiI+REFOR0VSOiBBc3N1bWUgYW55
IHVua25vd24gaW5zdGFuY2UgaXMgc2FmZWx5IHN0b3BwZWQ8L3Nob3J0ZGVzYz4KPj4+IAk8L3Bh
cmFtZXRlcj4KPj4+IAk8L3BhcmFtZXRlcnM+Cj4+PiAJPGFjdGlvbnM+Cj4+PiAJPGFjdGlvbiBu
YW1lPSJvbiIgLz4KPj4+IAk8YWN0aW9uIG5hbWU9Im9mZiIgLz4KPj4+IAk8YWN0aW9uIG5hbWU9
InJlYm9vdCIgLz4KPj4+IAk8YWN0aW9uIG5hbWU9InN0YXR1cyIgLz4KPj4+IAk8YWN0aW9uIG5h
bWU9Imxpc3QiIC8+Cj4+PiAJPGFjdGlvbiBuYW1lPSJtb25pdG9yIiAvPgo+Pj4gCTxhY3Rpb24g
bmFtZT0ibWV0YWRhdGEiIC8+Cj4+PiAJPC9hY3Rpb25zPgo+Pj4gPC9yZXNvdXJjZS1hZ2VudD4K
Pj4+IEVPRgo+Pj4gCWV4aXQgMDsKPj4+IH0KPj4+Cj4+PiBmdW5jdGlvbiBpbnN0YW5jZV9mb3Jf
cG9ydCgpCj4+PiB7Cj4+PiAJbG9jYWwgcG9ydD0kMQo+Pj4gCWxvY2FsIGluc3RhbmNlPSIiCj4+
Pgo+Pj4gCSMgTG9vayBmb3IgcG9ydCBuYW1lIC1uIGluIHRoZSBJTlNUQU5DRSBkYXRhCj4+PiAJ
aW5zdGFuY2U9YGF3cyBlYzIgZGVzY3JpYmUtaW5zdGFuY2VzICRvcHRpb25zIHwgZ3JlcCAiXklO
U1RBTkNFU1tbOnNwYWNlOl1dLipbWzpzcGFjZTpdXSRwb3J0W1s6c3BhY2U6XV0iIHwgYXdrCj4g
J3twcmludCAkOH0nYAo+Pj4gCWlmIFsgLXogJGluc3RhbmNlIF07IHRoZW4KPj4+IAkJIyBMb29r
IGZvciBwb3J0IG5hbWUgLW4gaW4gdGhlIE5hbWUgVEFHCj4+PiAJCWluc3RhbmNlPWBhd3MgZWMy
IGRlc2NyaWJlLXRhZ3MgJG9wdGlvbnMgfCBncmVwCj4gIl5UQUdTW1s6c3BhY2U6XV0kZWMyX3Rh
Z1tbOnNwYWNlOl1dLipbWzpzcGFjZTpdXWluc3RhbmNlW1s6c3BhY2U6XV0kcG9ydCQiIHwgYXdr
ICd7cHJpbnQgJDN9J2AKPj4+IAlmaQo+Pj4KPj4+IAlpZiBbIC16ICRpbnN0YW5jZSBdOyB0aGVu
Cj4+PiAJCWluc3RhbmNlX25vdF9mb3VuZD0xCj4+PiAJCWluc3RhbmNlPSRwb3J0Cj4+PiAJZmkK
Pj4+Cj4+PiAJZWNobyAkaW5zdGFuY2UKPj4+IH0KPj4+Cj4+PiBmdW5jdGlvbiBpbnN0YW5jZV9v
bigpCj4+PiB7Cj4+PiAJYXdzIGVjMiBzdGFydC1pbnN0YW5jZXMgJG9wdGlvbnMgLS1pbnN0YW5j
ZS1pZHMgJGluc3RhbmNlCj4+PiB9Cj4+Pgo+Pj4gZnVuY3Rpb24gaW5zdGFuY2Vfb2ZmKCkKPj4+
IHsKPj4+IAlpZiBbICR1bmtub3duX2FyZV9zdG9wcGVkID0gMSAtYSAkaW5zdGFuY2Vfbm90X2Zv
dW5kIF07IHRoZW4KPj4+IAkJOiBub3RoaW5nIHRvIGRvCj4+PiAJCWhhX2xvZy5zaCBpbmZvICJB
c3N1bWluZyB1bmtub3duIGluc3RhbmNlICRpbnN0YW5jZSBpcyBhbHJlYWR5IG9mZiIKPj4+IAll
bHNlCj4+PiAJCWF3cyBlYzIgc3RvcC1pbnN0YW5jZXMgJG9wdGlvbnMgLS1pbnN0YW5jZS1pZHMg
JGluc3RhbmNlIC0tZm9yY2UKPj4+IAlmaQo+Pj4gfQo+Pj4KPj4+IGZ1bmN0aW9uIGluc3RhbmNl
X3N0YXR1cygpCj4+PiB7Cj4+PiAJbG9jYWwgaW5zdGFuY2U9JDEKPj4+IAlsb2NhbCBzdGF0dXM9
InVua25vd24iCj4+PiAJbG9jYWwgcmM9MQo+Pj4KPj4+IAkjIExpc3Qgb2YgaW5zdGFuY2VzIGFu
ZCB0aGVpciBjdXJyZW50IHN0YXR1cwo+Pj4gCWlmIFsgJHVua25vd25fYXJlX3N0b3BwZWQgPSAx
IC1hICRpbnN0YW5jZV9ub3RfZm91bmQgXTsgdGhlbgo+Pj4gCQloYV9sb2cuc2ggaW5mbyAiJGlu
c3RhbmNlIHN0b3BwZWQgKHVua25vd24pIgo+Pj4gCWVsc2UKPj4+IAkJc3RhdHVzPWBhd3MgZWMy
IGRlc2NyaWJlLWluc3RhbmNlCj4gcyAkb3B0aW9ucyAtLWluc3RhbmNlLWlkcyAkaW5zdGFuY2Ug
fCBhd2sgJ3sKPj4+IAkJCWlmICgvXlNUQVRFwqV0LykgeyBwcmludGYgIiVzIiwgJDMgfQo+Pj4g
CQkJfSdgCj4+PiAJCXJjPSQ/Cj4+PiAJZmkKPj4+IAloYV9sb2cuc2ggaW5mbyAic3RhdHVzIGNo
ZWNrIGZvciAkaW5zdGFuY2UgaXMgJHN0YXR1cyIKPj4+IAllY2hvICRzdGF0dXMKPj4+IAlyZXR1
cm4gJHJjCj4+PiB9Cj4+Pgo+Pj4KPj4+IFRFTVA9YGdldG9wdCAtbyBxVmhvOmU6cDpuOnQ6VSAt
LWxvbmcgdmVyc2lvbixoZWxwLGFjdGlvbjoscG9ydDosb3B0aW9uOixwcm9maWxlOix0YWc6LHF1
aWV0LHVua25vd24tYXJlLXN0b3BwZWQgwqUKPj4+ICAgICAgICAtbiAnZmVuY2VfZWMyJyAtLSAi
JEAiYAo+Pj4KPj4+IGlmIFsgJD8gIT0gMCBdO3RoZW4KPj4+ICAgICAgIHVzYWdlCj4+PiAgICAg
ICBleGl0IDEKPj4+IGZpCj4+Pgo+Pj4gIyBOb3RlIHRoZSBxdW90ZXMgYXJvdW5kIGAkVEVNUCc6
IHRoZXkgYXJlIGVzc2VudGlhbCEKPj4+IGV2YWwgc2V0IC0tICIkVEVNUCIKPj4+Cj4+PiBpZiBb
IC16ICQxIF07IHRoZW4KPj4+IAkjIElmIHRoZXJlIGFyZSBubyBjb21tYW5kIGxpbmUgYXJncywg
bG9vayBmb3Igb3B0aW9ucyBmcm9tIHN0ZGluCj4+PiAJd2hpbGUgcmVhZCBsaW5lOyBkbwo+Pj4g
CQljYXNlICRsaW5lIGluCj4+PiAJCQlvcHRpb249KnxhY3Rpb249KikgYWN0aW9uPWBlY2hvICRs
aW5lIHwgc2VkIHMvLio9Ly9gOzsKPj4+IAkJCXBvcnQ9KikgICAgICAgIHBvcnQ9YGVjaG8gJGxp
bmUgfCBzZWQgcy8uKj0vL2A7Owo+Pj4gCQkJcHJvZmlsZT0qKSAgICAgZWMyX3Byb2ZpbGU9YGVj
aG8gJGxpbmUgfCBzZWQgcy8uKj0vL2A7Owo+Pj4gCQkJdGFnPSopICAgICAgICAgZWMyX3RhZz1g
ZWNobyAkbGluZSB8IHNlZCBzLy4qPS8vYDs7Cj4+PiAJCQlxdWlldCopICAgICAgICBxdWlldD0x
OzsKPj4+IAkJCXVua25vd24tYXJlLXN0b3BwZWQqKSB1bmtub3duX2FyZV9zdG9wcGVkPTE7Owo+
Pj4gCQkJLS0pOzsKPj4+IAkJCSopIGhhX2xvZy5zaCBlcnIgIkludmFsaWQgY29tbWFuZDogJGxp
bmUiOzsKPj4+IAkJZXNhYwo+Pj4gCWRvbmUKPj4+IGZpCj4+Pgo+Pj4gd2hpbGUgdHJ1ZSA7IGRv
Cj4+PiAJY2FzZSAiJDEiIGluCj4+PiAJCS1vfC0tYWN0aW9ufC0tb3B0aW9uKSBhY3Rpb249JDI7
ICAgc2hpZnQ7IHNoaWZ0OzsKPj4+IAkJLW58LS1wb3J0KSAgICAgICAgICAgIHBvcnQ9JDI7ICAg
ICBzaGlmdDsgc2hpZnQ7Owo+Pj4gCQktcHwtLXByb2ZpbGUpICAgICAgICAgZWMyX3Byb2ZpbGU9
JDI7IHNoaWZ0OyBzaGlmdDs7Cj4+PiAJCS10fC0tdGFnKQkgICAgICBlYzJfdGFnPSQyOyBzaGlm
dDsgc2hpZnQ7Owo+Pj4gCQktVXwtLXVua25vd24tYXJlLXN0b3BwZWQpIHVua25vd25fYXJlX3N0
b3BwZWQ9MTsgc2hpZnQ7Owo+Pj4gCQktcXwtLXF1aWV0KSBxdWlldD0xOyBzaGlmdDs7Cj4+PiAJ
CS1WfC0tdmVyc2lvbikgZWNobyAiMS4wLjAiOyBleGl0IDA7Owo+Pj4gCQktLWhlbHB8LWgpCj4+
PiAJCQl1c2FnZTsKPj4+IAkJCWV4aXQgMDs7Cj4+PiAJCS0tKSBzaGlmdCA7IGJyZWFrIDs7Cj4+
PiAJCSopIGhhX2xvZy5zaCBlcnIgIlVua25vd24gb3B0aW9uOiAkMS4gU2VlIC0taGVscCBmb3Ig
ZGV0YWlscy4iOyBleGl0IDE7Owo+Pj4gCWVzYWMKPj4+IGRvbmUKPj4+Cj4+PiBbIC1uICIkMSIg
XSAmJiBhY3Rpb249JDEKPj4+Cj4+PiBpZiBbIC16ICIkZWMyX3Byb2ZpbGUiXTsgdGhlbgo+Pj4g
CW9wdGlvbnM9Ii0tb3V0cHV0IHRleHQgLS1wcm9maWxlIGRlZmF1bHQiCj4+PiBlbHNlCj4+PiAJ
b3B0aW9ucz0iLS1vdXRwdXQgdGV4dCAtLXByb2ZpbGUgJGVjMl9wcm9maWxlICIKPj4+IGZpCj4+
Pgo+Pj4gYWN0aW9uPWBlY2hvICRhY3Rpb24gfCB0ciAnQS1aJyAnYS16J2AKPj4+Cj4+PiBjYXNl
ICRhY3Rpb24gaW4KPj4+IAltZXRhZGF0YSkKPj4+IAkJbWV0YWRhdGEKPj4+IAk7Owo+Pj4gCWdl
dGluZm8teG1sKQo+Pj4gCQlnZXRpbmZvLXhtbAo+Pj4gCTs7Cj4+PiAJZ2V0Y29uZmlnbmFtZXMp
Cj4+PiAJCWZvciBpIGluIHByb2ZpbGUgcG9ydCB0YWcKPj4+IAkJZG8KPj4+IAkJCWVjaG8gJGkK
Pj4+IAkJZG9uZQo+Pj4gCQlleGl0IDAKPj4+IAk7Owo+Pj4gCWdldGluZm8tZGV2aWQpCj4+PiAJ
CWVjaG8gIkVDMiBTVE9OSVRIIGRldmljZSIKPj4+IAkJZXhpdCAwCj4+PiAJOzsKPj4+IAlnZXRp
bmZvLWRldm5hbWUpCj4+PiAJCWVjaG8gIkVDMiBTVE9OSVRIIGV4dGVybmFsIGRldmljZSIKPj4+
IAkJZXhpdCAwCj4+PiAJOzsKPj4+IAlnZXRpbmZvLWRldmRlc2NyKQo+Pj4gCQllY2hvICJmZW5j
ZV9lYzIgaXMgYW4gSS9PIEZlbmNpbmcgYWdlbnQgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbWF6
b24gRUMyIGluc3RhbmNlcy4iCj4+PiAJCWV4aXQgMAo+Pj4gCTs7Cj4+PiAJZ2V0aW5mby1kZXZ1
cmwpCj4+PiAJCWVjaG8gIiIKPj4+IAkJZXhpdCAwCj4+PiAJOzsKPj4+IGVzYWMKPj4+Cj4+PiAj
IGdldCBteSBpbnN0YW5jZSBpZAo+Pj4gbXlpbnN0YW5jZT1gY3VybCBodHRwOi8vMTY5LjI1NC4x
NjkuMjU0L2xhdGVzdC9tZXRhLWRhdGEvaW5zdGFuY2UtaWRgCj4+Pgo+Pj4gIyBjaGVjayBteSBz
dGF0dXMuCj4+PiAjIFdoZW4gdGhlIEVDMiBpbnN0YW5jZSBiZSBzdG9wcGVkIGJ5IHRoZSAiYXdz
IGVjMiBzdG9wLWluc3RhbmNlcyIgLCB0aGUgc3RvcCBwcm9jZXNzaW5nIG9mIHRoZSBPUyBpcyBl
eGVjdXRlZC4KPj4+ICMgV2hpbGUgdGhlIE9TIHN0b3AgcHJvY2Vzc2luZywgUGFjZW1ha2VyIGNh
biBleGVjdXRlIHRoZSBTVE9OSVRIIHByb2Nlc3NpbmcuCj4+PiAjIFNvLCBJZiBteSBzdGF0dXMg
aXMgbm90ICJydW5uaW5nIiwgaXQgZGV0ZXJtaW5lZCB0aGF0IEkgd2FzIGFscmVhZHkgZmVuY2Vk
LiBBbmQgdG8gcHJldmVudCBmZW5jaW5nIGVhY2ggb3RoZXIKPj4+ICMgaW4gc3BsaXQtYnJhaW4s
IEkgZG9uJ3QgZmVuY2Ugb3RoZXIgbm9kZS4KPj4+IGlmIFsgLXogIiRteWluc3RhbmNlIiBdOyB0
aGVuCj4+PiAJaGFfbG9nLnNoIGVyciAiRmFpbGVkIHRvIGdldCBNeSBJbnN0YW5jZSBJRC4gc28g
Y2FuIG5vdCBjaGVjayBteSBzdGF0dXMuIgo+Pj4gCWV4aXQgMQo+Pj4gZmkKPj4+IG15c3RhdHVz
PWBpbnN0YW5jZV9zdGF0dXMgJG15aW5zdGFuY2VgCj4+PiBpZiBbICIkbXlzdGF0dXMiICE9ICJy
dW5uaW5nIiBdOyB0aGVuICNkbyBub3QgZmVuY2UKPj4+IAloYV9sb2cuc2ggd2FybiAiSSB3YXMg
YWxyZWFkeSBmZW5jZWQgKE15IGluc3RhbmNlIHN0YXR1cz0kbXlzdGF0dXMpLiBJIGRvbid0IGZl
bmNlIG90aGVyIG5vZGUuIgo+Pj4gCWV4aXQgMQo+Pj4gZmkKPj4+Cj4+PiAjIGdldCB0YXJnZXQn
cyBpbnN0YW5jZSBpZAo+Pj4gaW5zdGFuY2U9IiIKPj4+IGlmIFsgISAteiAiJHBvcnQiIF07IHRo
ZW4KPj4+IAlpbnN0YW5jZT1gaW5zdGFuY2VfZm9yX3BvcnQgJHBvcnQgJG9wdGlvbnNgCj4+PiBm
aQo+Pj4KPj4+IGNhc2UgJGFjdGlvbiBpbgo+Pj4gCXJlYm9vdHxyZXNldCkKPj4+IAkJc3RhdHVz
PWBpbnN0YW5jZV9zdGF0dXMgJGluc3RhbmNlYAo+Pj4gCQlpZiBbICIkc3RhdHVzIiAhPSAic3Rv
cHBlZCIgXTsgdGhlbgo+Pj4gCQkJaW5zdGFuY2Vfb2ZmCj4+PiAJCWZpCj4+PiAJCXdoaWxlIHRy
dWU7Cj4+PiAJCWRvCj4+PiAJCQlzdGF0dXM9YGluc3RhbmNlX3N0YXR1cyAkaW5zdGFuY2VgCj4+
PiAJCQlpZiBbICIkc3RhdHVzIiA9ICJzdG9wcGVkIiBdOyB0aGVuCj4+PiAJCQkJYnJlYWsKPj4+
IAkJCWZpCj4+PiAJCQlzbGVlcCAkc2xlZXBfdGltZQo+Pj4gCQlkb25lCj4+PiAJCWluc3RhbmNl
X29uCj4+PiAJCXdoaWxlIHRydWU7Cj4+PiAJCWRvCj4+PiAJCQlzdGF0dXM9YGluc3RhbmNlX3N0
YXR1cyAkaW5zdGFuY2VgCj4+PiAJCQlpZiBbICIkc3RhdHVzIiA9ICJydW5uaW5nIiBdOyB0aGVu
Cj4+PiAJCQkJYnJlYWsKPj4+IAkJCWZpCj4+PiAJCQlzbGVlcCAkc2xlZXBfdGltZQo+Pj4gCQlk
b25lCj4+PiAJOzsKPj4+IAlwb3dlcm9ufG9uKQo+Pj4gCQlpbnN0YW5jZV9vbgo+Pj4gCQl3aGls
ZSB0cnVlOwo+Pj4gCQlkbwo+Pj4gCQkJc3RhdHVzPWBpbnN0YW5jZV9zdGF0dXMgJGluc3RhbmNl
YAo+Pj4gCQkJaWYgWyAiJAo+IHN0YXR1cyIgPSAicnVubmluZyIgXTsgdGhlbgo+Pj4gCQkJCWJy
ZWFrCj4+PiAJCQlmaQo+Pj4gCQlkb25lCj4+PiAJOzsKPj4+IAlwb3dlcm9mZnxvZmYpCj4+PiAJ
CWluc3RhbmNlX29mZgo+Pj4gCQl3aGlsZSB0cnVlOwo+Pj4gCQlkbwo+Pj4gCQkJc3RhdHVzPWBp
bnN0YW5jZV9zdGF0dXMgJGluc3RhbmNlYAo+Pj4gCQkJaWYgWyAiJHN0YXR1cyIgPSAic3RvcHBl
ZCIgXTsgdGhlbgo+Pj4gCQkJCWJyZWFrCj4+PiAJCQlmaQo+Pj4gCQkJc2xlZXAgJHNsZWVwX3Rp
bWUKPj4+IAkJZG9uZQo+Pj4gCTs7Cj4+PiAJbW9uaXRvcikKPj4+IAkJIyBJcyB0aGUgZGV2aWNl
IG9rPwo+Pj4gCQlhd3MgZWMyIGRlc2NyaWJlLWluc3RhbmNlcyAkb3B0aW9ucyB8IGdyZXAgSU5T
VEFOQ0VTICY+IC9kZXYvbnVsbAo+Pj4gCTs7Cj4+PiAJZ2V0aG9zdHN8aG9zdGxpc3R8bGlzdCkK
Pj4+IAkJIyBMaXN0IG9mIG5hbWVzIHdlIGtub3cgYWJvdXQKPj4+IAkJYT1gYXdzIGVjMiBkZXNj
cmliZS1pbnN0YW5jZXMgJG9wdGlvbnMgfCBhd2sgLXYgdGFnX3BhdD0iXlRBR1PCpXQkZWMyX3Rh
Z8KldCIgLUYgJ8KldCcgJ3sKPj4+IAkJCWlmICgvXklOU1RBTkNFUy8pIHsgcHJpbnRmICIlc8Kl
biIsICQ4IH0KPj4+IAkJCWVsc2UgaWYgKCAkMSLCpXQiJDIiwqV0IiDigL4gdGFnX3BhdCApIHsg
cHJpbnRmICIlc8KlbiIsICQzIH0KPj4+IAkJCX0nIHwgc29ydCAtdWAKPj4+IAkJZWNobyAkYQo+
Pj4gCTs7Cj4+PiAJc3RhdHxzdGF0dXMpCj4+PiAJCWluc3RhbmNlX3N0YXR1cyAkaW5zdGFuY2Ug
PiAvZGV2L251bGwKPj4+IAk7Owo+Pj4gCSopIGhhX2xvZy5zaCBlcnIgIlVua25vd24gYWN0aW9u
OiAkYWN0aW9uIjsgZXhpdCAxOzsKPj4+IGVzYWMKPj4+Cj4+PiBzdGF0dXM9JD8KPj4+Cj4+PiBp
ZiBbICRxdWlldCAtZXEgMSBdOyB0aGVuCj4+PiAJOiBub3RoaW5nCj4+PiBlbGlmIFsgJHN0YXR1
cyAtZXEgMCBdOyB0aGVuCj4+PiAJaGFfbG9nLnNoIGluZm8gIk9wZXJhdGlvbiAkYWN0aW9uIHBh
c3NlZCIKPj4+IGVsc2UKPj4+IAloYV9sb2cuc2ggZXJyICJPcGVyYXRpb24gJGFjdGlvbiBmYWls
ZWQ6ICRzdGF0dXMiCj4+PiBmaQo+Pj4gZXhpdCAkc3RhdHVzCj4+Cj4+PiBfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gTGludXgtSEEgbWFpbGluZyBs
aXN0Cj4+PiBMaW51eC1IQUBsaXN0cy5saW51eC1oYS5vcmcKPj4+IGh0dHA6Ly9saXN0cy5saW51
eC1oYS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1oYQo+Pj4gU2VlIGFsc286IGh0dHA6Ly9s
aW51eC1oYS5vcmcvUmVwb3J0aW5nUHJvYmxlbXMKPj4KPj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gTGludXgtSEEgbWFpbGluZyBsaXN0Cj4+IExp
bnV4LUhBQGxpc3RzLmxpbnV4LWhhLm9yZwo+PiBodHRwOi8vbGlzdHMubGludXgtaGEub3JnL21h
aWxtYW4vbGlzdGluZm8vbGludXgtaGEKPj4gU2VlIGFsc286IGh0dHA6Ly9saW51eC1oYS5vcmcv
UmVwb3J0aW5nUHJvYmxlbXMKPj4KPj4KPgo+Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCj4gVXNlcnMgbWFpbGluZyBsaXN0OiBVc2Vyc0BjbHVz
dGVybGFicy5vcmcKPiBodHRwOi8vY2x1c3RlcmxhYnMub3JnL21haWxtYW4vbGlzdGluZm8vdXNl
cnMKPgo+IFByb2plY3QgSG9tZTogaHR0cDovL3d3dy5jbHVzdGVybGFicy5vcmcKPiBHZXR0aW5n
IHN0YXJ0ZWQ6IGh0dHA6Ly93d3cuY2x1c3RlcmxhYnMub3JnL2RvYy9DbHVzdGVyX2Zyb21fU2Ny
YXRjaC5wZGYKPiBCdWdzOiBodHRwOi8vYnVncy5jbHVzdGVybGFicy5vcmcKPgoKCgoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LUhBIG1haWxp
bmcgbGlzdApMaW51eC1IQUBsaXN0cy5saW51eC1oYS5vcmcKaHR0cDovL2xpc3RzLmxpbnV4LWhh
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWhhClNlZSBhbHNvOiBodHRwOi8vbGludXgtaGEu
b3JnL1JlcG9ydGluZ1Byb2JsZW1z