@charamza/next-password-protect 0.0.0-development

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +158 -0
  3. package/dist/cjs/_virtual/JsonWebTokenError.js_commonjs-proxy +2 -0
  4. package/dist/cjs/_virtual/JsonWebTokenError.js_commonjs-proxy.map +1 -0
  5. package/dist/cjs/_virtual/NotBeforeError.js_commonjs-proxy +2 -0
  6. package/dist/cjs/_virtual/NotBeforeError.js_commonjs-proxy.map +1 -0
  7. package/dist/cjs/_virtual/TokenExpiredError.js_commonjs-proxy +2 -0
  8. package/dist/cjs/_virtual/TokenExpiredError.js_commonjs-proxy.map +1 -0
  9. package/dist/cjs/_virtual/_commonjsHelpers.js +2 -0
  10. package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  11. package/dist/cjs/_virtual/data-stream.js_commonjs-proxy +2 -0
  12. package/dist/cjs/_virtual/data-stream.js_commonjs-proxy.map +1 -0
  13. package/dist/cjs/_virtual/decode.js_commonjs-proxy +2 -0
  14. package/dist/cjs/_virtual/decode.js_commonjs-proxy.map +1 -0
  15. package/dist/cjs/_virtual/ecdsa-sig-formatter.js_commonjs-proxy +2 -0
  16. package/dist/cjs/_virtual/ecdsa-sig-formatter.js_commonjs-proxy.map +1 -0
  17. package/dist/cjs/_virtual/index.js_commonjs-proxy +2 -0
  18. package/dist/cjs/_virtual/index.js_commonjs-proxy.map +1 -0
  19. package/dist/cjs/_virtual/index10.js_commonjs-proxy +2 -0
  20. package/dist/cjs/_virtual/index10.js_commonjs-proxy.map +1 -0
  21. package/dist/cjs/_virtual/index11.js_commonjs-proxy +2 -0
  22. package/dist/cjs/_virtual/index11.js_commonjs-proxy.map +1 -0
  23. package/dist/cjs/_virtual/index12.js_commonjs-proxy +2 -0
  24. package/dist/cjs/_virtual/index12.js_commonjs-proxy.map +1 -0
  25. package/dist/cjs/_virtual/index13.js_commonjs-proxy +2 -0
  26. package/dist/cjs/_virtual/index13.js_commonjs-proxy.map +1 -0
  27. package/dist/cjs/_virtual/index14.js_commonjs-proxy +2 -0
  28. package/dist/cjs/_virtual/index14.js_commonjs-proxy.map +1 -0
  29. package/dist/cjs/_virtual/index15.js_commonjs-proxy +2 -0
  30. package/dist/cjs/_virtual/index15.js_commonjs-proxy.map +1 -0
  31. package/dist/cjs/_virtual/index2.js_commonjs-proxy +2 -0
  32. package/dist/cjs/_virtual/index2.js_commonjs-proxy.map +1 -0
  33. package/dist/cjs/_virtual/index3.js_commonjs-proxy +2 -0
  34. package/dist/cjs/_virtual/index3.js_commonjs-proxy.map +1 -0
  35. package/dist/cjs/_virtual/index4.js_commonjs-proxy +2 -0
  36. package/dist/cjs/_virtual/index4.js_commonjs-proxy.map +1 -0
  37. package/dist/cjs/_virtual/index5.js_commonjs-proxy +2 -0
  38. package/dist/cjs/_virtual/index5.js_commonjs-proxy.map +1 -0
  39. package/dist/cjs/_virtual/index6.js_commonjs-proxy +2 -0
  40. package/dist/cjs/_virtual/index6.js_commonjs-proxy.map +1 -0
  41. package/dist/cjs/_virtual/index7.js_commonjs-proxy +2 -0
  42. package/dist/cjs/_virtual/index7.js_commonjs-proxy.map +1 -0
  43. package/dist/cjs/_virtual/index8.js_commonjs-proxy +2 -0
  44. package/dist/cjs/_virtual/index8.js_commonjs-proxy.map +1 -0
  45. package/dist/cjs/_virtual/index9.js_commonjs-proxy +2 -0
  46. package/dist/cjs/_virtual/index9.js_commonjs-proxy.map +1 -0
  47. package/dist/cjs/_virtual/param-bytes-for-alg.js_commonjs-proxy +2 -0
  48. package/dist/cjs/_virtual/param-bytes-for-alg.js_commonjs-proxy.map +1 -0
  49. package/dist/cjs/_virtual/psSupported.js_commonjs-proxy +2 -0
  50. package/dist/cjs/_virtual/psSupported.js_commonjs-proxy.map +1 -0
  51. package/dist/cjs/_virtual/semver.js_commonjs-proxy +2 -0
  52. package/dist/cjs/_virtual/semver.js_commonjs-proxy.map +1 -0
  53. package/dist/cjs/_virtual/sign-stream.js_commonjs-proxy +2 -0
  54. package/dist/cjs/_virtual/sign-stream.js_commonjs-proxy.map +1 -0
  55. package/dist/cjs/_virtual/sign.js_commonjs-proxy +2 -0
  56. package/dist/cjs/_virtual/sign.js_commonjs-proxy.map +1 -0
  57. package/dist/cjs/_virtual/timespan.js_commonjs-proxy +2 -0
  58. package/dist/cjs/_virtual/timespan.js_commonjs-proxy.map +1 -0
  59. package/dist/cjs/_virtual/tostring.js_commonjs-proxy +2 -0
  60. package/dist/cjs/_virtual/tostring.js_commonjs-proxy.map +1 -0
  61. package/dist/cjs/_virtual/verify-stream.js_commonjs-proxy +2 -0
  62. package/dist/cjs/_virtual/verify-stream.js_commonjs-proxy.map +1 -0
  63. package/dist/cjs/_virtual/verify.js_commonjs-proxy +2 -0
  64. package/dist/cjs/_virtual/verify.js_commonjs-proxy.map +1 -0
  65. package/dist/cjs/index.d.ts +1 -0
  66. package/dist/cjs/jest.config.d.ts +117 -0
  67. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +2 -0
  68. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  69. package/dist/cjs/node_modules/buffer-alloc/index.js +2 -0
  70. package/dist/cjs/node_modules/buffer-alloc/index.js.map +1 -0
  71. package/dist/cjs/node_modules/buffer-alloc-unsafe/index.js +2 -0
  72. package/dist/cjs/node_modules/buffer-alloc-unsafe/index.js.map +1 -0
  73. package/dist/cjs/node_modules/buffer-equal-constant-time/index.js +2 -0
  74. package/dist/cjs/node_modules/buffer-equal-constant-time/index.js.map +1 -0
  75. package/dist/cjs/node_modules/buffer-fill/index.js +2 -0
  76. package/dist/cjs/node_modules/buffer-fill/index.js.map +1 -0
  77. package/dist/cjs/node_modules/cookie/index.js +9 -0
  78. package/dist/cjs/node_modules/cookie/index.js.map +1 -0
  79. package/dist/cjs/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +2 -0
  80. package/dist/cjs/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js.map +1 -0
  81. package/dist/cjs/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +2 -0
  82. package/dist/cjs/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js.map +1 -0
  83. package/dist/cjs/node_modules/jsonwebtoken/decode.js +2 -0
  84. package/dist/cjs/node_modules/jsonwebtoken/decode.js.map +1 -0
  85. package/dist/cjs/node_modules/jsonwebtoken/index.js +2 -0
  86. package/dist/cjs/node_modules/jsonwebtoken/index.js.map +1 -0
  87. package/dist/cjs/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +2 -0
  88. package/dist/cjs/node_modules/jsonwebtoken/lib/JsonWebTokenError.js.map +1 -0
  89. package/dist/cjs/node_modules/jsonwebtoken/lib/NotBeforeError.js +2 -0
  90. package/dist/cjs/node_modules/jsonwebtoken/lib/NotBeforeError.js.map +1 -0
  91. package/dist/cjs/node_modules/jsonwebtoken/lib/TokenExpiredError.js +2 -0
  92. package/dist/cjs/node_modules/jsonwebtoken/lib/TokenExpiredError.js.map +1 -0
  93. package/dist/cjs/node_modules/jsonwebtoken/lib/psSupported.js +2 -0
  94. package/dist/cjs/node_modules/jsonwebtoken/lib/psSupported.js.map +1 -0
  95. package/dist/cjs/node_modules/jsonwebtoken/lib/timespan.js +2 -0
  96. package/dist/cjs/node_modules/jsonwebtoken/lib/timespan.js.map +1 -0
  97. package/dist/cjs/node_modules/jsonwebtoken/sign.js +2 -0
  98. package/dist/cjs/node_modules/jsonwebtoken/sign.js.map +1 -0
  99. package/dist/cjs/node_modules/jsonwebtoken/verify.js +2 -0
  100. package/dist/cjs/node_modules/jsonwebtoken/verify.js.map +1 -0
  101. package/dist/cjs/node_modules/jwa/index.js +2 -0
  102. package/dist/cjs/node_modules/jwa/index.js.map +1 -0
  103. package/dist/cjs/node_modules/jws/index.js +2 -0
  104. package/dist/cjs/node_modules/jws/index.js.map +1 -0
  105. package/dist/cjs/node_modules/jws/lib/data-stream.js +2 -0
  106. package/dist/cjs/node_modules/jws/lib/data-stream.js.map +1 -0
  107. package/dist/cjs/node_modules/jws/lib/sign-stream.js +2 -0
  108. package/dist/cjs/node_modules/jws/lib/sign-stream.js.map +1 -0
  109. package/dist/cjs/node_modules/jws/lib/tostring.js +2 -0
  110. package/dist/cjs/node_modules/jws/lib/tostring.js.map +1 -0
  111. package/dist/cjs/node_modules/jws/lib/verify-stream.js +2 -0
  112. package/dist/cjs/node_modules/jws/lib/verify-stream.js.map +1 -0
  113. package/dist/cjs/node_modules/lodash.includes/index.js +2 -0
  114. package/dist/cjs/node_modules/lodash.includes/index.js.map +1 -0
  115. package/dist/cjs/node_modules/lodash.isboolean/index.js +2 -0
  116. package/dist/cjs/node_modules/lodash.isboolean/index.js.map +1 -0
  117. package/dist/cjs/node_modules/lodash.isinteger/index.js +2 -0
  118. package/dist/cjs/node_modules/lodash.isinteger/index.js.map +1 -0
  119. package/dist/cjs/node_modules/lodash.isnumber/index.js +2 -0
  120. package/dist/cjs/node_modules/lodash.isnumber/index.js.map +1 -0
  121. package/dist/cjs/node_modules/lodash.isplainobject/index.js +2 -0
  122. package/dist/cjs/node_modules/lodash.isplainobject/index.js.map +1 -0
  123. package/dist/cjs/node_modules/lodash.isstring/index.js +2 -0
  124. package/dist/cjs/node_modules/lodash.isstring/index.js.map +1 -0
  125. package/dist/cjs/node_modules/lodash.once/index.js +2 -0
  126. package/dist/cjs/node_modules/lodash.once/index.js.map +1 -0
  127. package/dist/cjs/node_modules/ms/index.js +2 -0
  128. package/dist/cjs/node_modules/ms/index.js.map +1 -0
  129. package/dist/cjs/node_modules/safe-buffer/index.js +3 -0
  130. package/dist/cjs/node_modules/safe-buffer/index.js.map +1 -0
  131. package/dist/cjs/node_modules/safe-compare/index.js +2 -0
  132. package/dist/cjs/node_modules/safe-compare/index.js.map +1 -0
  133. package/dist/cjs/node_modules/semver/semver.js +2 -0
  134. package/dist/cjs/node_modules/semver/semver.js.map +1 -0
  135. package/dist/cjs/node_modules/tslib/tslib.es6.js +17 -0
  136. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -0
  137. package/dist/cjs/src/api/index.d.ts +3 -0
  138. package/dist/cjs/src/api/loginHandler.d.ts +10 -0
  139. package/dist/cjs/src/api/loginHandler.js +2 -0
  140. package/dist/cjs/src/api/loginHandler.js.map +1 -0
  141. package/dist/cjs/src/api/logoutHandler.d.ts +8 -0
  142. package/dist/cjs/src/api/logoutHandler.js +2 -0
  143. package/dist/cjs/src/api/logoutHandler.js.map +1 -0
  144. package/dist/cjs/src/api/passwordCheckHandler.d.ts +6 -0
  145. package/dist/cjs/src/api/passwordCheckHandler.js +2 -0
  146. package/dist/cjs/src/api/passwordCheckHandler.js.map +1 -0
  147. package/dist/cjs/src/api/sendJson.d.ts +2 -0
  148. package/dist/cjs/src/api/sendJson.js +2 -0
  149. package/dist/cjs/src/api/sendJson.js.map +1 -0
  150. package/dist/cjs/src/api/setCookie.d.ts +2 -0
  151. package/dist/cjs/src/api/setCookie.js +2 -0
  152. package/dist/cjs/src/api/setCookie.js.map +1 -0
  153. package/dist/cjs/src/hoc/LoginComponent.d.ts +8 -0
  154. package/dist/cjs/src/hoc/LoginComponent.js +2 -0
  155. package/dist/cjs/src/hoc/LoginComponent.js.map +1 -0
  156. package/dist/cjs/src/hoc/index.d.ts +1 -0
  157. package/dist/cjs/src/hoc/withPasswordProtect.d.ts +13 -0
  158. package/dist/cjs/src/hoc/withPasswordProtect.js +2 -0
  159. package/dist/cjs/src/hoc/withPasswordProtect.js.map +1 -0
  160. package/dist/cjs/src/index.d.ts +2 -0
  161. package/dist/cjs/src/index.js +2 -0
  162. package/dist/cjs/src/index.js.map +1 -0
  163. package/dist/esm/_virtual/JsonWebTokenError.js_commonjs-proxy +2 -0
  164. package/dist/esm/_virtual/JsonWebTokenError.js_commonjs-proxy.map +1 -0
  165. package/dist/esm/_virtual/NotBeforeError.js_commonjs-proxy +2 -0
  166. package/dist/esm/_virtual/NotBeforeError.js_commonjs-proxy.map +1 -0
  167. package/dist/esm/_virtual/TokenExpiredError.js_commonjs-proxy +2 -0
  168. package/dist/esm/_virtual/TokenExpiredError.js_commonjs-proxy.map +1 -0
  169. package/dist/esm/_virtual/_commonjsHelpers.js +2 -0
  170. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
  171. package/dist/esm/_virtual/data-stream.js_commonjs-proxy +2 -0
  172. package/dist/esm/_virtual/data-stream.js_commonjs-proxy.map +1 -0
  173. package/dist/esm/_virtual/decode.js_commonjs-proxy +2 -0
  174. package/dist/esm/_virtual/decode.js_commonjs-proxy.map +1 -0
  175. package/dist/esm/_virtual/ecdsa-sig-formatter.js_commonjs-proxy +2 -0
  176. package/dist/esm/_virtual/ecdsa-sig-formatter.js_commonjs-proxy.map +1 -0
  177. package/dist/esm/_virtual/index.js_commonjs-proxy +2 -0
  178. package/dist/esm/_virtual/index.js_commonjs-proxy.map +1 -0
  179. package/dist/esm/_virtual/index10.js_commonjs-proxy +2 -0
  180. package/dist/esm/_virtual/index10.js_commonjs-proxy.map +1 -0
  181. package/dist/esm/_virtual/index11.js_commonjs-proxy +2 -0
  182. package/dist/esm/_virtual/index11.js_commonjs-proxy.map +1 -0
  183. package/dist/esm/_virtual/index12.js_commonjs-proxy +2 -0
  184. package/dist/esm/_virtual/index12.js_commonjs-proxy.map +1 -0
  185. package/dist/esm/_virtual/index13.js_commonjs-proxy +2 -0
  186. package/dist/esm/_virtual/index13.js_commonjs-proxy.map +1 -0
  187. package/dist/esm/_virtual/index14.js_commonjs-proxy +2 -0
  188. package/dist/esm/_virtual/index14.js_commonjs-proxy.map +1 -0
  189. package/dist/esm/_virtual/index15.js_commonjs-proxy +2 -0
  190. package/dist/esm/_virtual/index15.js_commonjs-proxy.map +1 -0
  191. package/dist/esm/_virtual/index2.js_commonjs-proxy +2 -0
  192. package/dist/esm/_virtual/index2.js_commonjs-proxy.map +1 -0
  193. package/dist/esm/_virtual/index3.js_commonjs-proxy +2 -0
  194. package/dist/esm/_virtual/index3.js_commonjs-proxy.map +1 -0
  195. package/dist/esm/_virtual/index4.js_commonjs-proxy +2 -0
  196. package/dist/esm/_virtual/index4.js_commonjs-proxy.map +1 -0
  197. package/dist/esm/_virtual/index5.js_commonjs-proxy +2 -0
  198. package/dist/esm/_virtual/index5.js_commonjs-proxy.map +1 -0
  199. package/dist/esm/_virtual/index6.js_commonjs-proxy +2 -0
  200. package/dist/esm/_virtual/index6.js_commonjs-proxy.map +1 -0
  201. package/dist/esm/_virtual/index7.js_commonjs-proxy +2 -0
  202. package/dist/esm/_virtual/index7.js_commonjs-proxy.map +1 -0
  203. package/dist/esm/_virtual/index8.js_commonjs-proxy +2 -0
  204. package/dist/esm/_virtual/index8.js_commonjs-proxy.map +1 -0
  205. package/dist/esm/_virtual/index9.js_commonjs-proxy +2 -0
  206. package/dist/esm/_virtual/index9.js_commonjs-proxy.map +1 -0
  207. package/dist/esm/_virtual/param-bytes-for-alg.js_commonjs-proxy +2 -0
  208. package/dist/esm/_virtual/param-bytes-for-alg.js_commonjs-proxy.map +1 -0
  209. package/dist/esm/_virtual/psSupported.js_commonjs-proxy +2 -0
  210. package/dist/esm/_virtual/psSupported.js_commonjs-proxy.map +1 -0
  211. package/dist/esm/_virtual/semver.js_commonjs-proxy +2 -0
  212. package/dist/esm/_virtual/semver.js_commonjs-proxy.map +1 -0
  213. package/dist/esm/_virtual/sign-stream.js_commonjs-proxy +2 -0
  214. package/dist/esm/_virtual/sign-stream.js_commonjs-proxy.map +1 -0
  215. package/dist/esm/_virtual/sign.js_commonjs-proxy +2 -0
  216. package/dist/esm/_virtual/sign.js_commonjs-proxy.map +1 -0
  217. package/dist/esm/_virtual/timespan.js_commonjs-proxy +2 -0
  218. package/dist/esm/_virtual/timespan.js_commonjs-proxy.map +1 -0
  219. package/dist/esm/_virtual/tostring.js_commonjs-proxy +2 -0
  220. package/dist/esm/_virtual/tostring.js_commonjs-proxy.map +1 -0
  221. package/dist/esm/_virtual/verify-stream.js_commonjs-proxy +2 -0
  222. package/dist/esm/_virtual/verify-stream.js_commonjs-proxy.map +1 -0
  223. package/dist/esm/_virtual/verify.js_commonjs-proxy +2 -0
  224. package/dist/esm/_virtual/verify.js_commonjs-proxy.map +1 -0
  225. package/dist/esm/index.d.ts +1 -0
  226. package/dist/esm/jest.config.d.ts +117 -0
  227. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +2 -0
  228. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  229. package/dist/esm/node_modules/buffer-alloc/index.js +2 -0
  230. package/dist/esm/node_modules/buffer-alloc/index.js.map +1 -0
  231. package/dist/esm/node_modules/buffer-alloc-unsafe/index.js +2 -0
  232. package/dist/esm/node_modules/buffer-alloc-unsafe/index.js.map +1 -0
  233. package/dist/esm/node_modules/buffer-equal-constant-time/index.js +2 -0
  234. package/dist/esm/node_modules/buffer-equal-constant-time/index.js.map +1 -0
  235. package/dist/esm/node_modules/buffer-fill/index.js +2 -0
  236. package/dist/esm/node_modules/buffer-fill/index.js.map +1 -0
  237. package/dist/esm/node_modules/cookie/index.js +8 -0
  238. package/dist/esm/node_modules/cookie/index.js.map +1 -0
  239. package/dist/esm/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +2 -0
  240. package/dist/esm/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js.map +1 -0
  241. package/dist/esm/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +2 -0
  242. package/dist/esm/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js.map +1 -0
  243. package/dist/esm/node_modules/jsonwebtoken/decode.js +2 -0
  244. package/dist/esm/node_modules/jsonwebtoken/decode.js.map +1 -0
  245. package/dist/esm/node_modules/jsonwebtoken/index.js +2 -0
  246. package/dist/esm/node_modules/jsonwebtoken/index.js.map +1 -0
  247. package/dist/esm/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +2 -0
  248. package/dist/esm/node_modules/jsonwebtoken/lib/JsonWebTokenError.js.map +1 -0
  249. package/dist/esm/node_modules/jsonwebtoken/lib/NotBeforeError.js +2 -0
  250. package/dist/esm/node_modules/jsonwebtoken/lib/NotBeforeError.js.map +1 -0
  251. package/dist/esm/node_modules/jsonwebtoken/lib/TokenExpiredError.js +2 -0
  252. package/dist/esm/node_modules/jsonwebtoken/lib/TokenExpiredError.js.map +1 -0
  253. package/dist/esm/node_modules/jsonwebtoken/lib/psSupported.js +2 -0
  254. package/dist/esm/node_modules/jsonwebtoken/lib/psSupported.js.map +1 -0
  255. package/dist/esm/node_modules/jsonwebtoken/lib/timespan.js +2 -0
  256. package/dist/esm/node_modules/jsonwebtoken/lib/timespan.js.map +1 -0
  257. package/dist/esm/node_modules/jsonwebtoken/sign.js +2 -0
  258. package/dist/esm/node_modules/jsonwebtoken/sign.js.map +1 -0
  259. package/dist/esm/node_modules/jsonwebtoken/verify.js +2 -0
  260. package/dist/esm/node_modules/jsonwebtoken/verify.js.map +1 -0
  261. package/dist/esm/node_modules/jwa/index.js +2 -0
  262. package/dist/esm/node_modules/jwa/index.js.map +1 -0
  263. package/dist/esm/node_modules/jws/index.js +2 -0
  264. package/dist/esm/node_modules/jws/index.js.map +1 -0
  265. package/dist/esm/node_modules/jws/lib/data-stream.js +2 -0
  266. package/dist/esm/node_modules/jws/lib/data-stream.js.map +1 -0
  267. package/dist/esm/node_modules/jws/lib/sign-stream.js +2 -0
  268. package/dist/esm/node_modules/jws/lib/sign-stream.js.map +1 -0
  269. package/dist/esm/node_modules/jws/lib/tostring.js +2 -0
  270. package/dist/esm/node_modules/jws/lib/tostring.js.map +1 -0
  271. package/dist/esm/node_modules/jws/lib/verify-stream.js +2 -0
  272. package/dist/esm/node_modules/jws/lib/verify-stream.js.map +1 -0
  273. package/dist/esm/node_modules/lodash.includes/index.js +2 -0
  274. package/dist/esm/node_modules/lodash.includes/index.js.map +1 -0
  275. package/dist/esm/node_modules/lodash.isboolean/index.js +2 -0
  276. package/dist/esm/node_modules/lodash.isboolean/index.js.map +1 -0
  277. package/dist/esm/node_modules/lodash.isinteger/index.js +2 -0
  278. package/dist/esm/node_modules/lodash.isinteger/index.js.map +1 -0
  279. package/dist/esm/node_modules/lodash.isnumber/index.js +2 -0
  280. package/dist/esm/node_modules/lodash.isnumber/index.js.map +1 -0
  281. package/dist/esm/node_modules/lodash.isplainobject/index.js +2 -0
  282. package/dist/esm/node_modules/lodash.isplainobject/index.js.map +1 -0
  283. package/dist/esm/node_modules/lodash.isstring/index.js +2 -0
  284. package/dist/esm/node_modules/lodash.isstring/index.js.map +1 -0
  285. package/dist/esm/node_modules/lodash.once/index.js +2 -0
  286. package/dist/esm/node_modules/lodash.once/index.js.map +1 -0
  287. package/dist/esm/node_modules/ms/index.js +2 -0
  288. package/dist/esm/node_modules/ms/index.js.map +1 -0
  289. package/dist/esm/node_modules/safe-buffer/index.js +3 -0
  290. package/dist/esm/node_modules/safe-buffer/index.js.map +1 -0
  291. package/dist/esm/node_modules/safe-compare/index.js +2 -0
  292. package/dist/esm/node_modules/safe-compare/index.js.map +1 -0
  293. package/dist/esm/node_modules/semver/semver.js +2 -0
  294. package/dist/esm/node_modules/semver/semver.js.map +1 -0
  295. package/dist/esm/node_modules/tslib/tslib.es6.js +16 -0
  296. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
  297. package/dist/esm/src/api/index.d.ts +3 -0
  298. package/dist/esm/src/api/loginHandler.d.ts +10 -0
  299. package/dist/esm/src/api/loginHandler.js +2 -0
  300. package/dist/esm/src/api/loginHandler.js.map +1 -0
  301. package/dist/esm/src/api/logoutHandler.d.ts +8 -0
  302. package/dist/esm/src/api/logoutHandler.js +2 -0
  303. package/dist/esm/src/api/logoutHandler.js.map +1 -0
  304. package/dist/esm/src/api/passwordCheckHandler.d.ts +6 -0
  305. package/dist/esm/src/api/passwordCheckHandler.js +2 -0
  306. package/dist/esm/src/api/passwordCheckHandler.js.map +1 -0
  307. package/dist/esm/src/api/sendJson.d.ts +2 -0
  308. package/dist/esm/src/api/sendJson.js +2 -0
  309. package/dist/esm/src/api/sendJson.js.map +1 -0
  310. package/dist/esm/src/api/setCookie.d.ts +2 -0
  311. package/dist/esm/src/api/setCookie.js +2 -0
  312. package/dist/esm/src/api/setCookie.js.map +1 -0
  313. package/dist/esm/src/hoc/LoginComponent.d.ts +8 -0
  314. package/dist/esm/src/hoc/LoginComponent.js +2 -0
  315. package/dist/esm/src/hoc/LoginComponent.js.map +1 -0
  316. package/dist/esm/src/hoc/index.d.ts +1 -0
  317. package/dist/esm/src/hoc/withPasswordProtect.d.ts +13 -0
  318. package/dist/esm/src/hoc/withPasswordProtect.js +2 -0
  319. package/dist/esm/src/hoc/withPasswordProtect.js.map +1 -0
  320. package/dist/esm/src/index.d.ts +2 -0
  321. package/dist/esm/src/index.js +2 -0
  322. package/dist/esm/src/index.js.map +1 -0
  323. package/package.json +145 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sources":["../../../../node_modules/semver/semver.js"],"sourcesContent":["exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1]\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n"],"names":["debug","exports","module","SemVer","process","env","NODE_DEBUG","test","args","Array","prototype","slice","call","arguments","unshift","console","log","apply","MAX_SAFE_INTEGER","Number","re","src","R","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULL","FULLPLAIN","LOOSEPLAIN","LOOSE","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","XRANGE","XRANGELOOSE","COERCE","LONETILDE","TILDETRIM","RegExp","TILDE","TILDELOOSE","LONECARET","CARETTRIM","CARET","CARETLOOSE","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","HYPHENRANGE","HYPHENRANGELOOSE","STAR","i","parse","version","options","loose","includePrerelease","length","er","TypeError","this","m","trim","match","raw","major","minor","patch","prerelease","split","map","id","num","build","format","v","s","replace","join","toString","compare","other","compareMain","comparePre","compareIdentifiers","a","b","undefined","inc","release","identifier","push","isNaN","Error","version1","version2","eq","v1","v2","prefix","defaultResult","key","numeric","anum","bnum","gt","lt","neq","gte","lte","cmp","op","Comparator","comp","value","semver","ANY","operator","list","sort","rcompare","Range","range","set","parseRange","filter","c","isX","toLowerCase","hyphenReplace","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","testSet","allowed","satisfies","outside","hilo","gtfn","ltefn","ltfn","ecomp","comparators","high","low","forEach","comparator","r","intersects","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","hr","compRe","_","M","p","pr","ret","replaceCaret","replaceCarets","replaceTilde","replaceTildes","gtlt","xM","xm","xp","replaceXRange","replaceXRanges","replaceStars","parseComparator","some","thisComparators","every","thisComparator","rangeComparators","rangeComparator","versions","max","maxSV","rangeObj","min","minSV","minver","compver","parsed","r1","r2"],"mappings":"iGAEA,IAAIA,EAFJC,EAAUC,UAAiBC,EAQzBH,EAJqB,iBAAZI,SACPA,QAAQC,KACRD,QAAQC,IAAIC,YACZ,cAAcC,KAAKH,QAAQC,IAAIC,YACzB,WACN,IAAIE,EAAOC,MAAMC,UAAUC,MAAMC,KAAKC,UAAW,GACjDL,EAAKM,QAAQ,UACbC,QAAQC,IAAIC,MAAMF,QAASP,IAGrB,aAKVP,sBAA8B,QAE9B,IACIiB,EAAmBC,OAAOD,kBACD,iBAMzBE,EAAKnB,KAAa,GAClBoB,EAAMpB,MAAc,GACpBqB,EAAI,EAQJC,EAAoBD,IACxBD,EAAIE,GAAqB,cACzB,IAAIC,EAAyBF,IAC7BD,EAAIG,GAA0B,SAM9B,IAAIC,EAAuBH,IAC3BD,EAAII,GAAwB,6BAK5B,IAAIC,EAAcJ,IAClBD,EAAIK,GAAe,IAAML,EAAIE,GAAV,QACMF,EAAIE,GADV,QAEMF,EAAIE,GAAqB,IAElD,IAAII,EAAmBL,IACvBD,EAAIM,GAAoB,IAAMN,EAAIG,GAAV,QACMH,EAAIG,GADV,QAEMH,EAAIG,GAA0B,IAK5D,IAAII,EAAuBN,IAC3BD,EAAIO,GAAwB,MAAQP,EAAIE,GACZ,IAAMF,EAAII,GAAwB,IAE9D,IAAII,EAA4BP,IAChCD,EAAIQ,GAA6B,MAAQR,EAAIG,GACZ,IAAMH,EAAII,GAAwB,IAMnE,IAAIK,EAAaR,IACjBD,EAAIS,GAAc,QAAUT,EAAIO,GACd,SAAWP,EAAIO,GAAwB,OAEzD,IAAIG,EAAkBT,IACtBD,EAAIU,GAAmB,SAAWV,EAAIQ,GACf,SAAWR,EAAIQ,GAA6B,OAKnE,IAAIG,EAAkBV,IACtBD,EAAIW,GAAmB,gBAMvB,IAAIC,EAAQX,IACZD,EAAIY,GAAS,UAAYZ,EAAIW,GAChB,SAAWX,EAAIW,GAAmB,OAW/C,IAAIE,EAAOZ,IACPa,EAAY,KAAOd,EAAIK,GACXL,EAAIS,GAAc,IAClBT,EAAIY,GAAS,IAE7BZ,EAAIa,GAAQ,IAAMC,EAAY,IAK9B,IAAIC,EAAa,WAAaf,EAAIM,GACjBN,EAAIU,GAAmB,IACvBV,EAAIY,GAAS,IAE1BI,EAAQf,IACZD,EAAIgB,GAAS,IAAMD,EAAa,IAEhC,IAAIE,EAAOhB,IACXD,EAAIiB,GAAQ,eAKZ,IAAIC,EAAwBjB,IAC5BD,EAAIkB,GAAyBlB,EAAIG,GAA0B,WAC3D,IAAIgB,EAAmBlB,IACvBD,EAAImB,GAAoBnB,EAAIE,GAAqB,WAEjD,IAAIkB,EAAcnB,IAClBD,EAAIoB,GAAe,YAAcpB,EAAImB,GAAlB,WACYnB,EAAImB,GADhB,WAEYnB,EAAImB,GAFhB,OAGQnB,EAAIS,GAAc,KAC1BT,EAAIY,GAJJ,QAOnB,IAAIS,EAAmBpB,IACvBD,EAAIqB,GAAoB,YAAcrB,EAAIkB,GAAlB,WACYlB,EAAIkB,GADhB,WAEYlB,EAAIkB,GAFhB,OAGQlB,EAAIU,GAAmB,KAC/BV,EAAIY,GAJJ,QAOxB,IAAIU,EAASrB,IACbD,EAAIsB,GAAU,IAAMtB,EAAIiB,GAAQ,OAASjB,EAAIoB,GAAe,IAC5D,IAAIG,EAActB,IAClBD,EAAIuB,GAAe,IAAMvB,EAAIiB,GAAQ,OAASjB,EAAIqB,GAAoB,IAItE,IAAIG,EAASvB,IACbD,EAAIwB,GAAU,4EAQd,IAAIC,EAAYxB,IAChBD,EAAIyB,GAAa,UAEjB,IAAIC,EAAYzB,IAChBD,EAAI0B,GAAa,SAAW1B,EAAIyB,GAAa,OAC7C1B,EAAG2B,GAAa,IAAIC,OAAO3B,EAAI0B,GAAY,KAC3C,IAEIE,EAAQ3B,IACZD,EAAI4B,GAAS,IAAM5B,EAAIyB,GAAazB,EAAIoB,GAAe,IACvD,IAAIS,EAAa5B,IACjBD,EAAI6B,GAAc,IAAM7B,EAAIyB,GAAazB,EAAIqB,GAAoB,IAIjE,IAAIS,EAAY7B,IAChBD,EAAI8B,GAAa,UAEjB,IAAIC,EAAY9B,IAChBD,EAAI+B,GAAa,SAAW/B,EAAI8B,GAAa,OAC7C/B,EAAGgC,GAAa,IAAIJ,OAAO3B,EAAI+B,GAAY,KAC3C,IAEIC,EAAQ/B,IACZD,EAAIgC,GAAS,IAAMhC,EAAI8B,GAAa9B,EAAIoB,GAAe,IACvD,IAAIa,EAAahC,IACjBD,EAAIiC,GAAc,IAAMjC,EAAI8B,GAAa9B,EAAIqB,GAAoB,IAGjE,IAAIa,EAAkBjC,IACtBD,EAAIkC,GAAmB,IAAMlC,EAAIiB,GAAQ,QAAUF,EAAa,QAChE,IAAIoB,EAAalC,IACjBD,EAAImC,GAAc,IAAMnC,EAAIiB,GAAQ,QAAUH,EAAY,QAI1D,IAAIsB,EAAiBnC,IACrBD,EAAIoC,GAAkB,SAAWpC,EAAIiB,GACf,QAAUF,EAAa,IAAMf,EAAIoB,GAAe,IAGtErB,EAAGqC,GAAkB,IAAIT,OAAO3B,EAAIoC,GAAiB,KACrD,IAMIC,EAAcpC,IAClBD,EAAIqC,GAAe,SAAWrC,EAAIoB,GAAf,cAEMpB,EAAIoB,GAFV,SAKnB,IAAIkB,EAAmBrC,IACvBD,EAAIsC,GAAoB,SAAWtC,EAAIqB,GAAf,cAEMrB,EAAIqB,GAFV,SAMxB,IAAIkB,EAAOtC,IACXD,EAAIuC,GAAQ,kBAIZ,IAAK,IAAIC,EAAI,EAAGA,EALLvC,GAKYuC,IACrB7D,EAAM6D,EAAGxC,EAAIwC,IACRzC,EAAGyC,KACNzC,EAAGyC,GAAK,IAAIb,OAAO3B,EAAIwC,KAK3B,SAASC,EAAOC,EAASC,GAQvB,GAPKA,GAA8B,iBAAZA,IACrBA,EAAU,CACRC,QAASD,EACTE,mBAAmB,IAInBH,aAAmB5D,EACrB,OAAO4D,EAGT,GAAuB,iBAAZA,EACT,OAAO,KAGT,GAAIA,EAAQI,OA/OG,IAgPb,OAAO,KAIT,KADQH,EAAQC,MAAQ7C,EAAGiB,GAASjB,EAAGc,IAChC3B,KAAKwD,GACV,OAAO,KAGT,IACE,OAAO,IAAI5D,EAAO4D,EAASC,GAC3B,MAAOI,GACP,OAAO,MAkBX,SAASjE,EAAQ4D,EAASC,GAOxB,GANKA,GAA8B,iBAAZA,IACrBA,EAAU,CACRC,QAASD,EACTE,mBAAmB,IAGnBH,aAAmB5D,EAAQ,CAC7B,GAAI4D,EAAQE,QAAUD,EAAQC,MAC5B,OAAOF,EAEPA,EAAUA,EAAQA,aAEf,GAAuB,iBAAZA,EAChB,MAAM,IAAIM,UAAU,oBAAsBN,GAG5C,GAAIA,EAAQI,OA9RG,IA+Rb,MAAM,IAAIE,UAAU,yCAGtB,KAAMC,gBAAgBnE,GACpB,OAAO,IAAIA,EAAO4D,EAASC,GAG7BhE,EAAM,SAAU+D,EAASC,GACzBM,KAAKN,QAAUA,EACfM,KAAKL,QAAUD,EAAQC,MAEvB,IAAIM,EAAIR,EAAQS,OAAOC,MAAMT,EAAQC,MAAQ7C,EAAGiB,GAASjB,EAAGc,IAE5D,IAAKqC,EACH,MAAM,IAAIF,UAAU,oBAAsBN,GAU5C,GAPAO,KAAKI,IAAMX,EAGXO,KAAKK,OAASJ,EAAE,GAChBD,KAAKM,OAASL,EAAE,GAChBD,KAAKO,OAASN,EAAE,GAEZD,KAAKK,MAAQzD,GAAoBoD,KAAKK,MAAQ,EAChD,MAAM,IAAIN,UAAU,yBAGtB,GAAIC,KAAKM,MAAQ1D,GAAoBoD,KAAKM,MAAQ,EAChD,MAAM,IAAIP,UAAU,yBAGtB,GAAIC,KAAKO,MAAQ3D,GAAoBoD,KAAKO,MAAQ,EAChD,MAAM,IAAIR,UAAU,yBAIjBE,EAAE,GAGLD,KAAKQ,WAAaP,EAAE,GAAGQ,MAAM,KAAKC,KAAI,SAAUC,GAC9C,GAAI,WAAW1E,KAAK0E,GAAK,CACvB,IAAIC,GAAOD,EACX,GAAIC,GAAO,GAAKA,EAAMhE,EACpB,OAAOgE,EAGX,OAAOD,KATTX,KAAKQ,WAAa,GAapBR,KAAKa,MAAQZ,EAAE,GAAKA,EAAE,GAAGQ,MAAM,KAAO,GACtCT,KAAKc,SArHPnF,QAAgB6D,EAiChB7D,QACA,SAAgB8D,EAASC,GACvB,IAAIqB,EAAIvB,EAAMC,EAASC,GACvB,OAAOqB,EAAIA,EAAEtB,QAAU,MAGzB9D,QACA,SAAgB8D,EAASC,GACvB,IAAIsB,EAAIxB,EAAMC,EAAQS,OAAOe,QAAQ,SAAU,IAAKvB,GACpD,OAAOsB,EAAIA,EAAEvB,QAAU,MAGzB9D,SAAiBE,EA2EjBA,EAAOO,UAAU0E,OAAS,WAKxB,OAJAd,KAAKP,QAAUO,KAAKK,MAAQ,IAAML,KAAKM,MAAQ,IAAMN,KAAKO,MACtDP,KAAKQ,WAAWX,SAClBG,KAAKP,SAAW,IAAMO,KAAKQ,WAAWU,KAAK,MAEtClB,KAAKP,SAGd5D,EAAOO,UAAU+E,SAAW,WAC1B,OAAOnB,KAAKP,SAGd5D,EAAOO,UAAUgF,QAAU,SAAUC,GAMnC,OALA3F,EAAM,iBAAkBsE,KAAKP,QAASO,KAAKN,QAAS2B,GAC9CA,aAAiBxF,IACrBwF,EAAQ,IAAIxF,EAAOwF,EAAOrB,KAAKN,UAG1BM,KAAKsB,YAAYD,IAAUrB,KAAKuB,WAAWF,IAGpDxF,EAAOO,UAAUkF,YAAc,SAAUD,GAKvC,OAJMA,aAAiBxF,IACrBwF,EAAQ,IAAIxF,EAAOwF,EAAOrB,KAAKN,UAG1B8B,EAAmBxB,KAAKK,MAAOgB,EAAMhB,QACrCmB,EAAmBxB,KAAKM,MAAOe,EAAMf,QACrCkB,EAAmBxB,KAAKO,MAAOc,EAAMd,QAG9C1E,EAAOO,UAAUmF,WAAa,SAAUF,GAMtC,GALMA,aAAiBxF,IACrBwF,EAAQ,IAAIxF,EAAOwF,EAAOrB,KAAKN,UAI7BM,KAAKQ,WAAWX,SAAWwB,EAAMb,WAAWX,OAC9C,OAAQ,EACH,IAAKG,KAAKQ,WAAWX,QAAUwB,EAAMb,WAAWX,OACrD,OAAO,EACF,IAAKG,KAAKQ,WAAWX,SAAWwB,EAAMb,WAAWX,OACtD,OAAO,EAGT,IAAIN,EAAI,EACR,EAAG,CACD,IAAIkC,EAAIzB,KAAKQ,WAAWjB,GACpBmC,EAAIL,EAAMb,WAAWjB,GAEzB,GADA7D,EAAM,qBAAsB6D,EAAGkC,EAAGC,QACxBC,IAANF,QAAyBE,IAAND,EACrB,OAAO,EACF,QAAUC,IAAND,EACT,OAAO,EACF,QAAUC,IAANF,EACT,OAAQ,EACH,GAAIA,IAAMC,EAGf,OAAOF,EAAmBC,EAAGC,WAEtBnC,IAKb1D,EAAOO,UAAUwF,IAAM,SAAUC,EAASC,GACxC,OAAQD,GACN,IAAK,WACH7B,KAAKQ,WAAWX,OAAS,EACzBG,KAAKO,MAAQ,EACbP,KAAKM,MAAQ,EACbN,KAAKK,QACLL,KAAK4B,IAAI,MAAOE,GAChB,MACF,IAAK,WACH9B,KAAKQ,WAAWX,OAAS,EACzBG,KAAKO,MAAQ,EACbP,KAAKM,QACLN,KAAK4B,IAAI,MAAOE,GAChB,MACF,IAAK,WAIH9B,KAAKQ,WAAWX,OAAS,EACzBG,KAAK4B,IAAI,QAASE,GAClB9B,KAAK4B,IAAI,MAAOE,GAChB,MAGF,IAAK,aAC4B,IAA3B9B,KAAKQ,WAAWX,QAClBG,KAAK4B,IAAI,QAASE,GAEpB9B,KAAK4B,IAAI,MAAOE,GAChB,MAEF,IAAK,QAKgB,IAAf9B,KAAKM,OACU,IAAfN,KAAKO,OACsB,IAA3BP,KAAKQ,WAAWX,QAClBG,KAAKK,QAEPL,KAAKM,MAAQ,EACbN,KAAKO,MAAQ,EACbP,KAAKQ,WAAa,GAClB,MACF,IAAK,QAKgB,IAAfR,KAAKO,OAA0C,IAA3BP,KAAKQ,WAAWX,QACtCG,KAAKM,QAEPN,KAAKO,MAAQ,EACbP,KAAKQ,WAAa,GAClB,MACF,IAAK,QAK4B,IAA3BR,KAAKQ,WAAWX,QAClBG,KAAKO,QAEPP,KAAKQ,WAAa,GAClB,MAGF,IAAK,MACH,GAA+B,IAA3BR,KAAKQ,WAAWX,OAClBG,KAAKQ,WAAa,CAAC,OACd,CAEL,IADA,IAAIjB,EAAIS,KAAKQ,WAAWX,SACfN,GAAK,GACsB,iBAAvBS,KAAKQ,WAAWjB,KACzBS,KAAKQ,WAAWjB,KAChBA,GAAK,IAGE,IAAPA,GAEFS,KAAKQ,WAAWuB,KAAK,GAGrBD,IAGE9B,KAAKQ,WAAW,KAAOsB,EACrBE,MAAMhC,KAAKQ,WAAW,MACxBR,KAAKQ,WAAa,CAACsB,EAAY,IAGjC9B,KAAKQ,WAAa,CAACsB,EAAY,IAGnC,MAEF,QACE,MAAM,IAAIG,MAAM,+BAAiCJ,GAIrD,OAFA7B,KAAKc,SACLd,KAAKI,IAAMJ,KAAKP,QACTO,MAGTrE,MACA,SAAc8D,EAASoC,EAASlC,EAAOmC,GACd,qBACrBA,EAAanC,EACbA,OAAQgC,GAGV,IACE,OAAO,IAAI9F,EAAO4D,EAASE,GAAOiC,IAAIC,EAASC,GAAYrC,QAC3D,MAAOK,GACP,OAAO,OAIXnE,OACA,SAAeuG,EAAUC,GACvB,GAAIC,EAAGF,EAAUC,GACf,OAAO,KAEP,IAAIE,EAAK7C,EAAM0C,GACXI,EAAK9C,EAAM2C,GACXI,EAAS,GACb,GAAIF,EAAG7B,WAAWX,QAAUyC,EAAG9B,WAAWX,OAAQ,CAChD0C,EAAS,MACT,IAAIC,EAAgB,aAEtB,IAAK,IAAIC,KAAOJ,EACd,IAAY,UAARI,GAA2B,UAARA,GAA2B,UAARA,IACpCJ,EAAGI,KAASH,EAAGG,GACjB,OAAOF,EAASE,EAItB,OAAOD,GAIX7G,qBAA6B6F,EAE7B,IAAIkB,EAAU,WACd,SAASlB,EAAoBC,EAAGC,GAC9B,IAAIiB,EAAOD,EAAQzG,KAAKwF,GACpBmB,EAAOF,EAAQzG,KAAKyF,GAOxB,OALIiB,GAAQC,IACVnB,GAAKA,EACLC,GAAKA,GAGAD,IAAMC,EAAI,EACZiB,IAASC,GAAS,EAClBA,IAASD,EAAQ,EAClBlB,EAAIC,GAAK,EACT,EAwBN,SAASN,EAASK,EAAGC,EAAG/B,GACtB,OAAO,IAAI9D,EAAO4F,EAAG9B,GAAOyB,QAAQ,IAAIvF,EAAO6F,EAAG/B,IA4BpD,SAASkD,EAAIpB,EAAGC,EAAG/B,GACjB,OAAOyB,EAAQK,EAAGC,EAAG/B,GAAS,EAIhC,SAASmD,EAAIrB,EAAGC,EAAG/B,GACjB,OAAOyB,EAAQK,EAAGC,EAAG/B,GAAS,EAIhC,SAASyC,EAAIX,EAAGC,EAAG/B,GACjB,OAAgC,IAAzByB,EAAQK,EAAGC,EAAG/B,GAIvB,SAASoD,EAAKtB,EAAGC,EAAG/B,GAClB,OAAgC,IAAzByB,EAAQK,EAAGC,EAAG/B,GAIvB,SAASqD,GAAKvB,EAAGC,EAAG/B,GAClB,OAAOyB,EAAQK,EAAGC,EAAG/B,IAAU,EAIjC,SAASsD,GAAKxB,EAAGC,EAAG/B,GAClB,OAAOyB,EAAQK,EAAGC,EAAG/B,IAAU,EAIjC,SAASuD,GAAKzB,EAAG0B,EAAIzB,EAAG/B,GACtB,OAAQwD,GACN,IAAK,MAKH,MAJiB,iBAAN1B,IACTA,EAAIA,EAAEhC,SACS,iBAANiC,IACTA,EAAIA,EAAEjC,SACDgC,IAAMC,EAEf,IAAK,MAKH,MAJiB,iBAAND,IACTA,EAAIA,EAAEhC,SACS,iBAANiC,IACTA,EAAIA,EAAEjC,SACDgC,IAAMC,EAEf,IAAK,GACL,IAAK,IACL,IAAK,KACH,OAAOU,EAAGX,EAAGC,EAAG/B,GAElB,IAAK,KACH,OAAOoD,EAAItB,EAAGC,EAAG/B,GAEnB,IAAK,IACH,OAAOkD,EAAGpB,EAAGC,EAAG/B,GAElB,IAAK,KACH,OAAOqD,GAAIvB,EAAGC,EAAG/B,GAEnB,IAAK,IACH,OAAOmD,EAAGrB,EAAGC,EAAG/B,GAElB,IAAK,KACH,OAAOsD,GAAIxB,EAAGC,EAAG/B,GAEnB,QACE,MAAM,IAAII,UAAU,qBAAuBoD,IAKjD,SAASC,GAAYC,EAAM3D,GAQzB,GAPKA,GAA8B,iBAAZA,IACrBA,EAAU,CACRC,QAASD,EACTE,mBAAmB,IAInByD,aAAgBD,GAAY,CAC9B,GAAIC,EAAK1D,UAAYD,EAAQC,MAC3B,OAAO0D,EAEPA,EAAOA,EAAKC,MAIhB,KAAMtD,gBAAgBoD,IACpB,OAAO,IAAIA,GAAWC,EAAM3D,GAG9BhE,EAAM,aAAc2H,EAAM3D,GAC1BM,KAAKN,QAAUA,EACfM,KAAKL,QAAUD,EAAQC,MACvBK,KAAKR,MAAM6D,GAEPrD,KAAKuD,SAAWC,GAClBxD,KAAKsD,MAAQ,GAEbtD,KAAKsD,MAAQtD,KAAKyD,SAAWzD,KAAKuD,OAAO9D,QAG3C/D,EAAM,OAAQsE,MAzJhBrE,sBACA,SAA8B8F,EAAGC,GAC/B,OAAOF,EAAmBE,EAAGD,IAG/B9F,QACA,SAAgB8F,EAAG9B,GACjB,OAAO,IAAI9D,EAAO4F,EAAG9B,GAAOU,OAG9B1E,QACA,SAAgB8F,EAAG9B,GACjB,OAAO,IAAI9D,EAAO4F,EAAG9B,GAAOW,OAG9B3E,QACA,SAAgB8F,EAAG9B,GACjB,OAAO,IAAI9D,EAAO4F,EAAG9B,GAAOY,OAG9B5E,UAAkByF,EAKlBzF,eACA,SAAuB8F,EAAGC,GACxB,OAAON,EAAQK,EAAGC,GAAG,IAGvB/F,WACA,SAAmB8F,EAAGC,EAAG/B,GACvB,OAAOyB,EAAQM,EAAGD,EAAG9B,IAGvBhE,OACA,SAAe+H,EAAM/D,GACnB,OAAO+D,EAAKC,MAAK,SAAUlC,EAAGC,GAC5B,OAAO/F,EAAQyF,QAAQK,EAAGC,EAAG/B,OAIjChE,QACA,SAAgB+H,EAAM/D,GACpB,OAAO+D,EAAKC,MAAK,SAAUlC,EAAGC,GAC5B,OAAO/F,EAAQiI,SAASnC,EAAGC,EAAG/B,OAIlChE,KAAakH,EAKblH,KAAamH,EAKbnH,KAAayG,EAKbzG,MAAcoH,EAKdpH,MAAcqH,GAKdrH,MAAcsH,GAKdtH,MAAcuH,GA0CdvH,aAAqByH,GAmCrB,IAAII,GAAM,GAuFV,SAASK,GAAOC,EAAOpE,GAQrB,GAPKA,GAA8B,iBAAZA,IACrBA,EAAU,CACRC,QAASD,EACTE,mBAAmB,IAInBkE,aAAiBD,GACnB,OAAIC,EAAMnE,UAAYD,EAAQC,OAC1BmE,EAAMlE,sBAAwBF,EAAQE,kBACjCkE,EAEA,IAAID,GAAMC,EAAM1D,IAAKV,GAIhC,GAAIoE,aAAiBV,GACnB,OAAO,IAAIS,GAAMC,EAAMR,MAAO5D,GAGhC,KAAMM,gBAAgB6D,IACpB,OAAO,IAAIA,GAAMC,EAAOpE,GAgB1B,GAbAM,KAAKN,QAAUA,EACfM,KAAKL,QAAUD,EAAQC,MACvBK,KAAKJ,oBAAsBF,EAAQE,kBAGnCI,KAAKI,IAAM0D,EACX9D,KAAK+D,IAAMD,EAAMrD,MAAM,cAAcC,KAAI,SAAUoD,GACjD,OAAO9D,KAAKgE,WAAWF,EAAM5D,UAC5BF,MAAMiE,QAAO,SAAUC,GAExB,OAAOA,EAAErE,WAGNG,KAAK+D,IAAIlE,OACZ,MAAM,IAAIE,UAAU,yBAA2B+D,GAGjD9D,KAAKc,SAgGP,SAASqD,GAAKxD,GACZ,OAAQA,GAA2B,MAArBA,EAAGyD,eAAgC,MAAPzD,EAkM5C,SAAS0D,GAAeC,EACtBC,EAAMC,EAAIC,EAAIC,EAAIC,EAAKC,EACvBC,EAAIC,EAAIC,EAAIC,EAAIC,EAAKC,GAuBrB,QArBEX,EADEJ,GAAIK,GACC,GACEL,GAAIM,GACN,KAAOD,EAAK,OACVL,GAAIO,GACN,KAAOF,EAAK,IAAMC,EAAK,KAEvB,KAAOF,GAeD,KAXbM,EADEV,GAAIW,GACD,GACIX,GAAIY,GACR,MAAQD,EAAK,GAAK,OACdX,GAAIa,GACR,IAAMF,EAAK,MAAQC,EAAK,GAAK,KACzBE,EACJ,KAAOH,EAAK,IAAMC,EAAK,IAAMC,EAAK,IAAMC,EAExC,KAAOJ,IAGW3E,OAqB3B,SAASiF,GAASpB,EAAKtE,EAASC,GAC9B,IAAK,IAAIH,EAAI,EAAGA,EAAIwE,EAAIlE,OAAQN,IAC9B,IAAKwE,EAAIxE,GAAGtD,KAAKwD,GACf,OAAO,EAIX,GAAIA,EAAQe,WAAWX,SAAWH,EAAQE,kBAAmB,CAM3D,IAAKL,EAAI,EAAGA,EAAIwE,EAAIlE,OAAQN,IAE1B,GADA7D,EAAMqI,EAAIxE,GAAGgE,QACTQ,EAAIxE,GAAGgE,SAAWC,IAIlBO,EAAIxE,GAAGgE,OAAO/C,WAAWX,OAAS,EAAG,CACvC,IAAIuF,EAAUrB,EAAIxE,GAAGgE,OACrB,GAAI6B,EAAQ/E,QAAUZ,EAAQY,OAC1B+E,EAAQ9E,QAAUb,EAAQa,OAC1B8E,EAAQ7E,QAAUd,EAAQc,MAC5B,OAAO,EAMb,OAAO,EAGT,OAAO,EAIT,SAAS8E,GAAW5F,EAASqE,EAAOpE,GAClC,IACEoE,EAAQ,IAAID,GAAMC,EAAOpE,GACzB,MAAOI,GACP,OAAO,EAET,OAAOgE,EAAM7H,KAAKwD,GA6HpB,SAAS6F,GAAS7F,EAASqE,EAAOyB,EAAM7F,GAItC,IAAI8F,EAAMC,EAAOC,EAAMrC,EAAMsC,EAC7B,OAJAlG,EAAU,IAAI5D,EAAO4D,EAASC,GAC9BoE,EAAQ,IAAID,GAAMC,EAAOpE,GAGjB6F,GACN,IAAK,IACHC,EAAO3C,EACP4C,EAAQxC,GACRyC,EAAO5C,EACPO,EAAO,IACPsC,EAAQ,KACR,MACF,IAAK,IACHH,EAAO1C,EACP2C,EAAQzC,GACR0C,EAAO7C,EACPQ,EAAO,IACPsC,EAAQ,KACR,MACF,QACE,MAAM,IAAI5F,UAAU,yCAIxB,GAAIsF,GAAU5F,EAASqE,EAAOpE,GAC5B,OAAO,EAMT,IAAK,IAAIH,EAAI,EAAGA,EAAIuE,EAAMC,IAAIlE,SAAUN,EAAG,CACzC,IAAIqG,EAAc9B,EAAMC,IAAIxE,GAExBsG,EAAO,KACPC,EAAM,KAiBV,GAfAF,EAAYG,SAAQ,SAAUC,GACxBA,EAAWzC,SAAWC,KACxBwC,EAAa,IAAI5C,GAAW,YAE9ByC,EAAOA,GAAQG,EACfF,EAAMA,GAAOE,EACTR,EAAKQ,EAAWzC,OAAQsC,EAAKtC,OAAQ7D,GACvCmG,EAAOG,EACEN,EAAKM,EAAWzC,OAAQuC,EAAIvC,OAAQ7D,KAC7CoG,EAAME,MAMNH,EAAKpC,WAAaJ,GAAQwC,EAAKpC,WAAakC,EAC9C,OAAO,EAKT,KAAMG,EAAIrC,UAAYqC,EAAIrC,WAAaJ,IACnCoC,EAAMhG,EAASqG,EAAIvC,QACrB,OAAO,EACF,GAAIuC,EAAIrC,WAAakC,GAASD,EAAKjG,EAASqG,EAAIvC,QACrD,OAAO,EAGX,OAAO,EA3rBTH,GAAWhH,UAAUoD,MAAQ,SAAU6D,GACrC,IAAI4C,EAAIjG,KAAKN,QAAQC,MAAQ7C,EAAGmC,GAAmBnC,EAAGoC,GAClDe,EAAIoD,EAAKlD,MAAM8F,GAEnB,IAAKhG,EACH,MAAM,IAAIF,UAAU,uBAAyBsD,GAG/CrD,KAAKyD,SAAWxD,EAAE,GACI,MAAlBD,KAAKyD,WACPzD,KAAKyD,SAAW,IAIbxD,EAAE,GAGLD,KAAKuD,OAAS,IAAI1H,EAAOoE,EAAE,GAAID,KAAKN,QAAQC,OAF5CK,KAAKuD,OAASC,IAMlBJ,GAAWhH,UAAU+E,SAAW,WAC9B,OAAOnB,KAAKsD,OAGdF,GAAWhH,UAAUH,KAAO,SAAUwD,GAGpC,OAFA/D,EAAM,kBAAmB+D,EAASO,KAAKN,QAAQC,OAE3CK,KAAKuD,SAAWC,KAIG,iBAAZ/D,IACTA,EAAU,IAAI5D,EAAO4D,EAASO,KAAKN,UAG9BwD,GAAIzD,EAASO,KAAKyD,SAAUzD,KAAKuD,OAAQvD,KAAKN,WAGvD0D,GAAWhH,UAAU8J,WAAa,SAAU7C,EAAM3D,GAChD,KAAM2D,aAAgBD,IACpB,MAAM,IAAIrD,UAAU,4BAUtB,IAAIoG,EAEJ,GATKzG,GAA8B,iBAAZA,IACrBA,EAAU,CACRC,QAASD,EACTE,mBAAmB,IAMD,KAAlBI,KAAKyD,SAEP,OADA0C,EAAW,IAAItC,GAAMR,EAAKC,MAAO5D,GAC1B2F,GAAUrF,KAAKsD,MAAO6C,EAAUzG,GAClC,GAAsB,KAAlB2D,EAAKI,SAEd,OADA0C,EAAW,IAAItC,GAAM7D,KAAKsD,MAAO5D,GAC1B2F,GAAUhC,EAAKE,OAAQ4C,EAAUzG,GAG1C,IAAI0G,IACiB,OAAlBpG,KAAKyD,UAAuC,MAAlBzD,KAAKyD,UACb,OAAlBJ,EAAKI,UAAuC,MAAlBJ,EAAKI,UAC9B4C,IACiB,OAAlBrG,KAAKyD,UAAuC,MAAlBzD,KAAKyD,UACb,OAAlBJ,EAAKI,UAAuC,MAAlBJ,EAAKI,UAC9B6C,EAAatG,KAAKuD,OAAO9D,UAAY4D,EAAKE,OAAO9D,QACjD8G,IACiB,OAAlBvG,KAAKyD,UAAuC,OAAlBzD,KAAKyD,UACb,OAAlBJ,EAAKI,UAAuC,OAAlBJ,EAAKI,UAC9B+C,EACFtD,GAAIlD,KAAKuD,OAAQ,IAAKF,EAAKE,OAAQ7D,KACf,OAAlBM,KAAKyD,UAAuC,MAAlBzD,KAAKyD,YACd,OAAlBJ,EAAKI,UAAuC,MAAlBJ,EAAKI,UAC9BgD,EACFvD,GAAIlD,KAAKuD,OAAQ,IAAKF,EAAKE,OAAQ7D,KACf,OAAlBM,KAAKyD,UAAuC,MAAlBzD,KAAKyD,YACd,OAAlBJ,EAAKI,UAAuC,MAAlBJ,EAAKI,UAElC,OAAO2C,GAA2BC,GAC/BC,GAAcC,GACfC,GAA8BC,GAGlC9K,QAAgBkI,GA8ChBA,GAAMzH,UAAU0E,OAAS,WAIvB,OAHAd,KAAK8D,MAAQ9D,KAAK+D,IAAIrD,KAAI,SAAUgG,GAClC,OAAOA,EAAMxF,KAAK,KAAKhB,UACtBgB,KAAK,MAAMhB,OACPF,KAAK8D,OAGdD,GAAMzH,UAAU+E,SAAW,WACzB,OAAOnB,KAAK8D,OAGdD,GAAMzH,UAAU4H,WAAa,SAAUF,GACrC,IAAInE,EAAQK,KAAKN,QAAQC,MACzBmE,EAAQA,EAAM5D,OAEd,IAAIyG,EAAKhH,EAAQ7C,EAAGuC,GAAoBvC,EAAGsC,GAC3C0E,EAAQA,EAAM7C,QAAQ0F,EAAItC,IAC1B3I,EAAM,iBAAkBoI,GAExBA,EAAQA,EAAM7C,QAAQnE,EAAGqC,GA9qBC,UA+qB1BzD,EAAM,kBAAmBoI,EAAOhH,EAAGqC,IASnC2E,GAHAA,GAHAA,EAAQA,EAAM7C,QAAQnE,EAAG2B,GAttBJ,QAytBPwC,QAAQnE,EAAGgC,GA1sBJ,QA6sBP2B,MAAM,OAAOS,KAAK,KAKhC,IAAI0F,EAASjH,EAAQ7C,EAAGmC,GAAmBnC,EAAGoC,GAC1C6E,EAAMD,EAAMrD,MAAM,KAAKC,KAAI,SAAU2C,GACvC,OA4CJ,SAA0BA,EAAM3D,GAU9B,OATAhE,EAAM,OAAQ2H,EAAM3D,GACpB2D,EA6DF,SAAwBA,EAAM3D,GAC5B,OAAO2D,EAAKnD,OAAOO,MAAM,OAAOC,KAAI,SAAU2C,GAC5C,OAIJ,SAAuBA,EAAM3D,GAC3BhE,EAAM,QAAS2H,EAAM3D,GACrB,IAAIuG,EAAIvG,EAAQC,MAAQ7C,EAAGkC,GAAclC,EAAGiC,GAC5C,OAAOsE,EAAKpC,QAAQgF,GAAG,SAAUY,EAAGC,EAAG7G,EAAG8G,EAAGC,GAE3C,IAAIC,EA2CJ,OA5CAvL,EAAM,QAAS2H,EAAMwD,EAAGC,EAAG7G,EAAG8G,EAAGC,GAG7B7C,GAAI2C,GACNG,EAAM,GACG9C,GAAIlE,GACbgH,EAAM,KAAOH,EAAI,WAAaA,EAAI,GAAK,OAC9B3C,GAAI4C,GAEXE,EADQ,MAANH,EACI,KAAOA,EAAI,IAAM7G,EAAI,OAAS6G,EAAI,MAAQ7G,EAAI,GAAK,KAEnD,KAAO6G,EAAI,IAAM7G,EAAI,SAAW6G,EAAI,GAAK,OAExCE,GACTtL,EAAM,kBAAmBsL,GAGrBC,EAFM,MAANH,EACQ,MAAN7G,EACI,KAAO6G,EAAI,IAAM7G,EAAI,IAAM8G,EAAI,IAAMC,EACrC,KAAOF,EAAI,IAAM7G,EAAI,MAAQ8G,EAAI,GAEjC,KAAOD,EAAI,IAAM7G,EAAI,IAAM8G,EAAI,IAAMC,EACrC,KAAOF,EAAI,MAAQ7G,EAAI,GAAK,KAG9B,KAAO6G,EAAI,IAAM7G,EAAI,IAAM8G,EAAI,IAAMC,EACrC,OAASF,EAAI,GAAK,SAG1BpL,EAAM,SAGFuL,EAFM,MAANH,EACQ,MAAN7G,EACI,KAAO6G,EAAI,IAAM7G,EAAI,IAAM8G,EAC3B,KAAOD,EAAI,IAAM7G,EAAI,MAAQ8G,EAAI,GAEjC,KAAOD,EAAI,IAAM7G,EAAI,IAAM8G,EAC3B,KAAOD,EAAI,MAAQ7G,EAAI,GAAK,KAG9B,KAAO6G,EAAI,IAAM7G,EAAI,IAAM8G,EAC3B,OAASD,EAAI,GAAK,QAI5BpL,EAAM,eAAgBuL,GACfA,KApDAC,CAAa7D,EAAM3D,MACzBwB,KAAK,KAhEDiG,CAAc9D,EAAM3D,GAC3BhE,EAAM,QAAS2H,GACfA,EAmBF,SAAwBA,EAAM3D,GAC5B,OAAO2D,EAAKnD,OAAOO,MAAM,OAAOC,KAAI,SAAU2C,GAC5C,OAIJ,SAAuBA,EAAM3D,GAC3B,IAAIuG,EAAIvG,EAAQC,MAAQ7C,EAAG8B,GAAc9B,EAAG6B,GAC5C,OAAO0E,EAAKpC,QAAQgF,GAAG,SAAUY,EAAGC,EAAG7G,EAAG8G,EAAGC,GAE3C,IAAIC,EAoBJ,OArBAvL,EAAM,QAAS2H,EAAMwD,EAAGC,EAAG7G,EAAG8G,EAAGC,GAG7B7C,GAAI2C,GACNG,EAAM,GACG9C,GAAIlE,GACbgH,EAAM,KAAOH,EAAI,WAAaA,EAAI,GAAK,OAC9B3C,GAAI4C,GAEbE,EAAM,KAAOH,EAAI,IAAM7G,EAAI,OAAS6G,EAAI,MAAQ7G,EAAI,GAAK,KAChD+G,GACTtL,EAAM,kBAAmBsL,GACzBC,EAAM,KAAOH,EAAI,IAAM7G,EAAI,IAAM8G,EAAI,IAAMC,EACrC,KAAOF,EAAI,MAAQ7G,EAAI,GAAK,MAGlCgH,EAAM,KAAOH,EAAI,IAAM7G,EAAI,IAAM8G,EAC3B,KAAOD,EAAI,MAAQ7G,EAAI,GAAK,KAGpCvE,EAAM,eAAgBuL,GACfA,KA5BAG,CAAa/D,EAAM3D,MACzBwB,KAAK,KAtBDmG,CAAchE,EAAM3D,GAC3BhE,EAAM,SAAU2H,GAChBA,EAmHF,SAAyBA,EAAM3D,GAE7B,OADAhE,EAAM,iBAAkB2H,EAAM3D,GACvB2D,EAAK5C,MAAM,OAAOC,KAAI,SAAU2C,GACrC,OAIJ,SAAwBA,EAAM3D,GAC5B2D,EAAOA,EAAKnD,OACZ,IAAI+F,EAAIvG,EAAQC,MAAQ7C,EAAGwB,GAAexB,EAAGuB,GAC7C,OAAOgF,EAAKpC,QAAQgF,GAAG,SAAUgB,EAAKK,EAAMR,EAAG7G,EAAG8G,EAAGC,GACnDtL,EAAM,SAAU2H,EAAM4D,EAAKK,EAAMR,EAAG7G,EAAG8G,EAAGC,GAC1C,IAAIO,EAAKpD,GAAI2C,GACTU,EAAKD,GAAMpD,GAAIlE,GACfwH,EAAKD,GAAMrD,GAAI4C,GAwDnB,MArDa,MAATO,GAFOG,IAGTH,EAAO,IAGLC,EAGAN,EAFW,MAATK,GAAyB,MAATA,EAEZ,SAGA,IAECA,GAdAG,GAiBLD,IACFvH,EAAI,GAEN8G,EAAI,EAES,MAATO,GAIFA,EAAO,KACHE,GACFV,GAAKA,EAAI,EACT7G,EAAI,EACJ8G,EAAI,IAEJ9G,GAAKA,EAAI,EACT8G,EAAI,IAEY,OAATO,IAGTA,EAAO,IACHE,EACFV,GAAKA,EAAI,EAET7G,GAAKA,EAAI,GAIbgH,EAAMK,EAAOR,EAAI,IAAM7G,EAAI,IAAM8G,GACxBS,EACTP,EAAM,KAAOH,EAAI,WAAaA,EAAI,GAAK,OAC9BW,IACTR,EAAM,KAAOH,EAAI,IAAM7G,EAAI,OAAS6G,EAAI,MAAQ7G,EAAI,GAAK,MAG3DvE,EAAM,gBAAiBuL,GAEhBA,KAnEAS,CAAcrE,EAAM3D,MAC1BwB,KAAK,KAvHDyG,CAAetE,EAAM3D,GAC5BhE,EAAM,SAAU2H,GAChBA,EA6LF,SAAuBA,EAAM3D,GAG3B,OAFAhE,EAAM,eAAgB2H,EAAM3D,GAErB2D,EAAKnD,OAAOe,QAAQnE,EAAGwC,GAAO,IAhM9BsI,CAAavE,EAAM3D,GAC1BhE,EAAM,QAAS2H,GACRA,EAtDEwE,CAAgBxE,EAAMrD,KAAKN,WACjCM,MAAMkB,KAAK,KAAKT,MAAM,OAWzB,OAVIT,KAAKN,QAAQC,QAEfoE,EAAMA,EAAIE,QAAO,SAAUZ,GACzB,QAASA,EAAKlD,MAAMyG,OAGxB7C,EAAMA,EAAIrD,KAAI,SAAU2C,GACtB,OAAO,IAAID,GAAWC,EAAMrD,KAAKN,WAChCM,OAKL6D,GAAMzH,UAAU8J,WAAa,SAAUpC,EAAOpE,GAC5C,KAAMoE,aAAiBD,IACrB,MAAM,IAAI9D,UAAU,uBAGtB,OAAOC,KAAK+D,IAAI+D,MAAK,SAAUC,GAC7B,OAAOA,EAAgBC,OAAM,SAAUC,GACrC,OAAOnE,EAAMC,IAAI+D,MAAK,SAAUI,GAC9B,OAAOA,EAAiBF,OAAM,SAAUG,GACtC,OAAOF,EAAe/B,WAAWiC,EAAiBzI,gBAQ5D/D,gBACA,SAAwBmI,EAAOpE,GAC7B,OAAO,IAAImE,GAAMC,EAAOpE,GAASqE,IAAIrD,KAAI,SAAU2C,GACjD,OAAOA,EAAK3C,KAAI,SAAUwD,GACxB,OAAOA,EAAEZ,SACRpC,KAAK,KAAKhB,OAAOO,MAAM,SAoP9BoD,GAAMzH,UAAUH,KAAO,SAAUwD,GAC/B,IAAKA,EACH,OAAO,EAGc,iBAAZA,IACTA,EAAU,IAAI5D,EAAO4D,EAASO,KAAKN,UAGrC,IAAK,IAAIH,EAAI,EAAGA,EAAIS,KAAK+D,IAAIlE,OAAQN,IACnC,GAAI4F,GAAQnF,KAAK+D,IAAIxE,GAAIE,EAASO,KAAKN,SACrC,OAAO,EAGX,OAAO,GAuCT/D,YAAoB0J,GAUpB1J,gBACA,SAAwByM,EAAUtE,EAAOpE,GACvC,IAAI2I,EAAM,KACNC,EAAQ,KACZ,IACE,IAAIC,EAAW,IAAI1E,GAAMC,EAAOpE,GAChC,MAAOI,GACP,OAAO,KAYT,OAVAsI,EAASrC,SAAQ,SAAUhF,GACrBwH,EAAStM,KAAK8E,KAEXsH,IAA6B,IAAtBC,EAAMlH,QAAQL,KAGxBuH,EAAQ,IAAIzM,EADZwM,EAAMtH,EACkBrB,QAIvB2I,GAGT1M,gBACA,SAAwByM,EAAUtE,EAAOpE,GACvC,IAAI8I,EAAM,KACNC,EAAQ,KACZ,IACE,IAAIF,EAAW,IAAI1E,GAAMC,EAAOpE,GAChC,MAAOI,GACP,OAAO,KAYT,OAVAsI,EAASrC,SAAQ,SAAUhF,GACrBwH,EAAStM,KAAK8E,KAEXyH,GAA4B,IAArBC,EAAMrH,QAAQL,KAGxB0H,EAAQ,IAAI5M,EADZ2M,EAAMzH,EACkBrB,QAIvB8I,GAGT7M,aACA,SAAqBmI,EAAOnE,GAC1BmE,EAAQ,IAAID,GAAMC,EAAOnE,GAEzB,IAAI+I,EAAS,IAAI7M,EAAO,SACxB,GAAIiI,EAAM7H,KAAKyM,GACb,OAAOA,EAIT,GADAA,EAAS,IAAI7M,EAAO,WAChBiI,EAAM7H,KAAKyM,GACb,OAAOA,EAGTA,EAAS,KACT,IAAK,IAAInJ,EAAI,EAAGA,EAAIuE,EAAMC,IAAIlE,SAAUN,EAAG,CACvBuE,EAAMC,IAAIxE,GAEhBwG,SAAQ,SAAUC,GAE5B,IAAI2C,EAAU,IAAI9M,EAAOmK,EAAWzC,OAAO9D,SAC3C,OAAQuG,EAAWvC,UACjB,IAAK,IAC+B,IAA9BkF,EAAQnI,WAAWX,OACrB8I,EAAQpI,QAERoI,EAAQnI,WAAWuB,KAAK,GAE1B4G,EAAQvI,IAAMuI,EAAQ7H,SAExB,IAAK,GACL,IAAK,KACE4H,IAAU7F,EAAG6F,EAAQC,KACxBD,EAASC,GAEX,MACF,IAAK,IACL,IAAK,KAEH,MAEF,QACE,MAAM,IAAI1G,MAAM,yBAA2B+D,EAAWvC,cAK9D,GAAIiF,GAAU5E,EAAM7H,KAAKyM,GACvB,OAAOA,EAGT,OAAO,MAGT/M,aACA,SAAqBmI,EAAOpE,GAC1B,IAGE,OAAO,IAAImE,GAAMC,EAAOpE,GAASoE,OAAS,IAC1C,MAAOhE,GACP,OAAO,OAKXnE,MACA,SAAc8D,EAASqE,EAAOpE,GAC5B,OAAO4F,GAAQ7F,EAASqE,EAAO,IAAKpE,IAItC/D,MACA,SAAc8D,EAASqE,EAAOpE,GAC5B,OAAO4F,GAAQ7F,EAASqE,EAAO,IAAKpE,IAGtC/D,UAAkB2J,GAsElB3J,aACA,SAAqB8D,EAASC,GAC5B,IAAIkJ,EAASpJ,EAAMC,EAASC,GAC5B,OAAQkJ,GAAUA,EAAOpI,WAAWX,OAAU+I,EAAOpI,WAAa,MAGpE7E,aACA,SAAqBkN,EAAIC,EAAIpJ,GAG3B,OAFAmJ,EAAK,IAAIhF,GAAMgF,EAAInJ,GACnBoJ,EAAK,IAAIjF,GAAMiF,EAAIpJ,GACZmJ,EAAG3C,WAAW4C,IAGvBnN,SACA,SAAiB8D,GACf,GAAIA,aAAmB5D,EACrB,OAAO4D,EAGT,GAAuB,iBAAZA,EACT,OAAO,KAGT,IAAIU,EAAQV,EAAQU,MAAMrD,EAAGyB,IAE7B,GAAa,MAAT4B,EACF,OAAO,KAGT,OAAOX,EAAMW,EAAM,GACjB,KAAOA,EAAM,IAAM,KACnB,KAAOA,EAAM,IAAM"}
