Why Nostr? What is Njump?
2024-01-23 04:05:51

npub1eu…ms6ns on Nostr: video200, create one second video clips in browser ...

video200, create one second video clips in browser
data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPnZpZGVvMjAwPC90aXRsZT4KICAgIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDFlbTsKICAgICAgZm9udC1mYW1pbHk6IE5vdG8gU2FuczsKICAgIH0KICAgIGgxIHsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgIH0KICAgICNkZXNjcmlwdGlvbiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgY29sb3I6ICM2NjY7CiAgICAgIGxlZnQ6IDE0ZW07CiAgICAgIHJpZ2h0OiAxNGVtOwogICAgICBsaW5lLWhlaWdodDogMS41ZW07CiAgICAgIG1hcmdpbi10b3A6IC4xNGVtOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbWF4LWhlaWdodDogNmVtOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgI2Rlc2NyaXB0aW9uIHNwYW4gewogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgfQogICAgI2xvZyB7CiAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogMWVtOwogICAgICB0b3A6IDExZW07CiAgICAgIGJvcmRlcjogLjNlbSBzb2xpZCAjNjY2OwogICAgICBib3JkZXItcmFkaXVzOiAuM2VtOwogICAgICByaWdodDogMWVtOwogICAgICBsZWZ0OiAxZW07CiAgICAgIHBhZGRpbmc6IC41ZW07CiAgICAgIGJhY2tncm91bmQ6ICNlZWU7CiAgICB9CiAgICAjcHJvZ3Jlc3MgewogICAgICBiYWNrZ3JvdW5kOiAjZGRkOwogICAgICBib3JkZXItcmFkaXVzOiAuM2VtOwogICAgfQogICAgI3Byb2dyZXNzYmFyIHsKICAgICAgaGVpZ2h0OiAxLjNlbTsKICAgICAgYmFja2dyb3VuZDogYmx1ZTsKICAgICAgd2lkdGg6IDAlOwogICAgICBib3JkZXItcmFkaXVzOiAuNGVtOwogICAgfQogICAgI2xvZyA+IGEgewogICAgICBtYXJnaW4tYm90dG9tOiAxZW07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQogICAgcCB7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICB9CiAgICAjbG9nIHAgewogICAgICBvdmVyZmxvdzogc2Nyb2xsOwogICAgICBtYXgtaGVpZ2h0OiA3ZW07CiAgICB9CiAgICB2aWRlbyB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CiAgICAjY2FudmFzLAogICAgdmlkZW8gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMWVtOwogICAgICByaWdodDogMWVtOwogICAgICB3aWR0aDogMTBlbTsKICAgICAgaGVpZ2h0OiA2ZW07CiAgICB9CiAgICA8L3N0eWxlPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL25vc3RyLXRvb2xzL2xpYi9ub3N0ci5idW5kbGUuanMiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2JlY2gzMi1idWZmZXJAMC4yLjEvZGlzdC9iZWNoMzItYnVmZmVyLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEyNTYtWGg3R0lWMVFhdXJDWE5CaWZYZzZPS1hpWFVqWEh5TlovTElHRkZXbXl1cz0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+Y3JlYXRlIG9uZSBzZWNvbmQgdmlkZW8gY2xpcHMgaW4gYnJvd3NlcgogICAgICA8c3Bhbj58IGlmIHlvdSB1c2UgdG9yIGJyb3dzZXIsIGNoYW5nZSA8c3Ryb25nPmF1dG9EZWNsaW5lTm9Vc2VySW5wdXRDYW52YXNQcm9tcHRzIC0+IGZhbHNlPC9zdHJvbmc+IGluIGFib3V0OmNvbmZpZzwvc3Bhbj48L3A+CiAgICA8aDE+dmlkZW8yMDA8L2gxPgoKICAgIDxmb3JtIGlkPSJmb3JtIj4KICAgICAgPHA+CiAgICAgICAgPGlucHV0IGlkPSJmaWxlIiB0eXBlPSJmaWxlIi8+CiAgICAgIDwvcD4KICAgICAgPHA+CiAgICAgICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9ImVuY29kZSIgZGlzYWJsZWQ9IjEiIC8+CiAgICAgICAgPGJ1dHRvbiBpZD0icHVibGlzaCIgZGlzYWJsZWQ9IjEiPnB1Ymxpc2g8L2J1dHRvbj4KICAgICAgPC9wPgogICAgPC9mb3JtPgogICAgPHZpZGVvIGlkPSJ2aWRlbyI+PC92aWRlbz4KICAgIDx2aWRlbyBpZD0idmlkZW8yIiBjb250cm9scyBsb29wPSIxIj48L3ZpZGVvPgogICAgPGNhbnZhcyBpZD0iY2FudmFzIj48L2NhbnZhcz4KICAgIDxkaXYgaWQ9InByb2dyZXNzIj4KICAgICAgPGRpdiBpZD0icHJvZ3Jlc3NiYXIiPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJsb2ciPjxkaXY+CiAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+CiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIikKICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpCiAgICBjb25zdCBsb2cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikKICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvIikKICAgIGNvbnN0IHZpZGVvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbzIiKQogICAgY29uc3QgcHJvZ3Jlc3NiYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvZ3Jlc3NiYXIiKQogICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikKICAgIGxldCBmaWxlcyA9IG51bGwKICAgIGxldCB2aWRlb19kYXRhX3VyaSA9IG51bGwKICAgIGNvbnN0IG1heF9wdWJsaXNoX3NpemUgPSAyNjIxNDQKCiAgICBjb25zdCBmcmFtZV9kdXJhdGlvbiA9IDEvMzAKICAgIGNvbnN0IGV4dHJhY3RfZnJhbWVfY291bnQgPSAzMC8vMSAvIGZyYW1lX2R1cmF0aW9uCiAgICBsZXQgdGltZSA9IG51bGwKCiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBmZXRjaCgKICAgICAgImh0dHBzOi8vdW5wa2cuY29tL3dlYm0td2FzbUAwLjQuMS9kaXN0L3dlYm0td29ya2VyLmpzIgogICAgKS50aGVuKHIgPT4gci5hcnJheUJ1ZmZlcigpKQoKICAgIGxldCB3b3JrZXIgPSBudWxsCiAgICBsZXQgZW5jb2RlZF9kYXRhID0gbnVsbAogICAgbGV0IHN0YXJ0X3RpbWUgPSBudWxsCiAgICBsZXQgcmVhZHkgPSBmYWxzZQoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlIikub25jaGFuZ2UgPSBmdW5jdGlvbigpewogICAgICBmb3JtLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0IikuZm9yRWFjaChlbCA9PiBlbC5kaXNhYmxlZCA9IGZhbHNlKQogICAgfQoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwdWJsaXNoIikub25jbGljayA9IGZ1bmN0aW9uKGUpewogICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWUKICAgICAgcHVibGlzaCgpCiAgICB9CgogICAgZnVuY3Rpb24gZnJvbV9oZXhfc3RyaW5nKHN0cil7CiAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShzdHIubGVuZ3RoIC8gMikubWFwKCh2LCBpKSA9PiBwYXJzZUludChzdHIuc3Vic3RyKDIgKiBpLCAyKSwgMTYpKQogICAgfQoKICAgIGZ1bmN0aW9uIHB1Ymxpc2goKXsKICAgICAgY29uc3QgcmVsYXkgPSAid3NzOi8vbm9zdHIuc2VsZi1kZXRlcm1pbmVkLmRlIgogICAgICBpbmZvKCJwdWJsaXNoIGtpbmQgMTA2MyBldmVudCB0byAiICsgcmVsYXkpCgogICAgICBsZXQgc29ja2V0ID0gbmV3IFdlYlNvY2tldChyZWxheSkKICAgICAgY29uc3Qgc2sgPSBOb3N0clRvb2xzLmdlbmVyYXRlU2VjcmV0S2V5KCkKICAgICAgbGV0IHZpZGVvX2V2dCA9IG51bGwKICAgICAgbGV0IG5vdGVfZXZ0ID0gbnVsbAogICAgICBjb25zdCBjdXJyZW50X3RpbWUgPSBwYXJzZUludChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAsIDEwKQoKICAgICAgc29ja2V0Lm9ub3BlbiA9IGZ1bmN0aW9uKCl7CiAgICAgICAgdmlkZW9fZXZ0ID0gTm9zdHJUb29scy5maW5hbGl6ZUV2ZW50KHsKICAgICAgICAgIGtpbmQ6IDEwNjMsCiAgICAgICAgICBjcmVhdGVkX2F0OiBjdXJyZW50X3RpbWUsCiAgICAgICAgICBjb250ZW50OiAidmlkZW8iLAogICAgICAgICAgdGFnczogWwogICAgICAgICAgICBbInVybCIsIHZpZGVvX2RhdGFfdXJpXQogICAgICAgICAgXQogICAgICAgIH0sIHNrKQoKICAgICAgICB0aGlzLnNlbmQoSlNPTi5zdHJpbmdpZnkoWyJFVkVOVCIsIHZpZGVvX2V2dF0pKQogICAgICB9CgogICAgICBzb2NrZXQub25tZXNzYWdlID0gZnVuY3Rpb24oZSl7CiAgICAgICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShlLmRhdGEpCgogICAgICAgIGlmKHJlc1swXSA9PSAiT0siKXsKICAgICAgICAgIGlmKHJlc1sxXSA9PSB2aWRlb19ldnQuaWQpewogICAgICAgICAgICBpbmZvKCJwdWJsaXNoIGtpbmQgMSBub3RlIikKICAgICAgICAgICAgY29uc3QgdmlkZW9fbm90ZV9pZCA9IGJlY2gzMi5lbmNvZGUoIm5vdGUiLCBmcm9tX2hleF9zdHJpbmcodmlkZW9fZXZ0LmlkKSkKCiAgICAgICAgICAgIG5vdGVfZXZ0ID0gTm9zdHJUb29scy5maW5hbGl6ZUV2ZW50KHsKICAgICAgICAgICAgICBraW5kOiAxLAogICAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGN1cnJlbnRfdGltZSwKICAgICAgICAgICAgICBjb250ZW50OiAidmlkZW9cbm5vc3RyOiIgKyB2aWRlb19ub3RlX2lkLAogICAgICAgICAgICAgIHRhZ3M6IFtdCiAgICAgICAgICAgIH0sIHNrKQoKICAgICAgICAgICAgdGhpcy5zZW5kKEpTT04uc3RyaW5naWZ5KFsiRVZFTlQiLCBub3RlX2V2dF0pKQogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZihyZXNbMV0gPT0gbm90ZV9ldnQuaWQpewogICAgICAgICAgICBjb25zdCBub3RlX2lkID0gYmVjaDMyLmVuY29kZSgibm90ZSIsIGZyb21faGV4X3N0cmluZyhub3RlX2V2dC5pZCkpCiAgICAgICAgICAgIGluZm8oImh0dHBzOi8vY29yYWNsZS5zb2NpYWwvIiArIG5vdGVfaWQsIDIpCiAgICAgICAgICAgIHNvY2tldC5jbG9zZSgpCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYocmVzWzBdID09ICJOT1RJQ0UiKXsKICAgICAgICAgIGluZm8ocmVzWzFdKQogICAgICAgICAgc29ja2V0LmNsb3NlKCkKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHNvY2tldC5vbmVycm9yID0gZnVuY3Rpb24oZSl7CiAgICAgICAgY29uc29sZS5sb2coInNvY2tldCBlcnJvciIsIGUudXJsLCBlLm1lc3NhZ2UpCiAgICAgIH0KICAgIH0KCiAgICB3aW5kb3cucHVibGlzaCA9IHB1Ymxpc2gKCiAgICBmb3JtLm9uc3VibWl0ID0gZnVuY3Rpb24oZSl7CiAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICB2aWRlbzIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgdmlkZW8yLnBhdXNlKCkKICAgICAgcHJvZ3Jlc3NiYXIuc3R5bGUud2lkdGggPSAiMC41JSIKICAgICAgZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dCIpLmZvckVhY2goZWwgPT4gZWwuZGlzYWJsZWQgPSB0cnVlKQogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0IikudmFsdWUgPSAiZW5jb2RpbmciCiAgICAgIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKS5maWxlcwogICAgICBzdGFydCgpCiAgICB9CgogICAgZnVuY3Rpb24gYmxvYlRvRGF0YVVSTChibG9iLCBjYWxsYmFjaykgewogICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgdmFyIGEgPSBuZXcgRmlsZVJlYWRlcigpCiAgICAgICAgYS5vbmxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICByZXNvbHZlKGUudGFyZ2V0LnJlc3VsdCkKICAgICAgICB9CiAgICAgICAgYS5yZWFkQXNEYXRhVVJMKGJsb2IpCiAgICAgIH0pCiAgICB9CgogICAgZnVuY3Rpb24gaW5mbyhtc2csIHR5cGUpewogICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSA9PT0gMiAmJiAiYSIgfHwgInAiKQogICAgICBlbFsodHlwZSA9PT0gMykgJiYgImlubmVySFRNTCIgfHwgImlubmVyVGV4dCJdID0gbXNnCgogICAgICBpZih0eXBlKXsKICAgICAgICBlbC5ocmVmID0gbXNnCiAgICAgIH0KCiAgICAgIGxvZy5hcHBlbmQoZWwpCiAgICAgIGxvZy5zY3JvbGxUbygwLCAxZTYpCiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc192aWRlbygpewogICAgICBsZXQgZnJhbWVfY291bnQgPSAwCgogICAgICB2aWRlby5vbnNlZWtlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICBmcmFtZV9jb3VudCsrCiAgICAgICAgaW5mbygiZXh0cmFjdCBmcmFtZSAiICsgZnJhbWVfY291bnQgKyAiIC8gIiArIGV4dHJhY3RfZnJhbWVfY291bnQpCgogICAgICAgIGN0eC5kcmF3SW1hZ2UodmlkZW8sIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7CiAgICAgICAgY29uc3QgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpCgogICAgICAgIGlmKGZyYW1lX2NvdW50IDwgZXh0cmFjdF9mcmFtZV9jb3VudCl7CiAgICAgICAgICB0aW1lICs9IGZyYW1lX2R1cmF0aW9uCiAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgKHRpbWUgPCAwID8gdGhpcy5kdXJhdGlvbiA6IDApICsgdGltZSksIHRoaXMuZHVyYXRpb24pCiAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoaW1hZ2VEYXRhLmRhdGEuYnVmZmVyLCBbaW1hZ2VEYXRhLmRhdGEuYnVmZmVyXSkKICAgICAgICB9ZWxzZXsKICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZShudWxsKQogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHRvdGFsX3RpbWUoc3RhcnQpewogICAgICByZXR1cm4gKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gc3RhcnQpIC8gMTAwMAogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZUJ1ZmZlclVSTChidWZmZXIsIHR5cGUgPSAnJykgewogICAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYnVmZmVyXSwge3R5cGV9KSk7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gc2hvd19kYXRhX3VyaShibG9iKXsKICAgICAgbGV0IGJsb2JfdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKQogICAgICB2aWRlb19kYXRhX3VyaSA9IGF3YWl0IGJsb2JUb0RhdGFVUkwoYmxvYikKICAgICAgLy9pbmZvKHZpZGVvX2RhdGFfdXJpKQoKICAgICAgaW5mbygiZW5jb2RpbmcgZmluaXNoZWQgKHNpemU6ICIgKyAocGFyc2VJbnQoYmxvYi5zaXplIC8gMTAwLCAxMCkgLyAxMCkgKyAiIGtCLCBiYXNlNjQgc2l6ZTogIiArIHZpZGVvX2RhdGFfdXJpLmxlbmd0aCArICIgQiwgZHVyYXRpb246ICIgKyAocGFyc2VJbnQodG90YWxfdGltZShzdGFydF90aW1lKSAqIDEwLCAxMCkgLyAxMCkgKwogICAgICAgICAgICAiIHMsIHNwZWVkOiAiICsgKHBhcnNlSW50KHRvdGFsX3RpbWUoc3RhcnRfdGltZSkgLyBleHRyYWN0X2ZyYW1lX2NvdW50ICogMTAsIDEwKSAvIDEwKSAgKyIgcyAvIGZyYW1lKSIpCgogICAgICBpbmZvKGJsb2JfdXJsLCAyKQoKICAgICAgaWYodmlkZW9fZGF0YV91cmkubGVuZ3RoID4gbWF4X3B1Ymxpc2hfc2l6ZSl7CiAgICAgICAgaW5mbygiZXZlbnQgaXMgdG9vIGJpZyB0byBwdWJsaXNoIikKICAgICAgICBpbmZvKCJtYXggc2l6ZTogIiArIG1heF9wdWJsaXNoX3NpemUgKyAiIEIiKQogICAgICB9ZWxzZXsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHVibGlzaCIpLmRpc2FibGVkID0gZmFsc2UKICAgICAgfQoKICAgICAgdmlkZW8yLnNyYyA9IGJsb2JfdXJsCiAgICAgIHZpZGVvMi5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgdmlkZW8yLnBsYXkoKQoKICAgICAgcHJvZ3Jlc3NiYXIuc3R5bGUud2lkdGggPSAiMTAwJSIKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKS5yZXNldCgpCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWJtaXQiKS52YWx1ZSA9ICJlbmNvZGUiCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlIikuZGlzYWJsZWQgPSBmYWxzZQogICAgfQoKICAgIGZ1bmN0aW9uIHdvcmtlcl9tZXNzYWdlKGUpewogICAgICBpZighZS5kYXRhKSB7CiAgICAgICAgcmV0dXJuCiAgICAgIH0KCiAgICAgIGlmKGUuZGF0YSAhPSBudWxsICYmIHR5cGVvZiBlLmRhdGEgPT0gIm9iamVjdCIgJiYgZS5kYXRhLmJ5dGVMZW5ndGggPiAwKXsKICAgICAgICBlbmNvZGVkX2RhdGEucHVzaChlLmRhdGEpCiAgICAgICAgaW5mbygiZW5jb2RlICIgKyBlbmNvZGVkX2RhdGEubGVuZ3RoICsgIiAvICIgKyBleHRyYWN0X2ZyYW1lX2NvdW50KQogICAgICAgIHByb2dyZXNzYmFyLnN0eWxlLndpZHRoID0gcGFyc2VJbnQoKGVuY29kZWRfZGF0YS5sZW5ndGggLyBleHRyYWN0X2ZyYW1lX2NvdW50KSAqIDEwMCwgMTApICsgIiUiCiAgICAgIH0KCiAgICAgIGlmKGUuZGF0YSA9PSAiUkVBRFkiKXsKICAgICAgICBpbmZvKCJyZWFkeSIsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCkKCiAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsKICAgICAgICAgIHdpZHRoOiBjYW52YXMud2lkdGgsCiAgICAgICAgICBoZWlnaHQ6IGNhbnZhcy5oZWlnaHQsCiAgICAgICAgICByZWFsdGltZTogdHJ1ZSwKICAgICAgICAgIGJpdHJhdGU6IDE1MAogICAgICAgIH0pCgogICAgICAgIHJlYWR5ID0gdHJ1ZQogICAgICAgIHByb2Nlc3NfdmlkZW8oKQogICAgICB9CiAgICAgIGVsc2UgaWYocmVhZHkpewogICAgICAgIGlmKGUuZGF0YS5ieXRlTGVuZ3RoID09IDApewogICAgICAgICAgd29ya2VyLnRlcm1pbmF0ZSgpCiAgICAgICAgICByZWFkeSA9IGZhbHNlCiAgICAgICAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKGVuY29kZWRfZGF0YSwgeyB0eXBlOiAndmlkZW8vd2VibScgfSkKICAgICAgICAgIHNob3dfZGF0YV91cmkoYmxvYikKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBsb2FkX3ZpZGVvKCl7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICB2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGVzWzBdKQoKICAgICAgICB2aWRlby5vbmxvYWRlZG1ldGFkYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBjYW52YXMud2lkdGggPSAxMDI0CiAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gdmlkZW8udmlkZW9IZWlnaHQgLyB2aWRlby52aWRlb1dpZHRoICogY2FudmFzLndpZHRoCiAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgKHRpbWUgPCAwID8gdGhpcy5kdXJhdGlvbiA6IDApICsgdGltZSksIHRoaXMuZHVyYXRpb24pCiAgICAgICAgICByZXNvbHZlKCkKICAgICAgICB9CiAgICAgIH0pCiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoKXsKICAgICAgd29ya2VyID0gbmV3IFdvcmtlcigKICAgICAgICBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICJ0ZXh0L2phdmFzY3JpcHQiIH0pKQogICAgICApCgogICAgICB3b3JrZXIub25tZXNzYWdlID0gd29ya2VyX21lc3NhZ2UKICAgICAgZW5jb2RlZF9kYXRhID0gW10KICAgICAgc3RhcnRfdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpCiAgICAgIHRpbWUgPSAxNQogICAgICB3aW5kb3cuc3RhcnRfdGltZSA9IHN0YXJ0X3RpbWUKICAgICAgYXdhaXQgbG9hZF92aWRlbygpCiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiaHR0cHM6Ly91bnBrZy5jb20vd2VibS13YXNtQDAuNC4xL2Rpc3Qvd2VibS13YXNtLndhc20iKQogICAgfQogICAgPC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
Author Public Key
npub1eu502ceyh3vhd3ejy96yywuaev6hjsy0fn6n35zmlzdwnst75zfshms6ns