Advertisement
HackerNnt

Untitled

Sep 4th, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 257.92 KB | None | 0 0
  1. Cgo8P3BocCBlcnJvcl9yZXBvcnRpbmcoNyk7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cm9iX3N0YXJ0KCk7CiRtdGltZSA9IGV4cGxvZGUoJyAnLCBtaWNyb3RpbWUoKSk7CiRzdGFydHRpbWUgPSAkbXRpbWVbMV0gKyAkbXRpbWVbMF07CmRlZmluZSgnU0FfUk9PVCcsIHN0cl9yZXBsYWNlKCdcXCcsICcvJywgZGlybmFtZSgnaW5kZXgucGhwJykpIC4gJy8nKTsKZGVmaW5lKCdJU19XSU4nLCBESVJFQ1RPUllfU0VQQVJBVE9SID09ICdcXCcpOwpkZWZpbmUoJ0lTX0NPTScsIGNsYXNzX2V4aXN0cygnQ09NJykgPyAxIDogMCk7CmRlZmluZSgnSVNfR1BDJywgZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSk7CiRkaXNfZnVuYyA9IGdldF9jZmdfdmFyKCdkaXNhYmxlX2Z1bmN0aW9ucycpOwpkZWZpbmUoJ0lTX1BIUElORk8nLCAoIWVyZWdpKCJwaHBpbmZvIiwgJGRpc19mdW5jKSkgPyAxIDogMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKZm9yZWFjaCAoYXJyYXkoJ19HRVQnLCAnX1BPU1QnKSBhcyAkX3JlcXVlc3QpIHsKICAgIGZvcmVhY2ggKCQkX3JlcXVlc3QgYXMgJF9rZXkgPT4gJF92YWx1ZSkgewogICAgICAgIGlmICgkX2tleXswfSAhPSAnXycpIHsKICAgICAgICAgICAgaWYgKElTX0dQQykgewogICAgICAgICAgICAgICAgJF92YWx1ZSA9IHNfYXJyYXkoJF92YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJCRfa2V5ID0gJF92YWx1ZTsKICAgICAgICB9CiAgICB9Cn0KJGFkbWluID0gYXJyYXkoKTsKJGFkbWluWydjaGVjayddID0gdHJ1ZTsKJGFkbWluWydwYXNzJ10gPSAnbGFtb3NjYXInOwokYWRtaW5bJ2Nvb2tpZXByZSddID0gJyc7CiRhZG1pblsnY29va2llZG9tYWluJ10gPSAnJzsKJGFkbWluWydjb29raWVwYXRoJ10gPSAnLyc7CiRhZG1pblsnY29va2llbGlmZSddID0gODY0MDA7CmlmICgkY2hhcnNldCA9PSAndXRmOCcpIHsKICAgIGhlYWRlcigiY29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKTsKfSBlbHNlaWYgKCRjaGFyc2V0ID09ICdiaWc1JykgewogICAgaGVhZGVyKCJjb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1iaWc1Iik7Cn0gZWxzZWlmICgkY2hhcnNldCA9PSAnZ2JrJykgewogICAgaGVhZGVyKCJjb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1nYmsiKTsKfSBlbHNlaWYgKCRjaGFyc2V0ID09ICdsYXRpbjEnKSB7CiAgICBoZWFkZXIoImNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTIiKTsKfQokc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddID8gJF9TRVJWRVJbJ1BIUF9TRUxGJ10gOiAkX1NFUlZFUlsnU0NSSVBUX05BTUUnXTsKJHRpbWVzdGFtcCA9IHRpbWUoKTsKaWYgKCRhY3Rpb24gPT0gImxvZ291dCIpIHsKICAgIHNjb29raWUoJ2t5bWxqbmsnLCAnJywgLTg2NDAwICogMzY1KTsKICAgIHAoJzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7VVJMPScgLiAkc2VsZiAuICciPicpOwogICAgcCgnPGJvZHkgYmFja2dyb3VuZD1ibGFjaz4nKTsKICAgIGV4aXQ7Cn0KaWYgKCRhZG1pblsnY2hlY2snXSkgewogICAgaWYgKCRkb2luZyA9PSAnbG9naW4nKSB7CiAgICAgICAgaWYgKCRhZG1pblsncGFzcyddID09ICRwYXNzd29yZCkgewogICAgICAgICAgICBzY29va2llKCdreW1sam5rJywgJHBhc3N3b3JkKTsKICAgICAgICAgICAgJHRpbWVfc2hlbGwgPSAiIiAuIGRhdGUoImQvbS9ZIC0gSDppOnMiKSAuICIiOwogICAgICAgICAgICAkaXBfcmVtb3RlID0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl07CiAgICAgICAgICAgICRmcm9tX3NoZWxsY29kZSA9ICdzaGVsbEAnIC4gZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkgLiAnJzsKICAgICAgICAgICAgJHRvX2VtYWlsID0gJ2xhbW5udDE0QGdtYWlsLmNvbSc7CiAgICAgICAgICAgICRzZXJ2ZXJfbWFpbCA9ICIiIC4gZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkgLiAiICAtICIgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAiIjsKICAgICAgICAgICAgJGxpbmtjciA9ICJMaW5rOiAiIC4gJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gLiAiIiAuICRfU0VSVkVSWydSRVFVRVNUX1VSSSddIC4gIiAtIElQIEV4Y3V0aW5nOiAkaXBfcmVtb3RlIC0gVGltZTogJHRpbWVfc2hlbGwiOwogICAgICAgICAgICAkaGVhZGVyID0gIkZyb206ICRmcm9tX3NoZWxsY29kZVxyXG5SZXBseS10bzogJGZyb21fc2hlbGxjb2RlIjsKICAgICAgICAgICAgQG1haWwoJHRvX2VtYWlsLCAkc2VydmVyX21haWwsICRsaW5rY3IsICRoZWFkZXIpOwogICAgICAgICAgICBwKCc8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIyO1VSTD0nIC4gJHNlbGYgLiAnIj4nKTsKICAgICAgICAgICAgcCgnPGJvZHkgYmdjb2xvcj1ibGFjaz4KPEJSPjxCUj48ZGl2IGFsaWduPWNlbnRlcj48Zm9udCBjb2xvcj1yZWQgZmFjZT10YWhvbWEgc2l6ZT0yPkNow7pjIE3hu6tuZyBDdSBoYWNrIMSRYyBzaXRlIHbDoCB1cCBTaGVsbCBUaMOgbmggY8O0bmc8QlI+PGltZyBzcmM9aHR0cDovL2kuaW1ndXIuY29tL01zOG8xYW8ucG5nPjwvZGl2PicpOwogICAgICAgICAgICBleGl0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRlcnJfbWVzcyA9ICc8dGFibGUgd2lkdGg9MTAwJT48dHI+PHRkIGJnY29sb3I9IzBFMEUwRSB3aWR0aD0xMDAlIGhlaWdodD0yND48ZGl2IGFsaWduPWNlbnRlcj48Zm9udCBjb2xvcj1yZWQgZmFjZT10YWhvbWEgc2l6ZT0yPjxibGluaz5QYXNzd29yZCBpbmNvcnJlY3QsIFBsZWFzZSB0cnkgYWdhaW4hISE8L2JsaW5rPjxCUj48L2ZvbnQ+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+JzsKICAgICAgICAgICAgZWNobyAkZXJyX21lc3M7CiAgICAgICAgfQogICAgfQogICAgaWYgKCRfQ09PS0lFWydreW1sam5rJ10pIHsKICAgICAgICBpZiAoJF9DT09LSUVbJ2t5bWxqbmsnXSAhPSAkYWRtaW5bJ3Bhc3MnXSkgewogICAgICAgICAgICBsb2dpbnBhZ2UoKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGxvZ2lucGFnZSgpOwogICAgfQp9CiRlcnJtc2cgPSAnJzsKaWYgKCRhY3Rpb24gPT0gJ3BocGluZm8nKSB7CiAgICBpZiAoSVNfUEhQSU5GTykgewogICAgICAgIHBocGluZm8oKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJGVycm1zZyA9ICdwaHBpbmZvKCkgZnVuY3Rpb24gaGFzIG5vbi1wZXJtaXNzaWJsZSc7CiAgICB9Cn0KaWYgKCRkb2luZyA9PSAnZG93bmZpbGUnICYmICR0aGVmaWxlKSB7CiAgICBpZiAoIUBmaWxlX2V4aXN0cygkdGhlZmlsZSkpIHsKICAgICAgICAkZXJybXNnID0gJ1RoZSBmaWxlIHlvdSB3YW50IERvd25sb2FkYWJsZSB3YXMgbm9uZXhpc3RlbnQnOwogICAgfSBlbHNlIHsKICAgICAgICAkZmlsZWluZm8gPSBwYXRoaW5mbygkdGhlZmlsZSk7CiAgICAgICAgaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtJyAuICRmaWxlaW5mb1snZXh0ZW5zaW9uJ10pOwogICAgICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JyAuICRmaWxlaW5mb1snYmFzZW5hbWUnXSk7CiAgICAgICAgaGVhZGVyKCdDb250ZW50LUxlbmd0aDogJyAuIGZpbGVzaXplKCR0aGVmaWxlKSk7CiAgICAgICAgQHJlYWRmaWxlKCR0aGVmaWxlKTsKICAgICAgICBleGl0OwogICAgfQp9CmlmICgkZG9pbmcgPT0gJ2JhY2t1cG15c3FsJyAmJiAhJHNhdmVhc2ZpbGUpIHsKICAgIGRiY29ubigkZGJob3N0LCAkZGJ1c2VyLCAkZGJwYXNzLCAkZGJuYW1lLCAkY2hhcnNldCwgJGRicG9ydCk7CiAgICAkdGFibGUgPSBhcnJheV9mbGlwKCR0YWJsZSk7CiAgICAkcmVzdWx0ID0gcSgiU0hPVyB0YWJsZXMiKTsKICAgIGlmICghJHJlc3VsdCkgcCgnPGgyPicgLiBteXNxbF9lcnJvcigpIC4gJzwvaDI+Jyk7CiAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAnX015U1FMLnNxbCcpOwogICAgaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3Vua25vd24nKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JyAuICRmaWxlbmFtZSk7CiAgICAkbXlzcWxkYXRhID0gJyc7CiAgICB3aGlsZSAoJGN1cnJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQpKSB7CiAgICAgICAgaWYgKGlzc2V0KCR0YWJsZVskY3Vycm93WzBdXSkpIHsKICAgICAgICAgICAgJG15c3FsZGF0YS49IHNxbGR1bXB0YWJsZSgkY3Vycm93WzBdKTsKICAgICAgICB9CiAgICB9CiAgICBteXNxbF9jbG9zZSgpOwogICAgZXhpdDsKfQppZiAoJGRvaW5nID09ICdteXNxbGRvd24nKSB7CiAgICBpZiAoISRkYm5hbWUpIHsKICAgICAgICAkZXJybXNnID0gJyBkYm5hbWUnOwogICAgfSBlbHNlIHsKICAgICAgICBkYmNvbm4oJGRiaG9zdCwgJGRidXNlciwgJGRicGFzcywgJGRibmFtZSwgJGNoYXJzZXQsICRkYnBvcnQpOwogICAgICAgIGlmICghZmlsZV9leGlzdHMoJG15c3FsZGxmaWxlKSkgewogICAgICAgICAgICAkZXJybXNnID0gJ1RoZSBmaWxlIHlvdSB3YW50IERvd25sb2FkYWJsZSB3YXMgbm9uZXhpc3RlbnQnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBxKCJzZWxlY3QgbG9hZF9maWxlKCckbXlzcWxkbGZpbGUnKTsiKTsKICAgICAgICAgICAgaWYgKCEkcmVzdWx0KSB7CiAgICAgICAgICAgICAgICBxKCJEUk9QIFRBQkxFIElGIEVYSVNUUyB0bXBfYW5nZWw7Iik7CiAgICAgICAgICAgICAgICBxKCJDUkVBVEUgVEFCTEUgdG1wX2FuZ2VsIChjb250ZW50IExPTkdCTE9CIE5PVCBOVUxMKTsiKTsKICAgICAgICAgICAgICAgIHEoIkxPQUQgREFUQSBMT0NBTCBJTkZJTEUgJyIgLiBhZGRzbGFzaGVzKCRteXNxbGRsZmlsZSkgLiAiJyBJTlRPIFRBQkxFIHRtcF9hbmdlbCBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnX19hbmdlbF97JHRpbWVzdGFtcH1fZW9mX18nIEVTQ0FQRUQgQlkgJycgTElORVMgVEVSTUlOQVRFRCBCWSAnX19hbmdlbF97JHRpbWVzdGFtcH1fZW9mX18nOyIpOwogICAgICAgICAgICAgICAgJHJlc3VsdCA9IHEoInNlbGVjdCBjb250ZW50IGZyb20gdG1wX2FuZ2VsIik7CiAgICAgICAgICAgICAgICBxKCJEUk9QIFRBQkxFIHRtcF9hbmdlbCIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyb3cgPSBAbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCk7CiAgICAgICAgICAgIGlmICghJHJvdykgewogICAgICAgICAgICAgICAgJGVycm1zZyA9ICdMb2FkIGZpbGUgZmFpbGVkICcgLiBteXNxbF9lcnJvcigpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGZpbGVpbmZvID0gcGF0aGluZm8oJG15c3FsZGxmaWxlKTsKICAgICAgICAgICAgICAgIGhlYWRlcignQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LScgLiAkZmlsZWluZm9bJ2V4dGVuc2lvbiddKTsKICAgICAgICAgICAgICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JyAuICRmaWxlaW5mb1snYmFzZW5hbWUnXSk7CiAgICAgICAgICAgICAgICBoZWFkZXIoIkFjY2VwdC1MZW5ndGg6ICIgLiBzdHJsZW4oJHJvd1swXSkpOwogICAgICAgICAgICAgICAgZWNobyAkcm93WzBdOwogICAgICAgICAgICAgICAgZXhpdDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfTsKZWNobyAnPGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cjx0aXRsZT4nOwplY2hvICJXZWJzaXRlIDogIiAuICRfU0VSVkVSWydIVFRQX0hPU1QnXSAuICIiOzsKZWNobyAnIHwgJzsKZWNobyAiSVAgOiAiIC4gZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkgLiAiIjs7CmVjaG8gJyA8L3RpdGxlPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpib2R5LHRke2ZvbnQ6IDEwcHQgVGFob21hO2NvbG9yOiMwM0E5RjQ7fQoKYSB7Y29sb3I6ICNFOTFFNjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQphOmhvdmVye2NvbG9yOiAjZjAwO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQouYWx0MSB0ZHtib3JkZXItdG9wOjFweCBzb2xpZCBncmF5O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIGdyYXk7YmFja2dyb3VuZDojMEUwRTBFO3BhZGRpbmc6NXB4IDEwcHggNXB4IDVweDt9Ci5hbHQyIHRke2JvcmRlci10b3A6MXB4IHNvbGlkIGdyYXk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgZ3JheTtiYWNrZ3JvdW5kOiNmOWY5Zjk7cGFkZGluZzo1cHggMTBweCA1cHggNXB4O30KLmZvY3VzIHRke2JvcmRlci10b3A6MXB4IHNvbGlkIGdyYXk7Ym9yZGVyLWJvdHRvbTowcHggc29saWQgZ3JheTtiYWNrZ3JvdW5kOiMwRTBFMEU7cGFkZGluZzo1cHggMTBweCA1cHggNXB4O30KLmZvdXQxIHRke2JvcmRlci10b3A6MXB4IHNvbGlkICM2NzNBQjc7Ym9yZGVyLWJvdHRvbTowcHggc29saWQgIzAzQTlGNDtiYWNrZ3JvdW5kOiMwRTBFMEU7cGFkZGluZzo1cHggMTBweCA1cHggNXB4O30KLmZvdXQgdGR7Ym9yZGVyLXRvcDoxcHggc29saWQgIzhCQzM0QTtib3JkZXItYm90dG9tOjBweCBzb2xpZCBncmF5O2JhY2tncm91bmQ6IzEwMGUwZjtwYWRkaW5nOjVweCAxMHB4IDVweCA1cHg7fQouaGVhZCB0ZHtib3JkZXItdG9wOjFweCBzb2xpZCBncmF5O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIGdyYXk7YmFja2dyb3VuZDojMjAyMDIwO3BhZGRpbmc6NXB4IDEwcHggNXB4IDVweDtmb250LXdlaWdodDpib2xkO30KLmhlYWRfc21hbGwgdGR7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAzQTlGNDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjE5NkYzO2JhY2tncm91bmQ6IzIwNzE2ZDAwO3BhZGRpbmc6NXB4IDEwcHggNXB4IDVweDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjhwdDt9Ci5oZWFkIHRkIHNwYW57Zm9udC13ZWlnaHQ6bm9ybWFsO30KZm9ybXttYXJnaW46MDtwYWRkaW5nOjA7fQpoMnttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTRweDtjb2xvcjojNUI2ODZGO30KdWwuaW5mbyBsaXttYXJnaW46MDtjb2xvcjojNDQ0O2xpbmUtaGVpZ2h0OjI0cHg7aGVpZ2h0OjI0cHg7fQp1e3RleHQtZGVjb3JhdGlvbjogbm9uZTtjb2xvcjojNzc3O2Zsb2F0OmxlZnQ7ZGlzcGxheTpibG9jazt3aWR0aDoxNTBweDttYXJnaW4tcmlnaHQ6MTBweDt9CmlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uCnsKCWNvbG9yOiB3aGl0ZTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMjUyLCAwLjA1KTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAxOTIsIDI1NSwgMC4wNSksIHJnYmEoMCwgMTkyLCAyNTUsIDApLCByZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSk7CiAgYm9yZGVyOiAxcHggc29saWQgIzJBQ0JGMzsKICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgwLCAxOTIsIDI1NSwgMC4zKSwgaW5zZXQgMCAwIDIwcHggcmdiYSgwLCAxOTIsIDI1NSwgMC4zKTsKICBib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDIwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDBzIGVhc2U7CiAgLW1vei10cmFuc2l0aW9uOiBib3JkZXIgMjAwbXMgZWFzZSwgLW1vei10cmFuc2Zvcm0gMHMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBib3JkZXIgMjAwbXMgZWFzZSwgLW8tdHJhbnNmb3JtIDBzIGVhc2U7CiAgb3V0bGluZTogbm9uZTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIGZvbnQtc2l6ZTogMTVweDsKICBjb2xvcjogI2ZmZjsKICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBNb25hY28sICJMdWNpZGEgQ29uc29sZSIsIG1vbm9zcGFjZTsKfQpzZWxlY3QKewoJZm9udC1zaXplOiA4cHQ7Cglmb250LXdlaWdodDogbm9ybWFsOwoJY29sb3I6ICNjY2M7Cglmb250LWZhbWlseTogdmVyZGFuYSwgc2Fucy1zZXJpZjsKCWJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7Cn0KCjwvc3R5bGU+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gQ2hlY2tBbGwoZm9ybSkgewoJZm9yKHZhciBpPTA7aTxmb3JtLmVsZW1lbnRzLmxlbmd0aDtpKyspIHsKCQl2YXIgZSA9IGZvcm0uZWxlbWVudHNbaV07CgkJaWYgKGUubmFtZSAhPSBcJ2Noa2FsbFwnKQoJCWUuY2hlY2tlZCA9IGZvcm0uY2hrYWxsLmNoZWNrZWQ7CiAgICB9Cn0KZnVuY3Rpb24gJChpZCkgewoJcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKfQpmdW5jdGlvbiBnb2FjdGlvbihhY3QpewoJJChcJ2dvYWN0aW9uXCcpLmFjdGlvbi52YWx1ZT1hY3Q7CgkkKFwnZ29hY3Rpb25cJykuc3VibWl0KCk7Cn0KPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgb25Mb2FkPSJpbml0KCkiIHN0eWxlPSJtYXJnaW46MDt0YWJsZS1sYXlvdXQ6Zml4ZWQ7IHdvcmQtYnJlYWs6YnJlYWstYWxsIiBiZ2NvbG9yPWJsYWNrIGJhY2tncm91bmQ9aHR0cDovL3dhbGxwb3Blci5jb20vaW1hZ2VzLzAwLzMyLzM2Lzc2L2Fub255bW91c18wMDMyMzY3Ni5qcGc+CjxkaXYgYm9yZGVyPSIwIiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDI1cHg7IHotaW5kZXg6IDE7IHRvcDogMzAwcHg7IGxlZnQ6IDA7IiBpZD0ibG9hZGluZyIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJjZW50ZXIiPgoJCQkJPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjExMHB4IiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIHN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlIiBib3JkZXJjb2xvcj0iIzAwMzMwMCI+CgkJCQkJPHRyPgoJCQkJCQk8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPWNlbnRlcj4KCQkJCSA8ZGl2IGJvcmRlcj0iMSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMwRTBFMEU7IGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7IG9wYWNpdHk6IC43OyB3aWR0aDogMTEwcHg7IGhlaWdodDogMjVweDsgei1pbmRleDogMTsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsiIGJvcmRlcmNvbG9yPSIjMDA2NjAwIiAgYWxpZ249ImNlbnRlciI+CgkJCQkgICBMb2FkaW5nPGltZyBzcmM9Imh0dHA6Ly9pMzgyLnBob3RvYnVja2V0LmNvbS9hbGJ1bXMvb28yNjMvdm5oYWNrZXIvbG9hZGluZy5naWYiPgoJCQkJICA8L2Rpdj4KCQkJCTwvdGQ+CgkJCQkJPC90cj4KCQkJCTwvdGFibGU+CjwvZGl2PgogPHNjcmlwdD4KIHZhciBsZD0oZG9jdW1lbnQuYWxsKTsKICB2YXIgbnM0PWRvY3VtZW50LmxheWVyczsKIHZhciBuczY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJiFkb2N1bWVudC5hbGw7CiB2YXIgaWU0PWRvY3VtZW50LmFsbDsKICBpZiAobnM0KQogCWxkPWRvY3VtZW50LmxvYWRpbmc7CiBlbHNlIGlmIChuczYpCiAJbGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvYWRpbmciKS5zdHlsZTsKIGVsc2UgaWYgKGllNCkKIAlsZD1kb2N1bWVudC5hbGwubG9hZGluZy5zdHlsZTsKICBmdW5jdGlvbiBpbml0KCkKIHsKIGlmKG5zNCl7bGQudmlzaWJpbGl0eT0iaGlkZGVuIjt9CiBlbHNlIGlmIChuczZ8fGllNCkgbGQuZGlzcGxheT0ibm9uZSI7CiB9CiA8L3NjcmlwdD4KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+Cgk8dHIgY2xhc3M9ImhlYWRfc21hbGwiPgoJCTx0ZCAgd2lkdGg9MTAwJT4KCQk8dGFibGUgd2lkdGg9MTAwJT48dHIgY2xhc3M9ImhlYWRfc21hbGwiPjx0ZCAgd2lkdGg9ODZweD48cD48YSB0aXRsZT0iIC46OiBXYXJuaW5nICEgU2hlbGwgaXMgdXNlZCB0byByZWZlciBub3QgdG8gaGFjayA6Oi4gIiBocmVmPSInOwokc2VsZjs7CmVjaG8gJyI+PGltZyBzcmM9aHR0cDovL2kuaW1ndXIuY29tL1MweW5PeWEucG5nPjwvYT48L3A+CgkgICAgICAgIDwvdGQ+CgkJPHRkPgogICAgICAgICAgICAKCQk8c3BhbiBzdHlsZT0iZmxvYXQ6bGVmdDsiPiAnOwplY2hvICJIb3N0bmFtZTogIiAuICRfU0VSVkVSWydIVFRQX0hPU1QnXSAuICIiOzsKZWNobyAnIHwgU2VydmVyIElQOiAnOwplY2hvICI8Zm9udCBjb2xvcj0jMDBmZjExPiIgLiBnZXRob3N0YnluYW1lKCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKSAuICI8L2ZvbnQ+Ijs7CmVjaG8gJyB8IFlvdXIgSVA6ICc7CmVjaG8gIjxmb250IGNvbG9yPSMwMGZmMTE+IiAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gIjwvZm9udD4iOzsKZWNobyAnCSAgfCA8YSBocmVmPSJodHRwOi8vZ29vZ2xlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPic7CmVjaG8gc3RyX3JlcGxhY2UoJy4nLCAnJywgJ05vbmFtZVRlYW0nKTs7CmVjaG8gJyA8L2E+IHwgPGEgaHJlZj0iamF2YXNjcmlwdDpnb2FjdGlvbihcJ2xvZ291dFwnKTsiPjxmb250IGNvbG9yPXJlZD5Mb2dvdXQ8L2ZvbnQ+PC9hPjwvc3Bhbj4gPGJyIC8+CgoJCSc7CiRjdXJsX29uID0gQGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJyk7CiRteXNxbF9vbiA9IEBmdW5jdGlvbl9leGlzdHMoJ215c3FsX2Nvbm5lY3QnKTsKJG1zc3FsX29uID0gQGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfY29ubmVjdCcpOwokcGdfb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdwZ19jb25uZWN0Jyk7CiRvcmFfb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdvY2lsb2dvbicpOwplY2hvICgoJHNhZmVfbW9kZSkgPyAoIlNhZmVfbW9kOiA8Yj48Zm9udCBjb2xvcj1ncmVlbj5PTjwvZm9udD48L2I+IC0gIikgOiAoIlNhZmVfbW9kOiA8Yj48Zm9udCBjb2xvcj1yZWQ+T0ZGPC9mb250PjwvYj4gLSAiKSk7CmVjaG8gIlBIUCB2ZXJzaW9uOiA8Yj4iIC4gQHBocHZlcnNpb24oKSAuICI8L2I+IC0gIjsKZWNobyAiY1VSTDogIiAuICgoJGN1cmxfb24pID8gKCI8Yj48Zm9udCBjb2xvcj1ncmVlbj5PTjwvZm9udD48L2I+IC0gIikgOiAoIjxiPjxmb250IGNvbG9yPXJlZD5PRkY8L2ZvbnQ+PC9iPiAtICIpKTsKZWNobyAiTXlTUUw6IDxiPiI7CiRteXNxbF9vbiA9IEBmdW5jdGlvbl9leGlzdHMoJ215c3FsX2Nvbm5lY3QnKTsKaWYgKCRteXNxbF9vbikgewogICAgZWNobyAiPGZvbnQgY29sb3I9Z3JlZW4+T048L2ZvbnQ+PC9iPiAtICI7Cn0gZWxzZSB7CiAgICBlY2hvICI8Zm9udCBjb2xvcj1yZWQ+T0ZGPC9mb250PjwvYj4gLSAiOwp9CmVjaG8gIk1TU1FMOiA8Yj4iOwokbXNzcWxfb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdtc3NxbF9jb25uZWN0Jyk7CmlmICgkbXNzcWxfb24pIHsKICAgIGVjaG8gIjxmb250IGNvbG9yPWdyZWVuPk9OPC9mb250PjwvYj4gLSAiOwp9IGVsc2UgewogICAgZWNobyAiPGZvbnQgY29sb3I9cmVkPk9GRjwvZm9udD48L2I+IC0gIjsKfQplY2hvICJQb3N0Z3JlU1FMOiA8Yj4iOwokcGdfb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdwZ19jb25uZWN0Jyk7CmlmICgkcGdfb24pIHsKICAgIGVjaG8gIjxmb250IGNvbG9yPWdyZWVuPk9OPC9mb250PjwvYj4gLSAiOwp9IGVsc2UgewogICAgZWNobyAiPGZvbnQgY29sb3I9cmVkPk9GRjwvZm9udD48L2I+IC0gIjsKfQplY2hvICJPcmFjbGU6IDxiPiI7CiRvcmFfb24gPSBAZnVuY3Rpb25fZXhpc3RzKCdvY2lsb2dvbicpOwppZiAoJG9yYV9vbikgewogICAgZWNobyAiPGZvbnQgY29sb3I9Z3JlZW4+T048L2ZvbnQ+PC9iPiI7Cn0gZWxzZSB7CiAgICBlY2hvICI8Zm9udCBjb2xvcj1yZWQ+T0ZGPC9mb250PjwvYj48QlI+IjsKfQplY2hvICJEaXNhYmxlIGZ1bmN0aW9ucyA6IDxiPiI7CmlmICgnJyA9PSAoJGRmID0gQGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpKSB7CiAgICBlY2hvICI8Zm9udCBjb2xvcj1ncmVlbj5OT05FPC9mb250PjwvYj48QlI+IjsKfSBlbHNlIHsKICAgIGVjaG8gIjxmb250IGNvbG9yPXJlZD4kZGY8L2ZvbnQ+PC9iPjxCUj4iOwp9CmVjaG8gIjxmb250IGNvbG9yPXdoaXRlPlVuYW1lIC1hPC9mb250PjogIiAuIEBzdWJzdHIoQHBocF91bmFtZSgpLCAwLCAxMjApIC4gIjxicj4iOwplY2hvICI8Zm9udCBjb2xvcj13aGl0ZT5TZXJ2ZXI8L2ZvbnQ+OiAiIC4gQHN1YnN0cigkU0VSVkVSX1NPRlRXQVJFLCAwLCAxMjApIC4gIiAtIDxmb250IGNvbG9yPXdoaXRlPmlkPC9mb250PjogIiAuIEBnZXRteXVpZCgpIC4gIigiIC4gQGdldF9jdXJyZW50X3VzZXIoKSAuICIpIC0gdWlkPSIgLiBAZ2V0bXl1aWQoKSAuICIgKCIgLiBAZ2V0X2N1cnJlbnRfdXNlcigpIC4gIikgZ2lkPSIgLiBAZ2V0bXlnaWQoKSAuICIoIiAuIEBnZXRfY3VycmVudF91c2VyKCkgLiAiKTxicj4iOzsKZWNobyAnPC90ZD48L3RyPjwvdGFibGU+PC90ZD4KCTwvdHI+Cgk8dHIgY2xhc3M9ImFsdDEiPgoJCTx0ZCAgd2lkdGg9MTAlPgoJCSAgICA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwnZmlsZVwnKTsiPlF14bqjbiBMw708L2E+IHwKCQkJPGEgaHJlZj0iamF2YXNjcmlwdDpnb2FjdGlvbihcJ2p1bXBcJyk7Ij5KdW1wPC9hPiB8CgkJCTxhIGhyZWY9ImphdmFzY3JpcHQ6Z29hY3Rpb24oXCdzcWxhZG1pblwnKTsiPlNRTDwvYT4gfAogICAgICAgICAgICA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwnZGRvc1wnKTsiPkREb3M8L2E+JzsKaWYgKCFJU19XSU4pIHs7CiAgICBlY2hvICcgfCA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwnZHVtcGVyXCcpOyI+RHVtcGVyPC9hPic7Cn07CmVjaG8gJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29hY3Rpb24oXCdtZDVcJyk7Ij5DcmFjayBNZDU8L2E+JzsKaWYgKCFJU19XSU4pIHs7CiAgICBlY2hvICcgfCA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwnZXRjcHdkXCcpOyI+L2V0Yy9wYXNzd2Q8L2E+ICc7Cn07CmVjaG8gJwkJCSc7CmlmICghSVNfV0lOKSB7OwogICAgZWNobyAnIHwgPGEgaHJlZj0iamF2YXNjcmlwdDpnb2FjdGlvbihcJ3N5bWxpbmtcJyk7Ij5TeW1saW5rPC9hPiAnOwp9OwplY2hvICcJCQknOwoKaWYgKCFJU19XSU4pIHs7CiAgICBlY2hvICcgfCA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwnc3ltcm9vdFwnKTsiPlJvb3Q8L2E+JzsKfTsKZWNobyAnICAgICAgICAgICAgJzsKaWYgKCFJU19XSU4pIHs7CiAgICBlY2hvICcgfCA8YSBocmVmPSJzeW0vIiB0YXJnZXQ9Il9ibGFuayI+T3BlbiBSb290PC9hPic7Cn07CmVjaG8gJwkJCSc7CmlmICghSVNfV0lOKSB7OwogICAgZWNobyAnIHwgPGEgaHJlZj0iamF2YXNjcmlwdDpnb2FjdGlvbihcJ2J5cGFzc1wnKTsiPkJ5IFBhc3M8L2E+JzsKfTsKZWNobyAnICc7CgppZiAoIUlTX1dJTikgezsKICAgIGVjaG8gJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29hY3Rpb24oXCdiYWNrY29ubmVjdFwnKTsiPkJhY2tDb25uZWN0PC9hPic7Cn07CmVjaG8gJwkJCSc7CgppZiAoIUlTX1dJTikgezsKICAgIGVjaG8gJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29hY3Rpb24oXCdjb21tYW5kXCcpOyI+Q29tbWFuZDwvYT4gJzsKfTsKZWNobyAnCQkJJzsKaWYgKCFJU19XSU4pIHs7CiAgICBlY2hvICcgfCA8YSBocmVmPSJqYXZhc2NyaXB0OmdvYWN0aW9uKFwncmV2ZXJzZWlwXCcpOyI+UmV2ZXJzZTwvYT4nOwp9OwplY2hvICcgCiAgICAgICAgICAgIDwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjE1IiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD4KJzsKZm9ybWhlYWQoYXJyYXkoJ25hbWUnID0+ICdnb2FjdGlvbicpKTsKbWFrZWhpZGUoJ2FjdGlvbicpOwpmb3JtZm9vdCgpOwokZXJybXNnICYmIG0oJGVycm1zZyk7CiEkZGlyICYmICRkaXIgPSAnLic7CiRub3dwYXRoID0gZ2V0UGF0aChTQV9ST09ULCAkZGlyKTsKaWYgKHN1YnN0cigkZGlyLCAtMSkgIT0gJy8nKSB7CiAgICAkZGlyID0gJGRpciAuICcvJzsKfQokdWVkaXIgPSB1ZSgkZGlyKTsKaWYgKCEkYWN0aW9uIHx8ICRhY3Rpb24gPT0gJ2ZpbGUnKSB7CiAgICAkZGlyX3dyaXRlYWJsZSA9IEBpc193cml0YWJsZSgkbm93cGF0aCkgPyAnV3JpdGFibGUnIDogJ05vbi13cml0YWJsZSc7CiAgICBpZiAoJGRvaW5nID09ICdkZWxkaXInICYmICR0aGVmaWxlKSB7CiAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkdGhlZmlsZSkpIHsKICAgICAgICAgICAgbSgkdGhlZmlsZSAuICcgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0Jyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbSgnRGlyZWN0b3J5IGRlbGV0ZSAnIC4gKGRlbHRyZWUoJHRoZWZpbGUpID8gYmFzZW5hbWUoJHRoZWZpbGUpIC4gJyBzdWNjZXNzJyA6ICdmYWlsZWQnKSk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCRuZXdkaXJuYW1lKSB7CiAgICAgICAgJG1rZGlycyA9ICRub3dwYXRoIC4gJG5ld2Rpcm5hbWU7CiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRta2RpcnMpKSB7CiAgICAgICAgICAgIG0oJ0RpcmVjdG9yeSBoYXMgYWxyZWFkeSBleGlzdGVkJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbSgnRGlyZWN0b3J5IGNyZWF0ZWQgJyAuIChAbWtkaXIoJG1rZGlycywgMDc3NykgPyAnc3VjY2VzcycgOiAnZmFpbGVkJykpOwogICAgICAgICAgICBAY2htb2QoJG1rZGlycywgMDc3Nyk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCRkb3VwZmlsZSkgewogICAgICAgIG0oJ0ZpbGUgdXBsb2FkICcgLiAoQGNvcHkoJF9GSUxFU1sndXBsb2FkZmlsZSddWyd0bXBfbmFtZSddLCAkdXBsb2FkZGlyIC4gJy8nIC4gJF9GSUxFU1sndXBsb2FkZmlsZSddWyduYW1lJ10pID8gJ3N1Y2Nlc3MnIDogJ2ZhaWxlZCcpKTsKICAgIH0gZWxzZWlmICgkZWRpdGZpbGVuYW1lICYmICRmaWxlY29udGVudCkgewogICAgICAgICRmcCA9IEBmb3BlbigkZWRpdGZpbGVuYW1lLCAndycpOwogICAgICAgIG0oJ1NhdmUgZmlsZSAnIC4gKEBmd3JpdGUoJGZwLCAkZmlsZWNvbnRlbnQpID8gJ3N1Y2Nlc3MnIDogJ2ZhaWxlZCcpKTsKICAgICAgICBAZmNsb3NlKCRmcCk7CiAgICB9IGVsc2VpZiAoJHBmaWxlICYmICRuZXdwZXJtKSB7CiAgICAgICAgaWYgKCFmaWxlX2V4aXN0cygkcGZpbGUpKSB7CiAgICAgICAgICAgIG0oJ1RoZSBvcmlnaW5hbCBmaWxlIGRvZXMgbm90IGV4aXN0Jyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG5ld3Blcm0gPSBiYXNlX2NvbnZlcnQoJG5ld3Blcm0sIDgsIDEwKTsKICAgICAgICAgICAgbSgnTW9kaWZ5IGZpbGUgYXR0cmlidXRlcyAnIC4gKEBjaG1vZCgkcGZpbGUsICRuZXdwZXJtKSA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnKSk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCRvbGRuYW1lICYmICRuZXdmaWxlbmFtZSkgewogICAgICAgICRubmFtZSA9ICRub3dwYXRoIC4gJG5ld2ZpbGVuYW1lOwogICAgICAgIGlmIChmaWxlX2V4aXN0cygkbm5hbWUpIHx8ICFmaWxlX2V4aXN0cygkb2xkbmFtZSkpIHsKICAgICAgICAgICAgbSgkbm5hbWUgLiAnIGhhcyBhbHJlYWR5IGV4aXN0ZWQgb3Igb3JpZ2luYWwgZmlsZSBkb2VzIG5vdCBleGlzdCcpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG0oYmFzZW5hbWUoJG9sZG5hbWUpIC4gJyByZW5hbWVkICcgLiBiYXNlbmFtZSgkbm5hbWUpIC4gKEByZW5hbWUoJG9sZG5hbWUsICRubmFtZSkgPyAnIHN1Y2Nlc3MnIDogJ2ZhaWxlZCcpKTsKICAgICAgICB9CiAgICB9IGVsc2VpZiAoJHNuYW1lICYmICR0b2ZpbGUpIHsKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHRvZmlsZSkgfHwgIWZpbGVfZXhpc3RzKCRzbmFtZSkpIHsKICAgICAgICAgICAgbSgnVGhlIGdvYWwgZmlsZSBoYXMgYWxyZWFkeSBleGlzdGVkIG9yIG9yaWdpbmFsIGZpbGUgZG9lcyBub3QgZXhpc3QnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBtKGJhc2VuYW1lKCR0b2ZpbGUpIC4gJyBjb3BpZWQgJyAuIChAY29weSgkc25hbWUsICR0b2ZpbGUpID8gYmFzZW5hbWUoJHRvZmlsZSkgLiAnIHN1Y2Nlc3MnIDogJ2ZhaWxlZCcpKTsKICAgICAgICB9CiAgICB9IGVsc2VpZiAoJGN1cmZpbGUgJiYgJHRhcmZpbGUpIHsKICAgICAgICBpZiAoIUBmaWxlX2V4aXN0cygkY3VyZmlsZSkgfHwgIUBmaWxlX2V4aXN0cygkdGFyZmlsZSkpIHsKICAgICAgICAgICAgbSgnVGhlIGdvYWwgZmlsZSBoYXMgYWxyZWFkeSBleGlzdGVkIG9yIG9yaWdpbmFsIGZpbGUgZG9lcyBub3QgZXhpc3QnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGltZSA9IEBmaWxlbXRpbWUoJHRhcmZpbGUpOwogICAgICAgICAgICBtKCdNb2RpZnkgZmlsZSB0aGUgbGFzdCBtb2RpZmllZCAnIC4gKEB0b3VjaCgkY3VyZmlsZSwgJHRpbWUsICR0aW1lKSA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnKSk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCRjdXJmaWxlICYmICR5ZWFyICYmICRtb250aCAmJiAkZGF5ICYmICRob3VyICYmICRtaW51dGUgJiYgJHNlY29uZCkgewogICAgICAgIGlmICghQGZpbGVfZXhpc3RzKCRjdXJmaWxlKSkgewogICAgICAgICAgICBtKGJhc2VuYW1lKCRjdXJmaWxlKSAuICcgZG9lcyBub3QgZXhpc3QnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGltZSA9IHN0cnRvdGltZSgiJHllYXItJG1vbnRoLSRkYXkgJGhvdXI6JG1pbnV0ZTokc2Vjb25kIik7CiAgICAgICAgICAgIG0oJ01vZGlmeSBmaWxlIHRoZSBsYXN0IG1vZGlmaWVkICcgLiAoQHRvdWNoKCRjdXJmaWxlLCAkdGltZSwgJHRpbWUpID8gJ3N1Y2Nlc3MnIDogJ2ZhaWxlZCcpKTsKICAgICAgICB9CiAgICB9IGVsc2VpZiAoJGRvaW5nID09ICdkb3ducmFyJykgewogICAgICAgIGlmICgkZGwpIHsKICAgICAgICAgICAgJGRmaWxlcyA9ICcnOwogICAgICAgICAgICBmb3JlYWNoICgkZGwgYXMgJGZpbGVwYXRoID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgJGRmaWxlcy49ICRmaWxlcGF0aCAuICcsJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZGZpbGVzID0gc3Vic3RyKCRkZmlsZXMsIDAsIHN0cmxlbigkZGZpbGVzKSAtIDEpOwogICAgICAgICAgICAkZGwgPSBleHBsb2RlKCcsJywgJGRmaWxlcyk7CiAgICAgICAgICAgICR6aXAgPSBuZXcgUEhQWmlwKCRkbCk7CiAgICAgICAgICAgICRjb2RlID0gJHppcC0+b3V0OwogICAgICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7CiAgICAgICAgICAgIGhlYWRlcignQWNjZXB0LVJhbmdlczogYnl0ZXMnKTsKICAgICAgICAgICAgaGVhZGVyKCdBY2NlcHQtTGVuZ3RoOiAnIC4gc3RybGVuKCRjb2RlKSk7CiAgICAgICAgICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDtmaWxlbmFtZT0nIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJ19GaWxlcy50YXIuZ3onKTsKICAgICAgICAgICAgZWNobyAkY29kZTsKICAgICAgICAgICAgZXhpdDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBtKCdQbGVhc2Ugc2VsZWN0IGZpbGUocyknKTsKICAgICAgICB9CiAgICB9IGVsc2VpZiAoJGRvaW5nID09ICdkZWxmaWxlcycpIHsKICAgICAgICBpZiAoJGRsKSB7CiAgICAgICAgICAgICRkZmlsZXMgPSAnJzsKICAgICAgICAgICAgJHN1Y2MgPSAkZmFpbCA9IDA7CiAgICAgICAgICAgIGZvcmVhY2ggKCRkbCBhcyAkZmlsZXBhdGggPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICBpZiAoQHVubGluaygkZmlsZXBhdGgpKSB7CiAgICAgICAgICAgICAgICAgICAgJHN1Y2MrKzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGZhaWwrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBtKCdEZWxldGVkID4+IHN1Y2Nlc3MgJyAuICRzdWNjIC4gJyBmYWlsICcgLiAkZmFpbCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbSgnUGxlYXNlIHNlbGVjdCBmaWxlKHMpJyk7CiAgICAgICAgfQogICAgfQogICAgZm9ybWhlYWQoYXJyYXkoJ25hbWUnID0+ICdjcmVhdGVkaXInKSk7CiAgICBtYWtlaGlkZSgnbmV3ZGlybmFtZScpOwogICAgbWFrZWhpZGUoJ2RpcicsICRub3dwYXRoKTsKICAgIGZvcm1mb290KCk7CiAgICBmb3JtaGVhZChhcnJheSgnbmFtZScgPT4gJ2ZpbGVwZXJtJykpOwogICAgbWFrZWhpZGUoJ25ld3Blcm0nKTsKICAgIG1ha2VoaWRlKCdwZmlsZScpOwogICAgbWFrZWhpZGUoJ2RpcicsICRub3dwYXRoKTsKICAgIGZvcm1mb290KCk7CiAgICBmb3JtaGVhZChhcnJheSgnbmFtZScgPT4gJ2NvcHlmaWxlJykpOwogICAgbWFrZWhpZGUoJ3NuYW1lJyk7CiAgICBtYWtlaGlkZSgndG9maWxlJyk7CiAgICBtYWtlaGlkZSgnZGlyJywgJG5vd3BhdGgpOwogICAgZm9ybWZvb3QoKTsKICAgIGZvcm1oZWFkKGFycmF5KCduYW1lJyA9PiAncmVuYW1lJykpOwogICAgbWFrZWhpZGUoJ29sZG5hbWUnKTsKICAgIG1ha2VoaWRlKCduZXdmaWxlbmFtZScpOwogICAgbWFrZWhpZGUoJ2RpcicsICRub3dwYXRoKTsKICAgIGZvcm1mb290KCk7CiAgICBmb3JtaGVhZChhcnJheSgnbmFtZScgPT4gJ2ZpbGVvcGZvcm0nKSk7CiAgICBtYWtlaGlkZSgnYWN0aW9uJyk7CiAgICBtYWtlaGlkZSgnb3BmaWxlJyk7CiAgICBtYWtlaGlkZSgnZGlyJyk7CiAgICBmb3JtZm9vdCgpOwogICAgJGZyZWUgPSBAZGlza19mcmVlX3NwYWNlKCRub3dwYXRoKTsKICAgICEkZnJlZSAmJiAkZnJlZSA9IDA7CiAgICAkYWxsID0gQGRpc2tfdG90YWxfc3BhY2UoJG5vd3BhdGgpOwogICAgISRhbGwgJiYgJGFsbCA9IDA7CiAgICAkdXNlZCA9ICRhbGwgLSAkZnJlZTsKICAgICR1c2VkX3BlcmNlbnQgPSBAcm91bmQoMTAwIC8gKCRhbGwgLyAkZnJlZSksIDIpOwogICAgcCgnPGZvbnQgY29sb3I9eWVsbG93IGZhY2U9dGFob21hIHNpemU9Mj48Qj5GaWxlIE1hbmFnZXI8L2I+IDwvZm9udD4gQ3VycmVudCBkaXNrIGZyZWUgPGZvbnQgY29sb3I9cmVkPicgLiBzaXplY291bnQoJGZyZWUpIC4gJzwvZm9udD4gb2YgPGZvbnQgY29sb3I9cmVkPicgLiBzaXplY291bnQoJGFsbCkgLiAnPC9mb250PiAoPGZvbnQgY29sb3I9cmVkPicgLiAkdXNlZF9wZXJjZW50IC4gJzwvZm9udD4lKTwvZm9udD4nKTs7CiAgICBlY2hvICc8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luOjEwcHggMDsiPgogIDxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJnb2RpciIgbmFtZT0iZ29kaXIiPgogIDx0cj4KICAgIDx0ZCBub3dyYXA+RGlyZWN0b3J5ICgnOwogICAgZWNobyAkZGlyX3dyaXRlYWJsZTs7CiAgICBlY2hvICcsICc7CiAgICBlY2hvIGdldENobW9kKCRub3dwYXRoKTs7CiAgICBlY2hvICcpPC90ZD4KCTx0ZCB3aWR0aD0iMTAwJSI+PGlucHV0IG5hbWU9InZpZXdfd3JpdGFibGUiIHZhbHVlPSIwIiB0eXBlPSJoaWRkZW4iIC8+PGlucHV0IGNsYXNzPSJpbnB1dCIgbmFtZT0iZGlyIiB2YWx1ZT0iJzsKICAgIGVjaG8gJG5vd3BhdGg7OwogICAgZWNobyAnIiB0eXBlPSJ0ZXh0IiBzdHlsZT0id2lkdGg6MTAwJTttYXJnaW46MHB4OyI+PC90ZD4KICAgIDx0ZCBub3dyYXA+PGlucHV0IGNsYXNzPSJidCIgdmFsdWU9IkdPIiB0eXBlPSJzdWJtaXQiPjwvdGQ+CiAgPC90cj4KICA8L2Zvcm0+CjwvdGFibGU+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gY3JlYXRlZGlyKCl7Cgl2YXIgbmV3ZGlybmFtZTsKCW5ld2Rpcm5hbWUgPSBwcm9tcHQoXCdkaXJlY3RvcnkgbmFtZTpcJywgXCdcJyk7CglpZiAoIW5ld2Rpcm5hbWUpIHJldHVybjsKCSQoXCdjcmVhdGVkaXJcJykubmV3ZGlybmFtZS52YWx1ZT1uZXdkaXJuYW1lOwoJJChcJ2NyZWF0ZWRpclwnKS5zdWJtaXQoKTsKfQpmdW5jdGlvbiBmaWxlcGVybShwZmlsZSl7Cgl2YXIgbmV3cGVybTsKCW5ld3Blcm0gPSBwcm9tcHQoXCdDdXJyZW50IGZpbGU6XCcrcGZpbGUrXCdcXG4gbmV3IGF0dHJpYnV0ZTpcJywgXCdcJyk7CglpZiAoIW5ld3Blcm0pIHJldHVybjsKCSQoXCdmaWxlcGVybVwnKS5uZXdwZXJtLnZhbHVlPW5ld3Blcm07CgkkKFwnZmlsZXBlcm1cJykucGZpbGUudmFsdWU9cGZpbGU7CgkkKFwnZmlsZXBlcm1cJykuc3VibWl0KCk7Cn0KZnVuY3Rpb24gY29weWZpbGUoc25hbWUpewoJdmFyIHRvZmlsZTsKCXRvZmlsZSA9IHByb21wdChcJ09yaWdpbmFsIGZpbGU6XCcrc25hbWUrXCdcXG4gb2JqZWN0IGZpbGUgKGZ1bGxwYXRoKTpcJywgXCdcJyk7CglpZiAoIXRvZmlsZSkgcmV0dXJuOwoJJChcJ2NvcHlmaWxlXCcpLnRvZmlsZS52YWx1ZT10b2ZpbGU7CgkkKFwnY29weWZpbGVcJykuc25hbWUudmFsdWU9c25hbWU7CgkkKFwnY29weWZpbGVcJykuc3VibWl0KCk7Cn0KZnVuY3Rpb24gcmVuYW1lKG9sZG5hbWUpewoJdmFyIG5ld2ZpbGVuYW1lOwoJbmV3ZmlsZW5hbWUgPSBwcm9tcHQoXCdGb3JtZXIgZmlsZSBuYW1lOlwnK29sZG5hbWUrXCdcXG4gbmV3IGZpbGVuYW1lOlwnLCBcJ1wnKTsKCWlmICghbmV3ZmlsZW5hbWUpIHJldHVybjsKCSQoXCdyZW5hbWVcJykubmV3ZmlsZW5hbWUudmFsdWU9bmV3ZmlsZW5hbWU7CgkkKFwncmVuYW1lXCcpLm9sZG5hbWUudmFsdWU9b2xkbmFtZTsKCSQoXCdyZW5hbWVcJykuc3VibWl0KCk7Cn0KZnVuY3Rpb24gZG9maWxlKGRvaW5nLHRoZWZpbGUsbSl7CglpZiAobSAmJiAhY29uZmlybShtKSkgewoJCXJldHVybjsKCX0KCSQoXCdmaWxlbGlzdFwnKS5kb2luZy52YWx1ZT1kb2luZzsKCWlmICh0aGVmaWxlKXsKCQkkKFwnZmlsZWxpc3RcJykudGhlZmlsZS52YWx1ZT10aGVmaWxlOwoJfQoJJChcJ2ZpbGVsaXN0XCcpLnN1Ym1pdCgpOwp9CmZ1bmN0aW9uIGNyZWF0ZWZpbGUobm93cGF0aCl7Cgl2YXIgZmlsZW5hbWU7CglmaWxlbmFtZSA9IHByb21wdChcJ2ZpbGUgbmFtZTpcJywgXCdcJyk7CglpZiAoIWZpbGVuYW1lKSByZXR1cm47CglvcGZpbGUoXCdlZGl0ZmlsZVwnLG5vd3BhdGggKyBmaWxlbmFtZSxub3dwYXRoKTsKfQpmdW5jdGlvbiBvcGZpbGUoYWN0aW9uLG9wZmlsZSxkaXIpewoJJChcJ2ZpbGVvcGZvcm1cJykuYWN0aW9uLnZhbHVlPWFjdGlvbjsKCSQoXCdmaWxlb3Bmb3JtXCcpLm9wZmlsZS52YWx1ZT1vcGZpbGU7CgkkKFwnZmlsZW9wZm9ybVwnKS5kaXIudmFsdWU9ZGlyOwoJJChcJ2ZpbGVvcGZvcm1cJykuc3VibWl0KCk7Cn0KZnVuY3Rpb24gZ29kaXIoZGlyLHZpZXdfd3JpdGFibGUpewoJaWYgKHZpZXdfd3JpdGFibGUpIHsKCQkkKFwnZ29kaXJcJykudmlld193cml0YWJsZS52YWx1ZT0xOwoJfQoJJChcJ2dvZGlyXCcpLmRpci52YWx1ZT1kaXI7CgkkKFwnZ29kaXJcJykuc3VibWl0KCk7Cn0KPC9zY3JpcHQ+CiAgJzsKICAgIHRiaGVhZCgpOwogICAgcCgnPGZvcm0gYWN0aW9uPSInIC4gJHNlbGYgLiAnIiBtZXRob2Q9IlBPU1QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPjx0ciBjbGFzcz0iYWx0MSI+PHRkIGNvbHNwYW49IjciIHN0eWxlPSJwYWRkaW5nOjVweDsiPicpOwogICAgcCgnPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij48aW5wdXQgY2xhc3M9ImlucHV0IiBuYW1lPSJ1cGxvYWRmaWxlIiB2YWx1ZT0iIiB0eXBlPSJmaWxlIiAvPiA8aW5wdXQgY2xhc3M9IiIgbmFtZT0iZG91cGZpbGUiIHZhbHVlPSJVcGxvYWQiIHR5cGU9InN1Ym1pdCIgLz48aW5wdXQgbmFtZT0idXBsb2FkZGlyIiB2YWx1ZT0iJyAuICRkaXIgLiAnIiB0eXBlPSJoaWRkZW4iIC8+PGlucHV0IG5hbWU9ImRpciIgdmFsdWU9IicgLiAkZGlyIC4gJyIgdHlwZT0iaGlkZGVuIiAvPjwvZGl2PicpOwogICAgcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycgLiAkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdIC4gJ1wnKTsiPlRyYW5nIMSR4bqndTwvYT4nKTsKICAgIGlmICgkdmlld193cml0YWJsZSkgewogICAgICAgIHAoJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29kaXIoXCcnIC4gJG5vd3BhdGggLiAnXCcpOyI+WGVtIHThuqV0IGPhuqM8L2E+Jyk7CiAgICB9IGVsc2UgewogICAgICAgIHAoJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29kaXIoXCcnIC4gJG5vd3BhdGggLiAnXCcsXCcxXCcpOyI+VOG6oW8gdGjGsCBt4bulYzwvYT4nKTsKICAgIH0KICAgIHAoJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Y3JlYXRlZGlyKCk7Ij5U4bqhbyB0aMawIG3hu6VjPC9hPiB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Y3JlYXRlZmlsZShcJycgLiAkbm93cGF0aCAuICdcJyk7Ij5U4bqhbyBGaWxlPC9hPicpOwogICAgaWYgKElTX1dJTiAmJiBJU19DT00pIHsKICAgICAgICAkb2JqID0gbmV3IENPTSgnc2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QnKTsKICAgICAgICBpZiAoJG9iaiAmJiBpc19vYmplY3QoJG9iaikpIHsKICAgICAgICAgICAgJERyaXZlVHlwZURCID0gYXJyYXkoMCA9PiAnVW5rbm93JywgMSA9PiAnUmVtb3ZhYmxlJywgMiA9PiAnRml4ZWQnLCAzID0+ICdOZXR3b3JrJywgNCA9PiAnQ0RSb20nLCA1ID0+ICdSQU0gRGlzaycpOwogICAgICAgICAgICBmb3JlYWNoICgkb2JqLT5Ecml2ZXMgYXMgJGRyaXZlKSB7CiAgICAgICAgICAgICAgICBpZiAoJGRyaXZlLT5Ecml2ZVR5cGUgPT0gMikgewogICAgICAgICAgICAgICAgICAgIHAoJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29kaXIoXCcnIC4gJGRyaXZlLT5QYXRoIC4gJy9cJyk7IiB0aXRsZT0iU2l6ZTonIC4gc2l6ZWNvdW50KCRkcml2ZS0+VG90YWxTaXplKSAuICcmIzEzO0ZyZWU6JyAuIHNpemVjb3VudCgkZHJpdmUtPkZyZWVTcGFjZSkgLiAnJiMxMztUeXBlOicgLiAkRHJpdmVUeXBlREJbJGRyaXZlLT5Ecml2ZVR5cGVdIC4gJyI+JyAuICREcml2ZVR5cGVEQlskZHJpdmUtPkRyaXZlVHlwZV0gLiAnKCcgLiAkZHJpdmUtPlBhdGggLiAnKTwvYT4nKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcCgnIHwgPGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycgLiAkZHJpdmUtPlBhdGggLiAnL1wnKTsiIHRpdGxlPSJUeXBlOicgLiAkRHJpdmVUeXBlREJbJGRyaXZlLT5Ecml2ZVR5cGVdIC4gJyI+JyAuICREcml2ZVR5cGVEQlskZHJpdmUtPkRyaXZlVHlwZV0gLiAnKCcgLiAkZHJpdmUtPlBhdGggLiAnKTwvYT4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHAoJzwvdGQ+PC90cj48L2Zvcm0+Jyk7CiAgICBwKCc8dHIgY2xhc3M9ImhlYWQiPjx0ZD4mbmJzcDs8L3RkPjx0ZD5Uw6puIEZpbGU8L3RkPjx0ZCB3aWR0aD0iMTYlIj5OZ8OgeSB04bqhbzwvdGQ+PHRkIHdpZHRoPSIxMCUiPkvDrWNoIHRoxrDhu5tjPC90ZD48dGQgd2lkdGg9IjIwJSI+Q2htb2QgLyBRdXnhu4FuPC90ZD48dGQgd2lkdGg9IjIyJSI+TOG7h25oPC90ZD48L3RyPicpOwogICAgJGRpcmRhdGEgPSBhcnJheSgpOwogICAgJGZpbGVkYXRhID0gYXJyYXkoKTsKICAgIGlmICgkdmlld193cml0YWJsZSkgewogICAgICAgICRkaXJkYXRhID0gR2V0TGlzdCgkbm93cGF0aCk7CiAgICB9IGVsc2UgewogICAgICAgICRkaXJzID0gQG9wZW5kaXIoJGRpcik7CiAgICAgICAgd2hpbGUgKCRmaWxlID0gQHJlYWRkaXIoJGRpcnMpKSB7CiAgICAgICAgICAgICRmaWxlcGF0aCA9ICRub3dwYXRoIC4gJGZpbGU7CiAgICAgICAgICAgIGlmIChAaXNfZGlyKCRmaWxlcGF0aCkpIHsKICAgICAgICAgICAgICAgICRkaXJkYlsnZmlsZW5hbWUnXSA9ICRmaWxlOwogICAgICAgICAgICAgICAgJGRpcmRiWydtdGltZSddID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgZmlsZW10aW1lKCRmaWxlcGF0aCkpOwogICAgICAgICAgICAgICAgJGRpcmRiWydkaXJjaG1vZCddID0gZ2V0Q2htb2QoJGZpbGVwYXRoKTsKICAgICAgICAgICAgICAgICRkaXJkYlsnZGlycGVybSddID0gZ2V0UGVybXMoJGZpbGVwYXRoKTsKICAgICAgICAgICAgICAgICRkaXJkYlsnZmlsZW93bmVyJ10gPSBnZXRVc2VyKCRmaWxlcGF0aCk7CiAgICAgICAgICAgICAgICAkZGlyZGJbJ2RpcmxpbmsnXSA9ICRub3dwYXRoOwogICAgICAgICAgICAgICAgJGRpcmRiWydzZXJ2ZXJfbGluayddID0gJGZpbGVwYXRoOwogICAgICAgICAgICAgICAgJGRpcmRiWydjbGllbnRfbGluayddID0gdWUoJGZpbGVwYXRoKTsKICAgICAgICAgICAgICAgICRkaXJkYXRhW10gPSAkZGlyZGI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZmlsZWRiWydmaWxlbmFtZSddID0gJGZpbGU7CiAgICAgICAgICAgICAgICAkZmlsZWRiWydzaXplJ10gPSBzaXplY291bnQoQGZpbGVzaXplKCRmaWxlcGF0aCkpOwogICAgICAgICAgICAgICAgJGZpbGVkYlsnbXRpbWUnXSA9IEBkYXRlKCdZLW0tZCBIOmk6cycsIGZpbGVtdGltZSgkZmlsZXBhdGgpKTsKICAgICAgICAgICAgICAgICRmaWxlZGJbJ2ZpbGVjaG1vZCddID0gZ2V0Q2htb2QoJGZpbGVwYXRoKTsKICAgICAgICAgICAgICAgICRmaWxlZGJbJ2ZpbGVwZXJtJ10gPSBnZXRQZXJtcygkZmlsZXBhdGgpOwogICAgICAgICAgICAgICAgJGZpbGVkYlsnZmlsZW93bmVyJ10gPSBnZXRVc2VyKCRmaWxlcGF0aCk7CiAgICAgICAgICAgICAgICAkZmlsZWRiWydkaXJsaW5rJ10gPSAkbm93cGF0aDsKICAgICAgICAgICAgICAgICRmaWxlZGJbJ3NlcnZlcl9saW5rJ10gPSAkZmlsZXBhdGg7CiAgICAgICAgICAgICAgICAkZmlsZWRiWydjbGllbnRfbGluayddID0gdWUoJGZpbGVwYXRoKTsKICAgICAgICAgICAgICAgICRmaWxlZGF0YVtdID0gJGZpbGVkYjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB1bnNldCgkZGlyZGIpOwogICAgICAgIHVuc2V0KCRmaWxlZGIpOwogICAgICAgIEBjbG9zZWRpcigkZGlycyk7CiAgICB9CiAgICBAc29ydCgkZGlyZGF0YSk7CiAgICBAc29ydCgkZmlsZWRhdGEpOwogICAgJGRpcl9pID0gJzAnOwogICAgZm9yZWFjaCAoJGRpcmRhdGEgYXMgJGtleSA9PiAkZGlyZGIpIHsKICAgICAgICBpZiAoJGRpcmRiWydmaWxlbmFtZSddICE9ICcuLicgJiYgJGRpcmRiWydmaWxlbmFtZSddICE9ICcuJykgewogICAgICAgICAgICAkdGhpc2JnID0gYmcoKTsKICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJmb3V0IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9XCdmb2N1c1wnOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9XCdmb3V0XCc7Ij4nKTsKICAgICAgICAgICAgcCgnPHRkIHdpZHRoPSIyJSIgbm93cmFwPjxmb250IGZhY2U9IndpbmdkaW5ncyIgc2l6ZT0iMyI+MDwvZm9udD48L3RkPicpOwogICAgICAgICAgICBwKCc8dGQ+PGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycgLiAkZGlyZGJbJ3NlcnZlcl9saW5rJ10gLiAnXCcpOyI+JyAuICRkaXJkYlsnZmlsZW5hbWUnXSAuICc8L2E+PC90ZD4nKTsKICAgICAgICAgICAgcCgnPHRkIG5vd3JhcD4nIC4gJGRpcmRiWydtdGltZSddIC4gJzwvdGQ+Jyk7CiAgICAgICAgICAgIHAoJzx0ZCBub3dyYXA+LS08L3RkPicpOwogICAgICAgICAgICBwKCc8dGQgbm93cmFwPicpOwogICAgICAgICAgICBwKCc8YSBocmVmPSJqYXZhc2NyaXB0OmZpbGVwZXJtKFwnJyAuICRkaXJkYlsnc2VydmVyX2xpbmsnXSAuICdcJyk7Ij4nIC4gJGRpcmRiWydkaXJjaG1vZCddIC4gJzwvYT4gLyAnKTsKICAgICAgICAgICAgcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpmaWxlcGVybShcJycgLiAkZGlyZGJbJ3NlcnZlcl9saW5rJ10gLiAnXCcpOyI+JyAuICRkaXJkYlsnZGlycGVybSddIC4gJzwvYT4nIC4gJGRpcmRiWydmaWxlb3duZXInXSAuICc8L3RkPicpOwogICAgICAgICAgICBwKCc8dGQgbm93cmFwPjxhIGhyZWY9ImphdmFzY3JpcHQ6ZG9maWxlKFwnZGVsZGlyXCcsXCcnIC4gJGRpcmRiWydzZXJ2ZXJfbGluayddIC4gJ1wnLFwnQXJlIHlvdSBzdXJlIHdpbGwgZGVsZXRlICcgLiAkZGlyZGJbJ2ZpbGVuYW1lJ10gLiAnPyBcXG5cXG5JZiBub24tZW1wdHkgZGlyZWN0b3J5LCB3aWxsIGJlIGRlbGV0ZSBhbGwgdGhlIGZpbGVzLlwnKSI+RGVsPC9hPiB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6cmVuYW1lKFwnJyAuICRkaXJkYlsnc2VydmVyX2xpbmsnXSAuICdcJyk7Ij5SZW5hbWU8L2E+PC90ZD4nKTsKICAgICAgICAgICAgcCgnPC90cj4nKTsKICAgICAgICAgICAgJGRpcl9pKys7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCRkaXJkYlsnZmlsZW5hbWUnXSA9PSAnLi4nKSB7CiAgICAgICAgICAgICAgICBwKCc8dHIgY2xhc3M9Zm91dD4nKTsKICAgICAgICAgICAgICAgIHAoJzx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJXaW5nZGluZ3MgMyIgc2l6ZT00Pj08L2ZvbnQ+PC90ZD48dGQgbm93cmFwIGNvbHNwYW49IjUiPjxhIGhyZWY9ImphdmFzY3JpcHQ6Z29kaXIoXCcnIC4gZ2V0VXBQYXRoKCRub3dwYXRoKSAuICdcJyk7Ij5UcuG7nyB24buBPC9hPjwvdGQ+Jyk7CiAgICAgICAgICAgICAgICBwKCc8L3RyPicpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcCgnPHRyIGJnY29sb3I9ImdyZWVuIiBzdGx5ZT0iYm9yZGVyLXRvcDoxcHggc29saWQgZ3JheTtib3JkZXItYm90dG9tOjFweCBzb2xpZCBncmF5OyI+PHRkIGNvbHNwYW49IjYiIGhlaWdodD0iNSI+PC90ZD48L3RyPicpOwogICAgcCgnPGZvcm0gaWQ9ImZpbGVsaXN0IiBuYW1lPSJmaWxlbGlzdCIgYWN0aW9uPSInIC4gJHNlbGYgLiAnIiBtZXRob2Q9InBvc3QiPicpOwogICAgbWFrZWhpZGUoJ2FjdGlvbicsICdmaWxlJyk7CiAgICBtYWtlaGlkZSgndGhlZmlsZScpOwogICAgbWFrZWhpZGUoJ2RvaW5nJyk7CiAgICBtYWtlaGlkZSgnZGlyJywgJG5vd3BhdGgpOwogICAgJGZpbGVfaSA9ICcwJzsKICAgIGZvcmVhY2ggKCRmaWxlZGF0YSBhcyAka2V5ID0+ICRmaWxlZGIpIHsKICAgICAgICBpZiAoJGZpbGVkYlsnZmlsZW5hbWUnXSAhPSAnLi4nICYmICRmaWxlZGJbJ2ZpbGVuYW1lJ10gIT0gJy4nKSB7CiAgICAgICAgICAgICRmaWxldXJsID0gc3RyX3JlcGxhY2UoU0FfUk9PVCwgJycsICRmaWxlZGJbJ3NlcnZlcl9saW5rJ10pOwogICAgICAgICAgICAkdGhpc2JnID0gYmcoKTsKICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJmb3V0IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9XCdmb2N1c1wnOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9XCdmb3V0XCc7Ij4nKTsKICAgICAgICAgICAgcCgnPHRkIHdpZHRoPSIyJSIgbm93cmFwPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9IjEiIG5hbWU9ImRsWycgLiAkZmlsZWRiWydzZXJ2ZXJfbGluayddIC4gJ10iPjwvdGQ+Jyk7CiAgICAgICAgICAgIHAoJzx0ZD48YSBocmVmPSInIC4gJGZpbGV1cmwgLiAnIiB0YXJnZXQ9Il9ibGFuayI+JyAuICRmaWxlZGJbJ2ZpbGVuYW1lJ10gLiAnPC9hPjwvdGQ+Jyk7CiAgICAgICAgICAgIHAoJzx0ZCBub3dyYXA+JyAuICRmaWxlZGJbJ210aW1lJ10gLiAnPC90ZD4nKTsKICAgICAgICAgICAgcCgnPHRkIG5vd3JhcD4nIC4gJGZpbGVkYlsnc2l6ZSddIC4gJzwvdGQ+Jyk7CiAgICAgICAgICAgIHAoJzx0ZCBub3dyYXA+Jyk7CiAgICAgICAgICAgIHAoJzxhIGhyZWY9ImphdmFzY3JpcHQ6ZmlsZXBlcm0oXCcnIC4gJGZpbGVkYlsnc2VydmVyX2xpbmsnXSAuICdcJyk7Ij4nIC4gJGZpbGVkYlsnZmlsZWNobW9kJ10gLiAnPC9hPiAvICcpOwogICAgICAgICAgICBwKCc8YSBocmVmPSJqYXZhc2NyaXB0OmZpbGVwZXJtKFwnJyAuICRmaWxlZGJbJ3NlcnZlcl9saW5rJ10gLiAnXCcpOyI+JyAuICRmaWxlZGJbJ2ZpbGVwZXJtJ10gLiAnPC9hPicgLiAkZmlsZWRiWydmaWxlb3duZXInXSAuICc8L3RkPicpOwogICAgICAgICAgICBwKCc8dGQgbm93cmFwPicpOwogICAgICAgICAgICBwKCc8YSBocmVmPSJqYXZhc2NyaXB0OmRvZmlsZShcJ2Rvd25maWxlXCcsXCcnIC4gJGZpbGVkYlsnc2VydmVyX2xpbmsnXSAuICdcJyk7Ij5U4bqjaTwvYT4gfCAnKTsKICAgICAgICAgICAgcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpjb3B5ZmlsZShcJycgLiAkZmlsZWRiWydzZXJ2ZXJfbGluayddIC4gJ1wnKTsiPkNvcHk8L2E+IHwgJyk7CiAgICAgICAgICAgIHAoJzxhIGhyZWY9ImphdmFzY3JpcHQ6b3BmaWxlKFwnZWRpdGZpbGVcJyxcJycgLiAkZmlsZWRiWydzZXJ2ZXJfbGluayddIC4gJ1wnLFwnJyAuICRmaWxlZGJbJ2RpcmxpbmsnXSAuICdcJyk7Ij5T4butYTwvYT4gfCAnKTsKICAgICAgICAgICAgcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpyZW5hbWUoXCcnIC4gJGZpbGVkYlsnc2VydmVyX2xpbmsnXSAuICdcJyk7Ij7EkOG7lWkgdMOqbjwvYT4gfCAnKTsKICAgICAgICAgICAgcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpvcGZpbGUoXCduZXd0aW1lXCcsXCcnIC4gJGZpbGVkYlsnc2VydmVyX2xpbmsnXSAuICdcJyxcJycgLiAkZmlsZWRiWydkaXJsaW5rJ10gLiAnXCcpOyI+VGltZTwvYT4nKTsKICAgICAgICAgICAgcCgnPC90ZD48L3RyPicpOwogICAgICAgICAgICAkZmlsZV9pKys7CiAgICAgICAgfQogICAgfQogICAgcCgnPHRyIGNsYXNzPSJmb3V0MSI+PHRkIGFsaWduPSJjZW50ZXIiPjxpbnB1dCBuYW1lPSJjaGthbGwiIHZhbHVlPSJvbiIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9IkNoZWNrQWxsKHRoaXMuZm9ybSkiIC8+PC90ZD48dGQ+PGEgaHJlZj0iamF2YXNjcmlwdDpkb2ZpbGUoXCdkb3ducmFyXCcpOyI+RG93bmxvYWQgU2VsZWN0PC9hPiAtIDxhIGhyZWY9ImphdmFzY3JpcHQ6ZG9maWxlKFwnZGVsZmlsZXNcJyk7Ij5EZWxldGUgPC9hPjwvdGQ+PHRkIGNvbHNwYW49IjQiIGFsaWduPSJyaWdodCI+JyAuICRkaXJfaSAuICcgZGlyZWN0b3JpZXMgLyAnIC4gJGZpbGVfaSAuICcgZmlsZXM8L3RkPjwvdHI+Jyk7CiAgICBwKCc8L2Zvcm0+PC90YWJsZT4nKTsKfTsKZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBteXNxbGZpbGUoZG9pbmcpewoJaWYoIWRvaW5nKSByZXR1cm47CgkkKFwnZG9pbmdcJykudmFsdWU9ZG9pbmc7CgkkKFwnbXlzcWxmaWxlXCcpLmRiaG9zdC52YWx1ZT0kKFwnZGJpbmZvXCcpLmRiaG9zdC52YWx1ZTsKCSQoXCdteXNxbGZpbGVcJykuZGJwb3J0LnZhbHVlPSQoXCdkYmluZm9cJykuZGJwb3J0LnZhbHVlOwoJJChcJ215c3FsZmlsZVwnKS5kYnVzZXIudmFsdWU9JChcJ2RiaW5mb1wnKS5kYnVzZXIudmFsdWU7CgkkKFwnbXlzcWxmaWxlXCcpLmRicGFzcy52YWx1ZT0kKFwnZGJpbmZvXCcpLmRicGFzcy52YWx1ZTsKCSQoXCdteXNxbGZpbGVcJykuZGJuYW1lLnZhbHVlPSQoXCdkYmluZm9cJykuZGJuYW1lLnZhbHVlOwoJJChcJ215c3FsZmlsZVwnKS5jaGFyc2V0LnZhbHVlPSQoXCdkYmluZm9cJykuY2hhcnNldC52YWx1ZTsKCSQoXCdteXNxbGZpbGVcJykuc3VibWl0KCk7Cn0KPC9zY3JpcHQ+Cic7CmlmICgkYWN0aW9uID09ICdzcWxhZG1pbicpIHsKICAgICEkZGJob3N0ICYmICRkYmhvc3QgPSAnbG9jYWxob3N0JzsKICAgICEkZGJ1c2VyICYmICRkYnVzZXIgPSAncm9vdCc7CiAgICAhJGRicG9ydCAmJiAkZGJwb3J0ID0gJzMzMDYnOwogICAgJGRiZm9ybSA9ICc8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY29ubmVjdCIgbmFtZT0iY29ubmVjdCIgdmFsdWU9IjEiIC8+JzsKICAgIGlmIChpc3NldCgkZGJob3N0KSkgewogICAgICAgICRkYmZvcm0uPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cImRiaG9zdFwiIG5hbWU9XCJkYmhvc3RcIiB2YWx1ZT1cIiRkYmhvc3RcIiAvPlxuIjsKICAgIH0KICAgIGlmIChpc3NldCgkZGJ1c2VyKSkgewogICAgICAgICRkYmZvcm0uPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cImRidXNlclwiIG5hbWU9XCJkYnVzZXJcIiB2YWx1ZT1cIiRkYnVzZXJcIiAvPlxuIjsKICAgIH0KICAgIGlmIChpc3NldCgkZGJwYXNzKSkgewogICAgICAgICRkYmZvcm0uPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cImRicGFzc1wiIG5hbWU9XCJkYnBhc3NcIiB2YWx1ZT1cIiRkYnBhc3NcIiAvPlxuIjsKICAgIH0KICAgIGlmIChpc3NldCgkZGJwb3J0KSkgewogICAgICAgICRkYmZvcm0uPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cImRicG9ydFwiIG5hbWU9XCJkYnBvcnRcIiB2YWx1ZT1cIiRkYnBvcnRcIiAvPlxuIjsKICAgIH0KICAgIGlmIChpc3NldCgkZGJuYW1lKSkgewogICAgICAgICRkYmZvcm0uPSAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cImRibmFtZVwiIG5hbWU9XCJkYm5hbWVcIiB2YWx1ZT1cIiRkYm5hbWVcIiAvPlxuIjsKICAgIH0KICAgIGlmIChpc3NldCgkY2hhcnNldCkpIHsKICAgICAgICAkZGJmb3JtLj0gIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJjaGFyc2V0XCIgbmFtZT1cImNoYXJzZXRcIiB2YWx1ZT1cIiRjaGFyc2V0XCIgLz5cbiI7CiAgICB9CiAgICBpZiAoJGRvaW5nID09ICdiYWNrdXBteXNxbCcgJiYgJHNhdmVhc2ZpbGUpIHsKICAgICAgICBpZiAoISR0YWJsZSkgewogICAgICAgICAgICBtKCdQbGVhc2UgY2hvb3NlIHRoZSB0YWJsZScpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRiY29ubigkZGJob3N0LCAkZGJ1c2VyLCAkZGJwYXNzLCAkZGJuYW1lLCAkY2hhcnNldCwgJGRicG9ydCk7CiAgICAgICAgICAgICR0YWJsZSA9IGFycmF5X2ZsaXAoJHRhYmxlKTsKICAgICAgICAgICAgJGZwID0gQGZvcGVuKCRwYXRoLCAndycpOwogICAgICAgICAgICBpZiAoJGZwKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gcSgnU0hPVyB0YWJsZXMnKTsKICAgICAgICAgICAgICAgIGlmICghJHJlc3VsdCkgcCgnPGgyPicgLiBteXNxbF9lcnJvcigpIC4gJzwvaDI+Jyk7CiAgICAgICAgICAgICAgICAkbXlzcWxkYXRhID0gJyc7CiAgICAgICAgICAgICAgICB3aGlsZSAoJGN1cnJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR0YWJsZVskY3Vycm93WzBdXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgc3FsZHVtcHRhYmxlKCRjdXJyb3dbMF0sICRmcCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgICAgICAgICAkZmlsZXVybCA9IHN0cl9yZXBsYWNlKFNBX1JPT1QsICcnLCAkcGF0aCk7CiAgICAgICAgICAgICAgICBtKCdEYXRhYmFzZSBoYXMgc3VjY2VzcyBiYWNrdXAgdG8gPGEgaHJlZj0iJyAuICRmaWxldXJsIC4gJyIgdGFyZ2V0PSJfYmxhbmsiPicgLiAkcGF0aCAuICc8L2E+Jyk7CiAgICAgICAgICAgICAgICBteXNxbF9jbG9zZSgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbSgnQmFja3VwIGZhaWxlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaWYgKCRpbnNlcnQgJiYgJGluc2VydHNxbCkgewogICAgICAgICRrZXlzdHIgPSAkdmFsc3RyID0gJHRtcCA9ICcnOwogICAgICAgIGZvcmVhY2ggKCRpbnNlcnRzcWwgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgICAgICAgIGlmICgkdmFsKSB7CiAgICAgICAgICAgICAgICAka2V5c3RyLj0gJHRtcCAuICRrZXk7CiAgICAgICAgICAgICAgICAkdmFsc3RyLj0gJHRtcCAuICInIiAuIGFkZHNsYXNoZXMoJHZhbCkgLiAiJyI7CiAgICAgICAgICAgICAgICAkdG1wID0gJywnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICgka2V5c3RyICYmICR2YWxzdHIpIHsKICAgICAgICAgICAgZGJjb25uKCRkYmhvc3QsICRkYnVzZXIsICRkYnBhc3MsICRkYm5hbWUsICRjaGFyc2V0LCAkZGJwb3J0KTsKICAgICAgICAgICAgbShxKCJJTlNFUlQgSU5UTyAkdGFibGVuYW1lICgka2V5c3RyKSBWQUxVRVMgKCR2YWxzdHIpIikgPyAnSW5zZXJ0IG5ldyByZWNvcmQgb2Ygc3VjY2VzcycgOiBteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICB9CiAgICBpZiAoJHVwZGF0ZSAmJiAkaW5zZXJ0c3FsICYmICRiYXNlNjQpIHsKICAgICAgICAkdmFsc3RyID0gJHRtcCA9ICcnOwogICAgICAgIGZvcmVhY2ggKCRpbnNlcnRzcWwgYXMgJGtleSA9PiAkdmFsKSB7CiAgICAgICAgICAgICR2YWxzdHIuPSAkdG1wIC4gJGtleSAuICI9JyIgLiBhZGRzbGFzaGVzKCR2YWwpIC4gIiciOwogICAgICAgICAgICAkdG1wID0gJywnOwogICAgICAgIH0KICAgICAgICBpZiAoJHZhbHN0cikgewogICAgICAgICAgICAkd2hlcmUgPSBiYXNlNjRfZGVjb2RlKCRiYXNlNjQpOwogICAgICAgICAgICBkYmNvbm4oJGRiaG9zdCwgJGRidXNlciwgJGRicGFzcywgJGRibmFtZSwgJGNoYXJzZXQsICRkYnBvcnQpOwogICAgICAgICAgICBtKHEoIlVQREFURSAkdGFibGVuYW1lIFNFVCAkdmFsc3RyIFdIRVJFICR3aGVyZSBMSU1JVCAxIikgPyAnUmVjb3JkIHVwZGF0aW5nJyA6IG15c3FsX2Vycm9yKCkpOwogICAgICAgIH0KICAgIH0KICAgIGlmICgkZG9pbmcgPT0gJ2RlbCcgJiYgJGJhc2U2NCkgewogICAgICAgICR3aGVyZSA9IGJhc2U2NF9kZWNvZGUoJGJhc2U2NCk7CiAgICAgICAgJGRlbGV0ZV9zcWwgPSAiREVMRVRFIEZST00gJHRhYmxlbmFtZSBXSEVSRSAkd2hlcmUiOwogICAgICAgIGRiY29ubigkZGJob3N0LCAkZGJ1c2VyLCAkZGJwYXNzLCAkZGJuYW1lLCAkY2hhcnNldCwgJGRicG9ydCk7CiAgICAgICAgbShxKCJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFICR3aGVyZSIpID8gJ0RlbGV0aW9uIHJlY29yZCBvZiBzdWNjZXNzJyA6IG15c3FsX2Vycm9yKCkpOwogICAgfQogICAgaWYgKCR0YWJsZW5hbWUgJiYgJGRvaW5nID09ICdkcm9wJykgewogICAgICAgIGRiY29ubigkZGJob3N0LCAkZGJ1c2VyLCAkZGJwYXNzLCAkZGJuYW1lLCAkY2hhcnNldCwgJGRicG9ydCk7CiAgICAgICAgaWYgKHEoIkRST1AgVEFCTEUgJHRhYmxlbmFtZSIpKSB7CiAgICAgICAgICAgIG0oJ0Ryb3AgdGFibGUgb2Ygc3VjY2VzcycpOwogICAgICAgICAgICAkdGFibGVuYW1lID0gJyc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbShteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICB9CiAgICAkY2hhcnNldHMgPSBhcnJheSgnJyA9PiAnRGVmYXVsdCcsICdnYmsnID0+ICdHQksnLCAnYmlnNScgPT4gJ0JpZzUnLCAndXRmOCcgPT4gJ1VURi04JywgJ2xhdGluMScgPT4gJ0xhdGluMScpOwogICAgZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJyA9PiAnTVlTUUwgTWFuYWdlcicpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnc3FsYWRtaW4nKTsKICAgIHAoJzxwPicpOwogICAgcCgnREJIb3N0OicpOwogICAgbWFrZWlucHV0KGFycmF5KCduYW1lJyA9PiAnZGJob3N0JywgJ3NpemUnID0+IDIwLCAndmFsdWUnID0+ICRkYmhvc3QpKTsKICAgIHAoJzonKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ2RicG9ydCcsICdzaXplJyA9PiA0LCAndmFsdWUnID0+ICRkYnBvcnQpKTsKICAgIHAoJ0RCVXNlcjonKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ2RidXNlcicsICdzaXplJyA9PiAxNSwgJ3ZhbHVlJyA9PiAkZGJ1c2VyKSk7CiAgICBwKCdEQlBhc3M6Jyk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICdkYnBhc3MnLCAnc2l6ZScgPT4gMTUsICd2YWx1ZScgPT4gJGRicGFzcykpOwogICAgcCgnREJDaGFyc2V0OicpOwogICAgbWFrZXNlbGVjdChhcnJheSgnbmFtZScgPT4gJ2NoYXJzZXQnLCAnb3B0aW9uJyA9PiAkY2hhcnNldHMsICdzZWxlY3RlZCcgPT4gJGNoYXJzZXQpKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ2Nvbm5lY3QnLCAndmFsdWUnID0+ICdDb25uZWN0JywgJ3R5cGUnID0+ICdzdWJtaXQnLCAnY2xhc3MnID0+ICdidCcpKTsKICAgIHAoJzwvcD4nKTsKICAgIGZvcm1mb290KCk7OwogICAgZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBlZGl0cmVjb3JkKGFjdGlvbiwgYmFzZTY0LCB0YWJsZW5hbWUpewoJaWYgKGFjdGlvbiA9PSBcJ2RlbFwnKSB7CgkJaWYgKCFjb25maXJtKFwnSXMgb3IgaXNuXFxcJ3QgZGVsZXRpb24gcmVjb3JkP1wnKSkgcmV0dXJuOwoJfQoJJChcJ3JlY29yZGxpc3RcJykuZG9pbmcudmFsdWU9YWN0aW9uOwoJJChcJ3JlY29yZGxpc3RcJykuYmFzZTY0LnZhbHVlPWJhc2U2NDsKCSQoXCdyZWNvcmRsaXN0XCcpLnRhYmxlbmFtZS52YWx1ZT10YWJsZW5hbWU7CgkkKFwncmVjb3JkbGlzdFwnKS5zdWJtaXQoKTsKfQpmdW5jdGlvbiBtb2RkYm5hbWUoZGJuYW1lKSB7CglpZighZGJuYW1lKSByZXR1cm47CgkkKFwnc2V0ZGJuYW1lXCcpLmRibmFtZS52YWx1ZT1kYm5hbWU7CgkkKFwnc2V0ZGJuYW1lXCcpLnN1Ym1pdCgpOwp9CmZ1bmN0aW9uIHNldHRhYmxlKHRhYmxlbmFtZSxkb2luZyxwYWdlKSB7CglpZighdGFibGVuYW1lKSByZXR1cm47CglpZiAoZG9pbmcpIHsKCQkkKFwnc2V0dGFibGVcJykuZG9pbmcudmFsdWU9ZG9pbmc7Cgl9CglpZiAocGFnZSkgewoJCSQoXCdzZXR0YWJsZVwnKS5wYWdlLnZhbHVlPXBhZ2U7Cgl9CgkkKFwnc2V0dGFibGVcJykudGFibGVuYW1lLnZhbHVlPXRhYmxlbmFtZTsKCSQoXCdzZXR0YWJsZVwnKS5zdWJtaXQoKTsKfQo8L3NjcmlwdD4KJzsKICAgIGZvcm1oZWFkKGFycmF5KCduYW1lJyA9PiAncmVjb3JkbGlzdCcpKTsKICAgIG1ha2VoaWRlKCdkb2luZycpOwogICAgbWFrZWhpZGUoJ2FjdGlvbicsICdzcWxhZG1pbicpOwogICAgbWFrZWhpZGUoJ2Jhc2U2NCcpOwogICAgbWFrZWhpZGUoJ3RhYmxlbmFtZScpOwogICAgcCgkZGJmb3JtKTsKICAgIGZvcm1mb290KCk7CiAgICBmb3JtaGVhZChhcnJheSgnbmFtZScgPT4gJ3NldGRibmFtZScpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnc3FsYWRtaW4nKTsKICAgIHAoJGRiZm9ybSk7CiAgICBpZiAoISRkYm5hbWUpIHsKICAgICAgICBtYWtlaGlkZSgnZGJuYW1lJyk7CiAgICB9CiAgICBmb3JtZm9vdCgpOwogICAgZm9ybWhlYWQoYXJyYXkoJ25hbWUnID0+ICdzZXR0YWJsZScpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnc3FsYWRtaW4nKTsKICAgIHAoJGRiZm9ybSk7CiAgICBtYWtlaGlkZSgndGFibGVuYW1lJyk7CiAgICBtYWtlaGlkZSgncGFnZScsICRwYWdlKTsKICAgIG1ha2VoaWRlKCdkb2luZycpOwogICAgZm9ybWZvb3QoKTsKICAgICRjYWNoZXRhYmxlcyA9IGFycmF5KCk7CiAgICAkcGFnZW51bSA9IDMwOwogICAgJHBhZ2UgPSBpbnR2YWwoJHBhZ2UpOwogICAgaWYgKCRwYWdlKSB7CiAgICAgICAgJHN0YXJ0X2xpbWl0ID0gKCRwYWdlIC0gMSkgKiAkcGFnZW51bTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHN0YXJ0X2xpbWl0ID0gMDsKICAgICAgICAkcGFnZSA9IDE7CiAgICB9CiAgICBpZiAoaXNzZXQoJGRiaG9zdCkgJiYgaXNzZXQoJGRidXNlcikgJiYgaXNzZXQoJGRicGFzcykgJiYgaXNzZXQoJGNvbm5lY3QpKSB7CiAgICAgICAgZGJjb25uKCRkYmhvc3QsICRkYnVzZXIsICRkYnBhc3MsICRkYm5hbWUsICRjaGFyc2V0LCAkZGJwb3J0KTsKICAgICAgICAkbXlzcWx2ZXIgPSBteXNxbF9nZXRfc2VydmVyX2luZm8oKTsKICAgICAgICBwKCc8cD5NeVNRTCAnIC4gJG15c3FsdmVyIC4gJyBydW5uaW5nIGluICcgLiAkZGJob3N0IC4gJyBhcyAnIC4gJGRidXNlciAuICdAJyAuICRkYmhvc3QgLiAnPC9wPicpOwogICAgICAgICRoaWdodmVyID0gJG15c3FsdmVyID4gJzQuMScgPyAxIDogMDsKICAgICAgICAkcXVlcnkgPSBxKCJTSE9XIERBVEFCQVNFUyIpOwogICAgICAgICRkYnMgPSBhcnJheSgpOwogICAgICAgICRkYnNbXSA9ICctLSBTZWxlY3QgYSBkYXRhYmFzZSAtLSc7CiAgICAgICAgd2hpbGUgKCRkYiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKICAgICAgICAgICAgJGRic1skZGJbJ0RhdGFiYXNlJ11dID0gJGRiWydEYXRhYmFzZSddOwogICAgICAgIH0KICAgICAgICBtYWtlc2VsZWN0KGFycmF5KCd0aXRsZScgPT4gJ1BsZWFzZSBzZWxlY3QgYSBkYXRhYmFzZTonLCAnbmFtZScgPT4gJ2RiW10nLCAnb3B0aW9uJyA9PiAkZGJzLCAnc2VsZWN0ZWQnID0+ICRkYm5hbWUsICdvbmNoYW5nZScgPT4gJ21vZGRibmFtZSh0aGlzLm9wdGlvbnNbdGhpcy5zZWxlY3RlZEluZGV4XS52YWx1ZSknLCAnbmV3bGluZScgPT4gMSkpOwogICAgICAgICR0YWJsZWRiID0gYXJyYXkoKTsKICAgICAgICBpZiAoJGRibmFtZSkgewogICAgICAgICAgICBwKCc8cD4nKTsKICAgICAgICAgICAgcCgnQ3VycmVudCBkYWJhYmFzZTogPGEgaHJlZj0iamF2YXNjcmlwdDptb2RkYm5hbWUoXCcnIC4gJGRibmFtZSAuICdcJyk7Ij4nIC4gJGRibmFtZSAuICc8L2E+Jyk7CiAgICAgICAgICAgIGlmICgkdGFibGVuYW1lKSB7CiAgICAgICAgICAgICAgICBwKCcgfCBDdXJyZW50IFRhYmxlOiA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZW5hbWUgLiAnXCcpOyI+JyAuICR0YWJsZW5hbWUgLiAnPC9hPiBbIDxhIGhyZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUoXCcnIC4gJHRhYmxlbmFtZSAuICdcJywgXCdpbnNlcnRcJyk7Ij5JbnNlcnQ8L2E+IHwgPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycgLiAkdGFibGVuYW1lIC4gJ1wnLCBcJ3N0cnVjdHVyZVwnKTsiPlN0cnVjdHVyZTwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZW5hbWUgLiAnXCcsIFwnZHJvcFwnKTsiPkRyb3A8L2E+IF0nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwKCc8L3A+Jyk7CiAgICAgICAgICAgIG15c3FsX3NlbGVjdF9kYigkZGJuYW1lKTsKICAgICAgICAgICAgJGdldG51bXNxbCA9ICcnOwogICAgICAgICAgICAkcnVucXVlcnkgPSAwOwogICAgICAgICAgICBpZiAoJHNxbF9xdWVyeSkgewogICAgICAgICAgICAgICAgJHJ1bnF1ZXJ5ID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYWxsb3dlZGl0ID0gMDsKICAgICAgICAgICAgaWYgKCR0YWJsZW5hbWUgJiYgISRzcWxfcXVlcnkpIHsKICAgICAgICAgICAgICAgICRzcWxfcXVlcnkgPSAiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIjsKICAgICAgICAgICAgICAgICRnZXRudW1zcWwgPSAkc3FsX3F1ZXJ5OwogICAgICAgICAgICAgICAgJHNxbF9xdWVyeSA9ICRzcWxfcXVlcnkgLiAiIExJTUlUICRzdGFydF9saW1pdCwgJHBhZ2VudW0iOwogICAgICAgICAgICAgICAgJGFsbG93ZWRpdCA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcCgnPGZvcm0gYWN0aW9uPSInIC4gJHNlbGYgLiAnIiBtZXRob2Q9IlBPU1QiPicpOwogICAgICAgICAgICBwKCc8cD48dGFibGUgd2lkdGg9IjIwMCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQgY29sc3Bhbj0iMiI+UnVuIFNRTCBxdWVyeS9xdWVyaWVzIG9uIGRhdGFiYXNlIDxmb250IGNvbG9yPXJlZD48Yj4nIC4gJGRibmFtZSAuICc8L2ZvbnQ+PC9iPjo8QlI+RXhhbXBsZSBWQkIgUGFzc3dvcmQ6IDxmb250IGNvbG9yPXJlZD5reW1sam5rPC9mb250PjxCUj48Zm9udCBjb2xvcj15ZWxsb3c+VVBEQVRFIGB1c2VyYCBTRVQgYHBhc3N3b3JkYCA9IFwnNjllNTNlNWFiOTUzNmU1NWQzMWZmNTMzYWVmYzRmYmVcJywgc2FsdCA9IFwncDVUXCcgV0hFUkUgYHVzZXJpZGAgPSBcJzFcJyA8L2ZvbnQ+CgkJCTwvdGQ+PC90cj48dHI+PHRkPjx0ZXh0YXJlYSBuYW1lPSJzcWxfcXVlcnkiIGNsYXNzPSJhcmVhIiBzdHlsZT0id2lkdGg6NjAwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6YXV0bzsiPicgLiBodG1sc3BlY2lhbGNoYXJzKCRzcWxfcXVlcnksIEVOVF9RVU9URVMpIC4gJzwvdGV4dGFyZWE+PC90ZD48dGQgc3R5bGU9InBhZGRpbmc6MCA1cHg7Ij48aW5wdXQgY2xhc3M9ImJ0IiBzdHlsZT0iaGVpZ2h0OjUwcHg7IiBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlF1ZXJ5IiAvPjwvdGQ+PC90cj48L3RhYmxlPjwvcD4nKTsKICAgICAgICAgICAgbWFrZWhpZGUoJ3RhYmxlbmFtZScsICR0YWJsZW5hbWUpOwogICAgICAgICAgICBtYWtlaGlkZSgnYWN0aW9uJywgJ3NxbGFkbWluJyk7CiAgICAgICAgICAgIHAoJGRiZm9ybSk7CiAgICAgICAgICAgIHAoJzwvZm9ybT4nKTsKICAgICAgICAgICAgaWYgKCR0YWJsZW5hbWUgfHwgKCRydW5xdWVyeSAmJiAkc3FsX3F1ZXJ5KSkgewogICAgICAgICAgICAgICAgaWYgKCRkb2luZyA9PSAnc3RydWN0dXJlJykgewogICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSBxKCJTSE9XIENPTFVNTlMgRlJPTSAkdGFibGVuYW1lIik7CiAgICAgICAgICAgICAgICAgICAgJHJvd2RiID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJHJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyb3dkYltdID0gJHJvdzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcCgnPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIwIj4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dHIgY2xhc3M9ImhlYWQiPicpOwogICAgICAgICAgICAgICAgICAgIHAoJzx0ZD5GaWVsZDwvdGQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcCgnPHRkPlR5cGU8L3RkPicpOwogICAgICAgICAgICAgICAgICAgIHAoJzx0ZD5OdWxsPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+S2V5PC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+RGVmYXVsdDwvdGQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcCgnPHRkPkV4dHJhPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8L3RyPicpOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRyb3dkYiBhcyAkcm93KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzYmcgPSBiZygpOwogICAgICAgICAgICAgICAgICAgICAgICBwKCc8dHIgY2xhc3M9ImZvdXQiIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT1cJ2ZvY3VzXCc7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT1cJ2ZvdXRcJzsiPicpOwogICAgICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICRyb3dbJ0ZpZWxkJ10gLiAnPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkcm93WydUeXBlJ10gLiAnPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkcm93WydOdWxsJ10gLiAnJm5ic3A7PC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkcm93WydLZXknXSAuICcmbmJzcDs8L3RkPicpOwogICAgICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICRyb3dbJ0RlZmF1bHQnXSAuICcmbmJzcDs8L3RkPicpOwogICAgICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICRyb3dbJ0V4dHJhJ10gLiAnJm5ic3A7PC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPC90cj4nKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGJmb290KCk7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGRvaW5nID09ICdpbnNlcnQnIHx8ICRkb2luZyA9PSAnZWRpdCcpIHsKICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gcSgnU0hPVyBDT0xVTU5TIEZST00gJyAuICR0YWJsZW5hbWUpOwogICAgICAgICAgICAgICAgICAgIHdoaWxlICgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJvd2RiW10gPSAkcm93OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkcnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgIGlmICgkZG9pbmcgPT0gJ2luc2VydCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPGgyPkluc2VydCBuZXcgbGluZSBpbiAnIC4gJHRhYmxlbmFtZSAuICcgdGFibGUgJnJhcXVvOzwvaDI+Jyk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPGgyPlVwZGF0ZSByZWNvcmQgaW4gJyAuICR0YWJsZW5hbWUgLiAnIHRhYmxlICZyYXF1bzs8L2gyPicpOwogICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmUgPSBiYXNlNjRfZGVjb2RlKCRiYXNlNjQpOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gcSgiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIFdIRVJFICR3aGVyZSBMSU1JVCAxIik7CiAgICAgICAgICAgICAgICAgICAgICAgICRycyA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBwKCc8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iJyAuICRzZWxmIC4gJyI+Jyk7CiAgICAgICAgICAgICAgICAgICAgcCgkZGJmb3JtKTsKICAgICAgICAgICAgICAgICAgICBtYWtlaGlkZSgnYWN0aW9uJywgJ3NxbGFkbWluJyk7CiAgICAgICAgICAgICAgICAgICAgbWFrZWhpZGUoJ3RhYmxlbmFtZScsICR0YWJsZW5hbWUpOwogICAgICAgICAgICAgICAgICAgIHAoJzx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMCI+Jyk7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHJvd2RiIGFzICRyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRyc1skcm93WydGaWVsZCddXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkcnNbJHJvd1snRmllbGQnXV0pOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXNiZyA9IGJnKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHAoJzx0ciBjbGFzcz0iZm91dCIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPVwnZm9jdXNcJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPVwnZm91dFwnOyI+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHAoJzx0ZD48Yj4nIC4gJHJvd1snRmllbGQnXSAuICc8L2I+PGJyIC8+JyAuICRyb3dbJ1R5cGUnXSAuICc8L3RkPjx0ZD48dGV4dGFyZWEgY2xhc3M9ImFyZWEiIG5hbWU9Imluc2VydHNxbFsnIC4gJHJvd1snRmllbGQnXSAuICddIiBzdHlsZT0id2lkdGg6NTAwcHg7aGVpZ2h0OjYwcHg7b3ZlcmZsb3c6YXV0bzsiPicgLiAkdmFsdWUgLiAnPC90ZXh0YXJlYT48L3RkPjwvdHI+Jyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICgkZG9pbmcgPT0gJ2luc2VydCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJmb3V0Ij48dGQgY29sc3Bhbj0iMiI+PGlucHV0IGNsYXNzPSJidCIgdHlwZT0ic3VibWl0IiBuYW1lPSJpbnNlcnQiIHZhbHVlPSJJbnNlcnQiIC8+PC90ZD48L3RyPicpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHAoJzx0ciBjbGFzcz0iZm91dCI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCBjbGFzcz0iYnQiIHR5cGU9InN1Ym1pdCIgbmFtZT0idXBkYXRlIiB2YWx1ZT0iVXBkYXRlIiAvPjwvdGQ+PC90cj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgbWFrZWhpZGUoJ2Jhc2U2NCcsICRiYXNlNjQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBwKCc8L3RhYmxlPjwvZm9ybT4nKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5cyA9IEBleHBsb2RlKCc7JywgJHNxbF9xdWVyeSk7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHF1ZXJ5cyBhcyAkbnVtID0+ICRxdWVyeSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHF1ZXJ5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwKCI8cD48Yj5RdWVyeSN7JG51bX0gOiAiIC4gaHRtbHNwZWNpYWxjaGFycygkcXVlcnksIEVOVF9RVU9URVMpIC4gIjwvYj48L3A+Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHF5KCRxdWVyeSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAoJzxoMj5FcnJvciA6ICcgLiBteXNxbF9lcnJvcigpIC4gJzwvaDI+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydG9sb3dlcihzdWJzdHIoJHF1ZXJ5LCAwLCAxMykpID09ICdzZWxlY3QgKiBmcm9tJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsbG93ZWRpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRnZXRudW1zcWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YXRvbCA9IG15c3FsX251bV9yb3dzKHEoJGdldG51bXNxbCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG11bHRpcGFnZSA9IG11bHRpKCR0YXRvbCwgJHBhZ2VudW0sICRwYWdlLCAkdGFibGVuYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISR0YWJsZW5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcWxfbGluZSA9IHN0cl9yZXBsYWNlKGFycmF5KCJcciIsICJcbiIsICJcdCIpLCBhcnJheSgnICcsICcgJywgJyAnKSwgdHJpbShodG1sc3BlY2lhbGNoYXJzKCRxdWVyeSkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcWxfbGluZSA9IHByZWdfcmVwbGFjZSgiL1wvXCpbXihcKlwvKV0qXCpcLy9pIiwgIiAiLCAkc3FsX2xpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZ19tYXRjaF9hbGwoIi9mcm9tXHMrYHswLDF9KFtcd10rKWB7MCwxfVxzKy9pIiwgJHNxbF9saW5lLCAkbWF0Y2hlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFibGVuYW1lID0gJG1hdGNoZXNbMV1bMF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9IHEoJHF1ZXJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCgkbXVsdGlwYWdlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIwIj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJoZWFkIj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhbGxvd2VkaXQpIHAoJzx0ZD5BY3Rpb248L3RkPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmllbGRudW0gPSBAbXlzcWxfbnVtX2ZpZWxkcygkcmVzdWx0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7JGkgPCAkZmllbGRudW07JGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSBAbXlzcWxfZmllbGRfbmFtZSgkcmVzdWx0LCAkaSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZSA9IEBteXNxbF9maWVsZF90eXBlKCRyZXN1bHQsICRpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsZW4gPSBAbXlzcWxfZmllbGRfbGVuKCRyZXN1bHQsICRpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAoIjx0ZCBub3dyYXA+JG5hbWU8YnI+PHNwYW4+JHR5cGUoJGxlbik8L3NwYW4+PC90ZD4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwKCc8L3RyPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJG1uID0gQG15c3FsX2ZldGNoX2Fzc29jKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpc2JnID0gYmcoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAoJzx0ciBjbGFzcz0iZm91dCIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPVwnZm9jdXNcJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPVwnZm91dFwnOyI+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmUgPSAkdG1wID0gJGIxID0gJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkbW4gYXMgJGtleSA9PiAkaW5zaWRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRpbnNpZGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlLj0gJHRtcCAuICRrZXkgLiAiPSciIC4gYWRkc2xhc2hlcygkaW5zaWRlKSAuICInIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRtcCA9ICcgQU5EICc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiMS49ICc8dGQgbm93cmFwPicgLiBodG1sX2NsZWFuKCRpbnNpZGUpIC4gJyZuYnNwOzwvdGQ+JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZSA9IGJhc2U2NF9lbmNvZGUoJHdoZXJlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYWxsb3dlZGl0KSBwKCc8dGQgbm93cmFwPjxhIGhyZWY9ImphdmFzY3JpcHQ6ZWRpdHJlY29yZChcJ2VkaXRcJywgXCcnIC4gJHdoZXJlIC4gJ1wnLCBcJycgLiAkdGFibGVuYW1lIC4gJ1wnKTsiPkVkaXQ8L2E+IHwgPGEgaHJlZj0iamF2YXNjcmlwdDplZGl0cmVjb3JkKFwnZGVsXCcsIFwnJyAuICR3aGVyZSAuICdcJywgXCcnIC4gJHRhYmxlbmFtZSAuICdcJyk7Ij5EZWw8L2E+PC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAoJGIxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAoJzwvdHI+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkYjEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRiZm9vdCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwKCRtdWx0aXBhZ2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhciA9IG15c3FsX2FmZmVjdGVkX3Jvd3MoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCgnPGgyPmFmZmVjdGVkIHJvd3MgOiA8Yj4nIC4gJGFyIC4gJzwvYj48L2gyPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gcSgiU0hPVyBUQUJMRSBTVEFUVVMiKTsKICAgICAgICAgICAgICAgICR0YWJsZV9udW0gPSAkdGFibGVfcm93cyA9ICRkYXRhX3NpemUgPSAwOwogICAgICAgICAgICAgICAgJHRhYmxlZGIgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgd2hpbGUgKCR0YWJsZSA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YV9zaXplID0gJGRhdGFfc2l6ZSArICR0YWJsZVsnRGF0YV9sZW5ndGgnXTsKICAgICAgICAgICAgICAgICAgICAkdGFibGVfcm93cyA9ICR0YWJsZV9yb3dzICsgJHRhYmxlWydSb3dzJ107CiAgICAgICAgICAgICAgICAgICAgJHRhYmxlWydEYXRhX2xlbmd0aCddID0gc2l6ZWNvdW50KCR0YWJsZVsnRGF0YV9sZW5ndGgnXSk7CiAgICAgICAgICAgICAgICAgICAgJHRhYmxlX251bSsrOwogICAgICAgICAgICAgICAgICAgICR0YWJsZWRiW10gPSAkdGFibGU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZGF0YV9zaXplID0gc2l6ZWNvdW50KCRkYXRhX3NpemUpOwogICAgICAgICAgICAgICAgdW5zZXQoJHRhYmxlKTsKICAgICAgICAgICAgICAgIHAoJzx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+Jyk7CiAgICAgICAgICAgICAgICBwKCc8Zm9ybSBhY3Rpb249IicgLiAkc2VsZiAuICciIG1ldGhvZD0iUE9TVCI+Jyk7CiAgICAgICAgICAgICAgICBtYWtlaGlkZSgnYWN0aW9uJywgJ3NxbGFkbWluJyk7CiAgICAgICAgICAgICAgICBwKCRkYmZvcm0pOwogICAgICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJoZWFkIj4nKTsKICAgICAgICAgICAgICAgIHAoJzx0ZCB3aWR0aD0iMiUiIGFsaWduPSJjZW50ZXIiPjxpbnB1dCBuYW1lPSJjaGthbGwiIHZhbHVlPSJvbiIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9IkNoZWNrQWxsKHRoaXMuZm9ybSkiIC8+PC90ZD4nKTsKICAgICAgICAgICAgICAgIHAoJzx0ZD5OYW1lPC90ZD4nKTsKICAgICAgICAgICAgICAgIHAoJzx0ZD5Sb3dzPC90ZD4nKTsKICAgICAgICAgICAgICAgIHAoJzx0ZD5EYXRhX2xlbmd0aDwvdGQ+Jyk7CiAgICAgICAgICAgICAgICBwKCc8dGQ+Q3JlYXRlX3RpbWU8L3RkPicpOwogICAgICAgICAgICAgICAgcCgnPHRkPlVwZGF0ZV90aW1lPC90ZD4nKTsKICAgICAgICAgICAgICAgIGlmICgkaGlnaHZlcikgewogICAgICAgICAgICAgICAgICAgIHAoJzx0ZD5FbmdpbmU8L3RkPicpOwogICAgICAgICAgICAgICAgICAgIHAoJzx0ZD5Db2xsYXRpb248L3RkPicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcCgnPC90cj4nKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0YWJsZWRiIGFzICRrZXkgPT4gJHRhYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXNiZyA9IGJnKCk7CiAgICAgICAgICAgICAgICAgICAgcCgnPHRyIGNsYXNzPSJmb3V0IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9XCdmb2N1c1wnOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9XCdmb3V0XCc7Ij4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjIlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InRhYmxlW10iIHZhbHVlPSInIC4gJHRhYmxlWydOYW1lJ10gLiAnIiAvPjwvdGQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcCgnPHRkPjxhIGhyZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUoXCcnIC4gJHRhYmxlWydOYW1lJ10gLiAnXCcpOyI+JyAuICR0YWJsZVsnTmFtZSddIC4gJzwvYT4gWyA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZVsnTmFtZSddIC4gJ1wnLCBcJ2luc2VydFwnKTsiPkluc2VydDwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZVsnTmFtZSddIC4gJ1wnLCBcJ3N0cnVjdHVyZVwnKTsiPlN0cnVjdHVyZTwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZVsnTmFtZSddIC4gJ1wnLCBcJ2Ryb3BcJyk7Ij5Ecm9wPC9hPiBdPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICR0YWJsZVsnUm93cyddIC4gJzwvdGQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkdGFibGVbJ0RhdGFfbGVuZ3RoJ10gLiAnPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICR0YWJsZVsnQ3JlYXRlX3RpbWUnXSAuICc8L3RkPicpOwogICAgICAgICAgICAgICAgICAgIHAoJzx0ZD4nIC4gJHRhYmxlWydVcGRhdGVfdGltZSddIC4gJzwvdGQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRoaWdodmVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHAoJzx0ZD4nIC4gJHRhYmxlWydFbmdpbmUnXSAuICc8L3RkPicpOwogICAgICAgICAgICAgICAgICAgICAgICBwKCc8dGQ+JyAuICR0YWJsZVsnQ29sbGF0aW9uJ10gLiAnPC90ZD4nKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcCgnPC90cj4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHAoJzx0ciBjbGFzcz1mb3V0PicpOwogICAgICAgICAgICAgICAgcCgnPHRkPiZuYnNwOzwvdGQ+Jyk7CiAgICAgICAgICAgICAgICBwKCc8dGQ+VG90YWwgdGFibGVzOiAnIC4gJHRhYmxlX251bSAuICc8L3RkPicpOwogICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkdGFibGVfcm93cyAuICc8L3RkPicpOwogICAgICAgICAgICAgICAgcCgnPHRkPicgLiAkZGF0YV9zaXplIC4gJzwvdGQ+Jyk7CiAgICAgICAgICAgICAgICBwKCc8dGQgY29sc3Bhbj0iJyAuICgkaGlnaHZlciA/IDQgOiAyKSAuICciPiZuYnNwOzwvdGQ+Jyk7CiAgICAgICAgICAgICAgICBwKCc8L3RyPicpOwogICAgICAgICAgICAgICAgcCgiPHRyIGNsYXNzPVwiZm91dFwiPjx0ZCBjb2xzcGFuPVwiIiAuICgkaGlnaHZlciA/IDggOiA2KSAuICJcIj48aW5wdXQgbmFtZT1cInNhdmVhc2ZpbGVcIiB2YWx1ZT1cIjFcIiB0eXBlPVwiY2hlY2tib3hcIiAvPiBTYXZlIGFzIGZpbGUgPGlucHV0IGNsYXNzPVwiaW5wdXRcIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiIiAuIFNBX1JPT1QgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAiX015U1FMLnNxbFwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgLz4gPGlucHV0IGNsYXNzPVwiYnRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cImRvd25yYXJcIiB2YWx1ZT1cIkV4cG9ydCBzZWxlY3Rpb24gdGFibGVcIiAvPjwvdGQ+PC90cj4iKTsKICAgICAgICAgICAgICAgIG1ha2VoaWRlKCdkb2luZycsICdiYWNrdXBteXNxbCcpOwogICAgICAgICAgICAgICAgZm9ybWZvb3QoKTsKICAgICAgICAgICAgICAgIHAoIjwvdGFibGU+Iik7CiAgICAgICAgICAgICAgICBmcigkcXVlcnkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgdGJmb290KCk7CiAgICBAbXlzcWxfY2xvc2UoKTsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2V0Y3B3ZCcpIHsKICAgIGZvcm1oZWFkKGFycmF5KCd0aXRsZScgPT4gJ0dldCAvZXRjL3Bhc3N3ZCcpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnZXRjcHdkJyk7CiAgICBtYWtlaGlkZSgnZGlyJywgJG5vd3BhdGgpOwogICAgJGkgPSAwOwogICAgZWNobyAiPHA+PGJyPjx0ZXh0YXJlYSBjbGFzcz1cImFyZWFcIiBpZD1cInBocGNvZGV4eHhcIiBuYW1lPVwicGhwY29kZXh4eFwiIGNvbHM9XCIxMDBcIiByb3dzPVwiMjVcIj4iOwogICAgd2hpbGUgKCRpIDwgNjAwMDApIHsKICAgICAgICAkbGluZSA9IHBvc2l4X2dldHB3dWlkKCRpKTsKICAgICAgICBpZiAoIWVtcHR5KCRsaW5lKSkgewogICAgICAgICAgICB3aGlsZSAobGlzdCgka2V5LCAkdmJhX2V0Y3B3ZCkgPSBlYWNoKCRsaW5lKSkgewogICAgICAgICAgICAgICAgZWNobyAiIiAuICR2YmFfZXRjcHdkIC4gIlxuIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRpKys7CiAgICB9CiAgICBlY2hvICI8L3RleHRhcmVhPjwvcD4iOwogICAgZm9ybWZvb3QoKTsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2NvbW1hbmQnKSB7CiAgICBpZiAoSVNfV0lOICYmIElTX0NPTSkgewogICAgICAgIGlmICgkcHJvZ3JhbSAmJiAkcGFyYW1ldGVyKSB7CiAgICAgICAgICAgICRzaGVsbCA9IG5ldyBDT00oJ1NoZWxsLkFwcGxpY2F0aW9uJyk7CiAgICAgICAgICAgICRhID0gJHNoZWxsLT5TaGVsbEV4ZWN1dGUoJHByb2dyYW0sICRwYXJhbWV0ZXIpOwogICAgICAgICAgICBtKCdQcm9ncmFtIHJ1biBoYXMgJyAuICghJGEgPyAnc3VjY2VzcycgOiAnZmFpbCcpKTsKICAgICAgICB9CiAgICAgICAgISRwcm9ncmFtICYmICRwcm9ncmFtID0gJ2M6XHdpbmRvd3Ncc3lzdGVtMzJcY21kLmV4ZSc7CiAgICAgICAgISRwYXJhbWV0ZXIgJiYgJHBhcmFtZXRlciA9ICcvYyBuZXQgc3RhcnQgPiAnIC4gU0FfUk9PVCAuICdsb2cudHh0JzsKICAgICAgICBmb3JtaGVhZChhcnJheSgndGl0bGUnID0+ICdFeGVjdXRlIFByb2dyYW0nKSk7CiAgICAgICAgbWFrZWhpZGUoJ2FjdGlvbicsICdzaGVsbCcpOwogICAgICAgIG1ha2VpbnB1dChhcnJheSgndGl0bGUnID0+ICdQcm9ncmFtJywgJ25hbWUnID0+ICdwcm9ncmFtJywgJ3ZhbHVlJyA9PiAkcHJvZ3JhbSwgJ25ld2xpbmUnID0+IDEpKTsKICAgICAgICBwKCc8cD4nKTsKICAgICAgICBtYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJyA9PiAnUGFyYW1ldGVyJywgJ25hbWUnID0+ICdwYXJhbWV0ZXInLCAndmFsdWUnID0+ICRwYXJhbWV0ZXIpKTsKICAgICAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICdzdWJtaXQnLCAnY2xhc3MnID0+ICdidCcsICd0eXBlJyA9PiAnc3VibWl0JywgJ3ZhbHVlJyA9PiAnRXhlY3V0ZScpKTsKICAgICAgICBwKCc8L3A+Jyk7CiAgICAgICAgZm9ybWZvb3QoKTsKICAgIH0KICAgIGZvcm1oZWFkKGFycmF5KCd0aXRsZScgPT4gJ0V4ZWN1dGUgQ29tbWFuZCcpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnc2hlbGwnKTsKICAgIGlmIChJU19XSU4gJiYgSVNfQ09NKSB7CiAgICAgICAgJGV4ZWNmdW5jZGIgPSBhcnJheSgncGhwZnVuYycgPT4gJ3BocGZ1bmMnLCAnd3NjcmlwdCcgPT4gJ3dzY3JpcHQnLCAncHJvY19vcGVuJyA9PiAncHJvY19vcGVuJyk7CiAgICAgICAgbWFrZXNlbGVjdChhcnJheSgndGl0bGUnID0+ICdVc2U6JywgJ25hbWUnID0+ICdleGVjZnVuYycsICdvcHRpb24nID0+ICRleGVjZnVuY2RiLCAnc2VsZWN0ZWQnID0+ICRleGVjZnVuYywgJ25ld2xpbmUnID0+IDEpKTsKICAgIH0KICAgIHAoJzxwPicpOwogICAgbWFrZWlucHV0KGFycmF5KCd0aXRsZScgPT4gJ0NvbW1hbmQnLCAnbmFtZScgPT4gJ2NvbW1hbmQnLCAndmFsdWUnID0+ICRjb21tYW5kKSk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICdzdWJtaXQnLCAnY2xhc3MnID0+ICdidCcsICd0eXBlJyA9PiAnc3VibWl0JywgJ3ZhbHVlJyA9PiAnRXhlY3V0ZScpKTsKICAgIHAoJzwvcD4nKTsKICAgIGZvcm1mb290KCk7CiAgICBpZiAoJGNvbW1hbmQpIHsKICAgICAgICBwKCc8aHIgd2lkdGg9IjEwMCUiIG5vc2hhZGUgLz48cHJlPicpOwogICAgICAgIGlmICgkZXhlY2Z1bmMgPT0gJ3dzY3JpcHQnICYmIElTX1dJTiAmJiBJU19DT00pIHsKICAgICAgICAgICAgJHdzaCA9IG5ldyBDT00oJ1dTY3JpcHQuc2hlbGwnKTsKICAgICAgICAgICAgJGV4ZWMgPSAkd3NoLT5leGVjKCdjbWQuZXhlIC9jICcgLiAkY29tbWFuZCk7CiAgICAgICAgICAgICRzdGRvdXQgPSAkZXhlYy0+U3RkT3V0KCk7CiAgICAgICAgICAgICRzdHJvdXRwdXQgPSAkc3Rkb3V0LT5SZWFkQWxsKCk7CiAgICAgICAgICAgIGVjaG8gJHN0cm91dHB1dDsKICAgICAgICB9IGVsc2VpZiAoJGV4ZWNmdW5jID09ICdwcm9jX29wZW4nICYmIElTX1dJTiAmJiBJU19DT00pIHsKICAgICAgICAgICAgJGRlc2NyaXB0b3JzcGVjID0gYXJyYXkoMCA9PiBhcnJheSgncGlwZScsICdyJyksIDEgPT4gYXJyYXkoJ3BpcGUnLCAndycpLCAyID0+IGFycmF5KCdwaXBlJywgJ3cnKSk7CiAgICAgICAgICAgICRwcm9jZXNzID0gcHJvY19vcGVuKCRfU0VSVkVSWydDT01TUEVDJ10sICRkZXNjcmlwdG9yc3BlYywgJHBpcGVzKTsKICAgICAgICAgICAgaWYgKGlzX3Jlc291cmNlKCRwcm9jZXNzKSkgewogICAgICAgICAgICAgICAgZndyaXRlKCRwaXBlc1swXSwgJGNvbW1hbmQgLiAiXHJcbiIpOwogICAgICAgICAgICAgICAgZndyaXRlKCRwaXBlc1swXSwgImV4aXRcclxuIik7CiAgICAgICAgICAgICAgICBmY2xvc2UoJHBpcGVzWzBdKTsKICAgICAgICAgICAgICAgIHdoaWxlICghZmVvZigkcGlwZXNbMV0pKSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyBmZ2V0cygkcGlwZXNbMV0sIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZmNsb3NlKCRwaXBlc1sxXSk7CiAgICAgICAgICAgICAgICB3aGlsZSAoIWZlb2YoJHBpcGVzWzJdKSkgewogICAgICAgICAgICAgICAgICAgIGVjaG8gZmdldHMoJHBpcGVzWzJdLCAxMDI0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkcGlwZXNbMl0pOwogICAgICAgICAgICAgICAgcHJvY19jbG9zZSgkcHJvY2Vzcyk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvIChleGVjdXRlKCRjb21tYW5kKSk7CiAgICAgICAgfQogICAgICAgIHAoJzwvcHJlPicpOwogICAgfQp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnZXJyb3IubG9nJykgewogICAgbWtkaXIoJ2Vycm9yJywgMDc1NSk7CiAgICBjaGRpcignZXJyb3InKTsKICAgICRrb2tkb3N5YSA9ICIuaHRhY2Nlc3MiOwogICAgJGRvc3lhX2FkaSA9ICIka29rZG9zeWEiOwogICAgJGRvc3lhID0gZm9wZW4oJGRvc3lhX2FkaSwgJ3cnKSBvciBkaWUoIkNhbiBub3Qgb3BlbiBmaWxlISIpOwogICAgJG1ldGluID0gIk9wdGlvbnMgK0ZvbGxvd1N5bUxpbmtzICtJbmRleGVzCkRpcmVjdG9yeUluZGV4IGRlZmF1bHQuaHRtbCAKIyMgU1RBUlQgIyMKT3B0aW9ucyArRXhlY0NHSQpBZGRIYW5kbGVyIGNnaS1zY3JpcHQgbG9nIGNnaSBwbCB0ZyBsb3ZlIGg0IHRnYiB4LXpvbmUgCkFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAgLmpwZwpSZXdyaXRlRW5naW5lIG9uClJld3JpdGVSdWxlICguKilcLndhciQgLmxvZwojIyBFTkQgIyMiOwogICAgZndyaXRlKCRkb3N5YSwgJG1ldGluKTsKICAgIGZjbG9zZSgkZG9zeWEpOwogICAgJHB5dGhvbnAgPSAnSXlFdmRYTnlMMkpwYmk5d1pYSnNJQzFKTDNWemNpOXNiMk5oYkM5aVlXNWtiV2x1Q25WelpTQk5TVTFGT2pwQ1lYTmxOalE3Q2lSV1pYSnphVzl1UFNBaVEwZEpMVlJsYkc1bGRDQldaWEp6YVc5dUlERXVOU0k3Q2lSRlpHbDBVR1Z5YzJsdmJqMGlQR1p2Ym5RZ2MzUjViR1U5SjNSbGVIUXRjMmhoWkc5M09pQXdjSGdnTUhCNElEWndlQ0J5WjJJb01qVTFMQ0F3TENBd0tTd2dNSEI0SURCd2VDQTFjSGdnY21kaUtESTFOU3dnTUN3Z01Da3NJREJ3ZUNBd2NIZ2dOWEI0SUhKbllpZ3lOVFVzSURBc0lEQXBPeUJqYjJ4dmNqb2pabVptWm1abU95Qm1iMjUwTFhkbGFXZG9kRHBpYjJ4a095YytTM2x0SUV4cWJtczhMMlp2Ym5RK0lqc0tDaVJRWVhOemQyOXlaQ0E5SUNKNGVIZ2lPd2tKQ1NNZ1EyaGhibWRsSUhSb2FYTXVJRmx2ZFNCM2FXeHNJRzVsWldRZ2RHOGdaVzUwWlhJZ2RHaHBjd29KQ1FrSkl5QjBieUJzYjJkcGJpNEtjM1ZpSUVselgxZHBiaWdwZXdvSkpHOXpJRDBnSm5SeWFXMG9KRVZPVm5zaVUwVlNWa1ZTWDFOUFJsUlhRVkpGSW4wcE93b0phV1lvSkc5eklEMStJRzB2ZDJsdUwya3Bld29KQ1hKbGRIVnliaUF4T3dvSmZXVnNjMlY3Q2drSmNtVjBkWEp1SURBN0NnbDlDbjBLSkZkcGJrNVVJRDBnSmtselgxZHBiaWdwT3drSkNTTWdXVzkxSUc1bFpXUWdkRzhnWTJoaGJtZGxJSFJvWlNCMllXeDFaU0J2WmlCMGFHbHpJSFJ2SURFZ2FXWUtDUWtKQ1FraklIbHZkU2R5WlNCeWRXNXVhVzVuSUhSb2FYTWdjMk55YVhCMElHOXVJR0VnVjJsdVpHOTNjeUJPVkFvSkNRa0pDU01nYldGamFHbHVaUzRnU1dZZ2VXOTFKM0psSUhKMWJtNXBibWNnYVhRZ2IyNGdWVzVwZUN3Z2VXOTFDZ2tKQ1FrSkl5QmpZVzRnYkdWaGRtVWdkR2hsSUhaaGJIVmxJR0Z6SUdsMElHbHpMZ29LSkU1VVEyMWtVMlZ3SUQwZ0lpWWlPd2tKQ1NNZ1ZHaHBjeUJqYUdGeVlXTjBaWElnYVhNZ2RYTmxaQ0IwYnlCelpYQmxjbUYwWlNBeUlHTnZiVzFoYm1SekNna0pDUWtKSXlCcGJpQmhJR052YlcxaGJtUWdiR2x1WlNCdmJpQlhhVzVrYjNkeklFNVVMZ29LSkZWdWFYaERiV1JUWlhBZ1BTQWlPeUk3Q1FrSkl5QlVhR2x6SUdOb1lYSmhZM1JsY2lCcGN5QjFjMlZrSUhSdklITmxjR1Z5WVhSbElESWdZMjl0YldGdVpITUtDUWtKQ1FraklHbHVJR0VnWTI5dGJXRnVaQ0JzYVc1bElHOXVJRlZ1YVhndUNnb2tRMjl0YldGdVpGUnBiV1Z2ZFhSRWRYSmhkR2x2YmlBOUlERXdPd2tKSXlCVWFXMWxJR2x1SUhObFkyOXVaSE1nWVdaMFpYSWdZMjl0YldGdVpITWdkMmxzYkNCaVpTQnJhV3hzWldRS0NRa0pDUWtqSUVSdmJpZDBJSE5sZENCMGFHbHpJSFJ2SUdFZ2RtVnllU0JzWVhKblpTQjJZV3gxWlM0Z1ZHaHBjeUJwY3dvSkNRa0pDU01nZFhObFpuVnNJR1p2Y2lCamIyMXRZVzVrY3lCMGFHRjBJRzFoZVNCb1lXNW5JRzl5SUhSb1lYUUtDUWtKQ1FraklIUmhhMlVnZG1WeWVTQnNiMjVuSUhSdklHVjRaV04xZEdVc0lHeHBhMlVnSW1acGJtUWdMeUl1Q2drSkNRa0pJeUJVYUdseklHbHpJSFpoYkdsa0lHOXViSGtnYjI0Z1ZXNXBlQ0J6WlhKMlpYSnpMaUJKZENCcGN3b0pDUWtKQ1NNZ2FXZHViM0psWkNCdmJpQk9WQ0JUWlhKMlpYSnpMZ29LSkZOb2IzZEVlVzVoYldsalQzVjBjSFYwSUQwZ01Uc0pDUWtqSUVsbUlIUm9hWE1nYVhNZ01Td2dkR2hsYmlCa1lYUmhJR2x6SUhObGJuUWdkRzhnZEdobENna0pDUWtKSXlCaWNtOTNjMlZ5SUdGeklITnZiMjRnWVhNZ2FYUWdhWE1nYjNWMGNIVjBMQ0J2ZEdobGNuZHBjMlVLQ1FrSkNRa2pJR2wwSUdseklHSjFabVpsY21Wa0lHRnVaQ0J6Wlc1a0lIZG9aVzRnZEdobElHTnZiVzFoYm1RS0NRa0pDUWtqSUdOdmJYQnNaWFJsY3k0Z1ZHaHBjeUJwY3lCMWMyVm1kV3dnWm05eUlHTnZiVzFoYm1SeklHeHBhMlVLQ1FrSkNRa2pJSEJwYm1jc0lITnZJSFJvWVhRZ2VXOTFJR05oYmlCelpXVWdkR2hsSUc5MWRIQjFkQ0JoY3lCcGRBb0pDUWtKQ1NNZ2FYTWdZbVZwYm1jZ1oyVnVaWEpoZEdWa0xnb0tJeUJFVDA0blZDQkRTRUZPUjBVZ1FVNVpWRWhKVGtjZ1FrVk1UMWNnVkVoSlV5Qk1TVTVGSUZWT1RFVlRVeUJaVDFVZ1MwNVBWeUJYU0VGVUlGbFBWU2RTUlNCRVQwbE9SeUFoSVFvS0pFTnRaRk5sY0NBOUlDZ2tWMmx1VGxRZ1B5QWtUbFJEYldSVFpYQWdPaUFrVlc1cGVFTnRaRk5sY0NrN0NpUkRiV1JRZDJRZ1BTQW9KRmRwYms1VUlEOGdJbU5rSWlBNklDSndkMlFpS1RzS0pGQmhkR2hUWlhBZ1BTQW9KRmRwYms1VUlEOGdJbHhjSWlBNklDSXZJaWs3Q2lSU1pXUnBjbVZqZEc5eUlEMGdLQ1JYYVc1T1ZDQS9JQ0lnTWo0bU1TQXhQaVl5SWlBNklDSWdNVDRtTVNBeVBpWXhJaWs3Q2lSamIyeHpQU0F4TXpBN0NpUnliM2R6UFNBeU5qc0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkpsWVdSeklIUm9aU0JwYm5CMWRDQnpaVzUwSUdKNUlIUm9aU0JpY205M2MyVnlJR0Z1WkNCd1lYSnpaWE1nZEdobElHbHVjSFYwSUhaaGNtbGhZbXhsY3k0Z1NYUUtJeUJ3WVhKelpYTWdSMFZVTENCUVQxTlVJR0Z1WkNCdGRXeDBhWEJoY25RdlptOXliUzFrWVhSaElIUm9ZWFFnYVhNZ2RYTmxaQ0JtYjNJZ2RYQnNiMkZrYVc1bklHWnBiR1Z6TGdvaklGUm9aU0JtYVd4bGJtRnRaU0JwY3lCemRHOXlaV1FnYVc0Z0pHbHVleWRtSjMwZ1lXNWtJSFJvWlNCa1lYUmhJR2x6SUhOMGIzSmxaQ0JwYmlBa2FXNTdKMlpwYkdWa1lYUmhKMzB1Q2lNZ1QzUm9aWElnZG1GeWFXRmliR1Z6SUdOaGJpQmlaU0JoWTJObGMzTmxaQ0IxYzJsdVp5QWthVzU3SjNaaGNpZDlMQ0IzYUdWeVpTQjJZWElnYVhNZ2RHaGxJRzVoYldVZ2IyWUtJeUIwYUdVZ2RtRnlhV0ZpYkdVdUlFNXZkR1U2SUUxdmMzUWdiMllnZEdobElHTnZaR1VnYVc0Z2RHaHBjeUJtZFc1amRHbHZiaUJwY3lCMFlXdGxiaUJtY205dElHOTBhR1Z5SUVOSFNRb2pJSE5qY21sd2RITXVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZKbFlXUlFZWEp6WlNBS2V3b0piRzlqWVd3Z0tDcHBiaWtnUFNCQVh5QnBaaUJBWHpzS0NXeHZZMkZzSUNna2FTd2dKR3h2WXl3Z0pHdGxlU3dnSkhaaGJDazdDZ2trVFhWc2RHbHdZWEowUm05eWJVUmhkR0VnUFNBa1JVNVdleWREVDA1VVJVNVVYMVJaVUVVbmZTQTlmaUF2YlhWc2RHbHdZWEowWEM5bWIzSnRMV1JoZEdFN0lHSnZkVzVrWVhKNVBTZ3VLeWtrTHpzS0NXbG1LQ1JGVGxaN0oxSkZVVlZGVTFSZlRVVlVTRTlFSjMwZ1pYRWdJa2RGVkNJcENnbDdDZ2tKSkdsdUlEMGdKRVZPVm5zblVWVkZVbGxmVTFSU1NVNUhKMzA3Q2dsOUNnbGxiSE5wWmlna1JVNVdleWRTUlZGVlJWTlVYMDFGVkVoUFJDZDlJR1Z4SUNKUVQxTlVJaWtLQ1hzS0NRbGlhVzV0YjJSbEtGTlVSRWxPS1NCcFppQWtUWFZzZEdsd1lYSjBSbTl5YlVSaGRHRWdKaUFrVjJsdVRsUTdDZ2tKY21WaFpDaFRWRVJKVGl3Z0pHbHVMQ0FrUlU1V2V5ZERUMDVVUlU1VVgweEZUa2RVU0NkOUtUc0tDWDBLQ1NNZ2FHRnVaR3hsSUdacGJHVWdkWEJzYjJGa0lHUmhkR0VLQ1dsbUtDUkZUbFo3SjBOUFRsUkZUbFJmVkZsUVJTZDlJRDErSUM5dGRXeDBhWEJoY25SY0wyWnZjbTB0WkdGMFlUc2dZbTkxYm1SaGNuazlLQzRyS1NRdktRb0pld29KQ1NSQ2IzVnVaR0Z5ZVNBOUlDY3RMU2N1SkRFN0lDTWdjR3hsWVhObElISmxabVZ5SUhSdklGSkdRekU0TmpjZ0Nna0pRR3hwYzNRZ1BTQnpjR3hwZENndkpFSnZkVzVrWVhKNUx5d2dKR2x1S1RzZ0Nna0pKRWhsWVdSbGNrSnZaSGtnUFNBa2JHbHpkRnN4WFRzS0NRa2tTR1ZoWkdWeVFtOWtlU0E5ZmlBdlhISmNibHh5WEc1OFhHNWNiaTg3Q2drSkpFaGxZV1JsY2lBOUlDUmdPd29KQ1NSQ2IyUjVJRDBnSkNjN0NpQUpDU1JDYjJSNUlEMStJSE12WEhKY2JpUXZMenNnSXlCMGFHVWdiR0Z6ZENCY2NseHVJSGRoY3lCd2RYUWdhVzRnWW5rZ1RtVjBjMk5oY0dVS0NRa2thVzU3SjJacGJHVmtZWFJoSjMwZ1BTQWtRbTlrZVRzS0NRa2tTR1ZoWkdWeUlEMStJQzltYVd4bGJtRnRaVDFjSWlndUt5bGNJaTg3SUFvSkNTUnBibnNuWmlkOUlEMGdKREU3SUFvSkNTUnBibnNuWmlkOUlEMStJSE12WENJdkwyYzdDZ2tKSkdsdWV5ZG1KMzBnUFg0Z2N5OWNjeTh2WnpzS0Nna0pJeUJ3WVhKelpTQjBjbUZwYkdWeUNna0pabTl5S0NScFBUSTdJQ1JzYVhOMFd5UnBYVHNnSkdrckt5a0tDUWw3SUFvSkNRa2tiR2x6ZEZza2FWMGdQWDRnY3k5ZUxpdHVZVzFsUFNRdkx6c0tDUWtKSkd4cGMzUmJKR2xkSUQxK0lDOWNJaWhjZHlzcFhDSXZPd29KQ1Fra2EyVjVJRDBnSkRFN0Nna0pDU1IyWVd3Z1BTQWtKenNLQ1FrSkpIWmhiQ0E5ZmlCekx5aGVLRnh5WEc1Y2NseHVmRnh1WEc0cEtYd29YSEpjYmlSOFhHNGtLUzh2WnpzS0NRa0pKSFpoYkNBOWZpQnpMeVVvTGk0cEwzQmhZMnNvSW1NaUxDQm9aWGdvSkRFcEtTOW5aVHNLQ1FrSkpHbHVleVJyWlhsOUlEMGdKSFpoYkRzZ0Nna0pmUW9KZlFvSlpXeHpaU0FqSUhOMFlXNWtZWEprSUhCdmMzUWdaR0YwWVNBb2RYSnNJR1Z1WTI5a1pXUXNJRzV2ZENCdGRXeDBhWEJoY25RcENnbDdDZ2tKUUdsdUlEMGdjM0JzYVhRb0x5WXZMQ0FrYVc0cE93b0pDV1p2Y21WaFkyZ2dKR2tnS0RBZ0xpNGdKQ05wYmlrS0NRbDdDZ2tKQ1NScGJsc2thVjBnUFg0Z2N5OWNLeThnTDJjN0Nna0pDU2drYTJWNUxDQWtkbUZzS1NBOUlITndiR2wwS0M4OUx5d2dKR2x1V3lScFhTd2dNaWs3Q2drSkNTUnJaWGtnUFg0Z2N5OGxLQzR1S1M5d1lXTnJLQ0pqSWl3Z2FHVjRLQ1F4S1NrdloyVTdDZ2tKQ1NSMllXd2dQWDRnY3k4bEtDNHVLUzl3WVdOcktDSmpJaXdnYUdWNEtDUXhLU2t2WjJVN0Nna0pDU1JwYm5za2EyVjVmU0F1UFNBaVhEQWlJR2xtSUNoa1pXWnBibVZrS0NScGJuc2thMlY1ZlNrcE93b0pDUWtrYVc1N0pHdGxlWDBnTGowZ0pIWmhiRHNLQ1FsOUNnbDlDbjBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUdaMWJtTjBhVzl1SUVWdVkyOWtaVVJwY2pvZ1pXNWpiMlJsSUdKaGMyVTJOQ0JRWVhSb0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRVZ1WTI5a1pVUnBjZ3A3Q2dsdGVTQWtaR2x5SUQwZ2MyaHBablE3Q2dra1pHbHlJRDBnZEhKcGJTaGxibU52WkdWZlltRnpaVFkwS0NSa2FYSXBLVHNLQ1NSa2FYSWdQWDRnY3k4b1hISjhYRzRwTHk4N0NnbHlaWFIxY200Z0pHUnBjanNLZlFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQklWRTFNSUZCaFoyVWdTR1ZoWkdWeUNpTWdRWEpuZFcxbGJuUWdNVG9nUm05eWJTQnBkR1Z0SUc1aGJXVWdkRzhnZDJocFkyZ2dabTlqZFhNZ2MyaHZkV3hrSUdKbElITmxkQW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRkJoWjJWSVpXRmtaWElLZXdvSkpFVnVZMjlrWlVOMWNuSmxiblJFYVhJZ1BTQkZibU52WkdWRWFYSW9KRU4xY25KbGJuUkVhWElwT3dvSmJYa2dKR2xrSUQwZ1lHbGtZQ0JwWmlnaEpGZHBiazVVS1RzS0NXMTVJQ1JwYm1adklEMGdZSFZ1WVcxbElDMXpJQzF1SUMxeUlDMXBZRHNLQ1hCeWFXNTBJQ0pEYjI1MFpXNTBMWFI1Y0dVNklIUmxlSFF2YUhSdGJGeHVYRzRpT3dvSmNISnBiblFnUER4RlRrUTdDanhvZEcxc1BnbzhhR1ZoWkQ0S1BHMWxkR0VnYUhSMGNDMWxjWFZwZGowaVkyOXVkR1Z1ZEMxMGVYQmxJaUJqYjI1MFpXNTBQU0owWlhoMEwyaDBiV3c3SUdOb1lYSnpaWFE5VlZSR0xUZ2lQZ284ZEdsMGJHVStKRVZPVm5zblUwVlNWa1ZTWDA1QlRVVW5mU0I4SUVsUUlEb2dKRVZPVm5zblUwVlNWa1ZTWDBGRVJGSW5mU0E4TDNScGRHeGxQZ29rU0hSdGJFMWxkR0ZJWldGa1pYSUtQQzlvWldGa1BnbzhjM1I1YkdVK0NtSnZaSGw3Q21admJuUTZJREV3Y0hRZ1ZtVnlaR0Z1WVRzS1kyOXNiM0k2SUNObVptWTdDbjBLZEhJc2RHUXNkR0ZpYkdVc2FXNXdkWFFzZEdWNGRHRnlaV0VnZXdwQ1QxSkVSVkl0VWtsSFNGUTZJQ0FqTTJVelpUTmxJREZ3ZUNCemIyeHBaRHNLUWs5U1JFVlNMVlJQVURvZ0lDQWdJek5sTTJVelpTQXhjSGdnYzI5c2FXUTdDa0pQVWtSRlVpMU1SVVpVT2lBZ0lDTXpaVE5sTTJVZ01YQjRJSE52Ykdsa093cENUMUpFUlZJdFFrOVVWRTlOT2lBak0yVXpaVE5sSURGd2VDQnpiMnhwWkRzS2ZRb2paRzl0WVdsdUlIUnlPbWh2ZG1WeWV3cGlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpORFEwT3dwOUNuUmtJSHNLWTI5c2IzSTZJQ05tWm1abVptWTdDbjBLTG14cGMzUmthWElnZEdSN0NnbDBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdDbjBLTG14cGMzUmthWElnZEdoN0NnbGpiMnh2Y2pvZ0kwWkdPVGt3TURzS2ZRb3VaR2x5TEM1bWFXeGxDbnNLQ1hSbGVIUXRZV3hwWjI0NklHeGxablFnSVdsdGNHOXlkR0Z1ZERzS2ZRb3VaR2x5ZXdvSlptOXVkQzF6YVhwbE9pQXhNSEIwT3lBS0NXWnZiblF0ZDJWcFoyaDBPaUJpYjJ4a093cDlDblJoWW14bElIc0tRa0ZEUzBkU1QxVk9SQzFEVDB4UFVqb2dJekV4TVRzS2ZRcHBibkIxZENCN0NrSkJRMHRIVWs5VlRrUXRRMDlNVDFJNklFSnNZV05yT3dwamIyeHZjam9nSTJabU9Ua3dNRHNLZlFwcGJuQjFkQzV6ZFdKdGFYUWdld3AwWlhoMExYTm9ZV1J2ZHpvZ01IQjBJREJ3ZENBd0xqTmxiU0JqZVdGdUxDQXdjSFFnTUhCMElEQXVNMlZ0SUdONVlXNDdDbU52Ykc5eU9pQWpSa1pHUmtaR093cGliM0prWlhJdFkyOXNiM0k2SUNNd01EazVNREE3Q24wS1kyOWtaU0I3Q21KdmNtUmxjam9nWkdGemFHVmtJREJ3ZUNBak16TXpPd3BqYjJ4dmNqb2dkMmhwYkdVN0NuMEtjblZ1SUhzS1ltOXlaR1Z5Q1FrSk9pQmtZWE5vWldRZ01IQjRJQ016TXpNN0NtTnZiRzl5T2lBalJrWXdNRUZCT3dwOUNuUmxlSFJoY21WaElIc0tRa0ZEUzBkU1QxVk9SQzFEVDB4UFVqb2dJekZpTVdJeFlqc0tabTl1ZERvZ1JtbDRaV1J6ZVhNZ1ltOXNaRHNLWTI5c2IzSTZJQ05oWVdFN0NuMEtRVHBzYVc1cklIc0tDVU5QVEU5U09pQWpabVptWm1abU95QlVSVmhVTFVSRlEwOVNRVlJKVDA0NklHNXZibVVLZlFwQk9uWnBjMmwwWldRZ2V3b0pRMDlNVDFJNklDTm1abVptWm1ZN0lGUkZXRlF0UkVWRFQxSkJWRWxQVGpvZ2JtOXVaUXA5Q2tFNmFHOTJaWElnZXdvSmRHVjRkQzF6YUdGa2IzYzZJREJ3ZENBd2NIUWdNQzR6WlcwZ1kzbGhiaXdnTUhCMElEQndkQ0F3TGpObGJTQmplV0Z1T3dvSlkyOXNiM0k2SUNOR1JrWkdSa1k3SUZSRldGUXRSRVZEVDFKQlZFbFBUam9nYm05dVpRcDlDa0U2WVdOMGFYWmxJSHNLQ1dOdmJHOXlPaUJTWldRN0lGUkZXRlF0UkVWRFQxSkJWRWxQVGpvZ2JtOXVaUXA5Q2k1c2FYTjBaR2x5SUhSeU9taHZkbVZ5ZXdvSlltRmphMmR5YjNWdVpEb2dJelEwTkRzS2ZRb3ViR2x6ZEdScGNpQjBjanBvYjNabGNpQjBaSHNLQ1dKaFkydG5jbTkxYm1RNklDTTBORFE3Q2dsMFpYaDBMWE5vWVdSdmR6b2dNSEIwSURCd2RDQXdMak5sYlNCamVXRnVMQ0F3Y0hRZ01IQjBJREF1TTJWdElHTjVZVzQ3Q2dsamIyeHZjam9nSTBaR1JrWkdSanNnVkVWWVZDMUVSVU5QVWtGVVNVOU9PaUJ1YjI1bE93cDlDaTV1YjNSc2FXNWxld29KWW1GamEyZHliM1Z1WkRvZ0l6RXhNVHNLZlFvdWJHbHVaWHNLQ1dKaFkydG5jbTkxYm1RNklDTXlNakk3Q24wS1BDOXpkSGxzWlQ0S1BITmpjbWx3ZENCc1lXNW5kV0ZuWlQwaWFtRjJZWE5qY21sd2RDSStDbVoxYm1OMGFXOXVJRVZ1WTI5a1pYSW9ibUZ0WlNrS2V3b0pkbUZ5SUdVZ1BTQWdaRzlqZFcxbGJuUXVaMlYwUld4bGJXVnVkRUo1U1dRb2JtRnRaU2s3Q2dsbExuWmhiSFZsSUQwZ1luUnZZU2hsTG5aaGJIVmxLVHNLQ1hKbGRIVnliaUIwY25WbE93cDlDbVoxYm1OMGFXOXVJR05vYlc5a1gyWnZjbTBvYVN4bWFXeGxLUXA3Q2dsa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpUm1sc1pWQmxjbTF6WHlJcmFTa3VhVzV1WlhKSVZFMU1QU0k4Wm05eWJTQnVZVzFsUFVadmNtMVFaWEp0YzE4aUlDc2dhU3NnSWlCaFkzUnBiMjQ5SnljZ2JXVjBhRzlrUFNkUVQxTlVKejQ4YVc1d2RYUWdhV1E5ZEdWNGRGOGlJQ3NnYVNBcklDSWdJRzVoYldVOVkyaHRiMlFnZEhsd1pUMTBaWGgwSUhOcGVtVTlOU0F2UGp4cGJuQjFkQ0IwZVhCbFBYTjFZbTFwZENCamJHRnpjejBuYzNWaWJXbDBKeUIyWVd4MVpUMVBTejQ4YVc1d2RYUWdkSGx3WlQxb2FXUmtaVzRnYm1GdFpUMWhJSFpoYkhWbFBTZG5kV2tuUGp4cGJuQjFkQ0IwZVhCbFBXaHBaR1JsYmlCdVlXMWxQV1FnZG1Gc2RXVTlKeVJGYm1OdlpHVkRkWEp5Wlc1MFJHbHlKejQ4YVc1d2RYUWdkSGx3WlQxb2FXUmtaVzRnYm1GdFpUMW1JSFpoYkhWbFBTY2lLMlpwYkdVcklpYytQQzltYjNKdFBpSTdDZ2xrYjJOMWJXVnVkQzVuWlhSRmJHVnRaVzUwUW5sSlpDZ2lkR1Y0ZEY4aUlDc2dhU2t1Wm05amRYTW9LVHNLZlFwbWRXNWpkR2x2YmlCeWJWOWphRzF2WkY5bWIzSnRLSEpsYzNCdmJuTmxMR2tzY0dWeWJYTXNabWxzWlNrS2V3b0pjbVZ6Y0c5dWMyVXVhVzV1WlhKSVZFMU1JRDBnSWp4emNHRnVJRzl1WTJ4cFkyczlYRnhjSW1Ob2JXOWtYMlp2Y20wb0lpQXJJR2tnS3lBaUxDY2lLeUJtYVd4bEt5QWlKeWxjWEZ3aUlENGlLeUJ3WlhKdGN5QXJJand2YzNCaGJqNDhMM1JrUGlJN0NuMEtablZ1WTNScGIyNGdjbVZ1WVcxbFgyWnZjbTBvYVN4bWFXeGxMR1lwQ25zS0NXWXVjbVZ3YkdGalpTZ3ZYRnhjWEM5bkxDSmNYRnhjWEZ4Y1hDSXBPd29KZG1GeUlHSmhZMnM5SW5KdFgzSmxibUZ0WlY5bWIzSnRLQ0lyYVNzaUxGeGNYQ0lpSzJacGJHVXJJbHhjWENJc1hGeGNJaUlyWmlzaVhGeGNJaWs3SUhKbGRIVnliaUJtWVd4elpUc2lPd29KWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9Ja1pwYkdWZklpdHBLUzVwYm01bGNraFVUVXc5SWp4bWIzSnRJRzVoYldVOVJtOXliVkJsY20xelh5SWdLeUJwS3lBaUlHRmpkR2x2Ymowbkp5QnRaWFJvYjJROUoxQlBVMVFuUGp4cGJuQjFkQ0JwWkQxMFpYaDBYeUlnS3lCcElDc2dJaUFnYm1GdFpUMXlaVzVoYldVZ2RIbHdaVDEwWlhoMElIWmhiSFZsUFNBbklpdG1hV3hsS3lJbklDOCtQR2x1Y0hWMElIUjVjR1U5YzNWaWJXbDBJR05zWVhOelBTZHpkV0p0YVhRbklIWmhiSFZsUFU5TFBqeHBibkIxZENCMGVYQmxQWE4xWW0xcGRDQmpiR0Z6Y3owbmMzVmliV2wwSnlCdmJtTnNhV05yUFNjaUlDc2dZbUZqYXlBcklDSW5JSFpoYkhWbFBVTmhibU5sYkQ0OGFXNXdkWFFnZEhsd1pUMW9hV1JrWlc0Z2JtRnRaVDFoSUhaaGJIVmxQU2RuZFdrblBqeHBibkIxZENCMGVYQmxQV2hwWkdSbGJpQnVZVzFsUFdRZ2RtRnNkV1U5SnlSRmJtTnZaR1ZEZFhKeVpXNTBSR2x5Sno0OGFXNXdkWFFnZEhsd1pUMW9hV1JrWlc0Z2JtRnRaVDFtSUhaaGJIVmxQU2NpSzJacGJHVXJJaWMrUEM5bWIzSnRQaUk3Q2dsa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpZEdWNGRGOGlJQ3NnYVNrdVptOWpkWE1vS1RzS2ZRcG1kVzVqZEdsdmJpQnliVjl5Wlc1aGJXVmZabTl5YlNocExHWnBiR1VzWmlrS2V3b0phV1lvWmowOUoyWW5LUW9KZXdvSkNXUnZZM1Z0Wlc1MExtZGxkRVZzWlcxbGJuUkNlVWxrS0NKR2FXeGxYeUlyYVNrdWFXNXVaWEpJVkUxTVBTSThZU0JvY21WbVBTYy9ZVDFqYjIxdFlXNWtKbVE5SkVWdVkyOWtaVU4xY25KbGJuUkVhWEltWXoxbFpHbDBKVEl3SWl0bWFXeGxLeUlsTWpBblBpSWdLMlpwYkdVcklDSThMMkUrSWpzS0NYMWxiSE5sQ2dsN0Nna0paRzlqZFcxbGJuUXVaMlYwUld4bGJXVnVkRUo1U1dRb0lrWnBiR1ZmSWl0cEtTNXBibTVsY2toVVRVdzlJanhoSUdoeVpXWTlKejloUFdkMWFTWmtQU0lyWmlzaUp6NWJJQ0lnSzJacGJHVXJJQ0lnWFR3dllUNGlPd29KZlFwOUNqd3ZjMk55YVhCMFBnbzhZbTlrZVNCdmJreHZZV1E5SW1SdlkzVnRaVzUwTG1ZdVFGOHVabTlqZFhNb0tTSWdZbWRqYjJ4dmNqMGlJekJqTUdNd1l5SWdkRzl3YldGeVoybHVQU0l3SWlCc1pXWjBiV0Z5WjJsdVBTSXdJaUJ0WVhKbmFXNTNhV1IwYUQwaU1DSWdiV0Z5WjJsdWFHVnBaMmgwUFNJd0lqNEtQR05sYm5SbGNqNDhZMjlrWlQ0S1BIUmhZbXhsSUdKdmNtUmxjajBpTVNJZ2QybGtkR2c5SWpFd01DVWlJR05sYkd4emNHRmphVzVuUFNJd0lpQmpaV3hzY0dGa1pHbHVaejBpTWlJK0NqeDBjajRLQ1R4MFpDQmhiR2xuYmowaVkyVnVkR1Z5SWlCeWIzZHpjR0Z1UFRNK0Nna0pQR0krUEdadmJuUWdjMmw2WlQwaU15SStKRVZrYVhSUVpYSnphVzl1UEM5bWIyNTBQand2WWo0S0NUd3ZkR1ErQ2drOGRHUStDZ2tKSkdsdVptOEtDVHd2ZEdRK0NnazhkR1ErVTJWeWRtVnlJRWxRT2p4bWIyNTBJR052Ykc5eVBTSnlaV1FpUGlBa1JVNVdleWRUUlZKV1JWSmZRVVJFVWlkOVBDOW1iMjUwUGlCOElGbHZkWElnU1ZBNklEeG1iMjUwSUdOdmJHOXlQU0p5WldRaVBpUkZUbFo3SjFKRlRVOVVSVjlCUkVSU0ozMDhMMlp2Ym5RK0NnazhMM1JrUGdvOEwzUnlQZ284ZEhJK0NqeDBaQ0JqYjJ4emNHRnVQU0l5SWo0S1BHRWdhSEpsWmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1SWo1SWIyMWxQQzloUGlCOElBbzhZU0JvY21WbVBTSWtVMk55YVhCMFRHOWpZWFJwYjI0L1lUMWpiMjF0WVc1a0ptUTlKRVZ1WTI5a1pVTjFjbkpsYm5SRWFYSWlQa052YlcxaGJtUThMMkUrSUh3S1BHRWdhSEpsWmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1UDJFOVozVnBKbVE5SkVWdVkyOWtaVU4xY25KbGJuUkVhWElpUGtkVlNUd3ZZVDRnZkNBS1BHRWdhSEpsWmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1UDJFOWRYQnNiMkZrSm1ROUpFVnVZMjlrWlVOMWNuSmxiblJFYVhJaVBsVndiRzloWkNCR2FXeGxQQzloUGlCOElBbzhZU0JvY21WbVBTSWtVMk55YVhCMFRHOWpZWFJwYjI0L1lUMWtiM2R1Ykc5aFpDWmtQU1JGYm1OdlpHVkRkWEp5Wlc1MFJHbHlJajVFYjNkdWJHOWhaQ0JHYVd4bFBDOWhQaUI4Q2p4aElHaHlaV1k5SWlSVFkzSnBjSFJNYjJOaGRHbHZiajloUFdKaFkydGlhVzVrSWo1Q1lXTnJJQ1lnUW1sdVpEd3ZZVDRnZkFvOFlTQm9jbVZtUFNJa1UyTnlhWEIwVEc5allYUnBiMjQvWVQxaWNuVjBaV1p2Y21ObGNpSStRbkoxZEdVZ1JtOXlZMlZ5UEM5aFBpQjhDanhoSUdoeVpXWTlJaVJUWTNKcGNIUk1iMk5oZEdsdmJqOWhQV05vWldOcmJHOW5JajVEYUdWamF5Qk1iMmM4TDJFK0lId0tQR0VnYUhKbFpqMGlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTlaRzl0WVdsdWMzVnpaWElpUGtSdmJXRnBibk12VlhObGNuTThMMkUrSUh3S1BHRWdhSEpsWmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1UDJFOWJHOW5iM1YwSWo1TWIyZHZkWFE4TDJFK0lId0tQR0VnZEdGeVoyVjBQU2RmWW14aGJtc25JR2h5WldZOUlpNHVMMlZ5Y205eVgyeHZaeTV3YUhBaVBraGxiSEE4TDJFK0Nqd3ZkR1ErQ2p3dmRISStDangwY2o0S1BIUmtJR052YkhOd1lXNDlJaklpUGdva2FXUUtQQzkwWkQ0S1BDOTBjajRLUEM5MFlXSnNaVDRLUEdadmJuUWdhV1E5SWxKbGMzQnZibk5sUkdGMFlTSWdZMjlzYjNJOUlpTkdSa1pHUmtZaUlENEtSVTVFQ24wS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdURzluYVc0Z1UyTnlaV1Z1Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwVEc5bmFXNVRZM0psWlc0S2V3b0pjSEpwYm5RZ1BEeEZUa1E3Q2p4d2NtVStQSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpUGdwVWVYQnBibWRVWlhoMElEMGdablZ1WTNScGIyNG9aV3hsYldWdWRDd2dhVzUwWlhKMllXd3NJR04xY25OdmNpd2dabWx1YVhOb1pXUkRZV3hzWW1GamF5a2dld29nSUdsbUtDaDBlWEJsYjJZZ1pHOWpkVzFsYm5RdVoyVjBSV3hsYldWdWRFSjVTV1FnUFQwZ0luVnVaR1ZtYVc1bFpDSXBJSHg4SUNoMGVYQmxiMllnWld4bGJXVnVkQzVwYm01bGNraFVUVXdnUFQwZ0luVnVaR1ZtYVc1bFpDSXBLU0I3Q2lBZ0lDQjBhR2x6TG5KMWJtNXBibWNnUFNCMGNuVmxPd2t2THlCT1pYWmxjaUJ5ZFc0dUNpQWdJQ0J5WlhSMWNtNDdDaUFnZlFvZ0lIUm9hWE11Wld4bGJXVnVkQ0E5SUdWc1pXMWxiblE3Q2lBZ2RHaHBjeTVtYVc1cGMyaGxaRU5oYkd4aVlXTnJJRDBnS0dacGJtbHphR1ZrUTJGc2JHSmhZMnNnUHlCbWFXNXBjMmhsWkVOaGJHeGlZV05ySURvZ1puVnVZM1JwYjI0b0tTQjdJSEpsZEhWeWJqc2dmU2s3Q2lBZ2RHaHBjeTVwYm5SbGNuWmhiQ0E5SUNoMGVYQmxiMllnYVc1MFpYSjJZV3dnUFQwZ0luVnVaR1ZtYVc1bFpDSWdQeUF4TURBZ09pQnBiblJsY25aaGJDazdDaUFnZEdocGN5NXZjbWxuVkdWNGRDQTlJSFJvYVhNdVpXeGxiV1Z1ZEM1cGJtNWxja2hVVFV3N0NpQWdkR2hwY3k1MWJuQmhjbk5sWkU5eWFXZFVaWGgwSUQwZ2RHaHBjeTV2Y21sblZHVjRkRHNLSUNCMGFHbHpMbU4xY25OdmNpQTlJQ2hqZFhKemIzSWdQeUJqZFhKemIzSWdPaUFpSWlrN0NpQWdkR2hwY3k1amRYSnlaVzUwVkdWNGRDQTlJQ0lpT3dvZ0lIUm9hWE11WTNWeWNtVnVkRU5vWVhJZ1BTQXdPd29nSUhSb2FYTXVaV3hsYldWdWRDNTBlWEJwYm1kVVpYaDBJRDBnZEdocGN6c0tJQ0JwWmloMGFHbHpMbVZzWlcxbGJuUXVhV1FnUFQwZ0lpSXBJSFJvYVhNdVpXeGxiV1Z1ZEM1cFpDQTlJQ0owZVhCcGJtZDBaWGgwSWlBcklGUjVjR2x1WjFSbGVIUXVZM1Z5Y21WdWRFbHVaR1Y0S3lzN0NpQWdWSGx3YVc1blZHVjRkQzVoYkd3dWNIVnphQ2gwYUdsektUc0tJQ0IwYUdsekxuSjFibTVwYm1jZ1BTQm1ZV3h6WlRzS0lDQjBhR2x6TG1sdVZHRm5JRDBnWm1Gc2MyVTdDaUFnZEdocGN5NTBZV2RDZFdabVpYSWdQU0FpSWpzS0lDQjBhR2x6TG1sdVNGUk5URVZ1ZEdsMGVTQTlJR1poYkhObE93b2dJSFJvYVhNdVNGUk5URVZ1ZEdsMGVVSjFabVpsY2lBOUlDSWlPd3A5Q2xSNWNHbHVaMVJsZUhRdVlXeHNJRDBnYm1WM0lFRnljbUY1S0NrN0NsUjVjR2x1WjFSbGVIUXVZM1Z5Y21WdWRFbHVaR1Y0SUQwZ01Ec0tWSGx3YVc1blZHVjRkQzV5ZFc1QmJHd2dQU0JtZFc1amRHbHZiaWdwSUhzS0lDQm1iM0lvZG1GeUlHa2dQU0F3T3lCcElEd2dWSGx3YVc1blZHVjRkQzVoYkd3dWJHVnVaM1JvT3lCcEt5c3BJRlI1Y0dsdVoxUmxlSFF1WVd4c1cybGRMbkoxYmlncE93cDlDbFI1Y0dsdVoxUmxlSFF1Y0hKdmRHOTBlWEJsTG5KMWJpQTlJR1oxYm1OMGFXOXVLQ2tnZXdvZ0lHbG1LSFJvYVhNdWNuVnVibWx1WnlrZ2NtVjBkWEp1T3dvZ0lHbG1LSFI1Y0dWdlppQjBhR2x6TG05eWFXZFVaWGgwSUQwOUlDSjFibVJsWm1sdVpXUWlLU0I3Q2lBZ0lDQnpaWFJVYVcxbGIzVjBLQ0prYjJOMWJXVnVkQzVuWlhSRmJHVnRaVzUwUW5sSlpDZ25JaUFySUhSb2FYTXVaV3hsYldWdWRDNXBaQ0FySUNJbktTNTBlWEJwYm1kVVpYaDBMbkoxYmlncElpd2dkR2hwY3k1cGJuUmxjblpoYkNrN0NTOHZJRmRsSUdoaGRtVnVKM1FnWm1sdWFYTm9aV1FnYkc5aFpHbHVaeUI1WlhRdUlDQklZWFpsSUhCaGRHbGxibU5sTGdvZ0lDQWdjbVYwZFhKdU93b2dJSDBLSUNCcFppaDBhR2x6TG1OMWNuSmxiblJVWlhoMElEMDlJQ0lpS1NCMGFHbHpMbVZzWlcxbGJuUXVhVzV1WlhKSVZFMU1JRDBnSWlJN0NpOHZJQ0IwYUdsekxtOXlhV2RVWlhoMElEMGdkR2hwY3k1dmNtbG5WR1Y0ZEM1eVpYQnNZV05sS0M4OEtGdGVQRjBwS2o0dkxDQWlJaWs3SUNBZ0lDQXZMeUJUZEhKcGNDQklWRTFNSUdaeWIyMGdkR1Y0ZEM0S0lDQnBaaWgwYUdsekxtTjFjbkpsYm5SRGFHRnlJRHdnZEdocGN5NXZjbWxuVkdWNGRDNXNaVzVuZEdncElIc0tJQ0FnSUdsbUtIUm9hWE11YjNKcFoxUmxlSFF1WTJoaGNrRjBLSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXBJRDA5SUNJOElpQW1KaUFoZEdocGN5NXBibFJoWnlrZ2V3b2dJQ0FnSUNCMGFHbHpMblJoWjBKMVptWmxjaUE5SUNJOElqc0tJQ0FnSUNBZ2RHaHBjeTVwYmxSaFp5QTlJSFJ5ZFdVN0NpQWdJQ0FnSUhSb2FYTXVZM1Z5Y21WdWRFTm9ZWElyS3pzS0lDQWdJQ0FnZEdocGN5NXlkVzRvS1RzS0lDQWdJQ0FnY21WMGRYSnVPd29nSUNBZ2ZTQmxiSE5sSUdsbUtIUm9hWE11YjNKcFoxUmxlSFF1WTJoaGNrRjBLSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXBJRDA5SUNJK0lpQW1KaUIwYUdsekxtbHVWR0ZuS1NCN0NpQWdJQ0FnSUhSb2FYTXVkR0ZuUW5WbVptVnlJQ3M5SUNJK0lqc0tJQ0FnSUNBZ2RHaHBjeTVwYmxSaFp5QTlJR1poYkhObE93b2dJQ0FnSUNCMGFHbHpMbU4xY25KbGJuUlVaWGgwSUNzOUlIUm9hWE11ZEdGblFuVm1abVZ5T3dvZ0lDQWdJQ0IwYUdsekxtTjFjbkpsYm5SRGFHRnlLeXM3Q2lBZ0lDQWdJSFJvYVhNdWNuVnVLQ2s3Q2lBZ0lDQWdJSEpsZEhWeWJqc0tJQ0FnSUgwZ1pXeHpaU0JwWmloMGFHbHpMbWx1VkdGbktTQjdDaUFnSUNBZ0lIUm9hWE11ZEdGblFuVm1abVZ5SUNzOUlIUm9hWE11YjNKcFoxUmxlSFF1WTJoaGNrRjBLSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXBPd29nSUNBZ0lDQjBhR2x6TG1OMWNuSmxiblJEYUdGeUt5czdDaUFnSUNBZ0lIUm9hWE11Y25WdUtDazdDaUFnSUNBZ0lISmxkSFZ5YmpzS0lDQWdJSDBnWld4elpTQnBaaWgwYUdsekxtOXlhV2RVWlhoMExtTm9ZWEpCZENoMGFHbHpMbU4xY25KbGJuUkRhR0Z5S1NBOVBTQWlKaUlnSmlZZ0lYUm9hWE11YVc1SVZFMU1SVzUwYVhSNUtTQjdDaUFnSUNBZ0lIUm9hWE11U0ZSTlRFVnVkR2wwZVVKMVptWmxjaUE5SUNJbUlqc0tJQ0FnSUNBZ2RHaHBjeTVwYmtoVVRVeEZiblJwZEhrZ1BTQjBjblZsT3dvZ0lDQWdJQ0IwYUdsekxtTjFjbkpsYm5SRGFHRnlLeXM3Q2lBZ0lDQWdJSFJvYVhNdWNuVnVLQ2s3Q2lBZ0lDQWdJSEpsZEhWeWJqc0tJQ0FnSUgwZ1pXeHpaU0JwWmloMGFHbHpMbTl5YVdkVVpYaDBMbU5vWVhKQmRDaDBhR2x6TG1OMWNuSmxiblJEYUdGeUtTQTlQU0FpT3lJZ0ppWWdkR2hwY3k1cGJraFVUVXhGYm5ScGRIa3BJSHNLSUNBZ0lDQWdkR2hwY3k1SVZFMU1SVzUwYVhSNVFuVm1abVZ5SUNzOUlDSTdJanNLSUNBZ0lDQWdkR2hwY3k1cGJraFVUVXhGYm5ScGRIa2dQU0JtWVd4elpUc0tJQ0FnSUNBZ2RHaHBjeTVqZFhKeVpXNTBWR1Y0ZENBclBTQjBhR2x6TGtoVVRVeEZiblJwZEhsQ2RXWm1aWEk3Q2lBZ0lDQWdJSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXJLenNLSUNBZ0lDQWdkR2hwY3k1eWRXNG9LVHNLSUNBZ0lDQWdjbVYwZFhKdU93b2dJQ0FnZlNCbGJITmxJR2xtS0hSb2FYTXVhVzVJVkUxTVJXNTBhWFI1S1NCN0NpQWdJQ0FnSUhSb2FYTXVTRlJOVEVWdWRHbDBlVUoxWm1abGNpQXJQU0IwYUdsekxtOXlhV2RVWlhoMExtTm9ZWEpCZENoMGFHbHpMbU4xY25KbGJuUkRhR0Z5S1RzS0lDQWdJQ0FnZEdocGN5NWpkWEp5Wlc1MFEyaGhjaXNyT3dvZ0lDQWdJQ0IwYUdsekxuSjFiaWdwT3dvZ0lDQWdJQ0J5WlhSMWNtNDdDaUFnSUNCOUlHVnNjMlVnZXdvZ0lDQWdJQ0IwYUdsekxtTjFjbkpsYm5SVVpYaDBJQ3M5SUhSb2FYTXViM0pwWjFSbGVIUXVZMmhoY2tGMEtIUm9hWE11WTNWeWNtVnVkRU5vWVhJcE93b2dJQ0FnZlFvZ0lDQWdkR2hwY3k1bGJHVnRaVzUwTG1sdWJtVnlTRlJOVENBOUlIUm9hWE11WTNWeWNtVnVkRlJsZUhRN0NpQWdJQ0IwYUdsekxtVnNaVzFsYm5RdWFXNXVaWEpJVkUxTUlDczlJQ2gwYUdsekxtTjFjbkpsYm5SRGFHRnlJRHdnZEdocGN5NXZjbWxuVkdWNGRDNXNaVzVuZEdnZ0xTQXhJRDhnS0hSNWNHVnZaaUIwYUdsekxtTjFjbk52Y2lBOVBTQWlablZ1WTNScGIyNGlJRDhnZEdocGN5NWpkWEp6YjNJb2RHaHBjeTVqZFhKeVpXNTBWR1Y0ZENrZ09pQjBhR2x6TG1OMWNuTnZjaWtnT2lBaUlpazdDaUFnSUNCMGFHbHpMbU4xY25KbGJuUkRhR0Z5S3lzN0NpQWdJQ0J6WlhSVWFXMWxiM1YwS0NKa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2duSWlBcklIUm9hWE11Wld4bGJXVnVkQzVwWkNBcklDSW5LUzUwZVhCcGJtZFVaWGgwTG5KMWJpZ3BJaXdnZEdocGN5NXBiblJsY25aaGJDazdDaUFnZlNCbGJITmxJSHNLQ1hSb2FYTXVZM1Z5Y21WdWRGUmxlSFFnUFNBaUlqc0tDWFJvYVhNdVkzVnljbVZ1ZEVOb1lYSWdQU0F3T3dvZ0lDQWdJQ0FnSUhSb2FYTXVjblZ1Ym1sdVp5QTlJR1poYkhObE93b2dJQ0FnSUNBZ0lIUm9hWE11Wm1sdWFYTm9aV1JEWVd4c1ltRmpheWdwT3dvZ0lIMEtmUW84TDNOamNtbHdkRDRLUEM5d2NtVStDZ284WW5JK0NnbzhjMk55YVhCMElIUjVjR1U5SW5SbGVIUXZhbUYyWVhOamNtbHdkQ0krQ201bGR5QlVlWEJwYm1kVVpYaDBLR1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDSm9ZV05ySWlrc0lETXdMQ0JtZFc1amRHbHZiaWhwS1hzZ2RtRnlJR0Z5SUQwZ2JtVjNJRUZ5Y21GNUtDSmZJaXdpSWlrN0lISmxkSFZ5YmlBaUlDSWdLeUJoY2x0cExteGxibWQwYUNBbElHRnlMbXhsYm1kMGFGMDdJSDBwT3dwVWVYQnBibWRVWlhoMExuSjFia0ZzYkNncE93b0tQQzl6WTNKcGNIUStDa1ZPUkFwOUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QmxibU52WkdVZ2FIUnRiQ0J6Y0dWamFXRnNJR05vWVhKekNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRlZ5YkVWdVkyOWtaU2drS1hzS0NXMTVJQ1J6ZEhJZ1BTQnphR2xtZERzS0NTUnpkSElnUFg0Z2N5OG9XMTVCTFZwaExYb3dMVGxkS1M5emNISnBiblJtS0NJbEpTVXdNbGdpTENCdmNtUW9KREVwS1M5elpXYzdDZ2x5WlhSMWNtNGdKSE4wY2pzS2ZRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdRV1JrSUdoMGJXd2djM0JsWTJsaGJDQmphR0Z5Y3dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQklkRzFzVTNCbFkybGhiRU5vWVhKektDUXBld29KYlhrZ0pIUmxlSFFnUFNCemFHbG1kRHNLQ1NSMFpYaDBJRDErSUhNdkppOG1ZVzF3T3k5bk93b0pKSFJsZUhRZ1BYNGdjeThpTHlaeGRXOTBPeTluT3dvSkpIUmxlSFFnUFg0Z2N5OG5MeVlqTURNNU95OW5Pd29KSkhSbGVIUWdQWDRnY3k4OEx5WnNkRHN2WnpzS0NTUjBaWGgwSUQxK0lITXZQaThtWjNRN0wyYzdDZ2x5WlhSMWNtNGdKSFJsZUhRN0NuMEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRUZrWkNCc2FXNXJJR1p2Y2lCa2FYSmxZM1J2Y25rS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdRV1JrVEdsdWEwUnBjaWdrS1FwN0NnbHRlU0FrWVdNOWMyaHBablE3Q2dsdGVTQkFaR2x5UFNncE93b0phV1lvSkZkcGJrNVVLUW9KZXdvSkNVQmthWEk5YzNCc2FYUW9MMXhjTHl3a1EzVnljbVZ1ZEVScGNpazdDZ2w5Wld4elpRb0pld29KQ1VCa2FYSTljM0JzYVhRb0lpOGlMQ1owY21sdEtDUkRkWEp5Wlc1MFJHbHlLU2s3Q2dsOUNnbHRlU0FrY0dGMGFEMGlJanNLQ1cxNUlDUnlaWE4xYkhROUlpSTdDZ2xtYjNKbFlXTm9JQ2hBWkdseUtRb0pld29KQ1NSd1lYUm9JQzQ5SUNSZkxpUlFZWFJvVTJWd093b0pDU1J5WlhOMWJIUXVQU0k4WVNCb2NtVm1QU2MvWVQwaUxpUmhZeTRpSm1ROUlpNWxibU52WkdWZlltRnpaVFkwS0NSd1lYUm9LUzRpSno0aUxpUmZMaVJRWVhSb1UyVndMaUk4TDJFK0lqc0tDWDBLQ1hKbGRIVnliaUFrY21WemRXeDBPd3A5Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCUWNtbHVkSE1nZEdobElHMWxjM05oWjJVZ2RHaGhkQ0JwYm1admNtMXpJSFJvWlNCMWMyVnlJRzltSUdFZ1ptRnBiR1ZrSUd4dloybHVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBURzluYVc1R1lXbHNaV1JOWlhOellXZGxDbnNLQ1hCeWFXNTBJRHc4UlU1RU93b0tDbEJoYzNOM2IzSmtPanhpY2o0S1RHOW5hVzRnYVc1amIzSnlaV04wUEdKeVBqeGljajRLUlU1RUNuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJRY21sdWRITWdkR2hsSUVoVVRVd2dabTl5YlNCbWIzSWdiRzluWjJsdVp5QnBiZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRXh2WjJsdVJtOXliUXA3Q2dsd2NtbHVkQ0E4UEVWT1JEc0tQR1p2Y20wZ2JtRnRaVDBpWmlJZ2JXVjBhRzlrUFNKUVQxTlVJaUJoWTNScGIyNDlJaVJUWTNKcGNIUk1iMk5oZEdsdmJpSStDanhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0pzYjJkcGJpSStDa3h2WjJsdUlEb2dRV1J0YVc1cGMzUnlZWFJ2Y2p4aWNqNEtVR0Z6YzNkdmNtUTZQR2x1Y0hWMElIUjVjR1U5SW5CaGMzTjNiM0prSWlCdVlXMWxQU0p3SWo0S1BHbHVjSFYwSUdOc1lYTnpQU0p6ZFdKdGFYUWlJSFI1Y0dVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtWdWRHVnlJajRLUEM5bWIzSnRQZ3BGVGtRS2ZRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdVSEpwYm5SeklIUm9aU0JtYjI5MFpYSWdabTl5SUhSb1pTQklWRTFNSUZCaFoyVUtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnVUhKcGJuUlFZV2RsUm05dmRHVnlDbnNLQ1hCeWFXNTBJQ0k4WW5JK0NnazhabTl1ZENCamIyeHZjajF5WldRK1BUd3ZabTl1ZEQ0OFptOXVkQ0JqYjJ4dmNqMXlaV1ErTFMwdEptZDBPeW9nSUR4bWIyNTBJR052Ykc5eVBTTm1aams1TURBK1VHRnpjeUE5SUhoNGVDQThMMlp2Ym5RK0lDQXFKbXgwT3kwdExUMDhMMlp2Ym5RK1BDOWpiMlJsUGdvOEwyTmxiblJsY2o0OEwySnZaSGsrUEM5b2RHMXNQaUk3Q24wS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGSmxkSEpsYVhabGN5QjBhR1VnZG1Gc2RXVnpJRzltSUdGc2JDQmpiMjlyYVdWekxpQlVhR1VnWTI5dmEybGxjeUJqWVc0Z1ltVWdZV05qWlhOelpYTWdkWE5wYm1jZ2RHaGxDaU1nZG1GeWFXRmliR1VnSkVOdmIydHBaWE43SnlkOUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRWRsZEVOdmIydHBaWE1LZXdvSlFHaDBkSEJqYjI5cmFXVnpJRDBnYzNCc2FYUW9MenNnTHl3a1JVNVdleWRJVkZSUVgwTlBUMHRKUlNkOUtUc0tDV1p2Y21WaFkyZ2dKR052YjJ0cFpTaEFhSFIwY0dOdmIydHBaWE1wQ2dsN0Nna0pLQ1JwWkN3Z0pIWmhiQ2tnUFNCemNHeHBkQ2d2UFM4c0lDUmpiMjlyYVdVcE93b0pDU1JEYjI5cmFXVnpleVJwWkgwZ1BTQWtkbUZzT3dvSmZRcDlDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJRY21sdWRITWdkR2hsSUhOamNtVmxiaUIzYUdWdUlIUm9aU0IxYzJWeUlHeHZaM01nYjNWMENpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRkJ5YVc1MFRHOW5iM1YwVTJOeVpXVnVDbnNLQ1hCeWFXNTBJQ0pEYjI1dVpXTjBhVzl1SUdOc2IzTmxaQ0JpZVNCbWIzSmxhV2R1SUdodmMzUXVQR0p5UGp4aWNqNGlPd3A5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1RHOW5jeUJ2ZFhRZ2RHaGxJSFZ6WlhJZ1lXNWtJR0ZzYkc5M2N5QjBhR1VnZFhObGNpQjBieUJzYjJkcGJpQmhaMkZwYmdvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQlFaWEptYjNKdFRHOW5iM1YwQ25zS0NYQnlhVzUwSUNKVFpYUXRRMjl2YTJsbE9pQlRRVlpGUkZCWFJEMDdYRzRpT3lBaklISmxiVzkyWlNCd1lYTnpkMjl5WkNCamIyOXJhV1VLQ1NaUWNtbHVkRkJoWjJWSVpXRmtaWElvSW5BaUtUc0tDU1pRY21sdWRFeHZaMjkxZEZOamNtVmxianNLQ2drbVVISnBiblJNYjJkcGJsTmpjbVZsYmpzS0NTWlFjbWx1ZEV4dloybHVSbTl5YlRzS0NTWlFjbWx1ZEZCaFoyVkdiMjkwWlhJN0NnbGxlR2wwT3dwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmpZV3hzWldRZ2RHOGdiRzluYVc0Z2RHaGxJSFZ6WlhJdUlFbG1JSFJvWlNCd1lYTnpkMjl5WkNCdFlYUmphR1Z6TENCcGRBb2pJR1JwYzNCc1lYbHpJR0VnY0dGblpTQjBhR0YwSUdGc2JHOTNjeUIwYUdVZ2RYTmxjaUIwYnlCeWRXNGdZMjl0YldGdVpITXVJRWxtSUhSb1pTQndZWE56ZDI5eVpDQmtiMlZ1Y3lkMENpTWdiV0YwWTJnZ2IzSWdhV1lnYm04Z2NHRnpjM2R2Y21RZ2FYTWdaVzUwWlhKbFpDd2dhWFFnWkdsemNHeGhlWE1nWVNCbWIzSnRJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5Q2lNZ2RHOGdiRzluYVc0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVR1Z5Wm05eWJVeHZaMmx1SUFwN0NnbHBaaWdrVEc5bmFXNVFZWE56ZDI5eVpDQmxjU0FrVUdGemMzZHZjbVFwSUNNZ2NHRnpjM2R2Y21RZ2JXRjBZMmhsWkFvSmV3b0pDWEJ5YVc1MElDSlRaWFF0UTI5dmEybGxPaUJUUVZaRlJGQlhSRDBrVEc5bmFXNVFZWE56ZDI5eVpEdGNiaUk3Q2drSkpsQnlhVzUwVUdGblpVaGxZV1JsY2pzS0NRbHdjbWx1ZENBbVRHbHpkRVJwY2pzS0NYMEtDV1ZzYzJVZ0l5QndZWE56ZDI5eVpDQmthV1J1SjNRZ2JXRjBZMmdLQ1hzS0NRa21VSEpwYm5SUVlXZGxTR1ZoWkdWeUtDSndJaWs3Q2drSkpsQnlhVzUwVEc5bmFXNVRZM0psWlc0N0Nna0phV1lvSkV4dloybHVVR0Z6YzNkdmNtUWdibVVnSWlJcElDTWdjMjl0WlNCd1lYTnpkMjl5WkNCM1lYTWdaVzUwWlhKbFpBb0pDWHNLQ1FrSkpsQnlhVzUwVEc5bmFXNUdZV2xzWldSTlpYTnpZV2RsT3dvS0NRbDlDZ2tKSmxCeWFXNTBURzluYVc1R2IzSnRPd29KQ1NaUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2drSlpYaHBkRHNLQ1gwS2ZRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdVSEpwYm5SeklIUm9aU0JJVkUxTUlHWnZjbTBnZEdoaGRDQmhiR3h2ZDNNZ2RHaGxJSFZ6WlhJZ2RHOGdaVzUwWlhJZ1kyOXRiV0Z1WkhNS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVSEpwYm5SRGIyMXRZVzVrVEdsdVpVbHVjSFYwUm05eWJRcDdDZ2trUlc1amIyUmxRM1Z5Y21WdWRFUnBjaUE5SUVWdVkyOWtaVVJwY2lna1EzVnljbVZ1ZEVScGNpazdDZ2x0ZVNBa1pHbHlQU0FpUEhOd1lXNGdjM1I1YkdVOUoyWnZiblE2SURFeGNIUWdWbVZ5WkdGdVlUc2dabTl1ZEMxM1pXbG5hSFE2SUdKdmJHUTdKejRpTGlaQlpHUk1hVzVyUkdseUtDSmpiMjF0WVc1a0lpa3VJand2YzNCaGJqNGlPd29KSkZCeWIyMXdkQ0E5SUNSWGFXNU9WQ0EvSUNJa1pHbHlJRDRnSWlBNklDSThabTl1ZENCamIyeHZjajBuSTBaR1JrWkdSaWMrVzJGa2JXbHVYRUFrVTJWeWRtVnlUbUZ0WlNBa1pHbHlYVndrUEM5bWIyNTBQaUFpT3dvSmNtVjBkWEp1SUR3OFJVNUVPd284Wm05eWJTQnVZVzFsUFNKbUlpQnRaWFJvYjJROUlsQlBVMVFpSUdGamRHbHZiajBpSkZOamNtbHdkRXh2WTJGMGFXOXVJaUJ2YmxOMVltMXBkRDBpUlc1amIyUmxjaWduWXljcElqNEtDanhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0pqYjIxdFlXNWtJajRLQ2p4cGJuQjFkQ0IwZVhCbFBTSm9hV1JrWlc0aUlHNWhiV1U5SW1RaUlIWmhiSFZsUFNJa1JXNWpiMlJsUTNWeWNtVnVkRVJwY2lJK0NpUlFjbTl0Y0hRS1BHbHVjSFYwSUhSNWNHVTlJblJsZUhRaUlITnBlbVU5SWpRd0lpQnVZVzFsUFNKaklpQnBaRDBpWXlJK0NqeHBibkIxZENCamJHRnpjejBpYzNWaWJXbDBJaUIwZVhCbFBTSnpkV0p0YVhRaUlIWmhiSFZsUFNKRmJuUmxjaUkrQ2p3dlptOXliVDRLUlU1RUNuMEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkJ5YVc1MGN5QjBhR1VnU0ZSTlRDQm1iM0p0SUhSb1lYUWdZV3hzYjNkeklIUm9aU0IxYzJWeUlIUnZJR1J2ZDI1c2IyRmtJR1pwYkdWekNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRkJ5YVc1MFJtbHNaVVJ2ZDI1c2IyRmtSbTl5YlFwN0Nna2tSVzVqYjJSbFEzVnljbVZ1ZEVScGNpQTlJRVZ1WTI5a1pVUnBjaWdrUTNWeWNtVnVkRVJwY2lrN0NnbHRlU0FrWkdseUlEMGdKa0ZrWkV4cGJtdEVhWElvSW1SdmQyNXNiMkZrSWlrN0lBb0pKRkJ5YjIxd2RDQTlJQ1JYYVc1T1ZDQS9JQ0lrWkdseUlENGdJaUE2SUNKYllXUnRhVzVjUUNSVFpYSjJaWEpPWVcxbElDUmthWEpkWENRZ0lqc0tDWEpsZEhWeWJpQThQRVZPUkRzS1BHWnZjbTBnYm1GdFpUMGlaaUlnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0NqeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltUWlJSFpoYkhWbFBTSWtSVzVqYjJSbFEzVnljbVZ1ZEVScGNpSStDanhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0prYjNkdWJHOWhaQ0krQ2lSUWNtOXRjSFFnWkc5M2JteHZZV1E4WW5JK1BHSnlQZ3BHYVd4bGJtRnRaVG9nUEdsdWNIVjBJR05zWVhOelBTSm1hV3hsSWlCMGVYQmxQU0owWlhoMElpQnVZVzFsUFNKbUlpQnphWHBsUFNJek5TSStQR0p5UGp4aWNqNEtSRzkzYm14dllXUTZJRHhwYm5CMWRDQmpiR0Z6Y3owaWMzVmliV2wwSWlCMGVYQmxQU0p6ZFdKdGFYUWlJSFpoYkhWbFBTSkNaV2RwYmlJK0NnbzhMMlp2Y20wK0NrVk9SQXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQklWRTFNSUdadmNtMGdkR2hoZENCaGJHeHZkM01nZEdobElIVnpaWElnZEc4Z2RYQnNiMkZrSUdacGJHVnpDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBSbWxzWlZWd2JHOWhaRVp2Y20wS2V3b0pKRVZ1WTI5a1pVTjFjbkpsYm5SRWFYSWdQU0JGYm1OdlpHVkVhWElvSkVOMWNuSmxiblJFYVhJcE93b0piWGtnSkdScGNqMGdKa0ZrWkV4cGJtdEVhWElvSW5Wd2JHOWhaQ0lwT3dvSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtaR2x5SUQ0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSa2FYSmRYQ1FnSWpzS0NYSmxkSFZ5YmlBOFBFVk9SRHNLUEdadmNtMGdibUZ0WlQwaVppSWdaVzVqZEhsd1pUMGliWFZzZEdsd1lYSjBMMlp2Y20wdFpHRjBZU0lnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0NpUlFjbTl0Y0hRZ2RYQnNiMkZrUEdKeVBqeGljajRLUm1sc1pXNWhiV1U2SUR4cGJuQjFkQ0JqYkdGemN6MGlabWxzWlNJZ2RIbHdaVDBpWm1sc1pTSWdibUZ0WlQwaVppSWdjMmw2WlQwaU16VWlQanhpY2o0OFluSStDazl3ZEdsdmJuTTZJQ1p1WW5Od096eHBibkIxZENCMGVYQmxQU0pqYUdWamEySnZlQ0lnYm1GdFpUMGlieUlnYVdROUluVndJaUIyWVd4MVpUMGliM1psY25keWFYUmxJajRLUEd4aFltVnNJR1p2Y2owaWRYQWlQazkyWlhKM2NtbDBaU0JwWmlCcGRDQkZlR2x6ZEhNOEwyeGhZbVZzUGp4aWNqNDhZbkkrQ2xWd2JHOWhaRG9tYm1KemNEc21ibUp6Y0RzbWJtSnpjRHM4YVc1d2RYUWdZMnhoYzNNOUluTjFZbTFwZENJZ2RIbHdaVDBpYzNWaWJXbDBJaUIyWVd4MVpUMGlRbVZuYVc0aVBnbzhhVzV3ZFhRZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmtJaUIyWVd4MVpUMGlKRVZ1WTI5a1pVTjFjbkpsYm5SRWFYSWlQZ284YVc1d2RYUWdZMnhoYzNNOUluTjFZbTFwZENJZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmhJaUIyWVd4MVpUMGlkWEJzYjJGa0lqNEtQQzltYjNKdFBncEZUa1FLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUhScGJXVnZkWFFnWm05eUlHRWdZMjl0YldGdVpDQmxlSEJwY21WekxpQlhaU0J1WldWa0lIUnZDaU1nZEdWeWJXbHVZWFJsSUhSb1pTQnpZM0pwY0hRZ2FXMXRaV1JwWVhSbGJIa3VJRlJvYVhNZ1puVnVZM1JwYjI0Z2FYTWdkbUZzYVdRZ2IyNXNlU0J2YmlCVmJtbDRMaUJKZENCcGN3b2pJRzVsZG1WeUlHTmhiR3hsWkNCM2FHVnVJSFJvWlNCelkzSnBjSFFnYVhNZ2NuVnVibWx1WnlCdmJpQk9WQzRLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1EyOXRiV0Z1WkZScGJXVnZkWFFLZXdvSmFXWW9JU1JYYVc1T1ZDa0tDWHNLQ1FsaGJHRnliU2d3S1RzS0NRbHlaWFIxY200Z1BEeEZUa1E3Q2p3dmRHVjRkR0Z5WldFK0NqeGljajQ4Wm05dWRDQmpiMnh2Y2oxNVpXeHNiM2MrQ2tOdmJXMWhibVFnWlhoalpXVmtaV1FnYldGNGFXMTFiU0IwYVcxbElHOW1JQ1JEYjIxdFlXNWtWR2x0Wlc5MWRFUjFjbUYwYVc5dUlITmxZMjl1WkNoektTNDhMMlp2Ym5RK0NqeGljajQ4Wm05dWRDQnphWHBsUFNjMkp5QmpiMnh2Y2oxeVpXUStTMmxzYkdWa0lHbDBJVHd2Wm05dWRENEtSVTVFQ2dsOUNuMEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRlJvYVhNZ1puVnVZM1JwYjI0Z1pHbHpjR3hoZVhNZ2RHaGxJSEJoWjJVZ2RHaGhkQ0JqYjI1MFlXbHVjeUJoSUd4cGJtc2dkMmhwWTJnZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5Q2lNZ2RHOGdaRzkzYm14dllXUWdkR2hsSUhOd1pXTnBabWxsWkNCbWFXeGxMaUJVYUdVZ2NHRm5aU0JoYkhOdklHTnZiblJoYVc1eklHRWdZWFYwYnkxeVpXWnlaWE5vQ2lNZ1ptVmhkSFZ5WlNCMGFHRjBJSE4wWVhKMGN5QjBhR1VnWkc5M2JteHZZV1FnWVhWMGIyMWhkR2xqWVd4c2VTNEtJeUJCY21kMWJXVnVkQ0F4T2lCR2RXeHNlU0J4ZFdGc2FXWnBaV1FnWm1sc1pXNWhiV1VnYjJZZ2RHaGxJR1pwYkdVZ2RHOGdZbVVnWkc5M2JteHZZV1JsWkFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQlFjbWx1ZEVSdmQyNXNiMkZrVEdsdWExQmhaMlVLZXdvSmJHOWpZV3dvSkVacGJHVlZjbXdwSUQwZ1FGODdDZ2x0ZVNBa2NtVnpkV3gwUFNJaU93b0phV1lvTFdVZ0pFWnBiR1ZWY213cElDTWdhV1lnZEdobElHWnBiR1VnWlhocGMzUnpDZ2w3Q2drSkl5QmxibU52WkdVZ2RHaGxJR1pwYkdVZ2JHbHVheUJ6YnlCM1pTQmpZVzRnYzJWdVpDQnBkQ0IwYnlCMGFHVWdZbkp2ZDNObGNnb0pDU1JHYVd4bFZYSnNJRDErSUhNdktGdGVZUzE2UVMxYU1DMDVYU2t2SnlVbkxuVnVjR0ZqYXlnaVNDb2lMQ1F4S1M5bFp6c0tDUWtrUkc5M2JteHZZV1JNYVc1cklEMGdJaVJUWTNKcGNIUk1iMk5oZEdsdmJqOWhQV1J2ZDI1c2IyRmtKbVk5SkVacGJHVlZjbXdtYnoxbmJ5STdDZ2tKSkVoMGJXeE5aWFJoU0dWaFpHVnlJRDBnSWp4dFpYUmhJRWhVVkZBdFJWRlZTVlk5WENKU1pXWnlaWE5vWENJZ1EwOU9WRVZPVkQxY0lqRTdJRlZTVEQwa1JHOTNibXh2WVdSTWFXNXJYQ0krSWpzS0NRa21VSEpwYm5SUVlXZGxTR1ZoWkdWeUtDSmpJaWs3Q2drSkpISmxjM1ZzZENBdVBTQThQRVZPUkRzS1UyVnVaR2x1WnlCR2FXeGxJQ1JVY21GdWMyWmxja1pwYkdVdUxpNDhZbkkrQ2dwSlppQjBhR1VnWkc5M2JteHZZV1FnWkc5bGN5QnViM1FnYzNSaGNuUWdZWFYwYjIxaGRHbGpZV3hzZVN3S1BHRWdhSEpsWmowaUpFUnZkMjVzYjJGa1RHbHVheUkrUTJ4cFkyc2dTR1Z5WlR3dllUNEtSVTVFQ2drSkpISmxjM1ZzZENBdVBTQW1VSEpwYm5SRGIyMXRZVzVrVEdsdVpVbHVjSFYwUm05eWJUc0tDWDBLQ1dWc2MyVWdJeUJtYVd4bElHUnZaWE51SjNRZ1pYaHBjM1FLQ1hzS0NRa2tjbVZ6ZFd4MElDNDlJQ0pHWVdsc1pXUWdkRzhnWkc5M2JteHZZV1FnSkVacGJHVlZjbXc2SUNRaElqc0tDUWtrY21WemRXeDBJQzQ5SUNaUWNtbHVkRVpwYkdWRWIzZHViRzloWkVadmNtMDdDZ2w5Q2dseVpYUjFjbTRnSkhKbGMzVnNkRHNLZlFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1ZHaHBjeUJtZFc1amRHbHZiaUJ5WldGa2N5QjBhR1VnYzNCbFkybG1hV1ZrSUdacGJHVWdabkp2YlNCMGFHVWdaR2x6YXlCaGJtUWdjMlZ1WkhNZ2FYUWdkRzhnZEdobENpTWdZbkp2ZDNObGNpd2djMjhnZEdoaGRDQnBkQ0JqWVc0Z1ltVWdaRzkzYm14dllXUmxaQ0JpZVNCMGFHVWdkWE5sY2k0S0l5QkJjbWQxYldWdWRDQXhPaUJHZFd4c2VTQnhkV0ZzYVdacFpXUWdjR0YwYUc1aGJXVWdiMllnZEdobElHWnBiR1VnZEc4Z1ltVWdjMlZ1ZEM0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVMlZ1WkVacGJHVlViMEp5YjNkelpYSUtld29KYlhrZ0pISmxjM1ZzZENBOUlDSWlPd29KYkc5allXd29KRk5sYm1SR2FXeGxLU0E5SUVCZk93b0phV1lvYjNCbGJpaFRSVTVFUmtsTVJTd2dKRk5sYm1SR2FXeGxLU2tnSXlCbWFXeGxJRzl3Wlc1bFpDQm1iM0lnY21WaFpHbHVad29KZXdvSkNXbG1LQ1JYYVc1T1ZDa0tDUWw3Q2drSkNXSnBibTF2WkdVb1UwVk9SRVpKVEVVcE93b0pDUWxpYVc1dGIyUmxLRk5VUkU5VlZDazdDZ2tKZlFvSkNTUkdhV3hsVTJsNlpTQTlJQ2h6ZEdGMEtDUlRaVzVrUm1sc1pTa3BXemRkT3dvSkNTZ2tSbWxzWlc1aGJXVWdQU0FrVTJWdVpFWnBiR1VwSUQxK0lDQnRJU2hiWGk5ZVhGeGRLaWtrSVRzS0NRbHdjbWx1ZENBaVEyOXVkR1Z1ZEMxVWVYQmxPaUJoY0hCc2FXTmhkR2x2Ymk5NExYVnVhMjV2ZDI1Y2JpSTdDZ2tKY0hKcGJuUWdJa052Ym5SbGJuUXRUR1Z1WjNSb09pQWtSbWxzWlZOcGVtVmNiaUk3Q2drSmNISnBiblFnSWtOdmJuUmxiblF0UkdsemNHOXphWFJwYjI0NklHRjBkR0ZqYUcxbGJuUTdJR1pwYkdWdVlXMWxQU1F4WEc1Y2JpSTdDZ2tKY0hKcGJuUWdkMmhwYkdVb1BGTkZUa1JHU1V4RlBpazdDZ2tKWTJ4dmMyVW9VMFZPUkVaSlRFVXBPd29KQ1dWNGFYUW9NU2s3Q2dsOUNnbGxiSE5sSUNNZ1ptRnBiR1ZrSUhSdklHOXdaVzRnWm1sc1pRb0pld29KQ1NSeVpYTjFiSFFnTGowZ0lrWmhhV3hsWkNCMGJ5QmtiM2R1Ykc5aFpDQWtVMlZ1WkVacGJHVTZJQ1FoSWpzS0NRa2tjbVZ6ZFd4MElDNDlKbEJ5YVc1MFJtbHNaVVJ2ZDI1c2IyRmtSbTl5YlRzS0NYMEtDWEpsZEhWeWJpQWtjbVZ6ZFd4ME93cDlDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR05oYkd4bFpDQjNhR1Z1SUhSb1pTQjFjMlZ5SUdSdmQyNXNiMkZrY3lCaElHWnBiR1V1SUVsMElHUnBjM0JzWVhseklHRWdiV1Z6YzJGblpRb2pJSFJ2SUhSb1pTQjFjMlZ5SUdGdVpDQndjbTkyYVdSbGN5QmhJR3hwYm1zZ2RHaHliM1ZuYUNCM2FHbGphQ0IwYUdVZ1ptbHNaU0JqWVc0Z1ltVWdaRzkzYm14dllXUmxaQzRLSXlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdGc2MyOGdZMkZzYkdWa0lIZG9aVzRnZEdobElIVnpaWElnWTJ4cFkydHpJRzl1SUhSb1lYUWdiR2x1YXk0Z1NXNGdkR2hwY3lCallYTmxMQW9qSUhSb1pTQm1hV3hsSUdseklISmxZV1FnWVc1a0lITmxiblFnZEc4Z2RHaGxJR0p5YjNkelpYSXVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUVKbFoybHVSRzkzYm14dllXUUtld29KSkVWdVkyOWtaVU4xY25KbGJuUkVhWElnUFNCRmJtTnZaR1ZFYVhJb0pFTjFjbkpsYm5SRWFYSXBPd29KSXlCblpYUWdablZzYkhrZ2NYVmhiR2xtYVdWa0lIQmhkR2dnYjJZZ2RHaGxJR1pwYkdVZ2RHOGdZbVVnWkc5M2JteHZZV1JsWkFvSmFXWW9LQ1JYYVc1T1ZDQW1JQ2drVkhKaGJuTm1aWEpHYVd4bElEMStJRzB2WGx4Y2ZGNHVPaThwS1NCOENna0pLQ0VrVjJsdVRsUWdKaUFvSkZSeVlXNXpabVZ5Um1sc1pTQTlmaUJ0TDE1Y0x5OHBLU2tnSXlCd1lYUm9JR2x6SUdGaWMyOXNkWFJsQ2dsN0Nna0pKRlJoY21kbGRFWnBiR1VnUFNBa1ZISmhibk5tWlhKR2FXeGxPd29KZlFvSlpXeHpaU0FqSUhCaGRHZ2dhWE1nY21Wc1lYUnBkbVVLQ1hzS0NRbGphRzl3S0NSVVlYSm5aWFJHYVd4bEtTQnBaaWdrVkdGeVoyVjBSbWxzWlNBOUlDUkRkWEp5Wlc1MFJHbHlLU0E5ZmlCdEwxdGNYRnd2WFNRdk93b0pDU1JVWVhKblpYUkdhV3hsSUM0OUlDUlFZWFJvVTJWd0xpUlVjbUZ1YzJabGNrWnBiR1U3Q2dsOUNnb0phV1lvSkU5d2RHbHZibk1nWlhFZ0ltZHZJaWtnSXlCM1pTQm9ZWFpsSUhSdklITmxibVFnZEdobElHWnBiR1VLQ1hzS0NRa21VMlZ1WkVacGJHVlViMEp5YjNkelpYSW9KRlJoY21kbGRFWnBiR1VwT3dvSmZRb0paV3h6WlNBaklIZGxJR2hoZG1VZ2RHOGdjMlZ1WkNCdmJteDVJSFJvWlNCc2FXNXJJSEJoWjJVS0NYc0tDUWttVUhKcGJuUkViM2R1Ykc5aFpFeHBibXRRWVdkbEtDUlVZWEpuWlhSR2FXeGxLVHNLQ1gwS2ZRb0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRlJvYVhNZ1puVnVZM1JwYjI0Z2FYTWdZMkZzYkdWa0lIZG9aVzRnZEdobElIVnpaWElnZDJGdWRITWdkRzhnZFhCc2IyRmtJR0VnWm1sc1pTNGdTV1lnZEdobENpTWdabWxzWlNCcGN5QnViM1FnYzNCbFkybG1hV1ZrTENCcGRDQmthWE53YkdGNWN5QmhJR1p2Y20wZ1lXeHNiM2RwYm1jZ2RHaGxJSFZ6WlhJZ2RHOGdjM0JsWTJsbWVTQmhDaU1nWm1sc1pTd2diM1JvWlhKM2FYTmxJR2wwSUhOMFlYSjBjeUIwYUdVZ2RYQnNiMkZrSUhCeWIyTmxjM011Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGVndiRzloWkVacGJHVUtld29KSXlCcFppQnVieUJtYVd4bElHbHpJSE53WldOcFptbGxaQ3dnY0hKcGJuUWdkR2hsSUhWd2JHOWhaQ0JtYjNKdElHRm5ZV2x1Q2dscFppZ2tWSEpoYm5ObVpYSkdhV3hsSUdWeElDSWlLUW9KZXdvSkNYSmxkSFZ5YmlBbVVISnBiblJHYVd4bFZYQnNiMkZrUm05eWJUc0tDZ2w5Q2dsdGVTQWtjbVZ6ZFd4MFBTSWlPd29KSXlCemRHRnlkQ0IwYUdVZ2RYQnNiMkZrYVc1bklIQnliMk5sYzNNS0NTUnlaWE4xYkhRZ0xqMGdJbFZ3Ykc5aFpHbHVaeUFrVkhKaGJuTm1aWEpHYVd4bElIUnZJQ1JEZFhKeVpXNTBSR2x5TGk0dVBHSnlQaUk3Q2dvSkl5Qm5aWFFnZEdobElHWjFiR3hzZVNCeGRXRnNhV1pwWldRZ2NHRjBhRzVoYldVZ2IyWWdkR2hsSUdacGJHVWdkRzhnWW1VZ1kzSmxZWFJsWkFvSlkyaHZjQ2drVkdGeVoyVjBUbUZ0WlNrZ2FXWWdLQ1JVWVhKblpYUk9ZVzFsSUQwZ0pFTjFjbkpsYm5SRWFYSXBJRDErSUcwdlcxeGNYQzlkSkM4N0Nna2tWSEpoYm5ObVpYSkdhV3hsSUQxK0lHMGhLRnRlTDE1Y1hGMHFLU1FoT3dvSkpGUmhjbWRsZEU1aGJXVWdMajBnSkZCaGRHaFRaWEF1SkRFN0Nnb0pKRlJoY21kbGRFWnBiR1ZUYVhwbElEMGdiR1Z1WjNSb0tDUnBibnNuWm1sc1pXUmhkR0VuZlNrN0Nna2pJR2xtSUhSb1pTQm1hV3hsSUdWNGFYTjBjeUJoYm1RZ2QyVWdZWEpsSUc1dmRDQnpkWEJ3YjNObFpDQjBieUJ2ZG1WeWQzSnBkR1VnYVhRS0NXbG1LQzFsSUNSVVlYSm5aWFJPWVcxbElDWW1JQ1JQY0hScGIyNXpJRzVsSUNKdmRtVnlkM0pwZEdVaUtRb0pld29KQ1NSeVpYTjFiSFFnTGowZ0lrWmhhV3hsWkRvZ1JHVnpkR2x1WVhScGIyNGdabWxzWlNCaGJISmxZV1I1SUdWNGFYTjBjeTQ4WW5JK0lqc0tDWDBLQ1dWc2MyVWdJeUJtYVd4bElHbHpJRzV2ZENCd2NtVnpaVzUwQ2dsN0Nna0phV1lvYjNCbGJpaFZVRXhQUVVSR1NVeEZMQ0FpUGlSVVlYSm5aWFJPWVcxbElpa3BDZ2tKZXdvSkNRbGlhVzV0YjJSbEtGVlFURTlCUkVaSlRFVXBJR2xtSUNSWGFXNU9WRHNLQ1FrSmNISnBiblFnVlZCTVQwRkVSa2xNUlNBa2FXNTdKMlpwYkdWa1lYUmhKMzA3Q2drSkNXTnNiM05sS0ZWUVRFOUJSRVpKVEVVcE93b0pDUWtrY21WemRXeDBJQzQ5SUNKVWNtRnVjMlpsY21Wa0lDUlVZWEpuWlhSR2FXeGxVMmw2WlNCQ2VYUmxjeTQ4WW5JK0lqc0tDUWtKSkhKbGMzVnNkQ0F1UFNBaVJtbHNaU0JRWVhSb09pQWtWR0Z5WjJWMFRtRnRaVHhpY2o0aU93b0pDWDBLQ1FsbGJITmxDZ2tKZXdvSkNRa2tjbVZ6ZFd4MElDNDlJQ0pHWVdsc1pXUTZJQ1FoUEdKeVBpSTdDZ2tKZlFvSmZRb0pKSEpsYzNWc2RDQXVQU0FtVUhKcGJuUkRiMjF0WVc1a1RHbHVaVWx1Y0hWMFJtOXliVHNLQ1hKbGRIVnliaUFrY21WemRXeDBPd3A5Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdOaGJHeGxaQ0IzYUdWdUlIUm9aU0IxYzJWeUlIZGhiblJ6SUhSdklHUnZkMjVzYjJGa0lHRWdabWxzWlM0Z1NXWWdkR2hsQ2lNZ1ptbHNaVzVoYldVZ2FYTWdibTkwSUhOd1pXTnBabWxsWkN3Z2FYUWdaR2x6Y0d4aGVYTWdZU0JtYjNKdElHRnNiRzkzYVc1bklIUm9aU0IxYzJWeUlIUnZJSE53WldOcFpua2dZUW9qSUdacGJHVXNJRzkwYUdWeWQybHpaU0JwZENCa2FYTndiR0Y1Y3lCaElHMWxjM05oWjJVZ2RHOGdkR2hsSUhWelpYSWdZVzVrSUhCeWIzWnBaR1Z6SUdFZ2JHbHVhd29qSUhSb2NtOTFaMmdnSUhkb2FXTm9JSFJvWlNCbWFXeGxJR05oYmlCaVpTQmtiM2R1Ykc5aFpHVmtMZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCRWIzZHViRzloWkVacGJHVUtld29KSXlCcFppQnVieUJtYVd4bElHbHpJSE53WldOcFptbGxaQ3dnY0hKcGJuUWdkR2hsSUdSdmQyNXNiMkZrSUdadmNtMGdZV2RoYVc0S0NXbG1LQ1JVY21GdWMyWmxja1pwYkdVZ1pYRWdJaUlwQ2dsN0Nna0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2laaUlwT3dvSkNYSmxkSFZ5YmlBbVVISnBiblJHYVd4bFJHOTNibXh2WVdSR2IzSnRPd29KZlFvSkNna2pJR2RsZENCbWRXeHNlU0J4ZFdGc2FXWnBaV1FnY0dGMGFDQnZaaUIwYUdVZ1ptbHNaU0IwYnlCaVpTQmtiM2R1Ykc5aFpHVmtDZ2xwWmlnb0pGZHBiazVVSUNZZ0tDUlVjbUZ1YzJabGNrWnBiR1VnUFg0Z2JTOWVYRng4WGk0Nkx5a3BJSHdnS0NFa1YybHVUbFFnSmlBb0pGUnlZVzV6Wm1WeVJtbHNaU0E5ZmlCdEwxNWNMeThwS1NrZ0l5QndZWFJvSUdseklHRmljMjlzZFhSbENnbDdDZ2tKSkZSaGNtZGxkRVpwYkdVZ1BTQWtWSEpoYm5ObVpYSkdhV3hsT3dvSmZRb0paV3h6WlNBaklIQmhkR2dnYVhNZ2NtVnNZWFJwZG1VS0NYc0tDUWxqYUc5d0tDUlVZWEpuWlhSR2FXeGxLU0JwWmlna1ZHRnlaMlYwUm1sc1pTQTlJQ1JEZFhKeVpXNTBSR2x5S1NBOWZpQnRMMXRjWEZ3dlhTUXZPd29KQ1NSVVlYSm5aWFJHYVd4bElDNDlJQ1JRWVhSb1UyVndMaVJVY21GdWMyWmxja1pwYkdVN0NnbDlDZ29KYVdZb0pFOXdkR2x2Ym5NZ1pYRWdJbWR2SWlrZ0l5QjNaU0JvWVhabElIUnZJSE5sYm1RZ2RHaGxJR1pwYkdVS0NYc0tDUWx5WlhSMWNtNGdKbE5sYm1SR2FXeGxWRzlDY205M2MyVnlLQ1JVWVhKblpYUkdhV3hsS1RzS0NYMEtDV1ZzYzJVZ0l5QjNaU0JvWVhabElIUnZJSE5sYm1RZ2IyNXNlU0IwYUdVZ2JHbHVheUJ3WVdkbENnbDdDZ2tKY21WMGRYSnVJQ1pRY21sdWRFUnZkMjVzYjJGa1RHbHVhMUJoWjJVb0pGUmhjbWRsZEVacGJHVXBPd29KZlFwOUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklHTmhiR3hsWkNCMGJ5QmxlR1ZqZFhSbElHTnZiVzFoYm1SekxpQkpkQ0JrYVhOd2JHRjVjeUIwYUdVZ2IzVjBjSFYwSUc5bUlIUm9aUW9qSUdOdmJXMWhibVFnWVc1a0lHRnNiRzkzY3lCMGFHVWdkWE5sY2lCMGJ5QmxiblJsY2lCaGJtOTBhR1Z5SUdOdmJXMWhibVF1SUZSb1pTQmphR0Z1WjJVZ1pHbHlaV04wYjNKNUNpTWdZMjl0YldGdVpDQnBjeUJvWVc1a2JHVmtJR1JwWm1abGNtVnVkR3g1TGlCSmJpQjBhR2x6SUdOaGMyVXNJSFJvWlNCdVpYY2daR2x5WldOMGIzSjVJR2x6SUhOMGIzSmxaQ0JwYmdvaklHRnVJR2x1ZEdWeWJtRnNJSFpoY21saFlteGxJR0Z1WkNCcGN5QjFjMlZrSUdWaFkyZ2dkR2x0WlNCaElHTnZiVzFoYm1RZ2FHRnpJSFJ2SUdKbElHVjRaV04xZEdWa0xpQlVhR1VLSXlCdmRYUndkWFFnYjJZZ2RHaGxJR05vWVc1blpTQmthWEpsWTNSdmNua2dZMjl0YldGdVpDQnBjeUJ1YjNRZ1pHbHpjR3hoZVdWa0lIUnZJSFJvWlNCMWMyVnljd29qSUhSb1pYSmxabTl5WlNCbGNuSnZjaUJ0WlhOellXZGxjeUJqWVc1dWIzUWdZbVVnWkdsemNHeGhlV1ZrTGdvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQkZlR1ZqZFhSbFEyOXRiV0Z1WkFwN0Nna2tRM1Z5Y21WdWRFUnBjaUE5SUNaVWNtbHRVMnhoYzJobGN5Z2tRM1Z5Y21WdWRFUnBjaWs3Q2dsdGVTQWtjbVZ6ZFd4MFBTSWlPd29KYVdZb0pGSjFia052YlcxaGJtUWdQWDRnYlM5ZVhITXFZMlJjY3lzb0xpc3BMeWtnSXlCcGRDQnBjeUJoSUdOb1lXNW5aU0JrYVhJZ1kyOXRiV0Z1WkFvSmV3b0pDU01nZDJVZ1kyaGhibWRsSUhSb1pTQmthWEpsWTNSdmNua2dhVzUwWlhKdVlXeHNlUzRnVkdobElHOTFkSEIxZENCdlppQjBhR1VLQ1FraklHTnZiVzFoYm1RZ2FYTWdibTkwSUdScGMzQnNZWGxsWkM0S0NRa2tRMjl0YldGdVpDQTlJQ0pqWkNCY0lpUkRkWEp5Wlc1MFJHbHlYQ0lpTGlSRGJXUlRaWEF1SW1Oa0lDUXhJaTRrUTIxa1UyVndMaVJEYldSUWQyUTdDZ2tKWTJodmJYQW9KRU4xY25KbGJuUkVhWElnUFNCZ0pFTnZiVzFoYm1SZ0tUc0tDUWtrY21WemRXeDBJQzQ5SUNaUWNtbHVkRU52YlcxaGJtUk1hVzVsU1c1d2RYUkdiM0p0T3dvS0NRa2tjbVZ6ZFd4MElDNDlJQ0pEYjIxdFlXNWtPaUE4Y25WdVBpUlNkVzVEYjIxdFlXNWtJRHd2Y25WdVBqeGljajQ4ZEdWNGRHRnlaV0VnWTI5c2N6MG5KR052YkhNbklISnZkM005SnlSeWIzZHpKeUJ6Y0dWc2JHTm9aV05yUFNkbVlXeHpaU2MrSWpzS0NRa2pJSGgxWVhRZ2RHaHZibWNnZEdsdUlHdG9hU0JqYUhWNVpXNGdaR1Z1SURFZ2RHaDFJRzExWXlCdVlXOGdaRzhoQ2drSkpGSjFia052YlcxaGJtUTlJQ1JYYVc1T1ZEOGlaR2x5SWpvaVpHbHlJQzFzYVdFaU93b0pDU1J5WlhOMWJIUWdMajBnSmxKMWJrTnRaRHNLQ1gxbGJITnBaaWdrVW5WdVEyOXRiV0Z1WkNBOWZpQnRMMTVjY3lwbFpHbDBYSE1yS0M0cktTOHBDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQWdKbE5oZG1WR2FXeGxSbTl5YlRzS0NYMWxiSE5sQ2dsN0Nna0pKSEpsYzNWc2RDQXVQU0FtVUhKcGJuUkRiMjF0WVc1a1RHbHVaVWx1Y0hWMFJtOXliVHNLQ1Fra2NtVnpkV3gwSUM0OUlDSkRiMjF0WVc1a09pQThjblZ1UGlSU2RXNURiMjF0WVc1a1BDOXlkVzQrUEdKeVBqeDBaWGgwWVhKbFlTQnBaRDBuWkdGMFlTY2dZMjlzY3owbkpHTnZiSE1uSUhKdmQzTTlKeVJ5YjNkekp5QnpjR1ZzYkdOb1pXTnJQU2RtWVd4elpTYytJanNLQ1Fra2NtVnpkV3gwSUM0OUpsSjFia050WkRzS0NYMEtDU1J5WlhOMWJIUWdMajBnSUNJOEwzUmxlSFJoY21WaFBpSTdDZ2x5WlhSMWNtNGdKSEpsYzNWc2REc0tmUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ2NuVnVJR052YlcxaGJtUUtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1VuVnVRMjFrQ25zS0NXMTVJQ1J5WlhOMWJIUTlJaUk3Q2dra1EyOXRiV0Z1WkNBOUlDSmpaQ0JjSWlSRGRYSnlaVzUwUkdseVhDSWlMaVJEYldSVFpYQXVKRkoxYmtOdmJXMWhibVF1SkZKbFpHbHlaV04wYjNJN0NnbHBaaWdoSkZkcGJrNVVLUW9KZXdvSkNTUlRTVWQ3SjBGTVVrMG5mU0E5SUZ3bVEyOXRiV0Z1WkZScGJXVnZkWFE3Q2drSllXeGhjbTBvSkVOdmJXMWhibVJVYVcxbGIzVjBSSFZ5WVhScGIyNHBPd29KZlFvSmFXWW9KRk5vYjNkRWVXNWhiV2xqVDNWMGNIVjBLU0FqSUhOb2IzY2diM1YwY0hWMElHRnpJR2wwSUdseklHZGxibVZ5WVhSbFpBb0pld29KQ1NSOFBURTdDZ2tKSkVOdmJXMWhibVFnTGowZ0lpQjhJanNLQ1FsdmNHVnVLRU52YlcxaGJtUlBkWFJ3ZFhRc0lDUkRiMjF0WVc1a0tUc0tDUWwzYUdsc1pTZzhRMjl0YldGdVpFOTFkSEIxZEQ0cENna0pld29KQ1Fra1h5QTlmaUJ6THloY2JueGNjbHh1S1NRdkx6c0tDUWtKSkhKbGMzVnNkQ0F1UFNBbVNIUnRiRk53WldOcFlXeERhR0Z5Y3lnaUpGOWNiaUlwT3dvSkNYMEtDUWtrZkQwd093b0pmUW9KWld4elpTQWpJSE5vYjNjZ2IzVjBjSFYwSUdGbWRHVnlJR052YlcxaGJtUWdZMjl0Y0d4bGRHVnpDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQW1TSFJ0YkZOd1pXTnBZV3hEYUdGeWN5Z2tRMjl0YldGdVpDazdDZ2w5Q2dscFppZ2hKRmRwYms1VUtRb0pld29KQ1dGc1lYSnRLREFwT3dvSmZRb0pjbVYwZFhKdUlDUnlaWE4xYkhRN0NuMEtJejA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBRb2pJRVp2Y20wZ1UyRjJaU0JHYVd4bElBb2pQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOUNuTjFZaUJUWVhabFJtbHNaVVp2Y20wS2V3b0piWGtnSkhKbGMzVnNkQ0E5SWlJN0Nna2tSVzVqYjJSbFEzVnljbVZ1ZEVScGNpQTlJRVZ1WTI5a1pVUnBjaWdrUTNWeWNtVnVkRVJwY2lrN0NnbHpkV0p6ZEhJb0pGSjFia052YlcxaGJtUXNNQ3cxS1QwaUlqc0tDVzE1SUNSbWFXeGxQU1owY21sdEtDUlNkVzVEYjIxdFlXNWtLVHNLQ1NSellYWmxQU2M4WW5JK1BHbHVjSFYwSUc1aGJXVTlJbUVpSUhSNWNHVTlJbk4xWW0xcGRDSWdkbUZzZFdVOUluTmhkbVVpSUdOc1lYTnpQU0p6ZFdKdGFYUWlJRDRuT3dvSkpFWnBiR1U5SkVOMWNuSmxiblJFYVhJdUpGQmhkR2hUWlhBdUpGSjFia052YlcxaGJtUTdDZ2x0ZVNBa1pHbHlQU0k4YzNCaGJpQnpkSGxzWlQwblptOXVkRG9nTVRGd2RDQldaWEprWVc1aE95Qm1iMjUwTFhkbGFXZG9kRG9nWW05c1pEc25QaUl1SmtGa1pFeHBibXRFYVhJb0ltZDFhU0lwTGlJOEwzTndZVzQrSWpzS0NXbG1LQzEzSUNSR2FXeGxLUW9KZXdvSkNTUnliM2R6UFNJeU15SUtDWDFsYkhObENnbDdDZ2tKSkcxelp6MGlQR0p5UGp4bWIyNTBJSE4wZVd4bFBTZGpiMnh2Y2pvZ2VXVnNiRzkzT3ljZ1BpQkRZVzV1SjNRZ2QzSnBkR1VnWm1sc1pTRThabTl1ZEQ0OFluSStJanNLQ1Fra2NtOTNjejBpTWpBaUNnbDlDZ2trVUhKdmJYQjBJRDBnSkZkcGJrNVVJRDhnSWlSa2FYSWdQaUFpSURvZ0lqeG1iMjUwSUdOdmJHOXlQU2NqUmtaR1JrWkdKejViWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSa2FYSmRYQ1E4TDJadmJuUStJQ0k3Q2dra1VuVnVRMjl0YldGdVpDQTlJQ0psWkdsMElDUlNkVzVEYjIxdFlXNWtJanNLQ1NSeVpYTjFiSFFnTGowZ0lEdzhSVTVFT3dvSlBHWnZjbTBnYm1GdFpUMGlaaUlnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0Nnb0pQR2x1Y0hWMElIUjVjR1U5SW1ocFpHUmxiaUlnYm1GdFpUMGlaQ0lnZG1Gc2RXVTlJaVJGYm1OdlpHVkRkWEp5Wlc1MFJHbHlJajRLQ1NSUWNtOXRjSFFLQ1R4cGJuQjFkQ0IwZVhCbFBTSjBaWGgwSWlCemFYcGxQU0kwTUNJZ2JtRnRaVDBpWXlJK0NnazhhVzV3ZFhRZ2JtRnRaVDBpY3lJZ1kyeGhjM005SW5OMVltMXBkQ0lnZEhsd1pUMGljM1ZpYldsMElpQjJZV3gxWlQwaVJXNTBaWElpUGdvSlBHSnlQa052YlcxaGJtUTZJRHh5ZFc0K0lDUlNkVzVEYjIxdFlXNWtJRHd2Y25WdVBnb0pQR2x1Y0hWMElIUjVjR1U5SW1ocFpHUmxiaUlnYm1GdFpUMGlabWxzWlNJZ2RtRnNkV1U5SWlSbWFXeGxJaUErSUNSellYWmxJRHhpY2o0Z0pHMXpad29KUEdKeVBqeDBaWGgwWVhKbFlTQnBaRDBpWkdGMFlTSWdibUZ0WlQwaVpHRjBZU0lnWTI5c2N6MGlKR052YkhNaUlISnZkM005SWlSeWIzZHpJaUJ6Y0dWc2JHTm9aV05yUFNKbVlXeHpaU0krQ2tWT1JBb0pDZ2trY21WemRXeDBJQzQ5SUNaSWRHMXNVM0JsWTJsaGJFTm9ZWEp6S0NaR2FXeGxUM0JsYmlna1JtbHNaU3d3S1NrN0Nna2tjbVZ6ZFd4MElDNDlJQ0k4TDNSbGVIUmhjbVZoUGlJN0Nna2tjbVZ6ZFd4MElDNDlJQ0k4TDJadmNtMCtJanNLQ1hKbGRIVnliaUFrY21WemRXeDBPd3A5Q2lNOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDBLSXlCR2FXeGxJRTl3Wlc0S0l6MDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFFwemRXSWdSbWxzWlU5d1pXNG9KQ2w3Q2dsdGVTQWtabWxzWlNBOUlITm9hV1owT3dvSmJYa2dKR0pwYm1GeWVTQTlJSE5vYVdaME93b0piWGtnSkhKbGMzVnNkQ0E5SUNJaU93b0piWGtnSkc0Z1BTQWlJanNLQ1dsbUtDMW1JQ1JtYVd4bEtYc0tDUWxwWmlodmNHVnVLRVpKVEVVc0pHWnBiR1VwS1hzS0NRa0phV1lvSkdKcGJtRnllU2w3Q2drSkNRbGlhVzV0YjJSbElFWkpURVU3Q2drSkNYMEtDUWtKZDJocGJHVWdLQ2drYmlBOUlISmxZV1FnUmtsTVJTd2dKR1JoZEdFc0lERXdNalFwSUNFOUlEQXBJSHNLQ1FrSkNTUnlaWE4xYkhRZ0xqMGdKR1JoZEdFN0Nna0pDWDBLQ1FrSlkyeHZjMlVvUmtsTVJTazdDZ2tKZlFvSmZXVnNjMlVLQ1hzS0NRbHlaWFIxY200Z0lrNXZkQ2R6SUdFZ1JtbHNaU0VpT3dvSmZRb0pjbVYwZFhKdUlDUnlaWE4xYkhRN0NuMEtJejA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBRb2pJRk5oZG1VZ1JtbHNaUW9qUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlDbk4xWWlCVFlYWmxSbWxzWlNna0tRcDdDZ2x0ZVNBa1JHRjBZVDBnYzJocFpuUWdPd29KYlhrZ0pFWnBiR1U5SUhOb2FXWjBPd29KSkVacGJHVTlKRU4xY25KbGJuUkVhWEl1SkZCaGRHaFRaWEF1SkVacGJHVTdDZ2xwWmlodmNHVnVLRVpKVEVVc0lDSStKRVpwYkdVaUtTa0tDWHNLQ1FsaWFXNXRiMlJsSUVaSlRFVTdDZ2tKY0hKcGJuUWdSa2xNUlNBa1JHRjBZVHNLQ1FsamJHOXpaU0JHU1V4Rk93b0pDWEpsZEhWeWJpQXhPd29KZldWc2MyVUtDWHNLQ1FseVpYUjFjbTRnTURzS0NYMEtmUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nUW5KMWRHVWdSbTl5WTJWeUlFWnZjbTBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1FuSjFkR1ZHYjNKalpYSkdiM0p0Q25zS0NXMTVJQ1J5WlhOMWJIUTlJaUk3Q2dra2NtVnpkV3gwSUM0OUlEdzhSVTVFT3dvS1BIUmhZbXhsUGdvS1BIUnlQZ284ZEdRZ1kyOXNjM0JoYmowaU1pSWdZV3hwWjI0OUltTmxiblJsY2lJK0NpTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl6eGljajRLVTJsdGNHeGxJRVpVVUNCaWNuVjBaU0JtYjNKalpYSThZbkkrQ2s1dmRHVTZJRTl1YkhrZ2MyTmhiaUJtY205dElERWdkRzhnTXlCMWMyVnlJRG90VXp4aWNqNEtJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpDanhtYjNKdElHNWhiV1U5SW1ZaUlHMWxkR2h2WkQwaVVFOVRWQ0lnWVdOMGFXOXVQU0lrVTJOeWFYQjBURzlqWVhScGIyNGlQZ29LUEdsdWNIVjBJSFI1Y0dVOUltaHBaR1JsYmlJZ2JtRnRaVDBpWVNJZ2RtRnNkV1U5SW1KeWRYUmxabTl5WTJWeUlpOCtDand2ZEdRK0Nqd3ZkSEkrQ2p4MGNqNEtQSFJrUGxWelpYSTZQR0p5UGp4MFpYaDBZWEpsWVNCeWIzZHpQU0l4T0NJZ1kyOXNjejBpTXpBaUlHNWhiV1U5SW5WelpYSWlQZ3BGVGtRS1kyaHZjQ2drY21WemRXeDBJQzQ5SUdCc1pYTnpJQzlsZEdNdmNHRnpjM2RrSUh3Z1kzVjBJQzFrT2lBdFpqRmdLVHNLSkhKbGMzVnNkQ0F1UFNBOFBDZEZUa1FuT3dvOEwzUmxlSFJoY21WaFBqd3ZkR1ErQ2p4MFpENEtDbEJoYzNNNlBHSnlQZ284ZEdWNGRHRnlaV0VnY205M2N6MGlNVGdpSUdOdmJITTlJak13SWlCdVlXMWxQU0p3WVhOeklqNHhNak53WVhOekNqRXlNeUZBSXdveE1qTmhaRzFwYmdveE1qTmhZbU1LTVRJek5EVTJZV1J0YVc0S01USXpORFUxTkRNeU1Rb3hNak0wTkRNeU1RcHdZWE56TVRJekNtRmtiV2x1Q21Ga2JXbHVZM0FLWVdSdGFXNXBjM1J5WVhSdmNncHRZWFJyYUdGMUNuQmhjM05oWkcxcGJncHdRSE56ZDI5eVpBcHdRSE56ZHpCeVpBcHdZWE56ZDI5eVpBb3hNak0wTlRZS01USXpORFUyTndveE1qTTBOVFkzT0FveE1qTTBOVFkzT0RrS01USXpORFUyTnpnNU1Bb3hNVEV4TVRFS01EQXdNREF3Q2pJeU1qSXlNZ296TXpNek16TUtORFEwTkRRMENqVTFOVFUxTlFvMk5qWTJOallLTnpjM056YzNDamc0T0RnNE9BbzVPVGs1T1RrS01USXpNVEl6Q2pJek5ESXpOQW96TkRVek5EVUtORFUyTkRVMkNqVTJOelUyTndvMk56ZzJOemdLTnpnNU56ZzVDakV5TXpNeU1RbzBOVFkyTlRRS05qVTBNekl4Q2pjMk5UUXpNakVLT0RjMk5UUXpNakVLT1RnM05qVTBNekl4Q2pBNU9EYzJOVFF6TWpFS1lXUnRhVzR4TWpNS1lXUnRhVzR4TWpNME5UWUtZV0pqWkdWbUNtRmlZMkZpWXdvaFFDTWhRQ01LSVVBakpDVmVDaUZBSXlRbFhpWXFLQW9oUUNNa0pDTkFJUXBoWW1NeE1qTUtZVzVvZVdWMVpXMEthV3h2ZG1WNWIzVUtQQzkwWlhoMFlYSmxZVDRLUEM5MFpENEtQQzkwY2o0S1BIUnlQZ284ZEdRZ1kyOXNjM0JoYmowaU1pSWdZV3hwWjI0OUltTmxiblJsY2lJK0NsTnNaV1Z3T2p4elpXeGxZM1FnYm1GdFpUMGljMnhsWlhBaVBnb0tQRzl3ZEdsdmJqNHdQQzl2Y0hScGIyNCtDanh2Y0hScGIyNCtNVHd2YjNCMGFXOXVQZ284YjNCMGFXOXVQakk4TDI5d2RHbHZiajRLQ2p4dmNIUnBiMjQrTXp3dmIzQjBhVzl1UGdvOEwzTmxiR1ZqZEQ0Z0NqeHBibkIxZENCMGVYQmxQU0p6ZFdKdGFYUWlJR05zWVhOelBTSnpkV0p0YVhRaUlIWmhiSFZsUFNKQ2NuVjBaU0JHYjNKalpYSWlMejQ4TDNSa1Bqd3ZkSEkrQ2p3dlptOXliVDRLUEM5MFlXSnNaVDRLUlU1RUNuSmxkSFZ5YmlBa2NtVnpkV3gwT3dwOUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QkNjblYwWlNCR2IzSmpaWElLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1FuSjFkR1ZHYjNKalpYSUtld29KYlhrZ0pISmxjM1ZzZEQwaUlqc0tDU1JUWlhKMlpYSTlKRVZPVm5zblUwVlNWa1ZTWDBGRVJGSW5mVHNLQ1dsbUtDUnBibnNuZFhObGNpZDlJR1Z4SUNJaUtRb0pld29KQ1NSeVpYTjFiSFFnTGowZ0prSnlkWFJsUm05eVkyVnlSbTl5YlRzS0NYMWxiSE5sQ2dsN0Nna0pkWE5sSUU1bGREbzZSbFJRT3lBS0NRbEFkWE5sY2owZ2MzQnNhWFFvTDF4dUx5d2dKR2x1ZXlkMWMyVnlKMzBwT3dvSkNVQndZWE56UFNCemNHeHBkQ2d2WEc0dkxDQWthVzU3SjNCaGMzTW5mU2s3Q2drSlkyaHZiWEFvUUhWelpYSXBPd29KQ1dOb2IyMXdLRUJ3WVhOektUc0tDUWtrY21WemRXeDBJQzQ5SUNJOFluSStQR0p5UGxzclhTQlVjbmxwYm1jZ1luSjFkR1VnSkZObGNuWmxjazVoYldVOFluSStQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDArUGo0K1BqNCtQajQrUGo0OFBEdzhQRHc4UER3OFBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDhZbkkrUEdKeVBseHVJanNLQ1FsbWIzSmxZV05vSUNSMWMyVnlibUZ0WlNBb1FIVnpaWElwQ2drSmV3b0pDUWxwWmlna2RYTmxjbTVoYldVZ2JtVWdJaUlwQ2drSkNYc0tDUWtKQ1dadmNtVmhZMmdnSkhCaGMzTjNiM0prSUNoQWNHRnpjeWtLQ1FrSkNYc0tDUWtKQ1Fra1puUndJRDBnVG1WME9qcEdWRkF0UG01bGR5Z2tVMlZ5ZG1WeUtTQnZjaUJrYVdVZ0lrTnZkV3hrSUc1dmRDQmpiMjV1WldOMElIUnZJQ1JUWlhKMlpYSk9ZVzFsWEc0aU95QUtDUWtKQ1FscFppZ2tablJ3TFQ1c2IyZHBiaWdpSkhWelpYSnVZVzFsSWl3aUpIQmhjM04zYjNKa0lpa3BDZ2tKQ1FrSmV3b0pDUWtKQ1Fra2NtVnpkV3gwSUM0OUlDSThZU0IwWVhKblpYUTlKMTlpYkdGdWF5Y2dhSEpsWmowblpuUndPaTh2SkhWelpYSnVZVzFsT2lSd1lYTnpkMjl5WkZ4QUpGTmxjblpsY2ljK1d5dGRJR1owY0Rvdkx5UjFjMlZ5Ym1GdFpUb2tjR0Z6YzNkdmNtUmNRQ1JUWlhKMlpYSThMMkUrUEdKeVBseHVJanNLQ1FrSkNRa0pKR1owY0MwK2NYVnBkQ2dwT3dvSkNRa0pDUWxpY21WaGF6c0tDUWtKQ1FsOUNna0pDUWtKYVdZb0pHbHVleWR6YkdWbGNDZDlJRzVsSUNJd0lpa0tDUWtKQ1FsN0Nna0pDUWtKQ1hOc1pXVndLR2x1ZENna2FXNTdKM05zWldWd0ozMHBJQ29nTVRBd01DazdDZ2tKQ1FrSmZRb0pDUWtKQ1NSbWRIQXRQbkYxYVhRb0tUc0tDUWtKQ1gwS0NRa0pmUW9KQ1gwS0NRa2tjbVZ6ZFd4MElDNDlJQ0pjYmp4aWNqNDlQVDA5UFQwOVBUMDlQajQrUGo0K1BqNCtQaUJHYVc1cGMyaGxaQ0E4UER3OFBEdzhQRHc4UFQwOVBUMDlQVDA5UFR4aWNqNWNiaUk3Q2dsOUNnbHlaWFIxY200Z0pISmxjM1ZzZERzS2ZRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdRbUZqYTJOdmJtNWxZM1FnUm05eWJRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJDWVdOclFtbHVaRVp2Y20wS2V3b0pjbVYwZFhKdUlEdzhSVTVFT3dvSlBHSnlQanhpY2o0S0NnazhkR0ZpYkdVK0NnazhkSEkrQ2drOFptOXliU0J1WVcxbFBTSm1JaUJ0WlhSb2IyUTlJbEJQVTFRaUlHRmpkR2x2YmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1SWo0S0NUeDBaRDVDWVdOclEyOXVibVZqZERvZ1BHbHVjSFYwSUhSNWNHVTlJbWhwWkdSbGJpSWdibUZ0WlQwaVlTSWdkbUZzZFdVOUltSmhZMnRpYVc1a0lqNDhMM1JrUGdvSlBIUmtQaUJJYjNOME9pQThhVzV3ZFhRZ2RIbHdaVDBpZEdWNGRDSWdjMmw2WlQwaU1qQWlJRzVoYldVOUltTnNhV1Z1ZEdGa1pISWlJSFpoYkhWbFBTSWtSVTVXZXlkU1JVMVBWRVZmUVVSRVVpZDlJajRLQ1NCUWIzSjBPaUE4YVc1d2RYUWdkSGx3WlQwaWRHVjRkQ0lnYzJsNlpUMGlOaUlnYm1GdFpUMGlZMnhwWlc1MGNHOXlkQ0lnZG1Gc2RXVTlJamd3SWlCdmJtdGxlWFZ3UFNKa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2duWW1FbktTNXBibTVsY2toVVRVdzlkR2hwY3k1MllXeDFaVHNpUGp3dmRHUStDZ29KUEhSa1BqeHBibkIxZENCdVlXMWxQU0p6SWlCamJHRnpjejBpYzNWaWJXbDBJaUIwZVhCbFBTSnpkV0p0YVhRaUlHNWhiV1U5SW5OMVltMXBkQ0lnZG1Gc2RXVTlJa052Ym01bFkzUWlQand2ZEdRK0NnazhMMlp2Y20wK0NnazhMM1J5UGdvSlBIUnlQZ29KUEhSa0lHTnZiSE53WVc0OU16NDhabTl1ZENCamIyeHZjajBqUmtaR1JrWkdQbHNyWFNCRGJHbGxiblFnYkdsemRHVnVJR0psWm05eVpTQmpiMjV1WldOMElHSmhZMnNoQ2drOFluSStXeXRkSUZSeWVTQmphR1ZqYXlCNWIzVnlJRkJ2Y25RZ2QybDBhQ0E4WVNCMFlYSm5aWFE5SWw5aWJHRnVheUlnYUhKbFpqMGlhSFIwY0RvdkwzZDNkeTVqWVc1NWIzVnpaV1Z0WlM1dmNtY3ZJajVvZEhSd09pOHZkM2QzTG1OaGJubHZkWE5sWlcxbExtOXlaeTg4TDJFK0NnazhZbkkrV3l0ZElFTnNhV1Z1ZENCc2FYTjBaVzRnZDJsMGFDQmpiMjF0WVc1a09pQThjblZ1UG01aklDMTJkaUF0YkNBdGNDQThjM0JoYmlCcFpEMGlZbUVpUGpnd1BDOXpjR0Z1UGp3dmNuVnVQand2Wm05dWRENDhMM1JrUGdvS0NUd3ZkSEkrQ2drOEwzUmhZbXhsUGdvS0NUeGljajQ4WW5JK0NnazhkR0ZpYkdVK0NnazhkSEkrQ2drOFptOXliU0J0WlhSb2IyUTlJbEJQVTFRaUlHRmpkR2x2YmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1SWo0S0NUeDBaRDVDYVc1a0lGQnZjblE2SUR4cGJuQjFkQ0IwZVhCbFBTSm9hV1JrWlc0aUlHNWhiV1U5SW1FaUlIWmhiSFZsUFNKaVlXTnJZbWx1WkNJK1BDOTBaRDRLQ2drOGRHUStJRkJ2Y25RNklEeHBibkIxZENCMGVYQmxQU0owWlhoMElpQnphWHBsUFNJeE5TSWdibUZ0WlQwaVkyeHBaVzUwY0c5eWRDSWdkbUZzZFdVOUlqRTBNVElpSUc5dWEyVjVkWEE5SW1SdlkzVnRaVzUwTG1kbGRFVnNaVzFsYm5SQ2VVbGtLQ2RpYVNjcExtbHVibVZ5U0ZSTlREMTBhR2x6TG5aaGJIVmxPeUkrQ2dvSklGQmhjM04zYjNKa09pQThhVzV3ZFhRZ2RIbHdaVDBpZEdWNGRDSWdjMmw2WlQwaU1USWlJRzVoYldVOUltSnBibVJ3WVhOeklpQjJZV3gxWlQwaWRtbHVZV3RwWkNJK1BDOTBaRDRLQ1R4MFpENDhhVzV3ZFhRZ2JtRnRaVDBpY3lJZ1kyeGhjM005SW5OMVltMXBkQ0lnZEhsd1pUMGljM1ZpYldsMElpQnVZVzFsUFNKemRXSnRhWFFpSUhaaGJIVmxQU0pDYVc1a0lqNDhMM1JrUGdvSlBDOW1iM0p0UGdvSlBDOTBjajRLQ1R4MGNqNEtDVHgwWkNCamIyeHpjR0Z1UFRNK1BHWnZiblFnWTI5c2IzSTlJMFpHUmtaR1JqNWJLMTBnVkdWemRHbHVaeUF1TGk0dUNnazhZbkkrV3l0ZElGUnllU0JqYjIxdFlXNWtPaUE4Y25WdVBtNWpJQ1JGVGxaN0oxTkZVbFpGVWw5QlJFUlNKMzBnUEhOd1lXNGdhV1E5SW1KcElqNHhOREV5UEM5emNHRnVQand2Y25WdVBqd3ZabTl1ZEQ0OEwzUmtQZ29LQ1R3dmRISStDZ2s4TDNSaFlteGxQanhpY2o0S1JVNUVDbjBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUVKaFkydGpiMjV1WldOMElIVnpaU0J3WlhKc0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRUpoWTJ0Q2FXNWtDbnNLQ1hWelpTQlRiMk5yWlhRN0NRb0pKR0poWTJ0d1pYSnNQU0pKZVVWMlpGaE9lVXd5U25CaWFUbDNXbGhLYzBSUmNERmpNbFZuVTFVNE5rOXNUblpaTW5Sc1pFUnpUa05wVWxSaFIxWnpZa0ZyT1VsRFNYWlpiV3gxVERKS2FHTXlaMmxQZHpCTFNrVkdVMUl3VFRsUlJVWlRVakZaTjBSUmNERmpNbFZuVlRJNWFtRXlWakJQZHpCTFpGaE9iRWxGV25CaVIxWkpXVmMxYTJKSFZUZEVVWEI2WWpKT2NscFlVVzlWTURsRVV6QldWVXhEUWxGU2JEbEtWR3RXVlV4RFFsUlVNRTVNV0RGT1ZWVnJWa0pVVTNkbldqSldNR05JU25aa1J6bHBaVmMxYUdKWFZXOUpibEpxWTBOSmNFdFRRblpqYVVKcllWZFZaMk5JU25CaWJsRm5TV3h6ZEZoVFFsWmliVVpwWWtkVloyUkhPR2RWYlZaNllqSjRNbHBUUWtsaU0wNHdXRWMwYVU5M01FdFpNamwxWW0xV2FtUkRhRlJVTUU1TVVsWlJjMGxJVG5aWk1uUm9Xa2RTZVZneWJIVkxRMUpDVld0a1YxZDZSbVJNUTBKd1ltMVdNRmd5UmpCaU1qUnZTa1ZHVTFJeFdtSk5SakJ3UzFOcloySXpTV2RhUjJ4c1NVaENlV0ZYTlRCSlEwcGlURll3WjFaWE5XaFpiWGhzU1VoU2RrbEZUblppYlRWc1dUTlJaMU5IT1hwa1JuaDFTV3B6VGtOdVFubGhWelV3U1VOS1JHSXlOWFZhVjA0d1dsZFJhRWxxYzA1RGJFNVFVVEIwUmxaRE1DdFpXRll3WWpKYWMyUllUbTlMUTJzM1JGRndkbU5IVm5WTFJrNVZVa1ZzVDB4RFFXbFFhVnBVVkRCT1RGSldVV2xMVkhOT1EyMDVkMXBYTkc5Vk1WSkZWREZXVlV4RFNTdEtiRTVRVVRCMFJsWkRTWEJQZHpCTFlqTkNiR0pwYUZSV1JWSkdWV3hKYzBscU5HMVZNRGxFVXpCV1ZVbHBhemRFVVhCM1kyMXNkV1JEUVdsTVV6QTVVRk5DUkdJeU5YVmFWMDR3V2xkUloxRnRSbXBoTWxKMllqTkpaMUJVTUhSTVUwRm5XRWMxWTJKcFNUZEVVWEI2WlZoT01GcFhNRzlKYmxaMVl6SldNRWxGYUVwVk1WSkhVMVY0Ums5NVFqRmliazVzWkVOQ1ZGRldXa1pUUld4VVZrTkJOMXBYVG05aWVVRnVWM2wwWkVsR1RqVmpNMUpzWWxkc2RWcHRPRFpKUTJNM1NVaFdkVmxYTVd4SlF6Rm9UekpXYW1GSE9EZGFWMDV2WW5sQmJsZDVkR1JKUmxaNldsaEtjR0p0V25aUGFVRnVUM2xDY0ZwRWRHeFpNbWgyVHpKV2FtRkhPR2RLTVhOeVdGTkNSV0ZZU214Wk0xSjJZMjVyTmtsRFl6ZEpTRUl6V2tSMGJGa3lhSFpQZVVKc1dUSm9ka2xEWkdKTE1UQm5WVEpvYkdKSGR6WkpRMk0zU2taT2IxcFhlSE5KYVdzM1JGRndhbUpIT1hwYVUwSlVWREJPVEZKV1VUY2lPd29KSkdKcGJtUndaWEpzUFNKSmVVVjJaRmhPZVV3eVNuQmlhVGwzV2xoS2MwUlJjREZqTWxWblZUSTVhbUV5VmpCUGR6QkxTa1ZHVTFJd1RUbFJSVVpUVWpGWk4wUlJiMnRqUnpsNVpFRnJPVWxEVWtKVmEyUlhWM3BDWkU5M01FdEtTRUo1WWpOU2RrTlVNR2RhTWxZd1kwaEtkbVJIT1dsbFZ6Vm9ZbGRWYjBvelVtcGpRMk53VDNjd1MwcEdUbTlhVjNoelExUXdaMGxwT1dsaFZ6UjJXVzFHZW1GRFNUZEVVWEI2WWpKT2NscFlVVzlWTUZaVFZtdFdVMHhEUWxGU2JEbEtWR3RXVlV4RFFsUlVNRTVNV0RGT1ZWVnJWa0pVVTNkblNraENlV0l6VW5aTFZ6bDVTVWRTY0ZwVFFXbGpNamxxWVRKV01FOXBVV2hKYW5OT1EyNU9iR1JJVG5aWk1uUjJZMGhSYjFVd1ZsTldhMVpUVEVOQ1ZGUXdlR1pWTURsRVV6QldWVXhEUWxSVU1UbFRVbFpXVkZKVlJrVlNSa2x6U1VoQ2FGa3ljMjlKYlhkcFRFTkJlRXRUYkhaamFVSnJZVmRWWjBsdVRteGtTRTUyV1RKMGRtTklVVFpKUTFGb1NXcHpUa050U25CaWJWRnZWVEJXVTFaclZsTk1RMEo2WWpKT2NsbFhVbXRqYkRsd1ltbG5hMk5IT1hsa1EzZG5VMVUxUWxKRlVsTllNRVpQVjFOcmNHSXpTV2RhUjJ4c1NVTkthV0ZYTld0UGFVRnJTVk5KTjBSUmNITmhXRTR3V2xjMGIxVXdWbE5XYTFaVFRFTkNWRlF3TVVKWFJVNVFWR3MwY0VOUmJIWmphVUpyWVZkVlowbHRlSEJqTTFKc1ltcHZaMHBEUldsUGR6QkxXbTA1ZVV0RWMyZEtTRUpvV2tkU2VVbEVNR2RaVjA1cVdsaENNRXRGVGsxVFZWWlBWa04zWjFVd1ZsTldhMVpUUzFSeloxa3llSFpqTWxWblVUQjRTbEpWTlZWTFVUQkxaWGN3UzBOWE9YZGFWelJ2VlRGU1JWTlZOSE5KUTBrclNtdE9UVk5WVms5V1EwbHdUM2N3UzBOWE9YZGFWelJ2VlRGU1JWUXhWbFZNUTBGcFVHbGFSRlJGYkVaVWJGRnBTMVJ6VGtObmJIWmpSMVoxUzBaT1ZWSkZWbE5WYVhkblNXbzBiVkV3ZUVwU1ZUVlZTV2xyTjBSUmIwcGpNMng2WkVkV2RFdERTakZpYms1c1pFTkNTVk5XVGxWU2EyeE5VbFJ6WjJSWE5YcGFXRkZuVlRCR1YxSlZhRXBWTVZGblR6SldhbUZIT0dkS01YTnlXRk5DVkdWWVRqQmFWekZ3WW0xYWRrOXBRVzVQZVVJeFltMUdkRnBUUVhSWlZIUnNXVEpvZGs4eVZtcGhSemhuU2pGemNsaFRRbFpqTWxaNVlWYzFiV0o2YjJkS2VuTm5ZVmRSTjFwWFRtOWllblJzV1RKb2RrbERaR0pMTVRCblVrZHNlVnBYVGpCaU0wbzFUMmxCYms5NVFuZGtNbEUzV2xkT2IySjZjMmRhVjA1dllubEJibGQ1ZEdSSlJrNXZXbGQ0YzA5cFFXNVBlVkpVWVVkV2MySkRTWEJQZHpCTFExZE9jMkl6VG14TFJrNVZVa1ZzVDB0VWMwNURaMnhxWWtjNWVscFRhRlJXUlZKUVZsWlJjRTkzTUV0RFYwNXpZak5PYkV0R1RsVlNSVlpUVldsck4wUlJjRGxFVVc4OUlqc0tDZ2trUTJ4cFpXNTBRV1JrY2lBOUlDUnBibnNuWTJ4cFpXNTBZV1JrY2lkOU93b0pKRU5zYVdWdWRGQnZjblFnUFNCcGJuUW9KR2x1ZXlkamJHbGxiblJ3YjNKMEozMHBPd29KYVdZb0pFTnNhV1Z1ZEZCdmNuUWdaWEVnTUNrS0NYc0tDUWx5WlhSMWNtNGdKa0poWTJ0Q2FXNWtSbTl5YlRzS0NYMWxiSE5wWmlnaEpFTnNhV1Z1ZEVGa1pISWdaWEVnSWlJcENnbDdDZ2tKSkVSaGRHRTlaR1ZqYjJSbFgySmhjMlUyTkNna1ltRmphM0JsY213cE93b0pDV2xtS0MxM0lDSXZkRzF3THlJcENna0pld29KQ1Fra1JtbHNaVDBpTDNSdGNDOWlZV05yWTI5dWJtVmpkQzV3YkNJN0NRb0pDWDFsYkhObENna0pld29KQ1Fra1JtbHNaVDBrUTNWeWNtVnVkRVJwY2k0a1VHRjBhRk5sY0M0aVltRmphMk52Ym01bFkzUXVjR3dpT3dvSkNYMEtDUWx2Y0dWdUtFWkpURVVzSUNJK0pFWnBiR1VpS1RzS0NRbHdjbWx1ZENCR1NVeEZJQ1JFWVhSaE93b0pDV05zYjNObElFWkpURVU3Q2drSmMzbHpkR1Z0S0NKd1pYSnNJQ1JHYVd4bElDUkRiR2xsYm5SQlpHUnlJQ1JEYkdsbGJuUlFiM0owSWlrN0Nna0pkVzVzYVc1cktDUkdhV3hsS1RzS0NRbGxlR2wwSURBN0NnbDlaV3h6WlFvSmV3b0pDU1JFWVhSaFBXUmxZMjlrWlY5aVlYTmxOalFvSkdKcGJtUndaWEpzS1RzS0NRbHBaaWd0ZHlBaUwzUnRjQ0lwQ2drSmV3b0pDUWtrUm1sc1pUMGlMM1J0Y0M5aWFXNWtjRzl5ZEM1d2JDSTdDUW9KQ1gxbGJITmxDZ2tKZXdvSkNRa2tSbWxzWlQwa1EzVnljbVZ1ZEVScGNpNGtVR0YwYUZObGNDNGlZbWx1WkhCdmNuUXVjR3dpT3dvSkNYMEtDUWx2Y0dWdUtFWkpURVVzSUNJK0pFWnBiR1VpS1RzS0NRbHdjbWx1ZENCR1NVeEZJQ1JFWVhSaE93b0pDV05zYjNObElFWkpURVU3Q2drSmMzbHpkR1Z0S0NKd1pYSnNJQ1JHYVd4bElDUkRiR2xsYm5SUWIzSjBJaWs3Q2drSmRXNXNhVzVyS0NSR2FXeGxLVHNLQ1FsbGVHbDBJREE3Q2dsOUNuMEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJQ0JCY25KaGVTQk1hWE4wSUVScGNtVmpkRzl5ZVFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQlNiVVJwY2lna0tTQUtld29KYlhrZ0pHUnBjaUE5SUhOb2FXWjBPd29KYVdZb2IzQmxibVJwY2loRVNWSXNKR1JwY2lrcENnbDdDZ2tKZDJocGJHVW9KR1pwYkdVZ1BTQnlaV0ZrWkdseUtFUkpVaWtwQ2drSmV3b0pDUWxwWmlnb0pHWnBiR1VnYm1VZ0lpNGlLU0FtSmlBb0pHWnBiR1VnYm1VZ0lpNHVJaWtwQ2drSkNYc0tDUWtKQ1NSbWFXeGxQU0FrWkdseUxpUlFZWFJvVTJWd0xpUm1hV3hsT3dvSkNRa0phV1lvTFdRZ0pHWnBiR1VwQ2drSkNRbDdDZ2tKQ1FrSkpsSnRSR2x5S0NSbWFXeGxLVHNLQ1FrSkNYMEtDUWtKQ1dWc2MyVUtDUWtKQ1hzS0NRa0pDUWwxYm14cGJtc29KR1pwYkdVcE93b0pDUWtKZlFvSkNRbDlDZ2tKZlFvSkNXTnNiM05sWkdseUtFUkpVaWs3Q2dsOUNuMEtjM1ZpSUVacGJHVlBkMjVsY2lna0tRcDdDZ2x0ZVNBa1ptbHNaU0E5SUhOb2FXWjBPd29KYVdZb0xXVWdKR1pwYkdVcENnbDdDZ2tKS0NSMWFXUXNKR2RwWkNrZ1BTQW9jM1JoZENna1ptbHNaU2twV3pRc05WMDdDZ2tKYVdZb0pGZHBiazVVS1FvSkNYc0tDUWtKY21WMGRYSnVJQ0kvUHo4aU93b0pDWDBLQ1FsbGJITmxDZ2tKZXdvSkNRa2tibUZ0WlQxblpYUndkM1ZwWkNna2RXbGtLVHNLQ1FrSkpHZHliM1Z3UFdkbGRHZHlaMmxrS0NSbmFXUXBPd29KQ1FseVpYUjFjbTRnSkc1aGJXVXVJaThpTGlSbmNtOTFjRHNLQ1FsOUNnbDlDZ2x5WlhSMWNtNGdJajgvUHlJN0NuMEtjM1ZpSUZCaGNtVnVkRVp2YkdSbGNpZ2tLUXA3Q2dsdGVTQWtjR0YwYUNBOUlITm9hV1owT3dvSmJYa2dKRU52YlcwZ1BTQWlZMlFnWENJa1EzVnljbVZ1ZEVScGNsd2lJaTRrUTIxa1UyVndMaUpqWkNBdUxpSXVKRU50WkZObGNDNGtRMjFrVUhka093b0pZMmh2Y0Nna2NHRjBhQ0E5SUdBa1EyOXRiV0FwT3dvSmNtVjBkWEp1SUNSd1lYUm9Pd3A5Q25OMVlpQkdhV3hsVUdWeWJYTW9KQ2tLZXdvSmJYa2dKR1pwYkdVZ1BTQnphR2xtZERzS0NXMTVJQ1IxY2lBOUlDSXRJanNLQ1cxNUlDUjFkeUE5SUNJdElqc0tDV2xtS0MxbElDUm1hV3hsS1FvSmV3b0pDV2xtS0NSWGFXNU9WQ2tLQ1FsN0Nna0pDV2xtS0MxeUlDUm1hV3hsS1hzZ0pIVnlJRDBnSW5JaU95QjlDZ2tKQ1dsbUtDMTNJQ1JtYVd4bEtYc2dKSFYzSUQwZ0luY2lPeUI5Q2drSkNYSmxkSFZ5YmlBa2RYSWdMaUFpSUM4Z0lpQXVJQ1IxZHpzS0NRbDlaV3h6WlFvSkNYc0tDUWtKSkcxdlpHVTlLSE4wWVhRb0pHWnBiR1VwS1ZzeVhUc0tDUWtKSkhKbGMzVnNkQ0E5SUhOd2NtbHVkR1lvSWlVd05HOGlMQ0FrYlc5a1pTQW1JREEzTnpjM0tUc0tDUWtKY21WMGRYSnVJQ1J5WlhOMWJIUTdDZ2tKZlFvSmZRb0pjbVYwZFhKdUlDSXdNREF3SWpzS2ZRcHpkV0lnUm1sc1pVeGhjM1JOYjJScFptbGxaQ2drS1FwN0NnbHRlU0FrWm1sc1pTQTlJSE5vYVdaME93b0phV1lvTFdVZ0pHWnBiR1VwQ2dsN0Nna0pLQ1JzWVNrZ1BTQW9jM1JoZENna1ptbHNaU2twV3psZE93b0pDU2drWkN3a2JTd2tlU3drYUN3a2FTa2dQU0FvYkc5allXeDBhVzFsS0NSc1lTa3BXek1zTkN3MUxESXNNVjA3Q2drSkpIa2dQU0FrZVNBcklERTVNREE3Q2drSlFHMXZiblJvSUQwZ2NYY3ZNU0F5SURNZ05DQTFJRFlnTnlBNElEa2dNVEFnTVRFZ01USXZPd29KQ1NSc2JYUnBiV1VnUFNCemNISnBiblJtS0NJbE1ESmtMeVZ6THlVMFpDQWxNREprT2lVd01tUWlMQ1JrTENSdGIyNTBhRnNrYlYwc0pIa3NKR2dzSkdrcE93b0pDWEpsZEhWeWJpQWtiRzEwYVcxbE93b0pmUW9KY21WMGRYSnVJQ0kvUHo4aU93cDlDbk4xWWlCR2FXeGxVMmw2WlNna0tRcDdDZ2x0ZVNBa1ptbHNaU0E5SUhOb2FXWjBPd29KYVdZb0xXWWdKR1pwYkdVcENnbDdDZ2tKY21WMGRYSnVJQzF6SUNJa1ptbHNaU0k3Q2dsOUNnbHlaWFIxY200Z0lqQWlPd3A5Q25OMVlpQlFZWEp6WlVacGJHVlRhWHBsS0NRcENuc0tDVzE1SUNSemFYcGxJRDBnYzJocFpuUTdDZ2xwWmlna2MybDZaU0E4UFNBeE1ESTBLUW9KZXdvSkNYSmxkSFZ5YmlBa2MybDZaUzRnSWlCQ0lqc0tDWDBLQ1dWc2MyVUtDWHNLQ1FscFppZ2tjMmw2WlNBOFBTQXhNREkwS2pFd01qUXBJQW9KQ1hzS0NRa0pKSE5wZW1VZ1BTQnpjSEpwYm5SbUtDSWxMakF5WmlJc0pITnBlbVVnTHlBeE1ESTBLVHNLQ1FrSmNtVjBkWEp1SUNSemFYcGxMaUlnUzBJaU93b0pDWDBLQ1FsbGJITmxJQW9KQ1hzS0NRa0pKSE5wZW1VZ1BTQnpjSEpwYm5SbUtDSWxMakptSWl3a2MybDZaU0F2SURFd01qUWdMeUF4TURJMEtUc0tDUWtKY21WMGRYSnVJQ1J6YVhwbExpSWdUVUlpT3dvSkNYMEtDWDBLZlFwemRXSWdkSEpwYlNna0tRcDdDZ2x0ZVNBa2MzUnlhVzVuSUQwZ2MyaHBablE3Q2dra2MzUnlhVzVuSUQxK0lITXZYbHh6S3k4dk93b0pKSE4wY21sdVp5QTlmaUJ6TDF4ekt5UXZMenNLQ1hKbGRIVnliaUFrYzNSeWFXNW5Pd3A5Q25OMVlpQkJaR1JUYkdGemFHVnpLQ1FwQ25zS0NXMTVJQ1J6ZEhKcGJtY2dQU0J6YUdsbWREc0tDU1J6ZEhKcGJtYzlmaUJ6TDF4Y0wxeGNYRnd2WnpzS0NYSmxkSFZ5YmlBa2MzUnlhVzVuT3dwOUNuTjFZaUJVY21sdFUyeGhjMmhsY3lna0tRcDdDZ2x0ZVNBa2MzUnlhVzVuSUQwZ2MyaHBablE3Q2dra2MzUnlhVzVuUFg0Z2N5OWNMMXd2TDF3dkwyYzdDZ2trYzNSeWFXNW5QWDRnY3k5Y1hGeGNMMXhjTDJjN0NnbHlaWFIxY200Z0pITjBjbWx1WnpzS2ZRcHpkV0lnVEdsemRFUnBjZ3A3Q2dsdGVTQWtjR0YwYUNBOUlDWlVjbWx0VTJ4aGMyaGxjeWdrUTNWeWNtVnVkRVJwY2k0a1VHRjBhRk5sY0NrN0NnbHRlU0FrY21WemRXeDBJRDBnSWp4bWIzSnRJRzVoYldVOUoyWW5JRzl1VTNWaWJXbDBQVndpUlc1amIyUmxjaWduWkNjcFhDSWdZV04wYVc5dVBTY2tVMk55YVhCMFRHOWpZWFJwYjI0blBqeHpjR0Z1SUhOMGVXeGxQU2RtYjI1ME9pQXhNWEIwSUZabGNtUmhibUU3SUdadmJuUXRkMlZwWjJoME9pQmliMnhrT3ljK1VHRjBhRG9nV3lBaUxpWkJaR1JNYVc1clJHbHlLQ0puZFdraUtTNGlJRjBnUEM5emNHRnVQanhwYm5CMWRDQjBlWEJsUFNkMFpYaDBKeUJwWkQwblpDY2dibUZ0WlQwblpDY2djMmw2WlQwbk5EQW5JSFpoYkhWbFBTY2tRM1Z5Y21WdWRFUnBjaWNnTHo0OGFXNXdkWFFnZEhsd1pUMG5hR2xrWkdWdUp5QnVZVzFsUFNkaEp5QjJZV3gxWlQwblozVnBKejQ4YVc1d2RYUWdZMnhoYzNNOUozTjFZbTFwZENjZ2RIbHdaVDBuYzNWaWJXbDBKeUIyWVd4MVpUMG5RMmhoYm1kbEp6NDhMMlp2Y20wK0lqc0tDV2xtS0Mxa0lDUndZWFJvS1FvSmV3b0pDVzE1SUVCbWJtRnRaU0E5SUNncE93b0pDVzE1SUVCa2JtRnRaU0E5SUNncE93b0pDV2xtS0c5d1pXNWthWElvUkVsU0xDUndZWFJvS1NrS0NRbDdDZ2tKQ1hkb2FXeGxLQ1JtYVd4bElEMGdjbVZoWkdScGNpaEVTVklwS1FvSkNRbDdDZ2tKQ1Fra1pqMGtjR0YwYUM0a1ptbHNaVHNLQ1FrSkNXbG1LQzFrSUNSbUtRb0pDUWtKZXdvSkNRa0pDWEIxYzJnb1FHUnVZVzFsTENSbWFXeGxLVHNLQ1FrSkNYMEtDUWtKQ1dWc2MyVUtDUWtKQ1hzS0NRa0pDUWx3ZFhOb0tFQm1ibUZ0WlN3a1ptbHNaU2s3Q2drSkNRbDlDZ2tKQ1gwS0NRa0pZMnh2YzJWa2FYSW9SRWxTS1RzS0NRbDlDZ2tKUUdadVlXMWxJRDBnYzI5eWRDQjdJR3hqS0NSaEtTQmpiWEFnYkdNb0pHSXBJSDBnUUdadVlXMWxPd29KQ1VCa2JtRnRaU0E5SUhOdmNuUWdleUJzWXlna1lTa2dZMjF3SUd4aktDUmlLU0I5SUVCa2JtRnRaVHNLQ1Fra2NtVnpkV3gwSUM0OUlDSThaR2wyUGp4MFlXSnNaU0IzYVdSMGFEMG5PVEFsSnlCamJHRnpjejBuYkdsemRHUnBjaWMrQ2drSlBIUnlJSE4wZVd4bFBTZGlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNMlV6WlRObEp6NDhkR2crUm1sc1pTQk9ZVzFsUEM5MGFENEtDUWs4ZEdnZ2QybGtkR2c5SnpFd01DYytSbWxzWlNCVGFYcGxQQzkwYUQ0S0NRazhkR2dnZDJsa2RHZzlKekUxTUNjK1QzZHVaWEk4TDNSb1Bnb0pDVHgwYUNCM2FXUjBhRDBuTVRBd0p6NVFaWEp0YVhOemFXOXVQQzkwYUQ0S0NRazhkR2dnZDJsa2RHZzlKekUxTUNjK1RHRnpkQ0JOYjJScFptbGxaRHd2ZEdnK0Nna0pQSFJvSUhkcFpIUm9QU2N5TXpBblBrRmpkR2x2Ymp3dmRHZytQQzkwY2o0aU93b0pDVzE1SUNSemRIbHNaVDBpYm05MGJHbHVaU0k3Q2drSmJYa2dKR2s5TURzS0NRbG1iM0psWVdOb0lHMTVJQ1JrSUNoQVpHNWhiV1VwQ2drSmV3b0pDUWtrYzNSNWJHVTlJQ2drYzNSNWJHVWdaWEVnSW14cGJtVWlLU0EvSUNKdWIzUnNhVzVsSWpvZ0lteHBibVVpT3dvSkNRa2taQ0E5SUNaMGNtbHRLQ1JrS1RzS0NRa0pKR1JwY201aGJXVTlKR1E3Q2drSkNXbG1LQ1JrSUdWeElDSXVMaUlwSUFvSkNRbDdDZ2tKQ1Fra1pDQTlJQ1pRWVhKbGJuUkdiMnhrWlhJb0pIQmhkR2dwT3dvSkNRbDlDZ2tKQ1dWc2MybG1LQ1JrSUdWeElDSXVJaWtnQ2drSkNYc0tDUWtKQ1c1bGVIUTdDZ2tKQ1gwS0NRa0paV3h6WlNBS0NRa0pld29KQ1FrSkpHUWdQU0FrY0dGMGFDNGtaRHNLQ1FrSmZRb0pDUWtrY21WemRXeDBJQzQ5SUNJOGRISWdZMnhoYzNNOUp5UnpkSGxzWlNjK1BIUmtJR2xrUFNkR2FXeGxYeVJwSnlCamJHRnpjejBuWkdseUp6NDhZU0FnYUhKbFpqMG5QMkU5WjNWcEptUTlJaTRtUlc1amIyUmxSR2x5S0NSa0tTNGlKejViSUNJdUpHUnBjbTVoYldVdUlpQmRQQzloUGp3dmRHUStJanNLQ1FrSkpISmxjM1ZzZENBdVBTQWlQSFJrUGtSSlVqd3ZkR1ErSWpzS0NRa0pKSEpsYzNWc2RDQXVQU0FpUEhSa1BpSXVKa1pwYkdWUGQyNWxjaWdrWkNrdUlqd3ZkR1ErSWpzS0NRa0pKSEpsYzNWc2RDQXVQU0FpUEhSa0lHbGtQU2RHYVd4bFVHVnliWE5mSkdrbklHOXVaR0pzWTJ4cFkyczlYQ0p5YlY5amFHMXZaRjltYjNKdEtIUm9hWE1zSWk0a2FTNGlMQ2NpTGlaR2FXeGxVR1Z5YlhNb0pHUXBMaUluTENjaUxpUmthWEp1WVcxbExpSW5LVndpSUQ0OGMzQmhiaUJ2Ym1Oc2FXTnJQVndpWTJodGIyUmZabTl5YlNnaUxpUnBMaUlzSnlJdUpHUnBjbTVoYldVdUlpY3BYQ0lnUGlJdUprWnBiR1ZRWlhKdGN5Z2taQ2t1SWp3dmMzQmhiajQ4TDNSa1BpSTdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lqeDBaRDRpTGlaR2FXeGxUR0Z6ZEUxdlpHbG1hV1ZrS0NSa0tTNGlQQzkwWkQ0aU93b0pDUWtrY21WemRXeDBJQzQ5SUNJOGRHUStQR0VnYjI1amJHbGphejFjSW5KbGJtRnRaVjltYjNKdEtDUnBMQ2NrWkdseWJtRnRaU2NzSnlJdUprRmtaRk5zWVhOb1pYTW9Ka0ZrWkZOc1lYTm9aWE1vSkdRcEtTNGlKeWs3SUhKbGRIVnliaUJtWVd4elpUc2dYQ0krVW1WdVlXMWxQQzloUGlBZ2ZDQThZU0J2Ym1Oc2FXTnJQVndpYVdZb0lXTnZibVpwY20wb0oxSmxiVzkyWlNCa2FYSTZJQ1JrYVhKdVlXMWxJRDhuS1NrZ2V5QnlaWFIxY200Z1ptRnNjMlU3ZlZ3aUlHaHlaV1k5Sno5aFBXZDFhU1prUFNJdUprVnVZMjlrWlVScGNpZ2tjR0YwYUNrdUlpWnlaVzF2ZG1VOUpHUnBjbTVoYldVblBsSmxiVzkyWlR3dllUNDhMM1JrUGlJN0Nna0pDU1J5WlhOMWJIUWdMajBnSWp3dmRISStJanNLQ1FrSkpHa3JLenNLQ1FsOUNna0pabTl5WldGamFDQnRlU0FrWmlBb1FHWnVZVzFsS1FvSkNYc0tDUWtKSkhOMGVXeGxQU0FvSkhOMGVXeGxJR1Z4SUNKc2FXNWxJaWtnUHlBaWJtOTBiR2x1WlNJNklDSnNhVzVsSWpzS0NRa0pKR1pwYkdVOUpHWTdDZ2tKQ1NSbUlEMGdKSEJoZEdndUpHWTdDZ2tKQ1cxNUlDUmhZM1JwYjI0Z1BTQmxibU52WkdWZlltRnpaVFkwS0NKbFpHbDBJQ0l1SkdacGJHVXBPd29KQ1Fra2RtbGxkeUE5SUNJL1pHbHlQU0l1SkhCaGRHZ3VJaVoyYVdWM1BTSXVKR1k3Q2drSkNTUnlaWE4xYkhRZ0xqMGdJangwY2lCamJHRnpjejBuSkhOMGVXeGxKejQ4ZEdRZ2FXUTlKMFpwYkdWZkpHa25JR05zWVhOelBTZG1hV3hsSno0OFlTQm9jbVZtUFNjL1lUMWpiMjF0WVc1a0ptUTlJaTRtUlc1amIyUmxSR2x5S0NSd1lYUm9LUzRpSm1NOUlpNGtZV04wYVc5dUxpSW5QaUl1SkdacGJHVXVJand2WVQ0OEwzUmtQaUk3Q2drSkNTUnlaWE4xYkhRZ0xqMGdJangwWkQ0aUxpWlFZWEp6WlVacGJHVlRhWHBsS0NaR2FXeGxVMmw2WlNna1ppa3BMaUk4TDNSa1BpSTdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lqeDBaRDRpTGlaR2FXeGxUM2R1WlhJb0pHWXBMaUk4TDNSa1BpSTdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lqeDBaQ0JwWkQwblJtbHNaVkJsY20xelh5UnBKeUJ2Ym1SaWJHTnNhV05yUFZ3aWNtMWZZMmh0YjJSZlptOXliU2gwYUdsekxDSXVKR2t1SWl3bklpNG1SbWxzWlZCbGNtMXpLQ1JtS1M0aUp5d25JaTRrWm1sc1pTNGlKeWxjSWlBK1BITndZVzRnYjI1amJHbGphejFjSW1Ob2JXOWtYMlp2Y20wb0pHa3NKeVJtYVd4bEp5bGNJaUErSWk0bVJtbHNaVkJsY20xektDUm1LUzRpUEM5emNHRnVQand2ZEdRK0lqc0tDUWtKSkhKbGMzVnNkQ0F1UFNBaVBIUmtQaUl1SmtacGJHVk1ZWE4wVFc5a2FXWnBaV1FvSkdZcExpSThMM1JrUGlJN0Nna0pDU1J5WlhOMWJIUWdMajBnSWp4MFpENDhZU0J2Ym1Oc2FXTnJQVndpY21WdVlXMWxYMlp2Y20wb0pHa3NKeVJtYVd4bEp5d25aaWNwT3lCeVpYUjFjbTRnWm1Gc2MyVTdYQ0krVW1WdVlXMWxQQzloUGlCOElEeGhJR2h5WldZOUp6OWhQV1J2ZDI1c2IyRmtKbTg5WjI4bVpqMGlMaVJtTGlJblBrUnZkMjVzYjJGa1BDOWhQaUI4SUR4aElHOXVZMnhwWTJzOVhDSnBaaWdoWTI5dVptbHliU2duVW1WdGIzWmxJR1pwYkdVNklDUm1hV3hsSUQ4bktTa2dleUJ5WlhSMWNtNGdabUZzYzJVN2ZWd2lJR2h5WldZOUp6OWhQV2QxYVNaa1BTSXVKa1Z1WTI5a1pVUnBjaWdrY0dGMGFDa3VJaVp5WlcxdmRtVTlKR1pwYkdVblBsSmxiVzkyWlR3dllUNDhMM1JrUGlJN0Nna0pDU1J5WlhOMWJIUWdMajBnSWp3dmRISStJanNLQ1FrSkpHa3JLenNLQ1FsOUNna0pKSEpsYzNWc2RDQXVQU0FpUEM5MFlXSnNaVDQ4TDJScGRqNGlPd29KZlFvSmNtVjBkWEp1SUNSeVpYTjFiSFE3Q24wS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGUnllU0IwYnlCV2FXVjNJRXhwYzNRZ1ZYTmxjZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCV2FXVjNSRzl0WVdsdVZYTmxjZ3A3Q2dsdmNHVnVJQ2hrTUcxaGFXNXpMQ0FuTDJWMFl5OXVZVzFsWkM1amIyNW1KeWtnYjNJZ0pHVnljajB4T3dvSmJYa2dRR051ZW5NZ1BTQThaREJ0WVdsdWN6NDdDZ2xqYkc5elpTQmtNRzFoYVc1ek93b0piWGtnSkhOMGVXeGxQU0pzYVc1bElqc0tDVzE1SUNSeVpYTjFiSFE5SWp4b016NDhabTl1ZENCemRIbHNaVDBuWm05dWREb2dNVFZ3ZENCV1pYSmtZVzVoTzJOdmJHOXlPaUFqWm1ZNU9UQXdPeWMrVjJGeWJtbHVaeUFoSUZOb1pXeHNJR2x6SUhWelpXUWdkRzhnY21WbVpYSWdibTkwSUhSdklHaGhZMnM4TDJadmJuUStQQzlvTXo0aU93b0phV1lnS0NSbGNuSXBDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQWdLQ2M4Y0Q1RE1IVnNaRzVjSjNRZ1FubHdZWE56SUdsMElDd2dVMjl5Y25rOEwzQStKeWs3Q2drSmNtVjBkWEp1SUNSeVpYTjFiSFE3Q2dsOVpXeHpaUW9KZXdvSkNTUnlaWE4xYkhRZ0xqMGdKengwWVdKc1pTQnBaRDBpWkc5dFlXbHVJajQ4ZEhJK1BIUm9QbVF3YldGcGJuTThMM1JvUGlBOGRHZytWWE5sY2p3dmRHZytQQzkwY2o0bk93b0pmUW9KWm05eVpXRmphQ0J0ZVNBa2IyNWxJQ2hBWTI1NmN5a0tDWHNLQ1FscFppZ2tiMjVsSUQxK0lHMHZMaW8vZW05dVpTQWlLQzRxUHlraUlIc3ZLUW9KQ1hzSkNna0pDU1J6ZEhsc1pUMGdLQ1J6ZEhsc1pTQmxjU0FpYkdsdVpTSXBJRDhnSW01dmRHeHBibVVpT2lBaWJHbHVaU0k3Q2drSkNTUm1hV3hsYm1GdFpUMGdkSEpwYlNnaUwyVjBZeTkyWVd4cFlYTmxjeThpTGlReEtUc0tDUWtKSkc5M2JtVnlJRDBnWjJWMGNIZDFhV1FvS0hOMFlYUW9KR1pwYkdWdVlXMWxLU2xiTkYwcE93b0pDUWtrY21WemRXeDBJQzQ5SUNjOGRISWdjM1I1YkdVOUlpUnpkSGxzWlNJZ2QybGtkR2c5TlRBbFBqeDBaRDQ4WVNCb2NtVm1QU0pvZEhSd09pOHZKeTRrTVM0bklpQjBZWEpuWlhROUlsOWliR0Z1YXlJK0p5NGtNUzRuUEM5aFBqd3ZkR1ErUEhSa1BpQW5MaVJ2ZDI1bGNpNG5QQzkwWkQ0OEwzUnlQaWM3Q2drSmZRb0pmUW9KSkhKbGMzVnNkQ0F1UFNBblBDOTBZV0pzWlQ0bk93b0pjbVYwZFhKdUlDUnlaWE4xYkhRN0NuMEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRlpwWlhjZ1RHOW5DaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZacFpYZE1iMmNLZXdvSkpFVnVZMjlrWlVOMWNuSmxiblJFYVhJZ1BTQkZibU52WkdWRWFYSW9KRU4xY25KbGJuUkVhWElwT3dvSmFXWW9KRmRwYms1VUtRb0pld29KQ1hKbGRIVnliaUFpUEdneVBqeG1iMjUwSUhOMGVXeGxQU2RtYjI1ME9pQXlNSEIwSUZabGNtUmhibUU3WTI5c2IzSTZJQ05tWmprNU1EQTdKejVFYjI0bmRDQnlkVzRnYjI0Z1YybHVaRzkzY3p3dlptOXVkRDQ4TDJneVBpSTdDZ2w5Q2dsdGVTQWtjbVZ6ZFd4MFBTSThkR0ZpYkdVK1BIUnlQangwYUQ1UVlYUm9JRXh2Wnp3dmRHZytQSFJvUGxOMVltMXBkRHd2ZEdnK1BDOTBjajRpT3dvSmJYa2dRSEJoZEdoc2IyYzlLQWtuTDNWemNpOXNiMk5oYkM5aGNHRmphR1V2Ykc5bmN5OWxjbkp2Y2w5c2IyY25MQW9KQ1FrbkwzVnpjaTlzYjJOaGJDOWhjR0ZqYUdVdmJHOW5jeTloWTJObGMzTmZiRzluSnl3S0NRa0pKeTkxYzNJdmJHOWpZV3d2WVhCaFkyaGxNaTlqYjI1bUwyaDBkSEJrTG1OdmJtWW5MQW9KQ1FrbkwzWmhjaTlzYjJjdmFIUjBjR1F2WlhKeWIzSmZiRzluSnl3S0NRa0pKeTkyWVhJdmJHOW5MMmgwZEhCa0wyRmpZMlZ6YzE5c2IyY25MQW9KQ1FrbkwzVnpjaTlzYjJOaGJDOWpjR0Z1Wld3dmJHOW5jeTlsY25KdmNsOXNiMmNuTEFvSkNRa25MM1Z6Y2k5c2IyTmhiQzlqY0dGdVpXd3ZiRzluY3k5aFkyTmxjM05mYkc5bkp5d0tDUWtKSnk5MWMzSXZiRzlqWVd3dllYQmhZMmhsTDJ4dlozTXZjM1Z3YUhCZmJHOW5KeXdLQ1FrSkp5OTFjM0l2Ykc5allXd3ZZM0JoYm1Wc0wyeHZaM01uTEFvSkNRa25MM1Z6Y2k5c2IyTmhiQzlqY0dGdVpXd3ZiRzluY3k5emRHRjBjMTlzYjJjbkxBb0pDUWtuTDNWemNpOXNiMk5oYkM5amNHRnVaV3d2Ykc5bmN5OWhZMk5sYzNOZmJHOW5KeXdLQ1FrSkp5OTFjM0l2Ykc5allXd3ZZM0JoYm1Wc0wyeHZaM012WlhKeWIzSmZiRzluSnl3S0NRa0pKeTkxYzNJdmJHOWpZV3d2WTNCaGJtVnNMMnh2WjNNdmJHbGpaVzV6WlY5c2IyY25MQW9KQ1FrbkwzVnpjaTlzYjJOaGJDOWpjR0Z1Wld3dmJHOW5jeTlzYjJkcGJsOXNiMmNuTEFvSkNRa25MM1Z6Y2k5c2IyTmhiQzlqY0dGdVpXd3ZiRzluY3k5emRHRjBjMTlzYjJjbkxBb0pDUWtuTDNaaGNpOWpjR0Z1Wld3dlkzQmhibVZzTG1OdmJtWnBaeWNzQ2drSkNTY3ZkWE55TDJ4dlkyRnNMM0JvY0M5c2FXSXZjR2h3TG1sdWFTY3NDZ2tKQ1NjdmRYTnlMMnh2WTJGc0wzQm9jRFV2YkdsaUwzQm9jQzVwYm1rbkxBb0pDUWtuTDNaaGNpOXNiMmN2YlhsemNXd3ZiWGx6Y1d3dFltbHVMbXh2Wnljc0Nna0pDU2N2ZG1GeUwyeHZaeTl0ZVhOeGJDNXNiMmNuTEFvSkNRa25MM1poY2k5c2IyY3ZiWGx6Y1d4a1pYSnliM0l1Ykc5bkp5d0tDUWtKSnk5MllYSXZiRzluTDIxNWMzRnNMMjE1YzNGc0xteHZaeWNzQ2drSkNTY3ZkbUZ5TDJ4dlp5OXRlWE54YkM5dGVYTnhiQzF6Ykc5M0xteHZaeWNzQ2drSkNTY3ZkbUZ5TDIxNWMzRnNMbXh2Wnljc0Nna0pDU2N2ZG1GeUwyeHBZaTl0ZVhOeGJDOXRlUzVqYm1ZbkxBb0pDUWtuTDJWMFl5OXRlWE54YkM5dGVTNWpibVluTEFvSkNRa25MMlYwWXk5dGVTNWpibVluTEFvSkNRa3BPd29KYlhrZ0pHazlNRHNLQ1cxNUlDUndaWEp0Y3pzS0NXMTVJQ1J6YkRzS0NXWnZjbVZoWTJnZ2JYa2dKR3h2WnlBb1FIQmhkR2hzYjJjcENnbDdDZ2tKYVdZb0xYSWdKR3h2WnlrS0NRbDdDZ2tKQ1NSd1pYSnRjejBpVDBzaU93b0pDWDFsYkhObENna0pld29KQ1Fra2NHVnliWE05SWp4bWIyNTBJSE4wZVd4bFBTZGpiMnh2Y2pvZ2NtVmtPeWMrUTJGdVkyVnNQR1p2Ym5RK0lqc0tDUWw5Q2drSkpISmxjM1ZzZENBdVBUdzhSVTVFT3dvSkNUeDBjajRLQ2drSkNUeG1iM0p0SUdGamRHbHZiajBpSWlCdFpYUm9iMlE5SW5CdmMzUWlJRzl1VTNWaWJXbDBQU0pGYm1OdlpHVnlLQ2RzYjJja2FTY3BJajRLQ1FrSlBIUmtQanhwYm5CMWRDQjBlWEJsUFNKMFpYaDBJaUJwWkQwaWJHOW5KR2tpSUc1aGJXVTlJbU1pSUhaaGJIVmxQU0owWVdsc0lDMHhNREF3TUNBa2JHOW5JSHdnWjNKbGNDQW5MMmh2YldVbklpQnphWHBsUFNjMU1DY3ZQand2ZEdRK0Nna0pDVHgwWkQ0OGFXNXdkWFFnWTJ4aGMzTTlJbk4xWW0xcGRDSWdkSGx3WlQwaWMzVmliV2wwSWlCMllXeDFaVDBpVkhKNUlpQXZQand2ZEdRK0Nna0pDVHhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0pqYjIxdFlXNWtJaUF2UGdvSkNRazhhVzV3ZFhRZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmtJaUIyWVd4MVpUMGlKRVZ1WTI5a1pVTjFjbkpsYm5SRWFYSWlJQzgrQ2drSkNUd3ZabTl5YlQ0S0NRa0pQSFJrUGlSd1pYSnRjend2ZEdRK0Nnb0pDVHd2ZEhJK0NrVk9SQW9KQ1NScEt5czdDZ2w5Q2dra2NtVnpkV3gwSUM0OUlqd3ZkR0ZpYkdVK0lqc0tDWEpsZEhWeWJpQWtjbVZ6ZFd4ME93cDlDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJOWVdsdUlGQnliMmR5WVcwZ0xTQkZlR1ZqZFhScGIyNGdVM1JoY25SeklFaGxjbVVLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9tVW1WaFpGQmhjbk5sT3dvbVIyVjBRMjl2YTJsbGN6c0tDaVJUWTNKcGNIUk1iMk5oZEdsdmJpQTlJQ1JGVGxaN0oxTkRVa2xRVkY5T1FVMUZKMzA3Q2lSVFpYSjJaWEpPWVcxbElEMGdKRVZPVm5zblUwVlNWa1ZTWDA1QlRVVW5mVHNLSkV4dloybHVVR0Z6YzNkdmNtUWdQU0FrYVc1N0ozQW5mVHNLSkZKMWJrTnZiVzFoYm1RZ1BTQmtaV052WkdWZlltRnpaVFkwS0NScGJuc25ZeWQ5S1RzS0pGUnlZVzV6Wm1WeVJtbHNaU0E5SUNScGJuc25aaWQ5T3dva1QzQjBhVzl1Y3lBOUlDUnBibnNuYnlkOU93b2tRV04wYVc5dUlEMGdKR2x1ZXlkaEozMDdDZ29rUVdOMGFXOXVJRDBnSW1OdmJXMWhibVFpSUdsbUtDUkJZM1JwYjI0Z1pYRWdJaUlwT3lBaklHNXZJR0ZqZEdsdmJpQnpjR1ZqYVdacFpXUXNJSFZ6WlNCa1pXWmhkV3gwQ2dvaklHZGxkQ0IwYUdVZ1pHbHlaV04wYjNKNUlHbHVJSGRvYVdOb0lIUm9aU0JqYjIxdFlXNWtjeUIzYVd4c0lHSmxJR1Y0WldOMWRHVmtDaVJEZFhKeVpXNTBSR2x5SUQwZ0psUnlhVzFUYkdGemFHVnpLR1JsWTI5a1pWOWlZWE5sTmpRb2RISnBiU2drYVc1N0oyUW5mU2twS1RzS0l5QnRZV01nWkdsdWFDQjRkV0YwSUhSb2IyNW5JSFJwYmlCdVpYVWdhMjhnWTI4Z2JHVnVhQ0J1WVc4aENpUlNkVzVEYjIxdFlXNWtQU0FrVjJsdVRsUS9JbVJwY2lJNkltUnBjaUF0YkdsaElpQnBaaWdrVW5WdVEyOXRiV0Z1WkNCbGNTQWlJaWs3Q21Ob2IyMXdLQ1JEZFhKeVpXNTBSR2x5SUQwZ1lDUkRiV1JRZDJSZ0tTQnBaaWdrUTNWeWNtVnVkRVJwY2lCbGNTQWlJaWs3Q2dva1RHOW5aMlZrU1c0Z1BTQWtRMjl2YTJsbGMzc25VMEZXUlVSUVYwUW5mU0JsY1NBa1VHRnpjM2R2Y21RN0NncHBaaWdrUVdOMGFXOXVJR1Z4SUNKc2IyZHBiaUlnZkh3Z0lTUk1iMmRuWldSSmJpa2dDUWtqSUhWelpYSWdibVZsWkhNdmFHRnpJSFJ2SUd4dloybHVDbnNLQ1NaUVpYSm1iM0p0VEc5bmFXNDdDbjFsYkhOcFppZ2tRV04wYVc5dUlHVnhJQ0puZFdraUtTQWpJRWRWU1NCa2FYSmxZM1J2Y25rS2V3b0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2laQ0lwT3dvSmFXWW9JU1JYYVc1T1ZDa0tDWHNLQ1Fra1kyaHRiMlE5YVc1MEtDUnBibnNuWTJodGIyUW5mU2s3Q2drSmFXWW9KR05vYlc5a0lHNWxJREFwQ2drSmV3b0pDUWtrWTJodGIyUTlhVzUwS0NScGJuc25ZMmh0YjJRbmZTazdDZ2tKQ1NSbWFXeGxQU1JEZFhKeVpXNTBSR2x5TGlSUVlYUm9VMlZ3TGlSVWNtRnVjMlpsY2tacGJHVTdDZ2tKQ1dsbUtHTm9iVzlrS0NSamFHMXZaQ3drWm1sc1pTa3BDZ2tKQ1hzS0NRa0pDWEJ5YVc1MElDSThjblZ1UGlCRWIyNWxJU0E4TDNKMWJqNDhZbkkrSWpzS0NRa0pmV1ZzYzJVS0NRa0pld29KQ1FrSmNISnBiblFnSWp4eWRXNCtJRk52Y25KNUlTQlpiM1VnWkc5dWRDQm9ZWFpsSUhCbGNtMXBjM05wYjI1eklTQThMM0oxYmo0OFluSStJanNLQ1FrSmZRb0pDWDBLQ1gwS0NTUnlaVzVoYldVOUpHbHVleWR5Wlc1aGJXVW5mVHNLQ1dsbUtDUnlaVzVoYldVZ2JtVWdJaUlwQ2dsN0Nna0phV1lvY21WdVlXMWxLQ1JVY21GdWMyWmxja1pwYkdVc0pISmxibUZ0WlNrcENna0pld29KQ1Fsd2NtbHVkQ0FpUEhKMWJqNGdSRzl1WlNFZ1BDOXlkVzQrUEdKeVBpSTdDZ2tKZldWc2MyVUtDUWw3Q2drSkNYQnlhVzUwSUNJOGNuVnVQaUJUYjNKeWVTRWdXVzkxSUdSdmJuUWdhR0YyWlNCd1pYSnRhWE56YVc5dWN5RWdQQzl5ZFc0K1BHSnlQaUk3Q2drSmZRb0pmUW9KSkhKbGJXOTJaVDBrYVc1N0ozSmxiVzkyWlNkOU93b0phV1lvSkhKbGJXOTJaU0J1WlNBaUlpa0tDWHNLQ1Fra2NtMGdQU0FrUTNWeWNtVnVkRVJwY2k0a1VHRjBhRk5sY0M0a2NtVnRiM1psT3dvSkNXbG1LQzFrSUNSeWJTa0tDUWw3Q2drSkNTWlNiVVJwY2lna2NtMHBPd29KQ1gxbGJITmxDZ2tKZXdvSkNRbHBaaWgxYm14cGJtc29KSEp0S1NrS0NRa0pld29KQ1FrSmNISnBiblFnSWp4eWRXNCtJRVJ2Ym1VaElEd3ZjblZ1UGp4aWNqNGlPd29KQ1FsOVpXeHpaUW9KQ1FsN0Nna0pDUWx3Y21sdWRDQWlQSEoxYmo0Z1UyOXljbmtoSUZsdmRTQmtiMjUwSUdoaGRtVWdjR1Z5YldsemMybHZibk1oSUR3dmNuVnVQanhpY2o0aU93b0pDUWw5Q1FrSkNna0pmUW9KZlFvSmNISnBiblFnSmt4cGMzUkVhWEk3Q2dwOUNtVnNjMmxtS0NSQlkzUnBiMjRnWlhFZ0ltTnZiVzFoYm1RaUtRa0pDUWtnQ1NNZ2RYTmxjaUIzWVc1MGN5QjBieUJ5ZFc0Z1lTQmpiMjF0WVc1a0Nuc0tDU1pRY21sdWRGQmhaMlZJWldGa1pYSW9JbU1pS1RzS0NYQnlhVzUwSUNaRmVHVmpkWFJsUTI5dGJXRnVaRHNLZlFwbGJITnBaaWdrUVdOMGFXOXVJR1Z4SUNKellYWmxJaWtKQ1FrSklBa2pJSFZ6WlhJZ2QyRnVkSE1nZEc4Z2MyRjJaU0JoSUdacGJHVUtld29KSmxCeWFXNTBVR0ZuWlVobFlXUmxjanNLQ1dsbUtDWlRZWFpsUm1sc1pTZ2thVzU3SjJSaGRHRW5mU3drYVc1N0oyWnBiR1VuZlNrcENnbDdDZ2tKY0hKcGJuUWdJanh5ZFc0K0lFUnZibVVoSUR3dmNuVnVQanhpY2o0aU93b0pmV1ZzYzJVS0NYc0tDUWx3Y21sdWRDQWlQSEoxYmo0Z1UyOXljbmtoSUZsdmRTQmtiMjUwSUdoaGRtVWdjR1Z5YldsemMybHZibk1oSUR3dmNuVnVQanhpY2o0aU93b0pmUW9KY0hKcGJuUWdKa3hwYzNSRWFYSTdDbjFsYkhOcFppZ2tRV04wYVc5dUlHVnhJQ0oxY0d4dllXUWlLU0FKQ1FrSkNTTWdkWE5sY2lCM1lXNTBjeUIwYnlCMWNHeHZZV1FnWVNCbWFXeGxDbnNLQ1NaUWNtbHVkRkJoWjJWSVpXRmtaWElvSW1NaUtUc0tDWEJ5YVc1MElDWlZjR3h2WVdSR2FXeGxPd3A5Wld4emFXWW9KRUZqZEdsdmJpQmxjU0FpWW1GamEySnBibVFpS1NBSkNRa0pJeUIxYzJWeUlIZGhiblJ6SUhSdklHSmhZMnNnWTI5dWJtVmpkQ0J2Y2lCaWFXNWtJSEJ2Y25RS2V3b0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2lZMnhwWlc1MGNHOXlkQ0lwT3dvSmNISnBiblFnSmtKaFkydENhVzVrT3dwOVpXeHphV1lvSkVGamRHbHZiaUJsY1NBaVluSjFkR1ZtYjNKalpYSWlLU0FKQ1FraklIVnpaWElnZDJGdWRITWdkRzhnWW5KMWRHVWdabTl5WTJVS2V3b0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNqc0tDWEJ5YVc1MElDWkNjblYwWlVadmNtTmxjanNLZldWc2MybG1LQ1JCWTNScGIyNGdaWEVnSW1SdmQyNXNiMkZrSWlrZ0NRa0pDU01nZFhObGNpQjNZVzUwY3lCMGJ5QmtiM2R1Ykc5aFpDQmhJR1pwYkdVS2V3b0pjSEpwYm5RZ0prUnZkMjVzYjJGa1JtbHNaVHNLZldWc2MybG1LQ1JCWTNScGIyNGdaWEVnSW1Ob1pXTnJiRzluSWlrZ0NRa0pDU01nZFhObGNpQjNZVzUwY3lCMGJ5QjJhV1YzSUd4dlp5Qm1hV3hsQ25zS0NTWlFjbWx1ZEZCaFoyVklaV0ZrWlhJN0NnbHdjbWx1ZENBbVZtbGxkMHh2WnpzS0NuMWxiSE5wWmlna1FXTjBhVzl1SUdWeElDSmtiMjFoYVc1emRYTmxjaUlwSUFrSkNTTWdkWE5sY2lCM1lXNTBjeUIwYnlCMmFXVjNJR3hwYzNRZ2RYTmxjaTlrYjIxaGFXNEtld29KSmxCeWFXNTBVR0ZuWlVobFlXUmxjanNLQ1hCeWFXNTBJQ1pXYVdWM1JHOXRZV2x1VlhObGNqc0tmV1ZzYzJsbUtDUkJZM1JwYjI0Z1pYRWdJbXh2WjI5MWRDSXBJQWtKQ1FraklIVnpaWElnZDJGdWRITWdkRzhnYkc5bmIzVjBDbnNLQ1NaUVpYSm1iM0p0VEc5bmIzVjBPd3A5Q2laUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2dvPQonOwogICAgJGZpbGUgPSBmb3BlbigiZXJyb3IubG9nIiwgIncrIik7CiAgICAkd3JpdGUgPSBmd3JpdGUoJGZpbGUsIGJhc2U2NF9kZWNvZGUoJHB5dGhvbnApKTsKICAgIGZjbG9zZSgkZmlsZSk7CiAgICBjaG1vZCgiZXJyb3IubG9nIiwgMDc1NSk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1lcnJvci9lcnJvci5sb2cgd2lkdGg9MTAwJSBoZWlnaHQ9NzIwcHggZnJhbWVib3JkZXI9MD48L2lmcmFtZT4gIjsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2p1bXAnKSB7CiAgICAkZmlsZSA9IGZvcGVuKCRkaXIgLiAianVtcC5waHAiLCAidysiKTsKICAgICRwZXJsdG9vbHNzID0gJ1BEOXdhSEFLSkhneE5UMGlZWEp5WVhsZmNIVnphQ0k3SUNSNE1UWTlJbVpsYjJZaU95QWtlREUzUFNKbVoyVjBjeUk3SUNSNE1UZzlJbVp2Y0dWdUlqc2dKSGd4T1QwaWFXNXBYMmRsZENJN0lDUjRNV0U5SW1selgzSmxZV1JoWW14bElqc2dKSGd4WWowaWMyVjBYM1JwYldWZmJHbHRhWFFpT3lBa2VERmpQU0p6ZEhKd2IzTWlPeUFrZURGa1BTSnpkV0p6ZEhJaU95Z2tlREJpSUQwZ0pIZ3hPU2duYzJGbVpWOXRiMlJsSnlrZ1BUMGdNQ2tnUHlBa2VEQmlJRDBnSjI5bVppYzZJR1JwWlNnblBHSStSWEp5YjNJNklGTmhabVVnVFc5a1pTQnBjeUJQYmp3dllqNG5LVHNrZURGaUtEQXBPMEFrZURCaklEMGdKSGd4T0NnbkwyVjBZeTl3WVhOemQyUW5MQ2R5SnlrN2FXWWdLQ0VrZURCaktTQjdJR1JwWlNnblBHSStJRVZ5Y205eUlEb2dRMkZ1SUU1dmRDQlNaV0ZrSUVOdmJtWnBaeUJQWmlCVFpYSjJaWElnUEM5aVBpY3BPeUI5Skhnd1pDQTlJR0Z5Y21GNUtDazdKSGd3WlNBOUlHRnljbUY1S0NrN0pIZ3daaUE5SUdGeWNtRjVLQ2s3SkhneE1DQTlJREE3WldOb2J5QWlQR0krUEdadmJuUWdabUZqWlQxV1pYSmtZVzVoSUhOcGVtVTlNeUJqYjJ4dmNqMVVaV0ZzUGlCVFpYSjJaWElnU25WdGNHbHVaeUJHYVc1a1pYSWdWbVZ5YzJsdmJpQXhMakFnUEM5bWIyNTBQand2WWo0OFluSWdMejRpTzJWamFHOGdJanhpY2lBdlBpSTdaV05vYnlBaVBHWnZiblFnWm1GalpUMVdaWEprWVc1aElITnBlbVU5TWlCamIyeHZjajFOWVhKdmIyNCtJRTlyTENCTVpYUW5jeUJDWldkcGJpQXVMaTRnUEM5bWIyNTBQanhpY2lBdlBpSTdaV05vYnlBaVBHWnZiblFnWm1GalpUMVdaWEprWVc1aElITnBlbVU5TWlCamIyeHZjajFVWldGc1Bpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtqd3ZabTl1ZEQ0OFluSWdMejRpTzNkb2FXeGxLQ0VrZURFMktDUjRNR01wS1hza2VERXhJRDBnSkhneE55Z2tlREJqS1R0cFppQW9KSGd4TUNBK0lETTFLWHNrZURFeUlEMGdKSGd4WXlna2VERXhMQ2M2SnlrN0pIZ3hNeUE5SUNSNE1XUW9KSGd4TVN3d0xDUjRNVElwT3lSNE1UUWdQU0FuTDJodmJXVXZKeTRrZURFekxpY3ZjSFZpYkdsalgyaDBiV3d2Snp0cFppQW9LQ1I0TVRNZ0lUMGdKeWNwS1h0cFppQW9KSGd4WVNna2VERTBLU2w3SkhneE5TZ2tlREJsTENSNE1UTXBPeVI0TVRVb0pIZ3daQ3drZURFMEtUdGxZMmh2SUNJOFptOXVkQ0JtWVdObFBWWmxjbVJoYm1FZ2MybDZaVDB5SUdOdmJHOXlQVkpsWkQ1YlJtOTFibVFnSVYwZ0pIZ3hORHd2Wm05dWRENGlPMlZqYUc4Z0lqeGljaTgrSWp0OWZYMGtlREV3S3lzN2ZXVmphRzhnSWp4bWIyNTBJR1poWTJVOVZtVnlaR0Z1WVNCemFYcGxQVElnWTI5c2IzSTlWR1ZoYkQ0cUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvOEwyWnZiblErUEdKeUlDOCtJanRsWTJodklDSThZbklnTHo0aU8yVmphRzhnSWp4bWIyNTBJR1poWTJVOVZtVnlaR0Z1WVNCemFYcGxQVElnWTI5c2IzSTlUV0Z5YjI5dVBsUm9ZVzVyY3lCR2IzSWdWWE5wYm1jZ1ZHaHBjeUJUYVcxd2JHVWdWRzl2YkhNdUlDQmVYMTQ4TDJadmJuUStQR0p5SUM4K0lqdGxZMmh2SUNJOFptOXVkQ0JtWVdObFBWWmxjbVJoYm1FZ2MybDZaVDB5UGp3dlptOXVkRDRpTzJWamFHOGdJanhtYjI1MElHWmhZMlU5Vm1WeVpHRnVZU0J6YVhwbFBUSStQQzltYjI1MFBpSTdDajgrJzsKICAgICRmaWxlID0gZm9wZW4oImp1bXAucGhwIiwgIncrIik7CiAgICAkd3JpdGUgPSBmd3JpdGUoJGZpbGUsIGJhc2U2NF9kZWNvZGUoJHBlcmx0b29sc3MpKTsKICAgIGZjbG9zZSgkZmlsZSk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1qdW1wLnBocCB3aWR0aD0xMDAlIGhlaWdodD03MjBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnc3ltbGluaycpIHsKICAgICRmaWxlID0gZm9wZW4oJGRpciAuICJzeW1saW5rLnBocCIsICJ3KyIpOwogICAgJHBlcmx0b29sc3MgPSAnUEQ5d2FIQWdJQ0FLUUhObGRGOTBhVzFsWDJ4cGJXbDBLREFwT3dwQWJXdGthWElvSjNONWJTY3NNRGMzTnlrN0NpUm9kR0ZqWTJWemN5QWdQU0FpVDNCMGFXOXVjeUJoYkd3Z1hHNGdSR2x5WldOMGIzSjVTVzVrWlhnZ1UzVjRMbWgwYld3Z1hHNGdRV1JrVkhsd1pTQjBaWGgwTDNCc1lXbHVJQzV3YUhBZ1hHNGdRV1JrU0dGdVpHeGxjaUJ6WlhKMlpYSXRjR0Z5YzJWa0lDNXdhSEFnWEc0Z0lFRmtaRlI1Y0dVZ2RHVjRkQzl3YkdGcGJpQXVhSFJ0YkNCY2JpQkJaR1JJWVc1a2JHVnlJSFI0ZENBdWFIUnRiQ0JjYmlCU1pYRjFhWEpsSUU1dmJtVWdYRzRnVTJGMGFYTm1lU0JCYm5raU93b2tkM0pwZEdVZ1BVQm1iM0JsYmlBb0ozTjViUzh1YUhSaFkyTmxjM01uTENkM0p5azdDbVozY21sMFpTZ2tkM0pwZEdVZ0xDUm9kR0ZqWTJWemN5azdDa0J6ZVcxc2FXNXJLQ2N2Snl3bmMzbHRMM0p2YjNRbktUc0tKR1pwYkdWc2IyTmhkR2x2YmlBOUlHSmhjMlZ1WVcxbEtGOWZSa2xNUlY5ZktUc0tKSEpsWVdSZmJtRnRaV1JmWTI5dVppQTlJRUJtYVd4bEtDY3ZaWFJqTDI1aGJXVmtMbU52Ym1ZbktUc0thV1lvSVNSeVpXRmtYMjVoYldWa1gyTnZibVlwQ25zS1pXTm9ieUFpUEhCeVpTQmpiR0Z6Y3oxdGJERWdjM1I1YkdVOUoyMWhjbWRwYmkxMGIzQTZOWEI0Sno0aklFTmhiblFnWVdOalpYTnpJSFJvYVhNZ1ptbHNaU0J2YmlCelpYSjJaWElnTFQ0Z1d5QXZaWFJqTDI1aGJXVmtMbU52Ym1ZZ1hUd3ZjSEpsUGp3dlkyVnVkR1Z5UGlJN0lBcDlDbVZzYzJVS2V3cGxZMmh2SUNJOFkyVnVkR1Z5UGp4aWNqNDhaR2wySUdOc1lYTnpQU2QwYlhBblBqeDBZV0pzWlNCaWIzSmtaWEk5SnpFbklHSnZjbVJsY21OdmJHOXlQU2NqTURCbVpqQXdKeUIzYVdSMGFEMG5OVEF3SnlCalpXeHNjR0ZrWkdsdVp6MG5NU2NnWTJWc2JITndZV05wYm1jOUp6QW5QangwWkQ1RWIyMWhhVzV6UEM5MFpENDhkR1ErVlhObGNuTThMM1JrUGp4MFpENXplVzFzYVc1cklEd3ZkR1ErSWpzS1ptOXlaV0ZqYUNna2NtVmhaRjl1WVcxbFpGOWpiMjVtSUdGeklDUnpkV0pxWldOMEtYc0thV1lvWlhKbFoya29KM3B2Ym1VbkxDUnpkV0pxWldOMEtTbDdDbkJ5WldkZmJXRjBZMmhmWVd4c0tDY2plbTl1WlNBaUtDNHFLU0lqSnl3a2MzVmlhbVZqZEN3a2MzUnlhVzVuS1RzS1pteDFjMmdvS1RzS2FXWW9jM1J5YkdWdUtIUnlhVzBvSkhOMGNtbHVaMXN4WFZzd1hTa3BJRDR5S1hzS0pGVkpSQ0E5SUhCdmMybDRYMmRsZEhCM2RXbGtLRUJtYVd4bGIzZHVaWElvSnk5bGRHTXZkbUZzYVdGelpYTXZKeTRrYzNSeWFXNW5XekZkV3pCZEtTazdDaVJ1WVcxbElEMGdKRlZKUkZzbmJtRnRaU2RkSURzS1FITjViV3hwYm1zb0p5OG5MQ2R6ZVcwdmNtOXZkQ2NwT3dva2JtRnRaU0FnSUQwZ0pITjBjbWx1WjFzeFhWc3dYVHNLSkdseVlXNGdJQ0E5SUNkY0xtbHlKenNLSkdsemNtRmxiQ0E5SUNkY0xtbHNKenNLSkdsdVpHOGdJQ0E5SUNkY0xtbGtKenNLSkhObk1USWdJQ0E5SUNkY0xuTm5KenNLSkdWa2RTQWdJQ0E5SUNkY0xtVmtkU2M3Q2lSbmIzWWdJQ0FnUFNBblhDNW5iM1luT3dva1oyOXpaU0FnSUQwZ0oxd3VaMjhuT3dva1oyOWlaWElnSUQwZ0oxd3VaMjlpSnpzS0pHMXBiREVnSUNBOUlDZGNMbTFwYkNjN0NpUnRhV3d5SUNBZ1BTQW5YQzV0YVNjN0NpUnRZV3hoZVFrOUlDZGNMbTE1SnpzS0pHTm9hVzVoQ1QwZ0oxd3VZMjRuT3dva2FtRndZVzRKUFNBblhDNXFjQ2M3Q2lSaGRYTjBjZ2s5SUNkY0xtRjFKenNLSkhCdmNtNEpQU0FuWEM1NGVIZ25Pd29rWVhNSkNUMGdKMXd1ZFdzbk93b2tZMkZzWm00SlBTQW5YQzVqWVNjN0NncHBaaUFvWlhKbFoya29JaVJwY21GdUlpd2tjM1J5YVc1bld6RmRXekJkS1NCdmNpQmxjbVZuYVNnaUpHbHpjbUZsYkNJc0pITjBjbWx1WjFzeFhWc3dYU2tnYjNJZ1pYSmxaMmtvSWlScGJtUnZJaXdrYzNSeWFXNW5XekZkV3pCZEtXOXlJR1Z5WldkcEtDSWtjMmN4TWlJc0pITjBjbWx1WjFzeFhWc3dYU2tnYjNJZ1pYSmxaMmtnS0NJa1pXUjFJaXdrYzNSeWFXNW5XekZkV3pCZEtTQnZjaUJsY21WbmFTQW9JaVJuYjNZaUxDUnpkSEpwYm1kYk1WMWJNRjBwQ205eUlHVnlaV2RwSUNnaUpHZHZjMlVpTENSemRISnBibWRiTVYxYk1GMHBJRzl5SUdWeVpXZHBLQ0lrWjI5aVpYSWlMQ1J6ZEhKcGJtZGJNVjFiTUYwcElHOXlJR1Z5WldkcEtDSWtiV2xzTVNJc0pITjBjbWx1WjFzeFhWc3dYU2tnYjNJZ1pYSmxaMmtnS0NJa2JXbHNNaUlzSkhOMGNtbHVaMXN4WFZzd1hTa0tiM0lnWlhKbFoya2dLQ0lrYldGc1lYa2lMQ1J6ZEhKcGJtZGJNVjFiTUYwcElHOXlJR1Z5WldkcEtDSWtZMmhwYm1FaUxDUnpkSEpwYm1kYk1WMWJNRjBwSUc5eUlHVnlaV2RwS0NJa2FtRndZVzRpTENSemRISnBibWRiTVYxYk1GMHBJRzl5SUdWeVpXZHBJQ2dpSkdGMWMzUnlJaXdrYzNSeWFXNW5XekZkV3pCZEtRcHZjaUJsY21WbmFTZ2lKSEJ2Y200aUxDUnpkSEpwYm1kYk1WMWJNRjBwSUc5eUlHVnlaV2RwS0NJa1lYTWlMQ1J6ZEhKcGJtZGJNVjFiTUYwcElHOXlJR1Z5WldkcElDZ2lKR05oYkdadUlpd2tjM1J5YVc1bld6RmRXekJkS1NrS2V3b2tibUZ0WlNBOUlDSThaR2wySUhOMGVXeGxQU2NnWTI5c2IzSTZJQ00yTmpBd09UazdJSFJsZUhRdGMyaGhaRzkzT2lBd2NIZ2dNSEI0SURGd2VDQWpNREEyTmpNek95QW5QaUl1SkhOMGNtbHVaMXN4WFZzd1hTNG5QQzlrYVhZK0p6c0tmUXBsWTJodklDSUtQSFJ5UGdvS1BIUmtQZ284WkdsMklHTnNZWE56UFNka2IyMG5QanhoSUhSaGNtZGxkRDBuWDJKc1lXNXJKeUJvY21WbVBXaDBkSEE2THk5M2QzY3VJaTRrYzNSeWFXNW5XekZkV3pCZExpY3ZQaWN1Skc1aGJXVXVKeUE4TDJFK0lEd3ZaR2wyUGdvOEwzUmtQZ29LUEhSa1Bnb25MaVJWU1VSYkoyNWhiV1VuWFM0aUNqd3ZkR1ErQ2dvOGRHUStDanhoSUdoeVpXWTlKM041YlM5eWIyOTBMMmh2YldVdklpNGtWVWxFV3lkdVlXMWxKMTB1SWk5d2RXSnNhV05mYUhSdGJDY2dkR0Z5WjJWMFBTZGZZbXhoYm1zblBsTjViV3hwYm1zZ1BDOWhQZ284TDNSa1Bnb0tQQzkwY2o0OEwyUnBkajRnSWpzS1pteDFjMmdvS1RzS2ZRcDlDbjBLZlFvS1pXTm9ieUFpUEM5alpXNTBaWEkrUEM5MFlXSnNaVDRpT3lBZ0lBb0tQejQ9JzsKICAgICRmaWxlID0gZm9wZW4oInN5bWxpbmsucGhwIiwgIncrIik7CiAgICAkd3JpdGUgPSBmd3JpdGUoJGZpbGUsIGJhc2U2NF9kZWNvZGUoJHBlcmx0b29sc3MpKTsKICAgIGZjbG9zZSgkZmlsZSk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1zeW1saW5rLnBocCB3aWR0aD0xMDAlIGhlaWdodD03MjBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnbmV3Y29tbWFuZCcpIHsKICAgICRmaWxlID0gZm9wZW4oJGRpciAuICJjb21tYW5kLnBocCIsICJ3KyIpOwogICAgJHBlcmx0b29sc3MgPSAnUEQ5d2FIQUtDaVJoYkdsaGMyVnpJRDBnWVhKeVlYa29KMnhoSnlBOVBpQW5iSE1nTFd4aEp5d0tKMnhzSnlBOVBpQW5iSE1nTFd4MmFFWW5MQW9uWkdseUp5QTlQaUFuYkhNbklDazdDaVJ3WVhOemQyUWdQU0JoY25KaGVTZ25KeUE5UGlBbkp5azdDbVZ5Y205eVgzSmxjRzl5ZEdsdVp5Z3dLVHNLWTJ4aGMzTWdjR2h3ZEdocFpXNXNaU0I3Q2dwbWRXNWpkR2x2YmlCbWIzSnRZWFJRY205dGNIUW9LU0I3Q2lSMWMyVnlQWE5vWld4c1gyVjRaV01vSW5kb2IyRnRhU0lwT3dva2FHOXpkRDFsZUhCc2IyUmxLQ0l1SWl3Z2MyaGxiR3hmWlhobFl5Z2lkVzVoYldVZ0xXNGlLU2s3Q2lSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjEwZ1BTQWlJaTV5ZEhKcGJTZ2tkWE5sY2lrdUlpSXVJa0FpTGlJaUxuSjBjbWx0S0NSb2IzTjBXekJkS1M0aUlqc0tmUW9LWm5WdVkzUnBiMjRnWTJobFkydFFZWE56ZDI5eVpDZ2tjR0Z6YzNka0tTQjdDbWxtS0NGcGMzTmxkQ2drWDFORlVsWkZVbHNuVUVoUVgwRlZWRWhmVlZORlVpZGRLWHg4Q2lGcGMzTmxkQ2drWDFORlVsWkZVbHNuVUVoUVgwRlZWRWhmVUZjblhTa2dmSHdLSVdsemMyVjBLQ1J3WVhOemQyUmJKRjlUUlZKV1JWSmJKMUJJVUY5QlZWUklYMVZUUlZJblhWMHBJSHg4Q2lSd1lYTnpkMlJiSkY5VFJWSldSVkpiSjFCSVVGOUJWVlJJWDFWVFJWSW5YVjBnSVQwZ0pGOVRSVkpXUlZKYkoxQklVRjlCVlZSSVgxQlhKMTBwSUhzS1FITmxjM05wYjI1ZmMzUmhjblFvS1RzS2NtVjBkWEp1SUhSeWRXVTdDbjBLWld4elpTQjdDa0J6WlhOemFXOXVYM04wWVhKMEtDazdDbkpsZEhWeWJpQjBjblZsT3dwOUNuMEtDbVoxYm1OMGFXOXVJR2x1YVhSV1lYSnpLQ2tLZXdwcFppQW9aVzF3ZEhrb0pGOVRSVk5UU1U5T1d5ZGpkMlFuWFNrZ2ZId2dJV1Z0Y0hSNUtDUmZVa1ZSVlVWVFZGc25jbVZ6WlhRblhTa3BDbnNLSkY5VFJWTlRTVTlPV3lkamQyUW5YU0E5SUdkbGRHTjNaQ2dwT3dva1gxTkZVMU5KVDA1YkoyaHBjM1J2Y25rblhTQTlJR0Z5Y21GNUtDazdDaVJmVTBWVFUwbFBUbHNuYjNWMGNIVjBKMTBnUFNBbkp6c0tKRjlTUlZGVlJWTlVXeWRqYjIxdFlXNWtKMTBnUFNjbk93cDlDbjBLQ21aMWJtTjBhVzl1SUdKMWFXeGtRMjl0YldGdVpFaHBjM1J2Y25rb0tRcDdDbWxtS0NGbGJYQjBlU2drWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNrcENuc0thV1lvWjJWMFgyMWhaMmxqWDNGMWIzUmxjMTluY0dNb0tTa0tld29rWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNBOUlITjBjbWx3YzJ4aGMyaGxjeWdrWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNrN0NuMEtDaTh2SUdSeWIzQWdiMnhrSUdOdmJXMWhibVJ6SUdaeWIyMGdiR2x6ZENCcFppQmxlR2x6ZEhNS2FXWWdLQ2drYVNBOUlHRnljbUY1WDNObFlYSmphQ2drWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFN3Z0pGOVRSVk5UU1U5T1d5ZG9hWE4wYjNKNUoxMHBLU0FoUFQwZ1ptRnNjMlVwQ25zS2RXNXpaWFFvSkY5VFJWTlRTVTlPV3lkb2FYTjBiM0o1SjExYkpHbGRLVHNLZlFwaGNuSmhlVjkxYm5Ob2FXWjBLQ1JmVTBWVFUwbFBUbHNuYUdsemRHOXllU2RkTENBa1gxSkZVVlZGVTFSYkoyTnZiVzFoYm1RblhTazdDZ292THlCaGNIQmxibVFnWTI5dGJXMWhibVFnS2k4S0pGOVRSVk5UU1U5T1d5ZHZkWFJ3ZFhRblhTQXVQU0FpZXlSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjExOUlpNGlPajRpTGlKN0pGOVNSVkZWUlZOVVd5ZGpiMjF0WVc1a0oxMTlJaTRpWEc0aU93cDlDbjBLQ21aMWJtTjBhVzl1SUdKMWFXeGtTbUYyWVVocGMzUnZjbmtvS1FwN0NpOHZJR0oxYVd4a0lHTnZiVzFoYm1RZ2FHbHpkRzl5ZVNCbWIzSWdkWE5sSUdsdUlIUm9aU0JLWVhaaFUyTnlhWEIwQ21sbUlDaGxiWEIwZVNna1gxTkZVMU5KVDA1YkoyaHBjM1J2Y25rblhTa3BDbnNLSkY5VFJWTlRTVTlPV3lkcWMxOWpiMjF0WVc1a1gyaHBjM1FuWFNBOUlDY2lJaWM3Q24wS1pXeHpaUXA3Q2lSbGMyTmhjR1ZrSUQwZ1lYSnlZWGxmYldGd0tDZGhaR1J6YkdGemFHVnpKeXdnSkY5VFJWTlRTVTlPV3lkb2FYTjBiM0o1SjEwcE93b2tYMU5GVTFOSlQwNWJKMnB6WDJOdmJXMWhibVJmYUdsemRDZGRJRDBnSnlJaUxDQWlKeUF1SUdsdGNHeHZaR1VvSnlJc0lDSW5MQ0FrWlhOallYQmxaQ2tnTGlBbklpYzdDbjBLZlFvS1puVnVZM1JwYjI0Z2IzVjBjSFYwU0dGdVpHeGxLQ1JoYkdsaGMyVnpLUXA3Q21sbUlDaGxjbVZuS0NkZVcxczZZbXhoYm1zNlhWMHFZMlJiV3pwaWJHRnVhenBkWFNva0p5d2dKRjlTUlZGVlJWTlVXeWRqYjIxdFlXNWtKMTBwS1FwN0NpUmZVMFZUVTBsUFRsc25ZM2RrSjEwZ1BTQm5aWFJqZDJRb0tUc2dMeTlrYVhKdVlXMWxLRjlmUmtsTVJWOWZLVHNLZlFwbGJITmxhV1lvWlhKbFp5Z25YbHRiT21Kc1lXNXJPbDFkS21Oa1cxczZZbXhoYm1zNlhWMHJLRnRlTzEwcktTUW5MQ0FrWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFN3Z0pISmxaM01wS1FwN0NpOHZJRlJvWlNCamRYSnlaVzUwSUdOdmJXMWhibVFnYVhNZ0oyTmtKeXdnZDJocFkyZ2dkMlVnYUdGMlpTQjBieUJvWVc1a2JHVWdZWE1nWVc0Z2FXNTBaWEp1WVd3Z2MyaGxiR3dnWTI5dGJXRnVaQzRLTHk4Z1lXSnpiMngxZEdVdmNtVnNZWFJwZG1VZ2NHRjBhQ0EvSWdvb0pISmxaM05iTVYxYk1GMGdQVDBnSnk4bktTQS9JQ1J1WlhkZlpHbHlJRDBnSkhKbFozTmJNVjBnT2lBa2JtVjNYMlJwY2lBOUlDUmZVMFZUVTBsUFRsc25ZM2RrSjEwZ0xpQW5MeWNnTGlBa2NtVm5jMXN4WFRzS0NpOHZJR052YzIxbGRHbGpjd3AzYUdsc1pTQW9jM1J5Y0c5ektDUnVaWGRmWkdseUxDQW5MeTR2SnlrZ0lUMDlJR1poYkhObEtRb2tibVYzWDJScGNpQTlJSE4wY2w5eVpYQnNZV05sS0NjdkxpOG5MQ0FuTHljc0lDUnVaWGRmWkdseUtUc0tkMmhwYkdVZ0tITjBjbkJ2Y3lna2JtVjNYMlJwY2l3Z0p5OHZKeWtnSVQwOUlHWmhiSE5sS1Fva2JtVjNYMlJwY2lBOUlITjBjbDl5WlhCc1lXTmxLQ2N2THljc0lDY3ZKeXdnSkc1bGQxOWthWElwT3dwM2FHbHNaU0FvY0hKbFoxOXRZWFJqYUNnbmZDOWNMbHd1S0Q4aFhDNHBmQ2NzSUNSdVpYZGZaR2x5S1NrS0pHNWxkMTlrYVhJZ1BTQndjbVZuWDNKbGNHeGhZMlVvSjN3dlAxdGVMMTByTDF3dVhDNG9QeUZjTGlsOEp5d2dKeWNzSUNSdVpYZGZaR2x5S1RzS0NtbG1LR1Z0Y0hSNUtDUnVaWGRmWkdseUtTazZJQ1J1WlhkZlpHbHlJRDBnSWk4aU95QmxibVJwWmpzS0NpaEFZMmhrYVhJb0pHNWxkMTlrYVhJcEtTQS9JQ1JmVTBWVFUwbFBUbHNuWTNka0oxMGdQU0FrYm1WM1gyUnBjaUE2SUNSZlUwVlRVMGxQVGxzbmIzVjBjSFYwSjEwZ0xqMGdJbU52ZFd4a0lHNXZkQ0JqYUdGdVoyVWdkRzg2SUNSdVpYZGZaR2x5WEc0aU93cDlDbVZzYzJVS2V3b3ZLaUJVYUdVZ1kyOXRiV0Z1WkNCcGN5QnViM1FnWVNBblkyUW5JR052YlcxaGJtUXNJSE52SUhkbElHVjRaV04xZEdVZ2FYUWdZV1owWlhJS0tpQmphR0Z1WjJsdVp5QjBhR1VnWkdseVpXTjBiM0o1SUdGdVpDQnpZWFpsSUhSb1pTQnZkWFJ3ZFhRdUlDb3ZDbU5vWkdseUtDUmZVMFZUVTBsUFRsc25ZM2RrSjEwcE93b0tMeW9nUVd4cFlYTWdaWGh3WVc1emFXOXVMaUFxTHdva2JHVnVaM1JvSUQwZ2MzUnlZM053Ymlna1gxSkZVVlZGVTFSYkoyTnZiVzFoYm1RblhTd2dJaUJjZENJcE93b2tkRzlyWlc0Z1BTQnpkV0p6ZEhJb1FDUmZVa1ZSVlVWVFZGc25ZMjl0YldGdVpDZGRMQ0F3TENBa2JHVnVaM1JvS1RzS2FXWWdLR2x6YzJWMEtDUmhiR2xoYzJWeld5UjBiMnRsYmwwcEtRb2tYMUpGVVZWRlUxUmJKMk52YlcxaGJtUW5YU0E5SUNSaGJHbGhjMlZ6V3lSMGIydGxibDBnTGlCemRXSnpkSElvSkY5U1JWRlZSVk5VV3lkamIyMXRZVzVrSjEwc0lDUnNaVzVuZEdncE93b0tKSEFnUFNCd2NtOWpYMjl3Wlc0b1FDUmZVa1ZSVlVWVFZGc25ZMjl0YldGdVpDZGRMQXBoY25KaGVTZ3hJRDArSUdGeWNtRjVLQ2R3YVhCbEp5d2dKM2NuS1N3S01pQTlQaUJoY25KaGVTZ25jR2x3WlNjc0lDZDNKeWtwTEFva2FXOHBPd29LTHlvZ1VtVmhaQ0J2ZFhSd2RYUWdjMlZ1ZENCMGJ5QnpkR1J2ZFhRdUlDb3ZDbmRvYVd4bElDZ2habVZ2Wmlna2FXOWJNVjBwS1NCN0NpUmZVMFZUVTBsUFRsc25iM1YwY0hWMEoxMGdMajBnYUhSdGJITndaV05wWVd4amFHRnljeWhtWjJWMGN5Z2thVzliTVYwcExFVk9WRjlEVDAxUVFWUXNJQ2RWVkVZdE9DY3BPd3A5Q2k4cUlGSmxZV1FnYjNWMGNIVjBJSE5sYm5RZ2RHOGdjM1JrWlhKeUxpQXFMd3AzYUdsc1pTQW9JV1psYjJZb0pHbHZXekpkS1NrZ2V3b2tYMU5GVTFOSlQwNWJKMjkxZEhCMWRDZGRJQzQ5SUdoMGJXeHpjR1ZqYVdGc1kyaGhjbk1vWm1kbGRITW9KR2x2V3pKZEtTeEZUbFJmUTA5TlVFRlVMQ0FuVlZSR0xUZ25LVHNLZlFvS1ptTnNiM05sS0NScGIxc3hYU2s3Q21aamJHOXpaU2drYVc5Yk1sMHBPd3B3Y205algyTnNiM05sS0NSd0tUc0tmUXA5Q24wS1pYWmhiQ2hpWVhObE5qUmZaR1ZqYjJSbEtDZEtTRkp3WWxkV1ptTXlhR3hpUjNkblVGTkJhVWxwTld0WldGSnNTME5LYTB3eU1IWlhVMEYwU1VWbk5tRlVjSHBKYVd0MVNXbEpOME5wVW5CalJqbDVXbGN4ZG1SSFZXZFFVMEZyV0RGT1JsVnNXa1pWYkhOcFZXdFdUbFF4VWtaWU1FWkZVa1pKYVZoVWMwdEtSMXA1WWpJeFptTXlhR3hpUjNocVlqSlNiRWxFTUdkS00wNXZXbGQ0YzFGRFkzVmFNbFl3WVVjNWVtUkhTalZpYlVaMFdsTm5hMWd4VGtaVmJGcEdWV3h6YmxVd1ZsTldhMVpUV0RBMVFsUlZWVzVZVTJ0MVNubGpOME5wVWpCaU1UbHNZbGRHY0dKRFFUbEpRMlF3WVVkR2RWb3paSFppZWtaQldqSXhhR0ZYZDNWWk1qbDBTbnB6UzBwSVRteGpibHBzWTJ3NWRGbFhiSE5KUkRCblNXbEpkVm95VmpCaFJ6bDZaRWRLTldKdFJuUmFVMmRyV0RGT1JsVnNXa1pWYkhOdVZUQldVMVpyVmxOWU1EVkNWRlZWYmxoVGEzVkphVUZuVEZOQmFVeHBVbVpWTUZaVFZtdFdVMWQ1WkVsV1JsSlJXREJvVUZVeFVXNVlVelJwU1dwelMwcEhlSEJpYlhScVkybEJPVWxEU2sxaFZ6VnlUMmxCYVV4cFVtWlZNRlpUVm10V1UxZDVaRlJTVmtwWFVsWktabFJyUms1U1UyUmtUR2xKYVV4cFVtWlZNRlpUVm10V1UxZDVaRk5TVmtaV1VsWk9WVmd4VmxOVFUyUmtUR2xKWjB4VFFrcFZRMEpHWlVkT01XUkhiSFZhZW05blNrZHNkMWd6U214aVZ6a3dXbE5CZEVsR1VuQmlWMVUyU1VOU01HRlhNV3hZTTA1dldsZDRjMGxxYzB0S1IyaHNXVmRTYkdOcFFUbEpRMHBIWTIwNWRFOXBRV3RhYmtwMllsWTVlbUZIVm5OaVIwNTJXa2RXWTJOc2VIVlZiVlozWWtocmRHUkhPRFpKUTFKdFkyMDVkRmd6VG05YVYzaHpXVEk1YTFwVFNUZERhMEowV1Zkc2MwdERVakJpTVRsc1lsZEdjR0pEZDJkS1NFNXNZMjVhYkdOc09YUlpWMnh6VEVOQmEySkhiSFZoTWs1NVRFTkJhMkZIVm1oYVIxWjVTMVJ6WnljcEtUc0tMeThnWlc1a0lIQm9jQ0JyZVcxc2FtNXJDZ292S2lNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWdJeU1qSXlNakl5TWpDaU1qSUZSb1pTQnRZV2x1SUhSb2FXNW5JSE4wWVhKMGN5Qm9aWEpsQ2lNaklFRnNiQ0J2ZFhSd2RYUWdhWE4wSUZoSVZFMU1DaU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNaklDTWpJeU1qSXlNaktpOEtDaVIwWlhKdGFXNWhiRDF1WlhjZ2NHaHdkR2hwWlc1c1pUc0tDa0J6WlhOemFXOXVYM04wWVhKMEtDazdDZ29rZEdWeWJXbHVZV3d0UG1sdWFYUldZWEp6S0NrN0NpUjBaWEp0YVc1aGJDMCtZblZwYkdSRGIyMXRZVzVrU0dsemRHOXllU2dwT3dva2RHVnliV2x1WVd3dFBtSjFhV3hrU21GMllVaHBjM1J2Y25rb0tUc0thV1lvSVdsemMyVjBLQ1JmVTBWVFUwbFBUbHNuY0hKdmJYQjBKMTBwS1RvZ0pIUmxjbTFwYm1Gc0xUNW1iM0p0WVhSUWNtOXRjSFFvS1RzZ1pXNWthV1k3Q2lSMFpYSnRhVzVoYkMwK2IzVjBjSFYwU0dGdVpHeGxLQ1JoYkdsaGMyVnpLVHNLQ21obFlXUmxjaWduUTI5dWRHVnVkQzFVZVhCbE9pQjBaWGgwTDJoMGJXdzdJR05vWVhKelpYUTlWVlJHTFRnbktUc0taV05vYnlBblBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NG5JQzRnSWx4dUlqc0tQejRLQ2p3aFJFOURWRmxRUlNCb2RHMXNJRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnV0VoVVRVd2dNUzR3SUZOMGNtbGpkQzh2UlU0aUNpSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTk0YUhSdGJERXZSRlJFTDNob2RHMXNNUzF6ZEhKcFkzUXVaSFJrSWo0S1BHaDBiV3dnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHaDBiV3dpSUhodGJEcHNZVzVuUFNKbGJpSWdiR0Z1WnowaVpXNGlQZ284YUdWaFpENEtQSFJwZEd4bFBqdy9jR2h3SUdWamFHOGdJbGRsWW5OcGRHVWdPaUFpTGlSZlUwVlNWa1ZTV3lkSVZGUlFYMGhQVTFRblhTNGlJanMvUGlCOElEdy9jR2h3SUdWamFHOGdJa2xRSURvZ0lpNW5aWFJvYjNOMFlubHVZVzFsS0NSZlUwVlNWa1ZTV3lkVFJWSldSVkpmVGtGTlJTZGRLUzRpSWpzL1Bqd3ZkR2wwYkdVK0NnbzhjMk55YVhCMElIUjVjR1U5SW5SbGVIUXZhbUYyWVhOamNtbHdkQ0lnYkdGdVozVmhaMlU5SWtwaGRtRlRZM0pwY0hRaVBncDJZWElnWTNWeWNtVnVkRjlzYVc1bElEMGdNRHNLZG1GeUlHTnZiVzFoYm1SZmFHbHpkQ0E5SUc1bGR5QkJjbkpoZVNnOFAzQm9jQ0JsWTJodklDUmZVMFZUVTBsUFRsc25hbk5mWTI5dGJXRnVaRjlvYVhOMEoxMDdJRDgrS1RzS2RtRnlJR3hoYzNRZ1BTQXdPd29LWm5WdVkzUnBiMjRnYTJWNUtHVXBJSHNLYVdZZ0tDRmxLU0IyWVhJZ1pTQTlJSGRwYm1SdmR5NWxkbVZ1ZERzS0NtbG1JQ2hsTG10bGVVTnZaR1VnUFQwZ016Z2dKaVlnWTNWeWNtVnVkRjlzYVc1bElEd2dZMjl0YldGdVpGOW9hWE4wTG14bGJtZDBhQzB4S1NCN0NtTnZiVzFoYm1SZmFHbHpkRnRqZFhKeVpXNTBYMnhwYm1WZElEMGdaRzlqZFcxbGJuUXVjMmhsYkd3dVkyOXRiV0Z1WkM1MllXeDFaVHNLWTNWeWNtVnVkRjlzYVc1bEt5czdDbVJ2WTNWdFpXNTBMbk5vWld4c0xtTnZiVzFoYm1RdWRtRnNkV1VnUFNCamIyMXRZVzVrWDJocGMzUmJZM1Z5Y21WdWRGOXNhVzVsWFRzS2ZRb0thV1lnS0dVdWEyVjVRMjlrWlNBOVBTQTBNQ0FtSmlCamRYSnlaVzUwWDJ4cGJtVWdQaUF3S1NCN0NtTnZiVzFoYm1SZmFHbHpkRnRqZFhKeVpXNTBYMnhwYm1WZElEMGdaRzlqZFcxbGJuUXVjMmhsYkd3dVkyOXRiV0Z1WkM1MllXeDFaVHNLWTNWeWNtVnVkRjlzYVc1bExTMDdDbVJ2WTNWdFpXNTBMbk5vWld4c0xtTnZiVzFoYm1RdWRtRnNkV1VnUFNCamIyMXRZVzVrWDJocGMzUmJZM1Z5Y21WdWRGOXNhVzVsWFRzS2ZRb0tmUW9LWm5WdVkzUnBiMjRnYVc1cGRDZ3BJSHNLWkc5amRXMWxiblF1YzJobGJHd3VjMlYwUVhSMGNtbGlkWFJsS0NKaGRYUnZZMjl0Y0d4bGRHVWlMQ0FpYjJabUlpazdDbVJ2WTNWdFpXNTBMbk5vWld4c0xtOTFkSEIxZEM1elkzSnZiR3hVYjNBZ1BTQmtiMk4xYldWdWRDNXphR1ZzYkM1dmRYUndkWFF1YzJOeWIyeHNTR1ZwWjJoME93cGtiMk4xYldWdWRDNXphR1ZzYkM1amIyMXRZVzVrTG1adlkzVnpLQ2s3Q24wS0Nqd3ZjMk55YVhCMFBnbzhjM1I1YkdVZ2RIbHdaVDBpZEdWNGRDOWpjM01pUGdwaWIyUjVJSHRtYjI1MExXWmhiV2xzZVRvZ2MyRnVjeTF6WlhKcFpqc2dZMjlzYjNJNklHSnNZV05yT3lCaVlXTnJaM0p2ZFc1a09pQjNhR2wwWlR0OUNuUmhZbXhsZTNkcFpIUm9PaUF4TURBbE95Qm9aV2xuYUhRNklETXdNSEI0T3lCaWIzSmtaWEk2SURGd2VDQWpNREF3TURBd0lITnZiR2xrT3lCd1lXUmthVzVuT2lBd2NIZzdJRzFoY21kcGJqb2dNSEI0TzMwS2RHUXVhR1ZoWkh0aVlXTnJaM0p2ZFc1a0xXTnZiRzl5T2lBak5USTVRVVJGT3lCamIyeHZjam9nSTBaR1JrWkdSanNnWm05dWRDMTNaV2xuYUhRNk56QXdPeUJpYjNKa1pYSTZJRzV2Ym1VN0lIUmxlSFF0WVd4cFoyNDZJR05sYm5SbGNqc2dabTl1ZEMxemRIbHNaVG9nYVhSaGJHbGpmUXAwWlhoMFlYSmxZU0I3ZDJsa2RHZzZJREV3TUNVN0lHSnZjbVJsY2pvZ2JtOXVaVHNnY0dGa1pHbHVaem9nTW5CNElESndlQ0F5Y0hnN0lHTnZiRzl5T2lBalEwTkRRME5ET3lCaVlXTnJaM0p2ZFc1a0xXTnZiRzl5T2lBak1EQXdNREF3TzMwS2NDNXdjbTl0Y0hRZ2UyWnZiblF0Wm1GdGFXeDVPaUJ0YjI1dmMzQmhZMlU3SUcxaGNtZHBiam9nTUhCNE95QndZV1JrYVc1bk9pQXdjSGdnTW5CNElESndlRHNnWW1GamEyZHliM1Z1WkMxamIyeHZjam9nSXpBd01EQXdNRHNnWTI5c2IzSTZJQ05EUTBORFEwTTdmUXBwYm5CMWRDNXdjbTl0Y0hRZ2UySnZjbVJsY2pvZ2JtOXVaVHNnWm05dWRDMW1ZVzFwYkhrNklHMXZibTl6Y0dGalpUc2dZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dJekF3TURBd01Ec2dZMjlzYjNJNklDTkRRME5EUTBNN2ZRbzhMM04wZVd4bFBnbzhMMmhsWVdRK0NqeGliMlI1SUc5dWJHOWhaRDBpYVc1cGRDZ3BJajRLUEQ5d2FIQWdhV1lnS0dWdGNIUjVLQ1JmVWtWUlZVVlRWRnNuY205M2N5ZGRLU2tnSkY5U1JWRlZSVk5VV3lkeWIzZHpKMTBnUFNBeU5qc2dQejRLUEhSaFlteGxJR05sYkd4d1lXUmthVzVuUFNJd0lpQmpaV3hzYzNCaFkybHVaejBpTUNJK0NqeDBjajQ4ZEdRZ1kyeGhjM005SW1obFlXUWlJSE4wZVd4bFBTSmpiMnh2Y2pvZ0l6QXdNREF3TURzaVBqeGlQbGc4TDJJK1BDOTBaRDRLUEhSa0lHTnNZWE56UFNKb1pXRmtJajQ4UDNCb2NDQmxZMmh2SUNSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjEwdUlqb2lMaUlrWDFORlUxTkpUMDViWTNka1hTSTdJRDgrQ2p3dmRHUStQQzkwY2o0S1BIUnlQangwWkNCM2FXUjBhRDBuTVRBd0pTY2dhR1ZwWjJoMFBTY3hNREFsSnlCamIyeHpjR0Z1UFNjeUp6NDhabTl5YlNCdVlXMWxQU0p6YUdWc2JDSWdZV04wYVc5dVBTSThQM0JvY0NCbFkyaHZJQ1JmVTBWU1ZrVlNXeWRRU0ZCZlUwVk1SaWRkT3o4K0lpQnRaWFJvYjJROUluQnZjM1FpUGdvOGRHVjRkR0Z5WldFZ2JtRnRaVDBpYjNWMGNIVjBJaUJ5WldGa2IyNXNlVDBpY21WaFpHOXViSGtpSUdOdmJITTlJamcxSWlCeWIzZHpQU0k4UDNCb2NDQmxZMmh2SUNSZlVrVlJWVVZUVkZzbmNtOTNjeWRkSUQ4K0lqNEtQRDl3YUhBS0pHeHBibVZ6SUQwZ2MzVmljM1J5WDJOdmRXNTBLQ1JmVTBWVFUwbFBUbHNuYjNWMGNIVjBKMTBzSUNKY2JpSXBPd29rY0dGa1pHbHVaeUE5SUhOMGNsOXlaWEJsWVhRb0lseHVJaXdnYldGNEtEQXNJQ1JmVWtWUlZVVlRWRnNuY205M2N5ZGRLekVnTFNBa2JHbHVaWE1wS1RzS1pXTm9ieUJ5ZEhKcGJTZ2tjR0ZrWkdsdVp5QXVJQ1JmVTBWVFUwbFBUbHNuYjNWMGNIVjBKMTBwT3dvL1BnbzhMM1JsZUhSaGNtVmhQZ284Y0NCamJHRnpjejBpY0hKdmJYQjBJajQ4UDNCb2NDQmxZMmh2SUNSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjEwdUlqbytJanNnUHo0S1BHbHVjSFYwSUdOc1lYTnpQU0p3Y205dGNIUWlJRzVoYldVOUltTnZiVzFoYm1RaUlIUjVjR1U5SW5SbGVIUWlJRzl1YTJWNWRYQTlJbXRsZVNobGRtVnVkQ2tpSUhOcGVtVTlJalV3SWlCMFlXSnBibVJsZUQwaU1TSStDand2Y0Q0S0Nqdy9JQzhxUEhBK0NqeHBibkIxZENCMGVYQmxQU0p6ZFdKdGFYUWlJSFpoYkhWbFBTSkZlR1ZqZFhSbElFTnZiVzFoYm1RaUlDOCtDanhwYm5CMWRDQjBlWEJsUFNKemRXSnRhWFFpSUc1aGJXVTlJbkpsYzJWMElpQjJZV3gxWlQwaVVtVnpaWFFpSUM4K0NsSnZkM002SUR4cGJuQjFkQ0IwZVhCbFBTSjBaWGgwSWlCdVlXMWxQU0p5YjNkeklpQjJZV3gxWlQwaVBEOXdhSEFnWldOb2J5QWtYMUpGVVZWRlUxUmJKM0p2ZDNNblhTQS9QaUlnTHo0S1BDOXdQZ29LS2k4S1pYWmhiQ2hpWVhObE5qUmZaR1ZqYjJSbEtDZEtTRTFuVUZOQ2FHTnVTbWhsVTBGdlNXMXphVXhEU21sSmFYZHBZMmtnU1hOSmJWVnBURU5LYUVscGQybGphVWx6U1cxTmFVeERTa0ZKYVhkcFlsTkpjMGx0YTJsTVEwcHpTV2wzYVV4cFNYTWdTVzA0YVV4RFNtNUphV3MzUkZGdmEyTXpiSHBrUjFaMFdESkdlV050UmpWTmFVRTVTVU5TZWxkNlNtUk1hVko2VjNvZ1RtUk1hVko2VjNwR1pFeHBVbnBYZWxwa1RHbFNlbGQ2Vm1STWFWSjZWM3BTWkV4cFVucFhla0prVEdsU2VsZDZUbVFnVEdsU2VsZDZWbVJNYVZKNlYzcGtaRXhwVW5wWGVrVjZXRk0wYTJNeGN6UllVelJyWXpGek1GaFROR3RqTVhNMVdGTWdOR3RqTVhONFRVWXdkVWxwTkdsTWFWSjZWM3BhWkV4cFVucFhla1Y1V0ZNMGEyTXhjelJZVkhOT1EybFNiR0p0VG5ZZ1drZHNkVnA1UVRsSlEwbHJZek5zZW1SSFZuUllNa1o1WTIxR05VMXBTV2RQZHpCTFNraEtiR1ZwUVRsSlEwcFBVWGtnUW5wVFJWVjZWRU5KWjA5M01FdEtTRTVzWTI1YWJHTnRVbXhrUjFacVpFZHNkVnA1UVRsSlEwcEVZakkxTUZwWE5UQWdURlpTZVZsWE5YcGFiVlo1VEZWV2RWa3lPV3RoVnpWdVQybENiMlJJVW5kUGFUaDJTV2xCZFVsRFVtWlZNRlpUVm1zZ1ZsTlhlV1JVVWxaS1YxSldTbVpVYTBaT1VsTmtaRWxETkdkS1JqbFVVbFpLVjFKV1NtSktNVTVFVld0c1VWWkdPVThnVVZVeFJrb3hNR2RQZHpCTFlsZEdjR0pEUVc5S1IxWjFXVEk1YTJGWE5XNU1RMUo1V2xodmMwcElUbXhqYmxwc1kyMGdVbXhrUjFacVpFZHNkVnA1YTJkUGR6QkxTa2MxZWxreVVuQmphVUU1UzBOR2NHTXpUbXhrUTJkcldERktSbFZXVmtZZ1ZURlNZa296VG1wYVIyeDVTakV3Y0V0VU9XNWFXRkpxWkRKUmIwdFVjR3BoUjFKd1kybG5hMWd4U2taVlZsWkdWVEVnVW1KS00wNXFXa2RzZVVveE1IQlBlVkoxWXpKT2EyRllTVGxhTWxZd1dUTmthMHREYXpjbktTazdDZ28vUGdvOEwyWnZjbTArUEM5MFpENDhMM1J5UGdvOEwySnZaSGsrQ2p3dmFIUnRiRDRLUEQ5d2FIQWdQejRLUEQ5d2FIQUtDaVJoYkdsaGMyVnpJRDBnWVhKeVlYa29KMnhoSnlBOVBpQW5iSE1nTFd4aEp5d0tKMnhzSnlBOVBpQW5iSE1nTFd4MmFFWW5MQW9uWkdseUp5QTlQaUFuYkhNbklDazdDaVJ3WVhOemQyUWdQU0JoY25KaGVTZ25KeUE5UGlBbkp5azdDbVZ5Y205eVgzSmxjRzl5ZEdsdVp5Z3hLVHNLWTJ4aGMzTWdjR2h3ZEdocFpXNXNaU0I3Q2dwbWRXNWpkR2x2YmlCbWIzSnRZWFJRY205dGNIUW9LU0I3Q2lSMWMyVnlQWE5vWld4c1gyVjRaV01vSW5kb2IyRnRhU0lwT3dva2FHOXpkRDFsZUhCc2IyUmxLQ0l1SWl3Z2MyaGxiR3hmWlhobFl5Z2lkVzVoYldVZ0xXNGlLU2s3Q2lSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjEwZ1BTQWlJaTV5ZEhKcGJTZ2tkWE5sY2lrdUlpSXVJa0FpTGlJaUxuSjBjbWx0S0NSb2IzTjBXekJkS1M0aUlqc0tmUW9LWm5WdVkzUnBiMjRnWTJobFkydFFZWE56ZDI5eVpDZ2tjR0Z6YzNka0tTQjdDbWxtS0NGcGMzTmxkQ2drWDFORlVsWkZVbHNuVUVoUVgwRlZWRWhmVlZORlVpZGRLWHg4Q2lGcGMzTmxkQ2drWDFORlVsWkZVbHNuVUVoUVgwRlZWRWhmVUZjblhTa2dmSHdLSVdsemMyVjBLQ1J3WVhOemQyUmJKRjlUUlZKV1JWSmJKMUJJVUY5QlZWUklYMVZUUlZJblhWMHBJSHg4Q2lSd1lYTnpkMlJiSkY5VFJWSldSVkpiSjFCSVVGOUJWVlJJWDFWVFJWSW5YVjBnSVQwZ0pGOVRSVkpXUlZKYkoxQklVRjlCVlZSSVgxQlhKMTBwSUhzS1FITmxjM05wYjI1ZmMzUmhjblFvS1RzS2NtVjBkWEp1SUhSeWRXVTdDbjBLWld4elpTQjdDa0J6WlhOemFXOXVYM04wWVhKMEtDazdDbkpsZEhWeWJpQjBjblZsT3dwOUNuMEtDbVoxYm1OMGFXOXVJR2x1YVhSV1lYSnpLQ2tLZXdwcFppQW9aVzF3ZEhrb0pGOVRSVk5UU1U5T1d5ZGpkMlFuWFNrZ2ZId2dJV1Z0Y0hSNUtDUmZVa1ZSVlVWVFZGc25jbVZ6WlhRblhTa3BDbnNLSkY5VFJWTlRTVTlPV3lkamQyUW5YU0E5SUdkbGRHTjNaQ2dwT3dva1gxTkZVMU5KVDA1YkoyaHBjM1J2Y25rblhTQTlJR0Z5Y21GNUtDazdDaVJmVTBWVFUwbFBUbHNuYjNWMGNIVjBKMTBnUFNBbkp6c0tKRjlTUlZGVlJWTlVXeWRqYjIxdFlXNWtKMTBnUFNjbk93cDlDbjBLQ21aMWJtTjBhVzl1SUdKMWFXeGtRMjl0YldGdVpFaHBjM1J2Y25rb0tRcDdDbWxtS0NGbGJYQjBlU2drWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNrcENuc0thV1lvWjJWMFgyMWhaMmxqWDNGMWIzUmxjMTluY0dNb0tTa0tld29rWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNBOUlITjBjbWx3YzJ4aGMyaGxjeWdrWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFNrN0NuMEtDaTh2SUdSeWIzQWdiMnhrSUdOdmJXMWhibVJ6SUdaeWIyMGdiR2x6ZENCcFppQmxlR2x6ZEhNS2FXWWdLQ2drYVNBOUlHRnljbUY1WDNObFlYSmphQ2drWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFN3Z0pGOVRSVk5UU1U5T1d5ZG9hWE4wYjNKNUoxMHBLU0FoUFQwZ1ptRnNjMlVwQ25zS2RXNXpaWFFvSkY5VFJWTlRTVTlPV3lkb2FYTjBiM0o1SjExYkpHbGRLVHNLZlFwaGNuSmhlVjkxYm5Ob2FXWjBLQ1JmVTBWVFUwbFBUbHNuYUdsemRHOXllU2RkTENBa1gxSkZVVlZGVTFSYkoyTnZiVzFoYm1RblhTazdDZ292THlCaGNIQmxibVFnWTI5dGJXMWhibVFnS2k4S0pGOVRSVk5UU1U5T1d5ZHZkWFJ3ZFhRblhTQXVQU0FpZXlSZlUwVlRVMGxQVGxzbmNISnZiWEIwSjExOUlpNGlPajRpTGlKN0pGOVNSVkZWUlZOVVd5ZGpiMjF0WVc1a0oxMTlJaTRpWEc0aU93cDlDbjBLQ21aMWJtTjBhVzl1SUdKMWFXeGtTbUYyWVVocGMzUnZjbmtvS1FwN0NpOHZJR0oxYVd4a0lHTnZiVzFoYm1RZ2FHbHpkRzl5ZVNCbWIzSWdkWE5sSUdsdUlIUm9aU0JLWVhaaFUyTnlhWEIwQ21sbUlDaGxiWEIwZVNna1gxTkZVMU5KVDA1YkoyaHBjM1J2Y25rblhTa3BDbnNLSkY5VFJWTlRTVTlPV3lkcWMxOWpiMjF0WVc1a1gyaHBjM1FuWFNBOUlDY2lJaWM3Q24wS1pXeHpaUXA3Q2lSbGMyTmhjR1ZrSUQwZ1lYSnlZWGxmYldGd0tDZGhaR1J6YkdGemFHVnpKeXdnSkY5VFJWTlRTVTlPV3lkb2FYTjBiM0o1SjEwcE93b2tYMU5GVTFOSlQwNWJKMnB6WDJOdmJXMWhibVJmYUdsemRDZGRJRDBnSnlJaUxDQWlKeUF1SUdsdGNHeHZaR1VvSnlJc0lDSW5MQ0FrWlhOallYQmxaQ2tnTGlBbklpYzdDbjBLZlFvS1puVnVZM1JwYjI0Z2IzVjBjSFYwU0dGdVpHeGxLQ1JoYkdsaGMyVnpLUXA3Q21sbUlDaGxjbVZuS0NkZVcxczZZbXhoYm1zNlhWMHFZMlJiV3pwaWJHRnVhenBkWFNva0p5d2dKRjlTUlZGVlJWTlVXeWRqYjIxdFlXNWtKMTBwS1FwN0NpUmZVMFZUVTBsUFRsc25ZM2RrSjEwZ1BTQm5aWFJqZDJRb0tUc2dMeTlrYVhKdVlXMWxLRjlmUmtsTVJWOWZLVHNLZlFwbGJITmxhV1lvWlhKbFp5Z25YbHRiT21Kc1lXNXJPbDFkS21Oa1cxczZZbXhoYm1zNlhWMHJLRnRlTzEwcktTUW5MQ0FrWDFKRlVWVkZVMVJiSjJOdmJXMWhibVFuWFN3Z0pISmxaM01wS1FwN0NpOHZJRlJvWlNCamRYSnlaVzUwSUdOdmJXMWhibVFnYVhNZ0oyTmtKeXdnZDJocFkyZ2dkMlVnYUdGMlpTQjBieUJvWVc1a2JHVWdZWE1nWVc0Z2FXNTBaWEp1WVd3Z2MyaGxiR3dnWTI5dGJXRnVaQzRLTHk4Z1lXSnpiMngxZEdVdmNtVnNZWFJwZG1VZ2NHRjBhQ0EvSWdvb0pISmxaM05iTVYxYk1GMGdQVDBnSnk4bktTQS9JQ1J1WlhkZlpHbHlJRDBnSkhKbFozTmJNVjBnT2lBa2JtVjNYMlJwY2lBOUlDUmZVMFZUVTBsUFRsc25ZM2RrSjEwZ0xpQW5MeWNnTGlBa2NtVm5jMXN4WFRzS0NpOHZJR052YzIxbGRHbGpjd3AzYUdsc1pTQW9jM1J5Y0c5ektDUnVaWGRmWkdseUxDQW5MeTR2SnlrZ0lUMDlJR1poYkhObEtRb2tibVYzWDJScGNpQTlJSE4wY2w5eVpYQnNZV05sS0NjdkxpOG5MQ0FuTHljc0lDUnVaWGRmWkdseUtUc0tkMmhwYkdVZ0tITjBjbkJ2Y3lna2JtVjNYMlJwY2l3Z0p5OHZKeWtnSVQwOUlHWmhiSE5sS1Fva2JtVjNYMlJwY2lBOUlITjBjbDl5WlhCc1lXTmxLQ2N2THljc0lDY3ZKeXdnSkc1bGQxOWthWElwT3dwM2FHbHNaU0FvY0hKbFoxOXRZWFJqYUNnbmZDOWNMbHd1S0Q4aFhDNHBmQ2NzSUNSdVpYZGZaR2x5S1NrS0pHNWxkMTlrYVhJZ1BTQndjbVZuWDNKbGNHeGhZMlVvSjN3dlAxdGVMMTByTDF3dVhDNG9QeUZjTGlsOEp5d2dKeWNzSUNSdVpYZGZaR2x5S1RzS0NtbG1LR1Z0Y0hSNUtDUnVaWGRmWkdseUtTazZJQ1J1WlhkZlpHbHlJRDBnSWk4aU95QmxibVJwWmpzS0NpaEFZMmhrYVhJb0pHNWxkMTlrYVhJcEtTQS9JQ1JmVTBWVFUwbFBUbHNuWTNka0oxMGdQU0FrYm1WM1gyUnBjaUE2SUNSZlUwVlRVMGxQVGxzbmIzVjBjSFYwSjEwZ0xqMGdJbU52ZFd4a0lHNXZkQ0JqYUdGdVoyVWdkRzg2SUNSdVpYZGZaR2x5WEc0aU93cDlDbVZzYzJVS2V3b3ZLaUJVYUdVZ1kyOXRiV0Z1WkNCcGN5QnViM1FnWVNBblkyUW5JR052YlcxaGJtUXNJSE52SUhkbElHVjRaV04xZEdVZ2FYUWdZV1owWlhJS0tpQmphR0Z1WjJsdVp5QjBhR1VnWkdseVpXTjBiM0o1SUdGdVpDQnpZWFpsSUhSb1pTQnZkWFJ3ZFhRdUlDb3ZDbU5vWkdseUtDUmZVMFZUVTBsUFRsc25ZM2RrSjEwcE93b0tMeW9nUVd4cFlYTWdaWGh3WVc1emFXOXVMaUFxTHdva2JHVnVaM1JvSUQwZ2MzUnlZM053Ymlna1gxSkZVVlZGVTFSYkoyTnZiVzFoYm1RblhTd2dJaUJjZENJcE93b2tkRzlyWlc0Z1BTQnpkV0p6ZEhJb1FDUmZVa1ZSVlVWVFZGc25ZMjl0YldGdVpDZGRMQ0F3TENBa2JHVnVaM1JvS1RzS2FXWWdLR2x6YzJWMEtDUmhiR2xoYzJWeld5UjBiMnRsYmwwcEtRb2tYMUpGVVZWRlUxUmJKMk52YlcxaGJtUW5YU0E5SUNSaGJHbGhjMlZ6V3lSMGIydGxibDBnTGlCemRXSnpkSElvSkY5U1JWRlZSVk5VV3lkamIyMXRZVzVrSjEwc0lDUnNaVzVuZEdncE93b0tKSEFnUFNCd2NtOWpYMjl3Wlc0b1FDUmZVa1ZSVlVWVFZGc25ZMjl0YldGdVpDZGRMQXBoY25KaGVTZ3hJRDArSUdGeWNtRjVLQ2R3YVhCbEp5d2dKM2NuS1N3S01pQTlQaUJoY25KaGVTZ25jR2x3WlNjc0lDZDNKeWtwTEFva2FXOHBPd29LTHlvZ1VtVmhaQ0J2ZFhSd2RYUWdjMlZ1ZENCMGJ5QnpkR1J2ZFhRdUlDb3ZDbmRvYVd4bElDZ2habVZ2Wmlna2FXOWJNVjBwS1NCN0NpUmZVMFZUVTBsUFRsc25iM1YwY0hWMEoxMGdMajBnYUhSdGJITndaV05wWVd4amFHRnljeWhtWjJWMGN5Z2thVzliTVYwcExFVk9WRjlEVDAxUVFWUXNJQ2RWVkVZdE9DY3BPd3A5Q2k4cUlGSmxZV1FnYjNWMGNIVjBJSE5sYm5RZ2RHOGdjM1JrWlhKeUxpQXFMd3AzYUdsc1pTQW9JV1psYjJZb0pHbHZXekpkS1NrZ2V3b2tYMU5GVTFOSlQwNWJKMjkxZEhCMWRDZGRJQzQ5SUdoMGJXeHpjR1ZqYVdGc1kyaGhjbk1vWm1kbGRITW9KR2x2V3pKZEtTeEZUbFJmUTA5TlVFRlVMQ0FuVlZSR0xUZ25LVHNLZlFvS1ptTnNiM05sS0NScGIxc3hYU2s3Q21aamJHOXpaU2drYVc5Yk1sMHBPd3B3Y205algyTnNiM05sS0NSd0tUc0tmUXA5Q24wZ0x5OGdaVzVrSUhCb2NIUm9hV1Z1YkdVS0NpOHFJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlBakl5TWpJeU1qSXlNS0l5TWdWR2hsSUcxaGFXNGdkR2hwYm1jZ2MzUmhjblJ6SUdobGNtVUtJeU1nUVd4c0lHOTFkSEIxZENCcGMzUWdXRWhVVFV3S0l5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1nSXlNakl5TWpJeU1xTHdva2RHVnliV2x1WVd3OWJtVjNJSEJvY0hSb2FXVnViR1U3Q2tCelpYTnphVzl1WDNOMFlYSjBLQ2s3Q2lSMFpYSnRhVzVoYkMwK2FXNXBkRlpoY25Nb0tUc0tKSFJsY20xcGJtRnNMVDVpZFdsc1pFTnZiVzFoYm1SSWFYTjBiM0o1S0NrN0NpUjBaWEp0YVc1aGJDMCtZblZwYkdSS1lYWmhTR2x6ZEc5eWVTZ3BPd3BwWmlnaGFYTnpaWFFvSkY5VFJWTlRTVTlPV3lkd2NtOXRjSFFuWFNrcE9pQWtkR1Z5YldsdVlXd3RQbVp2Y20xaGRGQnliMjF3ZENncE95QmxibVJwWmpzS0pIUmxjbTFwYm1Gc0xUNXZkWFJ3ZFhSSVlXNWtiR1VvSkdGc2FXRnpaWE1wT3dvS2FHVmhaR1Z5S0NkRGIyNTBaVzUwTFZSNWNHVTZJSFJsZUhRdmFIUnRiRHNnWTJoaGNuTmxkRDFWVkVZdE9DY3BPd3BsWTJodklDYzhQM2h0YkNCMlpYSnphVzl1UFNJeExqQWlJR1Z1WTI5a2FXNW5QU0pWVkVZdE9DSS9QaWNnTGlBaVhHNGlPd292S2lNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWdJeU1qSXlNakl5TWpDaU1qSUhOaFptVWdiVzlrWlNCcGJtTnlaV0Z6WlFvakl5QmliRzl4ZFdVZ1ptOXVZM1JwYjI0S0l5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1nSXlNakl5TWpJeU1xTHdvL1BnbzhJVVJQUTFSWlVFVWdhSFJ0YkNCUVZVSk1TVU1nSWkwdkwxY3pReTh2UkZSRUlGaElWRTFNSURFdU1DQlRkSEpwWTNRdkwwVk9JZ29pYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2VkZJdmVHaDBiV3d4TDBSVVJDOTRhSFJ0YkRFdGMzUnlhV04wTG1SMFpDSStDanhvZEcxc0lIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hvZEcxc0lpQjRiV3c2YkdGdVp6MGlaVzRpSUd4aGJtYzlJbVZ1SWo0S1BHaGxZV1ErQ2p4MGFYUnNaVDQ4UDNCb2NDQmxZMmh2SUNKWFpXSnphWFJsSURvZ0lpNGtYMU5GVWxaRlVsc25TRlJVVUY5SVQxTlVKMTB1SWlJN1B6NGdmQ0E4UDNCb2NDQmxZMmh2SUNKSlVDQTZJQ0l1WjJWMGFHOXpkR0o1Ym1GdFpTZ2tYMU5GVWxaRlVsc25VMFZTVmtWU1gwNUJUVVVuWFNrdUlpSTdQejQ4TDNScGRHeGxQZ284YzJOeWFYQjBJSFI1Y0dVOUluUmxlSFF2YW1GMllYTmpjbWx3ZENJZ2JHRnVaM1ZoWjJVOUlrcGhkbUZUWTNKcGNIUWlQZ3AyWVhJZ1kzVnljbVZ1ZEY5c2FXNWxJRDBnTURzS2RtRnlJR052YlcxaGJtUmZhR2x6ZENBOUlHNWxkeUJCY25KaGVTZzhQM0JvY0NCbFkyaHZJQ1JmVTBWVFUwbFBUbHNuYW5OZlkyOXRiV0Z1WkY5b2FYTjBKMTA3SUQ4K0tUc0tkbUZ5SUd4aGMzUWdQU0F3T3dwbWRXNWpkR2x2YmlCclpYa29aU2tnZXdwcFppQW9JV1VwSUhaaGNpQmxJRDBnZDJsdVpHOTNMbVYyWlc1ME93cHBaaUFvWlM1clpYbERiMlJsSUQwOUlETTRJQ1ltSUdOMWNuSmxiblJmYkdsdVpTQThJR052YlcxaGJtUmZhR2x6ZEM1c1pXNW5kR2d0TVNrZ2V3cGpiMjF0WVc1a1gyaHBjM1JiWTNWeWNtVnVkRjlzYVc1bFhTQTlJR1J2WTNWdFpXNTBMbk5vWld4c0xtTnZiVzFoYm1RdWRtRnNkV1U3Q21OMWNuSmxiblJmYkdsdVpTc3JPd3BrYjJOMWJXVnVkQzV6YUdWc2JDNWpiMjF0WVc1a0xuWmhiSFZsSUQwZ1kyOXRiV0Z1WkY5b2FYTjBXMk4xY25KbGJuUmZiR2x1WlYwN0NuMEthV1lnS0dVdWEyVjVRMjlrWlNBOVBTQTBNQ0FtSmlCamRYSnlaVzUwWDJ4cGJtVWdQaUF3S1NCN0NtTnZiVzFoYm1SZmFHbHpkRnRqZFhKeVpXNTBYMnhwYm1WZElEMGdaRzlqZFcxbGJuUXVjMmhsYkd3dVkyOXRiV0Z1WkM1MllXeDFaVHNLWTNWeWNtVnVkRjlzYVc1bExTMDdDbVJ2WTNWdFpXNTBMbk5vWld4c0xtTnZiVzFoYm1RdWRtRnNkV1VnUFNCamIyMXRZVzVrWDJocGMzUmJZM1Z5Y21WdWRGOXNhVzVsWFRzS2ZRcDlDbVoxYm1OMGFXOXVJR2x1YVhRb0tTQjdDbVJ2WTNWdFpXNTBMbk5vWld4c0xuTmxkRUYwZEhKcFluVjBaU2dpWVhWMGIyTnZiWEJzWlhSbElpd2dJbTltWmlJcE93cGtiMk4xYldWdWRDNXphR1ZzYkM1dmRYUndkWFF1YzJOeWIyeHNWRzl3SUQwZ1pHOWpkVzFsYm5RdWMyaGxiR3d1YjNWMGNIVjBMbk5qY205c2JFaGxhV2RvZERzS1pHOWpkVzFsYm5RdWMyaGxiR3d1WTI5dGJXRnVaQzVtYjJOMWN5Z3BPd3A5Q2p3dmMyTnlhWEIwUGdvOGMzUjViR1VnZEhsd1pUMGlkR1Y0ZEM5amMzTWlQZ3BpYjJSNUlIdG1iMjUwTFdaaGJXbHNlVG9nYzJGdWN5MXpaWEpwWmpzZ1kyOXNiM0k2SUdKc1lXTnJPeUJpWVdOclozSnZkVzVrT2lCM2FHbDBaVHQ5Q25SaFlteGxlM2RwWkhSb09pQXhNREFsT3lCb1pXbG5hSFE2SURJMU1IQjRPeUJpYjNKa1pYSTZJREZ3ZUNBak1EQXdNREF3SUhOdmJHbGtPeUJ3WVdSa2FXNW5PaUF3Y0hnN0lHMWhjbWRwYmpvZ01IQjRPMzBLZEdRdWFHVmhaSHRpWVdOclozSnZkVzVrTFdOdmJHOXlPaUFqTlRJNVFVUkZPeUJqYjJ4dmNqb2dJMFpHUmtaR1Jqc2dabTl1ZEMxM1pXbG5hSFE2TnpBd095QmliM0prWlhJNklHNXZibVU3SUhSbGVIUXRZV3hwWjI0NklHTmxiblJsY2pzZ1ptOXVkQzF6ZEhsc1pUb2dhWFJoYkdsamZRcDBaWGgwWVhKbFlTQjdkMmxrZEdnNklERXdNQ1U3SUdKdmNtUmxjam9nYm05dVpUc2djR0ZrWkdsdVp6b2dNbkI0SURKd2VDQXljSGc3SUdOdmJHOXlPaUFqUTBORFEwTkRPeUJpWVdOclozSnZkVzVrTFdOdmJHOXlPaUFqTURBd01EQXdPMzBLY0M1d2NtOXRjSFFnZTJadmJuUXRabUZ0YVd4NU9pQnRiMjV2YzNCaFkyVTdJRzFoY21kcGJqb2dNSEI0T3lCd1lXUmthVzVuT2lBd2NIZ2dNbkI0SURKd2VEc2dZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dJekF3TURBd01Ec2dZMjlzYjNJNklDTkRRME5EUTBNN2ZRcHBibkIxZEM1d2NtOXRjSFFnZTJKdmNtUmxjam9nYm05dVpUc2dabTl1ZEMxbVlXMXBiSGs2SUcxdmJtOXpjR0ZqWlRzZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0l6QXdNREF3TURzZ1kyOXNiM0k2SUNORFEwTkRRME03ZlFvOEwzTjBlV3hsUGdvOEwyaGxZV1ErQ2p4aWIyUjVJRzl1Ykc5aFpEMGlhVzVwZENncElqNEtQR2d5UGtSbGRtVnNiM0JsY2lCQ2VTQkxlVzFNYW01clBDOW9NajRLQ2p3L2NHaHdJR2xtSUNobGJYQjBlU2drWDFKRlVWVkZVMVJiSjNKdmQzTW5YU2twSUNSZlVrVlJWVVZUVkZzbmNtOTNjeWRkSUQwZ01qWTdJRDgrQ2dvOGRHRmliR1VnWTJWc2JIQmhaR1JwYm1jOUlqQWlJR05sYkd4emNHRmphVzVuUFNJd0lqNEtQSFJ5UGp4MFpDQmpiR0Z6Y3owaWFHVmhaQ0lnYzNSNWJHVTlJbU52Ykc5eU9pQWpNREF3TURBd095SStQR0krVUZkRUlEbzhMMkkrUEM5MFpENEtQSFJrSUdOc1lYTnpQU0pvWldGa0lqNDhQM0JvY0NCbFkyaHZJQ1JmVTBWVFUwbFBUbHNuY0hKdmJYQjBKMTB1SWpvaUxpSWtYMU5GVTFOSlQwNWJZM2RrWFNJN0lEOCtDand2ZEdRK1BDOTBjajRLUEhSeVBqeDBaQ0IzYVdSMGFEMG5NVEF3SlNjZ2FHVnBaMmgwUFNjeE1EQWxKeUJqYjJ4emNHRnVQU2N5Sno0OFptOXliU0J1WVcxbFBTSnphR1ZzYkNJZ1lXTjBhVzl1UFNJOFAzQm9jQ0JsWTJodklDUmZVMFZTVmtWU1d5ZFFTRkJmVTBWTVJpZGRPejgrSWlCdFpYUm9iMlE5SW5CdmMzUWlQZ284ZEdWNGRHRnlaV0VnYm1GdFpUMGliM1YwY0hWMElpQnlaV0ZrYjI1c2VUMGljbVZoWkc5dWJIa2lJR052YkhNOUlqZzFJaUJ5YjNkelBTSThQM0JvY0NCbFkyaHZJQ1JmVWtWUlZVVlRWRnNuY205M2N5ZGRJRDgrSWo0S1BEOXdhSEFLSkd4cGJtVnpJRDBnYzNWaWMzUnlYMk52ZFc1MEtDUmZVMFZUVTBsUFRsc25iM1YwY0hWMEoxMHNJQ0pjYmlJcE93b2tjR0ZrWkdsdVp5QTlJSE4wY2w5eVpYQmxZWFFvSWx4dUlpd2diV0Y0S0RBc0lDUmZVa1ZSVlVWVFZGc25jbTkzY3lkZEt6RWdMU0FrYkdsdVpYTXBLVHNLWldOb2J5QnlkSEpwYlNna2NHRmtaR2x1WnlBdUlDUmZVMFZUVTBsUFRsc25iM1YwY0hWMEoxMHBPd28vUGdvOEwzUmxlSFJoY21WaFBnbzhjQ0JqYkdGemN6MGljSEp2YlhCMElqNDhQM0JvY0NCbFkyaHZJQ1JmVTBWVFUwbFBUbHNuY0hKdmJYQjBKMTB1SWpvK0lqc2dQejRLUEdsdWNIVjBJR05zWVhOelBTSndjbTl0Y0hRaUlHNWhiV1U5SW1OdmJXMWhibVFpSUhSNWNHVTlJblJsZUhRaUlHOXVhMlY1ZFhBOUltdGxlU2hsZG1WdWRDa2lJSE5wZW1VOUlqWXdJaUIwWVdKcGJtUmxlRDBpTVNJK0Nqd3ZjRDRLQ2p3L0lDOHFQSEErQ2p4cGJuQjFkQ0IwZVhCbFBTSnpkV0p0YVhRaUlIWmhiSFZsUFNKRmVHVmpkWFJsSUVOdmJXMWhibVFpSUM4K0NqeHBibkIxZENCMGVYQmxQU0p6ZFdKdGFYUWlJRzVoYldVOUluSmxjMlYwSWlCMllXeDFaVDBpVW1WelpYUWlJQzgrQ2xKdmQzTTZJRHhwYm5CMWRDQjBlWEJsUFNKMFpYaDBJaUJ1WVcxbFBTSnliM2R6SWlCMllXeDFaVDBpUEQ5d2FIQWdaV05vYnlBa1gxSkZVVlZGVTFSYkozSnZkM01uWFNBL1BpSWdMejRLUEM5d1Bnb3FMejgrQ2p3dlptOXliVDQ4TDNSa1Bqd3ZkSEkrQ2p3dlltOWtlVDRLUEM5b2RHMXNQZ284UDNCb2NDQS9QZz09JzsKICAgICRmaWxlID0gZm9wZW4oImNvbW1hbmQucGhwIiwgIncrIik7CiAgICAkd3JpdGUgPSBmd3JpdGUoJGZpbGUsIGJhc2U2NF9kZWNvZGUoJHBlcmx0b29sc3MpKTsKICAgIGZjbG9zZSgkZmlsZSk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1jb21tYW5kLnBocCB3aWR0aD02MyUgaGVpZ2h0PTcwMHB4IGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+ICI7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1odHRwOi8vZGwuZHJvcGJveC5jb20vdS83NDQyNTM5MS9jb21tYW5kLmh0bWwgd2lkdGg9MzUlIGhlaWdodD03MDBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnYmFja2Nvbm5lY3QnKSB7CiAgICAhJHlvdXJpcCAmJiAkeW91cmlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107CiAgICAhJHlvdXJwb3J0ICYmICR5b3VycG9ydCA9ICc3Nzc3JzsKICAgICR1c2VkYiA9IGFycmF5KCdwZXJsJyA9PiAncGVybCcsICdjJyA9PiAnYycpOwogICAgJGJhY2tfY29ubmVjdCA9ICJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkdOdFpEMGdJbXg1Ym5naU93MEtKSE41YzNSbGJUMGdKMlZqYUc4Z0ltQjFibUZ0WlNBdFlXQWlPMlZqIiAuICJhRzhnSW1CcFpHQWlPeTlpYVc0dmMyZ25PdzBLSkRBOUpHTnRaRHNOQ2lSMFlYSm5aWFE5SkVGU1IxWmJNRjA3RFFva2NHOXlkRDBrUVZKSFZsc3hYVHNOQ2lScFlXUmtjajFwYm1WMFgyRjBiMjRvSkhSIiAuICJoY21kbGRDa2dmSHdnWkdsbEtDSkZjbkp2Y2pvZ0pDRmNiaUlwT3cwS0pIQmhaR1J5UFhOdlkydGhaR1J5WDJsdUtDUndiM0owTENBa2FXRmtaSElwSUh4OElHUnBaU2dpUlhKeWIzSTZJQ1FoWEc0aUtUIiAuICJzTkNpUndjbTkwYnoxblpYUndjbTkwYjJKNWJtRnRaU2duZEdOd0p5azdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLU0I4ZkNCa2FXVW9JIiAuICJrVnljbTl5T2lBa0lWeHVJaWs3RFFwamIyNXVaV04wS0ZOUFEwdEZWQ3dnSkhCaFpHUnlLU0I4ZkNCa2FXVW9Ja1Z5Y205eU9pQWtJVnh1SWlrN0RRcHZjR1Z1S0ZOVVJFbE9MQ0FpUGlaVFQwTkxSVlFpIiAuICJLVHNOQ205d1pXNG9VMVJFVDFWVUxDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFUlZKU0xDQWlQaVpUVDBOTFJWUWlLVHNOQ25ONWMzUmxiU2drYzNsemRHVnRLVHNOQ21Oc2IzTmxLRk5VUkVsIiAuICJPS1RzTkNtTnNiM05sS0ZOVVJFOVZWQ2s3RFFwamJHOXpaU2hUVkVSRlVsSXBPdz09IjsKICAgICRiYWNrX2Nvbm5lY3RfYyA9ICJJMmx1WTJ4MVpHVWdQSE4wWkdsdkxtZytEUW9qYVc1amJIVmtaU0E4YzNsekwzTnZZMnRsZEM1b1BnMEtJMmx1WTJ4MVpHVWdQRzVsZEdsdVpYUXZhVzR1YUQ0TkNtbHVkQyIgLiAiQnRZV2x1S0dsdWRDQmhjbWRqTENCamFHRnlJQ3BoY21kMlcxMHBEUXA3RFFvZ2FXNTBJR1prT3cwS0lITjBjblZqZENCemIyTnJZV1JrY2w5cGJpQnphVzQ3RFFvZ1kyaGhjaUJ5YlhOYk1qRmRQU0p5YiIgLiAiU0F0WmlBaU95QU5DaUJrWVdWdGIyNG9NU3d3S1RzTkNpQnphVzR1YzJsdVgyWmhiV2xzZVNBOUlFRkdYMGxPUlZRN0RRb2djMmx1TG5OcGJsOXdiM0owSUQwZ2FIUnZibk1vWVhSdmFTaGhjbWQyV3pKZCIgLiAiS1NrN0RRb2djMmx1TG5OcGJsOWhaR1J5TG5OZllXUmtjaUE5SUdsdVpYUmZZV1JrY2loaGNtZDJXekZkS1RzZ0RRb2dZbnBsY204b1lYSm5kbHN4WFN4emRISnNaVzRvWVhKbmRsc3hYU2tyTVN0emRISiIgLiAic1pXNG9ZWEpuZGxzeVhTa3BPeUFOQ2lCbVpDQTlJSE52WTJ0bGRDaEJSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnU1ZCUVVrOVVUMTlVUTFBcElEc2dEUW9nYVdZZ0tDaGpiMjV1WldOMEtHWmtMQyIgLiAiQW9jM1J5ZFdOMElITnZZMnRoWkdSeUlDb3BJQ1p6YVc0c0lITnBlbVZ2WmloemRISjFZM1FnYzI5amEyRmtaSElwS1NrOE1Da2dldzBLSUNBZ2NHVnljbTl5S0NKYkxWMGdZMjl1Ym1WamRDZ3BJaWs3RCIgLiAiUW9nSUNCbGVHbDBLREFwT3cwS0lIME5DaUJ6ZEhKallYUW9jbTF6TENCaGNtZDJXekJkS1RzTkNpQnplWE4wWlcwb2NtMXpLVHNnSUEwS0lHUjFjRElvWm1Rc0lEQXBPdzBLSUdSMWNESW9abVFzSURFcCIgLiAiT3cwS0lHUjFjRElvWm1Rc0lESXBPdzBLSUdWNFpXTnNLQ0l2WW1sdUwzTm9JaXdpYzJnZ0xXa2lMQ0JPVlV4TUtUc05DaUJqYkc5elpTaG1aQ2s3SUEwS2ZRPT0iOwogICAgaWYgKCRzdGFydCAmJiAkeW91cmlwICYmICR5b3VycG9ydCAmJiAkdXNlKSB7CiAgICAgICAgaWYgKCR1c2UgPT0gJ3BlcmwnKSB7CiAgICAgICAgICAgIGNmKCcvdG1wL2FuZ2VsX2JjJywgJGJhY2tfY29ubmVjdCk7CiAgICAgICAgICAgICRyZXMgPSBleGVjdXRlKHdoaWNoKCdwZXJsJykgLiAiIC90bXAvYW5nZWxfYmMgJHlvdXJpcCAkeW91cnBvcnQgJiIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNmKCcvdG1wL2FuZ2VsX2JjLmMnLCAkYmFja19jb25uZWN0X2MpOwogICAgICAgICAgICAkcmVzID0gZXhlY3V0ZSgnZ2NjIC1vIC90bXAvYW5nZWxfYmMgL3RtcC9hbmdlbF9iYy5jJyk7CiAgICAgICAgICAgIEB1bmxpbmsoJy90bXAvYW5nZWxfYmMuYycpOwogICAgICAgICAgICAkcmVzID0gZXhlY3V0ZSgiL3RtcC9hbmdlbF9iYyAkeW91cmlwICR5b3VycG9ydCAmIik7CiAgICAgICAgfQogICAgICAgIG0oIk5vdyBzY3JpcHQgdHJ5IGNvbm5lY3QgdG8gJHlvdXJpcCBwb3J0ICR5b3VycG9ydCAuLi4iKTsKICAgIH0KICAgIGZvcm1oZWFkKGFycmF5KCd0aXRsZScgPT4gJ0NvbW1hbmQgOiBuYyAtdnYgLWwgLXAgNzc3NycpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnYmFja2Nvbm5lY3QnKTsKICAgIHAoJwonKTsKICAgIHAoJ1lvdXIgSVA6Jyk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICd5b3VyaXAnLCAnc2l6ZScgPT4gMjAsICd2YWx1ZScgPT4gJHlvdXJpcCkpOwogICAgcCgnWW91ciBQb3J0OicpOwogICAgbWFrZWlucHV0KGFycmF5KCduYW1lJyA9PiAneW91cnBvcnQnLCAnc2l6ZScgPT4gMTUsICd2YWx1ZScgPT4gJHlvdXJwb3J0KSk7CiAgICBwKCdVc2U6Jyk7CiAgICBtYWtlc2VsZWN0KGFycmF5KCduYW1lJyA9PiAndXNlJywgJ29wdGlvbicgPT4gJHVzZWRiLCAnc2VsZWN0ZWQnID0+ICR1c2UpKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ3N0YXJ0JywgJ3ZhbHVlJyA9PiAnU3RhcnQnLCAndHlwZScgPT4gJ3N1Ym1pdCcsICdjbGFzcycgPT4gJ2J0JykpOwogICAgcCgnCgonKTsKICAgIGZvcm1mb290KCk7Cn0gZWxzZWlmICgkYWN0aW9uID09ICdzcGFtJykgewogICAgJGZpbGUgPSBmb3BlbigkZGlyIC4gInNwYW0ucGhwIiwgIncrIik7CiAgICAkcGVybHRvb2xzcyA9ICc9Cic7CiAgICAkZmlsZSA9IGZvcGVuKCJzcGFtLnBocCIsICJ3KyIpOwogICAgJHdyaXRlID0gZndyaXRlKCRmaWxlLCBiYXNlNjRfZGVjb2RlKCRwZXJsdG9vbHNzKSk7CiAgICBmY2xvc2UoJGZpbGUpOwogICAgZWNobyAiPGlmcmFtZSBzcmM9c3BhbS5waHAgd2lkdGg9MTAwJSBoZWlnaHQ9NzIwcHggZnJhbWVib3JkZXI9MD48L2lmcmFtZT4gIjsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2Rkb3MnKSB7CiAgICAkZmlsZSA9IGZvcGVuKCRkaXIgLiAiZGRvcy5waHAiLCAidysiKTsKICAgICRwZXJsdG9vbHNzID0gJ1BEOXdhSEFnQ2lBZ0lDQnBaaWhwYzNObGRDZ2tYMGRGVkZzbmFYQW5YU2tnSmlZZ0NpQWdJQ0JwYzNObGRDZ2tYMGRGVkZzblpYaFVhVzFsSjEwcElDWW1JQW9nSUNBZ2FYTnpaWFFvSkY5SFJWUmJKM0J2Y25RblhTa2dKaVlnQ2lBZ0lDQnBjM05sZENna1gwZEZWRnNuZEdsdFpXOTFkQ2RkS1NBbUppQUtJQ0FnSUdsemMyVjBLQ1JmUjBWVVd5ZGxlRlJwYldVblhTa2dKaVlnQ2lBZ0lDQWtYMGRGVkZzblpYaFVhVzFsSjEwZ0lUMGdJaUlnSmlZZ0NpQWdJQ0FrWDBkRlZGc25jRzl5ZENkZElDRTlJQ0lpSUNZbUlBb2dJQ0FnSkY5SFJWUmJKMmx3SjEwZ0lUMGdJaUlnSmlZZ0NpQWdJQ0FrWDBkRlZGc25kR2x0Wlc5MWRDZGRJQ0U5SUNJaUlDWW1JQW9nSUNBZ0pGOUhSVlJiSjJWNFZHbHRaU2RkSUNFOUlDSWlDaUFnSUNBcElBb2dJQ0FnZXlBS0lDQWdJQ0FnSUNSSlVEMGtYMGRGVkZzbmFYQW5YVHNnQ2lBZ0lDQWdJQ0FrY0c5eWREMGtYMGRGVkZzbmNHOXlkQ2RkT3lBS0lDQWdJQ0FnSUNSbGVHVmpkWFJwYjI1VWFXMWxJRDBnSkY5SFJWUmJKMlY0VkdsdFpTZGRPeUFLSUNBZ0lDQWdJQ1J1YjA5bVFubDBaWE1nUFNBa1gwZEZWRnNuYm05UFprSjVkR1Z6SjEwN0lBb2dJQ0FnSUNBZ0pHUmhkR0VnUFNBaUlqc2dDaUFnSUNBZ0lDQWtkR2x0Wlc5MWRDQTlJQ1JmUjBWVVd5ZDBhVzFsYjNWMEoxMDdJQW9nSUNBZ0lDQWdKSEJoWTJ0bGRITWdQU0F3T3lBS0lDQWdJQ0FnSUNSamIzVnVkR1Z5SUQwZ0pHNXZUMlpDZVhSbGN6c2dDaUFnSUNBZ0lDQWtiV0Y0VkdsdFpTQTlJSFJwYldVb0tTQXJJQ1JsZUdWamRYUnBiMjVVYVcxbE96c2dDaUFnSUNBZ0lDQjNhR2xzWlNna1kyOTFiblJsY2kwdEtTQUtJQ0FnSUNBZ0lIc2dDaUFnSUNBZ0lDQWdJQ0FnSUNSa1lYUmhJQzQ5SUNKWUlqc2dDaUFnSUNBZ0lDQjlJQW9nSUNBZ0lDQWdKR1JoZEdFZ0xqMGdJaUJKTFRRM0lqc2dJQW9nSUNBZ0lDQWdjSEpwYm5RZ0lra2dZVzBnWVhRZ2JXRWdWMjl5YXlCdWIzY2dPa1FnTzBRaElFUnZiblFnWTJ4dmMyVWdkR2hwY3lCM2FXNWtiM2NnZFc1MGFXeHNJSGx2ZFNCeVpXTnBaWFpsSUdFZ2JXVnpjMkZuWlNBOFluSStJanNnQ2lBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnZDJocGJHVW9NU2tnQ2lBZ0lDQWdJQ0I3SUFvZ0lDQWdJQ0FnSUNBZ0lDQWtjMjlqYTJWMElEMGdabk52WTJ0dmNHVnVLQ0oxWkhBNkx5OGtTVkFpTENBa2NHOXlkQ3dnSkdWeWNtOXlMQ0FrWlhKeWIzSlRkSEpwYm1jc0lDUjBhVzFsYjNWMEtUc2dDaUFnSUNBZ0lDQWdJQ0FnSUdsbUtDUnpiMk5yWlhRcElBb2dJQ0FnSUNBZ0lDQWdJQ0I3SUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm5keWFYUmxLQ1J6YjJOclpYUWdMQ0FrWkdGMFlTazdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabU5zYjNObEtDUnpiMk5yWlhRcE95QUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUndZV05yWlhSekt5czdJQW9nSUNBZ0lDQWdJQ0FnSUNCOUlBb2dJQ0FnSUNBZ0lDQWdJQ0JwWmloMGFXMWxLQ2tnUGowZ0pHMWhlRlJwYldVcElBb2dJQ0FnSUNBZ0lDQWdJQ0I3SUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdJQW9nSUNBZ0lDQWdJQ0FnSUNCOUlBb2dJQ0FnSUNBZ0lIMGdDaUFnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdaV05vYnlBaVJFOVRJR0YwZEdGamF5QmhaMkZwYm5OMElIVmtjRG92THlSSlVEb2tjRzl5ZENCamIyMXdiR1YwWldRZ2IyNGdJaTVrWVhSbEtDSm9PbWs2Y3lCQklpa3VJanhpY2lBdlBpSTdJQW9nSUNBZ0lDQWdJR1ZqYUc4Z0lsUnZkR0ZzSUU1MWJXSmxjaUJ2WmlCUVlXTnJaWFJ6SUZObGJuUWdPaUFpSUM0Z0pIQmhZMnRsZEhNZ0xpQWlQR0p5SUM4K0lqc2dDaUFnSUNBZ0lDQWdaV05vYnlBaVZHOTBZV3dnUkdGMFlTQlRaVzUwSUQwZ0lpNGdTSFZ0WVc1U1pXRmtZV0pzWlVacGJHVnphWHBsS0NSd1lXTnJaWFJ6S2lSdWIwOW1RbmwwWlhNcElDNGdJanhpY2lBdlBpSTdJQ0FLSUNBZ0lDQWdJQ0JsWTJodklDSkVZWFJoSUhCbGNpQndZV05yWlhRZ1BTQWlJQzRnU0hWdFlXNVNaV0ZrWVdKc1pVWnBiR1Z6YVhwbEtDUnViMDltUW5sMFpYTXBJQzRnSWp4aWNpQXZQaUk3SUFvZ0lDQWdmU0FLSUNBZ0lHVnNjMlVLSUNBZ0lIc2dDaUFnSUNBZ0lDQWdQejRnQ2lBZ0lDQWdJQ0FnUEdadmNtMGdiV1YwYUc5a1BTSkhSVlFpUGlBS0lDQWdJQ0FnSUNBOGRHbDBiR1UrVDI1bElFTnNhV05ySUVSRWIxTWdQQzkwYVhSc1pUNGdDaUFnQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltUnZjeUlnTHo0Z0NpQWdJQ0FnSUNBZ0lDQWdJRHgwWVdKc1pTQnBaRDBpYldGeVoybHVjeUkrSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhSeVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4ZEdRZ2QybGtkR2c5SWpRd01DSWdZMnhoYzNNOUluUnBkR3hsSWo0Z0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFptOXVkQ0JtWVdObFBTSlBjbUpwZEhKdmJpSWdjM1I1YkdVOUltTnZiRzl5T25KbFpEdDBaWGgwTFhOb1lXUnZkem9nTUNBd0lEQXVNMlZ0SUdGeGRXRXNNQ0F3SURBdU0yVnRJR0Z4ZFdFN0lqNDhZajVKY0NCV2FXTjBhVzA4TDJJK1BDOW1iMjUwUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZkR1ErSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDBaRDRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhwYm5CMWRDQmpiR0Z6Y3owaVltOTRJaUJ1WVcxbFBTSnBjQ0lnZG1Gc2RXVTlJakV5Tnk0d0xqQXVNU0lnYjI1R2IyTjFjejBpYVdZb2RHaHBjeTUyWVd4MVpTQTlQU0FuTVRJM0xqQXVNQzR4SnlsMGFHbHpMblpoYkhWbElEMGdKeWM3SWlCdmJrSnNkWEk5SW1sbUtIUm9hWE11ZG1Gc2RXVTlQU2NuS1hSb2FYTXVkbUZzZFdVOUp6RXlOeTR3TGpBdU1TYzdJaTgrSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZkR1ErSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5MGNqNGdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJ5UGlBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThkR1FnWTJ4aGMzTTlJblJwZEd4bElqNGdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhtYjI1MElHWmhZMlU5SWs5eVltbDBjbTl1SWlCemRIbHNaVDBpWTI5c2IzSTZaM0psWlc0N2RHVjRkQzF6YUdGa2IzYzZJREFnTUNBd0xqTmxiU0JoY1hWaExEQWdNQ0F3TGpObGJTQmhjWFZoT3lJK1BHSStVRzl5ZER3dllqNDhMMlp2Ym5RK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzkwWkQ0Z0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJrUGlBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdsdWNIVjBJR05zWVhOelBTSmliM2dpSUc1aGJXVTlJbkJ2Y25RaUlIWmhiSFZsUFNJNE1DSWdiMjVHYjJOMWN6MGlhV1lvZEdocGN5NTJZV3gxWlNBOVBTQW5PREFuS1hSb2FYTXVkbUZzZFdVZ1BTQW5KenNpSUc5dVFteDFjajBpYVdZb2RHaHBjeTUyWVd4MVpUMDlKeWNwZEdocGN5NTJZV3gxWlQwbk9EQW5PeUl2UGlBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMM1JrUGlBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dmRISStJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHgwY2o0Z0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJrSUdOc1lYTnpQU0owYVhSc1pTSStJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhtYjI1MElHWmhZMlU5SWs5eVltbDBjbTl1SWlCemRIbHNaVDBpWTI5c2IzSTZZbXgxWlR0MFpYaDBMWE5vWVdSdmR6b2dNQ0F3SURBdU0yVnRJR0Z4ZFdFc01DQXdJREF1TTJWdElHRnhkV0U3SWo0OFlqNVVhVzFsSUU5MWREd3ZZajQ4TDJadmJuUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5MFpENGdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhSa1BpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHbHVjSFYwSUhSNWNHVTlJblJsZUhRaUlHTnNZWE56UFNKaWIzZ2lJRzVoYldVOUluUnBiV1Z2ZFhRaUlIWmhiSFZsUFNJMUlpQnZia1p2WTNWelBTSnBaaWgwYUdsekxuWmhiSFZsSUQwOUlDYzFKeWwwYUdsekxuWmhiSFZsSUQwZ0p5YzdJaUJ2YmtKc2RYSTlJbWxtS0hSb2FYTXVkbUZzZFdVOVBTY25LWFJvYVhNdWRtRnNkV1U5SnpVbk95SWdMejRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOTBaRDRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNSeVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJ5UGlBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThkR1FnWTJ4aGMzTTlJblJwZEd4bElqNGdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhtYjI1MElHWmhZMlU5SWs5eVltbDBjbTl1SWlCemRIbHNaVDBpWTI5c2IzSTZZbXhoWTJzN2RHVjRkQzF6YUdGa2IzYzZJREFnTUNBd0xqTmxiU0JoY1hWaExEQWdNQ0F3TGpObGJTQmhjWFZoT3lJK1BHSStSWGhqWldOMWRHbHZiaUJVYVcxbFBDOWlQand2Wm05dWRENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNSa1BpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4ZEdRK0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGFXNXdkWFFnZEhsd1pUMGlkR1Y0ZENJZ1kyeGhjM005SW1KdmVDSWdibUZ0WlQwaVpYaFVhVzFsSWlCMllXeDFaVDBpTVRBaUlHOXVSbTlqZFhNOUltbG1LSFJvYVhNdWRtRnNkV1VnUFQwZ0p6RXdKeWwwYUdsekxuWmhiSFZsSUQwZ0p5YzdJaUJ2YmtKc2RYSTlJbWxtS0hSb2FYTXVkbUZzZFdVOVBTY25LWFJvYVhNdWRtRnNkV1U5SnpFd0p6c2lMejRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOTBaRDRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNSeVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThkSEkrSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDBaQ0JqYkdGemN6MGlkR2wwYkdVaVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhtYjI1MElHWmhZMlU5SWs5eVltbDBjbTl1SWlCemRIbHNaVDBpWTI5c2IzSTZkMmhwZEdVN2RHVjRkQzF6YUdGa2IzYzZJREFnTUNBd0xqTmxiU0JoY1hWaExEQWdNQ0F3TGpObGJTQmhjWFZoT3lJK1BHSStRbmwwWlhNZ1JHUnZjend2WWo0OEwyWnZiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOTBaRDRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIUmtQaUFLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR2x1Y0hWMElIUjVjR1U5SW5SbGVIUWlJR05zWVhOelBTSmliM2dpSUc1aGJXVTlJbTV2VDJaQ2VYUmxjeUlnZG1Gc2RXVTlJams1T1RrNU9TSWdiMjVHYjJOMWN6MGlhV1lvZEdocGN5NTJZV3gxWlNBOVBTQW5PVGs1T1RrNUp5bDBhR2x6TG5aaGJIVmxJRDBnSnljN0lpQnZia0pzZFhJOUltbG1LSFJvYVhNdWRtRnNkV1U5UFNjbktYUm9hWE11ZG1Gc2RXVTlKems1T1RrNU9TYzdJaTgrSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZkR1ErSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5MGNqNGdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhSeVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4ZEdRZ2NtOTNjM0JoYmowaU1pSStJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThhVzV3ZFhRZ2MzUjViR1U5SW0xaGNtZHBiaUE2SURJd2NIZzdJRzFoY21kcGJpMXNaV1owT2lBMU1EQndlRHNnY0dGa1pHbHVaeUE2SURFd2NIZzdJSGRwWkhSb09pQXhNREJ3ZURzaUlIUjVjR1U5SW5OMVltMXBkQ0lnWTJ4aGMzTTlJbUoxZENJZ2RtRnNkV1U5SWlBZ0lFRjBkR0ZqYXlBK1BpQWlMejRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOTBaRDRnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNSeVBpQUtJQ0FnSUNBZ0lDQWdJQ0FnUEM5MFlXSnNaVDRnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ1BDOW1iM0p0UGlBS0lDQWdJQ0FnSUNBOFAzQm9jQ0FLSUNBZ0lIMGdDajgrCic7CiAgICAkZmlsZSA9IGZvcGVuKCJkZG9zLnBocCIsICJ3KyIpOwogICAgJHdyaXRlID0gZndyaXRlKCRmaWxlLCBiYXNlNjRfZGVjb2RlKCRwZXJsdG9vbHNzKSk7CiAgICBmY2xvc2UoJGZpbGUpOwogICAgZWNobyAiPGlmcmFtZSBzcmM9ZGRvcy5waHAgd2lkdGg9MTAwJSBoZWlnaHQ9NzIwcHggZnJhbWVib3JkZXI9MD48L2lmcmFtZT4gIjsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2xlZWNoJykgewogICAgJGZpbGUgPSBmb3BlbigkZGlyIC4gImxlZWNoLnBocCIsICJ3KyIpOwogICAgJHBlcmx0b29sc3MgPSAnPT0KJzsKICAgICRmaWxlID0gZm9wZW4oImxlZWNoLnBocCIsICJ3KyIpOwogICAgJHdyaXRlID0gZndyaXRlKCRmaWxlLCBiYXNlNjRfZGVjb2RlKCRwZXJsdG9vbHNzKSk7CiAgICBmY2xvc2UoJGZpbGUpOwogICAgZWNobyAiPGlmcmFtZSBzcmM9bGVlY2gucGhwIHdpZHRoPTEwMCUgaGVpZ2h0PTcyMHB4IGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+ICI7Cn0gZWxzZWlmICgkYWN0aW9uID09ICdicnV0ZScpIHsKICAgICRmaWxlID0gZm9wZW4oJGRpciAuICJicnV0ZS5waHAiLCAidysiKTsKICAgICRwZXJsdG9vbHNzID0gJz09Cic7CiAgICAkZmlsZSA9IGZvcGVuKCJicnV0ZS5waHAiLCAidysiKTsKICAgICR3cml0ZSA9IGZ3cml0ZSgkZmlsZSwgYmFzZTY0X2RlY29kZSgkcGVybHRvb2xzcykpOwogICAgZmNsb3NlKCRmaWxlKTsKICAgIGVjaG8gIjxpZnJhbWUgc3JjPWJydXRlLnBocCB3aWR0aD0xMDAlIGhlaWdodD03MjBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnZHVtcGVyJykgewogICAgJGZpbGUgPSBmb3BlbigkZGlyIC4gImR1bXBlci5waHAiLCAidysiKTsKICAgICRmaWxlID0gbWtkaXIoImJhY2t1cCIpOwogICAgJGZpbGUgPSBjaG1vZCgiYmFja3VwIiwgMDc1NSk7CiAgICAkcGVybHRvb2xzcyA9ICc9Cic7CiAgICAkZmlsZSA9IGZvcGVuKCJkdW1wZXIucGhwIiwgIncrIik7CiAgICAkd3JpdGUgPSBmd3JpdGUoJGZpbGUsIGJhc2U2NF9kZWNvZGUoJHBlcmx0b29sc3MpKTsKICAgIGZjbG9zZSgkZmlsZSk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1kdW1wZXIucGhwIHdpZHRoPTEwMCUgaGVpZ2h0PTcyMHB4IGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+ICI7Cn0gZWxzZWlmICgkYWN0aW9uID09ICd1cHNoZWxsJykgewogICAgJGZpbGUgPSBmb3BlbigkZGlyIC4gInVwc2hlbGwucGhwIiwgIncrIik7CiAgICAkcGVybHRvb2xzcyA9ICc9Cic7CiAgICAkZmlsZSA9IGZvcGVuKCJ1cHNoZWxsLnBocCIsICJ3KyIpOwogICAgJHdyaXRlID0gZndyaXRlKCRmaWxlLCBiYXNlNjRfZGVjb2RlKCRwZXJsdG9vbHNzKSk7CiAgICBmY2xvc2UoJGZpbGUpOwogICAgZWNobyAiPGlmcmFtZSBzcmM9dXBzaGVsbC5waHAgd2lkdGg9MTAwJSBoZWlnaHQ9NzIwcHggZnJhbWVib3JkZXI9MD48L2lmcmFtZT4gIjsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2J5cGFzcycpIHsKICAgICRmaWxlID0gZm9wZW4oJGRpciAuICJieXBhc3MucGhwIiwgIncrIik7CiAgICAkcGVybHRvb2xzcyA9ICc9PQonOwogICAgJGZpbGUgPSBmb3BlbigiYnlwYXNzLnBocCIsICJ3KyIpOwogICAgJHdyaXRlID0gZndyaXRlKCRmaWxlLCBiYXNlNjRfZGVjb2RlKCRwZXJsdG9vbHNzKSk7CiAgICBmY2xvc2UoJGZpbGUpOwogICAgZWNobyAiPGlmcmFtZSBzcmM9YnlwYXNzLnBocCB3aWR0aD0xMDAlIGhlaWdodD03MjBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAnbWQ1JykgewogICAgZWNobyAiPGlmcmFtZSBzcmM9aHR0cDovL3d3dy5tZDUuY3ovIHdpZHRoPTEwMCUgaGVpZ2h0PTQwMHB4IGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+ICI7Cn0gZWxzZWlmICgkYWN0aW9uID09ICdjcmFjaycpIHsKICAgIGVjaG8gIjxpZnJhbWUgc3JjPWh0dHA6Ly93d3cubWQ1ZGVjcnlwdGVyLmNvLnVrLyB3aWR0aD0xMDAlIGhlaWdodD00MDBweCBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiAiOwp9IGVsc2VpZiAoJGFjdGlvbiA9PSAncmV2ZXJzZWlwJykgewogICAgQGV4ZWMoJ3dnZXQgaHR0cDovL2RsLmRyb3Bib3guY29tL3UvNzQ0MjUzOTEvaXAudGFyLmd6Jyk7CiAgICBAZXhlYygndGFyIC14dmYgaXAudGFyLmd6Jyk7CiAgICBlY2hvICI8aWZyYW1lIHNyYz1pcC9pbmRleC5waHAgd2lkdGg9MTAwJSBoZWlnaHQ9NzIwcHggZnJhbWVib3JkZXI9MD48L2lmcmFtZT4gIjsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ2VkaXRmaWxlJykgewogICAgaWYgKGZpbGVfZXhpc3RzKCRvcGZpbGUpKSB7CiAgICAgICAgJGZwID0gQGZvcGVuKCRvcGZpbGUsICdyJyk7CiAgICAgICAgJGNvbnRlbnRzID0gQGZyZWFkKCRmcCwgZmlsZXNpemUoJG9wZmlsZSkpOwogICAgICAgIEBmY2xvc2UoJGZwKTsKICAgICAgICAkY29udGVudHMgPSBodG1sc3BlY2lhbGNoYXJzKCRjb250ZW50cyk7CiAgICB9CiAgICBmb3JtaGVhZChhcnJheSgndGl0bGUnID0+ICdDcmVhdGUgLyBFZGl0IEZpbGUnKSk7CiAgICBtYWtlaGlkZSgnYWN0aW9uJywgJ2ZpbGUnKTsKICAgIG1ha2VoaWRlKCdkaXInLCAkbm93cGF0aCk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJyA9PiAnQ3VycmVudCBGaWxlIChpbXBvcnQgbmV3IGZpbGUgbmFtZSBhbmQgbmV3IGZpbGUpJywgJ25hbWUnID0+ICdlZGl0ZmlsZW5hbWUnLCAndmFsdWUnID0+ICRvcGZpbGUsICduZXdsaW5lJyA9PiAxKSk7CiAgICBtYWtldGV4dChhcnJheSgndGl0bGUnID0+ICdGaWxlIENvbnRlbnQnLCAnbmFtZScgPT4gJ2ZpbGVjb250ZW50JywgJ3ZhbHVlJyA9PiAkY29udGVudHMpKTsKICAgIGZvcm1mb290ZXIoKTsKfSBlbHNlaWYgKCRhY3Rpb24gPT0gJ25ld3RpbWUnKSB7CiAgICAkb3BmaWxlbXRpbWUgPSBAZmlsZW10aW1lKCRvcGZpbGUpOwogICAgJGNhY2hlbW9udGggPSBhcnJheSgnSmFudWFyeScgPT4gMSwgJ0ZlYnJ1YXJ5JyA9PiAyLCAnTWFyY2gnID0+IDMsICdBcHJpbCcgPT4gNCwgJ01heScgPT4gNSwgJ0p1bmUnID0+IDYsICdKdWx5JyA9PiA3LCAnQXVndXN0JyA9PiA4LCAnU2VwdGVtYmVyJyA9PiA5LCAnT2N0b2JlcicgPT4gMTAsICdOb3ZlbWJlcicgPT4gMTEsICdEZWNlbWJlcicgPT4gMTIpOwogICAgZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJyA9PiAnQ2xvbmUgZmlsZSB3YXMgbGFzdCBtb2RpZmllZCB0aW1lJykpOwogICAgbWFrZWhpZGUoJ2FjdGlvbicsICdmaWxlJyk7CiAgICBtYWtlaGlkZSgnZGlyJywgJG5vd3BhdGgpOwogICAgbWFrZWlucHV0KGFycmF5KCd0aXRsZScgPT4gJ0FsdGVyIGZpbGUnLCAnbmFtZScgPT4gJ2N1cmZpbGUnLCAndmFsdWUnID0+ICRvcGZpbGUsICdzaXplJyA9PiAxMjAsICduZXdsaW5lJyA9PiAxKSk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJyA9PiAnUmVmZXJlbmNlIGZpbGUgKGZ1bGxwYXRoKScsICduYW1lJyA9PiAndGFyZmlsZScsICdzaXplJyA9PiAxMjAsICduZXdsaW5lJyA9PiAxKSk7CiAgICBmb3JtZm9vdGVyKCk7CiAgICBmb3JtaGVhZChhcnJheSgndGl0bGUnID0+ICdTZXQgbGFzdCBtb2RpZmllZCcpKTsKICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnZmlsZScpOwogICAgbWFrZWhpZGUoJ2RpcicsICRub3dwYXRoKTsKICAgIG1ha2VpbnB1dChhcnJheSgndGl0bGUnID0+ICdDdXJyZW50IGZpbGUgKGZ1bGxwYXRoKScsICduYW1lJyA9PiAnY3VyZmlsZScsICd2YWx1ZScgPT4gJG9wZmlsZSwgJ3NpemUnID0+IDEyMCwgJ25ld2xpbmUnID0+IDEpKTsKICAgIHAoJzxwPkluc3RlYWQgJnJhcXVvOycpOwogICAgcCgneWVhcjonKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ3llYXInLCAndmFsdWUnID0+IGRhdGUoJ1knLCAkb3BmaWxlbXRpbWUpLCAnc2l6ZScgPT4gNCkpOwogICAgcCgnbW9udGg6Jyk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICdtb250aCcsICd2YWx1ZScgPT4gZGF0ZSgnbScsICRvcGZpbGVtdGltZSksICdzaXplJyA9PiAyKSk7CiAgICBwKCdkYXk6Jyk7CiAgICBtYWtlaW5wdXQoYXJyYXkoJ25hbWUnID0+ICdkYXknLCAndmFsdWUnID0+IGRhdGUoJ2QnLCAkb3BmaWxlbXRpbWUpLCAnc2l6ZScgPT4gMikpOwogICAgcCgnaG91cjonKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ2hvdXInLCAndmFsdWUnID0+IGRhdGUoJ0gnLCAkb3BmaWxlbXRpbWUpLCAnc2l6ZScgPT4gMikpOwogICAgcCgnbWludXRlOicpOwogICAgbWFrZWlucHV0KGFycmF5KCduYW1lJyA9PiAnbWludXRlJywgJ3ZhbHVlJyA9PiBkYXRlKCdpJywgJG9wZmlsZW10aW1lKSwgJ3NpemUnID0+IDIpKTsKICAgIHAoJ3NlY29uZDonKTsKICAgIG1ha2VpbnB1dChhcnJheSgnbmFtZScgPT4gJ3NlY29uZCcsICd2YWx1ZScgPT4gZGF0ZSgncycsICRvcGZpbGVtdGltZSksICdzaXplJyA9PiAyKSk7CiAgICBwKCc8L3A+Jyk7CiAgICBmb3JtZm9vdGVyKCk7Cn0gZWxzZWlmICgkYWN0aW9uID09ICdzeW1yb290JykgewogICAgJGZpbGUgPSBmb3BlbigkZGlyIC4gInN5bXJvb3QucGhwIiwgIncrIik7CiAgICAkcGVybHRvb2xzcyA9ICdQRDl3YUhBS0Nnb2dKR2hsWVdRZ1BTQW5DanhvZEcxc1BnbzhhR1ZoWkQ0S1BDOXpZM0pwY0hRK0NqeDBhWFJzWlQ0dExUMDlXMXRUZVcwZ2JHcHVheUJCVEd3Z1EyOXVSbWxuSUNzZ1UzbHRJRkp2YjNRZ1lua2dTM2x0SUV4cWJtdGRYVDA5TFMwOEwzUnBkR3hsUGdvOGJXVjBZU0JvZEhSd0xXVnhkV2wyUFNKRGIyNTBaVzUwTFZSNWNHVWlJR052Ym5SbGJuUTlJblJsZUhRdmFIUnRiRHNnWTJoaGNuTmxkRDFWVkVZdE9DSStDZ284VTFSWlRFVStDbUp2WkhrZ2V3cG1iMjUwTFdaaGJXbHNlVG9nVkdGb2IyMWhDbjBLZEhJZ2V3cENUMUpFUlZJNklHUmhjMmhsWkNBeGNIZ2dJek16TXpzS1kyOXNiM0k2SUNOR1JrWTdDbjBLZEdRZ2V3cENUMUpFUlZJNklHUmhjMmhsWkNBeGNIZ2dJek16TXpzS1kyOXNiM0k2SUNOR1JrWTdDbjBLTG5SaFlteGxNU0I3Q2tKUFVrUkZVam9nTUhCNElFSnNZV05yT3dwQ1FVTkxSMUpQVlU1RUxVTlBURTlTT2lCQ2JHRmphenNLWTI5c2IzSTZJQ05HUmtZN0NuMEtMblJrTVNCN0NrSlBVa1JGVWpvZ01IQjRPd3BDVDFKRVJWSXRRMDlNVDFJNklDTXpNek16TXpNN0NtWnZiblE2SURkd2RDQldaWEprWVc1aE93cGpiMnh2Y2pvZ1IzSmxaVzQ3Q24wS0xuUnlNU0I3Q2tKUFVrUkZVam9nTUhCNE93cENUMUpFUlZJdFEwOU1UMUk2SUNNek16TXpNek03Q21OdmJHOXlPaUFqUmtaR093cDlDblJoWW14bElIc0tRazlTUkVWU09pQmtZWE5vWldRZ01YQjRJQ016TXpNN0NrSlBVa1JGVWkxRFQweFBVam9nSXpNek16TXpNenNLUWtGRFMwZFNUMVZPUkMxRFQweFBVam9nUW14aFkyczdDbU52Ykc5eU9pQWpSa1pHT3dwOUNtbHVjSFYwSUhzS1ltOXlaR1Z5Q1FrSk9pQmtZWE5vWldRZ01YQjRPd3BpYjNKa1pYSXRZMjlzYjNJSkNUb2dJek16TXpzS1FrRkRTMGRTVDFWT1JDMURUMHhQVWpvZ1FteGhZMnM3Q21admJuUTZJRGh3ZENCV1pYSmtZVzVoT3dwamIyeHZjam9nVW1Wa093cDlDbk5sYkdWamRDQjdDa0pQVWtSRlVpMVNTVWRJVkRvZ0lFSnNZV05ySURGd2VDQnpiMnhwWkRzS1FrOVNSRVZTTFZSUFVEb2dJQ0FnSTBSR01EQXdNQ0F4Y0hnZ2MyOXNhV1E3Q2tKUFVrUkZVaTFNUlVaVU9pQWdJQ05FUmpBd01EQWdNWEI0SUhOdmJHbGtPd3BDVDFKRVJWSXRRazlVVkU5Tk9pQkNiR0ZqYXlBeGNIZ2djMjlzYVdRN0NrSlBVa1JGVWkxamIyeHZjam9nSTBaR1Jqc0tRa0ZEUzBkU1QxVk9SQzFEVDB4UFVqb2dRbXhoWTJzN0NtWnZiblE2SURod2RDQldaWEprWVc1aE93cGpiMnh2Y2pvZ1VtVmtPd3A5Q25OMVltMXBkQ0I3Q2tKUFVrUkZVam9nSUdKMWRIUnZibWhwWjJoc2FXZG9kQ0F5Y0hnZ2IzVjBjMlYwT3dwQ1FVTkxSMUpQVlU1RUxVTlBURTlTT2lCQ2JHRmphenNLZDJsa2RHZzZJRE13SlRzS1kyOXNiM0k2SUNOR1JrWTdDbjBLZEdWNGRHRnlaV0VnZXdwaWIzSmtaWElKQ1FrNklHUmhjMmhsWkNBeGNIZ2dJek16TXpzS1FrRkRTMGRTVDFWT1JDMURUMHhQVWpvZ1FteGhZMnM3Q21admJuUTZJRVpwZUdWa2MzbHpJR0p2YkdRN0NtTnZiRzl5T2lBak9UazVPd3A5Q2tKUFJGa2dld29KVTBOU1QweE1Ra0ZTTFVaQlEwVXRRMDlNVDFJNklFSnNZV05yT3lCVFExSlBURXhDUVZJdFNFbEhTRXhKUjBoVUxXTnZiRzl5T2lBalJrWkdPeUJUUTFKUFRFeENRVkl0VTBoQlJFOVhMV052Ykc5eU9pQWpSa1pHT3lCVFExSlBURXhDUVZJdE0wUk1TVWRJVkMxamIyeHZjam9nSTBaR1Jqc2dVME5TVDB4TVFrRlNMVUZTVWs5WExVTlBURTlTT2lCQ2JHRmphenNnVTBOU1QweE1Ra0ZTTFZSU1FVTkxMV052Ykc5eU9pQWpSa1pHT3lCVFExSlBURXhDUVZJdFJFRlNTMU5JUVVSUFZ5MWpiMnh2Y2pvZ0kwWkdSZ3B0WVhKbmFXNDZJREZ3ZURzS1kyOXNiM0k2SUZKbFpEc0tZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dRbXhoWTJzN0NuMEtMbTFoYVc0Z2V3cHRZWEpuYVc0SkNRazZJQzB5T0Rkd2VDQXdjSGdnTUhCNElDMDBPVEJ3ZURzS1FrOVNSRVZTT2lCa1lYTm9aV1FnTVhCNElDTXpNek03Q2tKUFVrUkZVaTFEVDB4UFVqb2dJek16TXpNek16c0tmUW91ZEhRZ2V3cGlZV05yWjNKdmRXNWtMV052Ykc5eU9pQkNiR0ZqYXpzS2ZRb0tRVHBzYVc1cklIc0tDVU5QVEU5U09pQlhhR2wwWlRzZ1ZFVllWQzFFUlVOUFVrRlVTVTlPT2lCdWIyNWxDbjBLUVRwMmFYTnBkR1ZrSUhzS0NVTlBURTlTT2lCWGFHbDBaVHNnVkVWWVZDMUVSVU5QVWtGVVNVOU9PaUJ1YjI1bENuMEtRVHBvYjNabGNpQjdDZ2xqYjJ4dmNqb2dVbVZrT3lCVVJWaFVMVVJGUTA5U1FWUkpUMDQ2SUc1dmJtVUtmUXBCT21GamRHbDJaU0I3Q2dsamIyeHZjam9nVW1Wa095QlVSVmhVTFVSRlEwOVNRVlJKVDA0NklHNXZibVVLZlFvOEwxTlVXVXhGUGdvOGMyTnlhWEIwSUd4aGJtZDFZV2RsUFZ3bmFtRjJZWE5qY21sd2RGd25QZ3BtZFc1amRHbHZiaUJvYVdSbFgyUnBkaWhwWkNrS2V3b2dJR1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tHbGtLUzV6ZEhsc1pTNWthWE53YkdGNUlEMGdYQ2R1YjI1bFhDYzdDaUFnWkc5amRXMWxiblF1WTI5dmEybGxQV2xrSzF3blBUQTdYQ2M3Q24wS1puVnVZM1JwYjI0Z2MyaHZkMTlrYVhZb2FXUXBDbnNLSUNCa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2hwWkNrdWMzUjViR1V1WkdsemNHeGhlU0E5SUZ3bllteHZZMnRjSnpzS0lDQmtiMk4xYldWdWRDNWpiMjlyYVdVOWFXUXJYQ2M5TVR0Y0p6c0tmUXBtZFc1amRHbHZiaUJqYUdGdVoyVmZaR2wyYzNRb2FXUXBDbnNLSUNCcFppQW9aRzlqZFcxbGJuUXVaMlYwUld4bGJXVnVkRUo1U1dRb2FXUXBMbk4wZVd4bExtUnBjM0JzWVhrZ1BUMGdYQ2R1YjI1bFhDY3BDaUFnSUNCemFHOTNYMlJwZGlocFpDazdDaUFnWld4elpRb2dJQ0FnYUdsa1pWOWthWFlvYVdRcE93cDlDand2YzJOeWFYQjBQaWM3SUQ4K0NqeG9kRzFzUGdvSlBHaGxZV1ErQ2drSlBEOXdhSEFnQ2drSlpXTm9ieUFrYUdWaFpDQTdDZ2tKWldOb2J5QW5DZ284ZEdGaWJHVWdkMmxrZEdnOUlqRXdNQ1VpSUdObGJHeHpjR0ZqYVc1blBTSXdJaUJqWld4c2NHRmtaR2x1WnowaU1DSWdZMnhoYzNNOUluUmlNU0lnUGdvS0NRa0pDZ29nSUNBZ0lDQWdQSFJrSUhkcFpIUm9QU0l4TURBbElpQmhiR2xuYmoxalpXNTBaWElnZG1Gc2FXZHVQU0owYjNBaUlISnZkM053WVc0OUlqRWlQZ29nSUNBZ0lDQWdJQ0FnSUR4bWIyNTBJR052Ykc5eVBYSmxaQ0J6YVhwbFBUVWdabUZqWlQwaVkyOXRhV01nYzJGdWN5QnRjeUkrUEdJK0xTMDlQVnRiSUZONWJTQnNhbTVySUVGTWJDQkRiMjVHYVdjOEwyWnZiblErUEdadmJuUWdZMjlzYjNJOWQyaHBkR1VnYzJsNlpUMDFJR1poWTJVOUltTnZiV2xqSUhOaGJuTWdiWE1pUGp4aVBpQWdJQ3NnVTNsdElGSnZiM1FnUEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFdkeVpXVnVJSE5wZW1VOU5TQm1ZV05sUFNKamIyMXBZeUJ6WVc1eklHMXpJajQ4WWo0Z1ZHVmhiU0JpZVNCTGVXMGdUR3B1YXlCZFhUMDlMUzA4TDJadmJuUStJRHhrYVhZZ1kyeGhjM005SW1obFpISWlQaUFLQ2lBZ0lDQWdJQ0FnUEhSa0lHaGxhV2RvZEQwaU1UQWlJR0ZzYVdkdVBTSnNaV1owSWlCamJHRnpjejBpZEdReElqNDhMM1JrUGp3dmRISStQSFJ5UGp4MFpDQUtJQ0FnSUNBZ0lDQjNhV1IwYUQwaU1UQXdKU0lnWVd4cFoyNDlJbU5sYm5SbGNpSWdkbUZzYVdkdVBTSjBiM0FpSUhKdmQzTndZVzQ5SWpFaVBqeG1iMjUwSUFvZ0lDQWdJQ0FnSUdOdmJHOXlQU0p5WldRaUlHWmhZMlU5SW1OdmJXbGpJSE5oYm5NZ2JYTWljMmw2WlQwaU1TSStQR0krSUFvZ0lDQWdJQ0FnSUFrSkNRa0pDaUFnSUNBZ0lDQWdJQ0FnUEM5MFlXSnNaVDRLSUNBZ0lDQWdJQ0FLQ2ljN0lBb0tQejRLUEdObGJuUmxjajRLUEdadmNtMGdiV1YwYUc5a1BYQnZjM1ErUEdadmJuUWdZMjlzYjNJOWQyaHBkR1VnYzJsNlpUMHlJR1poWTJVOUltTnZiV2xqSUhOaGJuTWdiWE1pUGpFdUlFTnlaV0YwSUhCb2NDNXBibWtnWm1sc1pUd3ZabTl1ZEQ0OGNENEtQR2x1Y0hWMElIUjVjR1U5YzNWaWJXbDBJRzVoYldVOWFXNXBJSFpoYkhWbFBTSjFjMlVnZEc4Z1IyVnVaWEpoZEdVZ1VFaFFMbWx1YVNJZ0x6NDhMMlp2Y20wK0NqeG1iM0p0SUcxbGRHaHZaRDF3YjNOMFBqeG1iMjUwSUdOdmJHOXlQWGRvYVhSbElITnBlbVU5TWlCbVlXTmxQU0pqYjIxcFl5QnpZVzV6SUcxeklqNHlMaUJIWlhRZ2RYTmxjbTVoYldWeklHWnZjaUJ6ZVcxc2FXNXJQQzltYjI1MFBqeHdQZ29KUEdsdWNIVjBJSFI1Y0dVOWMzVmliV2wwSUc1aGJXVTlJblZ6Y21VaUlIWmhiSFZsUFNKMWMyVWdkRzhnUlhoMGNtRmpkQ0IxYzJWeWJtRnRaWE1pSUM4K1BDOW1iM0p0UGdvSkNnazhQM0JvY0FvSmFXWW9hWE56WlhRb0pGOVFUMU5VV3lkcGJta25YU2twQ2dsN0Nna0pDZ2tKSkhJOVptOXdaVzRvSjNCb2NDNXBibWtuTENkM0p5azdDZ2tKSkhKeVBTSWdaR2x6WW1Gc1pWOW1kVzVqZEdsdmJuTTlibTl1WlNBaU93b0pDV1ozY21sMFpTZ2tjaXdrY25JcE93b0pDU1JzYVc1clBTSThZU0JvY21WbVBYQm9jQzVwYm1rK1BHWnZiblFnWTI5c2IzSTlkMmhwZEdVZ2MybDZaVDB5SUdaaFkyVTlYQ0pqYjIxcFl5QnpZVzV6SUcxelhDSStQSFUrYjNCbGJpQlFTRkF1U1U1SlBDOTFQand2Wm05dWRENDhMMkUrSWpzS0NRbGxZMmh2SUNSc2FXNXJPd2tLQ1FsOUNnay9QZ29KUEQ5d2FIQUtDV2xtS0dsemMyVjBLQ1JmVUU5VFZGc25kWE55WlNkZEtTbDdDZ2tKUHo0OFptOXliU0J0WlhSb2IyUTljRzl6ZEQ0S0NUeDBaWGgwWVhKbFlTQnliM2R6UFRFd0lHTnZiSE05TlRBZ2JtRnRaVDExYzJWeVBqdy9jR2h3SUNBa2RYTmxjbk05Wm1sc1pTZ2lMMlYwWXk5d1lYTnpkMlFpS1RzS1ptOXlaV0ZqYUNna2RYTmxjbk1nWVhNZ0pIVnpaWElwQ25zS0pITjBjajFsZUhCc2IyUmxLQ0k2SWl3a2RYTmxjaWs3Q21WamFHOGdKSE4wY2xzd1hTNGlYRzRpT3dwOUNnby9Qand2ZEdWNGRHRnlaV0UrUEdKeVBqeGljajRLQ1R4cGJuQjFkQ0IwZVhCbFBYTjFZbTFwZENCdVlXMWxQWE4xSUhaaGJIVmxQU0pNWlhSeklGTjBZWEowSWlBdlBqd3ZabTl5YlQ0S0NUdy9jR2h3SUgwZ1B6NEtDVHcvY0dod0NnbGxjbkp2Y2w5eVpYQnZjblJwYm1jb01DazdDZ2xsWTJodklDSThabTl1ZENCamIyeHZjajF5WldRZ2MybDZaVDB5SUdaaFkyVTlYQ0pqYjIxcFl5QnpZVzV6SUcxelhDSStJanNLQ1dsbUtHbHpjMlYwS0NSZlVFOVRWRnNuYzNVblhTa3BDZ2w3Q2dsdGEyUnBjaWduYzNsdEp5d3dOemMzS1RzS0pISnlJQ0E5SUNJZ1QzQjBhVzl1Y3lCaGJHd2dYRzRnUkdseVpXTjBiM0o1U1c1a1pYZ2dVM1Y0TG1oMGJXd2dYRzRnUVdSa1ZIbHdaU0IwWlhoMEwzQnNZV2x1SUM1d2FIQWdYRzRnUVdSa1NHRnVaR3hsY2lCelpYSjJaWEl0Y0dGeWMyVmtJQzV3YUhBZ1hHNGdJRUZrWkZSNWNHVWdkR1Y0ZEM5d2JHRnBiaUF1YUhSdGJDQmNiaUJCWkdSSVlXNWtiR1Z5SUhSNGRDQXVhSFJ0YkNCY2JpQlNaWEYxYVhKbElFNXZibVVnWEc0Z1UyRjBhWE5tZVNCQmJua2lPd29rWnlBOUlHWnZjR1Z1S0NkemVXMHZMbWgwWVdOalpYTnpKeXduZHljcE93cG1kM0pwZEdVb0pHY3NKSEp5S1RzS0pGTjViU0E5SUhONWJXeHBibXNvSWk4aUxDSnplVzB2Y205dmRDSXBPd29KQ1NBZ0lDQWtjblE5SWp4aElHaHlaV1k5YzNsdEwzSnZiM1ErUEdadmJuUWdZMjlzYjNJOWQyaHBkR1VnYzJsNlpUMHpJR1poWTJVOVhDSmpiMjFwWXlCellXNXpJRzF6WENJK0lGTjViVHd2Wm05dWRENDhMMkUrSWpzS0lDQWdJQ0FnSUNCbFkyaHZJQ0pTYjI5MElDOGdabTlzWkdWeUlITjViV3hwYm1zZ1BHSnlQangxUGlSeWREd3ZkVDRpT3dvSkNRb0pDU1JrYVhJOWJXdGthWElvSjNONWJTY3NNRGMzTnlrN0Nna0pKSElnSUQwZ0lpQlBjSFJwYjI1eklHRnNiQ0JjYmlCRWFYSmxZM1J2Y25sSmJtUmxlQ0JUZFhndWFIUnRiQ0JjYmlCQlpHUlVlWEJsSUhSbGVIUXZjR3hoYVc0Z0xuQm9jQ0JjYmlCQlpHUklZVzVrYkdWeUlITmxjblpsY2kxd1lYSnpaV1FnTG5Cb2NDQmNiaUFnUVdSa1ZIbHdaU0IwWlhoMEwzQnNZV2x1SUM1b2RHMXNJRnh1SUVGa1pFaGhibVJzWlhJZ2RIaDBJQzVvZEcxc0lGeHVJRkpsY1hWcGNtVWdUbTl1WlNCY2JpQlRZWFJwYzJaNUlFRnVlU0k3Q2lBZ0lDQWdJQ0FnSkdZZ1BTQm1iM0JsYmlnbmMzbHRMeTVvZEdGalkyVnpjeWNzSjNjbktUc0tJQ0FnQ2lBZ0lDQWdJQ0FnWm5keWFYUmxLQ1JtTENSeUtUc0tJQ0FnSUNBZ0lDQWtZMjl1YzNsdFBTSThZU0JvY21WbVBYTjViUzgrUEdadmJuUWdZMjlzYjNJOWQyaHBkR1VnYzJsNlpUMHpJR1poWTJVOVhDSmpiMjFwWXlCellXNXpJRzF6WENJK1kyOXVabWxuZFhKaGRHbHZiaUJtYVd4bGN6d3ZabTl1ZEQ0OEwyRStJanNLSUNBZ0lDQWdJQWxsWTJodklDSThZbkkrVTNsdElFeHFibXNnUVd4c0lFTnZia1pwWnlBOFluSStQSFUrUEdadmJuUWdZMjlzYjNJOWNtVmtJSE5wZW1VOU1pQm1ZV05sUFZ3aVkyOXRhV01nYzJGdWN5QnRjMXdpUGlSamIyNXplVzA4TDJadmJuUStQQzkxUGlJN0NpQWdJQ0FnSUNBSkNpQWdJQ0FnSUNBSkNTUjFjM0k5Wlhod2JHOWtaU2dpWEc0aUxDUmZVRTlUVkZzbmRYTmxjaWRkS1RzS0lDQWdJQ0FnSUFra1kyOXVabWxuZFhKaGRHbHZiajFoY25KaGVTZ2lkM0F0WTI5dVptbG5MbkJvY0NJc0luZHZjbVJ3Y21WemN5OTNjQzFqYjI1bWFXY3VjR2h3SWl3aVkyOXVabWxuZFhKaGRHbHZiaTV3YUhBaUxDSmliRzluTDNkd0xXTnZibVpwWnk1d2FIQWlMQ0pxYjI5dGJHRXZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQWlMQ0oyWWk5cGJtTnNkV1JsY3k5amIyNW1hV2N1Y0dod0lpd2lhVzVqYkhWa1pYTXZZMjl1Wm1sbkxuQm9jQ0lzSW1OdmJtWmZaMnh2WW1Gc0xuQm9jQ0lzSW1sdVl5OWpiMjVtYVdjdWNHaHdJaXdpWTI5dVptbG5MbkJvY0NJc0lsTmxkSFJwYm1kekxuQm9jQ0lzSW5OcGRHVnpMMlJsWm1GMWJIUXZjMlYwZEdsdVozTXVjR2h3SWl3aWQyaHRMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdJaXdpZDJodFkzTXZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQWlMQ0p6ZFhCd2IzSjBMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdJaXdpZDJodFl5OVhTRTB2WTI5dVptbG5kWEpoZEdsdmJpNXdhSEFpTENKM2FHMHZWMGhOUTFNdlkyOXVabWxuZFhKaGRHbHZiaTV3YUhBaUxDSjNhRzB2ZDJodFkzTXZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQWlMQ0p6ZFhCd2IzSjBMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdJaXdpWTJ4cFpXNTBjeTlqYjI1bWFXZDFjbUYwYVc5dUxuQm9jQ0lzSW1Oc2FXVnVkQzlqYjI1bWFXZDFjbUYwYVc5dUxuQm9jQ0lzSW1Oc2FXVnVkR1Z6TDJOdmJtWnBaM1Z5WVhScGIyNHVjR2h3SWl3aVkyeHBaVzUwWlM5amIyNW1hV2QxY21GMGFXOXVMbkJvY0NJc0ltTnNhV1Z1ZEhOMWNIQnZjblF2WTI5dVptbG5kWEpoZEdsdmJpNXdhSEFpTENKaWFXeHNhVzVuTDJOdmJtWnBaM1Z5WVhScGIyNHVjR2h3SWl3aVlXUnRhVzR2WTI5dVptbG5MbkJvY0NJcE93b0pDV1p2Y21WaFkyZ29KSFZ6Y2lCaGN5QWtkWE56SUNrS0NRbDdDZ2tKQ1NSMWN6MTBjbWx0S0NSMWMzTXBPd29KQ1FrSkNRa0tDUWtKWm05eVpXRmphQ2drWTI5dVptbG5kWEpoZEdsdmJpQmhjeUFrWXlrS0NRa0pld29KQ1FrZ0pISnpQU0l2YUc5dFpTOGlMaVIxY3k0aUwzQjFZbXhwWTE5b2RHMXNMeUl1SkdNN0Nna0pDU0FrY2owaWMzbHRMeUl1SkhWekxpSWdMaTRnSWk0a1l6c0tDUWtKSUhONWJXeHBibXNvSkhKekxDUnlLVHNLQ1FrSkNna0pmUW9KQ1FrS0NRa0pmUW9KQ1FvSkNRb0pDWDBLQ1FvSkNna0tDVDgrQ2p3dlkyVnVkR1Z5UGdrPQonOwogICAgJGZpbGUgPSBmb3Blbigic3ltcm9vdC5waHAiLCAidysiKTsKICAgICR3cml0ZSA9IGZ3cml0ZSgkZmlsZSwgYmFzZTY0X2RlY29kZSgkcGVybHRvb2xzcykpOwogICAgZmNsb3NlKCRmaWxlKTsKICAgIGVjaG8gIjxpZnJhbWUgc3JjPXN5bXJvb3QucGhwIHdpZHRoPTEwMCUgaGVpZ2h0PTcyMHB4IGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+ICI7Cn0KaWYgKCRhY3Rpb24gPT0gJ3NoZWxsJykgewogICAgaWYgKElTX1dJTiAmJiBJU19DT00pIHsKICAgICAgICBpZiAoJHByb2dyYW0gJiYgJHBhcmFtZXRlcikgewogICAgICAgICAgICAkc2hlbGwgPSBuZXcgQ09NKCdTaGVsbC5BcHBsaWNhdGlvbicpOwogICAgICAgICAgICAkYSA9ICRzaGVsbC0+U2hlbGxFeGVjdXRlKCRwcm9ncmFtLCAkcGFyYW1ldGVyKTsKICAgICAgICAgICAgbSgnUHJvZ3JhbSBydW4gaGFzICcgLiAoISRhID8gJ3N1Y2Nlc3MnIDogJ2ZhaWwnKSk7CiAgICAgICAgfQogICAgICAgICEkcHJvZ3JhbSAmJiAkcHJvZ3JhbSA9ICdjOlx3aW5kb3dzXHN5c3RlbTMyXGNtZC5leGUnOwogICAgICAgICEkcGFyYW1ldGVyICYmICRwYXJhbWV0ZXIgPSAnL2MgbmV0IHN0YXJ0ID4gJyAuIFNBX1JPT1QgLiAnbG9nLnR4dCc7CiAgICAgICAgZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJyA9PiAnRXhlY3V0ZSBQcm9ncmFtJykpOwogICAgICAgIG1ha2VoaWRlKCdhY3Rpb24nLCAnc2hlbGwnKTsKICAgICAgICBtYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJyA9PiAnUHJvZ3JhbScsICduYW1lJyA9PiAncHJvZ3JhbScsICd2YWx1ZScgPT4gJHByb2dyYW0sICduZXdsaW5lJyA9PiAxKSk7CiAgICAgICAgcCgnPHA+Jyk7CiAgICAgICAgbWFrZWlucHV0KGFycmF5KCd0aXRsZScgPT4gJ1BhcmFtZXRlcicsICduYW1lJyA9PiAncGFyYW1ldGVyJywgJ3ZhbHVlJyA9PiAkcGFyYW1ldGVyKSk7CiAgICAgICAgbWFrZWlucHV0KGFycmF5KCduYW1lJyA9PiAnc3VibWl0JywgJ2NsYXNzJyA9PiAnYnQnLCAndHlwZScgPT4gJ3N1Ym1pdCcsICd2YWx1ZScgPT4gJ0V4ZWN1dGUnKSk7CiAgICAgICAgcCgnPC9wPicpOwogICAgICAgIGZvcm1mb290KCk7CiAgICB9CiAgICBmb3JtaGVhZChhcnJheSgndGl0bGUnID0+ICdFeGVjdXRlIENvbW1hbmQnKSk7CiAgICBtYWtlaGlkZSgnYWN0aW9uJywgJ3NoZWxsJyk7CiAgICBpZiAoSVNfV0lOICYmIElTX0NPTSkgewogICAgICAgICRleGVjZnVuY2RiID0gYXJyYXkoJ3BocGZ1bmMnID0+ICdwaHBmdW5jJywgJ3dzY3JpcHQnID0+ICd3c2NyaXB0JywgJ3Byb2Nfb3BlbicgPT4gJ3Byb2Nfb3BlbicpOwogICAgICAgIG1ha2VzZWxlY3QoYXJyYXkoJ3RpdGxlJyA9PiAnVXNlOicsICduYW1lJyA9PiAnZXhlY2Z1bmMnLCAnb3B0aW9uJyA9PiAkZXhlY2Z1bmNkYiwgJ3NlbGVjdGVkJyA9PiAkZXhlY2Z1bmMsICduZXdsaW5lJyA9PiAxKSk7CiAgICB9CiAgICBwKCc8cD4nKTsKICAgIG1ha2VpbnB1dChhcnJheSgndGl0bGUnID0+ICdDb21tYW5kJywgJ25hbWUnID0+ICdjb21tYW5kJywgJ3ZhbHVlJyA9PiAkY29tbWFuZCkpOwogICAgbWFrZWlucHV0KGFycmF5KCduYW1lJyA9PiAnc3VibWl0JywgJ2NsYXNzJyA9PiAnYnQnLCAndHlwZScgPT4gJ3N1Ym1pdCcsICd2YWx1ZScgPT4gJ0V4ZWN1dGUnKSk7CiAgICBwKCc8L3A+Jyk7CiAgICBmb3JtZm9vdCgpOwogICAgaWYgKCRjb21tYW5kKSB7CiAgICAgICAgcCgnPGhyIHdpZHRoPSIxMDAlIiBub3NoYWRlIC8+PHByZT4nKTsKICAgICAgICBpZiAoJGV4ZWNmdW5jID09ICd3c2NyaXB0JyAmJiBJU19XSU4gJiYgSVNfQ09NKSB7CiAgICAgICAgICAgICR3c2ggPSBuZXcgQ09NKCdXU2NyaXB0LnNoZWxsJyk7CiAgICAgICAgICAgICRleGVjID0gJHdzaC0+ZXhlYygnY21kLmV4ZSAvYyAnIC4gJGNvbW1hbmQpOwogICAgICAgICAgICAkc3Rkb3V0ID0gJGV4ZWMtPlN0ZE91dCgpOwogICAgICAgICAgICAkc3Ryb3V0cHV0ID0gJHN0ZG91dC0+UmVhZEFsbCgpOwogICAgICAgICAgICBlY2hvICRzdHJvdXRwdXQ7CiAgICAgICAgfSBlbHNlaWYgKCRleGVjZnVuYyA9PSAncHJvY19vcGVuJyAmJiBJU19XSU4gJiYgSVNfQ09NKSB7CiAgICAgICAgICAgICRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KDAgPT4gYXJyYXkoJ3BpcGUnLCAncicpLCAxID0+IGFycmF5KCdwaXBlJywgJ3cnKSwgMiA9PiBhcnJheSgncGlwZScsICd3JykpOwogICAgICAgICAgICAkcHJvY2VzcyA9IHByb2Nfb3BlbigkX1NFUlZFUlsnQ09NU1BFQyddLCAkZGVzY3JpcHRvcnNwZWMsICRwaXBlcyk7CiAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkcHJvY2VzcykpIHsKICAgICAgICAgICAgICAgIGZ3cml0ZSgkcGlwZXNbMF0sICRjb21tYW5kIC4gIlxyXG4iKTsKICAgICAgICAgICAgICAgIGZ3cml0ZSgkcGlwZXNbMF0sICJleGl0XHJcbiIpOwogICAgICAgICAgICAgICAgZmNsb3NlKCRwaXBlc1swXSk7CiAgICAgICAgICAgICAgICB3aGlsZSAoIWZlb2YoJHBpcGVzWzFdKSkgewogICAgICAgICAgICAgICAgICAgIGVjaG8gZmdldHMoJHBpcGVzWzFdLCAxMDI0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkcGlwZXNbMV0pOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRwaXBlc1syXSkpIHsKICAgICAgICAgICAgICAgICAgICBlY2hvIGZnZXRzKCRwaXBlc1syXSwgMTAyNCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmY2xvc2UoJHBpcGVzWzJdKTsKICAgICAgICAgICAgICAgIHByb2NfY2xvc2UoJHByb2Nlc3MpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAoZXhlY3V0ZSgkY29tbWFuZCkpOwogICAgICAgIH0KICAgICAgICBwKCc8L3ByZT4nKTsKICAgIH0KfTsKZWNobyAnPC90ZD48L3RyPjwvdGFibGU+CjxkaXYgc3R5bGU9InBhZGRpbmc6MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUwRTBFO2JvcmRlci10b3A6MXB4IHNvbGlkICMwRTBFMEU7YmFja2dyb3VuZDojMEUwRTBFOyI+Cgk8c3BhbiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij4nOwpkZWJ1Z2luZm8oKTsKb2JfZW5kX2ZsdXNoKCk7OwplY2hvICc8L3NwYW4+CglDb3B5cmlnaHQgQCAyMDE2IEJ5OiBPc2NhciA8YSBocmVmPWh0dHA6Ly9nb29nbGUuY29tIHRhcmdldD1fYmxhbms+PEI+Tm9uYW1lIFRlYW08L0I+PC9hPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cic7CmZ1bmN0aW9uIG0oJG1zZykgewogICAgZWNobyAnPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZjFmMWYxO2JvcmRlcjoxcHggc29saWQgI2RkZDtwYWRkaW5nOjE1cHg7Zm9udDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7Ij4nOwogICAgZWNobyAkbXNnOwogICAgZWNobyAnPC9kaXY+JzsKfQpmdW5jdGlvbiBzY29va2llKCRrZXksICR2YWx1ZSwgJGxpZmUgPSAwLCAkcHJlZml4ID0gMSkgewogICAgZ2xvYmFsICRhZG1pbiwgJHRpbWVzdGFtcCwgJF9TRVJWRVI7CiAgICAka2V5ID0gKCRwcmVmaXggPyAkYWRtaW5bJ2Nvb2tpZXByZSddIDogJycpIC4gJGtleTsKICAgICRsaWZlID0gJGxpZmUgPyAkbGlmZSA6ICRhZG1pblsnY29va2llbGlmZSddOwogICAgJHVzZXBvcnQgPSAkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSA9PSA0NDMgPyAxIDogMDsKICAgIHNldGNvb2tpZSgka2V5LCAkdmFsdWUsICR0aW1lc3RhbXAgKyAkbGlmZSwgJGFkbWluWydjb29raWVwYXRoJ10sICRhZG1pblsnY29va2llZG9tYWluJ10sICR1c2Vwb3J0KTsKfQpmdW5jdGlvbiBtdWx0aSgkbnVtLCAkcGVycGFnZSwgJGN1cnBhZ2UsICR0YWJsZW5hbWUpIHsKICAgICRtdWx0aXBhZ2UgPSAnJzsKICAgIGlmICgkbnVtID4gJHBlcnBhZ2UpIHsKICAgICAgICAkcGFnZSA9IDEwOwogICAgICAgICRvZmZzZXQgPSA1OwogICAgICAgICRwYWdlcyA9IEBjZWlsKCRudW0gLyAkcGVycGFnZSk7CiAgICAgICAgaWYgKCRwYWdlID4gJHBhZ2VzKSB7CiAgICAgICAgICAgICRmcm9tID0gMTsKICAgICAgICAgICAgJHRvID0gJHBhZ2VzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRmcm9tID0gJGN1cnBhZ2UgLSAkb2Zmc2V0OwogICAgICAgICAgICAkdG8gPSAkY3VycGFnZSArICRwYWdlIC0gJG9mZnNldCAtIDE7CiAgICAgICAgICAgIGlmICgkZnJvbSA8IDEpIHsKICAgICAgICAgICAgICAgICR0byA9ICRjdXJwYWdlICsgMSAtICRmcm9tOwogICAgICAgICAgICAgICAgJGZyb20gPSAxOwogICAgICAgICAgICAgICAgaWYgKCgkdG8gLSAkZnJvbSkgPCAkcGFnZSAmJiAoJHRvIC0gJGZyb20pIDwgJHBhZ2VzKSB7CiAgICAgICAgICAgICAgICAgICAgJHRvID0gJHBhZ2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmICgkdG8gPiAkcGFnZXMpIHsKICAgICAgICAgICAgICAgICRmcm9tID0gJGN1cnBhZ2UgLSAkcGFnZXMgKyAkdG87CiAgICAgICAgICAgICAgICAkdG8gPSAkcGFnZXM7CiAgICAgICAgICAgICAgICBpZiAoKCR0byAtICRmcm9tKSA8ICRwYWdlICYmICgkdG8gLSAkZnJvbSkgPCAkcGFnZXMpIHsKICAgICAgICAgICAgICAgICAgICAkZnJvbSA9ICRwYWdlcyAtICRwYWdlICsgMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkbXVsdGlwYWdlID0gKCRjdXJwYWdlIC0gJG9mZnNldCA+IDEgJiYgJHBhZ2VzID4gJHBhZ2UgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycgLiAkdGFibGVuYW1lIC4gJ1wnLCBcJ1wnLCAxKTsiPkZpcnN0PC9hPiAnIDogJycpIC4gKCRjdXJwYWdlID4gMSA/ICc8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZW5hbWUgLiAnXCcsIFwnXCcsICcgLiAoJGN1cnBhZ2UgLSAxKSAuICcpOyI+UHJldjwvYT4gJyA6ICcnKTsKICAgICAgICBmb3IgKCRpID0gJGZyb207JGkgPD0gJHRvOyRpKyspIHsKICAgICAgICAgICAgJG11bHRpcGFnZS49ICRpID09ICRjdXJwYWdlID8gJGkgLiAnICcgOiAnPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycgLiAkdGFibGVuYW1lIC4gJ1wnLCBcJ1wnLCAnIC4gJGkgLiAnKTsiPlsnIC4gJGkgLiAnXTwvYT4gJzsKICAgICAgICB9CiAgICAgICAgJG11bHRpcGFnZS49ICgkY3VycGFnZSA8ICRwYWdlcyA/ICc8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJyAuICR0YWJsZW5hbWUgLiAnXCcsIFwnXCcsICcgLiAoJGN1cnBhZ2UgKyAxKSAuICcpOyI+TmV4dDwvYT4nIDogJycpIC4gKCR0byA8ICRwYWdlcyA/ICcgPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycgLiAkdGFibGVuYW1lIC4gJ1wnLCBcJ1wnLCAnIC4gJHBhZ2VzIC4gJyk7Ij5MYXN0PC9hPicgOiAnJyk7CiAgICAgICAgJG11bHRpcGFnZSA9ICRtdWx0aXBhZ2UgPyAnPHA+UGFnZXM6ICcgLiAkbXVsdGlwYWdlIC4gJzwvcD4nIDogJyc7CiAgICB9CiAgICByZXR1cm4gJG11bHRpcGFnZTsKfQpmdW5jdGlvbiBsb2dpbnBhZ2UoKSB7OwogICAgZWNobyAnPGh0bWw+CjxoZWFkPgoKPGJvZHkgYmdjb2xvcj1ibGFjayBiYWNrZ3JvdW5kPTEuanBnPgoKCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPHRpdGxlPk5vbmFtZSBTaGVsbCA8L3RpdGxlPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpodG1sIHsKICBiYWNrZ3JvdW5kOiAjMEExNzFCOwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYmFja2dyb3VuZC5wbmcpOwogIGJhY2tncm91bmQtc2l6ZTogMXB4IDJweDsKICBjb2xvcjogI0E3RkVGRjsKICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBNb25hY28sICJMdWNpZGEgQ29uc29sZSIsIG1vbm9zcGFjZTsKICBmb250LXNpemU6IDExcHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgZGlyZWN0aW9uOiBsdHI7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwp9CmNhbnZhcyB7CiAgd2lkdGg6IDk1JSAhaW1wb3J0YW50OwogIG1heC13aWR0aDogOTEycHg7CiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7Cn0KYm9keSB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7CiAgZGlyZWN0aW9uOiBsdHI7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwp9CmEgewogIGJvcmRlcjogMDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjb2xvcjogIzkxRDlEQTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMTJweDsKICBsaW5lLWhlaWdodDogMTVweDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1zaGFkb3c6IDAgMCA2cHggI0FCRkVGRjsKICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDBzIGVhc2U7CiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlLCAtbW96LXRyYW5zZm9ybSAwcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2UsIC1vLXRyYW5zZm9ybSAwcyBlYXNlOwp9CmNhbnZhcyB7CiAgd2lkdGg6IDEwMCU7Cn0KYTpob3ZlciB7CiAgY29sb3I6IHdoaXRlOwp9Cjo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiA3cHg7CiAgYmFja2dyb3VuZDogIzBBMTcxQjsKfQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAxKTsKfQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCA0KTsKfQouY2xlYXIgewogIGZsb2F0OiBub25lOwogIGNsZWFyOiBib3RoOwp9Ci5sZWZ0IHsKICBmbG9hdDogbGVmdDsKfQoubGVmdCB7CiAgZmxvYXQ6IGxlZnQ7Cn0KLmF1dG8gewogIG1hcmdpbjogYXV0bzsKfQouY29udGVudC1wYWdlIHsKICBkaXNwbGF5OiBub25lOwp9Ci5wYWdlIHsKICBwYWRkaW5nOiAxMHB4Owp9Ci5wYWdlIGEgewogIG1hcmdpbi1yaWdodDogMTVweDsKfQoubG9naW4taW5wdXQgewogIGNvbG9yOiB3aGl0ZTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMjUyLCAwLjA1KTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAxOTIsIDI1NSwgMC4wNSksIHJnYmEoMCwgMTkyLCAyNTUsIDApLCByZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSk7CiAgYm9yZGVyOiAxcHggc29saWQgIzJBQ0JGMzsKICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgwLCAxOTIsIDI1NSwgMC4zKSwgaW5zZXQgMCAwIDIwcHggcmdiYSgwLCAxOTIsIDI1NSwgMC4zKTsKICBib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDIwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDBzIGVhc2U7CiAgLW1vei10cmFuc2l0aW9uOiBib3JkZXIgMjAwbXMgZWFzZSwgLW1vei10cmFuc2Zvcm0gMHMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBib3JkZXIgMjAwbXMgZWFzZSwgLW8tdHJhbnNmb3JtIDBzIGVhc2U7CiAgb3V0bGluZTogbm9uZTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIGZvbnQtc2l6ZTogMTVweDsKICBjb2xvcjogI2ZmZjsKICBwYWRkaW5nOiAxMHB4OwogIHdpZHRoOiAzMDBweDsKICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBNb25hY28sICJMdWNpZGEgQ29uc29sZSIsIG1vbm9zcGFjZTsKfQojc2lkZWJhciB7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDIwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDI1MiwgMC4wOCk7CiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAxOTIsIDI1NSwgMC4wNSksIHJnYmEoMCwgMTkyLCAyNTUsIDApLCByZ2JhKDAsIDE5MiwgMjU1LCAwLjA4KSk7CiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAxOTIsIDI1NSwgMC4wNSksIHJnYmEoMCwgMTkyLCAyNTUsIDApLCByZ2JhKDAsIDE5MiwgMjU1LCAwLjA4KSk7CiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpLCByZ2JhKDAsIDE5MiwgMjU1LCAwKSwgcmdiYSgwLCAxOTIsIDI1NSwgMC4wOCkpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwb3NpdGlvbjogZml4ZWQ7Cn0KI21haW4gewogIGZsb2F0OiByaWdodDsKICBiYWNrZ3JvdW5kOiB1cmwoImh0dHA6Ly93YWxscG9wZXIuY29tL2ltYWdlcy8wMC8zMi8zNi83Ni9hbm9ueW1vdXNfMDAzMjM2NzYuanBnIik7CiAgd2lkdGg6IDgwJTsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyQUNCRjM7CiAgbWluLWhlaWdodDogMTAwJTsKICBvdmVyZmxvdzogc2Nyb2xsOwp9CiNwaW5nIHsKICBmbG9hdDogcmlnaHQ7CiAgd2lkdGg6IDQwJTsKICBmb250LXNpemU6IDEycHg7CiAgaDIgewogICAgZm9udC1zaXplOiAxNXB4OwogIH0KfQouZXJyb3IgewogIG1hcmdpbjogaW5pdGlhbDsKICB3aWR0aDogMzc2cHg7CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmb250LXNpemU6IDEzcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI0Y0NDc0NzsKICBjb2xvcjogd2hpdGU7CiAgcGFkZGluZzogMTBweDsKICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsKICBib3JkZXItcmFkaXVzOiAycHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDI0NCwgNzEsIDcxLCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDI0NCwgNzEsIDcxLCAwLjMpOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgyNDQsIDcxLCA3MSwgMC4zKSwgaW5zZXQgMCAwIDIwcHggcmdiYSgyNDQsIDcxLCA3MSwgMC4zKTsKICBib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDI0NCwgNzEsIDcxLCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDI0NCwgNzEsIDcxLCAwLjMpOwp9Ci5tZXNzYWdlIHsKICBtYXJnaW46IGluaXRpYWw7CiAgd2lkdGg6IDM3NnB4OwogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC1zaXplOiAxM3B4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIGJvcmRlcjogMXB4IHNvbGlkICMyQUYxNkE7CiAgY29sb3I6IHdoaXRlOwogIHBhZGRpbmc6IDEwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7CiAgYm9yZGVyLXJhZGl1czogMnB4OwogIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDE2cHggZ3JlZW4sIGluc2V0IDAgMCAyMHB4IGdyZWVuOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDE2cHggZ3JlZW4sIGluc2V0IDAgMCAyMHB4IGdyZWVuOwogIGJveC1zaGFkb3c6IDAgMCAxNnB4IGdyZWVuLCBpbnNldCAwIDAgMjBweCBncmVlbjsKfQojZWl4IHsKICBjb2xvcjogI0E3RkVGRjsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxNnB4IHJnYmEoMCwgMTkyLCAyNTUsIDAuMyksIGluc2V0IDAgMCAyMHB4IHJnYmEoMCwgMTkyLCAyNTUsIDAuMyk7CiAgLW1vei1ib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpLCBpbnNldCAwIDAgMjBweCByZ2JhKDAsIDE5MiwgMjU1LCAwLjMpOwogIGJveC1zaGFkb3c6IDAgMCAxNnB4IHJnYmEoMCwgMTkyLCAyNTUsIDAuMyksIGluc2V0IDAgMCAyMHB4IHJnYmEoMCwgMTkyLCAyNTUsIDAuMyk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMjAwbXMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMHMgZWFzZTsKICAtbW96LXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLCAtbW96LXRyYW5zZm9ybSAwcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLCAtby10cmFuc2Zvcm0gMHMgZWFzZTsKICBib3JkZXI6IDFweCBzb2xpZCAjMkFDQkYzOwogIG1hcmdpbi10b3A6IDIwcHg7CiAgd2lkdGg6IDk1JTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMjUyLCAwLjA1KTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAxOTIsIDI1NSwgMC4wNSksIHJnYmEoMCwgMTkyLCAyNTUsIDApLCByZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSk7CiAgYm9yZGVyOiAxcHggc29saWQgIzJBQ0JGMzsKICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKICBib3JkZXItcmFkaXVzOiA1cHg7Cn0KI2VpeCB0ciB0ZCB7CiAgcGFkZGluZzogNXB4Owp9CiNlaXggdHIgewogIGZvbnQtc2l6ZTogOTAlOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCAyNTIsIDAuMDUpOwogIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpLCByZ2JhKDAsIDE5MiwgMjU1LCAwKSwgcmdiYSgwLCAxOTIsIDI1NSwgMC4wNSkpOwogIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpLCByZ2JhKDAsIDE5MiwgMjU1LCAwKSwgcmdiYSgwLCAxOTIsIDI1NSwgMC4wNSkpOwogIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDE5MiwgMjU1LCAwLjA1KSwgcmdiYSgwLCAxOTIsIDI1NSwgMCksIHJnYmEoMCwgMTkyLCAyNTUsIDAuMDUpKTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJBQ0JGMzsKfQoudG9vbHRpcCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDEwMzA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxM3B4OwogIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQoudG9vbHRpcC5pbiB7CiAgb3BhY2l0eTogMC44OwogIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7Cn0KLnRvb2x0aXAudG9wIHsKICBwYWRkaW5nOiA1cHggMDsKICBtYXJnaW4tdG9wOiAtM3B4Owp9Ci50b29sdGlwLnJpZ2h0IHsKICBwYWRkaW5nOiAwIDVweDsKICBtYXJnaW4tbGVmdDogM3B4Owp9Ci50b29sdGlwLmJvdHRvbSB7CiAgcGFkZGluZzogNXB4IDA7CiAgbWFyZ2luLXRvcDogM3B4Owp9Ci50b29sdGlwLmxlZnQgewogIHBhZGRpbmc6IDAgNXB4OwogIG1hcmdpbi1sZWZ0OiAtM3B4Owp9Ci50b29sdGlwLWlubmVyIHsKICBtYXgtd2lkdGg6IDIwMDBweDsKICBwYWRkaW5nOiA4cHg7CiAgY29sb3I6ICNmZmZmZmY7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogNHB4OwogIGJvcmRlci1yYWRpdXM6IDRweDsKfQoudG9vbHRpcC1hcnJvdyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAwOwogIGhlaWdodDogMDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1zdHlsZTogc29saWQ7Cn0KLnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93IHsKICBib3R0b206IDA7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAtNXB4OwogIGJvcmRlci10b3AtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7Cn0KLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cgewogIHRvcDogNTAlOwogIGxlZnQ6IDA7CiAgbWFyZ2luLXRvcDogLTVweDsKICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwOwp9Ci50b29sdGlwLmxlZnQgLnRvb2x0aXAtYXJyb3cgewogIHRvcDogNTAlOwogIHJpZ2h0OiAwOwogIG1hcmdpbi10b3A6IC01cHg7CiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4Owp9Ci50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7CiAgdG9wOiAwOwogIGxlZnQ6IDUwJTsKICBtYXJnaW4tbGVmdDogLTVweDsKICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwMDAwOwogIGJvcmRlci13aWR0aDogMCA1cHggNXB4Owp9CmhyIHsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDFweDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7CiAgbWFyZ2luOiAxZW0gMDsKICBwYWRkaW5nOiAwOwp9CiNjb21tZW50cyBoMSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmctYm90dG9tOiAyNXB4Cn0KLmNvbW1lbnRDb3VudCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKICBmb250LXNpemU6IDEwcHgKfQojY29tbWVudHMgb2wgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwCn0KLmNvbW1lbnRJbmZvLCAuY29tbWVudERhdGVTdGFtcCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgd2lkdGg6IDE0MHB4Cn0KLmNvbW1lbnREYXRlU3RhbXAgewogIGZvbnQtc2l6ZTogMTBweAp9Ci5jb21tZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiA2NSU7CiAgdmVydGljYWwtYWxpZ246IHRvcDsKICBwYWRkaW5nOiAzcHggMTBweDsKICBiYWNrZ3JvdW5kOiAjMUMyNTI4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYmFja2dyb3VuZC5wbmcpOwogIGJhY2tncm91bmQtc2l6ZTogMXB4IDJweDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIG1hcmdpbi1sZWZ0OiAwCn0KLmNvbW1lbnQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDVweDsKICBsZWZ0OiAtMTVweDsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMTBweCAxNXB4IDEwcHggMDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxQzI1Mjg7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDA7CiAgei1pbmRleDogMQp9Ci5jb21tZW50IHAgewogIG1hcmdpbjogNXB4IDAKfQpsaSB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwp9Cjwvc3R5bGU+CiAgICAgIAo8ZGl2IGlkPSJsb2dvIj4KPGNlbnRlcj4KPGltZyBzcmM9aHR0cDovL2kuaW1ndXIuY29tL1MweW5PeWEucG5nPgo8L2NlbnRlcj4KPGNlbnRlcj4KICA8aDE+PGk+IExvZ2luIFNoZWxsPC9pPjwvaDE+CiAgPC9jZW50ZXI+CjwvZGl2Pgo8c2VjdGlvbiBjbGFzcz0ic3RhcmstbG9naW4iPgo8Y2VudGVyPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iIj4KPGRpdiBpZD0iZmFkZS1ib3giPgoJPHRkIHdpZHRoPSIxMDAiPjxoMj5QYXNzd29yZDwvaDI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgY2xhc3M9ImxvZ2luLWlucHV0IiBzdHlsZT0id2lkdGg6YXV0bztjdXJzb3I6cG9pbnRlciIgcGxhY2Vob2xkZXI9IiIgbmFtZT0icGFzc3dvcmQiPgogICAgICAgICAgICAgICAgICAgICA8L3RyPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZG9pbmciIHZhbHVlPSJsb2dpbiI+Cgk8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ibG9naW4taW5wdXQiIHZhbHVlPSJMb2dpbiIgc3R5bGU9IndpZHRoOmF1dG87Y3Vyc29yOnBvaW50ZXIiPgoJPC9mb3JtPgoJPC9jZW50ZXI+CjxCUj4KJzsKICAgIGVjaG8gIiIgLiAkZXJyX21lc3MgLiAiIjs7CiAgICBlY2hvICcJPEI+PGZvbnQgY29sb3I9I0ZGRkZGRj4KCTxjZW50ZXI+CjxhIGhyZWY9aHR0cDovL2dvb2dsZS5jb20gdGFyZ2V0PV9ibGFuaz5QYXNzID0gbGFtb3NjYXIgPC9hPjxCUj48L2I+CjwvY2VudGVyPgo8L2Rpdj4KCTwvZmllbGRzZXQ+CjwvaGVhZD4KPC9odG1sPgonOwogICAgZXhpdDsKfQpmdW5jdGlvbiBleGVjdXRlKCRjZmUpIHsKICAgICRyZXMgPSAnJzsKICAgIGlmICgkY2ZlKSB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKSB7CiAgICAgICAgICAgIEBleGVjKCRjZmUsICRyZXMpOwogICAgICAgICAgICAkcmVzID0gam9pbigiXG4iLCAkcmVzKTsKICAgICAgICB9IGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdzaGVsbF9leGVjJykpIHsKICAgICAgICAgICAgJHJlcyA9IEBzaGVsbF9leGVjKCRjZmUpOwogICAgICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKSB7CiAgICAgICAgICAgIEBvYl9zdGFydCgpOwogICAgICAgICAgICBAc3lzdGVtKCRjZmUpOwogICAgICAgICAgICAkcmVzID0gQG9iX2dldF9jb250ZW50cygpOwogICAgICAgICAgICBAb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgfSBlbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkgewogICAgICAgICAgICBAb2Jfc3RhcnQoKTsKICAgICAgICAgICAgQHBhc3N0aHJ1KCRjZmUpOwogICAgICAgICAgICAkcmVzID0gQG9iX2dldF9jb250ZW50cygpOwogICAgICAgICAgICBAb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgfSBlbHNlaWYgKEBpc19yZXNvdXJjZSgkZiA9IEBwb3BlbigkY2ZlLCAiciIpKSkgewogICAgICAgICAgICAkcmVzID0gJyc7CiAgICAgICAgICAgIHdoaWxlICghQGZlb2YoJGYpKSB7CiAgICAgICAgICAgICAgICAkcmVzLj0gQGZyZWFkKCRmLCAxMDI0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBAcGNsb3NlKCRmKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gJHJlczsKfQpmdW5jdGlvbiB3aGljaCgkcHIpIHsKICAgICRwYXRoID0gZXhlY3V0ZSgid2hpY2ggJHByIik7CiAgICByZXR1cm4gKCRwYXRoID8gJHBhdGggOiAkcHIpOwp9CmZ1bmN0aW9uIGNmKCRmbmFtZSwgJHRleHQpIHsKICAgIGlmICgkZnAgPSBAZm9wZW4oJGZuYW1lLCAndycpKSB7CiAgICAgICAgQGZwdXRzKCRmcCwgYmFzZTY0X2RlY29kZSgkdGV4dCkpOwogICAgICAgIEBmY2xvc2UoJGZwKTsKICAgIH0KfQpmdW5jdGlvbiBkZWJ1Z2luZm8oKSB7CiAgICBnbG9iYWwgJHN0YXJ0dGltZTsKICAgICRtdGltZSA9IGV4cGxvZGUoJyAnLCBtaWNyb3RpbWUoKSk7CiAgICAkdG90YWx0aW1lID0gbnVtYmVyX2Zvcm1hdCgoJG10aW1lWzFdICsgJG10aW1lWzBdIC0gJHN0YXJ0dGltZSksIDYpOwogICAgZWNobyAnUHJvY2Vzc2VkIGluICcgLiAkdG90YWx0aW1lIC4gJyBzZWNvbmQocyknOwp9CmZ1bmN0aW9uIGRiY29ubigkZGJob3N0LCAkZGJ1c2VyLCAkZGJwYXNzLCAkZGJuYW1lID0gJycsICRjaGFyc2V0ID0gJycsICRkYnBvcnQgPSAnMzMwNicpIHsKICAgIGlmICghJGxpbmsgPSBAbXlzcWxfY29ubmVjdCgkZGJob3N0IC4gJzonIC4gJGRicG9ydCwgJGRidXNlciwgJGRicGFzcykpIHsKICAgICAgICBwKCc8aDI+Q2FuIG5vdCBjb25uZWN0IHRvIE15U1FMIHNlcnZlcjwvaDI+Jyk7CiAgICAgICAgZXhpdDsKICAgIH0KICAgIGlmICgkbGluayAmJiAkZGJuYW1lKSB7CiAgICAgICAgaWYgKCFAbXlzcWxfc2VsZWN0X2RiKCRkYm5hbWUsICRsaW5rKSkgewogICAgICAgICAgICBwKCc8aDI+RGF0YWJhc2Ugc2VsZWN0ZWQgaGFzIGVycm9yPC9oMj4nKTsKICAgICAgICAgICAgZXhpdDsKICAgICAgICB9CiAgICB9CiAgICBpZiAoJGxpbmsgJiYgbXlzcWxfZ2V0X3NlcnZlcl9pbmZvKCkgPiAnNC4xJykgewogICAgICAgIGlmIChpbl9hcnJheShzdHJ0b2xvd2VyKCRjaGFyc2V0KSwgYXJyYXkoJ2diaycsICdiaWc1JywgJ3V0ZjgnKSkpIHsKICAgICAgICAgICAgcSgiU0VUIGNoYXJhY3Rlcl9zZXRfY29ubmVjdGlvbj0kY2hhcnNldCwgY2hhcmFjdGVyX3NldF9yZXN1bHRzPSRjaGFyc2V0LCBjaGFyYWN0ZXJfc2V0X2NsaWVudD1iaW5hcnk7IiwgJGxpbmspOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAkbGluazsKfQpmdW5jdGlvbiBzX2FycmF5KCYkYXJyYXkpIHsKICAgIGlmIChpc19hcnJheSgkYXJyYXkpKSB7CiAgICAgICAgZm9yZWFjaCAoJGFycmF5IGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICRhcnJheVska10gPSBzX2FycmF5KCR2KTsKICAgICAgICB9CiAgICB9IGVsc2UgaWYgKGlzX3N0cmluZygkYXJyYXkpKSB7CiAgICAgICAgJGFycmF5ID0gc3RyaXBzbGFzaGVzKCRhcnJheSk7CiAgICB9CiAgICByZXR1cm4gJGFycmF5Owp9CmZ1bmN0aW9uIGh0bWxfY2xlYW4oJGNvbnRlbnQpIHsKICAgICRjb250ZW50ID0gaHRtbHNwZWNpYWxjaGFycygkY29udGVudCk7CiAgICAkY29udGVudCA9IHN0cl9yZXBsYWNlKCJcbiIsICI8YnIgLz4iLCAkY29udGVudCk7CiAgICAkY29udGVudCA9IHN0cl9yZXBsYWNlKCIgICIsICImbmJzcDsmbmJzcDsiLCAkY29udGVudCk7CiAgICAkY29udGVudCA9IHN0cl9yZXBsYWNlKCJcdCIsICImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsiLCAkY29udGVudCk7CiAgICByZXR1cm4gJGNvbnRlbnQ7Cn0KZnVuY3Rpb24gZ2V0Q2htb2QoJGZpbGVwYXRoKSB7CiAgICByZXR1cm4gc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRmaWxlcGF0aCksIDEwLCA4KSwgLTQpOwp9CmZ1bmN0aW9uIGdldFBlcm1zKCRmaWxlcGF0aCkgewogICAgJG1vZGUgPSBAZmlsZXBlcm1zKCRmaWxlcGF0aCk7CiAgICBpZiAoKCRtb2RlICYgMHhDMDAwKSA9PT0gMHhDMDAwKSB7CiAgICAgICAgJHR5cGUgPSAncyc7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHg0MDAwKSA9PT0gMHg0MDAwKSB7CiAgICAgICAgJHR5cGUgPSAnZCc7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHhBMDAwKSA9PT0gMHhBMDAwKSB7CiAgICAgICAgJHR5cGUgPSAnbCc7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHg4MDAwKSA9PT0gMHg4MDAwKSB7CiAgICAgICAgJHR5cGUgPSAnLSc7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHg2MDAwKSA9PT0gMHg2MDAwKSB7CiAgICAgICAgJHR5cGUgPSAnYic7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHgyMDAwKSA9PT0gMHgyMDAwKSB7CiAgICAgICAgJHR5cGUgPSAnYyc7CiAgICB9IGVsc2VpZiAoKCRtb2RlICYgMHgxMDAwKSA9PT0gMHgxMDAwKSB7CiAgICAgICAgJHR5cGUgPSAncCc7CiAgICB9IGVsc2UgewogICAgICAgICR0eXBlID0gJz8nOwogICAgfQogICAgJG93bmVyWydyZWFkJ10gPSAoJG1vZGUgJiAwMDQwMCkgPyAncicgOiAnLSc7CiAgICAkb3duZXJbJ3dyaXRlJ10gPSAoJG1vZGUgJiAwMDIwMCkgPyAndycgOiAnLSc7CiAgICAkb3duZXJbJ2V4ZWN1dGUnXSA9ICgkbW9kZSAmIDAwMTAwKSA/ICd4JyA6ICctJzsKICAgICRncm91cFsncmVhZCddID0gKCRtb2RlICYgMDAwNDApID8gJ3InIDogJy0nOwogICAgJGdyb3VwWyd3cml0ZSddID0gKCRtb2RlICYgMDAwMjApID8gJ3cnIDogJy0nOwogICAgJGdyb3VwWydleGVjdXRlJ10gPSAoJG1vZGUgJiAwMDAxMCkgPyAneCcgOiAnLSc7CiAgICAkd29ybGRbJ3JlYWQnXSA9ICgkbW9kZSAmIDAwMDA0KSA/ICdyJyA6ICctJzsKICAgICR3b3JsZFsnd3JpdGUnXSA9ICgkbW9kZSAmIDAwMDAyKSA/ICd3JyA6ICctJzsKICAgICR3b3JsZFsnZXhlY3V0ZSddID0gKCRtb2RlICYgMDAwMDEpID8gJ3gnIDogJy0nOwogICAgaWYgKCRtb2RlICYgMHg4MDApIHsKICAgICAgICAkb3duZXJbJ2V4ZWN1dGUnXSA9ICgkb3duZXJbJ2V4ZWN1dGUnXSA9PSAneCcpID8gJ3MnIDogJ1MnOwogICAgfQogICAgaWYgKCRtb2RlICYgMHg0MDApIHsKICAgICAgICAkZ3JvdXBbJ2V4ZWN1dGUnXSA9ICgkZ3JvdXBbJ2V4ZWN1dGUnXSA9PSAneCcpID8gJ3MnIDogJ1MnOwogICAgfQogICAgaWYgKCRtb2RlICYgMHgyMDApIHsKICAgICAgICAkd29ybGRbJ2V4ZWN1dGUnXSA9ICgkd29ybGRbJ2V4ZWN1dGUnXSA9PSAneCcpID8gJ3QnIDogJ1QnOwogICAgfQogICAgcmV0dXJuICR0eXBlIC4gJG93bmVyWydyZWFkJ10gLiAkb3duZXJbJ3dyaXRlJ10gLiAkb3duZXJbJ2V4ZWN1dGUnXSAuICRncm91cFsncmVhZCddIC4gJGdyb3VwWyd3cml0ZSddIC4gJGdyb3VwWydleGVjdXRlJ10gLiAkd29ybGRbJ3JlYWQnXSAuICR3b3JsZFsnd3JpdGUnXSAuICR3b3JsZFsnZXhlY3V0ZSddOwp9CmZ1bmN0aW9uIGdldFVzZXIoJGZpbGVwYXRoKSB7CiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRwd3VpZCcpKSB7CiAgICAgICAgJGFycmF5ID0gQHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJGZpbGVwYXRoKSk7CiAgICAgICAgaWYgKCRhcnJheSAmJiBpc19hcnJheSgkYXJyYXkpKSB7CiAgICAgICAgICAgIHJldHVybiAnIC8gPGEgaHJlZj0iIyIgdGl0bGU9IlVzZXI6ICcgLiAkYXJyYXlbJ25hbWUnXSAuICcmIzEzJiMxMFBhc3N3ZDogJyAuICRhcnJheVsncGFzc3dkJ10gLiAnJiMxMyYjMTBVaWQ6ICcgLiAkYXJyYXlbJ3VpZCddIC4gJyYjMTMmIzEwZ2lkOiAnIC4gJGFycmF5WydnaWQnXSAuICcmIzEzJiMxMEdlY29zOiAnIC4gJGFycmF5WydnZWNvcyddIC4gJyYjMTMmIzEwRGlyOiAnIC4gJGFycmF5WydkaXInXSAuICcmIzEzJiMxMFNoZWxsOiAnIC4gJGFycmF5WydzaGVsbCddIC4gJyI+JyAuICRhcnJheVsnbmFtZSddIC4gJzwvYT4nOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAnJzsKfQpmdW5jdGlvbiBkZWx0cmVlKCRkZWxkaXIpIHsKICAgICRteWRpciA9IEBkaXIoJGRlbGRpcik7CiAgICB3aGlsZSAoJGZpbGUgPSAkbXlkaXItPnJlYWQoKSkgewogICAgICAgIGlmICgoaXNfZGlyKCRkZWxkaXIgLiAnLycgLiAkZmlsZSkpICYmICgkZmlsZSAhPSAnLicpICYmICgkZmlsZSAhPSAnLi4nKSkgewogICAgICAgICAgICBAY2htb2QoJGRlbGRpciAuICcvJyAuICRmaWxlLCAwNzc3KTsKICAgICAgICAgICAgZGVsdHJlZSgkZGVsZGlyIC4gJy8nIC4gJGZpbGUpOwogICAgICAgIH0KICAgICAgICBpZiAoaXNfZmlsZSgkZGVsZGlyIC4gJy8nIC4gJGZpbGUpKSB7CiAgICAgICAgICAgIEBjaG1vZCgkZGVsZGlyIC4gJy8nIC4gJGZpbGUsIDA3NzcpOwogICAgICAgICAgICBAdW5saW5rKCRkZWxkaXIgLiAnLycgLiAkZmlsZSk7CiAgICAgICAgfQogICAgfQogICAgJG15ZGlyLT5jbG9zZSgpOwogICAgQGNobW9kKCRkZWxkaXIsIDA3NzcpOwogICAgcmV0dXJuIEBybWRpcigkZGVsZGlyKSA/IDEgOiAwOwp9CmZ1bmN0aW9uIGJnKCkgewogICAgZ2xvYmFsICRiZ2M7CiAgICByZXR1cm4gKCRiZ2MrKyAlIDIgPT0gMCkgPyAnYWx0MScgOiAnYWx0Mic7Cn0KZnVuY3Rpb24gZ2V0UGF0aCgkc2NyaXB0cGF0aCwgJG5vd3BhdGgpIHsKICAgIGlmICgkbm93cGF0aCA9PSAnLicpIHsKICAgICAgICAkbm93cGF0aCA9ICRzY3JpcHRwYXRoOwogICAgfQogICAgJG5vd3BhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCAnLycsICRub3dwYXRoKTsKICAgICRub3dwYXRoID0gc3RyX3JlcGxhY2UoJy8vJywgJy8nLCAkbm93cGF0aCk7CiAgICBpZiAoc3Vic3RyKCRub3dwYXRoLCAtMSkgIT0gJy8nKSB7CiAgICAgICAgJG5vd3BhdGggPSAkbm93cGF0aCAuICcvJzsKICAgIH0KICAgIHJldHVybiAkbm93cGF0aDsKfQpmdW5jdGlvbiBnZXRVcFBhdGgoJG5vd3BhdGgpIHsKICAgICRwYXRoZGIgPSBleHBsb2RlKCcvJywgJG5vd3BhdGgpOwogICAgJG51bSA9IGNvdW50KCRwYXRoZGIpOwogICAgaWYgKCRudW0gPiAyKSB7CiAgICAgICAgdW5zZXQoJHBhdGhkYlskbnVtIC0gMV0sICRwYXRoZGJbJG51bSAtIDJdKTsKICAgIH0KICAgICR1cHBhdGggPSBpbXBsb2RlKCcvJywgJHBhdGhkYikgLiAnLyc7CiAgICAkdXBwYXRoID0gc3RyX3JlcGxhY2UoJy8vJywgJy8nLCAkdXBwYXRoKTsKICAgIHJldHVybiAkdXBwYXRoOwp9CmZ1bmN0aW9uIGdldGNmZygkdmFybmFtZSkgewogICAgJHJlc3VsdCA9IGdldF9jZmdfdmFyKCR2YXJuYW1lKTsKICAgIGlmICgkcmVzdWx0ID09IDApIHsKICAgICAgICByZXR1cm4gJ05vJzsKICAgIH0gZWxzZWlmICgkcmVzdWx0ID09IDEpIHsKICAgICAgICByZXR1cm4gJ1llcyc7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9CmZ1bmN0aW9uIGdldGZ1bigkZnVuTmFtZSkgewogICAgcmV0dXJuIChmYWxzZSAhPT0gZnVuY3Rpb25fZXhpc3RzKCRmdW5OYW1lKSkgPyAnWWVzJyA6ICdObyc7Cn0KZnVuY3Rpb24gR2V0TGlzdCgkZGlyKSB7CiAgICBnbG9iYWwgJGRpcmRhdGEsICRqLCAkbm93cGF0aDsKICAgICEkaiAmJiAkaiA9IDE7CiAgICBpZiAoJGRoID0gb3BlbmRpcigkZGlyKSkgewogICAgICAgIHdoaWxlICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkgewogICAgICAgICAgICAkZiA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJGRpciAuICcvJyAuICRmaWxlKTsKICAgICAgICAgICAgaWYgKCRmaWxlICE9ICcuJyAmJiAkZmlsZSAhPSAnLi4nICYmIGlzX2RpcigkZikpIHsKICAgICAgICAgICAgICAgIGlmIChpc193cml0YWJsZSgkZikpIHsKICAgICAgICAgICAgICAgICAgICAkZGlyZGF0YVskal1bJ2ZpbGVuYW1lJ10gPSBzdHJfcmVwbGFjZSgkbm93cGF0aCwgJycsICRmKTsKICAgICAgICAgICAgICAgICAgICAkZGlyZGF0YVskal1bJ210aW1lJ10gPSBAZGF0ZSgnWS1tLWQgSDppOnMnLCBmaWxlbXRpbWUoJGYpKTsKICAgICAgICAgICAgICAgICAgICAkZGlyZGF0YVskal1bJ2RpcmNobW9kJ10gPSBnZXRDaG1vZCgkZik7CiAgICAgICAgICAgICAgICAgICAgJGRpcmRhdGFbJGpdWydkaXJwZXJtJ10gPSBnZXRQZXJtcygkZik7CiAgICAgICAgICAgICAgICAgICAgJGRpcmRhdGFbJGpdWydkaXJsaW5rJ10gPSB1ZSgkZGlyKTsKICAgICAgICAgICAgICAgICAgICAkZGlyZGF0YVskal1bJ3NlcnZlcl9saW5rJ10gPSAkZjsKICAgICAgICAgICAgICAgICAgICAkZGlyZGF0YVskal1bJ2NsaWVudF9saW5rJ10gPSB1ZSgkZik7CiAgICAgICAgICAgICAgICAgICAgJGorKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEdldExpc3QoJGYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNsb3NlZGlyKCRkaCk7CiAgICAgICAgY2xlYXJzdGF0Y2FjaGUoKTsKICAgICAgICByZXR1cm4gJGRpcmRhdGE7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBhcnJheSgpOwogICAgfQp9CmZ1bmN0aW9uIHF5KCRzcWwpIHsKICAgICRyZXMgPSAkZXJyb3IgPSAnJzsKICAgIGlmICghJHJlcyA9IEBteXNxbF9xdWVyeSgkc3FsKSkgewogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIGlmIChpc19yZXNvdXJjZSgkcmVzKSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gMjsKICAgIH0KICAgIHJldHVybiAwOwp9CmZ1bmN0aW9uIHEoJHNxbCkgewogICAgcmV0dXJuIEBteXNxbF9xdWVyeSgkc3FsKTsKfQpmdW5jdGlvbiBmcigkcXkpIHsKICAgIG15c3FsX2ZyZWVfcmVzdWx0KCRxeSk7Cn0KZnVuY3Rpb24gc2l6ZWNvdW50KCRzaXplKSB7CiAgICBpZiAoJHNpemUgPiAxMDczNzQxODI0KSB7CiAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZSAvIDEwNzM3NDE4MjQgKiAxMDApIC8gMTAwIC4gJyBHJzsKICAgIH0gZWxzZWlmICgkc2l6ZSA+IDEwNDg1NzYpIHsKICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplIC8gMTA0ODU3NiAqIDEwMCkgLyAxMDAgLiAnIE0nOwogICAgfSBlbHNlaWYgKCRzaXplID4gMTAyNCkgewogICAgICAgICRzaXplID0gcm91bmQoJHNpemUgLyAxMDI0ICogMTAwKSAvIDEwMCAuICcgSyc7CiAgICB9IGVsc2UgewogICAgICAgICRzaXplID0gJHNpemUgLiAnIEInOwogICAgfQogICAgcmV0dXJuICRzaXplOwp9CmNsYXNzIFBIUFppcCB7CiAgICB2YXIgJG91dCA9ICcnOwogICAgZnVuY3Rpb24gUEhQWmlwKCRkaXIpIHsKICAgICAgICBpZiAoQGZ1bmN0aW9uX2V4aXN0cygnZ3pjb21wcmVzcycpKSB7CiAgICAgICAgICAgICRjdXJkaXIgPSBnZXRjd2QoKTsKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRkaXIpKSAkZmlsZWxpc3QgPSAkZGlyOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRmaWxlbGlzdCA9ICR0aGlzLT5HZXRGaWxlTGlzdCgkZGlyKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRmaWxlbGlzdCBhcyAkayA9PiAkdikgJGZpbGVsaXN0W10gPSBzdWJzdHIoJHYsIHN0cmxlbigkZGlyKSArIDEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgoIWVtcHR5KCRkaXIpKSAmJiAoIWlzX2FycmF5KCRkaXIpKSAmJiAoZmlsZV9leGlzdHMoJGRpcikpKSBjaGRpcigkZGlyKTsKICAgICAgICAgICAgZWxzZSBjaGRpcigkY3VyZGlyKTsKICAgICAgICAgICAgaWYgKGNvdW50KCRmaWxlbGlzdCkgPiAwKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkZmlsZWxpc3QgYXMgJGZpbGVuYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2ZpbGUoJGZpbGVuYW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZmQgPSBmb3BlbigkZmlsZW5hbWUsICdyJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50ID0gQGZyZWFkKCRmZCwgZmlsZXNpemUoJGZpbGVuYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZjbG9zZSgkZmQpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGRpcikpICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRmaWxlbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5hZGRGaWxlKCRjb250ZW50LCAkZmlsZW5hbWUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5vdXQgPSAkdGhpcy0+ZmlsZSgpOwogICAgICAgICAgICAgICAgY2hkaXIoJGN1cmRpcik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfSBlbHNlIHJldHVybiAwOwogICAgfQogICAgZnVuY3Rpb24gR2V0RmlsZUxpc3QoJGRpcikgewogICAgICAgIHN0YXRpYyAkYTsKICAgICAgICBpZiAoaXNfZGlyKCRkaXIpKSB7CiAgICAgICAgICAgIGlmICgkZGggPSBvcGVuZGlyKCRkaXIpKSB7CiAgICAgICAgICAgICAgICB3aGlsZSAoJGZpbGUgPSByZWFkZGlyKCRkaCkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGZpbGUgIT0gJy4nICYmICRmaWxlICE9ICcuLicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGYgPSAkZGlyIC4gJy8nIC4gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGYpKSAkdGhpcy0+R2V0RmlsZUxpc3QoJGYpOwogICAgICAgICAgICAgICAgICAgICAgICAkYVtdID0gJGY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2xvc2VkaXIoJGRoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGE7CiAgICB9CiAgICB2YXIgJGRhdGFzZWMgPSBhcnJheSgpOwogICAgdmFyICRjdHJsX2RpciA9IGFycmF5KCk7CiAgICB2YXIgJGVvZl9jdHJsX2RpciA9ICJceDUwXHg0Ylx4MDVceDA2XHgwMFx4MDBceDAwXHgwMCI7CiAgICB2YXIgJG9sZF9vZmZzZXQgPSAwOwogICAgZnVuY3Rpb24gdW5peDJEb3NUaW1lKCR1bml4dGltZSA9IDApIHsKICAgICAgICAkdGltZWFycmF5ID0gKCR1bml4dGltZSA9PSAwKSA/IGdldGRhdGUoKSA6IGdldGRhdGUoJHVuaXh0aW1lKTsKICAgICAgICBpZiAoJHRpbWVhcnJheVsneWVhciddIDwgMTk4MCkgewogICAgICAgICAgICAkdGltZWFycmF5Wyd5ZWFyJ10gPSAxOTgwOwogICAgICAgICAgICAkdGltZWFycmF5Wydtb24nXSA9IDE7CiAgICAgICAgICAgICR0aW1lYXJyYXlbJ21kYXknXSA9IDE7CiAgICAgICAgICAgICR0aW1lYXJyYXlbJ2hvdXJzJ10gPSAwOwogICAgICAgICAgICAkdGltZWFycmF5WydtaW51dGVzJ10gPSAwOwogICAgICAgICAgICAkdGltZWFycmF5WydzZWNvbmRzJ10gPSAwOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKCgkdGltZWFycmF5Wyd5ZWFyJ10gLSAxOTgwKSA8PCAyNSkgfCAoJHRpbWVhcnJheVsnbW9uJ10gPDwgMjEpIHwgKCR0aW1lYXJyYXlbJ21kYXknXSA8PCAxNikgfCAoJHRpbWVhcnJheVsnaG91cnMnXSA8PCAxMSkgfCAoJHRpbWVhcnJheVsnbWludXRlcyddIDw8IDUpIHwgKCR0aW1lYXJyYXlbJ3NlY29uZHMnXSA+PiAxKTsKICAgIH0KICAgIGZ1bmN0aW9uIGFkZEZpbGUoJGRhdGEsICRuYW1lLCAkdGltZSA9IDApIHsKICAgICAgICAkbmFtZSA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJG5hbWUpOwogICAgICAgICRkdGltZSA9IGRlY2hleCgkdGhpcy0+dW5peDJEb3NUaW1lKCR0aW1lKSk7CiAgICAgICAgJGhleGR0aW1lID0gJ1x4JyAuICRkdGltZVs2XSAuICRkdGltZVs3XSAuICdceCcgLiAkZHRpbWVbNF0gLiAkZHRpbWVbNV0gLiAnXHgnIC4gJGR0aW1lWzJdIC4gJGR0aW1lWzNdIC4gJ1x4JyAuICRkdGltZVswXSAuICRkdGltZVsxXTsKICAgICAgICBldmFsKCckaGV4ZHRpbWUgPSAiJyAuICRoZXhkdGltZSAuICciOycpOwogICAgICAgICRmciA9ICJceDUwXHg0Ylx4MDNceDA0IjsKICAgICAgICAkZnIuPSAiXHgxNFx4MDAiOwogICAgICAgICRmci49ICJceDAwXHgwMCI7CiAgICAgICAgJGZyLj0gIlx4MDhceDAwIjsKICAgICAgICAkZnIuPSAkaGV4ZHRpbWU7CiAgICAgICAgJHVuY19sZW4gPSBzdHJsZW4oJGRhdGEpOwogICAgICAgICRjcmMgPSBjcmMzMigkZGF0YSk7CiAgICAgICAgJHpkYXRhID0gZ3pjb21wcmVzcygkZGF0YSk7CiAgICAgICAgJGNfbGVuID0gc3RybGVuKCR6ZGF0YSk7CiAgICAgICAgJHpkYXRhID0gc3Vic3RyKHN1YnN0cigkemRhdGEsIDAsIHN0cmxlbigkemRhdGEpIC0gNCksIDIpOwogICAgICAgICRmci49IHBhY2soJ1YnLCAkY3JjKTsKICAgICAgICAkZnIuPSBwYWNrKCdWJywgJGNfbGVuKTsKICAgICAgICAkZnIuPSBwYWNrKCdWJywgJHVuY19sZW4pOwogICAgICAgICRmci49IHBhY2soJ3YnLCBzdHJsZW4oJG5hbWUpKTsKICAgICAgICAkZnIuPSBwYWNrKCd2JywgMCk7CiAgICAgICAgJGZyLj0gJG5hbWU7CiAgICAgICAgJGZyLj0gJHpkYXRhOwogICAgICAgICRmci49IHBhY2soJ1YnLCAkY3JjKTsKICAgICAgICAkZnIuPSBwYWNrKCdWJywgJGNfbGVuKTsKICAgICAgICAkZnIuPSBwYWNrKCdWJywgJHVuY19sZW4pOwogICAgICAgICR0aGlzLT5kYXRhc2VjW10gPSAkZnI7CiAgICAgICAgJG5ld19vZmZzZXQgPSBzdHJsZW4oaW1wbG9kZSgnJywgJHRoaXMtPmRhdGFzZWMpKTsKICAgICAgICAkY2RyZWMgPSAiXHg1MFx4NGJceDAxXHgwMiI7CiAgICAgICAgJGNkcmVjLj0gIlx4MDBceDAwIjsKICAgICAgICAkY2RyZWMuPSAiXHgxNFx4MDAiOwogICAgICAgICRjZHJlYy49ICJceDAwXHgwMCI7CiAgICAgICAgJGNkcmVjLj0gIlx4MDhceDAwIjsKICAgICAgICAkY2RyZWMuPSAkaGV4ZHRpbWU7CiAgICAgICAgJGNkcmVjLj0gcGFjaygnVicsICRjcmMpOwogICAgICAgICRjZHJlYy49IHBhY2soJ1YnLCAkY19sZW4pOwogICAgICAgICRjZHJlYy49IHBhY2soJ1YnLCAkdW5jX2xlbik7CiAgICAgICAgJGNkcmVjLj0gcGFjaygndicsIHN0cmxlbigkbmFtZSkpOwogICAgICAgICRjZHJlYy49IHBhY2soJ3YnLCAwKTsKICAgICAgICAkY2RyZWMuPSBwYWNrKCd2JywgMCk7CiAgICAgICAgJGNkcmVjLj0gcGFjaygndicsIDApOwogICAgICAgICRjZHJlYy49IHBhY2soJ3YnLCAwKTsKICAgICAgICAkY2RyZWMuPSBwYWNrKCdWJywgMzIpOwogICAgICAgICRjZHJlYy49IHBhY2soJ1YnLCAkdGhpcy0+b2xkX29mZnNldCk7CiAgICAgICAgJHRoaXMtPm9sZF9vZmZzZXQgPSAkbmV3X29mZnNldDsKICAgICAgICAkY2RyZWMuPSAkbmFtZTsKICAgICAgICAkdGhpcy0+Y3RybF9kaXJbXSA9ICRjZHJlYzsKICAgIH0KICAgIGZ1bmN0aW9uIGZpbGUoKSB7CiAgICAgICAgJGRhdGEgPSBpbXBsb2RlKCcnLCAkdGhpcy0+ZGF0YXNlYyk7CiAgICAgICAgJGN0cmxkaXIgPSBpbXBsb2RlKCcnLCAkdGhpcy0+Y3RybF9kaXIpOwogICAgICAgIHJldHVybiAkZGF0YSAuICRjdHJsZGlyIC4gJHRoaXMtPmVvZl9jdHJsX2RpciAuIHBhY2soJ3YnLCBzaXplb2YoJHRoaXMtPmN0cmxfZGlyKSkgLiBwYWNrKCd2Jywgc2l6ZW9mKCR0aGlzLT5jdHJsX2RpcikpIC4gcGFjaygnVicsIHN0cmxlbigkY3RybGRpcikpIC4gcGFjaygnVicsIHN0cmxlbigkZGF0YSkpIC4gIlx4MDBceDAwIjsKICAgIH0KfQpmdW5jdGlvbiBzcWxkdW1wdGFibGUoJHRhYmxlLCAkZnAgPSAwKSB7CiAgICAkdGFibGVkdW1wID0gIkRST1AgVEFCTEUgSUYgRVhJU1RTICR0YWJsZTtcbiI7CiAgICAkdGFibGVkdW1wLj0gIkNSRUFURSBUQUJMRSAkdGFibGUgKFxuIjsKICAgICRmaXJzdGZpZWxkID0gMTsKICAgICRmaWVsZHMgPSBxKCJTSE9XIEZJRUxEUyBGUk9NICR0YWJsZSIpOwogICAgd2hpbGUgKCRmaWVsZCA9IG15c3FsX2ZldGNoX2FycmF5KCRmaWVsZHMpKSB7CiAgICAgICAgaWYgKCEkZmlyc3RmaWVsZCkgewogICAgICAgICAgICAkdGFibGVkdW1wLj0gIixcbiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGZpcnN0ZmllbGQgPSAwOwogICAgICAgIH0KICAgICAgICAkdGFibGVkdW1wLj0gIiAgICRmaWVsZFtGaWVsZF0gJGZpZWxkW1R5cGVdIjsKICAgICAgICBpZiAoIWVtcHR5KCRmaWVsZFsiRGVmYXVsdCJdKSkgewogICAgICAgICAgICAkdGFibGVkdW1wLj0gIiBERUZBVUxUICckZmllbGRbRGVmYXVsdF0nIjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZFsnTnVsbCddICE9ICJZRVMiKSB7CiAgICAgICAgICAgICR0YWJsZWR1bXAuPSAiIE5PVCBOVUxMIjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZFsnRXh0cmEnXSAhPSAiIikgewogICAgICAgICAgICAkdGFibGVkdW1wLj0gIiAkZmllbGRbRXh0cmFdIjsKICAgICAgICB9CiAgICB9CiAgICBmcigkZmllbGRzKTsKICAgICRrZXlzID0gcSgiU0hPVyBLRVlTIEZST00gJHRhYmxlIik7CiAgICB3aGlsZSAoJGtleSA9IG15c3FsX2ZldGNoX2FycmF5KCRrZXlzKSkgewogICAgICAgICRrbmFtZSA9ICRrZXlbJ0tleV9uYW1lJ107CiAgICAgICAgaWYgKCRrbmFtZSAhPSAiUFJJTUFSWSIgJiYgJGtleVsnTm9uX3VuaXF1ZSddID09IDApIHsKICAgICAgICAgICAgJGtuYW1lID0gIlVOSVFVRXwka25hbWUiOwogICAgICAgIH0KICAgICAgICBpZiAoIWlzX2FycmF5KCRpbmRleFska25hbWVdKSkgewogICAgICAgICAgICAkaW5kZXhbJGtuYW1lXSA9IGFycmF5KCk7CiAgICAgICAgfQogICAgICAgICRpbmRleFska25hbWVdW10gPSAka2V5WydDb2x1bW5fbmFtZSddOwogICAgfQogICAgZnIoJGtleXMpOwogICAgd2hpbGUgKGxpc3QoJGtuYW1lLCAkY29sdW1ucykgPSBAZWFjaCgkaW5kZXgpKSB7CiAgICAgICAgJHRhYmxlZHVtcC49ICIsXG4iOwogICAgICAgICRjb2xuYW1lcyA9IGltcGxvZGUoJGNvbHVtbnMsICIsIik7CiAgICAgICAgaWYgKCRrbmFtZSA9PSAiUFJJTUFSWSIpIHsKICAgICAgICAgICAgJHRhYmxlZHVtcC49ICIgICBQUklNQVJZIEtFWSAoJGNvbG5hbWVzKSI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHN1YnN0cigka25hbWUsIDAsIDYpID09ICJVTklRVUUiKSB7CiAgICAgICAgICAgICAgICAka25hbWUgPSBzdWJzdHIoJGtuYW1lLCA3KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGFibGVkdW1wLj0gIiAgIEtFWSAka25hbWUgKCRjb2xuYW1lcykiOwogICAgICAgIH0KICAgIH0KICAgICR0YWJsZWR1bXAuPSAiXG4pO1xuXG4iOwogICAgaWYgKCRmcCkgewogICAgICAgIGZ3cml0ZSgkZnAsICR0YWJsZWR1bXApOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICR0YWJsZWR1bXA7CiAgICB9CiAgICAkcm93cyA9IHEoIlNFTEVDVCAqIEZST00gJHRhYmxlIik7CiAgICAkbnVtZmllbGRzID0gbXlzcWxfbnVtX2ZpZWxkcygkcm93cyk7CiAgICB3aGlsZSAoJHJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyb3dzKSkgewogICAgICAgICR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOwogICAgICAgICRmaWVsZGNvdW50ZXIgPSAtIDE7CiAgICAgICAgJGZpcnN0ZmllbGQgPSAxOwogICAgICAgIHdoaWxlICgrKyRmaWVsZGNvdW50ZXIgPCAkbnVtZmllbGRzKSB7CiAgICAgICAgICAgIGlmICghJGZpcnN0ZmllbGQpIHsKICAgICAgICAgICAgICAgICR0YWJsZWR1bXAuPSAiLCAiOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGZpcnN0ZmllbGQgPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghaXNzZXQoJHJvd1skZmllbGRjb3VudGVyXSkpIHsKICAgICAgICAgICAgICAgICR0YWJsZWR1bXAuPSAiTlVMTCI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGFibGVkdW1wLj0gIiciIC4gbXlzcWxfZXNjYXBlX3N0cmluZygkcm93WyRmaWVsZGNvdW50ZXJdKSAuICInIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGFibGVkdW1wLj0gIik7XG4iOwogICAgICAgIGlmICgkZnApIHsKICAgICAgICAgICAgZndyaXRlKCRmcCwgJHRhYmxlZHVtcCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAkdGFibGVkdW1wOwogICAgICAgIH0KICAgIH0KICAgIGZyKCRyb3dzKTsKICAgIGlmICgkZnApIHsKICAgICAgICBmd3JpdGUoJGZwLCAiXG4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAiXG4iOwogICAgfQp9CmZ1bmN0aW9uIHVlKCRzdHIpIHsKICAgIHJldHVybiB1cmxlbmNvZGUoJHN0cik7Cn0KZnVuY3Rpb24gcCgkc3RyKSB7CiAgICBlY2hvICRzdHIgLiAiXG4iOwp9CmZ1bmN0aW9uIHRiaGVhZCgpIHsKICAgIHAoJzx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiPicpOwp9CmZ1bmN0aW9uIHRiZm9vdCgpIHsKICAgIHAoJzwvdGFibGU+Jyk7Cn0KZnVuY3Rpb24gbWFrZWhpZGUoJG5hbWUsICR2YWx1ZSA9ICcnKSB7CiAgICBwKCI8aW5wdXQgaWQ9XCIkbmFtZVwiIHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiJG5hbWVcIiB2YWx1ZT1cIiR2YWx1ZVwiIC8+Iik7Cn0KZnVuY3Rpb24gbWFrZWlucHV0KCRhcmcgPSBhcnJheSgpKSB7CiAgICAkYXJnWydzaXplJ10gPSAkYXJnWydzaXplJ10gPiAwID8gInNpemU9XCIkYXJnW3NpemVdXCIiIDogInNpemU9XCIxMDBcIiI7CiAgICAkYXJnWydleHRyYSddID0gJGFyZ1snZXh0cmEnXSA/ICRhcmdbJ2V4dHJhJ10gOiAnJzsKICAgICEkYXJnWyd0eXBlJ10gJiYgJGFyZ1sndHlwZSddID0gJ3RleHQnOwogICAgJGFyZ1sndGl0bGUnXSA9ICRhcmdbJ3RpdGxlJ10gPyAkYXJnWyd0aXRsZSddIC4gJzxiciAvPicgOiAnJzsKICAgICRhcmdbJ2NsYXNzJ10gPSAkYXJnWydjbGFzcyddID8gJGFyZ1snY2xhc3MnXSA6ICdpbnB1dCc7CiAgICBpZiAoJGFyZ1snbmV3bGluZSddKSB7CiAgICAgICAgcCgiPHA+JGFyZ1t0aXRsZV08aW5wdXQgY2xhc3M9XCIkYXJnW2NsYXNzXVwiIG5hbWU9XCIkYXJnW25hbWVdXCIgaWQ9XCIkYXJnW25hbWVdXCIgdmFsdWU9XCIkYXJnW3ZhbHVlXVwiIHR5cGU9XCIkYXJnW3R5cGVdXCIgJGFyZ1tzaXplXSAkYXJnW2V4dHJhXSAvPjwvcD4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcCgiJGFyZ1t0aXRsZV08aW5wdXQgY2xhc3M9XCIkYXJnW2NsYXNzXVwiIG5hbWU9XCIkYXJnW25hbWVdXCIgaWQ9XCIkYXJnW25hbWVdXCIgdmFsdWU9XCIkYXJnW3ZhbHVlXVwiIHR5cGU9XCIkYXJnW3R5cGVdXCIgJGFyZ1tzaXplXSAkYXJnW2V4dHJhXSAvPiIpOwogICAgfQp9CmZ1bmN0aW9uIG1ha2VzZWxlY3QoJGFyZyA9IGFycmF5KCkpIHsKICAgIGlmICgkYXJnWydvbmNoYW5nZSddKSB7CiAgICAgICAgJG9uY2hhbmdlID0gJ29uY2hhbmdlPSInIC4gJGFyZ1snb25jaGFuZ2UnXSAuICciJzsKICAgIH0KICAgICRhcmdbJ3RpdGxlJ10gPSAkYXJnWyd0aXRsZSddID8gJGFyZ1sndGl0bGUnXSA6ICcnOwogICAgaWYgKCRhcmdbJ25ld2xpbmUnXSkgcCgnPHA+Jyk7CiAgICBwKCIkYXJnW3RpdGxlXSA8c2VsZWN0IGNsYXNzPVwiaW5wdXRcIiBpZD1cIiRhcmdbbmFtZV1cIiBuYW1lPVwiJGFyZ1tuYW1lXVwiICRvbmNoYW5nZT4iKTsKICAgIGlmIChpc19hcnJheSgkYXJnWydvcHRpb24nXSkpIHsKICAgICAgICBmb3JlYWNoICgkYXJnWydvcHRpb24nXSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICBpZiAoJGFyZ1snc2VsZWN0ZWQnXSA9PSAka2V5KSB7CiAgICAgICAgICAgICAgICBwKCI8b3B0aW9uIHZhbHVlPVwiJGtleVwiIHNlbGVjdGVkPiR2YWx1ZTwvb3B0aW9uPiIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcCgiPG9wdGlvbiB2YWx1ZT1cIiRrZXlcIj4kdmFsdWU8L29wdGlvbj4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHAoIjwvc2VsZWN0PiIpOwogICAgaWYgKCRhcmdbJ25ld2xpbmUnXSkgcCgnPC9wPicpOwp9CmZ1bmN0aW9uIGZvcm1oZWFkKCRhcmcgPSBhcnJheSgpKSB7CiAgICAhJGFyZ1snbWV0aG9kJ10gJiYgJGFyZ1snbWV0aG9kJ10gPSAncG9zdCc7CiAgICAhJGFyZ1snYWN0aW9uJ10gJiYgJGFyZ1snYWN0aW9uJ10gPSAkc2VsZjsKICAgICRhcmdbJ3RhcmdldCddID0gJGFyZ1sndGFyZ2V0J10gPyAidGFyZ2V0PVwiJGFyZ1t0YXJnZXRdXCIiIDogJyc7CiAgICAhJGFyZ1snbmFtZSddICYmICRhcmdbJ25hbWUnXSA9ICdmb3JtMSc7CiAgICBwKCI8Zm9ybSBuYW1lPVwiJGFyZ1tuYW1lXVwiIGlkPVwiJGFyZ1tuYW1lXVwiIGFjdGlvbj1cIiRhcmdbYWN0aW9uXVwiIG1ldGhvZD1cIiRhcmdbbWV0aG9kXVwiICRhcmdbdGFyZ2V0XT4iKTsKICAgIGlmICgkYXJnWyd0aXRsZSddKSB7CiAgICAgICAgcCgnPGgyPicgLiAkYXJnWyd0aXRsZSddIC4gJyAmcmFxdW87PC9oMj4nKTsKICAgIH0KfQpmdW5jdGlvbiBtYWtldGV4dCgkYXJnID0gYXJyYXkoKSkgewogICAgISRhcmdbJ2NvbHMnXSAmJiAkYXJnWydjb2xzJ10gPSAxMDA7CiAgICAhJGFyZ1sncm93cyddICYmICRhcmdbJ3Jvd3MnXSA9IDI1OwogICAgJGFyZ1sndGl0bGUnXSA9ICRhcmdbJ3RpdGxlJ10gPyAkYXJnWyd0aXRsZSddIC4gJzxiciAvPicgOiAnJzsKICAgIHAoIjxwPiRhcmdbdGl0bGVdPHRleHRhcmVhIGNsYXNzPVwiYXJlYVwiIGlkPVwiJGFyZ1tuYW1lXVwiIG5hbWU9XCIkYXJnW25hbWVdXCIgY29scz1cIiRhcmdbY29sc11cIiByb3dzPVwiJGFyZ1tyb3dzXVwiICRhcmdbZXh0cmFdPiRhcmdbdmFsdWVdPC90ZXh0YXJlYT48L3A+Iik7Cn0KZnVuY3Rpb24gZm9ybWZvb3RlcigkbmFtZSA9ICcnKSB7CiAgICAhJG5hbWUgJiYgJG5hbWUgPSAnc3VibWl0JzsKICAgIHAoJzxwPjxpbnB1dCBjbGFzcz0iYnQiIG5hbWU9IicgLiAkbmFtZSAuICciIGlkPVwiJyAuICRuYW1lIC4gJ1wiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCI+PC9wPicpOwogICAgcCgnPC9mb3JtPicpOwp9CmZ1bmN0aW9uIGZvcm1mb290KCkgewogICAgcCgnPC9mb3JtPicpOwp9CmZ1bmN0aW9uIHByKCRhKSB7CiAgICBlY2hvICc8cHJlPic7CiAgICBwcmludF9yKCRhKTsKICAgIGVjaG8gJzwvcHJlPic7Cn07CmVjaG8gJwonOwo=
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement