[silvatheme.silvacmsorg][Emiliano D'Alterio] Made silvatheme.sil...

[email protected] Fri, 13 Dec 2013 18:21:03 +0100
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
CmF1dGhvcjogICAgRW1pbGlhbm8gRCdBbHRlcmlvCmRhdGU6ICAgICAgRnJpIERlYyAxMyAxODoy
MTowNCAyMDEzICswMTAwCnJldmlzaW9uOiAgNzI1OjFjMmI2ZDEzMGM5ZSBpbiBzaWx2YXRoZW1l
LnNpbHZhY21zb3JnCmJyYW5jaDogICA9MjAKZGV0YWlsczogICBodHRwczovL2hnLmluZnJhZS5j
b20vc2lsdmF0aGVtZS5zaWx2YWNtc29yZz9jbWQ9M0RjaGFuZ2VzZXQ7bm9kPQplPTNEMWMyYjZk
MTMwYzllCm1vZGlmaWVkOiAgc2V0dXAucHkgc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvY29u
ZmlndXJlLnpjbWwgc3JjL3NpbHZhdGhlbT0KZS9zaWx2YWNtc29yZy9pbnRlcmZhY2VzLnB5IHNy
Yy9zaWx2YXRoZW1lL3NpbHZhY21zb3JnL3N0YXRpYy9jc3MvaHRtbDVyZXNlPQp0LmNzcyBzcmMv
c2lsdmF0aGVtZS9zaWx2YWNtc29yZy9zdGF0aWMvY3NzL3R5cG9ncmFwaHkuY3NzIHNyYy9zaWx2
YXRoZW1lL3M9CmlsdmFjbXNvcmcvc3RhdGljL2pzL21vZGVybml6ci0xLjcubWluLmpzCmFkZGVk
OiAgICAgc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvc3RhdGljL2Nzcy9odG1sNXJlc2V0LmNz
cyBzcmMvc2lsdmF0aD0KZW1lL3NpbHZhY21zb3JnL3N0YXRpYy9jc3MvdHlwb2dyYXBoeS5jc3Mg
c3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvc3RhdGljPQovanMvbW9kZXJuaXpyLTEuNy5taW4u
anMKcmVtb3ZlZDogID0yMApsb2c6ICAgICAgIE1hZGUgc2lsdmF0aGVtZS5zaWx2YWNtc29yZyBp
bmRlcGVuZGVudCBmcm9tCglzaWx2YXRoZW1lLmluZnJhZWNvbW1vbi4KCgpkaWZmc3RhdDoKCiBz
ZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAxIC0KIHNyYy9zaWx2YXRoZW1lL3NpbHZhY21zb3JnL2NvbmZpZ3VyZS56Y21sICAgICAg
ICAgICAgICAgICB8ICAgIDEgLQogc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvaW50ZXJmYWNl
cy5weSAgICAgICAgICAgICAgICAgIHwgICAxNSArLQogc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNv
cmcvc3RhdGljL2Nzcy9odG1sNXJlc2V0LmNzcyAgICAgIHwgIDI1OCArKysrKysrKys9CisrKysr
CiBzcmMvc2lsdmF0aGVtZS9zaWx2YWNtc29yZy9zdGF0aWMvY3NzL3R5cG9ncmFwaHkuY3NzICAg
ICAgfCAgIDUzICsrCiBzcmMvc2lsdmF0aGVtZS9zaWx2YWNtc29yZy9zdGF0aWMvanMvbW9kZXJu
aXpyLTEuNy5taW4uanMgfCAgICAyICsKIDYgZmlsZXMgY2hhbmdlZCwgMzIzIGluc2VydGlvbnMo
KyksIDcgZGVsZXRpb25zKC0pCgpkaWZmcyAoMzgxIGxpbmVzKToKCmRpZmYgLXIgMmVmZmU4MGNm
NzU3IC1yIDFjMmI2ZDEzMGM5ZSBzZXR1cC5weQotLS0gYS9zZXR1cC5weQlUdWUgT2N0IDE1IDEy
OjEyOjMxIDIwMTMgKzAyMDAKKysrIGIvc2V0dXAucHkJRnJpIERlYyAxMyAxODoyMTowNCAyMDEz
ICswMTAwCkBAIC0zMyw3ICszMyw2IEBACiAgICAgICAgICAgJ3NpbHZhLmNvcmUuaW50ZXJmYWNl
cycsCiAgICAgICAgICAgJ3NpbHZhLmNvcmUubGF5b3V0JywKICAgICAgICAgICAnc2lsdmEuYXBw
Lm5ld3MnLAotICAgICAgICAgICdzaWx2YXRoZW1lLmluZnJhZWNvbW1vbicsCiAgICAgICAgICAg
J3pvcGUuY2FjaGVkZXNjcmlwdG9ycycsCiAgICAgICBdLAogICAgICAgKQpkaWZmIC1yIDJlZmZl
ODBjZjc1NyAtciAxYzJiNmQxMzBjOWUgc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvY29uZmln
dXJlLno9CmNtbAotLS0gYS9zcmMvc2lsdmF0aGVtZS9zaWx2YWNtc29yZy9jb25maWd1cmUuemNt
bAlUdWUgT2N0IDE1IDEyOjEyOjMxIDIwMTMgKzA9CjIwMAorKysgYi9zcmMvc2lsdmF0aGVtZS9z
aWx2YWNtc29yZy9jb25maWd1cmUuemNtbAlGcmkgRGVjIDEzIDE4OjIxOjA0IDIwMTMgKzA9CjEw
MApAQCAtNSw3ICs1LDYgQEAKICAgIDxpbmNsdWRlIHBhY2thZ2U9M0Qic2lsdmEuY29yZS5jb25m
IiAvPgogICAgPGluY2x1ZGUgcGFja2FnZT0zRCJzaWx2YS5jb3JlLnZpZXdzIiAvPgogICAgPGlu
Y2x1ZGUgcGFja2FnZT0zRCJzaWx2YS5jb3JlLmNvbnRlbnRsYXlvdXQiIC8+Ci0gICA8aW5jbHVk
ZSBwYWNrYWdlPTNEInNpbHZhdGhlbWUuaW5mcmFlY29tbW9uIiAvPgo9MjAKICAgIDwhLS0gR3Jv
ayB0aGlzIHBhY2thZ2UgLS0+CiAgICA8Z3Jvazpncm9rIHBhY2thZ2U9M0QiLiIgLz4KZGlmZiAt
ciAyZWZmZTgwY2Y3NTcgLXIgMWMyYjZkMTMwYzllIHNyYy9zaWx2YXRoZW1lL3NpbHZhY21zb3Jn
L2ludGVyZmFjZXMuPQpweQotLS0gYS9zcmMvc2lsdmF0aGVtZS9zaWx2YWNtc29yZy9pbnRlcmZh
Y2VzLnB5CVR1ZSBPY3QgMTUgMTI6MTI6MzEgMjAxMyArMDI9CjAwCisrKyBiL3NyYy9zaWx2YXRo
ZW1lL3NpbHZhY21zb3JnL2ludGVyZmFjZXMucHkJRnJpIERlYyAxMyAxODoyMTowNCAyMDEzICsw
MT0KMDAKQEAgLTEsMTIgKzEsMjAgQEAKLQorZnJvbSB6b3BlLnB1Ymxpc2hlci5pbnRlcmZhY2Vz
LmJyb3dzZXIgaW1wb3J0IElEZWZhdWx0QnJvd3NlckxheWVyCiBmcm9tIHNpbHZhLmNvcmUgaW1w
b3J0IGNvbmYgYXMgc2lsdmFjb25mCiBmcm9tIHNpbHZhLmNvcmUubGF5b3V0LmludGVyZmFjZXMg
aW1wb3J0IElTaWx2YVNraW4KIGZyb20gc2lsdmEuY29yZS5sYXlvdXQucG9ydG8uaW50ZXJmYWNl
cyBpbXBvcnQgSVBvcnRvCi1mcm9tIHNpbHZhdGhlbWUuaW5mcmFlY29tbW9uIGltcG9ydCBJVHlw
b2dyYXBoeQo9MjAKIGZyb20ganMuanF1ZXJ5IGltcG9ydCBqcXVlcnkKPTIwCj0yMAorY2xhc3Mg
SVJlc2V0KElEZWZhdWx0QnJvd3NlckxheWVyKToKKyAgICBzaWx2YWNvbmYucmVzb3VyY2UoJ2Nz
cy9odG1sNXJlc2V0LmNzcycpCisgICAgc2lsdmFjb25mLnJlc291cmNlKCdqcy9tb2Rlcm5penIt
MS43Lm1pbi5qcycpCisKKworY2xhc3MgSVR5cG9ncmFwaHkoSVJlc2V0KToKKyAgICBzaWx2YWNv
bmYucmVzb3VyY2UoJ2Nzcy90eXBvZ3JhcGh5LmNzcycpCisKKwogY2xhc3MgSVNpbHZhQ21zT3Jn
KElUeXBvZ3JhcGh5LCBJUG9ydG8pOgogICAgICIiIkxheWVyIGZvciBTaWx2YUNNUy5vcmcgdGhl
bWUKICAgICAiIiIKQEAgLTI5LDYgKzM3LDMgQEAKPTIwCiBjbGFzcyBJU2lsdmFDbXNPcmdTa2lu
V2l0aE5hdmlnYXRpb24oSVNpbHZhU2lsdmFPcmdXaXRoTmF2aWdhdGlvbiwgSVNpbHZhUz0Ka2lu
KToKICAgICBzaWx2YWNvbmYuc2tpbignU2lsdmFDTVMgd2l0aCBuYXZpZ2F0aW9uJykKLQotCi0K
ZGlmZiAtciAyZWZmZTgwY2Y3NTcgLXIgMWMyYjZkMTMwYzllIHNyYy9zaWx2YXRoZW1lL3NpbHZh
Y21zb3JnL3N0YXRpYy9jc3MvPQpodG1sNXJlc2V0LmNzcwotLS0gL2Rldi9udWxsCVRodSBKYW4g
MDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi9zcmMvc2lsdmF0aGVtZS9zaWx2YWNtc29yZy9z
dGF0aWMvY3NzL2h0bWw1cmVzZXQuY3NzCUZyaSBEZWMgMTMgMTg6MjE9CjowNCAyMDEzICswMTAw
CkBAIC0wLDAgKzEsMjU4IEBACisvKioKKyAqIEhUTUw1ID1FMj05Qz1CMCBCb2lsZXJwbGF0ZQor
ICoKKyAqIHN0eWxlLmNzcyBjb250YWlucyBhIHJlc2V0LCBmb250IG5vcm1hbGl6YXRpb24gYW5k
IHNvbWUgYmFzZSBzdHlsZXMuCisgKgorICogQ3JlZGl0IGlzIGxlZnQgd2hlcmUgY3JlZGl0IGlz
IGR1ZS4KKyAqIE11Y2ggaW5zcGlyYXRpb24gd2FzIHRha2VuIGZyb20gdGhlc2UgcHJvamVjdHM6
CisgKiAtIHl1aS55YWhvb2FwaXMuY29tLzIuOC4xL2J1aWxkL2Jhc2UvYmFzZS5jc3MKKyAqIC0g
Y2FtZW5kZXNpZ24uY29tL2Rlc2lnbi8KKyAqIC0gcHJhZWduYW56LmRlL3dlYmxvZy9odG1sY3Nz
anMta2lja3N0YXJ0CisgKi8KKworCisvKioKKyAqIGh0bWw1ZG9jdG9yLmNvbSBSZXNldCBTdHls
ZXNoZWV0IChFcmljIE1leWVyJ3MgUmVzZXQgUmVsb2FkZWQgKyBIVE1MNSBiPQphc2VsaW5lKQor
ICogdjEuNi4xIDIwMTAtMDktMTcgfCBBdXRob3JzOiBFcmljIE1leWVyICYgUmljaGFyZCBDbGFy
aworICogaHRtbDVkb2N0b3IuY29tL2h0bWwtNS1yZXNldC1zdHlsZXNoZWV0LworICovCisKK2h0
bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsCitoMSwgaDIsIGgzLCBoNCwgaDUs
IGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsCithYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLCBkZWws
IGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHNhbXAsCitzbWFsbCwgc3Ryb25nLCBzdWIsIHN1
cCwgdmFyLCBiLCBpLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLAorZmllbGRzZXQsIGZvcm0sIGxh
YmVsLCBsZWdlbmQsCit0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRo
LCB0ZCwKK2FydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3Vy
ZSwKK2Zvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSwK
K3RpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7CisgIG1hcmdpbjogMDsKKyAgcGFkZGluZzogMDsK
KyAgYm9yZGVyOiAwOworICBmb250LXNpemU6IDEwMCU7CisgIGZvbnQ6IGluaGVyaXQ7CisgIHZl
cnRpY2FsLWFsaWduOiBiYXNlbGluZTsKK30KKworYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZp
Z2NhcHRpb24sIGZpZ3VyZSwKK2Zvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2Vj
dGlvbiB7CisgIGRpc3BsYXk6IGJsb2NrOworfQorCitibG9ja3F1b3RlLCBxIHsgcXVvdGVzOiBu
b25lOyB9CisKK2Jsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLAorcTpiZWZvcmUs
IHE6YWZ0ZXIgeyBjb250ZW50OiAiIjsgY29udGVudDogbm9uZTsgfQorCitpbnMgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiAjZmY5OyBjb2xvcjogIzAwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CisK
K21hcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5OyBjb2xvcjogIzAwMDsgZm9udC1zdHlsZTog
aXRhbGljOyBmb250LXdlaWdoPQp0OiBib2xkOyB9CisKK2RlbCB7IHRleHQtZGVjb3JhdGlvbjog
bGluZS10aHJvdWdoOyB9CisKK2FiYnJbdGl0bGVdLCBkZm5bdGl0bGVdIHsgYm9yZGVyLWJvdHRv
bTogMXB4IGRvdHRlZDsgY3Vyc29yOiBoZWxwOyB9CisKK3RhYmxlIHsgYm9yZGVyLWNvbGxhcHNl
OiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IH0KKworaHIgeyBkaXNwbGF5OiBibG9jazsg
aGVpZ2h0OiAxcHg7IGJvcmRlcjogMDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IG09CmFy
Z2luOiAxZW0gMDsgcGFkZGluZzogMDsgfQorCitpbnB1dCwgc2VsZWN0IHsgdmVydGljYWwtYWxp
Z246IG1pZGRsZTsgfQorCisKKy8qKgorICogRm9udCBub3JtYWxpemF0aW9uIGluc3BpcmVkIGJ5
IFlVSSBMaWJyYXJ5J3MgZm9udHMuY3NzOiBkZXZlbG9wZXIueWFob289Ci5jb20veXVpLworICov
CisKK2JvZHkgeyBmb250OjEzcHgvMS4yMzEgc2Fucy1zZXJpZjsgKmZvbnQtc2l6ZTpzbWFsbDsg
fSAvKiBIYWNrIHJldGFpbmVkIHRvPQogcHJlc2VydmUgc3BlY2lmaWNpdHkgKi8KK3NlbGVjdCwg
aW5wdXQsIHRleHRhcmVhLCBidXR0b24geyBmb250Ojk5JSBzYW5zLXNlcmlmOyB9CisKKy8qIE5v
cm1hbGl6ZSBtb25vc3BhY2Ugc2l6aW5nOgorICAgZW4ud2lraXBlZGlhLm9yZy93aWtpL01lZGlh
V2lraV90YWxrOkNvbW1vbi5jc3MvQXJjaGl2ZV8xMSNUZWxldHlwZV9zdHk9CmxlX2ZpeF9mb3Jf
Q2hyb21lICovCitwcmUsIGNvZGUsIGtiZCwgc2FtcCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2Us
IHNhbnMtc2VyaWY7IH0KKworCisvKioKKyAqIE1pbmltYWwgYmFzZSBzdHlsZXMuCisgKi8KKwor
LyogQWx3YXlzIGZvcmNlIGEgc2Nyb2xsYmFyIGluIG5vbi1JRSAqLworaHRtbCB7IG92ZXJmbG93
LXk6IHNjcm9sbDsgfQorCisvKiBBY2Nlc3NpYmxlIGZvY3VzIHRyZWF0bWVudDogcGVvcGxlLm9w
ZXJhLmNvbS9wYXRyaWNrbC9leHBlcmltZW50cy9rZXlibz0KYXJkL3Rlc3QgKi8KK2E6aG92ZXIs
IGE6YWN0aXZlIHsgb3V0bGluZTogbm9uZTsgfQorCit1bCwgb2wgeyBtYXJnaW4tbGVmdDogMmVt
OyB9CitvbCB7IGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfQorCisvKiBSZW1vdmUgbWFyZ2lu
cyBmb3IgbmF2aWdhdGlvbiBsaXN0cyAqLworbmF2IHVsLCBuYXYgbGkgeyBtYXJnaW46IDA7IGxp
c3Qtc3R5bGU6bm9uZTsgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTsgfQorCitzbWFsbCB7IGZvbnQt
c2l6ZTogODUlOyB9CitzdHJvbmcsIHRoIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KKwordGQgeyB2
ZXJ0aWNhbC1hbGlnbjogdG9wOyB9CisKKy8qIFNldCBzdWIsIHN1cCB3aXRob3V0IGFmZmVjdGlu
ZyBsaW5lLWhlaWdodDogZ2lzdC5naXRodWIuY29tLzQxMzkzMCAqLworc3ViLCBzdXAgeyBmb250
LXNpemU6IDc1JTsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQorc3VwIHsg
dG9wOiAtMC41ZW07IH0KK3N1YiB7IGJvdHRvbTogLTAuMjVlbTsgfQorCitwcmUgeworICAvKiB3
d3cucGF0aGYuY29tL2Jsb2dzLzIwMDgvMDUvZm9ybWF0dGluZy1xdW90ZWQtY29kZS1pbi1ibG9n
LXBvc3RzLWNzczI9CjEtd2hpdGUtc3BhY2UtcHJlLXdyYXAvICovCisgIHdoaXRlLXNwYWNlOiBw
cmU7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgd29yZC13cmFwOiBicmVhay13b3JkOworICBwYWRk
aW5nOiAxNXB4OworfQorCit0ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9IC8qIHd3dy5zaXRl
cG9pbnQuY29tL2Jsb2dzLzIwMTAvMDgvMjAvaWUtcmVtbz0KdmUtdGV4dGFyZWEtc2Nyb2xsYmFy
cy8gKi8KKworLmllNiBsZWdlbmQsIC5pZTcgbGVnZW5kIHsgbWFyZ2luLWxlZnQ6IC03cHg7IH0K
KworLyogQWxpZ24gY2hlY2tib3hlcywgcmFkaW9zLCB0ZXh0IGlucHV0cyB3aXRoIHRoZWlyIGxh
YmVsIGJ5OiBUaGllcnJ5IEtvYmw9CmVudHogdGprZGVzaWduLmNvbS9lei1jc3MvY3NzL2Jhc2Uu
Y3NzICAqLworaW5wdXRbdHlwZT0zRCJyYWRpbyJdIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90
dG9tOyB9CitpbnB1dFt0eXBlPTNEImNoZWNrYm94Il0geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9t
OyB9CisuaWU3IGlucHV0W3R5cGU9M0QiY2hlY2tib3giXSB7IHZlcnRpY2FsLWFsaWduOiBiYXNl
bGluZTsgfQorLmllNiBpbnB1dCB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgfQorCisv
KiBIYW5kIGN1cnNvciBvbiBjbGlja2FibGUgaW5wdXQgZWxlbWVudHMgKi8KK2xhYmVsLCBpbnB1
dFt0eXBlPTNEImJ1dHRvbiJdLCBpbnB1dFt0eXBlPTNEInN1Ym1pdCJdLCBpbnB1dFt0eXBlPTNE
ImltYWdlPQoiXSwgYnV0dG9uIHsgY3Vyc29yOiBwb2ludGVyOyB9CisKKy8qIFdlYmtpdCBicm93
c2VycyBhZGQgYSAycHggbWFyZ2luIG91dHNpZGUgdGhlIGNocm9tZSBvZiBmb3JtIGVsZW1lbnRz
ICovCitidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHsgbWFyZ2luOiAwOyB9CisKKy8q
IENvbG9ycyBmb3IgZm9ybSB2YWxpZGl0eSAqLworaW5wdXQ6dmFsaWQsIHRleHRhcmVhOnZhbGlk
ICAgeyAgfQoraW5wdXQ6aW52YWxpZCwgdGV4dGFyZWE6aW52YWxpZCB7IGJveC1zaGFkb3c6IG5v
bmU7IH0KKy5uby1ib3hzaGFkb3cgaW5wdXQ6aW52YWxpZCwgLm5vLWJveHNoYWRvdyB0ZXh0YXJl
YTppbnZhbGlkIHsgYmFja2dyb3VuZC1jPQpvbG9yOiAjZjBkZGRkOyB9CisKKy8qIFRoZXNlIHNl
bGVjdGlvbiBkZWNsYXJhdGlvbnMgaGF2ZSB0byBiZSBzZXBhcmF0ZQorICAgTm8gdGV4dC1zaGFk
b3c6IHR3aXR0ZXIuY29tL21pa2V0YXlsci9zdGF0dXMvMTIyMjg4MDUzMDEKKyAgIEFsc286IFtu
b3RdIGhvdCBwaW5rISAqLworOjotbW96LXNlbGVjdGlvbnsgYmFja2dyb3VuZDogI2Q4ZTdmZjsg
Y29sb3I6IzAwMDsgdGV4dC1zaGFkb3c6IG5vbmU7IH0KKzo6c2VsZWN0aW9uIHsgYmFja2dyb3Vu
ZDojZDhlN2ZmOyBjb2xvcjojMDAwOyB0ZXh0LXNoYWRvdzogbm9uZTsgfQorCisvKiBqLm1wL3dl
YmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yICovCithOmxpbmsgeyAtd2Via2l0LXRhcC1oaWdobGln
aHQtY29sb3I6ICNkOGU3ZmY7IH0KKworLyogTWFrZSBidXR0b25zIHBsYXkgbmljZSBpbiBJRToK
KyAgIHd3dy52aWdldC5jb20vaW5zcGlyZS9zdHlsaW5nLXRoZS1idXR0b24tZWxlbWVudC1pbi1p
bnRlcm5ldC1leHBsb3Jlci8gPQoqLworYnV0dG9uIHsgIHdpZHRoOiBhdXRvOyBvdmVyZmxvdzog
dmlzaWJsZTsgfQorCisvKiBCaWN1YmljIHJlc2l6aW5nIGZvciBub24tbmF0aXZlIHNpemVkIElN
RzoKKyAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUt
bGl0dGxlLXRoaW5ncy1jbGllbnQtPQpzaWRlLWltYWdlLXJlc2l6aW5nLyAqLworLmllNyBpbWcg
eyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9CisKKy8qKgorICogWW91IG1pZ2h0
IHR3ZWFrIHRoZXNlLi4KKyAqLworCitib2R5LCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSB7Cisg
IC8qICM0NDQgbG9va3MgYmV0dGVyIHRoYW4gYmxhY2s6IHR3aXR0ZXIuY29tL0hfRkovc3RhdHVz
ZXMvMTE4MDA3MTk4NTkgKi8KKyAgY29sb3I6ICM0NDQ7CisgIC8qIFNldCB5b3VyIGJhc2UgZm9u
dCBoZXJlLCB0byBhcHBseSBldmVubHkgKi8KKyAgLyogZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNl
cmlmOyAgKi8KK30KKworLyogSGVhZGVycyAoaDEsIGgyLCBldGMpIGhhdmUgbm8gZGVmYXVsdCBm
b250LXNpemUgb3IgbWFyZ2luOyBkZWZpbmUgdGhvc2U9CiB5b3Vyc2VsZiAqLworaDEsIGgyLCBo
MywgaDQsIGg1LCBoNiB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CisKK2EsIGE6YWN0aXZlLCBhOnZp
c2l0ZWQgeyBjb2xvcjogIzYwNzg5MDsgfQorYTpob3ZlciB7IGNvbG9yOiAjMDM2OyB9CisKKwor
LyoqCisgKiBQcmltYXJ5IHN0eWxlcworICoKKyAqIEF1dGhvcjoKKyAqLworCisKKworCisKKwor
CisKKworCisKKworCisKKworCisvKioKKyAqIE5vbi1zZW1hbnRpYyBoZWxwZXIgY2xhc3Nlczog
cGxlYXNlIGRlZmluZSB5b3VyIHN0eWxlcyBiZWZvcmUgdGhpcyBzZWN0PQppb24uCisgKi8KKwor
LyogRm9yIGltYWdlIHJlcGxhY2VtZW50ICovCisuaXIgeyBkaXNwbGF5OiBibG9jazsgdGV4dC1p
bmRlbnQ6IC05OTllbTsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZT0KcGVhdDogbm8t
cmVwZWF0OyB0ZXh0LWFsaWduOiBsZWZ0OyBkaXJlY3Rpb246IGx0cjsgfQorCisvKiBIaWRlIGZv
ciBib3RoIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzOgorICAgY3NzLWRpc2N1c3MuaW5jdXRp
by5jb20vd2lraS9TY3JlZW5yZWFkZXJfVmlzaWJpbGl0eSAqLworLmhpZGRlbiB7IGRpc3BsYXk6
IG5vbmU7IHZpc2liaWxpdHk6IGhpZGRlbjsgfQorCisvKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1
dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVucmVhZGVyczogYnkgSm9uIE5lYT0KbC4KKyAg
d3d3LndlYmFpbS5vcmcvdGVjaG5pcXVlcy9jc3MvaW52aXNpYmxlY29udGVudC8gICYgIGoubXAv
dmlzdWFsbHloaWRkZW4gPQoqLworLnZpc3VhbGx5aGlkZGVuIHsgYm9yZGVyOiAwOyBjbGlwOiBy
ZWN0KDAgMCAwIDApOyBoZWlnaHQ6IDFweDsgbWFyZ2luOiAtMXA9Cng7IG92ZXJmbG93OiBoaWRk
ZW47IHBhZGRpbmc6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgfQorLyogRXh0
ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50IHRvIGJl
IGZvY3VzYWJsZSA9CndoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6IGRydXBhbC5v
cmcvbm9kZS84OTc2MzggKi8KKy52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLAorLnZp
c3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7IGNsaXA6IGF1dG87IGhlaWdodDogYXV0bzsg
bWFyZ2luOiAwOyBvdmU9CnJmbG93OiB2aXNpYmxlOyBwb3NpdGlvbjogc3RhdGljOyB3aWR0aDog
YXV0bzsgfQorCisvKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbnJlYWRlcnMsIGJ1dCBt
YWludGFpbiBsYXlvdXQgKi8KKy5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KKwor
LyogVGhlIE1hZ25pZmljZW50IENsZWFyZml4OiBVcGRhdGVkIHRvIHByZXZlbnQgbWFyZ2luLWNv
bGxhcHNpbmcgb24gY2hpbGQ9CiBlbGVtZW50cy4KKyAgIGoubXAvYmVzdGNsZWFyZml4ICovCisu
Y2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiXDAwMjAiOyBkaXNw
bGF5OiBibG9jazsgaGVpZz0KaHQ6IDA7IG92ZXJmbG93OiBoaWRkZW47IH0KKy5jbGVhcmZpeDph
ZnRlciB7IGNsZWFyOiBib3RoOyB9CisvKiBGaXggY2xlYXJmaXg6IGJsdWVwcmludGNzcy5saWdo
dGhvdXNlYXBwLmNvbS9wcm9qZWN0cy8xNTMxOC90aWNrZXRzLzUtZT0KeHRyYS1tYXJnaW4tcGFk
ZGluZy1ib3R0b20tb2YtcGFnZSAqLworLmNsZWFyZml4IHsgem9vbTogMTsgfQorCisKKworLyoq
CisgKiBNZWRpYSBxdWVyaWVzIGZvciByZXNwb25zaXZlIGRlc2lnbi4KKyAqCisgKiBUaGVzZSBm
b2xsb3cgYWZ0ZXIgcHJpbWFyeSBzdHlsZXMgc28gdGhleSB3aWxsIHN1Y2Nlc3NmdWxseSBvdmVy
cmlkZS4KKyAqLworCitAbWVkaWEgYWxsIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpIHsKKyAg
LyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIHBvcnRyYWl0IG1vZGUgZ29lcyBoZXJlICovCisKK30K
KworQG1lZGlhIGFsbCBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgeworICAvKiBTdHlsZSBh
ZGp1c3RtZW50cyBmb3IgbGFuZHNjYXBlIG1vZGUgZ29lcyBoZXJlICovCisKK30KKworLyogR3Jh
ZGUtQSBNb2JpbGUgQnJvd3NlcnMgKE9wZXJhIE1vYmlsZSwgTW9iaWxlIFNhZmFyaSwgQW5kcm9p
ZCBDaHJvbWUpCisgICBjb25zaWRlciB0aGlzOiB3d3cuY2xvdWRmb3VyLmNvbS9jc3MtbWVkaWEt
cXVlcnktZm9yLW1vYmlsZS1pcy1mb29scy1nbz0KbGQvICovCitAbWVkaWEgc2NyZWVuIGFuZCAo
bWF4LWRldmljZS13aWR0aDogNDgwcHgpIHsKKworCisgIC8qIFVuY29tbWVudCBpZiB5b3UgZG9u
J3Qgd2FudCBpT1MgYW5kIFdpbk1vYmlsZSB0byBtb2JpbGUtb3B0aW1pemUgdGhlID0KdGV4dCBm
b3IgeW91OiBqLm1wL3RleHRzaXplYWRqdXN0ICovCisgIC8qIGh0bWwgeyAtd2Via2l0LXRleHQt
c2l6ZS1hZGp1c3Q6bm9uZTsgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTsgfSAqLworfQorCisK
Ky8qKgorICogUHJpbnQgc3R5bGVzLgorICoKKyAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQg
SFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nPQoteW91ci1wcmlu
dC1jc3MvCisgKi8KK0BtZWRpYSBwcmludCB7CisgICogeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVu
dCAhaW1wb3J0YW50OyBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgdGV4dC1zaD0KYWRvdzogbm9u
ZSAhaW1wb3J0YW50OyBmaWx0ZXI6bm9uZSAhaW1wb3J0YW50OworICAtbXMtZmlsdGVyOiBub25l
ICFpbXBvcnRhbnQ7IH0gLyogQmxhY2sgcHJpbnRzIGZhc3Rlcjogc2FuYmVpamkuY29tL2FyY2g9
Cml2ZXMvOTUzICovCisgIGEsIGE6dmlzaXRlZCB7IGNvbG9yOiAjNDQ0ICFpbXBvcnRhbnQ7IHRl
eHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CisgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAi
ICgiIGF0dHIoaHJlZikgIikiOyB9CisgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogIiAo
IiBhdHRyKHRpdGxlKSAiKSI7IH0KKyAgLmlyIGE6YWZ0ZXIsIGFbaHJlZl49M0QiamF2YXNjcmlw
dDoiXTphZnRlciwgYVtocmVmXj0zRCIjIl06YWZ0ZXIgeyBjb250PQplbnQ6ICIiOyB9ICAvKiBE
b24ndCBzaG93IGxpbmtzIGZvciBpbWFnZXMsIG9yIGphdmFzY3JpcHQvaW50ZXJuYWwgbGlua3Mg
Ki8KKyAgcHJlLCBibG9ja3F1b3RlIHsgYm9yZGVyOiAxcHggc29saWQgIzk5OTsgcGFnZS1icmVh
ay1pbnNpZGU6IGF2b2lkOyB9CisgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3Vw
OyB9IC8qIGNzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUD0KcmludGluZ19UYWJsZXMgKi8K
KyAgdHIsIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfQorICBAcGFnZSB7IG1hcmdp
bjogMC41Y207IH0KKyAgcCwgaDIsIGgzIHsgb3JwaGFuczogMzsgd2lkb3dzOiAzOyB9CisgIGgy
LCBoM3sgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0KK30KKwpkaWZmIC1yIDJlZmZlODBjZjc1
NyAtciAxYzJiNmQxMzBjOWUgc3JjL3NpbHZhdGhlbWUvc2lsdmFjbXNvcmcvc3RhdGljL2Nzcy89
CnR5cG9ncmFwaHkuY3NzCi0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDowMCAxOTcwICsw
MDAwCisrKyBiL3NyYy9zaWx2YXRoZW1lL3NpbHZhY21zb3JnL3N0YXRpYy9jc3MvdHlwb2dyYXBo
eS5jc3MJRnJpIERlYyAxMyAxODoyMT0KOjA0IDIwMTMgKzAxMDAKQEAgLTAsMCArMSw1MyBAQAor
LyogVHlwb2dyYXBoeSBmb3IgSW5mcmFlIHNpdGVzICovCitoMSB7IGZvbnQtc2l6ZToyLjJlbTsg
bWFyZ2luOjAgMCAwLjVlbTsgfQoraDIgeyBmb250LXNpemU6MS44ZW07IG1hcmdpbjowIDAgMC41
ZW07IH0KK2gzIHsgZm9udC1zaXplOjEuNGVtOyBtYXJnaW46MWVtIDAgMC41ZW07IH0KK2g0IHsg
Zm9udC1zaXplOjEuMmVtOyBtYXJnaW46MS4xZW0gMCAwLjRlbTsgfQoraDUgeyBmb250LXNpemU6
MS4xZW07IG1hcmdpbjoxLjJlbSAwIDAuM2VtOyB9CitoNiB7IGZvbnQtc2l6ZToxLjBlbTsgbWFy
Z2luOjFlbSAwIDAuMmVtOyB9CisKK3AsIHVsLCBvbCwgZGwgeyBtYXJnaW4tYm90dG9tOjFlbTsg
fQordWwsIG9sIHsgbWFyZ2luLWxlZnQ6MS44ZW07IH0KK2xpIHsgbWFyZ2luLWJvdHRvbTowLjVl
bTsgfQorZHQgeyBkaXNwbGF5OmJsb2NrOyB9CitkZCB7IG1hcmdpbjowLjJlbSAwIDFlbTsgcGFk
ZGluZy1sZWZ0OjEuM2VtOyB9CitwcmUgeyBtYXJnaW4tYm90dG9tOjFlbTsgfQorCithIHsgbWFy
Z2luOjA7IHBhZGRpbmc6MDsgZm9udC1zaXplOjEwMCU7IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5l
OyBiYWNrZ3JvdT0KbmQ6dHJhbnNwYXJlbnQ7IH0KK2E6aG92ZXIsIGE6YWN0aXZlIHsgb3V0bGlu
ZTpub25lOyB9CisKK3RhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyBib3JkZXItc3Bh
Y2luZzowOyB9Cit0aCwgdGQgeyBwYWRkaW5nOjNweDsgfQordGggeyB0ZXh0LWFsaWduOmxlZnQ7
IH0KK3RkLCB0ZCBpbWcgeyB2ZXJ0aWNhbC1hbGlnbjp0b3A7IH0KKworcC5sZWFkIHsgZm9udC1z
aXplOjExMCU7IH0KK3AuYW5ub3RhdGlvbiB7IGZvbnQtc2l6ZTo5NSU7IH0KKworLyogYWxpZ25t
ZW50cyAqLworLmFsaWduLWxlZnQgeyB9CisuYWxpZ24tcmlnaHQgeyBmbG9hdDpyaWdodDsgY2xl
YXI6Ym90aDsgfQorLmZsb2F0LWxlZnQgeyBmbG9hdDpsZWZ0OyB9CisuZmxvYXQtcmlnaHQgeyBm
bG9hdDpyaWdodDsgfSAvKiBkaXNwbGF5Om5vbmUgaW4gbW9iaWxlIHNraW4gKi8KK2Rpdi5pbWFn
ZS1sZWZ0IHsgZmxvYXQ6bGVmdDsgbWFyZ2luOjJweCA2cHggNXB4IDA7IH0gLyogaWNvbnMgbWlk
bGluZSAqLworZGl2LmltYWdlLWNlbnRlciB7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW46MDsg
fQorZGl2LmltYWdlLXJpZ2h0IHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbjo4cHggMCAxMHB4IDIwcHg7
IH0KK2ltZy5kZWZhdWx0IHsgbWFyZ2luLWJvdHRvbTowLjdlbTsgfQoraW1nLmZsb2F0LWxlZnQg
eyBtYXJnaW46NnB4IDEwcHggNXB4IDA7IH0gLyogbmVzdGVkIGNhcCBoZWlnaHQgKi8KK2ltZy5m
bG9hdC1yaWdodCB7IG1hcmdpbjo2cHggMCA1cHggMTBweDsgfSAgLyogbmVzdGVkIHggaGVpZ2h0
ICovCisKKy8qIGxvZ2luIGZvcm0gKi8KK2Rpdi5sb2dpbi1mb3JtIHsgd2lkdGg6IDI1ZW07IH0K
K2Rpdi5sb2dpbi1mb3JtIHAgeyBsaW5lLWhlaWdodDppbmhlcml0OyB9CisvKiBmb3IgYSBzdGFj
a2VkIGZvcm0gcmVtb3ZlIGZsb2F0cyBhbmQgaGVpZ2h0cyAqLworZGl2LmxvZ2luLWZvcm0gZGl2
LmZvcm0tZWxlbWVudCB7IGhlaWdodDogMmVtOyB9CitkaXYubG9naW4tZm9ybSBkaXYuZm9ybS10
aXRsZSB7IGhlaWdodDogMS42ZW07IGZvbnQtc2l6ZTogMS4yZW07IGZvbnQtd2VpZz0KaHQ6IGJv
bGQ7IH0KK2Rpdi5sb2dpbi1mb3JtIGRpdi5mb3JtLWxhYmVsIHsgZmxvYXQ6IGxlZnQ7IHdpZHRo
OiA2ZW07IH0KK2Rpdi5sb2dpbi1mb3JtIGRpdi5mb3JtLWxhYmVsIGxhYmVsIHsgZGlzcGxheTog
YmxvY2s7IG1hcmdpbjogMC4yZW0gMCAwOyB9CitkaXYubG9naW4tZm9ybSBkaXYuZm9ybS1maWVs
ZCBpbnB1dFt0eXBlPTNEInRleHQiXSwKK2Rpdi5sb2dpbi1mb3JtIGRpdi5mb3JtLWZpZWxkIGlu
cHV0W3R5cGU9M0QicGFzc3dvcmQiXQorICB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDE4ZW07IH0K
K2Rpdi5sb2dpbi1mb3JtIGRpdi5mb3JtLWFjdGlvbnMgeyB0ZXh0LWFsaWduOnJpZ2h0OyB9Citk
aXYubG9naW4tZm9ybSBkaXYuZm9ybS1hY3Rpb25zIGlucHV0LnN1Ym1pdCB7IGhlaWdodDogMS44
ZW07IGZvbnQtd2VpZ2h0Oj0KIGJvbGQ7IH0KK2Rpdi5sb2dpbi1mb3JtIGRpdi5mb3JtLWFjdGlv
bnMgaW5wdXQuY2FuY2VsIHsgZmxvYXQ6IGxlZnQ7IGhlaWdodDogMS44ZW07PQogfQorZGl2Lmxv
Z2luLWZvcm0gZGl2IGRpdi53YXJuaW5nIHsgaGVpZ2h0OiAyZW07IG1hcmdpbi1ib3R0b206IDAu
NWVtOyB9CmRpZmYgLXIgMmVmZmU4MGNmNzU3IC1yIDFjMmI2ZDEzMGM5ZSBzcmMvc2lsdmF0aGVt
ZS9zaWx2YWNtc29yZy9zdGF0aWMvanMvbT0Kb2Rlcm5penItMS43Lm1pbi5qcwotLS0gL2Rldi9u
dWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi9zcmMvc2lsdmF0aGVtZS9z
aWx2YWNtc29yZy9zdGF0aWMvanMvbW9kZXJuaXpyLTEuNy5taW4uanMJRnJpIERlYyAxMyA9CjE4
OjIxOjA0IDIwMTMgKzAxMDAKQEAgLTAsMCArMSwyIEBACisvLyBNb2Rlcm5penIgdjEuNyAgd3d3
Lm1vZGVybml6ci5jb20KK3dpbmRvdy5Nb2Rlcm5penI9M0RmdW5jdGlvbihhLGIsYyl7ZnVuY3Rp
b24gRygpe2UuaW5wdXQ9M0RmdW5jdGlvbihhKXtmb3IoPQp2YXIgYj0zRDAsYz0zRGEubGVuZ3Ro
O2I8YztiKyspdFthW2JdXT0zRCEhKGFbYl1pbiBsKTtyZXR1cm4gdH0oImF1dG9jb21wbGU9CnRl
IGF1dG9mb2N1cyBsaXN0IHBsYWNlaG9sZGVyIG1heCBtaW4gbXVsdGlwbGUgcGF0dGVybiByZXF1
aXJlZCBzdGVwIi5zcGxpdD0KKCIgIikpLGUuaW5wdXR0eXBlcz0zRGZ1bmN0aW9uKGEpe2Zvcih2
YXIgZD0zRDAsZSxmLGgsaT0zRGEubGVuZ3RoO2Q8aTtkKyspPQpsLnNldEF0dHJpYnV0ZSgidHlw
ZSIsZj0zRGFbZF0pLGU9M0RsLnR5cGUhPTNEPTNEInRleHQiLGUmJihsLnZhbHVlPTNEbSxsLnM9
CnR5bGUuY3NzVGV4dD0zRCJwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjsiLC9e
cmFuZ2UkLy50ZXN0KGYpJiZsLj0Kc3R5bGUuV2Via2l0QXBwZWFyYW5jZSE9M0Q9M0RjPyhnLmFw
cGVuZENoaWxkKGwpLGg9M0RiLmRlZmF1bHRWaWV3LGU9M0RoLmdlPQp0Q29tcHV0ZWRTdHlsZSYm
aC5nZXRDb21wdXRlZFN0eWxlKGwsbnVsbCkuV2Via2l0QXBwZWFyYW5jZSE9M0Q9M0QidGV4dGZp
ZWw9CmQiJiZsLm9mZnNldEhlaWdodCE9M0Q9M0QwLGcucmVtb3ZlQ2hpbGQobCkpOi9eKHNlYXJj
aHx0ZWwpJC8udGVzdChmKXx8KC9eKD0KdXJsfGVtYWlsKSQvLnRlc3QoZik/ZT0zRGwuY2hlY2tW
YWxpZGl0eSYmbC5jaGVja1ZhbGlkaXR5KCk9M0Q9M0Q9M0QhMTovXmNvPQpsb3IkLy50ZXN0KGYp
PyhnLmFwcGVuZENoaWxkKGwpLGcub2Zmc2V0V2lkdGgsZT0zRGwudmFsdWUhPTNEbSxnLnJlbW92
ZUNoaWw9CmQobCkpOmU9M0RsLnZhbHVlIT0zRG0pKSxzW2FbZF1dPTNEISFlO3JldHVybiBzfSgi
c2VhcmNoIHRlbCB1cmwgZW1haWwgZGF0ZT0KdGltZSBkYXRlIG1vbnRoIHdlZWsgdGltZSBkYXRl
dGltZS1sb2NhbCBudW1iZXIgcmFuZ2UgY29sb3IiLnNwbGl0KCIgIikpfWZ1PQpuY3Rpb24gRihh
LGIpe3ZhciBjPTNEYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnN1YnN0cigxKSxkPTNEKGEr
IiAiK3Auam89CmluKGMrIiAiKStjKS5zcGxpdCgiICIpO3JldHVybiEhRShkLGIpfWZ1bmN0aW9u
IEUoYSxiKXtmb3IodmFyIGQgaW4gYSlpZihrWz0KYVtkXV0hPTNEPTNEYyYmKCFifHxiKGFbZF0s
aikpKXJldHVybiEwfWZ1bmN0aW9uIEQoYSxiKXtyZXR1cm4oIiIrYSkuaW5kZXhPPQpmKGIpIT0z
RD0zRC0xfWZ1bmN0aW9uIEMoYSxiKXtyZXR1cm4gdHlwZW9mIGE9M0Q9M0Q9M0RifWZ1bmN0aW9u
IEIoYSxiKXtyZXQ9CnVybiBBKG8uam9pbihhKyI7IikrKGJ8fCIiKSl9ZnVuY3Rpb24gQShhKXtr
LmNzc1RleHQ9M0RhfXZhciBkPTNEIjEuNyIsZT0zRD0Ke30sZj0zRCEwLGc9M0RiLmRvY3VtZW50
RWxlbWVudCxoPTNEYi5oZWFkfHxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbPQowXSxp
PTNEIm1vZGVybml6ciIsaj0zRGIuY3JlYXRlRWxlbWVudChpKSxrPTNEai5zdHlsZSxsPTNEYi5j
cmVhdGVFbGVtZW50KCI9CmlucHV0IiksbT0zRCI6KSIsbj0zRE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcsbz0zRCIgLXdlYmtpdC0gLW1vei0gLW8tIC1tcz0KLSAta2h0bWwtICIuc3BsaXQoIiAi
KSxwPTNEIldlYmtpdCBNb3ogTyBtcyBLaHRtbCIuc3BsaXQoIiAiKSxxPTNEe3N2ZzoiaHR0PQpw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LHI9M0R7fSxzPTNEe30sdD0zRHt9LHU9M0RbXSx2LHc9
M0RmdW5jdGlvbihhKXt2YXI9CiBjPTNEYi5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLGQ9M0RiLmNy
ZWF0ZUVsZW1lbnQoImRpdiIpLGU7Yy50ZXh0Q29udGVudD0zRD0KYSsieyNtb2Rlcm5penJ7aGVp
Z2h0OjNweH19IixoLmFwcGVuZENoaWxkKGMpLGQuaWQ9M0QibW9kZXJuaXpyIixnLmFwcGVuZENo
PQppbGQoZCksZT0zRGQub2Zmc2V0SGVpZ2h0PTNEPTNEPTNEMyxjLnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQoYyksZC5wYXJlbnROb2Q9CmUucmVtb3ZlQ2hpbGQoZCk7cmV0dXJuISFlfSx4PTNEZnVu
Y3Rpb24oKXtmdW5jdGlvbiBkKGQsZSl7ZT0zRGV8fGIuY3JlYXRlRT0KbGVtZW50KGFbZF18fCJk
aXYiKTt2YXIgZj0zRChkPTNEIm9uIitkKWluIGU7Znx8KGUuc2V0QXR0cmlidXRlfHwoZT0zRGIu
Y3JlPQphdGVFbGVtZW50KCJkaXYiKSksZS5zZXRBdHRyaWJ1dGUmJmUucmVtb3ZlQXR0cmlidXRl
JiYoZS5zZXRBdHRyaWJ1dGUoZCwiIik9CixmPTNEQyhlW2RdLCJmdW5jdGlvbiIpLEMoZVtkXSxj
KXx8KGVbZF09M0RjKSxlLnJlbW92ZUF0dHJpYnV0ZShkKSkpLGU9M0RudT0KbGw7cmV0dXJuIGZ9
dmFyIGE9M0R7c2VsZWN0OiJpbnB1dCIsY2hhbmdlOiJpbnB1dCIsc3VibWl0OiJmb3JtIixyZXNl
dDoiZm9yPQptIixlcnJvcjoiaW1nIixsb2FkOiJpbWciLGFib3J0OiJpbWcifTtyZXR1cm4gZH0o
KSx5PTNEKHt9KS5oYXNPd25Qcm9wZXJ0eSw9Cno7Qyh5LGMpfHxDKHkuY2FsbCxjKT96PTNEZnVu
Y3Rpb24oYSxiKXtyZXR1cm4gYiBpbiBhJiZDKGEuY29uc3RydWN0b3IucHJvdD0Kb3R5cGVbYl0s
Yyl9Ono9M0RmdW5jdGlvbihhLGIpe3JldHVybiB5LmNhbGwoYSxiKX0sci5mbGV4Ym94PTNEZnVu
Y3Rpb24oKXtmPQp1bmN0aW9uIGMoYSxiLGMsZCl7YS5zdHlsZS5jc3NUZXh0PTNEby5qb2luKGIr
IjoiK2MrIjsiKSsoZHx8IiIpfWZ1bmN0aW9uIGE9CihhLGIsYyxkKXtiKz0zRCI6IixhLnN0eWxl
LmNzc1RleHQ9M0QoYitvLmpvaW4oYysiOyIrYikpLnNsaWNlKDAsLWIubGVuZ3RoKT0KKyhkfHwi
Iil9dmFyIGQ9M0RiLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9M0RiLmNyZWF0ZUVsZW1lbnQoImRp
diIpO2EoZCwiZGlzPQpwbGF5IiwiYm94Iiwid2lkdGg6NDJweDtwYWRkaW5nOjA7IiksYyhlLCJi
b3gtZmxleCIsIjEiLCJ3aWR0aDoxMHB4OyIpLGQuYXA9CnBlbmRDaGlsZChlKSxnLmFwcGVuZENo
aWxkKGQpO3ZhciBmPTNEZS5vZmZzZXRXaWR0aD0zRD0zRD0zRDQyO2QucmVtb3ZlQ2hpbD0KZChl
KSxnLnJlbW92ZUNoaWxkKGQpO3JldHVybiBmfSxyLmNhbnZhcz0zRGZ1bmN0aW9uKCl7dmFyIGE9
M0RiLmNyZWF0ZUVsZW1lPQpudCgiY2FudmFzIik7cmV0dXJuIGEuZ2V0Q29udGV4dCYmYS5nZXRD
b250ZXh0KCIyZCIpfSxyLmNhbnZhc3RleHQ9M0RmdW5jdGk9Cm9uKCl7cmV0dXJuIGUuY2FudmFz
JiZDKGIuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKS5maWxsVGV4dD0K
LCJmdW5jdGlvbiIpfSxyLndlYmdsPTNEZnVuY3Rpb24oKXtyZXR1cm4hIWEuV2ViR0xSZW5kZXJp
bmdDb250ZXh0fSxyLnRvdWNoPQo9M0RmdW5jdGlvbigpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4g
YXx8dygiQG1lZGlhICgiK28uam9pbigidG91Y2gtZW5hYmxlZCk9CiwoIikrIm1vZGVybml6ciki
KX0sci5nZW9sb2NhdGlvbj0zRGZ1bmN0aW9uKCl7cmV0dXJuISFuYXZpZ2F0b3IuZ2VvbG9jYXRp
bz0Kbn0sci5wb3N0bWVzc2FnZT0zRGZ1bmN0aW9uKCl7cmV0dXJuISFhLnBvc3RNZXNzYWdlfSxy
LndlYnNxbGRhdGFiYXNlPTNEZnVuPQpjdGlvbigpe3ZhciBiPTNEISFhLm9wZW5EYXRhYmFzZTty
ZXR1cm4gYn0sci5pbmRleGVkREI9M0RmdW5jdGlvbigpe2Zvcih2YXI9CiBiPTNELTEsYz0zRHAu
bGVuZ3RoOysrYjxjOyl7dmFyIGQ9M0RwW2JdLnRvTG93ZXJDYXNlKCk7aWYoYVtkKyJfaW5kZXhl
ZERCIj0KXXx8YVtkKyJJbmRleGVkREIiXSlyZXR1cm4hMH1yZXR1cm4hMX0sci5oYXNoY2hhbmdl
PTNEZnVuY3Rpb24oKXtyZXR1cm4geCgiPQpoYXNoY2hhbmdlIixhKSYmKGIuZG9jdW1lbnRNb2Rl
PTNEPTNEPTNEY3x8Yi5kb2N1bWVudE1vZGU+Nyl9LHIuaGlzdG9yeT0zRGY9CnVuY3Rpb24oKXty
ZXR1cm4gISEoYS5oaXN0b3J5JiZoaXN0b3J5LnB1c2hTdGF0ZSl9LHIuZHJhZ2FuZGRyb3A9M0Rm
dW5jdGlvbj0KKCl7cmV0dXJuIHgoImRyYWdzdGFydCIpJiZ4KCJkcm9wIil9LHIud2Vic29ja2V0
cz0zRGZ1bmN0aW9uKCl7cmV0dXJuIldlYlNvPQpja2V0ImluIGF9LHIucmdiYT0zRGZ1bmN0aW9u
KCl7QSgiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MCwyNTUsMTUwLC41KSIpO3I9CmV0dXJuIEQo
ay5iYWNrZ3JvdW5kQ29sb3IsInJnYmEiKX0sci5oc2xhPTNEZnVuY3Rpb24oKXtBKCJiYWNrZ3Jv
dW5kLWNvbG9yOj0KaHNsYSgxMjAsNDAlLDEwMCUsLjUpIik7cmV0dXJuIEQoay5iYWNrZ3JvdW5k
Q29sb3IsInJnYmEiKXx8RChrLmJhY2tncm91bmRDPQpvbG9yLCJoc2xhIil9LHIubXVsdGlwbGVi
Z3M9M0RmdW5jdGlvbigpe0EoImJhY2tncm91bmQ6dXJsKC8vOiksdXJsKC8vOikscmU9CmQgdXJs
KC8vOikiKTtyZXR1cm4obmV3IFJlZ0V4cCgiKHVybFxccypcXCguKj8pezN9IikpLnRlc3Qoay5i
YWNrZ3JvdW5kKX0scj0KLmJhY2tncm91bmRzaXplPTNEZnVuY3Rpb24oKXtyZXR1cm4gRigiYmFj
a2dyb3VuZFNpemUiKX0sci5ib3JkZXJpbWFnZT0zRGZ1PQpuY3Rpb24oKXtyZXR1cm4gRigiYm9y
ZGVySW1hZ2UiKX0sci5ib3JkZXJyYWRpdXM9M0RmdW5jdGlvbigpe3JldHVybiBGKCJib3I9CmRl
clJhZGl1cyIsIiIsZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwib3JkZXJSYWRpdXMiKX0pfSxyLmJv
eHNoYWRvdz0zRGZ1bmN0aT0Kb24oKXtyZXR1cm4gRigiYm94U2hhZG93Iil9LHIudGV4dHNoYWRv
dz0zRGZ1bmN0aW9uKCl7cmV0dXJuIGIuY3JlYXRlRWxlbWVuPQp0KCJkaXYiKS5zdHlsZS50ZXh0
U2hhZG93PTNEPTNEPTNEIiJ9LHIub3BhY2l0eT0zRGZ1bmN0aW9uKCl7Qigib3BhY2l0eTouNTU9
CiIpO3JldHVybi9eMC41NSQvLnRlc3Qoay5vcGFjaXR5KX0sci5jc3NhbmltYXRpb25zPTNEZnVu
Y3Rpb24oKXtyZXR1cm4gRigiYT0KbmltYXRpb25OYW1lIil9LHIuY3NzY29sdW1ucz0zRGZ1bmN0
aW9uKCl7cmV0dXJuIEYoImNvbHVtbkNvdW50Iil9LHIuY3NzZ3JhPQpkaWVudHM9M0RmdW5jdGlv
bigpe3ZhciBhPTNEImJhY2tncm91bmQtaW1hZ2U6IixiPTNEImdyYWRpZW50KGxpbmVhcixsZWZ0
IHQ9Cm9wLHJpZ2h0IGJvdHRvbSxmcm9tKCM5ZjkpLHRvKHdoaXRlKSk7IixjPTNEImxpbmVhci1n
cmFkaWVudChsZWZ0IHRvcCwjOWY5LD0KIHdoaXRlKTsiO0EoKGErby5qb2luKGIrYSkrby5qb2lu
KGMrYSkpLnNsaWNlKDAsLWEubGVuZ3RoKSk7cmV0dXJuIEQoay5iYWNrPQpncm91bmRJbWFnZSwi
Z3JhZGllbnQiKX0sci5jc3NyZWZsZWN0aW9ucz0zRGZ1bmN0aW9uKCl7cmV0dXJuIEYoImJveFJl
ZmxlY3Q9CiIpfSxyLmNzc3RyYW5zZm9ybXM9M0RmdW5jdGlvbigpe3JldHVybiEhRShbInRyYW5z
Zm9ybVByb3BlcnR5IiwiV2Via2l0VHJhbj0Kc2Zvcm0iLCJNb3pUcmFuc2Zvcm0iLCJPVHJhbnNm
b3JtIiwibXNUcmFuc2Zvcm0iXSl9LHIuY3NzdHJhbnNmb3JtczNkPTNEZnVuPQpjdGlvbigpe3Zh
ciBhPTNEISFFKFsicGVyc3BlY3RpdmVQcm9wZXJ0eSIsIldlYmtpdFBlcnNwZWN0aXZlIiwiTW96
UGVyc3BlY3Q9Cml2ZSIsIk9QZXJzcGVjdGl2ZSIsIm1zUGVyc3BlY3RpdmUiXSk7YSYmIndlYmtp
dFBlcnNwZWN0aXZlImluIGcuc3R5bGUmJihhPQo9M0R3KCJAbWVkaWEgKCIrby5qb2luKCJ0cmFu
c2Zvcm0tM2QpLCgiKSsibW9kZXJuaXpyKSIpKTtyZXR1cm4gYX0sci5jc3N0cmE9Cm5zaXRpb25z
PTNEZnVuY3Rpb24oKXtyZXR1cm4gRigidHJhbnNpdGlvblByb3BlcnR5Iil9LHIuZm9udGZhY2U9
M0RmdW5jdGlvbj0KKCl7dmFyIGEsYyxkPTNEaHx8ZyxlPTNEYi5jcmVhdGVFbGVtZW50KCJzdHls
ZSIpLGY9M0RiLmltcGxlbWVudGF0aW9ufHx7aGFzPQpGZWF0dXJlOmZ1bmN0aW9uKCl7cmV0dXJu
ITF9fTtlLnR5cGU9M0QidGV4dC9jc3MiLGQuaW5zZXJ0QmVmb3JlKGUsZC5maXJzdEM9CmhpbGQp
LGE9M0RlLnNoZWV0fHxlLnN0eWxlU2hlZXQ7dmFyIGk9M0RmLmhhc0ZlYXR1cmUoIkNTUzIiLCIi
KT9mdW5jdGlvbihiKT0Ke2lmKCFhfHwhYilyZXR1cm4hMTt2YXIgYz0zRCExO3RyeXthLmluc2Vy
dFJ1bGUoYiwwKSxjPTNEL3NyYy9pLnRlc3QoYS5jc3NSPQp1bGVzWzBdLmNzc1RleHQpLGEuZGVs
ZXRlUnVsZShhLmNzc1J1bGVzLmxlbmd0aC0xKX1jYXRjaChkKXt9cmV0dXJuIGN9OmZ1bmM9CnRp
b24oYil7aWYoIWF8fCFiKXJldHVybiExO2EuY3NzVGV4dD0zRGI7cmV0dXJuIGEuY3NzVGV4dC5s
ZW5ndGghPTNEPTNEMCYmLz0Kc3JjL2kudGVzdChhLmNzc1RleHQpJiZhLmNzc1RleHQucmVwbGFj
ZSgvXHIrfFxuKy9nLCIiKS5pbmRleE9mKGIuc3BsaXQoIiAiPQopWzBdKT0zRD0zRD0zRDB9O2M9
M0RpKCdAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJmb250Ijsgc3JjOiB1cmwoZGF0YTosKTs9
CiB9JyksZC5yZW1vdmVDaGlsZChlKTtyZXR1cm4gY30sci52aWRlbz0zRGZ1bmN0aW9uKCl7dmFy
IGE9M0RiLmNyZWF0ZUVsZW1lbj0KdCgidmlkZW8iKSxjPTNEISFhLmNhblBsYXlUeXBlO2lmKGMp
e2M9M0RuZXcgQm9vbGVhbihjKSxjLm9nZz0zRGEuY2FuUGxheVR5PQpwZSgndmlkZW8vb2dnOyBj
b2RlY3M9M0QidGhlb3JhIicpO3ZhciBkPTNEJ3ZpZGVvL21wNDsgY29kZWNzPTNEImF2YzEuNDJF
MDE9CkUnO2MuaDI2ND0zRGEuY2FuUGxheVR5cGUoZCsnIicpfHxhLmNhblBsYXlUeXBlKGQrJywg
bXA0YS40MC4yIicpLGMud2VibT0zRD0KYS5jYW5QbGF5VHlwZSgndmlkZW8vd2VibTsgY29kZWNz
PTNEInZwOCwgdm9yYmlzIicpfXJldHVybiBjfSxyLmF1ZGlvPTNEZnVuPQpjdGlvbigpe3ZhciBh
PTNEYi5jcmVhdGVFbGVtZW50KCJhdWRpbyIpLGM9M0QhIWEuY2FuUGxheVR5cGU7YyYmKGM9M0Ru
ZXcgQm89Cm9sZWFuKGMpLGMub2dnPTNEYS5jYW5QbGF5VHlwZSgnYXVkaW8vb2dnOyBjb2RlY3M9
M0Qidm9yYmlzIicpLGMubXAzPTNEYS5jYT0KblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLGMud2F2
PTNEYS5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2OyBjb2RlY3M9M0QiMSInKSxjPQoubTRhPTNEYS5j
YW5QbGF5VHlwZSgiYXVkaW8veC1tNGE7Iil8fGEuY2FuUGxheVR5cGUoImF1ZGlvL2FhYzsiKSk7
cmV0dXJuIGM9Cn0sci5sb2NhbHN0b3JhZ2U9M0RmdW5jdGlvbigpe3RyeXtyZXR1cm4hIWxvY2Fs
U3RvcmFnZS5nZXRJdGVtfWNhdGNoKGEpe3JldD0KdXJuITF9fSxyLnNlc3Npb25zdG9yYWdlPTNE
ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISFzZXNzaW9uU3RvcmFnZS5nZXRJdGVtfWNhPQp0Y2goYSl7
cmV0dXJuITF9fSxyLndlYldvcmtlcnM9M0RmdW5jdGlvbigpe3JldHVybiEhYS5Xb3JrZXJ9LHIu
YXBwbGljYXRpb249CmNhY2hlPTNEZnVuY3Rpb24oKXtyZXR1cm4hIWEuYXBwbGljYXRpb25DYWNo
ZX0sci5zdmc9M0RmdW5jdGlvbigpe3JldHVybiEhYj0KLmNyZWF0ZUVsZW1lbnROUyYmISFiLmNy
ZWF0ZUVsZW1lbnROUyhxLnN2Zywic3ZnIikuY3JlYXRlU1ZHUmVjdH0sci5pbmxpbmVzPQp2Zz0z
RGZ1bmN0aW9uKCl7dmFyIGE9M0RiLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaW5uZXJIVE1MPTNE
IjxzdmcvPiI7cmV0dXI9Cm4oYS5maXJzdENoaWxkJiZhLmZpcnN0Q2hpbGQubmFtZXNwYWNlVVJJ
KT0zRD0zRHEuc3ZnfSxyLnNtaWw9M0RmdW5jdGlvbigpez0KcmV0dXJuISFiLmNyZWF0ZUVsZW1l
bnROUyYmL1NWRy8udGVzdChuLmNhbGwoYi5jcmVhdGVFbGVtZW50TlMocS5zdmcsImFuaW1hPQp0
ZSIpKSl9LHIuc3ZnY2xpcHBhdGhzPTNEZnVuY3Rpb24oKXtyZXR1cm4hIWIuY3JlYXRlRWxlbWVu
dE5TJiYvU1ZHLy50ZXN0KG49Ci5jYWxsKGIuY3JlYXRlRWxlbWVudE5TKHEuc3ZnLCJjbGlwUGF0
aCIpKSl9O2Zvcih2YXIgSCBpbiByKXoocixIKSYmKHY9M0RILj0KdG9Mb3dlckNhc2UoKSxlW3Zd
PTNEcltIXSgpLHUucHVzaCgoZVt2XT8iIjoibm8tIikrdikpO2UuaW5wdXR8fEcoKSxlLmNyb3Nz
PQp3aW5kb3dtZXNzYWdpbmc9M0RlLnBvc3RtZXNzYWdlLGUuaGlzdG9yeW1hbmFnZW1lbnQ9M0Rl
Lmhpc3RvcnksZS5hZGRUZXN0PQo9M0RmdW5jdGlvbihhLGIpe2E9M0RhLnRvTG93ZXJDYXNlKCk7
aWYoIWVbYV0pe2I9M0QhIWIoKSxnLmNsYXNzTmFtZSs9M0QiICI9CisoYj8iIjoibm8tIikrYSxl
W2FdPTNEYjtyZXR1cm4gZX19LEEoIiIpLGo9M0RsPTNEbnVsbCxmJiZhLmF0dGFjaEV2ZW50JiZm
dT0KbmN0aW9uKCl7dmFyIGE9M0RiLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaW5uZXJIVE1MPTNE
IjxlbGVtPjwvZWxlbT4iO3JldHVyPQpuIGEuY2hpbGROb2Rlcy5sZW5ndGghPTNEPTNEMX0oKSYm
ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBwKGEsYil7dmFyIGM9M0QtMSw9CmQ9M0RhLmxlbmd0aCxl
LGY9M0RbXTt3aGlsZSgrK2M8ZCllPTNEYVtjXSwoYj0zRGUubWVkaWF8fGIpIT0zRCJzY3JlZW4i
JiZmLj0KcHVzaChwKGUuaW1wb3J0cyxiKSxlLmNzc1RleHQpO3JldHVybiBmLmpvaW4oIiIpfWZ1
bmN0aW9uIG8oYSl7dmFyIGI9M0QtMTt3PQpoaWxlKCsrYjxlKWEuY3JlYXRlRWxlbWVudChkW2Jd
KX12YXIgYz0zRCJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98Y2FudmFzfGQ9CmV0YWlsc3xmaWdj
YXB0aW9ufGZpZ3VyZXxmb290ZXJ8aGVhZGVyfGhncm91cHxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8
cHJvZ3Jlcz0Kc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZD0zRGMuc3BsaXQoInwiKSxl
PTNEZC5sZW5ndGgsZj0zRG5ldyBSZWdFeHAoPQoiKF58XFxzKSgiK2MrIikiLCJnaSIpLGc9M0Ru
ZXcgUmVnRXhwKCI8KC8qKSgiK2MrIikiLCJnaSIpLGg9M0RuZXcgUmVnRXhwKCI9CihefFteXFxu
XSo/XFxzKSgiK2MrIikoW15cXG5dKikoe1tcXG5cXHdcXFddKj99KSIsImdpIiksaT0zRGIuY3Jl
YXRlRG9jdW1lbj0KdEZyYWdtZW50KCksaj0zRGIuZG9jdW1lbnRFbGVtZW50LGs9M0RqLmZpcnN0
Q2hpbGQsbD0zRGIuY3JlYXRlRWxlbWVudCgiYm9kPQp5IiksbT0zRGIuY3JlYXRlRWxlbWVudCgi
c3R5bGUiKSxuO28oYiksbyhpKSxrLmluc2VydEJlZm9yZShtLGsuZmlyc3RDaGlsZCk9CixtLm1l
ZGlhPTNEInByaW50IixhLmF0dGFjaEV2ZW50KCJvbmJlZm9yZXByaW50IixmdW5jdGlvbigpe3Zh
ciBhPTNELTEsYz0zRD0KcChiLnN0eWxlU2hlZXRzLCJhbGwiKSxrPTNEW10sbztuPTNEbnx8Yi5i
b2R5O3doaWxlKChvPTNEaC5leGVjKGMpKSE9M0RudWxsPQopay5wdXNoKChvWzFdK29bMl0rb1sz
XSkucmVwbGFjZShmLCIkMS5pZXBwXyQyIikrb1s0XSk7bS5zdHlsZVNoZWV0LmNzc1RleHQ9Cj0z
RGsuam9pbigiXG4iKTt3aGlsZSgrK2E8ZSl7dmFyIHE9M0RiLmdldEVsZW1lbnRzQnlUYWdOYW1l
KGRbYV0pLHI9M0RxLmxlbj0KZ3RoLHM9M0QtMTt3aGlsZSgrK3M8cilxW3NdLmNsYXNzTmFtZS5p
bmRleE9mKCJpZXBwXyIpPDAmJihxW3NdLmNsYXNzTmFtZSs9Cj0zRCIgaWVwcF8iK2RbYV0pfWku
YXBwZW5kQ2hpbGQobiksai5hcHBlbmRDaGlsZChsKSxsLmNsYXNzTmFtZT0zRG4uY2xhc3NOYT0K
bWUsbC5pbm5lckhUTUw9M0RuLmlubmVySFRNTC5yZXBsYWNlKGcsIjwkMWZvbnQiKX0pLGEuYXR0
YWNoRXZlbnQoIm9uYWZ0ZXJwPQpyaW50IixmdW5jdGlvbigpe2wuaW5uZXJIVE1MPTNEIiIsai5y
ZW1vdmVDaGlsZChsKSxqLmFwcGVuZENoaWxkKG4pLG0uc3R5bGU9ClNoZWV0LmNzc1RleHQ9M0Qi
In0pfShhLGIpLGUuX2VuYWJsZUhUTUw1PTNEZixlLl92ZXJzaW9uPTNEZCxnLmNsYXNzTmFtZT0z
RD0KZy5jbGFzc05hbWUucmVwbGFjZSgvXGJuby1qc1xiLywiIikrIiBqcyAiK3Uuam9pbigiICIp
O3JldHVybiBlfSh0aGlzLHRoaXMuPQpkb2N1bWVudCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxl