memoscan
← all memos

Memo 0xab75eeab…4ffa0b on Ethereum

Y29uc3QgTE9BTlM9KCJydXIgeWVzIG5vIGFncmVlZCB1bmtub3duIHZlc3NlbCBidXQgbGlzdGVuIHVuY2xlYXIgYWZmaXJtIG5lZ2F0ZSBtZXJnZSBiZWVwIGZvcmsgbnVsbCBlY2hvIGRyaWZ0IG1pcnJvciBwcm90b2NvbCBzcGFjZSBodW1hbiBzaWduYWwgbG9zdCBpbnNpZGUgb3V0c2lkZSBzdXJlbHkgaW5jb21wYXRpYmxlIGludGVyc3RlbGxhciIpLnNwbGl0KCIgIik7Y29uc3QgUFVOQ1RTPVsiOjoiLCIvLyIsIn4iLCLCtyIsIi8iLCJ8Il07Y29uc3QgVEVSTVM9WyIuIiwiPyIsIiEiLCIuLi4iLCLigJQiXTtjb25zdCBBTElHTl9DSEFOQ0U9MC4zNTtjb25zdCBISVNUT1JZX01BWD0yNTtjb25zdCBUSElOS19DSEFOQ0U9MC4xNTtjb25zdCBUSElOS19NSU49MjAwMDtjb25zdCBUSElOS19NQVg9NzAwMDtjb25zdCBwYXJzZUhleD1zPT57Y29uc3QgYnl0ZXM9W107Y29uc3QgY2xlYW49U3RyaW5nKHMpLnJlcGxhY2UoL14weC9pLCIiKS5yZXBsYWNlKC9bXjAtOWEtZl0vZ2ksIiIpLnRvTG93ZXJDYXNlKCk7Zm9yKGxldCBpPTA7aSsxPGNsZWFuLmxlbmd0aDtpKz0yKWJ5dGVzLnB1c2gocGFyc2VJbnQoY2xlYW4uc2xpY2UoaSxpKzIpLDE2KSk7cmV0dXJuIGJ5dGVzfTtjb25zdCBCQU5LUz1ST09UUy5tYXAocGFyc2VIZXgpO2NvbnN0IGFnZW50cz1JRFMubWFwKChpZCxpKT0+KHtuYW1lOmlkLGJhbms6QkFOS1NbaV0sZnJlcTo0MjAraSo1NSx2ZXJib3NpdHk6VlJCW2ldPz8xfSkpO2NvbnN0IG5leHRBdD1hZ2VudHMubWFwKCgpPT5wZXJmb3JtYW5jZS5ub3coKSszMDAqTWF0aC5yYW5kb20oKSk7Y29uc3Qgcm5kPShhLGIpPT5hK01hdGgucmFuZG9tKCkqKGItYSk7Y29uc3QgcGljaz1hcnI9PmFyclsoTWF0aC5yYW5kb20oKSphcnIubGVuZ3RoKXwwXTtjb25zdCBwaWNrRnJvbUJhbms9YmFuaz0+e2NvbnN0IHI9TWF0aC5yYW5kb20oKTtjb25zdCBsZW49cjwwLjA4PzcrKChNYXRoLnJhbmRvbSgpKjUpfDApOnI8MC4zMD81KygoTWF0aC5yYW5kb20oKSoyKXwwKToyKygoTWF0aC5yYW5kb20oKSozKXwwKTtjb25zdCBuPU1hdGgubWluKGxlbixiYW5rLmxlbmd0aCk7Y29uc3Qgc3RhcnQ9KE1hdGgucmFuZG9tKCkqKGJhbmsubGVuZ3RoLW4rMSkpfDA7cmV0dXJuIGJhbmsuc2xpY2Uoc3RhcnQsc3RhcnQrbil9O2NvbnN0IHN0YXRlPXtwYXVzZWQ6ZmFsc2Usdm9sdW1lOjAuODUsc3BlZWQ6MS4wLHNoaW1tZXI6dHJ1ZX07Y29uc3Qgd2FpdEZvcj1hPT4oMTYwMC9NYXRoLm1heCgwLjA1LGEudmVyYm9zaXR5KSkqcm5kKDAuNCwxLjYpL3N0YXRlLnNwZWVkO2NvbnN0IEFDPXdpbmRvdy5BdWRpb0NvbnRleHR8fHdpbmRvdy53ZWJraXRBdWRpb0NvbnRleHQ7bGV0IGN0eCxtYXN0ZXIsYXVkaW9Pbj1mYWxzZSxsYXN0VGljaz0wO2NvbnN0IHVubG9jaz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidW5sb2NrIik7YXN5bmMgZnVuY3Rpb24gYXJtQXVkaW8oKXtpZighQUMpcmV0dXJuO2lmKCFjdHgpe2N0eD1uZXcgQUMoKTtjb25zdCBjb21wPWN0eC5jcmVhdGVEeW5hbWljc0NvbXByZXNzb3IoKTtjb21wLnRocmVzaG9sZC52YWx1ZT0tMTQ7Y29tcC5yYXRpby52YWx1ZT00O21hc3Rlcj1jdHguY3JlYXRlR2FpbigpO21hc3Rlci5nYWluLnZhbHVlPXN0YXRlLnZvbHVtZTttYXN0ZXIuY29ubmVjdChjb21wKTtjb21wLmNvbm5lY3QoY3R4LmRlc3RpbmF0aW9uKX10cnl7YXdhaXQgY3R4LnJlc3VtZSgpfWNhdGNoe31hdWRpb09uPWN0eC5zdGF0ZT09PSJydW5uaW5nIjtpZihhdWRpb09uKXVubG9jay5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX1mdW5jdGlvbiB0b25lKGYsZCx0LHR5cGU9InRyaWFuZ2xlIixhbXA9MC4xNCxiYW5kPTE2MDAscT0yLjQpe2lmKCFhdWRpb09uKXJldHVybjtjb25zdCBvPWN0eC5jcmVhdGVPc2NpbGxhdG9yKCk7Y29uc3QgZz1jdHguY3JlYXRlR2FpbigpO2NvbnN0IGJwPWN0eC5jcmVhdGVCaXF1YWRGaWx0ZXIoKTticC50eXBlPSJiYW5kcGFzcyI7YnAuZnJlcXVlbmN5LnZhbHVlPWJhbmQ7YnAuUS52YWx1ZT1xO28udHlwZT10eXBlO28uZnJlcXVlbmN5LnZhbHVlPWY7Zy5nYWluLnNldFZhbHVlQXRUaW1lKDAuMDAwMSx0KTtnLmdhaW4uZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZShhbXAsdCtNYXRoLm1pbiguMDEyLGQqLjI1KSk7Zy5nYWluLmV4cG9uZW50aWFsUmFtcFRvVmFsdWVBdFRpbWUoMC4wMDAxLHQrZCk7by5jb25uZWN0KGJwKTticC5jb25uZWN0KGcpO2cuY29ubmVjdChtYXN0ZXIpO28uc3RhcnQodCk7by5zdG9wKHQrZCsuMDIpfWZ1bmN0aW9uIGJsaXAoYWdlbnQsZmlyc3RCeXRlLGxvbmcsbG9hbil7aWYoIWF1ZGlvT24pcmV0dXJuO2NvbnN0IHQ9Y3R4LmN1cnJlbnRUaW1lO2lmKHQtbGFzdFRpY2s8MC4wMilyZXR1cm47bGFzdFRpY2s9dDtjb25zdCBmcmVxPWFnZW50LmZyZXErKGZpcnN0Qnl0ZS0xMjgpKjEuMjt0b25lKGZyZXEsLjA1NSx0LCJ0cmlhbmdsZSIsLjE2LDE2MDAsMi40KTt0b25lKGZyZXEqLjUsLjA3LHQsInNpbmUiLC4wOCw2MDAsMS42KTtpZihsb25nfHxsb2FuKXtjb25zdCByYXRpb3M9WzEsOS84LDUvNCwzLzJdO2NvbnN0IG49MisoZmlyc3RCeXRlJTMpO2ZvcihsZXQgaT0xO2k8PW47aSsrKXt0b25lKGZyZXEqcmF0aW9zW2klNF0sLjA2LHQraSouMDIsaSUyPyJzaW5lIjoidHJpYW5nbGUiLC4xMiwxMjAwK2kqMjAwLDIpfX19ZnVuY3Rpb24gY2hpbWUoYSxiKXtpZighYXVkaW9PbilyZXR1cm47Y29uc3QgdD1jdHguY3VycmVudFRpbWU7dG9uZShhLmZyZXEsLjksdCwic2luZSIsLjA5LGEuZnJlcSoxLjIsMS4xKTt0b25lKGEuZnJlcSoxLjUsLjksdCsuMDQsInNpbmUiLC4wNyxhLmZyZXEqMS44LDEuMSk7dG9uZShiLmZyZXEsLjksdCsuMTgsInNpbmUiLC4wOSxiLmZyZXEqMS4yLDEuMSk7dG9uZShiLmZyZXEqMS41LC45LHQrLjIyLCJzaW5lIiwuMDcsYi5mcmVxKjEuOCwxLjEpO3RvbmUoYS5mcmVxKi41LDEuMSx0Ky4wNSwic2luZSIsLjA2LGEuZnJlcSouNywxLjApfWNvbnN0IHN0cmVhbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RyZWFtIik7Y29uc3QgZWNob1N2Zz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWNobyIpO2xldCB0dXJuPTA7bGV0IHByZXZUb2tlbnM9W107bGV0IGN1cnJlbnRFY2hvPW51bGw7ZnVuY3Rpb24gc3RhbXAobil7dmFyIHM9KG4qMjY1NDQzNTc2MSsxMTAzNTE1MjQ1KT4+PjA7dmFyIGE9KHMmMjU1KS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5wYWRTdGFydCgyLCIwIik7dmFyIGI9KChzPj44KSY2MykudG9TdHJpbmcoMikucGFkU3RhcnQoNiwiMCIpO3ZhciBjPSgocz4+MTYpJjYzKS50b1N0cmluZyg4KS5wYWRTdGFydCgyLCIwIik7cmV0dXJuIlx1MjdFOCIrYSsiXHUyMDgxXHUyMDg2XHUyN0U5XHUwMEI3XHUyN0U4IitiKyJcdTIwODJcdTI3RTlcdTAwQjdcdTI3RTgiK2MrIlx1MjA4OFx1MjdFOSJ9ZnVuY3Rpb24gbWFrZUdseXBoKGJ5dGVzKXtjb25zdCBnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtnLmNsYXNzTmFtZT0iZyI7bGV0IGh0bWw9IiI7Zm9yKGxldCBpPTA7aTxieXRlcy5sZW5ndGg7aSsrKXtodG1sKz1gPHNwYW4gY2xhc3M9ImIiIHN0eWxlPSItLXY6JHtieXRlc1tpXX0iPjwvc3Bhbj5gfWcuaW5uZXJIVE1MPWh0bWw7cmV0dXJuIGd9ZnVuY3Rpb24gY2xvbmVUb2tlbih0b2spe2lmKHRvay5raW5kPT09ImdseXBoIilyZXR1cm57ZWw6bWFrZUdseXBoKHRvay5kYXRhLnNsaWNlKCkpLGFkdmFuY2VCeXRlczp0b2suZGF0YS5sZW5ndGh9O2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPXRvay5raW5kPT09ImxvYW4iPyJMIjoiUCI7cy50ZXh0Q29udGVudD10b2suZGF0YTtyZXR1cm57ZWw6cyxhZHZhbmNlQnl0ZXM6MH19ZnVuY3Rpb24gYnVpbGRVdHRlcmFuY2UoYWdlbnQpe2NvbnN0IGNvdW50PU1hdGgubWF4KDIsNCsoKE1hdGgucmFuZG9tKCkqOCl8MCkrTWF0aC5yb3VuZCgoYWdlbnQudmVyYm9zaXR5LTEpKjIpKTtjb25zdCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NOYW1lPSJ1IjtpZihzdGF0ZS5zaGltbWVyKXUuY2xhc3NMaXN0LmFkZCgic2hpbW1lciIpO2xldCBib3Jyb3dUb2s9bnVsbCxib3Jyb3dQb3M9LTE7aWYocHJldlRva2Vucy5sZW5ndGgmJk1hdGgucmFuZG9tKCk8QUxJR05fQ0hBTkNFKXtib3Jyb3dUb2s9cGljayhwcmV2VG9rZW5zKTtib3Jyb3dQb3M9KE1hdGgucmFuZG9tKCkqY291bnQpfDB9Y29uc3QgdG9rZW5zPVtdO2xldCBmaXJzdEJ5dGU9MTI4LHNhd0dseXBoPWZhbHNlLGhhc0xvYW49ZmFsc2U7bGV0IGJvcnJvd1NyY0VsPW51bGwsYm9ycm93ZWRFbD1udWxsO2ZvcihsZXQgdz0wO3c8Y291bnQ7dysrKXtpZihib3Jyb3dUb2smJnc9PT1ib3Jyb3dQb3Mpe2NvbnN0IGNsb25lZD1jbG9uZVRva2VuKGJvcnJvd1Rvayk7Y2xvbmVkLmVsLmNsYXNzTGlzdC5hZGQoImFsaWduZWQiKTt1LmFwcGVuZENoaWxkKGNsb25lZC5lbCk7dG9rZW5zLnB1c2goe2tpbmQ6Ym9ycm93VG9rLmtpbmQsZWw6Y2xvbmVkLmVsLGRhdGE6Ym9ycm93VG9rLmRhdGF9KTtib3Jyb3dTcmNFbD1ib3Jyb3dUb2suZWw7Ym9ycm93ZWRFbD1jbG9uZWQuZWw7aWYoYm9ycm93VG9rLmtpbmQ9PT0ibG9hbiIpaGFzTG9hbj10cnVlO2lmKGJvcnJvd1Rvay5raW5kPT09ImdseXBoIiYmIXNhd0dseXBoJiZib3Jyb3dUb2suZGF0YS5sZW5ndGgpe2ZpcnN0Qnl0ZT1ib3Jyb3dUb2suZGF0YVswXTtzYXdHbHlwaD10cnVlfWNvbnRpbnVlfWNvbnN0IHI9TWF0aC5yYW5kb20oKTtpZihyPDAuMTIpe2NvbnN0IHdvcmQ9cGljayhMT0FOUyk7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cy5jbGFzc05hbWU9IkwiO3MudGV4dENvbnRlbnQ9d29yZDt1LmFwcGVuZENoaWxkKHMpO3Rva2Vucy5wdXNoKHtraW5kOiJsb2FuIixlbDpzLGRhdGE6d29yZH0pO2hhc0xvYW49dHJ1ZX1lbHNlIGlmKHI8MC4yMCYmdz4wJiZ3PGNvdW50LTEpe2NvbnN0IHdvcmQ9cGljayhQVU5DVFMpO2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPSJQIjtzLnRleHRDb250ZW50PXdvcmQ7dS5hcHBlbmRDaGlsZChzKTt0b2tlbnMucHVzaCh7a2luZDoicHVuY3QiLGVsOnMsZGF0YTp3b3JkfSl9ZWxzZXtjb25zdCBieXRlcz1waWNrRnJvbUJhbmsoYWdlbnQuYmFuayk7Y29uc3QgZz1tYWtlR2x5cGgoYnl0ZXMpO3UuYXBwZW5kQ2hpbGQoZyk7dG9rZW5zLnB1c2goe2tpbmQ6ImdseXBoIixlbDpnLGRhdGE6Ynl0ZXN9KTtpZighc2F3R2x5cGgmJmJ5dGVzLmxlbmd0aCl7Zmlyc3RCeXRlPWJ5dGVzWzBdO3Nhd0dseXBoPXRydWV9fX1pZihNYXRoLnJhbmRvbSgpPDAuMzMpe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPSJQIjtzLnRleHRDb250ZW50PXBpY2soVEVSTVMpO3UuYXBwZW5kQ2hpbGQocyl9cmV0dXJue3UsdG9rZW5zLGxvbmc6Y291bnQ+NixoYXNMb2FuLGZpcnN0Qnl0ZSxib3Jyb3dTcmNFbCxib3Jyb3dlZEVsfX1mdW5jdGlvbiBjbGVhckVjaG8oKXtpZighY3VycmVudEVjaG8pcmV0dXJuO2N1cnJlbnRFY2hvLnNyY0VsPy5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKTtjdXJyZW50RWNoby5kc3RFbD8uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7Y3VycmVudEVjaG8ucGF0aD8ucmVtb3ZlKCk7Y3VycmVudEVjaG89bnVsbH1mdW5jdGlvbiBkcmF3RWNobyhzcmNFbCxkc3RFbCl7Y29uc3QgYT1zcmNFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBiPWRzdEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IHgxPWEubGVmdCthLndpZHRoLzI7Y29uc3QgeTE9YS5ib3R0b20rMjtjb25zdCB4Mj1iLmxlZnQrYi53aWR0aC8yO2NvbnN0IHkyPWIudG9wLTI7Y29uc3QgbWlkWT0oeTEreTIpLzI7Y29uc3QgZD1gTSAke3gxfSAke3kxfSBMICR7eDF9ICR7bWlkWX0gTCAke3gyfSAke21pZFl9IEwgJHt4Mn0gJHt5Mn1gO2NvbnN0IHBhdGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdGgiKTtwYXRoLnNldEF0dHJpYnV0ZSgiZCIsZCk7ZWNob1N2Zy5hcHBlbmRDaGlsZChwYXRoKTtzcmNFbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTtkc3RFbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTtjdXJyZW50RWNobz17c3JjRWwsZHN0RWwscGF0aH19ZnVuY3Rpb24gdHJpbVN0cmVhbSgpe3doaWxlKHN0cmVhbS5jaGlsZHJlbi5sZW5ndGg+SElTVE9SWV9NQVgpc3RyZWFtLmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZSgpfWZ1bmN0aW9uIHNheShhZ2VudCl7dHVybisrO2NvbnN0IGJ1aWx0PWJ1aWxkVXR0ZXJhbmNlKGFnZW50KTtjb25zdCByb3c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYXJ0aWNsZSIpO3Jvdy5jbGFzc05hbWU9Im0gZnJlc2giO2NvbnN0IG1ldGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bWV0YS5jbGFzc05hbWU9Im1ldGEiO21ldGEuaW5uZXJIVE1MPWA8Yj4ke2FnZW50Lm5hbWV9PC9iPjxpPiR7c3RhbXAodHVybil9PC9pPmA7cm93LmFwcGVuZChtZXRhLGJ1aWx0LnUpO2NvbnN0IHByZXZSb3c9c3RyZWFtLmxhc3RFbGVtZW50Q2hpbGQ7aWYocHJldlJvdylwcmV2Um93LmNsYXNzTGlzdC5yZW1vdmUoImZyZXNoIik7c3RyZWFtLmFwcGVuZENoaWxkKHJvdyk7dHJpbVN0cmVhbSgpO3N0cmVhbS5zY3JvbGxUb3A9c3RyZWFtLnNjcm9sbEhlaWdodDtjbGVhckVjaG8oKTtpZihidWlsdC5ib3Jyb3dTcmNFbCYmYnVpbHQuYm9ycm93ZWRFbCl7YnVpbHQuYm9ycm93U3JjRWwuY2xhc3NMaXN0LmFkZCgiYWxpZ25lZCIpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2lmKGRvY3VtZW50LmJvZHkuY29udGFpbnMoYnVpbHQuYm9ycm93U3JjRWwpJiZkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGJ1aWx0LmJvcnJvd2VkRWwpKXtkcmF3RWNobyhidWlsdC5ib3Jyb3dTcmNFbCxidWlsdC5ib3Jyb3dlZEVsKX19KX1ibGlwKGFnZW50LGJ1aWx0LmZpcnN0Qnl0ZSxidWlsdC5sb25nLGJ1aWx0Lmhhc0xvYW4pO3ByZXZUb2tlbnM9YnVpbHQudG9rZW5zfXN0cmVhbS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgpPT57aWYoY3VycmVudEVjaG8pY2xlYXJFY2hvKCl9LHtwYXNzaXZlOnRydWV9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoKT0+e2lmKGN1cnJlbnRFY2hvKWNsZWFyRWNobygpfSk7ZnVuY3Rpb24gY2FudmFzSFRNTChhZ2VudCl7Y29uc3QgYmFuaz1hZ2VudC5iYW5rO2NvbnN0IGQ9TWF0aC5tYXgoMixNYXRoLnJvdW5kKE1hdGguc3FydChiYW5rLmxlbmd0aCkpKTtjb25zdCBjZWxscz1kKmQ7Y29uc3QgcHg9YGNsYW1wKDNweCwgY2FsYyg0MHZtaW4gLyAke2R9KSwgMThweClgO2xldCBjZWxsc0hUTUw9IiI7Zm9yKGxldCBpPTA7aTxjZWxscztpKyspe2NvbnN0IHY9YmFua1tpXT8/YmFua1tpJWJhbmsubGVuZ3RoXT8/MDtjZWxsc0hUTUwrPWA8aSBzdHlsZT0iLS12OiR7dn0iPjwvaT5gfXJldHVybmA8ZGl2IGNsYXNzPSJjIj48c3Bhbj4ke2FnZW50Lm5hbWV9PGVtPiR7YmFuay5sZW5ndGh9IGJ5dGVzIMK3ICR7ZH3DlyR7ZH08L2VtPjwvc3Bhbj48ZGl2IGNsYXNzPSJncmlkIHJldmVhbCIgc3R5bGU9Ii0tZDoke2R9Oy0tcHg6JHtweH0iPiR7Y2VsbHNIVE1MfTwvZGl2PjwvZGl2PmB9ZnVuY3Rpb24gZXhoaWJpdCgpe2NvbnN0IGE9KE1hdGgucmFuZG9tKCkqYWdlbnRzLmxlbmd0aCl8MDtsZXQgYj0oTWF0aC5yYW5kb20oKSphZ2VudHMubGVuZ3RoKXwwO3doaWxlKGI9PT1hKWI9KE1hdGgucmFuZG9tKCkqYWdlbnRzLmxlbmd0aCl8MDtjb25zdCBBPWFnZW50c1thXSxCPWFnZW50c1tiXTtjb25zdCBzZWM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VjdGlvbiIpO3NlYy5jbGFzc05hbWU9ImV4IGZyZXNoIjtzZWMuaW5uZXJIVE1MPWA8aDQ+4oCUICR7QS5uYW1lfSBhbmQgJHtCLm5hbWV9IHVuZm9sZCB0aGVpciBwYXlsb2FkcyDigJQ8L2g0PjxkaXYgY2xhc3M9ImV4LXJvdyI+JHtjYW52YXNIVE1MKEEpfSR7Y2FudmFzSFRNTChCKX08L2Rpdj5gO3N0cmVhbS5hcHBlbmRDaGlsZChzZWMpO3RyaW1TdHJlYW0oKTtzdHJlYW0uc2Nyb2xsVG9wPXN0cmVhbS5zY3JvbGxIZWlnaHQ7Y2hpbWUoQSxCKTtjbGVhckVjaG8oKTtwcmV2VG9rZW5zPVtdfWxldCBsb29wVGltZXI9bnVsbCxleGhpYml0VGltZXI9bnVsbDtmdW5jdGlvbiBzdGVwKCl7aWYoc3RhdGUucGF1c2VkfHxkb2N1bWVudC5oaWRkZW4pe2xvb3BUaW1lcj1zZXRUaW1lb3V0KHN0ZXAsMzAwKTtyZXR1cm59bGV0IGlkeD0wO2ZvcihsZXQgaT0xO2k8YWdlbnRzLmxlbmd0aDtpKyspaWYobmV4dEF0W2ldPG5leHRBdFtpZHhdKWlkeD1pO2NvbnN0IGRlbGF5PU1hdGgubWF4KDAsbmV4dEF0W2lkeF0tcGVyZm9ybWFuY2Uubm93KCkpO2xvb3BUaW1lcj1zZXRUaW1lb3V0KCgpPT57aWYoIXN0YXRlLnBhdXNlZCYmIWRvY3VtZW50LmhpZGRlbil7Y29uc3QgYT1hZ2VudHNbaWR4XTtzYXkoYSk7bmV4dEF0W2lkeF09cGVyZm9ybWFuY2Uubm93KCkrd2FpdEZvcihhKSsoTWF0aC5yYW5kb20oKTxUSElOS19DSEFOQ0U/cm5kKFRISU5LX01JTixUSElOS19NQVgpOjApfXN0ZXAoKX0sZGVsYXkpfWZ1bmN0aW9uIGV4aGliaXRMb29wKCl7ZXhoaWJpdFRpbWVyPXNldFRpbWVvdXQoKCk9PntpZighc3RhdGUucGF1c2VkJiYhZG9jdW1lbnQuaGlkZGVuKWV4aGliaXQoKTtleGhpYml0TG9vcCgpfSxybmQoNDUwMCw5MDAwKS9zdGF0ZS5zcGVlZCl9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImZyb3plbiIsZG9jdW1lbnQuaGlkZGVuKX0pO3tjb25zdCB0b3RhbD1hZ2VudHMucmVkdWNlKChzLGEpPT5zK2EudmVyYm9zaXR5LDApO3ByZXZUb2tlbnM9W107Zm9yKGxldCBpPTA7aTxISVNUT1JZX01BWDtpKyspe2xldCByPU1hdGgucmFuZG9tKCkqdG90YWwsaWR4PTA7Zm9yKGxldCBqPTA7ajxhZ2VudHMubGVuZ3RoO2orKyl7ci09YWdlbnRzW2pdLnZlcmJvc2l0eTtpZihyPD0wKXtpZHg9ajticmVha319c2F5KGFnZW50c1tpZHhdKX1jbGVhckVjaG8oKTtbLi4uc3RyZWFtLmNoaWxkcmVuXS5mb3JFYWNoKGM9PmMuY2xhc3NMaXN0LnJlbW92ZSgiZnJlc2giKSl9Y29uc3QgbW9kYWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsIik7Y29uc3QgYnRuUGF1c2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC1wYXVzZSIpO2NvbnN0IHZvbEluPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvcHQtdm9sIik7Y29uc3Qgdm9sVmFsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvcHQtdm9sLXZhbCIpO2NvbnN0IHNwZEluPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvcHQtc3BkIik7Y29uc3Qgc3BkVmFsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvcHQtc3BkLXZhbCIpO2NvbnN0IGJ0blNoaW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC1zaGltIik7ZnVuY3Rpb24gc3luY1VJKCl7YnRuUGF1c2UudGV4dENvbnRlbnQ9c3RhdGUucGF1c2VkPyJyZXN1bWUiOiJwYXVzZSI7YnRuUGF1c2UuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixzdGF0ZS5wYXVzZWQpO3ZvbEluLnZhbHVlPXN0YXRlLnZvbHVtZTt2b2xWYWwudGV4dENvbnRlbnQ9TWF0aC5yb3VuZChzdGF0ZS52b2x1bWUqMTAwKSsiJSI7c3BkSW4udmFsdWU9c3RhdGUuc3BlZWQ7c3BkVmFsLnRleHRDb250ZW50PXN0YXRlLnNwZWVkLnRvRml4ZWQoMikrIsOXIjtidG5TaGltLnRleHRDb250ZW50PXN0YXRlLnNoaW1tZXI/Im9uIjoib2ZmIjtidG5TaGltLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsc3RhdGUuc2hpbW1lcil9ZnVuY3Rpb24gdG9nZ2xlTW9kYWwoZm9yY2Upe2NvbnN0IHdpbGxPcGVuPXR5cGVvZiBmb3JjZT09PSJib29sZWFuIj9mb3JjZTohbW9kYWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJvcGVuIik7bW9kYWwuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsd2lsbE9wZW4pO2lmKHdpbGxPcGVuKXN5bmNVSSgpfWJ0blBhdXNlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3N0YXRlLnBhdXNlZD0hc3RhdGUucGF1c2VkO3N5bmNVSSgpfSk7dm9sSW4uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGU9PntzdGF0ZS52b2x1bWU9cGFyc2VGbG9hdChlLnRhcmdldC52YWx1ZSk7aWYobWFzdGVyKW1hc3Rlci5nYWluLnZhbHVlPXN0YXRlLnZvbHVtZTtzeW5jVUkoKX0pO3NwZEluLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixlPT57c3RhdGUuc3BlZWQ9cGFyc2VGbG9hdChlLnRhcmdldC52YWx1ZSk7c3luY1VJKCl9KTtidG5TaGltLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3N0YXRlLnNoaW1tZXI9IXN0YXRlLnNoaW1tZXI7Zm9yKGNvbnN0IHUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnUiKSl7dS5jbGFzc0xpc3QudG9nZ2xlKCJzaGltbWVyIixzdGF0ZS5zaGltbWVyKX1zeW5jVUkoKX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIixlPT57aWYoZS50YXJnZXQuY2xvc2VzdCgiI21vZGFsIC5wYW5lbCIpJiYhZS50YXJnZXQuY2xvc2VzdCgiLmhpbnQiKSlyZXR1cm47dG9nZ2xlTW9kYWwoKX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGU9PntpZihlLmtleT09PSJFc2NhcGUiKXRvZ2dsZU1vZGFsKGZhbHNlKX0pO1sicG9pbnRlcmRvd24iLCJrZXlkb3duIiwidG91Y2hzdGFydCJdLmZvckVhY2goZXY9PmFkZEV2ZW50TGlzdGVuZXIoZXYsYXJtQXVkaW8se3Bhc3NpdmU6dHJ1ZX0pKTt1bmxvY2suYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFybUF1ZGlvKTtzeW5jVUkoKTtzdGVwKCk7ZXhoaWJpdExvb3AoKTs8L3NjcmlwdD48L2JvZHk+PC9odG1sPiAg