@@ -0,0 +1,16 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
15
+ var t=function(){return(t=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function e(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n}function n(t,e,n,r){return new(n||(n=Promise))((function(o,a){function l(t){try{u(r.next(t))}catch(t){a(t)}}function c(t){try{u(r.throw(t))}catch(t){a(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(l,c)}u((r=r.apply(t,e||[])).next())}))}function r(t,e){var n,r,o,a,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,r=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=e.call(t,l)}catch(t){a=[6,t],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}export{t as __assign,n as __awaiter,r as __generator,e as __rest};
16
+ //# sourceMappingURL=tslib.es6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tslib.es6.js","sources":["../../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push"],"mappings":";;;;;;;;;;;;;;AA+BU,IAACA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,IAEKU,MAAMC,KAAMP,YAGzB,SAASQ,EAAOX,EAAGY,GACtB,IAAIb,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBACtB,CAAA,IAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,KAE1B,OAAOF,EAkBJ,SAASiB,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOb,GAAKW,EAAOX,IACpF,SAASgB,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOb,GAAKW,EAAOX,IACvF,SAASc,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITM,KAAKP,EAAWI,GAClGF,GAAMN,EAAYA,EAAUX,MAAMQ,EAASC,GAAc,KAAKS,WAI/D,SAASK,EAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGpC,EAAGqC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPxC,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOyC,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOpC,OAAU0B,EACvJ,SAASM,EAAKxC,GAAK,OAAO,SAAU6C,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIe,UAAU,mCAC3B,KAAOZ,OACH,GAAIH,EAAI,EAAGC,IAAMpC,EAAY,EAARiD,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAOpC,EAAIoC,EAAU,SAAMpC,EAAES,KAAK2B,GAAI,GAAKA,EAAER,SAAW5B,EAAIA,EAAES,KAAK2B,EAAGa,EAAG,KAAKlB,KAAM,OAAO/B,EAE3J,OADIoC,EAAI,EAAGpC,IAAGiD,EAAK,CAAS,EAARA,EAAG,GAAQjD,EAAE0B,QACzBuB,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjD,EAAIiD,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEb,MAAOuB,EAAG,GAAIlB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIS,MAAOb,EAAEG,KAAKU,MAAO,SACxC,QACI,KAAMnD,EAAIsC,EAAEG,MAAMzC,EAAIA,EAAEK,OAAS,GAAKL,EAAEA,EAAEK,OAAS,KAAkB,IAAV4C,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAcjD,GAAMiD,EAAG,GAAKjD,EAAE,IAAMiD,EAAG,GAAKjD,EAAE,IAAM,CAAEsC,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQvC,EAAE,GAAI,CAAEsC,EAAEC,MAAQvC,EAAE,GAAIA,EAAIiD,EAAI,MAC7D,GAAIjD,GAAKsC,EAAEC,MAAQvC,EAAE,GAAI,CAAEsC,EAAEC,MAAQvC,EAAE,GAAIsC,EAAEI,IAAIU,KAAKH,GAAK,MACvDjD,EAAE,IAAIsC,EAAEI,IAAIS,MAChBb,EAAEG,KAAKU,MAAO,SAEtBF,EAAKf,EAAKzB,KAAKS,EAASoB,GAC1B,MAAOzB,GAAKoC,EAAK,CAAC,EAAGpC,GAAIuB,EAAI,UAAeD,EAAInC,EAAI,EACtD,GAAY,EAARiD,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEvB,MAAOuB,EAAG,GAAKA,EAAG,QAAK,EAAQlB,MAAM,GArB9BJ,CAAK,CAACxB,EAAG6C"}
@@ -0,0 +1,3 @@
1
+ export * from './passwordCheckHandler';
2
+ export * from './loginHandler';
3
+ export * from './logoutHandler';
@@ -0,0 +1,10 @@
1
+ import { Request, Response } from 'express';
2
+ interface PasswordProtectHandlerOptions {
3
+ cookieMaxAge?: number;
4
+ cookieName?: string;
5
+ cookieSameSite?: boolean | 'lax' | 'none' | 'strict';
6
+ cookieSecure?: boolean;
7
+ domain?: string;
8
+ }
9
+ export declare const loginHandler: (password: string, options?: PasswordProtectHandlerOptions) => (req: Request, res: Response) => Promise<void>;
10
+ export {};
@@ -0,0 +1,2 @@
1
+ import{__awaiter as o,__generator as e,__assign as r}from"../../node_modules/tslib/tslib.es6.js";import n from"../../node_modules/jsonwebtoken/index.js";import i from"../../node_modules/safe-compare/index.js";import{sendJson as t}from"./sendJson.js";import{setCookie as s}from"./setCookie.js";var d=function(d,a){return function(m,u){return o(void 0,void 0,void 0,(function(){var o;return e(this,(function(e){u.setHeader("Content-Type","application/json");try{if("POST"!==m.method)throw new Error("Invalid method.");if(!m.body.password)throw new Error("Invalid request.");if(o=m.body.password,i(o,d))return s(u,(null==a?void 0:a.cookieName)||"next-password-protect",n.sign({},d),r({domain:null==a?void 0:a.domain,httpOnly:!0,sameSite:(null==a?void 0:a.cookieSameSite)||!1,secure:void 0!==(null==a?void 0:a.cookieSecure)?null==a?void 0:a.cookieSecure:"production"===process.env.NODE_ENV,path:"/"},(null==a?void 0:a.cookieMaxAge)?{maxAge:null==a?void 0:a.cookieMaxAge}:{})),t(u,200),[2];t(u,400,{message:"Incorrect password."})}catch(o){t(u,500,{message:o.message||"An error has occured."})}return[2]}))}))}};export{d as loginHandler};
2
+ //# sourceMappingURL=loginHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loginHandler.js","sources":["../../../../src/api/loginHandler.ts"],"sourcesContent":["import { Request, Response } from 'express';\nimport jwt from 'jsonwebtoken';\nimport compare from 'safe-compare';\n\nimport { sendJson } from './sendJson';\nimport { setCookie } from './setCookie';\n\ninterface PasswordProtectHandlerOptions {\n cookieMaxAge?: number;\n /* @default next-password-protect */\n cookieName?: string;\n cookieSameSite?: boolean | 'lax' | 'none' | 'strict';\n cookieSecure?: boolean;\n domain?: string;\n}\n\nexport const loginHandler = (\n password: string,\n options?: PasswordProtectHandlerOptions,\n) => async (req: Request, res: Response) => {\n res.setHeader('Content-Type', 'application/json');\n\n try {\n if (req.method !== 'POST') {\n throw new Error('Invalid method.');\n }\n\n if (!req.body.password) {\n throw new Error('Invalid request.');\n }\n\n const { password: providedPassword } = req.body;\n\n if (compare(providedPassword, password)) {\n setCookie(\n res,\n options?.cookieName || 'next-password-protect',\n /* NOTE: It's not usual to use the password as JWT secret, but since you already\n * have access to the environment when you know the password, in this specific\n * use case it doesn't add any value for an intruder if the secret is known.\n */\n jwt.sign({}, password),\n {\n domain: options?.domain,\n httpOnly: true,\n sameSite: options?.cookieSameSite || false,\n secure:\n options?.cookieSecure !== undefined\n ? options?.cookieSecure\n : process.env.NODE_ENV === 'production',\n path: '/',\n ...(options?.cookieMaxAge\n ? {\n maxAge: options?.cookieMaxAge,\n }\n : {}),\n },\n );\n\n sendJson(res, 200);\n return;\n }\n\n sendJson(res, 400, { message: 'Incorrect password.' });\n } catch (err) {\n sendJson(res, 500, { message: err.message || 'An error has occured.' });\n }\n};\n"],"names":["loginHandler","password","options","req","res","setHeader","method","Error","body","providedPassword","compare","setCookie","cookieName","jwt","sign","domain","httpOnly","sameSite","cookieSameSite","secure","undefined","cookieSecure","process","env","NODE_ENV","path","cookieMaxAge","maxAge","sendJson","message","err"],"mappings":"ySAgBaA,EAAe,SAC1BC,EACAC,UACG,SAAOC,EAAcC,8EACxBA,EAAIC,UAAU,eAAgB,2BAGT,SAAfF,EAAIG,aACA,IAAIC,MAAM,uBAGbJ,EAAIK,KAAKP,eACN,IAAIM,MAAM,uBAGAE,EAAqBN,EAAIK,cAEvCE,EAAQD,EAAkBR,UAC5BU,EACEP,GACAF,MAAAA,SAAAA,EAASU,aAAc,wBAKvBC,EAAIC,KAAK,GAAIb,MAEXc,OAAQb,MAAAA,SAAAA,EAASa,OACjBC,UAAU,EACVC,UAAUf,MAAAA,SAAAA,EAASgB,kBAAkB,EACrCC,YAC4BC,KAA1BlB,MAAAA,SAAAA,EAASmB,cACLnB,MAAAA,SAAAA,EAASmB,aACgB,eAAzBC,QAAQC,IAAIC,SAClBC,KAAM,MACFvB,MAAAA,SAAAA,EAASwB,cACT,CACEC,OAAQzB,MAAAA,SAAAA,EAASwB,cAEnB,KAIRE,EAASxB,EAAK,SAIhBwB,EAASxB,EAAK,IAAK,CAAEyB,QAAS,wBAC9B,MAAOC,GACPF,EAASxB,EAAK,IAAK,CAAEyB,QAASC,EAAID,SAAW"}
@@ -0,0 +1,8 @@
1
+ import { Request, Response } from 'express';
2
+ interface PasswordProtectHandlerOptions {
3
+ cookieName?: string;
4
+ cookieSameSite?: boolean | 'lax' | 'none' | 'strict';
5
+ cookieSecure?: boolean;
6
+ }
7
+ export declare const logoutHandler: (options?: PasswordProtectHandlerOptions) => (req: Request, res: Response) => Promise<void>;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import{__awaiter as o,__generator as e}from"../../node_modules/tslib/tslib.es6.js";import{sendJson as t}from"./sendJson.js";import{setCookie as r}from"./setCookie.js";var i=function(i){return function(n,s){return o(void 0,void 0,void 0,(function(){return e(this,(function(o){s.setHeader("Content-Type","application/json");try{if("POST"!==n.method)throw new Error("Invalid method.");r(s,(null==i?void 0:i.cookieName)||"next-password-protect","",{httpOnly:!0,sameSite:(null==i?void 0:i.cookieSameSite)||!1,secure:void 0!==(null==i?void 0:i.cookieSecure)?null==i?void 0:i.cookieSecure:"production"===process.env.NODE_ENV,path:"/",maxAge:0}),t(s,200)}catch(o){t(s,500,{message:o.message||"An error has occured."})}return[2]}))}))}};export{i as logoutHandler};
2
+ //# sourceMappingURL=logoutHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logoutHandler.js","sources":["../../../../src/api/logoutHandler.ts"],"sourcesContent":["import { Request, Response } from 'express';\n\nimport { sendJson } from './sendJson';\nimport { setCookie } from './setCookie';\n\ninterface PasswordProtectHandlerOptions {\n /* @default next-password-protect */\n cookieName?: string;\n cookieSameSite?: boolean | 'lax' | 'none' | 'strict';\n cookieSecure?: boolean;\n}\n\nexport const logoutHandler = (\n options?: PasswordProtectHandlerOptions,\n) => async (req: Request, res: Response) => {\n res.setHeader('Content-Type', 'application/json');\n\n try {\n if (req.method !== 'POST') {\n throw new Error('Invalid method.');\n }\n\n setCookie(res, options?.cookieName || 'next-password-protect', '', {\n httpOnly: true,\n sameSite: options?.cookieSameSite || false,\n secure:\n options?.cookieSecure !== undefined\n ? options?.cookieSecure\n : process.env.NODE_ENV === 'production',\n path: '/',\n maxAge: 0,\n });\n\n sendJson(res, 200);\n } catch (err) {\n sendJson(res, 500, { message: err.message || 'An error has occured.' });\n }\n};\n"],"names":["logoutHandler","options","req","res","setHeader","method","Error","setCookie","cookieName","httpOnly","sameSite","cookieSameSite","secure","undefined","cookieSecure","process","env","NODE_ENV","path","maxAge","sendJson","err","message"],"mappings":"2KAYaA,EAAgB,SAC3BC,UACG,SAAOC,EAAcC,wEACxBA,EAAIC,UAAU,eAAgB,2BAGT,SAAfF,EAAIG,aACA,IAAIC,MAAM,mBAGlBC,EAAUJ,GAAKF,MAAAA,SAAAA,EAASO,aAAc,wBAAyB,GAAI,CACjEC,UAAU,EACVC,UAAUT,MAAAA,SAAAA,EAASU,kBAAkB,EACrCC,YAC4BC,KAA1BZ,MAAAA,SAAAA,EAASa,cACLb,MAAAA,SAAAA,EAASa,aACgB,eAAzBC,QAAQC,IAAIC,SAClBC,KAAM,IACNC,OAAQ,IAGVC,EAASjB,EAAK,KACd,MAAOkB,GACPD,EAASjB,EAAK,IAAK,CAAEmB,QAASD,EAAIC,SAAW"}
@@ -0,0 +1,6 @@
1
+ import { Request, Response } from 'express';
2
+ interface PasswordProtectHandlerOptions {
3
+ cookieName?: string;
4
+ }
5
+ export declare const passwordCheckHandler: (password: string, options?: PasswordProtectHandlerOptions) => (req: Request, res: Response) => Promise<void>;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ import{__awaiter as e,__generator as o}from"../../node_modules/tslib/tslib.es6.js";import r from"../../node_modules/cookie/index.js";import n from"../../node_modules/jsonwebtoken/index.js";import{sendJson as t}from"./sendJson.js";var i=function(i,s){return function(d,a){return e(void 0,void 0,void 0,(function(){var e,u,c;return o(this,(function(o){a.setHeader("Content-Type","application/json"),a.setHeader("Cache-Control","no-cache, no-store, must-revalidate"),a.setHeader("Pragma","no-cache"),a.setHeader("Expires","0");try{if("GET"!==d.method)throw new Error("Invalid method.");if(null===(c=null==d?void 0:d.headers)||void 0===c?void 0:c.cookie)return e=r.parse(d.headers.cookie),u=(null==s?void 0:s.cookieName)||"next-password-protect",n.verify(null==e?void 0:e[u],i),t(a,200),[2];t(a,401)}catch(e){if("JsonWebTokenError"===e.name)return t(a,401),[2];t(a,500,{message:(null==e?void 0:e.message)||"An error has occured."})}return[2]}))}))}};export{i as passwordCheckHandler};
2
+ //# sourceMappingURL=passwordCheckHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passwordCheckHandler.js","sources":["../../../../src/api/passwordCheckHandler.ts"],"sourcesContent":["import cookie from 'cookie';\nimport { Request, Response } from 'express';\nimport jwt from 'jsonwebtoken';\n\nimport { sendJson } from './sendJson';\n\ninterface PasswordProtectHandlerOptions {\n /* @default next-password-protect */\n cookieName?: string;\n}\n\nexport const passwordCheckHandler = (\n password: string,\n options?: PasswordProtectHandlerOptions,\n) => async (req: Request, res: Response) => {\n res.setHeader('Content-Type', 'application/json');\n res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate'); // HTTP 1.1.\n res.setHeader('Pragma', 'no-cache'); // HTTP 1.0.\n res.setHeader('Expires', '0'); // Proxies.\n\n try {\n if (req.method !== 'GET') {\n throw new Error('Invalid method.');\n }\n\n if (req?.headers?.cookie) {\n const cookies = cookie.parse(req.headers.cookie);\n const cookieName = options?.cookieName || 'next-password-protect';\n\n /* NOTE: It's not usual to use the password as JWT secret, but since you already\n * have access to the environment when you know the password, in this specific\n * use case it doesn't add any value for an intruder if the secret is known.\n */\n jwt.verify(cookies?.[cookieName], password);\n\n sendJson(res, 200);\n return;\n }\n\n sendJson(res, 401);\n } catch (err) {\n if (err.name === 'JsonWebTokenError') {\n sendJson(res, 401);\n return;\n }\n\n sendJson(res, 500, { message: err?.message || 'An error has occured.' });\n }\n};\n"],"names":["passwordCheckHandler","password","options","req","res","setHeader","method","Error","headers","cookie","cookies","parse","cookieName","jwt","verify","sendJson","err","name","message"],"mappings":"0OAWaA,EAAuB,SAClCC,EACAC,UACG,SAAOC,EAAcC,kFACxBA,EAAIC,UAAU,eAAgB,oBAC9BD,EAAIC,UAAU,gBAAiB,uCAC/BD,EAAIC,UAAU,SAAU,YACxBD,EAAIC,UAAU,UAAW,YAGJ,QAAfF,EAAIG,aACA,IAAIC,MAAM,gCAGdJ,MAAAA,SAAAA,EAAKK,8BAASC,cACVC,EAAUD,EAAOE,MAAMR,EAAIK,QAAQC,QACnCG,GAAaV,MAAAA,SAAAA,EAASU,aAAc,wBAM1CC,EAAIC,OAAOJ,MAAAA,SAAAA,EAAUE,GAAaX,GAElCc,EAASX,EAAK,SAIhBW,EAASX,EAAK,KACd,MAAOY,MACU,sBAAbA,EAAIC,YACNF,EAASX,EAAK,SAIhBW,EAASX,EAAK,IAAK,CAAEc,SAASF,MAAAA,SAAAA,EAAKE,UAAW"}
@@ -0,0 +1,2 @@
1
+ import { Response } from 'express';
2
+ export declare const sendJson: (res: Response, status: number, data?: any) => void;
@@ -0,0 +1,2 @@
1
+ var o=function(o,t,n){void 0===n&&(n={}),o.status(t).json(n)};export{o as sendJson};
2
+ //# sourceMappingURL=sendJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendJson.js","sources":["../../../../src/api/sendJson.ts"],"sourcesContent":["import { Response } from 'express';\n\nexport const sendJson = (res: Response, status: number, data: any = {}) => {\n res.status(status).json(data);\n};\n"],"names":["sendJson","res","status","data","json"],"mappings":"IAEaA,EAAW,SAACC,EAAeC,EAAgBC,gBAAAA,MACtDF,EAAIC,OAAOA,GAAQE,KAAKD"}
@@ -0,0 +1,2 @@
1
+ import { Response } from 'express';
2
+ export declare const setCookie: (res: Response, name: string, value: string, options: any) => void;
@@ -0,0 +1,2 @@
1
+ import{serialize as e}from"../../node_modules/cookie/index.js";var o=function(o,a,i,n){"maxAge"in n&&(n.expires=new Date(Date.now()+n.maxAge),n.maxAge/=1e3),o.setHeader("Set-Cookie",e(a,i,n))};export{o as setCookie};
2
+ //# sourceMappingURL=setCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setCookie.js","sources":["../../../../src/api/setCookie.ts"],"sourcesContent":["import { serialize } from 'cookie';\nimport { Response } from 'express';\n\nexport const setCookie = (\n res: Response,\n name: string,\n value: string,\n options,\n) => {\n if ('maxAge' in options) {\n options.expires = new Date(Date.now() + options.maxAge);\n options.maxAge /= 1000;\n }\n\n res.setHeader('Set-Cookie', serialize(name, value, options));\n};\n"],"names":["setCookie","res","name","value","options","expires","Date","now","maxAge","setHeader","serialize"],"mappings":"mEAGaA,EAAY,SACvBC,EACAC,EACAC,EACAC,GAEI,WAAYA,IACdA,EAAQC,QAAU,IAAIC,KAAKA,KAAKC,MAAQH,EAAQI,QAChDJ,EAAQI,QAAU,KAGpBP,EAAIQ,UAAU,aAAcC,EAAUR,EAAMC,EAAOC"}
@@ -0,0 +1,8 @@
1
+ export interface LoginComponentProps {
2
+ apiUrl?: string;
3
+ backUrl?: string;
4
+ buttonBackgroundColor?: string;
5
+ buttonColor?: string;
6
+ logo?: string;
7
+ }
8
+ export declare const LoginComponent: ({ apiUrl, backUrl, buttonBackgroundColor, buttonColor, logo, }: LoginComponentProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{__awaiter as n,__generator as e}from"../../node_modules/tslib/tslib.es6.js";import t,{useState as o}from"react";var r=function(r){var a=r.apiUrl,s=r.backUrl,i=r.buttonBackgroundColor,l=r.buttonColor,m=r.logo,p=o(!1),d=p[0],f=p[1],c=o(""),A=c[0],x=c[1],g=!!m&&t.createElement("img",{width:"130",height:"auto",src:m,alt:"Logo",style:{marginBottom:"40px"}});return t.createElement("div",{style:{backgroundColor:"#fff",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",maxWidth:"100vw",minHeight:"100vh",width:"100%",overflowX:"hidden"}},t.createElement("div",{style:{maxWidth:"100%",display:"flex",flex:1,width:"100%",padding:"32px 16px",flexDirection:"column",alignItems:"center",justifyContent:"center"}},t.createElement("style",{dangerouslySetInnerHTML:{__html:"\n @import url('https://fonts.googleapis.com/css2?family=Karla&display=swap');\n\n @font-face {\n font-family: 'Filson W01';\n src: url('data:application/font-woff2;charset=utf-8;base64,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') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n body {\n margin: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .link {\n font-family: 'Karla', sans-serif;\n font-style: normal;\n text-decoration: none;\n color: #666;\n transition: color 0.2s ease-out;\n }\n\n .link:hover, .link:focus {\n color: #111;\n }\n\n #password-form * {\n font-family: 'Karla', sans-serif;\n }\n\n #password-form h1 {\n font-family: 'Filson W01', sans-serif;\n }\n\n #password-form {\n padding: 40px;\n }\n\n @media (max-width: 767px) {\n #password-form {\n padding: 32px 16px;\n }\n }\n\n #password-form .invalid {\n outline: auto 1px;\n outline-color: #DD4A4A;\n animation: shake .4s linear;\n }\n\n #password-form .error {\n color: #DD4A4A;\n margin-top: 12px;\n font-size: 18px;\n }\n\n @keyframes shake {\n 8%, 41% {\n transform: translateX(-10px);\n }\n 25%, 58% {\n transform: translateX(10px);\n }\n 75% {\n transform: translateX(-5px);\n }\n 92% {\n transform: translateX(5px);\n }\n 0%, 100% {\n transform: translateX(0);\n }\n }\n "}}),!!g&&t.createElement(t.Fragment,null,s?t.createElement("a",{href:s},g):g),t.createElement("div",{id:"password-form",style:{display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"flex-start",boxShadow:"0px 15px 40px rgba(26, 30, 43, 0.13)",borderRadius:"8px",width:"420px",maxWidth:"100%",marginBottom:"48px"}},t.createElement("h1",{style:{margin:"0 0 24px",color:"#111"}},"Login"),t.createElement("form",{"data-testid":"form",onSubmit:function(t){return n(void 0,void 0,void 0,(function(){var n,o,r,s;return e(this,(function(e){switch(e.label){case 0:if(t.preventDefault(),t.stopPropagation(),d)return[2];f(!0),x(""),e.label=1;case 1:return e.trys.push([1,4,,5]),n=document.querySelector("#password-form form"),o=new FormData(n),[4,fetch(a||"/api/login",{method:"post",credentials:"include",body:JSON.stringify({password:o.get("password")}),headers:{"Content-Type":"application/json"}})];case 2:return[4,(r=e.sent()).json()];case 3:return s=e.sent().message,200===r.status?window.location.reload():(x(s),f(!1)),[3,5];case 4:return e.sent(),x("An error has occured."),f(!1),[3,5];case 5:return[2,!1]}}))}))},style:{display:"flex",flexDirection:"column",width:"100%"}},t.createElement("label",{htmlFor:"password",style:{color:"#525252",fontSize:"18px",marginBottom:"8px"}},"Password"),t.createElement("input",{className:A?"invalid":"",name:"password",type:"password",id:"password",placeholder:"Enter password...",required:!0,style:{background:"#F5F5F5",borderRadius:"4px",padding:"0 16px",fontSize:"18px",color:"#525252",border:"none",height:"48px"}}),!!A&&t.createElement("div",{className:"error","data-testid":"error"},A),t.createElement("button",{type:"submit",disabled:d,style:{appearance:"none",background:i||"#01EDBC",borderRadius:"52px",border:"none",padding:"12px 32px",fontSize:"20px",color:l||"#111",marginTop:"32px",cursor:"pointer",textAlign:"center"}},d?"Logging in...":"Login"))),!!s&&t.createElement("a",{href:s,className:"link"},"← Back to main website")))};export{r as LoginComponent};
2
+ //# sourceMappingURL=LoginComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginComponent.js","sources":["../../../../src/hoc/LoginComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nexport interface LoginComponentProps {\n apiUrl?: string;\n backUrl?: string;\n /* @default #01EDBC */\n buttonBackgroundColor?: string;\n /* @default #111 */\n buttonColor?: string;\n logo?: string;\n}\n\nexport const LoginComponent = ({\n apiUrl,\n backUrl,\n buttonBackgroundColor,\n buttonColor,\n logo,\n}: LoginComponentProps) => {\n const [isBusy, setBusy] = useState(false);\n const [error, setError] = useState('');\n\n const onSubmit = async (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (isBusy) {\n return;\n }\n\n setBusy(true);\n setError('');\n\n try {\n const form = document.querySelector(\n '#password-form form',\n ) as HTMLFormElement;\n\n const formData = new FormData(form);\n\n const res = await fetch(apiUrl || `/api/login`, {\n method: 'post',\n credentials: 'include',\n body: JSON.stringify({ password: formData.get('password') }),\n headers: { 'Content-Type': 'application/json' },\n });\n\n const { message } = await res.json();\n\n if (res.status === 200) {\n window.location.reload();\n } else {\n setError(message);\n setBusy(false);\n }\n } catch (e) {\n setError('An error has occured.');\n setBusy(false);\n }\n\n return false;\n };\n\n const image = !!logo && (\n <img\n width=\"130\"\n height=\"auto\"\n src={logo}\n alt=\"Logo\"\n style={{ marginBottom: '40px' }}\n />\n );\n\n return (\n <div\n style={{\n backgroundColor: '#fff',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n maxWidth: '100vw',\n minHeight: '100vh',\n width: '100%',\n overflowX: 'hidden',\n }}\n >\n <div\n style={{\n maxWidth: '100%',\n display: 'flex',\n flex: 1,\n width: '100%',\n padding: '32px 16px',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @import url('https://fonts.googleapis.com/css2?family=Karla&display=swap');\n\n @font-face {\n font-family: 'Filson W01';\n src: url('data:application/font-woff2;charset=utf-8;base64,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') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n body {\n margin: 0;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .link {\n font-family: 'Karla', sans-serif;\n font-style: normal;\n text-decoration: none;\n color: #666;\n transition: color 0.2s ease-out;\n }\n\n .link:hover, .link:focus {\n color: #111;\n }\n\n #password-form * {\n font-family: 'Karla', sans-serif;\n }\n\n #password-form h1 {\n font-family: 'Filson W01', sans-serif;\n }\n\n #password-form {\n padding: 40px;\n }\n\n @media (max-width: 767px) {\n #password-form {\n padding: 32px 16px;\n }\n }\n\n #password-form .invalid {\n outline: auto 1px;\n outline-color: #DD4A4A;\n animation: shake .4s linear;\n }\n\n #password-form .error {\n color: #DD4A4A;\n margin-top: 12px;\n font-size: 18px;\n }\n\n @keyframes shake {\n 8%, 41% {\n transform: translateX(-10px);\n }\n 25%, 58% {\n transform: translateX(10px);\n }\n 75% {\n transform: translateX(-5px);\n }\n 92% {\n transform: translateX(5px);\n }\n 0%, 100% {\n transform: translateX(0);\n }\n }\n `,\n }}\n />\n\n {!!image && <>{backUrl ? <a href={backUrl}>{image}</a> : image}</>}\n <div\n id=\"password-form\"\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n boxShadow: '0px 15px 40px rgba(26, 30, 43, 0.13)',\n borderRadius: '8px',\n width: '420px',\n maxWidth: '100%',\n marginBottom: '48px',\n }}\n >\n <h1 style={{ margin: '0 0 24px', color: '#111' }}>Login</h1>\n <form\n data-testid=\"form\"\n onSubmit={onSubmit}\n style={{\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n }}\n >\n <label\n htmlFor=\"password\"\n style={{\n color: '#525252',\n fontSize: '18px',\n marginBottom: '8px',\n }}\n >\n Password\n </label>\n <input\n className={error ? 'invalid' : ''}\n name=\"password\"\n type=\"password\"\n id=\"password\"\n placeholder=\"Enter password...\"\n required\n style={{\n background: '#F5F5F5',\n borderRadius: '4px',\n padding: '0 16px',\n fontSize: '18px',\n color: '#525252',\n border: 'none',\n height: '48px',\n }}\n />\n {!!error && (\n <div className=\"error\" data-testid=\"error\">\n {error}\n </div>\n )}\n\n <button\n type=\"submit\"\n disabled={isBusy}\n style={{\n appearance: 'none',\n background: buttonBackgroundColor || '#01EDBC',\n borderRadius: '52px',\n border: 'none',\n padding: '12px 32px',\n fontSize: '20px',\n color: buttonColor || '#111',\n marginTop: '32px',\n cursor: 'pointer',\n textAlign: 'center',\n }}\n >\n {isBusy ? 'Logging in...' : 'Login'}\n </button>\n </form>\n </div>\n {!!backUrl && (\n <a href={backUrl} className=\"link\">\n ← Back to main website\n </a>\n )}\n </div>\n </div>\n );\n};\n"],"names":["LoginComponent","_a","apiUrl","backUrl","buttonBackgroundColor","buttonColor","logo","_b","useState","isBusy","setBusy","_c","error","setError","image","React","width","height","src","alt","style","marginBottom","backgroundColor","display","flexDirection","alignItems","justifyContent","maxWidth","minHeight","overflowX","flex","padding","dangerouslySetInnerHTML","__html","href","id","boxShadow","borderRadius","margin","color","onSubmit","e","preventDefault","stopPropagation","form","document","querySelector","formData","FormData","fetch","method","credentials","body","JSON","stringify","password","get","headers","res","json","message","status","window","location","reload","htmlFor","fontSize","className","name","type","placeholder","required","background","border","disabled","appearance","marginTop","cursor","textAlign"],"mappings":"2HAYaA,EAAiB,SAACC,OAC7BC,WACAC,YACAC,0BACAC,gBACAC,SAEMC,EAAoBC,GAAS,GAA5BC,OAAQC,OACTC,EAAoBH,EAAS,IAA5BI,OAAOC,OA2CRC,IAAUR,GACdS,uBACEC,MAAM,MACNC,OAAO,OACPC,IAAKZ,EACLa,IAAI,OACJC,MAAO,CAAEC,aAAc,iBAKzBN,uBACEK,MAAO,CACLE,gBAAiB,OACjBC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZC,eAAgB,SAChBC,SAAU,QACVC,UAAW,QACXZ,MAAO,OACPa,UAAW,WAGbd,uBACEK,MAAO,CACLO,SAAU,OACVJ,QAAS,OACTO,KAAM,EACNd,MAAO,OACPe,QAAS,YACTP,cAAe,SACfC,WAAY,SACZC,eAAgB,WAGlBX,yBACEiB,wBAAyB,CACvBC,OAAQ,0sIAkFTnB,GAASC,gCAAGZ,EAAUY,qBAAGmB,KAAM/B,GAAUW,GAAaA,GACzDC,uBACEoB,GAAG,gBACHf,MAAO,CACLG,QAAS,OACTC,cAAe,SACfC,WAAY,aACZC,eAAgB,aAChBU,UAAW,uCACXC,aAAc,MACdrB,MAAO,QACPW,SAAU,OACVN,aAAc,SAGhBN,sBAAIK,MAAO,CAAEkB,OAAQ,WAAYC,MAAO,kBACxCxB,sCACc,OACZyB,SAnLO,SAAOC,8GACtBA,EAAEC,iBACFD,EAAEE,kBAEElC,YAIJC,GAAQ,GACRG,EAAS,kDAGD+B,EAAOC,SAASC,cACpB,uBAGIC,EAAW,IAAIC,SAASJ,MAEZK,MAAM/C,GAAU,aAAc,CAC9CgD,OAAQ,OACRC,YAAa,UACbC,KAAMC,KAAKC,UAAU,CAAEC,SAAUR,EAASS,IAAI,cAC9CC,QAAS,gBAAkB,wCAJvBC,EAAMzD,UAOkB0D,sBAAtBC,EAAY3D,iBAED,MAAfyD,EAAIG,OACNC,OAAOC,SAASC,UAEhBnD,EAAS+C,GACTlD,GAAQ,iCAGVG,EAAS,yBACTH,GAAQ,0BAGH,WA8ICU,MAAO,CACLG,QAAS,OACTC,cAAe,SACfR,MAAO,SAGTD,yBACEkD,QAAQ,WACR7C,MAAO,CACLmB,MAAO,UACP2B,SAAU,OACV7C,aAAc,oBAKlBN,yBACEoD,UAAWvD,EAAQ,UAAY,GAC/BwD,KAAK,WACLC,KAAK,WACLlC,GAAG,WACHmC,YAAY,oBACZC,YACAnD,MAAO,CACLoD,WAAY,UACZnC,aAAc,MACdN,QAAS,SACTmC,SAAU,OACV3B,MAAO,UACPkC,OAAQ,OACRxD,OAAQ,YAGTL,GACDG,uBAAKoD,UAAU,sBAAoB,SAChCvD,GAILG,0BACEsD,KAAK,SACLK,SAAUjE,EACVW,MAAO,CACLuD,WAAY,OACZH,WAAYpE,GAAyB,UACrCiC,aAAc,OACdoC,OAAQ,OACR1C,QAAS,YACTmC,SAAU,OACV3B,MAAOlC,GAAe,OACtBuE,UAAW,OACXC,OAAQ,UACRC,UAAW,WAGZrE,EAAS,gBAAkB,aAI/BN,GACDY,qBAAGmB,KAAM/B,EAASgE,UAAU"}
@@ -0,0 +1 @@
1
+ export * from './withPasswordProtect';
@@ -0,0 +1,13 @@
1
+ import { ElementType } from 'react';
2
+ import type { AppProps } from 'next/app';
3
+ import { NextRouter } from 'next/router';
4
+ import { LoginComponentProps } from './LoginComponent';
5
+ interface PasswordProtectHOCOptions {
6
+ checkApiUrl?: string;
7
+ loginApiUrl?: string;
8
+ loginComponent?: ElementType;
9
+ loginComponentProps?: Omit<LoginComponentProps, 'apiUrl'>;
10
+ bypassProtection?: (route: NextRouter) => boolean;
11
+ }
12
+ export declare const withPasswordProtect: (App: any, options?: PasswordProtectHOCOptions) => ({ Component, pageProps, ...props }: AppProps) => JSX.Element;
13
+ export {};
@@ -0,0 +1,2 @@
1
+ import o from"../../node_modules/@babel/runtime/helpers/esm/extends.js";import{__rest as e,__awaiter as n,__generator as r}from"../../node_modules/tslib/tslib.es6.js";import t,{useState as i,useEffect as l}from"react";import{useAmp as s}from"next/amp";import{useRouter as u}from"next/router";import{LoginComponent as p}from"./LoginComponent.js";var m=function(m,a){return function(c){var d,v,f=c.Component,g=c.pageProps,h=e(c,["Component","pageProps"]),C=s(),b=i(void 0),P=b[0],x=b[1],j=u();if(l((function(){n(void 0,void 0,void 0,(function(){return r(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,fetch((null==a?void 0:a.checkApiUrl)||"/api/passwordCheck",{credentials:"include"})];case 1:return 200===o.sent().status?x(!0):x(!1),[3,3];case 2:return o.sent(),x(!1),[3,3];case 3:return[2]}}))}))}),[]),void 0===P)return null;var U=null!==(v=null===(d=null==a?void 0:a.bypassProtection)||void 0===d?void 0:d.call(a,j))&&void 0!==v&&v;if(P||U)return t.createElement(m,o({Component:f,pageProps:g},h));if(C)return null;var k=(null==a?void 0:a.loginComponent)||p;return t.createElement(k,o({apiUrl:null==a?void 0:a.loginApiUrl},(null==a?void 0:a.loginComponentProps)||{}))}};export{m as withPasswordProtect};
2
+ //# sourceMappingURL=withPasswordProtect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withPasswordProtect.js","sources":["../../../../src/hoc/withPasswordProtect.tsx"],"sourcesContent":["import React, { ElementType, useEffect, useState } from 'react';\nimport { useAmp } from 'next/amp';\nimport type { AppProps } from 'next/app';\n\nimport { NextRouter, useRouter } from 'next/router';\nimport {\n LoginComponent as DefaultLoginComponent,\n LoginComponentProps,\n} from './LoginComponent';\n\ninterface PasswordProtectHOCOptions {\n /* @default /api/passwordCheck */\n checkApiUrl?: string;\n /* @default /api/login */\n loginApiUrl?: string;\n loginComponent?: ElementType;\n loginComponentProps?: Omit<LoginComponentProps, 'apiUrl'>;\n bypassProtection?: (route: NextRouter) => boolean;\n}\n\n/// TODO: improve App typing\nexport const withPasswordProtect = (\n App: any,\n options?: PasswordProtectHOCOptions,\n) => {\n const ProtectedApp = ({ Component, pageProps, ...props }: AppProps) => {\n const isAmp = useAmp();\n const [isAuthenticated, setAuthenticated] = useState<undefined | boolean>(\n undefined,\n );\n const router = useRouter();\n\n const checkIfLoggedIn = async () => {\n try {\n const res = await fetch(options?.checkApiUrl || '/api/passwordCheck', {\n credentials: 'include',\n });\n\n if (res.status === 200) {\n setAuthenticated(true);\n } else {\n setAuthenticated(false);\n }\n } catch (e) {\n setAuthenticated(false);\n }\n };\n\n useEffect(() => {\n checkIfLoggedIn();\n }, []);\n\n if (isAuthenticated === undefined) {\n return null;\n }\n\n const bypassProtection = options?.bypassProtection?.(router) ?? false;\n if (isAuthenticated || bypassProtection) {\n return <App Component={Component} pageProps={pageProps} {...props} />;\n }\n\n // AMP is not yet supported\n if (isAmp) {\n return null;\n }\n\n const LoginComponent: ElementType =\n options?.loginComponent || DefaultLoginComponent;\n\n return (\n <LoginComponent\n apiUrl={options?.loginApiUrl}\n {...(options?.loginComponentProps || {})}\n />\n );\n };\n\n return ProtectedApp;\n};\n"],"names":["withPasswordProtect","App","options","_a","Component","pageProps","props","isAmp","useAmp","_d","useState","undefined","isAuthenticated","setAuthenticated","router","useRouter","useEffect","fetch","checkApiUrl","credentials","status","bypassProtection","React","LoginComponent","loginComponent","DefaultLoginComponent","apiUrl","loginApiUrl","loginComponentProps"],"mappings":"6VAqBaA,EAAsB,SACjCC,EACAC,UAEqB,SAACC,WAAEC,cAAWC,cAAcC,MAA3B,2BACdC,EAAQC,IACRC,EAAsCC,OAC1CC,GADKC,OAAiBC,OAGlBC,EAASC,OAkBfC,GAAU,gIAdYC,OAAMf,MAAAA,SAAAA,EAASgB,cAAe,qBAAsB,CACpEC,YAAa,2BAGI,MAJPhB,SAIJiB,OACNP,GAAiB,GAEjBA,GAAiB,gCAGnBA,GAAiB,mCAMlB,SAEqBF,IAApBC,SACK,SAGHS,sBAAmBnB,MAAAA,SAAAA,EAASmB,4CAATnB,EAA4BY,sBACjDF,GAAmBS,SACdC,gBAACrB,KAAIG,UAAWA,EAAWC,UAAWA,GAAeC,OAI1DC,SACK,SAGHgB,GACJrB,MAAAA,SAAAA,EAASsB,iBAAkBC,SAG3BH,gBAACC,KACCG,OAAQxB,MAAAA,SAAAA,EAASyB,cACZzB,MAAAA,SAAAA,EAAS0B,sBAAuB"}
@@ -0,0 +1,2 @@
1
+ export * from './api';
2
+ export * from './hoc';
@@ -0,0 +1,2 @@
1
+ export{passwordCheckHandler}from"./api/passwordCheckHandler.js";export{loginHandler}from"./api/loginHandler.js";export{logoutHandler}from"./api/logoutHandler.js";export{withPasswordProtect}from"./hoc/withPasswordProtect.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,145 @@
1
+ {
2
+ "name": "@charamza/next-password-protect",
3
+ "description": "Password protect your Next.js deployments.",
4
+ "version": "0.0.0-development",
5
+ "license": "MIT",
6
+ "main": "dist/cjs/src/index.js",
7
+ "module": "dist/esm/src/index.js",
8
+ "jsnext:main": "dist/esm/src/index.js",
9
+ "types": "dist/esm/index.d.ts",
10
+ "sideEffects": false,
11
+ "files": [
12
+ "/dist"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "scripts": {
18
+ "commit": "./node_modules/cz-customizable/standalone.js",
19
+ "test": "jest --coverage",
20
+ "test:watch": "jest --watch",
21
+ "lint": "eslint --ext .ts --ext .tsx ./src",
22
+ "prettier": "prettier \"**/*.+(js|jsx|json|yml|yaml|css|ts|tsx|md|mdx)\"",
23
+ "build": "npm run build-types && npm run bundle",
24
+ "bundle": "rollup -c",
25
+ "bundle:watch": "rollup -c -w",
26
+ "build-types": "tsc --project tsconfig.build.json",
27
+ "build-types:watch": "tsc --project tsconfig.build.json --watch",
28
+ "prepublishOnly": "npm run build",
29
+ "semantic-release": "semantic-release"
30
+ },
31
+ "peerDependencies": {
32
+ "next": ">=10.0.0",
33
+ "react": "16.x || 17.x",
34
+ "react-dom": "16.x || 17.x"
35
+ },
36
+ "dependencies": {
37
+ "cookie": "^0.4.1",
38
+ "jsonwebtoken": "^8.5.1",
39
+ "safe-compare": "^1.1.4"
40
+ },
41
+ "devDependencies": {
42
+ "@babel/cli": "7.12.13",
43
+ "@babel/core": "7.12.13",
44
+ "@babel/plugin-proposal-class-properties": "7.12.13",
45
+ "@babel/plugin-transform-runtime": "7.12.15",
46
+ "@babel/preset-env": "7.12.13",
47
+ "@babel/preset-react": "7.12.13",
48
+ "@babel/preset-typescript": "7.12.13",
49
+ "@commitlint/cli": "11.0.0",
50
+ "@commitlint/config-conventional": "11.0.0",
51
+ "@rollup/plugin-babel": "5.2.3",
52
+ "@rollup/plugin-commonjs": "17.1.0",
53
+ "@rollup/plugin-node-resolve": "11.1.1",
54
+ "@semantic-release/changelog": "5.0.1",
55
+ "@storyofams/eslint-config-ams": "1.1.2",
56
+ "@testing-library/cypress": "7.0.3",
57
+ "@testing-library/dom": "7.29.4",
58
+ "@testing-library/jest-dom": "5.11.9",
59
+ "@testing-library/react": "11.2.3",
60
+ "@testing-library/react-hooks": "5.0.0",
61
+ "@testing-library/user-event": "12.6.0",
62
+ "@types/express": "4.17.11",
63
+ "@types/jest": "26.0.20",
64
+ "@types/jest-axe": "^3.5.1",
65
+ "@types/jsonwebtoken": "^8.5.1",
66
+ "@types/node": "14.14.21",
67
+ "@types/react": "17.0.0",
68
+ "@types/react-dom": "17.0.0",
69
+ "@types/safe-compare": "^1.1.0",
70
+ "@types/testing-library__jest-dom": "5.9.5",
71
+ "@typescript-eslint/eslint-plugin": "4.13.0",
72
+ "@typescript-eslint/parser": "4.13.0",
73
+ "@zerollup/ts-transform-paths": "1.7.18",
74
+ "awesome-typescript-loader": "5.2.1",
75
+ "babel-eslint": "10.1.0",
76
+ "babel-loader": "8.2.2",
77
+ "babel-preset-react-app": "10.0.0",
78
+ "cz-customizable": "git+https://github.com/storyofams/cz-customizable.git#6.3.1",
79
+ "eslint": "7.18.0",
80
+ "eslint-config-prettier": "7.1.0",
81
+ "eslint-import-resolver-alias": "1.1.2",
82
+ "eslint-plugin-import": "2.22.1",
83
+ "eslint-plugin-jsx-a11y": "6.4.1",
84
+ "eslint-plugin-mdx": "^1.8.2",
85
+ "eslint-plugin-prettier": "3.3.1",
86
+ "eslint-plugin-react": "7.22.0",
87
+ "eslint-plugin-react-hooks": "4.2.0",
88
+ "events": "^3.3.0",
89
+ "husky": "4.3.8",
90
+ "isomorphic-fetch": "^3.0.0",
91
+ "jest": "26.6.3",
92
+ "jest-axe": "^4.1.0",
93
+ "jest-styled-components": "^7.0.3",
94
+ "lint-staged": "10.5.3",
95
+ "msw": "^0.27.1",
96
+ "next": "11.1.1",
97
+ "node-mocks-http": "^1.10.1",
98
+ "prettier": "2.2.1",
99
+ "react": "17.0.1",
100
+ "react-dom": "17.0.1",
101
+ "react-test-renderer": "17.0.1",
102
+ "rollup": "2.38.5",
103
+ "rollup-plugin-analyzer": "4.0.0",
104
+ "rollup-plugin-clear": "2.0.7",
105
+ "rollup-plugin-copy": "^3.3.0",
106
+ "rollup-plugin-filesize": "9.1.0",
107
+ "rollup-plugin-peer-deps-external": "2.2.4",
108
+ "rollup-plugin-svg": "^2.0.0",
109
+ "rollup-plugin-terser": "7.0.2",
110
+ "rollup-plugin-typescript2": "0.29.0",
111
+ "semantic-release": "17.3.3",
112
+ "ts-jest": "26.4.4",
113
+ "ts-loader": "8.0.16",
114
+ "ts-node": "^9.1.1",
115
+ "tsconfig-paths-webpack-plugin": "^3.3.0",
116
+ "tslib": "2.1.0",
117
+ "ttypescript": "1.5.12",
118
+ "typescript": "4.1.3"
119
+ },
120
+ "eslintConfig": {
121
+ "extends": [
122
+ "@storyofams/eslint-config-ams/web"
123
+ ]
124
+ },
125
+ "config": {
126
+ "commitizen": {
127
+ "path": "node_modules/cz-customizable"
128
+ }
129
+ },
130
+ "husky": {
131
+ "hooks": {
132
+ "pre-commit": "lint-staged",
133
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
134
+ }
135
+ },
136
+ "lint-staged": {
137
+ "**/*.+(js|jsx|ts|tsx)": [
138
+ "yarn lint --fix"
139
+ ]
140
+ },
141
+ "repository": {
142
+ "type": "git",
143
+ "url": "https://github.com/storyofams/next-password-protect.git"
144
+ }
145
+ }