Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save joejulian/00f04c293c5439d1245ebde521936b9b to your computer and use it in GitHub Desktop.
Save joejulian/00f04c293c5439d1245ebde521936b9b to your computer and use it in GitHub Desktop.
I2NvbXBkZWYga29udm95DQoNCl9fa29udm95X2Jhc2hfc291cmNlKCkgew0KCWFsaWFzIHNob3B0
PSc6Jw0KCWFsaWFzIF9leHBhbmQ9X2Jhc2hfZXhwYW5kDQoJYWxpYXMgX2NvbXBsZXRlPV9iYXNo
X2NvbXANCgllbXVsYXRlIC1MIHNoDQoJc2V0b3B0IGtzaGdsb2Igbm9zaGdsb2IgYnJhY2VleHBh
bmQNCglzb3VyY2UgIiRAIg0KfQ0KX19rb252b3lfdHlwZSgpIHsNCgkjIC10IGlzIG5vdCBzdXBw
b3J0ZWQgYnkgenNoDQoJaWYgWyAiJDEiID09ICItdCIgXTsgdGhlbg0KCQlzaGlmdA0KCQkjIGZh
a2UgQmFzaCA0IHRvIGRpc2FibGUgImNvbXBsZXRlIC1vIG5vc3BhY2UiLiBJbnN0ZWFkDQoJCSMg
ImNvbXBvcHQgKy1vIG5vc3BhY2UiIGlzIHVzZWQgaW4gdGhlIGNvZGUgdG8gdG9nZ2xlIHRyYWls
aW5nDQoJCSMgc3BhY2VzLiBXZSBkb24ndCBzdXBwb3J0IHRoYXQsIGJ1dCBsZWF2ZSB0cmFpbGlu
ZyBzcGFjZXMgb24NCgkJIyBhbGwgdGhlIHRpbWUNCgkJaWYgWyAiJDEiID0gIl9fa29udm95X2Nv
bXBvcHQiIF07IHRoZW4NCgkJCWVjaG8gYnVpbHRpbg0KCQkJcmV0dXJuIDANCgkJZmkNCglmaQ0K
CXR5cGUgIiRAIg0KfQ0KX19rb252b3lfY29tcGdlbigpIHsNCglsb2NhbCBjb21wbGV0aW9ucyB3
DQoJY29tcGxldGlvbnM9KCAkKGNvbXBnZW4gIiRAIikgKSB8fCByZXR1cm4gJD8NCgkjIGZpbHRl
ciBieSBnaXZlbiB3b3JkIGFzIHByZWZpeA0KCXdoaWxlIFtbICIkMSIgPSAtKiAmJiAiJDEiICE9
IC0tIF1dOyBkbw0KCQlzaGlmdA0KCQlzaGlmdA0KCWRvbmUNCglpZiBbWyAiJDEiID09IC0tIF1d
OyB0aGVuDQoJCXNoaWZ0DQoJZmkNCglmb3IgdyBpbiAiJHtjb21wbGV0aW9uc1tAXX0iOyBkbw0K
CQlpZiBbWyAiJHt3fSIgPSAiJDEiKiBdXTsgdGhlbg0KCQkJZWNobyAiJHt3fSINCgkJZmkNCglk
b25lDQp9DQpfX2tvbnZveV9jb21wb3B0KCkgew0KCXRydWUgIyBkb24ndCBkbyBhbnl0aGluZy4g
Tm90IHN1cHBvcnRlZCBieSBiYXNoY29tcGluaXQgaW4genNoDQp9DQpfX2tvbnZveV9sdHJpbV9j
b2xvbl9jb21wbGV0aW9ucygpDQp7DQoJaWYgW1sgIiQxIiA9PSAqOiogJiYgIiRDT01QX1dPUkRC
UkVBS1MiID09ICo6KiBdXTsgdGhlbg0KCQkjIFJlbW92ZSBjb2xvbi13b3JkIHByZWZpeCBmcm9t
IENPTVBSRVBMWSBpdGVtcw0KCQlsb2NhbCBjb2xvbl93b3JkPSR7MSUkezEjIyo6fX0NCgkJbG9j
YWwgaT0keyNDT01QUkVQTFlbKl19DQoJCXdoaWxlIFtbICQoKC0taSkpIC1nZSAwIF1dOyBkbw0K
CQkJQ09NUFJFUExZWyRpXT0ke0NPTVBSRVBMWVskaV0jIiRjb2xvbl93b3JkIn0NCgkJZG9uZQ0K
CWZpDQp9DQpfX2tvbnZveV9nZXRfY29tcF93b3Jkc19ieV9yZWYoKSB7DQoJY3VyPSIke0NPTVBf
V09SRFNbQ09NUF9DV09SRF19Ig0KCXByZXY9IiR7Q09NUF9XT1JEU1ske0NPTVBfQ1dPUkR9LTFd
fSINCgl3b3Jkcz0oIiR7Q09NUF9XT1JEU1tAXX0iKQ0KCWN3b3JkPSgiJHtDT01QX0NXT1JEW0Bd
fSIpDQp9DQpfX2tvbnZveV9maWxlZGlyKCkgew0KCWxvY2FsIFJFVCBPTERfSUZTIHcgcXcNCglf
X2tvbnZveV9kZWJ1ZyAiX2ZpbGVkaXIgJEAgY3VyPSRjdXIiDQoJaWYgW1sgIiQxIiA9IFx+KiBd
XTsgdGhlbg0KCQkjIHNvbWVob3cgZG9lcyBub3Qgd29yay4gTWF5YmUsIHpzaCBkb2VzIG5vdCBj
YWxsIHRoaXMgYXQgYWxsDQoJCWV2YWwgZWNobyAiJDEiDQoJCXJldHVybiAwDQoJZmkNCglPTERf
SUZTPSIkSUZTIg0KCUlGUz0kJ1xuJw0KCWlmIFsgIiQxIiA9ICItZCIgXTsgdGhlbg0KCQlzaGlm
dA0KCQlSRVQ9KCAkKGNvbXBnZW4gLWQpICkNCgllbHNlDQoJCVJFVD0oICQoY29tcGdlbiAtZikg
KQ0KCWZpDQoJSUZTPSIkT0xEX0lGUyINCglJRlM9IiwiIF9fa29udm95X2RlYnVnICJSRVQ9JHtS
RVRbQF19IGxlbj0keyNSRVRbQF19Ig0KCWZvciB3IGluICR7UkVUW0BdfTsgZG8NCgkJaWYgW1sg
ISAiJHt3fSIgPSAiJHtjdXJ9IiogXV07IHRoZW4NCgkJCWNvbnRpbnVlDQoJCWZpDQoJCWlmIGV2
YWwgIltbIFwiXCR7d31cIiA9ICouJDEgfHwgLWQgXCJcJHt3fVwiIF1dIjsgdGhlbg0KCQkJcXc9
IiQoX19rb252b3lfcXVvdGUgIiR7d30iKSINCgkJCWlmIFsgLWQgIiR7d30iIF07IHRoZW4NCgkJ
CQlDT01QUkVQTFkrPSgiJHtxd30vIikNCgkJCWVsc2UNCgkJCQlDT01QUkVQTFkrPSgiJHtxd30i
KQ0KCQkJZmkNCgkJZmkNCglkb25lDQp9DQpfX2tvbnZveV9xdW90ZSgpIHsNCiAgICBpZiBbWyAk
MSA9PSBcJyogfHwgJDEgPT0gXCIqIF1dOyB0aGVuDQogICAgICAgICMgTGVhdmUgb3V0IGZpcnN0
IGNoYXJhY3Rlcg0KICAgICAgICBwcmludGYgJXEgIiR7MToxfSINCiAgICBlbHNlDQoJcHJpbnRm
ICVxICIkMSINCiAgICBmaQ0KfQ0KYXV0b2xvYWQgLVUgK1ggYmFzaGNvbXBpbml0ICYmIGJhc2hj
b21waW5pdA0KIyB1c2Ugd29yZCBib3VuZGFyeSBwYXR0ZXJucyBmb3IgQlNEIG9yIEdOVSBzZWQN
CkxXT1JEPSdbWzo8Ol1dJw0KUldPUkQ9J1tbOj46XV0nDQppZiBzZWQgLS1oZWxwIDI+JjEgfCBn
cmVwIC1xIEdOVTsgdGhlbg0KCUxXT1JEPSdcPCcNCglSV09SRD0nXD4nDQpmaQ0KX19rb252b3lf
Y29udmVydF9iYXNoX3RvX3pzaCgpIHsNCglzZWQgXA0KCS1lICdzL2RlY2xhcmUgLUYvd2hlbmNl
IC13LycgXA0KCS1lICdzL19nZXRfY29tcF93b3Jkc19ieV9yZWYgIlwkQCIvX2dldF9jb21wX3dv
cmRzX2J5X3JlZiAiXCQqIi8nIFwNCgktZSAncy9sb2NhbCBcKFthLXpBLVowLTlfXSpcKT0vbG9j
YWwgXDE7IFwxPS8nIFwNCgktZSAncy9mbGFncys9KCJcKC0tLipcKT0iKS9mbGFncys9KCJcMSIp
OyB0d29fd29yZF9mbGFncys9KCJcMSIpLycgXA0KCS1lICdzL211c3RfaGF2ZV9vbmVfZmxhZys9
KCJcKC0tLipcKT0iKS9tdXN0X2hhdmVfb25lX2ZsYWcrPSgiXDEiKS8nIFwNCgktZSAicy8ke0xX
T1JEfV9maWxlZGlyJHtSV09SRH0vX19rb252b3lfZmlsZWRpci9nIiBcDQoJLWUgInMvJHtMV09S
RH1fZ2V0X2NvbXBfd29yZHNfYnlfcmVmJHtSV09SRH0vX19rb252b3lfZ2V0X2NvbXBfd29yZHNf
YnlfcmVmL2ciIFwNCgktZSAicy8ke0xXT1JEfV9fbHRyaW1fY29sb25fY29tcGxldGlvbnMke1JX
T1JEfS9fX2tvbnZveV9sdHJpbV9jb2xvbl9jb21wbGV0aW9ucy9nIiBcDQoJLWUgInMvJHtMV09S
RH1jb21wZ2VuJHtSV09SRH0vX19rb252b3lfY29tcGdlbi9nIiBcDQoJLWUgInMvJHtMV09SRH1j
b21wb3B0JHtSV09SRH0vX19rb252b3lfY29tcG9wdC9nIiBcDQoJLWUgInMvJHtMV09SRH1kZWNs
YXJlJHtSV09SRH0vYnVpbHRpbiBkZWNsYXJlL2ciIFwNCgktZSAicy9cXFwkKHR5cGUke1JXT1JE
fS9cJChfX2tvbnZveV90eXBlL2ciIFwNCgk8PCdCQVNIX0NPTVBMRVRJT05fRU9GJw0KIyBiYXNo
IGNvbXBsZXRpb24gZm9yIGtvbnZveSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0g
c2hlbGwtc2NyaXB0IC0qLQ0KDQpfX2tvbnZveV9kZWJ1ZygpDQp7DQogICAgaWYgW1sgLW4gJHtC
QVNIX0NPTVBfREVCVUdfRklMRX0gXV07IHRoZW4NCiAgICAgICAgZWNobyAiJCoiID4+ICIke0JB
U0hfQ09NUF9ERUJVR19GSUxFfSINCiAgICBmaQ0KfQ0KDQojIEhvbWVicmV3IG9uIE1hY3MgaGF2
ZSB2ZXJzaW9uIDEuMyBvZiBiYXNoLWNvbXBsZXRpb24gd2hpY2ggZG9lc24ndCBpbmNsdWRlDQoj
IF9pbml0X2NvbXBsZXRpb24uIFRoaXMgaXMgYSB2ZXJ5IG1pbmltYWwgdmVyc2lvbiBvZiB0aGF0
IGZ1bmN0aW9uLg0KX19rb252b3lfaW5pdF9jb21wbGV0aW9uKCkNCnsNCiAgICBDT01QUkVQTFk9
KCkNCiAgICBfZ2V0X2NvbXBfd29yZHNfYnlfcmVmICIkQCIgY3VyIHByZXYgd29yZHMgY3dvcmQN
Cn0NCg0KX19rb252b3lfaW5kZXhfb2Zfd29yZCgpDQp7DQogICAgbG9jYWwgdyB3b3JkPSQxDQog
ICAgc2hpZnQNCiAgICBpbmRleD0wDQogICAgZm9yIHcgaW4gIiRAIjsgZG8NCiAgICAgICAgW1sg
JHcgPSAiJHdvcmQiIF1dICYmIHJldHVybg0KICAgICAgICBpbmRleD0kKChpbmRleCsxKSkNCiAg
ICBkb25lDQogICAgaW5kZXg9LTENCn0NCg0KX19rb252b3lfY29udGFpbnNfd29yZCgpDQp7DQog
ICAgbG9jYWwgdyB3b3JkPSQxOyBzaGlmdA0KICAgIGZvciB3IGluICIkQCI7IGRvDQogICAgICAg
IFtbICR3ID0gIiR3b3JkIiBdXSAmJiByZXR1cm4NCiAgICBkb25lDQogICAgcmV0dXJuIDENCn0N
Cg0KX19rb252b3lfaGFuZGxlX3JlcGx5KCkNCnsNCiAgICBfX2tvbnZveV9kZWJ1ZyAiJHtGVU5D
TkFNRVswXX0iDQogICAgbG9jYWwgY29tcA0KICAgIGNhc2UgJGN1ciBpbg0KICAgICAgICAtKikN
CiAgICAgICAgICAgIGlmIFtbICQodHlwZSAtdCBjb21wb3B0KSA9ICJidWlsdGluIiBdXTsgdGhl
bg0KICAgICAgICAgICAgICAgIGNvbXBvcHQgLW8gbm9zcGFjZQ0KICAgICAgICAgICAgZmkNCiAg
ICAgICAgICAgIGxvY2FsIGFsbGZsYWdzDQogICAgICAgICAgICBpZiBbICR7I211c3RfaGF2ZV9v
bmVfZmxhZ1tAXX0gLW5lIDAgXTsgdGhlbg0KICAgICAgICAgICAgICAgIGFsbGZsYWdzPSgiJHtt
dXN0X2hhdmVfb25lX2ZsYWdbQF19IikNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAg
ICBhbGxmbGFncz0oIiR7ZmxhZ3NbKl19ICR7dHdvX3dvcmRfZmxhZ3NbKl19IikNCiAgICAgICAg
ICAgIGZpDQogICAgICAgICAgICB3aGlsZSBJRlM9JycgcmVhZCAtciBjb21wOyBkbw0KICAgICAg
ICAgICAgICAgIENPTVBSRVBMWSs9KCIkY29tcCIpDQogICAgICAgICAgICBkb25lIDwgPChjb21w
Z2VuIC1XICIke2FsbGZsYWdzWypdfSIgLS0gIiRjdXIiKQ0KICAgICAgICAgICAgaWYgW1sgJCh0
eXBlIC10IGNvbXBvcHQpID0gImJ1aWx0aW4iIF1dOyB0aGVuDQogICAgICAgICAgICAgICAgW1sg
IiR7Q09NUFJFUExZWzBdfSIgPT0gKj0gXV0gfHwgY29tcG9wdCArbyBub3NwYWNlDQogICAgICAg
ICAgICBmaQ0KDQogICAgICAgICAgICAjIGNvbXBsZXRlIGFmdGVyIC0tZmxhZz1hYmMNCiAgICAg
ICAgICAgIGlmIFtbICRjdXIgPT0gKj0qIF1dOyB0aGVuDQogICAgICAgICAgICAgICAgaWYgW1sg
JCh0eXBlIC10IGNvbXBvcHQpID0gImJ1aWx0aW4iIF1dOyB0aGVuDQogICAgICAgICAgICAgICAg
ICAgIGNvbXBvcHQgK28gbm9zcGFjZQ0KICAgICAgICAgICAgICAgIGZpDQoNCiAgICAgICAgICAg
ICAgICBsb2NhbCBpbmRleCBmbGFnDQogICAgICAgICAgICAgICAgZmxhZz0iJHtjdXIlPSp9Ig0K
ICAgICAgICAgICAgICAgIF9fa29udm95X2luZGV4X29mX3dvcmQgIiR7ZmxhZ30iICIke2ZsYWdz
X3dpdGhfY29tcGxldGlvbltAXX0iDQogICAgICAgICAgICAgICAgQ09NUFJFUExZPSgpDQogICAg
ICAgICAgICAgICAgaWYgW1sgJHtpbmRleH0gLWdlIDAgXV07IHRoZW4NCiAgICAgICAgICAgICAg
ICAgICAgUFJFRklYPSIiDQogICAgICAgICAgICAgICAgICAgIGN1cj0iJHtjdXIjKj19Ig0KICAg
ICAgICAgICAgICAgICAgICAke2ZsYWdzX2NvbXBsZXRpb25bJHtpbmRleH1dfQ0KICAgICAgICAg
ICAgICAgICAgICBpZiBbIC1uICIke1pTSF9WRVJTSU9OfSIgXTsgdGhlbg0KICAgICAgICAgICAg
ICAgICAgICAgICAgIyB6c2ggY29tcGxldGlvbiBuZWVkcyAtLWZsYWc9IHByZWZpeA0KICAgICAg
ICAgICAgICAgICAgICAgICAgZXZhbCAiQ09NUFJFUExZPSggXCJcJHtDT01QUkVQTFlbQF0vIy8k
e2ZsYWd9PX1cIiApIg0KICAgICAgICAgICAgICAgICAgICBmaQ0KICAgICAgICAgICAgICAgIGZp
DQogICAgICAgICAgICBmaQ0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICA7Ow0K
ICAgIGVzYWMNCg0KICAgICMgY2hlY2sgaWYgd2UgYXJlIGhhbmRsaW5nIGEgZmxhZyB3aXRoIHNw
ZWNpYWwgd29yayBoYW5kbGluZw0KICAgIGxvY2FsIGluZGV4DQogICAgX19rb252b3lfaW5kZXhf
b2Zfd29yZCAiJHtwcmV2fSIgIiR7ZmxhZ3Nfd2l0aF9jb21wbGV0aW9uW0BdfSINCiAgICBpZiBb
WyAke2luZGV4fSAtZ2UgMCBdXTsgdGhlbg0KICAgICAgICAke2ZsYWdzX2NvbXBsZXRpb25bJHtp
bmRleH1dfQ0KICAgICAgICByZXR1cm4NCiAgICBmaQ0KDQogICAgIyB3ZSBhcmUgcGFyc2luZyBh
IGZsYWcgYW5kIGRvbid0IGhhdmUgYSBzcGVjaWFsIGhhbmRsZXIsIG5vIGNvbXBsZXRpb24NCiAg
ICBpZiBbWyAke2N1cn0gIT0gIiR7d29yZHNbY3dvcmRdfSIgXV07IHRoZW4NCiAgICAgICAgcmV0
dXJuDQogICAgZmkNCg0KICAgIGxvY2FsIGNvbXBsZXRpb25zDQogICAgY29tcGxldGlvbnM9KCIk
e2NvbW1hbmRzW0BdfSIpDQogICAgaWYgW1sgJHsjbXVzdF9oYXZlX29uZV9ub3VuW0BdfSAtbmUg
MCBdXTsgdGhlbg0KICAgICAgICBjb21wbGV0aW9ucz0oIiR7bXVzdF9oYXZlX29uZV9ub3VuW0Bd
fSIpDQogICAgZmkNCiAgICBpZiBbWyAkeyNtdXN0X2hhdmVfb25lX2ZsYWdbQF19IC1uZSAwIF1d
OyB0aGVuDQogICAgICAgIGNvbXBsZXRpb25zKz0oIiR7bXVzdF9oYXZlX29uZV9mbGFnW0BdfSIp
DQogICAgZmkNCiAgICB3aGlsZSBJRlM9JycgcmVhZCAtciBjb21wOyBkbw0KICAgICAgICBDT01Q
UkVQTFkrPSgiJGNvbXAiKQ0KICAgIGRvbmUgPCA8KGNvbXBnZW4gLVcgIiR7Y29tcGxldGlvbnNb
Kl19IiAtLSAiJGN1ciIpDQoNCiAgICBpZiBbWyAkeyNDT01QUkVQTFlbQF19IC1lcSAwICYmICR7
I25vdW5fYWxpYXNlc1tAXX0gLWd0IDAgJiYgJHsjbXVzdF9oYXZlX29uZV9ub3VuW0BdfSAtbmUg
MCBdXTsgdGhlbg0KICAgICAgICB3aGlsZSBJRlM9JycgcmVhZCAtciBjb21wOyBkbw0KICAgICAg
ICAgICAgQ09NUFJFUExZKz0oIiRjb21wIikNCiAgICAgICAgZG9uZSA8IDwoY29tcGdlbiAtVyAi
JHtub3VuX2FsaWFzZXNbKl19IiAtLSAiJGN1ciIpDQogICAgZmkNCg0KICAgIGlmIFtbICR7I0NP
TVBSRVBMWVtAXX0gLWVxIDAgXV07IHRoZW4NCgkJaWYgZGVjbGFyZSAtRiBfX2tvbnZveV9jdXN0
b21fZnVuYyA+L2Rldi9udWxsOyB0aGVuDQoJCQkjIHRyeSBjb21tYW5kIG5hbWUgcXVhbGlmaWVk
IGN1c3RvbSBmdW5jDQoJCQlfX2tvbnZveV9jdXN0b21fZnVuYw0KCQllbHNlDQoJCQkjIG90aGVy
d2lzZSBmYWxsIGJhY2sgdG8gdW5xdWFsaWZpZWQgZm9yIGNvbXBhdGliaWxpdHkNCgkJCWRlY2xh
cmUgLUYgX19jdXN0b21fZnVuYyA+L2Rldi9udWxsICYmIF9fY3VzdG9tX2Z1bmMNCgkJZmkNCiAg
ICBmaQ0KDQogICAgIyBhdmFpbGFibGUgaW4gYmFzaC1jb21wbGV0aW9uID49IDIsIG5vdCBhbHdh
eXMgcHJlc2VudCBvbiBtYWNPUw0KICAgIGlmIGRlY2xhcmUgLUYgX19sdHJpbV9jb2xvbl9jb21w
bGV0aW9ucyA+L2Rldi9udWxsOyB0aGVuDQogICAgICAgIF9fbHRyaW1fY29sb25fY29tcGxldGlv
bnMgIiRjdXIiDQogICAgZmkNCg0KICAgICMgSWYgdGhlcmUgaXMgb25seSAxIGNvbXBsZXRpb24g
YW5kIGl0IGlzIGEgZmxhZyB3aXRoIGFuID0gaXQgd2lsbCBiZSBjb21wbGV0ZWQNCiAgICAjIGJ1
dCB3ZSBkb24ndCB3YW50IGEgc3BhY2UgYWZ0ZXIgdGhlID0NCiAgICBpZiBbWyAiJHsjQ09NUFJF
UExZW0BdfSIgLWVxICIxIiBdXSAmJiBbWyAkKHR5cGUgLXQgY29tcG9wdCkgPSAiYnVpbHRpbiIg
XV0gJiYgW1sgIiR7Q09NUFJFUExZWzBdfSIgPT0gLS0qPSBdXTsgdGhlbg0KICAgICAgIGNvbXBv
cHQgLW8gbm9zcGFjZQ0KICAgIGZpDQp9DQoNCiMgVGhlIGFyZ3VtZW50cyBzaG91bGQgYmUgaW4g
dGhlIGZvcm0gImV4dDF8ZXh0MnxleHRuIg0KX19rb252b3lfaGFuZGxlX2ZpbGVuYW1lX2V4dGVu
c2lvbl9mbGFnKCkNCnsNCiAgICBsb2NhbCBleHQ9IiQxIg0KICAgIF9maWxlZGlyICJAKCR7ZXh0
fSkiDQp9DQoNCl9fa29udm95X2hhbmRsZV9zdWJkaXJzX2luX2Rpcl9mbGFnKCkNCnsNCiAgICBs
b2NhbCBkaXI9IiQxIg0KICAgIHB1c2hkICIke2Rpcn0iID4vZGV2L251bGwgMj4mMSAmJiBfZmls
ZWRpciAtZCAmJiBwb3BkID4vZGV2L251bGwgMj4mMSB8fCByZXR1cm4NCn0NCg0KX19rb252b3lf
aGFuZGxlX2ZsYWcoKQ0Kew0KICAgIF9fa29udm95X2RlYnVnICIke0ZVTkNOQU1FWzBdfTogYyBp
cyAkYyB3b3Jkc1tjXSBpcyAke3dvcmRzW2NdfSINCg0KICAgICMgaWYgYSBjb21tYW5kIHJlcXVp
cmVkIGEgZmxhZywgYW5kIHdlIGZvdW5kIGl0LCB1bnNldCBtdXN0X2hhdmVfb25lX2ZsYWcoKQ0K
ICAgIGxvY2FsIGZsYWduYW1lPSR7d29yZHNbY119DQogICAgbG9jYWwgZmxhZ3ZhbHVlDQogICAg
IyBpZiB0aGUgd29yZCBjb250YWluZWQgYW4gPQ0KICAgIGlmIFtbICR7d29yZHNbY119ID09ICoi
PSIqIF1dOyB0aGVuDQogICAgICAgIGZsYWd2YWx1ZT0ke2ZsYWduYW1lIyo9fSAjIHRha2UgaW4g
YXMgZmxhZ3ZhbHVlIGFmdGVyIHRoZSA9DQogICAgICAgIGZsYWduYW1lPSR7ZmxhZ25hbWUlPSp9
ICMgc3RyaXAgZXZlcnl0aGluZyBhZnRlciB0aGUgPQ0KICAgICAgICBmbGFnbmFtZT0iJHtmbGFn
bmFtZX09IiAjIGJ1dCBwdXQgdGhlID0gYmFjaw0KICAgIGZpDQogICAgX19rb252b3lfZGVidWcg
IiR7RlVOQ05BTUVbMF19OiBsb29raW5nIGZvciAke2ZsYWduYW1lfSINCiAgICBpZiBfX2tvbnZv
eV9jb250YWluc193b3JkICIke2ZsYWduYW1lfSIgIiR7bXVzdF9oYXZlX29uZV9mbGFnW0BdfSI7
IHRoZW4NCiAgICAgICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgZmkNCg0KICAgICMgaWYg
eW91IHNldCBhIGZsYWcgd2hpY2ggb25seSBhcHBsaWVzIHRvIHRoaXMgY29tbWFuZCwgZG9uJ3Qg
c2hvdyBzdWJjb21tYW5kcw0KICAgIGlmIF9fa29udm95X2NvbnRhaW5zX3dvcmQgIiR7ZmxhZ25h
bWV9IiAiJHtsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzW0BdfSI7IHRoZW4NCiAgICAgIGNvbW1h
bmRzPSgpDQogICAgZmkNCg0KICAgICMga2VlcCBmbGFnIHZhbHVlIHdpdGggZmxhZ25hbWUgYXMg
ZmxhZ2hhc2gNCiAgICAjIGZsYWdoYXNoIHZhcmlhYmxlIGlzIGFuIGFzc29jaWF0aXZlIGFycmF5
IHdoaWNoIGlzIG9ubHkgc3VwcG9ydGVkIGluIGJhc2ggPiAzLg0KICAgIGlmIFtbIC16ICIke0JB
U0hfVkVSU0lPTn0iIHx8ICIke0JBU0hfVkVSU0lORk9bMF19IiAtZ3QgMyBdXTsgdGhlbg0KICAg
ICAgICBpZiBbIC1uICIke2ZsYWd2YWx1ZX0iIF0gOyB0aGVuDQogICAgICAgICAgICBmbGFnaGFz
aFske2ZsYWduYW1lfV09JHtmbGFndmFsdWV9DQogICAgICAgIGVsaWYgWyAtbiAiJHt3b3Jkc1sg
JCgoYysxKSkgXX0iIF0gOyB0aGVuDQogICAgICAgICAgICBmbGFnaGFzaFske2ZsYWduYW1lfV09
JHt3b3Jkc1sgJCgoYysxKSkgXX0NCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgZmxhZ2hhc2hb
JHtmbGFnbmFtZX1dPSJ0cnVlIiAjIHBhZCAidHJ1ZSIgZm9yIGJvb2wgZmxhZw0KICAgICAgICBm
aQ0KICAgIGZpDQoNCiAgICAjIHNraXAgdGhlIGFyZ3VtZW50IHRvIGEgdHdvIHdvcmQgZmxhZw0K
ICAgIGlmIFtbICR7d29yZHNbY119ICE9ICoiPSIqIF1dICYmIF9fa29udm95X2NvbnRhaW5zX3dv
cmQgIiR7d29yZHNbY119IiAiJHt0d29fd29yZF9mbGFnc1tAXX0iOyB0aGVuDQoJCQkgIF9fa29u
dm95X2RlYnVnICIke0ZVTkNOQU1FWzBdfTogZm91bmQgYSBmbGFnICR7d29yZHNbY119LCBza2lw
IHRoZSBuZXh0IGFyZ3VtZW50Ig0KICAgICAgICBjPSQoKGMrMSkpDQogICAgICAgICMgaWYgd2Ug
YXJlIGxvb2tpbmcgZm9yIGEgZmxhZ3MgdmFsdWUsIGRvbid0IHNob3cgY29tbWFuZHMNCiAgICAg
ICAgaWYgW1sgJGMgLWVxICRjd29yZCBdXTsgdGhlbg0KICAgICAgICAgICAgY29tbWFuZHM9KCkN
CiAgICAgICAgZmkNCiAgICBmaQ0KDQogICAgYz0kKChjKzEpKQ0KDQp9DQoNCl9fa29udm95X2hh
bmRsZV9ub3VuKCkNCnsNCiAgICBfX2tvbnZveV9kZWJ1ZyAiJHtGVU5DTkFNRVswXX06IGMgaXMg
JGMgd29yZHNbY10gaXMgJHt3b3Jkc1tjXX0iDQoNCiAgICBpZiBfX2tvbnZveV9jb250YWluc193
b3JkICIke3dvcmRzW2NdfSIgIiR7bXVzdF9oYXZlX29uZV9ub3VuW0BdfSI7IHRoZW4NCiAgICAg
ICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgZWxpZiBfX2tvbnZveV9jb250YWluc193b3Jk
ICIke3dvcmRzW2NdfSIgIiR7bm91bl9hbGlhc2VzW0BdfSI7IHRoZW4NCiAgICAgICAgbXVzdF9o
YXZlX29uZV9ub3VuPSgpDQogICAgZmkNCg0KICAgIG5vdW5zKz0oIiR7d29yZHNbY119IikNCiAg
ICBjPSQoKGMrMSkpDQp9DQoNCl9fa29udm95X2hhbmRsZV9jb21tYW5kKCkNCnsNCiAgICBfX2tv
bnZveV9kZWJ1ZyAiJHtGVU5DTkFNRVswXX06IGMgaXMgJGMgd29yZHNbY10gaXMgJHt3b3Jkc1tj
XX0iDQoNCiAgICBsb2NhbCBuZXh0X2NvbW1hbmQNCiAgICBpZiBbWyAtbiAke2xhc3RfY29tbWFu
ZH0gXV07IHRoZW4NCiAgICAgICAgbmV4dF9jb21tYW5kPSJfJHtsYXN0X2NvbW1hbmR9XyR7d29y
ZHNbY10vLzovX199Ig0KICAgIGVsc2UNCiAgICAgICAgaWYgW1sgJGMgLWVxIDAgXV07IHRoZW4N
CiAgICAgICAgICAgIG5leHRfY29tbWFuZD0iX2tvbnZveV9yb290X2NvbW1hbmQiDQogICAgICAg
IGVsc2UNCiAgICAgICAgICAgIG5leHRfY29tbWFuZD0iXyR7d29yZHNbY10vLzovX199Ig0KICAg
ICAgICBmaQ0KICAgIGZpDQogICAgYz0kKChjKzEpKQ0KICAgIF9fa29udm95X2RlYnVnICIke0ZV
TkNOQU1FWzBdfTogbG9va2luZyBmb3IgJHtuZXh0X2NvbW1hbmR9Ig0KICAgIGRlY2xhcmUgLUYg
IiRuZXh0X2NvbW1hbmQiID4vZGV2L251bGwgJiYgJG5leHRfY29tbWFuZA0KfQ0KDQpfX2tvbnZv
eV9oYW5kbGVfd29yZCgpDQp7DQogICAgaWYgW1sgJGMgLWdlICRjd29yZCBdXTsgdGhlbg0KICAg
ICAgICBfX2tvbnZveV9oYW5kbGVfcmVwbHkNCiAgICAgICAgcmV0dXJuDQogICAgZmkNCiAgICBf
X2tvbnZveV9kZWJ1ZyAiJHtGVU5DTkFNRVswXX06IGMgaXMgJGMgd29yZHNbY10gaXMgJHt3b3Jk
c1tjXX0iDQogICAgaWYgW1sgIiR7d29yZHNbY119IiA9PSAtKiBdXTsgdGhlbg0KICAgICAgICBf
X2tvbnZveV9oYW5kbGVfZmxhZw0KICAgIGVsaWYgX19rb252b3lfY29udGFpbnNfd29yZCAiJHt3
b3Jkc1tjXX0iICIke2NvbW1hbmRzW0BdfSI7IHRoZW4NCiAgICAgICAgX19rb252b3lfaGFuZGxl
X2NvbW1hbmQNCiAgICBlbGlmIFtbICRjIC1lcSAwIF1dOyB0aGVuDQogICAgICAgIF9fa29udm95
X2hhbmRsZV9jb21tYW5kDQogICAgZWxpZiBfX2tvbnZveV9jb250YWluc193b3JkICIke3dvcmRz
W2NdfSIgIiR7Y29tbWFuZF9hbGlhc2VzW0BdfSI7IHRoZW4NCiAgICAgICAgIyBhbGlhc2hhc2gg
dmFyaWFibGUgaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgd2hpY2ggaXMgb25seSBzdXBwb3J0ZWQg
aW4gYmFzaCA+IDMuDQogICAgICAgIGlmIFtbIC16ICIke0JBU0hfVkVSU0lPTn0iIHx8ICIke0JB
U0hfVkVSU0lORk9bMF19IiAtZ3QgMyBdXTsgdGhlbg0KICAgICAgICAgICAgd29yZHNbY109JHth
bGlhc2hhc2hbJHt3b3Jkc1tjXX1dfQ0KICAgICAgICAgICAgX19rb252b3lfaGFuZGxlX2NvbW1h
bmQNCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgX19rb252b3lfaGFuZGxlX25vdW4NCiAgICAg
ICAgZmkNCiAgICBlbHNlDQogICAgICAgIF9fa29udm95X2hhbmRsZV9ub3VuDQogICAgZmkNCiAg
ICBfX2tvbnZveV9oYW5kbGVfd29yZA0KfQ0KDQpfa29udm95X2FwcGx5X2t1YmVjb25maWcoKQ0K
ew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2FwcGx5X2t1YmVjb25maWciDQoNCiAgICBjb21t
YW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3
b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZs
YWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KICAgIGZs
YWdzKz0oIi0tZm9yY2Utb3ZlcndyaXRlIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdz
Kz0oIi0tZm9yY2Utb3ZlcndyaXRlIikNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAgIGxv
Y2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCg0KICAgIG11c3RfaGF2ZV9v
bmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0o
KQ0KfQ0KDQpfa29udm95X2FwcGx5KCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9hcHBs
eSINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCiAgICBjb21t
YW5kcys9KCJrdWJlY29uZmlnIikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9
KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21w
bGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25l
X2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkN
Cn0NCg0KX2tvbnZveV9jaGVja19hZGRvbnMoKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95
X2NoZWNrX2FkZG9ucyINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9
KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25w
ZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxh
Z3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQoNCiAgICBtdXN0X2hhdmVfb25lX2Zs
YWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0N
Cg0KX2tvbnZveV9jaGVja19rdWJlcm5ldGVzKCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZv
eV9jaGVja19rdWJlcm5ldGVzIg0KDQogICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21t
YW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2Fs
X25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAg
ICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAgIGxv
Y2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCg0KICAgIG11c3RfaGF2ZV9v
bmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0o
KQ0KfQ0KDQpfa29udm95X2NoZWNrX25vZGVzKCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZv
eV9jaGVja19ub2RlcyINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9
KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25w
ZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxh
Z3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQoNCiAgICBtdXN0X2hhdmVfb25lX2Zs
YWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0N
Cg0KX2tvbnZveV9jaGVja19wcmVmbGlnaHQoKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95
X2NoZWNrX3ByZWZsaWdodCINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFu
ZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAg
ZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBsb2Nh
bF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQoNCiAgICBtdXN0X2hhdmVfb25l
X2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkN
Cn0NCg0KX2tvbnZveV9jaGVjaygpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfY2hlY2si
DQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQogICAgY29tbWFu
ZHMrPSgiYWRkb25zIikNCiAgICBjb21tYW5kcys9KCJrdWJlcm5ldGVzIikNCiAgICBjb21tYW5k
cys9KCJub2RlcyIpDQogICAgY29tbWFuZHMrPSgicHJlZmxpZ2h0IikNCg0KICAgIGZsYWdzPSgp
DQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgp
DQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0K
DQogICAgZmxhZ3MrPSgiLS13aXRob3V0LWFkZG9ucyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVu
dF9mbGFncys9KCItLXdpdGhvdXQtYWRkb25zIikNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0o
KQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpf
a29udm95X2NvbXBsZXRpb24oKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2NvbXBsZXRp
b24iDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBm
bGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9m
bGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRp
b249KCkNCg0KICAgIGZsYWdzKz0oIi0taGVscCIpDQogICAgZmxhZ3MrPSgiLWgiKQ0KICAgIGxv
Y2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1oZWxwIikNCg0KICAgIG11c3RfaGF2ZV9vbmVf
ZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91
bis9KCJiYXNoIikNCiAgICBtdXN0X2hhdmVfb25lX25vdW4rPSgienNoIikNCiAgICBub3VuX2Fs
aWFzZXM9KCkNCn0NCg0KX2tvbnZveV9jb25maWdfaW1hZ2VzX2xpc3QoKQ0Kew0KICAgIGxhc3Rf
Y29tbWFuZD0ia29udm95X2NvbmZpZ19pbWFnZXNfbGlzdCINCg0KICAgIGNvbW1hbmRfYWxpYXNl
cz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxh
Z3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9j
b21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1v
dXRwdXQ9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLW91dHB1dCIpDQogICAgdHdvX3dvcmRf
ZmxhZ3MrPSgiLW8iKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1vdXRwdXQ9
IikNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0o
KQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2NvbmZpZ19pbWFnZXNfbG9hZCgp
DQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfY29uZmlnX2ltYWdlc19sb2FkIg0KDQogICAg
Y29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAg
ICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAg
ICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCg0K
ICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAg
IG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2NvbmZpZ19pbWFnZXNfcHVsbCgpDQp7DQog
ICAgbGFzdF9jb21tYW5kPSJrb252b3lfY29uZmlnX2ltYWdlc19wdWxsIg0KDQogICAgY29tbWFu
ZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29f
d29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFn
c193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCg0KICAgIG11
c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5f
YWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2NvbmZpZ19pbWFnZXNfc2F2ZSgpDQp7DQogICAgbGFz
dF9jb21tYW5kPSJrb252b3lfY29uZmlnX2ltYWdlc19zYXZlIg0KDQogICAgY29tbWFuZF9hbGlh
c2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29fd29yZF9m
bGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFnc193aXRo
X2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCg0KICAgIG11c3RfaGF2
ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNl
cz0oKQ0KfQ0KDQpfa29udm95X2NvbmZpZ19pbWFnZXNfc2VlZCgpDQp7DQogICAgbGFzdF9jb21t
YW5kPSJrb252b3lfY29uZmlnX2ltYWdlc19zZWVkIg0KDQogICAgY29tbWFuZF9hbGlhc2VzPSgp
DQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29fd29yZF9mbGFncz0o
KQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFnc193aXRoX2NvbXBs
ZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCg0KICAgIG11c3RfaGF2ZV9vbmVf
ZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0K
fQ0KDQpfa29udm95X2NvbmZpZ19pbWFnZXMoKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95
X2NvbmZpZ19pbWFnZXMiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRz
PSgpDQogICAgY29tbWFuZHMrPSgibGlzdCIpDQogICAgY29tbWFuZHMrPSgibG9hZCIpDQogICAg
Y29tbWFuZHMrPSgicHVsbCIpDQogICAgY29tbWFuZHMrPSgic2F2ZSIpDQogICAgY29tbWFuZHMr
PSgic2VlZCIpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9j
YWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0K
ICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQog
ICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252
b3lfY29uZmlnKCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9jb25maWciDQoNCiAgICBj
b21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQogICAgY29tbWFuZHMrPSgiaW1h
Z2VzIikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAg
ZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBt
dXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tvbnZveV9j
b3Jkb25fbm9kZXBvb2woKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2NvcmRvbl9ub2Rl
cG9vbCINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAg
IGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50
X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxl
dGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS15ZXMiKQ0KICAgIGZsYWdzKz0oIi15IikNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0teWVzIikNCg0KICAgIG11c3RfaGF2ZV9vbmVf
ZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0K
fQ0KDQpfa29udm95X2NvcmRvbigpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfY29yZG9u
Ig0KDQogICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KICAgIGNvbW1h
bmRzKz0oIm5vZGVwb29sIikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkN
CiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0
aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2Zs
YWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0N
Cg0KX2tvbnZveV9jcmVhdGVfbm9kZXBvb2woKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95
X2NyZWF0ZV9ub2RlcG9vbCINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFu
ZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAg
ZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1mcm9tPSIpDQogICAgdHdvX3dv
cmRfZmxhZ3MrPSgiLS1mcm9tIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0t
ZnJvbT0iKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9u
b3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfY3JlYXRlKCkNCnsNCiAg
ICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9jcmVhdGUiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkN
Cg0KICAgIGNvbW1hbmRzPSgpDQogICAgY29tbWFuZHMrPSgibm9kZXBvb2wiKQ0KDQogICAgZmxh
Z3M9KCkNCiAgICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxh
Z3M9KCkNCiAgICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9u
PSgpDQoNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91
bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2RlcGxveV9hZGRvbnMoKQ0K
ew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2RlcGxveV9hZGRvbnMiDQoNCiAgICBjb21tYW5k
X2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193
b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdz
X3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KICAgIGZsYWdz
Kz0oIi0tc2tpcC1zdGF0ZS11cGxvYWQiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3Mr
PSgiLS1za2lwLXN0YXRlLXVwbG9hZCIpDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQogICAgZmxhZ3MrPSgiLS15
ZXMiKQ0KICAgIGZsYWdzKz0oIi15IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0o
Ii0teWVzIikNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVf
bm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2RlcGxveV9jb250YWlu
ZXItbmV0d29ya2luZygpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfZGVwbG95X2NvbnRh
aW5lci1uZXR3b3JraW5nIg0KDQogICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5k
cz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25v
bnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBm
bGFnc19jb21wbGV0aW9uPSgpDQoNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAgIGxvY2Fs
X25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBmbGFncys9KCItLXdpdGgt
Y2hlY2tzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0td2l0aC1jaGVja3Mi
KQ0KICAgIGZsYWdzKz0oIi0teWVzIikNCiAgICBmbGFncys9KCIteSIpDQogICAgbG9jYWxfbm9u
cGVyc2lzdGVudF9mbGFncys9KCItLXllcyIpDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkN
CiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tv
bnZveV9kZXBsb3lfa3ViZXJuZXRlcygpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfZGVw
bG95X2t1YmVybmV0ZXMiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRz
PSgpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9u
cGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZs
YWdzX2NvbXBsZXRpb249KCkNCg0KICAgIGZsYWdzKz0oIi0tZm9yY2UtdXBncmFkZSIpDQogICAg
bG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWZvcmNlLXVwZ3JhZGUiKQ0KICAgIGZsYWdz
Kz0oIi0tbWF4LXBhcmFsbGVsLW5vZGVzPSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1tYXgt
cGFyYWxsZWwtbm9kZXMiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1tYXgt
cGFyYWxsZWwtbm9kZXM9IikNCiAgICBmbGFncys9KCItLXNraXAtc3RhdGUtdXBsb2FkIikNCiAg
ICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tc2tpcC1zdGF0ZS11cGxvYWQiKQ0KICAg
IGZsYWdzKz0oIi0tdGFyZ2V0LW5vZGUtcG9vbHM9IikNCiAgICB0d29fd29yZF9mbGFncys9KCIt
LXRhcmdldC1ub2RlLXBvb2xzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0t
dGFyZ2V0LW5vZGUtcG9vbHM9IikNCiAgICBmbGFncys9KCItLXVwZ3JhZGUiKQ0KICAgIGxvY2Fs
X25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS11cGdyYWRlIikNCiAgICBmbGFncys9KCItLXZlcmJv
c2UiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBm
bGFncys9KCItLXdpdGgtY2hlY2tzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0o
Ii0td2l0aC1jaGVja3MiKQ0KICAgIGZsYWdzKz0oIi0td2l0aG91dC1kcmFpbmluZyIpDQogICAg
bG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXdpdGhvdXQtZHJhaW5pbmciKQ0KICAgIGZs
YWdzKz0oIi0teWVzIikNCiAgICBmbGFncys9KCIteSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVu
dF9mbGFncys9KCItLXllcyIpDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0
X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tvbnZveV9kZXBs
b3koKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2RlcGxveSINCg0KICAgIGNvbW1hbmRf
YWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCiAgICBjb21tYW5kcys9KCJhZGRvbnMiKQ0K
ICAgIGNvbW1hbmRzKz0oImNvbnRhaW5lci1uZXR3b3JraW5nIikNCiAgICBjb21tYW5kcys9KCJr
dWJlcm5ldGVzIikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgp
DQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1mb3JjZS11cGdyYWRl
IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tZm9yY2UtdXBncmFkZSIpDQog
ICAgZmxhZ3MrPSgiLS1tYXgtcGFyYWxsZWwtbm9kZXM9IikNCiAgICB0d29fd29yZF9mbGFncys9
KCItLW1heC1wYXJhbGxlbC1ub2RlcyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9
KCItLW1heC1wYXJhbGxlbC1ub2Rlcz0iKQ0KICAgIGZsYWdzKz0oIi0tc2tpcC1zdGF0ZS11cGxv
YWQiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1za2lwLXN0YXRlLXVwbG9h
ZCIpDQogICAgZmxhZ3MrPSgiLS10YXJnZXQtbm9kZS1wb29scz0iKQ0KICAgIHR3b193b3JkX2Zs
YWdzKz0oIi0tdGFyZ2V0LW5vZGUtcG9vbHMiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxh
Z3MrPSgiLS10YXJnZXQtbm9kZS1wb29scz0iKQ0KICAgIGZsYWdzKz0oIi0tdXBncmFkZSIpDQog
ICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXVwZ3JhZGUiKQ0KICAgIGZsYWdzKz0o
Ii0tdmVyYm9zZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXZlcmJvc2Ui
KQ0KICAgIGZsYWdzKz0oIi0td2l0aC1jaGVja3MiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRf
ZmxhZ3MrPSgiLS13aXRoLWNoZWNrcyIpDQogICAgZmxhZ3MrPSgiLS13aXRob3V0LWFkZG9ucyIp
DQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXdpdGhvdXQtYWRkb25zIikNCiAg
ICBmbGFncys9KCItLXdpdGhvdXQtZHJhaW5pbmciKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRf
ZmxhZ3MrPSgiLS13aXRob3V0LWRyYWluaW5nIikNCiAgICBmbGFncys9KCItLXllcyIpDQogICAg
ZmxhZ3MrPSgiLXkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS15ZXMiKQ0K
DQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQog
ICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfZGlhZ25vc2UoKQ0Kew0KICAgIGxhc3Rf
Y29tbWFuZD0ia29udm95X2RpYWdub3NlIg0KDQogICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAg
ICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAgICB0d29fd29yZF9mbGFncz0oKQ0KICAg
IGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAgICBmbGFnc193aXRoX2NvbXBsZXRpb249
KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCiAgICBmbGFncys9KCItLWluY2x1ZGUtc2Vj
cmV0cyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWluY2x1ZGUtc2VjcmV0
cyIpDQogICAgZmxhZ3MrPSgiLS1sb2dzLWFsbC1uYW1lc3BhY2VzIikNCiAgICBsb2NhbF9ub25w
ZXJzaXN0ZW50X2ZsYWdzKz0oIi0tbG9ncy1hbGwtbmFtZXNwYWNlcyIpDQogICAgZmxhZ3MrPSgi
LS1sb2dzLW5hbWVzcGFjZXM9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLWxvZ3MtbmFtZXNw
YWNlcyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWxvZ3MtbmFtZXNwYWNl
cz0iKQ0KICAgIGZsYWdzKz0oIi0tb3V0cHV0PSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1v
dXRwdXQiKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0oIi1vIikNCiAgICBsb2NhbF9ub25wZXJzaXN0
ZW50X2ZsYWdzKz0oIi0tb3V0cHV0PSIpDQogICAgZmxhZ3MrPSgiLS1zaW5jZT0iKQ0KICAgIHR3
b193b3JkX2ZsYWdzKz0oIi0tc2luY2UiKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0oIi1zIikNCiAg
ICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tc2luY2U9IikNCiAgICBmbGFncys9KCIt
LXllcyIpDQogICAgZmxhZ3MrPSgiLXkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3Mr
PSgiLS15ZXMiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29u
ZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfZG93bigpDQp7DQog
ICAgbGFzdF9jb21tYW5kPSJrb252b3lfZG93biINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0K
DQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkN
CiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0
aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1wcm92aXNp
b25lcj0iKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0oIi0tcHJvdmlzaW9uZXIiKQ0KICAgIGxvY2Fs
X25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1wcm92aXNpb25lcj0iKQ0KICAgIGZsYWdzKz0oIi0t
c2tpcC1jbGVhbi1rdWJlcm5ldGVzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0o
Ii0tc2tpcC1jbGVhbi1rdWJlcm5ldGVzIikNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAg
IGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBmbGFncys9KCIt
LXllcyIpDQogICAgZmxhZ3MrPSgiLXkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3Mr
PSgiLS15ZXMiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29u
ZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfZHJhaW5fbm9kZXBv
b2woKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X2RyYWluX25vZGVwb29sIg0KDQogICAg
Y29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAg
ICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAg
ICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCiAg
ICBmbGFncys9KCItLXRpbWVvdXQ9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLXRpbWVvdXQi
KQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS10aW1lb3V0PSIpDQogICAgZmxh
Z3MrPSgiLS15ZXMiKQ0KICAgIGZsYWdzKz0oIi15IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50
X2ZsYWdzKz0oIi0teWVzIikNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3Rf
aGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X2RyYWlu
KCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9kcmFpbiINCg0KICAgIGNvbW1hbmRfYWxp
YXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCiAgICBjb21tYW5kcys9KCJub2RlcG9vbCIpDQoN
CiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lz
dGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2Nv
bXBsZXRpb249KCkNCg0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZl
X29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfZ2VuZXJhdGVf
Y2x1c3Rlci1hZG1pbi1zZXJ2aWNlYWNjb3VudCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252
b3lfZ2VuZXJhdGVfY2x1c3Rlci1hZG1pbi1zZXJ2aWNlYWNjb3VudCINCg0KICAgIGNvbW1hbmRf
YWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dv
cmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nf
d2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0
X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2Fs
aWFzZXM9KCkNCn0NCg0KX2tvbnZveV9nZW5lcmF0ZSgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJr
b252b3lfZ2VuZXJhdGUiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRz
PSgpDQogICAgY29tbWFuZHMrPSgiY2x1c3Rlci1hZG1pbi1zZXJ2aWNlYWNjb3VudCIpDQoNCiAg
ICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVu
dF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBs
ZXRpb249KCkNCg0KICAgIGZsYWdzKz0oIi0tdmVyYm9zZSIpDQogICAgbG9jYWxfbm9ucGVyc2lz
dGVudF9mbGFncys9KCItLXZlcmJvc2UiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQog
ICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252
b3lfZ2V0X25vZGVwb29scygpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfZ2V0X25vZGVw
b29scyINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAg
IGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50
X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxl
dGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25l
X25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tvbnZveV9nZXRfb3BzLXBvcnRh
bCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfZ2V0X29wcy1wb3J0YWwiDQoNCiAgICBj
b21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAg
IHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAg
IGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KDQog
ICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAg
bm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfZ2V0KCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9
ImtvbnZveV9nZXQiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgp
DQogICAgY29tbWFuZHMrPSgibm9kZXBvb2xzIikNCiAgICBjb21tYW5kcys9KCJvcHMtcG9ydGFs
IikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25w
ZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxh
Z3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0
X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tvbnZveV9pbWFn
ZV9saXN0KCkNCnsNCiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9pbWFnZV9saXN0Ig0KDQogICAg
Y29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkNCiAg
ICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkNCiAg
ICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoNCiAg
ICBmbGFncys9KCItLWFsbG93LXVub2ZmaWNpYWwtcmVsZWFzZXMiKQ0KICAgIGxvY2FsX25vbnBl
cnNpc3RlbnRfZmxhZ3MrPSgiLS1hbGxvdy11bm9mZmljaWFsLXJlbGVhc2VzIikNCiAgICBmbGFn
cys9KCItLWRvY2tlci1yZWdpc3RyeS1wYXNzd29yZD0iKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0o
Ii0tZG9ja2VyLXJlZ2lzdHJ5LXBhc3N3b3JkIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2Zs
YWdzKz0oIi0tZG9ja2VyLXJlZ2lzdHJ5LXBhc3N3b3JkPSIpDQogICAgZmxhZ3MrPSgiLS1kb2Nr
ZXItcmVnaXN0cnktcmVwb3NpdG9yeT0iKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0oIi0tZG9ja2Vy
LXJlZ2lzdHJ5LXJlcG9zaXRvcnkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgi
LS1kb2NrZXItcmVnaXN0cnktcmVwb3NpdG9yeT0iKQ0KICAgIGZsYWdzKz0oIi0tZG9ja2VyLXJl
Z2lzdHJ5LXNraXAtdmVyaWZ5IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0t
ZG9ja2VyLXJlZ2lzdHJ5LXNraXAtdmVyaWZ5IikNCiAgICBmbGFncys9KCItLWRvY2tlci1yZWdp
c3RyeS11cmw9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLWRvY2tlci1yZWdpc3RyeS11cmwi
KQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnktdXJs
PSIpDQogICAgZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnktdXNlcm5hbWU9IikNCiAgICB0d29f
d29yZF9mbGFncys9KCItLWRvY2tlci1yZWdpc3RyeS11c2VybmFtZSIpDQogICAgbG9jYWxfbm9u
cGVyc2lzdGVudF9mbGFncys9KCItLWRvY2tlci1yZWdpc3RyeS11c2VybmFtZT0iKQ0KICAgIGZs
YWdzKz0oIi0tdmVyYm9zZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXZl
cmJvc2UiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9u
b3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfaW1hZ2VfdXBncmFkZSgp
DQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfaW1hZ2VfdXBncmFkZSINCg0KICAgIGNvbW1h
bmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdv
X3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxh
Z3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxh
Z3MrPSgiLS1hbGxvdy11bm9mZmljaWFsLXJlbGVhc2VzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0
ZW50X2ZsYWdzKz0oIi0tYWxsb3ctdW5vZmZpY2lhbC1yZWxlYXNlcyIpDQogICAgZmxhZ3MrPSgi
LS1kb2NrZXItcmVnaXN0cnktcGFzc3dvcmQ9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLWRv
Y2tlci1yZWdpc3RyeS1wYXNzd29yZCIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9
KCItLWRvY2tlci1yZWdpc3RyeS1wYXNzd29yZD0iKQ0KICAgIGZsYWdzKz0oIi0tZG9ja2VyLXJl
Z2lzdHJ5LXJlcG9zaXRvcnk9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLWRvY2tlci1yZWdp
c3RyeS1yZXBvc2l0b3J5IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tZG9j
a2VyLXJlZ2lzdHJ5LXJlcG9zaXRvcnk9IikNCiAgICBmbGFncys9KCItLWRvY2tlci1yZWdpc3Ry
eS1za2lwLXZlcmlmeSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWRvY2tl
ci1yZWdpc3RyeS1za2lwLXZlcmlmeSIpDQogICAgZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnkt
dXJsPSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnktdXJsIikNCiAg
ICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tZG9ja2VyLXJlZ2lzdHJ5LXVybD0iKQ0K
ICAgIGZsYWdzKz0oIi0tZG9ja2VyLXJlZ2lzdHJ5LXVzZXJuYW1lPSIpDQogICAgdHdvX3dvcmRf
ZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnktdXNlcm5hbWUiKQ0KICAgIGxvY2FsX25vbnBlcnNp
c3RlbnRfZmxhZ3MrPSgiLS1kb2NrZXItcmVnaXN0cnktdXNlcm5hbWU9IikNCiAgICBmbGFncys9
KCItLXZlcmJvc2UiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3Nl
IikNCiAgICBmbGFncys9KCItLXZlcnNpb249IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLXZl
cnNpb24iKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJzaW9uPSIpDQoN
CiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAg
ICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tvbnZveV9pbWFnZSgpDQp7DQogICAgbGFzdF9jb21t
YW5kPSJrb252b3lfaW1hZ2UiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1h
bmRzPSgpDQogICAgY29tbWFuZHMrPSgibGlzdCIpDQogICAgY29tbWFuZHMrPSgidXBncmFkZSIp
DQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVy
c2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdz
X2NvbXBsZXRpb249KCkNCg0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9o
YXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfaW5pdCgp
DQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfaW5pdCINCg0KICAgIGNvbW1hbmRfYWxpYXNl
cz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxh
Z3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9j
b21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1h
ZGRvbnMtcmVwb3NpdG9yaWVzPSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1hZGRvbnMtcmVw
b3NpdG9yaWVzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tYWRkb25zLXJl
cG9zaXRvcmllcz0iKQ0KICAgIGZsYWdzKz0oIi0tY2x1c3Rlci1uYW1lPSIpDQogICAgdHdvX3dv
cmRfZmxhZ3MrPSgiLS1jbHVzdGVyLW5hbWUiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxh
Z3MrPSgiLS1jbHVzdGVyLW5hbWU9IikNCiAgICBmbGFncys9KCItLXByb3Zpc2lvbmVyPSIpDQog
ICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1wcm92aXNpb25lciIpDQogICAgbG9jYWxfbm9ucGVyc2lz
dGVudF9mbGFncys9KCItLXByb3Zpc2lvbmVyPSIpDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikN
CiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQoNCiAgICBtdXN0
X2hhdmVfb25lX2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2Fs
aWFzZXM9KCkNCn0NCg0KX2tvbnZveV9wcm92aXNpb24oKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0i
a29udm95X3Byb3Zpc2lvbiINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFu
ZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9u
b25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAg
ZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1hZGRvbnMtcmVwb3NpdG9yaWVz
PSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1hZGRvbnMtcmVwb3NpdG9yaWVzIikNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tYWRkb25zLXJlcG9zaXRvcmllcz0iKQ0KICAg
IGZsYWdzKz0oIi0tY2x1c3Rlci1uYW1lPSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLS1jbHVz
dGVyLW5hbWUiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1jbHVzdGVyLW5h
bWU9IikNCiAgICBmbGFncys9KCItLWZvcmNlLXJlZHVjZS1jb250cm9sLXBsYW5lIikNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0oIi0tZm9yY2UtcmVkdWNlLWNvbnRyb2wtcGxhbmUi
KQ0KICAgIGZsYWdzKz0oIi0tcGxhbi1vbmx5IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2Zs
YWdzKz0oIi0tcGxhbi1vbmx5IikNCiAgICBmbGFncys9KCItLXByb3Zpc2lvbmVyPSIpDQogICAg
dHdvX3dvcmRfZmxhZ3MrPSgiLS1wcm92aXNpb25lciIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVu
dF9mbGFncys9KCItLXByb3Zpc2lvbmVyPSIpDQogICAgZmxhZ3MrPSgiLS1za2lwLXN0YXRlLXVw
bG9hZCIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXNraXAtc3RhdGUtdXBs
b2FkIikNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRf
ZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBmbGFncys9KCItLXllcyIpDQogICAgZmxhZ3MrPSgi
LXkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS15ZXMiKQ0KDQogICAgbXVz
dF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9h
bGlhc2VzPSgpDQp9DQoNCl9rb252b3lfcHVsbCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252
b3lfcHVsbCINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0K
ICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0
ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29t
cGxldGlvbj0oKQ0KDQogICAgZmxhZ3MrPSgiLS1jbHVzdGVyLW5hbWU9IikNCiAgICB0d29fd29y
ZF9mbGFncys9KCItLWNsdXN0ZXItbmFtZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFn
cys9KCItLWNsdXN0ZXItbmFtZT0iKQ0KICAgIGZsYWdzKz0oIi0tdmVyYm9zZSIpDQogICAgbG9j
YWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXZlcmJvc2UiKQ0KDQogICAgbXVzdF9oYXZlX29u
ZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgp
DQp9DQoNCl9rb252b3lfcHVzaCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfcHVzaCIN
Cg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdz
PSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdz
PSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0o
KQ0KDQogICAgZmxhZ3MrPSgiLS1jbG91ZC1wcm92aWRlci1hY2NvdW50LW5hbWU9IikNCiAgICB0
d29fd29yZF9mbGFncys9KCItLWNsb3VkLXByb3ZpZGVyLWFjY291bnQtbmFtZSIpDQogICAgbG9j
YWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWNsb3VkLXByb3ZpZGVyLWFjY291bnQtbmFtZT0i
KQ0KICAgIGZsYWdzKz0oIi0tZm9yY2UiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3Mr
PSgiLS1mb3JjZSIpDQogICAgZmxhZ3MrPSgiLS12ZXJib3NlIikNCiAgICBsb2NhbF9ub25wZXJz
aXN0ZW50X2ZsYWdzKz0oIi0tdmVyYm9zZSIpDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkN
CiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tv
bnZveV9yZXNldCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfcmVzZXQiDQoNCiAgICBj
b21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAg
IHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAg
IGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KICAg
IGZsYWdzKz0oIi0tdmVyYm9zZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCIt
LXZlcmJvc2UiKQ0KICAgIGZsYWdzKz0oIi0teWVzIikNCiAgICBmbGFncys9KCIteSIpDQogICAg
bG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXllcyIpDQoNCiAgICBtdXN0X2hhdmVfb25l
X2ZsYWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkN
Cn0NCg0KX2tvbnZveV9zY2FsZV9ub2RlcG9vbCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252
b3lfc2NhbGVfbm9kZXBvb2wiDQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1h
bmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxf
bm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAg
IGZsYWdzX2NvbXBsZXRpb249KCkNCg0KICAgIGZsYWdzKz0oIi0tY291bnQ9IikNCiAgICB0d29f
d29yZF9mbGFncys9KCItLWNvdW50IikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0o
Ii0tY291bnQ9IikNCg0KICAgIG11c3RfaGF2ZV9vbmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9v
bmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0oKQ0KfQ0KDQpfa29udm95X3NjYWxlKCkNCnsN
CiAgICBsYXN0X2NvbW1hbmQ9ImtvbnZveV9zY2FsZSINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0o
KQ0KDQogICAgY29tbWFuZHM9KCkNCiAgICBjb21tYW5kcys9KCJub2RlcG9vbCIpDQoNCiAgICBm
bGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9m
bGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRp
b249KCkNCg0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9u
b3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfdW5jb3Jkb25fbm9kZXBv
b2woKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X3VuY29yZG9uX25vZGVwb29sIg0KDQog
ICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KDQogICAgZmxhZ3M9KCkN
CiAgICB0d29fd29yZF9mbGFncz0oKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3M9KCkN
CiAgICBmbGFnc193aXRoX2NvbXBsZXRpb249KCkNCiAgICBmbGFnc19jb21wbGV0aW9uPSgpDQoN
CiAgICBmbGFncys9KCItLXllcyIpDQogICAgZmxhZ3MrPSgiLXkiKQ0KICAgIGxvY2FsX25vbnBl
cnNpc3RlbnRfZmxhZ3MrPSgiLS15ZXMiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQog
ICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252
b3lfdW5jb3Jkb24oKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X3VuY29yZG9uIg0KDQog
ICAgY29tbWFuZF9hbGlhc2VzPSgpDQoNCiAgICBjb21tYW5kcz0oKQ0KICAgIGNvbW1hbmRzKz0o
Im5vZGVwb29sIikNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBs
b2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgp
DQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2ZsYWc9KCkN
CiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0NCg0KX2tv
bnZveV91cCgpDQp7DQogICAgbGFzdF9jb21tYW5kPSJrb252b3lfdXAiDQoNCiAgICBjb21tYW5k
X2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193
b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdz
X3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KICAgIGZsYWdz
Kz0oIi0tYWRkb25zLXJlcG9zaXRvcmllcz0iKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0oIi0tYWRk
b25zLXJlcG9zaXRvcmllcyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWFk
ZG9ucy1yZXBvc2l0b3JpZXM9IikNCiAgICBmbGFncys9KCItLWNsdXN0ZXItbmFtZT0iKQ0KICAg
IHR3b193b3JkX2ZsYWdzKz0oIi0tY2x1c3Rlci1uYW1lIikNCiAgICBsb2NhbF9ub25wZXJzaXN0
ZW50X2ZsYWdzKz0oIi0tY2x1c3Rlci1uYW1lPSIpDQogICAgZmxhZ3MrPSgiLS1mb3JjZS1yZWR1
Y2UtY29udHJvbC1wbGFuZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLWZv
cmNlLXJlZHVjZS1jb250cm9sLXBsYW5lIikNCiAgICBmbGFncys9KCItLWZvcmNlLXVwZ3JhZGUi
KQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1mb3JjZS11cGdyYWRlIikNCiAg
ICBmbGFncys9KCItLW1heC1wYXJhbGxlbC1ub2Rlcz0iKQ0KICAgIHR3b193b3JkX2ZsYWdzKz0o
Ii0tbWF4LXBhcmFsbGVsLW5vZGVzIikNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzKz0o
Ii0tbWF4LXBhcmFsbGVsLW5vZGVzPSIpDQogICAgZmxhZ3MrPSgiLS1wcm92aXNpb25lcj0iKQ0K
ICAgIHR3b193b3JkX2ZsYWdzKz0oIi0tcHJvdmlzaW9uZXIiKQ0KICAgIGxvY2FsX25vbnBlcnNp
c3RlbnRfZmxhZ3MrPSgiLS1wcm92aXNpb25lcj0iKQ0KICAgIGZsYWdzKz0oIi0tc2tpcC1zdGF0
ZS11cGxvYWQiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS1za2lwLXN0YXRl
LXVwbG9hZCIpDQogICAgZmxhZ3MrPSgiLS10YXJnZXQtbm9kZS1wb29scz0iKQ0KICAgIHR3b193
b3JkX2ZsYWdzKz0oIi0tdGFyZ2V0LW5vZGUtcG9vbHMiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3Rl
bnRfZmxhZ3MrPSgiLS10YXJnZXQtbm9kZS1wb29scz0iKQ0KICAgIGZsYWdzKz0oIi0tdXBncmFk
ZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXVwZ3JhZGUiKQ0KICAgIGZs
YWdzKz0oIi0tdmVyYm9zZSIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXZl
cmJvc2UiKQ0KICAgIGZsYWdzKz0oIi0td2l0aC1jaGVja3MiKQ0KICAgIGxvY2FsX25vbnBlcnNp
c3RlbnRfZmxhZ3MrPSgiLS13aXRoLWNoZWNrcyIpDQogICAgZmxhZ3MrPSgiLS13aXRob3V0LWFk
ZG9ucyIpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncys9KCItLXdpdGhvdXQtYWRkb25z
IikNCiAgICBmbGFncys9KCItLXdpdGhvdXQtZHJhaW5pbmciKQ0KICAgIGxvY2FsX25vbnBlcnNp
c3RlbnRfZmxhZ3MrPSgiLS13aXRob3V0LWRyYWluaW5nIikNCiAgICBmbGFncys9KCItLXllcyIp
DQogICAgZmxhZ3MrPSgiLXkiKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS15
ZXMiKQ0KDQogICAgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3Vu
PSgpDQogICAgbm91bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfdmVyc2lvbigpDQp7DQogICAg
bGFzdF9jb21tYW5kPSJrb252b3lfdmVyc2lvbiINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0K
DQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAgdHdvX3dvcmRfZmxhZ3M9KCkN
CiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAgZmxhZ3Nfd2l0aF9jb21wbGV0
aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQoNCiAgICBtdXN0X2hhdmVfb25lX2Zs
YWc9KCkNCiAgICBtdXN0X2hhdmVfb25lX25vdW49KCkNCiAgICBub3VuX2FsaWFzZXM9KCkNCn0N
Cg0KX2tvbnZveV92aWV3X3NlcnZpY2VhY2NvdW50LWt1YmVjb25maWcoKQ0Kew0KICAgIGxhc3Rf
Y29tbWFuZD0ia29udm95X3ZpZXdfc2VydmljZWFjY291bnQta3ViZWNvbmZpZyINCg0KICAgIGNv
bW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9KCkNCg0KICAgIGZsYWdzPSgpDQogICAg
dHdvX3dvcmRfZmxhZ3M9KCkNCiAgICBsb2NhbF9ub25wZXJzaXN0ZW50X2ZsYWdzPSgpDQogICAg
ZmxhZ3Nfd2l0aF9jb21wbGV0aW9uPSgpDQogICAgZmxhZ3NfY29tcGxldGlvbj0oKQ0KDQogICAg
ZmxhZ3MrPSgiLS1uYW1lc3BhY2U9IikNCiAgICB0d29fd29yZF9mbGFncys9KCItLW5hbWVzcGFj
ZSIpDQogICAgdHdvX3dvcmRfZmxhZ3MrPSgiLW4iKQ0KICAgIGxvY2FsX25vbnBlcnNpc3RlbnRf
ZmxhZ3MrPSgiLS1uYW1lc3BhY2U9IikNCiAgICBmbGFncys9KCItLXZlcmJvc2UiKQ0KICAgIGxv
Y2FsX25vbnBlcnNpc3RlbnRfZmxhZ3MrPSgiLS12ZXJib3NlIikNCg0KICAgIG11c3RfaGF2ZV9v
bmVfZmxhZz0oKQ0KICAgIG11c3RfaGF2ZV9vbmVfbm91bj0oKQ0KICAgIG5vdW5fYWxpYXNlcz0o
KQ0KfQ0KDQpfa29udm95X3ZpZXcoKQ0Kew0KICAgIGxhc3RfY29tbWFuZD0ia29udm95X3ZpZXci
DQoNCiAgICBjb21tYW5kX2FsaWFzZXM9KCkNCg0KICAgIGNvbW1hbmRzPSgpDQogICAgY29tbWFu
ZHMrPSgic2VydmljZWFjY291bnQta3ViZWNvbmZpZyIpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3
b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZs
YWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KDQogICAg
bXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91
bl9hbGlhc2VzPSgpDQp9DQoNCl9rb252b3lfcm9vdF9jb21tYW5kKCkNCnsNCiAgICBsYXN0X2Nv
bW1hbmQ9ImtvbnZveSINCg0KICAgIGNvbW1hbmRfYWxpYXNlcz0oKQ0KDQogICAgY29tbWFuZHM9
KCkNCiAgICBjb21tYW5kcys9KCJhcHBseSIpDQogICAgY29tbWFuZHMrPSgiY2hlY2siKQ0KICAg
IGNvbW1hbmRzKz0oImNvbXBsZXRpb24iKQ0KICAgIGNvbW1hbmRzKz0oImNvbmZpZyIpDQogICAg
Y29tbWFuZHMrPSgiY29yZG9uIikNCiAgICBjb21tYW5kcys9KCJjcmVhdGUiKQ0KICAgIGNvbW1h
bmRzKz0oImRlcGxveSIpDQogICAgY29tbWFuZHMrPSgiZGlhZ25vc2UiKQ0KICAgIGNvbW1hbmRz
Kz0oImRvd24iKQ0KICAgIGNvbW1hbmRzKz0oImRyYWluIikNCiAgICBjb21tYW5kcys9KCJnZW5l
cmF0ZSIpDQogICAgY29tbWFuZHMrPSgiZ2V0IikNCiAgICBjb21tYW5kcys9KCJpbWFnZSIpDQog
ICAgY29tbWFuZHMrPSgiaW5pdCIpDQogICAgY29tbWFuZHMrPSgicHJvdmlzaW9uIikNCiAgICBj
b21tYW5kcys9KCJwdWxsIikNCiAgICBjb21tYW5kcys9KCJwdXNoIikNCiAgICBjb21tYW5kcys9
KCJyZXNldCIpDQogICAgY29tbWFuZHMrPSgic2NhbGUiKQ0KICAgIGNvbW1hbmRzKz0oInVuY29y
ZG9uIikNCiAgICBjb21tYW5kcys9KCJ1cCIpDQogICAgY29tbWFuZHMrPSgidmVyc2lvbiIpDQog
ICAgY29tbWFuZHMrPSgidmlldyIpDQoNCiAgICBmbGFncz0oKQ0KICAgIHR3b193b3JkX2ZsYWdz
PSgpDQogICAgbG9jYWxfbm9ucGVyc2lzdGVudF9mbGFncz0oKQ0KICAgIGZsYWdzX3dpdGhfY29t
cGxldGlvbj0oKQ0KICAgIGZsYWdzX2NvbXBsZXRpb249KCkNCg0KDQogICAgbXVzdF9oYXZlX29u
ZV9mbGFnPSgpDQogICAgbXVzdF9oYXZlX29uZV9ub3VuPSgpDQogICAgbm91bl9hbGlhc2VzPSgp
DQp9DQoNCl9fc3RhcnRfa29udm95KCkNCnsNCiAgICBsb2NhbCBjdXIgcHJldiB3b3JkcyBjd29y
ZA0KICAgIGRlY2xhcmUgLUEgZmxhZ2hhc2ggMj4vZGV2L251bGwgfHwgOg0KICAgIGRlY2xhcmUg
LUEgYWxpYXNoYXNoIDI+L2Rldi9udWxsIHx8IDoNCiAgICBpZiBkZWNsYXJlIC1GIF9pbml0X2Nv
bXBsZXRpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuDQogICAgICAgIF9pbml0X2NvbXBsZXRpb24g
LXMgfHwgcmV0dXJuDQogICAgZWxzZQ0KICAgICAgICBfX2tvbnZveV9pbml0X2NvbXBsZXRpb24g
LW4gIj0iIHx8IHJldHVybg0KICAgIGZpDQoNCiAgICBsb2NhbCBjPTANCiAgICBsb2NhbCBmbGFn
cz0oKQ0KICAgIGxvY2FsIHR3b193b3JkX2ZsYWdzPSgpDQogICAgbG9jYWwgbG9jYWxfbm9ucGVy
c2lzdGVudF9mbGFncz0oKQ0KICAgIGxvY2FsIGZsYWdzX3dpdGhfY29tcGxldGlvbj0oKQ0KICAg
IGxvY2FsIGZsYWdzX2NvbXBsZXRpb249KCkNCiAgICBsb2NhbCBjb21tYW5kcz0oImtvbnZveSIp
DQogICAgbG9jYWwgbXVzdF9oYXZlX29uZV9mbGFnPSgpDQogICAgbG9jYWwgbXVzdF9oYXZlX29u
ZV9ub3VuPSgpDQogICAgbG9jYWwgbGFzdF9jb21tYW5kDQogICAgbG9jYWwgbm91bnM9KCkNCg0K
ICAgIF9fa29udm95X2hhbmRsZV93b3JkDQp9DQoNCmlmIFtbICQodHlwZSAtdCBjb21wb3B0KSA9
ICJidWlsdGluIiBdXTsgdGhlbg0KICAgIGNvbXBsZXRlIC1vIGRlZmF1bHQgLUYgX19zdGFydF9r
b252b3kga29udm95DQplbHNlDQogICAgY29tcGxldGUgLW8gZGVmYXVsdCAtbyBub3NwYWNlIC1G
IF9fc3RhcnRfa29udm95IGtvbnZveQ0KZmkNCg0KIyBleDogdHM9NCBzdz00IGV0IGZpbGV0eXBl
PXNoDQoNCkJBU0hfQ09NUExFVElPTl9FT0YNCn0NCl9fa29udm95X2Jhc2hfc291cmNlIDwoX19r
b252b3lfY29udmVydF9iYXNoX3RvX3pzaCkNCl9jb21wbGV0ZSBrb252b3kgMj4vZGV2L251bGwN
Cg==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment