Flip Loan Calculator
Four ways Ternus can fund your flip – sized in two minutes. No credit pull.
Estimates for discussion purposes only – not a rate quote, commitment, or approval. All figures subject to underwriting, appraisal, and verification. FICO and experience are self-stated estimates subject to verification. Profit and ROI figures are driven entirely by your own estimates of ARV, rehab cost, hold period, and selling costs – they are not a Ternus valuation, projection, or guarantee.
KGZ1bmN0aW9uKCl7Cid1c2Ugc3RyaWN0JzsKdmFyIFBSRVZJRVcgPSBmYWxzZTsKdmFyIEdGX0ZPUk1fSUQgPSAzMDsKdmFyIFNNU19MQUJFTCA9ICJJIGFncmVlIHRvIHJlY2VpdmUgU01TL3RleHQgYW5kIHBob25lIGNvbW11bmljYXRpb25zIGZyb20gVGVybnVzIExlbmRpbmcgTExDLiI7CnZhciBFTUFJTF9MQUJFTCA9ICJJIGFncmVlIHRvIHJlY2VpdmUgZW1haWwgY29tbXVuaWNhdGlvbnMgZnJvbSBUZXJudXMgTGVuZGluZyBMTEMuIjsKdmFyIFNIQVJEX0JBU0UgPSAiaHR0cHM6Ly93d3cudGVybnVzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy8iOwp2YXIgU1RBTEVfREFZUyA9IDYwOyAvKiBUaW0gMjAyNi0wNy0wODogcmF0ZXMgcmFyZWx5IGNoYW5nZSAqLwp2YXIgVCA9IG51bGwsIFogPSBudWxsLCB6aXBNaXNzID0gZmFsc2U7CnZhciBTID0geyBwcDowLCByZWhhYjowLCBhcnY6MCwKICBwcm9wVHlwZTpudWxsLCBzcWZ0Om51bGwsIHVuaXRzOjEsIHN0YXRlOm51bGwsIHppcDonJywKICB0eXBlQ2hhbmdlOidObycsIHNxZnRBZGQ6MCwgZXhwYW5kMjA6J05vJywgc3RydWN0RG1nOidObycsIGRvd25YOjAsCiAgZmljbzpudWxsLCBmaWNvU2VsOm51bGwsIGZsaXBzOm51bGwsIGNpdGl6ZW46bnVsbCwKICBob2xkOjksIHNlbGxQY3Q6NiwgY2Fycnk6MzAwLCBjbG9zZVBjdDoxLAogIGdhdGVEb25lOmZhbHNlLCBkZWdyYWRlZDpmYWxzZSB9Owp2YXIgc3RlcCA9IDAsIFNURVBTID0gNiwgUSA9IG51bGw7CnZhciAkID0gZnVuY3Rpb24oaWQpeyByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOyB9OwpmdW5jdGlvbiBnYShldixwKXsgdHJ5eyBpZih3aW5kb3cuZGF0YUxheWVyKXsgdmFyIG89e2V2ZW50OmV2fTsgaWYocCl7Zm9yKHZhciBrIGluIHApe29ba109cFtrXTt9fSB3aW5kb3cuZGF0YUxheWVyLnB1c2gobyk7fSB9Y2F0Y2goZSl7fSB9CmZ1bmN0aW9uIGZtdCQobil7IHJldHVybiAobjwwPyctJCc6JyQnKSArIE1hdGgucm91bmQoTWF0aC5hYnMobikpLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycpOyB9CmZ1bmN0aW9uIGZtdFBjdChyKXsgcmV0dXJuIChyKjEwMCkudG9GaXhlZCgyKS5yZXBsYWNlKC9cLj8wKyQvLCcnKSArICclJzsgfQpmdW5jdGlvbiBlc2Mocyl7IHJldHVybiBTdHJpbmcocykucmVwbGFjZSgvWyY8PiJdL2csZnVuY3Rpb24oYyl7cmV0dXJuIHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnfVtjXTt9KTsgfQoKLyogLS0tLS0tLS0tLSBlbmdpbmUgKHBvcnQgb2YgZmxpcC1leHRyYWN0LXRhYmxlcy5weSwgdmFsaWRhdGVkIDM1LzM1IHZzIHdvcmtib29rKSAtLS0tLS0tLS0tICovCmZ1bmN0aW9uIGV4cEludCgpeyByZXR1cm4gUy5mbGlwcz09PScxMCsnID8gMTAgOiBwYXJzZUludChTLmZsaXBzLDEwKTsgfQpmdW5jdGlvbiB0aWVyKCl7IHZhciBlPWV4cEludCgpOyByZXR1cm4gZTw9Mz8nMC0zJzooZTw9OT8nNC05JzonMTArJyk7IH0KZnVuY3Rpb24genJvdygpeyByZXR1cm4gKFogJiYgWltTLnppcF0pIHx8IG51bGw7IH0KZnVuY3Rpb24gcXVvdGVzKCl7CiAgdmFyIGU9ZXhwSW50KCksIHpyPXpyb3coKSwgZmxhZz16cj96clswXTowLCBtaHY9enI/enJbMV06MDsKICB2YXIgaHBhPWZsYWc9PT0xLCBraWxsZWQ9ZmxhZz09PTI7CiAgdmFyIG1hcmtldD1ULm1hcmtldEFyZWFzW1MuemlwXXx8bnVsbDsKICB2YXIgaGVhdnk9KFMucHA+MCYmUy5yZWhhYi9TLnBwPj0xKXx8Uy50eXBlQ2hhbmdlPT09J1llcyd8fFMuc3FmdEFkZD4yNTB8fFMuc3RydWN0RG1nPT09J1llcyc7CiAgdmFyIGhyQXJ2PWhlYXZ5PyhlPT09MD8wLjY6KGU8Mz8wLjY1OjAuNykpOjE7CiAgdmFyIGhyTHRjPWhlYXZ5PyhlPT09MD8wLjg6KGU8Mz8wLjk6MSkpOjE7CiAgdmFyIG1odkJyZWFjaD0obWh2P01hdGgubWF4KFMuYXJ2LFMucHApL21odjowKT5ULnJ1bGVzLm1odlRocmVzaG9sZDsKICB2YXIgbWh2Q3V0PW1odkJyZWFjaD9ULnJ1bGVzLm1odkhhaXJjdXQ6MDsKICB2YXIga0Fydj1raWxsZWQ/VC5ydWxlcy5raWxsZWRBcnZDYXA6MSwga0FpPWtpbGxlZD9ULnJ1bGVzLmtpbGxlZEFpQ2FwOjE7CiAgdmFyIGhvbGQ9TWF0aC5taW4oUy5ob2xkLFQucnVsZXMuaG9sZE1heCk7CiAgdmFyIHNlbGw9Uy5zZWxsUGN0LzEwMCwgY2xvc2VQPVMuY2xvc2VQY3QvMTAwOwogIGZ1bmN0aW9uIGVjb24obmFtZSxyYXRlLHB0cyxsb2FuLHJlaGFiQWR2LGFwcEZlZSxkdXRjaCxleHRyYUZlZSl7CiAgICAvKiBkdXRjaD10cnVlIChRVC9YUC9CcmlkZ2UpOiBpbnRlcmVzdCBvbiBGVUxMIGxvYW4gaW5jbC4gcmVoYWIgZXNjcm93IGZyb20gZGF5IDEuCiAgICAgICBkdXRjaD1mYWxzZSAoRWxpdGUsIHBlciBjb3JyZXNwb25kZW50IHNpemVyKTogaW50ZXJlc3QgYXMgZHJhd24gLSBzdGFydHMgb24gaW5pdGlhbCBhZHZhbmNlLAogICAgICAgcHJvZml0IGNhcnJ5IHVzZXMgYXZlcmFnZSBiYWxhbmNlIChpbml0aWFsICsgaGFsZiB0aGUgZXNjcm93KSBvdmVyIHRoZSBob2xkLiBDRU8gMjAyNi0wNy0wOC4gKi8KICAgIHZhciBpbml0QWR2PU1hdGgubWF4KGxvYW4tcmVoYWJBZHYsMCk7ICAgIC8qIGluaXRpYWwgYWR2YW5jZSBORVZFUiBpbmNsdWRlcyBjbG9zaW5nIGNvc3RzICovCiAgICB2YXIgZG93bj1NYXRoLm1heChTLnBwLWluaXRBZHYsMCk7CiAgICB2YXIgcHRzQz1wdHMqbG9hbiwgY2xvc2luZz1jbG9zZVAqbG9hbjsKICAgIHZhciBwcm9jPU1hdGgubWF4KChsb2FuPDEwMDAwMD9ULmZlZXMucHJvY1N1YjpULmZlZXMucHJvY1N0ZCksVC5mZWVzLnByb2NGbG9vcik7CiAgICB2YXIgZG9jUHJlcD03OTksIGxlZ2FsPTI1MDsgICAgICAgICAgICAgICAvKiB0ZXJtLXNoZWV0IGZlZSBzdHJ1Y3R1cmUsIENFTy1jb25maXJtZWQgMjAyNi0wNy0wOCAqLwogICAgLyogVVcgMy4xIHNlYyA1LjQ6IGFwcGxpY2F0aW9uIGZlZSAkNDk1LCBRdWlja1Rlcm4gb25seSAocGFzc2VkIGluIHZpYSBULmZlZXMuYXBwRmVlOyBzdXBlcnNlZGVzIHYzLjIgJDUwMCkgKi8KICAgIHZhciBwbXRCYXNlPWR1dGNoP2xvYW46aW5pdEFkdjsKICAgIHZhciBwcm9yYXRlZD1yYXRlLzM2MCpwbXRCYXNlKjEwOyAgICAgICAgIC8qIH4xMCBkYXlzIHByZXBhaWQgcGVyLWRpZW0gaW50ZXJlc3QgYXQgY2xvc2UgKC8zNjApICovCiAgICB2YXIgcmVzZXJ2ZT1yYXRlLzEyKmxvYW4qVC5mZWVzLnJlc2VydmVNb250aHM7IC8qIHZlcmlmaWVkIGluIGxpcXVpZGl0eSBjaGVjayAoQ0VPIDIwMjYtMDctMDgpLi4uICovCiAgICAvKiAuLi5FWENFUFQ6IFVXIDMuMSBEMy9WMiAtIEhlYXZ5IFJlaGFiIHdpdGggMC0yIHZlcmlmaWVkIHByb2plY3RzIGNvbGxlY3RzIHRoZSBmdWxsIDYtbW8gSVIgYXQgY2xvc2UgKi8KICAgIHZhciBpckNsb3NlPShkdXRjaCYmbmFtZSE9PSdCUklER0UnJiZoZWF2eSYmZTwzKT9yZXNlcnZlOjA7CiAgICB2YXIgeGZlZT1leHRyYUZlZXx8MDsgLyogRWxpdGU6ICQxLDAwMCBUZXJudXMgZmVlIG9uIHRvcCBvZiB0aGUgcmF0ZSBzaGVldCAoQ0VPIDIwMjYtMDctMDgpICovCiAgICB2YXIgY3RjPWRvd24rcHRzQytjbG9zaW5nK3Byb2MrYXBwRmVlK2RvY1ByZXArbGVnYWwrcHJvcmF0ZWQreGZlZStpckNsb3NlOwogICAgdmFyIHNlbGxpbmc9Uy5hcnYqc2VsbDsKICAgIHZhciBjYXJyeUJhc2U9ZHV0Y2g/bG9hbjooaW5pdEFkdityZWhhYkFkdi8yKTsgLyogbGluZWFyLWRyYXcgYXBwcm94aW1hdGlvbiBmb3IgYXMtZHJhd24gKi8KICAgIHZhciBpbnRlcmVzdENvc3Q9cmF0ZS8xMipjYXJyeUJhc2UqaG9sZDsKICAgIHZhciBjYXJyeU89Uy5jYXJyeSpob2xkOwogICAgdmFyIHVwZnJvbnQ9cHRzQytjbG9zaW5nK3Byb2MrYXBwRmVlK2RvY1ByZXArbGVnYWwreGZlZTsKICAgIHZhciBwcm9maXQ9KFMuYXJ2LXNlbGxpbmcpLShTLnBwK1MucmVoYWIraW50ZXJlc3RDb3N0K2NhcnJ5Tyt1cGZyb250KTsKICAgIHZhciByb2k9Y3RjP3Byb2ZpdC9jdGM6MDsKICAgIHJldHVybiB7bmFtZTpuYW1lLHJhdGU6cmF0ZSxwdHM6cHRzLGxvYW46bG9hbixpbml0QWR2OmluaXRBZHYsZXNjcm93OnJlaGFiQWR2LGR1dGNoOmR1dGNoLAogICAgICAgICAgICBkb3duOmRvd24scHRzQzpwdHNDLGNsb3Npbmc6Y2xvc2luZyxwcm9jOnByb2MsYXBwRmVlOmFwcEZlZSwKICAgICAgICAgICAgcmVzZXJ2ZTpyZXNlcnZlLGlyQ2xvc2U6aXJDbG9zZSxjdGM6Y3RjLHByb2ZpdDpwcm9maXQscm9pOnJvaSxhbm5Sb2k6cm9pKigxMi9ob2xkKSwKICAgICAgICAgICAgLyogbGlxdWlkaXR5OiBVVyAzLjEgc2VjIDkgZm9yIFRlcm51cyBwcm9kdWN0cyAtIFFUL1hQID0gQ1RDICsgNm1vIHBheW1lbnRzICsgMTAlIHJlaGFiIGJ1ZGdldDsgQnJpZGdlID0gQ1RDICsgNm1vIHBheW1lbnRzIG9ubHkuCiAgICAgICAgICAgICAgIEVsaXRlID0gY29ycmVzcG9uZGVudCBndWlkZSBwMTc6IENUQyArIDZtbyArIDEwJSBmdW5kZWQgcmVoYWIgKyAxMDAlIG91dC1vZi1wb2NrZXQgcmVoYWIuCiAgICAgICAgICAgICAgIFdoZW4gdGhlIElSIGlzIGNvbGxlY3RlZCBhdCBjbG9zZSAoaGVhdnkgMC0yKSBpdCBpcyBhbHJlYWR5IGluc2lkZSBDVEMgLSBuZXZlciBkb3VibGUtY291bnRlZC4gKi8KICAgICAgICAgICAgaW9QbXQ6cmF0ZS8xMipwbXRCYXNlLGZ1bGxQbXQ6cmF0ZS8xMipsb2FuLAogICAgICAgICAgICBtaW5MaXE6KG5hbWU9PT0nQlJJREdFJyk/KGN0YytyZXNlcnZlKTooY3RjKyhpckNsb3NlPzA6cmVzZXJ2ZSkrMC4xKnJlaGFiQWR2K01hdGgubWF4KFMucmVoYWItcmVoYWJBZHYsMCkpLCBrbzonJ307CiAgfQogIGZ1bmN0aW9uIGFwcGx5RG93bihsb2FuLHJlaGFiQWR2LG1pbkxvYW4pewogICAgLyogdm9sdW50YXJ5IGV4dHJhIGRvd24gKHNsaWRlcik6IHJlZHVjZXMgdGhlIHB1cmNoYXNlIGFkdmFuY2UgYmVsb3cgdGhlIHN0cnVjdHVyYWwgbWF4LgogICAgICAgRmxvb3I6IHByb2R1Y3QgbWluIGxvYW4sIGFuZCB0aGUgbG9hbiBuZXZlciBkcm9wcyBiZWxvdyB0aGUgcmVoYWIgZXNjcm93IChpbml0QWR2ID49IDApLiAqLwogICAgdmFyIHNkPU1hdGgubWF4KFMucHAtKGxvYW4tcmVoYWJBZHYpLDApLCB0PVMuZG93blh8fDA7CiAgICBpZih0PD1zZCkgcmV0dXJuIGxvYW47CiAgICByZXR1cm4gTWF0aC5tYXgobG9hbi0odC1zZCksIE1hdGgubWF4KG1pbkxvYW4scmVoYWJBZHYpKTsKICB9CiAgZnVuY3Rpb24gZWZmQXJ2KGJhc2UpewogICAgdmFyIGlubmVyPWhwYT9NYXRoLm1pbihiYXNlLE1hdGgubWF4KGJhc2UtVC5ydWxlcy5ocGFBcnZDdXQsVC5ydWxlcy5ocGFBcnZGbG9vcikpOmJhc2U7CiAgICBpbm5lci09bWFya2V0PyhlPDU/VC5ydWxlcy50bUN1dEx0NTpULnJ1bGVzLnRtQ3V0NXBsdXMpOjA7CiAgICBpbm5lcis9bWh2Q3V0OwogICAgcmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oa0Fydixpbm5lcikpOwogIH0KICBmdW5jdGlvbiBrb0NvbW1vbihsb2FuLG1pbkxvYW4sZmljb0Zsb29yKXsKICAgIHZhciBrbz0nJzsKICAgIGlmKFQucnVsZXMuaW5lbGlnaWJsZVN0YXRlcy5pbmRleE9mKFMuc3RhdGUpPj0wKSBrbys9J0luZWxpZ2libGUgc3RhdGUuICc7CiAgICBpZihtYXJrZXQmJlMuYXJ2PFQucnVsZXMudG1NaW5BcnYpIGtvKz0nVGhpcyBtYXJrZXQgcmVxdWlyZXMgJDE3NUsrIEFSVi4gJzsKICAgIGlmKFMucHJvcFR5cGU9PT0nQ09ORE8nKSBrbys9J0NvbmRvIG5lZWRzIG91ciBFbGl0ZSBwYXRoLiAnOwogICAgaWYoKFMucHJvcFR5cGU9PT0nU0ZSJ3x8Uy5wcm9wVHlwZT09PSdUT1dOSE9NRScpJiZTLnNxZnQ8VC5ydWxlcy5zcWZ0TWluU2ZyKSBrbys9J1VuZGVyIDY3NSBzcWZ0LiAnOwogICAgaWYoUy5wcm9wVHlwZT09PScyLTRfRkFNSUxZJyYmUy5zcWZ0L01hdGgubWF4KFMudW5pdHMsMSk8VC5ydWxlcy5zcWZ0TWluMjRQZXJVbml0KSBrbys9J1VuZGVyIDUwMCBzcWZ0L3VuaXQuICc7CiAgICBpZihTLmNpdGl6ZW49PT0nRm9yZWlnbiBOYXRpb25hbCcpIGtvKz0nRm9yZWlnbiBOYXRpb25hbCBuZWVkcyBvdXIgRWxpdGUgcGF0aC4gJzsKICAgIGlmKGZpY29GbG9vciYmUy5maWNvPGZpY29GbG9vcikga28rPSdGSUNPIGJlbG93ICcrZmljb0Zsb29yKycuICc7CiAgICBpZihsb2FuPG1pbkxvYW4pIGtvKz0nTG9hbiBiZWxvdyBtaW5pbXVtLiAnOwogICAgcmV0dXJuIGtvOwogIH0KICB2YXIgb3V0PXt9OwogIFsnUVVJQ0tURVJOJywnWFBfOTAnLCdYUF84MCddLmZvckVhY2goZnVuY3Rpb24ocCl7CiAgICB2YXIgbHY9VC5sZXZlcmFnZVtwXTsKICAgIC8qIFVXIDMuMSBBUlYgdGllcnM6IFFUIDcwIHN0ZCAvIDc1IHdpdGggMTArIGV4cCBBTkQgNzYwKyBGSUNPIChBTUMgYXBwcmFpc2FsLCBEMS9WMSk7IFhQOTAgNzUgZmxhdCAoRDQpOyBYUDgwIDc1IHN0ZCAvIDgwIHdpdGggNzIwKyBGSUNPICsgQU1DIChENCkgKi8KICAgIHZhciBhcnZCYXNlPXA9PT0nUVVJQ0tURVJOJz8oKGU+PTEwJiZTLmZpY28+PTc2MCk/bHZbM106bHZbMl0pOihwPT09J1hQXzkwJz9sdlszXTooKFMuZmljbz49NzIwKT9sdlszXTpsdlsyXSkpOwogICAgdmFyIGVhPWVmZkFydihNYXRoLm1pbihhcnZCYXNlLGhyQXJ2KSk7CiAgICB2YXIgbG9hbj1NYXRoLm1pbihNYXRoLm1pbihTLnBwKmx2WzBdLFMucHAqa0FpKStTLnJlaGFiKmx2WzFdLCBTLmFydiplYSwgaHJMdGMqKFMucHArUy5yZWhhYiksIFQucnVsZXMuYWJzTWF4TG9hbik7CiAgICBsb2FuPWFwcGx5RG93bihsb2FuLFMucmVoYWIqbHZbMV0sbHZbNV0pOwogICAgdmFyIHJhdGU9VC5wcmljaW5nW3BdW3RpZXIoKV1bMF0rKChwPT09J1FVSUNLVEVSTicmJmxvYW48MTAwMDAwKT9ULmZlZXMuc3ViMTAwa0FkZGVyQnBzLzEwMDAwOjApOyAvKiBVVyAzLjEgc2VjIDUuMjogTExQQSBrZXlzIG9mZiB0aGUgTE9BTiBhbW91bnQgKi8KICAgIHZhciBxPWVjb24ocCxyYXRlLFQucHJpY2luZ1twXVt0aWVyKCldWzFdLGxvYW4sUy5yZWhhYipsdlsxXSxwPT09J1FVSUNLVEVSTic/VC5mZWVzLmFwcEZlZTowLHRydWUpOwogICAgcS5lZmZBcnY9ZWE7CiAgICBxLmtvPWtvQ29tbW9uKGxvYW4sbHZbNV0sbHZbNF0pOwogICAgaWYoUy5yZWhhYj4wJiZTLmFydjxULnJ1bGVzLmdyb3NzUmV0dXJuTWluKihTLnBwK1MucmVoYWIpKSBxLmtvKz0nQVJWIHVuZGVyIDExMCUgb2YgdG90YWwgY29zdC4gJzsKICAgIGlmKFMuZmljbzxULnJ1bGVzLmhlYXZ5Q3JlZGl0T3ZlcmxheU1pbkZpY28mJihoZWF2eXx8KG1odj4wJiZTLmFydj5taHYpKSkgcS5rbys9J1RoaXMgc2NvcGUgbmVlZHMgNjYwKyBGSUNPLiAnOwogICAgb3V0W3BdPXE7CiAgfSk7CiAgdmFyIGQ9b3V0LlhQXzkwLCB4PW91dC5YUF84MDsKICB2YXIgZE9rPSFkLmtvLnRyaW0oKSwgeE9rPSF4LmtvLnRyaW0oKTsKICBvdXQuWFAgPSBkT2smJnhPayA/ICh4LnJvaT5kLnJvaT94Oih4LnJvaTxkLnJvaT9kOih4LnJhdGU8ZC5yYXRlP3g6ZCkpKSA6IChkT2s/ZDooeE9rP3g6ZCkpOwogIG91dC5YUC52YXJpYW50ID0gb3V0LlhQPT09b3V0LlhQXzgwPydYUCA4MCUnOidYUCA5MCUnOwogIHZhciBiRWE9TWF0aC5tYXgoMCxNYXRoLm1pbihULmJyaWRnZS5hc0lzTHR2LGtBaSkrbWh2Q3V0KyhtYXJrZXQ/KGU8NT8tVC5ydWxlcy50bUN1dEx0NTotVC5ydWxlcy50bUN1dDVwbHVzKTowKSk7CiAgdmFyIGJMb2FuPWFwcGx5RG93bihNYXRoLm1pbihTLnBwKmJFYSxULmJyaWRnZS5tYXhMb2FuKSwwLFQuYnJpZGdlLm1pbkxvYW4pOwogIC8qIFVXIDMuMSBWNi9zZWMgNS4yOiBzdWItJDEwMEsgTExQQSAoKzEwMGJwcykgYXBwbGllcyB0byBCcmlkZ2UgYXMgd2VsbCBhcyBRdWlja1Rlcm4gKi8KICB2YXIgYlJhdGU9VC5wcmljaW5nLlFVSUNLVEVSTlt0aWVyKCldWzBdKyhiTG9hbjwxMDAwMDA/VC5mZWVzLnN1YjEwMGtBZGRlckJwcy8xMDAwMDowKTsKICB2YXIgYj1lY29uKCdCUklER0UnLGJSYXRlLFQucHJpY2luZy5RVUlDS1RFUk5bdGllcigpXVsxXSxiTG9hbiwwLDAsdHJ1ZSk7CiAgYi5lZmZBcnY9YkVhOyAvKiBVVyAzLjEgc2VjIDk6IEJyaWRnZSBsaXF1aWRpdHkgPSBjYXNoIHRvIGNsb3NlICsgNi1tbyBwYXltZW50cyBvbmx5IChyZW5vdmF0aW9uIGxpcXVpZGl0eTogbm90IGFwcGxpY2FibGUpICovCiAgYi5rbz1rb0NvbW1vbihiTG9hbixULmJyaWRnZS5taW5Mb2FuLFQuYnJpZGdlLm1pbkZpY28pOwogIGlmKGU8KFQuYnJpZGdlLm1pbkV4cGVyaWVuY2V8fDMpKSBiLmtvKz0nQnJpZGdlIHJlcXVpcmVzIDMrIGNvbXBsZXRlZCBwcm9qZWN0cy4gJzsgLyogVVcgMy4xIEQxMiAqLwogIG91dC5CUklER0U9YjsKICB2YXIgZVRpZXI9ZT09PTA/JzAnOihlPD00PycxLTQnOihlPD05Pyc1Kyc6JzEwKycpKTsKICAvKiBSQ04gZ3VpZGUgcDMgZm43OiAxMDAlIHByb2dyYW0gPSAxMCsgZXhwLCBGSUNPIDcyMCssIGxvYW5zIDw9ICQ4MDBrLCBOT1QgaW4gdGFyZ2V0LW1hcmtldCBnZW9zCiAgICAgKDUrIGluLXN0YXRlIHByb2plY3RzIGFzc3VtZWQgLSB2ZXJpZmllZCBpbiB1bmRlcndyaXRpbmcpLiBHdWlkZSBwODogcHJvZ3JhbSB1bmF2YWlsYWJsZSBpbiBvdmVybGF5IG1hcmtldHMuICovCiAgdmFyIHVuaUVzdD1NYXRoLm1pbihTLnBwK1MucmVoYWIsMC43NSpTLmFydik7CiAgdmFyIHVuaWNvcm49Uy5jaXRpemVuPT09J1VTIENpdGl6ZW4nJiZTLmZpY28+PTcyMCYmZT49MTAmJiFtYXJrZXQmJnVuaUVzdDw9ODAwMDAwOwogIHZhciBsb29rPShlVGllcj09PScxMCsnJiYhdW5pY29ybik/JzUrJzplVGllcjsKICAvKiBSQ04gZ3VpZGUgcDUgcmVoYWIgY2xhc3NlcyBvZmYgSW5pdGlhbCBWYWx1ZSAoUFAgYXMgcHJveHkpOiBTdGFiaWxpemVkIDwyLjUlIC8gTGlnaHQgMi41LTUwIC8gTW9kZXJhdGUgNTAtMTAwIC8gSGVhdnkgPjEwMCBvciB0cmlnZ2VycyAqLwogIHZhciBycj1TLnBwPjA/Uy5yZWhhYi9TLnBwOjA7CiAgdmFyIHJ0PShTLnR5cGVDaGFuZ2U9PT0nWWVzJ3x8KFMuZXhwYW5kMjA9PT0nWWVzJyYmUy5zcWZ0QWRkPj03NTApfHxycj49MSk/J0hlYXZ5JzoocnI+PTAuNT8nTW9kZXJhdGUnOihycj49MC4wMjU/J0xpZ2h0JzonU3RhYmlsaXplZCcpKTsKICBpZihydD09PSdTdGFiaWxpemVkJyYmbG9vaz09PScxMCsnKWxvb2s9JzUrJzsgLyogbm8gU3RhYmlsaXplZCAxMCsgcm93IGluIHRoZSBndWlkZSAqLwogIHZhciBtPVQuZWxpdGUubWF0cml4W3J0Kyd8Jytsb29rXXx8WzAsMSwwLDAsNjUwLDc1MDAwXTsKICB2YXIgZmljb0N1dD1TLmNpdGl6ZW49PT0nRm9yZWlnbiBOYXRpb25hbCc/VC5lbGl0ZS5maWNvQWRqLkZOWzFdOihTLmZpY28+PTcwMD8wOihTLmZpY28+PTY4MD9ULmVsaXRlLmZpY29BZGpbJzY4MC02OTknXVsxXTpULmVsaXRlLmZpY29BZGpbJzY1MC02NzknXVsxXSkpOwogIHZhciBhZGo9Zmljb0N1dCsoKFMudW5pdHM9PT0xJiZtaHZCcmVhY2gpP1QucnVsZXMubWh2SGFpcmN1dDowKSsobWFya2V0PyhlPDU/LVQucnVsZXMudG1DdXRMdDU6LVQucnVsZXMudG1DdXQ1cGx1cyk6MCk7CiAgdmFyIGVBcnY9aHBhP01hdGgubWluKG1bMl0sTWF0aC5tYXgobVsyXS1ULnJ1bGVzLmhwYUFydkN1dCwwLjY1KSk6bVsyXTsKICB2YXIgZUFydkY9TWF0aC5taW4oTWF0aC5tYXgoZUFydithZGosMCksa0Fydik7CiAgdmFyIGVJbHRjPU1hdGgubWF4KDAsTWF0aC5taW4obVswXSthZGosaHBhPzAuOToxLGtBaSkpOwogIHZhciBlVGx0Yz1tWzNdP01hdGgubWF4KDAsbVszXSthZGorKGhwYT8tMC4wNTowKSk6MDsKICB2YXIgZVJlaGFiQWR2PVMucmVoYWIqKG1bMV09PW51bGw/MTptWzFdKTsgICAgICAgICAgICAvKiBTdGFiaWxpemVkOiByZWhhYiBOT1QgZnVuZGVkIChndWlkZSBwNSkgKi8KICB2YXIgZUFydkNhcD1tWzJdP1MuYXJ2KmVBcnZGOkluZmluaXR5OyAgICAgICAgICAgICAgICAgLyogU3RhYmlsaXplZDogbm8gQVJWIGNvbnN0cmFpbnQgKi8KICB2YXIgZVRsdGNDYXA9bVszXT9lVGx0YyooUy5wcCtTLnJlaGFiKTpJbmZpbml0eTsgICAgICAgLyogU3RhYmlsaXplZDogbm8gVC1MVEMgY29uc3RyYWludCAqLwogIHZhciBlTG9hbj1NYXRoLm1pbihTLnBwKmVJbHRjK2VSZWhhYkFkdiwgZUFydkNhcCwgZVRsdGNDYXAsIFQuZWxpdGUubWF4TG9hbik7CiAgZUxvYW49YXBwbHlEb3duKGVMb2FuLGVSZWhhYkFkdixULmVsaXRlLm1pbkxvYW4pOyAvKiBiZWZvcmUgdGhlIGxvYW4tc2l6ZSBwcmljaW5nIGxvb2t1cCAtIHNtYWxsZXIgRWxpdGUgbG9hbnMgY2FuIHByaWNlIGRpZmZlcmVudGx5ICovCiAgdmFyIGVBZGQ9Uy5jaXRpemVuPT09J0ZvcmVpZ24gTmF0aW9uYWwnP1QuZWxpdGUuZmljb0Fkai5GTlswXTooUy5maWNvPj03MDA/MDooUy5maWNvPj02ODA/VC5lbGl0ZS5maWNvQWRqWyc2ODAtNjk5J11bMF06VC5lbGl0ZS5maWNvQWRqWyc2NTAtNjc5J11bMF0pKTsKICB2YXIgbHM9MCwgaTsKICBmb3IoaT0wO2k8VC5lbGl0ZS5sb2FuU2l6ZUFkai5sZW5ndGg7aSsrKXsgaWYoZUxvYW4+PVQuZWxpdGUubG9hblNpemVBZGpbaV1bMF0pIGxzPVQuZWxpdGUubG9hblNpemVBZGpbaV1bMV07IH0KICB2YXIgZWw9ZWNvbignRUxJVEUnLChULmVsaXRlLmJhc2VSYXRlc1tsb29rXXx8VC5lbGl0ZS5iYXNlUmF0ZXNbJzAnXSkrZUFkZCtscysoVC5lbGl0ZS5tYXJnaW5SYXRlfHwwKSxULmVsaXRlLnBvaW50cysoVC5lbGl0ZS5tYXJnaW5PcmlnUHRzfHwwKSxlTG9hbixlUmVoYWJBZHYsMCxmYWxzZSxULmVsaXRlLnRlcm51c0ZlZXx8MCk7CiAgZWwuZWZmQXJ2PWVBcnZGOwogIHZhciBla289Jyc7CiAgaWYoVC5ydWxlcy5pbmVsaWdpYmxlU3RhdGVzLmluZGV4T2YoUy5zdGF0ZSk+PTApIGVrbys9J0luZWxpZ2libGUgc3RhdGUuICc7CiAgaWYobWFya2V0JiZTLmFydjxULnJ1bGVzLnRtTWluQXJ2KSBla28rPSdUaGlzIG1hcmtldCByZXF1aXJlcyAkMTc1SysgQVJWLiAnOwogIGlmKChTLnByb3BUeXBlPT09J1NGUid8fFMucHJvcFR5cGU9PT0nVE9XTkhPTUUnKSYmUy5zcWZ0PFQuZWxpdGUuc3FmdE1pblNmcikgZWtvKz0nVW5kZXIgNjc1IHNxZnQuICc7CiAgaWYoUy5wcm9wVHlwZT09PSdDT05ETycmJlMuc3FmdDxULmVsaXRlLmNvbmRvTWluU3FmdCkgZWtvKz0nQ29uZG8gdW5kZXIgNDgwIHNxZnQuICc7CiAgaWYoUy5jaXRpemVuIT09J0ZvcmVpZ24gTmF0aW9uYWwnJiZTLmZpY288VC5lbGl0ZS5taW5GaWNvKSBla28rPSdGSUNPIGJlbG93IDY1MC4gJzsKICBpZihTLmFydjwoUy5jaXRpemVuPT09J0ZvcmVpZ24gTmF0aW9uYWwnP1QuZWxpdGUuZm5NaW5WYWx1ZTpULmVsaXRlLm1pblZhbHVlKSkgZWtvKz0nVmFsdWUgYmVsb3cgRWxpdGUgbWluaW11bS4gJzsKICBpZihlTG9hbjxULmVsaXRlLm1pbkxvYW4pIGVrbys9J0xvYW4gYmVsb3cgJDc1SyBFbGl0ZSBtaW5pbXVtLiAnOwogIGVsLmtvPWVrbzsKICBvdXQuRUxJVEU9ZWw7CiAgb3V0Ll9jdHg9e2hlYXZ5OmhlYXZ5LGhwYTpocGEsa2lsbGVkOmtpbGxlZCxtYXJrZXQ6ISFtYXJrZXQsbWh2QnJlYWNoOm1odkJyZWFjaCx6aXBNaXNzOnppcE1pc3MsaG9sZDpob2xkLHJlaGFiVHlwZTpydCx1bmljb3JuOnVuaWNvcm4mJihydD09PSdMaWdodCd8fHJ0PT09J01vZGVyYXRlJyl9OwogIHJldHVybiBvdXQ7Cn0KZnVuY3Rpb24gd2lubmVycyhxKXsKICB2YXIgZWxpZz1bJ1FVSUNLVEVSTicsJ1hQJywnRUxJVEUnLCdCUklER0UnXS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuIHFba107fSkuZmlsdGVyKGZ1bmN0aW9uKHgpe3JldHVybiAheC5rby50cmltKCkmJngubG9hbj4wO30pOwogIGlmKCFlbGlnLmxlbmd0aCkgcmV0dXJuIG51bGw7CiAgZnVuY3Rpb24gYmVzdChmKXsgcmV0dXJuIGVsaWcucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGYoYik8ZihhKT9iOmE7fSk7IH0KICByZXR1cm4geyBsb3dSYXRlOiBiZXN0KGZ1bmN0aW9uKHgpe3JldHVybiB4LnJhdGUreC5wdHMvMTAwO30pLAogICAgICAgICAgIGxvd0Nhc2g6IGJlc3QoZnVuY3Rpb24oeCl7cmV0dXJuIHguY3RjO30pLAogICAgICAgICAgIGhpZ2hSb2k6IGVsaWcucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIucm9pPmEucm9pP2I6YTt9KSwKICAgICAgICAgICBlbGlnaWJsZTogZWxpZyB9Owp9CmZ1bmN0aW9uIHBOYW1lKHgpeyByZXR1cm4ge1FVSUNLVEVSTjonUXVpY2tUZXJuICgxMDAlIExUQyknLEVMSVRFOidFbGl0ZScsQlJJREdFOidCcmlkZ2UgKGFzLWlzKSd9W3gubmFtZV18fCgnWFAgLSAnKyh4LnZhcmlhbnR8fCdiZXN0IGZpdCcpKTsgfQoKLyogLS0tLS0tLS0tLSB3aXphcmQgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBwcm9nKCl7IHZhciBoPScnLGk7IGZvcihpPTA7aTxTVEVQUztpKyspe2grPSc8c3BhbiBjbGFzcz0iJysoaTw9c3RlcD8nb24nOicnKSsnIj48L3NwYW4+Jzt9ICQoJ2ZscFByb2cnKS5pbm5lckhUTUw9aDsgfQpmdW5jdGlvbiBvcHRHcmlkKGlkLG9wdHMsc2VsKXsgdmFyIGg9JzxkaXYgY2xhc3M9Im9wdHMiIGlkPSInK2lkKyciPicsaTsgZm9yKGk9MDtpPG9wdHMubGVuZ3RoO2krKyl7dmFyIG89b3B0c1tpXTtoKz0nPGRpdiBjbGFzcz0ib3B0Jysoc2VsPT09by52Pycgc2VsJzonJykrJyIgZGF0YS12PSInK2VzYyhvLnYpKyciPicrZXNjKG8udCkrKG8ucz8nPHNtYWxsPicrZXNjKG8ucykrJzwvc21hbGw+JzonJykrJzwvZGl2Pic7fSByZXR1cm4gaCsnPC9kaXY+JzsgfQpmdW5jdGlvbiBiaW5kT3B0cyhpZCxmbil7IHZhciBlbD0kKGlkKTsgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGV2KXsgdmFyIHQ9ZXYudGFyZ2V0LmNsb3Nlc3QoJy5vcHQnKTsgaWYoIXQpcmV0dXJuOyB2YXIgaz1lbC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0JyksaTsgZm9yKGk9MDtpPGsubGVuZ3RoO2krKylrW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbCcpOyB0LmNsYXNzTGlzdC5hZGQoJ3NlbCcpOyBmbih0LmdldEF0dHJpYnV0ZSgnZGF0YS12JykpOyB9KTsgfQpmdW5jdGlvbiBuYXYoYmFja09rKXsgcmV0dXJuICc8ZGl2IGNsYXNzPSJuYXYiPjxidXR0b24gY2xhc3M9ImJiYWNrIiBpZD0iZmxwQmFjayInKyhiYWNrT2s9PT1mYWxzZT8nIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiInOicnKSsnPkJhY2s8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJibmV4dCIgaWQ9ImZscE5leHQiPkNvbnRpbnVlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZXJyIiBpZD0iZmxwRXJyIj48L2Rpdj4nOyB9CmZ1bmN0aW9uIGVycihtKXsgdmFyIGU9JCgnZmxwRXJyJyk7IGUudGV4dENvbnRlbnQ9bTsgZS5zdHlsZS5kaXNwbGF5PSdibG9jayc7IH0KZnVuY3Rpb24gbnVtKGlkKXsgdmFyIHY9cGFyc2VGbG9hdChTdHJpbmcoJChpZCkudmFsdWUpLnJlcGxhY2UoL1teMC05Ll0vZywnJykpOyByZXR1cm4gaXNOYU4odik/MDp2OyB9CmZ1bmN0aW9uIGdvQ29udGFjdChyZWFzb24pewogIGdhKCdmbGlwX2NvbnRhY3RfcGF0aCcse3JlYXNvbjpyZWFzb259KTsKICAkKCdmbHBDYXJkJykuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb250YWN0Ij48aDM+TGV0XHUyMDE5cyBwcmljZSB0aGlzIG9uZSB0b2dldGhlcjwvaDM+PHAgY2xhc3M9InN1YiIgc3R5bGU9Im1hcmdpbi10b3A6OHB4Ij4nK2VzYyhyZWFzb24pKycgT3VyIHRlYW0gc3RydWN0dXJlcyBkZWFscyBsaWtlIHRoaXMgZXZlcnkgZGF5LjwvcD48YSBocmVmPSJodHRwczovL3d3dy50ZXJudXMuY29tL2NvbnRhY3QvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+VGFsayB0byBUZXJudXM8L2E+PHAgY2xhc3M9ImhpbnQiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiPjxhIGhyZWY9IiMiIGlkPSJmbHBSZXN0YXJ0Ij5TdGFydCBvdmVyPC9hPjwvcD48L2Rpdj4nOwogICQoJ2ZscFJlc3RhcnQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZXYpe2V2LnByZXZlbnREZWZhdWx0KCk7c3RlcD0wO3JlbmRlcigpO30pOwp9Cgp2YXIgc3RlcEZucz1bCmZ1bmN0aW9uKCl7CiAgJCgnZmxwQ2FyZCcpLmlubmVySFRNTD0nPGgzPlRoZSBkZWFsPC9oMz48cCBjbGFzcz0ic3ViIj5Zb3VyIG51bWJlcnMgLSB3ZVx1MjAxOWxsIHNpemUgYWxsIGZvdXIgVGVybnVzIHN0cnVjdHVyZXMgYWdhaW5zdCB0aGVtLjwvcD4nKwogICAgJzxkaXYgY2xhc3M9InJvdzMiPjxkaXY+PGxhYmVsPlB1cmNoYXNlIHByaWNlICgkKTwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImZQUCIgdmFsdWU9IicrKFMucHB8fCcnKSsnIiBwbGFjZWhvbGRlcj0iMjIwMDAwIj48L2Rpdj4nKwogICAgJzxkaXY+PGxhYmVsPlRvdGFsIHJlaGFiIGJ1ZGdldCAoJCk8L2xhYmVsPjxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJmUkIiIHZhbHVlPSInKyhTLnJlaGFifHwnJykrJyIgcGxhY2Vob2xkZXI9IjYwMDAwIj48L2Rpdj4nKwogICAgJzxkaXY+PGxhYmVsPkFmdGVyLXJlcGFpcmVkIHZhbHVlIC8gQVJWICgkKTwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImZBUlYiIHZhbHVlPSInKyhTLmFydnx8JycpKyciIHBsYWNlaG9sZGVyPSIzNDAwMDAiPjwvZGl2PjwvZGl2PicrCiAgICAnPHAgY2xhc3M9ImhpbnQiIGlkPSJmU2FuaXR5Ij48L3A+JytuYXYoZmFsc2UpOwogIGZ1bmN0aW9uIHNhbml0eSgpeyB2YXIgcD1udW0oJ2ZQUCcpLHI9bnVtKCdmUkInKSxhPW51bSgnZkFSVicpOyBpZihwJiZhKXskKCdmU2FuaXR5JykudGV4dENvbnRlbnQ9J1JlaGFiIGlzICcrTWF0aC5yb3VuZChyL3AqMTAwKSsnJSBvZiBwdXJjaGFzZSBcdTAwYjcgbG9hbi10by1BUlYgdGFyZ2V0ICcrKGE/TWF0aC5yb3VuZCgocCtyKS9hKjEwMCk6MCkrJyUnO30gfQogIFsnZlBQJywnZlJCJywnZkFSViddLmZvckVhY2goZnVuY3Rpb24oaWQpeyQoaWQpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JyxzYW5pdHkpO30pOyBzYW5pdHkoKTsKICAkKCdmbHBOZXh0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgICBTLnBwPW51bSgnZlBQJyk7IFMucmVoYWI9bnVtKCdmUkInKTsgUy5hcnY9bnVtKCdmQVJWJyk7CiAgICBpZihTLnBwPDI1MDAwKSByZXR1cm4gZXJyKCdFbnRlciBhIHB1cmNoYXNlIHByaWNlIG9mIGF0IGxlYXN0ICQyNSwwMDAuJyk7CiAgICBpZihTLmFydjw9MCkgcmV0dXJuIGVycignRW50ZXIgeW91ciBleHBlY3RlZCBBUlYuJyk7CiAgICBnYSgnZmxpcF93aXphcmRfc3RhcnQnLHt9KTsgc3RlcD0xOyByZW5kZXIoKTsKICB9KTsKfSwKZnVuY3Rpb24oKXsKICB2YXIgc3RhdGVzPSdBTCxBUixDTyxDVCxERSxGTCxHQSxJQSxJRCxJTCxJTixLUyxLWSxMQSxNQSxNRCxNRSxNSSxNTyxNUyxNVCxOQyxORSxOSCxOSixOTSxOWSxPSCxPSyxQQSxSSSxTQyxUTixUWCxWQSxXQSxXSSxXVixXWSxBSyxBWixDQSxEQyxISSxNTixORCxOVixPUixTRCxVVCxWVCcuc3BsaXQoJywnKS5zb3J0KCk7CiAgdmFyIHNvPSc8b3B0aW9uIHZhbHVlPSIiPlN0YXRlXHUyMDI2PC9vcHRpb24+JyxpOyBmb3IoaT0wO2k8c3RhdGVzLmxlbmd0aDtpKyspc28rPSc8b3B0aW9uJysoUy5zdGF0ZT09PXN0YXRlc1tpXT8nIHNlbGVjdGVkJzonJykrJz4nK3N0YXRlc1tpXSsnPC9vcHRpb24+JzsKICAkKCdmbHBDYXJkJykuaW5uZXJIVE1MPSc8aDM+VGhlIHByb3BlcnR5PC9oMz4nKwogICAgb3B0R3JpZCgnZlR5cGUnLFt7djonU0ZSJyx0OidTaW5nbGUgZmFtaWx5J30se3Y6J1RPV05IT01FJyx0OidUb3duaG9tZSd9LHt2OicyLTRfRkFNSUxZJyx0OicyLTQgdW5pdHMnfSx7djonQ09ORE8nLHQ6J0NvbmRvJ31dLFMucHJvcFR5cGUpKwogICAgJzxkaXYgY2xhc3M9InJvdzMiPjxkaXY+PGxhYmVsPlNxdWFyZSBmZWV0PC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iZlNxIiB2YWx1ZT0iJysoUy5zcWZ0fHwnJykrJyI+PC9kaXY+JysKICAgICc8ZGl2PjxsYWJlbD5Vbml0czwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImZVbiIgbWluPSIxIiB2YWx1ZT0iJytTLnVuaXRzKyciPjwvZGl2PicrCiAgICAnPGRpdj48bGFiZWw+WklQPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZaaXAiIG1heGxlbmd0aD0iNSIgaW5wdXRtb2RlPSJudW1lcmljIiB2YWx1ZT0iJytlc2MoUy56aXApKyciPjwvZGl2PjwvZGl2PicrCiAgICAnPGxhYmVsPlN0YXRlPC9sYWJlbD48c2VsZWN0IGlkPSJmU3QiPicrc28rJzwvc2VsZWN0PicrbmF2KCk7CiAgYmluZE9wdHMoJ2ZUeXBlJyxmdW5jdGlvbih2KXtTLnByb3BUeXBlPXY7ICQoJ2ZVbicpLnZhbHVlID0gdj09PScyLTRfRkFNSUxZJz8yOjE7fSk7CiAgJCgnZmxwQmFjaycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3N0ZXA9MDtyZW5kZXIoKTt9KTsKICAkKCdmbHBOZXh0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgICBpZighUy5wcm9wVHlwZSkgcmV0dXJuIGVycignUGljayB0aGUgcHJvcGVydHkgdHlwZS4nKTsKICAgIFMuc3FmdD1udW0oJ2ZTcScpOyBTLnVuaXRzPU1hdGgubWF4KDEsTWF0aC5yb3VuZChudW0oJ2ZVbicpKSk7IFMuemlwPVN0cmluZygkKCdmWmlwJykudmFsdWUpLnJlcGxhY2UoL1xEL2csJycpOyBTLnN0YXRlPSQoJ2ZTdCcpLnZhbHVlOwogICAgaWYoIVMuc3FmdCkgcmV0dXJuIGVycignRW50ZXIgc3F1YXJlIGZvb3RhZ2UuJyk7CiAgICBpZihTLnppcC5sZW5ndGghPT01KSByZXR1cm4gZXJyKCdFbnRlciBhIDUtZGlnaXQgWklQLicpOwogICAgaWYoIVMuc3RhdGUpIHJldHVybiBlcnIoJ1NlbGVjdCB0aGUgc3RhdGUuJyk7CiAgICBpZihULnJ1bGVzLmluZWxpZ2libGVTdGF0ZXMuaW5kZXhPZihTLnN0YXRlKT49MCkgcmV0dXJuIGdvQ29udGFjdCgnV2UgYXJlblx1MjAxOXQgbGVuZGluZyBpbiAnK1Muc3RhdGUrJyByaWdodCBub3cuJyk7CiAgICBsb2FkU2hhcmQoZnVuY3Rpb24oKXsgc3RlcD0yOyByZW5kZXIoKTsgfSk7CiAgfSk7Cn0sCmZ1bmN0aW9uKCl7CiAgJCgnZmxwQ2FyZCcpLmlubmVySFRNTD0nPGgzPlJlaGFiIHNjb3BlPC9oMz48cCBjbGFzcz0ic3ViIj5UaGVzZSBkZXRlcm1pbmUgaG93IG11Y2ggcmVoYWIgbGV2ZXJhZ2Ugd2UgY2FuIG9mZmVyLiBTY29wZSBpcyB2ZXJpZmllZCBpbiB1bmRlcndyaXRpbmcuPC9wPicrCiAgICAnPGxhYmVsPkNoYW5naW5nIHRoZSBwcm9wZXJ0eSBvciB1bml0IHR5cGU/IChlLmcuIGNvbnZlcnRpbmcgYSBnYXJhZ2UsIGFkZGluZyBhIHVuaXQpPC9sYWJlbD4nK29wdEdyaWQoJ2ZUQycsW3t2OidObycsdDonTm8nfSx7djonWWVzJyx0OidZZXMnfV0sUy50eXBlQ2hhbmdlKSsKICAgICc8bGFiZWw+U3F1YXJlIGZvb3RhZ2UgYmVpbmcgYWRkZWQgKDAgaWYgbm9uZSwgaW5jbHVkZSBBRFVzKTwvbGFiZWw+PGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImZBZGQiIG1pbj0iMCIgdmFsdWU9IicrKFMuc3FmdEFkZHx8MCkrJyI+JysKICAgICc8bGFiZWw+U3RydWN0dXJhbCwgZmlyZSwgb3Igd2F0ZXIgZGFtYWdlIC0gb3Igb3BlbiBjb2RlIHZpb2xhdGlvbnM/PC9sYWJlbD4nK29wdEdyaWQoJ2ZTRCcsW3t2OidObycsdDonTm8nfSx7djonWWVzJyx0OidZZXMnfV0sUy5zdHJ1Y3REbWcpKwogICAgbmF2KCk7CiAgYmluZE9wdHMoJ2ZUQycsZnVuY3Rpb24odil7Uy50eXBlQ2hhbmdlPXY7fSk7CiAgYmluZE9wdHMoJ2ZTRCcsZnVuY3Rpb24odil7Uy5zdHJ1Y3REbWc9djt9KTsKICAkKCdmbHBCYWNrJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7c3RlcD0xO3JlbmRlcigpO30pOwogICQoJ2ZscE5leHQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICAgIFMuc3FmdEFkZD1udW0oJ2ZBZGQnKTsKICAgIFMuZXhwYW5kMjAgPSAoUy5zcWZ0PjAgJiYgUy5zcWZ0QWRkPj0wLjIqUy5zcWZ0KSA/ICdZZXMnOidObyc7CiAgICBzdGVwPTM7IHJlbmRlcigpOwogIH0pOwp9LApmdW5jdGlvbigpewogIHZhciBmb3B0cz1be3Y6J2x0NjUwJyx0OidCZWxvdyA2NTAnLHM6J0xldFx1MjAxOXMgdGFsayd9LHt2Oic2NTAnLHQ6JzY1MCAtIDY3OSd9LHt2Oic2ODAnLHQ6JzY4MCAtIDY5OSd9LHt2Oic3MDAnLHQ6JzcwMCAtIDcxOSd9LHt2Oic3MjAnLHQ6JzcyMCAtIDczOSd9LHt2Oic3NDAnLHQ6Jzc0MCAtIDc1OSd9LHt2Oic3NjAnLHQ6Jzc2MCsnfV07CiAgdmFyIHhvcHRzPVt7djonMCcsdDonRmlyc3QgZmxpcCd9LHt2OicxJyx0OicxIC0gMid9LHt2OiczJyx0OiczIC0gNCd9LHt2Oic1Jyx0Oic1IC0gOSd9LHt2OicxMCsnLHQ6JzEwIG9yIG1vcmUnfV07CiAgJCgnZmxwQ2FyZCcpLmlubmVySFRNTD0nPGgzPkFib3V0IHlvdTwvaDM+PHAgY2xhc3M9InN1YiI+U2VsZi1zdGF0ZWQgLSBubyBjcmVkaXQgcHVsbC4gRXhwZXJpZW5jZSBkcml2ZXMgeW91ciBwcmljaW5nIHRpZXIuPC9wPicrCiAgICAnPGxhYmVsPkNvbXBsZXRlZCBmbGlwcyBpbiB0aGUgbGFzdCAzNiBtb250aHM8L2xhYmVsPicrb3B0R3JpZCgnZlhQJyx4b3B0cyxTLmZsaXBzKSsKICAgICc8bGFiZWw+RXN0aW1hdGVkIGNyZWRpdCBzY29yZTwvbGFiZWw+JytvcHRHcmlkKCdmRkknLGZvcHRzLFMuZmljb1NlbCkrCiAgICAnPGxhYmVsPkNpdGl6ZW5zaGlwPC9sYWJlbD4nK29wdEdyaWQoJ2ZDSScsW3t2OidVUyBDaXRpemVuJyx0OidVLlMuIGNpdGl6ZW4gLyBwZXJtYW5lbnQgcmVzaWRlbnQnfSx7djonRm9yZWlnbiBOYXRpb25hbCcsdDonRm9yZWlnbiBuYXRpb25hbCd9XSxTLmNpdGl6ZW4pKwogICAgbmF2KCk7CiAgYmluZE9wdHMoJ2ZYUCcsZnVuY3Rpb24odil7Uy5mbGlwcz12O30pOwogIGJpbmRPcHRzKCdmRkknLGZ1bmN0aW9uKHYpe1MuZmljb1NlbD12OyBTLmZpY28gPSB2PT09J2x0NjUwJz8wOnBhcnNlSW50KHYsMTApO30pOwogIGJpbmRPcHRzKCdmQ0knLGZ1bmN0aW9uKHYpe1MuY2l0aXplbj12O30pOwogICQoJ2ZscEJhY2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtzdGVwPTI7cmVuZGVyKCk7fSk7CiAgJCgnZmxwTmV4dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgaWYoUy5mbGlwcz09PW51bGx8fFMuZmxpcHM9PT11bmRlZmluZWQpIHJldHVybiBlcnIoJ1BpY2sgeW91ciBleHBlcmllbmNlLicpOwogICAgaWYoIVMuZmljb1NlbCkgcmV0dXJuIGVycignUGljayB5b3VyIGNyZWRpdCByYW5nZS4nKTsKICAgIGlmKCFTLmNpdGl6ZW4pIHJldHVybiBlcnIoJ1NlbGVjdCBjaXRpemVuc2hpcC4nKTsKICAgIGlmKFMuZmljb1NlbD09PSdsdDY1MCcpIHJldHVybiBnb0NvbnRhY3QoJ1Njb3JlcyB1bmRlciA2NTAgYXJlIHByaWNlZCBjYXNlLWJ5LWNhc2UgLSBvZnRlbiBzdGlsbCBkb2FibGUuJyk7CiAgICBzdGVwPTQ7IHJlbmRlcigpOwogIH0pOwp9LApmdW5jdGlvbigpewogICQoJ2ZscENhcmQnKS5pbm5lckhUTUw9JzxoMz5EZWFsIGFzc3VtcHRpb25zPC9oMz48cCBjbGFzcz0ic3ViIj5TZW5zaWJsZSBkZWZhdWx0cyAtIGFkanVzdCBpZiB5b3Uga25vdyBiZXR0ZXIuIFRoZXNlIGRyaXZlIHRoZSBwcm9maXQgbWF0aCwgbm90IHlvdXIgbG9hbiB0ZXJtcy48L3A+JysKICAgICc8ZGl2IGNsYXNzPSJyb3cyIj48ZGl2PjxsYWJlbD5Ib2xkIHBlcmlvZCAobW9udGhzLCBtYXggMTIpPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iZkhvbGQiIG1pbj0iMSIgbWF4PSIxMiIgdmFsdWU9IicrUy5ob2xkKyciPjwvZGl2PicrCiAgICAnPGRpdj48bGFiZWw+U2VsbGluZyBjb3N0cyAoJSBvZiBBUlYpPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iZlNlbGwiIHN0ZXA9IjAuNSIgdmFsdWU9IicrUy5zZWxsUGN0KyciPjwvZGl2PicrCiAgICAnPGRpdj48bGFiZWw+TW9udGhseSBjYXJyeSAtIHRheGVzL2lucy91dGlsaXRpZXMgKCQpPC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iZkNhciIgdmFsdWU9IicrUy5jYXJyeSsnIj48L2Rpdj4nKwogICAgJzxkaXY+PGxhYmVsPkNsb3NpbmcgY29zdHMgKCUgb2YgbG9hbik8L2xhYmVsPjxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJmQ2xvIiBzdGVwPSIwLjI1IiB2YWx1ZT0iJytTLmNsb3NlUGN0KyciPjwvZGl2PjwvZGl2PicrCiAgICBuYXYoKTsKICAkKCdmbHBCYWNrJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7c3RlcD0zO3JlbmRlcigpO30pOwogICQoJ2ZscE5leHQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICAgIFMuaG9sZD1NYXRoLm1pbihNYXRoLm1heChNYXRoLnJvdW5kKG51bSgnZkhvbGQnKSl8fDksMSksMTIpOyBTLnNlbGxQY3Q9bnVtKCdmU2VsbCcpOyBTLmNhcnJ5PW51bSgnZkNhcicpOyBTLmNsb3NlUGN0PW51bSgnZkNsbycpOwogICAgc3RlcD01OyByZW5kZXIoKTsKICB9KTsKfSwKZnVuY3Rpb24oKXsKICBRPXF1b3RlcygpOwogIHZhciB3PXdpbm5lcnMoUSk7CiAgZ2EoJ2ZsaXBfcmVzdWx0c19zaG93bicse2VsaWdpYmxlOnc/dy5lbGlnaWJsZS5sZW5ndGg6MH0pOwogIGlmKCF3KXsKICAgIHZhciBrb3M9KFEuUVVJQ0tURVJOLmtvfHxRLkVMSVRFLmtvfHwnJykuc3BsaXQoJy4nKVswXTsKICAgIHJldHVybiBnb0NvbnRhY3QoJ1RoaXMgb25lIG5lZWRzIGEgbWFudWFsIHN0cnVjdHVyZS4gJytrb3MrJy4nKTsKICB9CiAgdmFyIGV4PVMuZ2F0ZURvbmU7CiAgZnVuY3Rpb24gbSQodil7IHJldHVybiBleD9mbXQkKHYpOid+JytmbXQkKE1hdGgucm91bmQodi81MDAwKSo1MDAwKTsgfQogIGZ1bmN0aW9uIG1SKHIscCl7IHJldHVybiBleD8oZm10UGN0KHIpKycgKyAnK3ArJyBwdHMnKTooJ34nKyhNYXRoLnJvdW5kKHIqMjAwKS8yKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCcnKSsnJScpOyB9CiAgdmFyIGNhcmRzPSc8ZGl2IGNsYXNzPSJjYXJkczMiPicrCiAgICAnPGRpdiBjbGFzcz0iaGNhcmQiPjxkaXYgY2xhc3M9InRhZyI+TG93ZXN0IFJhdGU8L2Rpdj48ZGl2IGNsYXNzPSJiaWciPicrbVIody5sb3dSYXRlLnJhdGUsKHcubG93UmF0ZS5wdHMqMTAwKSkrJzwvZGl2PjxkaXYgY2xhc3M9ImRldCI+Jytlc2MocE5hbWUody5sb3dSYXRlKSkrJzwvZGl2PjwvZGl2PicrCiAgICAnPGRpdiBjbGFzcz0iaGNhcmQiPjxkaXYgY2xhc3M9InRhZyI+TG93ZXN0IENhc2ggdG8gQ2xvc2U8L2Rpdj48ZGl2IGNsYXNzPSJiaWciPicrbSQody5sb3dDYXNoLmN0YykrJzwvZGl2PjxkaXYgY2xhc3M9ImRldCI+Jytlc2MocE5hbWUody5sb3dDYXNoKSkrJzwvZGl2PjwvZGl2PicrCiAgICAnPGRpdiBjbGFzcz0iaGNhcmQiPjxkaXYgY2xhc3M9InRhZyI+SGlnaGVzdCBST0k8L2Rpdj48ZGl2IGNsYXNzPSJiaWciPicrKGV4P01hdGgucm91bmQody5oaWdoUm9pLnJvaSoxMDApKyclJzoody5oaWdoUm9pLnJvaT4yPycyMDAlKyc6J34nK01hdGgucm91bmQody5oaWdoUm9pLnJvaSoyMCkqNSsnJScpKSsnPC9kaXY+PGRpdiBjbGFzcz0iZGV0Ij4nK2VzYyhwTmFtZSh3LmhpZ2hSb2kpKSsnIFx1MDBiNyBvbiB5b3VyIGFzc3VtcHRpb25zPC9kaXY+PC9kaXY+PC9kaXY+JzsKICB2YXIgbm90ZXM9W107CiAgaWYoUS5fY3R4LnppcE1pc3MpIG5vdGVzLnB1c2goJ01hcmtldCBkYXRhIGZvciB0aGlzIFpJUCBkaWRuXHUyMDE5dCBsb2FkIC0geW91ciBxdW90ZSBpcyBzdWJqZWN0IHRvIG1hcmtldCByZXZpZXcuJyk7CiAgaWYoUS5fY3R4LmtpbGxlZCkgbm90ZXMucHVzaCgnSGVhZHMgdXA6IHRoaXMgWklQIGNhcnJpZXMgYSBtYXJrZXQgb3ZlcmxheSB0aGF0IHNpZ25pZmljYW50bHkgbGltaXRzIGxldmVyYWdlIG9uIHRoZXNlIHByb2dyYW1zIC0gdGhhdFx1MjAxOXMgd2h5IHRoZSBudW1iZXJzIGJlbG93IGFyZSBtb3JlIGNvbnNlcnZhdGl2ZSB0aGFuIHVzdWFsLiBPdmVybGF5cyBvZnRlbiBoYXZlIGV4Y2VwdGlvbnMuIFRhbGsgdG8gdXMgYmVmb3JlIHJ1bGluZyB0aGUgZGVhbCBvdXQuJyk7CiAgZWxzZSBpZihRLl9jdHguaHBhKSBub3Rlcy5wdXNoKCdUaGlzIFpJUCBjYXJyaWVzIGEgc29mdCBtYXJrZXQgZmxhZyB0aGF0IHRyaW1zIG1heGltdW0gbGV2ZXJhZ2Ugc2xpZ2h0bHkuIFRhbGsgdG8gdXMgYWJvdXQgc3BlY2lmaWNzLicpOwogIGlmKFEuX2N0eC5tYXJrZXQpIG5vdGVzLnB1c2goJ1RoaXMgWklQIGlzIGluIGEgZGVzaWduYXRlZCBtYXJrZXQgYXJlYSB3aXRoIGFkZGl0aW9uYWwgbGV2ZXJhZ2UgYW5kIHZhbHVlIHJlcXVpcmVtZW50cy4nKTsKICBpZihRLl9jdHgubWh2QnJlYWNoKSBub3Rlcy5wdXNoKCdZb3VyIHZhbHVlIGVzdGltYXRlIGlzIHdlbGwgYWJvdmUgdGhpcyBhcmVhXHUyMDE5cyB0eXBpY2FsIGhvbWUgdmFsdWUsIHdoaWNoIHJlZHVjZXMgbWF4aW11bSBsZXZlcmFnZSAtIGFuIGFwcHJhaXNhbCBjYW4gY2hhbmdlIHRoaXMuJyk7CiAgaWYoUS5fY3R4LnVuaWNvcm4mJlEuRUxJVEUmJiFRLkVMSVRFLmtvLnRyaW0oKSkgbm90ZXMucHVzaCgnRWxpdGUgMTAwJSBmaW5hbmNpbmcgcHJvZ3JhbSBhcHBsaWVkICgxMCsgZXhwZXJpZW5jZSwgNzIwKyBjcmVkaXQpOiBhc3N1bWVzIDUrIGNvbXBsZXRlZCBwcm9qZWN0cyBpbiB0aGUgc3ViamVjdCBzdGF0ZSBhbmQgYSBsb2FuIG9mICQ4MDBLIG9yIGxlc3MgLSB2ZXJpZmllZCBpbiB1bmRlcndyaXRpbmcgd2l0aCBhIGZ1bGwgaW50ZXJpb3IgYXBwcmFpc2FsLicpOwogIHZhciB4ZT1leHBJbnQoKTsKICBpZihRLl9jdHguaGVhdnkmJnhlPDMmJighUS5RVUlDS1RFUk4ua28udHJpbSgpfHwhUS5YUC5rby50cmltKCkpKSBub3Rlcy5wdXNoKCdIZWF2eSByZWhhYiBzY29wZSB3aXRoIHVuZGVyIDMgY29tcGxldGVkIHByb2plY3RzOiBhIGZ1bGwgNi1tb250aCBpbnRlcmVzdCByZXNlcnZlIGlzIGNvbGxlY3RlZCBhdCBjbG9zaW5nIChhbHJlYWR5IGluY2x1ZGVkIGluIHlvdXIgY2FzaCB0byBjbG9zZSBiZWxvdykgYW5kIGFuIEFSViBhcHByYWlzYWwgaXMgcmVxdWlyZWQnKyh4ZT09PTA/Jywgd2l0aCBhIG1pbmltdW0gMjAlIGRvd24gcGF5bWVudCc6JycpKycuJyk7CiAgaWYoeGU+PTEwJiZTLmZpY28+PTc2MCYmIVEuUVVJQ0tURVJOLmtvLnRyaW0oKSYmIVEuX2N0eC5oZWF2eSkgbm90ZXMucHVzaCgnUXVpY2tUZXJuIGlzIHF1b3RlZCBhdCB0aGUgZW5oYW5jZWQgNzUlIEFSViB0aWVyICgxMCsgZXhwZXJpZW5jZSwgNzYwKyBjcmVkaXQpIC0gYSBmdWxsIGFwcHJhaXNhbCBpcyByZXF1aXJlZCBhbmQgZXZlcnl0aGluZyBpcyB2ZXJpZmllZCBpbiB1bmRlcndyaXRpbmcuJyk7CiAgaWYoUS5YUCYmUS5YUC52YXJpYW50PT09J1hQIDgwJScmJlMuZmljbz49NzIwJiYhUS5YUC5rby50cmltKCkpIG5vdGVzLnB1c2goJ1hQIDgwIGlzIHF1b3RlZCBhdCB0aGUgZW5oYW5jZWQgODAlIEFSViB0aWVyICg3MjArIGNyZWRpdCkgLSBhIGZ1bGwgYXBwcmFpc2FsIGlzIHJlcXVpcmVkLicpOwogIHZhciBub3RlPW5vdGVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gJzxkaXYgY2xhc3M9Indhcm4iPicrdCsnPC9kaXY+Jzt9KS5qb2luKCcnKTsKICB2YXIgYm9keT0nPGgzPllvdXIgZm91ciBUZXJudXMgcXVvdGVzPC9oMz48cCBjbGFzcz0ic3ViIj5CYXNlZCBvbiB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgXHUwMGI3IHN1YmplY3QgdG8gdW5kZXJ3cml0aW5nLCBhcHByYWlzYWwsIGFuZCB2ZXJpZmljYXRpb24uPC9wPicrbm90ZStjYXJkcysKICAgICc8ZGl2IGNsYXNzPSJsb2Nrd3JhcCcrKGV4Pycgb3Blbic6JycpKyciIGlkPSJmbHBMb2NrIj4nKwogICAgJzxkaXYgY2xhc3M9ImxvY2tvdmVyIj48YnV0dG9uIGNsYXNzPSJsb2NrYnRuIiBpZD0iZmxwVW5sb2NrIj5VbmxvY2sgYWxsIGZvdXIgcXVvdGVzICsgY3VzdG9taXplIFx1MjE5MjwvYnV0dG9uPjwvZGl2PicrCiAgICAnPGRpdiBjbGFzcz0ibG9ja3BhbmVsIj48ZGl2IGlkPSJmbHBUYWJsZSI+PC9kaXY+JysKICAgICc8ZGl2IGNsYXNzPSJzbGlkZXJzIj48ZGl2IGNsYXNzPSJzbGhlYWQiIHN0eWxlPSJmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tbmF2eSk7bWFyZ2luLWJvdHRvbTo4cHgiPkN1c3RvbWl6ZSB5b3VyIGRlYWw8L2Rpdj4nKwogICAgJzxkaXYgY2xhc3M9InNsIj48ZGl2IGNsYXNzPSJzbGhlYWQiPjxzcGFuPlB1cmNoYXNlIHByaWNlPC9zcGFuPjxzcGFuIGlkPSJ2UFAiPjwvc3Bhbj48L2Rpdj48aW5wdXQgdHlwZT0icmFuZ2UiIGlkPSJzUFAiIG1pbj0iMjUwMDAiIG1heD0iMTAwMDAwMCIgc3RlcD0iMTAwMCIgdmFsdWU9IicrUy5wcCsnIj48L2Rpdj4nKwogICAgJzxkaXYgY2xhc3M9InNsIj48ZGl2IGNsYXNzPSJzbGhlYWQiPjxzcGFuPlJlaGFiIGJ1ZGdldDwvc3Bhbj48c3BhbiBpZD0idlJCIj48L3NwYW4+PC9kaXY+PGlucHV0IHR5cGU9InJhbmdlIiBpZD0ic1JCIiBtaW49IjAiIG1heD0iNTAwMDAwIiBzdGVwPSIxMDAwIiB2YWx1ZT0iJytTLnJlaGFiKyciPjwvZGl2PicrCiAgICAnPGRpdiBjbGFzcz0ic2wiPjxkaXYgY2xhc3M9InNsaGVhZCI+PHNwYW4+QVJWPC9zcGFuPjxzcGFuIGlkPSJ2QVJWIj48L3NwYW4+PC9kaXY+PGlucHV0IHR5cGU9InJhbmdlIiBpZD0ic0FSViIgbWluPSI1MDAwMCIgbWF4PSIxNTAwMDAwIiBzdGVwPSIxMDAwIiB2YWx1ZT0iJytTLmFydisnIj48L2Rpdj4nKwogICAgJzxkaXYgY2xhc3M9InNsIj48ZGl2IGNsYXNzPSJzbGhlYWQiPjxzcGFuPkhvbGQgcGVyaW9kPC9zcGFuPjxzcGFuIGlkPSJ2SG9sZCI+PC9zcGFuPjwvZGl2PjxpbnB1dCB0eXBlPSJyYW5nZSIgaWQ9InNIb2xkIiBtaW49IjMiIG1heD0iMTIiIHN0ZXA9IjEiIHZhbHVlPSInK1MuaG9sZCsnIj48L2Rpdj4nKwogICAgJzxkaXYgY2xhc3M9InNsIj48ZGl2IGNsYXNzPSJzbGhlYWQiPjxzcGFuPkRvd24gcGF5bWVudDwvc3Bhbj48c3BhbiBpZD0idkROIj48L3NwYW4+PC9kaXY+PGlucHV0IHR5cGU9InJhbmdlIiBpZD0ic0ROIiBtaW49IjAiIG1heD0iJytNYXRoLnJvdW5kKFMucHApKyciIHN0ZXA9IjEwMDAiIHZhbHVlPSInKyhTLmRvd25YfHwwKSsnIj48L2Rpdj4nKwogICAgJzxwIGNsYXNzPSJoaW50Ij5Nb3JlIGRvd24gPSBzbWFsbGVyIGxvYW46IGxvd2VyIHBheW1lbnQsIGxlc3MgaW50ZXJlc3QgY2FycnksIGFuZCBvZnRlbiBhIGJldHRlciBwcmljaW5nIHRpZXIuIFByb2R1Y3RzIHdpdGggYSBzdHJ1Y3R1cmFsIG1pbmltdW0gZG93biBzaG93IHRoZSBoaWdoZXIgb2YgdGhlIHR3by48L3A+PC9kaXY+JysKICAgICc8ZGl2IGNsYXNzPSJuYXYiPjxidXR0b24gY2xhc3M9ImJuZXh0IiBpZD0iZmxwUGRmIj5Eb3dubG9hZCBteSBxdW90ZSAoUERGKTwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJiYWNrIiBpZD0iZmxwVGFsayI+VGFsayB0byBUZXJudXMgYWJvdXQgdGhpcyBkZWFsPC9idXR0b24+PC9kaXY+JysKICAgIChleD8nPHAgY2xhc3M9ImhpbnQiPkNvbWUgYmFjayB0byB0aGlzIGRlYWwgYW55dGltZTogPGEgaWQ9ImZscEVkaXRBIiBocmVmPSInK2VkaXRMaW5rKCkrJyI+c2F2ZSB0aGlzIGxpbms8L2E+IChkZWFsIGRhdGEgb25seSAtIG5vIHBlcnNvbmFsIGluZm9ybWF0aW9uKS48L3A+JzonJykrCiAgICAnPC9kaXY+PC9kaXY+JysKICAgICc8ZGl2IGlkPSJmbHBHYXRlIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2Rpdj4nKwogICAgJzxkaXYgY2xhc3M9Im5hdiI+PGJ1dHRvbiBjbGFzcz0iYmJhY2siIGlkPSJmbHBCYWNrIj5CYWNrPC9idXR0b24+PHNwYW4+PC9zcGFuPjwvZGl2Pic7CiAgJCgnZmxwQ2FyZCcpLmlubmVySFRNTD1ib2R5OwogICQoJ2ZscEJhY2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtzdGVwPTQ7cmVuZGVyKCk7fSk7CiAgaWYoIWV4KXsgJCgnZmxwVW5sb2NrJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLHNob3dHYXRlKTsgfQogIGVsc2UgeyByZW5kZXJUYWJsZSgpOyB3aXJlU2xpZGVycygpOyAkKCdmbHBQZGYnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsbWFrZVBkZik7IH0KICB2YXIgdGFsaz0kKCdmbHBUYWxrJyk7IGlmKHRhbGspIHRhbGsuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7IHdpbmRvdy5vcGVuKCdodHRwczovL3d3dy50ZXJudXMuY29tL2NvbnRhY3QvJywnX2JsYW5rJyk7IH0pOwp9XTsKCmZ1bmN0aW9uIHJlbmRlclRhYmxlKCl7CiAgdmFyIHc9d2lubmVycyhRKTsgaWYoIXcpeyAkKCdmbHBUYWJsZScpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0id2FybiI+Tm8gZWxpZ2libGUgc3RydWN0dXJlIGF0IHRoZXNlIHNldHRpbmdzIC0gbW92ZSB0aGUgc2xpZGVycyBvciB0YWxrIHRvIHVzLjwvZGl2Pic7IHJldHVybjsgfQogIHZhciBjb2xzPVsnUVVJQ0tURVJOJywnWFAnLCdFTElURScsJ0JSSURHRSddOwogIHZhciBoZWFkPSc8dHI+PHRoPiZuYnNwOzwvdGg+Jytjb2xzLm1hcChmdW5jdGlvbihrKXsKICAgIHZhciBxPVFba10sIGJhZGdlcz1bXTsKICAgIGlmKHE9PT13Lmxvd1JhdGUpYmFkZ2VzLnB1c2goJ2xvd2VzdCByYXRlJyk7IGlmKHE9PT13Lmxvd0Nhc2gpYmFkZ2VzLnB1c2goJ2xvd2VzdCBjYXNoJyk7IGlmKHE9PT13LmhpZ2hSb2kpYmFkZ2VzLnB1c2goJ2Jlc3QgUk9JJyk7CiAgICByZXR1cm4gJzx0aD4nK2VzYyhwTmFtZShxKSkrKGJhZGdlcy5sZW5ndGg/Jzxicj48c3BhbiBjbGFzcz0id2luIj5cdTI2MDUgJytiYWRnZXMuam9pbignIFx1MDBiNyAnKSsnPC9zcGFuPic6JycpKyc8L3RoPic7CiAgfSkuam9pbignJykrJzwvdHI+JzsKICBmdW5jdGlvbiByb3cobGFiZWwsZixjbHMpeyByZXR1cm4gJzx0cj48dGQ+JytsYWJlbCsnPC90ZD4nK2NvbHMubWFwKGZ1bmN0aW9uKGspe3ZhciBxPVFba107IGlmKHEua28udHJpbSgpKXJldHVybiAnPHRkPi08L3RkPic7IHZhciB2PWYocSk7IHJldHVybiAnPHRkJysoKGNscyYmY2xzKHEpKT8nIGNsYXNzPSInK2NscyhxKSsnIic6JycpKyc+Jyt2Kyc8L3RkPic7fSkuam9pbignJykrJzwvdHI+JzsgfQogIHZhciBoPSc8dGFibGUgY2xhc3M9InF0Ij48dGhlYWQ+JytoZWFkKyc8L3RoZWFkPjx0Ym9keT4nKwogICAgcm93KCdSYXRlJyxmdW5jdGlvbihxKXtyZXR1cm4gZm10UGN0KHEucmF0ZSk7fSkrCiAgICByb3coJ1BvaW50cycsZnVuY3Rpb24ocSl7cmV0dXJuIChxLnB0cyoxMDApLnRvRml4ZWQoMikucmVwbGFjZSgvXC4/MCskLywnJykrJyUnO30pKwogICAgcm93KCdUb3RhbCBsb2FuIGFtb3VudCcsZnVuY3Rpb24ocSl7cmV0dXJuIGZtdCQocS5sb2FuKTt9KSsKICAgIHJvdygnSW5pdGlhbCBhZHZhbmNlIChhdCBjbG9zZSknLGZ1bmN0aW9uKHEpe3JldHVybiBmbXQkKHEuaW5pdEFkdik7fSkrCiAgICByb3coJ1JlaGFiIGVzY3JvdyAobG9hbi1mdW5kZWQsIGRyYXduIGFzIGNvbXBsZXRlZCknLGZ1bmN0aW9uKHEpe3JldHVybiBxLmVzY3Jvdz9mbXQkKHEuZXNjcm93KTonLSc7fSkrCiAgICByb3coJ01vbnRobHkgSU8gcGF5bWVudCAoYXQgY2xvc2UpJyxmdW5jdGlvbihxKXtyZXR1cm4gZm10JChxLmlvUG10KSsocS5kdXRjaD8nJzonKicpO30pKwogICAgcm93KCdEb3duIHBheW1lbnQnLGZ1bmN0aW9uKHEpe3JldHVybiBmbXQkKHEuZG93bik7fSkrCiAgICByb3coJ0Nhc2ggdG8gY2xvc2UgKGRvd24gKyBmZWVzICsgcHJlcGFpZCBpbnRlcmVzdCknLGZ1bmN0aW9uKHEpe3JldHVybiBmbXQkKHEuY3RjKTt9KSsKICAgIHJvdygnUHJvb2Ygb2YgY2FwaXRhbCAodmVyaWZpZWQsIG5vdCBjYXNoIGR1ZSknLGZ1bmN0aW9uKHEpe3JldHVybiBmbXQkKHEubWluTGlxKTt9KSsKICAgIHJvdygnTmV0IHByb2ZpdCAoeW91ciBhc3N1bXB0aW9ucyknLGZ1bmN0aW9uKHEpe3JldHVybiBmbXQkKHEucHJvZml0KTt9LGZ1bmN0aW9uKHEpe3JldHVybiBxLnByb2ZpdDwwPyduZWcnOicnO30pKwogICAgcm93KCdST0kgb24gY2FzaCcsZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgucm91bmQocS5yb2kqMTAwKSsnJSc7fSxmdW5jdGlvbihxKXtyZXR1cm4gcS5yb2k8MD8nbmVnJzonJzt9KSsKICAgIHJvdygnQW5udWFsaXplZCBST0knLGZ1bmN0aW9uKHEpe3JldHVybiBNYXRoLnJvdW5kKHEuYW5uUm9pKjEwMCkrJyUnO30sZnVuY3Rpb24ocSl7cmV0dXJuIHEuYW5uUm9pPDA/J25lZyc6Jyc7fSkrCiAgICAnPC90Ym9keT48L3RhYmxlPicrCiAgICAoKFEuRUxJVEUmJiFRLkVMSVRFLmtvLnRyaW0oKSk/JzxwIGNsYXNzPSJoaW50Ij4qRWxpdGUgaW50ZXJlc3QgYWNjcnVlcyBhcyByZWhhYiBmdW5kcyBhcmUgZHJhd24gLSB0aGUgcGF5bWVudCBzaG93biBzdGFydHMgYXQgdGhlIGluaXRpYWwgYWR2YW5jZSBhbmQgcmlzZXMgdG8gYWJvdXQgJytmbXQkKFEuRUxJVEUuZnVsbFBtdCkrJy9tbyBhdCBmdWxsIGRyYXcuPC9wPic6JycpKwogICAgY29scy5maWx0ZXIoZnVuY3Rpb24oayl7cmV0dXJuIFFba10ua28udHJpbSgpO30pLm1hcChmdW5jdGlvbihrKXtyZXR1cm4gJzxwIGNsYXNzPSJoaW50Ij4nK2VzYyhwTmFtZShRW2tdKSkrJzogJytlc2MoUVtrXS5rbykrJzwvcD4nO30pLmpvaW4oJycpOwogICQoJ2ZscFRhYmxlJykuaW5uZXJIVE1MPWg7Cn0KZnVuY3Rpb24gd2lyZVNsaWRlcnMoKXsKICBmdW5jdGlvbiB1cGQoKXsKICAgIFMucHA9cGFyc2VJbnQoJCgnc1BQJykudmFsdWUsMTApOyBTLnJlaGFiPXBhcnNlSW50KCQoJ3NSQicpLnZhbHVlLDEwKTsgUy5hcnY9cGFyc2VJbnQoJCgnc0FSVicpLnZhbHVlLDEwKTsgUy5ob2xkPXBhcnNlSW50KCQoJ3NIb2xkJykudmFsdWUsMTApOwogICAgdmFyIGRuPSQoJ3NETicpOyBkbi5tYXg9TWF0aC5yb3VuZChTLnBwKTsKICAgIFMuZG93blg9TWF0aC5taW4ocGFyc2VJbnQoZG4udmFsdWUsMTApfHwwLCBTLnBwKTsKICAgICQoJ3ZQUCcpLnRleHRDb250ZW50PWZtdCQoUy5wcCk7ICQoJ3ZSQicpLnRleHRDb250ZW50PWZtdCQoUy5yZWhhYik7ICQoJ3ZBUlYnKS50ZXh0Q29udGVudD1mbXQkKFMuYXJ2KTsgJCgndkhvbGQnKS50ZXh0Q29udGVudD1TLmhvbGQrJyBtbyc7CiAgICAkKCd2RE4nKS50ZXh0Q29udGVudD1TLmRvd25YPjA/Zm10JChTLmRvd25YKSsnIHRhcmdldCc6J21heCBsZXZlcmFnZSc7CiAgICBRPXF1b3RlcygpOyByZW5kZXJUYWJsZSgpOwogICAgZ2EoJ2ZsaXBfc2NlbmFyaW9fbW9kZWxlZCcse30pOwogIH0KICBbJ3NQUCcsJ3NSQicsJ3NBUlYnLCdzSG9sZCcsJ3NETiddLmZvckVhY2goZnVuY3Rpb24oaWQpeyQoaWQpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0Jyx1cGQpO30pOwogIC8qIGluaXRpYWwgcmVuZGVyIHVzZXMgdGhlIHVzZXIncyBFWEFDVCBpbnB1dHMgLSBuZXZlciBzbGlkZXItZ3JpZC1zbmFwcGVkIHZhbHVlcyAoMTczLDAwMCBtdXN0IG5vdCBiZWNvbWUgMTc1LDAwMCkgKi8KICAkKCd2UFAnKS50ZXh0Q29udGVudD1mbXQkKFMucHApOyAkKCd2UkInKS50ZXh0Q29udGVudD1mbXQkKFMucmVoYWIpOyAkKCd2QVJWJykudGV4dENvbnRlbnQ9Zm10JChTLmFydik7ICQoJ3ZIb2xkJykudGV4dENvbnRlbnQ9Uy5ob2xkKycgbW8nOwogICQoJ3ZETicpLnRleHRDb250ZW50PVMuZG93blg+MD9mbXQkKFMuZG93blgpKycgdGFyZ2V0JzonbWF4IGxldmVyYWdlJzsKICBRPXF1b3RlcygpOyByZW5kZXJUYWJsZSgpOwp9CgovKiAtLS0tLS0tLS0tIHJlc3VsdHMtb25seSBQREYgKHZhbHVlcyBvbmx5IC0gbmV2ZXIgcnVsZXMgb3IgbWF0cmljZXMpIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gbWFrZVBkZigpewogIHRyeXsKICAgIHZhciBkb2M9bmV3IHdpbmRvdy5qc3BkZi5qc1BERigpOwogICAgdmFyIHk9MTY7CiAgICBkb2Muc2V0Rm9udFNpemUoMTYpOyBkb2Muc2V0VGV4dENvbG9yKDM4LDU4LDEyNSk7IGRvYy50ZXh0KCdUZXJudXMgRmxpcCBMb2FuIFF1b3RlJywxNCx5KTsgeSs9NzsKICAgIGRvYy5zZXRGb250U2l6ZSg5KTsgZG9jLnNldFRleHRDb2xvcig5MCw5MCw5MCk7CiAgICBkb2MudGV4dCgnUHJlcGFyZWQgJytuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnKSsnIC0gZXN0aW1hdGVzIGZvciBkaXNjdXNzaW9uIHB1cnBvc2VzIG9ubHkuJywxNCx5KTsgeSs9ODsKICAgIGRvYy5zZXRUZXh0Q29sb3IoMzAsMzAsMzApOyBkb2Muc2V0Rm9udFNpemUoMTApOwogICAgZG9jLnRleHQoJ0RlYWw6IHB1cmNoYXNlICcrZm10JChTLnBwKSsnIHwgcmVoYWIgJytmbXQkKFMucmVoYWIpKycgfCBBUlYgJytmbXQkKFMuYXJ2KSsnIHwgJytTLnByb3BUeXBlKycgfCAnK1Muc3RhdGUrJyAnK1MuemlwLDE0LHkpOyB5Kz01OwogICAgZG9jLnRleHQoJ0Fzc3VtcHRpb25zICh5b3Vycyk6IGhvbGQgJytTLmhvbGQrJyBtbyB8IHNlbGxpbmcgJytTLnNlbGxQY3QrJyUgfCBjYXJyeSAnK2ZtdCQoUy5jYXJyeSkrJy9tbyB8IGNsb3NpbmcgJytTLmNsb3NlUGN0KyclJywxNCx5KTsgeSs9NTsKICAgIGlmKFEuX2N0eCYmKFEuX2N0eC5raWxsZWR8fFEuX2N0eC5ocGF8fFEuX2N0eC5tYXJrZXR8fFEuX2N0eC5taHZCcmVhY2gpKXsKICAgICAgZG9jLnNldFRleHRDb2xvcigxODAsODAsMjApOwogICAgICBkb2MudGV4dCgnTk9URTogdGhpcyBaSVAgY2FycmllcyBhIG1hcmtldCBvdmVybGF5IHRoYXQgbGltaXRzIGxldmVyYWdlIGJlbG93IG91ciB1c3VhbCBtYXhpbXVtcy4nLDE0LHkpOyB5Kz00LjU7CiAgICAgIGRvYy50ZXh0KCdPdmVybGF5cyBvZnRlbiBoYXZlIGV4Y2VwdGlvbnMgLSB0YWxrIHRvIHVzIGJlZm9yZSBydWxpbmcgdGhlIGRlYWwgb3V0LicsMTQseSk7IHkrPTQuNTsKICAgICAgZG9jLnNldFRleHRDb2xvcigzMCwzMCwzMCk7CiAgICB9CiAgICBpZihRLl9jdHgmJlEuX2N0eC5oZWF2eSYmZXhwSW50KCk8Myl7CiAgICAgIGRvYy50ZXh0KCdIZWF2eSByZWhhYiwgdW5kZXIgMyBjb21wbGV0ZWQgcHJvamVjdHM6IDYtbW9udGggaW50ZXJlc3QgcmVzZXJ2ZSBjb2xsZWN0ZWQgYXQgY2xvc2luZyAoaW4gY2FzaCB0byBjbG9zZSkuJywxNCx5KTsgeSs9NC41OwogICAgfQogICAgeSs9NDsKICAgIFsnUVVJQ0tURVJOJywnWFAnLCdFTElURScsJ0JSSURHRSddLmZvckVhY2goZnVuY3Rpb24oayl7CiAgICAgIHZhciBxPVFba107CiAgICAgIGRvYy5zZXRGb250U2l6ZSgxMik7IGRvYy5zZXRUZXh0Q29sb3IoMzgsNTgsMTI1KTsgZG9jLnRleHQocE5hbWUocSksMTQseSk7IHkrPTU7CiAgICAgIGRvYy5zZXRGb250U2l6ZSg5KTsgZG9jLnNldFRleHRDb2xvcigzMCwzMCwzMCk7CiAgICAgIGlmKHEua28udHJpbSgpKXsgZG9jLnRleHQoJ05vdCBhdmFpbGFibGUgZm9yIHRoaXMgZGVhbDogJytxLmtvLnRyaW0oKSwxNix5KTsgeSs9ODsgcmV0dXJuOyB9CiAgICAgIGRvYy50ZXh0KCdSYXRlICcrZm10UGN0KHEucmF0ZSkrJyArICcrKHEucHRzKjEwMCkudG9GaXhlZCgyKSsnIHB0cyB8IFRvdGFsIGxvYW4gJytmbXQkKHEubG9hbikrJyB8IEluaXRpYWwgYWR2YW5jZSAnK2ZtdCQocS5pbml0QWR2KSsnIHwgUmVoYWIgZXNjcm93ICcrKHEuZXNjcm93P2ZtdCQocS5lc2Nyb3cpOictJyksMTYseSk7IHkrPTQuNTsKICAgICAgZG9jLnRleHQoJ0lPIHBheW1lbnQgKGF0IGNsb3NlKSAnK2ZtdCQocS5pb1BtdCkrJy9tbycrKHEuZHV0Y2g/Jyc6JyAocmlzZXMgd2l0aCBkcmF3cyknKSsnIHwgRG93biAnK2ZtdCQocS5kb3duKSsnIHwgQ2FzaCB0byBjbG9zZSAnK2ZtdCQocS5jdGMpLDE2LHkpOyB5Kz00LjU7CiAgICAgIGRvYy50ZXh0KCdQcm9vZiBvZiBjYXBpdGFsICh2ZXJpZmllZCwgbm90IGNhc2ggZHVlKSAnK2ZtdCQocS5taW5MaXEpLDE2LHkpOyB5Kz00LjU7CiAgICAgIGRvYy50ZXh0KCdOZXQgcHJvZml0ICcrZm10JChxLnByb2ZpdCkrJyB8IFJPSSAnK01hdGgucm91bmQocS5yb2kqMTAwKSsnJSB8IEFubnVhbGl6ZWQgJytNYXRoLnJvdW5kKHEuYW5uUm9pKjEwMCkrJyUgKHlvdXIgYXNzdW1wdGlvbnMpJywxNix5KTsgeSs9ODsKICAgIH0pOwogICAgeSs9MjsgZG9jLnNldEZvbnRTaXplKDExKTsgZG9jLnNldFRleHRDb2xvcigyNDIsMTA2LDM2KTsKICAgIGRvYy50ZXh0KCdSZWFkeSB0byBtb3ZlPyBUYWxrIHRvIFRlcm51cyBhYm91dCB0aGlzIGRlYWw6IHRlcm51cy5jb20vY29udGFjdCcsMTQseSk7IHkrPTg7CiAgICBkb2Muc2V0Rm9udFNpemUoNyk7IGRvYy5zZXRUZXh0Q29sb3IoMTEwLDExMCwxMTApOwogICAgdmFyIGRpc2M9ZG9jLnNwbGl0VGV4dFRvU2l6ZSgnRXN0aW1hdGVzIGZvciBkaXNjdXNzaW9uIHB1cnBvc2VzIG9ubHkgLSBub3QgYSByYXRlIHF1b3RlLCBjb21taXRtZW50LCBvciBhcHByb3ZhbC4gQWxsIGZpZ3VyZXMgc3ViamVjdCB0byB1bmRlcndyaXRpbmcsIGFwcHJhaXNhbCwgYW5kIHZlcmlmaWNhdGlvbi4gUHJvZml0IGFuZCBST0kgZmlndXJlcyBhcmUgZHJpdmVuIGVudGlyZWx5IGJ5IHlvdXIgb3duIGVzdGltYXRlcyBvZiBBUlYsIHJlaGFiIGNvc3QsIGhvbGQgcGVyaW9kLCBhbmQgc2VsbGluZyBjb3N0cyAtIHRoZXkgYXJlIG5vdCBhIFRlcm51cyB2YWx1YXRpb24sIHByb2plY3Rpb24sIG9yIGd1YXJhbnRlZS4gTGV2ZXJhZ2UgYXNzdW1lcyB5b3VyIHJlaGFiIHNjb3BlIGFuc3dlcnMgYXJlIGFjY3VyYXRlOyBzY29wZSBpcyB2ZXJpZmllZCBpbiB1bmRlcndyaXRpbmcuJywxODIpOwogICAgZG9jLnRleHQoZGlzYywxNCx5KTsKICAgIGRvYy5zYXZlKCdUZXJudXMtRmxpcC1RdW90ZS5wZGYnKTsKICAgIGdhKCdmbGlwX3BkZl9kb3dubG9hZGVkJyx7fSk7CiAgfWNhdGNoKGUpeyBhbGVydCgnUERGIGdlbmVyYXRpb24gaGljY3VwZWQgLSB5b3VyIHJlc3VsdHMgZW1haWwgaGFzIGV2ZXJ5dGhpbmcsIG9yIGNvbnRhY3QgdXMuJyk7IH0KfQoKLyogLS0tLS0tLS0tLSBnYXRlIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gc2hvd0dhdGUoKXsKICBnYSgnZmxpcF9nYXRlX3Nob3duJyx7fSk7CiAgdmFyIGc9JCgnZmxwR2F0ZScpOyBnLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICBnLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9Im1hcmdpbi10b3A6MTRweDtib3JkZXItY29sb3I6dmFyKC0tdGVhbCkiPicrCiAgICAnPGgzPlVubG9jayBhbGwgZm91ciBxdW90ZXM8L2gzPjxwIGNsYXNzPSJzdWIiPkV4YWN0IHJhdGVzLCBmdWxsIGNhc2gtdG8tY2xvc2UsIHByb2ZpdCBtYXRoLCB0aGUgY3VzdG9taXplciwgYW5kIHlvdXIgUERGLjwvcD4nKwogICAgJzxkaXYgY2xhc3M9InJvdzIiPjxkaXY+PGxhYmVsPkZpcnN0IG5hbWU8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZ0ZuIj48L2Rpdj48ZGl2PjxsYWJlbD5MYXN0IG5hbWU8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZ0xuIj48L2Rpdj4nKwogICAgJzxkaXY+PGxhYmVsPkVtYWlsPC9sYWJlbD48aW5wdXQgdHlwZT0iZW1haWwiIGlkPSJnRW0iPjwvZGl2PjxkaXY+PGxhYmVsPk1vYmlsZSBwaG9uZTwvbGFiZWw+PGlucHV0IHR5cGU9InRlbCIgaWQ9ImdQaCI+PC9kaXY+PC9kaXY+JysKICAgICc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImhwIiBpZD0iZ0hwIiB0YWJpbmRleD0iLTEiIGF1dG9jb21wbGV0ZT0ib2ZmIj4nKwogICAgJzxkaXYgY2xhc3M9ImNvbnNlbnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImdTbXMiPjxzcGFuPkkgYWdyZWUgdG8gcmVjZWl2ZSBTTVMvdGV4dCBhbmQgcGhvbmUgY29tbXVuaWNhdGlvbnMgZnJvbSBUZXJudXMgTGVuZGluZyBMTEMuIE1lc3NhZ2UgJmFtcDsgZGF0YSByYXRlcyBtYXkgYXBwbHkuIFJlcGx5IFNUT1AgdG8gb3B0IG91dC48L3NwYW4+PC9kaXY+JysKICAgICc8ZGl2IGNsYXNzPSJjb25zZW50Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJnRW1jIj48c3Bhbj5JIGFncmVlIHRvIHJlY2VpdmUgZW1haWwgY29tbXVuaWNhdGlvbnMgZnJvbSBUZXJudXMgTGVuZGluZyBMTEMuPC9zcGFuPjwvZGl2PicrCiAgICAnPGRpdiBjbGFzcz0ibmF2Ij48c3Bhbj48L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYm5leHQiIGlkPSJnR28iPlVubG9jayBteSBxdW90ZXM8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJlcnIiIGlkPSJnRXJyIj48L2Rpdj48L2Rpdj4nOwogIGcuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidjZW50ZXInfSk7CiAgJCgnZ0dvJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLHN1Ym1pdEdhdGUpOwp9CmZ1bmN0aW9uIHN1Ym1pdEdhdGUoKXsKICB2YXIgZm49JCgnZ0ZuJykudmFsdWUudHJpbSgpLCBsbj0kKCdnTG4nKS52YWx1ZS50cmltKCksIGVtPSQoJ2dFbScpLnZhbHVlLnRyaW0oKSwgcGg9JCgnZ1BoJykudmFsdWUudHJpbSgpOwogIHZhciBlPSQoJ2dFcnInKTsgZnVuY3Rpb24gZmFpbChtKXsgZS50ZXh0Q29udGVudD1tOyBlLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsgfQogIGlmKCQoJ2dIcCcpLnZhbHVlKSByZXR1cm47CiAgaWYoIWZufHwhbG4pIHJldHVybiBmYWlsKCdFbnRlciB5b3VyIGZpcnN0IGFuZCBsYXN0IG5hbWUuJyk7CiAgaWYoIS9eW15AXHNdK0BbXkBcc10rXC5bXkBcc10rJC8udGVzdChlbSkpIHJldHVybiBmYWlsKCdFbnRlciBhIHZhbGlkIGVtYWlsLicpOwogIHZhciBwaGQ9cGgucmVwbGFjZSgvXEQvZywnJyk7IGlmKHBoZC5sZW5ndGg9PT0xMSYmcGhkLmNoYXJBdCgwKT09PScxJylwaGQ9cGhkLnNsaWNlKDEpOwogIGlmKHBoZC5sZW5ndGghPT0xMCkgcmV0dXJuIGZhaWwoJ0VudGVyIGEgdmFsaWQgMTAtZGlnaXQgbW9iaWxlIG51bWJlci4nKTsKICBwaD1waGQ7CiAgaWYoISQoJ2dTbXMnKS5jaGVja2VkfHwhJCgnZ0VtYycpLmNoZWNrZWQpIHJldHVybiBmYWlsKCdCb3RoIGNvbnNlbnRzIGFyZSByZXF1aXJlZC4nKTsKICB2YXIgYnRuPSQoJ2dHbycpOyBidG4uZGlzYWJsZWQ9dHJ1ZTsgYnRuLnRleHRDb250ZW50PSdTdWJtaXR0aW5nLi4uJzsKICB2YXIgdz13aW5uZXJzKFEpfHx7fTsKICB2YXIgcGF5bG9hZD17CiAgICBpbnB1dF8zXzM6Zm4sIGlucHV0XzNfNjpsbiwgaW5wdXRfNjplbSwgaW5wdXRfNzpwaCwKICAgIGlucHV0XzhfMTonMScsIGlucHV0XzhfMjpTTVNfTEFCRUwsIGlucHV0XzlfMTonMScsIGlucHV0XzlfMjpFTUFJTF9MQUJFTCwKICAgIGlucHV0XzE0OnNjZW5hcmlvU3VtbWFyeSgpLCBpbnB1dF8xNTplZGl0TGluaygpLCBpbnB1dF8xNjonRmxpcCBDYWxjdWxhdG9yIFRvb2wnLAogICAgaW5wdXRfMTc6cXNHZXQoJ3V0bV9zb3VyY2UnKSwgaW5wdXRfMTg6cXNHZXQoJ3V0bV9tZWRpdW0nKSwgaW5wdXRfMTk6cXNHZXQoJ3V0bV9jYW1wYWlnbicpLAogICAgaW5wdXRfMjA6cXNHZXQoJ3V0bV90ZXJtJyksIGlucHV0XzIxOnFzR2V0KCd1dG1fY29udGVudCcpLCBpbnB1dF8yMjpxc0dldCgnZ2NsaWQnKSwKICAgIGlucHV0XzIzOnFzR2V0KCdyZWYnKXx8KGRvY3VtZW50LnJlZmVycmVyfHwnJykuc2xpY2UoMCw1MDApLAogICAgaW5wdXRfMzA6dy5sb3dSYXRlPyh3Lmxvd1JhdGUucmF0ZSoxMDApLnRvRml4ZWQoMik6JycsCiAgICBpbnB1dF8zMTp3Lmxvd0Nhc2g/U3RyaW5nKE1hdGgucm91bmQody5sb3dDYXNoLmN0YykpOicnLAogICAgaW5wdXRfMzI6dy5oaWdoUm9pP1N0cmluZyhNYXRoLnJvdW5kKHcuaGlnaFJvaS5yb2kqMTAwKSk6JycKICB9OwogIGZldGNoKCcvd3AtanNvbi9nZi92Mi9mb3Jtcy8nK0dGX0ZPUk1fSUQrJy9zdWJtaXNzaW9ucycse21ldGhvZDonUE9TVCcsaGVhZGVyczp7J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nfSxib2R5OkpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSkKICAudGhlbihmdW5jdGlvbihyKXsgcmV0dXJuIHIuanNvbigpOyB9KQogIC50aGVuKGZ1bmN0aW9uKGopewogICAgaWYoaiYmai5pc192YWxpZD09PWZhbHNlKXsgZ2EoJ2ZsaXBfc3VibWl0X2ZhaWxlZCcse30pOyBidG4uZGlzYWJsZWQ9ZmFsc2U7IGJ0bi50ZXh0Q29udGVudD0nVW5sb2NrIG15IHF1b3Rlcyc7IGZhaWwoJ1NvbWV0aGluZyB3ZW50IHdyb25nIC0gcGxlYXNlIGNoZWNrIHlvdXIgZGV0YWlscyBhbmQgdHJ5IGFnYWluLicpOyB9CiAgICBlbHNlIGZpbmlzaEdhdGUoKTsKICB9KQogIC5jYXRjaChmdW5jdGlvbihlKXsgZ2EoJ2ZsaXBfc3VibWl0X2ZhaWxlZCcse30pOyBidG4uZGlzYWJsZWQ9ZmFsc2U7IGJ0bi50ZXh0Q29udGVudD0nVW5sb2NrIG15IHF1b3Rlcyc7IGZhaWwoJ0Nvbm5lY3Rpb24gcHJvYmxlbSAtIHBsZWFzZSB0cnkgYWdhaW4uJyk7IH0pOwp9CmZ1bmN0aW9uIGZpbmlzaEdhdGUoKXsKICBTLmdhdGVEb25lPXRydWU7CiAgdHJ5eyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmxpcF9sZWFkX2RvbmUnLCcxJyk7IH1jYXRjaChleCl7fQogIGdhKCdmbGlwX2xlYWRfc3VibWl0dGVkJyx7fSk7CiAgcmVuZGVyKCk7Cn0KZnVuY3Rpb24gc2NlbmFyaW9TdW1tYXJ5KCl7CiAgdmFyIHc9d2lubmVycyhRKXx8e307CiAgcmV0dXJuIFsnRmxpcCBDYWxjdWxhdG9yJyxTLnByb3BUeXBlLFMudW5pdHMrJ3UnLFMuc3RhdGUsUy56aXAsJ1BQICcrZm10JChTLnBwKSwncmVoYWIgJytmbXQkKFMucmVoYWIpLCdBUlYgJytmbXQkKFMuYXJ2KSwKICAgICdGSUNPICcrUy5maWNvU2VsLCdmbGlwcyAnK1MuZmxpcHMsUy5jaXRpemVuLChRJiZRLl9jdHgpPygnc2NvcGUgJytRLl9jdHgucmVoYWJUeXBlKTonJywKICAgIHcubG93UmF0ZT8oJ2Jlc3QgcmF0ZSAnK2ZtdFBjdCh3Lmxvd1JhdGUucmF0ZSkrJyAoJytwTmFtZSh3Lmxvd1JhdGUpKycpJyk6JycsCiAgICB3Lmxvd0Nhc2g/KCdsb3cgY2FzaCAnK2ZtdCQody5sb3dDYXNoLmN0YykpOicnLCB3LmhpZ2hSb2k/KCd0b3AgUk9JICcrTWF0aC5yb3VuZCh3LmhpZ2hSb2kucm9pKjEwMCkrJyUnKTonJ10uam9pbignIHwgJyk7Cn0KZnVuY3Rpb24gZW5jb2RlU2NlbmFyaW8oKXsKICB2YXIga2V5cz1bJ3BwJywncmVoYWInLCdhcnYnLCdwcm9wVHlwZScsJ3NxZnQnLCd1bml0cycsJ3N0YXRlJywnemlwJywndHlwZUNoYW5nZScsJ3NxZnRBZGQnLCdleHBhbmQyMCcsJ3N0cnVjdERtZycsJ2ZpY28nLCdmaWNvU2VsJywnZmxpcHMnLCdjaXRpemVuJywnaG9sZCcsJ3NlbGxQY3QnLCdjYXJyeScsJ2Nsb3NlUGN0JywnZG93blgnXTsKICB2YXIgbz17fSxpOyBmb3IoaT0wO2k8a2V5cy5sZW5ndGg7aSsrKW9ba2V5c1tpXV09U1trZXlzW2ldXTsKICByZXR1cm4gYnRvYShKU09OLnN0cmluZ2lmeShvKSk7Cn0KZnVuY3Rpb24gZWRpdExpbmsoKXsgcmV0dXJuICdodHRwczovL3d3dy50ZXJudXMuY29tL3Rvb2xzL2ZsaXAtY2FsY3VsYXRvci8jcz0nK2VuY29kZVNjZW5hcmlvKCk7IH0KZnVuY3Rpb24gcmVzdG9yZVNjZW5hcmlvKCl7CiAgdmFyIG09bG9jYXRpb24uaGFzaC5tYXRjaCgvI3M9KFtBLVphLXowLTkrXC89XSspLyk7IGlmKCFtKSByZXR1cm4gZmFsc2U7CiAgdHJ5eyB2YXIgbz1KU09OLnBhcnNlKGF0b2IobVsxXSkpOyBpZighb3x8IW8ucHB8fCFvLnByb3BUeXBlKSByZXR1cm4gZmFsc2U7CiAgICBmb3IodmFyIGsgaW4gbyl7IGlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLGspKSBTW2tdPW9ba107IH0KICAgIGxvYWRTaGFyZChmdW5jdGlvbigpeyBzdGVwPTU7IHJlbmRlcigpOyB9KTsKICAgIHJldHVybiB0cnVlOwogIH1jYXRjaChleCl7IHJldHVybiBmYWxzZTsgfQp9CgpmdW5jdGlvbiBxc0dldChrKXsgdmFyIG09bG9jYXRpb24uc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoJ1s/Jl0nK2srJz0oW14mXSopJykpOyBpZihtKSByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG1bMV0ucmVwbGFjZSgvXCsvZywnICcpKS5zbGljZSgwLDIwMCk7IHRyeXsgdmFyIHM9SlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVybnVzX2F0dHJpYnV0aW9uJyl8fCd7fScpOyBpZihzW2tdKSByZXR1cm4gU3RyaW5nKHNba10pLnNsaWNlKDAsMjAwKTsgfWNhdGNoKGUpe30gcmV0dXJuICcnOyB9Ci8qIC0tLS0tLS0tLS0gZGF0YSAtLS0tLS0tLS0tICovCmZ1bmN0aW9uIGxvYWRTaGFyZChkb25lKXsKICB6aXBNaXNzPWZhbHNlOyBaPW51bGw7CiAgdmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3QoKTsKICB4aHIub3BlbignR0VUJywgU0hBUkRfQkFTRSsnZnonK1MuemlwLnNsaWNlKDAsMikrJy50eHQnLCB0cnVlKTsKICB4aHIudGltZW91dD02MDAwOwogIHhoci5vbmxvYWQ9ZnVuY3Rpb24oKXsgdHJ5eyBaPUpTT04ucGFyc2UoYXRvYih4aHIucmVzcG9uc2VUZXh0LnJlcGxhY2UoL1xzKy9nLCcnKSkpOyB9Y2F0Y2goZSl7IHppcE1pc3M9dHJ1ZTsgfSBkb25lKCk7IH07CiAgeGhyLm9uZXJyb3I9ZnVuY3Rpb24oKXsgemlwTWlzcz10cnVlOyBkb25lKCk7IH07CiAgeGhyLm9udGltZW91dD1mdW5jdGlvbigpeyB6aXBNaXNzPXRydWU7IGRvbmUoKTsgfTsKICB4aHIuc2VuZCgpOwp9CmZ1bmN0aW9uIHJlbmRlcigpeyBwcm9nKCk7IHN0ZXBGbnNbc3RlcF0oKTsgfQpmdW5jdGlvbiBib290KCl7CiAgdHJ5ewogICAgVD1KU09OLnBhcnNlKGF0b2IoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZscFRibCcpLnRleHRDb250ZW50LnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxzKycsJ2cnKSwnJykpKTsKICAgIHZhciBkYXlzPU1hdGguZmxvb3IoKERhdGUubm93KCktbmV3IERhdGUoVC5hc09mKydUMDA6MDA6MDAnKS5nZXRUaW1lKCkpLzg2NDAwMDAwKTsKICAgIFMuZGVncmFkZWQgPSBkYXlzPlNUQUxFX0RBWVM7CiAgICB0cnl7IGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmbGlwX2xlYWRfZG9uZScpPT09JzEnKSBTLmdhdGVEb25lPXRydWU7IH1jYXRjaChleCl7fQogICAgaWYoL1s/Jl1mbGlwX3Rlc3Q9MS8udGVzdChsb2NhdGlvbi5zZWFyY2gpKSBTLmdhdGVEb25lPXRydWU7CiAgICBpZighcmVzdG9yZVNjZW5hcmlvKCkpIHJlbmRlcigpOwogIH1jYXRjaChleCl7IGRlZ3JhZGUoKTsgfQp9CmZ1bmN0aW9uIGRlZ3JhZGUoKXsKICAkKCdmbHBDYXJkJykuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb250YWN0Ij48aDM+UHJpY2luZyBpcyB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZTwvaDM+PHAgY2xhc3M9InN1YiIgc3R5bGU9Im1hcmdpbi10b3A6OHB4Ij5XZSBjYW4gc3RpbGwgc2l6ZSB5b3VyIGRlYWwgdGhlIG9sZC1mYXNoaW9uZWQgd2F5LjwvcD48YSBocmVmPSJodHRwczovL3d3dy50ZXJudXMuY29tL2NvbnRhY3QvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+VGFsayB0byBUZXJudXM8L2E+PC9kaXY+JzsKfQppZihQUkVWSUVXKXsgLyogdGVzdCBob29rIC0gcHJldmlldyBidWlsZHMgb25seSwgc3RyaXBwZWQgYnkgdGhlIHByb2R1Y3Rpb24gY29udmVydGVyIChQUkVWSUVXPWZhbHNlKSAqLwogIHdpbmRvdy5fX2ZscFRlc3Q9ZnVuY3Rpb24ocyl7IGZvcih2YXIgayBpbiBzKXsgU1trXT1zW2tdOyB9IHdpbmRvdy5fX2ZscFE9bnVsbDsgbG9hZFNoYXJkKGZ1bmN0aW9uKCl7IHdpbmRvdy5fX2ZscFE9cXVvdGVzKCk7IH0pOyByZXR1cm4gJ2xvYWRpbmcnOyB9Owp9CmJvb3QoKTsKfSkoKTs=
ewogInByb2R1Y3QiOiAiVGVybnVzIEZsaXAgQ2FsY3VsYXRvciIsCiAic291cmNlIjogIlRlcm51cyBGbGlwIFNpemVyIHYzLjUgKGludGVybmFsKSAvIFRlcm51cyBVVyBHdWlkZWxpbmVzIDMuMSBGSU5BTCBEUkFGVCIsCiAiYXNPZiI6ICIyMDI2LTA3LTA4IiwKICJleHRyYWN0ZWQiOiAiMjAyNi0wNy0wOCIsCiAicHJpY2luZyI6IHsKICAiUVVJQ0tURVJOIjogewogICAiMC0zIjogWwogICAgMC4xMjksCiAgICAwLjAzCiAgIF0sCiAgICI0LTkiOiBbCiAgICAwLjExOSwKICAgIDAuMDIKICAgXSwKICAgIjEwKyI6IFsKICAgIDAuMTA5LAogICAgMC4wMTUKICAgXQogIH0sCiAgIlhQXzkwIjogewogICAiMC0zIjogWwogICAgMC4xMjksCiAgICAwLjAyCiAgIF0sCiAgICI0LTkiOiBbCiAgICAwLjExOSwKICAgIDAuMDE1CiAgIF0sCiAgICIxMCsiOiBbCiAgICAwLjEwOSwKICAgIDAuMDEKICAgXQogIH0sCiAgIlhQXzgwIjogewogICAiMC0zIjogWwogICAgMC4xMTksCiAgICAwLjAxNQogICBdLAogICAiNC05IjogWwogICAgMC4xMDksCiAgICAwLjAxCiAgIF0sCiAgICIxMCsiOiBbCiAgICAwLjA5OSwKICAgIDAuMDA1CiAgIF0KICB9CiB9LAogImxldmVyYWdlIjogewogICJRVUlDS1RFUk4iOiBbCiAgIDEsCiAgIDEsCiAgIDAuNywKICAgMC43NSwKICAgMCwKICAgNTAwMDAKICBdLAogICJYUF85MCI6IFsKICAgMC45LAogICAxLAogICAwLjc1LAogICAwLjc1LAogICA2NjAsCiAgIDEwMDAwMAogIF0sCiAgIlhQXzgwIjogWwogICAwLjgsCiAgIDEsCiAgIDAuNzUsCiAgIDAuOCwKICAgNjYwLAogICAxMDAwMDAKICBdCiB9LAogImJyaWRnZSI6IHsKICAiYXNJc0x0diI6IDAuNywKICAibWluRmljbyI6IDY2MCwKICAibWluRXhwZXJpZW5jZSI6IDMsCiAgIm1pbkxvYW4iOiA1MDAwMCwKICAibWF4TG9hbiI6IDUwMDAwMAogfSwKICJmZWVzIjogewogICJwcm9jU3RkIjogMTk5NSwKICAicHJvY1N1YiI6IDI0OTUsCiAgInByb2NUcG8iOiAxNDk1LAogICJwcm9jRmxvb3IiOiAxMDAwLAogICJzaERpc2NTdGQiOiA0MDAsCiAgInNoRGlzY1N1YiI6IDQ5OSwKICAic2hEaXNjVHBvIjogMjk5LAogICJsb2FuQ291bnRGbG9vciI6IDQsCiAgImFwcEZlZSI6IDQ5NSwKICAic3ViMTAwa0FkZGVyQnBzIjogMTAwLAogICJjbG9zaW5nUGN0IjogMC4wMSwKICAicmVzZXJ2ZU1vbnRocyI6IDYsCiAgImRvY1ByZXAiOiA3OTksCiAgImxlZ2FsIjogMjUwLAogICJwcm9yYXRlRGF5cyI6IDEwCiB9LAogInJ1bGVzIjogewogICJncm9zc1JldHVybk1pbiI6IDEuMSwKICAic3FmdE1pblNmciI6IDY3NSwKICAic3FmdE1pbjI0UGVyVW5pdCI6IDUwMCwKICAiaW5lbGlnaWJsZVN0YXRlcyI6IFsKICAgIkFLIiwKICAgIkFaIiwKICAgIkNBIiwKICAgIkRDIiwKICAgIkhJIiwKICAgIk1OIiwKICAgIk5EIiwKICAgIk5WIiwKICAgIk9SIiwKICAgIlNEIiwKICAgIlVUIiwKICAgIlZUIgogIF0sCiAgImFic01heExvYW4iOiA1MDAwMDAsCiAgImFic01pbkxvYW4iOiA1MDAwMCwKICAiaG9sZE1heCI6IDEyLAogICJocGFBcnZDdXQiOiAwLjA3NSwKICAiaHBhQXJ2Rmxvb3IiOiAwLjY1LAogICJocGFUbHRjQ3V0IjogMC4wNSwKICAiaHBhQWlDYXAiOiAwLjksCiAgInRtQ3V0THQ1IjogMC4xLAogICJ0bUN1dDVwbHVzIjogMC4wNSwKICAidG1NaW5BcnYiOiAxNzUwMDAsCiAgIm1odlRocmVzaG9sZCI6IDIsCiAgIm1odkhhaXJjdXQiOiAtMC4xLAogICJraWxsZWRBcnZDYXAiOiAwLjUsCiAgImtpbGxlZEFpQ2FwIjogMC44LAogICJoZWF2eU1hdHJpeCI6IHsKICAgIjAiOiBbCiAgICAwLjYsCiAgICAwLjgKICAgXSwKICAgIjEtMiI6IFsKICAgIDAuNjUsCiAgICAwLjkKICAgXSwKICAgIjMrIjogWwogICAgMC43LAogICAgMS4wCiAgIF0KICB9LAogICJoZWF2eUNyZWRpdE92ZXJsYXlNaW5GaWNvIjogNjYwCiB9LAogImVsaXRlIjogewogICJiYXNlUmF0ZXMiOiB7CiAgICIwIjogMC4xMDk5LAogICAiMS00IjogMC4xMDQ5LAogICAiNSsiOiAwLjA5OTksCiAgICIxMCsiOiAwLjA5OTkKICB9LAogICJwb2ludHMiOiAwLjAwNSwKICAiZmljb0FkaiI6IHsKICAgIjY1MC02NzkiOiBbCiAgICAwLjAwNSwKICAgIC0wLjEKICAgXSwKICAgIjY4MC02OTkiOiBbCiAgICAwLjAwMjUsCiAgICAtMC4wNQogICBdLAogICAiNzAwKyI6IFsKICAgIDAsCiAgICAwCiAgIF0sCiAgICJGTiI6IFsKICAgIDAuMDA1LAogICAgLTAuMDUKICAgXQogIH0sCiAgIm1pbkZpY28iOiA2NTAsCiAgImxvYW5TaXplQWRqIjogWwogICBbCiAgICAwLAogICAgMC4wMDM1CiAgIF0sCiAgIFsKICAgIDEwMDAwMC4wMSwKICAgIDAuMDAyNQogICBdLAogICBbCiAgICAxNTAwMDAuMDEsCiAgICAwCiAgIF0sCiAgIFsKICAgIDI1MDAwMC4wMSwKICAgIC0wLjAwMQogICBdLAogICBbCiAgICAzMjUwMDAuMDEsCiAgICAtMC4wMDE1CiAgIF0sCiAgIFsKICAgIDUwMDAwMC4wMSwKICAgIC0wLjAwMgogICBdLAogICBbCiAgICA2MjUwMDAuMDEsCiAgICAtMC4wMDI1CiAgIF0sCiAgIFsKICAgIDc1MDAwMC4wMSwKICAgIC0wLjAwMwogICBdCiAgXSwKICAibWFyZ2luUmF0ZSI6IDAuMDA1LAogICJtYXJnaW5PcmlnUHRzIjogMC4wMSwKICAidGVybnVzRmVlIjogMTAwMCwKICAibWluVmFsdWUiOiAxMDAwMDAsCiAgImZuTWluVmFsdWUiOiAxMDAwMDAsCiAgIm1pbkxvYW4iOiA3NTAwMCwKICAibWF4TG9hbiI6IDIwMDAwMDAsCiAgInNxZnRNaW5TZnIiOiA2NzUsCiAgInNxZnRNaW4yNFBlclVuaXQiOiA0ODAsCiAgImNvbmRvTWluU3FmdCI6IDQ4MCwKICAibWF0cml4IjogewogICAiU3RhYmlsaXplZHwwIjogWwogICAgMC43NSwKICAgIDAsCiAgICBudWxsLAogICAgbnVsbCwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJTdGFiaWxpemVkfDEtNCI6IFsKICAgIDAuNzUsCiAgICAwLAogICAgbnVsbCwKICAgIG51bGwsCiAgICA2NTAsCiAgICA3NTAwMAogICBdLAogICAiU3RhYmlsaXplZHw1KyI6IFsKICAgIDAuOCwKICAgIDAsCiAgICBudWxsLAogICAgbnVsbCwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJMaWdodHwwIjogWwogICAgMC44NSwKICAgIDEsCiAgICAwLjcsCiAgICAwLjksCiAgICA2NTAsCiAgICA3NTAwMAogICBdLAogICAiTGlnaHR8MS00IjogWwogICAgMC45LAogICAgMSwKICAgIDAuNzUsCiAgICAwLjk1LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIkxpZ2h0fDUrIjogWwogICAgMC45NSwKICAgIDEsCiAgICAwLjc1LAogICAgMSwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJMaWdodHwxMCsiOiBbCiAgICAxLAogICAgMSwKICAgIDAuNzUsCiAgICAxLAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIk1vZGVyYXRlfDAiOiBbCiAgICAwLjg1LAogICAgMSwKICAgIDAuNywKICAgIDAuOSwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJNb2RlcmF0ZXwxLTQiOiBbCiAgICAwLjksCiAgICAxLAogICAgMC43MjUsCiAgICAwLjkyNSwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJNb2RlcmF0ZXw1KyI6IFsKICAgIDAuOTI1LAogICAgMSwKICAgIDAuNzUsCiAgICAwLjk1LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIk1vZGVyYXRlfDEwKyI6IFsKICAgIDEsCiAgICAxLAogICAgMC43NSwKICAgIDEsCiAgICA2NTAsCiAgICA3NTAwMAogICBdLAogICAiSGVhdnl8MCI6IFsKICAgIDAuNywKICAgIDEsCiAgICAwLjYsCiAgICAwLjgsCiAgICA2NTAsCiAgICA3NTAwMAogICBdLAogICAiSGVhdnl8MS00IjogWwogICAgMC44LAogICAgMSwKICAgIDAuNjUsCiAgICAwLjg3NSwKICAgIDY1MCwKICAgIDc1MDAwCiAgIF0sCiAgICJIZWF2eXw1KyI6IFsKICAgIDAuODUsCiAgICAxLAogICAgMC43LAogICAgMC45LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIkhlYXZ5fDEwKyI6IFsKICAgIDAuODUsCiAgICAxLAogICAgMC43LAogICAgMC45LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIkdVQ3wwIjogWwogICAgMC43LAogICAgMSwKICAgIDAuNjUsCiAgICAwLjg1LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIkdVQ3wxLTQiOiBbCiAgICAwLjc1LAogICAgMSwKICAgIDAuNywKICAgIDAuODUsCiAgICA2NTAsCiAgICA3NTAwMAogICBdLAogICAiR1VDfDUrIjogWwogICAgMC43NSwKICAgIDEsCiAgICAwLjc1LAogICAgMC45LAogICAgNjUwLAogICAgNzUwMDAKICAgXSwKICAgIkdVQ3wxMCsiOiBbCiAgICAwLjc1LAogICAgMSwKICAgIDAuNzUsCiAgICAwLjksCiAgICA2NTAsCiAgICA3NTAwMAogICBdCiAgfQogfSwKICJtYXJrZXRBcmVhcyI6IHsKICAiMjEyMTUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNDAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMzUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNDEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNjgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyOTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyOTgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNzAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyOTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwODIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwODUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwODciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwOTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMDIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMDQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMDUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMjAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMjAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMjgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMzEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMzMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMTkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyMDQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNTIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyODUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNjEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNjIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEyNDQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMDUiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMDYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMjAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMjIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMjMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDUiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDciOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMDkiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTUiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTciOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMTgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMzMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMzQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMzUiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyNDIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyNDMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyNDQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyMjkiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyNDkiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUyNTQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwMzYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzU0NDQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNjgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNzEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNzMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwNzkiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwODAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwOTEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUwOTQiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMTEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMTYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMTciOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMTgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMTkiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMjYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMjciOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxMzAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxNDYiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxNDgiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxNzIiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxNzMiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxODAiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzUxODEiOiB7CiAgICJhcmVhIjogIkJpcm1pbmdoYW0sIEFMIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMjQiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTExMSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTIwIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNDMiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE0OSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTM0IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMDQiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE0OCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTQwIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNDUiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE0NCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTMxIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMzkiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEyMSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTQ2IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNDciOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEzNiI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTI4IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMTUiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTExNiI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTM1IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNTIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE1NCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTMyIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMTQiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEzMCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTM4IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNDEiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE1MSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTAzIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNDIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTExOSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTIyIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMjUiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEzMyI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTUwIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMjMiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEwNyI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTI2IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMDYiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEyOSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTUzIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMTgiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEwMiI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTM3IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMjciOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEwOSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTEwIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMTIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTExMyI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MDkyIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkwOTMiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTA5OSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTYxIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNjIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE3MCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTcxIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNzIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE3MyI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTc1IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNzciOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE3OCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTc5IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxODEiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE4MiI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTgzIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxODQiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE4NSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTg3IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxODgiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE5MCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTkxIjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxOTIiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE5MyI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTk0IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxOTUiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE5NiI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTk3IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkyNDQiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTI1NSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MDE5IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxMDEiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTEwNSI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTA4IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMTkxNTUiOiB7CiAgICJhcmVhIjogIlBoaWxhZGVscGhpYSwgUEEiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIxOTE2MCI6IHsKICAgImFyZWEiOiAiUGhpbGFkZWxwaGlhLCBQQSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjE5MTc2IjogewogICAiYXJlYSI6ICJQaGlsYWRlbHBoaWEsIFBBIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMDEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMDUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMDkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMjgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwODQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMzAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMzIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNjAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3NTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3NzEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3NzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3ODQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3ODciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3OTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNTgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3OTciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MDEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA4MzMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMjkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3MjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNDIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NTkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3MzciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3MzgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NzciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3OTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NjMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE3OTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE0MDEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE0MDIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE0MDMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE0MDUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjE0MDkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMTIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MzMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwMzciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NTUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NTgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NjUiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNTYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNjAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNjEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwNzciOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MjQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjEwOTAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MTEiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMDgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MTQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMTMiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3MzYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExMjIiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNDAiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNDQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjExNDYiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NjQiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NzkiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMjA3NzgiOiB7CiAgICJhcmVhIjogIkJhbHRpbW9yZSwgTUQgKCsgU3Vycm91bmRpbmcpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM5MDQiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzkwOSI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzOTEwIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM5MTQiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzkxNSI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzOTkwIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM5OTEiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzk5MyI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjM0MjkyIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzQyOTEiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzNDI4NiI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjM0MjY2IjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzQyODkiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzNDI5MyI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjM0Mjg3IjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzQyODgiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzNDI5MCI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjM0MjIzIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM4MDEiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzgwMiI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzODAzIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM4MDQiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzgwNSI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzODA2IjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM4MDciOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzgwOCI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzODA5IjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM4MTAiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzgxMSI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzODEyIjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfSwKICAiMzM4MTMiOiB7CiAgICJhcmVhIjogIkNhcGUgQ29yYWwsIE5vcnRoIFBvcnQsIExha2VsYW5kIChGTCkiLAogICAibWluVmFsdWUiOiAxNzUwMDAKICB9LAogICIzMzgxNCI6IHsKICAgImFyZWEiOiAiQ2FwZSBDb3JhbCwgTm9ydGggUG9ydCwgTGFrZWxhbmQgKEZMKSIsCiAgICJtaW5WYWx1ZSI6IDE3NTAwMAogIH0sCiAgIjMzODE1IjogewogICAiYXJlYSI6ICJDYXBlIENvcmFsLCBOb3J0aCBQb3J0LCBMYWtlbGFuZCAoRkwpIiwKICAgIm1pblZhbHVlIjogMTc1MDAwCiAgfQogfQp9
