{"_id":"@rexfng/tfa","_rev":"32-3fcdeb73f43b3c49e03da8984c6ccaac","name":"@rexfng/tfa","dist-tags":{"latest":"2.20.0"},"versions":{"1.0.0":{"name":"@rexfng/tfa","version":"1.0.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-HfrfapBXn9N24J2g3CelIXVoJU+qQ/W5SnkY9F2l3RMhU1zmgqVeYdPp7xG2GRPIJvbjM0Q7r2xSE6E58yII5g==","shasum":"cd59a16ded9eb83e179ce9a569ff254d66e8b0e8","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.0.0.tgz","fileCount":3,"unpackedSize":3009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL3XqCRA9TVsSAnZWagAAJ50QAKKUk53m4K9aexg5+Co1\ne8mK++ii821g/zuMYDEzhIa2ROEKTqycC4fXQhd8KMEBtOUkQKp7D3HjhjTM\nRp/QjKIIEZRlk/Ph/lI4ZB1rx9gFovV2LL2BkeS3gwPl13zDB0JE72RIMC3u\nH2Lj3mipPabAv5aEBW5mHUWBIcudpcboXSAHEpc3YeGhwUsl5OsywsJAvRX7\nV8hbb2Tt0Iv+UTvAeRRsb91PA1q+4zDTyVhGKBO/ZNB8IRpV/Sve6zH1H4R0\n5Wo4qYlOko369Hu6tvspaGhuTvjeR7SDLecypSoqJPJKAyeZioww9Bu6jHYm\nrt8rnSyB4Tzu5u8Qr69oGsDoveHlQzFpIAoHMpYk9ABDzONpNYFiB4Z9rKhH\nBAEoN6YuCFHDexn0mV5Xem/UrIECptkBZ75Ki4zDmvZAYpFqw5o623QBkarh\nxEkurtsbH12B7egoujKRKQg3ljXJ7czHx929gFM5bphREBsGDtccXv6xIae/\n/vZD/Af56lBHYwop62qp+LDtU25qSy218V/4dVZcUmJegI9ezbbAQ2gTgLAj\nzhKCKAYcm8AzpMhh7GrD++JAg3nBoSPIazRMxYI/sSco/xiaZyIlCKDpepHM\nMtggeRQ/s7sABb5CZZIrY4LHkm2cwEkiuRlx5wp4anUnP7kq0J8/fMpV5c5O\n25r+\r\n=yYVB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxcYF+kIIC0blcSyVeCahHhAv2mVrjI3hGfBUaYqgN3gIgJh05ZlF9/OH/NTt7AClC2ye66j9zGSV+jz4YvD2DGn0="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.0.0_1546614249838_0.6341536262500005"},"_hasShrinkwrap":false},"1.0.1":{"name":"@rexfng/tfa","version":"1.0.1","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.0.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-M2K+HRoUSh8P2QwtXhoXBwFElfwRB1/0iedo5QKUC/HSmXHk+yVU6c2NljA8INXPE6A0oGJvrBKzzvs2bVVNpg==","shasum":"b96d5eed9b276bf0e87523dea6459d97c9b7c682","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.0.1.tgz","fileCount":3,"unpackedSize":3079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL3ZaCRA9TVsSAnZWagAAtuoQAJXrl5cWlNFzwNjdtU0H\nPsorYcUjvEmICsEpcIlLWCXSI3oQ7fAFxY/2pplsILxF208KQRne5//DCvXC\nqnJPDgektgMOBYlzUNHXYcuLIA2fRcOuXLH5v+8oL4ln7PG6TrFggRrlo+ua\nJEudQimN+aQrPSqtJTSl9Z7t0bMYrnhaI9Unc7oPTpDVbHRlNgAPWdCYQAi0\nOn6WG7rxISguPH89qA1rk/EusiUqVQorCrWJoa9pB+ZAUgEmUH/RRLloZE75\nMU0lZGW6qdWpMasnAxnUr7hgqzvTpBD1b0B+nN4e/FSda/hHnsY5DV2qTYOz\nxyYyGb/lst4tV20JKLyMfyYXQ88ys+uq9OEUnyCdrrU18GFPh7XfgKy3t6lF\nefrKdoyK9NzHj+BgwapGsuIL10ihb2pcOmyeEmWX7Q3DQsnmkUobGRyySAtx\n7BDXHvdJP8gKlVe1mXb7UcyUlgBqadXVR/KWswSIO9dZl92liqEPmNH6RqDz\nUlxyC9CIHIkugO6GhbAvDnttZ1ZnYaJitSgu0jEGWcb3fAxPNn6bCUo2Utgl\nUAyJuZmJuQby/2wSJzfwXdwoCchz8qU4UUocYzB6xistmjlBK3CVYLeDf4yH\nUjqa7AKJHdsT3dCDyZAA5dVM/qx/C8/pXnlBP6bImGE11rHB3nm+LKEQZheL\nmVPn\r\n=ZWNF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZwlN7wa/9ithTvJsyJToKf+3lMDTtzKGJM6H8mctqaAiEA85caSuJJsS5yTvf50murCFNidrLs+zWn8ZiESaPs4bk="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.0.1_1546614361574_0.3347487508781015"},"_hasShrinkwrap":false},"1.0.2":{"name":"@rexfng/tfa","version":"1.0.2","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-39B9KQqtJeq/IpwGeUZxLAkkoCEJ/t8uRvAsipH6Hzyi7xqBD+hbFoUDOGmXVTH0w5jxDG26LGYalUCRUNqzGw==","shasum":"3d2d2adbabdd8823b7028163a4f77a482c7aa763","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.0.2.tgz","fileCount":3,"unpackedSize":3078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL3ZwCRA9TVsSAnZWagAAAwcP/iOIEgXfNxxvhssfDE+l\npg4EXsl8fo0Ls8+UNdO+dJAHOMXIwrp1/IKbbZhJ75WI+il+Q6fw1MKGzyw1\nwJ2EACFIPgGIfNWjy5q0QV/YLtDzMmVMwHQo2gqrKrZejpaTAErI7MSitob/\ngoTuNgnSF+2kLv/x/vXmIiVA2ThuVFC8fVRuLFHHKudvPoGppbEdD72SjX21\nmFLJtFLv9Z6616heQQ7ilIODKOSGMV6biit/4FyWf5/gTQ3UTzd5+X0SbHzp\nLjEjzVFiZ6NvJgpXbmXj0W3ohXojl4G9hmVa8uqv2mdobNI6Sey+bRAZ2n7h\nCyU1HvtnLHU54v7r20JlP+CZojbQl55Pf/CzUn/o24fYYnEglr32fqeSD+ZX\nocM+kiJi4BnFuiZuso+8Xm+zdXKSbFX48CwAY/geKjuMywmJpxG2N8g0lOXE\nmjtzJlwOECTAGINAv1lesZBGtOLajyTHFhjbo3UzQfLjiLccHiJ8b8y5AyTG\nkN0Iabnksq6k2ucKcFZ8ckSJAt+JR6QxgSzfLKTB5TMPz6HgGVn+BdKn2nI3\nGduGDwp3CcRVTxijSHgmdQwfn3LoUiSvhGezj9OFpq1lA6bYQ7T8poJnGzUi\n/b+drkYavz0ceCNoRwFZSLiAGmTmxk+BGIovCN5CK8RhacjWQSJFnCoKPxQi\nv7jo\r\n=mLP4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwSUlBwIoItR3bRD9cW1sxI+LL9u2zOwmeOPOcAo38wwIgcFiKdTI5L1DpZ+jfWYOtheNVwjAAa52SBadBgg6ZYgY="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.0.2_1546614384278_0.24969541312780952"},"_hasShrinkwrap":false},"1.1.0":{"name":"@rexfng/tfa","version":"1.1.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-HpW5BJPCTv+eZWKGTFFrvnhN60d5UtHW8snCdXXvcTPwqe7+h2aLVQT5b2RKr+OFoMp8KSciV4zDt9AqKHJRuA==","shasum":"831d2e9c024014136abad09c18aa2cf50246799b","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.1.0.tgz","fileCount":3,"unpackedSize":3243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL3xUCRA9TVsSAnZWagAAOR4P/29e/oR2nWgNrz554vnR\nUnLCvuGBOM7Yx6FA9yeQBdcJzA5cwHUw9Ym4q7KSgeSE873PFO87+cOM7O30\n4WyrOR9/etEtdDPvA98bYW91HfEOrSDQk0TixBFyZl2tFl+BKNhtGmvN31Cg\nkhOIO4+fEiiG0ZCCwKsu7nAUtdjPd1Q84X9tMSbNLweP/frxG2qbuZujg3Bx\nZL5kZ5DfbOTdOm/0sl2CqD9oxpZQz+RB7tx3XsZemNXeQ1dFf39j8S67MEY5\nG0c3dXRgleDDXDvjc0RRZG8ki7K0S0Q7a99a6Lxyqv5dQFFd6pcTE7s6A7jF\no2Asnz35fb1ey2NbBQx53wFpZfQpRpILnVijxRFCSChFnGs8ETwveKFhNLn2\nI4/XY1Z7PnuA/edBWfSKWMMECPfirZwDm7iTA4jCgHi3frBd9SbT49CQVrn6\nCOOGiPS1ZmISMyXrV98+a3qYdYWPis8WxmYvflQVEUD4CZatY78umbMvsjdR\nEPR1B8oEjjt6OByqdXkh+briWrgpsJIRBWA5CAFKKJISSdgcIGUHkSY72yvK\nBZTCIqrkX4L5dcXf0ygk7rl/q1eAyJrR4Bh639trNgIvEKtnKpKhYzgoaL0g\n1f3Gr5K7choF8QOAllSDMr/e2rwGPfc87uEg16ISWLTBl/1z38w4rPZ7wDrv\ninP0\r\n=lqcR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDh+7KTVTM77VatmOzEVScrFS6NC7uys4Sxl30dngZRRAiAyG+Bi2GmphZGiiIK7hxLeRpCy7XN6+yfTniaUuUEWkQ=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.1.0_1546615892278_0.2188668050737117"},"_hasShrinkwrap":false},"1.1.1":{"name":"@rexfng/tfa","version":"1.1.1","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-u6+6cKJ7XUIGcS2aihoylyFBodt5hZrrqR+/GWB1AouoL80pQvNcl11h57dlZIibuC8OSjAg/iYb0Mr0VzqxkQ==","shasum":"d557b20e8ba59c94fa44366d8b094c7b7345a788","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.1.1.tgz","fileCount":3,"unpackedSize":3311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL3ySCRA9TVsSAnZWagAAgugP/0/sTPjXs7OCZOUGNyaw\nv4w7X0qBA/2owWQqTGOYs3Mqr/CW/YJTH2dK6sPpVL3rV7r8N7T3yOVL2sCq\n2JTwdkRMhdTKwwkV4bCvvkx+YmjMiLuO1Q1oGlXoH2u5+7bL07XeNPCPahLj\nu3bu5w63zVT85Obyqr/pP1SLHMEndd7odU/4Ahuxp4wBRDS/EuKM9vEnqkMR\nKVDJwh7VLnyeiMDeoPj2GrrW78Tk/MeSmaZRr5/8FsMLGWXfo+kQlpeovO72\nysEV51dCOYYjQ/vFNPjTsF+zYqOhoZcltQmyemHQE5aR1ko0oPbiBUgRAImZ\nxHj9YS6WEUk7tYb+L4ZT8h5W02Lz6n78KGjemfB6mV7FAdLXaP+Vd6wYARQZ\nXZnTLM1HqUP24ICjxDOvfvPpdEihvyThA/YVcxMobt2aOap1aB2oBGfyY5PG\n0snfWXcNz24LRfvtJ7GxhCnlTnTdjZ2lMEz0EhesyUkVfXxbJ+LwN4A6Yp8/\nGjyWj5mBsqIdzEC1AodGYZrYgcZVgUhlugFloxRM16wDTt0OTHeIWomrkHSQ\nEgMzBgM+fnIe9whvo8joWUSFqotcNyoUvFSA8CtmUv1r8bVheqbRbt+aqoG2\nN8uESYFgjRfLewXob0O1CBKGYiOK9fPYfBX19xMMLzvRFwrdKAlYgnWOjNg5\nhIaM\r\n=iprm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFKdPX9ocWRAk6/u/bKNx4hkhTat5BcXnTe9XoCBgp3QIhAP4OqQb8ZodCqfBuBDKTajumV2KIBbSKJP4uv4UkKtt6"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.1.1_1546615954296_0.7485669990025197"},"_hasShrinkwrap":false},"1.2.0":{"name":"@rexfng/tfa","version":"1.2.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-DoFYAxh071pwccLFHXLgdZIQBPRkoawTqtp5zZqazmEwrRIql+aLWlmnkH/2Y7MQTFQFBWkuoSl7O+QZ+NkA1A==","shasum":"8f76d520ff3246ace52dccc70430c2262912c854","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.2.0.tgz","fileCount":3,"unpackedSize":3455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL41dCRA9TVsSAnZWagAAbccP/1MyKGlKzEp5rkWkFIf1\nHBsjtEgd1xXorwwwt0nu+/OawVyGmnnafXFCbIgUHvJlKII33oaVlgsGOj1B\n5QvOoIN02OUqsFDeTQXQA+Y6N38RYI5pqdDyMfGEPjUJ5fWIYM5EBc3a0ixn\n8sNDBATzM0bXUOxAQKQsWW26p2jn6w9fw+gt/2/NCDj0pDM2wLKb60hUiM1Z\nhDeGzQG6SEl4TEiZGimpid76RT7lPaocdgAdlarZ0DZla258FuiU30IUDRus\ndiKkYT/ddaMZNWYYm6GUv4yp1iPn2TrSChHbKlTxu3jLDbUfRIX+lkPaeuhj\nldBzXdysDPUpNpDfDBVIS18qgRiSCnsiMQXXnUnW3jYocdEUOofIDYUpQzU7\n1p+J3rC6cgtT4lZgbhjChK+dDo+7AG8zV4JI2VNnbYpizAbsjbeq4nxcVe0M\nwvNzp4Mmesi0XsazqDpMrTWYKqTLv06+1FySAWTTzRNReKSk0RTRyS9SZYgk\nN5NaWksaUZXp0Dn8fO/2ydGDvodvS5RzOPCpYl20Hqgi7FgC6fg1JPu+FVe0\nH5Z2tdyWMAPjzS53+BetQFGPhbjz/+20JxTkZNo73FPOUH7NndYqbvHAVA+J\n93wL+9KsBfnYYz9CfJlRmHVEtY7QOpaLmmfNgjT9kbsBrXIJx2XjDfnemVB/\nTQvR\r\n=8zlE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+E3V3+5eG7iXpfCPPBsJkwGroKU8dg7viD2JulSP68QIgQi+Skz7hromFvwnknTpdcgg9jKG5CyJKJGDWXH/iPp0="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.2.0_1546620252450_0.5986940197013129"},"_hasShrinkwrap":false},"1.3.0":{"name":"@rexfng/tfa","version":"1.3.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"otpauth":"^3.2.2"},"_id":"@rexfng/tfa@1.3.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-jY6K3Eitl+Kllr8nNHiKk/O8QuWpPy7AwlTEzt5+D7z01wKUjbK8j2oBNFODoUvPy61huUSbDkzLDS3cuR34Gw==","shasum":"dc608e615553caf6977d08f9382a9338b04f141c","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-1.3.0.tgz","fileCount":3,"unpackedSize":3543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL8LeCRA9TVsSAnZWagAAVf0P/ibfo5zqJbg6EaeUmtgl\nhr+s0tw2KpsKTqkwnsoQCECob/yyJi0pA3lCqRFCYoxMrwgMrhT2M5UopF67\nff8/goIMpAGwZRHaeO/KwmLaBeO4XBfYvgH/4R5AkfAdtZzbyx/o67IOlOJb\na0RQSk74faQpggsM2lNP+vw1WNjfgriz0kF9FR3j26atPE5Irnb/hrCiRfP+\nsZNPYggJQJ9gGUaRmpQuCbiHF81t1dRigatE+wpejGwiPRUQC0OWyDWxVD0r\nB24C+DgdAhiQMGpvfWotBCax6nIUKabtvPXfNZFDLa54kEMQICbBWJL4xpNO\nALP79p2YWESjoh2xprkZRkC61SbiuKbbXfQNMp0WHlKgQp78JdrYiDVQQM1U\n6/bXeuk8DlVputcl6mZ7nxob2YfIDrAnEEBXhd99JtT95p4MswMMRoFK23DQ\n9QbJ0FoXwIKUqRnt4sqa5i6ybO6z1PVfZIy358pqf5GKsVT9zHctLyS8uJR4\n/9ybmQcoXxm8NDyfIud/MaSTUNaqD6YPLBViRct/ovfcEWxrZlU7xkZmHtlA\nkW+GQvXxLWkQM9ge2xlE3xQv29TCokcRK7pF4iExa7gr8jxX1je2lMl3Fr9A\nyshqXVfEJn959KfbIe8TS0H2H0fEDsyPoHaY4itZVB15JtR9B5E2Hb/CDo3B\nOTHT\r\n=+dvk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaYya1bytcMKPIbNXErrQi0zrxJvGk1eEMheQtYN6wfQIge44uCwEuYHQ/o9kMSdd7OwwD5gR2y0XIup/EAJbKcxs="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_1.3.0_1546633950100_0.5261891768323823"},"_hasShrinkwrap":false},"2.0.0":{"name":"@rexfng/tfa","version":"2.0.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-9+OQTa2Ima2qX7rLrkUygJsbXmFRS7f+chyfySd0dbRjrpwlWRdGHdpoRApUZ7fxSlx8gXK167GmpKwEFFdBiA==","shasum":"981051396ddc0734d0103b2495a8905b7c88345f","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.0.0.tgz","fileCount":15,"unpackedSize":15221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPJxICRA9TVsSAnZWagAA7tIQAInKBJZb5AlQwcA7fZ8L\nVz5K1VoaI6kyx9HZIDLfomjqt60+/4fApbfe6kIJEvWavMdR1Na/fUiyXBEB\nGVCgXxQlj7UF8HNm4H+hK4uAKLVPLRTmOM80YQ/58dd9k975Z4vc4onNWd78\nEMQ4M+yPToxkHQH52q0WCSjAu7ifr+tw5cXbljSXeCVyKZWyP5ob0rAbydgp\nfVwIB8yy/SbvnKR82XmFViS+0lEKrcY7txp3WmQZVELiux6KTMtEDlOisT0v\nQ0MXMUR6SWCiZCRzfjbszWC2EcuV09r6K7jh25Sd/ka2MPiaQPenSw/sPR4Z\nMjnHqz0mcgQLTwDINxaAl2/lHYAYW+l7rwDkbxzgzCuUOa/rPDKZb+f4gY9a\nwXTmosa1pw4ogjjIPfhzVo9a3jpBajb+Gz9UJB0ryanq4W+NKA8OuS3+zvzl\nMJ+zc09Tq/Mo4YMN/9OKf8Wk0pLs0wLGJXiQ+XMMb+qxelIJuPk+XuVhu5PW\nLUobw4LwZM/zeuOLBnXlLLzBys3irto63c3mK9NkFrvI3L7fQLFkEM8PaVxS\nTcs/wdtbGzyp9dEYPbprqfjA5S74ALn/9EcF8rBDSXv4K+cpMa31SgqCRGig\nbFEJ9ZWlnoYEaE32zi7+0J+6UZipDZ/zS7jtJ/X9/ByFEmRp59kL23oWdv03\nxD1f\r\n=gLto\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4s3XEuL/3IBLkHqRaF+rgWBJErxL1BMGcjaAMCIPJzwIhAPAA+7Pu+C96QBkSqTXDahIxcOKhe3f9Qce1RIwtZBQV"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.0.0_1547476040071_0.31115240279898604"},"_hasShrinkwrap":false},"2.0.2":{"name":"@rexfng/tfa","version":"2.0.2","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-v3Ki4E3d8I8Kn2kLpAPUGIoxM4yBfUVTRwVwp/asgKuxlXZC1ZD2OtqtQWhF732Sa9+ZTdQ4rhqs2D7Xcvbzvw==","shasum":"804ccc919693acdc75b349f46b2385252e6dc5c2","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.0.2.tgz","fileCount":15,"unpackedSize":15158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQmnkCRA9TVsSAnZWagAAvrQP/0PncjvOv7yLqQP2m2HL\n7hfLV8RjnO2MUp6n/rkMqpYGX9uxzkA0+rQTj1Uo9z6u1A0Qzy+BFWGFrmNo\n5sBxuVycWzYXHvWX7XuKoUPoOYJVq6l6jEvpEZda2Dj2u0RymyWND/wkTn2u\nyRiyb6UFymTg+tz3GNLi1HKDndaCl+SA/KMVSZZh0wvsY4+mxIVCe+/WXehy\nGfUHr1D+dPCLfYg80KjTgRRCnD79HXD5dYbniHEvnA1u8R1JEsbAl1DlIW+H\nuudlNefZXVP5RJ4CmjyHC4cIl1fCv/N9sIGGakTQNxLUEhZpDcy+3N2yytIZ\n3KJbixuJHpE+YB+4KYdiDwBiwAYjb65ia6+o3v16HqIyiUSWsmhuJCX0fomh\nNvg6RTeXyXA5zZw2+jrJx/mShvdWFyu9WhW117TgaudBtT/PSJU1xvLwJwFX\noIT1TnDaePWT3NAm4Qy2qC0P0eF3eJEfPTxf7LVB1tVQ6b9Y9MSjAndS/iaj\nT77aSiWSGrnox5rFARkeWf4aE5oHuN6c3DlaAnLgs0+7MhHNnpA3O/SsVKrO\nZpMxFsd/4dYNkKNQws0F+pYe5W+0OAWsNf1M/porSbWZs5RIB86imhB2qDlQ\nCc/D1eKtyh+KTVDN1TJ/8f4/vIK4bXwMzkLnV4U6TA95aaAUmqDEOtL6m/UP\nZnmS\r\n=8Gdb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBe3fNmSEmBJGlyHERN1zps/hW9OiG+wnARZk1i4bT5kAiBLhRdN0hiV0fsO9Dxnn8p/QikYTOXe7b+E6YBDzKKhhg=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.0.2_1547856355651_0.4305554516291632"},"_hasShrinkwrap":false},"2.1.0":{"name":"@rexfng/tfa","version":"2.1.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-0jvub+J4iSzi0G1bn18fIaM4Sr6L9kk32dWIn64aNj4zQKU+Gpq2xp+jIe9yK0E0SHcBXFN+rHuc7Fs0Y39qfQ==","shasum":"f40074e831ceb44c16d3be6914a8f35ccea85084","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.1.0.tgz","fileCount":15,"unpackedSize":15203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRlNICRA9TVsSAnZWagAA+AUP/29bJ2K06xLSOdrxQSLY\nXVoEygUF/++PsvnXhXP0cB8/rvCdgCPqBlsjxBUR1So9McXr7o75+Yu+t2iC\n2qrNvLYrtoLMr6aOm6bkqaUvVhYZNSDqUjsvXYOh3AFe0LPdksICgeKa7ww3\nh565C9fVnIOGIs3wGGtvv766K5xapEY7HvAdlPAMC72rBm51RFD/iX/aLet+\niZXtjLKByITYihbhK5mSbKp6E+YVgV0Vzx2HdMwcKONw6zA9AmgscpoCQR4R\ntrgnSW86V1VUgh/cKfW4UyEoQWsLMSgaCzdVZ8ebfTHi39z5anf8pJ2Bd4mt\nQkgHuk+huhyjNUALfqLMqK8c69V2/h/fxb7cce6/Ki3g9SepCMBEk6P7kCvc\nCQqCFn7pC0Yboe0g6TcUas0rLgG5tJDurJysIvtbNf1aAEPgqh+CQU6sVOhW\nRcvwosBGGjLm3Are/Yq+3zxrdQ+Man31XFahR3mkne8za5qh2gAhEZkO9cl8\nn23AOUGas9B0JGdppIKzlP9ixlCfLr1Y9vfZG9lEkcCu3+JCoh8K5bmrdnzs\nD2C9Qx3amtu1AWg9oXHJD/j3XpFdvo+6WzHfnlTCwHVGNe9xaxTwtezxL6ov\nOTqHXJdD6zFn147xpuhKWkcDZt+VtmlmSQOJgx6mo5upfkyde9dZ4qVIDFB3\nfFE8\r\n=viGf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg68saqM84udP90iXzXwxwcfYUpnnpEXkavleNOYAuxQIhAPjcHfnCih2RY3oBCUbz8ODTFs+fVFvSeYrBcvoXDaOz"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.1.0_1548112711660_0.3937542116186563"},"_hasShrinkwrap":false},"2.1.1":{"name":"@rexfng/tfa","version":"2.1.1","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-ss1aeNJOOX1vyEyee275YlZIASM+BiCGnLOIqGhhTLsqPvffM+8ljhsQJB/RBbjOMI+qmGE1ueu/xiywSaOXZg==","shasum":"f0e682b5b00ba5d39c165dcf13c49e60b6f37971","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.1.1.tgz","fileCount":15,"unpackedSize":15574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRlfiCRA9TVsSAnZWagAAUfkP/i6j/M8e8aVkLU83ui+p\neeqCfWGDJmEzdjyBSpL+ZmTBJvdstztkF/Add7zh5Mpxih/vmh27kxgJX9p4\nAPLQMEk/IY54GyzfHPystQe2Wl/BuxarE9FUOH6/HVBbFnR/Z+izG2W/pgzz\n+USheVrksYXJJdkzVIk+1QzxBkGKsfuR6v6WdBf9VxhW8ruC6wlQ1Oy7/aAM\nz6AqKfxomr9NuPuTj1czlaHeqO0SJEBaLHBoR05DiReWQOWxBGrRWkK3QLZg\no77iU5v6JtrQd5nWUGzHt2srl0DAplI+ixAQwZxDHDgYQDkkXamdn4Bf2ZgF\n0en5LpfztBzXIPbeL7zJATdVyCgOKScdluS31vWb7nbnQ/NTLwhMQDme9wgW\nOVxUXQiLaJyu/m8z1GM83Re56vM2VbKPcifn3aCcE1rFgoQ929Ln1FMP3qaq\neCrsmEDQpx6QKNEcR/swTvx9k3Ot5sxff2v51kWgw/9m9MoFytWa28Hd/ANR\ntmfn+8wb46I93/Wv8UDEPV7A/vaoPizaM37h6+g2AFgTw+5190Ev6UOUEyp3\n2QZgGu8OeXEh/oOciG6pnGaQLQWE7RvYvowrhcVkn8vXT1wGlKpPA4hh3vtR\nta9yIsfjUHhECl4YX4N/Ayb7oElEaLHP2KQRW6RjEQ4EaucXttuLS/Rrve8j\nm7bn\r\n=gP7q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWFBY8mVc1jKXpWgnKLq3/kGb/0ZTtUi7m3XWjjKh3tAiEArCBEN8j0jGY5UAii1+kKgTGgkxpPmWbIeqweOy+BS1o="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.1.1_1548113890218_0.16857036641531442"},"_hasShrinkwrap":false},"2.1.2":{"name":"@rexfng/tfa","version":"2.1.2","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.1.2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-gjaEdbKU8ssIiWnYBmwUTjbL+CLUU5auGtObB+O2PFQq8Yw9mTQCYmRjVpI4Bw3P8wKNijCj+9sjnNQkALKk6g==","shasum":"3ad269482097a0a8ee18f5cfacad49ff17eee2bd","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.1.2.tgz","fileCount":15,"unpackedSize":15211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRlrACRA9TVsSAnZWagAAXmUP/R3HpXLJbOHdGOhFLplB\nz0AcQWzTOH6146/T4U+sXUPUYuyp3ZrL1stFEWA7xF3NXpQN8At1tYRL5LPU\n+IPusRzrCiMWBUXbW0ZR0/rBQkSh9NcNnjxH77Gd43PCFbETYkzNNG3L3sWy\n58FLybDQZShR7uOHxznidgyYyJyQN/9DF5kBoOcIvFolriH+wdvXULbzc2uH\nXiaWxaxhHm6UzdpE54QkrsNSy+8/ndNWYAuOE8UVbodRZA1UdVTxXDz8dwfp\nJg93VSa6q0RanXO9DOrhrmUKHjt2pOFRxriV/VmGzfJcAolmw7x5+Tk6IKZm\nffVQMWmPhmMsBP+Axv7OF4E9jrZnk3basleJMarpd7xnyK9HqlBalwWmT64G\nfebHpplrl1Pb36tp5o57uqGF1b87ZEGyu5YGyUJb5AfgUuAtD3/3GoS774/B\n27gxBLaEqhl6g2aFV3d9XbmakUVOF6JMGNA3hrFFAXv1ItoBQ/gN9GKQyYP8\nt0AnGcvuann+D5CqnjfmAqkMTPfTTLkT2PcaedavXGLs6HmlkRYyBTDEwM/2\nS9u2AHjDVpzIFFxVq1jRWQig8+siWf3QRxTbX6h2Y62ymVbEiKlABoZBt6wG\nDVkiZMEyO7J+qgdIrgYTumKQFfFOHOFw7lCojfZkvZ7ZMfHV1E+Ks4gKpcsf\n5gVE\r\n=fxxg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG32yumQWRc/7wFIlp9bgLx+9iuafjS4utBGIyaklWkWAiAkZEmP3psxbUvB4Hd++JR3Do+9TkTCYAg/x8fflXPxYQ=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.1.2_1548114624419_0.5374063523125108"},"_hasShrinkwrap":false},"2.1.3":{"name":"@rexfng/tfa","version":"2.1.3","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.1.3","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-zqhjrhPIW0mSydiSuom1ZOiqbga5HUN5Si08IGHltqXjBWj1Dahdba6fOR5j3xNzwToTwPkUO3ZxmSv04faT7w==","shasum":"039324cd95a1ae8d2c6064b1d2f52fdbcfe6bc11","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.1.3.tgz","fileCount":15,"unpackedSize":15219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRlznCRA9TVsSAnZWagAAsysQAJAb5wg0D8/2wXydfrjp\nylnED8LesEojvrC7J7k5FWRB+BcZvnmSZJczYLx20+nlFT8o+QF4SPxiV/T1\nOT3RADXcAEQwtPfnK1Ru+EYvTaIMTZgAmjRdVRsrORRS0Mu6xwpRe+JBfFjm\nAZ7c/DYQdC0+ND+A97ijepftKC04PdGT5gETvIZgdGmivfld3PCj2VTMy5ZQ\noP/Z27BSdNv2f592j/dNDeEegoU5nF5WNJaI9zrJIrG851Lknowk1klpCR52\nuCfeLVvhAa7ooqI6Y4R0p6MAarYn/gd+tM4gPYgjpGEUYY6vgFLZKVvnQWvt\nfKKpOSGMJfezbTFyHSR5yUS+0EwXTk1H/usgI1wPGFVLWmvRUzpIvQe+8lz9\nycy68uuKnKavXTkagC+qVgxArhaE7FAAR6EBA6MtZALUC/PmjcUyvb3H6Q9t\nbbxf45d+I1Gikcq3v243iOfMP79gpW7ofFtdzZS7r78qL6zYsSgsrB6ce6CS\nTCkBx+N4NwZJGCQGY+FIFwpUjba3knGuE41L0FrAN0gPxibR03HE6mcBQuVj\nItyGd7EL3ZFL+zy+AUlY9FkFtVp57oXBcSa0thWkKXkGt1hozhJsQhnXfVat\nVe4XfweppCFHwC1ff+YGQn/dk2pvqmidtLNfJrug+7krcwlp4exr9YwdSSXY\n8bgs\r\n=Mpbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7+fFta8DiOxR9zlK7KcJrF4rhgsQaYKEFW9Ocx0XMdAIgIztVncgqmu/Kc+Xb613i+dDPMt0zPMKdB+w9CqxxIoo="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.1.3_1548115174634_0.7026048679863888"},"_hasShrinkwrap":false},"2.2.0":{"name":"@rexfng/tfa","version":"2.2.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"dist":{"integrity":"sha512-lQyYVptJZNfeMxOSR5EJsGJDd43qpUR8xQX18Lw9ds3NkhQ3/KhXLMnFn+Qyexjnndr8wJ3si3S73w61T/quZQ==","shasum":"0ae621490d04d25ddad35267b35a9213d7f288c2","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.2.0.tgz","fileCount":15,"unpackedSize":15412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSR26CRA9TVsSAnZWagAAJR8P+gOF1fpj16zRh0wmTOfI\ni+u0nC6DeNyx2oF/5P0EqL60DT0F3rrxhIYaVfMEa9+gEP12TLva1KXLOWPG\nbJHQXyZg9DL4/Qi0xmYK+MniVpVgEADhUam9oZ/i8LesJ+vaYEVVIPGRrxcT\nxRjAYxUssUz1hEP1z40wJC2un5tRl5ibod8WzjYuM947L6SaPQr6SA/TdmfE\nk+iWhoRaEeIr/I5WBU9c36IUWeneQJlCztFKWxCs0kJAygzvJXslR3q38rdE\nrdyyhh3TEL4kx2lNZaYUDs48o5RhPVsG4U0J0yyLWe125s60e11jTyj9fsMR\ncHGXxBNRTQi4CvTv24ajdeA5ra8bwmj+418jFel8f510Se7r8s/N6aB+TwX/\nFZgECrCTU0xpq4y/Vx8gL87kj9rUuUBZWoRlNapWD0vQHVqUtbjshPHpdCPq\nzRf+dNw/cVfd5JmdmtE8jxwJQELDhXtJYD5yrm9eKvaD0JwXvyeOFbRg0oGE\nRpVE8e1UYV2g1kilTnsAPzTZXsNTZLpvRRaNsq7ekBMZZsBfZjKIcOzaYGd/\nHDAry1aeyYZQccn76HQ/4pSsHt6MNreMPwNITasTNJImkbz3yjI4gYdJLEZj\neSn/Rg348bM4PPYfxs1yuDDZTmHDd8c+wOn7D3fWlp6u47nKarmHjEX7874D\nKPga\r\n=5ofF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvQWnPa01HGW7toFxHNvCl3pyVY9hXxz9tDWcKI82nmgIgHoIcNTUGPxfVWncB8hq59uPE8/VpMuM4dNlN/Qsz6aE="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.2.0_1548295609429_0.6900074855740463"},"_hasShrinkwrap":false},"2.3.0":{"name":"@rexfng/tfa","version":"2.3.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.3.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-JiXTO4J3tLzRpDpJzqpa19X2ORdSmWOMxllfb9uvV9KuOPeLRVNTxh0aB4d7FwCzn5zjWk29QmjygsZqoxgEHw==","shasum":"71b2e51f2290c621f6c4895488678ac1b3ee2222","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.3.0.tgz","fileCount":16,"unpackedSize":16441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKQR3CRA9TVsSAnZWagAAw1EP/3KWthjrj12qvge2kA7A\n84bFyaFcxkhKwxGKpYOskPOvJ7G1CV0HqCUTlkicJfmeIUcOKcatn8VEvFld\ncNp62Cb1132iwQY3LWowy0ge1FofPtVtIE/KMeOklkNXzl4ZT4Aq/090pYMf\n09Af7wQHKPXVcnHTXfLQGMyB/qAWOmbxl5eYkQo0MOsE1LjcgRKkLtYa57rb\nQn55KNUyB5WcheLKMF6eqP+dNnKhdSAsHZu9uY1C1117UlVYONppr5VPoC5I\nuZ66jAnq7gAe+oiqcd0W9XREJUl3ruIN8Iqhh/dIDcus5jUnXZrmUclXipcZ\ndEiOCEerwOWJuWrBwKp1mf7nqtgznXVGxFtDQPMTch5RbghDH05Kb5IzytJ9\nOI8Uya9hYAk9/LZC2jRWQNEqADIK1kgoJvAl6349+q2iBd0LRnH2dJISOHVD\nAHup982+KaK5NSzBsMax3t1VdECmRjixNaU0VrhoTnFNRkZmiWS2ntT/VYC6\nmhDUaZ8jj8iSpf9gD8EUjahyJJmC1iy7wFsrQEHcCwlypymx76KZH5PKV7Kf\nd1pFqRleJjtC1+tY3bYdv5UW5+CU+VtrcIiaPRDDw1rxFiJMM1xOAlRVT1p+\nNUK5l4tkstHiNMcRtkoKaZ9uXVrlp6im7z0RIWTpjpFkRHRITgpVhlDM1lJZ\nPjF8\r\n=EetF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvi6GCEddnH1Ekx/vNOTmZ/8ToH66jIGMKhTN38KTdtAiBAsHgd1wPahJJAIbdRFc+2SHowBZMTeaTyzE8oDQOBdw=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.3.0_1579746422738_0.6446722894438204"},"_hasShrinkwrap":false},"2.4.0":{"name":"@rexfng/tfa","version":"2.4.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.4.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-WCD/SGQifnG0Sa8lmou8edcNKhUeQWL4U30FsW2LJagtZ9xPxYh+N+3Rsi+TMkjybKGLshtNKwp8BhpEInmr9w==","shasum":"3c91ac7142652e034accbbc92a7d3d39e0168473","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.4.0.tgz","fileCount":16,"unpackedSize":16494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKQUECRA9TVsSAnZWagAAicAP/Raa3aCRFsnJL1hj5DYs\n073UKGiRBxyvMDPq77ojxu0hZqFhH8rhuExMOjmM/gHoWQXmwEjmV4YRMq8j\njSg031recYcvefyyd85MQ43pKDu4NvuNprEAdl2SjJCzMYGNfucbhyosUNFz\nfyNvIcPek9rrlP9qzaK7Xf71OyiZ4v6etc6606ez0f5DJ7morjXyb+vWg3sB\n+6nnCAHsZRSSaxurmVQeCfB8MxQL2WvN0zhlsvgOml9AK02LBjxeoi2twHYE\n1fi3t06qe8+FktX1zuGFsRKfQikJ21TBthBBj2HBRtpsFm4m7z+LZI/ZsT2S\nqe1ZOCwpSs2oEJAs4arU5IWwTK5w69d+JjXi+L3pD4MYA5to4EOlt5n5pga4\nsKM+t6sRE4dhUbyByba8nGlhh6f3xeV6sMhtmoOpPnyuEHtngCyRoK9NBUgS\nt1sf643AW/SC0L7rf4bamv/hKU0QcVPt13IwcDiw4YInJY886Laru+Ekbc1/\nf7LJ2f+32Lzf9aDpTpmp6fHUVgcq6o15qWCBXBvUDljw6d+2nS/g8GJSi2RX\n+A4Bnbs6hsiEGAvhKfEL3q1XZvL7QMcov7cj9Ndk/l1nJzS5qGdcPjN4XR3M\n6l6yv54tko7eqatqSGlWHAYj2h5DK3ZmFWmvFRt79S+XSgln8dAlaSydJvYP\n/WKj\r\n=7Ce+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDcvVTUVAyktqg9VmxnQqKHByDrrh9tHimDLGaiH3pe9AiEAgEZtWm+xUd5URKKMdXOpwrSofl5MZFRwkms1kt7QYSE="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.4.0_1579746564594_0.09780098521850289"},"_hasShrinkwrap":false},"2.5.0":{"name":"@rexfng/tfa","version":"2.5.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.5.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-qtcTvZr9Ki+Av6+j/xlGV65wUgxrCHtZGfRc0DPaaWrUTypHzdWiy+RKz8YuTN1Wwxi6kvmRQO7fqDY5UGSgjA==","shasum":"c984a7d02916782e8f6a6973cfe8377d948e8c3b","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.5.0.tgz","fileCount":16,"unpackedSize":16494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKQXHCRA9TVsSAnZWagAAklgP/3j6xO1Zdu97A9i6+9Y8\nmIGMc7AcZqy7Rcr1uH+ZlN0T2VxAog0WrDGego4bz6bssHkfi+iTVhp5HA+r\n1zjljlu7kYeHLFj7pxO1nx+dvAWOCEV8tJlxpPppxnHJpaSoRyCtGWcIc6Xs\njnvLiypdRL3fo2EviCzlPhix9s0MfYqtAuoxcPm+soZ8PRjfBqo9Y+Y/5qNm\nglCZPDoX5wedAUzp7Qre9nrVz5i48tLC7vo6bQxKjsWNGPvkMhifif1Ba51/\njuXKziWJno4hHtEnCl/hGgjzEzV4O2fV8kqu1elP+x+zY5YQbGPmlCrZIFUI\nDbx8pfk4Q1Mo18hjT+DnAq6U1n9NJ/uSZyBZxEkn2LRJX6pDj/dapmBHYJmX\ntbjmd8eY2p6+pdQOcjxKGSfu7IDUVdDLDGHivo9J1WeJx3/a6Fr2srxpAlvg\nKS1FfW/YC/DP4V+gtmJe21sgQwtFVfBT73nQqE/BTkKwHo8Cu8pZ+B1C321p\n4xBcP/dfJX8sEDFhLAhAORH2kfN132P4ocbzlWtqwRhF5PKLd9ZTcLNw9ucM\nkQNvt/UBpG8mZKtLq/KqQQpxMG2r5JNOcacmN9x1hRb8SGU/zjl9id9vISCY\n3korJzW++m/Iso88F+IDOBoYbKEESP/kVX0nXLcpxBl12ty9R1sxGz4BX6VF\n/iTZ\r\n=gI2L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYUtLP0KHzgi5KQR7ZS9dCxo1MaHqQO0haxnFv5AF4lAiAw9UJJGr7vjOwoZe6w+k4csJBVoJn9S+nON6KUiCCBIg=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.5.0_1579746758925_0.8767597541884649"},"_hasShrinkwrap":false},"2.6.0":{"name":"@rexfng/tfa","version":"2.6.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.6.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-0qnKqXVuS3nU79tmJp4q4JMpdlnTzPUfDK3V0ADd81NmcNHQAH4j0Gkovl89Xdw7I1q8O9/XuHYObQznBTLToQ==","shasum":"9270d17491663bba1ce6da74324d7d5c3889b502","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.6.0.tgz","fileCount":16,"unpackedSize":16555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKQYNCRA9TVsSAnZWagAAFogQAIRb6ZzkAXvtbEyT3Kcy\nV+LFfOH0rjl8VpkxeR49EY5tcWDkF4o/+4EVYiFWKhFhVzoyOn3m3RmsacGP\nsoXVsc7Wa9cVNFk0ZGwlTqvIxxEsDvUIgThdp1ZYSU58afKGKl2s5pVupa03\nKVcO3du38/vo0P/n7Izm9rlD9hQ1CPQbopl/9WCGXu8kGynA1fK+ChevZf7J\nAyxifuAXH9sDvacQxYKKRSzEpqFDCuI9vSny6/YEHtYib6LA63WzR+Xv2ruQ\ntYw8xhKXyM917Hg37VyNghT/G6EEF7xO8YjvwwsVCxbBgjZ93hw9NBVxIAh2\n85Hnd7SF+JyB1eJPlXC8YQoCfIU6xJ5qusXaELEZ3239bigqEDKrYRyy+p29\nuZ7q/z8B9l0cr5LN0Tz/COC+9gpHq/9bz9OAeUvcucK7oQU+MsEfd3al0yoG\n85gh0uI3tLeWhfxpGJlKtiLfNEHojl5ssOq65DMcg52boQJeYH7U5j7Irc/T\nZCAA1YLrrN7mvg/sbQkyzcqJceYXtxHj5XR5NQiMXfaWMJGu+DmtKqraL7wO\nWKcT240Q21IE7Us0yN2DKMW/FGf7VhAtozMr41rZimtGXR5fBkNK51vyIhlN\nDdYjaVePUKI3AVX7wywbxePKIEmQxhycJfiSDb2JJ0Q0phAiwSrPTfqWB+UY\nCIWE\r\n=ANh1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjMJ8xA6uZqED4qG8FO3NTM1Fz0FdNhubyYyhY+wHYKgIgEF4t32YvHLzfUIWsR2aIzDzswDbV4Y28691d99/hd/o="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.6.0_1579746829245_0.03563191772336616"},"_hasShrinkwrap":false},"2.7.0":{"name":"@rexfng/tfa","version":"2.7.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.0.3","dotenv":"^6.2.0","express":"^4.16.4","generate-password":"^1.4.1","is-html":"^1.1.0","jsonwebtoken":"^8.4.0","mustache":"^3.0.1","number-words":"^1.1.0","otpauth":"^3.2.2","request":"^2.88.0","request-promise":"^4.2.2"},"_id":"@rexfng/tfa@2.7.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Jc3qr2upUwI261x+3ArTaqZHOmedpU5ywz+39bHS8EzA8BI5KuhEd6yCUEj7dliB+4Xc1ein3llL1Bqccu31Qg==","shasum":"ec85b3f0663860f8267e281f6e90118b78e5b3d9","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.7.0.tgz","fileCount":16,"unpackedSize":16600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKQvOCRA9TVsSAnZWagAA1JwQAIfRQxoJtpkWJxRq9j19\njDnd8snqriNhgZvm+w7PR26zNrsB3CSs6Hcn+61m+6cwT/svjVMY/T0X0H8k\nEnld4Cft2gFfhlPXgsBo+RPPZsSzPZg8BOcAnpMyFMD3RzoedRm0abD86R10\n87wdGcw9Yo7ACQ/cI1HomMJXqIQ4NrP0/5so52SLAiQBA9dm4lKUjIjMv+J6\n5yjCrDcuoMtRKK5IYJnbPsvESUb6BRb0eLwvZ/g3IxqYMsaW7w4gfcyjEDpA\nlhpe9sN5Jwm0rNWQMK/OtJqKp07ZLaIub4AQV0ehAP83FPmCIMaJPR6dk1sF\ndbXBXKgmLHu3bUorcHtq9ny2EKlWvVLPQ6+3SFQ1kJpQWiXdTzXc4JjjewCZ\nW0VTjdEBXKL7AB+qDPtlniPppOjtqVAdD4bRcITjn6SphJ01qrGV83Lki5W5\nUxi3cZYOEZIND1PO7MoW/1TuEOlHtpw4RynUSdPfbgtXIOggrFS6N7b3HuqR\nLjuKOmJgqbiesaugc0gqWJykAoGEkWm2Y+/jE+WbDHfI3oDYNJQtAYYth9gw\nwGQ9oHJYGpqmeK3wGhh93e+FdwE0f/hy8q4doWoM3KUFY6R4VzGZ0/zmxudu\ncbefrMZ2st/M83PjaifCTKEqsRa51NXZJedxYA0jks8oZqHn9kTfBC1zNyE0\noJen\r\n=4PCz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEq9OnXBhIM4pfC1piQMzZDA93siHbVHtutbGtju2NuPAiEAt6HCwqbEQsBIXqMrusDoW4l/rmOgwdvRzbupeaMc8hI="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.7.0_1579748301808_0.9445490593335191"},"_hasShrinkwrap":false},"2.8.0":{"name":"@rexfng/tfa","version":"2.8.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.11.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.8.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-llbh36v7prCkZgmW1U7tbO/VT+I3wn03zQPm4rv5npNirP0NPw5gNzXiifHBSimV2rL75lLYxE75zPYGaIjy6Q==","shasum":"2a545fe5924d6dc3e7d0cee90711ac990b053e94","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.8.0.tgz","fileCount":16,"unpackedSize":16721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKSvOCRA9TVsSAnZWagAAjH0P/0vUSxfTOgGhkiH+L+kq\nHQ0x7jxSQheQMbFyJvDYPIvtzMVdc957qzKmiMrsbXISec06Bq++5eNzKqRL\n2f5W12mmAGWHmrZC6wrJSMNFG2lC0m8tK3HTvN8Llksrd/e1jsPDhYrw85Pz\nEPdECNDOy8zL/tN14sjngsKhszMdnuHGhYIw6CVUrnlcsxln1pEOrMIqWypF\ndo65IpvwFi1tioKfnWeoIsQd1+QxXGzaju4d9SHO8SkN0x/gKLQsnHdJXutE\nrf6NsUNesFyXlWRmxoyj0mIvqtioTXBKHqK5/Sb6UwgudJ02WX+7D7gbuCp+\nZOPWT4YFykKoRZUE+AjDA9Yjxpbt5s44IAPVqkqosjem34fcux7BMrdGZ1z1\nscM4lJw2T8Pa7ekBaWEy+5Onq6S3BQeQM2HoS4yt67BOSPkwVPyFltYjEtvU\nX7PA0yjNQglfjvrA40nHm54XWntW5cKDR3m9GqOxDhMHw7cBWTcIz/wO0Xcq\nEKwrX9zr9SPMnHvhHXAUmIBSbTF293E0BKHe+MkbN/Pjz8YjymmNMOr7n31P\nHO1peGg4K57re536Qo29mym6cEsH0GHOfxILLjvW3tIpxsKFxwWOrU1QqgbS\nx1vP9x3KMYkQ1YRNuvev3QVQIQhAN1Nfwth2HIeuUb7fl4lud1UeDh4C2a4k\nGT5n\r\n=duaC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOgpiTP3hgOSX87mY80H5CG+/bgHvQRlKsrHDgUuNhNwIhAJsNz6pachy8q5Onn7c2dRgv0v45ZaoTnNG5C0liAiFq"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.8.0_1579756494107_0.8123846128485457"},"_hasShrinkwrap":false},"2.9.0":{"name":"@rexfng/tfa","version":"2.9.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.9.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Jiep0PStp3F36NdMaAuCs5zq+K9UnlvUboI42ChipsRzNguCFsVR80ZVabbv82XrwHSjwQ1lpbOxdV/cjK0obA==","shasum":"1bada3ec28c5a55c6bf5a8ec9f55af2ad19fcaf5","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.9.0.tgz","fileCount":16,"unpackedSize":16624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKS5JCRA9TVsSAnZWagAA38YQAJ/Ahe68Oyyjj2HVBpVj\n0JUA3DDhKVjUgoVzkQs+ucvSy697OKIDoNDtrx4qJb8GppEWKRO7CIgT1JMG\nZBEQIZKKFfkZHTNf8ICTsWq1WNoGgBsQVNaSQC4sz6J3bb8V95EFZ7vBcIXo\nrbsbl9EjcTFSZ+IEhG1kEwka28CaklrqobmJaQzCyzca+2bhFHqmRMEiAXdU\n4CUJZMpf4C+Ili1tAF9RMHGs1FHaaySGAsVBcQhAUFuMvKi5EYMBbU7zw9U1\nlngyRY6LP/2bsS76ooe0IdKIs0jPqGP01C6kKyKQrcQfZjYzsKBKo6ia+6FV\n2XDadtL9bDccCuBnSQ7EtuIeGS1brumy3gkDYM01zEoeYkfZlapoQtmaAn1z\n8qNn84y8HXuXUD+csYYGLuvNWAgYnc35dQ0PfSmkoTiGgC1bSteWD8Tbg1PR\nlMqEDteE+wMxisn6bYSLGp7dqcR2tfQv4jiNZdI9xQ2ZnFPZrv3tsDfOjfYn\nnNNYVjUR+RzzQkEv/X8fe8z5ldmuWXzjx7cPiCdcJKFSHqFkF74ESdF66kH+\nO6yvKmBu4kULSnHuJIIVJGix/JJAlh/YP61EiIix9DYtZsJz1u9z6gWoM6NJ\ndiF8eNTePoq8Zj1wuZQAHm6IlNYQjI2kQAagSVaEiYCLxl5L92szoji7Zqsu\ncKMd\r\n=ecb6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCytNMrqLp9UnakbsnNJG5usOh34pYudlDb5gAmi8FvXwIhANYUBkQUxSa5SR7a3SCFrRLYpTK4XJ1x85y/RqJQIrSG"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.9.0_1579757128570_0.03062523710934828"},"_hasShrinkwrap":false},"2.10.0":{"name":"@rexfng/tfa","version":"2.10.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.10.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-wxrCo3hYhAG1nCX9tpzpdXnTekpmmdDUy4w5MfOF/j7gw0WOhm7F8wEqVjbBDFAwZ1K44xF+NQiOJFTls5LO9g==","shasum":"4432cf8ce2a6b96d64d48aa5622e2c63153b06e7","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.10.0.tgz","fileCount":16,"unpackedSize":16647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKcUiCRA9TVsSAnZWagAAhb8QAIXiWX5XfHQ4QAqsIgTU\nLTQWOhfICPO6PX/4DvWpzi+VeSb5xwf8pUyIwTzlZ51i8HgYmzs2J1uCDEH8\n0EmdBhiuBaiDeCzwAd+4CRrr0Y2Cesn6TS/yGwVSiGNG9nbscogbSU15fh8Q\nK35gcG9cUDODRJgU9YzL8GsjnPJYAqcf/6c6GAAeET/g0gA0AnDUjyZUcsvf\nw8cav1S9BU+RGdeWz4lPquE8X+kZBhd/7MsNTwJJoN29iT9I5uW6VvRyQCmG\nFjUSynKXgXqDo10QSzXaaJlOL1GbSFm+UnVOr/lIdEyG9SX2tBakPsOF1b6F\n/DSfg2Zd3w9Cn3VFpDEiictdSaGyriGA0yqqzMyzYR+OnCX34K3q+WPtRVQA\nPfuBAhnGKNoGR5/grWt7BVG+vjAOJGlLOKJIB98wOwhG0Hl9clG3fKhmYLzR\nOhMQGDoZ1L+6H9Na229JzompP7FdDjKXZJ6ZRKaqboN2i1lbVjRcZLwE6GRC\nLJdPbsjGFCw58LAmxJilCdjCLn3TX+XsGJLlKV2l+ysbjHhtWdZUZLOGHOmw\n9iLDXCfowj5XBJ1WxTvUs0eJTbQZ+1sOmxlg/l0lE8EZY5k1MAFQTP1HTuMg\n22tbiwdlCwBFUA5PDpfh2HPKHHoQoGQAHxWFqdSuXujT/yPinysbIZ3bN3wx\n/ywr\r\n=xImZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLHkDnqE6Vgczx0Z14ETfUotWQCEo5Nmzr7qII6fVnkAiEA9bCgIuuSQIEeLyHIsK2W4NyoApTWsr9gwVB07DTEIxg="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.10.0_1579795746284_0.6785391574289819"},"_hasShrinkwrap":false},"2.11.0":{"name":"@rexfng/tfa","version":"2.11.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.11.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-TU1HZWAG37DB4EagdwnCNFD9ldKdNDr0q7q9p5ZdBNoV5qTfuUx2mQgi/7Sb5l7xXYBRgz7Mb3kAuTquTrPi6A==","shasum":"34e482788db6d6b9b9863fe39696641eb0d7d91d","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.11.0.tgz","fileCount":16,"unpackedSize":16653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKceVCRA9TVsSAnZWagAAktIP/0Ni3TYGH8B6/s78I2el\nMHuBgGVh6clfO9/7kkkT4ZUxMq0z8Zg8LAn9GoQe188n4jALhfbxr395BCrO\ntuE3LFIB3jyjL8ErP0DdulL0pejFhEKiGNCD0hkMP8aHMmzO11XmXKQpCpKi\nPXSFeQZEPvbDIHIJu6+gN6ebKD2lNc2iFbT9Wj1wKLO4LfWadqRjYnucgEnu\nYk8NTbWL0LqaEflaMBrX24sQFAq8U9KEZ4gANVdJz0w38JB8leKJrZNSz9Ma\nBbIMMDHgTIlDjWQhTtqDmMJbeXMhnkxxx0a/TXAl1GlglL9N6xDLIe586bHl\nanN/9KsjqBrydvBakhIACw2yljpNelGktKkbjV6wJzGo6hSRofAmzk+vVfKF\ntEYV9bfkThhh9cLeSQ6exqFycrIt7dO/iECMYZy3qzeU6XHvKo3X2QSNPntw\nyt0QfdxFxtoLW6qtBQrTxIH/opcHAyA3R8SAHpAshKZOzxh5wFk11Z0hLtwm\nbwoIz7Q6o8Gyx7RxXJHRrxJrfFy6XhEs2ibBK/m78MGNqDswD/ptjkZHE5ka\n6TgQkfO6GDvSUCp4c4AQ3V4zQdTAYOYAkbrjZs/No9Dop37ksYDsb7/m0GWC\nL7EsHMP0EVNkxmbIh7vA0PdqfMD1xcUUi/v0M9lRlsnhsQtrkrDrXeDWOx3O\nq1Ew\r\n=/Bzm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/wgDn/UUl1W/6MCgsNPagGxM3r4f4oSrX2DejK3BFSAiBchkuikSmmxNg0Nsm0XGpxX6Y2hZ2v1os24aH3j2kHMA=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.11.0_1579796373094_0.8141479263282771"},"_hasShrinkwrap":false},"2.12.0":{"name":"@rexfng/tfa","version":"2.12.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.12.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-chBBmwbFYevIGEddUlZQSJusaf4M2msjuPBUuTkgsljEnydpMjSlrGK1gMSy2Z8LIp2PqfTrzQWJlywm1wR3GQ==","shasum":"d4b94b210fd8c6ad51baa80b0e74a5e42f8710a2","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.12.0.tgz","fileCount":17,"unpackedSize":17588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKhz4CRA9TVsSAnZWagAAlq4QAJUGtZyIRNv1c1o+Rc1E\ncl/ajUyGsy0K2SDoAdmyGNVndGXg80gwDkmKE2CyidClla0x53fDU5nQ3Eob\nqwaMx/W9y0OcAiw/VqhbRwsF0F72Jv4zYKyvVPTvcBp6XDM9pM5W/O0nlNKB\n4CUpTRAa9nOZgT5bvW4/yTZPFjE55CZe07vBl2Xs2pU9rXexTvN9j5eTrlsS\nu9sQTiqSWqZFkLm8H3GDZwmBNF/wi7El9sQgbW8xrEn2SnZe9j40L5ByuX9Z\nDMkJn/UxwvDh6tfOmNa4V27DSaMyjlVfEgTA2g5wReYbTCSuv3mcaXqzIqDV\n9fvLfIxnIqEtUKc7FPS74s0BnVpsaM5RzBD7MXsz/BdSzBLKZ36Yd2+2iT2v\njzmiBN6QDjo6Wn9TZHUiw4D8V1Qw1uDOd39Td1Wrp6wU2Prh8rC0oGiUHSoN\npiidxU05ciQz6R5pbYk61oLBB1m2VmF3oLnjI/wq5M58vlizEyouiOL3ND/g\nNnuLKITKTQ0GkmrU9nUgatuqYOxbZ9pnNr7UAuNV5ucIIk647wNDvGrOymS4\n36fGTOyQFnoTr/dUD1DRd6oR5BzUOGV6JqGeRr7fr0q6ono5dr8B0JgckHtr\n/XDxNueO2wSynBorSUaPYRpZytyvko8aTXabnjWyMzn8S8kuLqdmmbA07jsy\nq4k8\r\n=4i38\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHONYhysdcLhiJs4NIj54JP9VGAVJxryhxZQWcB3PE1eAiBkQy8Vn4zAVXjDsSOyVkzatnE/5YNHrFwomaRtua1Zjw=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.12.0_1579818232251_0.11729881125485475"},"_hasShrinkwrap":false},"2.13.0":{"name":"@rexfng/tfa","version":"2.13.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.13.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-0/9/au5cfgqhMN0YYXcJ1/LZJ/G0z8MK/OD+aq+wU5cK9cYO/ADgGn/xcCAVcSnLZR7UeeVht5f2W91xJRcdcg==","shasum":"ed9f2f6f2865db7fa4a9aea3bae3cffbbb426bf3","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.13.0.tgz","fileCount":17,"unpackedSize":17665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKiFPCRA9TVsSAnZWagAAJ5oP/1r76nMV+7da3sQh/Dop\nPeWxuLSeQy6KHzy50nDemOxle/aBsWwg/Nvgdj99e4XZnTfUlbURnZ8YKwBQ\nh92Om7f9Czda+gdbD35u5kb3uMYeK4aJUF95FXAew//0p5JeRexIKfXmzNX0\n85PHjyzExbshRS4GD3JJwkcushm7hrfo3Vz6+FTFGWNT1XaEcydV5ouKr1RU\nnnmaIdK6h+2VyWfNb72ooz3UR4LFCUOfRb53u40dKl4ciVkWiwXT8T9iHiUJ\nrDyVI37KvWkcpNRuBLEP3GS9AOJ8CKmheUGNVukfJPEC65Ef8ijxMqabw6We\nipSg4Yn5kgD5ckfzxc4uMHZNM6Hsa5F5ugn7wv2m6bnb2UpgpNS0Z8OOqNXJ\nKztEo8HBzNEREvYQrt0P8nx25YC76WvEvjSMn54F8EqcJmNO5NyrIyVzPJSC\nvvkz/piJMzzcvp5MYtA06oWgbmFs0SRlJDlVRrkHcJ5jkkMqAYtdos7X9XSx\nDzvxeNfosr8SXgep5IGEGn5LZSY3aHQhHwIrKCHwcvkT+sDpHK9u1iX2zplL\nqZFNnNUb0aVrJU1MUjBMTQFLgJkDfx96lclcj4pVTagED0k5bwiLYYVjG9uq\nKwe6VMD/wGKGEAc/Z9aQEAM2516NUuz9Fkpl7YFIMIvR70xqtJofdiZZvkXV\nHTy+\r\n=msRV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPrxVOG+QfJbauutu+ZmpcMjygwBMhqBxGVe5J3moWHAiBH8ZDfTL0ip6VzNwAVVBTWi4ZMcRonKScVvgAS1QEHhQ=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.13.0_1579819343210_0.9725612325630799"},"_hasShrinkwrap":false},"2.14.0":{"name":"@rexfng/tfa","version":"2.14.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.14.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-MQ1gmwoeJzieUj8MB//28Pw76vGgW+LsBHalDBV6Vs8noVmRWyWctNDbH0gwgRjCKiAhs+OKJgKQk6hS4Ui2Ng==","shasum":"200f5fe0f760203b9e4c225e87caee44d6a58929","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.14.0.tgz","fileCount":17,"unpackedSize":17666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKiJQCRA9TVsSAnZWagAAnIEP+wRY7RESyWsfMZKppwBi\nx2vVugpjCcCAD7P2h3LioMArfPclU5No0tD8opi0XCCRldNkX1maz2UGS/sv\n2Q5AhybZHTZ4w97+VCxJuF+isBaPNfVhXZCySR7hbMNLTkkVrz6UfIvWJvct\nDd8y97gc5sACEN8TaLAYsZq0tfwwo/L75avetbV3CbSthgCGidp8eooItxIk\nfEUewE+lBPcDGX3heaPpwHLS1FKwvBgbJ4rlvOWEdLowlHzMP4OgGuRODIZ3\nTNAbPlWVSEYlQJXeBCN7yzsY65urtvcX6ToxrFetXvD3Erukp20IhiKQc0OU\nhKa5K4zOuomRT+eM+dl+a8hU/qgVyS+Dxwb3arftpBErJMeDRPF3z0OO5rNJ\nusVbdqTBa6uoYE0rX8Rv4nFNLzBqy2xljx2DHq27PuvfMkCAQyKcC02xMWvj\n06Nxgy/ZvNTMFadVGdD1aYmzV008/8FqE/foNUn0taRcUDcrxoC6S3hILUUB\nGLJf6HIhPWqy+8Y0pRd8Fiu4MWxiYVB/tuZSxRSBw4WZ3946Je7tup7bBwQl\njthnon6qAWhPtfibPig9ZXd3sIfAJysX9qhXzqUkFKNlDaeHQtZPvkzMpGAw\nLVOaFKPTIepZgPa1Dr/DEAHH/BF2/3D5EgT28iHfik+W72WKsFw/dLzbniNp\nPX6G\r\n=CukU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtgRjlEZ4QWSLVfo+/O9YHyf8HDyeP9VX3oRPQNvefqAiEAgAKd5kAncIoM3gwpE69m+xuRoX+1PgyTkBpObNQGzwo="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.14.0_1579819600235_0.276589743419116"},"_hasShrinkwrap":false},"2.15.0":{"name":"@rexfng/tfa","version":"2.15.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.15.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-EbJCRXTi3fR8p1KQTIcdvpn2Px5ZB3FadZM+c18gQOyweoeHET3dkH8dhIffRlmADzMPVr+yjE7AXIIAqf5e8w==","shasum":"9eed55ce0f6b9035522f9db2e1c5c76c82b7ca05","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.15.0.tgz","fileCount":17,"unpackedSize":17697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMKRvCRA9TVsSAnZWagAA6cEP/R6g0ELYzI1zSRY8kwdj\n/6IinX+YRpPFXtPxadrwBswNOCuiQTLifxBQ43czBpXDsWzhhNs9o8S5nsNJ\n1+54WHqqDtpcxtRc4MozSUTyJLdJPxIdVaXu53sZBm5iVmRfIviECmzCtJ5q\nQ436dPQaDlnIuS9dPaBZ1TIbRPW0Jx3nAe8Bp1wxoQ+9pgkFYudZ/wzlw4on\n7XoFU0wcMX4MO5Lh4XuYV4I8ZOywXQ3OcV/CfLs/uBhTR+Y81H4gjgDBQVsC\nA72XOfZHi9jl6bZMA81kWjQB2sRLntIUG1w8gYDNTRmT13mv+YHJdY0+ZP30\nOgnGT5yp9ywDil1MgJjuxLan4Hd0xAg8nL0rgfDC7kyZSvF7bXsByWk6hXt5\nb02R/qFJQbGd7FvolyP2GJJqr0uMX6ytDoe2LfOj9jj1YwK+lerwX0gcj85r\n+M793xHlsBpm8vCt9vmMg9VQKXs8hIHDSoeWF7+Qsa5mGe3gQACXGxxR++dB\nF2brXSZ1xmAvvudZTbZqzuAlkTP2jXrVcOqgmUG486/359uqoEb7R0NFUlPd\nkqTrP4QBkvcI8LFiNmg+Vk69LBhxc2XGlBhczT90KH1U7vcUrGrctTAlc876\n1NSpsu5o8XERihaPb1SGU5dBmJOHgg3Cy96SIY6xdjKjXxiPRx2zNGaxAqTx\nbVmu\r\n=YfVm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPEGUvVYhTc5A/7BYPnsArIsHEHATHFlrP///vLB83tQIhAOwHz0Ok0QRKzfQ9xbUkMPzaQLZ83CJXVDDkzRdkNaQt"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.15.0_1580246126815_0.12136184855858301"},"_hasShrinkwrap":false},"2.16.0":{"name":"@rexfng/tfa","version":"2.16.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.16.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-+SZGJUy2P/ImHvWMVU1SU9roMLVvioQJOOJ99lq8IQSFnVk82KDLZAtdViBSoCbJgFrRvR4kN/eDeBiKes797Q==","shasum":"7e5bcf4df55a0a855596c5beaf0e65cc0953996c","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.16.0.tgz","fileCount":17,"unpackedSize":17697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMKaSCRA9TVsSAnZWagAADLkQAJ5bC3Fs5O8EEgARHUhm\nQKLIJJEUxdQh85IFV94NfoC/jw2MFNAqF6eBEN3ocku4rd35KdWXl6UnRMFo\nmChVsAJcXIWtIe0gJe8saG5fPWO4vsc4dyc4dXhvR8fIaqV1WsrnWjcJkLpz\ncxiUDowO41NnaY8pPX3Z3XQJcjksGl9A0MWn3CyDm/Vkw0MQre/kJ3vb8S2E\n7Csa7EHK6NsnSiR9o8dBlhbXgTfz9+HAAfDrJCZZkS441sNfVYN6Rs9KLesH\nKWH6XuiSNi/lZxCOuaAcxsiuVKi7Ck1emh1MuLorg+WoQK8sXRf3omXJN893\nP+GEzNquq355Kd9QUyJJhizhGv8gifOBVG7fL/Y1BL+3N1iPVufCvoXgA6UL\nw5hSGi0/lbBJM+pjkKOWb6YhgqBXM63ZKQibSJNoh+K4IRBbS2sySvtP12sq\ntXGFwPEHNx8tl8jk0r4hO38ZVr7q4XWErVFWmnI2GMmLxnTGnK/1sE0SGvE/\ndhlSV5bwjw7qYs5ZpBmmiqGgS440t1Ksp551Pfzed+n76KQ5VP7EpZUsqjl1\nQ0d0wBlfVlBG2hZbf4mDyrAmEat/kNccTb2cAEkOhaiXdg+hS0pq4FschW/Y\nw1Yhd8EteD8VutnPKBKf4w2G1tlJwL1kQgTgFzQrxXiC8Qs4XfDv6O6cQS1t\nDj8S\r\n=Lbwx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcyFWUbCrJ16cj3d2UAxC/whMAKSWMLa5Gjaf9l3yYSgIgQ79DHuFXwT0etev7h9aC4b9AAi6JaTgilyFZ1MDl9QE="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.16.0_1580246673685_0.9627188431869012"},"_hasShrinkwrap":false},"2.17.0":{"name":"@rexfng/tfa","version":"2.17.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.17.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-KZ6DJlMIto7/mmlFkD/TgG0OZs1sYvQfGJw84L7XpQeVYj8GU8F8rL4MVJLA4jMzjWApiuw3OB+FT2eZau6BvQ==","shasum":"6508eeebc959d7ee895f2cd9f6d8fedd2cac4181","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.17.0.tgz","fileCount":17,"unpackedSize":17705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMLbPCRA9TVsSAnZWagAA7zIP/3SVKFei3NdrOutyeGSd\noR9h4QYV4iDpynI/gHQCK8LEpHNrE4yChrhD+0jfBI5Hq9j4vr2Qtt1YAnrN\n50h/ihfYbZwEMt1/YyRfF21A3+VM6izJjzLbJzXPCqmEkODIckIMjrM3EN6C\nwStGXRtR7pyB7EerkmJgz78zmNOYA33YE/hCypBd0b+wxblZO/Xb5JNTRke/\nwqdI+NcJpxcA3jdtUL9jnH4i8TKscvrYvgxG3hEYm38CVg2xwbSdXSTDtmWj\n0REh8p64Vn37NJZ03yhin1ElLmWt7SUSvzVbETiDL2KuT6vj4Xn3sljgaNQr\nSTz6H0dyh8ke27WzKbNeCdY1buB3gzxmMdtePL0isVr25RVEKIkrVtlBDRQg\nMBvVV8s4p+aHulTXRkJcJQ7anI90XPAjz0oXIkr0x93UanzDUxyZnyufSCXm\nHWxCKpPbfIAYWucVfxGImEIX9bOC/uKBBYXzYvAde1jPhQupg9MRBu6Oc1u2\nodsl0CQwgEVO9JxQXRplX7sE7vpflXZLpgpCULC+cZOl4MmI6Dwif3Vu8SV5\nbsYygb3RAWG+zXTnXUVeVhY5jE5sTdaa9k8vyIZl0O2+UCLrb4XlU2PsVgv7\ne+3npD20IOwLQIiopXM8oQvIF+yqetpe1HiGU5oHos8vkk/EUqhoRPG2sXKd\nbPMT\r\n=kNVm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBiNR1m/7X7hahRUK+q9tVgs+igS2r7AMWI2DWqdAVTwIhANC3N5F47l5n66Apx0nVvfOSyCSL9cSVROYhkjQ06+Q+"}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.17.0_1580250830522_0.501212721758912"},"_hasShrinkwrap":false},"2.18.0":{"name":"@rexfng/tfa","version":"2.18.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.18.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-64A+TKr9T0leVzzusFSB0LANA2LNNVkqnQ1kSq+Ar4kYxUvijecLbvp8VAKZYa01erL24aa3dBmYFbba/UY00g==","shasum":"44b4e9b09b16bd86221a3d49d6f970f6fc45d2cd","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.18.0.tgz","fileCount":17,"unpackedSize":17664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMLkhCRA9TVsSAnZWagAA/yUP/j3L48RSSJk2gihHXZMa\ngoNZw4nJBroNTVfg14HvXU/kSSC/AnohcQh9/HWV53CwjHaawsDyPnrSAkaZ\nE1BHk1Nrq8hRLBsywLE17gnH640e9UjNFMhJMlxqWcxzLyk/vrDnJyOPpqwf\n5yG/Zn44PRtzgCZQ73B7SWgHZ/31fEHGLuPPzmPY1m+n0SMArQQ7RTMN12e9\nt56dZS/ZGl6ZlaRrtoQEd+0YKALcP64kVGh4rY4fOJV8TdlgKR1cPnAA3xSD\n+kT5tSglQoKbZUY+OKk5c3EjIBJDvR1e1zw3oBQVYbFcuWJytlsdPM3ONycI\n0t8taOA91Zz4caDb+060Zf5VzXCvPdd0UYuWYtT7nU+CxcmJCijxDLHu0tBx\n/RLx2umGNhg30wgGz+aeci4KpiVpra7D/7ENsCTrfLguyGW9q0FZPCK1YI2t\nEHxt9bQB8xpDqEr+uId43uCie1rqyYK/zUv5oa4aIm8AVcoqzaeCr7e+PA/Z\ntDhpsREPIDCfwo19zPuwsEBo5TH/ZOW06MBi0jIVYZeWEsJeNMldq7jp231j\nTDsgZuc0Rl2osIV7zpC4hsUNKqyGIoKqn6fy2KfIdcCGEP0MbAXJBNcatYO9\nWOuI5eZu4X0pJEUha5CXzsUOGpS2PufgELS/gt5IJNmUgTPOYiqQLFc7egJn\nnI+i\r\n=ff3m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKh3maGhafcwsv9Sw+s79Rfm2M9SzEjVGDxKxuhi231gIgIGfj7htzFmRwxVsDxusIhWC+S0TPF7ky5DnyQ0tuae4="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.18.0_1580251424889_0.19251390507276023"},"_hasShrinkwrap":false},"2.19.0":{"name":"@rexfng/tfa","version":"2.19.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.19.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-/aU/wbeeUR/Hf2XhvP83/iUV2nQg4Q+V+SehRlf1ROaLh2RUZuOzw4C5O9elYpR4rTOxzfk7xl/GQ4JtDNrkoQ==","shasum":"d1953491d30b567378f3091f3bfccdd344647f77","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.19.0.tgz","fileCount":17,"unpackedSize":17641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMLwSCRA9TVsSAnZWagAAOPoP/0Xta3FycwFCNTzMyBY1\nmFP/h5TBG0U35qOfT6XCqU/gXupoc3WX/1mwiCwedS2zvWAzDGbMFsVICWLs\nV8zzXhLSi5BBsWDYztST/HEYftkM+7CzUj6L3nBno6uBJaIdLEnsTQzkfj9I\n4b6LuLypZP4S8o7ZF+IF3SdU7CDbJncp1NcmBazgWywvMoMnKnboCjCQI9mZ\nTjALE4gSg7CQfo/Q9xmirweRIWQ0TM9q124iOa3Z68dSmtUzKlIV9R86P5Qq\n3FEzcw3TjJ+bLlDh7DOi5qX+O+E1R+GLyaJoyDElLRnaTD8xLUwrFQ4WklHF\nl2sErOIiGpUWypVOZ3OVr5hm+ddx0+D98ChzlXsORS2QYLVzSdAnzuwKBZEg\njKUzayjpMjxjYRLEyOP+HuRAJw8tFAoBpRClNBUQM+2ubRs7z8eEYC7ME3vn\nlaWnlOYLbfJhqSspMKi8x7afyMuQfMSmSTRT+//eYCAozkd8Y11xNsyMEiRU\nSQdJYqGL9aySCEbosQQC+SSC/JNaMnOYi8fHJL9PaeKB7Rmq+zyQBQ9TEz6j\ngx/IvblZkVLrkiHEXFcf5LojrQ/B8xDjqY+gqIG8y2YFqv/iM94UeBHloBBW\nD8LZVCO6y05fQ8KttL3aIw4bMTR668ECMxN4vY8TqeAwvmw3qebkBHbesRou\n5cf8\r\n=bKvB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClEfFTT6kcAsuUEpxP+NZzp736rmLIjG45z4h6RQ/L0gIgY3sfk++rroVxO22mWbaUXoKUlLNfsVW70e6Tpt6jdGI="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.19.0_1580252177684_0.6086980186686053"},"_hasShrinkwrap":false},"2.20.0":{"name":"@rexfng/tfa","version":"2.20.0","description":"TFA helper","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Rex Fong"},"license":"ISC","dependencies":{"@rexfng/send":"^1.12.0","dotenv":"^6.2.0","express":"^4.17.1","generate-password":"^1.5.0","is-html":"^1.1.0","jsonwebtoken":"^8.5.1","mustache":"^3.2.1","number-words":"^1.1.0","otpauth":"^3.2.8","request":"^2.88.0","request-promise":"^4.2.5"},"_id":"@rexfng/tfa@2.20.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-IxQxAfYnx1/A0OTxHEGjDKRcXznnBUxZClrvisZ363bu4wf4uNmdpT76MgzGbvvOQA+dljcAxR+q0KKSQ580hA==","shasum":"b679d3cdc9c1f7c5a04188f22e0f6d3388262262","tarball":"https://registry.npmjs.org/@rexfng/tfa/-/tfa-2.20.0.tgz","fileCount":17,"unpackedSize":17629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeML3ZCRA9TVsSAnZWagAAIBUP/3Ry3VCFt7Ft/aopW/hd\n0H9SHUcNh78ylSaisjhHwvRddGo/dJs5baMEDnpMUtObC8WbRnKWLsakM20U\ndu65eAeF1bMqdlk2YRd5weQV0425a6eEbcpe0bL5MzwxxoyfXGUOMhs9ju1w\nAiKqIg4ux6vPDUzaeOmcCgsIKTGdd219AIy6RPSjZptMvdS9qsRsrnM9ZznY\nXtRaqCORZOgwbx8GbNreEVXv7/ypOkR0Bc+lPEYpwQYlcIpuSoBEpINslYNR\nok/TQz5/l2e1cQaQmq1j3xvfQcvEHn1jL3MOjNt3lwfFdQnaMGbvsI30lRqI\n/l6OZvXH4hkpVG1bg9owBdjiAgo/Q0vgLAlkh94BxWvhP+fmqh0H6XkKKHDU\ndnMGD3ZOEZ4eXRz38VeK5lgaE+ysJxFVid2y3LsInRNvM3Z7Hs+Vmr7YyLo5\nF7nhfe6XbNi/P5IrQZavyHHH9hesVNIfiTkGm187rWObyEhH4bZjvXKNtJ6q\na7PeyqF0HkK7J9KQ70xqYl/2RHO7G9KSxApNlN5/p7JgptvYcPm6icw5iCoo\nesPcrKJmnhCyQV7sOx1o1OuVXW9vzwwxY77prlL0eQF56mvM0SkHK9eLgCo1\nSPEPWQY6v07a6WOg0X1guQLDA9gOZ9XZstUtQRPOQyraQIceryiOQFFQIrKB\nKiMD\r\n=uQiW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7j5kx78wzPF6mcj9xQ3GJ+Srrb3hNQAzeMO8rZbAeYAiBNfUzrz1YWk+j22ywbatleZtieazLl+tH3Avu7CEhZMg=="}]},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"_npmUser":{"name":"rexfng","email":"rexfng@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tfa_2.20.0_1580252633195_0.8629523403278185"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-04T15:04:09.658Z","1.0.0":"2019-01-04T15:04:09.949Z","modified":"2022-04-06T19:40:51.628Z","1.0.1":"2019-01-04T15:06:02.254Z","1.0.2":"2019-01-04T15:06:24.401Z","1.1.0":"2019-01-04T15:31:32.373Z","1.1.1":"2019-01-04T15:32:34.404Z","1.2.0":"2019-01-04T16:44:12.606Z","1.3.0":"2019-01-04T20:32:30.248Z","2.0.0":"2019-01-14T14:27:20.202Z","2.0.2":"2019-01-19T00:05:55.761Z","2.1.0":"2019-01-21T23:18:31.799Z","2.1.1":"2019-01-21T23:38:10.328Z","2.1.2":"2019-01-21T23:50:24.537Z","2.1.3":"2019-01-21T23:59:34.812Z","2.2.0":"2019-01-24T02:06:49.535Z","2.3.0":"2020-01-23T02:27:02.934Z","2.4.0":"2020-01-23T02:29:24.735Z","2.5.0":"2020-01-23T02:32:39.143Z","2.6.0":"2020-01-23T02:33:49.398Z","2.7.0":"2020-01-23T02:58:21.960Z","2.8.0":"2020-01-23T05:14:54.242Z","2.9.0":"2020-01-23T05:25:28.738Z","2.10.0":"2020-01-23T16:09:06.497Z","2.11.0":"2020-01-23T16:19:33.319Z","2.12.0":"2020-01-23T22:23:52.383Z","2.13.0":"2020-01-23T22:42:23.361Z","2.14.0":"2020-01-23T22:46:40.344Z","2.15.0":"2020-01-28T21:15:26.973Z","2.16.0":"2020-01-28T21:24:33.835Z","2.17.0":"2020-01-28T22:33:50.698Z","2.18.0":"2020-01-28T22:43:45.037Z","2.19.0":"2020-01-28T22:56:17.839Z","2.20.0":"2020-01-28T23:03:53.320Z"},"maintainers":[{"name":"rexfng","email":"rexfng@gmail.com"}],"description":"TFA helper","author":{"name":"Rex Fong"},"license":"ISC","readme":"# Tfa\n\n## Description\nTFA is a wrapper that provides helpers to generate and validate 2 factor code according to [google authenticator format](https://github.com/google/google-authenticator/wiki/Key-Uri-Format). It generates google uri and qr code images. Package such as [@rexfng/auth](https://www.npmjs.com/package/@rexfng/auth), uses this module for 2fa protection or password reset. \n\n## ES6\nIt was built with Class so it is extensible.\n\n## Define Environment Variables\nDefine the follow environment variable. They are all required.\n| Variable Name | Description |\n|---------------|-------------|\n| APP_NAME | Defining project name, which is one of the argument in generating the token. |\n| APP_URL | Defining project url, which will be use to redirect ie \"http://example.com\". |\n| AUTH_SECRET | secret for encrpytion the token. |\n| EMAIL_PASS | Sendgrid api key. |\n| TWILIO_API_KEY | Twilio api key |\n\n## Initialize TFA (new Tfa())\nNeither issuer nor account name may themselves contain a colon. \n```javascript\nconst Tfa = require('@rexfng/tfa').init;\nlet TfaOptions = {\n\tlabel: String, // username \n\t//values below are optional\n\tissuer: String, // issuer of tfa token (if null, it looks up value from APP_NAME environment variable)\n\talgorithm: String, // example \"SHA1\", \"SHA256\" and \"SHA512\" (default to \"SHA256\") [Also Supports](https://nodejs.org/api/crypto.html#crypto_crypto_createhmac_algorithm_key). Do not use SHA1 as it is [outdated and already broken into](https://shattered.io/)\n\tdigits: Integer, // 6 or 8 (default to 6)\n\tperiod: Integer, // seconds to invalidate the code (default to 30)\n\tsecret: String // secret between user and server (note that user will be able to see this value when the code is produced) example: \"NB2W45DFOIZB\"\n}\nlet tfa = new Tfa(TfaOptions);\n\n```\n\n## Tfa().generate()\n\n```javascript\nlet code = tfa.generate({\n\tqrSize: \"150\" // value in pixel (default to \"150\", this option is optional)\n})\n\nlet token = code.token // 123412\nlet uri = code.uri // Google Authenticator key URI\nlet qr = code.qr // url of qrcode image\n```\n\n## Tfa().validate()\n\n```javascript\nlet validation = tfa.validate({\n\ttoken: Integer // 123412\n})\n\nconsole.log(validation) // return true or false in Boolean\n```\n\n## Tfa Express Routers\n\n| Base Endpoint | Method Example | HTTP Action |\n|---------------|-------------|-------------|\n| /api/getcode | app.use('/', Tfa.routes.api.getcode)  | POST |\n| /api/verifycode | app.use('/', Tfa.routes.email.verifycode) | POST |\n| /sms/getcode | app.use('/', Tfa.routes.sms.getcode) | POST |\n| /sms/verifycode | app.use('/', Tfa.routes.sms.verifycode) | POST |\n| /email/getcode | app.use('/', Tfa.routes.email.getcode) | POST |\n| /verification | app.use('/', Tfa.routes.email.verifycode) | GET |\n\n### /api/getcode\n```javascript\n{\n\tissuer: String // default to process.env.APP_NAME,\n\tlabel: String, // unique token identifier in alphabetical characters, no numbers allowed\n\tperiod: Inteer, // period to expire the verification, default to 30,\n\tdigits: Integer //default to 6\t\n}\n```\n\n### /api/verifycode \n```javascript\n{\n\tissuer: String // default to process.env.APP_NAME,\n\tlabel: String, // unique token identifier in alphabetical characters, no numbers allowed\n\tperiod: Inteer, period to expire the verification, default to 30,\n\tdigits: Integer //digits of the verification code, choose between 4-10 default to 6\t\n\tcode: String // verification code identified by \"label\"\n}\n```\n\n### /sms/getcode \n```javascript\n{\n\t\"phone_number\": String, //\"6047229494\"\n\t\"country_code\": String, //\"1\"\n\t\"code_length\": Integer //4-10 default to 6\n}\n``` \n\n### /sms/verifycode \n```javascript\n{\n\t\"phone_number\": String, //\"6047229494\"\n\t\"country_code\": String, //\"1\"\n\t\"verification_code\": String //\"2421\"\n}\n```\n\n### /email/getcode \n```javascript\n{\n    from: \"John<john@example.com>\", // sender address\n    to: \"Paul<paul@example.com>\", // list of receivers\n    subject: \"Welcome Message\", // Subject line\n\ttpl: \"Welcome to our service. Please verify with the following code {{code}}\", // plain text or html\n\ttpl: \"<h1>Welcome to our service. Please verify with the following url: {{&url}}</h1>\", the template use for rendering the email body. {{&url}} or {{code}} will be replaced by verification_code or verification_url\n\tlabel: \"somerandomstring\", //unique verifycode identifier, strings only\n\tperiod: Integer, // 900\n\tredirect_success: \"https://your-app.com/redirect_success\", || null, if empty, {{code}} will be used, if provided, {{&url}} will be used.\n\tredirect_fail: \"https://your-app.com/fail\" || null if empty, {{code}} will be used, if provided, {{&url}} will be used.\n}\n```\n\n### /email/verifycode GET\nThis endpoint generates a link at /verification?t={bearer_token}\n\n\n","readmeFilename":"README.md"}