Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save justaguywhocodes/3c5bdecefc7acd4af149aa94329afd22 to your computer and use it in GitHub Desktop.
Save justaguywhocodes/3c5bdecefc7acd4af149aa94329afd22 to your computer and use it in GitHub Desktop.
ZnVuY3Rpb24gSW52b2tlLUludmVpZ2gKewo8IwouU1lOT1BTSVMKVGhpcyBmdW5jdGlvbiBpcyBh
IFdpbmRvd3MgUG93ZXJTaGVsbCBBRElETlMvTExNTlIvTkJOUy9tRE5TL0ROUyBzcG9vZmVyLgoK
LkRFU0NSSVBUSU9OClRoaXMgZnVuY3Rpb24gaXMgYSBXaW5kb3dzIFBvd2VyU2hlbGwgQURJRE5T
L0xMTU5SL05CTlMvbUROUy9ETlMgc3Bvb2Zlci9tYW4taW4tdGhlLW1pZGRsZSB0b29sIHdpdGgK
Y2hhbGxlbmdlL3Jlc3BvbnNlIGNhcHR1cmUgb3ZlciBIVFRQL0hUVFBTL1Byb3h5L1NNQi4KCi5Q
QVJBTUVURVIgQURJRE5TCkRlZmF1bHQgPSBOb25lOiAoQ29tYm8vTlMvV2lsZGNhcmQpIExpc3Qg
b2YgQURJRE5TIHNwb29maW5nIGF0dGFja3MuIENvbWJvIGxvb2tzIGF0IExMTU5SL05CTlMgcmVx
dWVzdHMgYW5kIGFkZHMKYSByZWNvcmQgdG8gRE5TIGlmIHRoZSBzYW1lIHJlcXVlc3QgaXMgcmVj
ZWl2ZWQgZnJvbSBtdWx0aXBsZSBzeXN0ZW1zLiBOUyBpbmplY3RzIGFuIE5TIHJlY29yZCBhbmQg
aWYgbmVlZGVkLCBhIHRhcmdldCByZWNvcmQuClRoaXMgaXMgcHJpbWFyaWx5IGZvciB0aGUgR1FC
TCBieXBhc3MgZm9yIHdwYWQuIFRoaXMgYXR0YWNrIGNhbiBiZSB1c2VkIHdpdGggSW52ZWlnaCdz
IEROUyBzcG9vZmVyLiBXaWxkY2FyZCBpbmplY3RzIGEgd2lsZGNhcmQgcmVjb3JkLgoKLlBBUkFN
RVRFUiBBRElETlNBQ0UKRGVmYXVsdCA9IEVuYWJsZWQ6IEVuYWJsZS9EaXNhYmxlIGFkZGluZyBh
biAnQXV0aGVudGljYXRlZCBVc2VycycgZnVsbCBjb250cm9sIEFDRSB0byBhbnkgYWRkZWQgcmVj
b3Jkcy4KCi5QQVJBTUVURVIgQURJRE5TQ2xlYW51cApEZWZhdWx0ID0gRW5hYmxlZDogRW5hYmxl
L0Rpc2FibGUgcmVtb3ZpbmcgYWRkZWQgQURJRE5TIHJlY29yZHMgdXBvbiBzaHV0ZG93bi4KCi5Q
QVJBTUVURVIgQURJRE5TQ3JlZGVudGlhbApQU0NyZWRlbnRpYWwgb2JqZWN0IHRoYXQgd2lsbCBi
ZSB1c2VkIHdpdGggQURJRE5TIHNwb29maW5nLgoKLlBBUkFNRVRFUiBBRElETlNEb21haW4KVGhl
IHRhcmdldGVkIGRvbWFpbiBpbiBETlMgZm9ybWF0LgoKLlBBUkFNRVRFUiBBRElETlNEb21haW5D
b250cm9sbGVyCkRvbWFpbiBjb250cm9sbGVyIHRvIHRhcmdldC4gVGhpcyBwYXJhbWV0ZXIgaXMg
bWFuZGF0b3J5IG9uIGEgbm9uLWRvbWFpbiBhdHRhY2hlZCBzeXN0ZW0uCgouUEFSQU1FVEVSIEFE
SUROU0ZvcmVzdApUaGUgdGFyZ2V0ZWQgZm9yZXN0IGluIEROUyBmb3JtYXQuCgouUEFSQU1FVEVS
IEFESUROU0hvc3RzSWdub3JlCkNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGhvc3RzIHRoYXQgd2ls
bCBiZSBpZ25vcmVkIHdpdGggQURJRE5TIHNwb29maW5nLgoKLlBBUkFNRVRFUiBBRElETlNOU1Rh
cmdldApEZWZhdWx0ID0gd3BhZDI6IFRhcmdldCBmb3IgdGhlIE5TIGF0dGFja3MgTlMgcmVjb3Jk
LiBBbiBleGlzdGluZyByZWNvcmQgY2FuIGJlIHVzZWQuIAoKLlBBUkFNRVRFUiBBRElETlNQYXJ0
aXRpb24KRGVmYXVsdCA9IERvbWFpbkROU1pvbmVzOiAoRG9tYWluRE5TWm9uZXMsRm9yZXN0RE5T
Wm9uZXMsU3lzdGVtKSBUaGUgQUQgcGFydGl0aW9uIG5hbWUgd2hlcmUgdGhlIHpvbmUgaXMgc3Rv
cmVkLgoKLlBBUkFNRVRFUiBBRElETlNUaHJlc2hvbGQKRGVmYXVsdCA9IDQ6IFRoZSB0aHJlc2hv
bGQgdXNlZCB0byBkZXRlcm1pbmUgd2hlbiBBRElETlMgcmVjb3JkcyBhcmUgaW5qZWN0ZWQgZm9y
IHRoZSBjb21ibyBhdHRhY2suIEludmVpZ2ggd2lsbAp0cmFjayBpZGVudGljYWwgTExNTlIgYW5k
IE5CTlMgcmVxdWVzdHMgcmVjZWl2ZWQgZnJvbSBtdWx0aXBsZSBzeXN0ZW1zLiBETlMgcmVjb3Jk
cyB3aWxsIGJlIGluamVjdGVkIG9uY2UgdGhlCnN5c3RlbSBjb3VudCBmb3IgaWRlbnRpY2FsIExM
TU5SIGFuZCBOQk5TIHJlcXVlc3RzIGV4Y2VlZHMgdGhlIHRocmVzaG9sZC4KCi5QQVJBTUVURVIg
QURJRE5TVFRMCkRlZmF1bHQgPSA2MDAgU2Vjb25kczogRE5TIFRUTCBpbiBzZWNvbmRzIGZvciBh
ZGRlZCBBIHJlY29yZHMuCgouUEFSQU1FVEVSIEFESUROU1pvbmUKVGhlIEFESUROUyB6b25lLgoK
LlBBUkFNRVRFUiBDaGFsbGVuZ2UKRGVmYXVsdCA9IFJhbmRvbTogMTYgY2hhcmFjdGVyIGhleCBO
VExNIGNoYWxsZW5nZSBmb3IgdXNlIHdpdGggdGhlIEhUVFAgbGlzdGVuZXIuIElmIGxlZnQgYmxh
bmssIGEgcmFuZG9tCmNoYWxsZW5nZSB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgZWFjaCByZXF1ZXN0
LgoKLlBBUkFNRVRFUiBDb25zb2xlT3V0cHV0CkRlZmF1bHQgPSBEaXNhYmxlZDogKExvdy9NZWRp
dW0vWS9OKSBFbmFibGUvRGlzYWJsZSByZWFsIHRpbWUgY29uc29sZSBvdXRwdXQuIElmIHVzaW5n
IHRoaXMgb3B0aW9uIHRocm91Z2ggYQpzaGVsbCwgdGVzdCB0byBlbnN1cmUgdGhhdCBpdCBkb2Vz
bid0IGhhbmcgdGhlIHNoZWxsLiBNZWRpdW0gYW5kIExvdyBjYW4gYmUgdXNlZCB0byByZWR1Y2Ug
b3V0cHV0LgoKLlBBUkFNRVRFUiBDb25zb2xlUXVldWVMaW1pdApEZWZhdWx0ID0gVW5saW1pdGVk
OiBNYXhpbXVtIG51bWJlciBvZiBxdWV1ZWQgdXAgY29uc29sZSBsb2cgZW50cmllcyB3aGVuIG5v
dCB1c2luZyB0aGUgcmVhbCB0aW1lIGNvbnNvbGUuIAoKLlBBUkFNRVRFUiBDb25zb2xlU3RhdHVz
CihJbnRlZ2VyKSBJbnRlcnZhbCBpbiBtaW51dGVzIGZvciBkaXNwbGF5aW5nIGFsbCB1bmlxdWUg
Y2FwdHVyZWQgdXNlcm5hbWVzLCBoYXNoZXMsIGFuZCBjcmVkZW50aWFscy4gVGhpcyBpcyB1c2Vm
dWwgZm9yCmRpc3BsYXlpbmcgZnVsbCBjYXB0dXJlIGxpc3RzIHdoZW4gcnVubmluZyB0aHJvdWdo
IGEgc2hlbGwgdGhhdCBkb2VzIG5vdCBoYXZlIGFjY2VzcyB0byB0aGUgc3VwcG9ydCBmdW5jdGlv
bnMuCgouUEFSQU1FVEVSIENvbnNvbGVVbmlxdWUKRGVmYXVsdCA9IEVuYWJsZWQ6IChZL04pIEVu
YWJsZS9EaXNhYmxlIGRpc3BsYXlpbmcgY2hhbGxlbmdlL3Jlc3BvbnNlIGhhc2hlcyBmb3Igb25s
eSB1bmlxdWUgSVAsIGRvbWFpbi9ob3N0bmFtZSwKYW5kIHVzZXJuYW1lIGNvbWJpbmF0aW9ucyB3
aGVuIHJlYWwgdGltZSBjb25zb2xlIG91dHB1dCBpcyBlbmFibGVkLgoKLlBBUkFNRVRFUiBETlMK
RGVmYXVsdCA9IEVuYWJsZWQ6IChZL04pIEVuYWJsZS9EaXNhYmxlIEROUyBzcG9vZmluZy4gQWxs
IGRldGVjdGVkIHJlcXVlc3RzIHdpbGwgYmUgYW5zd2VyZWQgd2l0aCB0aGUgU3Bvb2ZlcklQLgpU
aGlzIGlzIHByaW1hcmlseSByZXF1aXJlZCBmb3IgdGhlIEFESUROUyBOUyB3cGFkIGF0dGFjay4K
Ci5QQVJBTUVURVIgRE5TVFRMCkRlZmF1bHQgPSAzMCBTZWNvbmRzOiBETlMgVFRMIGluIHNlY29u
ZHMgZm9yIHRoZSByZXNwb25zZSBwYWNrZXQuCgouUEFSQU1FVEVSIEVsZXZhdGVkCkRlZmF1bHQg
PSBBdXRvOiAoQXV0by9ZL04pIFNldCB0aGUgcHJpdmlsZWdlIG1vZGUuIEF1dG8gd2lsbCBkZXRl
cm1pbmUgaWYgSW52ZWlnaCBpcyBydW5uaW5nIHdpdGgKZWxldmF0ZWQgcHJpdmlsZWdlLiBJZiBz
bywgb3B0aW9ucyB0aGF0IHJlcXVpcmUgZWxldmF0ZWQgcHJpdmlsZWdlIGNhbiBiZSB1c2VkLgoK
LlBBUkFNRVRFUiBFdmFkZVJHCkRlZmF1bHkgPSBEaXNhYmxlZDogKFkvTikgRW5hYmxlL0Rpc2Fi
bGUgZGV0ZWN0aW5nIGFuZCBpZ25vcmluZyBMTE1OUi9OQk5TIHJlcXVlc3RzIHNlbnQgZGlyZWN0
bHkgdG8gYW4gSVAgYWRkcmVzcwpyYXRoZXIgdGhhbiBhIGJyb2FkY2FzdC9tdWx0aWNhc3QgYWRk
cmVzcy4gVGhpcyB0ZWNobmlxdWUgaXMgdXNlZCBieSBSZXNwb25kZXJHdWFyZCB0byBkaXNjb3Zl
ciBzcG9vZmVycyBhY3Jvc3MKc3VibmV0cy4KCi5QQVJBTUVURVIgRmlsZU91dHB1dApEZWZhdWx0
ID0gRGlzYWJsZWQ6IChZL04pIEVuYWJsZS9EaXNhYmxlIHJlYWwgdGltZSBmaWxlIG91dHB1dC4K
Ci5QQVJBTUVURVIgRmlsZU91dHB1dERpcmVjdG9yeQpEZWZhdWx0ID0gV29ya2luZyBEaXJlY3Rv
cnk6IFZhbGlkIHBhdGggdG8gYW4gb3V0cHV0IGRpcmVjdG9yeSBmb3IgbG9nIGFuZCBjYXB0dXJl
IGZpbGVzLiBGaWxlT3V0cHV0IG11c3QKYWxzbyBiZSBlbmFibGVkLgoKLlBBUkFNRVRFUiBGaWxl
VW5pcXVlCkRlZmF1bHQgPSBFbmFibGVkOiAoWS9OKSBFbmFibGUvRGlzYWJsZSBvdXRwdXR0aW5n
IGNoYWxsZW5nZS9yZXNwb25zZSBoYXNoZXMgZm9yIG9ubHkgdW5pcXVlIElQLCBkb21haW4vaG9z
dG5hbWUsCmFuZCB1c2VybmFtZSBjb21iaW5hdGlvbnMgd2hlbiByZWFsIHRpbWUgZmlsZSBvdXRw
dXQgaXMgZW5hYmxlZC4KCi5QQVJBTUVURVIgSFRUUApEZWZhdWx0ID0gRW5hYmxlZDogKFkvTikg
RW5hYmxlL0Rpc2FibGUgSFRUUCBjaGFsbGVuZ2UvcmVzcG9uc2UgY2FwdHVyZS4KCi5QQVJBTUVU
RVIgSFRUUElQCkRlZmF1bHQgPSBBbnk6IElQIGFkZHJlc3MgZm9yIHRoZSBIVFRQL0hUVFBTIGxp
c3RlbmVyLgoKLlBBUkFNRVRFUiBIVFRQUG9ydApEZWZhdWx0ID0gODA6IFRDUCBwb3J0IGZvciB0
aGUgSFRUUCBsaXN0ZW5lci4KCi5QQVJBTUVURVIgSFRUUEF1dGgKRGVmYXVsdCA9IE5UTE06IChB
bm9ueW1vdXMvQmFzaWMvTlRMTS9OVExNTm9FU1MpIEhUVFAvSFRUUFMgbGlzdGVuZXIgYXV0aGVu
dGljYXRpb24gdHlwZS4gVGhpcyBzZXR0aW5nIGRvZXMgbm90CmFwcGx5IHRvIHdwYWQuZGF0IHJl
cXVlc3RzLiBOVExNTm9FU1MgdHVybnMgb2ZmIHRoZSAnRXh0ZW5kZWQgU2Vzc2lvbiBTZWN1cml0
eScgZmxhZyBkdXJpbmcgbmVnb3RpYXRpb24uIAoKLlBBUkFNRVRFUiBIVFRQQmFzaWNSZWFsbQpS
ZWFsbSBuYW1lIGZvciBCYXNpYyBhdXRoZW50aWNhdGlvbi4gVGhpcyBwYXJhbWV0ZXIgYXBwbGll
cyB0byBib3RoIEhUVFBBdXRoIGFuZCBXUEFEQXV0aC4KCi5QQVJBTUVURVIgSFRUUENvbnRlbnRU
eXBlCkRlZmF1bHQgPSB0ZXh0L2h0bWw6IENvbnRlbnQgdHlwZSBmb3IgSFRUUC9IVFRQUy9Qcm94
eSByZXNwb25zZXMuIERvZXMgbm90IGFwcGx5IHRvIEVYRXMgYW5kIHdwYWQuZGF0LiBTZXQgdG8K
ImFwcGxpY2F0aW9uL2h0YSIgZm9yIEhUQSBmaWxlcyBvciB3aGVuIHVzaW5nIEhUQSBjb2RlIHdp
dGggSFRUUFJlc3BvbnNlLgoKLlBBUkFNRVRFUiBIVFRQRGlyZWN0b3J5CkZ1bGwgZGlyZWN0b3J5
IHBhdGggdG8gZW5hYmxlIGhvc3Rpbmcgb2YgYmFzaWMgY29udGVudCB0aHJvdWdoIHRoZSBIVFRQ
L0hUVFBTIGxpc3RlbmVyLgoKLlBBUkFNRVRFUiBIVFRQRGVmYXVsdEZpbGUKRmlsZW5hbWUgd2l0
aGluIHRoZSBIVFRQRGlyZWN0b3J5IHRvIHNlcnZlIGFzIHRoZSBkZWZhdWx0IEhUVFAvSFRUUFMv
UHJveHkgcmVzcG9uc2UgZmlsZS4gVGhpcyBmaWxlIHdpbGwgbm90IGJlIHVzZWQgZm9yCndwYWQu
ZGF0IHJlcXVlc3RzLgoKLlBBUkFNRVRFUiBIVFRQRGVmYXVsdEVYRQpFWEUgZmlsZW5hbWUgd2l0
aGluIHRoZSBIVFRQRGlyZWN0b3J5IHRvIHNlcnZlIGFzIHRoZSBkZWZhdWx0IEhUVFAvSFRUUFMv
UHJveHkgcmVzcG9uc2UgZm9yIEVYRSByZXF1ZXN0cy4gCgouUEFSQU1FVEVSIEhUVFBSZXNwb25z
ZQpDb250ZW50IHRvIHNlcnZlIGFzIHRoZSBkZWZhdWx0IEhUVFAvSFRUUFMvUHJveHkgcmVzcG9u
c2UuIFRoaXMgcmVzcG9uc2Ugd2lsbCBub3QgYmUgdXNlZCBmb3Igd3BhZC5kYXQgcmVxdWVzdHMu
ClRoaXMgcGFyYW1ldGVyIHdpbGwgbm90IGJlIHVzZWQgaWYgSFRUUERpcmVjdG9yeSBpcyBzZXQu
IFVzZSBQb3dlclNoZWxsIGNoYXJhY3RlciBlc2NhcGVzIGFuZCBuZXdsaW5lcyB3aGVyZSBuZWNl
c3NhcnkuCgouUEFSQU1FVEVSIEhUVFBTCkRlZmF1bHQgPSBEaXNhYmxlZDogKFkvTikgRW5hYmxl
L0Rpc2FibGUgSFRUUFMgY2hhbGxlbmdlL3Jlc3BvbnNlIGNhcHR1cmUuIFdhcm5pbmcsIGEgY2Vy
dCB3aWxsIGJlIGluc3RhbGxlZCBpbgp0aGUgbG9jYWwgc3RvcmUuIElmIHRoZSBzY3JpcHQgZG9l
cyBub3QgZXhpdCBncmFjZWZ1bGx5LCBtYW51YWxseSByZW1vdmUgdGhlIGNlcnRpZmljYXRlLiBU
aGlzIGZlYXR1cmUgcmVxdWlyZXMKbG9jYWwgYWRtaW5pc3RyYXRvciBhY2Nlc3MuCgouUEFSQU1F
VEVSIEhUVFBTUG9ydApEZWZhdWx0ID0gNDQzOiBUQ1AgcG9ydCBmb3IgdGhlIEhUVFBTIGxpc3Rl
bmVyLgoKLlBBUkFNRVRFUiBIVFRQU0NlcnRJc3N1ZXIKRGVmYXVsdCA9IEludmVpZ2g6IFRoZSBp
c3N1ZXIgZmllbGQgZm9yIHRoZSBjZXJ0IHRoYXQgd2lsbCBiZSBpbnN0YWxsZWQgZm9yIEhUVFBT
LgoKLlBBUkFNRVRFUiBIVFRQU0NlcnRTdWJqZWN0CkRlZmF1bHQgPSBsb2NhbGhvc3Q6IFRoZSBz
dWJqZWN0IGZpZWxkIGZvciB0aGUgY2VydCB0aGF0IHdpbGwgYmUgaW5zdGFsbGVkIGZvciBIVFRQ
Uy4KCi5QQVJBTUVURVIgSFRUUFNGb3JjZUNlcnREZWxldGUKRGVmYXVsdCA9IERpc2FibGVkOiAo
WS9OKSBGb3JjZSBkZWxldGlvbiBvZiBhbiBleGlzdGluZyBjZXJ0aWZpY2F0ZSB0aGF0IG1hdGNo
ZXMgSFRUUFNDZXJ0SXNzdWVyIGFuZApIVFRQU0NlcnRTdWJqZWN0LgoKLlBBUkFNRVRFUiBJbnNw
ZWN0CihTd2l0Y2gpIEluc3BlY3QgRE5TL0xMTU5SL21ETlMvTkJOUyB0cmFmZmljIG9ubHkuCgou
UEFSQU1FVEVSIElQCkxvY2FsIElQIGFkZHJlc3MgZm9yIGxpc3RlbmluZyBhbmQgcGFja2V0IHNu
aWZmaW5nLiBUaGlzIElQIGFkZHJlc3Mgd2lsbCBhbHNvIGJlIHVzZWQgZm9yIExMTU5SL05CTlMv
bUROUy9ETlMgc3Bvb2ZpbmcKaWYgdGhlIFNwb29mZXJJUCBwYXJhbWV0ZXIgaXMgbm90IHNldC4K
Ci5QQVJBTUVURVIgS2VyYmVyb3MKRGVmYXVsdCA9IERpc2FibGVkOiAoWS9OKSBFbmFibGUvRGlz
YWJsZSBleHBlcmltZW50YWwgS2VyYmVyb3MgVEdUIGNhcHR1cmUgYW5kIGtpcmJpIGZpbGUgb3V0
cHV0IHRocm91Z2ggdW5jb25zdHJhaW5lZApkZWxlZ2F0aW9uIGFuZCBwYWNrZXQgc25pZmZpbmcu
IAoKLlBBUkFNRVRFUiBLZXJiZXJvc0NvdW50CkRlZmF1bHQgPSAyOiBUaGUgbnVtYmVyIG9mIGtp
cmJpIGZpbGVzIHRoYXQgd2lsbCBiZSBjcmVhdGVkIHBlciB1c2VybmFtZS4KCi5QQVJBTUVURVIg
S2VyYmVyb3NDcmVkZW50aWFsCkNyZWRlbnRpYWxzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRlY3J5
cHQgS2VyYmVyb3MgVEdUIGNhcHR1cmVzLiBUaGlzIGlzIG5vdCByZXF1aXJlZCBpZiB1c2luZyBL
ZXJiZXJvc0hhc2guIFRoZSB1c2VybmFtZQpzaG91bGQgYmUgZW50ZXJlZCBpbiBLZXJiZXJvcyBz
YWx0IGZvcm1hdDoKQUQgdXNlcm5hbWUgZm9ybWF0ID0gdXBwZXJjYXNlIHJlYWxtICsgY2FzZSBz
ZW5zaXRpdmUgdXNlcm5hbWUgKGUuZy4sIFRFU1QuTE9DQUx1c2VybmFtZSwgVEVTVC5MT0NBTEFk
bWluaXN0cmF0b3IpCkFEIGhvc3RuYW1lIGZvcm1hdCA9IHVwcGVyY2FzZSByZWFsbSArIHRoZSB3
b3JkIGhvc3QgKyBsb3dlcmNhc2UgaG9zdG5hbWUgd2l0aG91dCB0aGUgdHJhaWxpbmcgJyQnICsg
LiArIGxvd2VyY2FzZQpyZWFsbSAoZS5nLiwgVEVTVC5MT0NBTGhvc3R3a3MxLnRlc3QubG9jYWwp
CgouUEFSQU1FVEVSIEtlcmJlcm9zSGFzaApBRVMyNTYgcGFzc3dvcmQgaGFzaCB0aGF0IHdpbGwg
YmUgdXNlZCB0byBkZWNyeXB0IEtlcmJlcm9zIFRHVCBjYXB0dXJlcy4gVGhpcyBpcyBub3QgcmVx
dWlyZWQgaWYgdXNpbmcgS2VyYmVyb3NDcmVkZW50aWFsLgoKLlBBUkFNRVRFUiBLZXJiZXJvc0hv
c3RIZWFkZXIKQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaG9zdHMgdGhhdCB0aGUgSFRUUC9IVFRQ
Uy9Qcm94eSBsaXN0ZW5lciB3aWxsIGNvbXBhcmUgdG8gaG9zdCBoZWFkZXJzLiBJZiBhIG1hdGNo
IGlzIGZvdW5kLCB0aGUKbGlzdGVuZXIgd2lsbCBhdHRlbXB0IHRvIG5lZ290aWF0ZSB0byBLZXJi
ZXJvcy4KCi5QQVJBTUVURVIgTG9nT3V0cHV0CkRlZmF1bHQgPSBFbmFibGVkOiAoWS9OKSBFbmFi
bGUvRGlzYWJsZSBzdG9yaW5nIGxvZyBtZXNzYWdlcyBpbiBtZW1vcnkuCgouUEFSQU1FVEVSIExM
TU5SCkRlZmF1bHQgPSBFbmFibGVkOiAoWS9OKSBFbmFibGUvRGlzYWJsZSBMTE1OUiBzcG9vZmlu
Zy4KCi5QQVJBTUVURVIgTExNTlJUVEwKRGVmYXVsdCA9IDMwIFNlY29uZHM6IExMTU5SIFRUTCBp
biBzZWNvbmRzIGZvciB0aGUgcmVzcG9uc2UgcGFja2V0LgoKLlBBUkFNRVRFUiBNYWNoaW5lQWNj
b3VudHMKRGVmYXVsdCA9IERpc2FibGVkOiAoWS9OKSBFbmFibGUvRGlzYWJsZSBzaG93aW5nIE5U
TE0gY2hhbGxlbmdlL3Jlc3BvbnNlIGNhcHR1cmVzIGZyb20gbWFjaGluZSBhY2NvdW50cy4KCi5Q
QVJBTUVURVIgbUROUwpEZWZhdWx0ID0gRGlzYWJsZWQ6IChZL04pIEVuYWJsZS9EaXNhYmxlIG1E
TlMgc3Bvb2ZpbmcuCgouUEFSQU1FVEVSIG1ETlNUVEwKRGVmYXVsdCA9IDEyMCBTZWNvbmRzOiBt
RE5TIFRUTCBpbiBzZWNvbmRzIGZvciB0aGUgcmVzcG9uc2UgcGFja2V0LgoKLlBBUkFNRVRFUiBt
RE5TVHlwZXMKRGVmYXVsdCA9IFFVOiBDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBtRE5TIHR5cGVz
IHRvIHNwb29mLiBOb3RlIHRoYXQgUU0gd2lsbCBzZW5kIHRoZSByZXNwb25zZSB0byAyMjQuMC4w
LjI1MS4KVHlwZXMgaW5jbHVkZSBRVSA9IFF1ZXJ5IFVuaWNhc3QsIFFNID0gUXVlcnkgTXVsdGlj
YXN0CgouUEFSQU1FVEVSIE5CTlMKRGVmYXVsdCA9IERpc2FibGVkOiAoWS9OKSBFbmFibGUvRGlz
YWJsZSBOQk5TIHNwb29maW5nLgoKLlBBUkFNRVRFUiBOQk5TQnJ1dGVGb3JjZQpEZWZhdWx0ID0g
RGlzYWJsZWQ6IChZL04pIEVuYWJsZS9EaXNhYmxlIE5CTlMgYnJ1dGUgZm9yY2Ugc3Bvb2Zlci4K
Ci5QQVJBTUVURVIgTkJOU0JydXRlRm9yY2VIb3N0CkRlZmF1bHQgPSBXUEFEOiBIb3N0bmFtZSBm
b3IgdGhlIE5CTlMgQnJ1dGUgRm9yY2Ugc3Bvb2Zlci4KCi5QQVJBTUVURVIgTkJOU0JydXRlRm9y
Y2VQYXVzZQpEZWZhdWx0ID0gRGlzYWJsZWQ6IChJbnRlZ2VyKSBOdW1iZXIgb2Ygc2Vjb25kcyB0
aGUgTkJOUyBicnV0ZSBmb3JjZSBzcG9vZmVyIHdpbGwgc3RvcCBzcG9vZmluZyBhZnRlciBhbiBp
bmNvbWluZwpIVFRQIHJlcXVlc3QgaXMgcmVjZWl2ZWQuCgouUEFSQU1FVEVSIE5CTlNCcnV0ZUZv
cmNlVGFyZ2V0CklQIGFkZHJlc3MgdG8gdGFyZ2V0IGZvciBOQk5TIGJydXRlIGZvcmNlIHNwb29m
aW5nLgoKLlBBUkFNRVRFUiBOQk5TVFRMCkRlZmF1bHQgPSAxNjUgU2Vjb25kczogTkJOUyBUVEwg
aW4gc2Vjb25kcyBmb3IgdGhlIHJlc3BvbnNlIHBhY2tldC4KCi5QQVJBTUVURVIgTkJOU1R5cGVz
CkRlZmF1bHQgPSAwMCwyMDogQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgTkJOUyB0eXBlcyB0byBz
cG9vZi4gTm90ZSwgbm90IGFsbCB0eXBlcyBoYXZlIGJlZW4gdGVzdGVkLgpUeXBlcyBpbmNsdWRl
IDAwID0gV29ya3N0YXRpb24gU2VydmljZSwgMDMgPSBNZXNzZW5nZXIgU2VydmljZSwgMjAgPSBT
ZXJ2ZXIgU2VydmljZSwgMUIgPSBEb21haW4gTmFtZQoKLlBBUkFNRVRFUiBPdXRwdXRTdHJlYW1P
bmx5CkRlZmF1bHQgPSBEaXNhYmxlZDogKFkvTikgRW5hYmxlL0Rpc2FibGUgZm9yY2luZyBhbGwg
b3V0cHV0IHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtLiBUaGlzIGNhbiBiZSBoZWxwZnVs
IGlmCnJ1bm5pbmcgSW52ZWlnaCB0aHJvdWdoIGEgc2hlbGwgdGhhdCBkb2VzIG5vdCByZXR1cm4g
b3RoZXIgb3V0cHV0IHN0cmVhbXMuIE5vdGUgdGhhdCB5b3Ugd2lsbCBub3Qgc2VlIHRoZSB2YXJp
b3VzCnllbGxvdyB3YXJuaW5nIG1lc3NhZ2VzIGlmIGVuYWJsZWQuCgouUEFSQU1FVEVSIFBjYXAK
RGVmYXVsdCA9IERpc2FibGVkOiAoRmlsZS9NZW1vcnkpIEVuYWJsZS9EaXNhYmxlIGR1bXBpbmcg
cGFja2V0cyB0byBhIHBjYXAgZmlsZSBvciBtZW1vcnkuIFRoaXMgb3B0aW9uIHJlcXVpcmVzCmVs
ZXZhdGVkIHByaXZpbGVnZS4gSWYgdXNpbmcgJ01lbW9yeScsIHRoZSBwYWNrZXRzIHdpbGwgYmUg
d3JpdHRlbiB0byB0aGUgJGludmVpZ2gucGNhcCBBcnJheUxpc3QuCgouUEFSQU1FVEVSIFBjYXBU
Q1AKRGVmYXVsdCA9IDEzOSw0NDU6IENvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIFRDUCBwb3J0cyB0
byBmaWx0ZXIgd2hpY2ggcGFja2V0cyB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlIHBjYXAgZmlsZS4K
VXNlICdBbGwnIHRvIGNhcHR1cmUgb24gYWxsIHBvcnRzLgoKLlBBUkFNRVRFUiBQY2FwVURQCkRl
ZmF1bHQgPSBEaXNhYmxlZDogQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgVURQIHBvcnRzIHRvIGZp
bHRlciB3aGljaCBwYWNrZXRzIHdpbGwgYmUgd3JpdHRlbiB0byB0aGUgcGNhcCBmaWxlLgpVc2Ug
J0FsbCcgdG8gY2FwdHVyZSBvbiBhbGwgcG9ydHMuCgouUEFSQU1FVEVSIFByb3h5CkRlZmF1bHQg
PSBEaXNhYmxlZDogKFkvTikgRW5hYmxlL0Rpc2FibGUgcHJveHkgbGlzdGVuZXIgYXV0aGVudGlj
YXRpb24gY2FwdHVyZXMuCgouUEFSQU1FVEVSIFByb3h5QXV0aApEZWZhdWx0ID0gTlRMTTogKEJh
c2ljL05UTE0vTlRMTU5vRVNTKSBQcm94eSBsaXN0ZW5lciBhdXRoZW50aWNhdGlvbiB0eXBlLgoK
LlBBUkFNRVRFUiBQcm94eUlQCkRlZmF1bHQgPSBBbnk6IElQIGFkZHJlc3MgZm9yIHRoZSBwcm94
eSBsaXN0ZW5lci4KCi5QQVJBTUVURVIgUHJveHlQb3J0CkRlZmF1bHQgPSA4NDkyOiBUQ1AgcG9y
dCBmb3IgdGhlIHByb3h5IGxpc3RlbmVyLgoKLlBBUkFNRVRFUiBQcm94eUlnbm9yZQpEZWZhdWx0
ID0gRmlyZWZveDogQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Yga2V5d29yZHMgdG8gdXNlIGZvciBm
aWx0ZXJpbmcgYnJvd3NlciB1c2VyIGFnZW50cy4gTWF0Y2hpbmcgYnJvd3NlcnMKd2lsbCBub3Qg
YmUgc2VudCB0aGUgd3BhZC5kYXQgZmlsZSB1c2VkIGZvciBjYXB0dXJpbmcgcHJveHkgYXV0aGVu
dGljYXRpb25zLiBGaXJlZm94IGRvZXMgbm90IHdvcmsgY29ycmVjdGx5CndpdGggdGhlIHByb3h5
IHNlcnZlciBmYWlsb3ZlciBzZXR1cC4gRmlyZWZveCB3aWxsIGJlIGxlZnQgdW5hYmxlIHRvIGNv
bm5lY3QgdG8gYW55IHNpdGVzIHVudGlsIHRoZSBwcm94eSBpcwpjbGVhcmVkLiBSZW1vdmUgJ0Zp
cmVmb3gnIGZyb20gdGhpcyBsaXN0IHRvIGF0dGFjayBGaXJlZm94LiBJZiBhdHRhY2tpbmcgRmly
ZWZveCwgY29uc2lkZXIgc2V0dGluZwotU3Bvb2ZlclJlcGVhdCBOIHRvIGxpbWl0IGF0dGFja3Mg
YWdhaW5zdCBhIHNpbmdsZSB0YXJnZXQgc28gdGhhdCB2aWN0aW1zIGNhbiByZWNvdmVyIEZpcmVm
b3ggY29ubmVjdGl2aXR5IGJ5CmNsb3NpbmcgYW5kIHJlb3BlbmluZy4KCi5QQVJBTUVURVIgUnVu
Q291bnQKRGVmYXVsdCA9IFVubGltaXRlZDogKEludGVnZXIpIE51bWJlciBvZiBOVExNdjEvTlRM
TXYyL2NsZWFydGV4dCBjYXB0dXJlcyB0byBwZXJmb3JtIGJlZm9yZSBhdXRvLWV4aXRpbmcuCgou
UEFSQU1FVEVSIFJ1blRpbWUKKEludGVnZXIpIFJ1biB0aW1lIGR1cmF0aW9uIGluIG1pbnV0ZXMu
CgouUEFSQU1FVEVSIFNob3dIZWxwCkRlZmF1bHQgPSBFbmFibGVkOiAoWS9OKSBFbmFibGUvRGlz
YWJsZSB0aGUgaGVscCBtZXNzYWdlcyBhdCBzdGFydHVwLgoKLlBBUkFNRVRFUiBTTUIKRGVmYXVs
dCA9IEVuYWJsZWQ6IChZL04pIEVuYWJsZS9EaXNhYmxlIFNNQiBjaGFsbGVuZ2UvcmVzcG9uc2Ug
Y2FwdHVyZS4gV2FybmluZywgTExNTlIvTkJOUyBzcG9vZmluZyBjYW4gc3RpbGwKZGlyZWN0IHRh
cmdldHMgdG8gdGhlIGhvc3Qgc3lzdGVtJ3MgU01CIHNlcnZlci4gQmxvY2sgVENQIHBvcnRzIDQ0
NS8xMzkgb3Iga2lsbCB0aGUgU01CIHNlcnZpY2VzIGlmIHlvdSBuZWVkIHRvCnByZXZlbnQgbG9n
aW4gcmVxdWVzdHMgZnJvbSBiZWluZyBwcm9jZXNzZWQgYnkgdGhlIEludmVpZ2ggaG9zdC4gIAoK
LlBBUkFNRVRFUiBTcG9vZmVySG9zdHNJZ25vcmUKQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcmVx
dWVzdGVkIGhvc3RuYW1lcyB0byBpZ25vcmUgd2hlbiBzcG9vZmluZyB3aXRoIExMTU5SL21ETlMv
TkJOUy4KCi5QQVJBTUVURVIgU3Bvb2Zlckhvc3RzUmVwbHkKQ29tbWEgc2VwYXJhdGVkIGxpc3Qg
b2YgcmVxdWVzdGVkIGhvc3RuYW1lcyB0byByZXNwb25kIHRvIHdoZW4gc3Bvb2Zpbmcgd2l0aCBM
TE1OUi9tRE5TL05CTlMuCgouUEFSQU1FVEVSIFNwb29mZXJJUApJUCBhZGRyZXNzIGZvciBBRElE
TlMvTExNTlIvbUROUy9OQk5TIHNwb29maW5nLiBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IG5lY2Vz
c2FyeSB3aGVuIHJlZGlyZWN0aW5nIHZpY3RpbXMgdG8gYSBzeXN0ZW0Kb3RoZXIgdGhhbiB0aGUg
SW52ZWlnaCBob3N0LgoKLlBBUkFNRVRFUiBTcG9vZmVySVBzSWdub3JlCkNvbW1hIHNlcGFyYXRl
ZCBsaXN0IG9mIHNvdXJjZSBJUCBhZGRyZXNzZXMgdG8gaWdub3JlIHdoZW4gc3Bvb2Zpbmcgd2l0
aCBMTE1OUi9tRE5TL05CTlMuCgouUEFSQU1FVEVSIFNwb29mZXJJUHNSZXBseQpDb21tYSBzZXBh
cmF0ZWQgbGlzdCBvZiBzb3VyY2UgSVAgYWRkcmVzc2VzIHRvIHJlc3BvbmQgdG8gd2hlbiBzcG9v
ZmluZyB3aXRoIExMTU5SL21ETlMvTkJOUy4KCi5QQVJBTUVURVIgU3Bvb2ZlckxlYXJuaW5nCkRl
ZmF1bHQgPSBEaXNhYmxlZDogKFkvTikgRW5hYmxlL0Rpc2FibGUgTExNTlIvTkJOUyB2YWxpZCBo
b3N0IGxlYXJuaW5nLiBJZiBlbmFibGVkLCBJbnZlaWdoIHdpbGwgc2VuZCBvdXQKTExNTlIvTkJO
UyByZXF1ZXN0cyBmb3IgYW55IHJlY2VpdmVkIExMTU5SL05CTlMgcmVxdWVzdHMuIElmIGEgcmVz
cG9uc2UgaXMgcmVjZWl2ZWQsIEludmVpZ2ggd2lsbCBhZGQgdGhlCmhvc3RuYW1lIHRvIGEgc3Bv
b2ZpbmcgYmxhY2tsaXN0LgoKLlBBUkFNRVRFUiBTcG9vZmVyTGVhcm5pbmdEZWxheQooSW50ZWdl
cikgVGltZSBpbiBtaW51dGVzIHRoYXQgSW52ZWlnaCB3aWxsIGRlbGF5IHNwb29maW5nIHdoaWxl
IHZhbGlkIGhvc3RzIGFyZSBiZWluZyBibGFja2xpc3RlZCB0aHJvdWdoClNwb29mZXJMZWFybmlu
Zy4KCi5QQVJBTUVURVIgU3Bvb2ZlckxlYXJuaW5nSW50ZXJ2YWwKRGVmYXVsdCA9IDMwIE1pbnV0
ZXM6IChJbnRlZ2VyKSBUaW1lIGluIG1pbnV0ZXMgdGhhdCBJbnZlaWdoIHdhaXQgYmVmb3JlIHNl
bmRpbmcgb3V0IGFuIExMTU5SL05CTlMgcmVxdWVzdCBmb3IgYQpob3N0bmFtZSB0aGF0IGhhcyBh
bHJlYWR5IGJlZW4gY2hlY2tlZCBpZiBTcG9vZmVyTGVhcm5pbmcgaXMgZW5hYmxlZC4gICAKCi5Q
QVJBTUVURVIgU3Bvb2Zlck5vbnByaW50YWJsZQpEZWZhdWx0ID0gRW5hYmxlZDogKFkvTikgRW5h
YmxlL0Rpc2FibGUgYW5zd2VyaW5nIExMTU5SL05CTlMgcmVxdWVzdHMgZm9yIG5vbi1wcmludGFi
bGUgaG9zdCBuYW1lcy4KCi5QQVJBTUVURVIgU3Bvb2ZlclJlcGVhdApEZWZhdWx0ID0gRW5hYmxl
ZDogKFkvTikgRW5hYmxlL0Rpc2FibGUgcmVwZWF0ZWQgTExNTlIvTkJOUyBzcG9vZnMgdG8gYSB2
aWN0aW0gc3lzdGVtIGFmdGVyIG9uZSB1c2VyCmNoYWxsZW5nZS9yZXNwb25zZSBoYXMgYmVlbiBj
YXB0dXJlZC4KCi5QQVJBTUVURVIgU3Bvb2ZlclRocmVzaG9sZEhvc3QKKEludGVnZXIpIE51bWJl
ciBvZiBtYXRjaGluZyBMTE1OUi9OQk5TIG5hbWUgcmVxdWVzdHMgdG8gcmVjZWl2ZSBiZWZvcmUg
SW52ZWlnaCB3aWxsIGJlZ2luIHJlc3BvbmRpbmcgdG8gdGhvc2UKcmVxdWVzdHMuCgouUEFSQU1F
VEVSIFNwb29mZXJUaHJlc2hvbGROZXR3b3JrCihJbnRlZ2VyKSBOdW1iZXIgb2YgbWF0Y2hpbmcg
TExNTlIvTkJOUyByZXF1ZXN0cyB0byByZWNlaXZlIGZyb20gZGlmZmVyZW50IHN5c3RlbXMgYmVm
b3JlIEludmVpZ2ggd2lsbCBiZWdpbgpyZXNwb25kaW5nIHRvIHRob3NlIHJlcXVlc3RzLiAKCi5Q
QVJBTUVURVIgU3RhcnR1cENoZWNrcwpEZWZhdWx0ID0gRGlzYWJsZWQ6IChZL04pIEVuYWJsZS9E
aXNhYmxlIGNoZWNrcyBmb3IgaW4gdXNlIHBvcnRzIGFuZCBydW5uaW5nIHNlcnZpY2VzIG9uIHN0
YXJ0dXAuCgouUEFSQU1FVEVSIFN0YXR1c091dHB1dApEZWZhdWx0ID0gRW5hYmxlZDogKFkvTikg
RW5hYmxlL0Rpc2FibGUgc3RhcnR1cCBhbmQgc2h1dGRvd24gbWVzc2FnZXMuCgouUEFSQU1FVEVS
IFRvb2wKRGVmYXVsdCA9IDA6ICgwLzEvMikgRW5hYmxlL0Rpc2FibGUgZmVhdHVyZXMgZm9yIGJl
dHRlciBvcGVyYXRpb24gdGhyb3VnaCBleHRlcm5hbCB0b29scyBzdWNoIGFzIE1ldGVycHJldGVy
J3MKUG93ZXJTaGVsbCBleHRlbnNpb24sIE1ldGFzcGxvaXQncyBJbnRlcmFjdGl2ZSBQb3dlclNo
ZWxsIFNlc3Npb25zIHBheWxvYWRzIGFuZCBFbXBpcmUuCjAgPSBOb25lLCAxID0gTWV0YXNwbG9p
dC9NZXRlcnByZXRlciwgMiA9IEVtcGlyZSAgIAoKLlBBUkFNRVRFUiBXUEFEQXV0aApEZWZhdWx0
ID0gTlRMTTogKEFub255bW91cy9CYXNpYy9OVExNL05UTE1Ob0VTUykgSFRUUC9IVFRQUyBsaXN0
ZW5lciBhdXRoZW50aWNhdGlvbiB0eXBlIGZvciB3cGFkLmRhdCByZXF1ZXN0cy4KU2V0dGluZyB0
byBBbm9ueW1vdXMgY2FuIHByZXZlbnQgYnJvd3NlciBsb2dpbiBwcm9tcHRzLiBOVExNTm9FU1Mg
dHVybnMgb2ZmIHRoZSAnRXh0ZW5kZWQgU2Vzc2lvbiBTZWN1cml0eScgZmxhZwpkdXJpbmcgbmVn
b3RpYXRpb24uCgouUEFSQU1FVEVSIFdQQURBdXRoSWdub3JlCkRlZmF1bHQgPSBGaXJlZm94OiBD
b21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBrZXl3b3JkcyB0byB1c2UgZm9yIGZpbHRlcmluZyBicm93
c2VyIHVzZXIgYWdlbnRzLiBNYXRjaGluZyBicm93c2Vycwp3aWxsIGJlIHNraXBwZWQgZm9yIE5U
TE0gYXV0aGVudGljYXRpb24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIG91dCBicm93c2Vy
cyB0aGF0IGRpc3BsYXkgbG9naW4KcG9wdXBzIGZvciBhdXRoZW50aWNhdGVkIHdwYWQuZGF0IHJl
cXVlc3RzIHN1Y2ggYXMgRmlyZWZveC4gICAKCi5QQVJBTUVURVIgV1BBRERpcmVjdEhvc3RzCkNv
bW1hIHNlcGFyYXRlZCBsaXN0IG9mIGhvc3RzIHRvIGxpc3QgYXMgZGlyZWN0IGluIHRoZSB3cGFk
LmRhdCBmaWxlLiBMaXN0ZWQgaG9zdHMgd2lsbCBub3QgYmUgcm91dGVkIHRocm91Z2ggdGhlCmRl
ZmluZWQgcHJveHkuCgouUEFSQU1FVEVSIFdQQURJUApQcm94eSBzZXJ2ZXIgSVAgdG8gYmUgaW5j
bHVkZWQgaW4gdGhlIHdwYWQuZGF0IHJlc3BvbnNlIGZvciBXUEFEIGVuYWJsZWQgYnJvd3NlcnMu
IFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgdXNlZAp3aXRoIFdQQURQb3J0LgoKLlBBUkFNRVRFUiBX
UEFEUG9ydApQcm94eSBzZXJ2ZXIgcG9ydCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgd3BhZC5kYXQg
cmVzcG9uc2UgZm9yIFdQQUQgZW5hYmxlZCBicm93c2Vycy4gVGhpcyBwYXJhbWV0ZXIgbXVzdCBi
ZQp1c2VkIHdpdGggV1BBRElQLgoKLlBBUkFNRVRFUiBXUEFEUmVzcG9uc2UKRGVmYXVsdCA9IGFs
bCBkaXJlY3Q6IHdwYWQuZGF0IGZpbGUgY29udGVudHMgdG8gc2VydmUgYXMgdGhlIHdwYWQuZGF0
IHJlc3BvbnNlLiBUaGlzIHBhcmFtZXRlciB3aWxsIG5vdCBiZSB1c2VkIGlmIFdQQURJUCBhbmQg
V1BBRFBvcnQKYXJlIHNldC4gVXNlIFBvd2VyU2hlbGwgY2hhcmFjdGVyIGVzY2FwZXMgd2hlcmUg
bmVjZXNzYXJ5LgoKLkVYQU1QTEUKSW1wb3J0LU1vZHVsZSAuXEludmVpZ2gucHNkMTtJbnZva2Ut
SW52ZWlnaApJbXBvcnQgZnVsbCBtb2R1bGUgYW5kIGV4ZWN1dGUgd2l0aCBhbGwgZGVmYXVsdCBz
ZXR0aW5ncy4KCi5FWEFNUExFCi4gLi9JbnZlaWdoLnBzMTtJbnZva2UtSW52ZWlnaCAtSVAgMTky
LjE2OC4xLjEwCkRvdCBzb3VyY2UgbG9hZCBhbmQgZXhlY3V0ZSBzcGVjaWZ5aW5nIGEgc3BlY2lm
aWMgbG9jYWwgbGlzdGVuaW5nL3Nwb29maW5nIElQLgoKLkVYQU1QTEUKSW52b2tlLUludmVpZ2gg
LUlQIDE5Mi4xNjguMS4xMCAtSFRUUCBOCkV4ZWN1dGUgc3BlY2lmeWluZyBhIHNwZWNpZmljIGxv
Y2FsIGxpc3RlbmluZy9zcG9vZmluZyBJUCBhbmQgZGlzYWJsaW5nIEhUVFAgY2hhbGxlbmdlL3Jl
c3BvbnNlLgoKLkVYQU1QTEUKSW52b2tlLUludmVpZ2ggLVNwb29mZXJSZXBlYXQgTiAtV1BBREF1
dGggQW5vbnltb3VzIC1TcG9vZmVySG9zdHNSZXBseSBob3N0MSxob3N0MiAtU3Bvb2ZlcklQc1Jl
cGx5IDE5Mi4xNjguMi43NSwxOTIuMTY4LjIuNzYKRXhlY3V0ZSB3aXRoIHRoZSBzdGVhbHRoaWVz
dCBvcHRpb25zLgoKLkVYQU1QTEUKSW52b2tlLUludmVpZ2ggLUluc3BlY3QKRXhlY3V0ZSBpbiBv
cmRlciB0byBvbmx5IGluc3BlY3QgTExNTlIvbUROUy9OQk5TIHRyYWZmaWMuCgouRVhBTVBMRQpJ
bnZva2UtSW52ZWlnaCAtSVAgMTkyLjE2OC4xLjEwIC1TcG9vZmVySVAgMTkyLjE2OC4yLjUwIC1I
VFRQIE4KRXhlY3V0ZSBzcGVjaWZ5aW5nIGEgc3BlY2lmaWMgbG9jYWwgbGlzdGVuaW5nIElQIGFu
ZCBhIExMTU5SL05CTlMgc3Bvb2ZpbmcgSVAgb24gYW5vdGhlciBzdWJuZXQuIFRoaXMgbWF5IGJl
CnVzZWZ1bCBmb3Igc2VuZGluZyB0cmFmZmljIHRvIGEgY29udHJvbGxlZCBMaW51eCBzeXN0ZW0g
b24gYW5vdGhlciBzdWJuZXQuCgouRVhBTVBMRQpJbnZva2UtSW52ZWlnaCAtSFRUUFJlc3BvbnNl
ICI8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSdyZWZyZXNoJyBjb250ZW50PScwOyB1cmw9
aHR0cHM6Ly9kdWNrZHVja2dvLmNvbS8nPjwvaGVhZD48L2h0bWw+IgpFeGVjdXRlIHNwZWNpZnlp
bmcgYW4gSFRUUCByZWRpcmVjdCByZXNwb25zZS4gCgouTElOSwpodHRwczovL2dpdGh1Yi5jb20v
S2V2aW4tUm9iZXJ0c29uL0ludmVpZ2gKIz4KCiNyZWdpb24gYmVnaW4gcGFyYW1ldGVycwoKIyBQ
YXJhbWV0ZXIgZGVmYXVsdCB2YWx1ZXMgY2FuIGJlIG1vZGlmaWVkIGluIHRoaXMgc2VjdGlvbjog
CltDbWRsZXRCaW5kaW5nKCldCnBhcmFtCiggCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtBcnJheV0kQURJRE5TSG9zdHNJZ25vcmUgPSAoImlzYXRhcCIsIndwYWQiKSwKICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0FycmF5XSRLZXJiZXJvc0hvc3RIZWFkZXIgPSAi
IiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0FycmF5XSRQcm94eUlnbm9yZSA9
ICJGaXJlZm94IiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0FycmF5XSRQY2Fw
VENQID0gKCIxMzkiLCI0NDUiKSwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0Fy
cmF5XSRQY2FwVURQID0gIiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtBcnJh
eV0kU3Bvb2Zlckhvc3RzUmVwbHkgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxz
ZSldW0FycmF5XSRTcG9vZmVySG9zdHNJZ25vcmUgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW0FycmF5XSRTcG9vZmVySVBzUmVwbHkgPSAiIiwKICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW0FycmF5XSRTcG9vZmVySVBzSWdub3JlID0gIiIsCiAgICBbcGFy
YW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtBcnJheV0kV1BBRERpcmVjdEhvc3RzID0gIiIsCiAg
ICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtBcnJheV0kV1BBREF1dGhJZ25vcmUgPSAi
RmlyZWZveCIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJENvbnNvbGVR
dWV1ZUxpbWl0ID0gIi0xIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0k
Q29uc29sZVN0YXR1cyA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bSW50
XSRBRElETlNUaHJlc2hvbGQgPSAiNCIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2Up
XVtJbnRdJEFESUROU1RUTCA9ICI2MDAiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bSW50XSRETlNUVEwgPSAiMzAiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1b
SW50XSRIVFRQUG9ydCA9ICI4MCIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJ
bnRdJEhUVFBTUG9ydCA9ICI0NDMiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1b
SW50XSRLZXJiZXJvc0NvdW50ID0gIjIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bSW50XSRMTE1OUlRUTCA9ICIzMCIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2Up
XVtJbnRdJG1ETlNUVEwgPSAiMTIwIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSld
W0ludF0kTkJOU1RUTCA9ICIxNjUiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1b
SW50XSROQk5TQnJ1dGVGb3JjZVBhdXNlID0gIiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0k
ZmFsc2UpXVtJbnRdJFByb3h5UG9ydCA9ICI4NDkyIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5
PSRmYWxzZSldW0ludF0kUnVuQ291bnQgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW0ludF0kUnVuVGltZSA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bSW50XSRXUEFEUG9ydCA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1b
SW50XSRTcG9vZmVyTGVhcm5pbmdEZWxheSA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9
JGZhbHNlKV1bSW50XSRTcG9vZmVyTGVhcm5pbmdJbnRlcnZhbCA9ICIzMCIsCiAgICBbcGFyYW1l
dGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJFNwb29mZXJUaHJlc2hvbGRIb3N0ID0gIjAiLAog
ICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bSW50XSRTcG9vZmVyVGhyZXNob2xkTmV0
d29yayA9ICIwIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kQURJ
RE5TRG9tYWluID0gIiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmdd
JEFESUROU0RvbWFpbkNvbnRyb2xsZXIgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW1N0cmluZ10kQURJRE5TRm9yZXN0ID0gIiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9y
eT0kZmFsc2UpXVtTdHJpbmddJEFESUROU05TID0gIndwYWQiLAogICAgW3BhcmFtZXRlcihNYW5k
YXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRBRElETlNOU1RhcmdldCA9ICJ3cGFkMiIsCiAgICBbcGFy
YW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJEFESUROU1pvbmUgPSAiIiwKICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kSFRUUEJhc2ljUmVhbG0gPSAiQURG
UyIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJEhUVFBDb250ZW50
VHlwZSA9ICJ0ZXh0L2h0bWwiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3Ry
aW5nXSRIVFRQRGVmYXVsdEZpbGUgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxz
ZSldW1N0cmluZ10kSFRUUERlZmF1bHRFWEUgPSAiIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5
PSRmYWxzZSldW1N0cmluZ10kSFRUUFJlc3BvbnNlID0gIiIsCiAgICBbcGFyYW1ldGVyKE1hbmRh
dG9yeT0kZmFsc2UpXVtTdHJpbmddJEhUVFBTQ2VydElzc3VlciA9ICJJbnZlaWdoIiwKICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kSFRUUFNDZXJ0U3ViamVjdCA9ICJs
b2NhbGhvc3QiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSROQk5T
QnJ1dGVGb3JjZUhvc3QgPSAiV1BBRCIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2Up
XVtTdHJpbmddJFdQQURSZXNwb25zZSA9ICJmdW5jdGlvbiBGaW5kUHJveHlGb3JVUkwodXJsLGhv
c3Qpe3JldHVybiBgIkRJUkVDVGAiO30iLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bVmFsaWRhdGVQYXR0ZXJuKCdeW0EtRmEtZjAtOV17MTZ9JCcpXVtTdHJpbmddJENoYWxsZW5n
ZSA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlki
LCJOIildW1N0cmluZ10kQ29uc29sZVVuaXF1ZSA9ICJZIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJDb21ibyIsIk5TIiwiV2lsZGNhcmQiKV1bQXJyYXld
JEFESUROUywKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJE
b21haW5ETlNab25lcyIsIkZvcmVzdEROU1pvbmVzIiwiU3lzdGVtIildW1N0cmluZ10kQURJRE5T
UGFydGl0aW9uID0gIkRvbWFpbkROU1pvbmVzIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJEFESUROU0FDRSA9ICJZIiwKICAg
IFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJp
bmddJEFESUROU0NsZWFudXAgPSAiWSIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2Up
XVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRETlMgPSAiWSIsCiAgICBbcGFyYW1ldGVy
KE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRFdmFkZVJH
ID0gIlkiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlki
LCJOIildW1N0cmluZ10kRmlsZU91dHB1dCA9ICJOIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5
PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJEZpbGVVbmlxdWUgPSAiWSIs
CiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1b
U3RyaW5nXSRIVFRQID0gIlkiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFs
aWRhdGVTZXQoIlkiLCJOIildW1N0cmluZ10kSFRUUFMgPSAiTiIsCiAgICBbcGFyYW1ldGVyKE1h
bmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRIVFRQU0ZvcmNl
Q2VydERlbGV0ZSA9ICJOIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlk
YXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJEtlcmJlcm9zID0gIk4iLAogICAgW3BhcmFtZXRlcihN
YW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlkiLCJOIildW1N0cmluZ10kTExNTlIgPSAi
WSIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4i
KV1bU3RyaW5nXSRMb2dPdXRwdXQgPSAiWSIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRNYWNoaW5lQWNjb3VudHMgPSAiTiIs
CiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1b
U3RyaW5nXSRtRE5TID0gIk4iLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFs
aWRhdGVTZXQoIlkiLCJOIildW1N0cmluZ10kTkJOUyA9ICJOIiwKICAgIFtwYXJhbWV0ZXIoTWFu
ZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJE5CTlNCcnV0ZUZv
cmNlID0gIk4iLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQo
IlkiLCJOIildW1N0cmluZ10kT3V0cHV0U3RyZWFtT25seSA9ICJOIiwKICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJFByb3h5ID0g
Ik4iLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlkiLCJO
IildW1N0cmluZ10kU2hvd0hlbHAgPSAiWSIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRTTUIgPSAiWSIsCiAgICBbcGFyYW1l
dGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRTcG9v
ZmVyTGVhcm5pbmcgPSAiTiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxp
ZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRTcG9vZmVyTm9ucHJpbnRhYmxlID0gIlkiLAogICAg
W3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlkiLCJOIildW1N0cmlu
Z10kU3Bvb2ZlclJlcGVhdCA9ICJZIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSld
W1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmddJFN0YXR1c091dHB1dCA9ICJZIiwKICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJZIiwiTiIpXVtTdHJpbmdd
JFN0YXJ0dXBDaGVja3MgPSAiTiIsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtW
YWxpZGF0ZVNldCgiWSIsIk4iLCJMb3ciLCJNZWRpdW0iKV1bU3RyaW5nXSRDb25zb2xlT3V0cHV0
ID0gIk4iLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkF1
dG8iLCJZIiwiTiIpXVtTdHJpbmddJEVsZXZhdGVkID0gIkF1dG8iLAogICAgW3BhcmFtZXRlcihN
YW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkFub255bW91cyIsIkJhc2ljIiwiTlRMTSIs
Ik5UTE1Ob0VTUyIpXVtTdHJpbmddJEhUVFBBdXRoID0gIk5UTE0iLAogICAgW3BhcmFtZXRlcihN
YW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIlFVIiwiUU0iKV1bQXJyYXldJG1ETlNUeXBl
cyA9IEAoIlFVIiksCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNl
dCgiMDAiLCIwMyIsIjIwIiwiMUIiLCIxQyIsIjFEIiwiMUUiKV1bQXJyYXldJE5CTlNUeXBlcyA9
IEAoIjAwIiwiMjAiKSwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRl
U2V0KCJGaWxlIiwiTWVtb3J5IildW1N0cmluZ10kUGNhcCA9ICIiLAogICAgW3BhcmFtZXRlcihN
YW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkJhc2ljIiwiTlRMTSIsIk5UTE1Ob0VTUyIp
XVtTdHJpbmddJFByb3h5QXV0aCA9ICJOVExNIiwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW1ZhbGlkYXRlU2V0KCIwIiwiMSIsIjIiKV1bU3RyaW5nXSRUb29sID0gIjAiLAogICAg
W3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkFub255bW91cyIsIkJh
c2ljIiwiTlRMTSIsIk5UTE1Ob0VTUyIpXVtTdHJpbmddJFdQQURBdXRoID0gIk5UTE0iLAogICAg
W3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfLkxlbmd0aCAt
ZXEgNjR9KV1bU3RyaW5nXSRLZXJiZXJvc0hhc2gsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0k
ZmFsc2UpXVtWYWxpZGF0ZVNjcmlwdCh7VGVzdC1QYXRoICRffSldW1N0cmluZ10kRmlsZU91dHB1
dERpcmVjdG9yeSA9ICIiLAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRh
dGVTY3JpcHQoe1Rlc3QtUGF0aCAkX30pXVtTdHJpbmddJEhUVFBEaXJlY3RvcnkgPSAiIiwKICAg
IFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2NyaXB0KHskXyAtbWF0Y2gg
W1N5c3RlbS5OZXQuSVBBZGRyZXNzXSRffSldW1N0cmluZ10kSFRUUElQID0gIjAuMC4wLjAiLAog
ICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfIC1tYXRj
aCBbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJF99KV1bU3RyaW5nXSRJUCA9ICIiLAogICAgW3BhcmFt
ZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfIC1tYXRjaCBbU3lzdGVt
Lk5ldC5JUEFkZHJlc3NdJF99KV1bU3RyaW5nXSROQk5TQnJ1dGVGb3JjZVRhcmdldCA9ICIiLAog
ICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfIC1tYXRj
aCBbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJF99KV1bU3RyaW5nXSRQcm94eUlQID0gIjAuMC4wLjAi
LAogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfIC1t
YXRjaCBbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJF99KV1bU3RyaW5nXSRTcG9vZmVySVAgPSAiIiwK
ICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2NyaXB0KHskXyAtbWF0
Y2ggW1N5c3RlbS5OZXQuSVBBZGRyZXNzXSRffSldW1N0cmluZ10kV1BBRElQID0gIiIsCiAgICBb
cGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9u
LlBTQ3JlZGVudGlhbF0kQURJRE5TQ3JlZGVudGlhbCwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5
PSRmYWxzZSldW1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUFNDcmVkZW50aWFsXSRLZXJi
ZXJvc0NyZWRlbnRpYWwsCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hd
JEluc3BlY3QsCiAgICBbcGFyYW1ldGVyKFZhbHVlRnJvbVJlbWFpbmluZ0FyZ3VtZW50cz0kdHJ1
ZSldJGludmFsaWRfcGFyYW1ldGVyCikKCiNlbmRyZWdpb24KI3JlZ2lvbiBiZWdpbiBpbml0aWFs
aXphdGlvbgppZigkaW52YWxpZF9wYXJhbWV0ZXIpCnsKICAgIFdyaXRlLU91dHB1dCAiWy1dICQo
JGludmFsaWRfcGFyYW1ldGVyKSBpcyBub3QgYSB2YWxpZCBwYXJhbWV0ZXIiCiAgICB0aHJvdwp9
CgokaW52ZWlnaF92ZXJzaW9uID0gIjEuNTA2IgoKaWYoISRJUCkKeyAKCiAgICB0cnkKICAgIHsK
ICAgICAgICAkSVAgPSAoVGVzdC1Db25uZWN0aW9uIDEyNy4wLjAuMSAtY291bnQgMSB8IFNlbGVj
dC1PYmplY3QgLUV4cGFuZFByb3BlcnR5IElwdjRBZGRyZXNzKQogICAgfQogICAgY2F0Y2gKICAg
IHsKICAgICAgICBXcml0ZS1PdXRwdXQgIlstXSBFcnJvciBmaW5kaW5nIGxvY2FsIElQLCBzcGVj
aWZ5IG1hbnVhbGx5IHdpdGggLUlQIgogICAgICAgIHRocm93CiAgICB9Cgp9CgppZighJFNwb29m
ZXJJUCkKewogICAgJFNwb29mZXJJUCA9ICRJUAp9CgppZigkQURJRE5TKQp7CgogICAgaWYoISRB
RElETlNEb21haW5Db250cm9sbGVyIC1vciAhJEFESUROU0RvbWFpbiAtb3IgJEFESUROU0ZvcmVz
dCAtb3IgISRBRElETlNab25lKQogICAgewoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAg
ICAgICRjdXJyZW50X2RvbWFpbiA9IFtTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuQWN0aXZlRGly
ZWN0b3J5LkRvbWFpbl06OkdldEN1cnJlbnREb21haW4oKQogICAgICAgIH0KICAgICAgICBjYXRj
aAogICAgICAgIHsKICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJbLV0gJCgkXy5FeGNlcHRpb24u
TWVzc2FnZSkiCiAgICAgICAgICAgIHRocm93CiAgICAgICAgfQoKICAgICAgICBpZighJEFESURO
U0RvbWFpbkNvbnRyb2xsZXIpCiAgICAgICAgewogICAgICAgICAgICAkQURJRE5TRG9tYWluQ29u
dHJvbGxlciA9ICRjdXJyZW50X2RvbWFpbi5QZGNSb2xlT3duZXIuTmFtZQogICAgICAgIH0KICAg
IAogICAgICAgIGlmKCEkQURJRE5TRG9tYWluKQogICAgICAgIHsKICAgICAgICAgICAgJEFESURO
U0RvbWFpbiA9ICRjdXJyZW50X2RvbWFpbi5OYW1lCiAgICAgICAgfQoKICAgICAgICBpZighJEFE
SUROU0ZvcmVzdCkKICAgICAgICB7CiAgICAgICAgICAgICRBRElETlNGb3Jlc3QgPSAkY3VycmVu
dF9kb21haW4uRm9yZXN0CiAgICAgICAgfQogICAgCiAgICAgICAgaWYoISRBRElETlNab25lKQog
ICAgICAgIHsKICAgICAgICAgICAgJEFESUROU1pvbmUgPSAkY3VycmVudF9kb21haW4uTmFtZQog
ICAgICAgIH0KCiAgICB9Cgp9CgppZigkSFRUUERlZmF1bHRGaWxlIC1vciAkSFRUUERlZmF1bHRF
WEUpCnsKCiAgICBpZighJEhUVFBEaXJlY3RvcnkpCiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0
ICJbLV0gWW91IG11c3Qgc3BlY2lmeSBhbiAtSFRUUERpciB3aGVuIHVzaW5nIGVpdGhlciAtSFRU
UERlZmF1bHRGaWxlIG9yIC1IVFRQRGVmYXVsdEVYRSIKICAgICAgICB0aHJvdwogICAgfQoKfQoK
aWYoJEtlcmJlcm9zIC1lcSAnWScgLWFuZCAhJEtlcmJlcm9zQ3JlZGVudGlhbCAtYW5kICEkS2Vy
YmVyb3NIYXNoKQp7CiAgICBXcml0ZS1PdXRwdXQgIlstXSBZb3UgbXVzdCBzcGVjaWZ5IGEgLUtl
cmJlcm9zQ3JlZGVudGlhbCBvciAtS2VyYmVyb3NIYXNoIHdoZW4gZW5hYmxpbmcgS2VyYmVyb3Mg
Y2FwdHVyZSIKICAgIHRocm93Cn0KCmlmKCRXUEFESVAgLW9yICRXUEFEUG9ydCkKewoKICAgIGlm
KCEkV1BBRElQKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAiWy1dIFlvdSBtdXN0IHNwZWNp
ZnkgYSAtV1BBRFBvcnQgdG8gZ28gd2l0aCAtV1BBRElQIgogICAgICAgIHRocm93CiAgICB9Cgog
ICAgaWYoISRXUEFEUG9ydCkKICAgIHsKICAgICAgICBXcml0ZS1PdXRwdXQgIlstXSBZb3UgbXVz
dCBzcGVjaWZ5IGEgLVdQQURJUCB0byBnbyB3aXRoIC1XUEFEUG9ydCIKICAgICAgICB0aHJvdwog
ICAgfQoKfQoKaWYoJE5CTlNCcnV0ZUZvcmNlIC1lcSAnWScgLWFuZCAhJE5CTlNCcnV0ZUZvcmNl
VGFyZ2V0KQp7CiAgICBXcml0ZS1PdXRwdXQgIlstXSBZb3UgbXVzdCBzcGVjaWZ5IGEgLU5CTlNC
cnV0ZUZvcmNlVGFyZ2V0IGlmIGVuYWJsaW5nIC1OQk5TQnJ1dGVGb3JjZSIKICAgIHRocm93Cn0K
CmlmKCEkRmlsZU91dHB1dERpcmVjdG9yeSkKeyAKICAgICRvdXRwdXRfZGlyZWN0b3J5ID0gJFBX
RC5QYXRoCn0KZWxzZQp7CiAgICAkb3V0cHV0X2RpcmVjdG9yeSA9ICRGaWxlT3V0cHV0RGlyZWN0
b3J5Cn0KCmlmKCEkaW52ZWlnaCkKewogICAgJGdsb2JhbDppbnZlaWdoID0gW0hhc2hUYWJsZV06
OlN5bmNocm9uaXplZChAe30pCiAgICAkaW52ZWlnaC5jbGVhcnRleHRfbGlzdCA9IE5ldy1PYmpl
Y3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgJGludmVpZ2guZW51bWVyYXRlID0g
TmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0CiAgICAkaW52ZWlnaC5JUF9j
YXB0dXJlX2xpc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAg
ICRpbnZlaWdoLmxvZyA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAog
ICAgJGludmVpZ2gua2VyYmVyb3NfVEdUX2xpc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0
aW9ucy5BcnJheUxpc3QKICAgICRpbnZlaWdoLmtlcmJlcm9zX1RHVF91c2VybmFtZV9saXN0ID0g
TmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0CiAgICAkaW52ZWlnaC5OVExN
djFfbGlzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgJGlu
dmVpZ2guTlRMTXYxX3VzZXJuYW1lX2xpc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9u
cy5BcnJheUxpc3QKICAgICRpbnZlaWdoLk5UTE12Ml9saXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0u
Q29sbGVjdGlvbnMuQXJyYXlMaXN0CiAgICAkaW52ZWlnaC5OVExNdjJfdXNlcm5hbWVfbGlzdCA9
IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgJGludmVpZ2guUE9T
VF9yZXF1ZXN0X2xpc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QK
ICAgICRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rp
b25zLkFycmF5TGlzdAogICAgJGludmVpZ2guQURJRE5TX3RhYmxlID0gW0hhc2hUYWJsZV06OlN5
bmNocm9uaXplZChAe30pCiAgICAkaW52ZWlnaC5yZWxheV9wcml2aWxlZ2VfdGFibGUgPSBbSGFz
aFRhYmxlXTo6U3luY2hyb25pemVkKEB7fSkKICAgICRpbnZlaWdoLnJlbGF5X2ZhaWxlZF9sb2dp
bl90YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgJGludmVpZ2gucmVs
YXlfaGlzdG9yeV90YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgJGlu
dmVpZ2gucmVxdWVzdF90YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAg
JGludmVpZ2guc2Vzc2lvbl9zb2NrZXRfdGFibGUgPSBbSGFzaFRhYmxlXTo6U3luY2hyb25pemVk
KEB7fSkKICAgICRpbnZlaWdoLnNlc3Npb25fdGFibGUgPSBbSGFzaFRhYmxlXTo6U3luY2hyb25p
emVkKEB7fSkKICAgICRpbnZlaWdoLnNlc3Npb25fbWVzc2FnZV9JRF90YWJsZSA9IFtIYXNoVGFi
bGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgJGludmVpZ2guc2Vzc2lvbl9sb2NrX3RhYmxlID0g
W0hhc2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAgICAkaW52ZWlnaC5TTUJfc2Vzc2lvbl90
YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgJGludmVpZ2guZG9tYWlu
X21hcHBpbmdfdGFibGUgPSBbSGFzaFRhYmxlXTo6U3luY2hyb25pemVkKEB7fSkKICAgICRpbnZl
aWdoLmdyb3VwX3RhYmxlID0gW0hhc2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAgICAkaW52
ZWlnaC5zZXNzaW9uX2NvdW50ID0gMAogICAgJGludmVpZ2guc2Vzc2lvbiA9IEAoKQp9CgppZigk
aW52ZWlnaC5ydW5uaW5nKQp7CiAgICBXcml0ZS1PdXRwdXQgIlstXSBJbnZlaWdoIGlzIGFscmVh
ZHkgcnVubmluZyIKICAgIHRocm93Cn0KCiRpbnZlaWdoLnN0b3AgPSAkZmFsc2UKCmlmKCEkaW52
ZWlnaC5yZWxheV9ydW5uaW5nKQp7CiAgICAkaW52ZWlnaC5jbGVhcnRleHRfZmlsZV9xdWV1ZSA9
IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgJGludmVpZ2guY29u
c29sZV9xdWV1ZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAg
JGludmVpZ2guSFRUUF9jaGFsbGVuZ2VfcXVldWUgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0
aW9ucy5BcnJheUxpc3QKICAgICRpbnZlaWdoLmxvZ19maWxlX3F1ZXVlID0gTmV3LU9iamVjdCBT
eXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0CiAgICAkaW52ZWlnaC5OVExNdjFfZmlsZV9xdWV1
ZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgJGludmVpZ2gu
TlRMTXYyX2ZpbGVfcXVldWUgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxp
c3QKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rp
b25zLkFycmF5TGlzdAogICAgJGludmVpZ2guUE9TVF9yZXF1ZXN0X2ZpbGVfcXVldWUgPSBOZXct
T2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICRpbnZlaWdoLkhUVFBfc2Vz
c2lvbl90YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgJGludmVpZ2gu
Y29uc29sZV9pbnB1dCA9ICR0cnVlCiAgICAkaW52ZWlnaC5jb25zb2xlX291dHB1dCA9ICRmYWxz
ZQogICAgJGludmVpZ2guZmlsZV9vdXRwdXQgPSAkZmFsc2UKICAgICRpbnZlaWdoLkhUVFBTX2V4
aXN0aW5nX2NlcnRpZmljYXRlID0gJGZhbHNlCiAgICAkaW52ZWlnaC5IVFRQU19mb3JjZV9jZXJ0
aWZpY2F0ZV9kZWxldGUgPSAkZmFsc2UKICAgICRpbnZlaWdoLmxvZ19vdXRwdXQgPSAkdHJ1ZQog
ICAgJGludmVpZ2guY2xlYXJ0ZXh0X291dF9maWxlID0gJG91dHB1dF9kaXJlY3RvcnkgKyAiXElu
dmVpZ2gtQ2xlYXJ0ZXh0LnR4dCIKICAgICRpbnZlaWdoLmxvZ19vdXRfZmlsZSA9ICRvdXRwdXRf
ZGlyZWN0b3J5ICsgIlxJbnZlaWdoLUxvZy50eHQiCiAgICAkaW52ZWlnaC5OVExNdjFfb3V0X2Zp
bGUgPSAkb3V0cHV0X2RpcmVjdG9yeSArICJcSW52ZWlnaC1OVExNdjEudHh0IgogICAgJGludmVp
Z2guTlRMTXYyX291dF9maWxlID0gJG91dHB1dF9kaXJlY3RvcnkgKyAiXEludmVpZ2gtTlRMTXYy
LnR4dCIKICAgICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9vdXRfZmlsZSA9ICRvdXRwdXRfZGlyZWN0
b3J5ICsgIlxJbnZlaWdoLUZvcm1JbnB1dC50eHQiCn0KCmlmKCRFbGV2YXRlZCAtZXEgJ0F1dG8n
KQp7CiAgICAkZWxldmF0ZWRfcHJpdmlsZWdlID0gW0Jvb2xdKChbU3lzdGVtLlNlY3VyaXR5LlBy
aW5jaXBhbC5XaW5kb3dzSWRlbnRpdHldOjpHZXRDdXJyZW50KCkpLmdyb3VwcyAtbWF0Y2ggIlMt
MS01LTMyLTU0NCIpCn0KZWxzZQp7CiAKICAgIGlmKCRFbGV2YXRlZCAtZXEgJ1knKQogICAgewog
ICAgICAgICRlbGV2YXRlZF9wcml2aWxlZ2VfY2hlY2sgPSBbQm9vbF0oKFtTeXN0ZW0uU2VjdXJp
dHkuUHJpbmNpcGFsLldpbmRvd3NJZGVudGl0eV06OkdldEN1cnJlbnQoKSkuZ3JvdXBzIC1tYXRj
aCAiUy0xLTUtMzItNTQ0IikKICAgICAgICAkZWxldmF0ZWRfcHJpdmlsZWdlID0gJHRydWUKICAg
IH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkZWxldmF0ZWRfcHJpdmlsZWdlID0gJGZhbHNlCiAg
ICB9CiAgICAKfQoKaWYoJFN0YXJ0dXBDaGVja3MgLWVxICdZJykKewoKICAgICRmaXJld2FsbF9z
dGF0dXMgPSBuZXRzaCBhZHZmaXJld2FsbCBzaG93IGFsbHByb2ZpbGVzIHN0YXRlIHwgV2hlcmUt
T2JqZWN0IHskXyAtbWF0Y2ggJ09OJ30KCiAgICBpZigkSFRUUCAtZXEgJ1knKQogICAgewogICAg
ICAgICRIVFRQX3BvcnRfY2hlY2sgPSBuZXRzdGF0IC1hbnAgVENQIHwgZmluZHN0ciBMSVNURU5J
TkcgfCBmaW5kc3RyIC9DOiIkSFRUUElQYDokSFRUUFBvcnQgIgogICAgfQoKICAgIGlmKCRIVFRQ
UyAtZXEgJ1knKQogICAgewogICAgICAgICRIVFRQU19wb3J0X2NoZWNrID0gbmV0c3RhdCAtYW5w
IFRDUCB8IGZpbmRzdHIgTElTVEVOSU5HIHwgZmluZHN0ciAvQzoiJEhUVFBJUGA6JEhUVFBTUG9y
dCAiCiAgICB9CgogICAgaWYoJFByb3h5IC1lcSAnWScpCiAgICB7CiAgICAgICAgJHByb3h5X3Bv
cnRfY2hlY2sgPSBuZXRzdGF0IC1hbnAgVENQIHwgZmluZHN0ciBMSVNURU5JTkcgfCBmaW5kc3Ry
IC9DOiIkSFRUUElQYDokUHJveHlQb3J0ICIKICAgIH0KCiAgICBpZigkRE5TIC1lcSAnWScgLWFu
ZCAhJGVsZXZhdGVkX3ByaXZpbGVnZSkKICAgIHsKICAgICAgICAkRE5TX3BvcnRfY2hlY2sgPSBu
ZXRzdGF0IC1hbnAgVURQIHwgZmluZHN0ciAvQzoiMC4wLjAuMDo1MyAiCiAgICAgICAgJEROU19w
b3J0X2NoZWNrID0gJGZhbHNlCiAgICB9CgogICAgaWYoJExMTU5SIC1lcSAnWScgLWFuZCAhJGVs
ZXZhdGVkX3ByaXZpbGVnZSkKICAgIHsKICAgICAgICAkTExNTlJfcG9ydF9jaGVjayA9IG5ldHN0
YXQgLWFucCBVRFAgfCBmaW5kc3RyIC9DOiIwLjAuMC4wOjUzNTUgIgogICAgICAgICRMTE1OUl9w
b3J0X2NoZWNrID0gJGZhbHNlCiAgICB9CgogICAgaWYoJG1ETlMgLWVxICdZJyAtYW5kICEkZWxl
dmF0ZWRfcHJpdmlsZWdlKQogICAgewogICAgICAgICRtRE5TX3BvcnRfY2hlY2sgPSBuZXRzdGF0
IC1hbnAgVURQIHwgZmluZHN0ciAvQzoiMC4wLjAuMDo1MzUzICIKICAgIH0KCn0KCmlmKCEkZWxl
dmF0ZWRfcHJpdmlsZWdlKQp7CgogICAgaWYoJEhUVFBTIC1lcSAnWScpCiAgICB7CiAgICAgICAg
V3JpdGUtT3V0cHV0ICJbLV0gSFRUUFMgcmVxdWlyZXMgZWxldmF0ZWQgcHJpdmlsZWdlcyIKICAg
ICAgICB0aHJvdwogICAgfQoKICAgIGlmKCRTcG9vZmVyTGVhcm5pbmcgLWVxICdZJykKICAgIHsK
ICAgICAgICBXcml0ZS1PdXRwdXQgIlstXSBTcG9vZmVyTGVhcm5pbmcgcmVxdWlyZXMgZWxldmF0
ZWQgcHJpdmlsZWdlcyIKICAgICAgICB0aHJvdwogICAgfQoKICAgIGlmKCRQY2FwIC1lcSAnRmls
ZScpCiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0ICJbLV0gUGNhcCBmaWxlIG91dHB1dCByZXF1
aXJlcyBlbGV2YXRlZCBwcml2aWxlZ2VzIgogICAgICAgIHRocm93CiAgICB9CgogICAgaWYoISRQ
U0JvdW5kUGFyYW1ldGVycy5Db250YWluc0tleSgnTkJOUycpKQogICAgewogICAgICAgICROQk5T
ID0gIlkiCiAgICB9CgogICAgJFNNQiA9ICJOIgp9CgokaW52ZWlnaC5ob3N0bmFtZV9zcG9vZiA9
ICRmYWxzZQokaW52ZWlnaC5ydW5uaW5nID0gJHRydWUKCmlmKCRTdGF0dXNPdXRwdXQgLWVxICdZ
JykKewogICAgJGludmVpZ2guc3RhdHVzX291dHB1dCA9ICR0cnVlCn0KZWxzZQp7CiAgICAkaW52
ZWlnaC5zdGF0dXNfb3V0cHV0ID0gJGZhbHNlCn0KCmlmKCRPdXRwdXRTdHJlYW1Pbmx5IC1lcSAn
WScpCnsKICAgICRpbnZlaWdoLm91dHB1dF9zdHJlYW1fb25seSA9ICR0cnVlCn0KZWxzZQp7CiAg
ICAkaW52ZWlnaC5vdXRwdXRfc3RyZWFtX29ubHkgPSAkZmFsc2UKfQoKaWYoJEluc3BlY3QpCnsK
CiAgICBpZigkZWxldmF0ZWRfcHJpdmlsZWdlKQogICAgewogICAgICAgICRETlMgPSAiTiIKICAg
ICAgICAkTExNTlIgPSAiTiIKICAgICAgICAkbUROUyA9ICJOIgogICAgICAgICROQk5TID0gIk4i
CiAgICAgICAgJEhUVFAgPSAiTiIKICAgICAgICAkSFRUUFMgPSAiTiIKICAgICAgICAkUHJveHkg
PSAiTiIKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkSFRUUCA9ICJOIgogICAgICAgICRI
VFRQUyA9ICJOIgogICAgICAgICRQcm94eSA9ICJOIgogICAgfQoKfQoKaWYoJFRvb2wgLWVxIDEp
ICMgTWV0YXNwbG9pdCBJbnRlcmFjdGl2ZSBQb3dlclNoZWxsIFBheWxvYWRzIGFuZCBNZXRlcnBy
ZXRlcidzIFBvd2VyU2hlbGwgRXh0ZW5zaW9uCnsKICAgICRpbnZlaWdoLnRvb2wgPSAxCiAgICAk
aW52ZWlnaC5vdXRwdXRfc3RyZWFtX29ubHkgPSAkdHJ1ZQogICAgJGludmVpZ2gubmV3bGluZSA9
ICRudWxsCiAgICAkQ29uc29sZU91dHB1dCA9ICJOIgoKfQplbHNlaWYoJFRvb2wgLWVxIDIpICMg
UG93ZXJTaGVsbCBFbXBpcmUKewogICAgJGludmVpZ2gudG9vbCA9IDIKICAgICRpbnZlaWdoLm91
dHB1dF9zdHJlYW1fb25seSA9ICR0cnVlCiAgICAkaW52ZWlnaC5jb25zb2xlX2lucHV0ID0gJGZh
bHNlCiAgICAkaW52ZWlnaC5uZXdsaW5lID0gJG51bGwKICAgICRMb2dPdXRwdXQgPSAiTiIKICAg
ICRTaG93SGVscCA9ICJOIgoKICAgIHN3aXRjaCAoJENvbnNvbGVPdXRwdXQpCiAgICB7CgogICAg
ICAgICdMb3cnCiAgICAgICAgewogICAgICAgICAgICAkQ29uc29sZU91dHB1dCA9ICJMb3ciCiAg
ICAgICAgfQoKICAgICAgICAnTWVkaXVtJwogICAgICAgIHsKICAgICAgICAgICAgJENvbnNvbGVP
dXRwdXQgPSAiTWVkaXVtIgogICAgICAgIH0KCiAgICAgICAgZGVmYXVsdAogICAgICAgIHsKICAg
ICAgICAgICAgJENvbnNvbGVPdXRwdXQgPSAiWSIKICAgICAgICB9CgogICAgfQoKfQplbHNlCnsK
ICAgICRpbnZlaWdoLnRvb2wgPSAwCiAgICAkaW52ZWlnaC5uZXdsaW5lID0gJG51bGwKfQoKJGlu
dmVpZ2gubmV0QklPU19kb21haW4gPSAoR2V0LUNoaWxkSXRlbSAtcGF0aCBlbnY6dXNlcmRvbWFp
bikuVmFsdWUKJGludmVpZ2guY29tcHV0ZXJfbmFtZSA9IChHZXQtQ2hpbGRJdGVtIC1wYXRoIGVu
djpjb21wdXRlcm5hbWUpLlZhbHVlCgp0cnkKewogICAgJGludmVpZ2guRE5TX2RvbWFpbiA9ICgo
R2V0LUNoaWxkSXRlbSAtcGF0aCBlbnY6dXNlcmRuc2RvbWFpbiAtRXJyb3JBY3Rpb24gJ1NpbGVu
dGx5Q29udGludWUnKS5WYWx1ZSkuVG9Mb3dlcigpCiAgICAkaW52ZWlnaC5ETlNfY29tcHV0ZXJf
bmFtZSA9ICgkaW52ZWlnaC5jb21wdXRlcl9uYW1lICsgIi4iICsgJGludmVpZ2guRE5TX2RvbWFp
bikuVG9Mb3dlcigpCgogICAgaWYoISRpbnZlaWdoLmRvbWFpbl9tYXBwaW5nX3RhYmxlLigkaW52
ZWlnaC5uZXRCSU9TX2RvbWFpbikpCiAgICB7CiAgICAgICAgJGludmVpZ2guZG9tYWluX21hcHBp
bmdfdGFibGUuQWRkKCRpbnZlaWdoLm5ldEJJT1NfZG9tYWluLCRpbnZlaWdoLkROU19kb21haW4p
CiAgICB9Cgp9CmNhdGNoCnsKICAgICRpbnZlaWdoLkROU19kb21haW4gPSAkaW52ZWlnaC5uZXRC
SU9TX2RvbWFpbgogICAgJGludmVpZ2guRE5TX2NvbXB1dGVyX25hbWUgPSAkaW52ZWlnaC5jb21w
dXRlcl9uYW1lCn0KCiNlbmRyZWdpb24KI3JlZ2lvbiBiZWdpbiBzdGFydHVwIG1lc3NhZ2VzCiRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsqXSBJbnZlaWdoICRpbnZlaWdoX3ZlcnNpb24gc3Rh
cnRlZCBhdCAkKEdldC1EYXRlIC1mb3JtYXQgcykiKSA+ICRudWxsCgppZigkRWxldmF0ZWQgLWVx
ICdZJyAtb3IgJGVsZXZhdGVkX3ByaXZpbGVnZSkKewoKICAgIGlmKCgkRWxldmF0ZWQgLWVxICdB
dXRvJyAtYW5kICRlbGV2YXRlZF9wcml2aWxlZ2UpIC1vciAoJEVsZXZhdGVkIC1lcSAnWScgLWFu
ZCAkZWxldmF0ZWRfcHJpdmlsZWdlX2NoZWNrKSkKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRw
dXRfcXVldWUuQWRkKCJbK10gRWxldmF0ZWQgUHJpdmlsZWdlIE1vZGUgPSBFbmFibGVkIikgID4g
JG51bGwKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUu
QWRkKCJbLV0gRWxldmF0ZWQgUHJpdmlsZWdlIE1vZGUgRW5hYmxlZCBCdXQgQ2hlY2sgRmFpbGVk
IikgID4gJG51bGwKICAgIH0KCn0KZWxzZQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbIV0gRWxldmF0ZWQgUHJpdmlsZWdlIE1vZGUgPSBEaXNhYmxlZCIpICA+ICRudWxsCiAgICAk
U01CID0gIk4iCn0KCmlmKCRmaXJld2FsbF9zdGF0dXMpCnsKICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlshXSBXaW5kb3dzIEZpcmV3YWxsID0gRW5hYmxlZCIpICA+ICRudWxsCn0KCiRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBQcmltYXJ5IElQIEFkZHJlc3MgPSAkSVAiKSAg
PiAkbnVsbAoKaWYoJEROUyAtZXEgJ1knIC1vciAkTExNTlIgLWVxICdZJyAtb3IgJG1ETlMgLWVx
ICdZJyAtb3IgJE5CTlMgLWVxICdZJykKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgi
WytdIFNwb29mZXIgSVAgQWRkcmVzcyA9ICRTcG9vZmVySVAiKSAgPiAkbnVsbAp9CgppZigkTExN
TlIgLWVxICdZJyAtb3IgJE5CTlMgLWVxICdZJykKewoKICAgIGlmKCRTcG9vZmVyVGhyZXNob2xk
SG9zdCAtZ3QgMCkKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10g
U3Bvb2ZlciBUaHJlc2hvbGQgSG9zdCA9ICRTcG9vZmVyVGhyZXNob2xkSG9zdCIpICA+ICRudWxs
CiAgICB9CgogICAgaWYoJFNwb29mZXJUaHJlc2hvbGROZXR3b3JrIC1ndCAwKQogICAgewogICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBTcG9vZmVyIFRocmVzaG9sZCBOZXR3
b3JrID0gJFNwb29mZXJUaHJlc2hvbGROZXR3b3JrIikgID4gJG51bGwKICAgIH0KICAgIAp9Cgpp
ZigkQURJRE5TKQp7CiAgICAkaW52ZWlnaC5BRElETlMgPSAkQURJRE5TCiAgICAkaW52ZWlnaC5v
dXRwdXRfcXVldWUuQWRkKCJbK10gQURJRE5TIFNwb29mZXIgPSAkQURJRE5TIikgID4gJG51bGwK
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBBRElETlMgSG9zdHMgSWdub3JlID0g
IiArICgkQURJRE5TSG9zdHNJZ25vcmUgLWpvaW4gIiwiKSkgID4gJG51bGwKICAgICRpbnZlaWdo
Lm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBBRElETlMgRG9tYWluIENvbnRyb2xsZXIgPSAkQURJRE5T
RG9tYWluQ29udHJvbGxlciIpICA+ICRudWxsCiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbK10gQURJRE5TIERvbWFpbiA9ICRBRElETlNEb21haW4iKSAgPiAkbnVsbAogICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEFESUROUyBGb3Jlc3QgPSAkQURJRE5TRm9yZXN0Iikg
ID4gJG51bGwKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBBRElETlMgVFRMID0g
JEFESUROU1RUTCIpICA+ICRudWxsCiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10g
QURJRE5TIFpvbmUgPSAkQURJRE5TWm9uZSIpICA+ICRudWxsCgogICAgaWYoJGludmVpZ2guQURJ
RE5TIC1jb250YWlucyAnTlMnKQogICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5B
ZGQoIlsrXSBBRElETlMgTlMgUmVjb3JkID0gJEFESUROU05TIikgID4gJG51bGwKICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gQURJRE5TIE5TIFRhcmdldCBSZWNvcmQgPSAk
QURJRE5TTlNUYXJnZXQiKSAgPiAkbnVsbAogICAgfQoKICAgIGlmKCRBRElETlNBQ0UgLWVxICdZ
JykKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gQURJRE5TIEFD
RSBBZGQgPSBFbmFibGVkIikgID4gJG51bGwKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gQURJRE5TIEFDRSBBZGQgPSBEaXNhYmxlZCIp
ICA+ICRudWxsICAgIAogICAgfQoKICAgIGlmKCRBRElETlNDbGVhbnVwIC1lcSAnWScpCiAgICB7
CiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEFESUROUyBDbGVhbnVwID0g
RW5hYmxlZCIpICA+ICRudWxsCiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgJGludmVpZ2gu
b3V0cHV0X3F1ZXVlLkFkZCgiWytdIEFESUROUyBDbGVhbnVwID0gRGlzYWJsZWQiKSAgPiAkbnVs
bCAgICAKICAgIH0KCiAgICBpZigkQURJRE5TIC1lcSAnQ29tYm8nKQogICAgewogICAgICAgICRp
bnZlaWdoLnJlcXVlc3RfdGFibGVfdXBkYXRlZCA9ICR0cnVlCiAgICB9Cgp9CmVsc2UKewogICAg
JGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEFESUROUyBTcG9vZmVyID0gRGlzYWJsZWQi
KSAgPiAkbnVsbAp9CgppZigkRE5TIC1lcSAnWScpCnsKCiAgICBpZigkZWxldmF0ZWRfcHJpdmls
ZWdlIC1vciAhJEROU19wb3J0X2NoZWNrKQogICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlsrXSBETlMgU3Bvb2ZlciA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgICAgICRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBETlMgVFRMID0gJEROU1RUTCBTZWNvbmRzIikg
ID4gJG51bGwKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkRE5TID0gIk4iCiAgICAgICAg
JGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIEROUyBTcG9vZmVyIERpc2FibGVkIER1ZSBU
byBJbiBVc2UgUG9ydCA1MyIpICA+ICRudWxsCiAgICB9Cgp9CmVsc2UKewogICAgJGludmVpZ2gu
b3V0cHV0X3F1ZXVlLkFkZCgiWytdIEROUyBTcG9vZmVyID0gRGlzYWJsZWQiKSAgPiAkbnVsbAp9
CgppZigkTExNTlIgLWVxICdZJykKewoKICAgIGlmKCRlbGV2YXRlZF9wcml2aWxlZ2UgLW9yICEk
TExNTlJfcG9ydF9jaGVjaykKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbK10gTExNTlIgU3Bvb2ZlciA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgICAgICRpbnZlaWdo
Lm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBMTE1OUiBUVEwgPSAkTExNTlJUVEwgU2Vjb25kcyIpICA+
ICRudWxsCiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgJExMTU5SID0gIk4iCiAgICAgICAg
JGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIExMTU5SIFNwb29mZXIgRGlzYWJsZWQgRHVl
IFRvIEluIFVzZSBQb3J0IDUzNTUiKSAgPiAkbnVsbAogICAgfQoKfQplbHNlCnsKICAgICRpbnZl
aWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBMTE1OUiBTcG9vZmVyID0gRGlzYWJsZWQiKSAgPiAk
bnVsbAp9CgppZigkbUROUyAtZXEgJ1knKQp7CgogICAgaWYoJGVsZXZhdGVkX3ByaXZpbGVnZSAt
b3IgISRtRE5TX3BvcnRfY2hlY2spCiAgICB7CiAgICAgICAgJG1ETlNUeXBlc19vdXRwdXQgPSAk
bUROU1R5cGVzIC1qb2luICIsIgoKICAgICAgICBpZigkbUROU1R5cGVzLkNvdW50IC1lcSAxKQog
ICAgICAgIHsKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIG1ETlMg
U3Bvb2ZlciBGb3IgVHlwZSAkbUROU1R5cGVzX291dHB1dCA9IEVuYWJsZWQiKSAgPiAkbnVsbAog
ICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAkaW52ZWlnaC5vdXRw
dXRfcXVldWUuQWRkKCJbK10gbUROUyBTcG9vZmVyIEZvciBUeXBlcyAkbUROU1R5cGVzX291dHB1
dCA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgICAgIH0KCiAgICAgICAgJGludmVpZ2gub3V0cHV0
X3F1ZXVlLkFkZCgiWytdIG1ETlMgVFRMID0gJG1ETlNUVEwgU2Vjb25kcyIpICA+ICRudWxsCiAg
ICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgJG1ETlMgPSAiTiIKICAgICAgICAkaW52ZWlnaC5v
dXRwdXRfcXVldWUuQWRkKCJbLV0gbUROUyBTcG9vZmVyIERpc2FibGVkIER1ZSBUbyBJbiBVc2Ug
UG9ydCA1MzUzIikgID4gJG51bGwKICAgIH0KCn0KZWxzZQp7CiAgICAkaW52ZWlnaC5vdXRwdXRf
cXVldWUuQWRkKCJbK10gbUROUyBTcG9vZmVyID0gRGlzYWJsZWQiKSAgPiAkbnVsbAp9CgppZigk
TkJOUyAtZXEgJ1knKQp7CiAgICAkTkJOU1R5cGVzX291dHB1dCA9ICROQk5TVHlwZXMgLWpvaW4g
IiwiCiAgICAKICAgIGlmKCROQk5TVHlwZXMuQ291bnQgLWVxIDEpCiAgICB7CiAgICAgICAgJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIE5CTlMgU3Bvb2ZlciBGb3IgVHlwZSAkTkJOU1R5
cGVzX291dHB1dCA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgfQogICAgZWxzZQogICAgewogICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBOQk5TIFNwb29mZXIgRm9yIFR5cGVz
ICROQk5TVHlwZXNfb3V0cHV0ID0gRW5hYmxlZCIpICA+ICRudWxsCiAgICB9Cgp9CmVsc2UKewog
ICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIE5CTlMgU3Bvb2ZlciA9IERpc2FibGVk
IikgID4gJG51bGwKfQoKaWYoJE5CTlNCcnV0ZUZvcmNlIC1lcSAnWScpCnsgICAKICAgICRpbnZl
aWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBOQk5TIEJydXRlIEZvcmNlIFNwb29mZXIgVGFyZ2V0
ID0gJE5CTlNCcnV0ZUZvcmNlVGFyZ2V0IikgPiAkbnVsbAogICAgJGludmVpZ2gub3V0cHV0X3F1
ZXVlLkFkZCgiWytdIE5CTlMgQnJ1dGUgRm9yY2UgU3Bvb2ZlciBJUCBBZGRyZXNzID0gJFNwb29m
ZXJJUCIpID4gJG51bGwKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBOQk5TIEJy
dXRlIEZvcmNlIFNwb29mZXIgSG9zdG5hbWUgPSAkTkJOU0JydXRlRm9yY2VIb3N0IikgPiAkbnVs
bAoKICAgIGlmKCROQk5TQnJ1dGVGb3JjZVBhdXNlKQogICAgewogICAgICAgICRpbnZlaWdoLm91
dHB1dF9xdWV1ZS5BZGQoIlsrXSBOQk5TIEJydXRlIEZvcmNlIFBhdXNlID0gJE5CTlNCcnV0ZUZv
cmNlUGF1c2UgU2Vjb25kcyIpID4gJG51bGwKICAgIH0KCn0KCmlmKCROQk5TIC1lcSAnWScgLW9y
ICROQk5TQnJ1dGVGb3JjZSAtZXEgJ1knKQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbK10gTkJOUyBUVEwgPSAkTkJOU1RUTCBTZWNvbmRzIikgPiAkbnVsbAp9CgppZigkU3Bvb2Zl
ckxlYXJuaW5nIC1lcSAnWScgLWFuZCAoJExMTU5SIC1lcSAnWScgLW9yICROQk5TIC1lcSAnWScp
KQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gU3Bvb2ZlciBMZWFybmluZyA9
IEVuYWJsZWQiKSAgPiAkbnVsbAoKICAgIGlmKCRTcG9vZmVyTGVhcm5pbmdEZWxheSAtZXEgMSkK
ICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gU3Bvb2ZlciBMZWFy
bmluZyBEZWxheSA9ICRTcG9vZmVyTGVhcm5pbmdEZWxheSBNaW51dGUiKSAgPiAkbnVsbAogICAg
fQogICAgZWxzZWlmKCRTcG9vZmVyTGVhcm5pbmdEZWxheSAtZ3QgMSkKICAgIHsKICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gU3Bvb2ZlciBMZWFybmluZyBEZWxheSA9ICRT
cG9vZmVyTGVhcm5pbmdEZWxheSBNaW51dGVzIikgID4gJG51bGwKICAgIH0KICAgIAogICAgaWYo
JFNwb29mZXJMZWFybmluZ0ludGVydmFsIC1lcSAxKQogICAgewogICAgICAgICRpbnZlaWdoLm91
dHB1dF9xdWV1ZS5BZGQoIlsrXSBTcG9vZmVyIExlYXJuaW5nIEludGVydmFsID0gJFNwb29mZXJM
ZWFybmluZ0ludGVydmFsIE1pbnV0ZSIpICA+ICRudWxsCiAgICB9CiAgICBlbHNlaWYoJFNwb29m
ZXJMZWFybmluZ0ludGVydmFsIC1lcSAwKQogICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlsrXSBTcG9vZmVyIExlYXJuaW5nIEludGVydmFsID0gRGlzYWJsZWQiKSAgPiAk
bnVsbAogICAgfQogICAgZWxzZWlmKCRTcG9vZmVyTGVhcm5pbmdJbnRlcnZhbCAtZ3QgMSkKICAg
IHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gU3Bvb2ZlciBMZWFybmlu
ZyBJbnRlcnZhbCA9ICRTcG9vZmVyTGVhcm5pbmdJbnRlcnZhbCBNaW51dGVzIikgID4gJG51bGwK
ICAgIH0KCn0KCmlmKCRTcG9vZmVySG9zdHNSZXBseSAtYW5kICgkTExNTlIgLWVxICdZJyAtb3Ig
JE5CTlMgLWVxICdZJykpCnsKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBTcG9v
ZmVyIEhvc3RzIFJlcGx5ID0gIiArICgkU3Bvb2Zlckhvc3RzUmVwbHkgLWpvaW4gIiwiKSkgID4g
JG51bGwKfQoKaWYoJFNwb29mZXJIb3N0c0lnbm9yZSAtYW5kICgkTExNTlIgLWVxICdZJyAtb3Ig
JE5CTlMgLWVxICdZJykpCnsKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBTcG9v
ZmVyIEhvc3RzIElnbm9yZSA9ICIgKyAoJFNwb29mZXJIb3N0c0lnbm9yZSAtam9pbiAiLCIpKSAg
PiAkbnVsbAp9CgppZigkU3Bvb2ZlcklQc1JlcGx5IC1hbmQgKCRMTE1OUiAtZXEgJ1knIC1vciAk
TkJOUyAtZXEgJ1knKSkKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFNwb29m
ZXIgSVBzIFJlcGx5ID0gIiArICgkU3Bvb2ZlcklQc1JlcGx5IC1qb2luICIsIikpICA+ICRudWxs
Cn0KCmlmKCRTcG9vZmVySVBzSWdub3JlIC1hbmQgKCRMTE1OUiAtZXEgJ1knIC1vciAkTkJOUyAt
ZXEgJ1knKSkKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFNwb29mZXIgSVBz
IElnbm9yZSA9ICIgKyAoJFNwb29mZXJJUHNJZ25vcmUgLWpvaW4gIiwiKSkgID4gJG51bGwKfQoK
aWYoJFNwb29mZXJSZXBlYXQgLWVxICdOJykKewogICAgJGludmVpZ2guc3Bvb2Zlcl9yZXBlYXQg
PSAkZmFsc2UKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBTcG9vZmVyIFJlcGVh
dGluZyA9IERpc2FibGVkIikgID4gJG51bGwKfQplbHNlCnsKICAgICRpbnZlaWdoLnNwb29mZXJf
cmVwZWF0ID0gJHRydWUKfQoKaWYoJFNNQiAtZXEgJ1knIC1hbmQgJGVsZXZhdGVkX3ByaXZpbGVn
ZSkKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFNNQiBDYXB0dXJlID0gRW5h
YmxlZCIpICA+ICRudWxsCn0KZWxzZQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJb
K10gU01CIENhcHR1cmUgPSBEaXNhYmxlZCIpICA+ICRudWxsCn0KCmlmKCRIVFRQIC1lcSAnWScp
CnsKCiAgICBpZigkSFRUUF9wb3J0X2NoZWNrKQogICAgewogICAgICAgICRIVFRQID0gIk4iCiAg
ICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIEhUVFAgQ2FwdHVyZSBEaXNhYmxl
ZCBEdWUgVG8gSW4gVXNlIFBvcnQgJEhUVFBQb3J0IikgID4gJG51bGwKICAgIH0KICAgIGVsc2UK
ICAgIHsKCiAgICAgICAgaWYoJEhUVFBJUCAtbmUgJzAuMC4wLjAnKQogICAgICAgIHsKICAgICAg
ICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEhUVFAgSVAgPSAkSFRUUElQIikg
PiAkbnVsbAogICAgICAgIH0KCiAgICAgICAgaWYoJEhUVFBQb3J0IC1uZSA4MCkKICAgICAgICB7
CiAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBIVFRQIFBvcnQgPSAk
SFRUUFBvcnQiKSA+ICRudWxsCiAgICAgICAgfQoKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVl
dWUuQWRkKCJbK10gSFRUUCBDYXB0dXJlID0gRW5hYmxlZCIpICA+ICRudWxsCiAgICB9Cgp9CmVs
c2UKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEhUVFAgQ2FwdHVyZSA9IERp
c2FibGVkIikgID4gJG51bGwKfQoKaWYoJEhUVFBTIC1lcSAnWScpCnsKCiAgICBpZigkSFRUUFNf
cG9ydF9jaGVjaykKICAgIHsKICAgICAgICAkSFRUUFMgPSAiTiIKICAgICAgICAkaW52ZWlnaC5I
VFRQUyA9ICRmYWxzZQogICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlstXSBIVFRQ
UyBDYXB0dXJlIERpc2FibGVkIER1ZSBUbyBJbiBVc2UgUG9ydCAkSFRUUFNQb3J0IikgID4gJG51
bGwKICAgIH0KICAgIGVsc2UKICAgIHsKCiAgICAgICAgdHJ5CiAgICAgICAgeyAKICAgICAgICAg
ICAgJGludmVpZ2guY2VydGlmaWNhdGVfaXNzdWVyID0gJEhUVFBTQ2VydElzc3VlcgogICAgICAg
ICAgICAkaW52ZWlnaC5jZXJ0aWZpY2F0ZV9DTiA9ICRIVFRQU0NlcnRTdWJqZWN0CiAgICAgICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBIVFRQUyBDZXJ0aWZpY2F0ZSBJc3N1
ZXIgPSAiICsgJGludmVpZ2guY2VydGlmaWNhdGVfaXNzdWVyKSAgPiAkbnVsbAogICAgICAgICAg
ICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gSFRUUFMgQ2VydGlmaWNhdGUgQ04gPSAi
ICsgJGludmVpZ2guY2VydGlmaWNhdGVfQ04pICA+ICRudWxsCiAgICAgICAgICAgICRjZXJ0aWZp
Y2F0ZV9jaGVjayA9IChHZXQtQ2hpbGRJdGVtIENlcnQ6XExvY2FsTWFjaGluZVxNeSB8IFdoZXJl
LU9iamVjdCB7JF8uSXNzdWVyIC1MaWtlICJDTj0iICsgJGludmVpZ2guY2VydGlmaWNhdGVfaXNz
dWVyfSkKCiAgICAgICAgICAgIGlmKCEkY2VydGlmaWNhdGVfY2hlY2spCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICMgY3JlZGl0IHRvIHN1YlRlZSBmb3IgY2VydCBjcmVhdGlvbiBjb2Rl
IGZyb20gSW50ZXJjZXB0b3IKICAgICAgICAgICAgICAgICRjZXJ0aWZpY2F0ZV9kaXN0aW5ndWlz
aGVkX25hbWUgPSBuZXctb2JqZWN0IC1jb20gIlg1MDlFbnJvbGxtZW50LkNYNTAwRGlzdGluZ3Vp
c2hlZE5hbWUiCiAgICAgICAgICAgICAgICAkY2VydGlmaWNhdGVfZGlzdGluZ3Vpc2hlZF9uYW1l
LkVuY29kZSggIkNOPSIgKyAkaW52ZWlnaC5jZXJ0aWZpY2F0ZV9DTiwgJGNlcnRpZmljYXRlX2Rp
c3Rpbmd1aXNoZWRfbmFtZS5YNTAwTmFtZUZsYWdzLlg1MDBOYW1lRmxhZ3MuWENOX0NFUlRfTkFN
RV9TVFJfTk9ORSkKICAgICAgICAgICAgICAgICRjZXJ0aWZpY2F0ZV9pc3N1ZXJfZGlzdGluZ3Vp
c2hlZF9uYW1lID0gbmV3LW9iamVjdCAtY29tICJYNTA5RW5yb2xsbWVudC5DWDUwMERpc3Rpbmd1
aXNoZWROYW1lIgogICAgICAgICAgICAgICAgJGNlcnRpZmljYXRlX2lzc3Vlcl9kaXN0aW5ndWlz
aGVkX25hbWUuRW5jb2RlKCJDTj0iICsgJGludmVpZ2guY2VydGlmaWNhdGVfaXNzdWVyLCAkY2Vy
dGlmaWNhdGVfZGlzdGluZ3Vpc2hlZF9uYW1lLlg1MDBOYW1lRmxhZ3MuWDUwME5hbWVGbGFncy5Y
Q05fQ0VSVF9OQU1FX1NUUl9OT05FKQogICAgICAgICAgICAgICAgJGNlcnRpZmljYXRlX2tleSA9
IG5ldy1vYmplY3QgLWNvbSAiWDUwOUVucm9sbG1lbnQuQ1g1MDlQcml2YXRlS2V5IgogICAgICAg
ICAgICAgICAgJGNlcnRpZmljYXRlX2tleS5Qcm92aWRlck5hbWUgPSAiTWljcm9zb2Z0IEVuaGFu
Y2VkIFJTQSBhbmQgQUVTIENyeXB0b2dyYXBoaWMgUHJvdmlkZXIiCiAgICAgICAgICAgICAgICAk
Y2VydGlmaWNhdGVfa2V5LktleVNwZWMgPSAyCiAgICAgICAgICAgICAgICAkY2VydGlmaWNhdGVf
a2V5Lkxlbmd0aCA9IDIwNDgKCQkJICAgICRjZXJ0aWZpY2F0ZV9rZXkuTWFjaGluZUNvbnRleHQg
PSAxCiAgICAgICAgICAgICAgICAkY2VydGlmaWNhdGVfa2V5LkNyZWF0ZSgpCiAgICAgICAgICAg
ICAgICAkY2VydGlmaWNhdGVfc2VydmVyX2F1dGhfT0lEID0gbmV3LW9iamVjdCAtY29tICJYNTA5
RW5yb2xsbWVudC5DT2JqZWN0SWQiCgkJCSAgICAkY2VydGlmaWNhdGVfc2VydmVyX2F1dGhfT0lE
LkluaXRpYWxpemVGcm9tVmFsdWUoIjEuMy42LjEuNS41LjcuMy4xIikKCQkJICAgICRjZXJ0aWZp
Y2F0ZV9lbmhhbmNlZF9rZXlfdXNhZ2VfT0lEID0gbmV3LW9iamVjdCAtY29tICJYNTA5RW5yb2xs
bWVudC5DT2JqZWN0SWRzLjEiCgkJCSAgICAkY2VydGlmaWNhdGVfZW5oYW5jZWRfa2V5X3VzYWdl
X09JRC5BZGQoJGNlcnRpZmljYXRlX3NlcnZlcl9hdXRoX09JRCkKCQkJICAgICRjZXJ0aWZpY2F0
ZV9lbmhhbmNlZF9rZXlfdXNhZ2VfZXh0ZW5zaW9uID0gbmV3LW9iamVjdCAtY29tICJYNTA5RW5y
b2xsbWVudC5DWDUwOUV4dGVuc2lvbkVuaGFuY2VkS2V5VXNhZ2UiCgkJCSAgICAkY2VydGlmaWNh
dGVfZW5oYW5jZWRfa2V5X3VzYWdlX2V4dGVuc2lvbi5Jbml0aWFsaXplRW5jb2RlKCRjZXJ0aWZp
Y2F0ZV9lbmhhbmNlZF9rZXlfdXNhZ2VfT0lEKQoJCQkgICAgJGNlcnRpZmljYXRlID0gbmV3LW9i
amVjdCAtY29tICJYNTA5RW5yb2xsbWVudC5DWDUwOUNlcnRpZmljYXRlUmVxdWVzdENlcnRpZmlj
YXRlIgoJCQkgICAgJGNlcnRpZmljYXRlLkluaXRpYWxpemVGcm9tUHJpdmF0ZUtleSgyLCRjZXJ0
aWZpY2F0ZV9rZXksIiIpCgkJCSAgICAkY2VydGlmaWNhdGUuU3ViamVjdCA9ICRjZXJ0aWZpY2F0
ZV9kaXN0aW5ndWlzaGVkX25hbWUKCQkJICAgICRjZXJ0aWZpY2F0ZS5Jc3N1ZXIgPSAkY2VydGlm
aWNhdGVfaXNzdWVyX2Rpc3Rpbmd1aXNoZWRfbmFtZQoJCQkgICAgJGNlcnRpZmljYXRlLk5vdEJl
Zm9yZSA9IChHZXQtRGF0ZSkuQWRkRGF5cygtMjcxKQoJCQkgICAgJGNlcnRpZmljYXRlLk5vdEFm
dGVyID0gJGNlcnRpZmljYXRlLk5vdEJlZm9yZS5BZGREYXlzKDgyNCkKCQkJICAgICRjZXJ0aWZp
Y2F0ZV9oYXNoX2FsZ29yaXRobV9PSUQgPSBOZXctT2JqZWN0IC1Db21PYmplY3QgWDUwOUVucm9s
bG1lbnQuQ09iamVjdElkCgkJCSAgICAkY2VydGlmaWNhdGVfaGFzaF9hbGdvcml0aG1fT0lELklu
aXRpYWxpemVGcm9tQWxnb3JpdGhtTmFtZSgxLDAsMCwiU0hBMjU2IikKCQkJICAgICRjZXJ0aWZp
Y2F0ZS5IYXNoQWxnb3JpdGhtID0gJGNlcnRpZmljYXRlX2hhc2hfYWxnb3JpdGhtX09JRAogICAg
ICAgICAgICAgICAgJGNlcnRpZmljYXRlLlg1MDlFeHRlbnNpb25zLkFkZCgkY2VydGlmaWNhdGVf
ZW5oYW5jZWRfa2V5X3VzYWdlX2V4dGVuc2lvbikKICAgICAgICAgICAgICAgICRjZXJ0aWZpY2F0
ZV9iYXNpY19jb25zdHJhaW50cyA9IG5ldy1vYmplY3QgLWNvbSAiWDUwOUVucm9sbG1lbnQuQ1g1
MDlFeHRlbnNpb25CYXNpY0NvbnN0cmFpbnRzIgoJCQkgICAgJGNlcnRpZmljYXRlX2Jhc2ljX2Nv
bnN0cmFpbnRzLkluaXRpYWxpemVFbmNvZGUoInRydWUiLDEpCiAgICAgICAgICAgICAgICAkY2Vy
dGlmaWNhdGUuWDUwOUV4dGVuc2lvbnMuQWRkKCRjZXJ0aWZpY2F0ZV9iYXNpY19jb25zdHJhaW50
cykKICAgICAgICAgICAgICAgICRjZXJ0aWZpY2F0ZS5FbmNvZGUoKQogICAgICAgICAgICAgICAg
JGNlcnRpZmljYXRlX2Vucm9sbG1lbnQgPSBuZXctb2JqZWN0IC1jb20gIlg1MDlFbnJvbGxtZW50
LkNYNTA5RW5yb2xsbWVudCIKCQkJICAgICRjZXJ0aWZpY2F0ZV9lbnJvbGxtZW50LkluaXRpYWxp
emVGcm9tUmVxdWVzdCgkY2VydGlmaWNhdGUpCgkJCSAgICAkY2VydGlmaWNhdGVfZGF0YSA9ICRj
ZXJ0aWZpY2F0ZV9lbnJvbGxtZW50LkNyZWF0ZVJlcXVlc3QoMCkKICAgICAgICAgICAgICAgICRj
ZXJ0aWZpY2F0ZV9lbnJvbGxtZW50Lkluc3RhbGxSZXNwb25zZSgyLCRjZXJ0aWZpY2F0ZV9kYXRh
LDAsIiIpCiAgICAgICAgICAgICAgICAkaW52ZWlnaC5jZXJ0aWZpY2F0ZSA9IChHZXQtQ2hpbGRJ
dGVtIENlcnQ6XExvY2FsTWFjaGluZVxNeSB8IFdoZXJlLU9iamVjdCB7JF8uSXNzdWVyIC1tYXRj
aCAkaW52ZWlnaC5jZXJ0aWZpY2F0ZV9pc3N1ZXJ9KQogICAgICAgICAgICB9CiAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZigk
SFRUUFNGb3JjZUNlcnREZWxldGUgLWVxICdZJykKICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAkaW52ZWlnaC5IVFRQU19mb3JjZV9jZXJ0aWZpY2F0ZV9kZWxldGUgPSAkdHJ1
ZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRpbnZlaWdoLkhUVFBTX2V4aXN0
aW5nX2NlcnRpZmljYXRlID0gJHRydWUKICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlsrXSBIVFRQUyBDYXB0dXJlID0gVXNpbmcgRXhpc3RpbmcgQ2VydGlmaWNhdGUi
KSAgPiAkbnVsbAogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAkaW52ZWln
aC5IVFRQUyA9ICR0cnVlCgogICAgICAgICAgICBpZigkSFRUUElQIC1uZSAnMC4wLjAuMCcpCiAg
ICAgICAgICAgIHsgCiAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJb
K10gSFRUUFMgSVAgPSAkSFRUUElQIikgPiAkbnVsbAogICAgICAgICAgICB9CgogICAgICAgICAg
ICBpZigkSFRUUFNQb3J0IC1uZSA0NDMpCiAgICAgICAgICAgIHsgICAKICAgICAgICAgICAgICAg
ICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBIVFRQUyBQb3J0ID0gJEhUVFBTUG9ydCIp
ID4gJG51bGwKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVl
LkFkZCgiWytdIEhUVFBTIENhcHR1cmUgPSBFbmFibGVkIikgID4gJG51bGwKCiAgICAgICAgfQog
ICAgICAgIGNhdGNoCiAgICAgICAgewogICAgICAgICAgICAkSFRUUFMgPSAiTiIKICAgICAgICAg
ICAgJGludmVpZ2guSFRUUFMgPSAkZmFsc2UKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1
ZXVlLkFkZCgiWy1dIEhUVFBTIENhcHR1cmUgRGlzYWJsZWQgRHVlIFRvIENlcnRpZmljYXRlIEVy
cm9yIikgID4gJG51bGwKICAgICAgICB9CgogICAgfQoKfQplbHNlCnsKICAgICRpbnZlaWdoLm91
dHB1dF9xdWV1ZS5BZGQoIlsrXSBIVFRQUyBDYXB0dXJlID0gRGlzYWJsZWQiKSAgPiAkbnVsbAp9
CgppZigkSFRUUCAtZXEgJ1knIC1vciAkSFRUUFMgLWVxICdZJykKewogICAgJGludmVpZ2gub3V0
cHV0X3F1ZXVlLkFkZCgiWytdIEhUVFAvSFRUUFMgQXV0aGVudGljYXRpb24gPSAkSFRUUEF1dGgi
KSAgPiAkbnVsbAoKICAgIGlmKCRIVFRQRGlyZWN0b3J5IC1hbmQgISRIVFRQUmVzcG9uc2UpCiAg
ICB7CiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEhUVFAvSFRUUFMgRGly
ZWN0b3J5ID0gJEhUVFBEaXJlY3RvcnkiKSAgPiAkbnVsbAoKICAgICAgICBpZigkSFRUUERlZmF1
bHRGaWxlKQogICAgICAgIHsKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgi
WytdIEhUVFAvSFRUUFMgRGVmYXVsdCBSZXNwb25zZSBGaWxlID0gJEhUVFBEZWZhdWx0RmlsZSIp
ICA+ICRudWxsCiAgICAgICAgfQoKICAgICAgICBpZigkSFRUUERlZmF1bHRFWEUpCiAgICAgICAg
ewogICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gSFRUUC9IVFRQUyBE
ZWZhdWx0IFJlc3BvbnNlIEV4ZWN1dGFibGUgPSAkSFRUUERlZmF1bHRFWEUiKSAgPiAkbnVsbAog
ICAgICAgIH0KCiAgICB9CgogICAgaWYoJEhUVFBSZXNwb25zZSkKICAgIHsKICAgICAgICAkaW52
ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gSFRUUC9IVFRQUyBSZXNwb25zZSA9IEVuYWJsZWQi
KSAgPiAkbnVsbAogICAgfQoKICAgIGlmKCRIVFRQUmVzcG9uc2UgLW9yICRIVFRQRGlyZWN0b3J5
IC1hbmQgJEhUVFBDb250ZW50VHlwZSAtbmUgJ2h0bWwvdGV4dCcpCiAgICB7CiAgICAgICAgJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEhUVFAvSFRUUFMvUHJveHkgQ29udGVudCBUeXBl
ID0gJEhUVFBDb250ZW50VHlwZSIpICA+ICRudWxsCiAgICB9CgogICAgaWYoJEhUVFBBdXRoIC1l
cSAnQmFzaWMnIC1vciAkV1BBREF1dGggLWVxICdCYXNpYycpCiAgICB7CiAgICAgICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIEJhc2ljIEF1dGhlbnRpY2F0aW9uIFJlYWxtID0gJEhU
VFBCYXNpY1JlYWxtIikgID4gJG51bGwKICAgIH0KCiAgICBpZigkV1BBRERpcmVjdEhvc3RzKQog
ICAgewoKICAgICAgICBmb3JlYWNoKCRXUEFEX2RpcmVjdF9ob3N0IGluICRXUEFERGlyZWN0SG9z
dHMpCiAgICAgICAgewogICAgICAgICAgICAkV1BBRF9kaXJlY3RfaG9zdHNfZnVuY3Rpb24gKz0g
J2lmIChkbnNEb21haW5Jcyhob3N0LCAiJyArICRXUEFEX2RpcmVjdF9ob3N0ICsgJyIpKSByZXR1
cm4gIkRJUkVDVCI7JwogICAgICAgIH0KCiAgICB9CgogICAgaWYoJFByb3h5IC1lcSAnWScpCiAg
ICB7CgogICAgICAgIGlmKCRwcm94eV9wb3J0X2NoZWNrKQogICAgICAgIHsKICAgICAgICAgICAg
JFByb3h5ID0gIk4iCiAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlstXSBQ
cm94eSBDYXB0dXJlIERpc2FibGVkIER1ZSBUbyBJbiBVc2UgUG9ydCAkUHJveHlQb3J0IikgID4g
JG51bGwKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFByb3h5IENhcHR1cmUgPSBFbmFibGVkIikgID4gJG51
bGwKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFByb3h5IFBvcnQg
PSAkUHJveHlQb3J0IikgPiAkbnVsbAogICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUu
QWRkKCJbK10gUHJveHkgQXV0aGVudGljYXRpb24gPSAkUHJveHlBdXRoIikgID4gJG51bGwKICAg
ICAgICAgICAgJFByb3h5UG9ydEZhaWxvdmVyID0gJFByb3h5UG9ydCArIDEKICAgICAgICAgICAg
JFByb3h5SWdub3JlID0gKCRQcm94eUlnbm9yZSB8IFdoZXJlLU9iamVjdCB7JF8gLWFuZCAkXy5U
cmltKCl9KQoKICAgICAgICAgICAgaWYoJFByb3h5SWdub3JlLkNvdW50IC1ndCAwKQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gUHJv
eHkgSWdub3JlIExpc3QgPSAiICsgKCRQcm94eUlnbm9yZSAtam9pbiAiLCIpKSAgPiAkbnVsbAog
ICAgICAgICAgICB9CgogICAgICAgICAgICBpZigkUHJveHlJUCAtZXEgJzAuMC4wLjAnKQogICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAkcHJveHlfV1BBRF9JUCA9ICRJUAogICAgICAgICAg
ICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHByb3h5
X1dQQURfSVAgPSAkUHJveHlJUAogICAgICAgICAgICB9CgogICAgICAgICAgICBpZigkV1BBRElQ
IC1hbmQgJFdQQURQb3J0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkV1BBRFJlc3Bv
bnNlID0gImZ1bmN0aW9uIEZpbmRQcm94eUZvclVSTCh1cmwsaG9zdCl7JFdQQURfZGlyZWN0X2hv
c3RzX2Z1bmN0aW9uIHJldHVybiBgIlBST1hZICRwcm94eV9XUEFEX0lQYDokUHJveHlQb3J0OyBQ
Uk9YWSAkV1BBRElQYDokV1BBRFBvcnQ7IERJUkVDVGAiO30iCiAgICAgICAgICAgIH0KICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkV1BBRFJlc3BvbnNlID0g
ImZ1bmN0aW9uIEZpbmRQcm94eUZvclVSTCh1cmwsaG9zdCl7JFdQQURfZGlyZWN0X2hvc3RzX2Z1
bmN0aW9uIHJldHVybiBgIlBST1hZICRwcm94eV9XUEFEX0lQYDokUHJveHlQb3J0OyBQUk9YWSAk
cHJveHlfd3BhZF9JUGA6JFByb3h5UG9ydEZhaWxvdmVyOyBESVJFQ1RgIjt9IgogICAgICAgICAg
ICB9CgogICAgICAgIH0KCiAgICB9CgogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytd
IFdQQUQgQXV0aGVudGljYXRpb24gPSAkV1BBREF1dGgiKSAgPiAkbnVsbAoKICAgIGlmKCRXUEFE
QXV0aCAtbGlrZSAiTlRMTSoiKQogICAgewogICAgICAgICRXUEFEQXV0aElnbm9yZSA9ICgkV1BB
REF1dGhJZ25vcmUgfCBXaGVyZS1PYmplY3QgeyRfIC1hbmQgJF8uVHJpbSgpfSkKCiAgICAgICAg
aWYoJFdQQURBdXRoSWdub3JlLkNvdW50IC1ndCAwKQogICAgICAgIHsKICAgICAgICAgICAgJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFdQQUQgTlRMTSBBdXRoZW50aWNhdGlvbiBJZ25v
cmUgTGlzdCA9ICIgKyAoJFdQQURBdXRoSWdub3JlIC1qb2luICIsIikpICA+ICRudWxsCiAgICAg
ICAgfQoKICAgIH0KCiAgICBpZigkV1BBRERpcmVjdEhvc3RzKQogICAgewogICAgICAgICRpbnZl
aWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBXUEFEIERpcmVjdCBIb3N0cyA9ICIgKyAoJFdQQURE
aXJlY3RIb3N0cyAtam9pbiAiLCIpKSAgPiAkbnVsbAogICAgfQoKICAgIGlmKCRXUEFEUmVzcG9u
c2UgLWFuZCAkUHJveHkgLWVxICdOJykKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVl
dWUuQWRkKCJbK10gV1BBRCBSZXNwb25zZSA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgfQogICAg
ZWxzZWlmKCRXUEFEUmVzcG9uc2UgLWFuZCAkUHJveHkgLWVxICdZJykKICAgIHsKICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gV1BBRCBQcm94eSBSZXNwb25zZSA9IEVuYWJs
ZWQiKSAgPiAkbnVsbAoKICAgICAgICBpZigkV1BBRElQIC1hbmQgJFdQQURQb3J0KQogICAgICAg
IHsKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFdQQUQgRmFpbG92
ZXIgPSAkV1BBRElQYDokV1BBRFBvcnQiKSAgPiAkbnVsbAogICAgICAgIH0KCiAgICB9CiAgICBl
bHNlaWYoJFdQQURJUCAtYW5kICRXUEFEUG9ydCkKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRw
dXRfcXVldWUuQWRkKCJbK10gV1BBRCBSZXNwb25zZSA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBXUEFEID0gJFdQQURJUGA6JFdQQURQ
b3J0IikgID4gJG51bGwKICAgICAgICAKICAgICAgICBpZigkV1BBRERpcmVjdEhvc3RzKQogICAg
ICAgIHsKCiAgICAgICAgICAgIGZvcmVhY2goJFdQQURfZGlyZWN0X2hvc3QgaW4gJFdQQUREaXJl
Y3RIb3N0cykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJFdQQURfZGlyZWN0X2hvc3Rz
X2Z1bmN0aW9uICs9ICdpZiAoZG5zRG9tYWluSXMoaG9zdCwgIicgKyAkV1BBRF9kaXJlY3RfaG9z
dCArICciKSkgcmV0dXJuICJESVJFQ1QiOycKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJFdQ
QURSZXNwb25zZSA9ICJmdW5jdGlvbiBGaW5kUHJveHlGb3JVUkwodXJsLGhvc3QpeyIgKyAkV1BB
RF9kaXJlY3RfaG9zdHNfZnVuY3Rpb24gKyAicmV0dXJuIGAiUFJPWFkgIiArICRXUEFESVAgKyAi
OiIgKyAkV1BBRFBvcnQgKyAiYCI7fSIKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVl
LkFkZCgiWytdIFdQQUQgRGlyZWN0IEhvc3RzID0gIiArICgkV1BBRERpcmVjdEhvc3RzIC1qb2lu
ICIsIikpICA+ICRudWxsCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAg
ICAgICRXUEFEUmVzcG9uc2UgPSAiZnVuY3Rpb24gRmluZFByb3h5Rm9yVVJMKHVybCxob3N0KXsk
V1BBRF9kaXJlY3RfaG9zdHNfZnVuY3Rpb24gcmV0dXJuIGAiUFJPWFkgJFdQQURJUGA6JFdQQURQ
b3J0OyBESVJFQ1RgIjt9IgogICAgICAgIH0KCiAgICB9CgogICAgaWYoJENoYWxsZW5nZSkKICAg
IHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gSFRUUCBOVExNIENoYWxs
ZW5nZSA9ICRDaGFsbGVuZ2UiKSAgPiAkbnVsbAogICAgfQoKfQoKaWYoJEtlcmJlcm9zIC1lcSAn
WScpCnsKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBLZXJiZXJvcyBUR1QgQ2Fw
dHVyZSA9IEVuYWJsZWQiKSAgPiAkbnVsbAogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgi
WytdIEtlcmJlcm9zIFRHVCBGaWxlIE91dHB1dCBDb3VudCA9ICRLZXJiZXJvc0NvdW50IikgID4g
JG51bGwKICAgIAogICAgaWYoJEtlcmJlcm9zSG9zdEhlYWRlci5Db3VudCAtZ3QgMCkKICAgIHsK
ICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gS2VyYmVyb3MgVEdUIEhvc3Qg
SGVhZGVyIExpc3QgPSAiICsgKCRLZXJiZXJvc0hvc3RIZWFkZXIgLWpvaW4gIiwiKSkgID4gJG51
bGwKICAgIH0KCn0KZWxzZQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gS2Vy
YmVyb3MgVEdUIENhcHR1cmUgPSBEaXNhYmxlZCIpICA+ICRudWxsICAgIAp9CgppZigkTWFjaGlu
ZUFjY291bnRzIC1lcSAnTicpCnsKICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBN
YWNoaW5lIEFjY291bnQgQ2FwdHVyZSA9IERpc2FibGVkIikgID4gJG51bGwKICAgICRpbnZlaWdo
Lm1hY2hpbmVfYWNjb3VudHMgPSAkZmFsc2UKfQplbHNlCnsKICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlsrXSBNYWNoaW5lIEFjY291bnQgQ2FwdHVyZSA9IEVuYWJsZWQiKSAgPiAkbnVs
bAogICAgJGludmVpZ2gubWFjaGluZV9hY2NvdW50cyA9ICR0cnVlCn0KCmlmKCRDb25zb2xlT3V0
cHV0IC1uZSAnTicpCnsKCiAgICBpZigkQ29uc29sZU91dHB1dCAtbmUgJ04nKQogICAgewoKICAg
ICAgICBpZigkQ29uc29sZU91dHB1dCAtZXEgJ1knKQogICAgICAgIHsKICAgICAgICAgICAgJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIENvbnNvbGUgT3V0cHV0ID0gRnVsbCIpICA+ICRu
dWxsCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICRpbnZlaWdo
Lm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBDb25zb2xlIE91dHB1dCA9ICRDb25zb2xlT3V0cHV0Iikg
ID4gJG51bGwKICAgICAgICB9CgogICAgfQoKICAgICRpbnZlaWdoLmNvbnNvbGVfb3V0cHV0ID0g
JHRydWUKCiAgICBpZigkQ29uc29sZVN0YXR1cyAtZXEgMSkKICAgIHsKICAgICAgICAkaW52ZWln
aC5vdXRwdXRfcXVldWUuQWRkKCJbK10gQ29uc29sZSBTdGF0dXMgPSAkQ29uc29sZVN0YXR1cyBN
aW51dGUiKSAgPiAkbnVsbAogICAgfQogICAgZWxzZWlmKCRDb25zb2xlU3RhdHVzIC1ndCAxKQog
ICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBDb25zb2xlIFN0YXR1
cyA9ICRDb25zb2xlU3RhdHVzIE1pbnV0ZXMiKSAgPiAkbnVsbAogICAgfQoKfQplbHNlCnsKCiAg
ICBpZigkaW52ZWlnaC50b29sIC1lcSAxKQogICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9x
dWV1ZS5BZGQoIlsrXSBDb25zb2xlIE91dHB1dCBEaXNhYmxlZCBEdWUgVG8gRXh0ZXJuYWwgVG9v
bCBTZWxlY3Rpb24iKSAgPiAkbnVsbAogICAgfQogICAgZWxzZQogICAgewogICAgICAgICRpbnZl
aWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBDb25zb2xlIE91dHB1dCA9IERpc2FibGVkIikgID4g
JG51bGwKICAgIH0KCn0KCmlmKCRDb25zb2xlVW5pcXVlIC1lcSAnWScpCnsKICAgICRpbnZlaWdo
LmNvbnNvbGVfdW5pcXVlID0gJHRydWUKfQplbHNlCnsKICAgICRpbnZlaWdoLmNvbnNvbGVfdW5p
cXVlID0gJGZhbHNlCn0KCmlmKCRGaWxlT3V0cHV0IC1lcSAnWScgLW9yICgkS2VyYmVyb3MgLWVx
ICdZJyAtYW5kICRLZXJiZXJvc0NvdW50IC1ndCAwKSAtb3IgKCRQY2FwIC1lcSAnRmlsZScgLWFu
ZCAoJFBjYXBUQ1AgLW9yICRQY2FwVURQKSkpCnsKICAgIAogICAgaWYoJEZpbGVPdXRwdXQgLWVx
ICdZJykKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gRmlsZSBP
dXRwdXQgPSBFbmFibGVkIikgID4gJG51bGwKICAgICAgICAkaW52ZWlnaC5maWxlX291dHB1dCA9
ICR0cnVlCiAgICB9CgogICAgaWYoJFBjYXAgLWVxICdGaWxlJykKICAgIHsKICAgICAgICAkaW52
ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gUGNhcCBPdXRwdXQgPSBGaWxlIikgPiAkbnVsbAog
ICAgICAgIAogICAgICAgIGlmKCRQY2FwVENQKQogICAgICAgIHsKICAgICAgICAgICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFBjYXAgVENQIFBvcnRzID0gIiArICgkUGNhcFRDUCAt
am9pbiAiLCIpKSAgPiAkbnVsbAogICAgICAgIH0KCiAgICAgICAgaWYoJFBjYXBVRFApCiAgICAg
ICAgewogICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gUGNhcCBVRFAg
UG9ydHMgPSAiICsgKCRQY2FwVURQIC1qb2luICIsIikpICA+ICRudWxsCiAgICAgICAgfQoKICAg
IH0KCiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gT3V0cHV0IERpcmVjdG9yeSA9
ICRvdXRwdXRfZGlyZWN0b3J5IikgID4gJG51bGwgCn0KZWxzZQp7CiAgICAkaW52ZWlnaC5vdXRw
dXRfcXVldWUuQWRkKCJbK10gRmlsZSBPdXRwdXQgPSBEaXNhYmxlZCIpICA+ICRudWxsCn0KCmlm
KCRQY2FwIC1lcSAnTWVtb3J5JykKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytd
IFBjYXAgT3V0cHV0ID0gTWVtb3J5IikKfQoKaWYoJEZpbGVVbmlxdWUgLWVxICdZJykKewogICAg
JGludmVpZ2guZmlsZV91bmlxdWUgPSAkdHJ1ZQp9CmVsc2UKewogICAgJGludmVpZ2guZmlsZV91
bmlxdWUgPSAkZmFsc2UKfQoKaWYoJExvZ091dHB1dCAtZXEgJ1knKQp7CiAgICAkaW52ZWlnaC5s
b2dfb3V0cHV0ID0gJHRydWUKfQplbHNlCnsKICAgICRpbnZlaWdoLmxvZ19vdXRwdXQgPSAkZmFs
c2UKfQoKaWYoJFJ1bkNvdW50KQp7CiAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10g
UnVuIENvdW50ID0gJFJ1bkNvdW50IikgPiAkbnVsbAp9CgppZigkUnVuVGltZSAtZXEgMSkKewog
ICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFJ1biBUaW1lID0gJFJ1blRpbWUgTWlu
dXRlIikgID4gJG51bGwKfQplbHNlaWYoJFJ1blRpbWUgLWd0IDEpCnsKICAgICRpbnZlaWdoLm91
dHB1dF9xdWV1ZS5BZGQoIlsrXSBSdW4gVGltZSA9ICRSdW5UaW1lIE1pbnV0ZXMiKSAgPiAkbnVs
bAp9CgppZigkU2hvd0hlbHAgLWVxICdZJykKewogICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFk
ZCgiWyFdIFJ1biBTdG9wLUludmVpZ2ggdG8gc3RvcCIpICA+ICRudWxsCgogICAgaWYoJGludmVp
Z2guY29uc29sZV9vdXRwdXQpCiAgICB7CiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFk
ZCgiWypdIFByZXNzIGFueSBrZXkgdG8gc3RvcCBjb25zb2xlIG91dHB1dCIpICA+ICRudWxsCiAg
ICB9Cgp9Cgp3aGlsZSgkaW52ZWlnaC5vdXRwdXRfcXVldWUuQ291bnQgLWd0IDApCnsKCiAgICBz
d2l0Y2ggLVdpbGRjYXJkICgkaW52ZWlnaC5vdXRwdXRfcXVldWVbMF0pCiAgICB7CgogICAgICAg
IHskXyAtbGlrZSAiP2BbYCFgXSoiIC1vciAkXyAtbGlrZSAiP2BbLWBdKiJ9CiAgICAgICAgewoK
ICAgICAgICAgICAgaWYoJGludmVpZ2guc3RhdHVzX291dHB1dCAtYW5kICRpbnZlaWdoLm91dHB1
dF9zdHJlYW1fb25seSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0
KCRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXSArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAg
IH0KICAgICAgICAgICAgZWxzZWlmKCRpbnZlaWdoLnN0YXR1c19vdXRwdXQpCiAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgIFdyaXRlLVdhcm5pbmcoJGludmVpZ2gub3V0cHV0X3F1ZXVlWzBd
KQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZigkaW52ZWlnaC5maWxlX291dHB1dCkKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gubG9nX2ZpbGVfcXVldWUuQWRkKCRp
bnZlaWdoLm91dHB1dF9xdWV1ZVswXSkgPiAkbnVsbAogICAgICAgICAgICB9CgogICAgICAgICAg
ICBpZigkaW52ZWlnaC5sb2dfb3V0cHV0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAk
aW52ZWlnaC5sb2cuQWRkKCRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXSkgPiAkbnVsbAogICAgICAg
ICAgICB9CgogICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuUmVtb3ZlQXQoMCkKICAg
ICAgICB9CgogICAgICAgIGRlZmF1bHQKICAgICAgICB7CgogICAgICAgICAgICBpZigkaW52ZWln
aC5zdGF0dXNfb3V0cHV0IC1hbmQgJGludmVpZ2gub3V0cHV0X3N0cmVhbV9vbmx5KQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQoJGludmVpZ2gub3V0cHV0X3F1ZXVl
WzBdICsgJGludmVpZ2gubmV3bGluZSkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlaWYo
JGludmVpZ2guc3RhdHVzX291dHB1dCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV3Jp
dGUtT3V0cHV0KCRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXSkKICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgaWYoJGludmVpZ2guZmlsZV9vdXRwdXQpCiAgICAgICAgICAgIHsKCiAgICAgICAgICAg
ICAgICBpZiAoJGludmVpZ2gub3V0cHV0X3F1ZXVlWzBdLlN0YXJ0c1dpdGgoIlsrXSAiKSAtb3Ig
JGludmVpZ2gub3V0cHV0X3F1ZXVlWzBdLlN0YXJ0c1dpdGgoIlsqXSAiKSkKICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5sb2dfZmlsZV9xdWV1ZS5BZGQoJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlWzBdKSA+ICRudWxsCiAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2gubG9nX2ZpbGVfcXVldWUuQWRkKCJbcmVkYWN0ZWRdIikgPiAkbnVsbCAgICAKICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCRpbnZlaWdoLmxvZ19vdXRw
dXQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdoLmxvZy5BZGQoJGludmVp
Z2gub3V0cHV0X3F1ZXVlWzBdKSA+ICRudWxsCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5SZW1vdmVBdCgwKQogICAgICAgIH0KCiAgICB9Cgp9CgokaW52
ZWlnaC5zdGF0dXNfb3V0cHV0ID0gJGZhbHNlCgojZW5kcmVnaW9uCiNyZWdpb24gYmVnaW4gc2Ny
aXB0IGJsb2NrcwoKIyBTaGFyZWQgQmFzaWMgRnVuY3Rpb25zIFNjcmlwdEJsb2NrCiRzaGFyZWRf
YmFzaWNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrID0KewoKICAgIGZ1bmN0aW9uIEdldC1VSW50MTZE
YXRhTGVuZ3RoCiAgICB7CiAgICAgICAgcGFyYW0gKFtJbnRdJFN0YXJ0LFtCeXRlW11dJERhdGEp
CiAgICAgICAgJGRhdGFfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1VJbnQxNigk
RGF0YVskU3RhcnQuLigkU3RhcnQgKyAxKV0sMCkKCiAgICAgICAgcmV0dXJuICRkYXRhX2xlbmd0
aAogICAgfQoKICAgIGZ1bmN0aW9uIEdldC1VSW50MzJEYXRhTGVuZ3RoCiAgICB7CiAgICAgICAg
cGFyYW0gKFtJbnRdJFN0YXJ0LFtCeXRlW11dJERhdGEpCgogICAgICAgICRkYXRhX2xlbmd0aCA9
IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9VSW50MzIoJERhdGFbJFN0YXJ0Li4oJFN0YXJ0ICsg
MyldLDApCgogICAgICAgIHJldHVybiAkZGF0YV9sZW5ndGgKICAgIH0KCiAgICBmdW5jdGlvbiBD
b252ZXJ0LURhdGFUb1N0cmluZwogICAgewogICAgICAgIHBhcmFtIChbSW50XSRTdGFydCxbSW50
XSRMZW5ndGgsW0J5dGVbXV0kRGF0YSkKCiAgICAgICAgJHN0cmluZ19kYXRhID0gW1N5c3RlbS5C
aXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkRGF0YVskU3RhcnQuLigkU3RhcnQgKyAkTGVuZ3RoIC0g
MSldKQogICAgICAgICRzdHJpbmdfZGF0YSA9ICRzdHJpbmdfZGF0YSAtcmVwbGFjZSAiLTAwIiwi
IgogICAgICAgICRzdHJpbmdfZGF0YSA9ICRzdHJpbmdfZGF0YS5TcGxpdCgiLSIpIHwgRm9yRWFj
aC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9CiAgICAgICAg
JHN0cmluZ19leHRyYWN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uU3RyaW5nICgkc3RyaW5nX2RhdGEs
MCwkc3RyaW5nX2RhdGEuTGVuZ3RoKQoKICAgICAgICByZXR1cm4gJHN0cmluZ19leHRyYWN0CiAg
ICB9CgogICAgZnVuY3Rpb24gQ29udmVydC1EYXRhVG9VSW50MTYoJGZpZWxkKQogICAgewoJICAg
W0FycmF5XTo6UmV2ZXJzZSgkZmllbGQpCgkgICByZXR1cm4gW1N5c3RlbS5CaXRDb252ZXJ0ZXJd
OjpUb1VJbnQxNigkZmllbGQsMCkKICAgIH0KCiAgICBmdW5jdGlvbiBDb252ZXJ0LURhdGFUb1VJ
bnQzMigkZmllbGQpCiAgICB7CgkgICBbQXJyYXldOjpSZXZlcnNlKCRmaWVsZCkKCSAgIHJldHVy
biBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvVUludDMyKCRmaWVsZCwwKQogICAgfQoKICAgIGZ1
bmN0aW9uIEdldC1TcG9vZmVyUmVzcG9uc2VNZXNzYWdlCiAgICB7CiAgICAgICAgcGFyYW0gKFtT
dHJpbmddJFF1ZXJ5U3RyaW5nLFtTdHJpbmddJFR5cGUsW1N0cmluZ10kbUROU1R5cGUsW1N0cmlu
Z10kRW5hYmxlZCxbYnl0ZV0kTkJOU1R5cGUpCgogICAgICAgIGlmKCRRdWVyeVN0cmluZyAtbGlr
ZSAiKi4qIikKICAgICAgICB7CiAgICAgICAgICAgIFtBcnJheV0kcXVlcnlfc3BsaXQgPSAkUXVl
cnlTdHJpbmcuU3BsaXQoJy4nKQogICAgICAgICAgICAkcXVlcnlfaG9zdCA9ICRxdWVyeV9zcGxp
dFswXQogICAgICAgIH0KCiAgICAgICAgJHJlc3BvbnNlX3R5cGUgPSAiWytdIgoKICAgICAgICBp
ZigkSW5zcGVjdCkKICAgICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltp
bnNwZWN0IG9ubHldIgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJEVuYWJsZWQgLWVxICdOJykK
ICAgICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltzcG9vZmVyIGRpc2Fi
bGVkXSIKICAgICAgICB9CiAgICAgICAgZWxzZWlmKCRTcG9vZmVySG9zdHNSZXBseSAtYW5kICgk
U3Bvb2Zlckhvc3RzUmVwbHkgLW5vdGNvbnRhaW5zICRRdWVyeVN0cmluZyAtYW5kICRTcG9vZmVy
SG9zdHNSZXBseSAtbm90Y29udGFpbnMgJHF1ZXJ5X2hvc3QpKQogICAgICAgIHsKICAgICAgICAg
ICAgJHJlc3BvbnNlX21lc3NhZ2UgPSAiWyRRdWVyeVN0cmluZyBub3Qgb24gcmVwbHkgbGlzdF0i
CiAgICAgICAgfQogICAgICAgIGVsc2VpZigkU3Bvb2Zlckhvc3RzSWdub3JlIC1jb250YWlucyAk
UXVlcnlTdHJpbmcgLW9yICRTcG9vZmVySG9zdHNJZ25vcmUgLWNvbnRhaW5zICRxdWVyeV9ob3N0
KQogICAgICAgIHsKICAgICAgICAgICAgJHJlc3BvbnNlX21lc3NhZ2UgPSAiWyRRdWVyeVN0cmlu
ZyBpcyBvbiBpZ25vcmUgbGlzdF0iCiAgICAgICAgfQogICAgICAgIGVsc2VpZigkU3Bvb2ZlcklQ
c1JlcGx5IC1hbmQgJFNwb29mZXJJUHNSZXBseSAtbm90Y29udGFpbnMgJHNvdXJjZV9JUCkKICAg
ICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIlskc291cmNlX0lQIG5vdCBv
biByZXBseSBsaXN0XSIKICAgICAgICB9CiAgICAgICAgZWxzZWlmKCRTcG9vZmVySVBzSWdub3Jl
IC1jb250YWlucyAkc291cmNlX0lQKQogICAgICAgIHsKICAgICAgICAgICAgJHJlc3BvbnNlX21l
c3NhZ2UgPSAiWyRzb3VyY2VfSVAgaXMgb24gaWdub3JlIGxpc3RdIgogICAgICAgIH0KICAgICAg
ICBlbHNlaWYoJGludmVpZ2gudmFsaWRfaG9zdF9saXN0IC1jb250YWlucyAkcXVlcnlfc3RyaW5n
IC1hbmQgKCRTcG9vZmVySG9zdHNSZXBseSAtbm90Y29udGFpbnMgJFF1ZXJ5U3RyaW5nIC1hbmQg
JFNwb29mZXJIb3N0c1JlcGx5IC1ub3Rjb250YWlucyAkcXVlcnlfaG9zdCkpCiAgICAgICAgewog
ICAgICAgICAgICAkcmVzcG9uc2VfbWVzc2FnZSA9ICJbJHF1ZXJ5X3N0cmluZyBpcyBhIHZhbGlk
IGhvc3RdIgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJFNwb29mZXJSZXBlYXQgLWVxICdZJyAt
YW5kICRpbnZlaWdoLklQX2NhcHR1cmVfbGlzdCAtY29udGFpbnMgJHNvdXJjZV9JUC5JUEFkZHJl
c3NUb1N0cmluZykKICAgICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltw
cmV2aW91cyAkc291cmNlX0lQIGNhcHR1cmVdIgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJFR5
cGUgLWVxICdOQk5TJyAtYW5kICRzb3VyY2VfSVAuSVBBZGRyZXNzVG9TdHJpbmcgLWVxICRJUCkK
ICAgICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltsb2NhbCBxdWVyeV0i
CiAgICAgICAgfQogICAgICAgIGVsc2VpZigkU3Bvb2ZlckxlYXJuaW5nIC1lcSAnWScgLW9yICRT
cG9vZmVyTGVhcm5pbmdEZWxheSAtYW5kICRzcG9vZmVyX2xlYXJuaW5nX3N0b3B3YXRjaC5FbGFw
c2VkIC1sdCAkc3Bvb2Zlcl9sZWFybmluZ19kZWxheSkKICAgICAgICB7CiAgICAgICAgICAgICRy
ZXNwb25zZV9tZXNzYWdlID0gIjogIiArIFtJbnRdKCRTcG9vZmVyTGVhcm5pbmdEZWxheSAtICRz
cG9vZmVyX2xlYXJuaW5nX3N0b3B3YXRjaC5FbGFwc2VkLlRvdGFsTWludXRlcykgKyAiIG1pbnV0
ZShzKSB1bnRpbCBzcG9vZmluZyBzdGFydHMiCiAgICAgICAgfQogICAgICAgIGVsc2VpZigkVHlw
ZSAtZXEgJ05CTlMnIC1hbmQgJE5CTlNUeXBlcyAtbm90Y29udGFpbnMgJE5CTlNfcXVlcnlfdHlw
ZSkKICAgICAgICB7CiAgICAgICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltOQk5TIHR5cGUg
ZGlzYWJsZWRdIgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJFR5cGUgLWVxICdOQk5TJyAtYW5k
ICROQk5TVHlwZSAtZXEgMzMpCiAgICAgICAgewogICAgICAgICAgICAkcmVzcG9uc2VfbWVzc2Fn
ZSA9ICJbTkJTVEFUIHJlcXVlc3RdIgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJEV2YWRlUkcg
LWVxICdZJyAtYW5kICRUeXBlIC1uZSAnbUROUycgLWFuZCAkVHlwZSAtbmUgJ0ROUycgLWFuZCAk
ZGVzdGluYXRpb25fSVAuSVBBZGRyZXNzVG9TdHJpbmcgLWVxICRJUCkKICAgICAgICB7CiAgICAg
ICAgICAgICRyZXNwb25zZV9tZXNzYWdlID0gIltwb3NzaWJsZSBSZXNwb25kZXJHdWFyZCByZXF1
ZXN0IGlnbm9yZWRdIgogICAgICAgICAgICAkcmVzcG9uc2VfdHlwZSA9ICJbIV0iCiAgICAgICAg
fQogICAgICAgIGVsc2VpZigkVHlwZSAtZXEgJ21ETlMnIC1hbmQgJG1ETlNUeXBlIC1hbmQgJG1E
TlNUeXBlcyAtbm90Y29udGFpbnMgJG1ETlNUeXBlKQogICAgICAgIHsKICAgICAgICAgICAgJHJl
c3BvbnNlX21lc3NhZ2UgPSAiW21ETlMgdHlwZSBkaXNhYmxlZF0iCiAgICAgICAgfQogICAgICAg
IGVsc2VpZigkVHlwZSAtbmUgJ21ETlMnIC1hbmQgJFR5cGUgLW5lICdETlMnIC1hbmQgJFNwb29m
ZXJUaHJlc2hvbGRIb3N0IC1ndCAwIC1hbmQgQCgkaW52ZWlnaC5yZXF1ZXN0X3RhYmxlLiRRdWVy
eVN0cmluZyB8IFdoZXJlLU9iamVjdCB7JF8gLW1hdGNoICRzb3VyY2VfSVAuSVBBZGRyZXNzVG9T
dHJpbmd9KS5Db3VudCAtbGUgJFNwb29mZXJUaHJlc2hvbGRIb3N0KQogICAgICAgIHsKICAgICAg
ICAgICAgJHJlc3BvbnNlX21lc3NhZ2UgPSAiW1Nwb29mZXJUaHJlc2hvbGRIb3N0ID49ICQoQCgk
aW52ZWlnaC5yZXF1ZXN0X3RhYmxlLiRRdWVyeVN0cmluZyB8IFdoZXJlLU9iamVjdCB7JF8gLW1h
dGNoICRzb3VyY2VfSVAuSVBBZGRyZXNzVG9TdHJpbmd9KS5Db3VudCldIgogICAgICAgIH0KICAg
ICAgICBlbHNlaWYoJFR5cGUgLW5lICdtRE5TJyAtYW5kICRUeXBlIC1uZSAnRE5TJyAtYW5kICRT
cG9vZmVyVGhyZXNob2xkTmV0d29yayAtZ3QgMCAtYW5kIEAoJGludmVpZ2gucmVxdWVzdF90YWJs
ZS4kUXVlcnlTdHJpbmcgfCBTb3J0LU9iamVjdCB8IEdldC1VbmlxdWUpLkNvdW50IC1sZSAkU3Bv
b2ZlclRocmVzaG9sZE5ldHdvcmspCiAgICAgICAgewogICAgICAgICAgICAkcmVzcG9uc2VfbWVz
c2FnZSA9ICJbU3Bvb2ZlclRocmVzaG9sZE5ldHdvcmsgPj0gJChAKCRpbnZlaWdoLnJlcXVlc3Rf
dGFibGUuJFF1ZXJ5U3RyaW5nIHwgU29ydC1PYmplY3QgfCBHZXQtVW5pcXVlKS5Db3VudCldIgog
ICAgICAgIH0KICAgICAgICBlbHNlaWYoJFF1ZXJ5U3RyaW5nIC1tYXRjaCAnW15ceDAwLVx4N0Zd
KycpCiAgICAgICAgewogICAgICAgICAgICAkcmVzcG9uc2VfbWVzc2FnZSA9ICJbbm9ucHJpbnRh
YmxlIGNoYXJhY3RlcnNdIgogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAg
ICAgICAkcmVzcG9uc2VfbWVzc2FnZSA9ICJbcmVzcG9uc2Ugc2VudF0iCiAgICAgICAgfQoKICAg
ICAgICByZXR1cm4gJHJlc3BvbnNlX3R5cGUsJHJlc3BvbnNlX21lc3NhZ2UKICAgIH0KCiAgICBm
dW5jdGlvbiBHZXQtTkJOU1F1ZXJ5VHlwZShbU3RyaW5nXSROQk5TUXVlcnlUeXBlKQogICAgewoK
ICAgICAgICBzd2l0Y2ggKCROQk5TUXVlcnlUeXBlKQogICAgICAgIHsKCiAgICAgICAgICAgICc0
MS00MScKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfdHlwZSA9ICIw
MCIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJzQxLTQyJwogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAkTkJOU19xdWVyeV90eXBlID0gIjAxIgogICAgICAgICAgICB9CgogICAgICAg
ICAgICAnNDEtNDMnCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICROQk5TX3F1ZXJ5X3R5
cGUgPSAiMDIiCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICc0MS00NCcKICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfdHlwZSA9ICIwMyIKICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgJzQzLTQxJwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkTkJOU19x
dWVyeV90eXBlID0gIjIwIgogICAgICAgICAgICB9CgogICAgICAgICAgICAnNDItNEMnCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICROQk5TX3F1ZXJ5X3R5cGUgPSAiMUIiCiAgICAgICAg
ICAgIH0KCiAgICAgICAgICAgICc0Mi00RCcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
JE5CTlNfcXVlcnlfdHlwZSA9ICIxQyIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJzQyLTRF
JwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkTkJOU19xdWVyeV90eXBlID0gIjFEIgog
ICAgICAgICAgICB9CgogICAgICAgICAgICAnNDItNEYnCiAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICROQk5TX3F1ZXJ5X3R5cGUgPSAiMUUiCiAgICAgICAgICAgIH0KCiAgICAgICAgfQoK
ICAgICAgICByZXR1cm4gJE5CTlNfcXVlcnlfdHlwZQogICAgfQoKICAgIGZ1bmN0aW9uIEdldC1O
YW1lUXVlcnlTdHJpbmcoW0ludF0kSW5kZXgsIFtCeXRlW11dJE5hbWVRdWVyeSkKICAgIHsKICAg
ICAgICAkc2VnbWVudF9sZW5ndGggPSAkTmFtZVF1ZXJ5WzEyXQoKICAgICAgICBpZigkc2VnbWVu
dF9sZW5ndGggLWd0IDApCiAgICAgICAgewogICAgICAgICAgICAkaSA9IDAKICAgICAgICAgICAg
JG5hbWVfcXVlcnlfc3RyaW5nID0gJycKCiAgICAgICAgICAgIGRvCiAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICRuYW1lX3F1ZXJ5X3N0cmluZyArPSBbU3lzdGVtLlRleHQuRW5jb2Rpbmdd
OjpVVEY4LkdldFN0cmluZygkTmFtZVF1ZXJ5WygkSW5kZXggKyAxKS4uKCRJbmRleCArICRzZWdt
ZW50X2xlbmd0aCldKQogICAgICAgICAgICAgICAgJEluZGV4ICs9ICRzZWdtZW50X2xlbmd0aCAr
IDEKICAgICAgICAgICAgICAgICRzZWdtZW50X2xlbmd0aCA9ICROYW1lUXVlcnlbJEluZGV4XQog
ICAgICAgICAgICAgICAgJGkrKwoKICAgICAgICAgICAgICAgIGlmKCRzZWdtZW50X2xlbmd0aCAt
Z3QgMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkbmFtZV9xdWVyeV9z
dHJpbmcgKz0gIi4iCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgICAg
IHVudGlsKCRzZWdtZW50X2xlbmd0aCAtZXEgMCAtb3IgJGkgLWVxIDEyNykKICAgICAgICAgICAg
CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG5hbWVfcXVlcnlfc3RyaW5nCiAgICB9CgogICAg
ZnVuY3Rpb24gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkKICAgIHsKICAgICAg
ICBwYXJhbSgkcGFja2V0X29yZGVyZWRfZGljdGlvbmFyeSkKCiAgICAgICAgZm9yZWFjaCgkZmll
bGQgaW4gJHBhY2tldF9vcmRlcmVkX2RpY3Rpb25hcnkuVmFsdWVzKQogICAgICAgIHsKICAgICAg
ICAgICAgJGJ5dGVfYXJyYXkgKz0gJGZpZWxkCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJ5
dGVfYXJyYXkKICAgIH0KCiAgICBmdW5jdGlvbiBOZXctUmVsYXlFbnVtT2JqZWN0CiAgICB7CiAg
ICAgICAgcGFyYW0gKCRJUCwkSG9zdG5hbWUsJFNlc3Npb25zLCRBZG1pbmlzdHJhdG9yVXNlcnMs
JEFkbWluaXN0cmF0b3JHcm91cHMsJFByaXZpbGVnZWQsJFNoYXJlcywkTmV0U2Vzc2lvbnMsJE5l
dFNlc3Npb25zTWFwcGVkLAogICAgICAgICRMb2NhbFVzZXJzLCRTTUIyLCRTaWduaW5nLCRTTUJT
ZXJ2ZXIsJFRhcmdldGVkLCRFbnVtZXJhdGUsJEV4ZWN1dGUpCgogICAgICAgIGlmKCRTZXNzaW9u
cyAtYW5kICRTZXNzaW9ucyAtaXNub3QgW0FycmF5XSl7JFNlc3Npb25zID0gQCgkU2Vzc2lvbnMp
fQogICAgICAgIGlmKCRBZG1pbmlzdHJhdG9yVXNlcnMgLWFuZCAkQWRtaW5pc3RyYXRvclVzZXJz
IC1pc25vdCBbQXJyYXldKXskQWRtaW5pc3RyYXRvclVzZXJzID0gQCgkQWRtaW5pc3RyYXRvclVz
ZXJzKX0KICAgICAgICBpZigkQWRtaW5pc3RyYXRvckdyb3VwcyAtYW5kICRBZG1pbmlzdHJhdG9y
R3JvdXBzIC1pc25vdCBbQXJyYXldKXskQWRtaW5pc3RyYXRvckdyb3VwcyA9IEAoJEFkbWluaXN0
cmF0b3JHcm91cHMpfQogICAgICAgIGlmKCRQcml2aWxlZ2VkIC1hbmQgJFByaXZpbGVnZWQgLWlz
bm90IFtBcnJheV0peyRQcml2aWxlZ2VkID0gQCgkUHJpdmlsZWdlZCl9CiAgICAgICAgaWYoJFNo
YXJlcyAtYW5kICRTaGFyZXMgLWlzbm90IFtBcnJheV0peyRTaGFyZXMgPSBAKCRTaGFyZXMpfQog
ICAgICAgIGlmKCROZXRTZXNzaW9ucyAtYW5kICROZXRTZXNzaW9ucyAtaXNub3QgW0FycmF5XSl7
JE5ldFNlc3Npb25zID0gQCgkTmV0U2Vzc2lvbnMpfQogICAgICAgIGlmKCROZXRTZXNzaW9uc01h
cHBlZCAtYW5kICROZXRTZXNzaW9uc01hcHBlZCAtaXNub3QgW0FycmF5XSl7JE5ldFNlc3Npb25z
TWFwcGVkID0gQCgkTmV0U2Vzc2lvbnNNYXBwZWQpfQogICAgICAgIGlmKCRMb2NhbFVzZXJzIC1h
bmQgJExvY2FsVXNlcnMgLWlzbm90IFtBcnJheV0peyRMb2NhbFVzZXJzID0gQCgkTG9jYWxVc2Vy
cyl9CgogICAgICAgICRyZWxheV9vYmplY3QgPSBOZXctT2JqZWN0IFBTT2JqZWN0CiAgICAgICAg
QWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJv
cGVydHkgLU5hbWUgIkluZGV4IiAkaW52ZWlnaC5lbnVtZXJhdGUuQ291bnQKICAgICAgICBBZGQt
TWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0
eSAtTmFtZSAiSVAiICRJUAogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9v
YmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJIb3N0bmFtZSIgJEhvc3RuYW1l
CiAgICAgICAgQWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVyVHlw
ZSBOb3RlUHJvcGVydHkgLU5hbWUgIlNlc3Npb25zIiAkU2Vzc2lvbnMKICAgICAgICBBZGQtTWVt
YmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAt
TmFtZSAiQWRtaW5pc3RyYXRvciBVc2VycyIgJEFkbWluaXN0cmF0b3JVc2VycwogICAgICAgIEFk
ZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3Bl
cnR5IC1OYW1lICJBZG1pbmlzdHJhdG9yIEdyb3VwcyIgJEFkbWluaXN0cmF0b3JHcm91cHMKICAg
ICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5v
dGVQcm9wZXJ0eSAtTmFtZSAiUHJpdmlsZWdlZCIgJFByaXZpbGVnZWQKICAgICAgICBBZGQtTWVt
YmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAt
TmFtZSAiU2hhcmVzIiAkU2hhcmVzCiAgICAgICAgQWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJl
bGF5X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgIk5ldFNlc3Npb25zIiAk
TmV0U2Vzc2lvbnMKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0
IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiTmV0U2Vzc2lvbnMgTWFwcGVkIiAkTmV0
U2Vzc2lvbnNNYXBwZWQKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2Jq
ZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiTG9jYWwgVXNlcnMiICRMb2NhbFVz
ZXJzCiAgICAgICAgQWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVy
VHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgIlNNQjIuMSIgJFNNQjIKICAgICAgICBBZGQtTWVtYmVy
IC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFt
ZSAiU2lnbmluZyIgJFNpZ25pbmcKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVs
YXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiU01CIFNlcnZlciIgJFNN
QlNlcnZlcgogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1l
bWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJUYXJnZXRlZCIgJFRhcmdldGVkCiAgICAgICAg
QWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJv
cGVydHkgLU5hbWUgIkVudW1lcmF0ZSIgJEVudW1lcmF0aW9uCiAgICAgICAgQWRkLU1lbWJlciAt
SW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUg
IkV4ZWN1dGUiICRFeGVjdXRpb24KCiAgICAgICAgcmV0dXJuICRyZWxheV9vYmplY3QKICAgIH0K
CiAgICBmdW5jdGlvbiBJbnZva2UtU2Vzc2lvblVwZGF0ZQogICAgewogICAgICAgIHBhcmFtIChb
U3RyaW5nXSRkb21haW4sW1N0cmluZ10kdXNlcm5hbWUsW1N0cmluZ10kaG9zdG5hbWUsW1N0cmlu
Z10kSVApCgogICAgICAgIGlmKCRpbnZlaWdoLmRvbWFpbl9tYXBwaW5nX3RhYmxlLiRkb21haW4p
CiAgICAgICAgewogICAgICAgICAgICAkc2Vzc2lvbiA9ICgkdXNlcm5hbWUgKyAiQCIgKyAkaW52
ZWlnaC5kb21haW5fbWFwcGluZ190YWJsZS4kZG9tYWluKS5Ub1VwcGVyKCkKICAgICAgICAgICAg
JGhvc3RuYW1lX2Z1bGwgPSAoJGhvc3RuYW1lICsgIi4iICsgJGludmVpZ2guZG9tYWluX21hcHBp
bmdfdGFibGUuJGRvbWFpbikuVG9VcHBlcigpCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAg
ICB7CiAgICAgICAgICAgICRzZXNzaW9uID0gJGRvbWFpbiArICJcIiArICR1c2VybmFtZQogICAg
ICAgIH0KCiAgICAgICAgZm9yKCRpID0gMDskaSAtbHQgJGludmVpZ2guZW51bWVyYXRlLkNvdW50
OyRpKyspCiAgICAgICAgewoKICAgICAgICAgICAgaWYoJGludmVpZ2guZW51bWVyYXRlWyRpXS5I
b3N0bmFtZSAtZXEgJGhvc3RuYW1lX2Z1bGwgLW9yICRpbnZlaWdoLmVudW1lcmF0ZVskaV0uSVAg
LWVxICRJUCkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgIGlmKCEkaW52ZWlnaC5lbnVt
ZXJhdGVbJGldLkhvc3RuYW1lKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICRpbnZlaWdoLmVudW1lcmF0ZVskdGFyZ2V0X2luZGV4XS5Ib3N0bmFtZSA9ICRob3N0bmFtZV9m
dWxsCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgW0FycmF5XSRzZXNzaW9uX2xp
c3QgPSAkaW52ZWlnaC5lbnVtZXJhdGVbJGldLlNlc3Npb25zCgogICAgICAgICAgICAgICAgaWYo
JGludmVpZ2guZG9tYWluX21hcHBpbmdfdGFibGUuJGRvbWFpbikKICAgICAgICAgICAgICAgIHsK
CiAgICAgICAgICAgICAgICAgICAgZm9yKCRqID0gMDskaiAtbHQgJHNlc3Npb25fbGlzdC5Db3Vu
dDskaisrKQogICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlm
KCRzZXNzaW9uX2xpc3RbJGpdIC1saWtlICIkZG9tYWluXCoiKQogICAgICAgICAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vzc2lvbl91c2VybmFtZSA9ICgk
c2Vzc2lvbl9saXN0WyRqXS5TcGxpdCgiXCIpKVsxXQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJHNlc3Npb25fdXBkYXRlID0gJHNlc3Npb25fdXNlcm5hbWUgKyAiQCIgKyAkaW52ZWlnaC5k
b21haW5fbWFwcGluZ190YWJsZS4kZG9tYWluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
c2Vzc2lvbl9saXN0WyRqXSArPSAkc2Vzc2lvbl91cGRhdGUKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRpbnZlaWdoLmVudW1lcmF0ZVskaV0uU2Vzc2lvbnMgPSAkc2Vzc2lvbl9saXN0CiAg
ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZigkc2Vzc2lvbl9saXN0IC1ub3Rjb250YWlucyAk
c2Vzc2lvbikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkc2Vzc2lvbl9s
aXN0ICs9ICRzZXNzaW9uCiAgICAgICAgICAgICAgICAgICAgJGludmVpZ2guZW51bWVyYXRlWyRp
XS5TZXNzaW9ucyA9ICRzZXNzaW9uX2xpc3QKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICAgICAkdGFyZ2V0X3VwZGF0ZWQgPSAkdHJ1ZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAg
ICAgICAgfQoKICAgICAgICB9CiAgICAgCiAgICAgICAgaWYoISR0YXJnZXRfdXBkYXRlZCkKICAg
ICAgICB7CiAgICAgICAgICAgICRpbnZlaWdoLmVudW1lcmF0ZS5BZGQoKE5ldy1SZWxheUVudW1P
YmplY3QgLUlQICRJUCAtSG9zdG5hbWUgJGhvc3RuYW1lX2Z1bGwgLVNlc3Npb25zICRzZXNzaW9u
KSkgPiAkbnVsbAogICAgICAgIH0KCiAgICB9CgogICAgCgp9CgojIE5UTE1fZnVuY3Rpb25zX3Nj
cmlwdGJsb2NrCiROVExNX2Z1bmN0aW9uc19zY3JpcHRibG9jayA9CnsKCiAgICBmdW5jdGlvbiBH
ZXQtTlRMTVJlc3BvbnNlCiAgICB7CiAgICAgICAgcGFyYW0gKFtCeXRlW11dJFBheWxvYWQsW1N0
cmluZ10kQ2FwdHVyZSxbU3RyaW5nXSRTb3VyY2VJUCxbU3RyaW5nXSRTb3VyY2VQb3J0LFtTdHJp
bmddJFBvcnQsW1N0cmluZ10kUHJvdG9jb2wpCgogICAgICAgICRwYXlsb2FkX2NvbnZlcnRlZCA9
IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFBheWxvYWQpCiAgICAgICAgJHBheWxv
YWRfY29udmVydGVkID0gJHBheWxvYWRfY29udmVydGVkIC1yZXBsYWNlICItIiwiIgogICAgICAg
ICROVExNU1NQX2hleF9vZmZzZXQgPSAkcGF5bG9hZF9jb252ZXJ0ZWQuSW5kZXhPZigiNEU1NDRD
NEQ1MzUzNTAwMCIpCiAgICAgICAgJHNlc3Npb24gPSAiJFNvdXJjZUlQYDokU291cmNlUG9ydCIK
CiAgICAgICAgaWYoJE5UTE1TU1BfaGV4X29mZnNldCAtZ2UgMCAtYW5kICRwYXlsb2FkX2NvbnZl
cnRlZC5TdWJTdHJpbmcoKCROVExNU1NQX2hleF9vZmZzZXQgKyAxNiksOCkgLWVxICIwMzAwMDAw
MCIpCiAgICAgICAgewogICAgICAgICAgICAkTlRMTVNTUF9vZmZzZXQgPSAkTlRMTVNTUF9oZXhf
b2Zmc2V0IC8gMgogICAgICAgICAgICAkTE1fbGVuZ3RoID0gR2V0LVVJbnQxNkRhdGFMZW5ndGgg
KCROVExNU1NQX29mZnNldCArIDEyKSAkUGF5bG9hZAogICAgICAgICAgICAkTE1fb2Zmc2V0ID0g
R2V0LVVJbnQzMkRhdGFMZW5ndGggKCROVExNU1NQX29mZnNldCArIDE2KSAkUGF5bG9hZAogICAg
ICAgICAgICAkTE1fcmVzcG9uc2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRQ
YXlsb2FkWygkTlRMTVNTUF9vZmZzZXQgKyAkTE1fb2Zmc2V0KS4uKCROVExNU1NQX29mZnNldCAr
ICRMTV9vZmZzZXQgKyAkTE1fbGVuZ3RoIC0gMSldKSAtcmVwbGFjZSAiLSIsIiIKICAgICAgICAg
ICAgJE5UTE1fbGVuZ3RoID0gR2V0LVVJbnQxNkRhdGFMZW5ndGggKCROVExNU1NQX29mZnNldCAr
IDIwKSAkUGF5bG9hZAogICAgICAgICAgICAkTlRMTV9vZmZzZXQgPSBHZXQtVUludDMyRGF0YUxl
bmd0aCAoJE5UTE1TU1Bfb2Zmc2V0ICsgMjQpICRQYXlsb2FkCiAgICAgICAgICAgICROVExNX3Jl
c3BvbnNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkUGF5bG9hZFsoJE5UTE1T
U1Bfb2Zmc2V0ICsgJE5UTE1fb2Zmc2V0KS4uKCROVExNU1NQX29mZnNldCArICROVExNX29mZnNl
dCArICROVExNX2xlbmd0aCAtIDEpXSkgLXJlcGxhY2UgIi0iLCIiCiAgICAgICAgICAgICRkb21h
aW5fbGVuZ3RoID0gR2V0LVVJbnQxNkRhdGFMZW5ndGggKCROVExNU1NQX29mZnNldCArIDI4KSAk
UGF5bG9hZAogICAgICAgICAgICAkZG9tYWluX29mZnNldCA9IEdldC1VSW50MzJEYXRhTGVuZ3Ro
ICgkTlRMTVNTUF9vZmZzZXQgKyAzMikgJFBheWxvYWQKCiAgICAgICAgICAgIGlmKCRkb21haW5f
bGVuZ3RoIC1ndCAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkTlRMTV9kb21haW5f
c3RyaW5nID0gQ29udmVydC1EYXRhVG9TdHJpbmcgKCROVExNU1NQX29mZnNldCArICRkb21haW5f
b2Zmc2V0KSAkZG9tYWluX2xlbmd0aCAkUGF5bG9hZAogICAgICAgICAgICB9CgogICAgICAgICAg
ICAkdXNlcl9sZW5ndGggPSBHZXQtVUludDE2RGF0YUxlbmd0aCAoJE5UTE1TU1Bfb2Zmc2V0ICsg
MzYpICRQYXlsb2FkCiAgICAgICAgICAgICR1c2VyX29mZnNldCA9IEdldC1VSW50MzJEYXRhTGVu
Z3RoICgkTlRMTVNTUF9vZmZzZXQgKyA0MCkgJFBheWxvYWQKICAgICAgICAgICAgJE5UTE1fdXNl
cl9zdHJpbmcgPSBDb252ZXJ0LURhdGFUb1N0cmluZyAoJE5UTE1TU1Bfb2Zmc2V0ICsgJHVzZXJf
b2Zmc2V0KSAkdXNlcl9sZW5ndGggJFBheWxvYWQKICAgICAgICAgICAgJGhvc3RfbGVuZ3RoID0g
R2V0LVVJbnQxNkRhdGFMZW5ndGggKCROVExNU1NQX29mZnNldCArIDQ0KSAkUGF5bG9hZAogICAg
ICAgICAgICAkaG9zdF9vZmZzZXQgPSBHZXQtVUludDMyRGF0YUxlbmd0aCAoJE5UTE1TU1Bfb2Zm
c2V0ICsgNDgpICRQYXlsb2FkCiAgICAgICAgICAgICROVExNX2hvc3Rfc3RyaW5nID0gQ29udmVy
dC1EYXRhVG9TdHJpbmcgKCROVExNU1NQX29mZnNldCArICRob3N0X29mZnNldCkgJGhvc3RfbGVu
Z3RoICRQYXlsb2FkCgogICAgICAgICAgICBpZigkUHJvdG9jb2wgLWVxICJTTUIiKQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAkTlRMTV9jaGFsbGVuZ2UgPSAkaW52ZWlnaC5TTUJfc2Vz
c2lvbl90YWJsZS4kc2Vzc2lvbgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgJE5UTE1fY2hhbGxlbmdlID0gJGludmVpZ2guSFRUUF9z
ZXNzaW9uX3RhYmxlLiRzZXNzaW9uCiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAg
ICAgIGlmKCROVExNX2xlbmd0aCAtZ3QgMjQpCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAg
ICBpZigkTlRMTV9jaGFsbGVuZ2UpCiAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAg
ICAgICROVExNdjJfcmVzcG9uc2UgPSAkTlRMTV9yZXNwb25zZS5JbnNlcnQoMzIsJzonKQogICAg
ICAgICAgICAgICAgICAgICROVExNdjJfaGFzaCA9ICROVExNX3VzZXJfc3RyaW5nICsgIjo6IiAr
ICROVExNX2RvbWFpbl9zdHJpbmcgKyAiOiIgKyAkTlRMTV9jaGFsbGVuZ2UgKyAiOiIgKyAkTlRM
TXYyX3Jlc3BvbnNlCgogICAgICAgICAgICAgICAgICAgIGlmKCRDYXB0dXJlIC1lcSAnWScpCiAg
ICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGludmVpZ2gu
bWFjaGluZV9hY2NvdW50cyAtb3IgKCEkaW52ZWlnaC5tYWNoaW5lX2FjY291bnRzIC1hbmQgLW5v
dCAkTlRMTV91c2VyX3N0cmluZy5FbmRzV2l0aCgnJCcpKSkKICAgICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2guTlRMTXYyX2xpc3QuQWRk
KCROVExNdjJfaGFzaCkgPiAkbnVsbAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEk
aW52ZWlnaC5jb25zb2xlX3VuaXF1ZSAtb3IgKCRpbnZlaWdoLmNvbnNvbGVfdW5pcXVlIC1hbmQg
JGludmVpZ2guTlRMTXYyX3VzZXJuYW1lX2xpc3QgLW5vdGNvbnRhaW5zICIkU291cmNlSVAgJE5U
TE1fZG9tYWluX3N0cmluZ1wkTlRMTV91c2VyX3N0cmluZyIpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1
dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkUHJvdG9jb2woJFBvcnQp
IE5UTE12MiBjYXB0dXJlZCBmb3IgJE5UTE1fZG9tYWluX3N0cmluZ1wkTlRMTV91c2VyX3N0cmlu
ZyBmcm9tICRTb3VyY2VJUCgkTlRMTV9ob3N0X3N0cmluZylgOiRTb3VyY2VQb3J0YDoiKSA+ICRu
dWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVl
LkFkZCgkTlRMTXYyX2hhc2gpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVl
dWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJFByb3RvY29sKCRQb3J0KSBOVExN
djIgY2FwdHVyZWQgZm9yICROVExNX2RvbWFpbl9zdHJpbmdcJE5UTE1fdXNlcl9zdHJpbmcgZnJv
bSAkU291cmNlSVAoJE5UTE1faG9zdF9zdHJpbmcpYDokU291cmNlUG9ydGA6YG5bbm90IHVuaXF1
ZV0iKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYoJGludmVpZ2guZmlsZV9vdXRwdXQgLWFuZCAoISRpbnZlaWdoLmZp
bGVfdW5pcXVlIC1vciAoJGludmVpZ2guZmlsZV91bmlxdWUgLWFuZCAkaW52ZWlnaC5OVExNdjJf
dXNlcm5hbWVfbGlzdCAtbm90Y29udGFpbnMgIiRTb3VyY2VJUCAkTlRMTV9kb21haW5fc3RyaW5n
XCROVExNX3VzZXJfc3RyaW5nIikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLk5UTE12Ml9maWxlX3F1ZXVlLkFk
ZCgkTlRMTXYyX2hhc2gpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJFBy
b3RvY29sKCRQb3J0KSBOVExNdjIgd3JpdHRlbiB0byAiICsgIkludmVpZ2gtTlRMTXYyLnR4dCIp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZigkaW52ZWlnaC5OVExNdjJfdXNlcm5hbWVfbGlzdCAtbm90Y29udGFpbnMg
IiRTb3VyY2VJUCAkTlRMTV9kb21haW5fc3RyaW5nXCROVExNX3VzZXJfc3RyaW5nIikKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
aW52ZWlnaC5OVExNdjJfdXNlcm5hbWVfbGlzdC5BZGQoIiRTb3VyY2VJUCAkTlRMTV9kb21haW5f
c3RyaW5nXCROVExNX3VzZXJfc3RyaW5nIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLklQX2NhcHR1
cmVfbGlzdCAtbm90Y29udGFpbnMgJFNvdXJjZUlQIC1hbmQgLW5vdCAkTlRMTV91c2VyX3N0cmlu
Zy5FbmRzV2l0aCgnJCcpIC1hbmQgISRpbnZlaWdoLnNwb29mZXJfcmVwZWF0IC1hbmQgJFNvdXJj
ZUlQIC1uZSAkSVApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJGludmVpZ2guSVBfY2FwdHVyZV9saXN0LkFkZCgkU291cmNlSVAp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUu
QWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJFByb3RvY29sKCRQb3J0KSBOVExNdjIg
aWdub3JlZCBmb3IgJE5UTE1fZG9tYWluX3N0cmluZ1wkTlRMTV91c2VyX3N0cmluZyBmcm9tICRT
b3VyY2VJUCgkTlRMTV9ob3N0X3N0cmluZylgOiRTb3VyY2VQb3J0YDpgblttYWNoaW5lIGFjY291
bnRdIikgPiAkbnVsbCAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFsk
KEdldC1EYXRlIC1mb3JtYXQgcyldICRQcm90b2NvbCgkUG9ydCkgTlRMTXYyIGlnbm9yZWQgZm9y
ICROVExNX2RvbWFpbl9zdHJpbmdcJE5UTE1fdXNlcl9zdHJpbmcgZnJvbSAkU291cmNlSVAoJE5U
TE1faG9zdF9zdHJpbmcpYDokU291cmNlUG9ydGA6YG5bY2FwdHVyZSBkaXNhYmxlZF0iKSA+ICRu
dWxsICAgIAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRQcm90b2Nv
bCgkUG9ydCkgTlRMTXYyIGNoYWxsZW5nZSBtaXNzaW5nIGZvciAkTlRMTV9kb21haW5fc3RyaW5n
XCROVExNX3VzZXJfc3RyaW5nIGZyb20gJFNvdXJjZUlQKCROVExNX2hvc3Rfc3RyaW5nKWA6JFNv
dXJjZVBvcnQiKSA+ICRudWxsICAgIAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQog
ICAgICAgICAgICBlbHNlaWYoJE5UTE1fbGVuZ3RoIC1lcSAyNCkKICAgICAgICAgICAgewoKICAg
ICAgICAgICAgICAgIGlmKCROVExNX2NoYWxsZW5nZSkKICAgICAgICAgICAgICAgIHsKCiAgICAg
ICAgICAgICAgICAgICAgJE5UTE12MV9oYXNoID0gJE5UTE1fdXNlcl9zdHJpbmcgKyAiOjoiICsg
JE5UTE1fZG9tYWluX3N0cmluZyArICI6IiArICRMTV9yZXNwb25zZSArICI6IiArICROVExNX3Jl
c3BvbnNlICsgIjoiICsgJE5UTE1fY2hhbGxlbmdlCgogICAgICAgICAgICAgICAgICAgIGlmKCRD
YXB0dXJlIC1lcSAnWScpCiAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAg
ICAgICAgaWYoJGludmVpZ2gubWFjaGluZV9hY2NvdW50cyAtb3IgKCEkaW52ZWlnaC5tYWNoaW5l
X2FjY291bnRzIC1hbmQgLW5vdCAkTlRMTV91c2VyX3N0cmluZy5FbmRzV2l0aCgnJCcpKSkKICAg
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2guTlRMTXYxX2xpc3QuQWRkKCROVExNdjFfaGFzaCkgPiAkbnVsbAoKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmKCEkaW52ZWlnaC5jb25zb2xlX3VuaXF1ZSAtb3IgKCRpbnZlaWdoLmNv
bnNvbGVfdW5pcXVlIC1hbmQgJGludmVpZ2guTlRMTXYxX3VzZXJuYW1lX2xpc3QgLW5vdGNvbnRh
aW5zICIkU291cmNlSVAgJE5UTE1fZG9tYWluX3N0cmluZ1wkTlRMTV91c2VyX3N0cmluZyIpKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMp
XSBTTUIoJFBvcnQpIE5UTE12MSBjYXB0dXJlZCBmb3IgJE5UTE1fZG9tYWluX3N0cmluZ1wkTlRM
TV91c2VyX3N0cmluZyBmcm9tICRTb3VyY2VJUCgkTlRMTV9ob3N0X3N0cmluZylgOiRTb3VyY2VQ
b3J0YDoiKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gu
b3V0cHV0X3F1ZXVlLkFkZCgkTlRMTXYxX2hhc2gpID4gJG51bGwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWln
aC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gU01CKCRQb3J0
KSBOVExNdjEgY2FwdHVyZWQgZm9yICROVExNX2RvbWFpbl9zdHJpbmdcJE5UTE1fdXNlcl9zdHJp
bmcgZnJvbSAkU291cmNlSVAoJE5UTE1faG9zdF9zdHJpbmcpYDokU291cmNlUG9ydGA6YG5bbm90
IHVuaXF1ZV0iKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYoJGludmVpZ2guZmlsZV9vdXRwdXQgLWFuZCAoISRpbnZl
aWdoLmZpbGVfdW5pcXVlIC1vciAoJGludmVpZ2guZmlsZV91bmlxdWUgLWFuZCAkaW52ZWlnaC5O
VExNdjFfdXNlcm5hbWVfbGlzdCAtbm90Y29udGFpbnMgIiRTb3VyY2VJUCAkTlRMTV9kb21haW5f
c3RyaW5nXCROVExNX3VzZXJfc3RyaW5nIikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLk5UTE12MV9maWxlX3F1
ZXVlLkFkZCgkTlRMTXYxX2hhc2gpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gU01CKCRQb3J0KSBOVExNdjEgd3JpdHRlbiB0byAiICsgIkludmVpZ2gtTlRMTXYxLnR4dCIp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZigkaW52ZWlnaC5OVExNdjFfdXNlcm5hbWVfbGlzdCAtbm90Y29udGFpbnMg
IiRTb3VyY2VJUCAkTlRMTV9kb21haW5fc3RyaW5nXCROVExNX3VzZXJfc3RyaW5nIikKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
aW52ZWlnaC5OVExNdjFfdXNlcm5hbWVfbGlzdC5BZGQoIiRTb3VyY2VJUCAkTlRMTV9kb21haW5f
c3RyaW5nXCROVExNX3VzZXJfc3RyaW5nIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLklQX2NhcHR1
cmVfbGlzdCAtbm90Y29udGFpbnMgJFNvdXJjZUlQIC1hbmQgLW5vdCAkTlRMTV91c2VyX3N0cmlu
Zy5FbmRzV2l0aCgnJCcpIC1hbmQgISRpbnZlaWdoLnNwb29mZXJfcmVwZWF0IC1hbmQgJFNvdXJj
ZUlQIC1uZSAkSVApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJGludmVpZ2guSVBfY2FwdHVyZV9saXN0LkFkZCgkU291cmNlSVAp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUu
QWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJFByb3RvY29sKCRQb3J0KSBOVExNdjEg
aWdub3JlZCBmb3IgJE5UTE1fZG9tYWluX3N0cmluZ1wkTlRMTV91c2VyX3N0cmluZyBmcm9tICRT
b3VyY2VJUCgkTlRMTV9ob3N0X3N0cmluZylgOiRTb3VyY2VQb3J0YDpgblttYWNoaW5lIGFjY291
bnRdIikgPiAkbnVsbCAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFsk
KEdldC1EYXRlIC1mb3JtYXQgcyldICRQcm90b2NvbCgkUG9ydCkgTlRMTXYxIGlnbm9yZWQgZm9y
ICROVExNX2RvbWFpbl9zdHJpbmdcJE5UTE1fdXNlcl9zdHJpbmcgZnJvbSAkU291cmNlSVAoJE5U
TE1faG9zdF9zdHJpbmcpYDokU291cmNlUG9ydGA6YG5bY2FwdHVyZSBkaXNhYmxlZF0iKSA+ICRu
dWxsICAgIAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRQcm90b2Nv
bCgkUG9ydCkgTlRMTXYxIGNoYWxsZW5nZSBtaXNzaW5nIGZvciAkTlRMTV9kb21haW5fc3RyaW5n
XCROVExNX3VzZXJfc3RyaW5nIGZyb20gJFNvdXJjZUlQKCROVExNX2hvc3Rfc3RyaW5nKWA6JFNv
dXJjZVBvcnQiKSA+ICRudWxsICAgIAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQog
ICAgICAgICAgICBlbHNlaWYoJE5UTE1fbGVuZ3RoIC1lcSAwKQogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZv
cm1hdCBzKV0gJFByb3RvY29sKCRQb3J0KSBOVExNIG51bGwgcmVzcG9uc2UgZnJvbSAkU291cmNl
SVAoJE5UTE1faG9zdF9zdHJpbmcpYDokU291cmNlUG9ydCIpID4gJG51bGwKICAgICAgICAgICAg
fQoKICAgICAgICAgICAgSW52b2tlLVNlc3Npb25VcGRhdGUgJE5UTE1fZG9tYWluX3N0cmluZyAk
TlRMTV91c2VyX3N0cmluZyAkTlRMTV9ob3N0X3N0cmluZyAkc291cmNlX0lQCiAgICAgICAgfQoK
ICAgIH0KCn0KCiMgQURJRE5TIEZ1bmN0aW9ucyBTY3JpcHRCbG9jawokQURJRE5TX2Z1bmN0aW9u
c19zY3JpcHRibG9jayA9CnsKCiAgICBmdW5jdGlvbiBEaXNhYmxlLUFESUROU05vZGUKICAgIHsK
CiAgICAgICAgW0NtZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJhbQogICAgICAgICgKICAgICAg
ICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREb21haW4sCiAgICAg
ICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluQ29udHJv
bGxlciwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtTdHJpbmddJE5v
ZGUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0
KCJEb21haW5ETlNab25lcyIsIkZvcmVzdEROU1pvbmVzIildW1N0cmluZ10kUGFydGl0aW9uID0g
IkRvbWFpbkROU1pvbmVzIiwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bU3RyaW5nXSRab25lLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2Up
XVtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTQ3JlZGVudGlhbF0kQ3JlZGVudGlhbAog
ICAgICAgICkKCiAgICAgICAgJFNPQVNlcmlhbE51bWJlckFycmF5ID0gTmV3LVNPQVNlcmlhbE51
bWJlckFycmF5IC1Eb21haW5Db250cm9sbGVyICREb21haW5Db250cm9sbGVyIC1ab25lICRab25l
CgogICAgICAgICRkaXN0aW5ndWlzaGVkX25hbWUgPSAiREM9JE5vZGUsREM9JFpvbmUsQ049TWlj
cm9zb2Z0RE5TLERDPSRQYXJ0aXRpb24iCiAgICAgICAgJERDX2FycmF5ID0gJERvbWFpbi5TcGxp
dCgiLiIpCgogICAgICAgIGZvcmVhY2goJERDIGluICREQ19hcnJheSkKICAgICAgICB7CiAgICAg
ICAgICAgICRkaXN0aW5ndWlzaGVkX25hbWUgKz0gIixEQz0kREMiCiAgICAgICAgfQoKICAgICAg
ICBpZigkQ3JlZGVudGlhbCkKICAgICAgICB7CiAgICAgICAgICAgICRkaXJlY3RvcnlfZW50cnkg
PSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5EaXJlY3RvcnlFbnRyeSgiTERB
UDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5ndWlzaGVkX25hbWUiLCRDcmVkZW50aWFsLlVz
ZXJOYW1lLCRDcmVkZW50aWFsLkdldE5ldHdvcmtDcmVkZW50aWFsKCkuUGFzc3dvcmQpCiAgICAg
ICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICRkaXJlY3RvcnlfZW50cnkg
PSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5EaXJlY3RvcnlFbnRyeSAiTERB
UDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5ndWlzaGVkX25hbWUiCiAgICAgICAgfQoKICAg
ICAgICAkdGltZXN0YW1wID0gW0ludDY0XSgoW2RhdGV0aW1lXTo6VXRjTm93LlRpY2tzKS0oR2V0
LURhdGUgIjEvMS8xNjAxIikuVGlja3MpCiAgICAgICAgJHRpbWVzdGFtcCA9IFtTeXN0ZW0uQml0
Q29udmVydGVyXTo6VG9TdHJpbmcoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkdGlt
ZXN0YW1wKSkKICAgICAgICAkdGltZXN0YW1wID0gJHRpbWVzdGFtcC5TcGxpdCgiLSIpIHwgRm9y
RWFjaC1PYmplY3R7W1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9CgogICAgICAgIFtC
eXRlW11dJEROU19yZWNvcmQgPSAweDA4LDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMCwweDAwLDB4
MDAgKwogICAgICAgICAgICAkU09BU2VyaWFsTnVtYmVyQXJyYXlbMC4uM10gKwogICAgICAgICAg
ICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAs
MHgwMCArCiAgICAgICAgICAgICR0aW1lc3RhbXAKCiAgICAgICAgdHJ5CiAgICAgICAgewogICAg
ICAgICAgICAkZGlyZWN0b3J5X2VudHJ5Lkludm9rZVNldCgnZG5zUmVjb3JkJywkRE5TX3JlY29y
ZCkKICAgICAgICAgICAgJGRpcmVjdG9yeV9lbnRyeS5JbnZva2VTZXQoJ2Ruc1RvbWJzdG9uZWQn
LCR0cnVlKQogICAgICAgICAgICAkZGlyZWN0b3J5X2VudHJ5LlNldEluZm8oKQogICAgICAgICAg
ICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0g
QURJRE5TIG5vZGUgJE5vZGUgdG9tYnN0b25lZCBpbiAkWm9uZSIpID4gJG51bGwKICAgICAgICB9
CiAgICAgICAgY2F0Y2gKICAgICAgICB7CiAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8u
RXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVz
c2FnZSAtcmVwbGFjZSAiYG4iLCIiCiAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5B
ZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkZXJyb3JfbWVzc2FnZSAkKCRfLkludm9j
YXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwKICAgICAgICB9CgogICAgICAgIGlmKCRk
aXJlY3RvcnlfZW50cnkuUGF0aCkKICAgICAgICB7CiAgICAgICAgICAgICRkaXJlY3RvcnlfZW50
cnkuQ2xvc2UoKQogICAgICAgIH0KCiAgICB9CgogICAgZnVuY3Rpb24gRW5hYmxlLUFESUROU05v
ZGUKICAgIHsKCiAgICAgICAgW0NtZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJhbQogICAgICAg
ICgKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREYXRh
LCAgICAKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRE
aXN0aW5ndWlzaGVkTmFtZSwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNl
KV1bU3RyaW5nXSREb21haW4sCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxz
ZSldW1N0cmluZ10kRG9tYWluQ29udHJvbGxlciwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5k
YXRvcnk9JHRydWUpXVtTdHJpbmddJE5vZGUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJEb21haW5ETlNab25lcyIsIkZvcmVzdEROU1pvbmVz
IildW1N0cmluZ10kUGFydGl0aW9uID0gIkRvbWFpbkROU1pvbmVzIiwKICAgICAgICAgICAgW3Bh
cmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkEiLCJBQUFBIiwiQ05BTUUi
LCJETkFNRSIsIk1YIiwiTlMiLCJQVFIiLCJTUlYiLCJUWFQiKV1bU3RyaW5nXSRUeXBlID0gIkEi
LAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJFpvbmUs
CiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0J5dGVbXV0kRE5TUmVj
b3JkLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJFByZWZl
cmVuY2UsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kUHJp
b3JpdHksCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kV2Vp
Z2h0LAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJFBvcnQs
CiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kVFRMID0gNjAw
LAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnQzMl0kU09BU2Vy
aWFsTnVtYmVyLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0
Y2hdJFN0YXRpYywKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3dp
dGNoXSRUb21ic3RvbmUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSld
W1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUFNDcmVkZW50aWFsXSRDcmVkZW50aWFsCiAg
ICAgICAgKQoKICAgICAgICAkZGlzdGluZ3Vpc2hlZF9uYW1lID0gIkRDPSROb2RlLERDPSRab25l
LENOPU1pY3Jvc29mdEROUyxEQz0kUGFydGl0aW9uIgogICAgICAgICREQ19hcnJheSA9ICREb21h
aW4uU3BsaXQoIi4iKQoKICAgICAgICBmb3JlYWNoKCREQyBpbiAkRENfYXJyYXkpCiAgICAgICAg
ewogICAgICAgICAgICAkZGlzdGluZ3Vpc2hlZF9uYW1lICs9ICIsREM9JERDIgogICAgICAgIH0K
CiAgICAgICAgW0J5dGVbXV0kRE5TUmVjb3JkID0gTmV3LUROU1JlY29yZEFycmF5IC1EYXRhICRE
YXRhIC1Eb21haW5Db250cm9sbGVyICREb21haW5Db250cm9sbGVyIC1UeXBlICRUeXBlIC1UVEwg
JFRUTCAtWm9uZSAkWm9uZQoKICAgICAgICBpZigkQ3JlZGVudGlhbCkKICAgICAgICB7CiAgICAg
ICAgICAgICRkaXJlY3RvcnlfZW50cnkgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2
aWNlcy5EaXJlY3RvcnlFbnRyeSgiTERBUDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5ndWlz
aGVkX25hbWUiLCRDcmVkZW50aWFsLlVzZXJOYW1lLCRDcmVkZW50aWFsLkdldE5ldHdvcmtDcmVk
ZW50aWFsKCkuUGFzc3dvcmQpCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAg
ICAgICAgICRkaXJlY3RvcnlfZW50cnkgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2
aWNlcy5EaXJlY3RvcnlFbnRyeSAiTERBUDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5ndWlz
aGVkX25hbWUiCiAgICAgICAgfQoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgICRk
aXJlY3RvcnlfZW50cnkuSW52b2tlU2V0KCdkbnNSZWNvcmQnLCRETlNSZWNvcmQpCiAgICAgICAg
ICAgICRkaXJlY3RvcnlfZW50cnkuU2V0SW5mbygpCiAgICAgICAgICAgICRzdWNjZXNzID0gJHRy
dWUKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRl
IC1mb3JtYXQgcyldIEFESUROUyBub2RlICROb2RlIGFkZGVkIHRvICRab25lIikgPiAkbnVsbDsK
ICAgICAgICAgICAgJGludmVpZ2guQURJRE5TX3RhYmxlLiROb2RlID0gIjEiCiAgICAgICAgfQog
ICAgICAgIGNhdGNoCiAgICAgICAgewogICAgICAgICAgICAkc3VjY2VzcyA9ICRmYWxzZQogICAg
ICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAgICAgICAg
ICRlcnJvcl9tZXNzYWdlID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gJGVycm9yX21lc3NhZ2UgJCgkXy5JbnZvY2F0aW9uSW5mby5MaW5lLlRyaW0oKSkiKSA+ICRu
dWxsCiAgICAgICAgICAgICRpbnZlaWdoLkFESUROU190YWJsZS4kTm9kZSA9ICIwIgogICAgICAg
IH0KCiAgICAgICAgaWYoJGRpcmVjdG9yeV9lbnRyeS5QYXRoKQogICAgICAgIHsKICAgICAgICAg
ICAgJGRpcmVjdG9yeV9lbnRyeS5DbG9zZSgpCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHN1
Y2Nlc3MKICAgIH0KCiAgICBmdW5jdGlvbiBHZXQtQURJRE5TTm9kZVRvbWJzdG9uZWQKICAgIHsK
CiAgICAgICAgW0NtZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJhbQogICAgICAgICgKICAgICAg
ICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREaXN0aW5ndWlzaGVk
TmFtZSwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRE
b21haW4sCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10k
RG9tYWluQ29udHJvbGxlciwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUp
XVtTdHJpbmddJE5vZGUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSld
W1ZhbGlkYXRlU2V0KCJEb21haW5ETlNab25lcyIsIkZvcmVzdEROU1pvbmVzIildW1N0cmluZ10k
UGFydGl0aW9uID0gIkRvbWFpbkROU1pvbmVzIiwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5k
YXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRab25lLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRh
dG9yeT0kZmFsc2UpXVtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTQ3JlZGVudGlhbF0k
Q3JlZGVudGlhbAogICAgICAgICkKCiAgICAgICAgJGRpc3Rpbmd1aXNoZWRfbmFtZSA9ICJEQz0k
Tm9kZSxEQz0kWm9uZSxDTj1NaWNyb3NvZnRETlMsREM9JFBhcnRpdGlvbiIKICAgICAgICAkRENf
YXJyYXkgPSAkRG9tYWluLlNwbGl0KCIuIikKCiAgICAgICAgZm9yZWFjaCgkREMgaW4gJERDX2Fy
cmF5KQogICAgICAgIHsKICAgICAgICAgICAgJGRpc3Rpbmd1aXNoZWRfbmFtZSArPSAiLERDPSRE
QyIKICAgICAgICB9CgogICAgICAgIGlmKCRDcmVkZW50aWFsKQogICAgICAgIHsKICAgICAgICAg
ICAgJGRpcmVjdG9yeV9lbnRyeSA9IE5ldy1PYmplY3QgU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2Vz
LkRpcmVjdG9yeUVudHJ5KCJMREFQOi8vJERvbWFpbkNvbnRyb2xsZXIvJGRpc3Rpbmd1aXNoZWRf
bmFtZSIsJENyZWRlbnRpYWwuVXNlck5hbWUsJENyZWRlbnRpYWwuR2V0TmV0d29ya0NyZWRlbnRp
YWwoKS5QYXNzd29yZCkKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAg
ICAgJGRpcmVjdG9yeV9lbnRyeSA9IE5ldy1PYmplY3QgU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2Vz
LkRpcmVjdG9yeUVudHJ5ICJMREFQOi8vJERvbWFpbkNvbnRyb2xsZXIvJGRpc3Rpbmd1aXNoZWRf
bmFtZSIKICAgICAgICB9CgogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgJGRuc1Rv
bWJzdG9uZWQgPSAkZGlyZWN0b3J5X2VudHJ5Lkludm9rZUdldCgnZG5zVG9tYnN0b25lZCcpCiAg
ICAgICAgICAgICRkbnNSZWNvcmQgPSAkZGlyZWN0b3J5X2VudHJ5Lkludm9rZUdldCgnZG5zUmVj
b3JkJykKICAgICAgICB9CiAgICAgICAgY2F0Y2gKICAgICAgICB7CgogICAgICAgICAgICBpZigk
Xy5FeGNlcHRpb24uTWVzc2FnZSAtbm90bGlrZSAnKkV4Y2VwdGlvbiBjYWxsaW5nICJJbnZva2VH
ZXQiIHdpdGggIjEiIGFyZ3VtZW50KHMpOiAiVGhlIHNwZWNpZmllZCBkaXJlY3Rvcnkgc2Vydmlj
ZSBhdHRyaWJ1dGUgb3IgdmFsdWUgZG9lcyBub3QgZXhpc3QuKicgLWFuZAogICAgICAgICAgICAk
Xy5FeGNlcHRpb24uTWVzc2FnZSAtbm90bGlrZSAnKlRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uIG9j
Y3VycmVkIHdoaWxlIHJldHJpZXZpbmcgbWVtYmVyICJJbnZva2VHZXQiOiAiVGhlIHNwZWNpZmll
ZCBkaXJlY3Rvcnkgc2VydmljZSBhdHRyaWJ1dGUgb3IgdmFsdWUgZG9lcyBub3QgZXhpc3QuKicp
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8uRXhjZXB0
aW9uLk1lc3NhZ2UKICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJGVycm9yX21lc3Nh
Z2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVl
LkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQoJF8uSW52
b2NhdGlvbkluZm8uTGluZS5UcmltKCkpIikgPiAkbnVsbAogICAgICAgICAgICB9CgogICAgICAg
IH0KCiAgICAgICAgaWYoJGRpcmVjdG9yeV9lbnRyeS5QYXRoKQogICAgICAgIHsKICAgICAgICAg
ICAgJGRpcmVjdG9yeV9lbnRyeS5DbG9zZSgpCiAgICAgICAgfQoKICAgICAgICAkbm9kZV90b21i
c3RvbmVkID0gJGZhbHNlCgogICAgICAgIGlmKCRkbnNUb21ic3RvbmVkIC1hbmQgJGRuc1JlY29y
ZCkKICAgICAgICB7CgogICAgICAgICAgICBpZigkZG5zUmVjb3JkWzBdLkdldFR5cGUoKS5uYW1l
IC1lcSBbQnl0ZV0pCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBpZigkZG5zUmVjb3Jk
LkNvdW50IC1nZSAzMiAtYW5kICRkbnNSZWNvcmRbMl0gLWVxIDApCiAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgJG5vZGVfdG9tYnN0b25lZCA9ICR0cnVlCiAgICAgICAgICAg
ICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRub2RlX3Rv
bWJzdG9uZWQKICAgIH0KCiAgICBmdW5jdGlvbiBHcmFudC1BRElETlNQZXJtaXNzaW9uCiAgICB7
CiAgICAgICAgW0NtZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJhbQogICAgICAgICgKICAgICAg
ICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkFjY2Vzc1N5
c3RlbVNlY3VyaXR5IiwiQ3JlYXRlQ2hpbGQiLCJEZWxldGUiLCJEZWxldGVDaGlsZCIsCiAgICAg
ICAgICAgICJEZWxldGVUcmVlIiwiRXh0ZW5kZWRSaWdodCIsIkdlbmVyaWNBbGwiLCJHZW5lcmlj
RXhlY3V0ZSIsIkdlbmVyaWNSZWFkIiwiR2VuZXJpY1dyaXRlIiwiTGlzdENoaWxkcmVuIiwKICAg
ICAgICAgICAgIkxpc3RPYmplY3QiLCJSZWFkQ29udHJvbCIsIlJlYWRQcm9wZXJ0eSIsIlNlbGYi
LCJTeW5jaHJvbml6ZSIsIldyaXRlRGFjbCIsIldyaXRlT3duZXIiLCJXcml0ZVByb3BlcnR5Iild
W0FycmF5XSRBY2Nlc3MgPSAiR2VuZXJpY0FsbCIsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFu
ZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0KCJBbGxvdyIsIkRlbnkiKV1bU3RyaW5nXSRUeXBl
ID0gIkFsbG93IiwgICAgCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSld
W1N0cmluZ10kRGlzdGluZ3Vpc2hlZE5hbWUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRh
dG9yeT0kZmFsc2UpXVtTdHJpbmddJERvbWFpbkNvbnRyb2xsZXIsCiAgICAgICAgICAgIFtwYXJh
bWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kTm9kZSwKICAgICAgICAgICAgW3BhcmFt
ZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTZXQoIkRvbWFpbkROU1pvbmVzIiwiRm9y
ZXN0RE5TWm9uZXMiLCJTeXN0ZW0iKV1bU3RyaW5nXSRQYXJ0aXRpb24gPSAiRG9tYWluRE5TWm9u
ZXMiLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJFBy
aW5jaXBhbCwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5n
XSRab25lLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTeXN0ZW0u
TWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTQ3JlZGVudGlhbF0kQ3JlZGVudGlhbCwKICAgICAgICAg
ICAgW3BhcmFtZXRlcihWYWx1ZUZyb21SZW1haW5pbmdBcmd1bWVudHM9JHRydWUpXSRpbnZhbGlk
X3BhcmFtZXRlcgogICAgICAgICkKCiAgICAgICAgaWYoJFBhcnRpdGlvbiAtZXEgJ1N5c3RlbScp
CiAgICAgICAgewogICAgICAgICAgICAkZGlzdGluZ3Vpc2hlZF9uYW1lID0gIkRDPSROb2RlLERD
PSRab25lLENOPU1pY3Jvc29mdEROUyxDTj0kUGFydGl0aW9uIgogICAgICAgIH0KICAgICAgICBl
bHNlCiAgICAgICAgewogICAgICAgICAgICAkZGlzdGluZ3Vpc2hlZF9uYW1lID0gIkRDPSROb2Rl
LERDPSRab25lLENOPU1pY3Jvc29mdEROUyxEQz0kUGFydGl0aW9uIgogICAgICAgIH0KCiAgICAg
ICAgJERDX2FycmF5ID0gJERvbWFpbi5TcGxpdCgiLiIpCgogICAgICAgIEZvckVhY2goJERDIGlu
ICREQ19hcnJheSkKICAgICAgICB7CiAgICAgICAgICAgICRkaXN0aW5ndWlzaGVkX25hbWUgKz0g
IixEQz0kREMiCiAgICAgICAgfQoKICAgICAgICBpZigkQ3JlZGVudGlhbCkKICAgICAgICB7CiAg
ICAgICAgICAgICRkaXJlY3RvcnlfZW50cnkgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlT
ZXJ2aWNlcy5EaXJlY3RvcnlFbnRyeSgiTERBUDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5n
dWlzaGVkX25hbWUiLCRDcmVkZW50aWFsLlVzZXJOYW1lLCRDcmVkZW50aWFsLkdldE5ldHdvcmtD
cmVkZW50aWFsKCkuUGFzc3dvcmQpCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAg
ICAgICAgICAgICRkaXJlY3RvcnlfZW50cnkgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlT
ZXJ2aWNlcy5EaXJlY3RvcnlFbnRyeSAiTERBUDovLyREb21haW5Db250cm9sbGVyLyRkaXN0aW5n
dWlzaGVkX25hbWUiCiAgICAgICAgfQoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAg
ICROVF9hY2NvdW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuUHJpbmNpcGFsLk5UQWNj
b3VudCgkUHJpbmNpcGFsKQogICAgICAgICAgICAkcHJpbmNpcGFsX1NJRCA9ICROVF9hY2NvdW50
LlRyYW5zbGF0ZShbU3lzdGVtLlNlY3VyaXR5LlByaW5jaXBhbC5TZWN1cml0eUlkZW50aWZpZXJd
KQogICAgICAgICAgICAkcHJpbmNpcGFsX2lkZW50aXR5ID0gW1N5c3RlbS5TZWN1cml0eS5Qcmlu
Y2lwYWwuSWRlbnRpdHlSZWZlcmVuY2VdJHByaW5jaXBhbF9TSUQKICAgICAgICAgICAgJEFEX3Jp
Z2h0cyA9IFtTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuQWN0aXZlRGlyZWN0b3J5UmlnaHRzXSRB
Y2Nlc3MKICAgICAgICAgICAgJGFjY2Vzc19jb250cm9sX3R5cGUgPSBbU3lzdGVtLlNlY3VyaXR5
LkFjY2Vzc0NvbnRyb2wuQWNjZXNzQ29udHJvbFR5cGVdJFR5cGUKICAgICAgICAgICAgJEFEX3Nl
Y3VyaXR5X2luaGVyaXRhbmNlID0gW1N5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJl
Y3RvcnlTZWN1cml0eUluaGVyaXRhbmNlXSJBbGwiCiAgICAgICAgICAgICRBQ0UgPSBOZXctT2Jq
ZWN0IFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnlBY2Nlc3NSdWxlKCRw
cmluY2lwYWxfaWRlbnRpdHksJEFEX3JpZ2h0cywkYWNjZXNzX2NvbnRyb2xfdHlwZSwkQURfc2Vj
dXJpdHlfaW5oZXJpdGFuY2UpCiAgICAgICAgfQogICAgICAgIGNhdGNoCiAgICAgICAgewogICAg
ICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAgICAgICAg
ICRlcnJvcl9tZXNzYWdlID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gJGVycm9yX21lc3NhZ2UgJCgkXy5JbnZvY2F0aW9uSW5mby5MaW5lLlRyaW0oKSkiKSA+ICRu
dWxsCiAgICAgICAgfQoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgICRkaXJlY3Rv
cnlfZW50cnkucHNiYXNlLk9iamVjdFNlY3VyaXR5LkFkZEFjY2Vzc1J1bGUoJEFDRSkKICAgICAg
ICAgICAgJGRpcmVjdG9yeV9lbnRyeS5wc2Jhc2UuQ29tbWl0Q2hhbmdlcygpCiAgICAgICAgICAg
ICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBG
dWxsIENvbnRyb2wgQUNFIGFkZGVkIGZvciAkUHJpbmNpcGFsIHRvICROb2RlIERBQ0wiKSA+ICRu
dWxsCiAgICAgICAgfQogICAgICAgIGNhdGNoCiAgICAgICAgewogICAgICAgICAgICAkZXJyb3Jf
bWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAgICAgICAgICRlcnJvcl9tZXNzYWdl
ID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICAgICAkaW52ZWlnaC5v
dXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJGVycm9yX21lc3Nh
Z2UgJCgkXy5JbnZvY2F0aW9uSW5mby5MaW5lLlRyaW0oKSkiKSA+ICRudWxsCiAgICAgICAgfQoK
ICAgICAgICBpZigkZGlyZWN0b3J5X2VudHJ5LlBhdGgpCiAgICAgICAgewogICAgICAgICAgICAk
ZGlyZWN0b3J5X2VudHJ5LkNsb3NlKCkKICAgICAgICB9CgogICAgICAgIHJldHVybiAkb3V0cHV0
CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIE5ldy1BRElETlNOb2RlCiAgICB7CiAgICAgICAgW0Nt
ZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJhbQogICAgICAgICgKICAgICAgICAgICAgW3BhcmFt
ZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREYXRhLCAgICAKICAgICAgICAgICAgW3Bh
cmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREaXN0aW5ndWlzaGVkTmFtZSwKICAg
ICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREb21haW4sCiAg
ICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluQ29u
dHJvbGxlciwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5n
XSRGb3Jlc3QsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bU3RyaW5n
XSROb2RlLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0
ZVNldCgiRG9tYWluRE5TWm9uZXMiLCJGb3Jlc3RETlNab25lcyIpXVtTdHJpbmddJFBhcnRpdGlv
biA9ICJEb21haW5ETlNab25lcyIsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW1N0cmluZ10kVHlwZSwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZh
bHNlKV1bU3RyaW5nXSRab25lLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtJbnRdJFRUTCwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1b
U3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5QU0NyZWRlbnRpYWxdJENyZWRlbnRpYWwKICAg
ICAgICApCgogICAgICAgICRudWxsID0gW1N5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5XTo6TG9h
ZFdpdGhQYXJ0aWFsTmFtZSgiU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLlByb3RvY29scyIpCgog
ICAgICAgICRkaXN0aW5ndWlzaGVkX25hbWUgPSAiREM9JE5vZGUsREM9JFpvbmUsQ049TWljcm9z
b2Z0RE5TLERDPSRQYXJ0aXRpb24iCiAgICAgICAgJERDX2FycmF5ID0gJERvbWFpbi5TcGxpdCgi
LiIpCgogICAgICAgIGZvcmVhY2goJERDIGluICREQ19hcnJheSkKICAgICAgICB7CiAgICAgICAg
ICAgICRkaXN0aW5ndWlzaGVkX25hbWUgKz0gIixEQz0kREMiCiAgICAgICAgfQoKICAgICAgICBb
Qnl0ZVtdXSRETlNSZWNvcmQgPSBOZXctRE5TUmVjb3JkQXJyYXkgLURhdGEgJERhdGEgLURvbWFp
bkNvbnRyb2xsZXIgJERvbWFpbkNvbnRyb2xsZXIgLVR5cGUgJFR5cGUgLVRUTCAkVFRMIC1ab25l
ICRab25lCiAgICAgICAgJGlkZW50aWZpZXIgPSBOZXctT2JqZWN0IFN5c3RlbS5EaXJlY3RvcnlT
ZXJ2aWNlcy5Qcm90b2NvbHMuTGRhcERpcmVjdG9yeUlkZW50aWZpZXIoJERvbWFpbkNvbnRyb2xs
ZXIsMzg5KQoKICAgICAgICBpZigkQ3JlZGVudGlhbCkKICAgICAgICB7CiAgICAgICAgICAgICRj
b25uZWN0aW9uID0gTmV3LU9iamVjdCBTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuUHJvdG9jb2xz
LkxkYXBDb25uZWN0aW9uKCRpZGVudGlmaWVyLCRDcmVkZW50aWFsLkdldE5ldHdvcmtDcmVkZW50
aWFsKCkpCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICRjb25u
ZWN0aW9uID0gTmV3LU9iamVjdCBTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuUHJvdG9jb2xzLkxk
YXBDb25uZWN0aW9uKCRpZGVudGlmaWVyKQogICAgICAgIH0KCiAgICAgICAgJG9iamVjdF9jYXRl
Z29yeSA9ICJDTj1EbnMtTm9kZSxDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbiIKICAgICAgICAk
Zm9yZXN0X2FycmF5ID0gJEZvcmVzdC5TcGxpdCgiLiIpCgogICAgICAgIGZvcmVhY2goJERDIGlu
ICRmb3Jlc3RfYXJyYXkpCiAgICAgICAgewogICAgICAgICAgICAkb2JqZWN0X2NhdGVnb3J5ICs9
ICIsREM9JERDIgogICAgICAgIH0KICAgICAgICAKICAgICAgICB0cnkKICAgICAgICB7CiAgICAg
ICAgICAgICRjb25uZWN0aW9uLlNlc3Npb25PcHRpb25zLlNlYWxpbmcgPSAkdHJ1ZQogICAgICAg
ICAgICAkY29ubmVjdGlvbi5TZXNzaW9uT3B0aW9ucy5TaWduaW5nID0gJHRydWUKICAgICAgICAg
ICAgJGNvbm5lY3Rpb24uQmluZCgpCiAgICAgICAgICAgICRyZXF1ZXN0ID0gTmV3LU9iamVjdCAt
VHlwZU5hbWUgU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLlByb3RvY29scy5BZGRSZXF1ZXN0CiAg
ICAgICAgICAgICRyZXF1ZXN0LkRpc3Rpbmd1aXNoZWROYW1lID0gJGRpc3Rpbmd1aXNoZWRfbmFt
ZQogICAgICAgICAgICAkcmVxdWVzdC5BdHRyaWJ1dGVzLkFkZCgoTmV3LU9iamVjdCAiU3lzdGVt
LkRpcmVjdG9yeVNlcnZpY2VzLlByb3RvY29scy5EaXJlY3RvcnlBdHRyaWJ1dGUiIC1Bcmd1bWVu
dExpc3QgIm9iamVjdENsYXNzIixAKCJ0b3AiLCJkbnNOb2RlIikpKSA+ICRudWxsCiAgICAgICAg
ICAgICRyZXF1ZXN0LkF0dHJpYnV0ZXMuQWRkKChOZXctT2JqZWN0ICJTeXN0ZW0uRGlyZWN0b3J5
U2VydmljZXMuUHJvdG9jb2xzLkRpcmVjdG9yeUF0dHJpYnV0ZSIgLUFyZ3VtZW50TGlzdCAib2Jq
ZWN0Q2F0ZWdvcnkiLCRvYmplY3RfY2F0ZWdvcnkpKSA+ICRudWxsCiAgICAgICAgICAgICRyZXF1
ZXN0LkF0dHJpYnV0ZXMuQWRkKChOZXctT2JqZWN0ICJTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMu
UHJvdG9jb2xzLkRpcmVjdG9yeUF0dHJpYnV0ZSIgLUFyZ3VtZW50TGlzdCAiZG5zUmVjb3JkIiwk
RE5TUmVjb3JkKSkgPiAkbnVsbAogICAgICAgICAgICAkcmVxdWVzdC5BdHRyaWJ1dGVzLkFkZCgo
TmV3LU9iamVjdCAiU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLlByb3RvY29scy5EaXJlY3RvcnlB
dHRyaWJ1dGUiIC1Bcmd1bWVudExpc3QgImROU1RvbWJzdG9uZWQiLCJUUlVFIikpID4gJG51bGwK
ICAgICAgICAgICAgJGNvbm5lY3Rpb24uU2VuZFJlcXVlc3QoJHJlcXVlc3QpID4gJG51bGwKICAg
ICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3Jt
YXQgcyldIEFESUROUyBub2RlICROb2RlIHR5cGUgJFR5cGUgYWRkZWQgdG8gJFpvbmUiKSA+ICRu
dWxsCiAgICAgICAgICAgICRvdXRwdXQgPSAkdHJ1ZQogICAgICAgICAgICAkaW52ZWlnaC5BRElE
TlNfdGFibGUuJE5vZGUgPSAiMSIKICAgICAgICB9CiAgICAgICAgY2F0Y2gKICAgICAgICB7CiAg
ICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8uRXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAg
ICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAiYG4iLCIiCiAgICAg
ICAgICAgICRvdXRwdXQgPSAkZmFsc2UKCiAgICAgICAgICAgIGlmKCRfLkV4Y2VwdGlvbi5NZXNz
YWdlIC1uZSAnRXhjZXB0aW9uIGNhbGxpbmcgIlNlbmRSZXF1ZXN0IiB3aXRoICIxIiBhcmd1bWVu
dChzKTogIlRoZSBvYmplY3QgZXhpc3RzLiInKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAkaW52ZWlnaC5BRElETlMgPSAkbnVsbAogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0
X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQo
JF8uSW52b2NhdGlvbkluZm8uTGluZS5UcmltKCkpIikgPiAkbnVsbAogICAgICAgICAgICAgICAg
JGludmVpZ2guQURJRE5TX3RhYmxlLiROb2RlID0gIjAiCiAgICAgICAgICAgIH0KCiAgICAgICAg
fQoKICAgICAgICByZXR1cm4gJG91dHB1dAogICAgfQoKICAgIGZ1bmN0aW9uIE5ldy1TT0FTZXJp
YWxOdW1iZXJBcnJheQogICAgewoKICAgICAgICBbQ21kbGV0QmluZGluZygpXQogICAgICAgIHBh
cmFtCiAgICAgICAgKAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtT
dHJpbmddJERvbWFpbkNvbnRyb2xsZXIsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5
PSRmYWxzZSldW1N0cmluZ10kWm9uZQogICAgICAgICkKCiAgICAgICAgJFpvbmUgPSAkWm9uZS5U
b0xvd2VyKCkKCiAgICAgICAgZnVuY3Rpb24gQ29udmVydC1EYXRhVG9VSW50MTYoJEZpZWxkKQog
ICAgICAgIHsKICAgICAgICAgICAgW0FycmF5XTo6UmV2ZXJzZSgkRmllbGQpCiAgICAgICAgICAg
IHJldHVybiBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvVUludDE2KCRGaWVsZCwwKQogICAgICAg
IH0KCiAgICAgICAgZnVuY3Rpb24gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnko
JE9yZGVyZWREaWN0aW9uYXJ5KQogICAgICAgIHsKCiAgICAgICAgICAgIGZvcmVhY2goJGZpZWxk
IGluICRPcmRlcmVkRGljdGlvbmFyeS5WYWx1ZXMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICRieXRlX2FycmF5ICs9ICRmaWVsZAogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1
cm4gJGJ5dGVfYXJyYXkKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIE5ldy1SYW5kb21CeXRl
QXJyYXkKICAgICAgICB7CiAgICAgICAgICAgIHBhcmFtKFtJbnRdJExlbmd0aCxbSW50XSRNaW5p
bXVtPTEsW0ludF0kTWF4aW11bT0yNTUpCgogICAgICAgICAgICBbU3RyaW5nXSRyYW5kb20gPSBb
U3RyaW5nXSgxLi4kTGVuZ3RoIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFu
ZG9tIC1NaW5pbXVtICRNaW5pbXVtIC1NYXhpbXVtICRNYXhpbXVtKX0pCiAgICAgICAgICAgIFtC
eXRlW11dJHJhbmRvbSA9ICRyYW5kb20uU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFy
XVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQoKICAgICAgICAgICAgcmV0dXJuICRy
YW5kb20KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIE5ldy1ETlNOYW1lQXJyYXkKICAgICAg
ICB7CiAgICAgICAgICAgIHBhcmFtKFtTdHJpbmddJE5hbWUpCgogICAgICAgICAgICAkY2hhcmFj
dGVyX2FycmF5ID0gJE5hbWUuVG9DaGFyQXJyYXkoKQogICAgICAgICAgICBbQXJyYXldJGluZGV4
X2FycmF5ID0gMC4uKCRjaGFyYWN0ZXJfYXJyYXkuQ291bnQgLSAxKSB8IFdoZXJlLU9iamVjdCB7
JGNoYXJhY3Rlcl9hcnJheVskX10gLWVxICcuJ30KCiAgICAgICAgICAgIGlmKCRpbmRleF9hcnJh
eS5Db3VudCAtZ3QgMCkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICRuYW1lX3N0YXJ0
ID0gMAoKICAgICAgICAgICAgICAgIGZvcmVhY2goJGluZGV4IGluICRpbmRleF9hcnJheSkKICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkbmFtZV9lbmQgPSAkaW5kZXggLSAk
bmFtZV9zdGFydAogICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJG5hbWVfYXJyYXkgKz0gJG5h
bWVfZW5kCiAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kbmFtZV9hcnJheSArPSBbU3lzdGVt
LlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCROYW1lLlN1YnN0cmluZygkbmFtZV9zdGFy
dCwkbmFtZV9lbmQpKQogICAgICAgICAgICAgICAgICAgICRuYW1lX3N0YXJ0ID0gJGluZGV4ICsg
MQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFtCeXRlW11dJG5hbWVfYXJyYXkg
Kz0gKCROYW1lLkxlbmd0aCAtICRuYW1lX3N0YXJ0KQogICAgICAgICAgICAgICAgW0J5dGVbXV0k
bmFtZV9hcnJheSArPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCROYW1l
LlN1YnN0cmluZygkbmFtZV9zdGFydCkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRuYW1lX2FycmF5ID0gJE5hbWUu
TGVuZ3RoCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRuYW1lX2FycmF5ICs9IFtTeXN0ZW0uVGV4
dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJE5hbWUuU3Vic3RyaW5nKCRuYW1lX3N0YXJ0KSkK
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICRuYW1lX2FycmF5CiAgICAgICAgfQoK
ICAgICAgICBmdW5jdGlvbiBOZXctUGFja2V0RE5TU09BUXVlcnkKICAgICAgICB7CiAgICAgICAg
ICAgIHBhcmFtKFtTdHJpbmddJE5hbWUpCgogICAgICAgICAgICBbQnl0ZVtdXSR0eXBlID0gMHgw
MCwweDA2CiAgICAgICAgICAgIFtCeXRlW11dJG5hbWUgPSAoTmV3LUROU05hbWVBcnJheSAkTmFt
ZSkgKyAweDAwCiAgICAgICAgICAgIFtCeXRlW11dJGxlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVy
dGVyXTo6R2V0Qnl0ZXMoJE5hbWUuQ291bnQgKyAxNilbMSwwXQogICAgICAgICAgICBbQnl0ZVtd
XSR0cmFuc2FjdGlvbl9JRCA9IE5ldy1SYW5kb21CeXRlQXJyYXkgMgogICAgICAgICAgICAkRE5T
UXVlcnkgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVk
RGljdGlvbmFyeQogICAgICAgICAgICAkRE5TUXVlcnkuQWRkKCJMZW5ndGgiLCRsZW5ndGgpCiAg
ICAgICAgICAgICRETlNRdWVyeS5BZGQoIlRyYW5zYWN0aW9uSUQiLCR0cmFuc2FjdGlvbl9JRCkK
ICAgICAgICAgICAgJEROU1F1ZXJ5LkFkZCgiRmxhZ3MiLFtCeXRlW11dKDB4MDEsMHgwMCkpCiAg
ICAgICAgICAgICRETlNRdWVyeS5BZGQoIlF1ZXN0aW9ucyIsW0J5dGVbXV0oMHgwMCwweDAxKSkK
ICAgICAgICAgICAgJEROU1F1ZXJ5LkFkZCgiQW5zd2VyUlJzIixbQnl0ZVtdXSgweDAwLDB4MDAp
KQogICAgICAgICAgICAkRE5TUXVlcnkuQWRkKCJBdXRob3JpdHlSUnMiLFtCeXRlW11dKDB4MDAs
MHgwMCkpCiAgICAgICAgICAgICRETlNRdWVyeS5BZGQoIkFkZGl0aW9uYWxSUnMiLFtCeXRlW11d
KDB4MDAsMHgwMCkpCiAgICAgICAgICAgICRETlNRdWVyeS5BZGQoIlF1ZXJpZXNfTmFtZSIsJG5h
bWUpCiAgICAgICAgICAgICRETlNRdWVyeS5BZGQoIlF1ZXJpZXNfVHlwZSIsJHR5cGUpCiAgICAg
ICAgICAgICRETlNRdWVyeS5BZGQoIlF1ZXJpZXNfQ2xhc3MiLFtCeXRlW11dKDB4MDAsMHgwMSkp
CgogICAgICAgICAgICByZXR1cm4gJEROU1F1ZXJ5CiAgICAgICAgfQoKICAgICAgICAkRE5TX2Ns
aWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlRDUENsaWVudAogICAgICAgICRE
TlNfY2xpZW50LkNsaWVudC5SZWNlaXZlVGltZW91dCA9IDMwMDAKCiAgICAgICAgdHJ5CiAgICAg
ICAgewogICAgICAgICAgICAkRE5TX2NsaWVudC5Db25uZWN0KCREb21haW5Db250cm9sbGVyLCI1
MyIpCiAgICAgICAgICAgICRETlNfY2xpZW50X3N0cmVhbSA9ICRETlNfY2xpZW50LkdldFN0cmVh
bSgpCiAgICAgICAgICAgICRETlNfY2xpZW50X3JlY2VpdmUgPSBOZXctT2JqZWN0IFN5c3RlbS5C
eXRlW10gMjA0OAogICAgICAgICAgICAkcGFja2V0X0ROU1F1ZXJ5ID0gTmV3LVBhY2tldEROU1NP
QVF1ZXJ5ICRab25lCiAgICAgICAgICAgIFtCeXRlW11dJEROU19jbGllbnRfc2VuZCA9IENvbnZl
cnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfRE5TUXVlcnkKICAgICAgICAg
ICAgJEROU19jbGllbnRfc3RyZWFtLldyaXRlKCRETlNfY2xpZW50X3NlbmQsMCwkRE5TX2NsaWVu
dF9zZW5kLkxlbmd0aCkgPiAkbnVsbAogICAgICAgICAgICAkRE5TX2NsaWVudF9zdHJlYW0uRmx1
c2goKSAgIAogICAgICAgICAgICAkRE5TX2NsaWVudF9zdHJlYW0uUmVhZCgkRE5TX2NsaWVudF9y
ZWNlaXZlLDAsJEROU19jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwKICAgICAgICAgICAg
JEROU19jbGllbnQuQ2xvc2UoKQogICAgICAgICAgICAkRE5TX2NsaWVudF9zdHJlYW0uQ2xvc2Uo
KQoKICAgICAgICAgICAgaWYoJEROU19jbGllbnRfcmVjZWl2ZVs5XSAtZXEgMCkKICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dICRab25l
IFNPQSByZWNvcmQgbm90IGZvdW5kIikgPiAkbnVsbAogICAgICAgICAgICB9CiAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEROU19yZXBseV9jb252ZXJ0ZWQg
PSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRETlNfY2xpZW50X3JlY2VpdmUpCiAg
ICAgICAgICAgICAgICAkRE5TX3JlcGx5X2NvbnZlcnRlZCA9ICRETlNfcmVwbHlfY29udmVydGVk
IC1yZXBsYWNlICItIiwiIgogICAgICAgICAgICAgICAgJFNPQV9hbnN3ZXJfaW5kZXggPSAkRE5T
X3JlcGx5X2NvbnZlcnRlZC5JbmRleE9mKCJDMDBDMDAwNjAwMDEiKQogICAgICAgICAgICAgICAg
JFNPQV9hbnN3ZXJfaW5kZXggPSAkU09BX2Fuc3dlcl9pbmRleCAvIDIKICAgICAgICAgICAgICAg
ICRTT0FfbGVuZ3RoID0gJEROU19jbGllbnRfcmVjZWl2ZVsoJFNPQV9hbnN3ZXJfaW5kZXggKyAx
MCkuLigkU09BX2Fuc3dlcl9pbmRleCArIDExKV0KICAgICAgICAgICAgICAgICRTT0FfbGVuZ3Ro
ID0gQ29udmVydC1EYXRhVG9VSW50MTYgJFNPQV9sZW5ndGgKICAgICAgICAgICAgICAgIFtCeXRl
W11dJFNPQV9zZXJpYWxfY3VycmVudF9hcnJheSA9ICRETlNfY2xpZW50X3JlY2VpdmVbKCRTT0Ff
YW5zd2VyX2luZGV4ICsgJFNPQV9sZW5ndGggLSA4KS4uKCRTT0FfYW5zd2VyX2luZGV4ICsgJFNP
QV9sZW5ndGggLSA1KV0KICAgICAgICAgICAgICAgICRTT0Ffc2VyaWFsX2N1cnJlbnQgPSBbU3lz
dGVtLkJpdENvbnZlcnRlcl06OlRvVUludDMyKCRTT0Ffc2VyaWFsX2N1cnJlbnRfYXJyYXlbMy4u
MF0sMCkgKyAxCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTT0Ffc2VyaWFsX251bWJlcl9hcnJh
eSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNPQV9zZXJpYWxfY3VycmVudClb
MC4uM10KICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICAgICAgY2F0Y2gKICAgICAgICB7CiAg
ICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlstXSAkRG9tYWluQ29udHJvbGxl
ciBkaWQgbm90IHJlc3BvbmQgb24gVENQIHBvcnQgNTMiKSA+ICRudWxsCiAgICAgICAgfQoKICAg
ICAgICByZXR1cm4gW0J5dGVbXV0kU09BX3NlcmlhbF9udW1iZXJfYXJyYXkKICAgIH0KCiAgICBm
dW5jdGlvbiBOZXctRE5TUmVjb3JkQXJyYXkKICAgIHsKICAgICAgICBbQ21kbGV0QmluZGluZygp
XQogICAgICAgIFtPdXRwdXRUeXBlKFtCeXRlW11dKV0KICAgICAgICBwYXJhbQogICAgICAgICgK
ICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREYXRhLAog
ICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJERvbWFpbkNv
bnRyb2xsZXIsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlk
YXRlU2V0KCJBIiwiQUFBQSIsIkNOQU1FIiwiRE5BTUUiLCJNWCIsIk5TIiwiUFRSIiwiU1JWIiwi
VFhUIildW1N0cmluZ10kVHlwZSA9ICJBIiwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRv
cnk9JGZhbHNlKV1bU3RyaW5nXSRab25lLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9y
eT0kZmFsc2UpXVtJbnRdJFByZWZlcmVuY2UsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW0ludF0kUHJpb3JpdHksCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0
b3J5PSRmYWxzZSldW0ludF0kV2VpZ2h0LAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9y
eT0kZmFsc2UpXVtJbnRdJFBvcnQsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRm
YWxzZSldW0ludF0kVFRMID0gNjAwLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0k
ZmFsc2UpXVtJbnQzMl0kU09BU2VyaWFsTnVtYmVyLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1h
bmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJFN0YXRpYywKICAgICAgICAgICAgW3BhcmFtZXRlcihW
YWx1ZUZyb21SZW1haW5pbmdBcmd1bWVudHM9JHRydWUpXSRpbnZhbGlkX3BhcmFtZXRlcgogICAg
ICAgICkKCiAgICAgICAgJFNPQVNlcmlhbE51bWJlckFycmF5ID0gTmV3LVNPQVNlcmlhbE51bWJl
ckFycmF5IC1Eb21haW5Db250cm9sbGVyICREb21haW5Db250cm9sbGVyIC1ab25lICRab25lCgog
ICAgICAgIGZ1bmN0aW9uIE5ldy1ETlNOYW1lQXJyYXkKICAgICAgICB7CiAgICAgICAgICAgIHBh
cmFtKFtTdHJpbmddJE5hbWUpCgogICAgICAgICAgICAkY2hhcmFjdGVyX2FycmF5ID0gJE5hbWUu
VG9DaGFyQXJyYXkoKQogICAgICAgICAgICBbQXJyYXldJGluZGV4X2FycmF5ID0gMC4uKCRjaGFy
YWN0ZXJfYXJyYXkuQ291bnQgLSAxKSB8IFdoZXJlLU9iamVjdCB7JGNoYXJhY3Rlcl9hcnJheVsk
X10gLWVxICcuJ30KCiAgICAgICAgICAgIGlmKCRpbmRleF9hcnJheS5Db3VudCAtZ3QgMCkKICAg
ICAgICAgICAgewoKICAgICAgICAgICAgICAgICRuYW1lX3N0YXJ0ID0gMAoKICAgICAgICAgICAg
ICAgIGZvcmVhY2goJGluZGV4IGluICRpbmRleF9hcnJheSkKICAgICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAkbmFtZV9lbmQgPSAkaW5kZXggLSAkbmFtZV9zdGFydAogICAgICAg
ICAgICAgICAgICAgIFtCeXRlW11dJG5hbWVfYXJyYXkgKz0gJG5hbWVfZW5kCiAgICAgICAgICAg
ICAgICAgICAgW0J5dGVbXV0kbmFtZV9hcnJheSArPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpV
VEY4LkdldEJ5dGVzKCROYW1lLlN1YnN0cmluZygkbmFtZV9zdGFydCwkbmFtZV9lbmQpKQogICAg
ICAgICAgICAgICAgICAgICRuYW1lX3N0YXJ0ID0gJGluZGV4ICsgMQogICAgICAgICAgICAgICAg
fQoKICAgICAgICAgICAgICAgIFtCeXRlW11dJG5hbWVfYXJyYXkgKz0gKCROYW1lLkxlbmd0aCAt
ICRuYW1lX3N0YXJ0KQogICAgICAgICAgICAgICAgW0J5dGVbXV0kbmFtZV9hcnJheSArPSBbU3lz
dGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCROYW1lLlN1YnN0cmluZygkbmFtZV9z
dGFydCkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICBbQnl0ZVtdXSRuYW1lX2FycmF5ID0gJE5hbWUuTGVuZ3RoCiAgICAgICAgICAg
ICAgICBbQnl0ZVtdXSRuYW1lX2FycmF5ICs9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjgu
R2V0Qnl0ZXMoJE5hbWUuU3Vic3RyaW5nKCRuYW1lX3N0YXJ0KSkKICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgcmV0dXJuICRuYW1lX2FycmF5CiAgICAgICAgfQoKICAgICAgICBzd2l0Y2ggKCRU
eXBlKQogICAgICAgIHsKCiAgICAgICAgICAgICdBJwogICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICBbQnl0ZVtdXSRETlNfdHlwZSA9IDB4MDEsMHgwMAogICAgICAgICAgICAgICAgW0J5dGVb
XV0kRE5TX2xlbmd0aCA9IChbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCgkRGF0YS5T
cGxpdCgiLiIpKS5Db3VudCkpWzAuLjFdCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfZGF0
YSArPSAoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXVtTdHJpbmddKFtTeXN0ZW0uTmV0LklQQWRkcmVz
c10kRGF0YSkpLkdldEFkZHJlc3NCeXRlcygpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICdB
QUFBJwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfdHlwZSA9IDB4
MWMsMHgwMAogICAgICAgICAgICAgICAgW0J5dGVbXV0kRE5TX2xlbmd0aCA9IChbU3lzdGVtLkJp
dENvbnZlcnRlcl06OkdldEJ5dGVzKCgkRGF0YSAtcmVwbGFjZSAiOiIsIiIpLkxlbmd0aCAvIDIp
KVswLi4xXQogICAgICAgICAgICAgICAgW0J5dGVbXV0kRE5TX2RhdGEgKz0gKFtTeXN0ZW0uTmV0
LklQQWRkcmVzc11bU3RyaW5nXShbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJERhdGEpKS5HZXRBZGRy
ZXNzQnl0ZXMoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAnQ05BTUUn
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFtCeXRlW11dJEROU190eXBlID0gMHgwNSww
eDAwCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfbGVuZ3RoID0gKFtTeXN0ZW0uQml0Q29u
dmVydGVyXTo6R2V0Qnl0ZXMoJERhdGEuTGVuZ3RoICsgNCkpWzAuLjFdCiAgICAgICAgICAgICAg
ICBbQnl0ZVtdXSRETlNfZGF0YSA9ICREYXRhLkxlbmd0aCArIDIKICAgICAgICAgICAgICAgICRE
TlNfZGF0YSArPSAoJERhdGEuU3BsaXQoIi4iKSkuQ291bnQKICAgICAgICAgICAgICAgICRETlNf
ZGF0YSArPSBOZXctRE5TTmFtZUFycmF5ICREYXRhCiAgICAgICAgICAgICAgICAkRE5TX2RhdGEg
Kz0gMHgwMAogICAgICAgICAgICB9CgogICAgICAgICAgICAnRE5BTUUnCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgIFtCeXRlW11dJEROU190eXBlID0gMHgyNywweDAwCiAgICAgICAgICAg
ICAgICBbQnl0ZVtdXSRETlNfbGVuZ3RoID0gKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0
ZXMoJERhdGEuTGVuZ3RoICsgNCkpWzAuLjFdCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNf
ZGF0YSA9ICREYXRhLkxlbmd0aCArIDIKICAgICAgICAgICAgICAgICRETlNfZGF0YSArPSAoJERh
dGEuU3BsaXQoIi4iKSkuQ291bnQKICAgICAgICAgICAgICAgICRETlNfZGF0YSArPSBOZXctRE5T
TmFtZUFycmF5ICREYXRhCiAgICAgICAgICAgICAgICAkRE5TX2RhdGEgKz0gMHgwMAogICAgICAg
ICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAnTVgnCiAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgIFtCeXRlW11dJEROU190eXBlID0gMHgwZiwweDAwCiAgICAgICAgICAgICAgICBb
Qnl0ZVtdXSRETlNfbGVuZ3RoID0gKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJERh
dGEuTGVuZ3RoICsgNikpWzAuLjFdCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfZGF0YSA9
IFtTeXN0ZW0uQml0Y29udmVydGVyXTo6R2V0Qnl0ZXMoJFByZWZlcmVuY2UpWzEsMF0KICAgICAg
ICAgICAgICAgICRETlNfZGF0YSArPSAkRGF0YS5MZW5ndGggKyAyCiAgICAgICAgICAgICAgICAk
RE5TX2RhdGEgKz0gKCREYXRhLlNwbGl0KCIuIikpLkNvdW50CiAgICAgICAgICAgICAgICAkRE5T
X2RhdGEgKz0gTmV3LUROU05hbWVBcnJheSAkRGF0YQogICAgICAgICAgICAgICAgJEROU19kYXRh
ICs9IDB4MDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJ05TJwogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfdHlwZSA9IDB4MDIsMHgwMAogICAgICAgICAgICAg
ICAgW0J5dGVbXV0kRE5TX2xlbmd0aCA9IChbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVz
KCREYXRhLkxlbmd0aCArIDQpKVswLi4xXQogICAgICAgICAgICAgICAgW0J5dGVbXV0kRE5TX2Rh
dGEgPSAkRGF0YS5MZW5ndGggKyAyCiAgICAgICAgICAgICAgICAkRE5TX2RhdGEgKz0gKCREYXRh
LlNwbGl0KCIuIikpLkNvdW50CiAgICAgICAgICAgICAgICAkRE5TX2RhdGEgKz0gTmV3LUROU05h
bWVBcnJheSAkRGF0YQogICAgICAgICAgICAgICAgJEROU19kYXRhICs9IDB4MDAKICAgICAgICAg
ICAgfQoKICAgICAgICAgICAgJ1BUUicKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgW0J5
dGVbXV0kRE5TX3R5cGUgPSAweDBjLDB4MDAKICAgICAgICAgICAgICAgIFtCeXRlW11dJEROU19s
ZW5ndGggPSAoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkRGF0YS5MZW5ndGggKyA0
KSlbMC4uMV0KICAgICAgICAgICAgICAgIFtCeXRlW11dJEROU19kYXRhID0gJERhdGEuTGVuZ3Ro
ICsgMgogICAgICAgICAgICAgICAgJEROU19kYXRhICs9ICgkRGF0YS5TcGxpdCgiLiIpKS5Db3Vu
dAogICAgICAgICAgICAgICAgJEROU19kYXRhICs9IE5ldy1ETlNOYW1lQXJyYXkgJERhdGEKICAg
ICAgICAgICAgICAgICRETlNfZGF0YSArPSAweDAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICdTUlYnCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFtCeXRlW11dJEROU190eXBlID0g
MHgyMSwweDAwCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRETlNfbGVuZ3RoID0gKFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJERhdGEuTGVuZ3RoICsgMTApKVswLi4xXQogICAgICAg
ICAgICAgICAgW0J5dGVbXV0kRE5TX2RhdGEgPSBbU3lzdGVtLkJpdGNvbnZlcnRlcl06OkdldEJ5
dGVzKCRQcmlvcml0eSlbMSwwXQogICAgICAgICAgICAgICAgJEROU19kYXRhICs9IFtTeXN0ZW0u
Qml0Y29udmVydGVyXTo6R2V0Qnl0ZXMoJFdlaWdodClbMSwwXQogICAgICAgICAgICAgICAgJERO
U19kYXRhICs9IFtTeXN0ZW0uQml0Y29udmVydGVyXTo6R2V0Qnl0ZXMoJFBvcnQpWzEsMF0KICAg
ICAgICAgICAgICAgICRETlNfZGF0YSArPSAkRGF0YS5MZW5ndGggKyAyCiAgICAgICAgICAgICAg
ICAkRE5TX2RhdGEgKz0gKCREYXRhLlNwbGl0KCIuIikpLkNvdW50CiAgICAgICAgICAgICAgICAk
RE5TX2RhdGEgKz0gTmV3LUROU05hbWVBcnJheSAkRGF0YQogICAgICAgICAgICAgICAgJEROU19k
YXRhICs9IDB4MDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJ1RYVCcKICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgW0J5dGVbXV0kRE5TX3R5cGUgPSAweDEwLDB4MDAKICAgICAgICAg
ICAgICAgIFtCeXRlW11dJEROU19sZW5ndGggPSAoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRC
eXRlcygkRGF0YS5MZW5ndGggKyAxKSlbMC4uMV0KICAgICAgICAgICAgICAgIFtCeXRlW11dJERO
U19kYXRhID0gJERhdGEuTGVuZ3RoCiAgICAgICAgICAgICAgICAkRE5TX2RhdGEgKz0gW1N5c3Rl
bS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkRGF0YSkKICAgICAgICAgICAgfQoKICAg
ICAgICB9CiAgICAgICAgCiAgICAgICAgW0J5dGVbXV0kRE5TX1RUTCA9IFtTeXN0ZW0uQml0Q29u
dmVydGVyXTo6R2V0Qnl0ZXMoJFRUTCkKICAgICAgICBbQnl0ZVtdXSRETlNfcmVjb3JkID0gJERO
U19sZW5ndGggKwogICAgICAgICAgICAkRE5TX3R5cGUgKwogICAgICAgICAgICAweDA1LDB4RjAs
MHgwMCwweDAwICsKICAgICAgICAgICAgJFNPQVNlcmlhbE51bWJlckFycmF5WzAuLjNdICsKICAg
ICAgICAgICAgJEROU19UVExbMy4uMF0gKwogICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAw
CgogICAgICAgIGlmKCRTdGF0aWMpCiAgICAgICAgewogICAgICAgICAgICAkRE5TX3JlY29yZCAr
PSAweDAwLDB4MDAsMHgwMCwweDAwCiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAg
ICAgICAgICAgICR0aW1lc3RhbXAgPSBbSW50NjRdKChbRGF0ZXRpbWVdOjpVdGNOb3cpLShHZXQt
RGF0ZSAiMS8xLzE2MDEiKSkuVG90YWxIb3VycwogICAgICAgICAgICAkdGltZXN0YW1wID0gW1N5
c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZyhbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5
dGVzKCR0aW1lc3RhbXApKQogICAgICAgICAgICAkdGltZXN0YW1wID0gJHRpbWVzdGFtcC5TcGxp
dCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9
CiAgICAgICAgICAgICR0aW1lc3RhbXAgPSAkdGltZXN0YW1wWzAuLjNdCiAgICAgICAgICAgICRE
TlNfcmVjb3JkICs9ICR0aW1lc3RhbXAKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJEROU19y
ZWNvcmQgKz0gJEROU19kYXRhCgogICAgICAgIHJldHVybiAsJEROU19yZWNvcmQKICAgIH0KCiAg
ICBmdW5jdGlvbiBJbnZva2UtQURJRE5TU3Bvb2ZlcgogICAgewogICAgICAgIFtDbWRsZXRCaW5k
aW5nKCldCiAgICAgICAgcGFyYW0KICAgICAgICAoCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFu
ZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRGF0YSwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5k
YXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREb21haW4sCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFu
ZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluQ29udHJvbGxlciwKICAgICAgICAgICAgW3Bh
cmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRGb3Jlc3QsCiAgICAgICAgICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bU3RyaW5nXSROb2RlLAogICAgICAgICAgICBbcGFy
YW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJFBhcnRpdGlvbiwKICAgICAgICAgICAg
W3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRUeXBlLAogICAgICAgICAgICBb
cGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJpbmddJFpvbmUsCiAgICAgICAgICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kVFRMLAogICAgICAgICAgICBbcGFyYW1l
dGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTQ3Jl
ZGVudGlhbF0kQ3JlZGVudGlhbAogICAgICAgICkKCiAgICAgICAgdHJ5CiAgICAgICAgewogICAg
ICAgICAgICAkbm9kZV9hZGRlZCA9IE5ldy1BRElETlNOb2RlIC1DcmVkZW50aWFsICRDcmVkZW50
aWFsIC1EYXRhICREYXRhIC1Eb21haW4gJERvbWFpbiAtRG9tYWluQ29udHJvbGxlciAkRG9tYWlu
Q29udHJvbGxlciAtRm9yZXN0ICRGb3Jlc3QgLU5vZGUgJE5vZGUgLVBhcnRpdGlvbiAkUGFydGl0
aW9uIC1UeXBlICRUeXBlIC1UVEwgJFRUTCAtWm9uZSAkWm9uZQoKICAgICAgICAgICAgaWYoJGlu
dmVpZ2guQURJRE5TIC1hbmQgISRub2RlX2FkZGVkKQogICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAkbm9kZV90b21ic3RvbmVkID0gR2V0LUFESUROU05vZGVUb21ic3RvbmVkIC1DcmVkZW50
aWFsICRDcmVkZW50aWFsIC1Eb21haW4gJERvbWFpbiAtRG9tYWluQ29udHJvbGxlciAkRG9tYWlu
Q29udHJvbGxlciAtTm9kZSAkTm9kZSAtUGFydGl0aW9uICRQYXJ0aXRpb24gLVpvbmUgJFpvbmUK
CiAgICAgICAgICAgICAgICBpZigkbm9kZV90b21ic3RvbmVkKQogICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgIEVuYWJsZS1BRElETlNOb2RlIC1DcmVkZW50aWFsICRDcmVkZW50
aWFsIC1EYXRhICREYXRhIC1Eb21haW4gJERvbWFpbiAtRG9tYWluQ29udHJvbGxlciAkRG9tYWlu
Q29udHJvbGxlciAtTm9kZSAkTm9kZSAtUGFydGl0aW9uICRQYXJ0aXRpb24gLVR5cGUgJFR5cGUg
LVRUTCAkVFRMIC1ab25lICRab25lCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9Cgog
ICAgICAgIH0KICAgICAgICBjYXRjaAogICAgICAgIHsKICAgICAgICAgICAgJGVycm9yX21lc3Nh
Z2UgPSAkXy5FeGNlcHRpb24uTWVzc2FnZQogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRl
cnJvcl9tZXNzYWdlIC1yZXBsYWNlICJgbiIsIiIKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0
X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQo
JF8uSW52b2NhdGlvbkluZm8uTGluZS5UcmltKCkpIikgPiAkbnVsbAogICAgICAgICAgICAkaW52
ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gQURJRE5T
IHNwb29mZXIgZGlzYWJsZWQgZHVlIHRvIGVycm9yIikgPiAkbnVsbAogICAgICAgICAgICAkaW52
ZWlnaC5BRElETlMgPSAkbnVsbAogICAgICAgIH0KCiAgICB9CgogICAgZnVuY3Rpb24gSW52b2tl
LUFESUROU0NoZWNrCiAgICB7CiAgICAgICAgW0NtZGxldEJpbmRpbmcoKV0KICAgICAgICBwYXJh
bQogICAgICAgICgKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bQXJy
YXldJElnbm9yZSwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3Ry
aW5nXSREYXRhLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTdHJp
bmddJERvbWFpbiwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3Ry
aW5nXSREb21haW5Db250cm9sbGVyLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0k
ZmFsc2UpXVtTdHJpbmddJEZvcmVzdCwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9
JGZhbHNlKV0kUGFydGl0aW9uLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtTdHJpbmddJFpvbmUsCiAgICAgICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxz
ZSldW0ludF0kVGhyZXNob2xkLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtJbnRdJFRUTCwKICAgICAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV0k
UmVxdWVzdFRhYmxlLAogICAgICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtT
eXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTQ3JlZGVudGlhbF0kQ3JlZGVudGlhbAogICAg
ICAgICkKCiAgICAgICAgU3RhcnQtU2xlZXAgLVMgMQoKICAgICAgICBmb3JlYWNoKCRyZXF1ZXN0
IGluICRSZXF1ZXN0VGFibGUuS2V5cykKICAgICAgICB7CgogICAgICAgICAgICBpZigoJFJlcXVl
c3RUYWJsZS4kcmVxdWVzdCB8IFNvcnQtT2JqZWN0IC1VbmlxdWUpLkNvdW50IC1ndCAkVGhyZXNo
b2xkKQogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgaWYoISRpbnZlaWdoLkFESUROU190
YWJsZS5Db250YWluc0tleSgkcmVxdWVzdCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgICAgJGludmVpZ2guQURJRE5TX3RhYmxlLkFkZCgkcmVxdWVzdCwiIikKICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYoJElnbm9yZSAtTm90
Q29udGFpbnMgJHJlcXVlc3QgLWFuZCAhJGludmVpZ2guQURJRE5TX3RhYmxlLiRyZXF1ZXN0KQog
ICAgICAgICAgICAgICAgeyAgICAKICAgICAgICAgICAgICAgICAgICBJbnZva2UtQURJRE5TU3Bv
b2ZlciAtQ3JlZGVudGlhbCAkQ3JlZGVudGlhbCAtRGF0YSAkRGF0YSAtRG9tYWluICREb21haW4g
LURvbWFpbkNvbnRyb2xsZXIgJERvbWFpbkNvbnRyb2xsZXIgLUZvcmVzdCAkRm9yZXN0IC1Ob2Rl
ICRyZXF1ZXN0IC1QYXJ0aXRpb24gJFBhcnRpdGlvbiAtVHlwZSAnQScgLVRUTCAkVFRMIC1ab25l
ICRab25lCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlaWYoJElnbm9yZSAt
Q29udGFpbnMgJHJlcXVlc3QpCiAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAg
IGlmKCEkaW52ZWlnaC5BRElETlNfdGFibGUuJHJlcXVlc3QpCiAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10g
WyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gQURJRE5TIGNvbWJvIGF0dGFjayBpZ25vcmVkICRyZXF1
ZXN0IikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5BRElETlNfdGFi
bGUuJHJlcXVlc3QgPSAzCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tIDEw
CiAgICAgICAgfQoKICAgIH0KCn0KCiMgS2VyYmVyb3MgRnVuY3Rpb25zIFNjcmlwdEJsb2NrCiRr
ZXJiZXJvc19mdW5jdGlvbnNfc2NyaXB0YmxvY2sgPSAKewoKICAgIGZ1bmN0aW9uIEdldC1LZXJi
ZXJvc0FFUzI1NkJhc2VLZXkKICAgIHsKICAgICAgICBwYXJhbShbU3RyaW5nXSRzYWx0LFtTeXN0
ZW0uU2VjdXJpdHkuU2VjdXJlU3RyaW5nXSRwYXNzd29yZCkKCiAgICAgICAgJHBhc3N3b3JkX0JT
VFIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTZWN1cmVTdHJp
bmdUb0JTVFIoJHBhc3N3b3JkKQogICAgICAgICRwYXNzd29yZF9jbGVhcnRleHQgPSBbU3lzdGVt
LlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cmluZ0F1dG8oJHBhc3N3
b3JkX0JTVFIpCiAgICAgICAgW0J5dGVbXV0kc2FsdCA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106
OlVURjguR2V0Qnl0ZXMoJHNhbHQpCiAgICAgICAgW0J5dGVbXV0kcGFzc3dvcmRfY2xlYXJ0ZXh0
ID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkcGFzc3dvcmRfY2xlYXJ0
ZXh0KQogICAgICAgICRjb25zdGFudCA9IDB4NkIsMHg2NSwweDcyLDB4NjIsMHg2NSwweDcyLDB4
NkYsMHg3MywweDdCLDB4OUIsMHg1QiwweDJCLDB4OTMsMHgxMywweDJCLDB4OTMsMHg1QywweDlC
LDB4REMsMHhEQSwweEQ5LDB4NUMsMHg5OCwweDk5LDB4QzQsMHhDQSwweEU0LDB4REUsMHhFNiww
eEQ2LDB4Q0EsMHhFNAogICAgICAgICRQQktERjIgPSBOZXctT2JqZWN0IFNlY3VyaXR5LkNyeXB0
b2dyYXBoeS5SZmMyODk4RGVyaXZlQnl0ZXMoJHBhc3N3b3JkX2NsZWFydGV4dCwkc2FsdCw0MDk2
KQogICAgICAgIFJlbW92ZS1WYXJpYWJsZSBwYXNzd29yZF9jbGVhcnRleHQKICAgICAgICAkUEJL
REYyX2tleSA9ICRQQktERjIuR2V0Qnl0ZXMoMzIpCiAgICAgICAgJEFFUyA9IE5ldy1PYmplY3Qg
IlN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuQWVzTWFuYWdlZCIKICAgICAgICAkQUVTLk1v
ZGUgPSBbU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5DaXBoZXJNb2RlXTo6Q0JDCiAgICAg
ICAgJEFFUy5QYWRkaW5nID0gW1N5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuUGFkZGluZ01v
ZGVdOjpOb25lCiAgICAgICAgJEFFUy5JViA9IDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAKICAgICAg
ICAkQUVTLktleVNpemUgPSAyNTYKICAgICAgICAkQUVTLktleSA9ICRQQktERjJfa2V5CiAgICAg
ICAgJEFFU19lbmNyeXB0b3IgPSAkQUVTLkNyZWF0ZUVuY3J5cHRvcigpCiAgICAgICAgJGJhc2Vf
a2V5X3BhcnRfMSA9ICRBRVNfZW5jcnlwdG9yLlRyYW5zZm9ybUZpbmFsQmxvY2soJGNvbnN0YW50
LDAsJGNvbnN0YW50Lkxlbmd0aCkKICAgICAgICAkYmFzZV9rZXlfcGFydF8yID0gJEFFU19lbmNy
eXB0b3IuVHJhbnNmb3JtRmluYWxCbG9jaygkYmFzZV9rZXlfcGFydF8xLDAsJGJhc2Vfa2V5X3Bh
cnRfMS5MZW5ndGgpCiAgICAgICAgJGJhc2Vfa2V5ID0gJGJhc2Vfa2V5X3BhcnRfMVswLi4xNV0g
KyAkYmFzZV9rZXlfcGFydF8yWzAuLjE1XQoKICAgICAgICByZXR1cm4gJGJhc2Vfa2V5CiAgICB9
CgogICAgZnVuY3Rpb24gR2V0LUtlcmJlcm9zQUVTMjU2VXNhZ2VLZXkKICAgIHsKICAgICAgICBw
YXJhbShbU3RyaW5nXSRrZXlfdHlwZSxbSW50XSR1c2FnZV9udW1iZXIsW0J5dGVbXV0kYmFzZV9r
ZXkpCgogICAgICAgICRwYWRkaW5nID0gMHgwMCAqIDE2CgogICAgICAgIGlmKCRrZXlfdHlwZSAt
ZXEgJ2NoZWNrc3VtJykKICAgICAgICB7CiAgICAgICAgICAgIHN3aXRjaCgkdXNhZ2VfbnVtYmVy
KSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMjUge1tCeXRlW11dJHVzYWdlX2NvbnN0
YW50ID0gMHg1ZCwweGZiLDB4N2QsMHhiZiwweDUzLDB4NjgsMHhjZSwweDY5LDB4OTgsMHg0Yiww
eGE1LDB4ZDIsMHhlNiwweDQzLDB4MzQsMHhiYSArICRwYWRkaW5nfQogICAgICAgICAgICB9CiAg
ICAgICAgfQogICAgICAgIGVsc2VpZigka2V5X3R5cGUgLWVxICdlbmNyeXB0JykKICAgICAgICB7
CgogICAgICAgICAgICBzd2l0Y2goJHVzYWdlX251bWJlcikgCiAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgIDEge1tCeXRlW11dJHVzYWdlX2NvbnN0YW50ID0gMHhhZSwweDJjLDB4MTYsMHgw
YiwweDA0LDB4YWQsMHg1MCwweDA2LDB4YWIsMHg1NSwweGFhLDB4ZDUsMHg2YSwweDgwLDB4MzUs
MHg1YSArICRwYWRkaW5nfQogICAgICAgICAgICAgICAgMiB7W0J5dGVbXV0kdXNhZ2VfY29uc3Rh
bnQgPSAweGI1LDB4YjAsMHg1OCwweDJjLDB4MTQsMHhiNiwweDUwLDB4MGEsMHhhZCwweDU2LDB4
YWIsMHg1NSwweGFhLDB4ODAsMHg1NSwweDZhICsgJHBhZGRpbmd9CiAgICAgICAgICAgICAgICAz
IHtbQnl0ZVtdXSR1c2FnZV9jb25zdGFudCA9IDB4YmUsMHgzNCwweDlhLDB4NGQsMHgyNCwweGJl
LDB4NTAsMHgwZSwweGFmLDB4NTcsMHhhYiwweGQ1LDB4ZWEsMHg4MCwweDc1LDB4N2EgKyAkcGFk
ZGluZ30KICAgICAgICAgICAgICAgIDQge1tCeXRlW11dJHVzYWdlX2NvbnN0YW50ID0gMHhjNSww
eGI3LDB4ZGMsMHg2ZSwweDM0LDB4YzcsMHg1MSwweDEyLDB4YjEsMHg1OCwweGFjLDB4NTYsMHgy
YSwweDgwLDB4OTUsMHg4YSArICRwYWRkaW5nfQogICAgICAgICAgICAgICAgNyB7W0J5dGVbXV0k
dXNhZ2VfY29uc3RhbnQgPSAweGRlLDB4NDQsMHhhMiwweGQxLDB4NjQsMHhlMCwweDUxLDB4MWUs
MHhiNywweDViLDB4YWQsMHhkNiwweGVhLDB4ODAsMHhmNSwweGJhICsgJHBhZGRpbmd9CiAgICAg
ICAgICAgICAgICAxMSB7W0J5dGVbXV0kdXNhZ2VfY29uc3RhbnQgPSAweGZlLDB4NTQsMHhhYSww
eDU1LDB4YTUsMHgwMiwweDUyLDB4MmYsMHhiZiwweDVmLDB4YWYsMHhkNywweGVhLDB4ODEsMHg3
NSwweGZhICsgJHBhZGRpbmd9CiAgICAgICAgICAgICAgICAxMiB7W0J5dGVbXV0kdXNhZ2VfY29u
c3RhbnQgPSAweDA1LDB4ZDcsMHhlYywweDc2LDB4YjUsMHgwYiwweDUzLDB4MzMsMHhjMSwweDYw
LDB4YjAsMHg1OCwweDJhLDB4ODEsMHg5NiwweDBiICsgJHBhZGRpbmd9CiAgICAgICAgICAgICAg
ICAxNCB7W0J5dGVbXV0kdXNhZ2VfY29uc3RhbnQgPSAweDE1LDB4ZTAsMHg3MCwweGI4LDB4ZDUs
MHgxYywweDUzLDB4M2IsMHhjNSwweDYyLDB4YjEsMHg1OCwweGFhLDB4ODEsMHhkNiwweDJiICsg
JHBhZGRpbmd9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgIH0KICAgICAg
ICBlbHNlaWYoJGtleV90eXBlIC1lcSAnaW50ZWdyaXR5JykgCiAgICAgICAgewogICAgICAgICAg
ICAKICAgICAgICAgICAgc3dpdGNoKCR1c2FnZV9udW1iZXIpIAogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAxIHtbQnl0ZVtdXSR1c2FnZV9jb25zdGFudCA9IDB4NWIsMHg1OCwweDJjLDB4
MTYsMHgwYSwweDVhLDB4YTgsMHgwNSwweDU2LDB4YWIsMHg1NSwweGFhLDB4ZDUsMHg0MCwweDJh
LDB4YjUgKyAkcGFkZGluZ30KICAgICAgICAgICAgICAgIDQge1tCeXRlW11dJHVzYWdlX2NvbnN0
YW50ID0gMHg3MiwweGUzLDB4ZjIsMHg3OSwweDNhLDB4NzQsMHhhOSwweDExLDB4NWMsMHhhZSww
eDU3LDB4MmIsMHg5NSwweDQwLDB4OGEsMHhlNSArICRwYWRkaW5nfQogICAgICAgICAgICAgICAg
NyB7W0J5dGVbXV0kdXNhZ2VfY29uc3RhbnQgPSAweDhiLDB4NzAsMHhiOCwweGRjLDB4NmEsMHg4
ZCwweGE5LDB4MWQsMHg2MiwweGIxLDB4NTgsMHhhYywweDU1LDB4NDAsMHhlYiwweDE1ICsgJHBh
ZGRpbmd9CiAgICAgICAgICAgICAgICAxMSB7W0J5dGVbXV0kdXNhZ2VfY29uc3RhbnQgPSAweGFi
LDB4ODAsMHhjMCwweDYwLDB4YWEsMHhhZiwweGFhLDB4MmUsMHg2YSwweGI1LDB4NWEsMHhhZCww
eDU1LDB4NDEsMHg2YiwweDU1ICsgJHBhZGRpbmd9CiAgICAgICAgICAgIH0KCiAgICAgICAgfQoK
ICAgICAgICAkQUVTID0gTmV3LU9iamVjdCAiU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5B
ZXNNYW5hZ2VkIgogICAgICAgICRBRVMuTW9kZSA9IFtTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3Jh
cGh5LkNpcGhlck1vZGVdOjpDQkMKICAgICAgICAkQUVTLlBhZGRpbmcgPSBbU3lzdGVtLlNlY3Vy
aXR5LkNyeXB0b2dyYXBoeS5QYWRkaW5nTW9kZV06Olplcm9zCiAgICAgICAgJEFFUy5JViA9IDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAKICAgICAgICAkQUVTLktleVNpemUgPSAyNTYKICAgICAgICAk
QUVTLktleSA9ICRiYXNlX2tleQogICAgICAgICRBRVNfZW5jcnlwdG9yID0gJEFFUy5DcmVhdGVF
bmNyeXB0b3IoKQogICAgICAgICR1c2FnZV9rZXkgPSAkQUVTX2VuY3J5cHRvci5UcmFuc2Zvcm1G
aW5hbEJsb2NrKCR1c2FnZV9jb25zdGFudCwwLCR1c2FnZV9jb25zdGFudC5MZW5ndGgpCgogICAg
ICAgIHJldHVybiAkdXNhZ2Vfa2V5CiAgICB9CgogICAgZnVuY3Rpb24gR2V0LUFTTjFMZW5ndGgK
ICAgIHsKICAgICAgICBwYXJhbSAoW0J5dGVbXV0kYXNuMSkKICAgIAogICAgICAgICRpID0gMAog
ICAgCiAgICAgICAgd2hpbGUgKCRhc24xWyRpXSAtbmUgMyAtYW5kICRhc24xWyRpXSAtbmUgMTI5
IC1hbmQgJGFzbjFbJGldIC1uZSAxMzAgLWFuZCAkYXNuMVskaV0gLW5lIDEzMSAtYW5kICRhc24x
WyRpXSAtbmUgMTMyIC1hbmQgJGkgLWx0IDEpCiAgICAgICAgewogICAgICAgICAgICAkaSsrICAg
CiAgICAgICAgfQogICAgCiAgICAgICAgc3dpdGNoICgkYXNuMVskaV0pIAogICAgICAgIHsKICAg
ICAgICAgICAgCiAgICAgICAgICAgIDMKICAgICAgICAgICAgeyAKICAgICAgICAgICAgICAgICRp
ICs9IDMgCiAgICAgICAgICAgICAgICAkbGVuZ3RoID0gJGFzbjFbJGldCiAgICAgICAgICAgICAg
ICAkaSsrCiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAxMjkKICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgJGkgKz0gMQogICAgICAgICAgICAgICAgJGxlbmd0aCA9ICRhc24xWyRp
XQogICAgICAgICAgICAgICAgJGkrKwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgMTMw
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpICs9IDIKICAgICAgICAgICAgICAgICRs
ZW5ndGggPSBHZXQtVUludDE2RGF0YUxlbmd0aCAwICRhc24xWygkaSkuLigkaSAtIDEpXQogICAg
ICAgICAgICAgICAgJGkrKwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgMTMxCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICRpICs9IDMKICAgICAgICAgICAgICAgICRsZW5ndGgg
PSBHZXQtVUludDMyRGF0YUxlbmd0aCAwICgkYXNuMVsoJGkpLi4oJGkgLSAyKV0gKyAweDAwKQog
ICAgICAgICAgICAgICAgJGkrKwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgMTMyCiAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpICs9IDQKICAgICAgICAgICAgICAgICRsZW5n
dGggPSBHZXQtVUludDMyRGF0YUxlbmd0aCAwICRhc24xWygkaSkuLigkaSAtIDMpXQogICAgICAg
ICAgICAgICAgJGkrKwogICAgICAgICAgICB9CiAgICAKICAgICAgICB9CiAgICAKICAgICAgICBy
ZXR1cm4gJGksJGxlbmd0aAogICAgfQoKICAgIGZ1bmN0aW9uIFVucHJvdGVjdC1LZXJiZXJvcwog
ICAgewogICAgICAgIHBhcmFtKFtCeXRlW11dJGtlX2tleSxbQnl0ZVtdXSRlbmNyeXB0ZWRfZGF0
YSkKCiAgICAgICAgJGZpbmFsX2Jsb2NrX2xlbmd0aCA9IFtNYXRoXTo6VHJ1bmNhdGUoJGVuY3J5
cHRlZF9kYXRhLkNvdW50ICUgMTYpCiAgICAgICAgW0J5dGVbXV0kZmluYWxfYmxvY2sgPSAkZW5j
cnlwdGVkX2RhdGFbKCRlbmNyeXB0ZWRfZGF0YS5Db3VudCAtICRmaW5hbF9ibG9ja19sZW5ndGgp
Li4kZW5jcnlwdGVkX2RhdGEuQ291bnRdCiAgICAgICAgW0J5dGVbXV0kcGVudWx0aW1hdGVfYmxv
Y2sgPSAkZW5jcnlwdGVkX2RhdGFbKCRlbmNyeXB0ZWRfZGF0YS5Db3VudCAtICRmaW5hbF9ibG9j
a19sZW5ndGggLSAxNikuLigkZW5jcnlwdGVkX2RhdGEuQ291bnQgLSAkZmluYWxfYmxvY2tfbGVu
Z3RoIC0gMSldCiAgICAgICAgJEFFUyA9IE5ldy1PYmplY3QgIlN5c3RlbS5TZWN1cml0eS5Dcnlw
dG9ncmFwaHkuQWVzTWFuYWdlZCIKICAgICAgICAkQUVTLk1vZGUgPSBbU3lzdGVtLlNlY3VyaXR5
LkNyeXB0b2dyYXBoeS5DaXBoZXJNb2RlXTo6Q0JDCiAgICAgICAgJEFFUy5QYWRkaW5nID0gW1N5
c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuUGFkZGluZ01vZGVdOjpaZXJvcwogICAgICAgICRB
RVMuSVYgPSAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwCiAgICAgICAgJEFFUy5LZXlTaXplID0gMjU2
CiAgICAgICAgJEFFUy5LZXkgPSAka2Vfa2V5CiAgICAgICAgJEFFU19kZWNyeXB0b3IgPSAkQUVT
LkNyZWF0ZURlY3J5cHRvcigpCiAgICAgICAgJHBlbnVsdGltYXRlX2Jsb2NrX2NsZWFydGV4dCA9
ICRBRVNfZGVjcnlwdG9yLlRyYW5zZm9ybUZpbmFsQmxvY2soJHBlbnVsdGltYXRlX2Jsb2NrLDAs
JHBlbnVsdGltYXRlX2Jsb2NrLkxlbmd0aCkKICAgICAgICBbQnl0ZVtdXSRmaW5hbF9ibG9ja19w
YWRkaW5nID0gJHBlbnVsdGltYXRlX2Jsb2NrX2NsZWFydGV4dFskZmluYWxfYmxvY2tfbGVuZ3Ro
Li4kcGVudWx0aW1hdGVfYmxvY2tfY2xlYXJ0ZXh0LkNvdW50XQogICAgICAgICRmaW5hbF9ibG9j
ayArPSAkZmluYWxfYmxvY2tfcGFkZGluZwogICAgICAgIFtCeXRlW11dJGN0c19lbmNyeXB0ZWRf
ZGF0YSA9ICRlbmNyeXB0ZWRfZGF0YVswLi4oJGVuY3J5cHRlZF9kYXRhLkNvdW50IC0gJGZpbmFs
X2Jsb2NrX2xlbmd0aCAtIDE3KV0gKyAkZmluYWxfYmxvY2sgKyAkcGVudWx0aW1hdGVfYmxvY2sK
ICAgICAgICBbQnl0ZVtdXSRjbGVhcnRleHQgPSAkQUVTX2RlY3J5cHRvci5UcmFuc2Zvcm1GaW5h
bEJsb2NrKCRjdHNfZW5jcnlwdGVkX2RhdGEsMCwkY3RzX2VuY3J5cHRlZF9kYXRhLkxlbmd0aCkK
CiAgICAgICAgcmV0dXJuICRjbGVhcnRleHQKICAgIH0KCiAgICBmdW5jdGlvbiBHZXQtS2lyYmkK
ICAgIHsKICAgICAgICBwYXJhbShbQnl0ZVtdXSRraXJiaTIsW0J5dGVbXV0ka2lyYmkzKQogICAg
CiAgICAgICAgW0J5dGVbXV0ka2lyYmkgPSAka2lyYmkyICsgJGtpcmJpMwogICAgICAgICRraXJi
aSA9IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpLkNv
dW50KVszLi4wXSArICRraXJiaQogICAgICAgICRraXJiaSA9IDB4NzYsMHg4NCArIFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpLkNvdW50KVszLi4wXSArICRraXJiaQogICAg
CiAgICAgICAgcmV0dXJuICRraXJiaQogICAgfQogICAgZnVuY3Rpb24gR2V0LUtpcmJpUGFydFR3
bwogICAgewogICAgICAgIHBhcmFtKFtCeXRlW11dJGNsZWFydGV4dCkKICAgIAogICAgICAgICRB
U04xID0gR2V0LUFTTjFMZW5ndGggJGNsZWFydGV4dFs0Li45XQogICAgICAgICRBU04xX2xlbmd0
aCA9ICRBU04xWzBdCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0ZXh0Wygk
QVNOMV9sZW5ndGggKyA0KS4uKCRBU04xX2xlbmd0aCArIDkpXQogICAgICAgICRBU04xX2xlbmd0
aCArPSAkQVNOMVswXQogICAgICAgICRyZWFsbV9sZW5ndGggPSAkY2xlYXJ0ZXh0WygkQVNOMV9s
ZW5ndGggKyA3KV0KICAgICAgICAkdXNlcm5hbWVfbGVuZ3RoID0gJGNsZWFydGV4dFsoJEFTTjFf
bGVuZ3RoICsgJHJlYWxtX2xlbmd0aCArIDIyKV0KICAgICAgICAkZmllbGRfbGVuZ3RoID0gJHJl
YWxtX2xlbmd0aCArICR1c2VybmFtZV9sZW5ndGgKICAgICAgICAkQVNOMSA9IEdldC1BU04xTGVu
Z3RoICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA3NCkuLigkQVNO
MV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzkpXQogICAgICAgICRBU04xX2xlbmd0aCArPSAk
QVNOMVswXQogICAgICAgICRBU04xID0gR2V0LUFTTjFMZW5ndGggJGNsZWFydGV4dFsoJEFTTjFf
bGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDc0KS4uKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5n
dGggKyA3OSldCiAgICAgICAgJEFTTjFfbGVuZ3RoICs9ICRBU04xWzBdCiAgICAgICAgJEFTTjEg
PSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3Ro
ICsgNzQpLi4oJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDc5KV0KICAgICAgICAkQVNO
MV9sZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAkcHZubyA9ICRjbGVhcnRleHRbKCRBU04xX2xl
bmd0aCArICRmaWVsZF9sZW5ndGggKyA3MyldCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0
aCAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzQpLi4oJEFTTjFf
bGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDc5KV0KICAgICAgICAkQVNOMV9sZW5ndGggKz0gJEFT
TjFbMF0KICAgICAgICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRjbGVhcnRleHRbKCRBU04xX2xl
bmd0aCArICRmaWVsZF9sZW5ndGggKyA3NCkuLigkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3Ro
ICsgNzkpXQogICAgICAgICRBU04xX2xlbmd0aCArPSAkQVNOMVswXQogICAgICAgICRBU04xID0g
R2V0LUFTTjFMZW5ndGggJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCAr
IDc0KS4uKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA3OSldCiAgICAgICAgJEFTTjFf
bGVuZ3RoICs9ICRBU04xWzBdCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0
ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzQpLi4oJEFTTjFfbGVuZ3RoICsg
JGZpZWxkX2xlbmd0aCArIDc5KV0KICAgICAgICAkQVNOMV9sZW5ndGggKz0gJEFTTjFbMF0KICAg
ICAgICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRm
aWVsZF9sZW5ndGggKyA3NCkuLigkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzkpXQog
ICAgICAgICRBU04xX2xlbmd0aCArPSAkQVNOMVswXQogICAgICAgICRBU04xID0gR2V0LUFTTjFM
ZW5ndGggJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDc0KS4uKCRB
U04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA3OSldCiAgICAgICAgJEFTTjFfbGVuZ3RoICs9
ICRBU04xWzBdCiAgICAgICAgJHRrdF92bm8gPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAk
ZmllbGRfbGVuZ3RoICsgNzMpXQogICAgICAgICRyZWFsbTJfbGVuZ3RoID0gJGNsZWFydGV4dFso
JEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDc1KV0KICAgICAgICBbQnl0ZVtdXSRyZWFs
bTIgPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzYpLi4oJEFT
TjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArICRyZWFsbTJfbGVuZ3RoICsgNzUpXQogICAgICAg
ICRmaWVsZF9sZW5ndGggKz0gJHJlYWxtMl9sZW5ndGgKICAgICAgICAkc25hbWVfc3RyaW5nX2xl
bmd0aCA9ICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA4OCldCiAg
ICAgICAgW0J5dGVbXV0kc25hbWVfc3RyaW5nID0gJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsg
JGZpZWxkX2xlbmd0aCArIDg5KS4uKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyAkc25h
bWVfc3RyaW5nX2xlbmd0aCArIDg4KV0KICAgICAgICAkZmllbGRfbGVuZ3RoICs9ICRzbmFtZV9z
dHJpbmdfbGVuZ3RoCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0ZXh0Wygk
QVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgODkpLi4oJEFTTjFfbGVuZ3RoICsgJGZpZWxk
X2xlbmd0aCArIDk0KV0KICAgICAgICAkQVNOMV9sZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAk
QVNOMSA9IEdldC1BU04xTGVuZ3RoICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9s
ZW5ndGggKyA4OSkuLigkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgOTQpXQogICAgICAg
ICRBU04xX2xlbmd0aCArPSAkQVNOMVswXQogICAgICAgICRBU04xID0gR2V0LUFTTjFMZW5ndGgg
JGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDg5KS4uKCRBU04xX2xl
bmd0aCArICRmaWVsZF9sZW5ndGggKyA5NCldCiAgICAgICAgJEFTTjFfbGVuZ3RoICs9ICRBU04x
WzBdCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5n
dGggKyAkZmllbGRfbGVuZ3RoICsgODkpLi4oJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCAr
IDk0KV0KICAgICAgICAkQVNOMV9sZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAka3ZubyA9ICRj
bGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA4OCldCiAgICAgICAgJEFT
TjEgPSBHZXQtQVNOMUxlbmd0aCAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVu
Z3RoICsgODkpLi4oJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDk0KV0KICAgICAgICAk
QVNOMV9sZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRj
bGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA4OSkuLigkQVNOMV9sZW5n
dGggKyAkZmllbGRfbGVuZ3RoICsgOTQpXQogICAgICAgICRBU04xX2xlbmd0aCArPSAkQVNOMVsw
XQogICAgICAgICRjaXBoZXJfbGVuZ3RoID0gJEFTTjFbMV0KICAgICAgICBbQnl0ZVtdXSRjaXBo
ZXIgPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgODkpLi4oJEFT
TjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArICRjaXBoZXJfbGVuZ3RoICsgODgpXQogICAgICAg
IFtCeXRlW11dJGtpcmJpID0gMHgwNCwweDgyICsgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRC
eXRlcygkY2lwaGVyLkNvdW50KVsxLi4wXSArICRjaXBoZXIKICAgICAgICAka2lyYmkgPSAweEEy
LDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaS5Db3VudClbMy4u
MF0gKyAka2lyYmkKICAgICAgICAka2lyYmkgPSAweEEwLDB4ODQsMHgwMCwweDAwLDB4MDAsMHgw
MywweDAyLDB4MDEsMHgxMiwweEExLDB4ODQsMHgwMCwweDAwLDB4MDAsMHgwMywweDAyLDB4MDEg
KyAka3ZubyArICRraXJiaQogICAgICAgICRraXJiaSA9IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0
Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpLkNvdW50KVszLi4wXSArICRraXJiaQogICAgICAg
ICRraXJiaSA9IDB4QTMsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtp
cmJpLkNvdW50KVszLi4wXSArICRraXJiaQogICAgICAgIFtCeXRlW11dJGtpcmJpMiA9IDB4MzAs
MHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHNuYW1lX3N0cmluZy5Db3Vu
dClbMy4uMF0gKyAkc25hbWVfc3RyaW5nCiAgICAgICAgJGtpcmJpMiA9IDB4QTEsMHg4NCArIFtT
eXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpMi5Db3VudClbMy4uMF0gKyAka2ly
YmkyCiAgICAgICAgJGtpcmJpMiA9IDB4QTAsMHg4NCwweDAwLDB4MDAsMHgwMCwweDAzLDB4MDIs
MHgwMSwweDAyICsgJGtpcmJpMgogICAgICAgICRraXJiaTIgPSAweDMwLDB4ODQgKyBbU3lzdGVt
LkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaTIuQ291bnQpWzMuLjBdICsgJGtpcmJpMgog
ICAgICAgICRraXJiaTIgPSAweEEyLDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5
dGVzKCRraXJiaTIuQ291bnQpWzMuLjBdICsgJGtpcmJpMgogICAgICAgIFtCeXRlW11dJGtpcmJp
MyA9IDB4QTEsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHJlYWxtMi5D
b3VudClbMy4uMF0gKyAkcmVhbG0yCiAgICAgICAgJGtpcmJpMyA9IDB4QTAsMHg4NCwweDAwLDB4
MDAsMHgwMCwweDAzLDB4MDIsMHgwMSArICR0a3Rfdm5vICsgJGtpcmJpMwogICAgICAgIFtCeXRl
W11dJGtpcmJpNCA9ICRraXJiaTMgKyAka2lyYmkyICsgJGtpcmJpCiAgICAgICAgJGtpcmJpNCA9
IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3Vu
dClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4NjEsMHg4NCArIFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAg
ICAgICAgJGtpcmJpNCA9IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0
ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4QTIs
MHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4u
MF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4QTEsMHg4NCwweDAwLDB4MDAsMHgwMCww
eDAzLDB4MDIsMHgwMSwweDE2ICsgJGtpcmJpNAogICAgICAgICRraXJiaTQgPSAweEEwLDB4ODQs
MHgwMCwweDAwLDB4MDAsMHgwMywweDAyLDB4MDEgKyAkcHZubyArICRraXJiaTQKICAgIAogICAg
ICAgIHJldHVybiAka2lyYmk0CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIEdldC1LaXJiaVBhcnRU
aHJlZQogICAgewogICAgICAgIHBhcmFtKFtCeXRlW11dJGNsZWFydGV4dCkKICAgIAogICAgICAg
ICRBU04xID0gR2V0LUFTTjFMZW5ndGggJGNsZWFydGV4dFswLi4oJEFTTjFfbGVuZ3RoICsgNSld
CiAgICAgICAgJEFTTjFfbGVuZ3RoID0gJEFTTjFbMF0KICAgICAgICAkQVNOMSA9IEdldC1BU04x
TGVuZ3RoICRjbGVhcnRleHRbJEFTTjFfbGVuZ3RoLi4oJEFTTjFfbGVuZ3RoICsgNSldCiAgICAg
ICAgJEFTTjFfbGVuZ3RoICs9ICRBU04xWzBdCiAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0
aCAkY2xlYXJ0ZXh0WyRBU04xX2xlbmd0aC4uKCRBU04xX2xlbmd0aCArIDUpXQogICAgICAgICRB
U04xX2xlbmd0aCArPSAkQVNOMVswXQogICAgICAgICRBU04xID0gR2V0LUFTTjFMZW5ndGggJGNs
ZWFydGV4dFskQVNOMV9sZW5ndGguLigkQVNOMV9sZW5ndGggKyA1KV0KICAgICAgICAkQVNOMV9s
ZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRjbGVhcnRl
eHRbJEFTTjFfbGVuZ3RoLi4oJEFTTjFfbGVuZ3RoICsgNSldCiAgICAgICAgJEFTTjFfbGVuZ3Ro
ICs9ICRBU04xWzBdCiAgICAgICAgW0J5dGVbXV0ka2V5ID0gJGNsZWFydGV4dFsoJEFTTjFfbGVu
Z3RoICsgMTEpLi4oJEFTTjFfbGVuZ3RoICsgNDQpXQogICAgICAgICRwcmVyZWFsbV9sZW5ndGgg
PSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyA0NildCiAgICAgICAgW0J5dGVbXV0kcHJlcmVh
bG0gPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyA0NykuLigkQVNOMV9sZW5ndGggKyAkcHJl
cmVhbG1fbGVuZ3RoICsgNDYpXQogICAgICAgICRwbmFtZV9sZW5ndGggPSAkY2xlYXJ0ZXh0Wygk
QVNOMV9sZW5ndGggKyAkcHJlcmVhbG1fbGVuZ3RoICsgNTkpXQogICAgICAgICRmaWVsZF9sZW5n
dGggPSAkcHJlcmVhbG1fbGVuZ3RoICsgJHBuYW1lX2xlbmd0aAogICAgICAgIFtCeXRlW11dJHBu
YW1lID0gJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJHByZXJlYWxtX2xlbmd0aCArIDYwKS4u
KCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyA1OSldCiAgICAgICAgW0J5dGVbXV0kZmxh
Z3MgPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNjUpLi4oJEFT
TjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDY4KV0KICAgICAgICBbQnl0ZVtdXSRzdGFydHRp
bWUgPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgNzEpLi4oJEFT
TjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDg3KV0KICAgICAgICBbQnl0ZVtdXSRlbmR0aW1l
ID0gJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDkwKS4uKCRBU04x
X2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyAxMDYpXQogICAgICAgIFtCeXRlW11dJHJlbmV3X3Rp
bGwgPSAkY2xlYXJ0ZXh0WygkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgMTA5KS4uKCRB
U04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyAxMjUpXQogICAgICAgICRzcmVhbG1fbGVuZ3Ro
ID0gJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xlbmd0aCArIDEyNyldCiAgICAg
ICAgW0J5dGVbXV0kc3JlYWxtID0gJGNsZWFydGV4dFsoJEFTTjFfbGVuZ3RoICsgJGZpZWxkX2xl
bmd0aCArIDEyOCkuLigkQVNOMV9sZW5ndGggKyAkZmllbGRfbGVuZ3RoICsgJHNyZWFsbV9sZW5n
dGggKyAxMjcpXQogICAgICAgICRmaWVsZF9sZW5ndGggKz0gJHNyZWFsbV9sZW5ndGgKICAgICAg
ICAkc25hbWVfc3RyaW5nX2xlbmd0aCA9ICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArICRmaWVs
ZF9sZW5ndGggKyAxNDApXQogICAgICAgIFtCeXRlW11dJHNuYW1lX3N0cmluZyA9ICRjbGVhcnRl
eHRbKCRBU04xX2xlbmd0aCArICRmaWVsZF9sZW5ndGggKyAxNDEpLi4oJEFTTjFfbGVuZ3RoICsg
JGZpZWxkX2xlbmd0aCArICRzbmFtZV9zdHJpbmdfbGVuZ3RoICsgMTQwKV0KICAgICAgICBbQnl0
ZVtdXSRraXJiaSA9IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMo
JHNuYW1lX3N0cmluZy5Db3VudClbMy4uMF0gKyAkc25hbWVfc3RyaW5nCiAgICAgICAgJGtpcmJp
ID0gMHhBMSwweDg0ICsgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygka2lyYmkuQ291
bnQpWzMuLjBdICsgJGtpcmJpCiAgICAgICAgJGtpcmJpID0gMHhBMCwweDg0LDB4MDAsMHgwMCww
eDAwLDB4MDMsMHgwMiwweDAxLDB4MDIgKyAka2lyYmkKICAgICAgICAka2lyYmkgPSAweDMwLDB4
ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaS5Db3VudClbMy4uMF0g
KyAka2lyYmkKICAgICAgICAka2lyYmkgPSAweEE5LDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRl
cl06OkdldEJ5dGVzKCRraXJiaS5Db3VudClbMy4uMF0gKyAka2lyYmkKICAgICAgICAka2lyYmkg
PSAweEE4LDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRzcmVhbG0uQ291
bnQpWzMuLjBdICsgJHNyZWFsbSArICRraXJiaQogICAgICAgICRraXJiaSA9IDB4QTcsMHg4NCAr
IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHJlbmV3X3RpbGwuQ291bnQpWzMuLjBd
ICsgJHJlbmV3X3RpbGwgKyAka2lyYmkKICAgICAgICAka2lyYmkgPSAweEE2LDB4ODQgKyBbU3lz
dGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRlbmR0aW1lLkNvdW50KVszLi4wXSArICRlbmR0
aW1lICsgJGtpcmJpCiAgICAgICAgJGtpcmJpID0gMHhBNSwweDg0ICsgW1N5c3RlbS5CaXRDb252
ZXJ0ZXJdOjpHZXRCeXRlcygkc3RhcnR0aW1lLkNvdW50KVszLi4wXSArICRzdGFydHRpbWUgKyAk
a2lyYmkKICAgICAgICAka2lyYmkgPSAweEEzLDB4ODQsMHgwMCwweDAwLDB4MDAsMHgwNywweDAz
LDB4MDUsMHgwMCArICRmbGFncyArICRraXJiaQogICAgICAgIFtCeXRlW11dJGtpcmJpMiA9IDB4
MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBuYW1lLkNvdW50KVsz
Li4wXSArICRwbmFtZQogICAgICAgICRraXJiaTIgPSAweEExLDB4ODQgKyBbU3lzdGVtLkJpdENv
bnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaTIuQ291bnQpWzMuLjBdICsgJGtpcmJpMgogICAgICAg
ICRraXJiaTIgPSAweEEwLDB4ODQsMHgwMCwweDAwLDB4MDAsMHgwMywweDAyLDB4MDEsMHgwMSAr
ICRraXJiaTIKICAgICAgICAka2lyYmkyID0gMHgzMCwweDg0ICsgW1N5c3RlbS5CaXRDb252ZXJ0
ZXJdOjpHZXRCeXRlcygka2lyYmkyLkNvdW50KVszLi4wXSArICRraXJiaTIKICAgICAgICAka2ly
YmkyID0gMHhBMiwweDg0ICsgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygka2lyYmky
LkNvdW50KVszLi4wXSArICRraXJiaTIKICAgICAgICAka2lyYmkyID0gMHhBMSwweDg0ICsgW1N5
c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcHJlcmVhbG0uQ291bnQpWzMuLjBdICsgJHBy
ZXJlYWxtICsgJGtpcmJpMgogICAgICAgIFtCeXRlW11dJGtpcmJpMyA9IDB4QTEsMHg4NCArIFtT
eXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtleS5Db3VudClbMy4uMF0gKyAka2V5CiAg
ICAgICAgJGtpcmJpMyA9IDB4QTAsMHg4NCwweDAwLDB4MDAsMHgwMCwweDAzLDB4MDIsMHgwMSww
eDEyICsgJGtpcmJpMwogICAgICAgICRraXJiaTMgPSAweDMwLDB4ODQgKyBbU3lzdGVtLkJpdENv
bnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaTMuQ291bnQpWzMuLjBdICsgJGtpcmJpMwogICAgICAg
ICRraXJiaTMgPSAweEEwLDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRr
aXJiaTMuQ291bnQpWzMuLjBdICsgJGtpcmJpMwogICAgICAgIFtCeXRlW11dJGtpcmJpNCA9ICRr
aXJiaTMgKyAka2lyYmkyICsgJGtpcmJpCiAgICAgICAgJGtpcmJpNCA9IDB4MzAsMHg4NCArIFtT
eXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2ly
Ymk0CiAgICAgICAgJGtpcmJpNCA9IDB4MzAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6
R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9
IDB4QTAsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3Vu
dClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4MzAsMHg4NCArIFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAg
ICAgICAgJGtpcmJpNCA9IDB4N0QsMHg4NCArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0
ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4MDQs
MHg4MiArIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMS4u
MF0gKyAka2lyYmk0CiAgICAgICAgJGtpcmJpNCA9IDB4QTIsMHg4NCArIFtTeXN0ZW0uQml0Q29u
dmVydGVyXTo6R2V0Qnl0ZXMoJGtpcmJpNC5Db3VudClbMy4uMF0gKyAka2lyYmk0CiAgICAgICAg
JGtpcmJpNCA9IDB4QTAsMHg4NCwweDAwLDB4MDAsMHgwMCwweDAzLDB4MDIsMHgwMSwweDAwICsg
JGtpcmJpNAogICAgICAgICRraXJiaTQgPSAweDMwLDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRl
cl06OkdldEJ5dGVzKCRraXJiaTQuY291bnQpWzMuLjBdICsgJGtpcmJpNAogICAgICAgICRraXJi
aTQgPSAweEEzLDB4ODQgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRraXJiaTQu
Y291bnQpWzMuLjBdICsgJGtpcmJpNAogICAgCiAgICAgICAgcmV0dXJuICRraXJiaTQKICAgIH0K
CiAgICBmdW5jdGlvbiBOZXctS2VyYmVyb3NLaXJiaQogICAgewogICAgICAgIHBhcmFtKFtCeXRl
W11dJGRhdGEsW0J5dGVbXV0kYmFzZV9rZXksW1N0cmluZ10kc2VydmljZSxbU3RyaW5nXSRzZXJ2
aWNlX3BvcnQsW1N0cmluZ10kc2Vzc2lvbikKCiAgICAgICAgJGFwcmVxX2NvbnZlcnRlZCA9IFtT
eXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJGRhdGEpCiAgICAgICAgJGFwcmVxX2NvbnZl
cnRlZCA9ICRhcHJlcV9jb252ZXJ0ZWQgLXJlcGxhY2UgIi0iLCIiCiAgICAgICAgJEFTTjFfaW5k
ZXggPSAkYXByZXFfY29udmVydGVkLkluZGV4T2YoIkEwMDMwMjAxMTJBMTAzMDIwMSIpCgogICAg
ICAgIGlmKCRBU04xX2luZGV4IC1nZSAwKQogICAgICAgIHsKICAgICAgICAgICAgJEFTTjEgPSBH
ZXQtQVNOMUxlbmd0aCAkZGF0YVsoJEFTTjFfaW5kZXggLyAyICsgMTApLi4oJEFTTjFfaW5kZXgg
LyAyICsgMTUpXQogICAgICAgICAgICAkQVNOMV9sZW5ndGggPSAkQVNOMVswXQogICAgICAgICAg
ICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRkYXRhWygkQVNOMV9pbmRleCAvIDIgKyAkQVNOMV9s
ZW5ndGggKyAxMCkuLigkQVNOMV9pbmRleCAvIDIgKyAkQVNOMV9sZW5ndGggKyAxNSldCiAgICAg
ICAgICAgICRBU04xX2xlbmd0aCArPSAkQVNOMVswXQogICAgICAgICAgICAkY2lwaGVyX2xlbmd0
aCA9ICRBU04xWzFdCiAgICAgICAgICAgIFtCeXRlW11dJGNpcGhlciA9ICRkYXRhWygkQVNOMV9p
bmRleCAvIDIgKyAkQVNOMV9sZW5ndGggKyAxMCkuLigkQVNOMV9pbmRleCAvIDIgKyAkQVNOMV9s
ZW5ndGggKyAkY2lwaGVyX2xlbmd0aCArIDkpXQogICAgICAgICAgICBbQnl0ZVtdXSRrZV9rZXkg
PSBHZXQtS2VyYmVyb3NBRVMyNTZVc2FnZUtleSBlbmNyeXB0IDIgJGJhc2Vfa2V5CiAgICAgICAg
ICAgIFtCeXRlW11dJGNsZWFydGV4dCA9IFVucHJvdGVjdC1LZXJiZXJvcyAka2Vfa2V5ICRjaXBo
ZXJbMC4uKCRjaXBoZXIuQ291bnQgLSAxMyldCiAgICAgICAgICAgICRjbGVhcnRleHQgPSAkY2xl
YXJ0ZXh0WzE2Li4kY2xlYXJ0ZXh0LkNvdW50XQogICAgICAgICAgICAkY2xlYXJ0ZXh0X2NvbnZl
cnRlZCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJGNsZWFydGV4dCkKICAgICAg
ICAgICAgJGNsZWFydGV4dF9jb252ZXJ0ZWQgPSAkY2xlYXJ0ZXh0X2NvbnZlcnRlZCAtcmVwbGFj
ZSAiLSIsIiIKICAgICAgICAgICAgJEFTTjFfaW5kZXggPSAkY2xlYXJ0ZXh0X2NvbnZlcnRlZC5J
bmRleE9mKCJBMDAzMDIwMTEyQTEiKQoKICAgICAgICAgICAgaWYoJEFTTjFfaW5kZXggLWdlIDAp
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFtCeXRlW11dJHNlc3Npb25fa2V5ID0gJGNs
ZWFydGV4dFszMC4uNjFdCiAgICAgICAgICAgICAgICBbQnl0ZVtdXSRrZV9rZXkgPSBHZXQtS2Vy
YmVyb3NBRVMyNTZVc2FnZUtleSBlbmNyeXB0IDExICRzZXNzaW9uX2tleQogICAgICAgICAgICAg
ICAgJEFTTjFfaW5kZXggPSAkYXByZXFfY29udmVydGVkLkluZGV4T2YoIkEwMDMwMjAxMTJBMiIp
CgogICAgICAgICAgICAgICAgaWYoJEFTTjFfaW5kZXggLWdlIDApCiAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxlbmd0aCAkZGF0YVsoJEFTTjFf
aW5kZXggLyAyICsgNSkuLigkQVNOMV9pbmRleCAvIDIgKyAxMCldCiAgICAgICAgICAgICAgICAg
ICAgJEFTTjFfbGVuZ3RoID0gJEFTTjFbMF0KICAgICAgICAgICAgICAgICAgICAkQVNOMSA9IEdl
dC1BU04xTGVuZ3RoICRkYXRhWygkQVNOMV9pbmRleCAvIDIgKyAkQVNOMV9sZW5ndGggKyA1KS4u
KCRBU04xX2luZGV4IC8gMiArICRBU04xX2xlbmd0aCArIDEwKV0KICAgICAgICAgICAgICAgICAg
ICAkQVNOMV9sZW5ndGggKz0gJEFTTjFbMF0KICAgICAgICAgICAgICAgICAgICAkY2lwaGVyX2xl
bmd0aCA9ICRBU04xWzFdCiAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kY2lwaGVyID0gJGRh
dGFbKCRBU04xX2luZGV4IC8gMiArICRBU04xX2xlbmd0aCArIDUpLi4oJEFTTjFfaW5kZXggLyAy
ICsgJEFTTjFfbGVuZ3RoICsgJGNpcGhlcl9sZW5ndGggKyA0KV0KICAgICAgICAgICAgICAgICAg
ICBbQnl0ZVtdXSRjbGVhcnRleHQgPSBVbnByb3RlY3QtS2VyYmVyb3MgJGtlX2tleSAkY2lwaGVy
WzAuLigkY2lwaGVyLkNvdW50IC0gMTMpXQogICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJGtl
X2tleSA9IEdldC1LZXJiZXJvc0FFUzI1NlVzYWdlS2V5IGVuY3J5cHQgMTQgJHNlc3Npb25fa2V5
CiAgICAgICAgICAgICAgICAgICAgJGNsZWFydGV4dCA9ICRjbGVhcnRleHRbMTYuLiRjbGVhcnRl
eHQuQ291bnRdCiAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0ka2lyYmkyID0gR2V0LUtpcmJp
UGFydFR3byAkY2xlYXJ0ZXh0CiAgICAgICAgICAgICAgICAgICAgJEFTTjEgPSBHZXQtQVNOMUxl
bmd0aCAkY2xlYXJ0ZXh0WzQuLjldCiAgICAgICAgICAgICAgICAgICAgJEFTTjFfbGVuZ3RoID0g
JEFTTjFbMF0KICAgICAgICAgICAgICAgICAgICAkQVNOMSA9IEdldC1BU04xTGVuZ3RoICRjbGVh
cnRleHRbKCRBU04xX2xlbmd0aCArIDQpLi4oJEFTTjFfbGVuZ3RoICsgOSldCiAgICAgICAgICAg
ICAgICAgICAgJEFTTjFfbGVuZ3RoICs9ICRBU04xWzBdCiAgICAgICAgICAgICAgICAgICAgJHJl
YWxtX2xlbmd0aCA9ICRjbGVhcnRleHRbKCRBU04xX2xlbmd0aCArIDcpXQogICAgICAgICAgICAg
ICAgICAgICRyZWFsbSA9IENvbnZlcnQtRGF0YVRvU3RyaW5nIDAgJHJlYWxtX2xlbmd0aCAkY2xl
YXJ0ZXh0WygkQVNOMV9sZW5ndGggKyA4KS4uKCRBU04xX2xlbmd0aCArICRyZWFsbV9sZW5ndGgg
KyA3KV0KICAgICAgICAgICAgICAgICAgICAkdXNlcm5hbWVfbGVuZ3RoID0gJGNsZWFydGV4dFso
JEFTTjFfbGVuZ3RoICsgJHJlYWxtX2xlbmd0aCArIDIyKV0KICAgICAgICAgICAgICAgICAgICAk
dXNlcm5hbWUgPSBDb252ZXJ0LURhdGFUb1N0cmluZyAwICR1c2VybmFtZV9sZW5ndGggJGNsZWFy
dGV4dFsoJEFTTjFfbGVuZ3RoICsgJHJlYWxtX2xlbmd0aCArIDIzKS4uKCRBU04xX2xlbmd0aCAr
ICRyZWFsbV9sZW5ndGggKyAkdXNlcm5hbWVfbGVuZ3RoICsgMjIpXQogICAgICAgICAgICAgICAg
ICAgICRjbGVhcnRleHRfY29udmVydGVkID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmlu
ZygkY2xlYXJ0ZXh0KQogICAgICAgICAgICAgICAgICAgICRjbGVhcnRleHRfY29udmVydGVkID0g
JGNsZWFydGV4dF9jb252ZXJ0ZWQgLXJlcGxhY2UgIi0iLCIiCiAgICAgICAgICAgICAgICAgICAg
JEFTTjFfaW5kZXggPSAkY2xlYXJ0ZXh0X2NvbnZlcnRlZC5JbmRleE9mKCJBMDAzMDIwMTEyQTIi
KQoKICAgICAgICAgICAgICAgICAgICBpZigkQVNOMV9pbmRleCAtZ2UgMCkKICAgICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRBU04xID0gR2V0LUFTTjFMZW5ndGgg
JGNsZWFydGV4dFsoJEFTTjFfaW5kZXggLyAyICsgNSkuLigkQVNOMV9pbmRleCAvIDIgKyAxMCld
CiAgICAgICAgICAgICAgICAgICAgICAgICRBU04xX2xlbmd0aCA9ICRBU04xWzBdCiAgICAgICAg
ICAgICAgICAgICAgICAgICRBU04xID0gR2V0LUFTTjFMZW5ndGggJGNsZWFydGV4dFsoJEFTTjFf
aW5kZXggLyAyICsgJEFTTjFfbGVuZ3RoICsgNSkuLigkQVNOMV9pbmRleCAvIDIgKyAkQVNOMV9s
ZW5ndGggKyAxMCldCiAgICAgICAgICAgICAgICAgICAgICAgICRBU04xX2xlbmd0aCArPSAkQVNO
MVswXQogICAgICAgICAgICAgICAgICAgICAgICAkY2lwaGVyX2xlbmd0aCA9ICRBU04xWzFdCiAg
ICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJGNpcGhlciA9ICRjbGVhcnRleHRbKCRBU04x
X2luZGV4IC8gMiArICRBU04xX2xlbmd0aCArIDUpLi4oJEFTTjFfaW5kZXggLyAyICsgJEFTTjFf
bGVuZ3RoICsgJGNpcGhlcl9sZW5ndGggKyA0KV0KICAgICAgICAgICAgICAgICAgICAgICAgW0J5
dGVbXV0kY2xlYXJ0ZXh0ID0gVW5wcm90ZWN0LUtlcmJlcm9zICRrZV9rZXkgJGNpcGhlclswLi4o
JGNpcGhlci5Db3VudCAtIDEzKV0KICAgICAgICAgICAgICAgICAgICAgICAgJGNsZWFydGV4dCA9
ICRjbGVhcnRleHRbMTYuLiRjbGVhcnRleHQuQ291bnRdCiAgICAgICAgICAgICAgICAgICAgICAg
IFtCeXRlW11dJGtpcmJpMyA9IEdldC1LaXJiaVBhcnRUaHJlZSAkY2xlYXJ0ZXh0CiAgICAgICAg
ICAgICAgICAgICAgICAgIFtCeXRlW11dJGtpcmJpID0gR2V0LUtpcmJpICRraXJiaTIgJGtpcmJp
MwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHVzZXJuYW1lIC1ub3RtYXRjaCAnW15ceDAw
LVx4N0ZdKycgLWFuZCAkcmVhbG0gLW5vdG1hdGNoICdbXlx4MDAtXHg3Rl0rJykKICAgICAgICAg
ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0
cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRzZXJ2aWNlKCRzZXJ2
aWNlX3BvcnQpIEtlcmJlcm9zIFRHVCBjYXB0dXJlZCBmb3IgJHVzZXJuYW1lQCRyZWFsbSBmcm9t
ICRzZXNzaW9uIikgPiAkbnVsbCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2gua2VyYmVyb3NfVEdUX2xpc3QuQWRkKCRraXJiaSkgPiAkbnVsbAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGludmVpZ2gua2VyYmVyb3NfVEdUX3VzZXJuYW1lX2xpc3QuQWRkKCIkc291
cmNlX0lQICR1c2VybmFtZSAkcmVhbG0gJCgkaW52ZWlnaC5rZXJiZXJvc19UR1RfbGlzdC5Db3Vu
dCAtIDEpIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtpcmJpX2NvdW50
ID0gKCRpbnZlaWdoLmtlcmJlcm9zX1RHVF91c2VybmFtZV9saXN0IC1saWtlICIqICR1c2VybmFt
ZSAkcmVhbG0gKiIpLkNvdW50CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICAgICAgICAgICAgIGlmKCRraXJiaV9jb3VudCAtbGUgJEtlcmJlcm9zQ291bnQpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
a3JiX3BhdGggPSAkb3V0cHV0X2RpcmVjdG9yeSArICJcJHVzZXJuYW1lQCRyZWFsbS1UR1QtJChH
ZXQtRGF0ZSAtZm9ybWF0IE1NZGRoaG1tc3NmZmZmKS5raXJiaSIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAka3JiX2ZpbGUgPSBOZXctT2JqZWN0IFN5c3RlbS5JTy5GaWxlU3RyZWFt
ICRrcmJfcGF0aCwnQXBwZW5kJywnV3JpdGUnLCdSZWFkJwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICRrcmJfZmlsZS5Xcml0ZSgka2lyYmksMCwka2lyYmkuQ291bnQpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJGtyYl9maWxlLmNsb3NlKCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURh
dGUgLWZvcm1hdCBzKV0gJHNlcnZpY2UoJHNlcnZpY2VfcG9ydCkgS2VyYmVyb3MgVEdUIGZvciAk
dXNlcm5hbWVAJHJlYWxtIHdyaXR0ZW4gdG8gJGtyYl9wYXRoIikgPiAkbnVsbAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2gKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAi
YG4iLCIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1
ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQoJF8u
SW52b2NhdGlvbkluZm8uTGluZS5UcmltKCkpIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldICRzZXJ2aWNlKCRzZXJ2aWNlX3BvcnQpIEtlcmJlcm9zIFRHVCBub3Qg
Zm91bmQgZnJvbSAkc2Vzc2lvbiIpID4gJG51bGwgICAgCiAgICAgICAgICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbLV0gWyQoR2V0
LURhdGUgLWZvcm1hdCBzKV0gJHNlcnZpY2UoJHNlcnZpY2VfcG9ydCkgS2VyYmVyb3MgYXV0ZW50
aWNhdG9yIG5vdCBmb3VuZCBmcm9tICRzZXNzaW9udCIpID4gJG51bGwgICAgCiAgICAgICAgICAg
ICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFskKEdldC1EYXRlIC1m
b3JtYXQgcyldICRzZXJ2aWNlKCRzZXJ2aWNlX3BvcnQpIEtlcmJlcm9zIGZhaWxlZCB0byBkZWNy
eXB0IGNhcHR1cmUgZnJvbSAkc2Vzc2lvbiIpID4gJG51bGwgICAgCiAgICAgICAgICAgIH0KCiAg
ICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIAogICAgICAgICAgICBp
ZigkYXByZXFfY29udmVydGVkIC1saWtlICIqQTAwMzAyMDE/P0ExMDMwMjAxKiIpCiAgICAgICAg
ICAgIHsKCiAgICAgICAgICAgICAgICBpZigkYXByZXFfY29udmVydGVkIC1saWtlICIqQTAwMzAy
MDExMUExMDMwMjAxKiIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGVu
Y3J5cHRpb25fdHlwZSA9ICJBRVMxMjgtQ1RTLUhNQUMtU0hBMS05NiIKICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgIGVsc2VpZigkYXByZXFfY29udmVydGVkIC1saWtlICIqQTAwMzAy
MDExN0ExMDMwMjAxKiIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGVu
Y3J5cHRpb25fdHlwZSA9ICJSQzQtSE1BQyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgIGVsc2VpZigkYXByZXFfY29udmVydGVkIC1saWtlICIqQTAwMzAyMDExOEExMDMwMjAxKiIp
CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGVuY3J5cHRpb25fdHlwZSA9
ICJSQzQtSE1BQy1FWFAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlaWYo
JGFwcmVxX2NvbnZlcnRlZCAtbGlrZSAiKkEwMDMwMjAxMDNBMTAzMDIwMSoiKQogICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgICRlbmNyeXB0aW9uX3R5cGUgPSAiREVTLUNCQy1N
RDUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlaWYoJGFwcmVxX2NvbnZl
cnRlZCAtbGlrZSAiKkEwMDMwMjAxMDFBMTAzMDIwMSoiKQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICRlbmNyeXB0aW9uX3R5cGUgPSAiREVTLUNCQy1DUkMiCiAgICAgICAg
ICAgICAgICB9CgogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1d
IFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRzZXJ2aWNlKCRzZXJ2aWNlX3BvcnQpIEtlcmJlcm9z
IHVuc3VwcG9ydGVkIGVuY3J5cHRpb24gdHlwZSAkZW5jcnlwdGlvbl90eXBlIGZyb20gJHNlc3Np
b24iKSA+ICRudWxsCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbLV0gWyQoR2V0LURh
dGUgLWZvcm1hdCBzKV0gJHNlcnZpY2UoJHNlcnZpY2VfcG9ydCkgS2VyYmVyb3MgZmFpbGVkIHRv
IGV4dHJhY3QgQVMtUkVRIGZyb20gJHNlc3Npb24iKSA+ICRudWxsIAogICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgIAogICAgICAgIH0KCiAgICB9Cgp9CgojIFNNQiBGdW5jdGlvbnMgU2NyaXB0
QmxvY2sgLSBmdW5jdGlvbiBmb3IgcGFyc2luZyBOVExNIGNoYWxsZW5nZS9yZXNwb25zZQokU01C
X2Z1bmN0aW9uc19zY3JpcHRibG9jayA9CnsKICAgIAogICAgZnVuY3Rpb24gR2V0LVNNQkNvbm5l
Y3Rpb24KICAgIHsKICAgICAgICBwYXJhbSAoW0J5dGVbXV0kUGF5bG9hZCxbU3RyaW5nXSRTbmlm
ZmVySVAsW1N0cmluZ10kU291cmNlSVAsW1N0cmluZ10kRGVzdGluYXRpb25JUCxbU3RyaW5nXSRT
b3VyY2VQb3J0LFtTdHJpbmddJFNNQlBvcnQpCgogICAgICAgICRwYXlsb2FkX2NvbnZlcnRlZCA9
IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFBheWxvYWQpCiAgICAgICAgJHBheWxv
YWRfY29udmVydGVkID0gJHBheWxvYWRfY29udmVydGVkIC1yZXBsYWNlICItIiwiIgogICAgICAg
ICRzZXNzaW9uID0gIiRTb3VyY2VJUGA6JFNvdXJjZVBvcnQiCiAgICAgICAgJHNlc3Npb25fb3V0
Z29pbmcgPSAiJERlc3RpbmF0aW9uSVBgOiRTTUJQb3J0IgogICAgICAgICRTTUJfaW5kZXggPSAk
cGF5bG9hZF9jb252ZXJ0ZWQuSW5kZXhPZigiRkY1MzRENDIiKQoKICAgICAgICBpZighJGludmVp
Z2guU01CX3Nlc3Npb25fdGFibGUuQ29udGFpbnNLZXkoJFNlc3Npb24pIC1hbmQgJFNNQl9pbmRl
eCAtZ3QgMCAtYW5kICRwYXlsb2FkX2NvbnZlcnRlZC5TdWJTdHJpbmcoKCRTTUJfaW5kZXggKyA4
KSwyKSAtZXEgIjcyIiAtYW5kICRTb3VyY2VJUCAtbmUgJFNuaWZmZXJJUCkKICAgICAgICB7CiAg
ICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0ZSAtZm9y
bWF0IHMpXSBTTUIoJFNNQlBvcnQpIG5lZ290aWF0aW9uIHJlcXVlc3QgZGV0ZWN0ZWQgZnJvbSAk
c2Vzc2lvbiIpID4gJG51bGwKICAgICAgICB9CiAgICAgICAgZWxzZWlmKCEkaW52ZWlnaC5TTUJf
c2Vzc2lvbl90YWJsZS5Db250YWluc0tleSgkU2Vzc2lvbikgLWFuZCAkU01CX2luZGV4IC1ndCAw
IC1hbmQgJHBheWxvYWRfY29udmVydGVkLlN1YlN0cmluZygoJFNNQl9pbmRleCArIDgpLDIpIC1l
cSAiNzIiIC1hbmQgJFNvdXJjZUlQIC1lcSAkU25pZmZlcklQKQogICAgICAgIHsKICAgICAgICAg
ICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1mb3JtYXQgcyld
IFNNQigkU291cmNlUG9ydCkgb3V0Z29pbmcgbmVnb3RpYXRpb24gcmVxdWVzdCBkZXRlY3RlZCB0
byAkc2Vzc2lvbl9vdXRnb2luZyIpID4gJG51bGwKICAgICAgICB9CgogICAgICAgIGlmKCEkaW52
ZWlnaC5TTUJfc2Vzc2lvbl90YWJsZS5Db250YWluc0tleSgkU2Vzc2lvbikgLWFuZCAkU01CX2lu
ZGV4IC1ndCAwKQogICAgICAgIHsKICAgICAgICAgICAgJGludmVpZ2guU01CX3Nlc3Npb25fdGFi
bGUuQWRkKCRTZXNzaW9uLCIiKQogICAgICAgIH0KCiAgICAgICAgJFNNQl9pbmRleCA9ICRwYXls
b2FkX2NvbnZlcnRlZC5JbmRleE9mKCJGRTUzNEQ0MiIpCgogICAgICAgIGlmKCEkaW52ZWlnaC5T
TUJfc2Vzc2lvbl90YWJsZS5Db250YWluc0tleSgkU2Vzc2lvbikgLWFuZCAkU01CX2luZGV4IC1n
dCAwIC1hbmQgJHBheWxvYWRfY29udmVydGVkLlN1YlN0cmluZygoJFNNQl9pbmRleCArIDI0KSw0
KSAtZXEgIjAwMDAiIC1hbmQgJFNvdXJjZUlQIC1uZSAkU25pZmZlcklQKQogICAgICAgIHsKICAg
ICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1mb3Jt
YXQgcyldIFNNQigkU01CUG9ydCkgbmVnb3RpYXRpb24gcmVxdWVzdCBkZXRlY3RlZCBmcm9tICRz
ZXNzaW9uIikgPiAkbnVsbAogICAgICAgIH0KICAgICAgICBlbHNlaWYoISRpbnZlaWdoLlNNQl9z
ZXNzaW9uX3RhYmxlLkNvbnRhaW5zS2V5KCRTZXNzaW9uKSAtYW5kICRTTUJfaW5kZXggLWd0IDAg
LWFuZCAkcGF5bG9hZF9jb252ZXJ0ZWQuU3ViU3RyaW5nKCgkU01CX2luZGV4ICsgMjQpLDQpIC1l
cSAiMDAwMCIgLWFuZCAkU291cmNlSVAgLWVxICRTbmlmZmVySVApCiAgICAgICAgewogICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gU01CKCRTb3VyY2VQb3J0KSBvdXRnb2luZyBuZWdvdGlhdGlvbiByZXF1ZXN0IGRldGVjdGVk
IHRvICRzZXNzaW9uX291dGdvaW5nIikgPiAkbnVsbAogICAgICAgIH0KCiAgICAgICAgaWYoISRp
bnZlaWdoLlNNQl9zZXNzaW9uX3RhYmxlLkNvbnRhaW5zS2V5KCRTZXNzaW9uKSAtYW5kICRTTUJf
aW5kZXggLWd0IDApCiAgICAgICAgewogICAgICAgICAgICAkaW52ZWlnaC5TTUJfc2Vzc2lvbl90
YWJsZS5BZGQoJFNlc3Npb24sIiIpCiAgICAgICAgfQoKICAgICAgICAkU01CX2luZGV4ID0gJHBh
eWxvYWRfY29udmVydGVkLkluZGV4T2YoIjJBODY0ODg2RjcxMjAxMDIwMjAxMDAiKQoKICAgICAg
ICBpZigkU01CX2luZGV4IC1ndCAwIC1hbmQgJFNvdXJjZUlQIC1uZSAkU25pZmZlcklQKQogICAg
ICAgIHsKICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIFNNQigkU01CUG9ydCkgYXV0aGVudGljYXRpb24gbWV0aG9kIGlzIEtl
cmJlcm9zIGZvciAkc2Vzc2lvbiIpID4gJG51bGwKCiAgICAgICAgICAgIGlmKCRLZXJiZXJvcyAt
ZXEgJ1knKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAka2VyYmVyb3NfbGVuZ3RoID0g
R2V0LVVJbnQxNkRhdGFMZW5ndGggMCAkUGF5bG9hZFs4Mi4uODNdCiAgICAgICAgICAgICAgICAk
a2VyYmVyb3NfbGVuZ3RoIC09ICRTTUJfaW5kZXggLyAyCiAgICAgICAgICAgICAgICAka2VyYmVy
b3NfZGF0YSA9ICRQYXlsb2FkWygkU01CX2luZGV4LzIpLi4oJFNNQl9pbmRleC8yICsgJFBheWxv
YWQuQ291bnQpXQogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBlbHNlaWYoJFNNQl9p
bmRleCAtZ3QgMCAtYW5kICRTb3VyY2VJUCAtZXEgJFNuaWZmZXJJUCkKICAgICAgICB7CiAgICAg
ICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0ZSAtZm9ybWF0
IHMpXSBTTUIoJFNvdXJjZVBvcnQpIG91dGdvaW5nIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBpcyBL
ZXJiZXJvcyB0byAkc2Vzc2lvbl9vdXRnb2luZyIpID4gJG51bGwKCiAgICAgICAgICAgIGlmKCRL
ZXJiZXJvcyAtZXEgJ1knKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAka2VyYmVyb3Nf
bGVuZ3RoID0gR2V0LVVJbnQxNkRhdGFMZW5ndGggMCAkUGF5bG9hZFs4Mi4uODNdCiAgICAgICAg
ICAgICAgICAka2VyYmVyb3NfbGVuZ3RoIC09ICRTTUJfaW5kZXggLyAyCiAgICAgICAgICAgICAg
ICAka2VyYmVyb3NfZGF0YSA9ICRQYXlsb2FkWygkU01CX2luZGV4LzIpLi4oJFNNQl9pbmRleC8y
ICsgJFBheWxvYWQuQ291bnQpXQogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgcmV0
dXJuICRrZXJiZXJvc19sZW5ndGgsJGtlcmJlcm9zX2RhdGEKICAgIH0KCiAgICBmdW5jdGlvbiBH
ZXQtU01CTlRMTUNoYWxsZW5nZQogICAgewogICAgICAgIHBhcmFtIChbQnl0ZVtdXSRQYXlsb2Fk
KQoKICAgICAgICAkcGF5bG9hZF9jb252ZXJ0ZWQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRv
U3RyaW5nKCRQYXlsb2FkKQogICAgICAgICRwYXlsb2FkX2NvbnZlcnRlZCA9ICRwYXlsb2FkX2Nv
bnZlcnRlZCAtcmVwbGFjZSAiLSIsIiIKICAgICAgICAkTlRMTV9pbmRleCA9ICRwYXlsb2FkX2Nv
bnZlcnRlZC5JbmRleE9mKCI0RTU0NEM0RDUzNTM1MDAwIikKCiAgICAgICAgaWYoJE5UTE1faW5k
ZXggLWd0IDApCiAgICAgICAgewoKICAgICAgICAgICAgaWYoJHBheWxvYWRfY29udmVydGVkLlN1
YlN0cmluZygoJE5UTE1faW5kZXggKyAxNiksOCkgLWVxICIwMjAwMDAwMCIpCiAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICROVExNX2NoYWxsZW5nZSA9ICRwYXlsb2FkX2NvbnZlcnRlZC5T
dWJTdHJpbmcoKCROVExNX2luZGV4ICsgNDgpLDE2KQogICAgICAgICAgICB9CgogICAgICAgICAg
ICAkdGFyZ2V0X25hbWVfbGVuZ3RoID0gR2V0LVVJbnQxNkRhdGFMZW5ndGggKCgkTlRMTV9pbmRl
eCArIDI0KSAvIDIpICRQYXlsb2FkCiAgICAgICAgICAgICRuZWdvdGlhdGVfZmxhZ3MgPSBbU3lz
dGVtLkNvbnZlcnRdOjpUb0ludDE2KCgkcGF5bG9hZF9jb252ZXJ0ZWQuU3ViU3RyaW5nKCgkTlRM
TV9pbmRleCArIDQ0KSwyKSksMTYpCiAgICAgICAgICAgICRuZWdvdGlhdGVfZmxhZ3MgPSBbQ29u
dmVydF06OlRvU3RyaW5nKCRuZWdvdGlhdGVfZmxhZ3MsMikKICAgICAgICAgICAgJHRhcmdldF9p
bmZvX2ZsYWcgPSAkbmVnb3RpYXRlX2ZsYWdzLlN1YlN0cmluZygwLDEpCgogICAgICAgICAgICBp
ZigkdGFyZ2V0X2luZm9fZmxhZyAtZXEgMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
JHRhcmdldF9pbmZvX2luZGV4ID0gKCROVExNX2luZGV4ICsgODApIC8gMgogICAgICAgICAgICAg
ICAgJHRhcmdldF9pbmZvX2luZGV4ID0gJHRhcmdldF9pbmZvX2luZGV4ICsgJHRhcmdldF9uYW1l
X2xlbmd0aCArIDE2CiAgICAgICAgICAgICAgICAkdGFyZ2V0X2luZm9faXRlbV90eXBlID0gJFBh
eWxvYWRbJHRhcmdldF9pbmZvX2luZGV4XQogICAgICAgICAgICAgICAgJGkgPSAwCgogICAgICAg
ICAgICAgICAgd2hpbGUoJHRhcmdldF9pbmZvX2l0ZW1fdHlwZSAtbmUgMCAtYW5kICRpIC1sdCAx
MCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X2luZm9faXRl
bV9sZW5ndGggPSBHZXQtVUludDE2RGF0YUxlbmd0aCAoJHRhcmdldF9pbmZvX2luZGV4ICsgMikg
JFBheWxvYWQKCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoKCR0YXJnZXRfaW5mb19pdGVtX3R5
cGUpIAogICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIDIKICAg
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5ldEJJ
T1NfZG9tYWluX25hbWUgPSBDb252ZXJ0LURhdGFUb1N0cmluZyAoJHRhcmdldF9pbmZvX2luZGV4
ICsgNCkgJHRhcmdldF9pbmZvX2l0ZW1fbGVuZ3RoICRQYXlsb2FkCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIDMKICAgICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJEROU19jb21wdXRlcl9uYW1lID0gQ29u
dmVydC1EYXRhVG9TdHJpbmcgKCR0YXJnZXRfaW5mb19pbmRleCArIDQpICR0YXJnZXRfaW5mb19p
dGVtX2xlbmd0aCAkUGF5bG9hZAogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg
ICAgICAgICAgICAgICA0CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRETlNfZG9tYWluX25hbWUgPSBDb252ZXJ0LURhdGFUb1N0cmluZyAoJHRh
cmdldF9pbmZvX2luZGV4ICsgNCkgJHRhcmdldF9pbmZvX2l0ZW1fbGVuZ3RoICRQYXlsb2FkCiAg
ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgICAgICAgICAkdGFyZ2V0X2luZm9faW5kZXggPSAkdGFyZ2V0X2luZm9faW5kZXggKyAkdGFy
Z2V0X2luZm9faXRlbV9sZW5ndGggKyA0CiAgICAgICAgICAgICAgICAgICAgJHRhcmdldF9pbmZv
X2l0ZW1fdHlwZSA9ICRQYXlsb2FkWyR0YXJnZXRfaW5mb19pbmRleF0KICAgICAgICAgICAgICAg
ICAgICAkaSsrCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYoJG5ldEJJT1Nf
ZG9tYWluX25hbWUgLWFuZCAkRE5TX2RvbWFpbl9uYW1lIC1hbmQgISRpbnZlaWdoLmRvbWFpbl9t
YXBwaW5nX3RhYmxlLiRuZXRCSU9TX2RvbWFpbl9uYW1lIC1hbmQgJG5ldEJJT1NfZG9tYWluX25h
bWUgLW5lICRETlNfZG9tYWluX25hbWUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgJGludmVpZ2guZG9tYWluX21hcHBpbmdfdGFibGUuQWRkKCRuZXRCSU9TX2RvbWFpbl9u
YW1lLCRETlNfZG9tYWluX25hbWUpCiAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0
X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIERvbWFpbiBtYXBwaW5nIGFk
ZGVkIGZvciAkbmV0QklPU19kb21haW5fbmFtZSB0byAkRE5TX2RvbWFpbl9uYW1lIikgPiAkbnVs
bAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZvcigkaSA9IDA7JGkgLWx0ICRp
bnZlaWdoLmVudW1lcmF0ZS5Db3VudDskaSsrKQogICAgICAgICAgICAgICAgewoKICAgICAgICAg
ICAgICAgICAgICBpZigkaW52ZWlnaC5lbnVtZXJhdGVbJGldLklQIC1lcSAkdGFyZ2V0IC1hbmQg
ISRpbnZlaWdoLmVudW1lcmF0ZVskaV0uSG9zdG5hbWUpCiAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5lbnVtZXJhdGVbJGldLkhvc3RuYW1lID0g
JEROU19jb21wdXRlcl9uYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLmVudW1l
cmF0ZVskaV0uIkROUyBEb21haW4iID0gJEROU19kb21haW5fbmFtZQogICAgICAgICAgICAgICAg
ICAgICAgICAkaW52ZWlnaC5lbnVtZXJhdGVbJGldLiJuZXRCSU9TIERvbWFpbiIgPSAkbmV0QklP
U19kb21haW5fbmFtZQogICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgIH0KCiAg
ICAgICAgcmV0dXJuICROVExNX2NoYWxsZW5nZQogICAgfQoKfQoKIyBIVFRQIFNlcnZlciBTY3Jp
cHRCbG9jayAtIEhUVFAvSFRUUFMvUHJveHkgbGlzdGVuZXIKJEhUVFBfc2NyaXB0YmxvY2sgPQp7
CiAgICBwYXJhbSAoJENoYWxsZW5nZSwkS2VyYmVyb3MsJEtlcmJlcm9zQ291bnQsJEtlcmJlcm9z
Q3JlZGVudGlhbCwkS2VyYmVyb3NIYXNoLCRLZXJiZXJvc0hvc3RIZWFkZXIsJEhUVFBBdXRoLAog
ICAgJEhUVFBCYXNpY1JlYWxtLCRIVFRQQ29udGVudFR5cGUsJEhUVFBJUCwkSFRUUFBvcnQsJEhU
VFBEZWZhdWx0RVhFLCRIVFRQRGVmYXVsdEZpbGUsJEhUVFBEaXJlY3RvcnksJEhUVFBSZXNwb25z
ZSwKICAgICRIVFRQU19saXN0ZW5lciwkSVAsJE5CTlNCcnV0ZUZvcmNlUGF1c2UsJG91dHB1dF9k
aXJlY3RvcnksJFByb3h5LCRQcm94eUlnbm9yZSwkcHJveHlfbGlzdGVuZXIsJFdQQURBdXRoLAog
ICAgJFdQQURBdXRoSWdub3JlLCRXUEFEUmVzcG9uc2UpCgogICAgZnVuY3Rpb24gR2V0LU5UTE1D
aGFsbGVuZ2VCYXNlNjQKICAgIHsKICAgICAgICBwYXJhbSAoW1N0cmluZ10kQ2hhbGxlbmdlLFtC
b29sXSROVExNRVNTLFtTdHJpbmddJENsaWVudElQQWRkcmVzcyxbSW50XSRDbGllbnRQb3J0KQoK
ICAgICAgICAkSFRUUF90aW1lc3RhbXAgPSBHZXQtRGF0ZQogICAgICAgICRIVFRQX3RpbWVzdGFt
cCA9ICRIVFRQX3RpbWVzdGFtcC5Ub0ZpbGVUaW1lKCkKICAgICAgICAkSFRUUF90aW1lc3RhbXAg
PSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6
R2V0Qnl0ZXMoJEhUVFBfdGltZXN0YW1wKSkKICAgICAgICAkSFRUUF90aW1lc3RhbXAgPSAkSFRU
UF90aW1lc3RhbXAuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29u
dmVydF06OlRvSW50MTYoJF8sMTYpfQoKICAgICAgICBpZigkQ2hhbGxlbmdlKQogICAgICAgIHsK
ICAgICAgICAgICAgJEhUVFBfY2hhbGxlbmdlID0gJENoYWxsZW5nZQogICAgICAgICAgICAkSFRU
UF9jaGFsbGVuZ2VfYnl0ZXMgPSAkSFRUUF9jaGFsbGVuZ2UuSW5zZXJ0KDIsJy0nKS5JbnNlcnQo
NSwnLScpLkluc2VydCg4LCctJykuSW5zZXJ0KDExLCctJykuSW5zZXJ0KDE0LCctJykuSW5zZXJ0
KDE3LCctJykuSW5zZXJ0KDIwLCctJykKICAgICAgICAgICAgJEhUVFBfY2hhbGxlbmdlX2J5dGVz
ID0gJEhUVFBfY2hhbGxlbmdlX2J5dGVzLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hh
cl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0KICAgICAgICB9CiAgICAgICAgZWxz
ZQogICAgICAgIHsKICAgICAgICAgICAgJEhUVFBfY2hhbGxlbmdlX2J5dGVzID0gW1N0cmluZ10o
MS4uOCB8IEZvckVhY2gtT2JqZWN0IHsiezA6WDJ9IiAtZiAoR2V0LVJhbmRvbSAtTWluaW11bSAx
IC1NYXhpbXVtIDI1NSl9KQogICAgICAgICAgICAkSFRUUF9jaGFsbGVuZ2UgPSAkSFRUUF9jaGFs
bGVuZ2VfYnl0ZXMgLXJlcGxhY2UgJyAnLCAnJwogICAgICAgICAgICAkSFRUUF9jaGFsbGVuZ2Vf
Ynl0ZXMgPSAkSFRUUF9jaGFsbGVuZ2VfYnl0ZXMuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0
e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQogICAgICAgIH0KCiAgICAg
ICAgaWYoJE5UTE1FU1MpCiAgICAgICAgewogICAgICAgICAgICAkSFRUUF9OVExNX25lZ290aWF0
aW9uX2ZsYWdzID0gMHgwNSwweDgyLDB4ODksMHgwYQogICAgICAgIH0KICAgICAgICBlbHNlCiAg
ICAgICAgewogICAgICAgICAgICAkSFRUUF9OVExNX25lZ290aWF0aW9uX2ZsYWdzID0gMHgwNSww
eDgyLDB4ODEsMHgwYQogICAgICAgIH0KCiAgICAgICAgaWYoISRpbnZlaWdoLkhUVFBfc2Vzc2lv
bl90YWJsZS5Db250YWluc0tleSgiJENsaWVudElQQWRkcmVzc2A6JENsaWVudFBvcnQiKSkKICAg
ICAgICB7CiAgICAgICAgICAgICRpbnZlaWdoLkhUVFBfc2Vzc2lvbl90YWJsZS5BZGQoIiRDbGll
bnRJUEFkZHJlc3NgOiRDbGllbnRQb3J0IiwkSFRUUF9jaGFsbGVuZ2UpCiAgICAgICAgfQogICAg
ICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICRpbnZlaWdoLkhUVFBfc2Vzc2lvbl90YWJs
ZVsiJENsaWVudElQQWRkcmVzc2A6JENsaWVudFBvcnQiXSA9ICRIVFRQX2NoYWxsZW5nZQogICAg
ICAgIH0KCiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWypdIFskKEdldC1EYXRl
IC1mb3JtYXQgcyldICRIVFRQX3R5cGUoJEhUVFBQb3J0KSBOVExNIGNoYWxsZW5nZSAkSFRUUF9j
aGFsbGVuZ2Ugc2VudCB0byAkSFRUUF9zb3VyY2VfSVBgOiRIVFRQX3NvdXJjZV9wb3J0IikgPiAk
bnVsbAogICAgICAgICRob3N0bmFtZV9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVu
aWNvZGUuR2V0Qnl0ZXMoJGludmVpZ2guY29tcHV0ZXJfbmFtZSkKICAgICAgICAkbmV0QklPU19k
b21haW5fYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRp
bnZlaWdoLm5ldEJJT1NfZG9tYWluKQogICAgICAgICRETlNfZG9tYWluX2J5dGVzID0gW1N5c3Rl
bS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkaW52ZWlnaC5ETlNfZG9tYWluKQog
ICAgICAgICRETlNfaG9zdG5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmlj
b2RlLkdldEJ5dGVzKCRpbnZlaWdoLkROU19jb21wdXRlcl9uYW1lKQogICAgICAgICRob3N0bmFt
ZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRob3N0bmFtZV9ieXRl
cy5MZW5ndGgpWzAsMV0KICAgICAgICAkbmV0QklPU19kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5C
aXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkbmV0QklPU19kb21haW5fYnl0ZXMuTGVuZ3RoKVswLDFd
CiAgICAgICAgJEROU19kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRC
eXRlcygkRE5TX2RvbWFpbl9ieXRlcy5MZW5ndGgpWzAsMV0KICAgICAgICAkRE5TX2hvc3RuYW1l
X2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJEROU19ob3N0bmFtZV9i
eXRlcy5MZW5ndGgpWzAsMV0KICAgICAgICAkdGFyZ2V0X2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29u
dmVydGVyXTo6R2V0Qnl0ZXMoJGhvc3RuYW1lX2J5dGVzLkxlbmd0aCArICRuZXRCSU9TX2RvbWFp
bl9ieXRlcy5MZW5ndGggKyAkRE5TX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkRE5TX2RvbWFpbl9i
eXRlcy5MZW5ndGggKyAkRE5TX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCArIDM2KVswLDFdCiAgICAg
ICAgJHRhcmdldF9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRuZXRC
SU9TX2RvbWFpbl9ieXRlcy5MZW5ndGggKyA1NikKCiAgICAgICAgJEhUVFBfTlRMTV9ieXRlcyA9
IDB4NGUsMHg1NCwweDRjLDB4NGQsMHg1MywweDUzLDB4NTAsMHgwMCwweDAyLDB4MDAsMHgwMCww
eDAwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuZXRCSU9TX2RvbWFpbl9sZW5ndGgg
KwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5ldEJJT1NfZG9tYWluX2xlbmd0aCArCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDM4LDB4MDAsMHgwMCwweDAwICsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRIVFRQX05UTE1fbmVnb3RpYXRpb25fZmxhZ3MgKwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJEhUVFBfY2hhbGxlbmdlX2J5dGVzICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCAr
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X2xlbmd0aCArCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkdGFyZ2V0X2xlbmd0aCArIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJHRhcmdldF9vZmZzZXQgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNiww
eDAxLDB4YjEsMHgxZCwweDAwLDB4MDAsMHgwMCwweDBmICsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRuZXRCSU9TX2RvbWFpbl9ieXRlcyArCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAweDAyLDB4MDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5ldEJJT1NfZG9tYWlu
X2xlbmd0aCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbmV0QklPU19kb21haW5fYnl0
ZXMgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwweDAwICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRob3N0bmFtZV9sZW5ndGggKwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJGhvc3RuYW1lX2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQs
MHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRE5TX2RvbWFpbl9sZW5ndGggKwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJEROU19kb21haW5fYnl0ZXMgKwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHgwMywweDAwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICRETlNfaG9zdG5hbWVfbGVuZ3RoICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRETlNf
aG9zdG5hbWVfYnl0ZXMgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNSwweDAwICsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRETlNfZG9tYWluX2xlbmd0aCArCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkRE5TX2RvbWFpbl9ieXRlcyArCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAweDA3LDB4MDAsMHgwOCwweDAwICsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRIVFRQX3RpbWVzdGFtcCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4
MDAsMHgwMCwweDAwLDB4MGEsMHgwYQoKICAgICAgICAkTlRMTV9jaGFsbGVuZ2VfYmFzZTY0ID0g
W1N5c3RlbS5Db252ZXJ0XTo6VG9CYXNlNjRTdHJpbmcoJEhUVFBfTlRMTV9ieXRlcykKICAgICAg
ICAkTlRMTSA9ICJOVExNICIgKyAkTlRMTV9jaGFsbGVuZ2VfYmFzZTY0CiAgICAgICAgCiAgICAg
ICAgcmV0dXJuICROVExNCiAgICB9CgogICAgaWYoJEhUVFBTX2xpc3RlbmVyKQogICAgewogICAg
ICAgICRIVFRQX3R5cGUgPSAiSFRUUFMiCiAgICB9CiAgICBlbHNlaWYoJHByb3h5X2xpc3RlbmVy
KQogICAgewogICAgICAgICRIVFRQX3R5cGUgPSAiUHJveHkiCiAgICB9CiAgICBlbHNlCiAgICB7
CiAgICAgICAgJEhUVFBfdHlwZSA9ICJIVFRQIgogICAgfQoKICAgIGlmKCRIVFRQSVAgLW5lICcw
LjAuMC4wJykKICAgIHsKICAgICAgICAkSFRUUElQID0gW1N5c3RlbS5OZXQuSVBBZGRyZXNzXTo6
UGFyc2UoJEhUVFBJUCkKICAgICAgICAkSFRUUF9lbmRwb2ludCA9IE5ldy1PYmplY3QgU3lzdGVt
Lk5ldC5JUEVuZFBvaW50KCRIVFRQSVAsJEhUVFBQb3J0KQogICAgfQogICAgZWxzZQogICAgewog
ICAgICAgICRIVFRQX2VuZHBvaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LklQRW5kUG9pbnQo
W1N5c3RlbS5OZXQuSVBBZGRyZXNzXTo6QW55LCRIVFRQUG9ydCkKICAgIH0KCiAgICAkSFRUUF9y
dW5uaW5nID0gJHRydWUKICAgICRIVFRQX2xpc3RlbmVyID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0
LlNvY2tldHMuVGNwTGlzdGVuZXIgJEhUVFBfZW5kcG9pbnQKICAgCiAgICBpZigkcHJveHlfbGlz
dGVuZXIpCiAgICB7CiAgICAgICAgJEhUVFBfbGluZ2VyID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0
LlNvY2tldHMuTGluZ2VyT3B0aW9uKCR0cnVlLDApCiAgICAgICAgJEhUVFBfbGlzdGVuZXIuU2Vy
dmVyLkxpbmdlclN0YXRlID0gJEhUVFBfbGluZ2VyCiAgICB9CiAgICAKICAgIHRyeQogICAgewog
ICAgICAgICRIVFRQX2xpc3RlbmVyLlN0YXJ0KCkKICAgIH0KICAgIGNhdGNoCiAgICB7CiAgICAg
ICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFskKEdldC1EYXRlIC1mb3JtYXQgcyld
IEVycm9yIHN0YXJ0aW5nICRIVFRQX3R5cGUgbGlzdGVuZXIiKSA+ICRudWxsCiAgICAgICAgJGVy
cm9yX21lc3NhZ2UgPSAkXy5FeGNlcHRpb24uTWVzc2FnZQogICAgICAgICRlcnJvcl9tZXNzYWdl
ID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICRpbnZlaWdoLm91dHB1
dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkZXJyb3JfbWVzc2FnZSAk
KCRfLkludm9jYXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwKICAgICAgICAkSFRUUF9y
dW5uaW5nID0gJGZhbHNlCiAgICB9CgogICAgaWYoJEtlcmJlcm9zIC1lcSAnWScpCiAgICB7Cgog
ICAgICAgIGlmKCRLZXJiZXJvc0hhc2gpCiAgICAgICAgewogICAgICAgICAgICAka2VyYmVyb3Nf
YmFzZV9rZXkgPSAoJntmb3IgKCRpID0gMDskaSAtbHQgJEtlcmJlcm9zSGFzaC5MZW5ndGg7JGkg
Kz0gMil7JEtlcmJlcm9zSGFzaC5TdWJTdHJpbmcoJGksMil9fSkgLWpvaW4gIi0iCiAgICAgICAg
ICAgICRrZXJiZXJvc19iYXNlX2tleSA9ICRrZXJiZXJvc19iYXNlX2tleS5TcGxpdCgiLSIpIHwg
Rm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9CiAg
ICAgICAgfQogICAgICAgIGVsc2VpZigkS2VyYmVyb3NDcmVkZW50aWFsKQogICAgICAgIHsKICAg
ICAgICAgICAgJGtlcmJlcm9zX2Jhc2Vfa2V5ID0gR2V0LUtlcmJlcm9zQUVTMjU2QmFzZUtleSAo
JEtlcmJlcm9zQ3JlZGVudGlhbC5Vc2VyTmFtZSkuVHJpbSgiXCIpICRLZXJiZXJvc0NyZWRlbnRp
YWwuUGFzc3dvcmQKICAgICAgICB9CgogICAgfQogICAgCiAgICA6SFRUUF9saXN0ZW5lcl9sb29w
IHdoaWxlKCRpbnZlaWdoLnJ1bm5pbmcgLWFuZCAkSFRUUF9ydW5uaW5nKQogICAgewogICAgICAg
ICRUQ1BfcmVxdWVzdCA9ICRudWxsCiAgICAgICAgJFRDUF9yZXF1ZXN0X2J5dGVzID0gTmV3LU9i
amVjdCBTeXN0ZW0uQnl0ZVtdIDgxOTIKICAgICAgICAkSFRUUF9zZW5kID0gJHRydWUKICAgICAg
ICAkSFRUUF9oZWFkZXJfY29udGVudF90eXBlID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRG
OC5HZXRCeXRlcygiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwiKQogICAgICAgICRIVFRQX2hlYWRl
cl9jYWNoZV9jb250cm9sID0gJG51bGwKICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aGVudGljYXRl
ID0gJG51bGwKICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aGVudGljYXRlX2RhdGEgPSAkbnVsbAog
ICAgICAgICRIVFRQX21lc3NhZ2UgPSAnJwogICAgICAgICRIVFRQX2hlYWRlcl9hdXRob3JpemF0
aW9uID0gJycKICAgICAgICAkSFRUUF9oZWFkZXJfaG9zdCA9ICRudWxsCiAgICAgICAgJEhUVFBf
aGVhZGVyX3VzZXJfYWdlbnQgPSAkbnVsbAogICAgICAgICRIVFRQX3JlcXVlc3RfcmF3X1VSTCA9
ICRudWxsCiAgICAgICAgJE5UTE0gPSAiTlRMTSIKCiAgICAgICAgaWYoISRIVFRQX2NsaWVudC5D
b25uZWN0ZWQgLWFuZCAkaW52ZWlnaC5ydW5uaW5nKQogICAgICAgIHsKICAgICAgICAgICAgJEhU
VFBfY2xpZW50X2Nsb3NlID0gJGZhbHNlCiAgICAgICAgICAgICRIVFRQX2FzeW5jID0gJEhUVFBf
bGlzdGVuZXIuQmVnaW5BY2NlcHRUY3BDbGllbnQoJG51bGwsJG51bGwpCgogICAgICAgICAgICBk
bwogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgaWYoISRpbnZlaWdoLnJ1bm5pbmcpCiAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWsgSFRUUF9saXN0ZW5lcl9s
b29wCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIFN0
YXJ0LVNsZWVwIC1tIDEwCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW50aWwoJEhUVFBfYXN5
bmMuSXNDb21wbGV0ZWQpCgogICAgICAgICAgICAkSFRUUF9jbGllbnQgPSAkSFRUUF9saXN0ZW5l
ci5FbmRBY2NlcHRUY3BDbGllbnQoJEhUVFBfYXN5bmMpCiAgICAgICAgICAgICRIVFRQX2NsaWVu
dF9oYW5kbGVfb2xkID0gJEhUVFBfY2xpZW50LkNsaWVudC5IYW5kbGUKICAgICAgICAgICAgCiAg
ICAgICAgICAgIGlmKCRIVFRQU19saXN0ZW5lcikKICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgJEhUVFBfY2xlYXJfc3RyZWFtID0gJEhUVFBfY2xpZW50LkdldFN0cmVhbSgpCiAgICAgICAg
ICAgICAgICAkSFRUUF9zdHJlYW0gPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuU2VjdXJpdHkuU3Ns
U3RyZWFtKCRIVFRQX2NsZWFyX3N0cmVhbSwkZmFsc2UpCiAgICAgICAgICAgICAgICAkU1NMX2Nl
cnQgPSAoR2V0LUNoaWxkSXRlbSBDZXJ0OlxMb2NhbE1hY2hpbmVcTXkgfCBXaGVyZS1PYmplY3Qg
eyRfLlN1YmplY3QgLW1hdGNoICRpbnZlaWdoLmNlcnRpZmljYXRlX0NOfSkKICAgICAgICAgICAg
ICAgICRIVFRQX3N0cmVhbS5BdXRoZW50aWNhdGVBc1NlcnZlcigkU1NMX2NlcnQsJGZhbHNlLFtT
eXN0ZW0uU2VjdXJpdHkuQXV0aGVudGljYXRpb24uU3NsUHJvdG9jb2xzXTo6RGVmYXVsdCwkZmFs
c2UpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAkSFRUUF9zdHJlYW0gPSAkSFRUUF9jbGllbnQuR2V0U3RyZWFtKCkKICAgICAgICAg
ICAgfQogICAgICAgICAgICAKICAgICAgICB9CgogICAgICAgIGlmKCRIVFRQU19saXN0ZW5lcikK
ICAgICAgICB7CiAgICAgICAgICAgIFtCeXRlW11dJFNTTF9yZXF1ZXN0X2J5dGVzID0gJG51bGwK
CiAgICAgICAgICAgIHdoaWxlKCRIVFRQX2NsZWFyX3N0cmVhbS5EYXRhQXZhaWxhYmxlKQogICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAkSFRUUF9yZXF1ZXN0X2J5dGVfY291bnQgPSAkSFRU
UF9zdHJlYW0uUmVhZCgkVENQX3JlcXVlc3RfYnl0ZXMsMCwkVENQX3JlcXVlc3RfYnl0ZXMuTGVu
Z3RoKQogICAgICAgICAgICAgICAgJFNTTF9yZXF1ZXN0X2J5dGVzICs9ICRUQ1BfcmVxdWVzdF9i
eXRlc1swLi4oJEhUVFBfcmVxdWVzdF9ieXRlX2NvdW50IC0gMSldCiAgICAgICAgICAgIH0KCiAg
ICAgICAgICAgICRUQ1BfcmVxdWVzdCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmco
JFNTTF9yZXF1ZXN0X2J5dGVzKQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewoKICAg
ICAgICAgICAgd2hpbGUoJEhUVFBfc3RyZWFtLkRhdGFBdmFpbGFibGUpCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICRIVFRQX3N0cmVhbS5SZWFkKCRUQ1BfcmVxdWVzdF9ieXRlcywwLCRU
Q1BfcmVxdWVzdF9ieXRlcy5MZW5ndGgpID4gJG51bGwKICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgJFRDUF9yZXF1ZXN0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkVENQX3Jl
cXVlc3RfYnl0ZXMpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKCRUQ1BfcmVxdWVzdCAt
bGlrZSAiNDctNDUtNTQtMjAqIiAtb3IgJFRDUF9yZXF1ZXN0IC1saWtlICI0OC00NS00MS00NC0y
MCoiIC1vciAkVENQX3JlcXVlc3QgLWxpa2UgIjRmLTUwLTU0LTQ5LTRmLTRlLTUzLTIwKiIgLW9y
ICRUQ1BfcmVxdWVzdCAtbGlrZSAiNDMtNGYtNGUtNGUtNDUtNDMtNTQqIiAtb3IgJFRDUF9yZXF1
ZXN0IC1saWtlICI1MC00Zi01My01NCoiKQogICAgICAgIHsKICAgICAgICAgICAgJEhUVFBfcmF3
X1VSTCA9ICRUQ1BfcmVxdWVzdC5TdWJzdHJpbmcoJFRDUF9yZXF1ZXN0LkluZGV4T2YoIi0yMC0i
KSArIDQsJFRDUF9yZXF1ZXN0LlN1YnN0cmluZygkVENQX3JlcXVlc3QuSW5kZXhPZigiLTIwLSIp
ICsgMSkuSW5kZXhPZigiLTIwLSIpIC0gMykKICAgICAgICAgICAgJEhUVFBfcmF3X1VSTCA9ICRI
VFRQX3Jhd19VUkwuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29u
dmVydF06OlRvSW50MTYoJF8sMTYpfQogICAgICAgICAgICAkSFRUUF9yZXF1ZXN0X3Jhd19VUkwg
PSBOZXctT2JqZWN0IFN5c3RlbS5TdHJpbmcgKCRIVFRQX3Jhd19VUkwsMCwkSFRUUF9yYXdfVVJM
Lkxlbmd0aCkKICAgICAgICAgICAgJEhUVFBfc291cmNlX0lQID0gJEhUVFBfY2xpZW50LkNsaWVu
dC5SZW1vdGVFbmRwb2ludC5BZGRyZXNzLklQQWRkcmVzc1RvU3RyaW5nCiAgICAgICAgICAgICRI
VFRQX3NvdXJjZV9Qb3J0ID0gJEhUVFBfY2xpZW50LkNsaWVudC5SZW1vdGVFbmRwb2ludC5Qb3J0
CiAgICAgICAgICAgICRIVFRQX2Nvbm5lY3Rpb25faGVhZGVyX2Nsb3NlID0gJHRydWUKCiAgICAg
ICAgICAgIGlmKCgkVENQX3JlcXVlc3QpLlN0YXJ0c1dpdGgoIjQ3LTQ1LTU0LTIwIikpCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICRIVFRQX21ldGhvZCA9ICJHRVQiCiAgICAgICAgICAg
IH0KICAgICAgICAgICAgZWxzZWlmKCgkVENQX3JlcXVlc3QpLlN0YXJ0c1dpdGgoIjQ4LTQ1LTQx
LTQ0LTIwIikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRIVFRQX21ldGhvZCA9ICJI
RUFEIgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2VpZigoJFRDUF9yZXF1ZXN0KS5TdGFy
dHNXaXRoKCI0Zi01MC01NC00OS00Ri00RS01My0yMCIpKQogICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAkSFRUUF9tZXRob2QgPSAiT1BUSU9OUyIKICAgICAgICAgICAgfQogICAgICAgICAg
ICBlbHNlaWYoKCRUQ1BfcmVxdWVzdCkuU3RhcnRzV2l0aCgiNDMtNEYtNEUtNEUtNDUtNDMtNTQi
KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEhUVFBfbWV0aG9kID0gIkNPTk5FQ1Qi
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZWlmKCgkVENQX3JlcXVlc3QpLlN0YXJ0c1dp
dGgoIjUwLTRGLTUzLTU0LTIwIikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRIVFRQ
X21ldGhvZCA9ICJQT1NUIgogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBp
ZigkTkJOU0JydXRlRm9yY2VQYXVzZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGlu
dmVpZ2guTkJOU19zdG9wd2F0Y2ggPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0b3B3YXRjaF06OlN0
YXJ0TmV3KCkKICAgICAgICAgICAgICAgICRpbnZlaWdoLmhvc3RuYW1lX3Nwb29mID0gJHRydWUK
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJFRDUF9yZXF1ZXN0IC1saWtlICIqLTQ4LTZG
LTczLTc0LTNBLTIwLSoiKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkSFRUUF9oZWFk
ZXJfaG9zdF9leHRyYWN0ID0gJFRDUF9yZXF1ZXN0LlN1YnN0cmluZygkVENQX3JlcXVlc3QuSW5k
ZXhPZigiLTQ4LTZGLTczLTc0LTNBLTIwLSIpICsgMTkpCiAgICAgICAgICAgICAgICAkSFRUUF9o
ZWFkZXJfaG9zdF9leHRyYWN0ID0gJEhUVFBfaGVhZGVyX2hvc3RfZXh0cmFjdC5TdWJzdHJpbmco
MCwkSFRUUF9oZWFkZXJfaG9zdF9leHRyYWN0LkluZGV4T2YoIi0wRC0wQS0iKSkKICAgICAgICAg
ICAgICAgICRIVFRQX2hlYWRlcl9ob3N0X2V4dHJhY3QgPSAkSFRUUF9oZWFkZXJfaG9zdF9leHRy
YWN0LlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpU
b0ludDE2KCRfLDE2KX0KICAgICAgICAgICAgICAgICRIVFRQX2hlYWRlcl9ob3N0ID0gTmV3LU9i
amVjdCBTeXN0ZW0uU3RyaW5nICgkSFRUUF9oZWFkZXJfaG9zdF9leHRyYWN0LDAsJEhUVFBfaGVh
ZGVyX2hvc3RfZXh0cmFjdC5MZW5ndGgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCRU
Q1BfcmVxdWVzdCAtbGlrZSAiKi01NS03My02NS03Mi0yRC00MS02Ny02NS02RS03NC0zQS0yMC0q
IikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEhUVFBfaGVhZGVyX3VzZXJfYWdlbnRf
ZXh0cmFjdCA9ICRUQ1BfcmVxdWVzdC5TdWJzdHJpbmcoJFRDUF9yZXF1ZXN0LkluZGV4T2YoIi01
NS03My02NS03Mi0yRC00MS02Ny02NS02RS03NC0zQS0yMC0iKSArIDM3KQogICAgICAgICAgICAg
ICAgJEhUVFBfaGVhZGVyX3VzZXJfYWdlbnRfZXh0cmFjdCA9ICRIVFRQX2hlYWRlcl91c2VyX2Fn
ZW50X2V4dHJhY3QuU3Vic3RyaW5nKDAsJEhUVFBfaGVhZGVyX3VzZXJfYWdlbnRfZXh0cmFjdC5J
bmRleE9mKCItMEQtMEEtIikpCiAgICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfdXNlcl9hZ2Vu
dF9leHRyYWN0ID0gJEhUVFBfaGVhZGVyX3VzZXJfYWdlbnRfZXh0cmFjdC5TcGxpdCgiLSIpIHwg
Rm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9CiAg
ICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfdXNlcl9hZ2VudCA9IE5ldy1PYmplY3QgU3lzdGVt
LlN0cmluZyAoJEhUVFBfaGVhZGVyX3VzZXJfYWdlbnRfZXh0cmFjdCwwLCRIVFRQX2hlYWRlcl91
c2VyX2FnZW50X2V4dHJhY3QuTGVuZ3RoKQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZigk
SFRUUF9yZXF1ZXN0X3Jhd19VUkxfb2xkIC1uZSAkSFRUUF9yZXF1ZXN0X3Jhd19VUkwgLW9yICRI
VFRQX2NsaWVudF9oYW5kbGVfb2xkIC1uZSAkSFRUUF9jbGllbnQuQ2xpZW50LkhhbmRsZSkKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytd
IFskKEdldC1EYXRlIC1mb3JtYXQgcyldICRIVFRQX3R5cGUoJEhUVFBQb3J0KSAkSFRUUF9tZXRo
b2QgcmVxdWVzdCBmb3IgJEhUVFBfcmVxdWVzdF9yYXdfVVJMIHJlY2VpdmVkIGZyb20gJEhUVFBf
c291cmNlX0lQYDokSFRUUF9zb3VyY2VfcG9ydCIpID4gJG51bGwKICAgICAgICAgICAgICAgICRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkSFRU
UF90eXBlKCRIVFRQUG9ydCkgaG9zdCBoZWFkZXIgJEhUVFBfaGVhZGVyX2hvc3QgcmVjZWl2ZWQg
ZnJvbSAkSFRUUF9zb3VyY2VfSVBgOiRIVFRQX3NvdXJjZV9wb3J0IikgPiAkbnVsbAoKICAgICAg
ICAgICAgICAgIGlmKCRIVFRQX2hlYWRlcl91c2VyX2FnZW50KQogICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQt
RGF0ZSAtZm9ybWF0IHMpXSAkSFRUUF90eXBlKCRIVFRQUG9ydCkgdXNlciBhZ2VudCByZWNlaXZl
ZCBmcm9tICRIVFRQX3NvdXJjZV9JUGA6JEhUVFBfc291cmNlX3BvcnRgOmBuJEhUVFBfaGVhZGVy
X3VzZXJfYWdlbnQiKSA+ICRudWxsCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg
aWYoJFByb3h5IC1lcSAnWScgLWFuZCAkUHJveHlJZ25vcmUuQ291bnQgLWd0IDAgLWFuZCAoJFBy
b3h5SWdub3JlIHwgV2hlcmUtT2JqZWN0IHskSFRUUF9oZWFkZXJfdXNlcl9hZ2VudCAtbWF0Y2gg
JF99KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRw
dXRfcXVldWUuQWRkKCJbKl0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJEhUVFBfdHlwZSgkSFRU
UFBvcnQpIGlnbm9yaW5nIHdwYWQuZGF0IHJlcXVlc3QgZHVlIHRvIHVzZXIgYWdlbnQgbWF0Y2gg
ZnJvbSAkSFRUUF9zb3VyY2VfSVBgOiRIVFRQX3NvdXJjZV9wb3J0IikgPiAkbnVsbAogICAgICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJFRDUF9yZXF1ZXN0IC1s
aWtlICIqLTQxLTc1LTc0LTY4LTZGLTcyLTY5LTdBLTYxLTc0LTY5LTZGLTZFLTNBLTIwLSoiKQog
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbl9l
eHRyYWN0ID0gJFRDUF9yZXF1ZXN0LlN1YnN0cmluZygkVENQX3JlcXVlc3QuSW5kZXhPZigiLTQx
LTc1LTc0LTY4LTZGLTcyLTY5LTdBLTYxLTc0LTY5LTZGLTZFLTNBLTIwLSIpICsgNDYpCiAgICAg
ICAgICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbl9leHRyYWN0ID0gJEhUVFBfaGVh
ZGVyX2F1dGhvcml6YXRpb25fZXh0cmFjdC5TdWJzdHJpbmcoMCwkSFRUUF9oZWFkZXJfYXV0aG9y
aXphdGlvbl9leHRyYWN0LkluZGV4T2YoIi0wRC0wQS0iKSkKICAgICAgICAgICAgICAgICRIVFRQ
X2hlYWRlcl9hdXRob3JpemF0aW9uX2V4dHJhY3QgPSAkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlv
bl9leHRyYWN0LlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZl
cnRdOjpUb0ludDE2KCRfLDE2KX0KICAgICAgICAgICAgICAgICRIVFRQX2hlYWRlcl9hdXRob3Jp
emF0aW9uID0gTmV3LU9iamVjdCBTeXN0ZW0uU3RyaW5nICgkSFRUUF9oZWFkZXJfYXV0aG9yaXph
dGlvbl9leHRyYWN0LDAsJEhUVFBfaGVhZGVyX2F1dGhvcml6YXRpb25fZXh0cmFjdC5MZW5ndGgp
CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCgkSFRUUF9yZXF1ZXN0X3Jhd19VUkwgLW5v
dG1hdGNoICcvd3BhZC5kYXQnIC1hbmQgJEhUVFBBdXRoIC1lcSAnQW5vbnltb3VzJykgLW9yICgk
SFRUUF9yZXF1ZXN0X3Jhd19VUkwgLW1hdGNoICcvd3BhZC5kYXQnIC1hbmQgJFdQQURBdXRoIC1l
cSAnQW5vbnltb3VzJykgLW9yICgKICAgICAgICAgICAgJEhUVFBfcmVxdWVzdF9yYXdfVVJMIC1t
YXRjaCAnL3dwYWQuZGF0JyAtYW5kICRXUEFEQXV0aCAtbGlrZSAnTlRMTSonIC1hbmQgJFdQQURB
dXRoSWdub3JlLkNvdW50IC1ndCAwIC1hbmQgKCRXUEFEQXV0aElnbm9yZSB8IFdoZXJlLU9iamVj
dCB7JEhUVFBfaGVhZGVyX3VzZXJfYWdlbnQgLW1hdGNoICRffSkpKQogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAkSFRUUF9yZXNwb25zZV9zdGF0dXNfY29kZSA9IDB4MzIsMHgzMCwweDMw
CiAgICAgICAgICAgICAgICAkSFRUUF9yZXNwb25zZV9waHJhc2UgPSAweDRmLDB4NGIKICAgICAg
ICAgICAgICAgICRIVFRQX2NsaWVudF9jbG9zZSA9ICR0cnVlCiAgICAgICAgICAgIH0KICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgaWYoKCRIVFRQX3JlcXVl
c3RfcmF3X3VybCAtbWF0Y2ggJy93cGFkLmRhdCcgLWFuZCAkV1BBREF1dGggLWVxICdOVExNJykg
LW9yICgkSFRUUF9yZXF1ZXN0X3Jhd191cmwgLW5vdG1hdGNoICcvd3BhZC5kYXQnIC1hbmQgJEhU
VFBBdXRoIC1lcSAnTlRMTScpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICRIVFRQTlRMTUVTUyA9ICR0cnVlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJEhUVFBOVExNRVNTID0g
JGZhbHNlCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYoJHByb3h5X2xpc3Rl
bmVyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRIVFRQX3Jlc3BvbnNl
X3N0YXR1c19jb2RlID0gMHgzNCwweDMwLDB4MzcKICAgICAgICAgICAgICAgICAgICAkSFRUUF9o
ZWFkZXJfYXV0aGVudGljYXRlID0gMHg1MCwweDcyLDB4NmYsMHg3OCwweDc5LDB4MmQsMHg0MSww
eDc1LDB4NzQsMHg2OCwweDY1LDB4NmUsMHg3NCwweDY5LDB4NjMsMHg2MSwweDc0LDB4NjUsMHgz
YSwweDIwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgJEhUVFBfcmVzcG9uc2Vfc3RhdHVzX2NvZGUgPSAw
eDM0LDB4MzAsMHgzMQogICAgICAgICAgICAgICAgICAgICRIVFRQX2hlYWRlcl9hdXRoZW50aWNh
dGUgPSAweDU3LDB4NTcsMHg1NywweDJkLDB4NDEsMHg3NSwweDc0LDB4NjgsMHg2NSwweDZlLDB4
NzQsMHg2OSwweDYzLDB4NjEsMHg3NCwweDY1LDB4M2EsMHgyMAogICAgICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgICAgICRIVFRQX3Jlc3BvbnNlX3BocmFzZSA9IDB4NTUsMHg2ZSwweDYxLDB4
NzUsMHg3NCwweDY4LDB4NmYsMHg3MiwweDY5LDB4N2EsMHg2NSwweDY0CiAgICAgICAgICAgIH0K
ICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCRUQ1BfcmVxdWVzdCAtbGlrZSAiNTAtNGYtNTMt
NTQqIikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEhUVFBfUE9TVF9yZXF1ZXN0X2V4
dHJhY3QgPSAkVENQX3JlcXVlc3QuU3Vic3RyaW5nKCRUQ1BfcmVxdWVzdC5JbmRleE9mKCItMEQt
MEEtMEQtMEEtIikgKyAxMikKICAgICAgICAgICAgICAgICRIVFRQX1BPU1RfcmVxdWVzdF9leHRy
YWN0ID0gJEhUVFBfUE9TVF9yZXF1ZXN0X2V4dHJhY3QuU3Vic3RyaW5nKDAsJEhUVFBfUE9TVF9y
ZXF1ZXN0X2V4dHJhY3QuSW5kZXhPZigiLTAwLSIpKQogICAgICAgICAgICAgICAgJEhUVFBfUE9T
VF9yZXF1ZXN0X2V4dHJhY3QgPSAkSFRUUF9QT1NUX3JlcXVlc3RfZXh0cmFjdC5TcGxpdCgiLSIp
IHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9
CiAgICAgICAgICAgICAgICAkSFRUUF9QT1NUX3JlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5T
dHJpbmcgKCRIVFRQX1BPU1RfcmVxdWVzdF9leHRyYWN0LDAsJEhUVFBfUE9TVF9yZXF1ZXN0X2V4
dHJhY3QuTGVuZ3RoKQoKICAgICAgICAgICAgICAgIGlmKCRIVFRQX1BPU1RfcmVxdWVzdF9vbGQg
LW5lICRIVFRQX1BPU1RfcmVxdWVzdCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gJEhUVFBfdHlwZSgkSFRUUFBvcnQpIFBPU1QgcmVxdWVzdCAkSFRUUF9QT1NUX3JlcXVlc3Qg
Y2FwdHVyZWQgZnJvbSAkSFRUUF9zb3VyY2VfSVBgOiRIVFRQX3NvdXJjZV9wb3J0IikgPiAkbnVs
bAogICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9maWxlX3F1ZXVlLkFk
ZCgkSFRUUF9QT1NUX3JlcXVlc3QpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAkaW52ZWln
aC5QT1NUX3JlcXVlc3RfbGlzdC5BZGQoJEhUVFBfUE9TVF9yZXF1ZXN0KSA+ICRudWxsCiAgICAg
ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJEhUVFBfUE9TVF9yZXF1ZXN0X29sZCA9ICRI
VFRQX1BPU1RfcmVxdWVzdAogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBp
ZigkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbi5TdGFydHNXaXRoKCdOVExNICcpKQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbiA9ICRIVFRQ
X2hlYWRlcl9hdXRob3JpemF0aW9uIC1yZXBsYWNlICdOVExNICcsJycKICAgICAgICAgICAgICAg
IFtCeXRlW11dJEhUVFBfcmVxdWVzdF9ieXRlcyA9IFtTeXN0ZW0uQ29udmVydF06OkZyb21CYXNl
NjRTdHJpbmcoJEhUVFBfaGVhZGVyX2F1dGhvcml6YXRpb24pCiAgICAgICAgICAgICAgICAkSFRU
UF9jb25uZWN0aW9uX2hlYWRlcl9jbG9zZSA9ICRmYWxzZQoKICAgICAgICAgICAgICAgIGlmKFtT
eXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJEhUVFBfcmVxdWVzdF9ieXRlc1s4Li4xMV0p
IC1lcSAnMDEtMDAtMDAtMDAnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICROVExNID0gR2V0LU5UTE1DaGFsbGVuZ2VCYXNlNjQgJENoYWxsZW5nZSAkSFRUUE5UTE1FU1Mg
JEhUVFBfc291cmNlX0lQICRIVFRQX2NsaWVudC5DbGllbnQuUmVtb3RlRW5kcG9pbnQuUG9ydAog
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVy
dGVyXTo6VG9TdHJpbmcoJEhUVFBfcmVxdWVzdF9ieXRlc1s4Li4xMV0pIC1lcSAnMDMtMDAtMDAt
MDAnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEdldC1OVExNUmVzcG9u
c2UgJEhUVFBfcmVxdWVzdF9ieXRlcyAiWSIgJEhUVFBfc291cmNlX0lQICRIVFRQX3NvdXJjZV9w
b3J0ICRIVFRQUG9ydCAkSFRUUF90eXBlCiAgICAgICAgICAgICAgICAgICAgJEhUVFBfcmVzcG9u
c2Vfc3RhdHVzX2NvZGUgPSAweDMyLDB4MzAsMHgzMAogICAgICAgICAgICAgICAgICAgICRIVFRQ
X3Jlc3BvbnNlX3BocmFzZSA9IDB4NGYsMHg0YgogICAgICAgICAgICAgICAgICAgICRIVFRQX2Ns
aWVudF9jbG9zZSA9ICR0cnVlCiAgICAgICAgICAgICAgICAgICAgJE5UTE1fY2hhbGxlbmdlID0g
JG51bGwKCiAgICAgICAgICAgICAgICAgICAgaWYoJHByb3h5X2xpc3RlbmVyKQogICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKCRIVFRQUmVzcG9uc2UgLW9yICRIVFRQRGlyZWN0b3J5KQogICAgICAgICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfY2FjaGVf
Y29udHJvbCA9IDB4NDMsMHg2MSwweDYzLDB4NjgsMHg2NSwweDJkLDB4NDMsMHg2ZiwweDZlLDB4
NzQsMHg3MiwweDZmLDB4NmMsMHgzYSwweDIwLDB4NmUsMHg2ZiwweDJkLDB4NjMsMHg2MSwweDYz
LDB4NjgsMHg2NSwweDJjLDB4MjAsMHg2ZSwweDZmLDB4MmQsMHg3MywweDc0LDB4NmYsMHg3Miww
eDY1CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
SFRUUF9zZW5kID0gJGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkSFRUUF9jbGllbnRfY2xvc2UgPSAkdHJ1
ZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlaWYoJEhU
VFBfaGVhZGVyX2F1dGhvcml6YXRpb24uU3RhcnRzV2l0aCgnTmVnb3RpYXRlICcpKQogICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAkSFRUUF9yZXNwb25zZV9zdGF0dXNfY29kZSA9IDB4MzIs
MHgzMCwweDMwCiAgICAgICAgICAgICAgICAkSFRUUF9yZXNwb25zZV9waHJhc2UgPSAweDRmLDB4
NGIKICAgICAgICAgICAgICAgICRIVFRQX2NsaWVudF9jbG9zZSA9ICR0cnVlCiAgICAgICAgICAg
ICAgICAkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbiA9ICRIVFRQX2hlYWRlcl9hdXRob3JpemF0
aW9uIC1yZXBsYWNlICdOZWdvdGlhdGUgJywnJwogICAgICAgICAgICAgICAgW0J5dGVbXV0kSFRU
UF9yZXF1ZXN0X2J5dGVzID0gW1N5c3RlbS5Db252ZXJ0XTo6RnJvbUJhc2U2NFN0cmluZygkSFRU
UF9oZWFkZXJfYXV0aG9yaXphdGlvbikKICAgICAgICAgICAgICAgICRIVFRQX3JlcXVlc3RfY29u
dmVydGVkID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkSFRUUF9yZXF1ZXN0X2J5
dGVzKQogICAgICAgICAgICAgICAgJEhUVFBfcmVxdWVzdF9jb252ZXJ0ZWQgPSAkSFRUUF9yZXF1
ZXN0X2NvbnZlcnRlZCAtcmVwbGFjZSAiLSIsIiIKICAgICAgICAgICAgICAgICRIVFRQX2luZGV4
ID0gJEhUVFBfcmVxdWVzdF9jb252ZXJ0ZWQuSW5kZXhPZigiMkE4NjQ4ODZGNzEyMDEwMjAyMDEw
MCIpCgogICAgICAgICAgICAgICAgaWYoJEhUVFBfaW5kZXggLWd0IDApCiAgICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFsk
KEdldC1EYXRlIC1mb3JtYXQgcyldICRIVFRQX3R5cGUoJEhUVFBQb3J0KSBhdXRoZW50aWNhdGlv
biBtZXRob2QgaXMgS2VyYmVyb3MgZm9yICRIVFRQX3NvdXJjZV9JUGA6JEhUVFBfc291cmNlX3Bv
cnQiKSA+ICRudWxsCgogICAgICAgICAgICAgICAgICAgIGlmKCRLZXJiZXJvcyAtZXEgJ1knKQog
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJEhUVFBfY29ubmVj
dGlvbl9oZWFkZXJfY2xvc2UgPSAkZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgTmV3LUtl
cmJlcm9zS2lyYmkgJEhUVFBfcmVxdWVzdF9ieXRlcyAka2VyYmVyb3NfYmFzZV9rZXkgJEhUVFBf
dHlwZSAkSFRUUFBvcnQgIiRIVFRQX3NvdXJjZV9JUGA6JEhUVFBfc291cmNlX3BvcnQiCiAgICAg
ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICB9CiAgICAgICAgICAgIGVsc2VpZigkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbi5T
dGFydHN3aXRoKCdCYXNpYyAnKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEhUVFBf
cmVzcG9uc2Vfc3RhdHVzX2NvZGUgPSAweDMyLDB4MzAsMHgzMAogICAgICAgICAgICAgICAgJEhU
VFBfcmVzcG9uc2VfcGhyYXNlID0gMHg0ZiwweDRiCiAgICAgICAgICAgICAgICAkSFRUUF9oZWFk
ZXJfYXV0aG9yaXphdGlvbiA9ICRIVFRQX2hlYWRlcl9hdXRob3JpemF0aW9uIC1yZXBsYWNlICdC
YXNpYyAnLCcnCiAgICAgICAgICAgICAgICAkY2xlYXJ0ZXh0X2NyZWRlbnRpYWxzID0gW1N5c3Rl
bS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRTdHJpbmcoW1N5c3RlbS5Db252ZXJ0XTo6RnJvbUJh
c2U2NFN0cmluZygkSFRUUF9oZWFkZXJfYXV0aG9yaXphdGlvbikpCiAgICAgICAgICAgICAgICAk
SFRUUF9jbGllbnRfY2xvc2UgPSAkdHJ1ZQogICAgICAgICAgICAgICAgJGludmVpZ2guY2xlYXJ0
ZXh0X2ZpbGVfcXVldWUuQWRkKCRjbGVhcnRleHRfY3JlZGVudGlhbHMpID4gJG51bGwKICAgICAg
ICAgICAgICAgICRpbnZlaWdoLmNsZWFydGV4dF9saXN0LkFkZCgkY2xlYXJ0ZXh0X2NyZWRlbnRp
YWxzKSA+ICRudWxsCiAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJb
K10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJEhUVFBfdHlwZSgkSFRUUFBvcnQpIEJhc2ljIGF1
dGhlbnRpY2F0aW9uIGNsZWFydGV4dCBjcmVkZW50aWFscyBjYXB0dXJlZCBmcm9tICRIVFRQX3Nv
dXJjZV9JUGA6JEhUVFBfc291cmNlX3BvcnRgOiIpID4gJG51bGwKICAgICAgICAgICAgICAgICRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoJGNsZWFydGV4dF9jcmVkZW50aWFscykgPiAkbnVsbAoK
ICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLmZpbGVfb3V0cHV0KQogICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChH
ZXQtRGF0ZSAtZm9ybWF0IHMpXSAkSFRUUF90eXBlKCRIVFRQUG9ydCkgQmFzaWMgYXV0aGVudGlj
YXRpb24gY2xlYXJ0ZXh0IGNyZWRlbnRpYWxzIHdyaXR0ZW4gdG8gIiArICJJbnZlaWdoLUNsZWFy
dGV4dC50eHQiKSA+ICRudWxsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCgkSFRUUF9yZXF1ZXN0X3Jhd191cmwgLW5vdG1h
dGNoICcvd3BhZC5kYXQnIC1hbmQgJEhUVFBBdXRoIC1lcSAnQW5vbnltb3VzJykgLW9yICgkSFRU
UF9yZXF1ZXN0X3Jhd19VUkwgLW1hdGNoICcvd3BhZC5kYXQnIC1hbmQgJFdQQURBdXRoIC1lcSAn
QW5vbnltb3VzJykgLW9yICgKICAgICAgICAgICAgJFdQQURBdXRoSWdub3JlLkNvdW50IC1ndCAw
IC1hbmQgJFdQQURBdXRoIC1saWtlICdOVExNKicgLWFuZCAoJFdQQURBdXRoSWdub3JlIHwgV2hl
cmUtT2JqZWN0IHskSFRUUF9oZWFkZXJfdXNlcl9hZ2VudCAtbWF0Y2ggJF99KSkgLW9yICRIVFRQ
X2NsaWVudF9jbG9zZSkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgIGlmKCRIVFRQRGly
ZWN0b3J5IC1hbmQgJEhUVFBEZWZhdWx0RVhFIC1hbmQgJEhUVFBfcmVxdWVzdF9yYXdfdXJsIC1s
aWtlICcqLmV4ZScgLWFuZCAoVGVzdC1QYXRoIChKb2luLVBhdGggJEhUVFBEaXJlY3RvcnkgJEhU
VFBEZWZhdWx0RVhFKSkgLWFuZCAhKFRlc3QtUGF0aCAoSm9pbi1QYXRoICRIVFRQRGlyZWN0b3J5
ICRIVFRQX3JlcXVlc3RfcmF3X3VybCkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgIFtCeXRlW11dJEhUVFBfbWVzc2FnZV9ieXRlcyA9IFtTeXN0ZW0uSU8uRmlsZV06OlJl
YWRBbGxCeXRlcygoSm9pbi1QYXRoICRIVFRQRGlyZWN0b3J5ICRIVFRQRGVmYXVsdEVYRSkpCiAg
ICAgICAgICAgICAgICAgICAgJEhUVFBfaGVhZGVyX2NvbnRlbnRfdHlwZSA9IFtTeXN0ZW0uVGV4
dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZXhl
IikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2VpZigkSFRUUERpcmVjdG9y
eSkKICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgaWYoJEhUVFBEZWZhdWx0
RmlsZSAtYW5kICEoVGVzdC1QYXRoIChKb2luLVBhdGggJEhUVFBEaXJlY3RvcnkgJEhUVFBfcmVx
dWVzdF9yYXdfdXJsKSkgLWFuZCAoVGVzdC1QYXRoIChKb2luLVBhdGggJEhUVFBEaXJlY3Rvcnkg
JEhUVFBEZWZhdWx0RmlsZSkpIC1hbmQgJEhUVFBfcmVxdWVzdF9yYXdfdXJsIC1ub3RtYXRjaCAn
L3dwYWQuZGF0JykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg
IFtCeXRlW11dJEhUVFBfbWVzc2FnZV9ieXRlcyA9IFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxC
eXRlcygoSm9pbi1QYXRoICRIVFRQRGlyZWN0b3J5ICRIVFRQRGVmYXVsdEZpbGUpKQogICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlaWYoKCRIVFRQRGVmYXVsdEZp
bGUgLWFuZCAkSFRUUF9yZXF1ZXN0X3Jhd191cmwgLWVxICcnIC1vciAkSFRUUERlZmF1bHRGaWxl
IC1hbmQgJEhUVFBfcmVxdWVzdF9yYXdfdXJsIC1lcSAnLycpIC1hbmQgKFRlc3QtUGF0aCAoSm9p
bi1QYXRoICRIVFRQRGlyZWN0b3J5ICRIVFRQRGVmYXVsdEZpbGUpKSkKICAgICAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJEhUVFBfbWVzc2FnZV9ieXRl
cyA9IFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxCeXRlcygoSm9pbi1QYXRoICRIVFRQRGlyZWN0
b3J5ICRIVFRQRGVmYXVsdEZpbGUpKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICBlbHNlaWYoJFdQQURSZXNwb25zZSAtYW5kICRIVFRQX3JlcXVlc3RfcmF3X3VybCAt
bWF0Y2ggJy93cGFkLmRhdCcpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
ICAgICAgICBbQnl0ZVtdXSRIVFRQX21lc3NhZ2VfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2Rp
bmddOjpVVEY4LkdldEJ5dGVzKCRXUEFEUmVzcG9uc2UpCiAgICAgICAgICAgICAgICAgICAgICAg
ICRIVFRQX2hlYWRlcl9jb250ZW50X3R5cGUgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4
LkdldEJ5dGVzKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtbnMtcHJveHktYXV0b2NvbmZp
ZyIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZihUZXN0LVBhdGggKEpv
aW4tUGF0aCAkSFRUUERpcmVjdG9yeSAkSFRUUF9yZXF1ZXN0X3Jhd191cmwpKQogICAgICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRIVFRQ
X21lc3NhZ2VfYnl0ZXMgPSBbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsQnl0ZXMoKEpvaW4tUGF0
aCAkSFRUUERpcmVjdG9yeSAkSFRUUF9yZXF1ZXN0X3Jhd191cmwpKQogICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kSFRUUF9tZXNzYWdl
X2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkSFRUUFJlc3Bv
bnNlKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBpZigkV1BBRFJl
c3BvbnNlIC1hbmQgJEhUVFBfcmVxdWVzdF9yYXdfdXJsIC1tYXRjaCAnL3dwYWQuZGF0JyAtYW5k
ICghJFByb3h5SWdub3JlIC1vciAhKCRQcm94eUlnbm9yZSB8IFdoZXJlLU9iamVjdCB7JEhUVFBf
aGVhZGVyX3VzZXJfYWdlbnQgLW1hdGNoICRffSkpKQogICAgICAgICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgJEhUVFBfbWVzc2FnZSA9ICRXUEFEUmVzcG9uc2UKICAgICAg
ICAgICAgICAgICAgICAgICAgJEhUVFBfaGVhZGVyX2NvbnRlbnRfdHlwZSA9IFtTeXN0ZW0uVGV4
dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC1u
cy1wcm94eS1hdXRvY29uZmlnIikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgZWxzZWlmKCRIVFRQUmVzcG9uc2UpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICAgICAgICAkSFRUUF9tZXNzYWdlID0gJEhUVFBSZXNwb25zZQogICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJEhUVFBDb250ZW50VHlw
ZSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JEhUVFBfaGVhZGVyX2NvbnRlbnRfdHlwZSA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjgu
R2V0Qnl0ZXMoIkNvbnRlbnQtVHlwZTogJEhUVFBDb250ZW50VHlwZSIpCiAgICAgICAgICAgICAg
ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBb
Qnl0ZVtdXSRIVFRQX21lc3NhZ2VfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4
LkdldEJ5dGVzKCRIVFRQX21lc3NhZ2UpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9
CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgW0J5dGVbXV0k
SFRUUF9tZXNzYWdlX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRl
cygkSFRUUF9tZXNzYWdlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAkSFRUUF90aW1lc3Rh
bXAgPSBHZXQtRGF0ZSAtZm9ybWF0IHIKICAgICAgICAgICAgJEhUVFBfdGltZXN0YW1wID0gW1N5
c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkSFRUUF90aW1lc3RhbXApCgogICAg
ICAgICAgICBpZigoJEhUVFBBdXRoIC1saWtlICdOVExNKicgLWFuZCAkSFRUUF9yZXF1ZXN0X3Jh
d19VUkwgLW5vdG1hdGNoICcvd3BhZC5kYXQnKSAtb3IgKCRXUEFEQXV0aCAtbGlrZSAnTlRMTSon
IC1hbmQgJEhUVFBfcmVxdWVzdF9yYXdfVVJMIC1tYXRjaCAnL3dwYWQuZGF0JykgLWFuZCAhJEhU
VFBfY2xpZW50X2Nsb3NlKQogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgaWYoJEtlcmJl
cm9zIC1lcSAnWScgLWFuZCAoJEtlcmJlcm9zSG9zdEhlYWRlci5Db3VudCAtZ3QgMCAtYW5kICRL
ZXJiZXJvc0hvc3RIZWFkZXIgLWNvbnRhaW5zICRIVFRQX2hlYWRlcl9ob3N0KSkKICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkSFRUUF9oZWFkZXJfYXV0aGVudGljYXRlX2Rh
dGEgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCJOZWdvdGlhdGUiKQog
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICRIVFRQX2hlYWRlcl9hdXRoZW50aWNhdGVfZGF0YSA9IFtTeXN0
ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJE5UTE0pCiAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlaWYoKCRIVFRQ
QXV0aCAtZXEgJ0Jhc2ljJyAtYW5kICRIVFRQX3JlcXVlc3RfcmF3X1VSTCAtbm90bWF0Y2ggJy93
cGFkLmRhdCcpIC1vciAoJFdQQURBdXRoIC1lcSAnQmFzaWMnIC1hbmQgJEhUVFBfcmVxdWVzdF9y
YXdfVVJMIC1tYXRjaCAnL3dwYWQuZGF0JykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICRIVFRQX2hlYWRlcl9hdXRoZW50aWNhdGVfZGF0YSA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106
OlVURjguR2V0Qnl0ZXMoIkJhc2ljIHJlYWxtPSRIVFRQQmFzaWNSZWFsbSIpCiAgICAgICAgICAg
IH0KICAgICAgICAgICAgCiAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlID0gTmV3LU9i
amVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkKICAg
ICAgICAgICAgJHBhY2tldF9IVFRQUmVzcG9uc2UuQWRkKCJIVFRQUmVzcG9uc2VfUmVzcG9uc2VW
ZXJzaW9uIixbQnl0ZVtdXSgweDQ4LDB4NTQsMHg1NCwweDUwLDB4MmYsMHgzMSwweDJlLDB4MzEs
MHgyMCkpCiAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFkZCgiSFRUUFJlc3BvbnNl
X1N0YXR1c0NvZGUiLCRIVFRQX3Jlc3BvbnNlX3N0YXR1c19jb2RlICsgW0J5dGVbXV0oMHgyMCkp
CiAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFkZCgiSFRUUFJlc3BvbnNlX1Jlc3Bv
bnNlUGhyYXNlIiwkSFRUUF9yZXNwb25zZV9waHJhc2UgKyBbQnl0ZVtdXSgweDBkLDB4MGEpKQoK
ICAgICAgICAgICAgaWYoJEhUVFBfY29ubmVjdGlvbl9oZWFkZXJfY2xvc2UpCiAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICRIVFRQX2Nvbm5lY3Rpb25faGVhZGVyID0gW1N5c3RlbS5UZXh0
LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygiQ29ubmVjdGlvbjogY2xvc2UiKQogICAgICAgICAg
ICAgICAgJHBhY2tldF9IVFRQUmVzcG9uc2UuQWRkKCJIVFRQUmVzcG9uc2VfQ29ubmVjdGlvbiIs
JEhUVFBfY29ubmVjdGlvbl9oZWFkZXIgKyBbQnl0ZVtdXSgweDBkLDB4MGEpKQogICAgICAgICAg
ICB9CgogICAgICAgICAgICAkcGFja2V0X0hUVFBSZXNwb25zZS5BZGQoIkhUVFBSZXNwb25zZV9T
ZXJ2ZXIiLFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoIlNlcnZlcjogTWlj
cm9zb2Z0LUhUVFBBUEkvMi4wIikgKyBbQnl0ZVtdXSgweDBkLDB4MGEpKQogICAgICAgICAgICAk
cGFja2V0X0hUVFBSZXNwb25zZS5BZGQoIkhUVFBSZXNwb25zZV9UaW1lU3RhbXAiLFtCeXRlW11d
KDB4NDQsMHg2MSwweDc0LDB4NjUsMHgzYSwweDIwKSArICRIVFRQX3RpbWVzdGFtcCArIFtCeXRl
W11dKDB4MGQsMHgwYSkpCiAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFkZCgiSFRU
UFJlc3BvbnNlX0NvbnRlbnRMZW5ndGgiLFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0
Qnl0ZXMoIkNvbnRlbnQtTGVuZ3RoOiAkKCRIVFRQX21lc3NhZ2VfYnl0ZXMuTGVuZ3RoKSIpICsg
W0J5dGVbXV0oMHgwZCwweDBhKSkKCiAgICAgICAgICAgIGlmKCRIVFRQX2hlYWRlcl9hdXRoZW50
aWNhdGUgLWFuZCAkSFRUUF9oZWFkZXJfYXV0aGVudGljYXRlX2RhdGEpCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFkZCgiSFRUUFJlc3BvbnNlX0F1
dGhlbnRpY2F0ZUhlYWRlciIsJEhUVFBfaGVhZGVyX2F1dGhlbnRpY2F0ZSArICRIVFRQX2hlYWRl
cl9hdXRoZW50aWNhdGVfZGF0YSArIFtCeXRlW11dKDB4MGQsMHgwYSkpCiAgICAgICAgICAgIH0K
CiAgICAgICAgICAgIGlmKCRIVFRQX2hlYWRlcl9jb250ZW50X3R5cGUpCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFkZCgiSFRUUFJlc3BvbnNlX0Nv
bnRlbnRUeXBlIiwkSFRUUF9oZWFkZXJfY29udGVudF90eXBlICsgW0J5dGVbXV0oMHgwZCwweDBh
KSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJEhUVFBfaGVhZGVyX2NhY2hlX2NvbnRy
b2wpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRwYWNrZXRfSFRUUFJlc3BvbnNlLkFk
ZCgiSFRUUFJlc3BvbnNlX0NhY2hlQ29udHJvbCIsJEhUVFBfaGVhZGVyX2NhY2hlX2NvbnRyb2wg
KyBbQnl0ZVtdXSgweDBkLDB4MGEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZigkSFRU
UF9zZW5kKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcGFja2V0X0hUVFBSZXNwb25z
ZS5BZGQoIkhUVFBSZXNwb25zZV9NZXNzYWdlIixbQnl0ZVtdXSgweDBkLDB4MGEpICsgJEhUVFBf
bWVzc2FnZV9ieXRlcykKICAgICAgICAgICAgICAgICRIVFRQX3Jlc3BvbnNlID0gQ29udmVydEZy
b20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9IVFRQUmVzcG9uc2UKICAgICAgICAg
ICAgICAgICRIVFRQX3N0cmVhbS5Xcml0ZSgkSFRUUF9yZXNwb25zZSwwLCRIVFRQX3Jlc3BvbnNl
Lkxlbmd0aCkKICAgICAgICAgICAgICAgICRIVFRQX3N0cmVhbS5GbHVzaCgpCiAgICAgICAgICAg
IH0KCiAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tIDEwCiAgICAgICAgICAgICRIVFRQX3JlcXVl
c3RfcmF3X1VSTF9vbGQgPSAkSFRUUF9yZXF1ZXN0X3Jhd19VUkwKCiAgICAgICAgICAgIGlmKCRI
VFRQX2NsaWVudF9jbG9zZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICBpZigkcHJveHlfbGlzdGVuZXIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgICAgJEhUVFBfY2xpZW50LkNsaWVudC5DbG9zZSgpCiAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
JEhUVFBfY2xpZW50LkNsb3NlKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAg
ICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CgogICAgICAgICAgICBpZigkSFRUUF9jbGll
bnRfaGFuZGxlX29sZCAtZXEgJEhUVFBfY2xpZW50LkNsaWVudC5IYW5kbGUpCiAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICRIVFRQX3Jlc2V0KysKICAgICAgICAgICAgfQogICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRIVFRQX3Jlc2V0ID0gMAogICAg
ICAgICAgICB9CgogICAgICAgICAgICBpZigkSFRUUF9jb25uZWN0aW9uX2hlYWRlcl9jbG9zZSAt
b3IgJEhUVFBfcmVzZXQgLWd0IDIwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICRIVFRQX2NsaWVudC5DbG9zZSgpCiAgICAgICAgICAgICAgICAkSFRUUF9y
ZXNldCA9IDAKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tIDEwMAogICAgICAgICAgICB9CiAgICAgICAgICAg
IAogICAgICAgIH0KICAgIAogICAgfQoKICAgICRIVFRQX2NsaWVudC5DbG9zZSgpCiAgICAkSFRU
UF9saXN0ZW5lci5TdG9wKCkKfQoKIyBTbmlmZmVyL1Nwb29mZXIgU2NyaXB0QmxvY2sgLSBMTE1O
Ui9OQk5TIFNwb29mZXIgYW5kIFNNQiBzbmlmZmVyCiRzbmlmZmVyX3NjcmlwdGJsb2NrID0gCnsK
ICAgIHBhcmFtICgkRE5TLCRETlNUVEwsJEV2YWRlUkcsJEluc3BlY3QsJElQLCRLZXJiZXJvcywk
S2VyYmVyb3NDb3VudCwkS2VyYmVyb3NDcmVkZW50aWFsLCRLZXJiZXJvc0hhc2gsJExMTU5SLAog
ICAgICAgICAgICAkTExNTlJUVEwsJG1ETlMsJG1ETlNUeXBlcywkbUROU1RUTCwkTkJOUywkTkJO
U1RUTCwkTkJOU1R5cGVzLCRvdXRwdXRfZGlyZWN0b3J5LCRQY2FwLAogICAgICAgICAgICAkUGNh
cFRDUCwkUGNhcFVEUCwkU01CLCRTcG9vZmVySG9zdHNJZ25vcmUsJFNwb29mZXJIb3N0c1JlcGx5
LCRTcG9vZmVySVAsCiAgICAgICAgICAgICRTcG9vZmVySVBzSWdub3JlLCRTcG9vZmVySVBzUmVw
bHksJFNwb29mZXJMZWFybmluZywkU3Bvb2ZlckxlYXJuaW5nRGVsYXksJFNwb29mZXJMZWFybmlu
Z0ludGVydmFsLAogICAgICAgICAgICAkU3Bvb2Zlck5vbnByaW50YWJsZSwkU3Bvb2ZlclRocmVz
aG9sZEhvc3QsJFNwb29mZXJUaHJlc2hvbGROZXR3b3JrKQoKICAgICRzbmlmZmVyX3J1bm5pbmcg
PSAkdHJ1ZQogICAgJGJ5dGVfaW4gPSBOZXctT2JqZWN0IFN5c3RlbS5CeXRlW10gNAkKICAgICRi
eXRlX291dCA9IE5ldy1PYmplY3QgU3lzdGVtLkJ5dGVbXSA0CQogICAgJGJ5dGVfZGF0YSA9IE5l
dy1PYmplY3QgU3lzdGVtLkJ5dGVbXSA2NTUzNAogICAgJGJ5dGVfaW5bMF0gPSAxCiAgICAkYnl0
ZV9pblsxLTNdID0gMAogICAgJGJ5dGVfb3V0WzBdID0gMQogICAgJGJ5dGVfb3V0WzEtM10gPSAw
CiAgICAkc25pZmZlcl9zb2NrZXQgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuU29ja2V0cy5Tb2Nr
ZXQoW05ldC5Tb2NrZXRzLkFkZHJlc3NGYW1pbHldOjpJbnRlck5ldHdvcmssW05ldC5Tb2NrZXRz
LlNvY2tldFR5cGVdOjpSYXcsW05ldC5Tb2NrZXRzLlByb3RvY29sVHlwZV06OklQKQogICAgJHNu
aWZmZXJfc29ja2V0LlNldFNvY2tldE9wdGlvbigiSVAiLCJIZWFkZXJJbmNsdWRlZCIsJHRydWUp
CiAgICAkc25pZmZlcl9zb2NrZXQuUmVjZWl2ZUJ1ZmZlclNpemUgPSA2NTUzNAoKICAgIGlmKCRL
ZXJiZXJvcyAtZXEgJ1knKQogICAgewoKICAgICAgICBpZigkS2VyYmVyb3NIYXNoKQogICAgICAg
IHsKICAgICAgICAgICAgJGtlcmJlcm9zX2Jhc2Vfa2V5ID0gKCZ7Zm9yICgkaSA9IDA7JGkgLWx0
ICRLZXJiZXJvc0hhc2guTGVuZ3RoOyRpICs9IDIpeyRLZXJiZXJvc0hhc2guU3ViU3RyaW5nKCRp
LDIpfX0pIC1qb2luICItIgogICAgICAgICAgICAka2VyYmVyb3NfYmFzZV9rZXkgPSAka2VyYmVy
b3NfYmFzZV9rZXkuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29u
dmVydF06OlRvSW50MTYoJF8sMTYpfQogICAgICAgIH0KICAgICAgICBlbHNlaWYoJEtlcmJlcm9z
Q3JlZGVudGlhbCkKICAgICAgICB7CiAgICAgICAgICAgICRrZXJiZXJvc19iYXNlX2tleSA9IEdl
dC1LZXJiZXJvc0FFUzI1NkJhc2VLZXkgKCRLZXJiZXJvc0NyZWRlbnRpYWwuVXNlck5hbWUpLlRy
aW0oIlwiKSAkS2VyYmVyb3NDcmVkZW50aWFsLlBhc3N3b3JkCiAgICAgICAgfQoKICAgIH0KCiAg
ICB0cnkKICAgIHsKICAgICAgICAkZW5kX3BvaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LklQ
RW5kcG9pbnQoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXSIkSVAiLDApCiAgICB9CiAgICBjYXRjaAog
ICAgewogICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlstXSBbJChHZXQtRGF0ZSAt
Zm9ybWF0IHMpXSBFcnJvciBzdGFydGluZyBzbmlmZmVyL3Nwb29mZXIiKSA+ICRudWxsCiAgICAg
ICAgJGVycm9yX21lc3NhZ2UgPSAkXy5FeGNlcHRpb24uTWVzc2FnZQogICAgICAgICRlcnJvcl9t
ZXNzYWdlID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICRpbnZlaWdo
Lm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkZXJyb3JfbWVz
c2FnZSAkKCRfLkludm9jYXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwKICAgICAgICAk
c25pZmZlcl9ydW5uaW5nID0gJGZhbHNlCiAgICB9CgogICAgJHNuaWZmZXJfc29ja2V0LkJpbmQo
JGVuZF9wb2ludCkKICAgICRzbmlmZmVyX3NvY2tldC5JT0NvbnRyb2woW1N5c3RlbS5OZXQuU29j
a2V0cy5JT0NvbnRyb2xDb2RlXTo6UmVjZWl2ZUFsbCwkYnl0ZV9pbiwkYnl0ZV9vdXQpCiAgICAk
RE5TX1RUTF9ieXRlcyA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJEROU1RUTCkK
ICAgIFtBcnJheV06OlJldmVyc2UoJEROU19UVExfYnl0ZXMpCiAgICAkTExNTlJfVFRMX2J5dGVz
ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkTExNTlJUVEwpCiAgICBbQXJyYXld
OjpSZXZlcnNlKCRMTE1OUl9UVExfYnl0ZXMpCiAgICAkbUROU19UVExfYnl0ZXMgPSBbU3lzdGVt
LkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRtRE5TVFRMKQogICAgW0FycmF5XTo6UmV2ZXJzZSgk
bUROU19UVExfYnl0ZXMpCiAgICAkTkJOU19UVExfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRl
cl06OkdldEJ5dGVzKCROQk5TVFRMKQogICAgW0FycmF5XTo6UmV2ZXJzZSgkTkJOU19UVExfYnl0
ZXMpCiAgICAkTExNTlJfbGVhcm5pbmdfbG9nID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlv
bnMuR2VuZXJpYy5MaXN0W3N0cmluZ10KICAgICROQk5TX2xlYXJuaW5nX2xvZyA9IE5ldy1PYmpl
Y3QgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdFtzdHJpbmddCgogICAgaWYoJFNwb29m
ZXJMZWFybmluZ0RlbGF5KQogICAgeyAgICAKICAgICAgICAkc3Bvb2Zlcl9sZWFybmluZ19kZWxh
eSA9IE5ldy1UaW1lU3BhbiAtTWludXRlcyAkU3Bvb2ZlckxlYXJuaW5nRGVsYXkKICAgICAgICAk
c3Bvb2Zlcl9sZWFybmluZ19zdG9wd2F0Y2ggPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0b3B3YXRj
aF06OlN0YXJ0TmV3KCkKICAgIH0KCiAgICBbQnl0ZVtdXSRwY2FwX2hlYWRlciA9IDB4ZDQsMHhj
MywweGIyLDB4YTEsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAs
MHgwMCwweDAwLDB4MDAsMHhmZiArCiAgICAgICAgMHhmZiwweDAwLDB4MDAsMHgwMSwweDAwLDB4
MDAsMHgwMAoKICAgIGlmKCRQY2FwIC1lcSAnRmlsZScpCiAgICB7CiAgICAgICAgJHBjYXBfcGF0
aCA9ICRvdXRwdXRfZGlyZWN0b3J5ICsgIlxJbnZlaWdoLVBhY2tldHMucGNhcCIKICAgICAgICAk
cGNhcF9maWxlX2NoZWNrID0gW1N5c3RlbS5JTy5GaWxlXTo6RXhpc3RzKCRwY2FwX3BhdGgpCiAg
ICAgICAgCiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICAkcGNhcF9maWxlID0gTmV3
LU9iamVjdCBTeXN0ZW0uSU8uRmlsZVN0cmVhbSAkcGNhcF9wYXRoLCdBcHBlbmQnLCdXcml0ZScs
J1JlYWQnCgogICAgICAgICAgICBpZighJHBjYXBfZmlsZV9jaGVjaykKICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgJHBjYXBfZmlsZS5Xcml0ZSgkcGNhcF9oZWFkZXIsMCwkcGNhcF9oZWFk
ZXIuQ291bnQpCiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIGNhdGNoCiAgICAgICAg
ewogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAg
ICAgICAgICRlcnJvcl9tZXNzYWdlID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgog
ICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQoR2V0LURhdGUgLWZv
cm1hdCBzKV0gJGVycm9yX21lc3NhZ2UgJCgkXy5JbnZvY2F0aW9uSW5mby5MaW5lLlRyaW0oKSki
KSA+ICRudWxsCiAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChH
ZXQtRGF0ZSAtZm9ybWF0IHMpXSBEaXNhYmxpbmcgcGNhcCBvdXRwdXQiKSA+ICRudWxsCiAgICAg
ICAgICAgICRQY2FwID0gJycKICAgICAgICB9CgogICAgfQogICAgZWxzZWlmKCRQY2FwIC1lcSAn
TWVtb3J5JyAtYW5kICEkaW52ZWlnaC5wY2FwKQogICAgewogICAgICAgICRpbnZlaWdoLnBjYXAg
PSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52ZWln
aC5wY2FwLkFkZFJhbmdlKCRwY2FwX2hlYWRlcikKICAgIH0KCiAgICB3aGlsZSgkaW52ZWlnaC5y
dW5uaW5nIC1hbmQgJHNuaWZmZXJfcnVubmluZykKICAgIHsKICAgICAgICAkcGFja2V0X2xlbmd0
aCA9ICRzbmlmZmVyX3NvY2tldC5SZWNlaXZlKCRieXRlX2RhdGEsMCwkYnl0ZV9kYXRhLkxlbmd0
aCxbU3lzdGVtLk5ldC5Tb2NrZXRzLlNvY2tldEZsYWdzXTo6Tm9uZSkKICAgICAgICAkbWVtb3J5
X3N0cmVhbSA9IE5ldy1PYmplY3QgU3lzdGVtLklPLk1lbW9yeVN0cmVhbSgkYnl0ZV9kYXRhLDAs
JHBhY2tldF9sZW5ndGgpCiAgICAgICAgJGJpbmFyeV9yZWFkZXIgPSBOZXctT2JqZWN0IFN5c3Rl
bS5JTy5CaW5hcnlSZWFkZXIoJG1lbW9yeV9zdHJlYW0pCiAgICAgICAgJHZlcnNpb25fSEwgPSAk
YmluYXJ5X3JlYWRlci5SZWFkQnl0ZSgpCiAgICAgICAgJGJpbmFyeV9yZWFkZXIuUmVhZEJ5dGUo
KSA+ICRudWxsCiAgICAgICAgJHRvdGFsX2xlbmd0aCA9IENvbnZlcnQtRGF0YVRvVUludDE2ICRi
aW5hcnlfcmVhZGVyLlJlYWRCeXRlcygyKQogICAgICAgICRiaW5hcnlfcmVhZGVyLlJlYWRCeXRl
cyg1KSA+ICRudWxsCiAgICAgICAgJHByb3RvY29sX251bWJlciA9ICRiaW5hcnlfcmVhZGVyLlJl
YWRCeXRlKCkKICAgICAgICAkYmluYXJ5X3JlYWRlci5SZWFkQnl0ZXMoMikgPiAkbnVsbAogICAg
ICAgICRzb3VyY2VfSVBfYnl0ZXMgPSAkYmluYXJ5X3JlYWRlci5SZWFkQnl0ZXMoNCkKICAgICAg
ICAkc291cmNlX0lQID0gW1N5c3RlbS5OZXQuSVBBZGRyZXNzXSRzb3VyY2VfSVBfYnl0ZXMKICAg
ICAgICAkZGVzdGluYXRpb25fSVBfYnl0ZXMgPSAkYmluYXJ5X3JlYWRlci5SZWFkQnl0ZXMoNCkK
ICAgICAgICAkZGVzdGluYXRpb25fSVAgPSBbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJGRlc3RpbmF0
aW9uX0lQX2J5dGVzCiAgICAgICAgJGhlYWRlcl9sZW5ndGggPSBbSW50XSIweCQoKCd7MDpYfScg
LWYgJHZlcnNpb25fSEwpWzFdKSIgKiA0CiAgICAgICAgCiAgICAgICAgc3dpdGNoKCRwcm90b2Nv
bF9udW1iZXIpCiAgICAgICAgewogICAgICAgICAgICAKICAgICAgICAgICAgNiAKICAgICAgICAg
ICAgeyAgIyBUQ1AKICAgICAgICAgICAgICAgICRzb3VyY2VfcG9ydCA9IENvbnZlcnQtRGF0YVRv
VUludDE2ICRiaW5hcnlfcmVhZGVyLlJlYWRCeXRlcygyKQogICAgICAgICAgICAgICAgJGRlc3Rp
bmF0aW9uX3BvcnQgPSBDb252ZXJ0LURhdGFUb1VJbnQxNiAkYmluYXJ5X3JlYWRlci5SZWFkQnl0
ZXMoMikKICAgICAgICAgICAgICAgICRiaW5hcnlfcmVhZGVyLlJlYWRCeXRlcyg4KSA+ICRudWxs
CiAgICAgICAgICAgICAgICAkVENQX2hlYWRlcl9sZW5ndGggPSBbSW50XSIweCQoKCd7MDpYfScg
LWYgJGJpbmFyeV9yZWFkZXIuUmVhZEJ5dGUoKSlbMF0pIiAqIDQKICAgICAgICAgICAgICAgICRU
Q1BfZmxhZ3MgPSAkYmluYXJ5X3JlYWRlci5SZWFkQnl0ZSgpCiAgICAgICAgICAgICAgICAkYmlu
YXJ5X3JlYWRlci5SZWFkQnl0ZXMoJFRDUF9oZWFkZXJfbGVuZ3RoIC0gMTQpID4gJG51bGwKICAg
ICAgICAgICAgICAgICRwYXlsb2FkX2J5dGVzID0gJGJpbmFyeV9yZWFkZXIuUmVhZEJ5dGVzKCRw
YWNrZXRfbGVuZ3RoKQogICAgICAgICAgICAgICAgJFRDUF9mbGFncyA9IChbY29udmVydF06OlRv
U3RyaW5nKCRUQ1BfZmxhZ3MsMikpLlBhZExlZnQoOCwiMCIpCgogICAgICAgICAgICAgICAgaWYo
JFRDUF9mbGFncy5TdWJTdHJpbmcoNiwxKSAtZXEgIjEiIC1hbmQgJFRDUF9mbGFncy5TdWJTdHJp
bmcoMywxKSAtZXEgIjAiIC1hbmQgJGRlc3RpbmF0aW9uX0lQIC1lcSAkSVApCiAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgJFRDUF9zZXNzaW9uID0gIiRzb3VyY2VfSVBgOiRz
b3VyY2VfcG9ydCIKICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gVENQKCRkZXN0aW5hdGlvbl9wb3J0KSBTWU4g
cGFja2V0IGRldGVjdGVkIGZyb20gJFRDUF9TZXNzaW9uIikgPiAkbnVsbAogICAgICAgICAgICAg
ICAgfQoKICAgICAgICAgICAgICAgIHN3aXRjaCAoJGRlc3RpbmF0aW9uX3BvcnQpCiAgICAgICAg
ICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgIDEzOSAKICAgICAgICAgICAgICAgICAgICB7
CgogICAgICAgICAgICAgICAgICAgICAgICBpZigkcGF5bG9hZF9ieXRlcykKICAgICAgICAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0LVNNQkNvbm5lY3Rp
b24gJHBheWxvYWRfYnl0ZXMgJElQICRzb3VyY2VfSVAgJGRlc3RpbmF0aW9uX0lQICRzb3VyY2Vf
cG9ydCAiMTM5IgogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg
ICAgICBpZigkaW52ZWlnaC5TTUJfc2Vzc2lvbl90YWJsZS5Db250YWluc0tleSgiJHNvdXJjZV9J
UGA6JHNvdXJjZV9wb3J0IikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdldC1OVExNUmVzcG9uc2UgJHBheWxvYWRfYnl0ZXMgJFNNQiAkc291
cmNlX0lQICRzb3VyY2VfcG9ydCAxMzkgIlNNQiIKICAgICAgICAgICAgICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIDQ0NQogICAgICAgICAg
ICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZXJiZXJvc19kYXRhLkNv
dW50IC1sdCAka2VyYmVyb3NfbGVuZ3RoIC1hbmQgIiRzb3VyY2VfSVBgOiRzb3VyY2VfcG9ydCIg
LWVxICRrZXJiZXJvc19zb3VyY2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRrZXJiZXJvc19kYXRhICs9ICRwYXlsb2FkX2J5dGVzCgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlcmJlcm9zX2RhdGEuQ291bnQgLWdlICRrZXJi
ZXJvc19sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmV3LUtlcmJlcm9zS2lyYmkgJGtlcmJlcm9zX2RhdGEgJGtlcmJl
cm9zX2Jhc2Vfa2V5ICJTTUIiIDQ0NSAiJHNvdXJjZV9JUGA6JHNvdXJjZV9wb3J0IgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRrZXJiZXJvc19sZW5ndGggPSAkbnVsbAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRrZXJiZXJvc19kYXRhID0gJG51bGwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAka2VyYmVyb3Nfc291cmNlID0gJG51bGwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmKCRwYXlsb2FkX2J5dGVzKQogICAgICAgICAgICAgICAgICAgICAg
ICB7ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VyYmVyb3NfY29ubmVjdGlvbiA9
IEdldC1TTUJDb25uZWN0aW9uICRwYXlsb2FkX2J5dGVzICRJUCAkc291cmNlX0lQICRkZXN0aW5h
dGlvbl9JUCAkc291cmNlX3BvcnQgIjQ0NSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRr
ZXJiZXJvc19sZW5ndGggPSAka2VyYmVyb3NfY29ubmVjdGlvblswXQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGtlcmJlcm9zX2RhdGEgPSAka2VyYmVyb3NfY29ubmVjdGlvblsxXQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJGtlcmJlcm9zX3NvdXJjZSA9ICIkc291cmNlX0lQYDok
c291cmNlX3BvcnQiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgIGlmKCRpbnZlaWdoLlNNQl9zZXNzaW9uX3RhYmxlLkNvbnRhaW5zS2V5KCIkc291cmNl
X0lQYDokc291cmNlX3BvcnQiKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR2V0LU5UTE1SZXNwb25zZSAkcGF5bG9hZF9ieXRlcyAkU01CICRz
b3VyY2VfSVAgJHNvdXJjZV9wb3J0IDQ0NSAiU01CIgogICAgICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
ICAgIH0KCiAgICAgICAgICAgICAgICAjIE91dGdvaW5nIHBhY2tldHMKICAgICAgICAgICAgICAg
IHN3aXRjaCAoJHNvdXJjZV9wb3J0KQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAg
ICAgICAxMzkgCiAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAg
aWYoJHBheWxvYWRfYnl0ZXMpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICROVExNX2NoYWxsZW5nZSA9IEdldC1TTUJOVExNQ2hhbGxlbmdlICRw
YXlsb2FkX2J5dGVzCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgIGlmKCROVExNX2NoYWxsZW5nZSAtYW5kICRkZXN0aW5hdGlvbl9JUCAtbmUgJHNvdXJj
ZV9JUCkKICAgICAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKCRzb3VyY2VfSVAgLWVxICRJUCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRk
KCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gU01CKDEzOSkgTlRMTSBjaGFsbGVuZ2UgJE5U
TE1fY2hhbGxlbmdlIHNlbnQgdG8gJGRlc3RpbmF0aW9uX0lQYDokZGVzdGluYXRpb25fcG9ydCIp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0
LURhdGUgLWZvcm1hdCBzKV0gU01CKDEzOSkgTlRMTSBjaGFsbGVuZ2UgJE5UTE1fY2hhbGxlbmdl
IHJlY2VpdmVkIGZyb20gJGRlc3RpbmF0aW9uX0lQYDokZGVzdGluYXRpb25fcG9ydCIpID4gJG51
bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5TTUJfc2Vzc2lvbl90YWJsZS4iJGRlc3RpbmF0aW9uX0lQYDokZGVzdGlu
YXRpb25fcG9ydCIgPSAkTlRMTV9jaGFsbGVuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICROVExNX2NoYWxsZW5nZSA9ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg
IDQ0NQogICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRw
YXlsb2FkX2J5dGVzKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAkTlRMTV9jaGFsbGVuZ2UgPSBHZXQtU01CTlRMTUNoYWxsZW5nZSAkcGF5bG9h
ZF9ieXRlcwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg
ICBpZigkTlRMTV9jaGFsbGVuZ2UgLWFuZCAkZGVzdGluYXRpb25fSVAgLW5lICRzb3VyY2VfSVAp
CiAgICAgICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
Zigkc291cmNlX0lQIC1lcSAkSVApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytd
IFskKEdldC1EYXRlIC1mb3JtYXQgcyldIFNNQig0NDUpIE5UTE0gY2hhbGxlbmdlICROVExNX2No
YWxsZW5nZSBzZW50IHRvICRkZXN0aW5hdGlvbl9JUGA6JGRlc3RpbmF0aW9uX3BvcnQiKSA+ICRu
dWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRl
IC1mb3JtYXQgcyldIFNNQig0NDUpIE5UTE0gY2hhbGxlbmdlICROVExNX2NoYWxsZW5nZSByZWNl
aXZlZCBmcm9tICRkZXN0aW5hdGlvbl9JUGA6JGRlc3RpbmF0aW9uX3BvcnQiKSA+ICRudWxsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGludmVpZ2guU01CX3Nlc3Npb25fdGFibGUuIiRkZXN0aW5hdGlvbl9JUGA6JGRlc3RpbmF0aW9u
X3BvcnQiID0gJE5UTE1fY2hhbGxlbmdlICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJE5UTE1fY2hhbGxlbmdlID0gJG51bGwKICAgICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBpZigkUGNhcCAtYW5kICgkUGNhcFRDUCAtY29udGFpbnMgJHNvdXJj
ZV9wb3J0IC1vciAkUGNhcFRDUCAtY29udGFpbnMgJGRlc3RpbmF0aW9uX3BvcnQgLW9yICRQY2Fw
VENQIC1jb250YWlucyAnQWxsJykpCiAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAg
ICAgIGlmKCRwYXlsb2FkX2J5dGVzKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgJHBjYXBfZXBvY2hfdGltZSA9IChbZGF0ZXRpbWVdOjpVdGNOb3cpLShHZXQt
RGF0ZSAiMS8xLzE5NzAiKQogICAgICAgICAgICAgICAgICAgICAgICAkcGNhcF9sZW5ndGggPSBb
U3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbGVuZ3RoICsgMTQpCiAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkcGNhcF9wYWNrZXQg
PSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKFtJbnRdW01hdGhdOjpUcnVuY2F0ZSgk
cGNhcF9lcG9jaF90aW1lLlRvdGFsU2Vjb25kcykpICsgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwY2FwX2Vwb2NoX3RpbWUuTWls
bGlzZWNvbmRzKSArICMgc2hvdWxkIGJlIG1pY3Jvc2Vjb25kcyBidXQgcHJvYmFibHkgZG9lc24n
dCBtYXR0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwY2FwX2xlbmd0aCArCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkcGNhcF9sZW5ndGggKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKCwweDAwICogMTIpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgs
MHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnl0ZV9kYXRhWzAuLigkcGFja2V0
X2xlbmd0aCAtIDEpXQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHBjYXBfcGFja2V0LkNv
dW50IC1lcSAoJHBhY2tldF9sZW5ndGggKyAzMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCRQY2FwKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmlsZScK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBjYXBfZmlsZS5Xcml0ZSgk
cGNhcF9wYWNrZXQsMCwkcGNhcF9wYWNrZXQuQ291bnQpICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNh
dGNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8uRXhjZXB0aW9uLk1l
c3NhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvcl9tZXNz
YWdlID0gJGVycm9yX21lc3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFskKEdl
dC1EYXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQoJF8uSW52b2NhdGlvbkluZm8uTGlu
ZS5UcmltKCkpIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ01lbW9yeScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLnBjYXAuQWRkUmFuZ2Uo
JHBjYXBfcGFja2V0KSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
ICAgIH0KCiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAxNyAKICAg
ICAgICAgICAgeyAgIyBVRFAKICAgICAgICAgICAgICAgICRzb3VyY2VfcG9ydCA9ICRiaW5hcnlf
cmVhZGVyLlJlYWRCeXRlcygyKQogICAgICAgICAgICAgICAgJGVuZHBvaW50X3NvdXJjZV9wb3J0
ID0gQ29udmVydC1EYXRhVG9VSW50MTYgKCRzb3VyY2VfcG9ydCkKICAgICAgICAgICAgICAgICRk
ZXN0aW5hdGlvbl9wb3J0ID0gQ29udmVydC1EYXRhVG9VSW50MTYgJGJpbmFyeV9yZWFkZXIuUmVh
ZEJ5dGVzKDIpCiAgICAgICAgICAgICAgICAkVURQX2xlbmd0aCA9ICRiaW5hcnlfcmVhZGVyLlJl
YWRCeXRlcygyKQogICAgICAgICAgICAgICAgJFVEUF9sZW5ndGhfdWludCAgPSBDb252ZXJ0LURh
dGFUb1VJbnQxNiAoJFVEUF9sZW5ndGgpCiAgICAgICAgICAgICAgICAkYmluYXJ5X3JlYWRlci5S
ZWFkQnl0ZXMoMikgPiAkbnVsbAogICAgICAgICAgICAgICAgJHBheWxvYWRfYnl0ZXMgPSAkYmlu
YXJ5X3JlYWRlci5SZWFkQnl0ZXMoKCRVRFBfbGVuZ3RoX3VpbnQgLSAyKSAqIDQpCgogICAgICAg
ICAgICAgICAgIyBJbmNvbWluZyBwYWNrZXRzIAogICAgICAgICAgICAgICAgc3dpdGNoKCRkZXN0
aW5hdGlvbl9wb3J0KQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICA1MyAj
IEROUwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJEROU19x
dWVyeV9zdHJpbmcgPSBHZXQtTmFtZVF1ZXJ5U3RyaW5nIDEyICRwYXlsb2FkX2J5dGVzCiAgICAg
ICAgICAgICAgICAgICAgICAgICRETlNfcmVzcG9uc2VfZGF0YSA9ICRwYXlsb2FkX2J5dGVzWzEy
Li4oJEROU19xdWVyeV9zdHJpbmcuTGVuZ3RoICsgMTMpXQogICAgICAgICAgICAgICAgICAgICAg
ICBbQnl0ZVtdXSRVRFBfbGVuZ3RoID0gKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMo
JEROU19yZXNwb25zZV9kYXRhLkNvdW50ICsgJEROU19yZXNwb25zZV9kYXRhLkNvdW50ICsgJFNw
b29mZXJJUC5MZW5ndGggKyAyMykpWzEsMF0KICAgICAgICAgICAgICAgICAgICAgICAgJEROU19y
ZXNwb25zZV90eXBlID0gIlsrXSIKCiAgICAgICAgICAgICAgICAgICAgICAgICRETlNfcmVzcG9u
c2VfZGF0YSArPSAweDAwLDB4MDEsMHgwMCwweDAxICsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJEROU19yZXNwb25zZV9kYXRhICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAxLDB4MDAsMHgwMSAr
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRETlNfVFRM
X2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHgwMCwweDA0ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKFtTeXN0ZW0uTmV0LklQQWRkcmVzc11bU3RyaW5nXShbU3lzdGVtLk5ldC5JUEFkZHJlc3Nd
JFNwb29mZXJJUCkpLkdldEFkZHJlc3NCeXRlcygpCiAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICRETlNfcmVzcG9uc2VfcGFja2V0ID0gMHgwMCwweDM1ICsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzb3VyY2VfcG9ydFsxLDBdICsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRVRFBf
bGVuZ3RoICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAsMHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAkcGF5bG9hZF9ieXRlc1swLDFdICsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAx
LDB4MDAsMHgwMCwweDAwLDB4MDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJEROU19yZXNwb25zZV9kYXRhCgoKICAgICAgICAgICAgICAgICAg
ICAgICAgJEROU19yZXNwb25zZV9tZXNzYWdlID0gR2V0LVNwb29mZXJSZXNwb25zZU1lc3NhZ2Ug
LVF1ZXJ5U3RyaW5nICRETlNfcXVlcnlfc3RyaW5nIC1UeXBlICJETlMiIC1FbmFibGVkICRETlMK
ICAgICAgICAgICAgICAgICAgICAgICAgJEROU19yZXNwb25zZV90eXBlID0gJEROU19yZXNwb25z
ZV9tZXNzYWdlWzBdCiAgICAgICAgICAgICAgICAgICAgICAgICRETlNfcmVzcG9uc2VfbWVzc2Fn
ZSA9ICRETlNfcmVzcG9uc2VfbWVzc2FnZVsxXQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYo
JEROU19yZXNwb25zZV9tZXNzYWdlIC1lcSAnW3Jlc3BvbnNlIHNlbnRdJykKICAgICAgICAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJEROU19zZW5kX3NvY2tl
dCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlNvY2tldChbU3lzdGVtLk5ldC5Tb2Nr
ZXRzLkFkZHJlc3NGYW1pbHldOjpJbnRlck5ldHdvcmssW1N5c3RlbS5OZXQuU29ja2V0cy5Tb2Nr
ZXRUeXBlXTo6UmF3LFtTeXN0ZW0uTmV0LlNvY2tldHMuUHJvdG9jb2xUeXBlXTo6VWRwKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJEROU19zZW5kX3NvY2tldC5TZW5kQnVmZmVyU2l6ZSA9
IDEwMjQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRETlNfZGVzdGluYXRpb25fcG9pbnQg
PSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuSVBFbmRwb2ludCgkc291cmNlX0lQLCRlbmRwb2ludF9z
b3VyY2VfcG9ydCkgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRE5TX3NlbmRfc29ja2V0
LlNlbmRUbygkRE5TX3Jlc3BvbnNlX3BhY2tldCwkRE5TX2Rlc3RpbmF0aW9uX3BvaW50KSA+ICRu
dWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRE5TX3NlbmRfc29ja2V0LkNsb3NlKCkK
ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGRl
c3RpbmF0aW9uX0lQIC1lcSAkSVApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIiRETlNfcmVzcG9u
c2VfdHlwZSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBETlMgcmVxdWVzdCBmb3IgJEROU19xdWVy
eV9zdHJpbmcgcmVjZWl2ZWQgZnJvbSAkc291cmNlX0lQICRETlNfcmVzcG9uc2VfbWVzc2FnZSIp
ID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIiRETlNfcmVzcG9uc2VfdHlwZSBbJChHZXQt
RGF0ZSAtZm9ybWF0IHMpXSBETlMgcmVxdWVzdCBmb3IgJEROU19xdWVyeV9zdHJpbmcgc2VudCB0
byAkZGVzdGluYXRpb25fSVAgW291dGdvaW5nIHF1ZXJ5XSIpID4gJG51bGwKICAgICAgICAgICAg
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg
IDEzNyAjIE5CTlMKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICBpZigoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmlu
ZygkcGF5bG9hZF9ieXRlc1s0Li43XSkgLWVxICcwMC0wMS0wMC0wMCcgLW9yIFtTeXN0ZW0uQml0
Q29udmVydGVyXTo6VG9TdHJpbmcoJHBheWxvYWRfYnl0ZXNbNC4uN10pIC1lcSAnMDAtMDAtMDAt
MDEnKSAtYW5kIFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJHBheWxvYWRfYnl0ZXNb
MTAuLjExXSkgLW5lICcwMC0wMScpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRw
YXlsb2FkX2J5dGVzWzQuLjddKSAtZXEgJzAwLTAxLTAwLTAwJykKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkVURQX2xlbmd0aFsw
XSArPSAxMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3Jlc3BvbnNlX3R5
cGUgPSAiWytdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJE5CTlNfcmVzcG9uc2VfZGF0YSA9ICRwYXlsb2FkX2J5dGVzWzEzLi4k
cGF5bG9hZF9ieXRlcy5MZW5ndGhdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19UVExfYnl0ZXMgKwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwNiwweDAwLDB4
MDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChbU3lzdGVtLk5ldC5JUEFkZHJlc3NdW1N0cmluZ10oW1N5c3RlbS5OZXQuSVBBZGRyZXNz
XSRTcG9vZmVySVApKS5HZXRBZGRyZXNzQnl0ZXMoKQogICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3Jlc3BvbnNlX3BhY2tldCA9IDB4MDAs
MHg4OSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJHNvdXJjZV9wb3J0WzEsMF0gKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRVRFBfbGVuZ3RoWzEsMF0gKwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCArCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBh
eWxvYWRfYnl0ZXNbMCwxXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHg4NSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDIwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkTkJOU19yZXNwb25zZV9kYXRhCiAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfdHlwZSA9IFtTeXN0
ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJHBheWxvYWRfYnl0ZXNbNDMuLjQ0XSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19xdWVyeV90eXBlID0gR2V0LU5CTlNRdWVy
eVR5cGUgJE5CTlNfcXVlcnlfdHlwZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRO
Qk5TX3R5cGUgPSAkcGF5bG9hZF9ieXRlc1s0N10KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkTkJOU19xdWVyeSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJHBheWxv
YWRfYnl0ZXNbMTMuLigkcGF5bG9hZF9ieXRlcy5MZW5ndGggLSA0KV0pCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJE5CTlNfcXVlcnkgPSAkTkJOU19xdWVyeSAtcmVwbGFjZSAiLTAw
IiwiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3F1ZXJ5ID0gJE5CTlNf
cXVlcnkuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06
OlRvSW50MTYoJF8sMTYpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3F1
ZXJ5X3N0cmluZ19lbmNvZGVkID0gTmV3LU9iamVjdCBTeXN0ZW0uU3RyaW5nICgkTkJOU19xdWVy
eSwwLCROQk5TX3F1ZXJ5Lkxlbmd0aCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
TkJOU19xdWVyeV9zdHJpbmdfZW5jb2RlZF9jaGVjayA9ICROQk5TX3F1ZXJ5X3N0cmluZ19lbmNv
ZGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nX2Vu
Y29kZWQgPSAkTkJOU19xdWVyeV9zdHJpbmdfZW5jb2RlZC5TdWJzdHJpbmcoMCwkTkJOU19xdWVy
eV9zdHJpbmdfZW5jb2RlZC5JbmRleE9mKCJDQSIpKSAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19xdWVyeV9zdHJpbmdfc3VidHJhY3RlZCA9ICRu
dWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nID0g
JG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbiA9IDAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nX3N1YiA9ICgoW0J5dGVdW0NoYXJdKCROQk5T
X3F1ZXJ5X3N0cmluZ19lbmNvZGVkLlN1YnN0cmluZygkbiwxKSkpIC0gNjUpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3F1ZXJ5X3N0cmluZ19zdWJ0cmFjdGVkICs9
IChbU3lzdGVtLkNvbnZlcnRdOjpUb1N0cmluZygkTkJOU19xdWVyeV9zdHJpbmdfc3ViLDE2KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG4rKwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnRpbCgk
biAtZ2UgKCROQk5TX3F1ZXJ5X3N0cmluZ19lbmNvZGVkLkxlbmd0aCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuID0gMAogICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nICs9IChbQ2hhcl0oW1N5c3RlbS5Db252ZXJ0XTo6
VG9JbnQxNigkTkJOU19xdWVyeV9zdHJpbmdfc3VidHJhY3RlZC5TdWJzdHJpbmcoJG4sMiksMTYp
KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG4gKz0gMgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnRpbCgkbiAtZ2UgKCROQk5TX3F1ZXJ5X3N0cmluZ19zdWJ0cmFjdGVkLkxlbmd0aCkgLW9yICRO
Qk5TX3F1ZXJ5X3N0cmluZy5MZW5ndGggLWVxIDE1KQoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZigkTkJOU19xdWVyeV9zdHJpbmdfZW5jb2RlZF9jaGVjay5TdGFydHNXaXRoKCJB
QkFDIikgLWFuZCAkTkJOU19xdWVyeV9zdHJpbmdfZW5jb2RlZF9jaGVjay5FbmRzV2l0aCgiQUNB
QiIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nID0gJE5CTlNfcXVlcnlfc3RyaW5n
LlN1YnN0cmluZygyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19x
dWVyeV9zdHJpbmcgPSAkTkJOU19xdWVyeV9zdHJpbmcuU3Vic3RyaW5nKDAsICROQk5TX3F1ZXJ5
X3N0cmluZy5MZW5ndGggLSAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
TkJOU19xdWVyeV9zdHJpbmcgPSAiPDAxPjwwMj4iICsgJE5CTlNfcXVlcnlfc3RyaW5nICsgIjww
Mj4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZigkTkJOU19xdWVyeV9zdHJpbmcgLW5vdG1hdGNoICdbXlx4MDAtXHg3
Rl0rJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZighJGludmVpZ2gucmVxdWVzdF90YWJsZS5Db250YWluc0tl
eSgkTkJOU19xdWVyeV9zdHJpbmcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5yZXF1
ZXN0X3RhYmxlLkFkZCgkTkJOU19xdWVyeV9zdHJpbmcuVG9Mb3dlcigpLFtBcnJheV0kc291cmNl
X0lQLklQQWRkcmVzc1RvU3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJGludmVpZ2gucmVxdWVzdF90YWJsZV91cGRhdGVkID0gJHRydWUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLnJlcXVlc3RfdGFibGUuJE5C
TlNfcXVlcnlfc3RyaW5nICs9ICRzb3VyY2VfSVAuSVBBZGRyZXNzVG9TdHJpbmcKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLnJlcXVlc3RfdGFibGVfdXBk
YXRlZCA9ICR0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkTkJOU19yZXF1ZXN0X2lnbm9yZSA9ICRmYWxzZQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTcG9vZmVyTGVhcm5pbmcg
LWVxICdZJyAtYW5kICRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCAtbm90Y29udGFpbnMgJE5CTlNf
cXVlcnlfc3RyaW5nIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkcGF5bG9h
ZF9ieXRlc1s0Li43XSkgLWVxICcwMC0wMS0wMC0wMCcgLWFuZCAkc291cmNlX0lQIC1uZSAkSVAp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigoJE5CTlNfbGVhcm5pbmdfbG9n
LkV4aXN0cyh7cGFyYW0oJHMpICRzIC1saWtlICIyMCogJE5CTlNfcXVlcnlfc3RyaW5nIn0pKSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICROQk5TX2xlYXJuaW5nX3F1ZXVlX3RpbWUgPSBbRGF0ZVRpbWVdJE5CTlNf
bGVhcm5pbmdfbG9nLkZpbmQoe3BhcmFtKCRzKSAkcyAtbGlrZSAiMjAqICROQk5TX3F1ZXJ5X3N0
cmluZyJ9KS5TdWJTdHJpbmcoMCwxOSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKChHZXQtRGF0ZSkgLWdlICROQk5TX2xlYXJuaW5nX3F1ZXVlX3RpbWUuQWRkTWludXRl
cygkU3Bvb2ZlckxlYXJuaW5nSW50ZXJ2YWwpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19s
ZWFybmluZ19sb2cuUmVtb3ZlQXQoJE5CTlNfbGVhcm5pbmdfbG9nLkZpbmRJbmRleCh7cGFyYW0o
JHMpICRzIC1saWtlICIyMCogJE5CTlNfcXVlcnlfc3RyaW5nIn0pKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfbGVhcm5pbmdfc2VuZCA9ICR0cnVlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19sZWFybmluZ19zZW5k
ID0gJGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfbGVhcm5pbmdfc2VuZCA9ICR0cnVl
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZigkTkJOU19sZWFybmluZ19zZW5kKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfdHJh
bnNhY3Rpb25fSUQgPSBbU3RyaW5nXSgxLi4yIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1m
IChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICROQk5TX3RyYW5zYWN0aW9uX0lEX2J5dGVzID0gJE5CTlNfdHJh
bnNhY3Rpb25fSUQuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29u
dmVydF06OlRvSW50MTYoJF8sMTYpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkTkJOU190cmFuc2FjdGlvbl9JRCA9ICROQk5TX3RyYW5zYWN0aW9uX0lEIC1yZXBsYWNlICIg
IiwiLSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVu
dCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlVkcENsaWVudCAxMzcKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfaG9zdG5hbWVfYnl0ZXMgPSAkcGF5bG9h
ZF9ieXRlc1sxMy4uKCRwYXlsb2FkX2J5dGVzLkxlbmd0aCAtIDUpXQoKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJE5CTlNfcmVxdWVzdF9wYWNrZXQgPSAkTkJOU190cmFuc2Fj
dGlvbl9JRF9ieXRlcyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDEsMHgxMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHgyMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICROQk5TX2hvc3RuYW1lX2J5dGVzICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDIw
LDB4MDAsMHgwMQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfbGVh
cm5pbmdfZGVzdGluYXRpb25fZW5kcG9pbnQgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuSVBFbmRw
b2ludChbSVBBZGRyZXNzXTo6YnJvYWRjYXN0LDEzNykKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5Db25uZWN0KCROQk5TX2xlYXJuaW5nX2Rlc3Rp
bmF0aW9uX2VuZHBvaW50KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJO
U19VRFBfY2xpZW50LlNlbmQoJE5CTlNfcmVxdWVzdF9wYWNrZXQsJE5CTlNfcmVxdWVzdF9wYWNr
ZXQuTGVuZ3RoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19VRFBf
Y2xpZW50LkNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNf
bGVhcm5pbmdfbG9nLkFkZCgiJChHZXQtRGF0ZSAtZm9ybWF0IHMpICROQk5TX3RyYW5zYWN0aW9u
X0lEICROQk5TX3F1ZXJ5X3N0cmluZyIpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1m
b3JtYXQgcyldIE5CTlMgcmVxdWVzdCAkTkJOU19xdWVyeV9zdHJpbmcgc2VudCB0byAiICsgJE5C
TlNfbGVhcm5pbmdfZGVzdGluYXRpb25fZW5kcG9pbnQuQWRkcmVzcy5JUEFkZHJlc3NUb1N0cmlu
ZykgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfcmVz
cG9uc2VfbWVzc2FnZSA9IEdldC1TcG9vZmVyUmVzcG9uc2VNZXNzYWdlIC1RdWVyeVN0cmluZyAk
TkJOU19xdWVyeV9zdHJpbmcgLVR5cGUgIk5CTlMiIC1FbmFibGVkICROQk5TIC1OQk5TVHlwZSAk
TkJOU190eXBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19yZXNwb25zZV90eXBl
ID0gJE5CTlNfcmVzcG9uc2VfbWVzc2FnZVswXQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JE5CTlNfcmVzcG9uc2VfbWVzc2FnZSA9ICROQk5TX3Jlc3BvbnNlX21lc3NhZ2VbMV0KCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZigkTkJOU19yZXNwb25zZV9tZXNzYWdlIC1lcSAnW3Jl
c3BvbnNlIHNlbnRdJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYoJFNwb29mZXJMZWFybmluZyAtZXEgJ04nIC1vciAhJE5C
TlNfbGVhcm5pbmdfbG9nLkV4aXN0cyh7cGFyYW0oJHMpICRzIC1saWtlICIqICIgKyBbU3lzdGVt
LkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRwYXlsb2FkX2J5dGVzWzAuLjFdKSArICIgKiJ9KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICROQk5TX3NlbmRfc29ja2V0ID0gTmV3LU9iamVjdCBOZXQuU29ja2V0cy5T
b2NrZXQoW1N5c3RlbS5OZXQuU29ja2V0cy5BZGRyZXNzRmFtaWx5XTo6SW50ZXJOZXR3b3JrLFtT
eXN0ZW0uTmV0LlNvY2tldHMuU29ja2V0VHlwZV06OlJhdyxbU3lzdGVtLk5ldC5Tb2NrZXRzLlBy
b3RvY29sVHlwZV06OlVkcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5C
TlNfc2VuZF9zb2NrZXQuU2VuZEJ1ZmZlclNpemUgPSAxMDI0CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICROQk5TX2Rlc3RpbmF0aW9uX3BvaW50ID0gTmV3LU9iamVjdCBOZXQu
SVBFbmRwb2ludCgkc291cmNlX0lQLCRlbmRwb2ludF9zb3VyY2VfcG9ydCkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfc2VuZF9zb2NrZXQuU2VuZFRvKCROQk5TX3Jl
c3BvbnNlX3BhY2tldCwkTkJOU19kZXN0aW5hdGlvbl9wb2ludCkgPiAkbnVsbAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19zZW5kX3NvY2tldC5DbG9zZSgpCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICROQk5TX3JlcXVlc3RfaWdub3JlID0gJHRydWUKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHNvdXJj
ZV9JUCAtZXEgJElQIC1hbmQgJE5CTlNfbGVhcm5pbmdfbG9nLkV4aXN0cyh7cGFyYW0oJHMpICRz
IC1saWtlICIqICIgKyBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRwYXlsb2FkX2J5
dGVzWzAuLjFdKSArICIgKiJ9KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX3JlcXVlc3RfaWdub3JlID0g
JHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYoISROQk5TX3JlcXVlc3RfaWdub3JlIC1hbmQgW1N5c3RlbS5C
aXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkcGF5bG9hZF9ieXRlc1s0Li43XSkgLWVxICcwMC0wMS0w
MC0wMCcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiJE5CTlNfcmVzcG9uc2VfdHlw
ZSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBOQk5TIHJlcXVlc3QgZm9yICROQk5TX3F1ZXJ5X3N0
cmluZzwkTkJOU19xdWVyeV90eXBlPiByZWNlaXZlZCBmcm9tICRzb3VyY2VfSVAgJE5CTlNfcmVz
cG9uc2VfbWVzc2FnZSIpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VpZigkU3Bvb2ZlckxlYXJuaW5nIC1lcSAnWScg
LWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRwYXlsb2FkX2J5dGVzWzQuLjdd
KSAtZXEgJzAwLTAwLTAwLTAxJyAtYW5kICROQk5TX2xlYXJuaW5nX2xvZy5FeGlzdHMoe3BhcmFt
KCRzKSAkcyAtbGlrZSAiKiAiICsgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkcGF5
bG9hZF9ieXRlc1swLi4xXSkgKyAiICoifSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kTkJOU19yZXNwb25zZV9J
UF9ieXRlcyA9ICRwYXlsb2FkX2J5dGVzWygkcGF5bG9hZF9ieXRlcy5MZW5ndGggLSA0KS4uKCRw
YXlsb2FkX2J5dGVzLkxlbmd0aCldCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5C
TlNfcmVzcG9uc2VfSVAgPSBbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJE5CTlNfcmVzcG9uc2VfSVBf
Ynl0ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19yZXNwb25zZV9JUCA9
ICROQk5TX3Jlc3BvbnNlX0lQLklQQWRkcmVzc1RvU3RyaW5nCgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmKCRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCAtbm90Y29udGFpbnMgJE5C
TlNfcXVlcnlfc3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gudmFsaWRfaG9zdF9saXN0LkFk
ZCgkTkJOU19xdWVyeV9zdHJpbmcpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWytdIFskKEdldC1EYXRlIC1mb3Jt
YXQgcyldIE5CTlMgcmVzcG9uc2UgJE5CTlNfcmVzcG9uc2VfSVAgZm9yICROQk5TX3F1ZXJ5X3N0
cmluZyByZWNlaXZlZCBmcm9tICRzb3VyY2VfSVAgW2FkZGVkIHRvIHZhbGlkIGhvc3QgbGlzdF0i
KSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICA1MzUzICMgbUROUwogICAgICAgICAgICAg
ICAgICAgIHsgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKChbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRwYXlsb2FkX2J5dGVzKSku
RW5kc1dpdGgoIi0wMC0wMS04MC0wMSIpIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0
cmluZygkcGF5bG9hZF9ieXRlc1s0Li4xMV0pIC1lcSAiMDAtMDEtMDAtMDAtMDAtMDAtMDAtMDAi
KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
VURQX2xlbmd0aFswXSArPSAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1ETlNfcXVl
cnlfc3RyaW5nX2Z1bGwgPSBHZXQtTmFtZVF1ZXJ5U3RyaW5nIDEyICRwYXlsb2FkX2J5dGVzCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19xdWVyeV9wYXlsb2FkX2J5dGVzID0gJHBh
eWxvYWRfYnl0ZXNbMTIuLigkbUROU19xdWVyeV9zdHJpbmdfZnVsbC5MZW5ndGggKyAxMyldCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19xdWVyeV9zdHJpbmcgPSAoJG1ETlNfcXVl
cnlfc3RyaW5nX2Z1bGwuU3BsaXQoIi4iKSlbMF0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICRVRFBfbGVuZ3RoWzBdID0gJG1ETlNfcXVlcnlfcGF5bG9hZF9ieXRlcy5Db3VudCArICRTcG9v
ZmVySVAuTGVuZ3RoICsgMjMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtRE5TX3Jlc3Bv
bnNlX3R5cGUgPSAiWytdIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtRE5TX3Jlc3Bv
bnNlX2RhdGEgPSAkbUROU19xdWVyeV9wYXlsb2FkX2J5dGVzICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMSwweDAwLDB4MDEgKwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1ETlNf
VFRMX2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDAsMHgwNCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXVtTdHJpbmddKFtTeXN0ZW0uTmV0
LklQQWRkcmVzc10kU3Bvb2ZlcklQKSkuR2V0QWRkcmVzc0J5dGVzKCkKICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19yZXNwb25zZV9wYWNr
ZXQgPSAweDE0LDB4ZTkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJHNvdXJjZV9wb3J0WzEsMF0gKwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJFVEUF9sZW5ndGhbMSwwXSArCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAgKwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBheWxvYWRf
Ynl0ZXNbMCwxXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweDg0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAw
ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRt
RE5TX3Jlc3BvbnNlX2RhdGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2UgPSBHZXQtU3Bvb2ZlclJl
c3BvbnNlTWVzc2FnZSAtUXVlcnlTdHJpbmcgJG1ETlNfcXVlcnlfc3RyaW5nICAtVHlwZSAibURO
UyIgLW1ETlNUeXBlICJRVSIgLUVuYWJsZWQgJG1ETlMKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRtRE5TX3Jlc3BvbnNlX3R5cGUgPSAkbUROU19yZXNwb25zZV9tZXNzYWdlWzBdCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkbUROU19yZXNwb25zZV9tZXNzYWdlID0gJG1ETlNfcmVz
cG9uc2VfbWVzc2FnZVsxXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZigkbUROU19yZXNwb25zZV9tZXNzYWdlIC1lcSAnW3Jlc3BvbnNl
IHNlbnRdJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkc2VuZF9zb2NrZXQgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuU29ja2V0
cy5Tb2NrZXQoW1N5c3RlbS5OZXQuU29ja2V0cy5BZGRyZXNzRmFtaWx5XTo6SW50ZXJOZXR3b3Jr
LFtTeXN0ZW0uTmV0LlNvY2tldHMuU29ja2V0VHlwZV06OlJhdyxbU3lzdGVtLk5ldC5Tb2NrZXRz
LlByb3RvY29sVHlwZV06OlVkcCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNl
bmRfc29ja2V0LlNlbmRCdWZmZXJTaXplID0gMTAyNAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRkZXN0aW5hdGlvbl9wb2ludCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5JUEVuZHBv
aW50KCRzb3VyY2VfSVAsJGVuZHBvaW50X3NvdXJjZV9wb3J0KQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRzZW5kX3NvY2tldC5TZW5kVG8oJG1ETlNfcmVzcG9uc2VfcGFja2V0LCRk
ZXN0aW5hdGlvbl9wb2ludCkgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICRzZW5kX3NvY2tldC5DbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiJG1ETlNf
cmVzcG9uc2VfdHlwZSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBtRE5TKFFVKSByZXF1ZXN0ICRt
RE5TX3F1ZXJ5X3N0cmluZ19mdWxsIHJlY2VpdmVkIGZyb20gJHNvdXJjZV9JUCAkbUROU19yZXNw
b25zZV9tZXNzYWdlIikgPiAkbnVsbAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2VpZigoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygk
cGF5bG9hZF9ieXRlcykpLkVuZHNXaXRoKCItMDAtMDEiKSAtYW5kIChbU3lzdGVtLkJpdENvbnZl
cnRlcl06OlRvU3RyaW5nKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBheWxvYWRfYnl0
ZXNbNC4uMTFdKSAtZXEgIjAwLTAxLTAwLTAwLTAwLTAwLTAwLTAwIiAtb3IgW1N5c3RlbS5CaXRD
b252ZXJ0ZXJdOjpUb1N0cmluZygkcGF5bG9hZF9ieXRlc1s0Li4xMV0pIC1lcSAiMDAtMDItMDAt
MDAtMDAtMDAtMDAtMDAiKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJG1ETlNfcXVlcnlfc3RyaW5nX2Z1bGwgPSBHZXQtTmFtZVF1ZXJ5U3Ry
aW5nIDEyICRwYXlsb2FkX2J5dGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19x
dWVyeV9wYXlsb2FkX2J5dGVzID0gJHBheWxvYWRfYnl0ZXNbMTIuLigkbUROU19xdWVyeV9zdHJp
bmdfZnVsbC5MZW5ndGggKyAxMyldCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19x
dWVyeV9zdHJpbmcgPSAoJG1ETlNfcXVlcnlfc3RyaW5nX2Z1bGwuU3BsaXQoIi4iKSlbMF0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICRVRFBfbGVuZ3RoWzBdID0gJG1ETlNfcXVlcnlfcGF5
bG9hZF9ieXRlcy5Db3VudCArICRTcG9vZmVySVAuTGVuZ3RoICsgMjMKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX3R5cGUgPSAiWytdIgoKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX2RhdGEgPSAkbUROU19xdWVyeV9wYXlsb2FkX2J5
dGVzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDB4MDAsMHgwMSwweDgwLDB4MDEgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJG1ETlNfVFRMX2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwNCArCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW1N5c3RlbS5OZXQuSVBBZGRy
ZXNzXVtTdHJpbmddKFtTeXN0ZW0uTmV0LklQQWRkcmVzc10kU3Bvb2ZlcklQKSkuR2V0QWRkcmVz
c0J5dGVzKCkKCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJG1ETlNfcmVzcG9uc2VfcGFja2V0ID0gMHgxNCwweGU5ICsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzb3VyY2VfcG9ydFsxLDBdICsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRVRFBf
bGVuZ3RoWzEsMF0gKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMHgwMCwweDAwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRwYXlsb2FkX2J5dGVzWzAsMV0gKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4NCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkbUROU19yZXNwb25zZV9kYXRhCiAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2Ug
PSBHZXQtU3Bvb2ZlclJlc3BvbnNlTWVzc2FnZSAtUXVlcnlTdHJpbmcgJG1ETlNfcXVlcnlfc3Ry
aW5nICAtVHlwZSAibUROUyIgLW1ETlNUeXBlICJRTSIgLUVuYWJsZWQgJG1ETlMKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX3R5cGUgPSAkbUROU19yZXNwb25zZV9t
ZXNzYWdlWzBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbUROU19yZXNwb25zZV9tZXNz
YWdlID0gJG1ETlNfcmVzcG9uc2VfbWVzc2FnZVsxXQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkbUROU19yZXNwb25zZV9tZXNzYWdl
IC1lcSAnW3Jlc3BvbnNlIHNlbnRdJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VuZF9zb2NrZXQgPSBOZXctT2JqZWN0IFN5
c3RlbS5OZXQuU29ja2V0cy5Tb2NrZXQoW1N5c3RlbS5OZXQuU29ja2V0cy5BZGRyZXNzRmFtaWx5
XTo6SW50ZXJOZXR3b3JrLFtTeXN0ZW0uTmV0LlNvY2tldHMuU29ja2V0VHlwZV06OlJhdyxbU3lz
dGVtLk5ldC5Tb2NrZXRzLlByb3RvY29sVHlwZV06OlVkcCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAkc2VuZF9zb2NrZXQuU2VuZEJ1ZmZlclNpemUgPSAxMDI0CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJGRlc3RpbmF0aW9uX3BvaW50ID0gTmV3LU9iamVjdCBTeXN0
ZW0uTmV0LklQRW5kcG9pbnQoW0lQQWRkcmVzc10iMjI0LjAuMC4yNTEiLDUzNTMpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJHNlbmRfc29ja2V0LlNlbmRUbygkbUROU19yZXNwb25z
ZV9wYWNrZXQsJGRlc3RpbmF0aW9uX3BvaW50KSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJHNlbmRfc29ja2V0LkNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUu
QWRkKCIkbUROU19yZXNwb25zZV90eXBlIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIG1ETlMoUU0p
IHJlcXVlc3QgJG1ETlNfcXVlcnlfc3RyaW5nX2Z1bGwgcmVjZWl2ZWQgZnJvbSAkc291cmNlX0lQ
ICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2UiKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgICAgICAgICA1MzU1ICMgTExNTlIKICAgICAgICAgICAgICAgICAgICB7CgogICAgICAg
ICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRwYXls
b2FkX2J5dGVzWygkcGF5bG9hZF9ieXRlcy5MZW5ndGggLSA0KS4uKCRwYXlsb2FkX2J5dGVzLkxl
bmd0aCAtIDMpXSkgLW5lICcwMC0xYycpICMgaWdub3JlIEFBQUEgZm9yIG5vdwogICAgICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkVURQX2xlbmd0aFsw
XSArPSAkcGF5bG9hZF9ieXRlcy5MZW5ndGggLSAyCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkTExNTlJfcmVzcG9uc2VfZGF0YSA9ICRwYXlsb2FkX2J5dGVzWzEyLi4kcGF5bG9hZF9ieXRl
cy5MZW5ndGhdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTExNTlJfcmVzcG9uc2VfdHlw
ZSA9ICJbK10iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3Jlc3BvbnNlX2Rh
dGEgKz0gJExMTU5SX3Jlc3BvbnNlX2RhdGEgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX1RUTF9ieXRlcyArCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDQgKwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtTeXN0ZW0uTmV0
LklQQWRkcmVzc11bU3RyaW5nXShbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJFNwb29mZXJJUCkpLkdl
dEFkZHJlc3NCeXRlcygpCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JExMTU5SX3Jlc3BvbnNlX3BhY2tldCA9IDB4MTQsMHhlYiArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNvdXJjZV9wb3J0WzEsMF0gKwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRV
RFBfbGVuZ3RoWzEsMF0gKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAsMHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBheWxvYWRfYnl0ZXNbMCwxXSArCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwweDAw
LDB4MDAsMHgwMSwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCArCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3Jlc3BvbnNl
X2RhdGEKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5S
X3F1ZXJ5X3N0cmluZyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0U3RyaW5nKCRw
YXlsb2FkX2J5dGVzWzEzLi4oJHBheWxvYWRfYnl0ZXMuTGVuZ3RoIC0gNCldKSAtcmVwbGFjZSAi
YDAiLCIiCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoISRpbnZlaWdoLnJlcXVlc3Rf
dGFibGUuQ29udGFpbnNLZXkoJExMTU5SX3F1ZXJ5X3N0cmluZykpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gucmVx
dWVzdF90YWJsZS5BZGQoJExMTU5SX3F1ZXJ5X3N0cmluZy5Ub0xvd2VyKCksW0FycmF5XSRzb3Vy
Y2VfSVAuSVBBZGRyZXNzVG9TdHJpbmcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGludmVpZ2gucmVxdWVzdF90YWJsZV91cGRhdGVkID0gJHRydWUKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWln
aC5yZXF1ZXN0X3RhYmxlLiRMTE1OUl9xdWVyeV9zdHJpbmcgKz0gJHNvdXJjZV9JUC5JUEFkZHJl
c3NUb1N0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLnJlcXVl
c3RfdGFibGVfdXBkYXRlZCA9ICR0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3JlcXVlc3RfaWdub3JlID0gJGZhbHNl
CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTcG9vZmVy
TGVhcm5pbmcgLWVxICdZJyAtYW5kICRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCAtbm90Y29udGFp
bnMgJExMTU5SX3F1ZXJ5X3N0cmluZyAtYW5kICRzb3VyY2VfSVAgLW5lICRJUCkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYo
KCRMTE1OUl9sZWFybmluZ19sb2cuRXhpc3RzKHtwYXJhbSgkcykgJHMgLWxpa2UgIjIwKiAkTExN
TlJfcXVlcnlfc3RyaW5nIn0pKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1OUl9sZWFybmluZ19xdWV1ZV90
aW1lID0gW0RhdGVUaW1lXSRMTE1OUl9sZWFybmluZ19sb2cuRmluZCh7cGFyYW0oJHMpICRzIC1s
aWtlICIyMCogJExMTU5SX3F1ZXJ5X3N0cmluZyJ9KS5TdWJTdHJpbmcoMCwxOSkKCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKChHZXQtRGF0ZSkgLWdlICRMTE1OUl9sZWFy
bmluZ19xdWV1ZV90aW1lLkFkZE1pbnV0ZXMoJFNwb29mZXJMZWFybmluZ0ludGVydmFsKSkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJExMTU5SX2xlYXJuaW5nX2xvZy5SZW1vdmVBdCgkTExNTlJfbGVh
cm5pbmdfbG9nLkZpbmRJbmRleCh7cGFyYW0oJHMpICRzIC1saWtlICIyMCogJExMTU5SX3F1ZXJ5
X3N0cmluZyJ9KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1O
Ul9sZWFybmluZ19zZW5kID0gJHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICRMTE1OUl9sZWFybmluZ19zZW5kID0gJGZhbHNlCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJExMTU5SX2xlYXJuaW5nX3NlbmQgPSAkdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZigkTExNTlJfbGVhcm5pbmdfc2VuZCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRM
TE1OUl90cmFuc2FjdGlvbl9JRCA9IFtTdHJpbmddKDEuLjIgfCBGb3JFYWNoLU9iamVjdCB7Insw
OlgyfSIgLWYgKEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAyNTUpfSkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3RyYW5zYWN0aW9uX0lEX2J5dGVzID0g
JExMTU5SX3RyYW5zYWN0aW9uX0lELlNwbGl0KCIgIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1b
U3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJExMTU5SX3RyYW5zYWN0aW9uX0lEID0gJExMTU5SX3RyYW5zYWN0aW9uX0lE
IC1yZXBsYWNlICIgIiwiLSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJExM
TU5SX1VEUF9jbGllbnQgPSBuZXctT2JqZWN0IFN5c3RlbS5OZXQuU29ja2V0cy5VZHBDbGllbnQK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX2hvc3RuYW1lX2J5dGVz
ID0gJHBheWxvYWRfYnl0ZXNbMTMuLigkcGF5bG9hZF9ieXRlcy5MZW5ndGggLSA1KV0KCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1OUl9yZXF1ZXN0X3BhY2tldCA9ICRM
TE1OUl90cmFuc2FjdGlvbl9JRF9ieXRlcyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCww
eDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJExMTU5SX2hvc3RuYW1lX2J5dGVzLkxlbmd0
aCAtIDEpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJExMTU5SX2hvc3RuYW1lX2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAxLDB4MDAsMHgw
MQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX2xlYXJuaW5nX2Rl
c3RpbmF0aW9uX2VuZHBvaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LklQRW5kcG9pbnQoW0lQ
QWRkcmVzc10iMjI0LjAuMC4yNTIiLDUzNTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRMTE1OUl9VRFBfY2xpZW50LkNvbm5lY3QoJExMTU5SX2xlYXJuaW5nX2Rlc3RpbmF0
aW9uX2VuZHBvaW50KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTExNTlJf
VURQX2NsaWVudC5TZW5kKCRMTE1OUl9yZXF1ZXN0X3BhY2tldCwkTExNTlJfcmVxdWVzdF9wYWNr
ZXQuTGVuZ3RoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTExNTlJfVURQ
X2NsaWVudC5DbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1O
Ul9sZWFybmluZ19sb2cuQWRkKCIkKEdldC1EYXRlIC1mb3JtYXQgcykgJExMTU5SX3RyYW5zYWN0
aW9uX0lEICRMTE1OUl9xdWVyeV9zdHJpbmciKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsrXSBbJChHZXQtRGF0
ZSAtZm9ybWF0IHMpXSBMTE1OUiByZXF1ZXN0ICRMTE1OUl9xdWVyeV9zdHJpbmcgc2VudCB0byAy
MjQuMC4wLjI1MiIpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICRMTE1OUl9yZXNwb25zZV9tZXNzYWdlID0gR2V0LVNwb29mZXJSZXNwb25zZU1lc3NhZ2UgLVF1
ZXJ5U3RyaW5nICRMTE1OUl9xdWVyeV9zdHJpbmcgLVR5cGUgIkxMTU5SIiAtRW5hYmxlZCAkTExN
TlIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1OUl9yZXNwb25zZV90eXBlID0gJExM
TU5SX3Jlc3BvbnNlX21lc3NhZ2VbMF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1O
Ul9yZXNwb25zZV9tZXNzYWdlID0gJExMTU5SX3Jlc3BvbnNlX21lc3NhZ2VbMV0KCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZigkTExNTlJfcmVzcG9uc2VfbWVzc2FnZSAtZXEgJ1tyZXNw
b25zZSBzZW50XScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmKCRTcG9vZmVyTGVhcm5pbmcgLWVxICdOJyAtb3IgISRMTE1O
Ul9sZWFybmluZ19sb2cuRXhpc3RzKHtwYXJhbSgkcykgJHMgLWxpa2UgIiogIiArIFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6VG9TdHJpbmcoJHBheWxvYWRfYnl0ZXNbMC4uMV0pICsgIiAqIn0pKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJExMTU5SX3NlbmRfc29ja2V0ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNv
Y2tldHMuU29ja2V0KFtTeXN0ZW0uTmV0LlNvY2tldHMuQWRkcmVzc0ZhbWlseV06OkludGVyTmV0
d29yayxbU3lzdGVtLk5ldC5Tb2NrZXRzLlNvY2tldFR5cGVdOjpSYXcsW1N5c3RlbS5OZXQuU29j
a2V0cy5Qcm90b2NvbFR5cGVdOjpVZHApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRMTE1OUl9zZW5kX3NvY2tldC5TZW5kQnVmZmVyU2l6ZSA9IDEwMjQKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJExMTU5SX2Rlc3RpbmF0aW9uX3BvaW50ID0gTmV3LU9i
amVjdCBTeXN0ZW0uTmV0LklQRW5kcG9pbnQoJHNvdXJjZV9JUCwkZW5kcG9pbnRfc291cmNlX3Bv
cnQpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTExNTlJfc2VuZF9zb2Nr
ZXQuU2VuZFRvKCRMTE1OUl9yZXNwb25zZV9wYWNrZXQsJExMTU5SX2Rlc3RpbmF0aW9uX3BvaW50
KSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1OUl9zZW5k
X3NvY2tldC5DbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRMTE1OUl9yZXF1ZXN0
X2lnbm9yZSA9ICR0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZighJExMTU5SX3JlcXVlc3RfaWdub3JlKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRp
bnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIiRMTE1OUl9yZXNwb25zZV90eXBlIFskKEdldC1EYXRl
IC1mb3JtYXQgcyldIExMTU5SIHJlcXVlc3QgZm9yICRMTE1OUl9xdWVyeV9zdHJpbmcgcmVjZWl2
ZWQgZnJvbSAkc291cmNlX0lQICRMTE1OUl9yZXNwb25zZV9tZXNzYWdlIikgPiAkbnVsbAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHN3
aXRjaCgkZW5kcG9pbnRfc291cmNlX3BvcnQpCiAgICAgICAgICAgICAgICB7CgogICAgICAgICAg
ICAgICAgICAgIDUzNTUgIyBMTE1OUiBSZXNwb25zZQogICAgICAgICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNwb29mZXJMZWFy
bmluZyAtZXEgJ1knIC1hbmQgJExMTU5SX2xlYXJuaW5nX2xvZy5FeGlzdHMoe3BhcmFtKCRzKSAk
cyAtbGlrZSAiKiAiICsgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkcGF5bG9hZF9i
eXRlc1swLi4xXSkgKyAiICoifSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICRMTE1OUl9xdWVyeV9zdHJpbmcgPSBbU3lzdGVtLlRleHQuRW5j
b2RpbmddOjpVVEY4LkdldFN0cmluZygkcGF5bG9hZF9ieXRlc1sxMy4uKCRwYXlsb2FkX2J5dGVz
Lkxlbmd0aCAtIDQpXSkgLXJlcGxhY2UgImAwIiwiIgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW0J5dGVbXV0kTExNTlJfcmVzcG9uc2VfSVBfYnl0ZXMgPSAkcGF5bG9hZF9ieXRlc1soJHBh
eWxvYWRfYnl0ZXMuTGVuZ3RoIC0gNCkuLigkcGF5bG9hZF9ieXRlcy5MZW5ndGgpXQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3Jlc3BvbnNlX0lQID0gW1N5c3RlbS5OZXQuSVBB
ZGRyZXNzXSRMTE1OUl9yZXNwb25zZV9JUF9ieXRlcwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJExMTU5SX3Jlc3BvbnNlX0lQID0gJExMTU5SX3Jlc3BvbnNlX0lQLklQQWRkcmVzc1RvU3Ry
aW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmKCRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCAtbm90Y29udGFpbnMgJExMTU5SX3F1ZXJ5
X3N0cmluZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkaW52ZWlnaC52YWxpZF9ob3N0X2xpc3QuQWRkKCRMTE1OUl9xdWVyeV9z
dHJpbmcpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5v
dXRwdXRfcXVldWUuQWRkKCJbK10gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJExMTU5SX3F1ZXJ5
X3N0cmluZyBMTE1OUiByZXNwb25zZSAkTExNTlJfcmVzcG9uc2VfSVAgcmVjZWl2ZWQgZnJvbSAk
c291cmNlX0lQIFthZGRlZCB0byB2YWxpZCBob3N0IGxpc3RdIikgPiAkbnVsbAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
IH0KCiAgICAgICAgICAgICAgICBpZigkUGNhcCAtYW5kICgkUGNhcFVEUCAtY29udGFpbnMgJGVu
ZHBvaW50X3NvdXJjZV9wb3J0IC1vciAkUGNhcFVEUCAtY29udGFpbnMgJGRlc3RpbmF0aW9uX3Bv
cnQgLW9yICRQY2FwVURQIC1jb250YWlucyAnQWxsJykpCiAgICAgICAgICAgICAgICB7CgogICAg
ICAgICAgICAgICAgICAgIGlmKCRwYXlsb2FkX2J5dGVzKQogICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgJHBjYXBfZXBvY2hfdGltZSA9IChbZGF0ZXRpbWVdOjpV
dGNOb3cpLShHZXQtRGF0ZSAiMS8xLzE5NzAiKQogICAgICAgICAgICAgICAgICAgICAgICAkcGNh
cF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbGVuZ3Ro
ICsgMTQpCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAk
cGNhcF9wYWNrZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKFtJbnRdW01hdGhd
OjpUcnVuY2F0ZSgkcGNhcF9lcG9jaF90aW1lLlRvdGFsU2Vjb25kcykpICsgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwY2FwX2Vw
b2NoX3RpbWUuTWlsbGlzZWNvbmRzKSArICMgc2hvdWxkIGJlIG1pY3Jvc2Vjb25kcyBidXQgcHJv
YmFibHkgZG9lc24ndCBtYXR0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwY2FwX2xl
bmd0aCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGNhcF9sZW5ndGggKwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKCwweDAwICogMTIpICsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDgsMHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnl0ZV9kYXRh
WzAuLigkcGFja2V0X2xlbmd0aCAtIDEpXQoKICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNo
ICgkUGNhcCkKICAgICAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdGaWxlJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwY2FwX2ZpbGUuV3JpdGUoJHBj
YXBfcGFja2V0LDAsJHBjYXBfcGFja2V0LkNvdW50KSAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2gKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8uRXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAt
cmVwbGFjZSAiYG4iLCIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZl
aWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkZXJyb3Jf
bWVzc2FnZSAkKCRfLkludm9jYXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdN
ZW1vcnknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJGludmVpZ2gucGNhcC5BZGRSYW5nZSgkcGNhcF9wYWNrZXQpIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAg
ICB9CgogICAgfQoKICAgICRiaW5hcnlfcmVhZGVyLkNsb3NlKCkKICAgICRtZW1vcnlfc3RyZWFt
LkRpc3Bvc2UoKQogICAgJG1lbW9yeV9zdHJlYW0uQ2xvc2UoKQogICAgJHBjYXBfZmlsZS5DbG9z
ZSgpCn0KCiMgVW5wcml2aWxlZ2VkIEROUyBTcG9vZmVyIFNjcmlwdEJsb2NrIAokRE5TX3Nwb29m
ZXJfc2NyaXB0YmxvY2sgPSAKewogICAgcGFyYW0gKCRJbnNwZWN0LCRETlNUVEwsJFNwb29mZXJJ
UCkKCiAgICAkRE5TX3J1bm5pbmcgPSAkdHJ1ZQogICAgJEROU19saXN0ZW5lcl9lbmRwb2ludCA9
IE5ldy1vYmplY3QgU3lzdGVtLk5ldC5JUEVuZFBvaW50IChbSVBBZGRyZXNzXTo6QW55LDUzKQoK
ICAgIHRyeQogICAgewogICAgICAgICRETlNfVURQX2NsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVt
Lk5ldC5Tb2NrZXRzLlVkcENsaWVudCA1MwogICAgfQogICAgY2F0Y2gKICAgIHsKICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbLV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gRXJy
b3Igc3RhcnRpbmcgRE5TIHNwb29mZXIiKSA+ICRudWxsCiAgICAgICAgJGVycm9yX21lc3NhZ2Ug
PSAkXy5FeGNlcHRpb24uTWVzc2FnZQogICAgICAgICRlcnJvcl9tZXNzYWdlID0gJGVycm9yX21l
c3NhZ2UgLXJlcGxhY2UgImBuIiwiIgogICAgICAgICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQo
IlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAkZXJyb3JfbWVzc2FnZSAkKCRfLkludm9jYXRp
b25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwKICAgICAgICAkRE5TX3J1bm5pbmcgPSAkZmFs
c2UKICAgIH0KCiAgICAkRE5TX1VEUF9jbGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gNTAw
MAogICAgJEROU19UVExfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRE
TlNUVEwpCiAgICBbQXJyYXldOjpSZXZlcnNlKCRETlNfVFRMX2J5dGVzKQoKICAgIHdoaWxlKCRp
bnZlaWdoLnJ1bm5pbmcgLWFuZCAkRE5TX3J1bm5pbmcpCiAgICB7ICAgCgogICAgICAgIHRyeQog
ICAgICAgIHsKICAgICAgICAgICAgJEROU19yZXF1ZXN0X2RhdGEgPSAkRE5TX1VEUF9jbGllbnQu
UmVjZWl2ZShbUmVmXSRETlNfbGlzdGVuZXJfZW5kcG9pbnQpCiAgICAgICAgfQogICAgICAgIGNh
dGNoCiAgICAgICAgewogICAgICAgICAgICAkRE5TX1VEUF9jbGllbnQuQ2xvc2UoKQogICAgICAg
ICAgICAkRE5TX1VEUF9jbGllbnQgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuU29ja2V0cy5VZHBD
bGllbnQgNTMKICAgICAgICAgICAgJEROU19VRFBfY2xpZW50LkNsaWVudC5SZWNlaXZlVGltZW91
dCA9IDUwMDAKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoJEROU19yZXF1ZXN0X2RhdGEg
LWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRETlNfcmVxdWVzdF9kYXRhWzEw
Li4xMV0pIC1uZSAnMDAtMDEnKQogICAgICAgIHsKICAgICAgICAgICAgJEROU19xdWVyeV9zdHJp
bmcgPSBHZXQtTmFtZVF1ZXJ5U3RyaW5nIDEyICRETlNfcmVxdWVzdF9kYXRhCiAgICAgICAgICAg
ICRETlNfcmVzcG9uc2VfZGF0YSA9ICRETlNfcmVxdWVzdF9kYXRhWzEyLi4oJEROU19xdWVyeV9z
dHJpbmcuTGVuZ3RoICsgMTMpXQogICAgICAgICAgICAkRE5TX3Jlc3BvbnNlX3R5cGUgPSAiWytd
IgoKICAgICAgICAgICAgJEROU19yZXNwb25zZV9wYWNrZXQgPSAkRE5TX3JlcXVlc3RfZGF0YVsw
LDFdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwweDAwLDB4MDAs
MHgwMSwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICRETlNfcmVzcG9uc2VfZGF0YSArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAsMHgwMSwweDAwLDB4MDEgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkRE5TX3Jlc3BvbnNlX2RhdGEgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDAwLDB4MDEsMHgwMCwweDAxICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJEROU19UVExfYnl0ZXMgKwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDAwLDB4MDQgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXVtTdHJpbmddKFtTeXN0ZW0uTmV0LklQQWRkcmVz
c10kU3Bvb2ZlcklQKSkuR2V0QWRkcmVzc0J5dGVzKCkKCiAgICAgICAgICAgICRzb3VyY2VfSVAg
PSAkRE5TX2xpc3RlbmVyX2VuZHBvaW50LkFkZHJlc3MKICAgICAgICAgICAgJEROU19yZXNwb25z
ZV9tZXNzYWdlID0gR2V0LVNwb29mZXJSZXNwb25zZU1lc3NhZ2UgLVF1ZXJ5U3RyaW5nICRETlNf
cXVlcnlfc3RyaW5nIC1UeXBlICJETlMiIC1FbmFibGVkICRETlMKICAgICAgICAgICAgJEROU19y
ZXNwb25zZV90eXBlID0gJEROU19yZXNwb25zZV9tZXNzYWdlWzBdCiAgICAgICAgICAgICRETlNf
cmVzcG9uc2VfbWVzc2FnZSA9ICRETlNfcmVzcG9uc2VfbWVzc2FnZVsxXQoKICAgICAgICAgICAg
aWYoJEROU19yZXNwb25zZV9tZXNzYWdlIC1lcSAnW3Jlc3BvbnNlIHNlbnRdJykKICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgJEROU19kZXN0aW5hdGlvbl9lbmRwb2ludCA9IE5ldy1PYmpl
Y3QgU3lzdGVtLk5ldC5JUEVuZHBvaW50KCRETlNfbGlzdGVuZXJfZW5kcG9pbnQuQWRkcmVzcywk
RE5TX2xpc3RlbmVyX2VuZHBvaW50LlBvcnQpCiAgICAgICAgICAgICAgICAkRE5TX1VEUF9jbGll
bnQuQ29ubmVjdCgkRE5TX2Rlc3RpbmF0aW9uX2VuZHBvaW50KQogICAgICAgICAgICAgICAgJERO
U19VRFBfY2xpZW50LlNlbmQoJEROU19yZXNwb25zZV9wYWNrZXQsJEROU19yZXNwb25zZV9wYWNr
ZXQuTGVuZ3RoKQogICAgICAgICAgICAgICAgJEROU19VRFBfY2xpZW50LkNsb3NlKCkKICAgICAg
ICAgICAgICAgICRETlNfVURQX2NsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRz
LlVkcENsaWVudCA1MwogICAgICAgICAgICAgICAgJEROU19VRFBfY2xpZW50LkNsaWVudC5SZWNl
aXZlVGltZW91dCA9IDUwMDAKICAgICAgICAgICAgfQogICAgICAgICAgIAogICAgICAgICAgICAk
aW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCIkRE5TX3Jlc3BvbnNlX3R5cGUgWyQoR2V0LURhdGUg
LWZvcm1hdCBzKV0gRE5TIHJlcXVlc3QgZm9yICRETlNfcXVlcnlfc3RyaW5nIHJlY2VpdmVkIGZy
b20gJHNvdXJjZV9JUCAkRE5TX3Jlc3BvbnNlX21lc3NhZ2UiKSA+ICRudWxsCiAgICAgICAgICAg
ICRETlNfcmVxdWVzdF9kYXRhID0gJG51bGwKICAgICAgICB9CiAgICAgICAgCiAgICB9CgogICAg
JEROU19VRFBfY2xpZW50LkNsb3NlKCkKfQoKIyBVbnByaXZpbGVnZWQgTExNTlIgU3Bvb2ZlciBT
Y3JpcHRCbG9jayAKJExMTU5SX3Nwb29mZXJfc2NyaXB0YmxvY2sgPSAKewogICAgcGFyYW0gKCRJ
bnNwZWN0LCRMTE1OUlRUTCwkU3Bvb2ZlcklQLCRTcG9vZmVySG9zdHNSZXBseSwkU3Bvb2Zlckhv
c3RzSWdub3JlLCRTcG9vZmVySVBzUmVwbHksJFNwb29mZXJJUHNJZ25vcmUsJFNwb29mZXJOb25w
cmludGFibGUpCgogICAgJExMTU5SX3J1bm5pbmcgPSAkdHJ1ZQogICAgJExMTU5SX2xpc3RlbmVy
X2VuZHBvaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LklQRW5kUG9pbnQgKFtJUEFkZHJlc3Nd
OjpBbnksNTM1NSkKCiAgICB0cnkKICAgIHsKICAgICAgICAkTExNTlJfVURQX2NsaWVudCA9IE5l
dy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlVkcENsaWVudAogICAgICAgICRMTE1OUl9VRFBf
Y2xpZW50LkV4Y2x1c2l2ZUFkZHJlc3NVc2UgPSAkZmFsc2UKICAgICAgICAkTExNTlJfVURQX2Ns
aWVudC5DbGllbnQuU2V0U29ja2V0T3B0aW9uKCJTb2NrZXQiLCAiUmV1c2VBZGRyZXNzIiwgJHRy
dWUpCiAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuQ2xpZW50LkJpbmQoJExMTU5SX2xpc3RlbmVy
X2VuZHBvaW50KQogICAgfQogICAgY2F0Y2gKICAgIHsKICAgICAgICAkaW52ZWlnaC5vdXRwdXRf
cXVldWUuQWRkKCJbLV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gRXJyb3Igc3RhcnRpbmcgTExN
TlIgc3Bvb2ZlciIpID4gJG51bGwKICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlv
bi5NZXNzYWdlCiAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFj
ZSAiYG4iLCIiCiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldICRlcnJvcl9tZXNzYWdlICQoJF8uSW52b2NhdGlvbkluZm8uTGluZS5U
cmltKCkpIikgPiAkbnVsbAogICAgICAgICRMTE1OUl9ydW5uaW5nID0gJGZhbHNlCiAgICB9Cgog
ICAgJExMTU5SX211bHRpY2FzdF9ncm91cCA9IFtJUEFkZHJlc3NdIjIyNC4wLjAuMjUyIgogICAg
JExMTU5SX1VEUF9jbGllbnQuSm9pbk11bHRpY2FzdEdyb3VwKCRMTE1OUl9tdWx0aWNhc3RfZ3Jv
dXApCiAgICAkTExNTlJfVURQX2NsaWVudC5DbGllbnQuUmVjZWl2ZVRpbWVvdXQgPSA1MDAwCiAg
ICAkTExNTlJfVFRMX2J5dGVzID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkTExN
TlJUVEwpCiAgICBbQXJyYXldOjpSZXZlcnNlKCRMTE1OUl9UVExfYnl0ZXMpCgogICAgd2hpbGUo
JGludmVpZ2gucnVubmluZyAtYW5kICRMTE1OUl9ydW5uaW5nKQogICAgeyAgIAoKICAgICAgICB0
cnkKICAgICAgICB7CiAgICAgICAgICAgICRMTE1OUl9yZXF1ZXN0X2RhdGEgPSAkTExNTlJfVURQ
X2NsaWVudC5SZWNlaXZlKFtSZWZdJExMTU5SX2xpc3RlbmVyX2VuZHBvaW50KQogICAgICAgIH0K
ICAgICAgICBjYXRjaAogICAgICAgIHsgICAgICAKICAgICAgICAgICAgJExMTU5SX1VEUF9jbGll
bnQuQ2xvc2UoKQogICAgICAgICAgICAkTExNTlJfbGlzdGVuZXJfZW5kcG9pbnQgPSBOZXctT2Jq
ZWN0IFN5c3RlbS5OZXQuSVBFbmRQb2ludCAoW0lQQWRkcmVzc106OkFueSw1MzU1KQogICAgICAg
ICAgICAkTExNTlJfVURQX2NsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2NrZXRzLlVk
cENsaWVudAogICAgICAgICAgICAkTExNTlJfVURQX2NsaWVudC5FeGNsdXNpdmVBZGRyZXNzVXNl
ID0gJGZhbHNlCiAgICAgICAgICAgICRMTE1OUl9VRFBfY2xpZW50LkNsaWVudC5TZXRTb2NrZXRP
cHRpb24oIlNvY2tldCIsICJSZXVzZUFkZHJlc3MiLCAkdHJ1ZSkKICAgICAgICAgICAgJExMTU5S
X1VEUF9jbGllbnQuQ2xpZW50LkJpbmQoJExMTU5SX2xpc3RlbmVyX2VuZHBvaW50KQogICAgICAg
ICAgICAkTExNTlJfbXVsdGljYXN0X2dyb3VwID0gW0lQQWRkcmVzc10iMjI0LjAuMC4yNTIiCiAg
ICAgICAgICAgICRMTE1OUl9VRFBfY2xpZW50LkpvaW5NdWx0aWNhc3RHcm91cCgkTExNTlJfbXVs
dGljYXN0X2dyb3VwKQogICAgICAgICAgICAkTExNTlJfVURQX2NsaWVudC5DbGllbnQuUmVjZWl2
ZVRpbWVvdXQgPSA1MDAwCiAgICAgICAgfQoKICAgICAgICBpZigkTExNTlJfcmVxdWVzdF9kYXRh
IC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkTExNTlJfcmVxdWVzdF9kYXRh
WygkTExNTlJfcmVxdWVzdF9kYXRhLkxlbmd0aCAtIDQpLi4oJExMTU5SX3JlcXVlc3RfZGF0YS5M
ZW5ndGggLSAzKV0pIC1uZSAnMDAtMWMnKSAjIGlnbm9yZSBBQUFBIGZvciBub3cKICAgICAgICB7
CgogICAgICAgICAgICAkTExNTlJfcmVzcG9uc2VfcGFja2V0ID0gJExMTU5SX3JlcXVlc3RfZGF0
YVswLDFdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAsMHgwMCww
eDAwLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAgKwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJExMTU5SX3JlcXVlc3RfZGF0YVsxMi4uJExMTU5SX3JlcXVl
c3RfZGF0YS5MZW5ndGhdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRM
TE1OUl9yZXF1ZXN0X2RhdGFbMTIuLiRMTE1OUl9yZXF1ZXN0X2RhdGEuTGVuZ3RoXSArCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTExNTlJfVFRMX2J5dGVzICsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwNCArCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXVtTdHJpbmddKFtT
eXN0ZW0uTmV0LklQQWRkcmVzc10kU3Bvb2ZlcklQKSkuR2V0QWRkcmVzc0J5dGVzKCkKICAgICAg
ICAKICAgICAgICAgICAgJExMTU5SX3F1ZXJ5X3N0cmluZyA9IFtUZXh0LkVuY29kaW5nXTo6VVRG
OC5HZXRTdHJpbmcoJExMTU5SX3JlcXVlc3RfZGF0YVsxMy4uKCRMTE1OUl9yZXF1ZXN0X2RhdGFb
MTJdICsgMTIpXSkgICAgIAogICAgICAgICAgICAkc291cmNlX0lQID0gJExMTU5SX2xpc3RlbmVy
X2VuZHBvaW50LkFkZHJlc3MKICAgICAgICAgICAgJExMTU5SX3Jlc3BvbnNlX3R5cGUgPSAiWytd
IgoKICAgICAgICAgICAgaWYoISRpbnZlaWdoLnJlcXVlc3RfdGFibGUuQ29udGFpbnNLZXkoJExM
TU5SX3F1ZXJ5X3N0cmluZykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdo
LnJlcXVlc3RfdGFibGUuQWRkKCRMTE1OUl9xdWVyeV9zdHJpbmcuVG9Mb3dlcigpLFtBcnJheV0k
c291cmNlX0lQLklQQWRkcmVzc1RvU3RyaW5nKQogICAgICAgICAgICAgICAgJGludmVpZ2gucmVx
dWVzdF90YWJsZV91cGRhdGVkID0gJHRydWUKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdoLnJlcXVlc3RfdGFibGUuJExM
TU5SX3F1ZXJ5X3N0cmluZyArPSAkc291cmNlX0lQLklQQWRkcmVzc1RvU3RyaW5nCiAgICAgICAg
ICAgICAgICAkaW52ZWlnaC5yZXF1ZXN0X3RhYmxlX3VwZGF0ZWQgPSAkdHJ1ZQogICAgICAgICAg
ICB9CgogICAgICAgICAgICAkTExNTlJfcmVzcG9uc2VfbWVzc2FnZSA9IEdldC1TcG9vZmVyUmVz
cG9uc2VNZXNzYWdlIC1RdWVyeVN0cmluZyAkTExNTlJfcXVlcnlfc3RyaW5nIC1UeXBlICJMTE1O
UiIgLUVuYWJsZWQgJExMTU5SCiAgICAgICAgICAgICRMTE1OUl9yZXNwb25zZV90eXBlID0gJExM
TU5SX3Jlc3BvbnNlX21lc3NhZ2VbMF0KICAgICAgICAgICAgJExMTU5SX3Jlc3BvbnNlX21lc3Nh
Z2UgPSAkTExNTlJfcmVzcG9uc2VfbWVzc2FnZVsxXQoKICAgICAgICAgICAgaWYoJExMTU5SX3Jl
c3BvbnNlX21lc3NhZ2UgLWVxICdbcmVzcG9uc2Ugc2VudF0nKQogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAkTExNTlJfZGVzdGluYXRpb25fZW5kcG9pbnQgPSBOZXctT2JqZWN0IE5ldC5J
UEVuZHBvaW50KCRMTE1OUl9saXN0ZW5lcl9lbmRwb2ludC5BZGRyZXNzLCRMTE1OUl9saXN0ZW5l
cl9lbmRwb2ludC5Qb3J0KQogICAgICAgICAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuQ29ubmVj
dCgkTExNTlJfZGVzdGluYXRpb25fZW5kcG9pbnQpCiAgICAgICAgICAgICAgICAkTExNTlJfVURQ
X2NsaWVudC5TZW5kKCRMTE1OUl9yZXNwb25zZV9wYWNrZXQsJExMTU5SX3Jlc3BvbnNlX3BhY2tl
dC5MZW5ndGgpCiAgICAgICAgICAgICAgICAkTExNTlJfVURQX2NsaWVudC5DbG9zZSgpCiAgICAg
ICAgICAgICAgICAkTExNTlJfVURQX2NsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5Tb2Nr
ZXRzLlVkcENsaWVudAogICAgICAgICAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuRXhjbHVzaXZl
QWRkcmVzc1VzZSA9ICRmYWxzZQogICAgICAgICAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuQ2xp
ZW50LlNldFNvY2tldE9wdGlvbigiU29ja2V0IiwgIlJldXNlQWRkcmVzcyIsICR0cnVlKQogICAg
ICAgICAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuQ2xpZW50LkJpbmQoJExMTU5SX2xpc3RlbmVy
X2VuZHBvaW50KQogICAgICAgICAgICAgICAgJExMTU5SX211bHRpY2FzdF9ncm91cCA9IFtJUEFk
ZHJlc3NdIjIyNC4wLjAuMjUyIgogICAgICAgICAgICAgICAgJExMTU5SX1VEUF9jbGllbnQuSm9p
bk11bHRpY2FzdEdyb3VwKCRMTE1OUl9tdWx0aWNhc3RfZ3JvdXApCiAgICAgICAgICAgICAgICAk
TExNTlJfVURQX2NsaWVudC5DbGllbnQuUmVjZWl2ZVRpbWVvdXQgPSA1MDAwCiAgICAgICAgICAg
IH0KICAgICAgICAKICAgICAgICAgICAgaWYoJExMTU5SX3JlcXVlc3RfZGF0YSkKICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiJExMTU5SX3Jl
c3BvbnNlX3R5cGUgWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gTExNTlIgcmVxdWVzdCBmb3IgJExM
TU5SX3F1ZXJ5X3N0cmluZyByZWNlaXZlZCBmcm9tICRzb3VyY2VfSVAgJExMTU5SX3Jlc3BvbnNl
X21lc3NhZ2UiKSA+ICRudWxsCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRMTE1OUl9yZXF1
ZXN0X2RhdGEgPSAkbnVsbAogICAgICAgIH0KCiAgICB9CgogICAgJGludmVpZ2gub3V0cHV0X3F1
ZXVlLkFkZCgiWy1dIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIGxlYXZpbmciKSA+ICRudWxsCiAg
ICAkTExNTlJfVURQX2NsaWVudC5DbG9zZSgpCiB9CgojIFVucHJpdmlsZWdlZCBtRE5TIFNwb29m
ZXIgU2NyaXB0QmxvY2sgCiRtRE5TX3Nwb29mZXJfc2NyaXB0YmxvY2sgPSAKewogICAgcGFyYW0g
KCRJbnNwZWN0LCRtRE5TVFRMLCRtRE5TVHlwZXMsJFNwb29mZXJJUCwkU3Bvb2Zlckhvc3RzUmVw
bHksJFNwb29mZXJIb3N0c0lnbm9yZSwkU3Bvb2ZlcklQc1JlcGx5LCRTcG9vZmVySVBzSWdub3Jl
KQoKICAgICRtRE5TX3J1bm5pbmcgPSAkdHJ1ZQogICAgJG1ETlNfbGlzdGVuZXJfZW5kcG9pbnQg
PSBOZXctb2JqZWN0IFN5c3RlbS5OZXQuSVBFbmRQb2ludCAoW0lQQWRkcmVzc106OkFueSw1MzUz
KQoKICAgIHRyeQogICAgewogICAgICAgICRtRE5TX1VEUF9jbGllbnQgPSBOZXctT2JqZWN0IFN5
c3RlbS5OZXQuU29ja2V0cy5VZHBDbGllbnQKICAgICAgICAkbUROU19VRFBfY2xpZW50LkV4Y2x1
c2l2ZUFkZHJlc3NVc2UgPSAkZmFsc2UKICAgICAgICAkbUROU19VRFBfY2xpZW50LkNsaWVudC5T
ZXRTb2NrZXRPcHRpb24oIlNvY2tldCIsICJSZXVzZUFkZHJlc3MiLCAkdHJ1ZSkKICAgICAgICAk
bUROU19VRFBfY2xpZW50LkNsaWVudC5CaW5kKCRtRE5TX2xpc3RlbmVyX2VuZHBvaW50KQoKICAg
IH0KICAgIGNhdGNoCiAgICB7CiAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1d
IFskKEdldC1EYXRlIC1mb3JtYXQgcyldIEVycm9yIHN0YXJ0aW5nIG1ETlMgc3Bvb2ZlciIpID4g
JG51bGwKICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRfLkV4Y2VwdGlvbi5NZXNzYWdlCiAgICAg
ICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAiYG4iLCIiCiAgICAg
ICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFskKEdldC1EYXRlIC1mb3JtYXQgcyld
ICRlcnJvcl9tZXNzYWdlICQoJF8uSW52b2NhdGlvbkluZm8uTGluZS5UcmltKCkpIikgPiAkbnVs
bAogICAgICAgICRtRE5TX3J1bm5pbmcgPSAkZmFsc2UKICAgIH0KCiAgICAkbUROU19tdWx0aWNh
c3RfZ3JvdXAgPSBbSVBBZGRyZXNzXSIyMjQuMC4wLjI1MSIKICAgICRtRE5TX1VEUF9jbGllbnQu
Sm9pbk11bHRpY2FzdEdyb3VwKCRtRE5TX211bHRpY2FzdF9ncm91cCkKICAgICRtRE5TX1VEUF9j
bGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gNTAwMAogICAgJG1ETlNfVFRMX2J5dGVzID0g
W1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkbUROU1RUTCkKICAgIFtBcnJheV06OlJl
dmVyc2UoJG1ETlNfVFRMX2J5dGVzKQoKICAgIHdoaWxlKCRpbnZlaWdoLnJ1bm5pbmcgLWFuZCAk
bUROU19ydW5uaW5nKQogICAgeyAgIAoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAg
ICRtRE5TX3JlcXVlc3RfZGF0YSA9ICRtRE5TX1VEUF9jbGllbnQuUmVjZWl2ZShbUmVmXSRtRE5T
X2xpc3RlbmVyX2VuZHBvaW50KQogICAgICAgIH0KICAgICAgICBjYXRjaAogICAgICAgIHsKICAg
ICAgICAgICAgJG1ETlNfVURQX2NsaWVudC5DbG9zZSgpCiAgICAgICAgICAgICRtRE5TX1VEUF9j
bGllbnQgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuU29ja2V0cy5VZHBDbGllbnQKICAgICAgICAg
ICAgJG1ETlNfVURQX2NsaWVudC5FeGNsdXNpdmVBZGRyZXNzVXNlID0gJGZhbHNlCiAgICAgICAg
ICAgICRtRE5TX1VEUF9jbGllbnQuQ2xpZW50LlNldFNvY2tldE9wdGlvbigiU29ja2V0IiwgIlJl
dXNlQWRkcmVzcyIsICR0cnVlKQogICAgICAgICAgICAkbUROU19VRFBfY2xpZW50LkNsaWVudC5C
aW5kKCRtRE5TX2xpc3RlbmVyX2VuZHBvaW50KQogICAgICAgICAgICAkbUROU19tdWx0aWNhc3Rf
Z3JvdXAgPSBbSVBBZGRyZXNzXSIyMjQuMC4wLjI1MSIKICAgICAgICAgICAgJG1ETlNfVURQX2Ns
aWVudC5Kb2luTXVsdGljYXN0R3JvdXAoJG1ETlNfbXVsdGljYXN0X2dyb3VwKQogICAgICAgICAg
ICAkbUROU19VRFBfY2xpZW50LkNsaWVudC5SZWNlaXZlVGltZW91dCA9IDUwMDAKICAgICAgICB9
CgogICAgICAgIGlmKChbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRtRE5TX3JlcXVl
c3RfZGF0YSkpLkVuZHNXaXRoKCItMDAtMDEtODAtMDEiKSAtYW5kIFtTeXN0ZW0uQml0Q29udmVy
dGVyXTo6VG9TdHJpbmcoJG1ETlNfcmVxdWVzdF9kYXRhWzQuLjExXSkgLWVxICIwMC0wMS0wMC0w
MC0wMC0wMC0wMC0wMCIpCiAgICAgICAgewogICAgICAgICAgICAkc291cmNlX0lQID0gJG1ETlNf
bGlzdGVuZXJfZW5kcG9pbnQuQWRkcmVzcwogICAgICAgICAgICAkbUROU19xdWVyeV9zdHJpbmdf
ZnVsbCA9IEdldC1OYW1lUXVlcnlTdHJpbmcgMTIgJG1ETlNfcmVxdWVzdF9kYXRhCiAgICAgICAg
ICAgICRtRE5TX3F1ZXJ5X3N0cmluZyA9ICgkbUROU19xdWVyeV9zdHJpbmdfZnVsbC5TcGxpdCgi
LiIpKVswXQogICAgICAgICAgICAkbUROU19yZXNwb25zZV90eXBlID0gIlsrXSIKCiAgICAgICAg
ICAgICRtRE5TX3Jlc3BvbnNlX3BhY2tldCA9ICRtRE5TX3JlcXVlc3RfZGF0YVswLDFdICsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4NCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICRtRE5TX3JlcXVlc3RfZGF0YVsxMi4uKCRtRE5TX3F1ZXJ5X3N0cmluZ19mdWxsLkxl
bmd0aCArIDEzKV0gKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4
MDEsMHgwMCwweDAxICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1ETlNf
VFRMX2J5dGVzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDA0
ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtTeXN0ZW0uTmV0LklQQWRk
cmVzc11bU3RyaW5nXShbU3lzdGVtLk5ldC5JUEFkZHJlc3NdJFNwb29mZXJJUCkpLkdldEFkZHJl
c3NCeXRlcygpCiAgICAgICAgICAgIAogICAgICAgICAgICAkbUROU19yZXNwb25zZV9tZXNzYWdl
ID0gR2V0LVNwb29mZXJSZXNwb25zZU1lc3NhZ2UgLVF1ZXJ5U3RyaW5nICRtRE5TX3F1ZXJ5X3N0
cmluZyAgLVR5cGUgIm1ETlMiIC1tRE5TVHlwZSAiUVUiIC1FbmFibGVkICRtRE5TCiAgICAgICAg
ICAgICRtRE5TX3Jlc3BvbnNlX3R5cGUgPSAkbUROU19yZXNwb25zZV9tZXNzYWdlWzBdCiAgICAg
ICAgICAgICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2UgPSAkbUROU19yZXNwb25zZV9tZXNzYWdlWzFd
CgogICAgICAgICAgICBpZigkbUROU19yZXNwb25zZV9tZXNzYWdlIC1lcSAnW3Jlc3BvbnNlIHNl
bnRdJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJG1ETlNfZGVzdGluYXRpb25fZW5k
cG9pbnQgPSBOZXctT2JqZWN0IE5ldC5JUEVuZHBvaW50KCRtRE5TX2xpc3RlbmVyX2VuZHBvaW50
LkFkZHJlc3MsJG1ETlNfbGlzdGVuZXJfZW5kcG9pbnQuUG9ydCkKICAgICAgICAgICAgICAgICRt
RE5TX1VEUF9jbGllbnQuQ29ubmVjdCgkbUROU19kZXN0aW5hdGlvbl9lbmRwb2ludCkKICAgICAg
ICAgICAgICAgICRtRE5TX1VEUF9jbGllbnQuU2VuZCgkbUROU19yZXNwb25zZV9wYWNrZXQsJG1E
TlNfcmVzcG9uc2VfcGFja2V0Lkxlbmd0aCkKICAgICAgICAgICAgICAgICRtRE5TX1VEUF9jbGll
bnQuQ2xvc2UoKQogICAgICAgICAgICAgICAgJG1ETlNfVURQX2NsaWVudCA9IE5ldy1PYmplY3Qg
U3lzdGVtLk5ldC5Tb2NrZXRzLlVkcENsaWVudAogICAgICAgICAgICAgICAgJG1ETlNfVURQX2Ns
aWVudC5FeGNsdXNpdmVBZGRyZXNzVXNlID0gJGZhbHNlCiAgICAgICAgICAgICAgICAkbUROU19V
RFBfY2xpZW50LkNsaWVudC5TZXRTb2NrZXRPcHRpb24oIlNvY2tldCIsICJSZXVzZUFkZHJlc3Mi
LCAkdHJ1ZSkKICAgICAgICAgICAgICAgICRtRE5TX1VEUF9jbGllbnQuQ2xpZW50LkJpbmQoJG1E
TlNfbGlzdGVuZXJfZW5kcG9pbnQpCiAgICAgICAgICAgICAgICAkbUROU19tdWx0aWNhc3RfZ3Jv
dXAgPSBbSVBBZGRyZXNzXSIyMjQuMC4wLjI1MSIKICAgICAgICAgICAgICAgICRtRE5TX1VEUF9j
bGllbnQuSm9pbk11bHRpY2FzdEdyb3VwKCRtRE5TX211bHRpY2FzdF9ncm91cCkKICAgICAgICAg
ICAgICAgICRtRE5TX1VEUF9jbGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gNTAwMAogICAg
ICAgICAgICB9CiAgICAgICAgCiAgICAgICAgICAgIGlmKCRtRE5TX3JlcXVlc3RfZGF0YSkKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiJG1E
TlNfcmVzcG9uc2VfdHlwZSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBtRE5TKFFVKSByZXF1ZXN0
ICRtRE5TX3F1ZXJ5X3N0cmluZ19mdWxsIHJlY2VpdmVkIGZyb20gJHNvdXJjZV9JUCAkbUROU19y
ZXNwb25zZV9tZXNzYWdlIikgPiAkbnVsbAogICAgICAgICAgICB9CgogICAgICAgICAgICAkbURO
U19yZXF1ZXN0X2RhdGEgPSAkbnVsbAogICAgICAgIH0KICAgICAgICBlbHNlaWYoKFtTeXN0ZW0u
Qml0Q29udmVydGVyXTo6VG9TdHJpbmcoJG1ETlNfcmVxdWVzdF9kYXRhKSkuRW5kc1dpdGgoIi0w
MC0wMSIpIC1hbmQgKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoCiAgICAgICAgICAg
ICRtRE5TX3JlcXVlc3RfZGF0YVs0Li4xMV0pIC1lcSAiMDAtMDEtMDAtMDAtMDAtMDAtMDAtMDAi
IC1vciBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRtRE5TX3JlcXVlc3RfZGF0YVs0
Li4xMV0pIC1lcSAiMDAtMDItMDAtMDAtMDAtMDAtMDAtMDAiKSkKICAgICAgICB7CiAgICAgICAg
ICAgICRzb3VyY2VfSVAgPSAkbUROU19saXN0ZW5lcl9lbmRwb2ludC5BZGRyZXNzCiAgICAgICAg
ICAgICRtRE5TX3F1ZXJ5X3N0cmluZ19mdWxsID0gR2V0LU5hbWVRdWVyeVN0cmluZyAxMiAkbURO
U19yZXF1ZXN0X2RhdGEKICAgICAgICAgICAgJG1ETlNfcXVlcnlfc3RyaW5nID0gKCRtRE5TX3F1
ZXJ5X3N0cmluZ19mdWxsLlNwbGl0KCIuIikpWzBdCiAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNl
X3R5cGUgPSAiWytdIgoKICAgICAgICAgICAgJG1ETlNfcmVzcG9uc2VfcGFja2V0ID0gJG1ETlNf
cmVxdWVzdF9kYXRhWzAsMV0gKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
eDg0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwICsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1ETlNfcmVxdWVzdF9kYXRhWzEyLi4oJG1E
TlNfcXVlcnlfc3RyaW5nX2Z1bGwuTGVuZ3RoICsgMTMpXSArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAsMHgwMSwweDAwLDB4MDEgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAkbUROU19UVExfYnl0ZXMgKwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDAwLDB4MDQgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoW1N5c3RlbS5OZXQuSVBBZGRyZXNzXVtTdHJpbmddKFtTeXN0ZW0uTmV0LklQQWRkcmVz
c10kU3Bvb2ZlcklQKSkuR2V0QWRkcmVzc0J5dGVzKCkgICAgICAgIAogICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2UgPSBHZXQtU3Bvb2ZlclJlc3BvbnNl
TWVzc2FnZSAtUXVlcnlTdHJpbmcgJG1ETlNfcXVlcnlfc3RyaW5nICAtVHlwZSAibUROUyIgLW1E
TlNUeXBlICJRTSIgLUVuYWJsZWQgJG1ETlMKICAgICAgICAgICAgJG1ETlNfcmVzcG9uc2VfdHlw
ZSA9ICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2VbMF0KICAgICAgICAgICAgJG1ETlNfcmVzcG9uc2Vf
bWVzc2FnZSA9ICRtRE5TX3Jlc3BvbnNlX21lc3NhZ2VbMV0KCiAgICAgICAgICAgIGlmKCRtRE5T
X3Jlc3BvbnNlX21lc3NhZ2UgLWVxICdbcmVzcG9uc2Ugc2VudF0nKQogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAkbUROU19kZXN0aW5hdGlvbl9lbmRwb2ludCA9IE5ldy1PYmplY3QgTmV0
LklQRW5kcG9pbnQoW0lQQWRkcmVzc10iMjI0LjAuMC4yNTEiLDUzNTMpCiAgICAgICAgICAgICAg
ICAkbUROU19VRFBfY2xpZW50LkNvbm5lY3QoJG1ETlNfZGVzdGluYXRpb25fZW5kcG9pbnQpCiAg
ICAgICAgICAgICAgICAkbUROU19VRFBfY2xpZW50LlNlbmQoJG1ETlNfcmVzcG9uc2VfcGFja2V0
LCRtRE5TX3Jlc3BvbnNlX3BhY2tldC5MZW5ndGgpCiAgICAgICAgICAgICAgICAkbUROU19VRFBf
Y2xpZW50LkNsb3NlKCkKICAgICAgICAgICAgICAgICRtRE5TX1VEUF9jbGllbnQgPSBuZXctT2Jq
ZWN0IFN5c3RlbS5OZXQuU29ja2V0cy5VZHBDbGllbnQgNTM1MwogICAgICAgICAgICAgICAgJG1E
TlNfbXVsdGljYXN0X2dyb3VwID0gW0lQQWRkcmVzc10iMjI0LjAuMC4yNTEiCiAgICAgICAgICAg
ICAgICAkbUROU19VRFBfY2xpZW50LkpvaW5NdWx0aWNhc3RHcm91cCgkbUROU19tdWx0aWNhc3Rf
Z3JvdXApCiAgICAgICAgICAgICAgICAkbUROU19VRFBfY2xpZW50LkNsaWVudC5SZWNlaXZlVGlt
ZW91dCA9IDUwMDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJG1ETlNfcmVxdWVzdF9k
YXRhKSAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGlu
dmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiJG1ETlNfcmVzcG9uc2VfdHlwZSBbJChHZXQtRGF0ZSAt
Zm9ybWF0IHMpXSBtRE5TKFFNKSByZXF1ZXN0ICRtRE5TX3F1ZXJ5X3N0cmluZ19mdWxsIHJlY2Vp
dmVkIGZyb20gJHNvdXJjZV9JUCAkbUROU19yZXNwb25zZV9tZXNzYWdlIikgPiAkbnVsbAogICAg
ICAgICAgICB9CgogICAgICAgICAgICAkbUROU19yZXF1ZXN0X2RhdGEgPSAkbnVsbAogICAgICAg
IH0KCiAgICB9CgogICAgJG1ETlNfVURQX2NsaWVudC5DbG9zZSgpCn0KCiMgVW5wcml2aWxlZ2Vk
IE5CTlMgU3Bvb2ZlciBTY3JpcHRCbG9jawokTkJOU19zcG9vZmVyX3NjcmlwdGJsb2NrID0gCnsK
ICAgIHBhcmFtICgkSW5zcGVjdCwkSVAsJE5CTlNUVEwsJE5CTlNUeXBlcywkU3Bvb2ZlcklQLCRT
cG9vZmVySG9zdHNJZ25vcmUsJFNwb29mZXJIb3N0c1JlcGx5LAogICAgICAgICRTcG9vZmVySVBz
SWdub3JlLCRTcG9vZmVySVBzUmVwbHksJFNwb29mZXJOb25wcmludGFibGUpCgogICAgJE5CTlNf
cnVubmluZyA9ICR0cnVlCiAgICAkTkJOU19saXN0ZW5lcl9lbmRwb2ludCA9IE5ldy1PYmplY3Qg
U3lzdGVtLk5ldC5JUEVuZFBvaW50IChbSVBBZGRyZXNzXTo6QnJvYWRjYXN0LDEzNykKCiAgICB0
cnkKICAgIHsKICAgICAgICAkTkJOU19VRFBfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0
LlNvY2tldHMuVWRwQ2xpZW50IDEzNwogICAgfQogICAgY2F0Y2gKICAgIHsKICAgICAgICAkaW52
ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbLV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gRXJyb3Ig
c3RhcnRpbmcgTkJOUyBzcG9vZmVyIikgPiAkbnVsbAogICAgICAgICRlcnJvcl9tZXNzYWdlID0g
JF8uRXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICRlcnJvcl9tZXNz
YWdlIC1yZXBsYWNlICJgbiIsIiIKICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJb
IV0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gJGVycm9yX21lc3NhZ2UgJCgkXy5JbnZvY2F0aW9u
SW5mby5MaW5lLlRyaW0oKSkiKSA+ICRudWxsCiAgICAgICAgJE5CTlNfcnVubmluZyA9ICRmYWxz
ZQogICAgfQoKICAgICROQk5TX1VEUF9jbGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gNTAw
MAogICAgJE5CTlNfVFRMX2J5dGVzID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygk
TkJOU1RUTCkKICAgIFtBcnJheV06OlJldmVyc2UoJE5CTlNfVFRMX2J5dGVzKQoKICAgIHdoaWxl
KCRpbnZlaWdoLnJ1bm5pbmcgLWFuZCAkTkJOU19ydW5uaW5nKQogICAgewogICAgICAgIAogICAg
ICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgJE5CTlNfcmVxdWVzdF9kYXRhID0gJE5CTlNf
VURQX2NsaWVudC5SZWNlaXZlKFtSZWZdJE5CTlNfbGlzdGVuZXJfZW5kcG9pbnQpCiAgICAgICAg
fQogICAgICAgIGNhdGNoCiAgICAgICAgewogICAgICAgICAgICAkTkJOU19VRFBfY2xpZW50LkNs
b3NlKCkKICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudCA9IE5ldy1PYmplY3QgU3lzdGVtLk5l
dC5Tb2NrZXRzLlVkcENsaWVudCAxMzcKICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5DbGll
bnQuUmVjZWl2ZVRpbWVvdXQgPSA1MDAwCiAgICAgICAgfQoKICAgICAgICBpZigkTkJOU19yZXF1
ZXN0X2RhdGEgLWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCROQk5TX3JlcXVl
c3RfZGF0YVsxMC4uMTFdKSAtbmUgJzAwLTAxJykKICAgICAgICB7CiAgICAgICAgICAgICROQk5T
X1RUTF9ieXRlcyA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJE5CTlNUVEwpCiAg
ICAgICAgICAgIFtBcnJheV06OlJldmVyc2UoJE5CTlNfVFRMX2J5dGVzKQoKICAgICAgICAgICAg
JE5CTlNfcmVzcG9uc2VfcGFja2V0ID0gJE5CTlNfcmVxdWVzdF9kYXRhWzAsMV0gKwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgw
MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAkTkJOU19yZXF1ZXN0X2RhdGFbMTMuLiROQk5TX3JlcXVlc3RfZGF0YS5MZW5ndGhd
ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5CTlNfVFRMX2J5dGVzICsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDA2LDB4MDAsMHgwMCAr
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChbU3lzdGVtLk5ldC5JUEFkZHJl
c3NdW1N0cmluZ10oW1N5c3RlbS5OZXQuSVBBZGRyZXNzXSRTcG9vZmVySVApKS5HZXRBZGRyZXNz
Qnl0ZXMoKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCww
eDAwLDB4MDAKCiAgICAgICAgICAgICRzb3VyY2VfSVAgPSAkTkJOU19saXN0ZW5lcl9lbmRwb2lu
dC5BZGRyZXNzCiAgICAgICAgICAgICROQk5TX3F1ZXJ5X3R5cGUgPSBbU3lzdGVtLkJpdENvbnZl
cnRlcl06OlRvU3RyaW5nKCROQk5TX3JlcXVlc3RfZGF0YVs0My4uNDRdKQogICAgICAgICAgICAk
TkJOU19xdWVyeV90eXBlID0gR2V0LU5CTlNRdWVyeVR5cGUgJE5CTlNfcXVlcnlfdHlwZQogICAg
ICAgICAgICAkTkJOU190eXBlID0gJE5CTlNfcmVxdWVzdF9kYXRhWzQ3XQogICAgICAgICAgICAk
TkJOU19yZXNwb25zZV90eXBlID0gIlsrXSIKICAgICAgICAgICAgJE5CTlNfcXVlcnkgPSBbU3lz
dGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCROQk5TX3JlcXVlc3RfZGF0YVsxMy4uKCROQk5T
X3JlcXVlc3RfZGF0YS5MZW5ndGggLSA0KV0pCiAgICAgICAgICAgICROQk5TX3F1ZXJ5ID0gJE5C
TlNfcXVlcnkgLXJlcGxhY2UgIi0wMCIsIiIKICAgICAgICAgICAgJE5CTlNfcXVlcnkgPSAkTkJO
U19xdWVyeS5TcGxpdCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0
XTo6VG9JbnQxNigkXywxNil9CiAgICAgICAgICAgICROQk5TX3F1ZXJ5X3N0cmluZ19lbmNvZGVk
ID0gTmV3LU9iamVjdCBTeXN0ZW0uU3RyaW5nICgkTkJOU19xdWVyeSwwLCROQk5TX3F1ZXJ5Lkxl
bmd0aCkKICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nX2VuY29kZWRfY2hlY2sgPSAkTkJO
U19xdWVyeV9zdHJpbmdfZW5jb2RlZAogICAgICAgICAgICAkTkJOU19xdWVyeV9zdHJpbmdfZW5j
b2RlZCA9ICROQk5TX3F1ZXJ5X3N0cmluZ19lbmNvZGVkLlN1YnN0cmluZygwLCROQk5TX3F1ZXJ5
X3N0cmluZ19lbmNvZGVkLkluZGV4T2YoIkNBIikpCiAgICAgICAgICAgICROQk5TX3F1ZXJ5X3N0
cmluZ19zdWJ0cmFjdGVkID0gJG51bGwKICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3RyaW5nID0g
JG51bGwKICAgICAgICAgICAgJG4gPSAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgZG8KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlfc3Ry
aW5nX3N1YiA9ICgoW0J5dGVdW0NoYXJdKCROQk5TX3F1ZXJ5X3N0cmluZ19lbmNvZGVkLlN1YnN0
cmluZygkbiwxKSkpIC0gNjUpCiAgICAgICAgICAgICAgICAkTkJOU19xdWVyeV9zdHJpbmdfc3Vi
dHJhY3RlZCArPSAoW1N5c3RlbS5Db252ZXJ0XTo6VG9TdHJpbmcoJE5CTlNfcXVlcnlfc3RyaW5n
X3N1YiwxNikpCiAgICAgICAgICAgICAgICAkbiArPSAxCiAgICAgICAgICAgIH0KICAgICAgICAg
ICAgdW50aWwoJG4gLWdlICgkTkJOU19xdWVyeV9zdHJpbmdfZW5jb2RlZC5MZW5ndGgpKQogICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAkbiA9IDAKICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgZG8KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJE5CTlNfcXVlcnlf
c3RyaW5nICs9IChbQ2hhcl0oW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkTkJOU19xdWVyeV9z
dHJpbmdfc3VidHJhY3RlZC5TdWJzdHJpbmcoJG4sMiksMTYpKSkKICAgICAgICAgICAgICAgICRu
ICs9IDIKICAgICAgICAgICAgfQogICAgICAgICAgICB1bnRpbCgkbiAtZ2UgKCROQk5TX3F1ZXJ5
X3N0cmluZ19zdWJ0cmFjdGVkLkxlbmd0aCkgLW9yICROQk5TX3F1ZXJ5X3N0cmluZy5MZW5ndGgg
LWVxIDE1KQoKICAgICAgICAgICAgaWYoJE5CTlNfcXVlcnlfc3RyaW5nX2VuY29kZWRfY2hlY2su
U3RhcnRzV2l0aCgiQUJBQyIpIC1hbmQgJE5CTlNfcXVlcnlfc3RyaW5nX2VuY29kZWRfY2hlY2su
RW5kc1dpdGgoIkFDQUIiKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJE5CTlNfcXVl
cnlfc3RyaW5nID0gJE5CTlNfcXVlcnlfc3RyaW5nLlN1YnN0cmluZygyKQogICAgICAgICAgICAg
ICAgJE5CTlNfcXVlcnlfc3RyaW5nID0gJE5CTlNfcXVlcnlfc3RyaW5nLlN1YnN0cmluZygwLCAk
TkJOU19xdWVyeV9zdHJpbmcuTGVuZ3RoIC0gMSkKICAgICAgICAgICAgICAgICROQk5TX3F1ZXJ5
X3N0cmluZyA9ICI8MDE+PDAyPiIgKyAkTkJOU19xdWVyeV9zdHJpbmcgKyAiPDAyPiIKICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgaWYoJE5CTlNfcXVlcnlfc3RyaW5nIC1ub3RtYXRjaCAnW15c
eDAwLVx4N0ZdKycpCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBpZighJGludmVpZ2gu
cmVxdWVzdF90YWJsZS5Db250YWluc0tleSgkTkJOU19xdWVyeV9zdHJpbmcpKQogICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLnJlcXVlc3RfdGFibGUuQWRkKCRO
Qk5TX3F1ZXJ5X3N0cmluZy5Ub0xvd2VyKCksW0FycmF5XSRzb3VyY2VfSVAuSVBBZGRyZXNzVG9T
dHJpbmcpCiAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gucmVxdWVzdF90YWJsZV91cGRhdGVk
ID0gJHRydWUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5yZXF1ZXN0X3RhYmxlLiROQk5T
X3F1ZXJ5X3N0cmluZyArPSAkc291cmNlX0lQLklQQWRkcmVzc1RvU3RyaW5nCiAgICAgICAgICAg
ICAgICAgICAgJGludmVpZ2gucmVxdWVzdF90YWJsZV91cGRhdGVkID0gJHRydWUKICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgICROQk5TX3Jl
c3BvbnNlX21lc3NhZ2UgPSBHZXQtU3Bvb2ZlclJlc3BvbnNlTWVzc2FnZSAtUXVlcnlTdHJpbmcg
JE5CTlNfcXVlcnlfc3RyaW5nIC1UeXBlICJOQk5TIiAtRW5hYmxlZCAkTkJOUyAtTkJOU1R5cGUg
JE5CTlNfdHlwZQogICAgICAgICAgICAkTkJOU19yZXNwb25zZV90eXBlID0gJE5CTlNfcmVzcG9u
c2VfbWVzc2FnZVswXQogICAgICAgICAgICAkTkJOU19yZXNwb25zZV9tZXNzYWdlID0gJE5CTlNf
cmVzcG9uc2VfbWVzc2FnZVsxXQoKICAgICAgICAgICAgaWYoJE5CTlNfcmVzcG9uc2VfbWVzc2Fn
ZSAtZXEgJ1tyZXNwb25zZSBzZW50XScpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRO
Qk5TX2Rlc3RpbmF0aW9uX2VuZHBvaW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LklQRW5kcG9p
bnQoJE5CTlNfbGlzdGVuZXJfZW5kcG9pbnQuQWRkcmVzcywkTkJOU19saXN0ZW5lcl9lbmRwb2lu
dC5Qb3J0KQogICAgICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5Db25uZWN0KCROQk5TX2Rl
c3RpbmF0aW9uX2VuZHBvaW50KQogICAgICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5TZW5k
KCROQk5TX3Jlc3BvbnNlX3BhY2tldCwkTkJOU19yZXNwb25zZV9wYWNrZXQuTGVuZ3RoKQogICAg
ICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5DbG9zZSgpCiAgICAgICAgICAgICAgICAkTkJO
U19VRFBfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVWRwQ2xpZW50IDEz
NwogICAgICAgICAgICAgICAgJE5CTlNfVURQX2NsaWVudC5DbGllbnQuUmVjZWl2ZVRpbWVvdXQg
PSA1MDAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCROQk5TX3JlcXVlc3RfZGF0YSkg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdo
Lm91dHB1dF9xdWV1ZS5BZGQoIiROQk5TX3Jlc3BvbnNlX3R5cGUgWyQoR2V0LURhdGUgLWZvcm1h
dCBzKV0gTkJOUyByZXF1ZXN0ICROQk5TX3F1ZXJ5X3N0cmluZzwkTkJOU19xdWVyeV90eXBlPiBy
ZWNlaXZlZCBmcm9tICRzb3VyY2VfSVAgJE5CTlNfcmVzcG9uc2VfbWVzc2FnZSIpID4gJG51bGwg
ICAgCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICROQk5TX3JlcXVlc3RfZGF0YSA9ICRudWxs
CiAgICAgICAgfQoKICAgIH0KCiAgICAkTkJOU19VRFBfY2xpZW50LkNsb3NlKCkKIH0KCiMgTkJO
UyBCcnV0ZUZvcmNlIFNjcmlwdEJsb2NrCiROQk5TX2JydXRlZm9yY2Vfc3Bvb2Zlcl9zY3JpcHRi
bG9jayA9IAp7CiAgICBwYXJhbSAoJE5CTlNCcnV0ZUZvcmNlSG9zdCwkTkJOU0JydXRlRm9yY2VQ
YXVzZSwkTkJOU0JydXRlRm9yY2VUYXJnZXQsJE5CTlNUVEwsJFNwb29mZXJJUCkKICAgCiAgICAk
TkJOU0JydXRlRm9yY2VIb3N0ID0gJE5CTlNCcnV0ZUZvcmNlSG9zdC5Ub1VwcGVyKCkKCiAgICAk
aG9zdG5hbWVfYnl0ZXMgPSAweDQzLDB4NDEsMHg0MywweDQxLDB4NDMsMHg0MSwweDQzLDB4NDEs
MHg0MywweDQxLDB4NDMsMHg0MSwweDQzLDB4NDEsMHg0MywweDQxLDB4NDMsMHg0MSwKICAgICAg
ICAgICAgICAgICAgICAgICAgMHg0MywweDQxLDB4NDMsMHg0MSwweDQzLDB4NDEsMHg0MywweDQx
LDB4NDMsMHg0MSwweDQzLDB4NDEsMHg0MSwweDQxLDB4MDAKCiAgICAkaG9zdG5hbWVfZW5jb2Rl
ZCA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJE5CTlNCcnV0ZUZvcmNl
SG9zdCkKICAgICRob3N0bmFtZV9lbmNvZGVkID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0
cmluZygkaG9zdG5hbWVfZW5jb2RlZCkKICAgICRob3N0bmFtZV9lbmNvZGVkID0gJGhvc3RuYW1l
X2VuY29kZWQuUmVwbGFjZSgiLSIsIiIpCiAgICAkaG9zdG5hbWVfZW5jb2RlZCA9IFtTeXN0ZW0u
VGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJGhvc3RuYW1lX2VuY29kZWQpCiAgICAkTkJO
U19UVExfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCROQk5TVFRMKQog
ICAgW0FycmF5XTo6UmV2ZXJzZSgkTkJOU19UVExfYnl0ZXMpCgogICAgZm9yKCRpPTA7ICRpIC1s
dCAkaG9zdG5hbWVfZW5jb2RlZC5Db3VudDsgJGkrKykKICAgIHsKCiAgICAgICAgaWYoJGhvc3Ru
YW1lX2VuY29kZWRbJGldIC1ndCA2NCkKICAgICAgICB7CiAgICAgICAgICAgICRob3N0bmFtZV9i
eXRlc1skaV0gPSAkaG9zdG5hbWVfZW5jb2RlZFskaV0gKyAxMAogICAgICAgIH0KICAgICAgICBl
bHNlCiAgICAgICAgewogICAgICAgICAgICAkaG9zdG5hbWVfYnl0ZXNbJGldID0gJGhvc3RuYW1l
X2VuY29kZWRbJGldICsgMTcKICAgICAgICB9CiAgICAKICAgIH0KCiAgICAkTkJOU19yZXNwb25z
ZV9wYWNrZXQgPSAweDAwLDB4MDAsMHg4NSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCww
eDAwLDB4MDAsMHgwMCwweDIwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRob3N0bmFt
ZV9ieXRlcyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MjAsMHgwMCwweDAx
ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICROQk5TX1RUTF9ieXRlcyArCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDYsMHgwMCwweDAwICsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChbU3lzdGVtLk5ldC5JUEFkZHJlc3NdW1N0cmluZ10oW1N5c3RlbS5OZXQu
SVBBZGRyZXNzXSRTcG9vZmVySVApKS5HZXRBZGRyZXNzQnl0ZXMoKSArCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwCgogICAgJGludmVpZ2gub3V0cHV0X3F1
ZXVlLkFkZCgiWypdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIFN0YXJ0aW5nIE5CTlMgYnJ1dGUg
Zm9yY2Ugc3Bvb2ZlciB0byByZXNvbHZlICROQk5TQnJ1dGVGb3JjZUhvc3Qgb24gJE5CTlNCcnV0
ZUZvcmNlVGFyZ2V0IikgPiAkbnVsbAogICAgJE5CTlNfcGF1c2VkID0gJGZhbHNlICAgICAgICAg
IAogICAgJE5CTlNfYnJ1dGVmb3JjZV9VRFBfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0
LlNvY2tldHMuVWRwQ2xpZW50KDEzNykKICAgICRkZXN0aW5hdGlvbl9JUCA9IFtTeXN0ZW0uTmV0
LklQQWRkcmVzc106OlBhcnNlKCROQk5TQnJ1dGVGb3JjZVRhcmdldCkKICAgICRkZXN0aW5hdGlv
bl9wb2ludCA9IE5ldy1PYmplY3QgTmV0LklQRW5kcG9pbnQoJGRlc3RpbmF0aW9uX0lQLDEzNykK
ICAgICROQk5TX2JydXRlZm9yY2VfVURQX2NsaWVudC5Db25uZWN0KCRkZXN0aW5hdGlvbl9wb2lu
dCkKICAgICAgIAogICAgd2hpbGUoJGludmVpZ2gucnVubmluZykKICAgIHsKCiAgICAgICAgOk5C
TlNfc3Bvb2Zlcl9sb29wIHdoaWxlICghJGludmVpZ2guaG9zdG5hbWVfc3Bvb2YgLWFuZCAkaW52
ZWlnaC5ydW5uaW5nKQogICAgICAgIHsKCiAgICAgICAgICAgIGlmKCROQk5TX3BhdXNlZCkKICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWypd
IFskKEdldC1EYXRlIC1mb3JtYXQgcyldIFJlc3VtaW5nIE5CTlMgYnJ1dGUgZm9yY2Ugc3Bvb2Zl
ciIpID4gJG51bGwKICAgICAgICAgICAgICAgICROQk5TX3BhdXNlZCA9ICRmYWxzZQogICAgICAg
ICAgICB9CgogICAgICAgICAgICBmb3IgKCRpID0gMDsgJGkgLWx0IDI1NTsgJGkrKykKICAgICAg
ICAgICAgewoKICAgICAgICAgICAgICAgIGZvciAoJGogPSAwOyAkaiAtbHQgMjU1OyAkaisrKQog
ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICROQk5TX3Jlc3BvbnNlX3BhY2tl
dFswXSA9ICRpCiAgICAgICAgICAgICAgICAgICAgJE5CTlNfcmVzcG9uc2VfcGFja2V0WzFdID0g
JGogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICROQk5TX2JydXRlZm9yY2Vf
VURQX2NsaWVudC5zZW5kKCROQk5TX3Jlc3BvbnNlX3BhY2tldCwkTkJOU19yZXNwb25zZV9wYWNr
ZXQuTGVuZ3RoKQoKICAgICAgICAgICAgICAgICAgICBpZigkaW52ZWlnaC5ob3N0bmFtZV9zcG9v
ZiAtYW5kICROQk5TQnJ1dGVGb3JjZVBhdXNlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWypdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIFBhdXNpbmcgTkJOUyBicnV0ZSBmb3JjZSBzcG9vZmVyIikgPiAkbnVs
bAogICAgICAgICAgICAgICAgICAgICAgICAkTkJOU19wYXVzZWQgPSAkdHJ1ZQogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhayBOQk5TX3Nwb29mZXJfbG9vcAogICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAg
ICAgICAgfQogICAgICAgIAogICAgICAgIH0KCiAgICAgICAgU3RhcnQtU2xlZXAgLW0gNQogICAg
fQoKICAgICROQk5TX2JydXRlZm9yY2VfVURQX2NsaWVudC5DbG9zZSgpCn0KCiMgQ29udHJvbCBM
b29wIFNjcmlwdEJsb2NrCiRjb250cm9sX3NjcmlwdGJsb2NrID0KewogICAgcGFyYW0gKCRBRElE
TlNBQ0UsJEFESUROU0NsZWFudXAsW1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUFNDcmVk
ZW50aWFsXSRBRElETlNDcmVkZW50aWFsLCRBRElETlNEb21haW4sCiAgICAgICAgJEFESUROU0Rv
bWFpbkNvbnRyb2xsZXIsJEFESUROU0ZvcmVzdCwkQURJRE5TSG9zdHNJZ25vcmUsJEFESUROU05T
LCRBRElETlNOU1RhcmdldCwkQURJRE5TUGFydGl0aW9uLAogICAgICAgICRBRElETlNUaHJlc2hv
bGQsJEFESUROU1RUTCwkQURJRE5TWm9uZSwkQ29uc29sZVF1ZXVlTGltaXQsJGVsZXZhdGVkX3By
aXZpbGVnZSwkTkJOU0JydXRlRm9yY2VQYXVzZSwKICAgICAgICAkUnVuQ291bnQsJFJ1blRpbWUs
JFNwb29mZXJJUCkKCiAgICBmdW5jdGlvbiBJbnZva2UtT3V0cHV0UXVldWVMb29wCiAgICB7Cgog
ICAgICAgIHdoaWxlKCRpbnZlaWdoLm91dHB1dF9xdWV1ZS5Db3VudCAtZ3QgMCkKICAgICAgICB7
CiAgICAgICAgICAgICRpbnZlaWdoLmNvbnNvbGVfcXVldWUuQWRkKCRpbnZlaWdoLm91dHB1dF9x
dWV1ZVswXSkgPiAkbnVsbAoKICAgICAgICAgICAgaWYoJGludmVpZ2guZmlsZV9vdXRwdXQpCiAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKCRpbnZlaWdo
Lm91dHB1dF9xdWV1ZVswXS5TdGFydHNXaXRoKCJbK10gIikgLW9yICRpbnZlaWdoLm91dHB1dF9x
dWV1ZVswXS5TdGFydHNXaXRoKCJbKl0gIikgLW9yICRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXS5T
dGFydHNXaXRoKCJbIV0gIikgLW9yICRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXS5TdGFydHNXaXRo
KCJbLV0gIikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gu
bG9nX2ZpbGVfcXVldWUuQWRkKCRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXSkgPiAkbnVsbAogICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICRpbnZlaWdoLmxvZ19maWxlX3F1ZXVlLkFkZCgiW3JlZGFjdGVkXSIp
ID4gJG51bGwgICAgCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgICAg
ICBpZigkaW52ZWlnaC5sb2dfb3V0cHV0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAk
aW52ZWlnaC5sb2cuQWRkKCRpbnZlaWdoLm91dHB1dF9xdWV1ZVswXSkgPiAkbnVsbAogICAgICAg
ICAgICB9CgogICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuUmVtb3ZlQXQoMCkKICAg
ICAgICB9CgogICAgfQoKICAgIGZ1bmN0aW9uIFN0b3AtSW52ZWlnaFJ1bnNwYWNlCiAgICB7CiAg
ICAgICAgcGFyYW0gKFtTdHJpbmddJE1lc3NhZ2UpCiAgICAgICAgCiAgICAgICAgaWYoJGludmVp
Z2guSFRUUFMgLWFuZCAhJGludmVpZ2guSFRUUFNfZXhpc3RpbmdfY2VydGlmaWNhdGUgLW9yICgk
aW52ZWlnaC5IVFRQU19leGlzdGluZ19jZXJ0aWZpY2F0ZSAtYW5kICRpbnZlaWdoLkhUVFBTX2Zv
cmNlX2NlcnRpZmljYXRlX2RlbGV0ZSkpCiAgICAgICAgewoKICAgICAgICAgICAgdHJ5CiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICRjZXJ0aWZpY2F0ZV9zdG9yZSA9IE5ldy1PYmplY3Qg
U3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5YNTA5Q2VydGlmaWNhdGVzLlg1MDlTdG9yZSgi
TXkiLCJMb2NhbE1hY2hpbmUiKQogICAgICAgICAgICAgICAgJGNlcnRpZmljYXRlX3N0b3JlLk9w
ZW4oJ1JlYWRXcml0ZScpCiAgICAgICAgICAgICAgICAkY2VydGlmaWNhdGVzID0gKEdldC1DaGls
ZEl0ZW0gQ2VydDpcTG9jYWxNYWNoaW5lXE15IHwgV2hlcmUtT2JqZWN0IHskXy5Jc3N1ZXIgLUxp
a2UgIkNOPSIgKyAkaW52ZWlnaC5jZXJ0aWZpY2F0ZV9pc3N1ZXJ9KQoKICAgICAgICAgICAgICAg
IGZvcmVhY2goJGNlcnRpZmljYXRlIGluICRjZXJ0aWZpY2F0ZXMpCiAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgJGNlcnRpZmljYXRlX3N0b3JlLlJlbW92ZSgkY2VydGlmaWNh
dGUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGNlcnRpZmljYXRlX3N0b3Jl
LkNsb3NlKCkKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXRjaAogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbLV0gWyQoR2V0LURhdGUg
LWZvcm1hdCBzKV0gU1NMIENlcnRpZmljYXRlIERlbGV0aW9uIEVycm9yIFtSZW1vdmUgTWFudWFs
bHldIikgPiAkbnVsbAogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgaWYoJEFESURO
U0NsZWFudXAgLWVxICdZJyAtYW5kICRpbnZlaWdoLkFESUROU190YWJsZS5Db3VudCAtZ3QgMCkK
ICAgICAgICB7CiAgICAgICAgICAgIFtBcnJheV0kQURJRE5TX3RhYmxlX2tleXNfdGVtcCA9ICRp
bnZlaWdoLkFESUROU190YWJsZS5LZXlzCgogICAgICAgICAgICBmb3JlYWNoKCRBRElETlNfaG9z
dCBpbiAkQURJRE5TX3RhYmxlX2tleXNfdGVtcCkKICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICBpZigkaW52ZWlnaC5BRElETlNfdGFibGUuJEFESUROU19ob3N0
IC1nZSAxKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICB0cnkKICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIERpc2FibGUtQURJRE5TTm9k
ZSAtQ3JlZGVudGlhbCAkQURJRE5TQ3JlZGVudGlhbCAtRG9tYWluICRBRElETlNEb21haW4gLURv
bWFpbkNvbnRyb2xsZXIgJEFESUROU0RvbWFpbkNvbnRyb2xsZXIgLU5vZGUgJEFESUROU19ob3N0
IC1QYXJ0aXRpb24gJEFESUROU1BhcnRpdGlvbiAtWm9uZSAkQURJRE5TWm9uZQogICAgICAgICAg
ICAgICAgICAgICAgICAkaW52ZWlnaC5BRElETlNfdGFibGUuJEFESUROU19ob3N0ID0gJG51bGwK
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY2F0Y2gKICAgICAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8u
RXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2Ug
PSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAiYG4iLCIiCiAgICAgICAgICAgICAgICAgICAgICAg
ICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAk
ZXJyb3JfbWVzc2FnZSAkKCRfLkludm9jYXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwK
ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWy1dIFsk
KEdldC1EYXRlIC1mb3JtYXQgcyldIEFESUROUyBob3N0IHJlY29yZCBmb3IgJEFESUROU19ob3N0
IHJlbW92ZSBmYWlsZWQiKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKCRp
bnZlaWdoLnJlbGF5X3J1bm5pbmcpCiAgICAgICAgewogICAgICAgICAgICBTdGFydC1TbGVlcCAt
bSAxMDAKCiAgICAgICAgICAgIGlmKCRNZXNzYWdlKQogICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbKl0gWyQoR2V0LURhdGUgLWZvcm1hdCBz
KV0gSW52ZWlnaCBSZWxheSBpcyBleGl0aW5nIGR1ZSB0byAkTWVzc2FnZSIpID4gJG51bGwKICAg
ICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlsqXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBJ
bnZlaWdoIFJlbGF5IGlzIGV4aXRpbmciKSA+ICRudWxsICAKICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgaWYoISRpbnZlaWdoLnJ1bm5pbmcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
IEludm9rZS1PdXRwdXRRdWV1ZUxvb3AKICAgICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tIDEw
MAogICAgICAgICAgICB9CgogICAgICAgICAgICAkaW52ZWlnaC5yZWxheV9ydW5uaW5nID0gJGZh
bHNlCiAgICAgICAgfQoKICAgICAgICBpZigkaW52ZWlnaC5ydW5uaW5nKQogICAgICAgIHsKCiAg
ICAgICAgICAgIGlmKCRNZXNzYWdlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkaW52
ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbKl0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gSW52ZWln
aCBpcyBleGl0aW5nIGR1ZSB0byAkTWVzc2FnZSIpID4gJG51bGwKICAgICAgICAgICAgfQogICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdoLm91dHB1
dF9xdWV1ZS5BZGQoIlsqXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSBJbnZlaWdoIGlzIGV4aXRp
bmciKSA+ICRudWxsICAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSW52b2tlLU91dHB1dFF1
ZXVlTG9vcAoKICAgICAgICAgICAgaWYoISRlbGV2YXRlZF9wcml2aWxlZ2UpCiAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1zIDMKICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgJGludmVpZ2gucnVubmluZyA9ICRmYWxzZQogICAgICAgIH0KCiAgICAgICAgJGludmVp
Z2guQURJRE5TID0gJG51bGwKICAgICAgICAkaW52ZWlnaC5IVFRQUyA9ICRmYWxzZQogICAgfQoK
ICAgIGlmKCRpbnZlaWdoLkFESUROUyAtY29udGFpbnMgJ1dpbGRjYXJkJykKICAgIHsKICAgICAg
ICBJbnZva2UtQURJRE5TU3Bvb2ZlciAtQ3JlZGVudGlhbCAkQURJRE5TQ3JlZGVudGlhbCAtRGF0
YSAkU3Bvb2ZlcklQIC1Eb21haW4gJEFESUROU0RvbWFpbiAtRG9tYWluQ29udHJvbGxlciAkQURJ
RE5TRG9tYWluQ29udHJvbGxlciAtRm9yZXN0ICRBRElETlNGb3Jlc3QgLU5vZGUgJyonIC1QYXJ0
aXRpb24gJEFESUROU1BhcnRpdGlvbiAtVHlwZSAnQSctVFRMICRBRElETlNUVEwgLVpvbmUgJEFE
SUROU1pvbmUKICAgIH0KCiAgICBpZigkaW52ZWlnaC5BRElETlMgLWNvbnRhaW5zICdOUycpCiAg
ICB7CgogICAgICAgIGlmKCRBRElETlNOU1RhcmdldC5FbmRzV2l0aCgkQURJRE5TWm9uZSkpCiAg
ICAgICAgewogICAgICAgICAgICAkTlNfZGF0YSA9ICRBRElETlNOU1RhcmdldAogICAgICAgICAg
ICAkQURJRE5TTlNUYXJnZXQgPSAkQURJRE5TTlNUYXJnZXQgLXJlcGxhY2UgIi4kQURJRE5TWm9u
ZSIsJycKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgJE5TX2Rh
dGEgPSAkQURJRE5TTlNUYXJnZXQgKyAiLiIgKyAkQURJRE5TWm9uZQogICAgICAgIH0KCiAgICAg
ICAgSW52b2tlLUFESUROU1Nwb29mZXIgLUNyZWRlbnRpYWwgJEFESUROU0NyZWRlbnRpYWwgLURh
dGEgJFNwb29mZXJJUCAtRG9tYWluICRBRElETlNEb21haW4gLURvbWFpbkNvbnRyb2xsZXIgJEFE
SUROU0RvbWFpbkNvbnRyb2xsZXIgLUZvcmVzdCAkQURJRE5TRm9yZXN0IC1Ob2RlICRBRElETlNO
U1RhcmdldCAtUGFydGl0aW9uICRBRElETlNQYXJ0aXRpb24gLVR5cGUgJ0EnIC1UVEwgJEFESURO
U1RUTCAtWm9uZSAkQURJRE5TWm9uZQogICAgICAgIEludm9rZS1BRElETlNTcG9vZmVyIC1DcmVk
ZW50aWFsICRBRElETlNDcmVkZW50aWFsIC1EYXRhICROU19kYXRhIC1Eb21haW4gJEFESUROU0Rv
bWFpbiAtRG9tYWluQ29udHJvbGxlciAkQURJRE5TRG9tYWluQ29udHJvbGxlciAtRm9yZXN0ICRB
RElETlNGb3Jlc3QgLU5vZGUgJEFESUROU05TIC1QYXJ0aXRpb24gJEFESUROU1BhcnRpdGlvbiAt
VHlwZSAnTlMnIC1UVEwgJEFESUROU1RUTCAtWm9uZSAkQURJRE5TWm9uZQogICAgfQoKICAgIGlm
KCROQk5TQnJ1dGVGb3JjZVBhdXNlKQogICAgeyAgIAogICAgICAgICROQk5TX3BhdXNlID0gTmV3
LVRpbWVTcGFuIC1TZWNvbmRzICROQk5TQnJ1dGVGb3JjZVBhdXNlCiAgICB9CgogICAgJHJ1bl9j
b3VudF9OVExNdjEgPSAkUnVuQ291bnQgKyAkaW52ZWlnaC5OVExNdjFfbGlzdC5Db3VudAogICAg
JHJ1bl9jb3VudF9OVExNdjIgPSAkUnVuQ291bnQgKyAkaW52ZWlnaC5OVExNdjJfbGlzdC5Db3Vu
dAogICAgJHJ1bl9jb3VudF9jbGVhcnRleHQgPSAkUnVuQ291bnQgKyAkaW52ZWlnaC5jbGVhcnRl
eHRfbGlzdC5Db3VudAoKICAgIGlmKCRSdW5UaW1lKQogICAgeyAgICAKICAgICAgICAkY29udHJv
bF90aW1lb3V0ID0gTmV3LVRpbWVTcGFuIC1NaW51dGVzICRSdW5UaW1lCiAgICAgICAgJGNvbnRy
b2xfc3RvcHdhdGNoID0gW1N5c3RlbS5EaWFnbm9zdGljcy5TdG9wd2F0Y2hdOjpTdGFydE5ldygp
CiAgICB9CgogICAgd2hpbGUoJGludmVpZ2gucnVubmluZykKICAgIHsKCiAgICAgICAgaWYoJE5C
TlNCcnV0ZUZvcmNlUGF1c2UgLWFuZCAkaW52ZWlnaC5ob3N0bmFtZV9zcG9vZikKICAgICAgICB7
CiAgICAgICAgIAogICAgICAgICAgICBpZigkaW52ZWlnaC5OQk5TX3N0b3B3YXRjaC5FbGFwc2Vk
IC1nZSAkTkJOU19wYXVzZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2gu
aG9zdG5hbWVfc3Bvb2YgPSAkZmFsc2UKICAgICAgICAgICAgfQogICAgICAgIAogICAgICAgIH0K
CiAgICAgICAgaWYoJFJ1bkNvdW50KQogICAgICAgIHsKICAgICAgICAgICAgCiAgICAgICAgICAg
IGlmKCRpbnZlaWdoLk5UTE12MV9saXN0LkNvdW50IC1nZSAkcnVuX2NvdW50X05UTE12MSAtb3Ig
JGludmVpZ2guTlRMTXYyX2xpc3QuQ291bnQgLWdlICRydW5fY291bnRfTlRMTXYyIC1vciAkaW52
ZWlnaC5jbGVhcnRleHRfbGlzdC5Db3VudCAtZ2UgJHJ1bl9jb3VudF9jbGVhcnRleHQpCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3AtSW52ZWlnaFJ1bnNwYWNlICJyZWFjaGluZyBy
dW4gY291bnQiICAgICAgICAgICAKICAgICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIGlm
KCRSdW5UaW1lKQogICAgICAgIHsKCiAgICAgICAgICAgIGlmKCRjb250cm9sX3N0b3B3YXRjaC5F
bGFwc2VkIC1nZSAkY29udHJvbF90aW1lb3V0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICBTdG9wLUludmVpZ2hSdW5zcGFjZSAicmVhY2hpbmcgcnVuIHRpbWUiCiAgICAgICAgICAgIH0K
CiAgICAgICAgfQoKICAgICAgICBpZigkaW52ZWlnaC5BRElETlMgLWNvbnRhaW5zICdDb21ibycg
LWFuZCAkaW52ZWlnaC5yZXF1ZXN0X3RhYmxlX3VwZGF0ZWQpCiAgICAgICAgewogICAgICAgICAg
ICAKICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEludm9rZS1B
RElETlNDaGVjayAtQ3JlZGVudGlhbCAkQURJRE5TQ3JlZGVudGlhbCAtRGF0YSAkU3Bvb2ZlcklQ
IC1Eb21haW4gJEFESUROU0RvbWFpbiAtRG9tYWluQ29udHJvbGxlciAkQURJRE5TRG9tYWluQ29u
dHJvbGxlciAtRm9yZXN0ICRBRElETlNGb3Jlc3QgLUlnbm9yZSAkQURJRE5TSG9zdHNJZ25vcmUg
LVBhcnRpdGlvbiAkQURJRE5TUGFydGl0aW9uIC1SZXF1ZXN0VGFibGUgJGludmVpZ2gucmVxdWVz
dF90YWJsZSAtVGhyZXNob2xkICRBRElETlNUaHJlc2hvbGQgLVRUTCAkQURJRE5TVFRMIC1ab25l
ICRBRElETlNab25lCiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2gKICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkXy5FeGNlcHRpb24uTWVzc2FnZQog
ICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2UgPSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAi
YG4iLCIiCiAgICAgICAgICAgICAgICAkaW52ZWlnaC5vdXRwdXRfcXVldWUuQWRkKCJbIV0gWyQo
R2V0LURhdGUgLWZvcm1hdCBzKV0gJGVycm9yX21lc3NhZ2UgJCgkXy5JbnZvY2F0aW9uSW5mby5M
aW5lLlRyaW0oKSkiKSA+ICRudWxsCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRpbnZlaWdo
LnJlcXVlc3RfdGFibGVfdXBkYXRlZCA9ICRmYWxzZQogICAgICAgIH0KCiAgICAgICAgaWYoJGlu
dmVpZ2guQURJRE5TIC1hbmQgJGludmVpZ2guQURJRE5TX3RhYmxlLkNvdW50IC1ndCAwKQogICAg
ICAgIHsKICAgICAgICAgICAgW0FycmF5XSRBRElETlNfdGFibGVfa2V5c190ZW1wID0gJGludmVp
Z2guQURJRE5TX3RhYmxlLktleXMKCiAgICAgICAgICAgIGZvcmVhY2goJEFESUROU19ob3N0IGlu
ICRBRElETlNfdGFibGVfa2V5c190ZW1wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLkFESUROU190YWJsZS4kQURJRE5TX2hvc3QgLWVx
IDEpCiAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgIHRyeQogICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnQtQURJRE5TUGVybWlzc2lv
biAtQ3JlZGVudGlhbCAkQURJRE5TQ3JlZGVudGlhbCAtRG9tYWluICRBRElETlNEb21haW4gLURv
bWFpbkNvbnRyb2xsZXIgJEFESUROU0RvbWFpbkNvbnRyb2xsZXIgLU5vZGUgJEFESUROU19ob3N0
IC1QcmluY2lwYWwgJ0F1dGhlbnRpY2F0ZWQgVXNlcnMnLVpvbmUgJEFESUROU1pvbmUKICAgICAg
ICAgICAgICAgICAgICAgICAgJGludmVpZ2guQURJRE5TX3RhYmxlLiRBRElETlNfaG9zdCA9IDIK
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY2F0Y2gKICAgICAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJF8u
RXhjZXB0aW9uLk1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yX21lc3NhZ2Ug
PSAkZXJyb3JfbWVzc2FnZSAtcmVwbGFjZSAiYG4iLCIiCiAgICAgICAgICAgICAgICAgICAgICAg
ICRpbnZlaWdoLm91dHB1dF9xdWV1ZS5BZGQoIlshXSBbJChHZXQtRGF0ZSAtZm9ybWF0IHMpXSAk
ZXJyb3JfbWVzc2FnZSAkKCRfLkludm9jYXRpb25JbmZvLkxpbmUuVHJpbSgpKSIpID4gJG51bGwK
ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gub3V0cHV0X3F1ZXVlLkFkZCgiWyFdIFsk
KEdldC1EYXRlIC1mb3JtYXQgcyldIEFESUROUyBBQ0UgYWRkIGZvciBob3N0IHJlY29yZCBmb3Ig
JEFESUROU19ob3N0IGZhaWxlZCIpID4gJG51bGwKICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIGlmKCRpbnZl
aWdoLmZpbGVfb3V0cHV0KQogICAgICAgIHsKCiAgICAgICAgICAgIHdoaWxlKCRpbnZlaWdoLmxv
Z19maWxlX3F1ZXVlLkNvdW50IC1ndCAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAk
aW52ZWlnaC5sb2dfZmlsZV9xdWV1ZVswXXxPdXQtRmlsZSAkaW52ZWlnaC5sb2dfb3V0X2ZpbGUg
LUFwcGVuZAogICAgICAgICAgICAgICAgJGludmVpZ2gubG9nX2ZpbGVfcXVldWUuUmVtb3ZlQXQo
MCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgd2hpbGUoJGludmVpZ2guTlRMTXYxX2ZpbGVf
cXVldWUuQ291bnQgLWd0IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdo
Lk5UTE12MV9maWxlX3F1ZXVlWzBdfE91dC1GaWxlICRpbnZlaWdoLk5UTE12MV9vdXRfZmlsZSAt
QXBwZW5kCiAgICAgICAgICAgICAgICAkaW52ZWlnaC5OVExNdjFfZmlsZV9xdWV1ZS5SZW1vdmVB
dCgwKQogICAgICAgICAgICB9CgogICAgICAgICAgICB3aGlsZSgkaW52ZWlnaC5OVExNdjJfZmls
ZV9xdWV1ZS5Db3VudCAtZ3QgMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVp
Z2guTlRMTXYyX2ZpbGVfcXVldWVbMF18T3V0LUZpbGUgJGludmVpZ2guTlRMTXYyX291dF9maWxl
IC1BcHBlbmQKICAgICAgICAgICAgICAgICRpbnZlaWdoLk5UTE12Ml9maWxlX3F1ZXVlLlJlbW92
ZUF0KDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHdoaWxlKCRpbnZlaWdoLmNsZWFydGV4
dF9maWxlX3F1ZXVlLkNvdW50IC1ndCAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAk
aW52ZWlnaC5jbGVhcnRleHRfZmlsZV9xdWV1ZVswXXxPdXQtRmlsZSAkaW52ZWlnaC5jbGVhcnRl
eHRfb3V0X2ZpbGUgLUFwcGVuZAogICAgICAgICAgICAgICAgJGludmVpZ2guY2xlYXJ0ZXh0X2Zp
bGVfcXVldWUuUmVtb3ZlQXQoMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgd2hpbGUoJGlu
dmVpZ2guUE9TVF9yZXF1ZXN0X2ZpbGVfcXVldWUuQ291bnQgLWd0IDApCiAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9maWxlX3F1ZXVlWzBdfE91dC1G
aWxlICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9vdXRfZmlsZSAtQXBwZW5kCiAgICAgICAgICAgICAg
ICAkaW52ZWlnaC5QT1NUX3JlcXVlc3RfZmlsZV9xdWV1ZS5SZW1vdmVBdCgwKQogICAgICAgICAg
ICB9CgogICAgICAgIH0KCiAgICAgICAgaWYoISRpbnZlaWdoLmNvbnNvbGVfb3V0cHV0IC1hbmQg
JENvbnNvbGVRdWV1ZUxpbWl0IC1nZSAwKQogICAgICAgIHsKCiAgICAgICAgICAgIHdoaWxlKCRp
bnZlaWdoLmNvbnNvbGVfcXVldWUuQ291bnQgLWd0ICRDb25zb2xlUXVldWVMaW1pdCAtYW5kICEk
aW52ZWlnaC5jb25zb2xlX291dHB1dCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGlu
dmVpZ2guY29uc29sZV9xdWV1ZS5SZW1vdmVBdCgwKQogICAgICAgICAgICB9CgogICAgICAgIH0K
CiAgICAgICAgaWYoISRpbnZlaWdoLnN0YXR1c19vdXRwdXQpCiAgICAgICAgewogICAgICAgICAg
ICBJbnZva2UtT3V0cHV0UXVldWVMb29wCiAgICAgICAgfQoKICAgICAgICBTdGFydC1TbGVlcCAt
bSA1CiAgICAgICAgCiAgICAgICAgaWYoJGludmVpZ2guc3RvcCkKICAgICAgICB7CiAgICAgICAg
ICAgICRpbnZlaWdoLmNvbnNvbGVfcXVldWUuQ2xlYXIoKQogICAgICAgICAgICBTdG9wLUludmVp
Z2hSdW5zcGFjZQogICAgICAgIH0KCiAgICB9Cgp9CgojZW5kcmVnaW9uCiNyZWdpb24gYmVnaW4g
c3RhcnR1cCBmdW5jdGlvbnMKCiMgSFRUUCBMaXN0ZW5lciBTdGFydHVwIEZ1bmN0aW9uIApmdW5j
dGlvbiBIVFRQTGlzdGVuZXIKewogICAgJHByb3h5X2xpc3RlbmVyID0gJGZhbHNlCiAgICAkSFRU
UFNfbGlzdGVuZXIgPSAkZmFsc2UKICAgICRIVFRQX3J1bnNwYWNlID0gW1J1bnNwYWNlRmFjdG9y
eV06OkNyZWF0ZVJ1bnNwYWNlKCkKICAgICRIVFRQX3J1bnNwYWNlLk9wZW4oKQogICAgJEhUVFBf
cnVuc3BhY2UuU2Vzc2lvblN0YXRlUHJveHkuU2V0VmFyaWFibGUoJ2ludmVpZ2gnLCRpbnZlaWdo
KQogICAgJEhUVFBfcG93ZXJzaGVsbCA9IFtQb3dlclNoZWxsXTo6Q3JlYXRlKCkKICAgICRIVFRQ
X3Bvd2Vyc2hlbGwuUnVuc3BhY2UgPSAkSFRUUF9ydW5zcGFjZQogICAgJEhUVFBfcG93ZXJzaGVs
bC5BZGRTY3JpcHQoJHNoYXJlZF9iYXNpY19mdW5jdGlvbnNfc2NyaXB0YmxvY2spID4gJG51bGwK
ICAgICRIVFRQX3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCROVExNX2Z1bmN0aW9uc19zY3JpcHRibG9j
aykgPiAkbnVsbAogICAgJEhUVFBfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJGtlcmJlcm9zX2Z1bmN0
aW9uc19zY3JpcHRibG9jaykgPiAkbnVsbAogICAgJEhUVFBfcG93ZXJzaGVsbC5BZGRTY3JpcHQo
JEhUVFBfc2NyaXB0YmxvY2spLkFkZEFyZ3VtZW50KCRDaGFsbGVuZ2UpLkFkZEFyZ3VtZW50KCRL
ZXJiZXJvcykuQWRkQXJndW1lbnQoCiAgICAgICAgJEtlcmJlcm9zQ291bnQpLkFkZEFyZ3VtZW50
KCRLZXJiZXJvc0NyZWRlbnRpYWwpLkFkZEFyZ3VtZW50KCRLZXJiZXJvc0hhc2gpLkFkZEFyZ3Vt
ZW50KAogICAgICAgICRLZXJiZXJvc0hvc3RIZWFkZXIpLkFkZEFyZ3VtZW50KCRIVFRQQXV0aCku
QWRkQXJndW1lbnQoJEhUVFBCYXNpY1JlYWxtKS5BZGRBcmd1bWVudCgKICAgICAgICAkSFRUUENv
bnRlbnRUeXBlKS5BZGRBcmd1bWVudCgkSFRUUElQKS5BZGRBcmd1bWVudCgkSFRUUFBvcnQpLkFk
ZEFyZ3VtZW50KAogICAgICAgICRIVFRQRGVmYXVsdEVYRSkuQWRkQXJndW1lbnQoJEhUVFBEZWZh
dWx0RmlsZSkuQWRkQXJndW1lbnQoJEhUVFBEaXJlY3RvcnkpLkFkZEFyZ3VtZW50KAogICAgICAg
ICRIVFRQUmVzcG9uc2UpLkFkZEFyZ3VtZW50KCRIVFRQU19saXN0ZW5lcikuQWRkQXJndW1lbnQo
JElQKS5BZGRBcmd1bWVudCgkTkJOU0JydXRlRm9yY2VQYXVzZSkuQWRkQXJndW1lbnQoCiAgICAg
ICAgJG91dHB1dF9kaXJlY3RvcnkpLkFkZEFyZ3VtZW50KCRQcm94eSkuQWRkQXJndW1lbnQoJFBy
b3h5SWdub3JlKS5BZGRBcmd1bWVudCgkcHJveHlfbGlzdGVuZXIpLkFkZEFyZ3VtZW50KAogICAg
ICAgICRXUEFEQXV0aCkuQWRkQXJndW1lbnQoJFdQQURBdXRoSWdub3JlKS5BZGRBcmd1bWVudCgk
V1BBRFJlc3BvbnNlKSA+ICRudWxsCiAgICAkSFRUUF9wb3dlcnNoZWxsLkJlZ2luSW52b2tlKCkg
PiAkbnVsbAp9CgpTdGFydC1TbGVlcCAtbSA1MAoKIyBIVFRQUyBMaXN0ZW5lciBTdGFydHVwIEZ1
bmN0aW9uIApmdW5jdGlvbiBIVFRQU0xpc3RlbmVyCnsKICAgICRwcm94eV9saXN0ZW5lciA9ICRm
YWxzZQogICAgJEhUVFBTX2xpc3RlbmVyID0gJHRydWUKICAgICRIVFRQU19ydW5zcGFjZSA9IFtS
dW5zcGFjZUZhY3RvcnldOjpDcmVhdGVSdW5zcGFjZSgpCiAgICAkSFRUUFNfcnVuc3BhY2UuT3Bl
bigpCiAgICAkSFRUUFNfcnVuc3BhY2UuU2Vzc2lvblN0YXRlUHJveHkuU2V0VmFyaWFibGUoJ2lu
dmVpZ2gnLCRpbnZlaWdoKQogICAgJEhUVFBTX3Bvd2Vyc2hlbGwgPSBbUG93ZXJTaGVsbF06OkNy
ZWF0ZSgpCiAgICAkSFRUUFNfcG93ZXJzaGVsbC5SdW5zcGFjZSA9ICRIVFRQU19ydW5zcGFjZQog
ICAgJEhUVFBTX3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRzaGFyZWRfYmFzaWNfZnVuY3Rpb25zX3Nj
cmlwdGJsb2NrKSA+ICRudWxsCiAgICAkSFRUUFNfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJE5UTE1f
ZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxsCiAgICAkSFRUUFNfcG93ZXJzaGVsbC5BZGRT
Y3JpcHQoJGtlcmJlcm9zX2Z1bmN0aW9uc19zY3JpcHRibG9jaykgPiAkbnVsbAogICAgJEhUVFBT
X3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRIVFRQX3NjcmlwdGJsb2NrKS5BZGRBcmd1bWVudCgkQ2hh
bGxlbmdlKS5BZGRBcmd1bWVudCgkS2VyYmVyb3MpLkFkZEFyZ3VtZW50KAogICAgICAgICRLZXJi
ZXJvc0NvdW50KS5BZGRBcmd1bWVudCgkS2VyYmVyb3NDcmVkZW50aWFsKS5BZGRBcmd1bWVudCgk
S2VyYmVyb3NIYXNoKS5BZGRBcmd1bWVudCgKICAgICAgICAkS2VyYmVyb3NIb3N0SGVhZGVyKS5B
ZGRBcmd1bWVudCgkSFRUUEF1dGgpLkFkZEFyZ3VtZW50KCRIVFRQQmFzaWNSZWFsbSkuQWRkQXJn
dW1lbnQoCiAgICAgICAgJEhUVFBDb250ZW50VHlwZSkuQWRkQXJndW1lbnQoJEhUVFBJUCkuQWRk
QXJndW1lbnQoJEhUVFBTUG9ydCkuQWRkQXJndW1lbnQoCiAgICAgICAgJEhUVFBEZWZhdWx0RVhF
KS5BZGRBcmd1bWVudCgkSFRUUERlZmF1bHRGaWxlKS5BZGRBcmd1bWVudCgkSFRUUERpcmVjdG9y
eSkuQWRkQXJndW1lbnQoCiAgICAgICAgJEhUVFBSZXNwb25zZSkuQWRkQXJndW1lbnQoJEhUVFBT
X2xpc3RlbmVyKS5BZGRBcmd1bWVudCgkSVApLkFkZEFyZ3VtZW50KCROQk5TQnJ1dGVGb3JjZVBh
dXNlKS5BZGRBcmd1bWVudCgKICAgICAgICAkb3V0cHV0X2RpcmVjdG9yeSkuQWRkQXJndW1lbnQo
JFByb3h5KS5BZGRBcmd1bWVudCgkUHJveHlJZ25vcmUpLkFkZEFyZ3VtZW50KCRwcm94eV9saXN0
ZW5lcikuQWRkQXJndW1lbnQoCiAgICAgICAgJFdQQURBdXRoKS5BZGRBcmd1bWVudCgkV1BBREF1
dGhJZ25vcmUpLkFkZEFyZ3VtZW50KCRXUEFEUmVzcG9uc2UpID4gJG51bGwKICAgICRIVFRQU19w
b3dlcnNoZWxsLkJlZ2luSW52b2tlKCkgPiAkbnVsbAp9CgpTdGFydC1TbGVlcCAtbSA1MAoKIyBQ
cm94eSBMaXN0ZW5lciBTdGFydHVwIEZ1bmN0aW9uIApmdW5jdGlvbiBQcm94eUxpc3RlbmVyCnsK
ICAgICRwcm94eV9saXN0ZW5lciA9ICR0cnVlCiAgICAkSFRUUFNfbGlzdGVuZXIgPSAkZmFsc2UK
ICAgICRwcm94eV9ydW5zcGFjZSA9IFtSdW5zcGFjZUZhY3RvcnldOjpDcmVhdGVSdW5zcGFjZSgp
CiAgICAkcHJveHlfcnVuc3BhY2UuT3BlbigpCiAgICAkcHJveHlfcnVuc3BhY2UuU2Vzc2lvblN0
YXRlUHJveHkuU2V0VmFyaWFibGUoJ2ludmVpZ2gnLCRpbnZlaWdoKQogICAgJHByb3h5X3Bvd2Vy
c2hlbGwgPSBbUG93ZXJTaGVsbF06OkNyZWF0ZSgpCiAgICAkcHJveHlfcG93ZXJzaGVsbC5SdW5z
cGFjZSA9ICRwcm94eV9ydW5zcGFjZQogICAgJHByb3h5X3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRz
aGFyZWRfYmFzaWNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxsCiAgICAkcHJveHlfcG93
ZXJzaGVsbC5BZGRTY3JpcHQoJE5UTE1fZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxsCiAg
ICAkcHJveHlfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJGtlcmJlcm9zX2Z1bmN0aW9uc19zY3JpcHRi
bG9jaykgPiAkbnVsbAogICAgJHByb3h5X3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRIVFRQX3Njcmlw
dGJsb2NrKS5BZGRBcmd1bWVudCgkQ2hhbGxlbmdlKS5BZGRBcmd1bWVudCgkS2VyYmVyb3MpLkFk
ZEFyZ3VtZW50KAogICAgICAgICRLZXJiZXJvc0NvdW50KS5BZGRBcmd1bWVudCgkS2VyYmVyb3ND
cmVkZW50aWFsKS5BZGRBcmd1bWVudCgkS2VyYmVyb3NIYXNoKS5BZGRBcmd1bWVudCgKICAgICAg
ICAkS2VyYmVyb3NIb3N0SGVhZGVyKS5BZGRBcmd1bWVudCgkSFRUUEF1dGgpLkFkZEFyZ3VtZW50
KCRIVFRQQmFzaWNSZWFsbSkuQWRkQXJndW1lbnQoCiAgICAgICAgJEhUVFBDb250ZW50VHlwZSku
QWRkQXJndW1lbnQoJFByb3h5SVApLkFkZEFyZ3VtZW50KCRQcm94eVBvcnQpLkFkZEFyZ3VtZW50
KAogICAgICAgICRIVFRQRGVmYXVsdEVYRSkuQWRkQXJndW1lbnQoJEhUVFBEZWZhdWx0RmlsZSku
QWRkQXJndW1lbnQoJEhUVFBEaXJlY3RvcnkpLkFkZEFyZ3VtZW50KAogICAgICAgICRIVFRQUmVz
cG9uc2UpLkFkZEFyZ3VtZW50KCRIVFRQU19saXN0ZW5lcikuQWRkQXJndW1lbnQoJElQKS5BZGRB
cmd1bWVudCgkTkJOU0JydXRlRm9yY2VQYXVzZSkuQWRkQXJndW1lbnQoCiAgICAgICAgJG91dHB1
dF9kaXJlY3RvcnkpLkFkZEFyZ3VtZW50KCRQcm94eSkuQWRkQXJndW1lbnQoJFByb3h5SWdub3Jl
KS5BZGRBcmd1bWVudCgkcHJveHlfbGlzdGVuZXIpLkFkZEFyZ3VtZW50KAogICAgICAgICRXUEFE
QXV0aCkuQWRkQXJndW1lbnQoJFdQQURBdXRoSWdub3JlKS5BZGRBcmd1bWVudCgkV1BBRFJlc3Bv
bnNlKSA+ICRudWxsCiAgICAkcHJveHlfcG93ZXJzaGVsbC5CZWdpbkludm9rZSgpID4gJG51bGwK
fQoKIyBTbmlmZmVyL1Nwb29mZXIgU3RhcnR1cCBGdW5jdGlvbgpmdW5jdGlvbiBTbmlmZmVyU3Bv
b2Zlcgp7CiAgICAkc25pZmZlcl9ydW5zcGFjZSA9IFtSdW5zcGFjZUZhY3RvcnldOjpDcmVhdGVS
dW5zcGFjZSgpCiAgICAkc25pZmZlcl9ydW5zcGFjZS5PcGVuKCkKICAgICRzbmlmZmVyX3J1bnNw
YWNlLlNlc3Npb25TdGF0ZVByb3h5LlNldFZhcmlhYmxlKCdpbnZlaWdoJywkaW52ZWlnaCkKICAg
ICRzbmlmZmVyX3Bvd2Vyc2hlbGwgPSBbUG93ZXJTaGVsbF06OkNyZWF0ZSgpCiAgICAkc25pZmZl
cl9wb3dlcnNoZWxsLlJ1bnNwYWNlID0gJHNuaWZmZXJfcnVuc3BhY2UKICAgICRzbmlmZmVyX3Bv
d2Vyc2hlbGwuQWRkU2NyaXB0KCRzaGFyZWRfYmFzaWNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+
ICRudWxsCiAgICAkc25pZmZlcl9wb3dlcnNoZWxsLkFkZFNjcmlwdCgkTlRMTV9mdW5jdGlvbnNf
c2NyaXB0YmxvY2spID4gJG51bGwKICAgICRzbmlmZmVyX3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRr
ZXJiZXJvc19mdW5jdGlvbnNfc2NyaXB0YmxvY2spID4gJG51bGwKICAgICRzbmlmZmVyX3Bvd2Vy
c2hlbGwuQWRkU2NyaXB0KCRTTUJfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxsCiAgICAk
c25pZmZlcl9wb3dlcnNoZWxsLkFkZFNjcmlwdCgkc25pZmZlcl9zY3JpcHRibG9jaykuQWRkQXJn
dW1lbnQoJEROUykuQWRkQXJndW1lbnQoJEROU1RUTCkuQWRkQXJndW1lbnQoCiAgICAgICAgJEV2
YWRlUkcpLkFkZEFyZ3VtZW50KCRJbnNwZWN0KS5BZGRBcmd1bWVudCgkSVApLkFkZEFyZ3VtZW50
KCRLZXJiZXJvcykuQWRkQXJndW1lbnQoJEtlcmJlcm9zQ291bnQpLkFkZEFyZ3VtZW50KAogICAg
ICAgICRLZXJiZXJvc0NyZWRlbnRpYWwpLkFkZEFyZ3VtZW50KCRLZXJiZXJvc0hhc2gpLkFkZEFy
Z3VtZW50KCRMTE1OUikuQWRkQXJndW1lbnQoCiAgICAgICAgJExMTU5SVFRMKS5BZGRBcmd1bWVu
dCgkbUROUykuQWRkQXJndW1lbnQoJG1ETlNUeXBlcykuQWRkQXJndW1lbnQoJG1ETlNUVEwpLkFk
ZEFyZ3VtZW50KCROQk5TKS5BZGRBcmd1bWVudCgKICAgICAgICAkTkJOU1RUTCkuQWRkQXJndW1l
bnQoJE5CTlNUeXBlcykuQWRkQXJndW1lbnQoJG91dHB1dF9kaXJlY3RvcnkpLkFkZEFyZ3VtZW50
KCRQY2FwKS5BZGRBcmd1bWVudCgKICAgICAgICAkUGNhcFRDUCkuQWRkQXJndW1lbnQoJFBjYXBV
RFApLkFkZEFyZ3VtZW50KCRTTUIpLkFkZEFyZ3VtZW50KCRTcG9vZmVySG9zdHNJZ25vcmUpLkFk
ZEFyZ3VtZW50KAogICAgICAgICRTcG9vZmVySG9zdHNSZXBseSkuQWRkQXJndW1lbnQoJFNwb29m
ZXJJUCkuQWRkQXJndW1lbnQoJFNwb29mZXJJUHNJZ25vcmUpLkFkZEFyZ3VtZW50KAogICAgICAg
ICRTcG9vZmVySVBzUmVwbHkpLkFkZEFyZ3VtZW50KCRTcG9vZmVyTGVhcm5pbmcpLkFkZEFyZ3Vt
ZW50KCRTcG9vZmVyTGVhcm5pbmdEZWxheSkuQWRkQXJndW1lbnQoCiAgICAgICAgJFNwb29mZXJM
ZWFybmluZ0ludGVydmFsKS5BZGRBcmd1bWVudCgkU3Bvb2Zlck5vbnByaW50YWJsZSkuQWRkQXJn
dW1lbnQoCiAgICAgICAgJFNwb29mZXJUaHJlc2hvbGRIb3N0KS5BZGRBcmd1bWVudCgkU3Bvb2Zl
clRocmVzaG9sZE5ldHdvcmspID4gJG51bGwKICAgICRzbmlmZmVyX3Bvd2Vyc2hlbGwuQmVnaW5J
bnZva2UoKSA+ICRudWxsCn0KCiMgVW5wcml2aWxlZ2VkIEROUyBTcG9vZmVyIFN0YXJ0dXAgRnVu
Y3Rpb24KZnVuY3Rpb24gRE5TU3Bvb2Zlcgp7CiAgICAkRE5TX3Nwb29mZXJfcnVuc3BhY2UgPSBb
UnVuc3BhY2VGYWN0b3J5XTo6Q3JlYXRlUnVuc3BhY2UoKQogICAgJEROU19zcG9vZmVyX3J1bnNw
YWNlLk9wZW4oKQogICAgJEROU19zcG9vZmVyX3J1bnNwYWNlLlNlc3Npb25TdGF0ZVByb3h5LlNl
dFZhcmlhYmxlKCdpbnZlaWdoJywkaW52ZWlnaCkKICAgICRETlNfc3Bvb2Zlcl9wb3dlcnNoZWxs
ID0gW1Bvd2VyU2hlbGxdOjpDcmVhdGUoKQogICAgJEROU19zcG9vZmVyX3Bvd2Vyc2hlbGwuUnVu
c3BhY2UgPSAkRE5TX3Nwb29mZXJfcnVuc3BhY2UKICAgICRETlNfc3Bvb2Zlcl9wb3dlcnNoZWxs
LkFkZFNjcmlwdCgkc2hhcmVkX2Jhc2ljX2Z1bmN0aW9uc19zY3JpcHRibG9jaykgPiAkbnVsbAog
ICAgJEROU19zcG9vZmVyX3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRETlNfc3Bvb2Zlcl9zY3JpcHRi
bG9jaykuQWRkQXJndW1lbnQoJEluc3BlY3QpLkFkZEFyZ3VtZW50KAogICAgICAgICRETlNUVEwp
LkFkZEFyZ3VtZW50KCRTcG9vZmVySVApID4gJG51bGwKICAgICRETlNfc3Bvb2Zlcl9wb3dlcnNo
ZWxsLkJlZ2luSW52b2tlKCkgPiAkbnVsbAp9CgojIFVucHJpdmlsZWdlZCBMTE1OUiBTcG9vZmVy
IFN0YXJ0dXAgRnVuY3Rpb24KZnVuY3Rpb24gTExNTlJTcG9vZmVyCnsKICAgICRMTE1OUl9zcG9v
ZmVyX3J1bnNwYWNlID0gW1J1bnNwYWNlRmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkKICAgICRM
TE1OUl9zcG9vZmVyX3J1bnNwYWNlLk9wZW4oKQogICAgJExMTU5SX3Nwb29mZXJfcnVuc3BhY2Uu
U2Vzc2lvblN0YXRlUHJveHkuU2V0VmFyaWFibGUoJ2ludmVpZ2gnLCRpbnZlaWdoKQogICAgJExM
TU5SX3Nwb29mZXJfcG93ZXJzaGVsbCA9IFtQb3dlclNoZWxsXTo6Q3JlYXRlKCkKICAgICRMTE1O
Ul9zcG9vZmVyX3Bvd2Vyc2hlbGwuUnVuc3BhY2UgPSAkTExNTlJfc3Bvb2Zlcl9ydW5zcGFjZQog
ICAgJExMTU5SX3Nwb29mZXJfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJHNoYXJlZF9iYXNpY19mdW5j
dGlvbnNfc2NyaXB0YmxvY2spID4gJG51bGwKICAgICRMTE1OUl9zcG9vZmVyX3Bvd2Vyc2hlbGwu
QWRkU2NyaXB0KCRMTE1OUl9zcG9vZmVyX3NjcmlwdGJsb2NrKS5BZGRBcmd1bWVudCgkSW5zcGVj
dCkuQWRkQXJndW1lbnQoCiAgICAgICAgJExMTU5SVFRMKS5BZGRBcmd1bWVudCgkU3Bvb2ZlcklQ
KS5BZGRBcmd1bWVudCgkU3Bvb2Zlckhvc3RzUmVwbHkpLkFkZEFyZ3VtZW50KAogICAgICAgICRT
cG9vZmVySG9zdHNJZ25vcmUpLkFkZEFyZ3VtZW50KCRTcG9vZmVySVBzUmVwbHkpLkFkZEFyZ3Vt
ZW50KAogICAgICAgICRTcG9vZmVySVBzSWdub3JlKS5BZGRBcmd1bWVudCgkU3Bvb2Zlck5vbnBy
aW50YWJsZSkgPiAkbnVsbAogICAgJExMTU5SX3Nwb29mZXJfcG93ZXJzaGVsbC5CZWdpbkludm9r
ZSgpID4gJG51bGwKfQoKIyBVbnByaXZpbGVnZWQgbUROUyBTcG9vZmVyIFN0YXJ0dXAgRnVuY3Rp
b24KZnVuY3Rpb24gbUROU1Nwb29mZXIKewogICAgJG1ETlNfc3Bvb2Zlcl9ydW5zcGFjZSA9IFtS
dW5zcGFjZUZhY3RvcnldOjpDcmVhdGVSdW5zcGFjZSgpCiAgICAkbUROU19zcG9vZmVyX3J1bnNw
YWNlLk9wZW4oKQogICAgJG1ETlNfc3Bvb2Zlcl9ydW5zcGFjZS5TZXNzaW9uU3RhdGVQcm94eS5T
ZXRWYXJpYWJsZSgnaW52ZWlnaCcsJGludmVpZ2gpCiAgICAkbUROU19zcG9vZmVyX3Bvd2Vyc2hl
bGwgPSBbUG93ZXJTaGVsbF06OkNyZWF0ZSgpCiAgICAkbUROU19zcG9vZmVyX3Bvd2Vyc2hlbGwu
UnVuc3BhY2UgPSAkbUROU19zcG9vZmVyX3J1bnNwYWNlCiAgICAkbUROU19zcG9vZmVyX3Bvd2Vy
c2hlbGwuQWRkU2NyaXB0KCRzaGFyZWRfYmFzaWNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRu
dWxsCiAgICAkbUROU19zcG9vZmVyX3Bvd2Vyc2hlbGwuQWRkU2NyaXB0KCRtRE5TX3Nwb29mZXJf
c2NyaXB0YmxvY2spLkFkZEFyZ3VtZW50KCRJbnNwZWN0KS5BZGRBcmd1bWVudCgKICAgICAgICAk
bUROU1RUTCkuQWRkQXJndW1lbnQoJG1ETlNUeXBlcykuQWRkQXJndW1lbnQoJFNwb29mZXJJUCku
QWRkQXJndW1lbnQoJFNwb29mZXJIb3N0c1JlcGx5KS5BZGRBcmd1bWVudCgKICAgICAgICAkU3Bv
b2Zlckhvc3RzSWdub3JlKS5BZGRBcmd1bWVudCgkU3Bvb2ZlcklQc1JlcGx5KS5BZGRBcmd1bWVu
dCgkU3Bvb2ZlcklQc0lnbm9yZSkgPiAkbnVsbAogICAgJG1ETlNfc3Bvb2Zlcl9wb3dlcnNoZWxs
LkJlZ2luSW52b2tlKCkgPiAkbnVsbAp9CgojIFVucHJpdmlsZWdlZCBOQk5TIFNwb29mZXIgU3Rh
cnR1cCBGdW5jdGlvbgpmdW5jdGlvbiBOQk5TU3Bvb2Zlcgp7CiAgICAkTkJOU19zcG9vZmVyX3J1
bnNwYWNlID0gW1J1bnNwYWNlRmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkKICAgICROQk5TX3Nw
b29mZXJfcnVuc3BhY2UuT3BlbigpCiAgICAkTkJOU19zcG9vZmVyX3J1bnNwYWNlLlNlc3Npb25T
dGF0ZVByb3h5LlNldFZhcmlhYmxlKCdpbnZlaWdoJywkaW52ZWlnaCkKICAgICROQk5TX3Nwb29m
ZXJfcG93ZXJzaGVsbCA9IFtQb3dlclNoZWxsXTo6Q3JlYXRlKCkKICAgICROQk5TX3Nwb29mZXJf
cG93ZXJzaGVsbC5SdW5zcGFjZSA9ICROQk5TX3Nwb29mZXJfcnVuc3BhY2UKICAgICROQk5TX3Nw
b29mZXJfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJHNoYXJlZF9iYXNpY19mdW5jdGlvbnNfc2NyaXB0
YmxvY2spID4gJG51bGwKICAgICROQk5TX3Nwb29mZXJfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJE5C
TlNfc3Bvb2Zlcl9zY3JpcHRibG9jaykuQWRkQXJndW1lbnQoJEluc3BlY3QpLkFkZEFyZ3VtZW50
KAogICAgICAgICRJUCkuQWRkQXJndW1lbnQoJE5CTlNUVEwpLkFkZEFyZ3VtZW50KCROQk5TVHlw
ZXMpLkFkZEFyZ3VtZW50KCRTcG9vZmVySVApLkFkZEFyZ3VtZW50KAogICAgICAgICRTcG9vZmVy
SG9zdHNJZ25vcmUpLkFkZEFyZ3VtZW50KCRTcG9vZmVySG9zdHNSZXBseSkuQWRkQXJndW1lbnQo
JFNwb29mZXJJUHNJZ25vcmUpLkFkZEFyZ3VtZW50KAogICAgICAgICRTcG9vZmVySVBzUmVwbHkp
LkFkZEFyZ3VtZW50KCRTcG9vZmVyTm9ucHJpbnRhYmxlKSA+ICRudWxsCiAgICAkTkJOU19zcG9v
ZmVyX3Bvd2Vyc2hlbGwuQmVnaW5JbnZva2UoKSA+ICRudWxsCn0KCiMgTkJOUyBCcnV0ZSBGb3Jj
ZSBTcG9vZmVyIFN0YXJ0dXAgRnVuY3Rpb24KZnVuY3Rpb24gTkJOU0JydXRlRm9yY2VTcG9vZmVy
CnsKICAgICROQk5TX2JydXRlZm9yY2Vfc3Bvb2Zlcl9ydW5zcGFjZSA9IFtSdW5zcGFjZUZhY3Rv
cnldOjpDcmVhdGVSdW5zcGFjZSgpCiAgICAkTkJOU19icnV0ZWZvcmNlX3Nwb29mZXJfcnVuc3Bh
Y2UuT3BlbigpCiAgICAkTkJOU19icnV0ZWZvcmNlX3Nwb29mZXJfcnVuc3BhY2UuU2Vzc2lvblN0
YXRlUHJveHkuU2V0VmFyaWFibGUoJ2ludmVpZ2gnLCRpbnZlaWdoKQogICAgJE5CTlNfYnJ1dGVm
b3JjZV9zcG9vZmVyX3Bvd2Vyc2hlbGwgPSBbUG93ZXJTaGVsbF06OkNyZWF0ZSgpCiAgICAkTkJO
U19icnV0ZWZvcmNlX3Nwb29mZXJfcG93ZXJzaGVsbC5SdW5zcGFjZSA9ICROQk5TX2JydXRlZm9y
Y2Vfc3Bvb2Zlcl9ydW5zcGFjZQogICAgJE5CTlNfYnJ1dGVmb3JjZV9zcG9vZmVyX3Bvd2Vyc2hl
bGwuQWRkU2NyaXB0KCRzaGFyZWRfYmFzaWNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxs
CiAgICAkTkJOU19icnV0ZWZvcmNlX3Nwb29mZXJfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJE5CTlNf
YnJ1dGVmb3JjZV9zcG9vZmVyX3NjcmlwdGJsb2NrKS5BZGRBcmd1bWVudCgKICAgICROQk5TQnJ1
dGVGb3JjZUhvc3QpLkFkZEFyZ3VtZW50KCROQk5TQnJ1dGVGb3JjZVBhdXNlKS5BZGRBcmd1bWVu
dCgkTkJOU0JydXRlRm9yY2VUYXJnZXQpLkFkZEFyZ3VtZW50KAogICAgJE5CTlNUVEwpLkFkZEFy
Z3VtZW50KCRTcG9vZmVySVApID4gJG51bGwKICAgICROQk5TX2JydXRlZm9yY2Vfc3Bvb2Zlcl9w
b3dlcnNoZWxsLkJlZ2luSW52b2tlKCkgPiAkbnVsbAp9CgojIENvbnRyb2wgTG9vcCBTdGFydHVw
IEZ1bmN0aW9uCmZ1bmN0aW9uIENvbnRyb2xMb29wCnsKICAgICRjb250cm9sX3J1bnNwYWNlID0g
W1J1bnNwYWNlRmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkKICAgICRjb250cm9sX3J1bnNwYWNl
Lk9wZW4oKQogICAgJGNvbnRyb2xfcnVuc3BhY2UuU2Vzc2lvblN0YXRlUHJveHkuU2V0VmFyaWFi
bGUoJ2ludmVpZ2gnLCRpbnZlaWdoKQogICAgJGNvbnRyb2xfcG93ZXJzaGVsbCA9IFtQb3dlclNo
ZWxsXTo6Q3JlYXRlKCkKICAgICRjb250cm9sX3Bvd2Vyc2hlbGwuUnVuc3BhY2UgPSAkY29udHJv
bF9ydW5zcGFjZQogICAgJGNvbnRyb2xfcG93ZXJzaGVsbC5BZGRTY3JpcHQoJHNoYXJlZF9iYXNp
Y19mdW5jdGlvbnNfc2NyaXB0YmxvY2spID4gJG51bGwKICAgICRjb250cm9sX3Bvd2Vyc2hlbGwu
QWRkU2NyaXB0KCRBRElETlNfZnVuY3Rpb25zX3NjcmlwdGJsb2NrKSA+ICRudWxsCiAgICAkY29u
dHJvbF9wb3dlcnNoZWxsLkFkZFNjcmlwdCgkY29udHJvbF9zY3JpcHRibG9jaykuQWRkQXJndW1l
bnQoJEFESUROU0FDRSkuQWRkQXJndW1lbnQoCiAgICAgICAgJEFESUROU0NsZWFudXApLkFkZEFy
Z3VtZW50KCRBRElETlNDcmVkZW50aWFsKS5BZGRBcmd1bWVudCgkQURJRE5TRG9tYWluKS5BZGRB
cmd1bWVudCgKICAgICAgICAkQURJRE5TRG9tYWluQ29udHJvbGxlcikuQWRkQXJndW1lbnQoJEFE
SUROU0ZvcmVzdCkuQWRkQXJndW1lbnQoJEFESUROU0hvc3RzSWdub3JlKS5BZGRBcmd1bWVudCgK
ICAgICAgICAkQURJRE5TTlMpLkFkZEFyZ3VtZW50KCRBRElETlNOU1RhcmdldCkuQWRkQXJndW1l
bnQoJEFESUROU1BhcnRpdGlvbikuQWRkQXJndW1lbnQoCiAgICAgICAgJEFESUROU1RocmVzaG9s
ZCkuQWRkQXJndW1lbnQoJEFESUROU1RUTCkuQWRkQXJndW1lbnQoJEFESUROU1pvbmUpLkFkZEFy
Z3VtZW50KAogICAgICAgICRDb25zb2xlUXVldWVMaW1pdCkuQWRkQXJndW1lbnQoJGVsZXZhdGVk
X3ByaXZpbGVnZSkuQWRkQXJndW1lbnQoJE5CTlNCcnV0ZUZvcmNlUGF1c2UpLkFkZEFyZ3VtZW50
KAogICAgICAgICRSdW5Db3VudCkuQWRkQXJndW1lbnQoJFJ1blRpbWUpLkFkZEFyZ3VtZW50KCRT
cG9vZmVySVApID4gJG51bGwKICAgICRjb250cm9sX3Bvd2Vyc2hlbGwuQmVnaW5JbnZva2UoKSA+
ICRudWxsCn0KCiNlbmRyZWdpb24KI3JlZ2lvbiBiZWdpbiBzdGFydHVwIGVuYWJsZWQgc2Vydmlj
ZXMKCiMgSFRUUCBTZXJ2ZXIgU3RhcnQKaWYoJEhUVFAgLWVxICdZJykKewogICAgSFRUUExpc3Rl
bmVyCn0KCiMgSFRUUFMgU2VydmVyIFN0YXJ0CmlmKCRIVFRQUyAtZXEgJ1knKQp7CiAgICBIVFRQ
U0xpc3RlbmVyCn0KCiMgUHJveHkgU2VydmVyIFN0YXJ0CmlmKCRQcm94eSAtZXEgJ1knKQp7CiAg
ICBQcm94eUxpc3RlbmVyCn0KCiMgU25pZmZlci9TcG9vZmVyIFN0YXJ0CmlmKCgkRE5TIC1lcSAn
WScgLW9yICRMTE1OUiAtZXEgJ1knIC1vciAkbUROUyAtZXEgJ1knIC1vciAkTkJOUyAtZXEgJ1kn
IC1vciAkU01CIC1lcSAnWScgLW9yICRJbnNwZWN0KSAtYW5kICRlbGV2YXRlZF9wcml2aWxlZ2Up
CnsgCiAgICBTbmlmZmVyU3Bvb2Zlcgp9CmVsc2VpZigoJEROUyAtZXEgJ1knIC1vciAkTExNTlIg
LWVxICdZJyAtb3IgJG1ETlMgLWVxICdZJyAtb3IgJE5CTlMgLWVxICdZJyAtb3IgJFNNQiAtZXEg
J1knKSAtYW5kICEkZWxldmF0ZWRfcHJpdmlsZWdlKQp7CgogICAgaWYoJEROUyAtZXEgJ1knKQog
ICAgewogICAgICAgIEROU1Nwb29mZXIKICAgIH0KCiAgICBpZigkTExNTlIgLWVxICdZJykKICAg
IHsKICAgICAgICBMTE1OUlNwb29mZXIKICAgIH0KCiAgICBpZigkbUROUyAtZXEgJ1knKQogICAg
ewogICAgICAgIG1ETlNTcG9vZmVyCiAgICB9CgogICAgaWYoJE5CTlMgLWVxICdZJykKICAgIHsK
ICAgICAgICBOQk5TU3Bvb2ZlcgogICAgfQoKICAgIGlmKCROQk5TQnJ1dGVGb3JjZSAtZXEgJ1kn
KQogICAgewogICAgICAgIE5CTlNCcnV0ZUZvcmNlU3Bvb2ZlcgogICAgfQoKfQoKIyBOQk5TQnJ1
dGVGb3JjZSBTcG9vZmVyIFN0YXJ0CmlmKCROQk5TQnJ1dGVGb3JjZSAtZXEgJ1knKQp7CiAgICBO
Qk5TQnJ1dGVGb3JjZVNwb29mZXIKfQoKIyBDb250cm9sIExvb3AgU3RhcnQKQ29udHJvbExvb3AK
CiMgQ29uc29sZSBPdXRwdXQgTG9vcAp0cnkKewoKICAgIGlmKCRDb25zb2xlT3V0cHV0IC1uZSAn
TicpCiAgICB7CgogICAgICAgIGlmKCRDb25zb2xlU3RhdHVzKQogICAgICAgIHsgICAgCiAgICAg
ICAgICAgICRjb25zb2xlX3N0YXR1c190aW1lb3V0ID0gTmV3LVRpbWVTcGFuIC1NaW51dGVzICRD
b25zb2xlU3RhdHVzCiAgICAgICAgICAgICRjb25zb2xlX3N0YXR1c19zdG9wd2F0Y2ggPSBbU3lz
dGVtLkRpYWdub3N0aWNzLlN0b3B3YXRjaF06OlN0YXJ0TmV3KCkKICAgICAgICB9CgogICAgICAg
IDpjb25zb2xlX2xvb3Agd2hpbGUoKCRpbnZlaWdoLnJ1bm5pbmcgLWFuZCAkaW52ZWlnaC5jb25z
b2xlX291dHB1dCkgLW9yICgkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLkNvdW50IC1ndCAwIC1hbmQg
JGludmVpZ2guY29uc29sZV9vdXRwdXQpKQogICAgICAgIHsKICAgIAogICAgICAgICAgICB3aGls
ZSgkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLkNvdW50IC1ndCAwKQogICAgICAgICAgICB7CgogICAg
ICAgICAgICAgICAgc3dpdGNoIC13aWxkY2FyZCAoJGludmVpZ2guY29uc29sZV9xdWV1ZVswXSkK
ICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgeyRfIC1saWtlICI/YFtgIWBd
KiIgLW9yICRfIC1saWtlICI/YFstYF0qIn0KICAgICAgICAgICAgICAgICAgICB7CgogICAgICAg
ICAgICAgICAgICAgICAgICBpZigkaW52ZWlnaC5vdXRwdXRfc3RyZWFtX29ubHkpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1
dCgkaW52ZWlnaC5jb25zb2xlX3F1ZXVlWzBdICsgJGludmVpZ2gubmV3bGluZSkKICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVdhcm5pbmco
JGludmVpZ2guY29uc29sZV9xdWV1ZVswXSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2guY29uc29sZV9xdWV1ZS5SZW1vdmVBdCgwKQog
ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgeyRfIC1saWtlICIqIHNw
b29mZXIgZGlzYWJsZWQiIC1vciAkXyAtbGlrZSAiKiBsb2NhbCByZXF1ZXN0IiAtb3IgJF8gLWxp
a2UgIiogaG9zdCBoZWFkZXIgKiIgLW9yICRfIC1saWtlICIqIHVzZXIgYWdlbnQgcmVjZWl2ZWQg
KiJ9CiAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJENv
bnNvbGVPdXRwdXQgLWVxICdZJykKICAgICAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLm91dHB1dF9zdHJlYW1fb25seSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
cml0ZS1PdXRwdXQoJGludmVpZ2guY29uc29sZV9xdWV1ZVswXSArICRpbnZlaWdoLm5ld2xpbmUp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV3JpdGUtT3V0cHV0KCRpbnZlaWdoLmNvbnNvbGVfcXVldWVbMF0pCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92ZUF0KDApCiAg
ICAgICAgICAgICAgICAgICAgfSAKCiAgICAgICAgICAgICAgICAgICAgeyRfIC1saWtlICIqcmVz
cG9uc2Ugc2VudF0iIC1vciAkXyAtbGlrZSAiKmlnbm9yaW5nKiIgLW9yICRfIC1saWtlICIqIEhU
VFAqcmVxdWVzdCBmb3IgKiIgLW9yICRfIC1saWtlICIqIFByb3h5KnJlcXVlc3QgZm9yICoiIC1v
ciAkXyAtbGlrZSAiKlNZTiBwYWNrZXQqIn0KICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRDb25zb2xlT3V0cHV0IC1u
ZSAiTG93IikKICAgICAgICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmKCRpbnZlaWdoLm91dHB1dF9zdHJlYW1fb25seSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQo
JGludmVpZ2guY29uc29sZV9xdWV1ZVswXSArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
V3JpdGUtT3V0cHV0KCRpbnZlaWdoLmNvbnNvbGVfcXVldWVbMF0pCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg
ICAgICAgICAkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92ZUF0KDApCiAgICAgICAgICAgICAg
ICAgICAgfSAKCiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdAogICAgICAgICAgICAgICAgICAg
IHsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLm91dHB1dF9zdHJlYW1fb25s
eSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
V3JpdGUtT3V0cHV0KCRpbnZlaWdoLmNvbnNvbGVfcXVldWVbMF0gKyAkaW52ZWlnaC5uZXdsaW5l
KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3Jp
dGUtT3V0cHV0KCRpbnZlaWdoLmNvbnNvbGVfcXVldWVbMF0pCiAgICAgICAgICAgICAgICAgICAg
ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLmNvbnNvbGVfcXVldWUuUmVt
b3ZlQXQoMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgaWYoJENvbnNvbGVTdGF0dXMgLWFuZCAkY29uc29sZV9zdGF0
dXNfc3RvcHdhdGNoLkVsYXBzZWQgLWdlICRjb25zb2xlX3N0YXR1c190aW1lb3V0KQogICAgICAg
ICAgICB7CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYoJGludmVpZ2guY2xlYXJ0ZXh0
X2xpc3QuQ291bnQgLWd0IDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
V3JpdGUtT3V0cHV0KCJbKl0gWyQoR2V0LURhdGUgLWZvcm1hdCBzKV0gQ3VycmVudCB1bmlxdWUg
Y2xlYXJ0ZXh0IGNhcHR1cmVzOiIgKyAkaW52ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAg
ICAgICRpbnZlaWdoLmNsZWFydGV4dF9saXN0LlNvcnQoKQogICAgICAgICAgICAgICAgICAgICRj
bGVhcnRleHRfbGlzdF90ZW1wID0gJGludmVpZ2guY2xlYXJ0ZXh0X2xpc3QKCiAgICAgICAgICAg
ICAgICAgICAgZm9yZWFjaCgkdW5pcXVlX2NsZWFydGV4dCBpbiAkY2xlYXJ0ZXh0X2xpc3RfdGVt
cCkKICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZigkdW5p
cXVlX2NsZWFydGV4dCAtbmUgJHVuaXF1ZV9jbGVhcnRleHRfbGFzdCkKICAgICAgICAgICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0KCR1bmlx
dWVfY2xlYXJ0ZXh0ICsgJGludmVpZ2gubmV3bGluZSkKICAgICAgICAgICAgICAgICAgICAgICAg
fQoKICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXF1ZV9jbGVhcnRleHRfbGFzdCA9ICR1bmlx
dWVfY2xlYXJ0ZXh0CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBT
dGFydC1TbGVlcCAtbSA1CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0KCJbK10gWyQo
R2V0LURhdGUgLWZvcm1hdCBzKV0gTm8gY2xlYXJ0ZXh0IGNyZWRlbnRpYWxzIGhhdmUgYmVlbiBj
YXB0dXJlZCIgKyAkaW52ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgICAgIGlmKCRpbnZlaWdoLlBPU1RfcmVxdWVzdF9saXN0LkNvdW50IC1ndCAwKQogICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCgiWypdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIEN1cnJlbnQgdW5pcXVlIFBPU1QgcmVxdWVzdCBjYXB0dXJlczoiICsg
JGludmVpZ2gubmV3bGluZSkKICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5QT1NUX3JlcXVl
c3RfbGlzdC5Tb3J0KCkKICAgICAgICAgICAgICAgICAgICAkUE9TVF9yZXF1ZXN0X2xpc3RfdGVt
cCA9ICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9saXN0CgogICAgICAgICAgICAgICAgICAgIGZvcmVh
Y2goJHVuaXF1ZV9QT1NUX3JlcXVlc3QgaW4gJFBPU1RfcmVxdWVzdF9saXN0X3RlbXApCiAgICAg
ICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHVuaXF1ZV9QT1NU
X3JlcXVlc3QgLW5lICR1bmlxdWVfUE9TVF9yZXF1ZXN0X2xhc3QpCiAgICAgICAgICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCgkdW5pcXVl
X1BPU1RfcmVxdWVzdCArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAgICAgICAgICAgICAg
IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICR1bmlxdWVfUE9TVF9yZXF1ZXN0X2xhc3QgPSAk
dW5pcXVlX1BPU1RfcmVxdWVzdAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg
ICAgICAgU3RhcnQtU2xlZXAgLW0gNQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAKICAg
ICAgICAgICAgICAgIGlmKCRpbnZlaWdoLk5UTE12MV9saXN0LkNvdW50IC1ndCAwKQogICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCgiWypdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIEN1cnJlbnQgdW5pcXVlIE5UTE12MSBjaGFsbGVuZ2UvcmVzcG9uc2Ug
Y2FwdHVyZXM6IiArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2guTlRMTXYxX2xpc3QuU29ydCgpCiAgICAgICAgICAgICAgICAgICAgJE5UTE12MV9saXN0X3Rl
bXAgPSAkaW52ZWlnaC5OVExNdjFfbGlzdAoKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCR1
bmlxdWVfTlRMTXYxIGluICROVExNdjFfbGlzdF90ZW1wKQogICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXF1ZV9OVExNdjFfYWNjb3VudCA9ICR1bmlxdWVf
TlRMTXYxLlN1YlN0cmluZygwLCR1bmlxdWVfTlRMTXYxLkluZGV4T2YoIjoiLCgkdW5pcXVlX05U
TE12MS5JbmRleE9mKCI6IikgKyAyKSkpCgogICAgICAgICAgICAgICAgICAgICAgICBpZigkdW5p
cXVlX05UTE12MV9hY2NvdW50IC1uZSAkdW5pcXVlX05UTE12MV9hY2NvdW50X2xhc3QpCiAgICAg
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91
dHB1dCgkdW5pcXVlX05UTE12MSArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICR1bmlxdWVfTlRMTXYxX2FjY291bnRf
bGFzdCA9ICR1bmlxdWVfTlRMTXYxX2FjY291bnQKICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgICAgICR1bmlxdWVfTlRMTXYxX2FjY291bnRfbGFzdCA9ICcnCiAgICAgICAg
ICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gNQogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91
dHB1dCgiWypdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIEN1cnJlbnQgTlRMTXYxIElQIGFkZHJl
c3NlcyBhbmQgdXNlcm5hbWVzOiIgKyAkaW52ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAg
ICAgICROVExNdjFfdXNlcm5hbWVfbGlzdF90ZW1wID0gJGludmVpZ2guTlRMTXYxX3VzZXJuYW1l
X2xpc3QKCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkTlRMTXYxX3VzZXJuYW1lIGluICRO
VExNdjFfdXNlcm5hbWVfbGlzdF90ZW1wKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0KCROVExNdjFfdXNlcm5hbWUgKyAkaW52ZWlnaC5u
ZXdsaW5lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RhcnQt
U2xlZXAgLW0gNQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCgiWytdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIE5vIE5UTE12MSBjaGFsbGVuZ2UvcmVzcG9uc2UgaGFzaGVzIGhhdmUg
YmVlbiBjYXB0dXJlZCIgKyAkaW52ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgICAgIGlmKCRpbnZlaWdoLk5UTE12Ml9saXN0LkNvdW50IC1ndCAwKQogICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCgiWypdIFskKEdldC1E
YXRlIC1mb3JtYXQgcyldIEN1cnJlbnQgdW5pcXVlIE5UTE12MiBjaGFsbGVuZ2UvcmVzcG9uc2Ug
Y2FwdHVyZXM6IiArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAgICAgICAgICAgJGludmVp
Z2guTlRMTXYyX2xpc3QuU29ydCgpCiAgICAgICAgICAgICAgICAgICAgJE5UTE12Ml9saXN0X3Rl
bXAgPSAkaW52ZWlnaC5OVExNdjJfbGlzdAoKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCR1
bmlxdWVfTlRMTXYyIGluICROVExNdjJfbGlzdF90ZW1wKQogICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXF1ZV9OVExNdjJfYWNjb3VudCA9ICR1bmlxdWVf
TlRMTXYyLlN1YlN0cmluZygwLCR1bmlxdWVfTlRMTXYyLkluZGV4T2YoIjoiLCgkdW5pcXVlX05U
TE12Mi5JbmRleE9mKCI6IikgKyAyKSkpCgogICAgICAgICAgICAgICAgICAgICAgICBpZigkdW5p
cXVlX05UTE12Ml9hY2NvdW50IC1uZSAkdW5pcXVlX05UTE12Ml9hY2NvdW50X2xhc3QpCiAgICAg
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91
dHB1dCgkdW5pcXVlX05UTE12MiArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICR1bmlxdWVfTlRMTXYyX2FjY291bnRf
bGFzdCA9ICR1bmlxdWVfTlRMTXYyX2FjY291bnQKICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgICAgICR1bmlxdWVfTlRMTXYyX2FjY291bnRfbGFzdCA9ICcnCiAgICAgICAg
ICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gNQogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91
dHB1dCgiWypdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIEN1cnJlbnQgTlRMTXYyIElQIGFkZHJl
c3NlcyBhbmQgdXNlcm5hbWVzOiIgKyAkaW52ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAg
ICAgICROVExNdjJfdXNlcm5hbWVfbGlzdF90ZW1wID0gJGludmVpZ2guTlRMTXYyX3VzZXJuYW1l
X2xpc3QKCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkTlRMTXYyX3VzZXJuYW1lIGluICRO
VExNdjJfdXNlcm5hbWVfbGlzdF90ZW1wKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0KCROVExNdjJfdXNlcm5hbWUgKyAkaW52ZWlnaC5u
ZXdsaW5lKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgIFdyaXRlLU91dHB1dCgiWytdIFskKEdldC1EYXRlIC1mb3JtYXQgcyldIE5vIE5U
TE12MiBjaGFsbGVuZ2UvcmVzcG9uc2UgaGFzaGVzIGhhdmUgYmVlbiBjYXB0dXJlZCIgKyAkaW52
ZWlnaC5uZXdsaW5lKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRjb25zb2xl
X3N0YXR1c19zdG9wd2F0Y2ggPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0b3B3YXRjaF06OlN0YXJ0
TmV3KCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJGludmVpZ2guY29uc29sZV9pbnB1
dCkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgIGlmKFtDb25zb2xlXTo6S2V5QXZhaWxh
YmxlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLmNvbnNv
bGVfb3V0cHV0ID0gJGZhbHNlCiAgICAgICAgICAgICAgICAgICAgQlJFQUsgY29uc29sZV9sb29w
CiAgICAgICAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFN0
YXJ0LVNsZWVwIC1tIDUKICAgICAgICB9CgogICAgfQoKfQpmaW5hbGx5CnsKCiAgICBpZigkVG9v
bCAtZXEgMikKICAgIHsKICAgICAgICAkaW52ZWlnaC5ydW5uaW5nID0gJGZhbHNlCiAgICB9Cgp9
Cgp9CiNlbmRyZWdpb24KI3JlZ2lvbiBiZWdpbiBzdXBwb3J0IGZ1bmN0aW9ucwpmdW5jdGlvbiBT
dG9wLUludmVpZ2gKewo8IwouU1lOT1BTSVMKU3RvcC1JbnZlaWdoIHdpbGwgc3RvcCBhbGwgcnVu
bmluZyBJbnZlaWdoIGZ1bmN0aW9ucy4KIz4KCiAgICBpZigkaW52ZWlnaCkKICAgIHsKICAgICAg
ICAkaW52ZWlnaC5zdG9wID0gJHRydWUKICAgICAgICAKICAgICAgICBpZigkaW52ZWlnaC5ydW5u
aW5nIC1vciAkaW52ZWlnaC5yZWxheV9ydW5uaW5nKQogICAgICAgIHsKICAgICAgICAgICAgJGlu
dmVpZ2guY29uc29sZV9xdWV1ZS5DbGVhcigpCiAgICAgICAgICAgIFdhdGNoLUludmVpZ2ggLU5v
Q29uc29sZU1lc3NhZ2UKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAg
ICAgV3JpdGUtT3V0cHV0ICJbLV0gVGhlcmUgYXJlIG5vIHJ1bm5pbmcgSW52ZWlnaCBmdW5jdGlv
bnMiCiAgICAgICAgfQoKICAgIH0KCn0KCmZ1bmN0aW9uIEdldC1JbnZlaWdoCnsKPCMKLlNZTk9Q
U0lTCkdldC1JbnZlaWdoIHdpbGwgZ2V0IHN0b3JlZCBJbnZlaWdoIGRhdGEgZnJvbSBtZW1vcnku
CgouUEFSQU1FVEVSIENvbnNvbGUKR2V0IHF1ZXVlZCBjb25zb2xlIG91dHB1dC4gVGhpcyBpcyBh
bHNvIHRoZSBkZWZhdWx0IGlmIG5vIHBhcmFtZXRlcnMgYXJlIHNldC4KCi5QQVJBTUVURVIgQURJ
RE5TCkdldCBhZGRlZCBETlMgaG9zdCByZWNvcmRzLgoKLlBBUkFNRVRFUiBBRElETlNGYWlsZWQK
R2V0IGZhaWxlZCBETlMgaG9zdCByZWNvcmQgYWRkcy4KCi5QQVJBTUVURVIgQ2xlYXJ0ZXh0Ckdl
dCBjYXB0dXJlZCBjbGVhcnRleHQgY3JlZGVudGlhbHMuCgouUEFSQU1FVEVSIENsZWFydGV4dFVu
aXF1ZQpHZXQgdW5pcXVlIGNhcHR1cmVkIGNsZWFydGV4dCBjcmVkZW50aWFscy4KCi5QQVJBTUVU
RVIgS2VyYmVyb3NVc2VybmFtZQpHZXQgSVAgYWRkcmVzc2VzLCB1c2VybmFtZXMsIGFuZCBpbmRl
eCBmb3IgY2FwdHVyZWQgS2VyYmVyb3MgVEdUcy4KCi5QQVJBTUVURVIgS2VyYmVyb3NUR1QKR2V0
IEtlcmJlcm9zIFRHVCBraXJiaSBieXRlIGFycmF5IGJ5IGluZGV4LgoKLlBBUkFNRVRFUiBMZWFy
bmluZwpHZXQgdmFsaWQgaG9zdHMgZGlzY292ZXJlZCB0aHJvdWdoIHNwb29mZXIgbGVhcm5pbmcu
CgouUEFSQU1FVEVSIExvZwpHZXQgbG9nIGVudHJpZXMuCgouUEFSQU1FVEVSIE5UTE12MQpHZXQg
Y2FwdHVyZWQgTlRMTXYxIGNoYWxsZW5nZS9yZXNwb25zZSBoYXNoZXMuCgouUEFSQU1FVEVSIE5U
TE12MVVuaXF1ZQpHZXQgdGhlIGZpcnN0IGNhcHR1cmVkIE5UTE12MSBjaGFsbGVuZ2UvcmVzcG9u
c2UgZm9yIGVhY2ggdW5pcXVlIGFjY291bnQuCgouUEFSQU1FVEVSIE5UTE12MVVzZXJuYW1lcwpH
ZXQgSVAgYWRkcmVzc2VzIGFuZCB1c2VybmFtZXMgZm9yIGNhcHR1cmVkIE5UTE12MSBjaGFsbGVu
Z2UvcmVzcG9uc2UgaGFzaGVzLgoKLlBBUkFNRVRFUiBOVExNdjIKR2V0IGNhcHR1cmVkIE5UTE12
MSBjaGFsbGVuZ2UvcmVzcG9uc2UgaGFzaGVzLgoKLlBBUkFNRVRFUiBOVExNdjJVbmlxdWUKR2V0
IHRoZSBmaXJzdCBjYXB0dXJlZCBOVExNdjIgY2hhbGxlbmdlL3Jlc3BvbnNlIGZvciBlYWNoIHVu
aXF1ZSBhY2NvdW50LgoKLlBBUkFNRVRFUiBOVExNdjJVc2VybmFtZXMKR2V0IElQIGFkZHJlc3Nl
cyBhbmQgdXNlcm5hbWVzIGZvciBjYXB0dXJlZCBOVExNdjIgY2hhbGxlbmdlL3Jlc3BvbnNlIGhh
c2hlcy4KCi5QQVJBTUVURVIgUE9TVFJlcXVlc3QKR2V0IGNhcHR1cmVkIFBPU1QgcmVxdWVzdHMu
CgouUEFSQU1FVEVSIFBPU1RSZXF1ZXN0VW5pcXVlCkdldCB1bmlxdWUgY2FwdHVyZWQgUE9TVCBy
ZXF1ZXN0LgoKLlBBUkFNRVRFUiBTZXNzaW9uCkdldCByZWxheSBzZXNzaW9uIGxpc3QuCiM+Cgog
ICAgW0NtZGxldEJpbmRpbmcoKV0KICAgIHBhcmFtCiAgICAoIAogICAgICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kQ2xlYXJ0ZXh0LAogICAgICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kQ2xlYXJ0ZXh0VW5pcXVlLAogICAgICAgIFtwYXJh
bWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kQ29uc29sZSwKICAgICAgICBbcGFyYW1l
dGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJEFESUROUywKICAgICAgICBbcGFyYW1ldGVy
KE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJEFESUROU0ZhaWxlZCwKICAgICAgICBbcGFyYW1l
dGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJEtlcmJlcm9zVEdULAogICAgICAgIFtwYXJhbWV0
ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kS2VyYmVyb3NVc2VybmFtZSwKICAgICAgICBb
cGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJExlYXJuaW5nLAogICAgICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTG9nLAogICAgICAgIFtwYXJhbWV0
ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYxLAogICAgICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYyLAogICAgICAgIFtwYXJhbWV0ZXIoTWFu
ZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYxVW5pcXVlLAogICAgICAgIFtwYXJhbWV0ZXIo
TWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYyVW5pcXVlLAogICAgICAgIFtwYXJhbWV0
ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYxVXNlcm5hbWVzLAogICAgICAgIFtw
YXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTlRMTXYyVXNlcm5hbWVzLAogICAg
ICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kUE9TVFJlcXVlc3QsCiAg
ICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3dpdGNoXSRQT1NUUmVxdWVzdFVu
aXF1ZSwKICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJFNlc3Np
b24sCiAgICAgICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3dpdGNoXSRFbnVtZXJh
dGUsCiAgICAgICAgW3BhcmFtZXRlcihWYWx1ZUZyb21SZW1haW5pbmdBcmd1bWVudHM9JHRydWUp
XSRpbnZhbGlkX3BhcmFtZXRlcgogICAgKQoKICAgIGlmKCRDb25zb2xlIC1vciAkUFNCb3VuZFBh
cmFtZXRlcnMuQ291bnQgLWVxIDApCiAgICB7CgogICAgICAgIHdoaWxlKCRpbnZlaWdoLmNvbnNv
bGVfcXVldWUuQ291bnQgLWd0IDApCiAgICAgICAgewoKICAgICAgICAgICAgaWYoJGludmVpZ2gu
b3V0cHV0X3N0cmVhbV9vbmx5KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBXcml0ZS1P
dXRwdXQoJGludmVpZ2guY29uc29sZV9xdWV1ZVswXSArICRpbnZlaWdoLm5ld2xpbmUpCiAgICAg
ICAgICAgICAgICAkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92ZUF0KDApCiAgICAgICAgICAg
IH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgc3dpdGNo
IC13aWxkY2FyZCAoJGludmVpZ2guY29uc29sZV9xdWV1ZVswXSkKICAgICAgICAgICAgICAgIHsK
CiAgICAgICAgICAgICAgICAgICAgeyRfIC1saWtlICI/YFtgIWBdKiIgLW9yICRfIC1saWtlICI/
YFstYF0qIn0KICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFdy
aXRlLVdhcm5pbmcgJGludmVpZ2guY29uc29sZV9xdWV1ZVswXQogICAgICAgICAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92ZUF0KDApCiAgICAgICAgICAgICAgICAg
ICAgfQoKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgJGludmVpZ2guY29uc29sZV9xdWV1
ZVswXQogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92
ZUF0KDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg
ICAgIH0KICAgICAgICAgICAgCiAgICAgICAgfQoKICAgIH0KCiAgICBpZigkQURJRE5TKQogICAg
ewogICAgICAgICRBRElETlNfdGFibGVfa2V5c190ZW1wID0gJGludmVpZ2guQURJRE5TX3RhYmxl
LktleXMKCiAgICAgICAgZm9yZWFjaCgkQURJRE5TX2hvc3QgaW4gJEFESUROU190YWJsZV9rZXlz
X3RlbXApCiAgICAgICAgewogICAgICAgICAgICAKICAgICAgICAgICAgaWYoJGludmVpZ2guQURJ
RE5TX3RhYmxlLiRBRElETlNfaG9zdCAtZ2UgMSkKICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgV3JpdGUtT3V0cHV0ICRBRElETlNfaG9zdAogICAgICAgICAgICB9CgogICAgICAgIH0KCiAg
ICB9CgogICAgaWYoJEFESUROU0ZhaWxlZCkKICAgIHsKCiAgICAgICAgJEFESUROU190YWJsZV9r
ZXlzX3RlbXAgPSAkaW52ZWlnaC5BRElETlNfdGFibGUuS2V5cwoKICAgICAgICBmb3JlYWNoKCRB
RElETlNfaG9zdCBpbiAkQURJRE5TX3RhYmxlX2tleXNfdGVtcCkKICAgICAgICB7CiAgICAgICAg
ICAgIAogICAgICAgICAgICBpZigkaW52ZWlnaC5BRElETlNfdGFibGUuJEFESUROU19ob3N0IC1l
cSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgJEFESUROU19o
b3N0CiAgICAgICAgICAgIH0KCiAgICAgICAgfQoKICAgIH0KCiAgICBpZigkS2VyYmVyb3NUR1Qp
CiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0ICRpbnZlaWdoLmtlcmJlcm9zX1RHVF9saXN0WyRL
ZXJiZXJvc1RHVF0KICAgIH0KCiAgICBpZigkS2VyYmVyb3NVc2VybmFtZSkKICAgIHsKICAgICAg
ICBXcml0ZS1PdXRwdXQgJGludmVpZ2gua2VyYmVyb3NfVEdUX3VzZXJuYW1lX2xpc3QKICAgIH0K
CiAgICBpZigkTG9nKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5sb2cKICAg
IH0KCiAgICBpZigkTlRMTXYxKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5O
VExNdjFfbGlzdAogICAgfQoKICAgIGlmKCROVExNdjFVbmlxdWUpCiAgICB7CiAgICAgICAgJGlu
dmVpZ2guTlRMTXYxX2xpc3QuU29ydCgpCiAgICAgICAgJE5UTE12MV9saXN0X3RlbXAgPSAkaW52
ZWlnaC5OVExNdjFfbGlzdAoKICAgICAgICBmb3JlYWNoKCR1bmlxdWVfTlRMTXYxIGluICROVExN
djFfbGlzdF90ZW1wKQogICAgICAgIHsKICAgICAgICAgICAgJHVuaXF1ZV9OVExNdjFfYWNjb3Vu
dCA9ICR1bmlxdWVfTlRMTXYxLlN1YlN0cmluZygwLCR1bmlxdWVfTlRMTXYxLkluZGV4T2YoIjoi
LCgkdW5pcXVlX05UTE12MS5JbmRleE9mKCI6IikgKyAyKSkpCgogICAgICAgICAgICBpZigkdW5p
cXVlX05UTE12MV9hY2NvdW50IC1uZSAkdW5pcXVlX05UTE12MV9hY2NvdW50X2xhc3QpCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAkdW5pcXVlX05UTE12MQogICAg
ICAgICAgICB9CgogICAgICAgICAgICAkdW5pcXVlX05UTE12MV9hY2NvdW50X2xhc3QgPSAkdW5p
cXVlX05UTE12MV9hY2NvdW50CiAgICAgICAgfQoKICAgIH0KCiAgICBpZigkTlRMTXYxVXNlcm5h
bWVzKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5OVExNdjJfdXNlcm5hbWVf
bGlzdAogICAgfQoKICAgIGlmKCROVExNdjIpCiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0ICRp
bnZlaWdoLk5UTE12Ml9saXN0CiAgICB9CgogICAgaWYoJE5UTE12MlVuaXF1ZSkKICAgIHsKICAg
ICAgICAkaW52ZWlnaC5OVExNdjJfbGlzdC5Tb3J0KCkKICAgICAgICAkTlRMTXYyX2xpc3RfdGVt
cCA9ICRpbnZlaWdoLk5UTE12Ml9saXN0CgogICAgICAgIGZvcmVhY2goJHVuaXF1ZV9OVExNdjIg
aW4gJE5UTE12Ml9saXN0X3RlbXApCiAgICAgICAgewogICAgICAgICAgICAkdW5pcXVlX05UTE12
Ml9hY2NvdW50ID0gJHVuaXF1ZV9OVExNdjIuU3ViU3RyaW5nKDAsJHVuaXF1ZV9OVExNdjIuSW5k
ZXhPZigiOiIsKCR1bmlxdWVfTlRMTXYyLkluZGV4T2YoIjoiKSArIDIpKSkKCiAgICAgICAgICAg
IGlmKCR1bmlxdWVfTlRMTXYyX2FjY291bnQgLW5lICR1bmlxdWVfTlRMTXYyX2FjY291bnRfbGFz
dCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICR1bmlxdWVfTlRM
TXYyCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR1bmlxdWVfTlRMTXYyX2FjY291bnRfbGFz
dCA9ICR1bmlxdWVfTlRMTXYyX2FjY291bnQKICAgICAgICB9CgogICAgfQoKICAgIGlmKCROVExN
djJVc2VybmFtZXMpCiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0ICRpbnZlaWdoLk5UTE12Ml91
c2VybmFtZV9saXN0CiAgICB9CgogICAgaWYoJENsZWFydGV4dCkKICAgIHsKICAgICAgICBXcml0
ZS1PdXRwdXQgJGludmVpZ2guY2xlYXJ0ZXh0X2xpc3QKICAgIH0KCiAgICBpZigkQ2xlYXJ0ZXh0
VW5pcXVlKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5jbGVhcnRleHRfbGlz
dCB8IEdldC1VbmlxdWUKICAgIH0KCiAgICBpZigkUE9TVFJlcXVlc3QpCiAgICB7CiAgICAgICAg
V3JpdGUtT3V0cHV0ICRpbnZlaWdoLlBPU1RfcmVxdWVzdF9saXN0CiAgICB9CgogICAgaWYoJFBP
U1RSZXF1ZXN0VW5pcXVlKQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5QT1NU
X3JlcXVlc3RfbGlzdCB8IEdldC1VbmlxdWUKICAgIH0KCiAgICBpZigkTGVhcm5pbmcpCiAgICB7
CiAgICAgICAgV3JpdGUtT3V0cHV0ICRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdAogICAgfQoKICAg
IGlmKCRTZXNzaW9uKQogICAgewogICAgICAgICRpID0gMAoKICAgICAgICB3aGlsZSgkaSAtbHQg
JGludmVpZ2guc2Vzc2lvbl9zb2NrZXRfdGFibGUuQ291bnQpCiAgICAgICAgewoKICAgICAgICAg
ICAgaWYoISRpbnZlaWdoLnNlc3Npb25fc29ja2V0X3RhYmxlWyRpXS5Db25uZWN0ZWQpCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICRpbnZlaWdoLnNlc3Npb25bJGldIHwgV2hlcmUtT2Jq
ZWN0IHskXy5TdGF0dXMgPSAiZGlzY29ubmVjdGVkIn0KICAgICAgICAgICAgfQogICAgICAgIAog
ICAgICAgICAgICAkaSsrCiAgICAgICAgfQoKICAgICAgICBXcml0ZS1PdXRwdXQgJGludmVpZ2gu
c2Vzc2lvbiB8IEZvcm1hdC1UYWJsZSAtQXV0b1NpemUKICAgIH0KCiAgICBpZigkRW51bWVyYXRl
KQogICAgewogICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5lbnVtZXJhdGUKICAgIH0KCn0K
CmZ1bmN0aW9uIFdhdGNoLUludmVpZ2gKewo8IwouU1lOT1BTSVMKV2F0Y2gtSW52ZWlnaCB3aWxs
IGVuYWJsZWQgcmVhbCB0aW1lIGNvbnNvbGUgb3V0cHV0LiBJZiB1c2luZyB0aGlzIGZ1bmN0aW9u
IHRocm91Z2ggYSBzaGVsbCwgdGVzdCB0byBlbnN1cmUgdGhhdCBpdCBkb2Vzbid0IGhhbmcgdGhl
IHNoZWxsLgoKLlBBUkFNRVRFUiBDb25zb2xlT3V0cHV0CihNZWRpdW0sTG93KSBNZWRpdW0gYW5k
IExvdyBjYW4gYmUgdXNlZCB0byByZWR1Y2Ugb3V0cHV0LgojPgoKW0NtZGxldEJpbmRpbmcoKV0K
cGFyYW0KKCAKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kTm9Db25z
b2xlTWVzc2FnZSwKICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2V0
KCJMb3ciLCJNZWRpdW0iLCJZIildW1N0cmluZ10kQ29uc29sZU91dHB1dCA9ICJZIiwKICAgIFtw
YXJhbWV0ZXIoVmFsdWVGcm9tUmVtYWluaW5nQXJndW1lbnRzPSR0cnVlKV0kaW52YWxpZF9wYXJh
bWV0ZXIKKQoKaWYoJGludmVpZ2gudG9vbCAtbmUgMSkKewoKICAgIGlmKCRpbnZlaWdoLnJ1bm5p
bmcgLW9yICRpbnZlaWdoLnJlbGF5X3J1bm5pbmcpCiAgICB7CiAgICAgICAgCiAgICAgICAgaWYo
ISROb0NvbnNvbGVNZXNzYWdlKQogICAgICAgIHsKICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJb
Kl0gUHJlc3MgYW55IGtleSB0byBzdG9wIGNvbnNvbGUgb3V0cHV0IgogICAgICAgIH0KCiAgICAg
ICAgJGludmVpZ2guY29uc29sZV9vdXRwdXQgPSAkdHJ1ZQoKICAgICAgICA6Y29uc29sZV9sb29w
IHdoaWxlKCgoJGludmVpZ2gucnVubmluZyAtb3IgJGludmVpZ2gucmVsYXlfcnVubmluZykgLWFu
ZCAkaW52ZWlnaC5jb25zb2xlX291dHB1dCkgLW9yICgkaW52ZWlnaC5jb25zb2xlX3F1ZXVlLkNv
dW50IC1ndCAwIC1hbmQgJGludmVpZ2guY29uc29sZV9vdXRwdXQpKQogICAgICAgIHsKCiAgICAg
ICAgICAgIHdoaWxlKCRpbnZlaWdoLmNvbnNvbGVfcXVldWUuQ291bnQgLWd0IDApCiAgICAgICAg
ICAgIHsKCiAgICAgICAgICAgICAgICBzd2l0Y2ggLXdpbGRjYXJkICgkaW52ZWlnaC5jb25zb2xl
X3F1ZXVlWzBdKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICB7JF8gLWxp
a2UgIj9gW2AhYF0qIiAtb3IgJF8gLWxpa2UgIj9gWy1gXSoifQogICAgICAgICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtV2FybmluZyAkaW52ZWlnaC5jb25zb2xl
X3F1ZXVlWzBdCiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlaWdoLmNvbnNvbGVfcXVldWUu
UmVtb3ZlQXQoMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHsk
XyAtbGlrZSAiKnNwb29mZXIgZGlzYWJsZWRdIiAtb3IgJF8gLWxpa2UgIipsb2NhbCByZXF1ZXN0
XSIgLW9yICRfIC1saWtlICIqIGhvc3QgaGVhZGVyICoiIC1vciAkXyAtbGlrZSAiKiB1c2VyIGFn
ZW50IHJlY2VpdmVkICoifQogICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAg
ICAgICAgIGlmKCRDb25zb2xlT3V0cHV0IC1lcSAnWScpCiAgICAgICAgICAgICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAkaW52ZWlnaC5jb25z
b2xlX3F1ZXVlWzBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg
ICAgICAgICRpbnZlaWdoLmNvbnNvbGVfcXVldWUuUmVtb3ZlQXQoMCkKCiAgICAgICAgICAgICAg
ICAgICAgfSAKCiAgICAgICAgICAgICAgICAgICAgeyRfIC1saWtlICIqcmVzcG9uc2Ugc2VudF0i
IC1vciAkXyAtbGlrZSAiKmlnbm9yaW5nKiIgLW9yICRfIC1saWtlICIqIEhUVFAqcmVxdWVzdCBm
b3IgKiIgLW9yICRfIC1saWtlICIqIFByb3h5KnJlcXVlc3QgZm9yICoiIC1vciAkXyAtbGlrZSAi
KlNZTiBwYWNrZXQqIn0KICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRDb25zb2xlT3V0cHV0IC1uZSAiTG93IikKICAg
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUt
T3V0cHV0ICRpbnZlaWdoLmNvbnNvbGVfcXVldWVbMF0KICAgICAgICAgICAgICAgICAgICAgICAg
fQoKICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2guY29uc29sZV9xdWV1ZS5SZW1vdmVB
dCgwKQoKICAgICAgICAgICAgICAgICAgICB9IAoKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRw
dXQgJGludmVpZ2guY29uc29sZV9xdWV1ZVswXQogICAgICAgICAgICAgICAgICAgICAgICAkaW52
ZWlnaC5jb25zb2xlX3F1ZXVlLlJlbW92ZUF0KDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgICAgIH0gCgogICAgICAgICAgICB9CgogICAgICAgICAgICBpZihbQ29uc29sZV06
OktleUF2YWlsYWJsZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGludmVpZ2guY29u
c29sZV9vdXRwdXQgPSAkZmFsc2UKICAgICAgICAgICAgICAgIEJSRUFLIGNvbnNvbGVfbG9vcAog
ICAgICAgICAgICB9CgogICAgICAgICAgICBTdGFydC1TbGVlcCAtbSA1CiAgICAgICAgfQoKICAg
IH0KICAgIGVsc2UKICAgIHsKICAgICAgICBXcml0ZS1PdXRwdXQgIlstXSBJbnZlaWdoIGlzbid0
IHJ1bm5pbmciCiAgICB9Cgp9CmVsc2UKewogICAgV3JpdGUtT3V0cHV0ICJbLV0gV2F0Y2gtSW52
ZWlnaCBjYW5ub3QgYmUgdXNlZCB3aXRoIGN1cnJlbnQgZXh0ZXJuYWwgdG9vbCBzZWxlY3Rpb24i
Cn0KCn0KCmZ1bmN0aW9uIENsZWFyLUludmVpZ2gKewo8IwouU1lOT1BTSVMKQ2xlYXItSW52ZWln
aCB3aWxsIGNsZWFyIEludmVpZ2ggZGF0YSBmcm9tIG1lbW9yeS4KIz4KCmlmKCRpbnZlaWdoKQp7
CgogICAgaWYoISRpbnZlaWdoLnJ1bm5pbmcgLWFuZCAhJGludmVpZ2gucmVsYXlfcnVubmluZykK
ICAgIHsKICAgICAgICBSZW1vdmUtVmFyaWFibGUgaW52ZWlnaCAtc2NvcGUgZ2xvYmFsCiAgICAg
ICAgV3JpdGUtT3V0cHV0ICJbK10gSW52ZWlnaCBkYXRhIGhhcyBiZWVuIGNsZWFyZWQgZnJvbSBt
ZW1vcnkiCiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgV3JpdGUtT3V0cHV0ICJbLV0gUnVu
IFN0b3AtSW52ZWlnaCBiZWZvcmUgcnVubmluZyBDbGVhci1JbnZlaWdoIgogICAgfQoKfQoKfQoK
ZnVuY3Rpb24gQ29udmVydFRvLUludmVpZ2gKewogICAgPCMKICAgIC5TWU5PUFNJUwogICAgQ29u
dmVydFRvLUludmVpZ2ggaW1wb3J0cyBCbG9vZGhvdW5kIGNvbXB1dGVycywgZ3JvdXBzIGFuZCBz
ZXNzaW9uIEpTT04gZmlsZXMgaW50byAkaW52ZWlnaC5lbnVtZXJhdGUKICAgIGZvciBJbnZlaWdo
IFJlbGF5IHRhcmdldGluZy4KCiAgICAuREVTQ1JJUFRJT04KICAgIEZvciB0aGUgZmFzdGVzdCBp
bXBvcnQsIGltcG9ydCB0aGUgZGF0YSBiZWZvcmUgZ2F0aGVyIGFueSBlbnVtZXJhdGlvbiBkYXRh
IHdpdGggSW52ZWlnaC4KCiAgICAuUEFSQU1FVEVSIEJsb29kSG91bmRDb21wdXRlcnNKU09OCiAg
ICBCbG9vZEhvdW5kIGNvbXB1dGVycyBmaWxlLgoKICAgIC5QQVJBTUVURVIgQmxvb2RIb3VuZFNl
c3Npb25zSlNPTgogICAgQmxvb2RIb3VuZCBzZXNzaW9ucyBmaWxlLgoKICAgIC5QQVJBTUVURVIg
Qmxvb2RIb3VuZEdyb3Vwc0pTT04KICAgIEJsb29kSG91bmQgZ3JvdXBzIGZpbGUuCgogICAgLlBB
UkFNVEVSIEROUwogICAgRW5hYmxlIEROUyBsb29rdXBzCiAgICAjPgoKICAgIFtDbWRsZXRCaW5k
aW5nKCldCiAgICBwYXJhbQogICAgKCAKICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFs
c2UpXVtWYWxpZGF0ZVNjcmlwdCh7VGVzdC1QYXRoICRffSldW1N0cmluZ10kQ29tcHV0ZXJzLAog
ICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1ZhbGlkYXRlU2NyaXB0KHtUZXN0
LVBhdGggJF99KV1bU3RyaW5nXSRTZXNzaW9ucywKICAgICAgICBbcGFyYW1ldGVyKE1hbmRhdG9y
eT0kZmFsc2UpXVtWYWxpZGF0ZVNjcmlwdCh7VGVzdC1QYXRoICRffSldW1N0cmluZ10kR3JvdXBz
LAogICAgICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N3aXRjaF0kRE5TLAogICAg
ICAgIFtwYXJhbWV0ZXIoVmFsdWVGcm9tUmVtYWluaW5nQXJndW1lbnRzPSR0cnVlKV0kaW52YWxp
ZF9wYXJhbWV0ZXIKICAgICkKCiAgICBpZighJENvbXB1dGVycyAtYW5kICEkU2Vzc2lvbnMgLWFu
ZCAhJEdyb3VwcykKICAgIHsKICAgICAgICBXcml0ZS1PdXRwdXQgIlNwZWNpZml5IGEgQmxvb2RI
b3VuZCBjb21wdXRlcnMsIGdyb3Vwcywgb3Igc2Vzc2lvbnMgSlNPTiBmaWxlIgogICAgICAgIHRo
cm93CiAgICB9CgogICAgaWYoJGludmVpZ2gucnVubmluZyAtb3IgJGludmVpZ2gucmVsYXlfcnVu
bmluZykKICAgIHsKICAgICAgICBXcml0ZS1PdXRwdXQgIlJ1biBTdG9wLUludmVpZ2ggYmVmb3Jl
IGltcG9ydGluZyBkYXRhIHdpdGggQ29udmVydFRvLUludmVpZ2giCiAgICAgICAgdGhyb3cKICAg
IH0KCiAgICBpZighJGludmVpZ2gpCiAgICB7CiAgICAgICAgJGdsb2JhbDppbnZlaWdoID0gW0hh
c2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAgICAgICAgJGludmVpZ2guY2xlYXJ0ZXh0X2xp
c3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52
ZWlnaC5lbnVtZXJhdGUgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QK
ICAgICAgICAkaW52ZWlnaC5JUF9jYXB0dXJlX2xpc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xs
ZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52ZWlnaC5sb2cgPSBOZXctT2JqZWN0IFN5c3Rl
bS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52ZWlnaC5rZXJiZXJvc19UR1RfbGlz
dCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAgICAgICRpbnZl
aWdoLmtlcmJlcm9zX1RHVF91c2VybmFtZV9saXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVj
dGlvbnMuQXJyYXlMaXN0CiAgICAgICAgJGludmVpZ2guTlRMTXYxX2xpc3QgPSBOZXctT2JqZWN0
IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52ZWlnaC5OVExNdjFfdXNl
cm5hbWVfbGlzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAg
ICAgICRpbnZlaWdoLk5UTE12Ml9saXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMu
QXJyYXlMaXN0CiAgICAgICAgJGludmVpZ2guTlRMTXYyX3VzZXJuYW1lX2xpc3QgPSBOZXctT2Jq
ZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QKICAgICAgICAkaW52ZWlnaC5QT1NUX3Jl
cXVlc3RfbGlzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAogICAg
ICAgICRpbnZlaWdoLnZhbGlkX2hvc3RfbGlzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rp
b25zLkFycmF5TGlzdAogICAgICAgICRpbnZlaWdoLkFESUROU190YWJsZSA9IFtIYXNoVGFibGVd
OjpTeW5jaHJvbml6ZWQoQHt9KQogICAgICAgICRpbnZlaWdoLnJlbGF5X3ByaXZpbGVnZV90YWJs
ZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgICAgICRpbnZlaWdoLnJlbGF5
X2ZhaWxlZF9sb2dpbl90YWJsZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAg
ICAgICRpbnZlaWdoLnJlbGF5X2hpc3RvcnlfdGFibGUgPSBbSGFzaFRhYmxlXTo6U3luY2hyb25p
emVkKEB7fSkKICAgICAgICAkaW52ZWlnaC5yZXF1ZXN0X3RhYmxlID0gW0hhc2hUYWJsZV06OlN5
bmNocm9uaXplZChAe30pCiAgICAgICAgJGludmVpZ2guc2Vzc2lvbl9zb2NrZXRfdGFibGUgPSBb
SGFzaFRhYmxlXTo6U3luY2hyb25pemVkKEB7fSkKICAgICAgICAkaW52ZWlnaC5zZXNzaW9uX3Rh
YmxlID0gW0hhc2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAgICAgICAgJGludmVpZ2guc2Vz
c2lvbl9tZXNzYWdlX0lEX3RhYmxlID0gW0hhc2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAg
ICAgICAgJGludmVpZ2guc2Vzc2lvbl9sb2NrX3RhYmxlID0gW0hhc2hUYWJsZV06OlN5bmNocm9u
aXplZChAe30pCiAgICAgICAgJGludmVpZ2guU01CX3Nlc3Npb25fdGFibGUgPSBbSGFzaFRhYmxl
XTo6U3luY2hyb25pemVkKEB7fSkKICAgICAgICAkaW52ZWlnaC5kb21haW5fbWFwcGluZ190YWJs
ZSA9IFtIYXNoVGFibGVdOjpTeW5jaHJvbml6ZWQoQHt9KQogICAgICAgICRpbnZlaWdoLmdyb3Vw
X3RhYmxlID0gW0hhc2hUYWJsZV06OlN5bmNocm9uaXplZChAe30pCiAgICAgICAgJGludmVpZ2gu
c2Vzc2lvbl9jb3VudCA9IDAKICAgICAgICAkaW52ZWlnaC5zZXNzaW9uID0gQCgpCiAgICB9Cgog
ICAgZnVuY3Rpb24gTmV3LVJlbGF5RW51bU9iamVjdAogICAgewogICAgICAgIHBhcmFtICgkSVAs
JEhvc3RuYW1lLCRETlNEb21haW4sJG5ldEJJT1NEb21haW4sJFNlc3Npb25zLCRBZG1pbmlzdHJh
dG9yVXNlcnMsJEFkbWluaXN0cmF0b3JHcm91cHMsCiAgICAgICAgICAgICRQcml2aWxlZ2VkLCRT
aGFyZXMsJE5ldFNlc3Npb25zLCROZXRTZXNzaW9uc01hcHBlZCwkTG9jYWxVc2VycywkU01CMiwk
U2lnbmluZywkU01CU2VydmVyLCRETlNSZWNvcmQsCiAgICAgICAgICAgICRJUHY2T25seSwkVGFy
Z2V0ZWQsJEVudW1lcmF0ZSwkRXhlY3V0ZSkKCiAgICAgICAgaWYoJFNlc3Npb25zIC1hbmQgJFNl
c3Npb25zIC1pc25vdCBbQXJyYXldKXskU2Vzc2lvbnMgPSBAKCRTZXNzaW9ucyl9CiAgICAgICAg
aWYoJEFkbWluaXN0cmF0b3JVc2VycyAtYW5kICRBZG1pbmlzdHJhdG9yVXNlcnMgLWlzbm90IFtB
cnJheV0peyRBZG1pbmlzdHJhdG9yVXNlcnMgPSBAKCRBZG1pbmlzdHJhdG9yVXNlcnMpfQogICAg
ICAgIGlmKCRBZG1pbmlzdHJhdG9yR3JvdXBzIC1hbmQgJEFkbWluaXN0cmF0b3JHcm91cHMgLWlz
bm90IFtBcnJheV0peyRBZG1pbmlzdHJhdG9yR3JvdXBzID0gQCgkQWRtaW5pc3RyYXRvckdyb3Vw
cyl9CiAgICAgICAgaWYoJFByaXZpbGVnZWQgLWFuZCAkUHJpdmlsZWdlZCAtaXNub3QgW0FycmF5
XSl7JFByaXZpbGVnZWQgPSBAKCRQcml2aWxlZ2VkKX0KICAgICAgICBpZigkU2hhcmVzIC1hbmQg
JFNoYXJlcyAtaXNub3QgW0FycmF5XSl7JFNoYXJlcyA9IEAoJFNoYXJlcyl9CiAgICAgICAgaWYo
JE5ldFNlc3Npb25zIC1hbmQgJE5ldFNlc3Npb25zIC1pc25vdCBbQXJyYXldKXskTmV0U2Vzc2lv
bnMgPSBAKCROZXRTZXNzaW9ucyl9CiAgICAgICAgaWYoJE5ldFNlc3Npb25zTWFwcGVkIC1hbmQg
JE5ldFNlc3Npb25zTWFwcGVkIC1pc25vdCBbQXJyYXldKXskTmV0U2Vzc2lvbnNNYXBwZWQgPSBA
KCROZXRTZXNzaW9uc01hcHBlZCl9CiAgICAgICAgaWYoJExvY2FsVXNlcnMgLWFuZCAkTG9jYWxV
c2VycyAtaXNub3QgW0FycmF5XSl7JExvY2FsVXNlcnMgPSBAKCRMb2NhbFVzZXJzKX0KCiAgICAg
ICAgJHJlbGF5X29iamVjdCA9IE5ldy1PYmplY3QgUFNPYmplY3QKICAgICAgICBBZGQtTWVtYmVy
IC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFt
ZSAiSW5kZXgiICRpbnZlaWdoLmVudW1lcmF0ZS5Db3VudAogICAgICAgIEFkZC1NZW1iZXIgLUlu
cHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJJ
UCIgJElQCiAgICAgICAgQWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVt
YmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgIkhvc3RuYW1lIiAkSG9zdG5hbWUKICAgICAgICBB
ZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9w
ZXJ0eSAtTmFtZSAiRE5TIERvbWFpbiIgJEROU0RvbWFpbgogICAgICAgIEFkZC1NZW1iZXIgLUlu
cHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJu
ZXRCSU9TIERvbWFpbiIgJG5ldEJJT1NEb21haW4KICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9i
amVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiU2Vzc2lv
bnMiICRTZXNzaW9ucwogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmpl
Y3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJBZG1pbmlzdHJhdG9yIFVzZXJzIiAk
QWRtaW5pc3RyYXRvclVzZXJzCiAgICAgICAgQWRkLU1lbWJlciAtSW5wdXRPYmplY3QgJHJlbGF5
X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgIkFkbWluaXN0cmF0b3IgR3Jv
dXBzIiAkQWRtaW5pc3RyYXRvckdyb3VwcwogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0
ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJQcml2aWxlZ2Vk
IiAkUHJpdmlsZWdlZAogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmpl
Y3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJTaGFyZXMiICRTaGFyZXMKICAgICAg
ICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQ
cm9wZXJ0eSAtTmFtZSAiTmV0U2Vzc2lvbnMiICROZXRTZXNzaW9ucwogICAgICAgIEFkZC1NZW1i
ZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1O
YW1lICJOZXRTZXNzaW9ucyBNYXBwZWQiICROZXRTZXNzaW9uc01hcHBlZAogICAgICAgIEFkZC1N
ZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5
IC1OYW1lICJMb2NhbCBVc2VycyIgJExvY2FsVXNlcnMKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1
dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiU01C
Mi4xIiAkU01CMgogICAgICAgIEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3Qg
LU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lICJTaWduaW5nIiAkU2lnbmluZwogICAgICAg
IEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lICJTTUIgU2VydmVyIiAkU01CU2VydmVyCiAgICAgICAgQWRkLU1lbWJlciAt
SW5wdXRPYmplY3QgJHJlbGF5X29iamVjdCAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUg
IkROUyBSZWNvcmQiICRETlNSZWNvcmQKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAk
cmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiSVB2NiBPbmx5IiAk
SVB2Nk9ubHkKICAgICAgICBBZGQtTWVtYmVyIC1JbnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1N
ZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAiVGFyZ2V0ZWQiICRUYXJnZXRlZAogICAgICAg
IEFkZC1NZW1iZXIgLUlucHV0T2JqZWN0ICRyZWxheV9vYmplY3QgLU1lbWJlclR5cGUgTm90ZVBy
b3BlcnR5IC1OYW1lICJFbnVtZXJhdGUiICRFbnVtZXJhdGUKICAgICAgICBBZGQtTWVtYmVyIC1J
bnB1dE9iamVjdCAkcmVsYXlfb2JqZWN0IC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAi
RXhlY3V0ZSIgJEV4ZWN1dGUKICAgICAgICAKICAgICAgICByZXR1cm4gJHJlbGF5X29iamVjdAog
ICAgfQoKICAgIGZ1bmN0aW9uIEdldC1ETlNFbnRyeShbU3RyaW5nXSRob3N0bmFtZSkKICAgIHsK
CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICAkSVBfbGlzdCA9IFtTeXN0ZW0uTmV0
LkRuc106OkdldEhvc3RFbnRyeSgkaG9zdG5hbWUpCgogICAgICAgICAgICBmb3JlYWNoKCRlbnRy
eSBpbiAkSVBfbGlzdC5BZGRyZXNzTGlzdCkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAg
IGlmKCEkZW50cnkuSXNJUHY2TGlua0xvY2FsKQogICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgICRJUCA9ICRlbnRyeS5JUEFkZHJlc3NUb1N0cmluZwogICAgICAgICAgICAgICAg
fQoKICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICBj
YXRjaAogICAgICAgIHsKICAgICAgICAgICAgJElQID0gJG51bGwKICAgICAgICB9CgogICAgICAg
IHJldHVybiAkSVAKICAgIH0KCiAgICAjIEpTT04gcGFyc2luZyBmcm9tIGh0dHA6Ly93YWhsbmV0
d29yay5jb20vMjAxNi8wMy8xNS9kZXNlcmlhbGl6aW5nLWxhcmdlLWpzb24tcGF5bG9hZHMtcG93
ZXJzaGVsbC1vYmplY3RzLyAKICAgIGZ1bmN0aW9uIEludm9rZS1QYXJzZUl0ZW0oJEpTT05JdGVt
KSAKICAgIHsKCiAgICAgICAgaWYoJEpTT05JdGVtLlBTT2JqZWN0LlR5cGVOYW1lcyAtbWF0Y2gg
J0FycmF5JykgCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gSW52b2tlLVBhcnNlSnNvbkFy
cmF5KCRKU09OSXRlbSkKICAgICAgICB9CiAgICAgICAgZWxzZWlmKCRKU09OSXRlbS5QU09iamVj
dC5UeXBlTmFtZXMgLW1hdGNoICdEaWN0aW9uYXJ5JykgCiAgICAgICAgewogICAgICAgICAgICBy
ZXR1cm4gSW52b2tlLVBhcnNlSnNvbk9iamVjdChbSGFzaFRhYmxlXSRKU09OSXRlbSkKICAgICAg
ICB9CiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAkSlNPTkl0ZW0K
ICAgICAgICB9CgogICAgfQoKICAgIGZ1bmN0aW9uIEludm9rZS1QYXJzZUpzb25PYmplY3QoJEpT
T05PYmplY3QpIAogICAgewogICAgICAgICRyZXN1bHQgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBQ
U0N1c3RvbU9iamVjdAoKICAgICAgICBmb3JlYWNoKCRrZXkgaW4gJEpTT05PYmplY3QuS2V5cykg
CiAgICAgICAgewogICAgICAgICAgICAkaXRlbSA9ICRKU09OT2JqZWN0WyRrZXldCgogICAgICAg
ICAgICBpZiAoJGl0ZW0pIAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcGFyc2VkX2l0
ZW0gPSBJbnZva2UtUGFyc2VJdGVtICRpdGVtCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxz
ZSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHBhcnNlZF9pdGVtID0gJG51bGwKICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgJHJlc3VsdCB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUg
Tm90ZVByb3BlcnR5IC1OYW1lICRrZXkgLVZhbHVlICRwYXJzZWRfaXRlbQogICAgICAgIH0KCiAg
ICAgICAgcmV0dXJuICRyZXN1bHQKICAgIH0KCiAgICBmdW5jdGlvbiBJbnZva2UtUGFyc2VKU09O
QXJyYXkoJEpTT05BcnJheSkgCiAgICB7CiAgICAgICAgJHJlc3VsdCA9IEAoKQogICAgICAgICRz
dG9wd2F0Y2hfcHJvZ3Jlc3MgPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0b3B3YXRjaF06OlN0YXJ0
TmV3KCkKICAgICAgICAkaSA9IDAKCiAgICAgICAgJEpTT05BcnJheSB8IEZvckVhY2gtT2JqZWN0
IC1Qcm9jZXNzIHsKCiAgICAgICAgICAgIGlmKCRzdG9wd2F0Y2hfcHJvZ3Jlc3MuRWxhcHNlZC5U
b3RhbE1pbGxpc2Vjb25kcyAtZ2UgNTAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAk
cGVyY2VudF9jb21wbGV0ZV9jYWxjdWxhdGlvbiA9IFtNYXRoXTo6VHJ1bmNhdGUoJGkgLyAkSlNP
TkFycmF5LmNvdW50ICogMTAwKQoKICAgICAgICAgICAgICAgIGlmKCRwZXJjZW50X2NvbXBsZXRl
X2NhbGN1bGF0aW9uIC1sZSAxMDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgV3JpdGUtUHJvZ3Jlc3MgLUFjdGl2aXR5ICJQYXJzaW5nIEpTT04iIC1TdGF0dXMgIiRwZXJj
ZW50X2NvbXBsZXRlX2NhbGN1bGF0aW9uJSBDb21wbGV0ZToiIC1QZXJjZW50Q29tcGxldGUgJHBl
cmNlbnRfY29tcGxldGVfY2FsY3VsYXRpb24gLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUK
ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkc3RvcHdhdGNoX3Byb2dyZXNzLlJl
c2V0KCkKICAgICAgICAgICAgICAgICRzdG9wd2F0Y2hfcHJvZ3Jlc3MuU3RhcnQoKQogICAgICAg
ICAgICB9CgogICAgICAgICAgICAkaSsrCiAgICAgICAgICAgICRyZXN1bHQgKz0gLCAoSW52b2tl
LVBhcnNlSXRlbSAkXyl9CgogICAgICAgIHJldHVybiAkcmVzdWx0CiAgICB9CgogICAgZnVuY3Rp
b24gSW52b2tlLVBhcnNlSlNPTlN0cmluZygkanNvbikgCiAgICB7CiAgICAgICAgJGNvbmZpZyA9
ICRqYXZhU2NyaXB0U2VyaWFsaXplci5EZXNlcmlhbGl6ZU9iamVjdCgkanNvbikKCiAgICAgICAg
cmV0dXJuIEludm9rZS1QYXJzZUpzb25PYmplY3QgJGNvbmZpZwogICAgfQoKICAgIFt2b2lkXVtT
eXN0ZW0uUmVmbGVjdGlvbi5Bc3NlbWJseV06OkxvYWRXaXRoUGFydGlhbE5hbWUoIlN5c3RlbS5X
ZWIuRXh0ZW5zaW9ucyIpCgogICAgaWYoJGludmVpZ2guZW51bWVyYXRlLkNvdW50IC1lcSAwKQog
ICAgewogICAgICAgICRlbnVtZXJhdGVfZW1wdHkgPSAkdHJ1ZQogICAgfQoKICAgIGlmKCRDb21w
dXRlcnMpCiAgICB7ICAgICAgIAogICAgICAgICRDb21wdXRlcnMgPSAoUmVzb2x2ZS1QYXRoICRD
b21wdXRlcnMpLlBhdGgKICAgICAgICAkY29tcHV0ZXJzX3NlcmlhbGl6ZXIgPSBOZXctT2JqZWN0
IC1UeXBlTmFtZSBTeXN0ZW0uV2ViLlNjcmlwdC5TZXJpYWxpemF0aW9uLkphdmFTY3JpcHRTZXJp
YWxpemVyCiAgICAgICAgJGNvbXB1dGVyc19zZXJpYWxpemVyLk1heEpzb25MZW5ndGggPSAxMDQ4
NTc2MDAKICAgICAgICAkYmxvb2Rob3VuZF9jb21wdXRlcnMgPSBbU3lzdGVtLklPLkZpbGVdOjpS
ZWFkQWxsVGV4dCgkQ29tcHV0ZXJzKQogICAgICAgICRibG9vZGhvdW5kX2NvbXB1dGVycyA9ICRj
b21wdXRlcnNfc2VyaWFsaXplci5EZXNlcmlhbGl6ZU9iamVjdCgkYmxvb2Rob3VuZF9jb21wdXRl
cnMpCiAgICAgICAgV3JpdGUtT3V0cHV0ICJbKl0gUGFyc2luZyBCbG9vZEhvdW5kIENvbXB1dGVy
cyBKU09OIgogICAgICAgICRzdG9wd2F0Y2hfcGFyc2UgPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0
b3B3YXRjaF06OlN0YXJ0TmV3KCkKICAgICAgICAkYmxvb2Rob3VuZF9jb21wdXRlcnMgPSBJbnZv
a2UtUGFyc2VJdGVtICRibG9vZGhvdW5kX2NvbXB1dGVycwogICAgICAgIFdyaXRlLU91dHB1dCAi
WytdIFBhcnNpbmcgY29tcGxldGVkIGluICQoW01hdGhdOjpUcnVuY2F0ZSgkc3RvcHdhdGNoX3Bh
cnNlLkVsYXBzZWQuVG90YWxTZWNvbmRzKSkgc2Vjb25kcyIKICAgICAgICAkc3RvcHdhdGNoX3Bh
cnNlLlJlc2V0KCkKICAgICAgICAkc3RvcHdhdGNoX3BhcnNlLlN0YXJ0KCkKICAgICAgICBXcml0
ZS1PdXRwdXQgIlsqXSBJbXBvcnRpbmcgY29tcHV0ZXJzIHRvIEludmVpZ2giCiAgICAgICAgJHN0
b3B3YXRjaF9wcm9ncmVzcyA9IFtTeXN0ZW0uRGlhZ25vc3RpY3MuU3RvcHdhdGNoXTo6U3RhcnRO
ZXcoKQogICAgICAgICRpID0gMAoKICAgICAgICBpZighJGJsb29kaG91bmRfY29tcHV0ZXJzLkNv
bXB1dGVycykKICAgICAgICB7CiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiWyFdIEpTT04gY29t
cHV0ZXJzIHBhcnNlIGZhaWxlZCIKICAgICAgICAgICAgdGhyb3cKICAgICAgICB9CgogICAgICAg
ICRibG9vZGhvdW5kX2NvbXB1dGVycy5Db21wdXRlcnMgfCBGb3JFYWNoLU9iamVjdCB7CgogICAg
ICAgICAgICBpZigkc3RvcHdhdGNoX3Byb2dyZXNzLkVsYXBzZWQuVG90YWxNaWxsaXNlY29uZHMg
LWdlIDUwMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHBlcmNlbnRfY29tcGxldGVf
Y2FsY3VsYXRpb24gPSBbTWF0aF06OlRydW5jYXRlKCRpIC8gJGJsb29kaG91bmRfY29tcHV0ZXJz
LkNvbXB1dGVycy5Db3VudCAqIDEwMCkKCiAgICAgICAgICAgICAgICBpZigkcGVyY2VudF9jb21w
bGV0ZV9jYWxjdWxhdGlvbiAtbGUgMTAwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgIFdyaXRlLVByb2dyZXNzIC1BY3Rpdml0eSAiWypdIEltcG9ydGluZyBjb21wdXRlcnMi
IC1TdGF0dXMgIiRwZXJjZW50X2NvbXBsZXRlX2NhbGN1bGF0aW9uJSBDb21wbGV0ZToiIC1QZXJj
ZW50Q29tcGxldGUgJHBlcmNlbnRfY29tcGxldGVfY2FsY3VsYXRpb24gLUVycm9yQWN0aW9uIFNp
bGVudGx5Q29udGludWUKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkc3RvcHdh
dGNoX3Byb2dyZXNzLlJlc2V0KCkKICAgICAgICAgICAgICAgICRzdG9wd2F0Y2hfcHJvZ3Jlc3Mu
U3RhcnQoKQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaG9zdG5hbWUgPSAkXy5OYW1lCiAg
ICAgICAgICAgIFtBcnJheV0kbG9jYWxfYWRtaW5fdXNlcnMgPSAkXy5Mb2NhbEFkbWlucyB8IFdo
ZXJlLU9iamVjdCB7JF8uVHlwZSAtZXEgJ1VzZXInfSB8IFNlbGVjdC1PYmplY3QgLWV4cGFuZCBO
YW1lCiAgICAgICAgICAgIFtBcnJheV0kbG9jYWxfYWRtaW5fZ3JvdXBzID0gJF8uTG9jYWxBZG1p
bnMgfCBXaGVyZS1PYmplY3QgeyRfLlR5cGUgLWVxICdHcm91cCd9IHwgU2VsZWN0LU9iamVjdCAt
ZXhwYW5kIE5hbWUKCiAgICAgICAgICAgIGlmKCRETlMpCiAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICRJUCA9IEdldC1ETlNFbnRyeSAkaG9zdG5hbWUKCiAgICAgICAgICAgICAgICBpZigh
JElQKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAi
Wy1dIEROUyBsb29rdXAgZm9yICRIb3N0bmFtZSBmYWlsZWQiCiAgICAgICAgICAgICAgICB9Cgog
ICAgICAgICAgICB9CgogICAgICAgICAgICBpZighJGVudW1lcmF0ZV9lbXB0eSkKICAgICAgICAg
ICAgewoKICAgICAgICAgICAgICAgIGZvcigkaSA9IDA7JGkgLWx0ICRpbnZlaWdoLmVudW1lcmF0
ZS5Db3VudDskaSsrKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICBpZigo
JGhvc3RuYW1lIC1hbmQgJGludmVpZ2guZW51bWVyYXRlWyRpXS5Ib3N0bmFtZSAtZXEgJGhvc3Ru
YW1lKSAtb3IgKCRJUCAtYW5kICRpbnZlaWdoLmVudW1lcmF0ZVskaV0uSVAgLWVxICRJUCkpCiAg
ICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGludmVpZ2gu
ZW51bWVyYXRlWyRpXS5Ib3N0bmFtZSAtbmUgJGhvc3RuYW1lIC1hbmQgJGludmVpZ2guZW51bWVy
YXRlWyRpXS5JUCAtZXEgJElQKQogICAgICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZm9yKCRqID0gMDskaiAtbHQgJGludmVpZ2guZW51bWVyYXRlLkNv
dW50OyRqKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLmVudW1lcmF0ZVskal0uSVAgLWVxICR0YXJnZXQp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkdGFyZ2V0X2luZGV4ID0gJGoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRp
bnZlaWdoLmVudW1lcmF0ZVskdGFyZ2V0X2luZGV4XS5Ib3N0bmFtZSA9ICRob3N0bmFtZQogICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcigkaiA9
IDA7JGogLWx0ICRpbnZlaWdoLmVudW1lcmF0ZS5Db3VudDskaisrKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkaW52ZWln
aC5lbnVtZXJhdGVbJGpdLkhvc3RuYW1lIC1lcSAkaG9zdG5hbWUpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFy
Z2V0X2luZGV4ID0gJGoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg
ICAgJGludmVpZ2guZW51bWVyYXRlWyR0YXJnZXRfaW5kZXhdLiJBZG1pbmlzdHJhdG9yIFVzZXJz
IiA9ICRsb2NhbF9hZG1pbl91c2VycwogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZWlnaC5l
bnVtZXJhdGVbJHRhcmdldF9pbmRleF0uIkFkbWluaXN0cmF0b3IgR3JvdXBzIiA9ICRsb2NhbF9h
ZG1pbl9ncm91cHMKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGludmVpZ2gu
ZW51bWVyYXRlLkFkZCgoTmV3LVJlbGF5RW51bU9iamVjdCAtSG9zdG5hbWUgJF8uTmFtZSAtSVAg
JElQIC1BZG1pbmlzdHJhdG9yVXNlcnMgJGxvY2FsX2FkbWluX3VzZXJzIC1BZG1pbmlzdHJhdG9y
R3JvdXBzICRsb2NhbF9hZG1pbl9ncm91cHMpKSA+ICRudWxsCiAgICAgICAgICAgICAgICAgICAg
fQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAkaW52ZWlnaC5lbnVtZXJhdGUuQWRkKChOZXctUmVs
YXlFbnVtT2JqZWN0IC1Ib3N0bmFtZSAkXy5OYW1lIC1JUCAkSVAgLUFkbWluaXN0cmF0b3JVc2Vy
cyAkbG9jYWxfYWRtaW5fdXNlcnMgLUFkbWluaXN0cmF0b3JHcm91cHMgJGxvY2FsX2FkbWluX2dy
b3VwcykpID4gJG51bGwKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJElQID0gJG51bGwKICAg
ICAgICAgICAgJGhvc3RuYW1lID0gJG51bGwKICAgICAgICAgICAgJGxvY2FsX2FkbWluX3VzZXJz
ID0gJG51bGwKICAgICAgICAgICAgJGxvY2FsX2FkbWluX2dyb3VwcyA9ICRudWxsCiAgICAgICAg
ICAgICR0YXJnZXRfaW5kZXggPSAkbnVsbAogICAgICAgICAgICAkaSsrCiAgICAgICAgfQoKICAg
ICAgICBXcml0ZS1PdXRwdXQgIlsrXSBJbXBvcnQgY29tcGxldGVkIGluICQoW01hdGhdOjpUcnVu
Y2F0ZSgkc3RvcHdhdGNoX3BhcnNlLkVsYXBzZWQuVG90YWxTZWNvbmRzKSkgc2Vjb25kcyIKICAg
ICAgICAkc3RvcHdhdGNoX3BhcnNlLlJlc2V0KCkKICAgICAgICBSZW1vdmUtVmFyaWFibGUgYmxv
b2Rob3VuZF9jb21wdXRlcnMKICAgIH0KCiAgICBpZigkU2Vzc2lvbnMpCiAgICB7CiAgICAgICAg
JFNlc3Npb25zID0gKFJlc29sdmUtUGF0aCAkU2Vzc2lvbnMpLlBhdGgKICAgICAgICAkc2Vzc2lv
bnNfc2VyaWFsaXplciA9IE5ldy1PYmplY3QgLVR5cGVOYW1lIFN5c3RlbS5XZWIuU2NyaXB0LlNl
cmlhbGl6YXRpb24uSmF2YVNjcmlwdFNlcmlhbGl6ZXIKICAgICAgICAkc2Vzc2lvbnNfc2VyaWFs
aXplci5NYXhKc29uTGVuZ3RoID0gMTA0ODU3NjAwCiAgICAgICAgJGJsb29kaG91bmRfc2Vzc2lv
bnMgPSBbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgkU2Vzc2lvbnMpCiAgICAgICAgJGJs
b29kaG91bmRfc2Vzc2lvbnMgPSAkc2Vzc2lvbnNfc2VyaWFsaXplci5EZXNlcmlhbGl6ZU9iamVj
dCgkYmxvb2Rob3VuZF9zZXNzaW9ucykKICAgICAgICAkc3RvcHdhdGNoX3BhcnNlID0gW1N5c3Rl
bS5EaWFnbm9zdGljcy5TdG9wd2F0Y2hdOjpTdGFydE5ldygpCiAgICAgICAgV3JpdGUtT3V0cHV0
ICJbKl0gUGFyc2luZyBCbG9vZEhvdW5kIFNlc3Npb25zIEpTT04iCiAgICAgICAgJGJsb29kaG91
bmRfc2Vzc2lvbnMgPSBJbnZva2UtUGFyc2VJdGVtICRibG9vZGhvdW5kX3Nlc3Npb25zCiAgICAg
ICAgV3JpdGUtT3V0cHV0ICJbK10gUGFyc2luZyBjb21wbGV0ZWQgaW4gJChbTWF0aF06OlRydW5j
YXRlKCRzdG9wd2F0Y2hfcGFyc2UuRWxhcHNlZC5Ub3RhbFNlY29uZHMpKSBzZWNvbmRzIgogICAg
ICAgICRzdG9wd2F0Y2hfcGFyc2UuUmVzZXQoKQogICAgICAgICRzdG9wd2F0Y2hfcGFyc2UuU3Rh
cnQoKQogICAgICAgIFdyaXRlLU91dHB1dCAiWypdIEltcG9ydGluZyBzZXNzaW9ucyB0byBJbnZl
aWdoIgogICAgICAgICRzdG9wd2F0Y2hfcHJvZ3Jlc3MgPSBbU3lzdGVtLkRpYWdub3N0aWNzLlN0
b3B3YXRjaF06OlN0YXJ0TmV3KCkKICAgICAgICAkaSA9IDAKCiAgICAgICAgaWYoISRibG9vZGhv
dW5kX3Nlc3Npb25zLlNlc3Npb25zKQogICAgICAgIHsKICAgICAgICAgICAgV3JpdGUtT3V0cHV0
ICJbIV0gSlNPTiBzZXNzaW9ucyBwYXJzZSBmYWlsZWQiCiAgICAgICAgICAgIHRocm93CiAgICAg
ICAgfQoKICAgICAgICAkYmxvb2Rob3VuZF9zZXNzaW9ucy5TZXNzaW9ucyB8IEZvckVhY2gtT2Jq
ZWN0IHsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCRzdG9wd2F0Y2hfcHJvZ3Jlc3MuRWxh
cHNlZC5Ub3RhbE1pbGxpc2Vjb25kcyAtZ2UgNTAwKQogICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAkcGVyY2VudF9jb21wbGV0ZV9jYWxjdWxhdGlvbiA9IFtNYXRoXTo6VHJ1bmNhdGUoJGkg
LyAkYmxvb2Rob3VuZF9zZXNzaW9ucy5TZXNzaW9ucy5Db3VudCAqIDEwMCkKCiAgICAgICAgICAg
ICAgICBpZigkcGVyY2VudF9jb21wbGV0ZV9jYWxjdWxhdGlvbiAtbGUgMTAwKQogICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgIFdyaXRlLVByb2dyZXNzIC1BY3Rpdml0eSAiWypd
IEltcG9ydGluZyBzZXNzaW9ucyIgLVN0YXR1cyAiJHBlcmNlbnRfY29tcGxldGVfY2FsY3VsYXRp
b24lIENvbXBsZXRlOiIgLVBlcmNlbnRDb21wbGV0ZSAkcGVyY2VudF9jb21wbGV0ZV9jYWxjdWxh
dGlvbiAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZQogICAgICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgICAgICRzdG9wd2F0Y2hfcHJvZ3Jlc3MuUmVzZXQoKQogICAgICAgICAgICAgICAg
JHN0b3B3YXRjaF9wcm9ncmVzcy5TdGFydCgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRo
b3N0bmFtZSA9ICRfLkNvbXB1dGVyTmFtZQoKICAgICAgICAgICAgaWYoJGhvc3RuYW1lIC1hcyBb
SVBBZGRyZXNzXSAtYXMgW0Jvb2xdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkSVAg
PSAkaG9zdG5hbWUKICAgICAgICAgICAgICAgICRob3N0bmFtZSA9ICRudWxsCgogICAgICAgICAg
ICAgICAgZm9yKCRpID0gMDskaSAtbHQgJGludmVpZ2guZW51bWVyYXRlLkNvdW50OyRpKyspCiAg
ICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgIGlmKCRpbnZlaWdoLmVudW1lcmF0
ZVskaV0uSVAgLWVxICR0YXJnZXQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgICAgICAkdGFyZ2V0X2luZGV4ID0gJGkKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg
fQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvcigkaSA9
IDA7JGkgLWx0ICRpbnZlaWdoLmVudW1lcmF0ZS5Db3VudDskaSsrKQogICAgICAgICAgICAgICAg
ewoKICAgICAgICAgICAgICAgICAgICBpZigkaW52ZWlnaC5lbnVtZXJhdGVbJGldLkhvc3RuYW1l
IC1lcSAkaG9zdG5hbWUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICAgICAkdGFyZ2V0X2luZGV4ID0gJGkKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAg
ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlm
KCRETlMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJElQID0gR2V0LURO
U0VudHJ5ICRob3N0bmFtZQoKICAgICAgICAgICAgICAgICAgICBpZighJElQKQogICAgICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJbLV0gRE5T
IGxvb2t1cCBmb3IgJEhvc3RuYW1lIGZhaWxlZCBvciBJUHY2IGFkZHJlc3MiCiAgICAgICAgICAg
ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg
IGlmKCEkZW51bWVyYXRlX2VtcHR5IC1vciAkdGFyZ2V0X2luZGV4IC1nZSAwKQogICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICBbQXJyYXldJHNlc3Npb25fbGlzdCA9ICRpbnZlaWdoLmVudW1l
cmF0ZVskdGFyZ2V0X2luZGV4XS5TZXNzaW9ucwoKICAgICAgICAgICAgICAgIGlmKCRzZXNzaW9u
X2xpc3QgLW5vdGNvbnRhaW5zICRfLlVzZXJOYW1lKQogICAgICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICAgICRzZXNzaW9uX2xpc3QgKz0gJF8uVXNlck5hbWUKICAgICAgICAgICAgICAg
ICAgICAkaW52ZWlnaC5lbnVtZXJhdGVbJHRhcmdldF9pbmRleF0uU2Vzc2lvbnMgPSAkc2Vzc2lv
bl9saXN0CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgeyAgIAogICAgICAgICAgICAgICAgJGludmVpZ2guZW51bWVyYXRlLkFkZCgk
KE5ldy1SZWxheUVudW1PYmplY3QgLUhvc3RuYW1lICRob3N0bmFtZSAtSVAgJElQIC1TZXNzaW9u
cyAkXy5Vc2VyTmFtZSkpID4gJG51bGwKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGhvc3Ru
YW1lID0gJG51bGwKICAgICAgICAgICAgJElQID0gJG51bGwKICAgICAgICAgICAgJHNlc3Npb25f
bGlzdCA9ICRudWxsCiAgICAgICAgICAgICR0YXJnZXRfaW5kZXggPSAkbnVsbAogICAgICAgICAg
ICAkaSsrCiAgICAgICAgfQoKICAgICAgICBXcml0ZS1PdXRwdXQgIlsrXSBJbXBvcnQgY29tcGxl
dGVkIGluICQoW01hdGhdOjpUcnVuY2F0ZSgkc3RvcHdhdGNoX3BhcnNlLkVsYXBzZWQuVG90YWxT
ZWNvbmRzKSkgc2Vjb25kcyIKICAgICAgICAkc3RvcHdhdGNoX3BhcnNlLlJlc2V0KCkKICAgICAg
ICBSZW1vdmUtVmFyaWFibGUgYmxvb2Rob3VuZF9zZXNzaW9ucwogICAgfQogICAgCiAgICBpZigk
R3JvdXBzKQogICAgewogICAgICAgICRHcm91cHMgPSAoUmVzb2x2ZS1QYXRoICRHcm91cHMpLlBh
dGgKICAgICAgICAkZ3JvdXBzX3NlcmlhbGl6ZXIgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0
ZW0uV2ViLlNjcmlwdC5TZXJpYWxpemF0aW9uLkphdmFTY3JpcHRTZXJpYWxpemVyCiAgICAgICAg
JGdyb3Vwc19zZXJpYWxpemVyLk1heEpzb25MZW5ndGggPSAxMDQ4NTc2MDAKICAgICAgICAkYmxv
b2Rob3VuZF9ncm91cHMgPSBbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgkR3JvdXBzKQog
ICAgICAgICRibG9vZGhvdW5kX2dyb3VwcyA9ICRncm91cHNfc2VyaWFsaXplci5EZXNlcmlhbGl6
ZU9iamVjdCgkYmxvb2Rob3VuZF9ncm91cHMpCiAgICAgICAgJHN0b3B3YXRjaF9wYXJzZSA9IFtT
eXN0ZW0uRGlhZ25vc3RpY3MuU3RvcHdhdGNoXTo6U3RhcnROZXcoKQogICAgICAgIFdyaXRlLU91
dHB1dCAiWypdIFBhcnNpbmcgQmxvb2RIb3VuZCBHcm91cHMgSlNPTiIKICAgICAgICAkYmxvb2Ro
b3VuZF9ncm91cHMgPSBJbnZva2UtUGFyc2VJdGVtICRibG9vZGhvdW5kX2dyb3VwcwogICAgICAg
IFdyaXRlLU91dHB1dCAiWytdIFBhcnNpbmcgY29tcGxldGVkIGluICQoW01hdGhdOjpUcnVuY2F0
ZSgkc3RvcHdhdGNoX3BhcnNlLkVsYXBzZWQuVG90YWxTZWNvbmRzKSkgc2Vjb25kcyIKICAgICAg
ICAkc3RvcHdhdGNoX3BhcnNlLlJlc2V0KCkKICAgICAgICAkc3RvcHdhdGNoX3BhcnNlLlN0YXJ0
KCkKICAgICAgICBXcml0ZS1PdXRwdXQgIlsqXSBJbXBvcnRpbmcgZ3JvdXBzIHRvIEludmVpZ2gi
CiAgICAgICAgJHN0b3B3YXRjaF9wcm9ncmVzcyA9IFtTeXN0ZW0uRGlhZ25vc3RpY3MuU3RvcHdh
dGNoXTo6U3RhcnROZXcoKQogICAgICAgICRpID0gMAoKICAgICAgICBpZighJGJsb29kaG91bmRf
Z3JvdXBzLkdyb3VwcykKICAgICAgICB7CiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiWyFdIEpT
T04gZ3JvdXBzIHBhcnNlIGZhaWxlZCIKICAgICAgICAgICAgdGhyb3cKICAgICAgICB9CiAgICAg
ICAgCiAgICAgICAgJGJsb29kaG91bmRfZ3JvdXBzLkdyb3VwcyB8IEZvckVhY2gtT2JqZWN0IHsK
CiAgICAgICAgICAgIGlmKCRzdG9wd2F0Y2hfcHJvZ3Jlc3MuRWxhcHNlZC5Ub3RhbE1pbGxpc2Vj
b25kcyAtZ2UgNTAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcGVyY2VudF9jb21w
bGV0ZV9jYWxjdWxhdGlvbiA9IFtNYXRoXTo6VHJ1bmNhdGUoJGkgLyAkYmxvb2Rob3VuZF9ncm91
cHMuR3JvdXBzLkNvdW50ICogMTAwKQoKICAgICAgICAgICAgICAgIGlmKCRwZXJjZW50X2NvbXBs
ZXRlX2NhbGN1bGF0aW9uIC1sZSAxMDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgV3JpdGUtUHJvZ3Jlc3MgLUFjdGl2aXR5ICJbKl0gSW1wb3J0aW5nIGdyb3VwcyIgLVN0
YXR1cyAiJHBlcmNlbnRfY29tcGxldGVfY2FsY3VsYXRpb24lIENvbXBsZXRlOiIgLVBlcmNlbnRD
b21wbGV0ZSAkcGVyY2VudF9jb21wbGV0ZV9jYWxjdWxhdGlvbiAtRXJyb3JBY3Rpb24gU2lsZW50
bHlDb250aW51ZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRzdG9wd2F0Y2hf
cHJvZ3Jlc3MuUmVzZXQoKQogICAgICAgICAgICAgICAgJHN0b3B3YXRjaF9wcm9ncmVzcy5TdGFy
dCgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFtBcnJheV0kZ3JvdXBfbWVtYmVycyA9ICRf
Lk1lbWJlcnMgfCBTZWxlY3QtT2JqZWN0IC1leHBhbmQgTWVtYmVyTmFtZQogICAgICAgICAgICAk
aW52ZWlnaC5ncm91cF90YWJsZS5BZGQoJF8uTmFtZSwkZ3JvdXBfbWVtYmVycykKICAgICAgICAg
ICAgJGdyb3VwX21lbWJlcnMgPSAkbnVsbAogICAgICAgICAgICAkaSsrCiAgICAgICAgfQoKICAg
ICAgICBXcml0ZS1PdXRwdXQgIlsrXSBJbXBvcnQgY29tcGxldGVkIGluICQoW01hdGhdOjpUcnVu
Y2F0ZSgkc3RvcHdhdGNoLkVsYXBzZWQuVG90YWxTZWNvbmRzKSkgc2Vjb25kcyIKICAgIH0KCn0K
CiNlbmRyZWdpb24=
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment