# upm_image v.0.6
# More powerful image display.

# Mary Fredborg
# http://utterplush.com/txp-plugins/upm-image

# ..........................................................................
# A plugin for Textpattern
# http://textpattern.com/
#
# Adding Plugins to Your Textpattern Installation
# http://textpattern.net/wiki/index.php?title=Intermediate_Weblog_Model#Adding_Plugins_to_Your_Textpattern_Installation
# ..........................................................................

YToxMTp7czo0OiJuYW1lIjtzOjk6InVwbV9pbWFnZSI7czoxMToiZGVzY3JpcHRpb24iO3M6
Mjg6Ik1vcmUgcG93ZXJmdWwgaW1hZ2UgZGlzcGxheS4iO3M6NzoidmVyc2lvbiI7czozOiIw
LjYiO3M6NDoidHlwZSI7aToxO3M6NjoiYXV0aG9yIjtzOjEzOiJNYXJ5IEZyZWRib3JnIjtz
OjEwOiJhdXRob3JfdXJpIjtzOjQzOiJodHRwOi8vdXR0ZXJwbHVzaC5jb20vdHhwLXBsdWdp
bnMvdXBtLWltYWdlIjtzOjQ6ImNvZGUiO3M6MjQ5NzM6InVwbV9pbWFnZV9pbnN0YWxsKCk7
CgoJaWYgKHR4cGludGVyZmFjZSA9PSAnYWRtaW4nKQoJewoJCWFkZF9wcml2cygndXBtX2lt
YWdlX3ByZWZzJywgJzEsMicpOwoJCXJlZ2lzdGVyX3RhYignZXh0ZW5zaW9ucycsICd1cG1f
aW1hZ2VfcHJlZnMnLCAndXBtX2ltYWdlJyk7CgkJcmVnaXN0ZXJfY2FsbGJhY2soJ3VwbV9p
bWFnZV9wcmVmcycsICd1cG1faW1hZ2VfcHJlZnMnKTsKCX0KCgllbHNlCgl7CgkJaWYgKGdw
cygnanMnKSA9PSAndXBtX2ltYWdlJykKCQl7CgkJCXdoaWxlIChAb2JfZW5kX2NsZWFuKCkp
OwoKCQkJdXBtX2ltYWdlX2pzKCk7CgkJfQoKCQllbHNlCgkJewoJCQl1cG1faW1hZ2VfY2hl
Y2tfbG9hZCgpOwoJCX0KCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiB1cG1fYXJ0aWNsZV9p
bWFnZSgkYXR0cyA9IGFycmF5KCksICR0aGluZyA9IE5VTEwpCgl7CgkJZ2xvYmFsICRwcmVm
cywgJHRoaXNhcnRpY2xlOwoKCQkkYXR0cyA9IGxBdHRzKGFycmF5KAoJCQknYnJlYWsnCQkJ
CT0+ICcnLAoJCQknYnJlYWtfY2xhc3MnID0+ICcnLAoJCQknY2xhc3MnCQkJCT0+ICcnLAoJ
CQknZm9ybScJCQkJPT4gJycsCgkJCSdpZCcJCQkJCT0+ICcnLAoJCQknbGltaXQnCQkJCT0+
ICcnLAoJCQknb2Zmc2V0JwkJCT0+IDAsCgkJCSdzaG93X3dpZHRoJwk9PiAneWVzJywKCQkJ
J3Nob3dfaGVpZ2h0JyA9PiAneWVzJywKCQkJJ3Nob3dfYWx0JwkJPT4gJ3llcycsCgkJCSdz
aG93X3RpdGxlJwk9PiAneWVzJywKCQkJJ3R5cGUnCQkJCT0+ICdpbWFnZScsCgkJCSd1cmwn
CQkJCQk9PiAnJywKCQkJJ3dyYXBmb3JtJwkJPT4gJycsCgkJCSd3cmFwdGFnJwkJCT0+ICcn
LAoJCQkneGh0bWwnCQkJCT0+ICd5ZXMnCgkJKSwgJGF0dHMpOwoKCQlleHRyYWN0KCRhdHRz
KTsKCgkJJGFydGljbGVfaW1hZ2UgPSAkdGhpc2FydGljbGVbJ2FydGljbGVfaW1hZ2UnXTsK
CgkJaWYgKGVtcHR5KCRhcnRpY2xlX2ltYWdlKSkKCQl7CgkJCXJldHVybjsKCQl9CgoJCSRp
bWFnZV91cmwgPSByYXd1cmxlbmNvZGUoJGFydGljbGVfaW1hZ2UpOwoKCQlpZiAoZmlsZV9l
eGlzdHMoJGltYWdlX3VybCkpCgkJewoJCQkkdyA9ICcnOwoJCQkkaCA9ICcnOwoKCQkJaWYg
KCRzaG93X3dpZHRoIG9yICRzaG93X2hlaWdodCkKCQkJewoJCQkJJGZvcGVuID0gZ2V0X2Nm
Z192YXIoJ2FsbG93X3VybF9mb3BlbicpID8gdHJ1ZSA6IGZhbHNlOwoKCQkJCWlmICgkZm9w
ZW4pCgkJCQl7CgkJCQkJbGlzdCgkdywgJGgpID0gZ2V0aW1hZ2VzaXplKCRpbWFnZV91cmwp
OwoJCQkJfQoJCQl9CgoJCQkkb3V0ID0gJzxpbWcgc3JjPSInLiRpbWFnZV91cmwuJyInLgoJ
CQkJKCAoJGlkIGFuZCAhJHdyYXB0YWcpID8gJyBpZD0iJy4kaWQuJyInIDogJycpLgoJCQkJ
KCAoJGNsYXNzIGFuZCAhJHdyYXB0YWcpID8gJyBjbGFzcz0iJy4kY2xhc3MuJyInIDogJycp
LgoJCQkJKCAoJHcgYW5kICgkc2hvd193aWR0aCA9PSAneWVzJykpID8gJyB3aWR0aD0iJy4k
dy4nIicgOiAnJyApLgoJCQkJKCAoJGggYW5kICgkc2hvd19oZWlnaHQgPT0gJ3llcycpKSA/
ICcgaGVpZ2h0PSInLiRoLiciJyA6ICcnICkuCgkJCQknIGFsdD0iIicuCgkJCQkoJHhodG1s
ID09ICd5ZXMnID8gJyAvPicgOiAnPicpOwoKCQkJaWYgKCR1cmwpCgkJCXsKCQkJCSRvdXQg
PSBpc19udW1lcmljKCR1cmwpID8gaHJlZigkb3V0LCBwZXJtbGlua3VybF9pZCgkdXJsKSkg
OglocmVmKCRvdXQsICR1cmwpOwoJCQl9CgoJCQlyZXR1cm4gKCR3cmFwdGFnKSA/IGRvVGFn
KCRvdXQsICR3cmFwdGFnLCAkY2xhc3MsICcnLCAkaWQpIDogJG91dDsKCQl9CgoJCWlmIChz
dHJzdHIoJGFydGljbGVfaW1hZ2UsICcsJykpCgkJewoJCQlpZiAoJGxpbWl0ID09IDEpCgkJ
CXsKCQkJCSRhcnRpY2xlX2ltYWdlID0gam9pbignJywgYXJyYXlfc2xpY2UoZXhwbG9kZSgn
LCcsICRhcnRpY2xlX2ltYWdlKSwgJG9mZnNldCwgMSkpOwoJCQl9CgoJCQllbHNlCgkJCXsK
CQkJCXJldHVybiB1cG1fYXJ0aWNsZV9pbWFnZV9saXN0KCRhcnRpY2xlX2ltYWdlLCAkYXR0
cywgJHRoaW5nKTsKCQkJfQoJCX0KCgkJaWYgKGlzX251bWVyaWMoJGFydGljbGVfaW1hZ2Up
KQoJCXsKCQkJJGltYWdlX2lkID0gZG9TbGFzaCgkYXJ0aWNsZV9pbWFnZSk7CgoJCQkkcnMg
PSBzYWZlX3JvdygnKicsICd0eHBfaW1hZ2UnLCAiaWQgPSAnJGltYWdlX2lkJyBsaW1pdCAw
LCAxIik7CgoJCQlpZiAoISRycykKCQkJewoJCQkJcmV0dXJuICgkcHJlZnNbJ3Byb2R1Y3Rp
b25fc3RhdHVzJ10gIT0gJ2xpdmUnKSA/CgkJCQkJdXBtX2ltYWdlX2dUeHQoJ25vdF9mb3Vu
ZCcsIGFycmF5KCd7aW1hZ2V9JyA9PiAkaW1hZ2VfaWQpKSA6CgkJCQkJJyc7CgkJCX0KCQl9
CgoJCWVsc2UKCQl7CgkJCSRpbWFnZV9uYW1lID0gZG9TbGFzaCgkYXJ0aWNsZV9pbWFnZSk7
CgoJCQkkcnMgPSBzYWZlX3JvdygnKicsICd0eHBfaW1hZ2UnLCAibmFtZSA9ICckaW1hZ2Vf
bmFtZScgbGltaXQgMCwgMSIpOwoKCQkJaWYgKCEkcnMpCgkJCXsKCQkJCXJldHVybiAoJHBy
ZWZzWydwcm9kdWN0aW9uX3N0YXR1cyddICE9ICdsaXZlJykgPwoJCQkJCXVwbV9pbWFnZV9n
VHh0KCdub3RfZm91bmQnLCBhcnJheSgne2ltYWdlfScgPT4gJGltYWdlX25hbWUpKSA6CgkJ
CQkJJyc7CgkJCX0KCQl9CgoJCWlmICgkZm9ybSBvciAkdGhpbmcpCgkJewoJCQlyZXR1cm4g
dXBtX2ltZ19jdXN0b20oJHJzLCAkYXR0cywgJGZvcm0sICR0aGluZyk7CgkJfQoKCQllbHNl
CgkJewoJCQlyZXR1cm4gdXBtX2ltZ19kZWZhdWx0KCRycywgJGF0dHMpOwoJCX0KCX0KCi8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLy8gUGFydHMgZnJvbSB6ZW1fYXJ0aWNsZV9pbWFnZQovLyBodHRwOi8vdGhy
ZXNob2xkc3RhdGUuY29tLwovLyBodHRwOi8vdmlnaWxhbnQudHYvCi8vIFRoYW5rcyBBbGV4
LgoKCWZ1bmN0aW9uIHVwbV9hcnRpY2xlX2ltYWdlX2xpc3QoJGFydGljbGVfaW1hZ2UsICRh
dHRzLCAkdGhpbmcgPSBOVUxMKQoJewoJCWdsb2JhbCAkcHJlZnM7CgoJCWV4dHJhY3QoJGF0
dHMpOwoKCQkkb3V0ID0gYXJyYXkoKTsKCgkJaWYgKCRsaW1pdCkKCQl7CgkJCSRpbWFnZXMg
PSBhcnJheV9zbGljZShleHBsb2RlKCcsJywgJGFydGljbGVfaW1hZ2UpLCAkb2Zmc2V0LCAk
bGltaXQpOwoJCX0KCgkJZWxzZQoJCXsKCQkJJGltYWdlcyA9IGFycmF5X3NsaWNlKGV4cGxv
ZGUoJywnLCAkYXJ0aWNsZV9pbWFnZSksICRvZmZzZXQpOwoJCX0KCgkJZm9yICgkaSA9IDA7
ICRpIDwgY291bnQoJGltYWdlcyk7ICRpKyspCgkJewoJCQlpZiAoZW1wdHkoJGltYWdlc1sk
aV0pKQoJCQl7CgkJCQl1bnNldCgkaW1hZ2VzWyRpXSk7CgkJCX0KCQl9CgoJCSRpZHNfcmVx
dWVzdGVkID0gJGltYWdlczsKCgkJJGltYWdlcyA9IGRvU2xhc2goam9pbignLCcsICRpbWFn
ZXMpKTsKCgkJJHJzID0gc2FmZV9yb3dzKCcqJywgJ3R4cF9pbWFnZScsICJpZCBpbigkaW1h
Z2VzKSBvcmRlciBieSBmaWVsZChpZCwgJGltYWdlcykiKTsKCgkJaWYgKCRycykKCQl7CgkJ
CSRpZHNfZm91bmQgPSBhcnJheSgpOwoKCQkJZm9yZWFjaCAoJHJzIGFzICRyb3cpCgkJCXsK
CQkJCSRpZHNfZm91bmRbXSA9ICRyb3dbJ2lkJ107CgoJCQkJaWYgKCRmb3JtIG9yICR0aGlu
ZykKCQkJCXsKCQkJCQkkb3V0W10gPSB1cG1faW1nX2N1c3RvbSgkcm93LCAkYXR0cywgJGZv
cm0sICR0aGluZyk7CgkJCQl9CgoJCQkJZWxzZQoJCQkJewoJCQkJCSRpbWdfdXJsID0gaHUu
JHByZWZzWydpbWdfZGlyJ10uJy8nOwoJCQkJCSRpbWcgPSAkcm93WydpZCddLiRyb3dbJ2V4
dCddOwoKCQkJCQlpZiAoaW5fYXJyYXkoJHR5cGUsIGFycmF5KCdwb3B1cCcsICd0aHVtYics
ICd0aHVtYm5haWwnKSkpCgkJCQkJewoJCQkJCQkkaW1nX3BhdGggPSAkcHJlZnNbJ3BhdGhf
dG9fc2l0ZSddLkRTLiRwcmVmc1snaW1nX2RpciddLkRTOwoJCQkJCQkkdGh1bWIgPSAkcm93
WydpZCddLid0Jy4kcm93WydleHQnXTsKCgkJCQkJCSR0aHVtYl9leGlzdHMgPSBmYWxzZTsK
CgkJCQkJCWlmICgkcm93Wyd0aHVtYm5haWwnXSBhbmQgZmlsZV9leGlzdHMoJGltZ19wYXRo
LiR0aHVtYikpCgkJCQkJCXsKCQkJCQkJCSR0aHVtYl9leGlzdHMgPSB0cnVlOwoKCQkJCQkJ
CWxpc3QoJHRodW1iX3csICR0aHVtYl9oKSA9IGdldGltYWdlc2l6ZSgkaW1nX3BhdGguJHRo
dW1iKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJc3dpdGNoICgkdHlwZSkKCQkJCQl7CgkJCQkJ
CWNhc2UgJ3BvcHVwJzoKCQkJCQkJCWlmICgkdGh1bWJfZXhpc3RzKQoJCQkJCQkJewoJCQkJ
CQkJCSRvdXRbXSA9ICc8YSBocmVmPSInLiRpbWdfdXJsLiRpbWcuJyInLgoJCQkJCQkJCQko
ICgkcm93WydjYXB0aW9uJ10gYW5kICgkc2hvd190aXRsZSA9PSAneWVzJykpID8gJyB0aXRs
ZT0iJy4kcm93WydjYXB0aW9uJ10uJyInIDogJycgKS4KCQkJCQkJCQkJJyBvbmNsaWNrPSJ1
cG1fcG9wX2ltZyh0aGlzLmhyZWYsIFwnJy4kcm93Wyd3J10uJ1wnLCBcJycuJHJvd1snaCdd
LidcJywgXCcnLiRyb3dbJ25hbWUnXS4nXCcsIHRoaXMudGl0bGUpOyByZXR1cm4gZmFsc2U7
Ij4nLgoJCQkJCQkJCQknPGltZyBzcmM9IicuJGltZ191cmwuJHRodW1iLiciJy4KCQkJCQkJ
CQkJKCRzaG93X3dpZHRoID09ICd5ZXMnID8gJyB3aWR0aD0iJy4kdGh1bWJfdy4nIicgOiAn
JykuCgkJCQkJCQkJCSgkc2hvd19oZWlnaHQgPT0gJ3llcycgPyAnIGhlaWdodD0iJy4kdGh1
bWJfaC4nIicgOiAnJykuCgkJCQkJCQkJCSggKCRyb3dbJ2FsdCddIGFuZCAoJHNob3dfYWx0
ID09ICd5ZXMnKSkgPyAnIGFsdD0iJy5lc2NhcGVfb3V0cHV0KCRyb3dbJ2FsdCddKS4nIiB0
aXRsZT0iIicgOiAnIGFsdD0iIicgKS4KCQkJCQkJCQkJKCR4aHRtbCA9PSAneWVzJyA/ICcg
Lz4nIDogJz4nKS4KCQkJCQkJCQkJJzwvYT4nOwoJCQkJCQkJfQoKCQkJCQkJCWVsc2VpZiAo
JHByZWZzWydwcm9kdWN0aW9uX3N0YXR1cyddICE9ICdsaXZlJykKCQkJCQkJCXsKCQkJCQkJ
CQkkb3V0W10gPSB1cG1faW1hZ2VfZ1R4dCgnbm9fdGh1bWInLCBhcnJheSgne2ltYWdlfScg
PT4gJHJvd1snaWQnXSkpOwoJCQkJCQkJfQoJCQkJCQlicmVhazsKCgkJCQkJCWNhc2UgJ3Ro
dW1ibmFpbCc6CgkJCQkJCWNhc2UgJ3RodW1iJzoKCQkJCQkJCWlmICgkdGh1bWJfZXhpc3Rz
KQoJCQkJCQkJewoJCQkJCQkJCSRvdXRbXSA9ICc8aW1nIHNyYz0iJy4kaW1nX3VybC4kdGh1
bWIuJyInLgoJCQkJCQkJCQkoJHNob3dfd2lkdGggPT0gJ3llcycgPyAnIHdpZHRoPSInLiR0
aHVtYl93LiciJyA6ICcnKS4KCQkJCQkJCQkJKCRzaG93X2hlaWdodCA9PSAneWVzJyA/ICcg
aGVpZ2h0PSInLiR0aHVtYl9oLiciJyA6ICcnKS4KCQkJCQkJCQkJKCAoJHJvd1snYWx0J10g
YW5kICgkc2hvd19hbHQgPT0gJ3llcycpKSA/ICcgYWx0PSInLiRyb3dbJ2FsdCddLiciJyA6
ICcgYWx0PSIiJykuCgkJCQkJCQkJCSggKCRyb3dbJ2NhcHRpb24nXSBhbmQgKCRzaG93X3Rp
dGxlID09ICd5ZXMnKSkgPyAnIHRpdGxlPSInLmVzY2FwZV9vdXRwdXQoJHJvd1snY2FwdGlv
biddKS4nIicgOiAnJykuCgkJCQkJCQkJCSgkeGh0bWwgPT0gJ3llcycgPyAnIC8+JyA6ICc+
Jyk7CgkJCQkJCQl9CgoJCQkJCQkJZWxzZWlmICgkcHJlZnNbJ3Byb2R1Y3Rpb25fc3RhdHVz
J10gIT0gJ2xpdmUnKQoJCQkJCQkJewoJCQkJCQkJCSRvdXRbXSA9IHVwbV9pbWFnZV9nVHh0
KCdub190aHVtYicsIGFycmF5KCd7aW1hZ2V9JyA9PiAkcm93WydpZCddKSk7CgkJCQkJCQl9
CgkJCQkJCWJyZWFrOwoKCQkJCQkJZGVmYXVsdDoKCQkJCQkJCSR0ZW1wID0gJzxpbWcgc3Jj
PSInLiRpbWdfdXJsLiRpbWcuJyInLgoJCQkJCQkJCSgkc2hvd193aWR0aCA9PSAneWVzJyA/
ICcgd2lkdGg9IicuJHJvd1sndyddLiciJyA6ICcnKS4KCQkJCQkJCQkoJHNob3dfaGVpZ2h0
ID09ICd5ZXMnID8gJyBoZWlnaHQ9IicuJHJvd1snaCddLiciJyA6ICcnKS4KCQkJCQkJCQko
ICgkcm93WydhbHQnXSBhbmQgKCRzaG93X2FsdCA9PSAneWVzJykpID8gJyBhbHQ9IicuJHJv
d1snYWx0J10uJyInIDogJycgKS4KCQkJCQkJCQkoICgkcm93WydjYXB0aW9uJ10gYW5kICgk
c2hvd190aXRsZSA9PSAneWVzJykpID8gJyB0aXRsZT0iJy5lc2NhcGVfb3V0cHV0KCRyb3db
J2NhcHRpb24nXSkuJyInIDogJycgKS4KCQkJCQkJCQkoJHhodG1sID09ICd5ZXMnID8gJyAv
PicgOiAnPicpOwoKCQkJCQkJCWlmICgkdXJsKQoJCQkJCQkJewoJCQkJCQkJCSR0ZW1wID0g
aXNfbnVtZXJpYygkdXJsKSA/CgkJCQkJCQkJCWhyZWYoJHRlbXAsIHBlcm1saW5rdXJsX2lk
KCR1cmwpKSA6CgkJCQkJCQkJCWhyZWYoJHRlbXAsICR1cmwpOwoJCQkJCQkJfQoKCQkJCQkJ
CSRvdXRbXSA9ICR0ZW1wOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCSRp
ZHNfcmVxdWVzdGVkID0gYXJyYXlfdW5pcXVlKCRpZHNfcmVxdWVzdGVkKTsKCgkJCWlmICgk
d3JhcGZvcm0pCgkJCXsKCQkJCSR1cG1faW1nX2N1c3RvbVsnbGlzdCddID0gam9pbignJywg
JG91dCk7CgoJCQkJJHRlbXAgPSBwYXJzZShmZXRjaF9mb3JtKCR3cmFwZm9ybSkpOwoJCQl9
CgoJCQllbHNlCgkJCXsKCQkJCSRhdHRzID0gKCRpZCkgPyAnIGlkPSInLiRpZC4nIicgOiAn
JzsKCgkJCQkkdGVtcCA9ICgkd3JhcHRhZykgPyBkb1dyYXAoJG91dCwgJHdyYXB0YWcsICRi
cmVhaywgJGNsYXNzLCAkYnJlYWtfY2xhc3MsICRhdHRzKSA6IGpvaW4obiwgJG91dCk7CgkJ
CX0KCgkJCWlmICgkcHJlZnNbJ3Byb2R1Y3Rpb25fc3RhdHVzJ10gIT0gJ2xpdmUnICYmICgk
aWRzX3JlcXVlc3RlZCAhPSAkaWRzX2ZvdW5kKSkKCQkJewoJCQkJJGlkc19taXNzaW5nID0g
YXJyYXlfZGlmZigkaWRzX3JlcXVlc3RlZCwgJGlkc19mb3VuZCk7CgoJCQkJcmV0dXJuICR0
ZW1wLnVwbV9pbWFnZV9nVHh0KCdub3RfZm91bmRfbGlzdCcsIGFycmF5KCd7bGlzdH0nID0+
IGpvaW4oJywgJywgJGlkc19taXNzaW5nKSkpOwoJCQl9CgoJCQllbHNlCgkJCXsKCQkJCXJl
dHVybiAkdGVtcDsKCQkJfQoJCX0KCgkJcmV0dXJuICgkcHJlZnNbJ3Byb2R1Y3Rpb25fc3Rh
dHVzJ10gIT0gJ2xpdmUnKSA/CgkJCXVwbV9pbWFnZV9nVHh0KCdub3RfZm91bmRfbGlzdCcs
IGFycmF5KCd7bGlzdH0nID0+IGpvaW4oJywgJywgJGltYWdlcykpKQoJCQk6ICcnOwoJfQoK
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQovLyBpZiBvbmUgb3IgbW9yZSBhcnRpY2xlIGltYWdlcyBleGlzdAoKCWZ1
bmN0aW9uIHVwbV9pZl9hcnRpY2xlX2ltYWdlKCRhdHRzID0gYXJyYXkoKSwgJHRoaW5nID0g
TlVMTCkKCXsKCQlnbG9iYWwgJHRoaXNhcnRpY2xlOwoKCQlhc3NlcnRfYXJ0aWNsZSgpOwoK
CQkkY29uZGl0aW9uID0gKCAhZW1wdHkoJHRoaXNhcnRpY2xlWydhcnRpY2xlX2ltYWdlJ10p
ICk7CgoJCXJldHVybiBwYXJzZShFdmFsRWxzZSgkdGhpbmcsICRjb25kaXRpb24pKTsKCX0K
Ci8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLy8gaWYgbW9yZSB0aGFuIG9uZSBhcnRpY2xlIGltYWdlIGV4aXN0cwoK
CWZ1bmN0aW9uIHVwbV9pZl9hcnRpY2xlX2ltYWdlX2xpc3QoJGF0dHMgPSBhcnJheSgpLCAk
dGhpbmcgPSBOVUxMKQoJewoJCWdsb2JhbCAkdGhpc2FydGljbGU7CgoJCWFzc2VydF9hcnRp
Y2xlKCk7CgoJCSRjb25kaXRpb24gPSAoICFlbXB0eSgkdGhpc2FydGljbGVbJ2FydGljbGVf
aW1hZ2UnXSkgYW5kIHN0cnN0cigkdGhpc2FydGljbGVbJ2FydGljbGVfaW1hZ2UnXSwgJywn
KSApOwoKCQlyZXR1cm4gcGFyc2UoRXZhbEVsc2UoJHRoaW5nLCAkY29uZGl0aW9uKSk7Cgl9
CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltYWdlKCRhdHRzID0gYXJyYXkoKSwgJHRo
aW5nID0gTlVMTCkKCXsKCQlnbG9iYWwgJHByZWZzOwoKCQkkYXR0cyA9IGxBdHRzKGFycmF5
KAoJCQknY2xhc3MnCQkJCT0+ICcnLAoJCQknZm9ybScJCQkJPT4gJycsCgkJCSdpZCcJCQkJ
CT0+ICcnLAoJCQknaW1hZ2VfaWQnCQk9PiAnJywKCQkJJ2ltYWdlX25hbWUnCT0+ICcnLAoJ
CQknaW1hZ2VfdXJsJwkJPT4gJycsCgkJCSdzaG93X3dpZHRoJwk9PiAneWVzJywKCQkJJ3No
b3dfaGVpZ2h0JyA9PiAneWVzJywKCQkJJ3Nob3dfYWx0JwkJPT4gJ3llcycsCgkJCSdzaG93
X3RpdGxlJwk9PiAneWVzJywKCQkJJ3R5cGUnCQkJCT0+ICdpbWFnZScsCgkJCSd1cmwnCQkJ
CQk9PiAnJywKCQkJJ3dyYXB0YWcnCQkJPT4gJycsCgkJCSd4aHRtbCcJCQkJPT4gJ3llcycK
CQkpLCAkYXR0cyk7CgoJCWV4dHJhY3QoJGF0dHMpOwoKCQlpZiAoJHR5cGUgPT0gJ2FydGlj
bGUnKQoJCXsKCQkJcmV0dXJuIHVwbV9hcnRpY2xlX2ltYWdlKCRhdHRzLCAkdGhpbmcpOwoJ
CX0KCgkJaWYgKCRpbWFnZV91cmwpCgkJewoJCQkkaW1hZ2VfdXJsID0gcmF3dXJsZW5jb2Rl
KCRpbWFnZV91cmwpOwoKCQkJaWYgKGZpbGVfZXhpc3RzKCRpbWFnZV91cmwpKQoJCQl7CgkJ
CQkkdyA9ICcnOwoJCQkJJGggPSAnJzsKCgkJCQkkZm9wZW4gPSBnZXRfY2ZnX3ZhcignYWxs
b3dfdXJsX2ZvcGVuJykgPyB0cnVlIDogZmFsc2U7CgoJCQkJaWYgKCRmb3BlbikKCQkJCXsK
CQkJCQlsaXN0KCR3LCAkaCkgPSBnZXRpbWFnZXNpemUoJGltYWdlX3VybCk7CgkJCQl9CgoJ
CQkJJG91dCA9ICc8aW1nIHNyYz0iJy4kaW1hZ2VfdXJsLiciJy4KCQkJCQkoICgkaWQgYW5k
ICEkd3JhcHRhZykgPyAnIGlkPSInLiRpZC4nIicgOiAnJykuCgkJCQkJKCAoJGNsYXNzIGFu
ZCAhJHdyYXB0YWcpID8gJyBjbGFzcz0iJy4kY2xhc3MuJyInIDogJycpLgoJCQkJCSggKCR3
IGFuZCAoJHNob3dfd2lkdGggPT0gJ3llcycpKSA/ICcgd2lkdGg9IicuJHcuJyInIDogJycg
KS4KCQkJCQkoICgkaCBhbmQgKCRzaG93X2hlaWdodCA9PSAneWVzJykpID8gJyBoZWlnaHQ9
IicuJGguJyInIDogJycgKS4KCQkJCQknIGFsdD0iIicuCgkJCQkJKCR4aHRtbCA9PSAneWVz
JyA/ICcgLz4nIDogJz4nKTsKCgkJCQlpZiAoJHVybCkKCQkJCXsKCQkJCQkkb3V0ID0gaXNf
bnVtZXJpYygkdXJsKSA/CgkJCQkJCWhyZWYoJG91dCwgcGVybWxpbmt1cmxfaWQoJHVybCkp
IDoKCQkJCQkJaHJlZigkb3V0LCAkdXJsKTsKCQkJCX0KCgkJCQlyZXR1cm4gKCR3cmFwdGFn
KSA/IGRvVGFnKCRvdXQsICR3cmFwdGFnLCAkY2xhc3MsICcnLCAkaWQpIDogJG91dDsKCQkJ
fQoKCQkJcmV0dXJuICgkcHJlZnNbJ3Byb2R1Y3Rpb25fc3RhdHVzJ10gIT0gJ2xpdmUnKSA/
CgkJCQl1cG1faW1hZ2VfZ1R4dCgnbm90X2ZvdW5kJywgYXJyYXkoJ3tpbWFnZX0nID0+ICRp
bWFnZV91cmwpKSA6CgkJCQknJzsKCQl9CgoJCWVsc2VpZiAoJGltYWdlX2lkKQoJCXsKCQkJ
aWYgKCFpc19udW1lcmljKCRpbWFnZV9pZCkpCgkJCXsKCQkJCXJldHVybiB1cG1faW1hZ2Vf
Z1R4dCgnaW52YWxpZF9pZCcpOwoJCQl9CgoJCQkkaW1hZ2VfaWQgPSBkb1NsYXNoKCRpbWFn
ZV9pZCk7CgoJCQkkcnMgPSBzYWZlX3JvdygnKicsICd0eHBfaW1hZ2UnLCAiaWQgPSAnJGlt
YWdlX2lkJyBsaW1pdCAwLCAxIik7CgoJCQlpZiAoISRycykKCQkJewoJCQkJcmV0dXJuICgk
cHJlZnNbJ3Byb2R1Y3Rpb25fc3RhdHVzJ10gIT0gJ2xpdmUnKSA/CgkJCQkJdXBtX2ltYWdl
X2dUeHQoJ25vdF9mb3VuZCcsIGFycmF5KCd7aW1hZ2V9JyA9PiAkaW1hZ2VfaWQpKSA6CgkJ
CQkJJyc7CgkJCX0KCQl9CgoJCWVsc2VpZiAoJGltYWdlX25hbWUgIT0gJycpCgkJewoJCQkk
aW1hZ2VfbmFtZSA9IGRvU2xhc2goJGltYWdlX25hbWUpOwoKCQkJJHJzID0gc2FmZV9yb3co
JyonLCAndHhwX2ltYWdlJywgIm5hbWUgPSAnJGltYWdlX25hbWUnIGxpbWl0IDAsIDEiKTsK
CgkJCWlmICghJHJzKQoJCQl7CgkJCQlyZXR1cm4gKCRwcmVmc1sncHJvZHVjdGlvbl9zdGF0
dXMnXSAhPSAnbGl2ZScpID8KCQkJCQl1cG1faW1hZ2VfZ1R4dCgnbm90X2ZvdW5kJywgYXJy
YXkoJ3tpbWFnZX0nID0+ICRpbWFnZV9uYW1lKSkgOgoJCQkJCScnOwoJCQl9CgkJfQoKCQll
bHNlCgkJewoJCQlyZXR1cm4gKCRwcmVmc1sncHJvZHVjdGlvbl9zdGF0dXMnXSAhPSAnbGl2
ZScpID8KCQkJCXVwbV9pbWFnZV9nVHh0KCdub3RoaW5nX3JlcXVlc3RlZCcpIDoKCQkJCScn
OwoJCX0KCgkJaWYgKCRmb3JtIG9yICR0aGluZykKCQl7CgkJCXJldHVybiB1cG1faW1nX2N1
c3RvbSgkcnMsICRhdHRzLCAkZm9ybSwgJHRoaW5nKTsKCQl9CgoJCWVsc2UKCQl7CgkJCXJl
dHVybiB1cG1faW1nX2RlZmF1bHQoJHJzLCAkYXR0cyk7CgkJfQoJfQoKLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK
CWZ1bmN0aW9uIHVwbV9pbWdfY3VzdG9tKCRyb3csICRhdHRzLCAkZm9ybSA9ICcnLCAkdGhp
bmcgPSBOVUxMKQoJewoJCWdsb2JhbCAkcHJlZnMsICR1cG1faW1nX2N1c3RvbTsKCgkJaWYg
KCRmb3JtKQoJCXsKCQkJJHdoYXQgPSBmZXRjaF9mb3JtKCRmb3JtKTsKCQl9CgoJCWVsc2Vp
ZiAoJHRoaW5nKQoJCXsKCQkJJHdoYXQgPSAkdGhpbmc7CgkJfQoKCQllbHNlCgkJewoJCQly
ZXR1cm47CgkJfQoKCQkkaW1nX3VybCA9IGh1LiRwcmVmc1snaW1nX2RpciddLicvJzsKCQkk
aW1nX3BhdGggPSAkcHJlZnNbJ3BhdGhfdG9fc2l0ZSddLkRTLiRwcmVmc1snaW1nX2Rpcidd
LkRTOwoKCQkkdXBtX2ltZ19jdXN0b20gPSBhcnJheSgKCQkJJ2FsdCcJCQkJCSA9PiAkcm93
WydhbHQnXSwKCQkJJ2F1dGhvcicJCQkgPT4gJHJvd1snYXV0aG9yJ10sCgkJCSdjYXB0aW9u
JwkJCSA9PiAkcm93WydjYXB0aW9uJ10sCgkJCSdjYXRlZ29yeScJCSA9PiAkcm93WydjYXRl
Z29yeSddLAoJCQknZGF0ZScJCQkJID0+ICRyb3dbJ2RhdGUnXSwKCQkJJ2Z1bGxfaGVpZ2h0
JwkgPT4gJHJvd1snaCddLAoJCQknZnVsbF91cmwnCQkgPT4gJGltZ191cmwuJHJvd1snaWQn
XS4kcm93WydleHQnXSwKCQkJJ2Z1bGxfd2lkdGgnCSA9PiAkcm93Wyd3J10sCgkJCSdocmVm
JwkJCQkgPT4gJGF0dHNbJ3VybCddLAoJCQknaWQnCQkJCQkgPT4gJHJvd1snaWQnXSwKCQkJ
J2xpc3QnCQkJCSA9PiAnJywKCQkJJ25hbWUnCQkJCSA9PiAkcm93WyduYW1lJ10sCgkJCSd0
aHVtYl91cmwnCQkgPT4gJycsCgkJCSd0aHVtYl9oZWlnaHQnID0+ICcnLAoJCQkndGh1bWJf
d2lkdGgnCSA9PiAnJywKCQkpOwoKCQkkdGh1bWIgPSAkcm93WydpZCddLid0Jy4kcm93Wydl
eHQnXTsKCgkJaWYgKCRyb3dbJ3RodW1ibmFpbCddIGFuZCBmaWxlX2V4aXN0cygkaW1nX3Bh
dGguJHRodW1iKSkKCQl7CgkJCWxpc3QoJHcsICRoKSA9IGdldGltYWdlc2l6ZSgkaW1nX3Bh
dGguJHRodW1iKTsKCgkJCSR1cG1faW1nX2N1c3RvbVsndGh1bWJfaGVpZ2h0J10gPSAkaDsK
CQkJJHVwbV9pbWdfY3VzdG9tWyd0aHVtYl91cmwnXQkJPSAkaW1nX3VybC4kdGh1bWI7CgkJ
CSR1cG1faW1nX2N1c3RvbVsndGh1bWJfd2lkdGgnXQk9ICR3OwoJCX0KCgkJcmV0dXJuIHBh
cnNlKCR3aGF0KTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1nX2N1c3RvbV9h
c3NlcnQoKQoJewoJCWdsb2JhbCAkdXBtX2ltZ19jdXN0b207CgoJCWlmIChlbXB0eSgkdXBt
X2ltZ19jdXN0b20pKQoJCXsKCQkJdHJpZ2dlcl9lcnJvcih1cG1faW1hZ2VfZ1R4dCgnZXJy
b3JfY29udGV4dCcpKTsKCQl9Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ19h
bHQoJGF0dHMgPSBhcnJheSgpKQoJewoJCWdsb2JhbCAkdXBtX2ltZ19jdXN0b207CgoJCXVw
bV9pbWdfY3VzdG9tX2Fzc2VydCgpOwoKCQlleHRyYWN0KGxBdHRzKGFycmF5KAoJCQknZXNj
YXBlJyA9PiAnaHRtbCcKCQkpLCAkYXR0cykpOwoKCQlyZXR1cm4gKCRlc2NhcGUgPT0gJ2h0
bWwnKSA/CgkJCWVzY2FwZV9vdXRwdXQoJHVwbV9pbWdfY3VzdG9tWydhbHQnXSkgOgoJCQkk
dXBtX2ltZ19jdXN0b21bJ2FsdCddOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIHVwbV9p
bWdfYXV0aG9yKCRhdHRzID0gYXJyYXkoKSkKCXsKCQlnbG9iYWwgJHVwbV9pbWdfY3VzdG9t
OwoKCQl1cG1faW1nX2N1c3RvbV9hc3NlcnQoKTsKCgkJcmV0dXJuIGdldF9hdXRob3JfbmFt
ZSgkdGhpc2FydGljbGVbJ2F1dGhvcmlkJ10pOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9u
IHVwbV9pbWdfY2FwdGlvbigkYXR0cyA9IGFycmF5KCkpCgl7CgkJZ2xvYmFsICR1cG1faW1n
X2N1c3RvbTsKCgkJdXBtX2ltZ19jdXN0b21fYXNzZXJ0KCk7CgoJCWV4dHJhY3QobEF0dHMo
YXJyYXkoCgkJCSdjbGFzcycJCSA9PiAnJywKCQkJJ2VzY2FwZScJID0+ICdodG1sJywKCQkJ
J2xhYmVsJwkJID0+ICcnLAoJCQknbGFiZWx0YWcnID0+ICcnLAoJCQknd3JhcHRhZycJID0+
ICcnCgkJKSwgJGF0dHMpKTsKCgkJaWYgKCR1cG1faW1nX2N1c3RvbVsnY2FwdGlvbiddKQoJ
CXsKCQkJJGNhcHRpb24gPSAoJGVzY2FwZSA9PSAnaHRtbCcpID8KCQkJCWVzY2FwZV9vdXRw
dXQoJHVwbV9pbWdfY3VzdG9tWydjYXB0aW9uJ10pIDoKCQkJCSR1cG1faW1nX2N1c3RvbVsn
Y2FwdGlvbiddOwoKCQkJcmV0dXJuIGRvTGFiZWwoJGxhYmVsLCAkbGFiZWx0YWcpLmRvVGFn
KCRjYXB0aW9uLCAkd3JhcHRhZywgJGNsYXNzKTsKCQl9Cgl9CgovLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVu
Y3Rpb24gdXBtX2ltZ19jYXRlZ29yeSgkYXR0cyA9IGFycmF5KCkpCgl7CgkJZ2xvYmFsICR1
cG1faW1nX2N1c3RvbTsKCgkJdXBtX2ltZ19jdXN0b21fYXNzZXJ0KCk7CgoJCWV4dHJhY3Qo
bEF0dHMoYXJyYXkoCgkJCSdjbGFzcycJCSA9PiAnJywKCQkJJ2xhYmVsJwkJID0+ICcnLAoJ
CQknbGFiZWx0YWcnID0+ICcnLAoJCQkndGl0bGUnCQkgPT4gJzAnLAoJCQknd3JhcHRhZycJ
ID0+ICcnLAoJCSksICRhdHRzKSk7CgoJCWlmICgkdXBtX2ltZ19jdXN0b21bJ2NhdGVnb3J5
J10pCgkJewoJCQkkY2F0ZWdvcnkgPSAoJHRpdGxlKSA/CgkJCQlmZXRjaF9jYXRlZ29yeV90
aXRsZSgkdXBtX2ltZ19jdXN0b21bJ2NhdGVnb3J5J10sICdpbWFnZScpIDoKCQkJCSR1cG1f
aW1nX2N1c3RvbVsnY2F0ZWdvcnknXTsKCgkJCXJldHVybiBkb0xhYmVsKCRsYWJlbCwgJGxh
YmVsdGFnKS5kb1RhZygkY2F0ZWdvcnksICR3cmFwdGFnLCAkY2xhc3MpOwoJCX0KCX0KCi8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1nX2RhdGUoJGF0dHMgPSBhcnJheSgpKQoJewoJ
CWdsb2JhbCAkdXBtX2ltZ19jdXN0b20sICRwcmVmczsKCgkJdXBtX2ltZ19jdXN0b21fYXNz
ZXJ0KCk7CgoJCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJCSdmb3JtYXQnCT0+ICRwcmVmc1sn
ZGF0ZWZvcm1hdCddLAoJCQknZ210JwkJCT0+ICcnLAoJCQknbGFuZycJCT0+ICcnLAoJCSks
ICRhdHRzKSk7CgoJCWlmICgkZm9ybWF0KQoJCXsKCQkJcmV0dXJuIHNhZmVfc3RyZnRpbWUo
JGZvcm1hdCwgJHVwbV9pbWdfY3VzdG9tWydkYXRlJ10sICRnbXQsICRsYW5nKTsKCQl9Cgl9
CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ19mdWxsX2hlaWdodCgkYXR0cyA9IGFy
cmF5KCkpCgl7CgkJZ2xvYmFsICR1cG1faW1nX2N1c3RvbTsKCgkJdXBtX2ltZ19jdXN0b21f
YXNzZXJ0KCk7CgoJCXJldHVybiAkdXBtX2ltZ19jdXN0b21bJ2Z1bGxfaGVpZ2h0J107Cgl9
CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ19mdWxsX3VybCgkYXR0cyA9IGFycmF5
KCkpCgl7CgkJZ2xvYmFsICR1cG1faW1nX2N1c3RvbTsKCgkJdXBtX2ltZ19jdXN0b21fYXNz
ZXJ0KCk7CgoJCXJldHVybiAkdXBtX2ltZ19jdXN0b21bJ2Z1bGxfdXJsJ107Cgl9CgovLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ19mdWxsX3dpZHRoKCRhdHRzID0gYXJyYXkoKSkK
CXsKCQlnbG9iYWwgJHVwbV9pbWdfY3VzdG9tOwoKCQl1cG1faW1nX2N1c3RvbV9hc3NlcnQo
KTsKCgkJcmV0dXJuICR1cG1faW1nX2N1c3RvbVsnZnVsbF93aWR0aCddOwoJfQoKLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQoKCWZ1bmN0aW9uIHVwbV9pbWdfaHJlZigkYXR0cyA9IGFycmF5KCksICR0aGluZyA9
IE5VTEwpCgl7CgkJZ2xvYmFsICR1cG1faW1nX2N1c3RvbTsKCgkJdXBtX2ltZ19jdXN0b21f
YXNzZXJ0KCk7CgoJCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJCSdjbGFzcycJCSA9PiAnJywK
CQkJJ2VzY2FwZScJID0+ICcnLAoJCQknbGFiZWwnCQkgPT4gJycsCgkJCSdsYWJlbHRhZycg
PT4gJycsCgkJCSd3cmFwdGFnJwkgPT4gJycsCgkJKSwgJGF0dHMpKTsKCgkJaWYgKCR1cG1f
aW1nX2N1c3RvbVsnaHJlZiddKQoJCXsKCQkJJGhyZWYgPSAoJGVzY2FwZSA9PSAnaHRtbCcp
ID8KCQkJCWVzY2FwZV9vdXRwdXQoJHVwbV9pbWdfY3VzdG9tWydocmVmJ10pIDoKCQkJCSR1
cG1faW1nX2N1c3RvbVsnaHJlZiddOwoKCQkJJGhyZWYgPSAoJHRoaW5nKSA/IGhyZWYocGFy
c2UoJHRoaW5nKSwgJGhyZWYpIDogJGhyZWY7CgoJCQlyZXR1cm4gZG9MYWJlbCgkbGFiZWws
ICRsYWJlbHRhZykuZG9UYWcoJGhyZWYsICR3cmFwdGFnLCAkY2xhc3MpOwoJCX0KCX0KCi8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1nX2lkKCRhdHRzID0gYXJyYXkoKSkKCXsKCQln
bG9iYWwgJHVwbV9pbWdfY3VzdG9tOwoKCQl1cG1faW1nX2N1c3RvbV9hc3NlcnQoKTsKCgkJ
cmV0dXJuICR1cG1faW1nX2N1c3RvbVsnaWQnXTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlv
biB1cG1faW1nX2xpc3QoJGF0dHMgPSBhcnJheSgpKQoJewoJCWdsb2JhbCAkdXBtX2ltZ19j
dXN0b207CgoJCXVwbV9pbWdfY3VzdG9tX2Fzc2VydCgpOwoKCQlyZXR1cm4gJHVwbV9pbWdf
Y3VzdG9tWydsaXN0J107Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ19uYW1l
KCRhdHRzID0gYXJyYXkoKSkKCXsKCQlnbG9iYWwgJHVwbV9pbWdfY3VzdG9tOwoKCQl1cG1f
aW1nX2N1c3RvbV9hc3NlcnQoKTsKCgkJcmV0dXJuICR1cG1faW1nX2N1c3RvbVsnbmFtZSdd
OwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIHVwbV9pbWdfdGh1bWJfaGVpZ2h0KCRhdHRz
ID0gYXJyYXkoKSkKCXsKCQlnbG9iYWwgJHVwbV9pbWdfY3VzdG9tOwoKCQl1cG1faW1nX2N1
c3RvbV9hc3NlcnQoKTsKCgkJcmV0dXJuICR1cG1faW1nX2N1c3RvbVsndGh1bWJfaGVpZ2h0
J107Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2ltZ190aHVtYl91cmwoJGF0dHMg
PSBhcnJheSgpKQoJewoJCWdsb2JhbCAkdXBtX2ltZ19jdXN0b207CgoJCXVwbV9pbWdfY3Vz
dG9tX2Fzc2VydCgpOwoKCQlyZXR1cm4gJHVwbV9pbWdfY3VzdG9tWyd0aHVtYl91cmwnXTsK
CX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1nX3RodW1iX3dpZHRoKCRhdHRzID0g
YXJyYXkoKSkKCXsKCQlnbG9iYWwgJHVwbV9pbWdfY3VzdG9tOwoKCQl1cG1faW1nX2N1c3Rv
bV9hc3NlcnQoKTsKCgkJcmV0dXJuICR1cG1faW1nX2N1c3RvbVsndGh1bWJfd2lkdGgnXTsK
CX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1nX2RlZmF1bHQoJHJvdywgJGF0dHMp
Cgl7CgkJZ2xvYmFsICRwcmVmczsKCgkJZXh0cmFjdCgkYXR0cyk7CgoJCSRpbWdfdXJsID0g
aHUuJHByZWZzWydpbWdfZGlyJ10uJy8nOwoJCSRpbWcgPSAkcm93WydpZCddLiRyb3dbJ2V4
dCddOwoKCQlpZiAoaW5fYXJyYXkoJHR5cGUsIGFycmF5KCdwb3B1cCcsICd0aHVtYicsICd0
aHVtYm5haWwnKSkpCgkJewoJCQkkaW1nX3BhdGggPSAkcHJlZnNbJ3BhdGhfdG9fc2l0ZSdd
LkRTLiRwcmVmc1snaW1nX2RpciddLkRTOwoJCQkkdGh1bWIgPSAkcm93WydpZCddLid0Jy4k
cm93WydleHQnXTsKCgkJCSR0aHVtYl9leGlzdHMgPSBmYWxzZTsKCgkJCWlmICgkcm93Wyd0
aHVtYm5haWwnXSBhbmQgZmlsZV9leGlzdHMoJGltZ19wYXRoLiR0aHVtYikpCgkJCXsKCQkJ
CSR0aHVtYl9leGlzdHMgPSB0cnVlOwoKCQkJCWxpc3QoJHRodW1iX3csICR0aHVtYl9oKSA9
IGdldGltYWdlc2l6ZSgkaW1nX3BhdGguJHRodW1iKTsKCQkJfQoJCX0KCgkJc3dpdGNoICgk
dHlwZSkKCQl7CgkJCWNhc2UgJ3BvcHVwJzoKCQkJCWlmICgkdGh1bWJfZXhpc3RzKQoJCQkJ
ewoJCQkJCSRvdXQgPSAnPGEgaHJlZj0iJy4kaW1nX3VybC4kaW1nLiciJy4KCQkJCQkJKCAo
JGlkIGFuZCAhJHdyYXB0YWcpID8gJyBpZD0iJy4kaWQuJyInIDogJycpLgoJCQkJCQkoICgk
Y2xhc3MgYW5kICEkd3JhcHRhZykgPyAnIGNsYXNzPSInLiRjbGFzcy4nIicgOiAnJykuCgkJ
CQkJCSggKCRyb3dbJ2NhcHRpb24nXSBhbmQgKCRzaG93X3RpdGxlID09ICd5ZXMnKSkgPyAn
IHRpdGxlPSInLiRyb3dbJ2NhcHRpb24nXS4nIicgOiAnJyApLgoJCQkJCQknIG9uY2xpY2s9
InVwbV9wb3BfaW1nKHRoaXMuaHJlZiwgJy5jaHIoMzkpLiRyb3dbJ3cnXS5jaHIoMzkpLics
ICcuY2hyKDM5KS4kcm93WydoJ10uY2hyKDM5KS4nLCAnLmNocigzOSkuJHJvd1snbmFtZSdd
LmNocigzOSkuJywgdGhpcy50aXRsZSk7IHJldHVybiBmYWxzZTsiPicuCgkJCQkJCSc8aW1n
IHNyYz0iJy4kaW1nX3VybC4kdGh1bWIuJyInLgoJCQkJCQkoJHNob3dfd2lkdGggPT0gJ3ll
cycgPyAnIHdpZHRoPSInLiR0aHVtYl93LiciJyA6ICcnKS4KCQkJCQkJKCRzaG93X2hlaWdo
dCA9PSAneWVzJyA/ICcgaGVpZ2h0PSInLiR0aHVtYl9oLiciJyA6ICcnKS4KCQkJCQkJKCAo
JHJvd1snYWx0J10gYW5kICgkc2hvd19hbHQgPT0gJ3llcycpKSA/ICcgYWx0PSInLmVzY2Fw
ZV9vdXRwdXQoJHJvd1snYWx0J10pLiciIHRpdGxlPSIiJyA6ICcgYWx0PSIiJyApLgoJCQkJ
CQkoJHhodG1sID09ICd5ZXMnID8gJyAvPicgOiAnPicpLgoJCQkJCQknPC9hPic7CgoJCQkJ
CXJldHVybiAoJHdyYXB0YWcpID8gZG9UYWcoJG91dCwgJHdyYXB0YWcsICRjbGFzcywgJycs
ICRpZCkgOiAkb3V0OwoJCQkJfQoKCQkJCWVsc2VpZiAoJHByZWZzWydwcm9kdWN0aW9uX3N0
YXR1cyddICE9ICdsaXZlJykKCQkJCXsKCQkJCQlyZXR1cm4gdXBtX2ltYWdlX2dUeHQoJ25v
X3RodW1iJywgYXJyYXkoJ3tpbWFnZX0nID0+ICRyb3dbJ2lkJ10pKTsKCQkJCX0KCQkJYnJl
YWs7CgoJCQljYXNlICd0aHVtYm5haWwnOgoJCQljYXNlICd0aHVtYic6CgkJCQlpZiAoJHRo
dW1iX2V4aXN0cykKCQkJCXsKCQkJCQkkb3V0ID0gJzxpbWcgc3JjPSInLiRpbWdfdXJsLiR0
aHVtYi4nIicuCgkJCQkJCSggKCRpZCBhbmQgISR3cmFwdGFnKSA/ICcgaWQ9IicuJGlkLici
JyA6ICcnKS4KCQkJCQkJKCAoJGNsYXNzIGFuZCAhJHdyYXB0YWcpID8gJyBjbGFzcz0iJy4k
Y2xhc3MuJyInIDogJycpLgoJCQkJCQkoJHNob3dfd2lkdGggPT0gJ3llcycgPyAnIHdpZHRo
PSInLiR0aHVtYl93LiciJyA6ICcnKS4KCQkJCQkJKCRzaG93X2hlaWdodCA9PSAneWVzJyA/
ICcgaGVpZ2h0PSInLiR0aHVtYl9oLiciJyA6ICcnKS4KCQkJCQkJKCAoJHJvd1snYWx0J10g
YW5kICgkc2hvd19hbHQgPT0gJ3llcycpKSA/ICcgYWx0PSInLmVzY2FwZV9vdXRwdXQoJHJv
d1snYWx0J10pLiciJyA6ICcgYWx0PSIiJyApLgoJCQkJCQkoICgkcm93WydjYXB0aW9uJ10g
YW5kICgkc2hvd190aXRsZSA9PSAneWVzJykpID8gJyB0aXRsZT0iJy5lc2NhcGVfb3V0cHV0
KCRyb3dbJ2NhcHRpb24nXSkuJyInIDogJycgKS4KCQkJCQkJKCR4aHRtbCA9PSAneWVzJyA/
ICcgLz4nIDogJz4nKTsKCgkJCQkJaWYgKCR1cmwpCgkJCQkJewoJCQkJCQkkb3V0ID0gaXNf
bnVtZXJpYygkdXJsKSA/IGhyZWYoJG91dCwgcGVybWxpbmt1cmxfaWQoJHVybCkpIDogaHJl
Zigkb3V0LCAkdXJsKTsKCQkJCQl9CgoJCQkJCXJldHVybiAoJHdyYXB0YWcpID8gZG9UYWco
JG91dCwgJHdyYXB0YWcsICRjbGFzcywgJycsICRpZCkgOiAkb3V0OwoJCQkJfQoKCQkJCWVs
c2VpZiAoJHByZWZzWydwcm9kdWN0aW9uX3N0YXR1cyddICE9ICdsaXZlJykKCQkJCXsKCQkJ
CQlyZXR1cm4gdXBtX2ltYWdlX2dUeHQoJ25vX3RodW1iJywgYXJyYXkoJ3tpbWFnZX0nID0+
ICRyb3dbJ2lkJ10pKTsKCQkJCX0KCQkJYnJlYWs7CgoJCQljYXNlICdpbWFnZSc6CgkJCWRl
ZmF1bHQ6CgkJCQkkb3V0ID0gJzxpbWcgc3JjPSInLiRpbWdfdXJsLiRpbWcuJyInLgoJCQkJ
CSggKCRpZCBhbmQgISR3cmFwdGFnKSA/ICcgaWQ9IicuJGlkLiciJyA6ICcnKS4KCQkJCQko
ICgkY2xhc3MgYW5kICEkd3JhcHRhZykgPyAnIGNsYXNzPSInLiRjbGFzcy4nIicgOiAnJyku
CgkJCQkJKCRzaG93X3dpZHRoID09ICd5ZXMnID8gJyB3aWR0aD0iJy4kcm93Wyd3J10uJyIn
IDogJycpLgoJCQkJCSgkc2hvd19oZWlnaHQgPT0gJ3llcycgPyAnIGhlaWdodD0iJy4kcm93
WydoJ10uJyInIDogJycpLgoJCQkJCSggKCRyb3dbJ2FsdCddIGFuZCAoJHNob3dfYWx0ID09
ICd5ZXMnKSkgPyAnIGFsdD0iJy5lc2NhcGVfb3V0cHV0KCRyb3dbJ2FsdCddKS4nIicgOiAn
IGFsdD0iIicgKS4KCQkJCQkoICgkcm93WydjYXB0aW9uJ10gYW5kICgkc2hvd190aXRsZSA9
PSAneWVzJykpID8gJyB0aXRsZT0iJy5lc2NhcGVfb3V0cHV0KCRyb3dbJ2NhcHRpb24nXSku
JyInIDogJycgKS4KCQkJCQkoJHhodG1sID09ICd5ZXMnID8gJyAvPicgOiAnPicpOwoKCQkJ
CWlmICgkdXJsKQoJCQkJewoJCQkJCSRvdXQgPSBpc19udW1lcmljKCR1cmwpID8gaHJlZigk
b3V0LCBwZXJtbGlua3VybF9pZCgkdXJsKSkgOiBocmVmKCRvdXQsICR1cmwpOwoJCQkJfQoK
CQkJCXJldHVybiAoJHdyYXB0YWcpID8gZG9UYWcoJG91dCwgJHdyYXB0YWcsICRjbGFzcywg
JycsICRpZCkgOiAkb3V0OwoJCQlicmVhazsKCQl9Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVuY3Rp
b24gdXBtX2ltYWdlX2NoZWNrX2xvYWQoKQoJewoJCWdsb2JhbCAkcHJlZnM7CgoJCWlmICgk
cHJlZnNbJ3VwbV9pbWFnZV9sb2FkX3NjcmlwdCddID09IDEpCgkJewoJCQlvYl9zdGFydCgn
dXBtX2ltYWdlX2xpbmsnKTsKCQl9Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJZnVuY3Rpb24gdXBtX2lt
YWdlX2xpbmsoJGJ1ZmZlcikKCXsKCQkkZmluZCA9ICc8L2hlYWQ+JzsKCQkkcmVwbGFjZSA9
IG4udC4nPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy5odS4naW5kZXgu
cGhwP2pzPXVwbV9pbWFnZSI+PC9zY3JpcHQ+Jy5uLiRmaW5kOwoKCQlyZXR1cm4gc3RyX3Jl
cGxhY2UoJGZpbmQsICRyZXBsYWNlLCAkYnVmZmVyKTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5j
dGlvbiB1cG1faW1hZ2VfanMoKQoJewoJCWhlYWRlcigiQ29udGVudC10eXBlOiB0ZXh0L2ph
dmFzY3JpcHQiKTsKCgkJZWNobyA8PDxqcwpmdW5jdGlvbiB1cG1fcG9wX2ltZyhzcmMsIHcs
IGgsIG5hbWUsIHRpdGxlKQp7Cgl2YXIgd3cgPSBwYXJzZUludCh3KTsKCXZhciB3aCA9IHBh
cnNlSW50KGgpOwoKCWlmICh3dyA8IDEwMCkKCXsKCQl3dyA9IDEyNTsKCX0KCglpZiAod2gg
PCAxMDApCgl7CgkJd2ggPSAxMjU7CgoJCXd3ICs9IDc1OwoJfQoKCXZhciBzY3JvbGwgPSBm
YWxzZTsKCglpZiAoc2NyZWVuLndpZHRoICYmIChzY3JlZW4ud2lkdGggPCB3dykpCgl7CgkJ
c2Nyb2xsID0gJ3llcyc7CgkJd3cgPSBzY3JlZW4ud2lkdGg7Cgl9CgoJaWYgKHNjcmVlbi5o
ZWlnaHQgJiYgKHNjcmVlbi5oZWlnaHQgPCB3aCkpCgl7CgkJc2Nyb2xsID0gJ3llcyc7CgkJ
d2ggPSBzY3JlZW4uaGVpZ2h0OwoJfQoKCWlmICghdGl0bGUpCgl7CgkJdGl0bGUgPSBuYW1l
OwoJfQoKCXZhciB0ID0gKHNjcmVlbi5oZWlnaHQpID8gKHNjcmVlbi5oZWlnaHQgLSB3aCkg
LyAyIDogMDsKCXZhciBsID0gKHNjcmVlbi53aWR0aCkgPyAoc2NyZWVuLndpZHRoIC0gd3cp
IC8gMiA6IDA7CgoJdmFyIHVwbV9wb3Bfd2luID0gd2luZG93Lm9wZW4oJycsICd1cG1fcG9w
X3dpbicsICd0b3AgPSAnK3QrJywgbGVmdCA9ICcrbCsnLCB3aWR0aCA9ICcrd3crJywgaGVp
Z2h0ID0gJyt3aCsnLCB0b29sYmFyID0gbm8sIGxvY2F0aW9uID0gbm8sIGRpcmVjdG9yaWVz
ID0gbm8sIHN0YXR1cyA9IG5vLCBtZW51YmFyID0gbm8sIHNjcm9sbGJhcnMgPSAnK3Njcm9s
bCsnLCBjb3B5aGlzdG9yeSA9IG5vLCByZXNpemFibGUgPSB5ZXMnKTsKCgl1cG1fcG9wX3dp
bi5kb2N1bWVudC53cml0ZWxuKCc8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFRE
IEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRk
Ij4nKTsKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJzxodG1sPicpOwoJdXBtX3Bv
cF93aW4uZG9jdW1lbnQud3JpdGVsbignPGhlYWQ+Jyk7Cgl1cG1fcG9wX3dpbi5kb2N1bWVu
dC53cml0ZWxuKCc8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Jyk7Cgl1cG1fcG9wX3dpbi5kb2N1bWVudC53cml0
ZWxuKCc8bWV0YSBodHRwLWVxdWl2PSJpbWFnZXRvb2xiYXIiIGNvbnRlbnQ9Im5vIj4nKTsK
CXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJzx0aXRsZT4nK3RpdGxlKyc8L3RpdGxl
PicpOwoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVsbignPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4nKTsKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJzwhLS0nKTsKCXVwbV9w
b3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJ2JvZHkgeycpOwoJdXBtX3BvcF93aW4uZG9jdW1l
bnQud3JpdGVsbignbWFyZ2luOiAwOycpOwoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVs
bigncGFkZGluZzogMDsnKTsKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJ2NvbG9y
OiAjMDAwOycpOwoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVsbignYmFja2dyb3VuZC1j
b2xvcjogI2ZmZjsnKTsKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJ3RleHQtYWxp
Z246IGNlbnRlcjsnKTsKCglpZiAoc2Nyb2xsID09IGZhbHNlKQoJewoJCXVwbV9wb3Bfd2lu
LmRvY3VtZW50LndyaXRlbG4oJ292ZXJmbG93OiBoaWRkZW47Jyk7Cgl9CgoJdXBtX3BvcF93
aW4uZG9jdW1lbnQud3JpdGVsbignfScpOwoKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRl
bG4oJycpOwoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVsbignaW1nIHsnKTsKCXVwbV9w
b3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJ21hcmdpbjogMCBhdXRvOycpOwoJdXBtX3BvcF93
aW4uZG9jdW1lbnQud3JpdGVsbigncGFkZGluZzogMDsnKTsKCXVwbV9wb3Bfd2luLmRvY3Vt
ZW50LndyaXRlbG4oJ2JvcmRlcjogbm9uZTsnKTsKCglpZiAod2ggPT0gMTI1KQoJewoJCXVw
bV9wb3Bfd2luLmRvY3VtZW50LndyaXRlbG4oJ21hcmdpbi10b3A6ICcgKyBNYXRoLmZsb29y
KDUwLShoLzIpKSArICdweDsnKTsKCX0KCgl1cG1fcG9wX3dpbi5kb2N1bWVudC53cml0ZWxu
KCd9Jyk7CgoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVsbignLS0+Jyk7Cgl1cG1fcG9w
X3dpbi5kb2N1bWVudC53cml0ZWxuKCc8L3N0eWxlPicpOwoJdXBtX3BvcF93aW4uZG9jdW1l
bnQud3JpdGVsbignPC9oZWFkPicpOwoJdXBtX3BvcF93aW4uZG9jdW1lbnQud3JpdGVsbign
PGJvZHk+Jyk7Cgl1cG1fcG9wX3dpbi5kb2N1bWVudC53cml0ZWxuKCc8ZGl2IGlkPSJ1cG0t
aW1hZ2UtdmlldyI+Jyk7Cgl1cG1fcG9wX3dpbi5kb2N1bWVudC53cml0ZWxuKCc8aW1nIHNy
Yz0iJytzcmMrJyIgd2lkdGg9IicrdysnIiBoZWlnaHQ9IicraCsnIiBhbHQ9IiI+Jyk7Cgl1
cG1fcG9wX3dpbi5kb2N1bWVudC53cml0ZWxuKCc8L2Rpdj4nKTsKCXVwbV9wb3Bfd2luLmRv
Y3VtZW50LndyaXRlbG4oJzwvYm9keT4nKTsKCXVwbV9wb3Bfd2luLmRvY3VtZW50LndyaXRl
KCc8L2h0bWw+Jyk7CgoJdXBtX3BvcF93aW4uZG9jdW1lbnQuY2xvc2UoKTsKCgl1cG1fcG9w
X3dpbi5mb2N1cygpOwoKCXJldHVybiBmYWxzZTsKfQpqczsKCgkJZXhpdCgwKTsKCX0KCi8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCglmdW5jdGlvbiB1cG1faW1hZ2VfcHJlZnMoJGV2ZW50LCAkc3RlcCkKCXsK
CQlnbG9iYWwgJHByZWZzOwoKCQlwYWdldG9wKHVwbV9pbWFnZV9nVHh0KCdwcmVmcycpLCAo
JHN0ZXAgPT0gJ3VwZGF0ZScgPyBnVHh0KCdwcmVmZXJlbmNlc19zYXZlZCcpIDogJycpKTsK
CgkJaWYgKCRzdGVwID09ICd1cGRhdGUnKQoJCXsKCQkJJGxvYWRfc2NyaXB0ID0gZG9TbGFz
aChwcygnbG9hZF9zY3JpcHQnKSk7CgoJCQlzYWZlX3VwZGF0ZSgndHhwX3ByZWZzJywgInZh
bCA9ICckbG9hZF9zY3JpcHQnIiwgIm5hbWUgPSAndXBtX2ltYWdlX2xvYWRfc2NyaXB0JyIp
OwoKCQkJJHByZWZzID0gZ2V0X3ByZWZzKCk7CgkJfQoKCQllY2hvIG4ubi4nPGRpdiBzdHls
ZT0ibWFyZ2luOiAzZW0gYXV0byBhdXRvIGF1dG87IHdpZHRoOiAxNmVtOyI+Jy4KCgkJCW4u
bi5oZWQodXBtX2ltYWdlX2dUeHQoJ3ByZWZzJyksICcxJykuCgoJCQluLm4uZm9ybSgKCQkJ
CW4uZUlucHV0KCd1cG1faW1hZ2VfcHJlZnMnKS4KCQkJCW4uc0lucHV0KCd1cGRhdGUnKS4K
CgkJCQluLm4uZ3JhZigKCQkJCQl1cG1faW1hZ2VfZ1R4dCgnbG9hZF9zY3JpcHQnKS5ici4K
CQkJCQluLnllc25vUmFkaW8oJ2xvYWRfc2NyaXB0JywgJHByZWZzWyd1cG1faW1hZ2VfbG9h
ZF9zY3JpcHQnXSkKCQkJCSkuCgoJCQkJbi5uLmZJbnB1dCgnc3VibWl0JywgJ3VwZGF0ZScs
ICdVcGRhdGUnLCAnc21hbGxlcmJveCcpCgkJCSkubi5uLic8L2Rpdj4nOwoJfQoKLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQoKCWZ1bmN0aW9uIHVwbV9pbWFnZV9pbnN0YWxsKCkKCXsKCQlnbG9iYWwgJHByZWZz
OwoKCQlpZiAoIWlzc2V0KCRwcmVmc1sndXBtX2ltYWdlX2xvYWRfc2NyaXB0J10pKQoJCXsK
CQkJc2FmZV9pbnNlcnQoJ3R4cF9wcmVmcycsICIKCQkJCW5hbWUgPSAndXBtX2ltYWdlX2xv
YWRfc2NyaXB0JywKCQkJCXZhbCA9ICcxJywKCQkJCWh0bWwgPSAneWVzbm9yYWRpbycsCgkJ
CQlwcmVmc19pZCA9IDEsCgkJCQl0eXBlID0gMiwKCQkJCWV2ZW50ID0gJ2FkbWluJywKCQkJ
CXBvc2l0aW9uID0gMAoJCQkiKTsKCgkJCSRHTE9CQUxTWydwcmVmcyddID0gZ2V0X3ByZWZz
KCk7CgkJfQoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIHVwbV9pbWFnZV9nVHh0KCR3aGF0
LCAkYXR0cyA9IGFycmF5KCkpCgl7CgkJJGxhbmcgPSBhcnJheSgKCQkJJ2Vycm9yX2NvbnRl
eHQnCQkJPT4gJ3VwbV9pbWFnZTogaW52YWxpZCBjb250ZXh0LCB0YWcgbXVzdCBiZSB1c2Vk
IHdpdGhpbiB0aGUgdGFnIGFzIGEgd3JhcHBlciBvciBmcm9tIGl0cyBvd24gZm9ybSBjYWxs
ZWQgYnkgdGhlIHRhZy4nLAoJCQknaW52YWxpZF9pZCcJCQkJPT4gJ3VwbV9pbWFnZTogc3Vw
cGxpZWQgaW1hZ2UgaWQgaXMgaW52YWxpZCwgaXQgbXVzdCBiZSBhIHNpbmdsZSBudW1lcmlj
IHZhbHVlLicsCgkJCSdsb2FkX3NjcmlwdCcJCQkJPT4gJ0F1dG8tbG9hZCBKYXZhU2NyaXB0
PycsCgkJCSdub190aHVtYicJCQkJCT0+ICd1cG1faW1hZ2U6IGltYWdlICYjODIyMDt7aW1h
Z2V9JiM4MjIxOyBkb2VzIG5vdCBoYXZlIGEgdGh1bWJuYWlsLicsCgkJCSdub3RfZm91bmQn
CQkJCQk9PiAndXBtX2ltYWdlOiByZXF1ZXN0ZWQgaW1hZ2UgY291bGQgbm90IGJlIGZvdW5k
OiAmIzgyMjA7e2ltYWdlfSYjODIyMTsnLAoJCQknbm90X2ZvdW5kX2xpc3QnCQk9PiAndXBt
X2ltYWdlOiByZXF1ZXN0ZWQgaW1hZ2VzIGNvdWxkIG5vdCBiZSBmb3VuZDogJiM4MjIwO3ts
aXN0fSYjODIyMTsnLAoJCQknbm90aGluZ19yZXF1ZXN0ZWQnID0+ICd1cG1faW1hZ2U6IG5v
IGltYWdlIHdhcyByZXF1ZXN0ZWQuJywKCQkJJ3ByZWZzJwkJCQkJCQk9PiAndXBtX2ltYWdl
IFByZWZlcmVuY2VzJwoJCSk7CgoJCXJldHVybiBzdHJ0cigkbGFuZ1skd2hhdF0sICRhdHRz
KTsKCX0iO3M6NDoiaGVscCI7czoxNzQ2ODoiPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRp
YT0ic2NyZWVuLHByb2plY3Rpb24iPgo8IS0tCnByZSwgY29kZSB7CmJhY2tncm91bmQtY29s
b3I6ICNlZWU7Cn0KCmgzIGNvZGUgewpmb250LWZhbWlseTogaW5oZXJpdDsKYmFja2dyb3Vu
ZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLS0+Cjwvc3R5bGU+Cgo8aDE+dXBtX2ltYWdlPC9o
MT4KCjxvbCBpZD0ic3RhcnQiPgoJPGxpPjxhIGhyZWY9IiNpbnRyby1zZWN0aW9uIj5JbnRy
bzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9IiN0YWctc2VjdGlvbiI+TmV3IEltYWdlIFRhZ3M8
L2E+PC9saT4KCTxsaT48YSBocmVmPSIjY3VzdG9tLXNlY3Rpb24iPkN1c3RvbWl6aW5nIE91
dHB1dDwvYT48L2xpPgoJPGxpPjxhIGhyZWY9IiNjcmVkaXQtc2VjdGlvbiI+Q3JlZGl0IGFu
ZCBEZXZlbG9wZXIgTm90ZXM8L2E+PC9saT4KPC9vbD4KCgo8aDIgaWQ9ImludHJvLXNlY3Rp
b24iPkludHJvPC9oMj4KCjxwPlRleHRwYXR0ZXJuIGNvbWVzIHdpdGggaXRzIG93biBpbWFn
ZSB0YWdzLCBidXQgYXMgSSB3b3JrZWQgb24gdGhpcyBwbHVnaW4sIEkgZGVjaWRlZCB0bwpj
cmVhdGUgZXh0ZW5kZWQgdmVyc2lvbnMsIHRvIGFsbG93IGEgbG90IG1vcmUgY3VzdG9taXph
dGlvbi4gVGhpcyBwbHVnaW4gd29uJiM4MjE3O3QKYXV0b21hdGljYWxseSBjcmVhdGUgdmFz
dCwgY29tcGxpY2F0ZWQgZ2FsbGVyaWVzLCBidXQgeW91IGNvdWxkIGNlcnRhaW5seSB1c2Ug
aXQgdG8KY3JlYXRlIGEgbWluaS1nYWxsZXJ5IG9mIHNvcnRzLiA8YSBocmVmPSIjc3RhcnQi
IHRpdGxlPSJKdW1wIGJhY2sgY29udGVudHMgbGlzdCI+JiM4NjE3OzwvYT48L3A+CgoKPGgy
IGlkPSJ0YWctc2VjdGlvbiI+TmV3IEltYWdlIFRhZ3M8L2gyPgoKPHA+VGhpcyBwbHVnaW4g
cHJvdmlkZXMgeW91IHdpdGggdHdvIG5ldyBpbWFnZSB0YWdzLjwvcD4KCjxoMz48Y29kZT4m
bHQ7dHhwOnVwbV9pbWFnZSAvJmd0OzwvY29kZT48L2gzPgoKPGRsPgoJPGR0Pjxjb2RlPjxi
PmNsYXNzPSI8L2I+PGVtPmNsYXNzIG5hbWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8
ZGQ+VGhlIChYKUhUTUwvQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBpbWFnZS48L2RkPgoJ
PGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxp
ZCAoWClIVE1ML0NTUyBjbGFzcyBuYW1lLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5z
ZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+Zm9ybT0iPC9iPjxlbT5mb3JtIG5hbWU8L2VtPjxi
PiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+Q3VzdG9taXplIHRoZSBpbWFnZSBkZXRhaWxzIG91
dHB1dCwgZm9yIHR5cGUgPGNvZGU+PGI+aW1hZ2U8L2I+PC9jb2RlPi48L2RkPgoJPGRkPlJl
cXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSBleGlzdGluZyBm
b3JtJiM4MjE3O3MgbmFtZS48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+
CgoJPGR0Pjxjb2RlPjxiPmlkPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48
L2R0PgoJPGRkPlRoZSAoWClIVE1ML0NTUyBpZCB0byBhcHBseSB0byB0aGUgaW1hZ2UuPC9k
ZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkg
dmFsaWQgKFgpSFRNTC9DU1MgaWQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48
L2RkPgoKCTxkdD48Y29kZT48Yj5pbWFnZV9pZD0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+Ijwv
Yj48L2NvZGU+IG9yIDxjb2RlPjxiPmltYWdlX25hbWU9IjwvYj48ZW0+dmFsdWU8L2VtPjxi
PiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhlIGltYWdlIHRvIGRpc3BsYXkuPC9kZD4KCTxk
ZD5SZXF1aXJlZDogWWVzLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogdGhlIGltYWdl
IGlkIyBvciBpbWFnZSBuYW1lLCBhcyBsaXN0ZWQgaW4gdGhlIGltYWdlIHRhYi48L2RkPgoJ
PGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnNob3dfYWx0
PSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIg
dG8gc2hvdyB0aGUgYWx0ZXJuYXRlIHRleHQgYXMgbGlzdGVkIGluIHRoZSBpbWFnZSB0YWIu
PC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8
Y29kZT48Yj55ZXM8L2I+PC9jb2RlPiBvciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+
Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KCgk8
ZHQ+PGNvZGU+PGI+c2hvd190aXRsZT0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2Nv
ZGU+PC9kdD4KCTxkZD5XaGV0aGVyIHRvIHNob3cgdGhlIGNhcHRpb24sIGFzIGxpc3RlZCBp
biB0aGUgaW1hZ2UgdGFiLCBhcyB0aGUgaW1hZ2UmIzgyMTc7cyB0aXRsZS48L2RkPgoJPGRk
PlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPnll
czwvYj48L2NvZGU+IG9yIDxjb2RlPjxiPm5vPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5EZWZh
dWx0IHZhbHVlOiA8Y29kZT48Yj55ZXM8L2I+PC9jb2RlPi48L2RkPgoKCTxkdD48Y29kZT48
Yj50eXBlPSI8L2I+PGVtPmltYWdlIHR5cGU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8
ZGQ+VGhlIGtpbmQgb2YgaW1hZ2UgdG8gZGlzcGxheS48L2RkPgoJPGRkPlJlcXVpcmVkOiBO
by48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPmltYWdlPC9iPjwvY29k
ZT4gKGRlZmF1bHQpLAoJPGNvZGU+PGI+dGh1bWJuYWlsPC9iPjwvY29kZT4sIGFuZCA8Y29k
ZT48Yj5wb3B1cDwvYj48L2NvZGU+LiBUaGUgcGFyYW1ldGVyCgk8Y29kZT48Yj5hcnRpY2xl
PC9iPjwvY29kZT4gaGFzIGJlZW4gZGVwcmVjYXRlZC48L2RkPgoJPGRkPkRlZmF1bHQgdmFs
dWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnVybD0iPC9iPjxlbT53ZWJwYWdlIHVy
bDwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5XZWJzaXRlIHVybCwgb3IgYXJ0aWNs
ZSBpZCMsIHRvIG1ha2UgdGhlIGltYWdlIGxpbmsgdG8uPC9kZD4KCTxkZD5SZXF1aXJlZDog
Tm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiB1cmwgYWRkcmVzcyBvciBhcnRpY2xl
IGlkIy48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2Rl
PjxiPndyYXB0YWc9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8
ZGQ+VGhlIChYKUhUTUwgdGFnIHRvIHdyYXAgYXJvdW5kIHRoZSBpbWFnZSAob3IgdGhlIGxp
c3QsIGlmIHVzaW5nIG11bHRpcGxlIGltYWdlcykuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8u
PC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTCBlbGVtZW50
IG5hbWUuIEZvciBleGFtcGxlOiA8Y29kZT48Yj5wPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5E
ZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj54aHRtbD0iPC9iPjxl
bT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5XaGV0aGVyIHRoZSB0YWcg
b3V0cHV0cyB4aHRtbCBvciBodG1sLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8
ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4gb3IgPGNvZGU+
PGI+bm88L2I+PC9jb2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxiPnll
czwvYj48L2NvZGU+LjwvZGQ+CjwvZGw+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2Rl
PiZsdDt0eHA6dXBtX2FydGljbGVfaW1hZ2UgLyZndDs8L2NvZGU+PC9oMz4KCjxkbD4KCTxk
dD48Y29kZT48Yj5icmVhaz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9k
dD4KCTxkZD5JZiB1c2luZyBtdWx0aXBsZSBpbWFnZXMgYW5kIHRoZSB3cmFwdGFnIHBhcmFt
ZXRlciwgdGhlIChYKUhUTUwgdGFnIHRvIHNlcGFyYXRlCgkJaW1hZ2VzIHdpdGguPC9kZD4K
CTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFs
aWQgKFgpSFRNTCBlbGVtZW50IG5hbWUsIGZvciBleGFtcGxlLCA8Y29kZT48Yj5icjwvYj48
L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNv
ZGU+PGI+YnJlYWtfY2xhc3M9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwv
ZHQ+Cgk8ZGQ+SWYgdXNpbmcgbXVsdGlwbGUgaW1hZ2VzIGFuZCB0aGUgd3JhcHRhZyBwYXJh
bWV0ZXIsIHRoZSAoWClIVE1ML0NTUyBjbGFzcyB0byBhcHBseSB0byB0aGUKCWJyZWFrdGFn
LjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczog
YW55IHZhbGlkIChYKUhUTUwvQ1NTIGNsYXNzIG5hbWUuPC9kZD4KCTxkZD5EZWZhdWx0IHZh
bHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5jbGFzcz0iPC9iPjxlbT5jbGFzcyBu
YW1lPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoZSAoWClIVE1ML0NTUyBjbGFz
cyB0byBhcHBseSB0byB0aGUgaW1hZ2Ugb3IgdGhlIGltYWdlJiM4MjE3O3Mgd3JhcHRhZy4g
SWYgYSBsaXN0CgkJb2YgYXJ0aWNsZSBpbWFnZXMsIHRoZW4gdGhlIGNsYXNzIHRvIGFwcGx5
IHRvIHRoZSBsaXN0JiM4MjE3O3Mgd3JhcHRhZy48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48
L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAoWClIVE1ML0NTUyBjbGFz
cyBuYW1lLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNv
ZGU+PGI+Zm9ybT0iPC9iPjxlbT5mb3JtIG5hbWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+
Cgk8ZGQ+Q3VzdG9taXplIHRoZSBpbWFnZSBkZXRhaWxzIG91dHB1dCwgZm9yIHR5cGUgPGNv
ZGU+PGI+aW1hZ2U8L2I+PC9jb2RlPi48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJ
PGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSBleGlzdGluZyBmb3JtJiM4MjE3O3MgbmFtZS48
L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPndy
YXBmb3JtPSI8L2I+PGVtPmZvcm0gbmFtZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxk
ZD5DdXN0b21pemUgdGhlIGFkZGl0aW9uYWwgb3V0cHV0IGZvciBhcnRpY2xlIGltYWdlIGxp
c3RzICh1c2Ugd2l0aCB1cG1faW1nX2xpc3QpLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwv
ZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IGV4aXN0aW5nIGZvcm0mIzgyMTc7cyBu
YW1lLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+
PGI+aWQ9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhl
IChYKUhUTUwvQ1NTIGlkIHRvIGFwcGx5IHRvIHRoZSBpbWFnZS48L2RkPgoJPGRkPlJlcXVp
cmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAoWClIVE1M
L0NTUyBpZC48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxj
b2RlPjxiPmxpbWl0PSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJ
PGRkPklmIHVzaW5nIG11bHRpcGxlIGltYWdlcywgdGhlIG1heGltdW0gbnVtYmVyIG9mIGlt
YWdlcyB0byBzaG93LjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxh
YmxlIHZhbHVlczogYW55IHdob2xlIG51bWJlci48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6
IDxjb2RlPjxiPjA8L2I+PC9jb2RlPi48L2RkPgoKCTxkdD48Y29kZT48Yj5vZmZzZXQ9Ijwv
Yj48ZW0+aW50ZWdlcjwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5JZiB1c2luZyBt
dWx0aXBsZSBpbWFnZXMsIHRoZSBudW1iZXIgb2YgaW1hZ2VzIHRvIHNraXAgKG5vdCBkaXNw
bGF5KSBpbiB0aGUgbGlzdC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2
YWlsYWJsZSB2YWx1ZXM6IGFueSB3aG9sZSBudW1iZXIuPC9kZD4KCTxkZD5EZWZhdWx0IHZh
bHVlOiA8Y29kZT48Yj4wPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+c2hvd19h
bHQ9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhl
ciB0byBzaG93IHRoZSBhbHRlcm5hdGUgdGV4dCBhcyBsaXN0ZWQgaW4gdGhlIGltYWdlIHRh
Yi48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6
IDxjb2RlPjxiPnllczwvYj48L2NvZGU+IG9yIDxjb2RlPjxiPm5vPC9iPjwvY29kZT4uPC9k
ZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8Y29kZT48Yj55ZXM8L2I+PC9jb2RlPi48L2RkPgoK
CTxkdD48Y29kZT48Yj5zaG93X2hlaWdodD0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48
L2NvZGU+PC9kdD4KCTxkZD5XaGV0aGVyIHRvIGluY2x1ZGUgdGhlIGltYWdlIGhlaWdodCBp
biB0aGUgaW1hZ2UgdGFnIHJldHVybmVkLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+
Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4gb3IgPGNv
ZGU+PGI+bm88L2I+PC9jb2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxi
PnllczwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnNob3dfdGl0bGU9IjwvYj48
ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBzaG93
IHRoZSBjYXB0aW9uLCBhcyBsaXN0ZWQgaW4gdGhlIGltYWdlIHRhYiwgYXMgdGhlIGltYWdl
JiM4MjE3O3MgKFgpSFRNTCB0aXRsZSBhdHRyaWJ1dGUuPC9kZD4KCTxkZD5SZXF1aXJlZDog
Tm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj55ZXM8L2I+PC9jb2Rl
PiBvciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTog
PGNvZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+c2hvd193aWR0
aD0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5XaGV0aGVy
IHRvIGluY2x1ZGUgdGhlIGltYWdlIHdpZHRoIGluIHRoZSBpbWFnZSB0YWcgcmV0dXJuZWQu
PC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8
Y29kZT48Yj55ZXM8L2I+PC9jb2RlPiBvciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+
Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KCgk8
ZHQ+PGNvZGU+PGI+dHlwZT0iPC9iPjxlbT5pbWFnZSB0eXBlPC9lbT48Yj4iPC9iPjwvY29k
ZT48L2R0PgoJPGRkPlRoZSBraW5kIG9mIGltYWdlIHRvIGRpc3BsYXkuPC9kZD4KCTxkZD5S
ZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj5pbWFn
ZTwvYj48L2NvZGU+LAoJPGNvZGU+PGI+dGh1bWJuYWlsPC9iPjwvY29kZT4sIGFuZCA8Y29k
ZT48Yj5wb3B1cDwvYj48L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPGNvZGU+
PGI+aW1hZ2U8L2I+PC9jb2RlPi48L2RkPgoKCTxkdD48Y29kZT48Yj51cmw9IjwvYj48ZW0+
d2VicGFnZSB1cmw8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2Vic2l0ZSB1cmws
IG9yIGFydGljbGUgaWQjLCB0byBtYWtlIHRoZSBpbWFnZSBsaW5rIHRvLjwvZGQ+Cgk8ZGQ+
UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogdXJsIGFkZHJlc3Mg
b3IgYXJ0aWNsZSBpZCMuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoK
CTxkdD48Y29kZT48Yj53cmFwdGFnPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29k
ZT48L2R0PgoJPGRkPlRoZSAoWClIVE1MIHRhZyB0byB3cmFwIGFyb3VuZCB0aGUgaW1hZ2Ug
KG9yIHRoZSBsaXN0LCBpZiB1c2luZyBtdWx0aXBsZSBpbWFnZXMpLjwvZGQ+Cgk8ZGQ+UmVx
dWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIChYKUhU
TUwgZWxlbWVudCBuYW1lLCBmb3IgZXhhbXBsZSwgPGNvZGU+PGI+cDwvYj48L2NvZGU+Ljwv
ZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+eGh0
bWw9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhl
ciB0aGUgdGFnIG91dHB1dHMgWEhUTUwgb3IgSFRNTC48L2RkPgoJPGRkPlJlcXVpcmVkOiBO
by48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPnllczwvYj48L2NvZGU+
IG9yIDxjb2RlPjxiPm5vPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8
Y29kZT48Yj55ZXM8L2I+PC9jb2RlPi48L2RkPgo8L2RsPgoKPCEtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4K
CjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pZl9hcnRpY2xlX2ltYWdlIC8mZ3Q7PC9jb2RlPjwv
aDM+Cgo8dWw+Cgk8bGk+RGV0ZXJtaW5lIHdoZXRoZXIgYW4gYXJ0aWNsZSBpbWFnZSBoYXMg
YmVlbiBkZWZpbmVkLjwvbGk+Cgk8bGk+Q29uZGl0aW9uYWwgd3JhcHBpbmcgdGFnLCBubyBh
dHRyaWJ1dGVzLjwvbGk+CjwvdWw+CgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4m
bHQ7dHhwOnVwbV9pZl9hcnRpY2xlX2ltYWdlX2xpc3QgLyZndDs8L2NvZGU+PC9oMz4KCjx1
bD4KCTxsaT5EZXRlcm1pbmUgd2hldGhlciBtdWx0aXBsZSBhcnRpY2xlIGltYWdlcyBoYXZl
IGJlZW4gZGVmaW5lZC48L2xpPgoJPGxpPkNvbmRpdGlvbmFsIHdyYXBwaW5nIHRhZywgbm8g
YXR0cmlidXRlcy48L2xpPgo8L3VsPgoKCjxwPjxhIGhyZWY9IiNzdGFydCIgdGl0bGU9Ikp1
bXAgYmFjayBjb250ZW50cyBsaXN0Ij4mIzg2MTc7PC9hPjwvcD4KCgoKPGgyIGlkPSJjdXN0
b20tc2VjdGlvbiI+Q3VzdG9taXppbmcgT3V0cHV0PC9oMj4KCjxwPlN1cHBseSB0aGUgaW1h
Z2UgaWQgb3IgbmFtZSwgYW5kIHRoZSBmb3JtIHRvIGJlIHVzZWQuIEFsdGVybmF0ZWx5IHlv
dSBtYXkgdXNlIHRoZSB0YWdzIGFzCmNvbnRhaW5pbmcgb3Igd3JhcHBpbmcgdGFncy4gRm9y
IGV4YW1wbGU6PC9wPgoKPHA+PGNvZGU+Jmx0O3R4cDp1cG1faW1hZ2UgdHlwZT0iaW1hZ2Ui
Jmd0OyZsdDt0eHA6dXBtX2ltZ19jYXB0aW9uIC8mZ3Q7Jmx0Oy90eHA6dXBtX2ltYWdlJmd0
OzwvY29kZT48L3A+Cgo8cD5UaGUgdGFncyBhdmFpbGFibGUgdG8geW91IGZyb20gd2l0aGlu
IGEgZm9ybS93cmFwcGluZyB0YWcgYXJlIGZhaXJseSBzZWxmLWV4cGxhbmF0b3J5LjwvcD4K
CjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2FsdCAvJmd0
OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IGltYWdlIGFsdGVybmF0ZSB0ZXh0Ljwv
cD4KCjxkbD4KCTxkdD48Y29kZT48Yj5lc2NhcGU9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8
L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBlc2NhcGUgdGhlIHJlc3VsdCB0byBv
dXRwdXQgdmFsaWQgbWFya3VwLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+
QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+aHRtbDwvYj48L2NvZGU+IG9yIHVuc2V0Ljwv
ZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KPC9kbD4KCjwhLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2NhcHRpb24gLyZndDs8L2NvZGU+
PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBpbWFnZSBjYXB0aW9uLjwvcD4KCjxkbD4KCTxkdD48
Y29kZT48Yj5jbGFzcz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4K
CTxkZD5UaGUgKFgpSFRNTC9DU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIHdyYXB0YWcuPC9k
ZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkg
dmFsaWQgQ1NTIGNsYXNzIG5hbWUgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVl
OiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5lc2NhcGU9IjwvYj48ZW0+dmFsdWU8L2Vt
PjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBlc2NhcGUgdGhlIHJlc3Vs
dCB0byBvdXRwdXQgdmFsaWQgbWFya3VwLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+
Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+aHRtbDwvYj48L2NvZGU+IG9yIHVu
c2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+
PGI+bGFiZWw9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+
VGhpcyBzdHJpbmcgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIGNhcHRpb24uPC9kZD4KCTxk
ZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdGV4dCBv
ciB1bnNldC48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxj
b2RlPjxiPmxhYmVsdGFnPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0
PgoJPGRkPlRoZSAoWClIVE1MIHRhZyB0byBlbmNsb3NlIHRoZSBsYWJlbC48L2RkPgoJPGRk
PlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAo
WClIVE1MIHRhZyBvciB1bnNldC48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0Ljwv
ZGQ+CgoJPGR0Pjxjb2RlPjxiPndyYXB0YWc9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+
PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhlIChYKUhUTUwgdGFnIHRvIGVuY2xvc2UgdGhlIGNhcHRp
b24uPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVz
OiBhbnkgdmFsaWQgKFgpSFRNTCB0YWcgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZh
bHVlOiB1bnNldC48L2RkPgo8L2RsPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4m
bHQ7dHhwOnVwbV9pbWdfY2F0ZWdvcnkgLyZndDs8L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0
aW9uOiB0aGUgY2F0ZWdvcnkgdGhlIGltYWdlIGJlbG9uZ3MgdG8uPC9wPgoKPGRsPgoJPGR0
Pjxjb2RlPjxiPmNsYXNzPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0
PgoJPGRkPlRoZSAoWClIVE1ML0NTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgd3JhcHRhZy48
L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFu
eSB2YWxpZCBDU1MgY2xhc3MgbmFtZSBvciB1bnNldC48L2RkPgoJPGRkPkRlZmF1bHQgdmFs
dWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPmxhYmVsPSI8L2I+PGVtPnZhbHVlPC9l
bT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoaXMgc3RyaW5nIHdpbGwgYmUgcHJlcGVu
ZGVkIHRvIHRoZSBjYXB0aW9uLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+
QXZhaWxhYmxlIHZhbHVlczogYW55IHRleHQgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0
IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5sYWJlbHRhZz0iPC9iPjxlbT52
YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGUgKFgpSFRNTCB0YWcgdG8g
ZW5jbG9zZSB0aGUgbGFiZWwuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5B
dmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTCB0YWcgb3IgdW5zZXQuPC9kZD4K
CTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj50aXRsZT0i
PC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGUgKFgpSFRN
TCB0YWcgdG8gZW5jbG9zZSB0aGUgbGFiZWwuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9k
ZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj4wPC9iPjwvY29kZT4gKHplcm8v
b2ZmKSBvciA8Y29kZT48Yj4xPC9iPjwvY29kZT4gKG9uZS9vbikuPC9kZD4KCTxkZD5EZWZh
dWx0IHZhbHVlOiA8Y29kZT48Yj4wPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+
d3JhcHRhZz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5U
aGUgKFgpSFRNTCB0YWcgdG8gZW5jbG9zZSB0aGUgY2FwdGlvbi48L2RkPgoJPGRkPlJlcXVp
cmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAoWClIVE1M
IHRhZyBvciB1bnNldC48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+Cjwv
ZGw+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2RlPiZsdDt0eHA6dXBtX2ltZ19kYXRl
IC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlwdGlvbjogdGhlIGRhdGUgdGhlIGltYWdl
IHdhcyB1cGxvYWRlZC48L3A+Cgo8ZGw+Cgk8ZHQ+PGNvZGU+PGI+Zm9ybWF0PSI8L2I+PGVt
PnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPjwvZGQ+Cgk8ZGQ+UmVxdWly
ZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIDxhIGhyZWY9
Imh0dHA6Ly9waHAubmV0L3N0cmZ0aW1lIj5zdHJmdGltZSgpPC9hPiBzdHJpbmcgb3IgPGNv
ZGU+PGI+c2luY2U8L2I+PC9jb2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0
ICh1c2UgIkRhdGUgZm9ybWF0IiBwcmVmZXJlbmNlKS48L2RkPgoKCTxkdD48Y29kZT48Yj5n
bXQ9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhl
ciB0byBmb3JtYXQgZGF0ZXRpbWUgYWNjb3JkaW5nIEdNVCB0aW1lLjwvZGQ+Cgk8ZGQ+UmVx
dWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+MDwvYj48
L2NvZGU+IChubywgdXNlICJUaW1lIFpvbmUiIHByZWZlcmVuY2UpIG9yIDxjb2RlPjxiPjE8
L2I+PC9jb2RlPiAoeWVzKS48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxiPjA8
L2I+PC9jb2RlPiAobm8pPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+bGFuZz0iPC9iPjxlbT52YWx1
ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5Gb3JtYXQgdGltZSBzdHJpbmcgYWNj
b3JkaW5nIHRvIHNwZWNpZmllZCBsYW5ndWFnZSBsb2NhbGUuPC9kZD4KCTxkZD5SZXF1aXJl
ZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgPC9kZD4KCTxk
ZD5EZWZhdWx0IHZhbHVlOiB1bnNldCAodXNlICJMYW5ndWFnZSIgbG9jYWxlIHByZWZlcmVu
Y2UpLjwvZGQ+CjwvZGw+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2RlPiZsdDt0eHA6
dXBtX2ltZ19mdWxsX2hlaWdodCAvJmd0OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246
IGZ1bGwtc2l6ZSBpbWFnZSBoZWlnaHQuPC9wPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48
Y29kZT4mbHQ7dHhwOnVwbV9pbWdfZnVsbF91cmwgLyZndDs8L2NvZGU+PC9oMz4KCjxwPkRl
c2NyaXB0aW9uOiBmdWxsLXNpemUgaW1hZ2UgdXJsLjwvcD4KCjwhLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+
Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2Z1bGxfd2lkdGggLyZndDs8L2NvZGU+PC9o
Mz4KCjxwPkRlc2NyaXB0aW9uOiBmdWxsLXNpemUgaW1hZ2Ugd2lkdGguPC9wPgoKPCEtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfaHJlZiAvJmd0OzwvY29k
ZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IHdlYnNpdGUgdXJsIHRvIG1ha2UgdGhlIGltYWdl
IGxpbmsgdG8sIGFzIHBhc3NlZCBieSB0aGUgdXJsIHBhcmFtZXRlci48L3A+Cgo8cD5JZiB1
c2VkIGFzIGEgd3JhcHBpbmcgdGFnLCBpdCB3aWxsIHR1cm4gd2hhdGV2ZXIgaXQgc3Vycm91
bmRzIGludG8gYSBsaW5rLjwvcD4KCjxkbD4KCTxkdD48Y29kZT48Yj5jbGFzcz0iPC9iPjxl
bT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGUgKFgpSFRNTC9DU1Mg
Y2xhc3MgdG8gYXBwbHkgdG8gdGhlIHdyYXB0YWcuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8u
PC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgQ1NTIGNsYXNzIG5hbWUg
b3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48
Y29kZT48Yj5lc2NhcGU9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+
Cgk8ZGQ+V2hldGhlciB0byBlc2NhcGUgdGhlIHJlc3VsdCB0byBvdXRwdXQgdmFsaWQgbWFy
a3VwLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVl
czogPGNvZGU+PGI+aHRtbDwvYj48L2NvZGU+IG9yIHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVs
dCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+bGFiZWw9IjwvYj48ZW0+dmFs
dWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhpcyBzdHJpbmcgd2lsbCBiZSBw
cmVwZW5kZWQgdG8gdGhlIGNhcHRpb24uPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4K
CTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdGV4dCBvciB1bnNldC48L2RkPgoJPGRkPkRl
ZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPmxhYmVsdGFnPSI8L2I+
PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoZSAoWClIVE1MIHRh
ZyB0byBlbmNsb3NlIHRoZSBsYWJlbC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJ
PGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAoWClIVE1MIHRhZyBvciB1bnNldC48
L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPndy
YXB0YWc9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhl
IChYKUhUTUwgdGFnIHRvIGVuY2xvc2UgdGhlIGNhcHRpb24uPC9kZD4KCTxkZD5SZXF1aXJl
ZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTCB0
YWcgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgo8L2Rs
PgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfaWQgLyZn
dDs8L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBpbWFnZSBpZCBudW1iZXIuPC9wPgoK
PCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfbGlzdCAvJmd0
OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IGFydGljbGUgaW1hZ2UgbGlzdC4gPHN0
cm9uZz5Pbmx5IGF2YWlsYWJsZSB0bwoJPGNvZGU+Jmx0O3R4cDp1cG1fYXJ0aWNsZV9pbWFn
ZSAvJmd0OzwvY29kZT4mIzgyMTc7cyA8Y29kZT53cmFwZm9ybTwvY29kZT48L3N0cm9uZz4u
PC9wPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfbmFt
ZSAvJmd0OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IGltYWdlIG5hbWUuPC9wPgoK
PCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfdGh1bWJfaGVp
Z2h0IC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlwdGlvbjogdGh1bWJuYWlsIGltYWdl
IGhlaWdodC48L3A+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2RlPiZsdDt0eHA6dXBt
X2ltZ190aHVtYl91cmwgLyZndDs8L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiB0aHVt
Ym5haWwgaW1hZ2UgdXJsLjwvcD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0
O3R4cDp1cG1faW1nX3RodW1iX3dpZHRoIC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlw
dGlvbjogdGh1bWJuYWlsIGltYWdlIHdpZHRoLjwvcD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8
cD48YSBocmVmPSIjc3RhcnQiIHRpdGxlPSJKdW1wIGJhY2sgY29udGVudHMgbGlzdCI+JiM4
NjE3OzwvYT48L3A+CgoKCjxoMiBpZD0iY3JlZGl0LXNlY3Rpb24iPkNyZWRpdCBhbmQgRGV2
ZWxvcGVyIE5vdGVzPC9oMj4KCjxwPlRoZSBjb2RlIGZyb20gdGhpcyBwbHVnaW4gaXMgbm90
IGVudGlyZWx5ICYjODIyMDtmcm9tIHNjcmF0Y2gmIzgyMjE7OiBJIG1hZGUgdXNlIG9mIGNv
ZGUKYWxyZWFkeSBleGlzdGluZyBpbiBUZXh0cGF0dGVybi4gVGhpcyBtYWRlIGl0IGEgbG90
IGVhc2llciBmb3IgbWUgdG8gY3JlYXRlIHdoYXQgSSBob3BlIGlzCmEgbmVhci1zZWFtbGVz
cyBwbHVnaW4uIEkgZG9uJiM4MjE3O3Qga25vdyBmb3IgY2VydGFpbiB3aG9tIHdyb3RlIHRo
ZSBwYXJ0cyBJIHVzZWQsCnRob3VnaCBJIHN1c3BlY3QgaXQgaXMgbGFyZ2VseSA8YSBocmVm
PSJodHRwOi8vdGV4dGlzbS5jb20vIj5EZWFuPC9hPidzIHdvcmsuPC9wPgoKPHA+UGFydCBv
ZiB0aGUgbXVsdGlwbGUgYXJ0aWNsZSBpbWFnZXMgc3VwcG9ydCB3YXMgb3JpZ2luYWxseSBi
b3Jyb3dlZCBmcm9tCjxhIGhyZWY9Imh0dHA6Ly90aHJlc2hvbGRzdGF0ZS5jb20vc29mdHdh
cmUvMzY5OS96ZW1fYXJ0aWNsZV9pbWFnZSI+emVtX2FydGljbGVfaW1hZ2U8L2E+LjwvcD4i
O3M6ODoiaGVscF9yYXciO3M6MTc0Njg6IjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9
InNjcmVlbixwcm9qZWN0aW9uIj4KPCEtLQpwcmUsIGNvZGUgewpiYWNrZ3JvdW5kLWNvbG9y
OiAjZWVlOwp9CgpoMyBjb2RlIHsKZm9udC1mYW1pbHk6IGluaGVyaXQ7CmJhY2tncm91bmQt
Y29sb3I6IHRyYW5zcGFyZW50Owp9Ci0tPgo8L3N0eWxlPgoKPGgxPnVwbV9pbWFnZTwvaDE+
Cgo8b2wgaWQ9InN0YXJ0Ij4KCTxsaT48YSBocmVmPSIjaW50cm8tc2VjdGlvbiI+SW50cm88
L2E+PC9saT4KCTxsaT48YSBocmVmPSIjdGFnLXNlY3Rpb24iPk5ldyBJbWFnZSBUYWdzPC9h
PjwvbGk+Cgk8bGk+PGEgaHJlZj0iI2N1c3RvbS1zZWN0aW9uIj5DdXN0b21pemluZyBPdXRw
dXQ8L2E+PC9saT4KCTxsaT48YSBocmVmPSIjY3JlZGl0LXNlY3Rpb24iPkNyZWRpdCBhbmQg
RGV2ZWxvcGVyIE5vdGVzPC9hPjwvbGk+Cjwvb2w+CgoKPGgyIGlkPSJpbnRyby1zZWN0aW9u
Ij5JbnRybzwvaDI+Cgo8cD5UZXh0cGF0dGVybiBjb21lcyB3aXRoIGl0cyBvd24gaW1hZ2Ug
dGFncywgYnV0IGFzIEkgd29ya2VkIG9uIHRoaXMgcGx1Z2luLCBJIGRlY2lkZWQgdG8KY3Jl
YXRlIGV4dGVuZGVkIHZlcnNpb25zLCB0byBhbGxvdyBhIGxvdCBtb3JlIGN1c3RvbWl6YXRp
b24uIFRoaXMgcGx1Z2luIHdvbiYjODIxNzt0CmF1dG9tYXRpY2FsbHkgY3JlYXRlIHZhc3Qs
IGNvbXBsaWNhdGVkIGdhbGxlcmllcywgYnV0IHlvdSBjb3VsZCBjZXJ0YWlubHkgdXNlIGl0
IHRvCmNyZWF0ZSBhIG1pbmktZ2FsbGVyeSBvZiBzb3J0cy4gPGEgaHJlZj0iI3N0YXJ0IiB0
aXRsZT0iSnVtcCBiYWNrIGNvbnRlbnRzIGxpc3QiPiYjODYxNzs8L2E+PC9wPgoKCjxoMiBp
ZD0idGFnLXNlY3Rpb24iPk5ldyBJbWFnZSBUYWdzPC9oMj4KCjxwPlRoaXMgcGx1Z2luIHBy
b3ZpZGVzIHlvdSB3aXRoIHR3byBuZXcgaW1hZ2UgdGFncy48L3A+Cgo8aDM+PGNvZGU+Jmx0
O3R4cDp1cG1faW1hZ2UgLyZndDs8L2NvZGU+PC9oMz4KCjxkbD4KCTxkdD48Y29kZT48Yj5j
bGFzcz0iPC9iPjxlbT5jbGFzcyBuYW1lPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRk
PlRoZSAoWClIVE1ML0NTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgaW1hZ2UuPC9kZD4KCTxk
ZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQg
KFgpSFRNTC9DU1MgY2xhc3MgbmFtZS48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0
LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPmZvcm09IjwvYj48ZW0+Zm9ybSBuYW1lPC9lbT48Yj4i
PC9iPjwvY29kZT48L2R0PgoJPGRkPkN1c3RvbWl6ZSB0aGUgaW1hZ2UgZGV0YWlscyBvdXRw
dXQsIGZvciB0eXBlIDxjb2RlPjxiPmltYWdlPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5SZXF1
aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgZXhpc3RpbmcgZm9y
bSYjODIxNztzIG5hbWUuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoK
CTxkdD48Y29kZT48Yj5pZD0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9k
dD4KCTxkZD5UaGUgKFgpSFRNTC9DU1MgaWQgdG8gYXBwbHkgdG8gdGhlIGltYWdlLjwvZGQ+
Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZh
bGlkIChYKUhUTUwvQ1NTIGlkLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9k
ZD4KCgk8ZHQ+PGNvZGU+PGI+aW1hZ2VfaWQ9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+
PC9jb2RlPiBvciA8Y29kZT48Yj5pbWFnZV9uYW1lPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4i
PC9iPjwvY29kZT48L2R0PgoJPGRkPlRoZSBpbWFnZSB0byBkaXNwbGF5LjwvZGQ+Cgk8ZGQ+
UmVxdWlyZWQ6IFllcy48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IHRoZSBpbWFnZSBp
ZCMgb3IgaW1hZ2UgbmFtZSwgYXMgbGlzdGVkIGluIHRoZSBpbWFnZSB0YWIuPC9kZD4KCTxk
ZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5zaG93X2FsdD0i
PC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5XaGV0aGVyIHRv
IHNob3cgdGhlIGFsdGVybmF0ZSB0ZXh0IGFzIGxpc3RlZCBpbiB0aGUgaW1hZ2UgdGFiLjwv
ZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNv
ZGU+PGI+eWVzPC9iPjwvY29kZT4gb3IgPGNvZGU+PGI+bm88L2I+PC9jb2RlPi48L2RkPgoJ
PGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxiPnllczwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0
Pjxjb2RlPjxiPnNob3dfdGl0bGU9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2Rl
PjwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBzaG93IHRoZSBjYXB0aW9uLCBhcyBsaXN0ZWQgaW4g
dGhlIGltYWdlIHRhYiwgYXMgdGhlIGltYWdlJiM4MjE3O3MgdGl0bGUuPC9kZD4KCTxkZD5S
ZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj55ZXM8
L2I+PC9jb2RlPiBvciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVmYXVs
dCB2YWx1ZTogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+
dHlwZT0iPC9iPjxlbT5pbWFnZSB0eXBlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRk
PlRoZSBraW5kIG9mIGltYWdlIHRvIGRpc3BsYXkuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8u
PC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj5pbWFnZTwvYj48L2NvZGU+
IChkZWZhdWx0KSwKCTxjb2RlPjxiPnRodW1ibmFpbDwvYj48L2NvZGU+LCBhbmQgPGNvZGU+
PGI+cG9wdXA8L2I+PC9jb2RlPi4gVGhlIHBhcmFtZXRlcgoJPGNvZGU+PGI+YXJ0aWNsZTwv
Yj48L2NvZGU+IGhhcyBiZWVuIGRlcHJlY2F0ZWQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVl
OiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj51cmw9IjwvYj48ZW0+d2VicGFnZSB1cmw8
L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2Vic2l0ZSB1cmwsIG9yIGFydGljbGUg
aWQjLCB0byBtYWtlIHRoZSBpbWFnZSBsaW5rIHRvLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5v
LjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogdXJsIGFkZHJlc3Mgb3IgYXJ0aWNsZSBp
ZCMuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48
Yj53cmFwdGFnPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRk
PlRoZSAoWClIVE1MIHRhZyB0byB3cmFwIGFyb3VuZCB0aGUgaW1hZ2UgKG9yIHRoZSBsaXN0
LCBpZiB1c2luZyBtdWx0aXBsZSBpbWFnZXMpLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwv
ZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIChYKUhUTUwgZWxlbWVudCBu
YW1lLiBGb3IgZXhhbXBsZTogPGNvZGU+PGI+cDwvYj48L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVm
YXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+eGh0bWw9IjwvYj48ZW0+
dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0aGUgdGFnIG91
dHB1dHMgeGh0bWwgb3IgaHRtbC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRk
PkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPnllczwvYj48L2NvZGU+IG9yIDxjb2RlPjxi
Pm5vPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8Y29kZT48Yj55ZXM8
L2I+PC9jb2RlPi48L2RkPgo8L2RsPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4m
bHQ7dHhwOnVwbV9hcnRpY2xlX2ltYWdlIC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8ZGw+Cgk8ZHQ+
PGNvZGU+PGI+YnJlYWs9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+
Cgk8ZGQ+SWYgdXNpbmcgbXVsdGlwbGUgaW1hZ2VzIGFuZCB0aGUgd3JhcHRhZyBwYXJhbWV0
ZXIsIHRoZSAoWClIVE1MIHRhZyB0byBzZXBhcmF0ZQoJCWltYWdlcyB3aXRoLjwvZGQ+Cgk8
ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlk
IChYKUhUTUwgZWxlbWVudCBuYW1lLCBmb3IgZXhhbXBsZSwgPGNvZGU+PGI+YnI8L2I+PC9j
b2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2Rl
PjxiPmJyZWFrX2NsYXNzPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0
PgoJPGRkPklmIHVzaW5nIG11bHRpcGxlIGltYWdlcyBhbmQgdGhlIHdyYXB0YWcgcGFyYW1l
dGVyLCB0aGUgKFgpSFRNTC9DU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlCglicmVha3RhZy48
L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFu
eSB2YWxpZCAoWClIVE1ML0NTUyBjbGFzcyBuYW1lLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1
ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+Y2xhc3M9IjwvYj48ZW0+Y2xhc3MgbmFt
ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGUgKFgpSFRNTC9DU1MgY2xhc3Mg
dG8gYXBwbHkgdG8gdGhlIGltYWdlIG9yIHRoZSBpbWFnZSYjODIxNztzIHdyYXB0YWcuIElm
IGEgbGlzdAoJCW9mIGFydGljbGUgaW1hZ2VzLCB0aGVuIHRoZSBjbGFzcyB0byBhcHBseSB0
byB0aGUgbGlzdCYjODIxNztzIHdyYXB0YWcuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9k
ZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTC9DU1MgY2xhc3Mg
bmFtZS48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2Rl
PjxiPmZvcm09IjwvYj48ZW0+Zm9ybSBuYW1lPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJ
PGRkPkN1c3RvbWl6ZSB0aGUgaW1hZ2UgZGV0YWlscyBvdXRwdXQsIGZvciB0eXBlIDxjb2Rl
PjxiPmltYWdlPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxk
ZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgZXhpc3RpbmcgZm9ybSYjODIxNztzIG5hbWUuPC9k
ZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj53cmFw
Zm9ybT0iPC9iPjxlbT5mb3JtIG5hbWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+
Q3VzdG9taXplIHRoZSBhZGRpdGlvbmFsIG91dHB1dCBmb3IgYXJ0aWNsZSBpbWFnZSBsaXN0
cyAodXNlIHdpdGggdXBtX2ltZ19saXN0KS48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2Rk
PgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSBleGlzdGluZyBmb3JtJiM4MjE3O3MgbmFt
ZS48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxi
PmlkPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoZSAo
WClIVE1ML0NTUyBpZCB0byBhcHBseSB0byB0aGUgaW1hZ2UuPC9kZD4KCTxkZD5SZXF1aXJl
ZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTC9D
U1MgaWQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29k
ZT48Yj5saW1pdD0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxk
ZD5JZiB1c2luZyBtdWx0aXBsZSBpbWFnZXMsIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbWFn
ZXMgdG8gc2hvdy48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJs
ZSB2YWx1ZXM6IGFueSB3aG9sZSBudW1iZXIuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8
Y29kZT48Yj4wPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+b2Zmc2V0PSI8L2I+
PGVtPmludGVnZXI8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+SWYgdXNpbmcgbXVs
dGlwbGUgaW1hZ2VzLCB0aGUgbnVtYmVyIG9mIGltYWdlcyB0byBza2lwIChub3QgZGlzcGxh
eSkgaW4gdGhlIGxpc3QuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFp
bGFibGUgdmFsdWVzOiBhbnkgd2hvbGUgbnVtYmVyLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1
ZTogPGNvZGU+PGI+MDwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnNob3dfYWx0
PSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIg
dG8gc2hvdyB0aGUgYWx0ZXJuYXRlIHRleHQgYXMgbGlzdGVkIGluIHRoZSBpbWFnZSB0YWIu
PC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8
Y29kZT48Yj55ZXM8L2I+PC9jb2RlPiBvciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+
Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KCgk8
ZHQ+PGNvZGU+PGI+c2hvd19oZWlnaHQ9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9j
b2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0byBpbmNsdWRlIHRoZSBpbWFnZSBoZWlnaHQgaW4g
dGhlIGltYWdlIHRhZyByZXR1cm5lZC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJ
PGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPnllczwvYj48L2NvZGU+IG9yIDxjb2Rl
PjxiPm5vPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8Y29kZT48Yj55
ZXM8L2I+PC9jb2RlPi48L2RkPgoKCTxkdD48Y29kZT48Yj5zaG93X3RpdGxlPSI8L2I+PGVt
PnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIgdG8gc2hvdyB0
aGUgY2FwdGlvbiwgYXMgbGlzdGVkIGluIHRoZSBpbWFnZSB0YWIsIGFzIHRoZSBpbWFnZSYj
ODIxNztzIChYKUhUTUwgdGl0bGUgYXR0cmlidXRlLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5v
LjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+eWVzPC9iPjwvY29kZT4g
b3IgPGNvZGU+PGI+bm88L2I+PC9jb2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDxj
b2RlPjxiPnllczwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnNob3dfd2lkdGg9
IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+V2hldGhlciB0
byBpbmNsdWRlIHRoZSBpbWFnZSB3aWR0aCBpbiB0aGUgaW1hZ2UgdGFnIHJldHVybmVkLjwv
ZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNv
ZGU+PGI+eWVzPC9iPjwvY29kZT4gb3IgPGNvZGU+PGI+bm88L2I+PC9jb2RlPi48L2RkPgoJ
PGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxiPnllczwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0
Pjxjb2RlPjxiPnR5cGU9IjwvYj48ZW0+aW1hZ2UgdHlwZTwvZW0+PGI+IjwvYj48L2NvZGU+
PC9kdD4KCTxkZD5UaGUga2luZCBvZiBpbWFnZSB0byBkaXNwbGF5LjwvZGQ+Cgk8ZGQ+UmVx
dWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+aW1hZ2U8
L2I+PC9jb2RlPiwKCTxjb2RlPjxiPnRodW1ibmFpbDwvYj48L2NvZGU+LCBhbmQgPGNvZGU+
PGI+cG9wdXA8L2I+PC9jb2RlPi48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IDxjb2RlPjxi
PmltYWdlPC9iPjwvY29kZT4uPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+dXJsPSI8L2I+PGVtPndl
YnBhZ2UgdXJsPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldlYnNpdGUgdXJsLCBv
ciBhcnRpY2xlIGlkIywgdG8gbWFrZSB0aGUgaW1hZ2UgbGluayB0by48L2RkPgoJPGRkPlJl
cXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IHVybCBhZGRyZXNzIG9y
IGFydGljbGUgaWQjLjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8
ZHQ+PGNvZGU+PGI+d3JhcHRhZz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+
PC9kdD4KCTxkZD5UaGUgKFgpSFRNTCB0YWcgdG8gd3JhcCBhcm91bmQgdGhlIGltYWdlIChv
ciB0aGUgbGlzdCwgaWYgdXNpbmcgbXVsdGlwbGUgaW1hZ2VzKS48L2RkPgoJPGRkPlJlcXVp
cmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCAoWClIVE1M
IGVsZW1lbnQgbmFtZSwgZm9yIGV4YW1wbGUsIDxjb2RlPjxiPnA8L2I+PC9jb2RlPi48L2Rk
PgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPnhodG1s
PSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIg
dGhlIHRhZyBvdXRwdXRzIFhIVE1MIG9yIEhUTUwuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8u
PC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiA8Y29kZT48Yj55ZXM8L2I+PC9jb2RlPiBv
ciA8Y29kZT48Yj5ubzwvYj48L2NvZGU+LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogPGNv
ZGU+PGI+eWVzPC9iPjwvY29kZT4uPC9kZD4KPC9kbD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8
aDM+PGNvZGU+Jmx0O3R4cDp1cG1faWZfYXJ0aWNsZV9pbWFnZSAvJmd0OzwvY29kZT48L2gz
PgoKPHVsPgoJPGxpPkRldGVybWluZSB3aGV0aGVyIGFuIGFydGljbGUgaW1hZ2UgaGFzIGJl
ZW4gZGVmaW5lZC48L2xpPgoJPGxpPkNvbmRpdGlvbmFsIHdyYXBwaW5nIHRhZywgbm8gYXR0
cmlidXRlcy48L2xpPgo8L3VsPgoKCjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0
O3R4cDp1cG1faWZfYXJ0aWNsZV9pbWFnZV9saXN0IC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8dWw+
Cgk8bGk+RGV0ZXJtaW5lIHdoZXRoZXIgbXVsdGlwbGUgYXJ0aWNsZSBpbWFnZXMgaGF2ZSBi
ZWVuIGRlZmluZWQuPC9saT4KCTxsaT5Db25kaXRpb25hbCB3cmFwcGluZyB0YWcsIG5vIGF0
dHJpYnV0ZXMuPC9saT4KPC91bD4KCgo8cD48YSBocmVmPSIjc3RhcnQiIHRpdGxlPSJKdW1w
IGJhY2sgY29udGVudHMgbGlzdCI+JiM4NjE3OzwvYT48L3A+CgoKCjxoMiBpZD0iY3VzdG9t
LXNlY3Rpb24iPkN1c3RvbWl6aW5nIE91dHB1dDwvaDI+Cgo8cD5TdXBwbHkgdGhlIGltYWdl
IGlkIG9yIG5hbWUsIGFuZCB0aGUgZm9ybSB0byBiZSB1c2VkLiBBbHRlcm5hdGVseSB5b3Ug
bWF5IHVzZSB0aGUgdGFncyBhcwpjb250YWluaW5nIG9yIHdyYXBwaW5nIHRhZ3MuIEZvciBl
eGFtcGxlOjwvcD4KCjxwPjxjb2RlPiZsdDt0eHA6dXBtX2ltYWdlIHR5cGU9ImltYWdlIiZn
dDsmbHQ7dHhwOnVwbV9pbWdfY2FwdGlvbiAvJmd0OyZsdDsvdHhwOnVwbV9pbWFnZSZndDs8
L2NvZGU+PC9wPgoKPHA+VGhlIHRhZ3MgYXZhaWxhYmxlIHRvIHlvdSBmcm9tIHdpdGhpbiBh
IGZvcm0vd3JhcHBpbmcgdGFnIGFyZSBmYWlybHkgc2VsZi1leHBsYW5hdG9yeS48L3A+Cgo8
IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2RlPiZsdDt0eHA6dXBtX2ltZ19hbHQgLyZndDs8
L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBpbWFnZSBhbHRlcm5hdGUgdGV4dC48L3A+
Cgo8ZGw+Cgk8ZHQ+PGNvZGU+PGI+ZXNjYXBlPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9i
PjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIgdG8gZXNjYXBlIHRoZSByZXN1bHQgdG8gb3V0
cHV0IHZhbGlkIG1hcmt1cC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2
YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPmh0bWw8L2I+PC9jb2RlPiBvciB1bnNldC48L2Rk
PgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CjwvZGw+Cgo8IS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tPgoKPGgzPjxjb2RlPiZsdDt0eHA6dXBtX2ltZ19jYXB0aW9uIC8mZ3Q7PC9jb2RlPjwv
aDM+Cgo8cD5EZXNjcmlwdGlvbjogaW1hZ2UgY2FwdGlvbi48L3A+Cgo8ZGw+Cgk8ZHQ+PGNv
ZGU+PGI+Y2xhc3M9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8
ZGQ+VGhlIChYKUhUTUwvQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSB3cmFwdGFnLjwvZGQ+
Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZh
bGlkIENTUyBjbGFzcyBuYW1lIG9yIHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTog
dW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+ZXNjYXBlPSI8L2I+PGVtPnZhbHVlPC9lbT48
Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIgdG8gZXNjYXBlIHRoZSByZXN1bHQg
dG8gb3V0cHV0IHZhbGlkIG1hcmt1cC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJ
PGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPmh0bWw8L2I+PC9jb2RlPiBvciB1bnNl
dC48L2RkPgoJPGRkPkRlZmF1bHQgdmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxi
PmxhYmVsPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRo
aXMgc3RyaW5nIHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBjYXB0aW9uLjwvZGQ+Cgk8ZGQ+
UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHRleHQgb3Ig
dW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29k
ZT48Yj5sYWJlbHRhZz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4K
CTxkZD5UaGUgKFgpSFRNTCB0YWcgdG8gZW5jbG9zZSB0aGUgbGFiZWwuPC9kZD4KCTxkZD5S
ZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgp
SFRNTCB0YWcgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2Rk
PgoKCTxkdD48Y29kZT48Yj53cmFwdGFnPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwv
Y29kZT48L2R0PgoJPGRkPlRoZSAoWClIVE1MIHRhZyB0byBlbmNsb3NlIHRoZSBjYXB0aW9u
LjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczog
YW55IHZhbGlkIChYKUhUTUwgdGFnIG9yIHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1
ZTogdW5zZXQuPC9kZD4KPC9kbD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0
O3R4cDp1cG1faW1nX2NhdGVnb3J5IC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlwdGlv
bjogdGhlIGNhdGVnb3J5IHRoZSBpbWFnZSBiZWxvbmdzIHRvLjwvcD4KCjxkbD4KCTxkdD48
Y29kZT48Yj5jbGFzcz0iPC9iPjxlbT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4K
CTxkZD5UaGUgKFgpSFRNTC9DU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIHdyYXB0YWcuPC9k
ZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkg
dmFsaWQgQ1NTIGNsYXNzIG5hbWUgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVl
OiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5sYWJlbD0iPC9iPjxlbT52YWx1ZTwvZW0+
PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGlzIHN0cmluZyB3aWxsIGJlIHByZXBlbmRl
ZCB0byB0aGUgY2FwdGlvbi48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2
YWlsYWJsZSB2YWx1ZXM6IGFueSB0ZXh0IG9yIHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2
YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+bGFiZWx0YWc9IjwvYj48ZW0+dmFs
dWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhlIChYKUhUTUwgdGFnIHRvIGVu
Y2xvc2UgdGhlIGxhYmVsLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8ZGQ+QXZh
aWxhYmxlIHZhbHVlczogYW55IHZhbGlkIChYKUhUTUwgdGFnIG9yIHVuc2V0LjwvZGQ+Cgk8
ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+dGl0bGU9Ijwv
Yj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhlIChYKUhUTUwg
dGFnIHRvIGVuY2xvc2UgdGhlIGxhYmVsLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+
Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogPGNvZGU+PGI+MDwvYj48L2NvZGU+ICh6ZXJvL29m
Zikgb3IgPGNvZGU+PGI+MTwvYj48L2NvZGU+IChvbmUvb24pLjwvZGQ+Cgk8ZGQ+RGVmYXVs
dCB2YWx1ZTogPGNvZGU+PGI+MDwvYj48L2NvZGU+LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPndy
YXB0YWc9IjwvYj48ZW0+dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhl
IChYKUhUTUwgdGFnIHRvIGVuY2xvc2UgdGhlIGNhcHRpb24uPC9kZD4KCTxkZD5SZXF1aXJl
ZDogTm8uPC9kZD4KCTxkZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTCB0
YWcgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgo8L2Rs
PgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9pbWdfZGF0ZSAv
Jmd0OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IHRoZSBkYXRlIHRoZSBpbWFnZSB3
YXMgdXBsb2FkZWQuPC9wPgoKPGRsPgoJPGR0Pjxjb2RlPjxiPmZvcm1hdD0iPC9iPjxlbT52
YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD48L2RkPgoJPGRkPlJlcXVpcmVk
OiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IGFueSB2YWxpZCA8YSBocmVmPSJo
dHRwOi8vcGhwLm5ldC9zdHJmdGltZSI+c3RyZnRpbWUoKTwvYT4gc3RyaW5nIG9yIDxjb2Rl
PjxiPnNpbmNlPC9iPjwvY29kZT4uPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldCAo
dXNlICJEYXRlIGZvcm1hdCIgcHJlZmVyZW5jZSkuPC9kZD4KCgk8ZHQ+PGNvZGU+PGI+Z210
PSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPldoZXRoZXIg
dG8gZm9ybWF0IGRhdGV0aW1lIGFjY29yZGluZyBHTVQgdGltZS48L2RkPgoJPGRkPlJlcXVp
cmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6IDxjb2RlPjxiPjA8L2I+PC9j
b2RlPiAobm8sIHVzZSAiVGltZSBab25lIiBwcmVmZXJlbmNlKSBvciA8Y29kZT48Yj4xPC9i
PjwvY29kZT4gKHllcykuPC9kZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiA8Y29kZT48Yj4wPC9i
PjwvY29kZT4gKG5vKTwvZGQ+CgoJPGR0Pjxjb2RlPjxiPmxhbmc9IjwvYj48ZW0+dmFsdWU8
L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+Rm9ybWF0IHRpbWUgc3RyaW5nIGFjY29y
ZGluZyB0byBzcGVjaWZpZWQgbGFuZ3VhZ2UgbG9jYWxlLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6
IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIDwvZGQ+Cgk8ZGQ+
RGVmYXVsdCB2YWx1ZTogdW5zZXQgKHVzZSAiTGFuZ3VhZ2UiIGxvY2FsZSBwcmVmZXJlbmNl
KS48L2RkPgo8L2RsPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVw
bV9pbWdfZnVsbF9oZWlnaHQgLyZndDs8L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBm
dWxsLXNpemUgaW1hZ2UgaGVpZ2h0LjwvcD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNv
ZGU+Jmx0O3R4cDp1cG1faW1nX2Z1bGxfdXJsIC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNj
cmlwdGlvbjogZnVsbC1zaXplIGltYWdlIHVybC48L3A+Cgo8IS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoK
PGgzPjxjb2RlPiZsdDt0eHA6dXBtX2ltZ19mdWxsX3dpZHRoIC8mZ3Q7PC9jb2RlPjwvaDM+
Cgo8cD5EZXNjcmlwdGlvbjogZnVsbC1zaXplIGltYWdlIHdpZHRoLjwvcD4KCjwhLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2hyZWYgLyZndDs8L2NvZGU+
PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiB3ZWJzaXRlIHVybCB0byBtYWtlIHRoZSBpbWFnZSBs
aW5rIHRvLCBhcyBwYXNzZWQgYnkgdGhlIHVybCBwYXJhbWV0ZXIuPC9wPgoKPHA+SWYgdXNl
ZCBhcyBhIHdyYXBwaW5nIHRhZywgaXQgd2lsbCB0dXJuIHdoYXRldmVyIGl0IHN1cnJvdW5k
cyBpbnRvIGEgbGluay48L3A+Cgo8ZGw+Cgk8ZHQ+PGNvZGU+PGI+Y2xhc3M9IjwvYj48ZW0+
dmFsdWU8L2VtPjxiPiI8L2I+PC9jb2RlPjwvZHQ+Cgk8ZGQ+VGhlIChYKUhUTUwvQ1NTIGNs
YXNzIHRvIGFwcGx5IHRvIHRoZSB3cmFwdGFnLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwv
ZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIENTUyBjbGFzcyBuYW1lIG9y
IHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KCgk8ZHQ+PGNv
ZGU+PGI+ZXNjYXBlPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJ
PGRkPldoZXRoZXIgdG8gZXNjYXBlIHRoZSByZXN1bHQgdG8gb3V0cHV0IHZhbGlkIG1hcmt1
cC48L2RkPgoJPGRkPlJlcXVpcmVkOiBOby48L2RkPgoJPGRkPkF2YWlsYWJsZSB2YWx1ZXM6
IDxjb2RlPjxiPmh0bWw8L2I+PC9jb2RlPiBvciB1bnNldC48L2RkPgoJPGRkPkRlZmF1bHQg
dmFsdWU6IHVuc2V0LjwvZGQ+CgoJPGR0Pjxjb2RlPjxiPmxhYmVsPSI8L2I+PGVtPnZhbHVl
PC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoaXMgc3RyaW5nIHdpbGwgYmUgcHJl
cGVuZGVkIHRvIHRoZSBjYXB0aW9uLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6IE5vLjwvZGQ+Cgk8
ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHRleHQgb3IgdW5zZXQuPC9kZD4KCTxkZD5EZWZh
dWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj5sYWJlbHRhZz0iPC9iPjxl
bT52YWx1ZTwvZW0+PGI+IjwvYj48L2NvZGU+PC9kdD4KCTxkZD5UaGUgKFgpSFRNTCB0YWcg
dG8gZW5jbG9zZSB0aGUgbGFiZWwuPC9kZD4KCTxkZD5SZXF1aXJlZDogTm8uPC9kZD4KCTxk
ZD5BdmFpbGFibGUgdmFsdWVzOiBhbnkgdmFsaWQgKFgpSFRNTCB0YWcgb3IgdW5zZXQuPC9k
ZD4KCTxkZD5EZWZhdWx0IHZhbHVlOiB1bnNldC48L2RkPgoKCTxkdD48Y29kZT48Yj53cmFw
dGFnPSI8L2I+PGVtPnZhbHVlPC9lbT48Yj4iPC9iPjwvY29kZT48L2R0PgoJPGRkPlRoZSAo
WClIVE1MIHRhZyB0byBlbmNsb3NlIHRoZSBjYXB0aW9uLjwvZGQ+Cgk8ZGQ+UmVxdWlyZWQ6
IE5vLjwvZGQ+Cgk8ZGQ+QXZhaWxhYmxlIHZhbHVlczogYW55IHZhbGlkIChYKUhUTUwgdGFn
IG9yIHVuc2V0LjwvZGQ+Cgk8ZGQ+RGVmYXVsdCB2YWx1ZTogdW5zZXQuPC9kZD4KPC9kbD4K
CjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2lkIC8mZ3Q7
PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlwdGlvbjogaW1hZ2UgaWQgbnVtYmVyLjwvcD4KCjwh
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX2xpc3QgLyZndDs8
L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBhcnRpY2xlIGltYWdlIGxpc3QuIDxzdHJv
bmc+T25seSBhdmFpbGFibGUgdG8KCTxjb2RlPiZsdDt0eHA6dXBtX2FydGljbGVfaW1hZ2Ug
LyZndDs8L2NvZGU+JiM4MjE3O3MgPGNvZGU+d3JhcGZvcm08L2NvZGU+PC9zdHJvbmc+Ljwv
cD4KCjwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX25hbWUg
LyZndDs8L2NvZGU+PC9oMz4KCjxwPkRlc2NyaXB0aW9uOiBpbWFnZSBuYW1lLjwvcD4KCjwh
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0+Cgo8aDM+PGNvZGU+Jmx0O3R4cDp1cG1faW1nX3RodW1iX2hlaWdo
dCAvJmd0OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRpb246IHRodW1ibmFpbCBpbWFnZSBo
ZWlnaHQuPC9wPgoKPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KCjxoMz48Y29kZT4mbHQ7dHhwOnVwbV9p
bWdfdGh1bWJfdXJsIC8mZ3Q7PC9jb2RlPjwvaDM+Cgo8cD5EZXNjcmlwdGlvbjogdGh1bWJu
YWlsIGltYWdlIHVybC48L3A+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPGgzPjxjb2RlPiZsdDt0
eHA6dXBtX2ltZ190aHVtYl93aWR0aCAvJmd0OzwvY29kZT48L2gzPgoKPHA+RGVzY3JpcHRp
b246IHRodW1ibmFpbCBpbWFnZSB3aWR0aC48L3A+Cgo8IS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKPHA+
PGEgaHJlZj0iI3N0YXJ0IiB0aXRsZT0iSnVtcCBiYWNrIGNvbnRlbnRzIGxpc3QiPiYjODYx
Nzs8L2E+PC9wPgoKCgo8aDIgaWQ9ImNyZWRpdC1zZWN0aW9uIj5DcmVkaXQgYW5kIERldmVs
b3BlciBOb3RlczwvaDI+Cgo8cD5UaGUgY29kZSBmcm9tIHRoaXMgcGx1Z2luIGlzIG5vdCBl
bnRpcmVseSAmIzgyMjA7ZnJvbSBzY3JhdGNoJiM4MjIxOzogSSBtYWRlIHVzZSBvZiBjb2Rl
CmFscmVhZHkgZXhpc3RpbmcgaW4gVGV4dHBhdHRlcm4uIFRoaXMgbWFkZSBpdCBhIGxvdCBl
YXNpZXIgZm9yIG1lIHRvIGNyZWF0ZSB3aGF0IEkgaG9wZSBpcwphIG5lYXItc2VhbWxlc3Mg
cGx1Z2luLiBJIGRvbiYjODIxNzt0IGtub3cgZm9yIGNlcnRhaW4gd2hvbSB3cm90ZSB0aGUg
cGFydHMgSSB1c2VkLAp0aG91Z2ggSSBzdXNwZWN0IGl0IGlzIGxhcmdlbHkgPGEgaHJlZj0i
aHR0cDovL3RleHRpc20uY29tLyI+RGVhbjwvYT4ncyB3b3JrLjwvcD4KCjxwPlBhcnQgb2Yg
dGhlIG11bHRpcGxlIGFydGljbGUgaW1hZ2VzIHN1cHBvcnQgd2FzIG9yaWdpbmFsbHkgYm9y
cm93ZWQgZnJvbQo8YSBocmVmPSJodHRwOi8vdGhyZXNob2xkc3RhdGUuY29tL3NvZnR3YXJl
LzM2OTkvemVtX2FydGljbGVfaW1hZ2UiPnplbV9hcnRpY2xlX2ltYWdlPC9hPi48L3A+Ijtz
OjE1OiJhbGxvd19odG1sX2hlbHAiO2k6MTtzOjM6Im1kNSI7czozMjoiNGM4M2NiZTgzNTg0
MDQ4ZTNjYWEwMDFlODdhNzY4NGUiO30=