@prosopo/provider 4.15.17 → 5.0.1

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 (215) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +102 -101
  2. package/.turbo/turbo-build$colon$tsc.log +24 -24
  3. package/.turbo/turbo-build.log +103 -102
  4. package/CHANGELOG.md +137 -0
  5. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -1
  6. package/dist/api/admin/apiAdminRoutesProvider.js +3 -5
  7. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -1
  8. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts +11 -0
  9. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.d.ts.map +1 -0
  10. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js +56 -0
  11. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js.map +1 -0
  12. package/dist/api/captcha/assignDetectorBundle.d.ts +6 -0
  13. package/dist/api/captcha/assignDetectorBundle.d.ts.map +1 -0
  14. package/dist/api/captcha/assignDetectorBundle.js +50 -0
  15. package/dist/api/captcha/assignDetectorBundle.js.map +1 -0
  16. package/dist/api/captcha/assignDetectorBundle.test.d.ts +2 -0
  17. package/dist/api/captcha/assignDetectorBundle.test.d.ts.map +1 -0
  18. package/dist/api/captcha/assignDetectorBundle.test.js +71 -0
  19. package/dist/api/captcha/assignDetectorBundle.test.js.map +1 -0
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +3 -0
  21. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  22. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  23. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts +1 -0
  24. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  25. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +59 -2
  26. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts +1 -1
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts.map +1 -1
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +3 -3
  30. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js.map +1 -1
  31. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  32. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +16 -8
  33. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  34. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts +2 -0
  35. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
  36. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +45 -18
  37. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
  38. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts +2 -0
  39. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.d.ts.map +1 -0
  40. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js +77 -0
  41. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.powFallback.test.js.map +1 -0
  42. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  43. package/dist/api/captcha/submitPoWCaptchaSolution.js +1 -1
  44. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  45. package/dist/api/captcha.d.ts.map +1 -1
  46. package/dist/api/captcha.js +6 -0
  47. package/dist/api/captcha.js.map +1 -1
  48. package/dist/api/startProviderApi.d.ts.map +1 -1
  49. package/dist/api/startProviderApi.js +50 -17
  50. package/dist/api/startProviderApi.js.map +1 -1
  51. package/dist/api/verify.d.ts.map +1 -1
  52. package/dist/api/verify.js +1 -1
  53. package/dist/api/verify.js.map +1 -1
  54. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +3 -5
  55. package/dist/cjs/api/admin/apiReplaceDetectorPoolEndpoint.cjs +56 -0
  56. package/dist/cjs/api/captcha/assignDetectorBundle.cjs +50 -0
  57. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +59 -2
  58. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +3 -3
  59. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +15 -7
  60. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +45 -17
  61. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +1 -1
  62. package/dist/cjs/api/captcha.cjs +6 -0
  63. package/dist/cjs/api/startProviderApi.cjs +53 -19
  64. package/dist/cjs/api/verify.cjs +1 -1
  65. package/dist/cjs/tasks/captchaManager.cjs +76 -59
  66. package/dist/cjs/tasks/client/clientTasks.cjs +1 -29
  67. package/dist/cjs/tasks/detection/bundlePool.cjs +220 -0
  68. package/dist/cjs/tasks/detection/decodeBehavior.cjs +644 -362
  69. package/dist/cjs/tasks/detection/decodeBehavior.js +1 -1
  70. package/dist/cjs/tasks/detection/decodePayload.cjs +956 -617
  71. package/dist/cjs/tasks/detection/decodePayload.js +1 -1
  72. package/dist/cjs/tasks/detection/decodeSimd.cjs +723 -411
  73. package/dist/cjs/tasks/detection/decodeSimd.js +1 -1
  74. package/dist/cjs/tasks/detection/getBotScore.cjs +2 -2
  75. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +35 -12
  76. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +1 -2
  77. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +37 -7
  78. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +33 -3
  79. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +36 -4
  80. package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +23 -0
  81. package/dist/tasks/captchaManager.d.ts +12 -4
  82. package/dist/tasks/captchaManager.d.ts.map +1 -1
  83. package/dist/tasks/captchaManager.js +76 -59
  84. package/dist/tasks/captchaManager.js.map +1 -1
  85. package/dist/tasks/client/clientTasks.d.ts +0 -2
  86. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  87. package/dist/tasks/client/clientTasks.js +1 -29
  88. package/dist/tasks/client/clientTasks.js.map +1 -1
  89. package/dist/tasks/detection/bundlePool.d.ts +32 -0
  90. package/dist/tasks/detection/bundlePool.d.ts.map +1 -0
  91. package/dist/tasks/detection/bundlePool.js +215 -0
  92. package/dist/tasks/detection/bundlePool.js.map +1 -0
  93. package/dist/tasks/detection/bundlePool.test.d.ts +2 -0
  94. package/dist/tasks/detection/bundlePool.test.d.ts.map +1 -0
  95. package/dist/tasks/detection/bundlePool.test.js +178 -0
  96. package/dist/tasks/detection/bundlePool.test.js.map +1 -0
  97. package/dist/tasks/detection/decodeBehavior.d.ts +2 -2
  98. package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -1
  99. package/dist/tasks/detection/decodeBehavior.js +1 -1
  100. package/dist/tasks/detection/decodeBehavior.js.map +1 -1
  101. package/dist/tasks/detection/decodePayload.d.ts +2 -2
  102. package/dist/tasks/detection/decodePayload.d.ts.map +1 -1
  103. package/dist/tasks/detection/decodePayload.js +1 -1
  104. package/dist/tasks/detection/decodePayload.js.map +1 -1
  105. package/dist/tasks/detection/decodeSimd.d.ts +2 -2
  106. package/dist/tasks/detection/decodeSimd.d.ts.map +1 -1
  107. package/dist/tasks/detection/decodeSimd.js +1 -1
  108. package/dist/tasks/detection/decodeSimd.js.map +1 -1
  109. package/dist/tasks/detection/getBotScore.d.ts +1 -1
  110. package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
  111. package/dist/tasks/detection/getBotScore.js +3 -3
  112. package/dist/tasks/detection/getBotScore.js.map +1 -1
  113. package/dist/tasks/frictionless/frictionlessTasks.d.ts +10 -2
  114. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  115. package/dist/tasks/frictionless/frictionlessTasks.js +35 -12
  116. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  117. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +1 -1
  118. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -1
  119. package/dist/tasks/frictionless/frictionlessTasksUtils.js +1 -2
  120. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -1
  121. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  122. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +38 -8
  123. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  124. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  125. package/dist/tasks/powCaptcha/powTasks.js +34 -4
  126. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  127. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +2 -2
  128. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  129. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +36 -4
  130. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  131. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts +1 -0
  132. package/dist/tasks/spam/evaluateEmailSpamRules.d.ts.map +1 -1
  133. package/dist/tasks/spam/evaluateEmailSpamRules.js +23 -1
  134. package/dist/tasks/spam/evaluateEmailSpamRules.js.map +1 -1
  135. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +23 -1
  136. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  137. package/dist/tests/integration/decisionMachines.integration.test.js +3 -56
  138. package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -1
  139. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js +2 -2
  140. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js.map +1 -1
  141. package/dist/tests/integration/imgCaptcha.integration.test.js +3 -56
  142. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  143. package/dist/tests/integration/maintenanceModeAdmin.integration.test.js +2 -29
  144. package/dist/tests/integration/maintenanceModeAdmin.integration.test.js.map +1 -1
  145. package/dist/tests/integration/powCaptcha.integration.test.js +3 -56
  146. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  147. package/dist/tests/integration/routingDecisionMachines.integration.test.js +2 -2
  148. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
  149. package/dist/tests/integration/testUtils.d.ts +1 -0
  150. package/dist/tests/integration/testUtils.d.ts.map +1 -1
  151. package/dist/tests/integration/testUtils.js +14 -0
  152. package/dist/tests/integration/testUtils.js.map +1 -1
  153. package/dist/tests/integration/testUtils.unit.test.d.ts +2 -0
  154. package/dist/tests/integration/testUtils.unit.test.d.ts.map +1 -0
  155. package/dist/tests/integration/testUtils.unit.test.js +30 -0
  156. package/dist/tests/integration/testUtils.unit.test.js.map +1 -0
  157. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +1 -0
  158. package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
  159. package/dist/tests/unit/api/adminRoutes.unit.test.js +0 -46
  160. package/dist/tests/unit/api/adminRoutes.unit.test.js.map +1 -1
  161. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +101 -0
  162. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -1
  163. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js +12 -12
  164. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js.map +1 -1
  165. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +15 -1
  166. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  167. package/dist/tests/unit/tasks/captchaManager.unit.test.js +14 -30
  168. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  169. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +3 -3
  170. package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
  171. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +25 -7
  172. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -1
  173. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -1
  174. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  175. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +6 -14
  176. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -1
  177. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +99 -0
  178. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  179. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +108 -0
  180. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  181. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +102 -1
  182. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
  183. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js +37 -1
  184. package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js.map +1 -1
  185. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +0 -2
  186. package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -1
  187. package/fixtures/detector-pool/bundle-0.js +15 -0
  188. package/fixtures/detector-pool/bundle-0.json +1 -0
  189. package/package.json +19 -19
  190. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -23
  191. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
  192. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +0 -32
  193. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
  194. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
  195. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
  196. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +0 -39
  197. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
  198. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +0 -32
  199. package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +0 -39
  200. package/dist/tasks/detection/getBehavioralData.d.ts +0 -4
  201. package/dist/tasks/detection/getBehavioralData.d.ts.map +0 -1
  202. package/dist/tasks/detection/getBehavioralData.js +0 -51
  203. package/dist/tasks/detection/getBehavioralData.js.map +0 -1
  204. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts +0 -2
  205. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
  206. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js +0 -57
  207. package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js.map +0 -1
  208. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts +0 -2
  209. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts.map +0 -1
  210. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js +0 -60
  211. package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js.map +0 -1
  212. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +0 -2
  213. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +0 -1
  214. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +0 -109
  215. package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +0 -1
@@ -12,4 +12,4 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  // @ts-nocheck
15
- import{RSA_PKCS1_OAEP_PADDING as GoYvnb}from'node:constants';import{privateDecrypt as NzHSAb,createDecipheriv as HMefcR}from'node:crypto';function k27YDO(){}var DODsAGh=Object['defineProperty'],XidFXcw,x_EBHjD,osVNKcv,FWICCz,UP1vg8l,JB5Yh6G,zLgcNNn,gVrCRm0,eQHvzuY,QjjL8rS,_HTxugc,iY0v8A,bCT8nLu,LnPKh9,IFRWZiP,cSyzuM,Xv8_Pg,GjYPKUW,ToLgffC,lizO6U,WGJh5zC,QkfQUlh,odHpUj,TCMuBC_;function XdV7Jll(GoYvnb){return TCMuBC_[GoYvnb<-0x26?GoYvnb+0x3a:GoYvnb-0x2b]}TCMuBC_=mJvs6q0();var DGMLx1=[],f4b_w8=['+Z^KF4a;','IILAp?F','+8&v&','{<)O','HuEvB*/6','IIgj4yYNx','uIzjX_6:=1','sBLV!!06','zu(v|','pD}p~C@jpM','@<Evhe5l`L[;YI','T<(vwd8cAEe,6','&iTpAHKa','hbKA]._a','~h:vK#F','bbTJfCJH31','_rF7}','@,{T{','F+Ex',';&;uLCrY*6nm!3p{K<9U"O8','=q6Tg(NG','**wLFpL=iY','jDml$u8','WW4Ml"8','D~9T3=ik[sA','E*Fx','p|QjF)l_TB}Ma{Vh+m@e_>Uy|Jk:20In_J~T#tHQ6}T>%%','W%:cQI?q)xuvAskMwIKx','Eg^k?3|@5g[8cMaGOgYeCbO@(DJ2hl6$','=xbmlsuQqvr+J8Xe`7R7^Js~[JhB&$[3gA_wc','M}EYcZ5*H0oYdSZ|Yn37F)YZc+Af#t7Q%+tk*34}A{)/Q%','"DAmrW)#:von4RZ$K]%','NAis]T(p#xonz2CE!INx','9gL`Qj3~ivUf4]XE||~>=XzK8,2RF#BOcA|`{De?&V','2h+mF@]B(CX@}{y1HD|?TMB~~/|e&%$r?1DTKYKmzU3','Qh|pz>3}A}=kPnZ.','g}ys[l1EgByg5','b]Kxa@0=CB8/KB>Xghl`]','nh`7>TA_#gW5mPteUDSb<IMqqKL=O<?6_~)cI827a{','GAwY:8xtw','4%K@qRsbM0BwLw=$v%ewHi(Ej;g/{y','PA^)#J889}:sl%','D&F?u=9','7goY*gkn>;2YdS','omdma#JqyJ7c}I#X+6qOUsH3tEP{XB@$^mLmmm`@yx','`M9g?<J*<,O$La_.A&u?qm2~a}fY@w','n_#71mubCh*l6sqXNu,gfv<*]/EshIBrSIce(*_5','YD.g<(6E,Jh|t8d','TJHf0#]B+}?$h{bN=}:xcq1Z=0U','R1Ybjt65nB,Vw{W82u$d)l??@0l;7MUrk5','U(Cxeq2b[,Fb|Bg./AwSlBh@>ljb_NxXHm3c/','7wJmDYJ*yg:sj]a|8u?e8qT?<J"2J#}','"OC)SsD}&KEBgMe_w_r`<NQcCT;09%7','Ir0dz>#kO/Mf[8XNsh!Y"is}.]+*Rs%19w~wF)8}PE',',|R7|3[B[x@*lNGr&A!bjifp`V','`bb`ozT5mgq>B2%M2ezRV8i4QB=e8$D*O{xm6','@A*?T|AKRx#{j#cQ|_)cxJwVmgOB[I8NlI4wY>(5','2%Lg1MZ*/geeDM".s]@dbNzmq{++DRe?O~2@@sl5','fugR<t6q<gWl4R#3/ugf%&s7;6}hBW}GoOudmPk5','wxef3fs}"B@','6}Q7C8=q(+u/1Nocx_sRXpb|Q0','<feO_N8c1lD2m%','~Ir?zTj}(l1+(sF83AUmB~5KZ04YSS5V','xR@k#89','"|m`NW(07Bkpnw3n!3A7','|{JmH<S"ZE',';R{@db:~7d;:5','^vpCx#<k+}.>/8!N[m9)&2.Zw,}BZaH:uuy',')}[=BB{kiKJYYs(XHCNOL><.r;^%Rw=|BGKfG','!MKw"(Lk~/{s?Mm|>UoY6Dl5','`31`mM3yV{{paq&G}I3$?','>lqx/Is@_BY=tvl_z6Ods#~BtEMdQ<pE+g2wbD9','01UgUBIt;l7u9:@O:KXx4t3y+xU*5','{vZIP<4@RVoa]N`r+9','6KSbysJKI0SMgRXNQGWk"I~VUB5po]`6qhBC','NDNx_IsbZ0*dMw','W|wi"i+BcVYVXP^O&GmC','4]U7WXt?igEe/s=$s&QcD|:@xB5$OlA6L&5','__X>u&]@M,QmB0lOF(3c.qV2?lw_v{]',']`gw!mj@yKn$/:+e$Mxj3g;=qCct(RKr','dIDO)Wo07T)DT]m|ku`$@m7B~/K~Xy3MX?:7','z]qRgXg~OlPYC:4|aD?k585EF]g>H8.e,_m?I#0=KKe@Mw','C~:$NUIm|{,nT2P|','MJK7f&wQ(+WlKPC','9*Yb12V8RVnTn&wNKghbEiz0%x','_uPCVJEkwE','/u3xk4#z6K6$Z&}hm7)7kbuQK=sRTBv*7R^O5vJ.H0{|.w','6Ieg]T_?yJIwv{H:0~tey8c8Rx|A9%?c`uf7','6}aR!M9','AfQR0i*kq{pUh{rNJ3ckBs6=]+F=M&NnAel`N3/5','Y_gkNf9','2gc@UB(ZxT.lL&Mn!}a7bv/k.Dr%^W.X~JoGNftpmxZvMw','n`.$O3}8lDd0|0u68Jy','<&ZbcI_=:+:&{y0','<ANO+8S=q/V$ZwYEKMQx:D7,7','FCV`d&q*s6sYs8}X/g]@1K[akT!w:IwV49','Au>i[<Lk6v]p/:o80K(T|Z9','Ix1?}N#*A}&tYwa|zhrm/','MmYG%DbB:vb=EyfVNAd?w49','vez@3U9','I7>i@YJKpAX','Sb*s3ai3(U2YAQh|BItbGfm?D{pR%2#XT3kxK=9','X&*?Asv~5VhMQ%wVWIck','mIobDz<?0]S_fQw6MJzfLN(Jx6If3$_3oOHxcaGylh','2&EbgBC8HAzCZw~XeJ1Y@PUaJ6YUVWo6Oh~etz^8aJQ','lDJgmU^Q+vY?5:AQ7wy','<XewXR2VChj=HlY$[A.cj&J5','eb|pJ=]QjCy7%P9Q@|2@cI]@mx$h`$|_iAY>Wsu~u0Q','Q`|smmY06JGBfQ%e$~FmOl[Qkh','OgObPJL6eV3','zhObg[Xp|gq*kG96~u/T8Z)?m,ysnRAM2D4wb#9','zAKR:Da~7','OIl?Xg<5y{!tml}hL&8d!K"JqC{|:%Merh[Gwb2u:+l','%gjxp<z.YVFY1NJ*z;1Yeg@cblPCINB.zmce5&+7~Caw12d','NbckE#2Bl;0ACXGr5v"wn@9','9K#mAz9','=&x7}4yQL68zFN#XM}jk&K:Cw0','9K(>aT)J:/dhJ&63t6y','KMSbPDI5uJt+pG5Q_A)pb#9','Iuef#J~yBl[?GS4*j2B=#<+B40~+_GY$f6%','$~3RmXn?e+J]Mwg3Jg=df#E#5{P5wXyVAM;s&[Oy','03>Gg=rcSB2YeG$OM?gO?','cupY+sdC>C','4A9$M3Vaw','E`C)q2.E6viUv<KMb;c@*pC8Rv||a$IeZ2"Oh3C2P}oa5','@I"@fJ2@%}=+>$`c:~_fs#Ipb]CpQ:E|TG2IimVQ#g)','TIJCw43V/g&QjRA6U9','8JGsK[fK}]Sg[IW6rMZkCbE*+JRt>%','me5g{<$q40J`3qx','z6KOMW9','5+NkmY0t<E!lS:l.kJ8e?@LzW=XT}{eMX_%','1MIOj>`}364#5:&$%JNO949','yR=d6<YK`}cebtGrNAEsO@>QSBZKB#:|2uHx','>UCgu~EtChL8fspG{KdsViE0#{','j(|pki;5','<|tT]T3V,VNt=wY$VmSk@PfkeV~+~0.n0I_w','du[?uzeExDcz<y9_OA(>?','_hHxBvJ0o,_%.saG','Uxex58wrkT+/5','$hOdzN@BnBz8z]1NBu.mn@hBw','81[S^@H3.B^APn:h"6%S_tAt*xuK5','Eg2@pb}~V{[v5',':~:mSbmkfD!6NnO*k}npusW??]','Pm[kfTa7%}?$o2V|dM2w+~G86vVtUl6h','smu=1MuBdA^mRv:Gxb^>83a7}DD@[{<.O_XR6','9?j@Y>OV`}lk!$]hx?T@lBJ?pAT;Qq1Xme{@$','5`*?8lYK?l#2GS','8IWTZ<SKw,Y512AQumcw=K7reK6p#s0X6~}TKvZ5','^I;sb#NyWC3e5:?6c?sR`fekN,wzm]{','?3u=P<r}v]2fr]Hr>9',')%K@C|@y',')&vYdiJ?ax+2aa:GmMyp_qXEQ0%0tw',')uYi`IImoviaPtJ_1bp?A[.KGDg]M&gOqIRm]iF|;AWVFt7','Kgv=RY8}e+JU:$Y$.}=bk4Z_(;oC2nU.P2imn<uQC6@k"y','6m/@=U0n8,gReG"?MxHR[I|@~K+YNW,_#U_)Gja3%,J]C%','/mtbOZCc,{mf4t$?','FXBm2i7~&v)$oNNV_5','Kl]T3gf.&VN','ZmWeiUfm&}+=8%%cG|J7}<}25JZY+2l?o6K>@B3QK{P;3%','||&f1U:~6{Pon:rGNx%','K&?OcW~}qCY5IB^.6JMOYTd@fD36EPh$aAf`DXhBEE(dWw','sA.pV<y,4,FShl58Jm&f3Kn.GlKw&<fe','`{UR3*X00/h7rnHrHr0TWX92BD`>Aw','De>i7&wBA}1aO$`6r1BC<lm5b6bnd#Sn)v3p:','=|UfZibB0DpU,<VODud$fD(*&}48p2q$Amy','dR=wnj.E+E5uT%8VTI.$:T4bA{X','Ym/bMqO8YU4oTPSM!m%','9{+m{<6tJ6P27S]$[O~>p<~@$6','aU=eqPLzn6S_?w=*"2Tx','K%KOP<Qy','CInmM3&3+v(fyiXM','SIOe8u|4P}FY|]fEM62@W&P|ZE~l:%seV}OYvv.Z0l?snw','bMu?oT!,ZE','FfQfIibQ80=','"f>GsTD7]V0c0[/3"A/>:Nr@lD/P$i,c8}oS','brp?{>hCWU0TTNXn','Mu<?%|r~s0w:J:&|"7d`}>U@5K&>q<L*)xZiTPQ,}]','[27evXl.1]pb:{JO','&|(eaJzk;D;sDR7Q','63Vp"ILJWl6c.:K865','R3zwHN=kuJ+nRs`_}b/ky8zJ|K97H<NVm3]eo=9'];odHpUj=(GoYvnb,NzHSAb,HMefcR,k27YDO,DODsAGh)=>{if(typeof k27YDO==='undefined'){k27YDO=x_vvy9}if(typeof DODsAGh===XdV7Jll(-0x3a)){DODsAGh=DGMLx1}if(HMefcR&&k27YDO!==x_vvy9){odHpUj=x_vvy9;return odHpUj(GoYvnb,-0x1,HMefcR,k27YDO,DODsAGh)}if(GoYvnb!==NzHSAb){return DODsAGh[GoYvnb]||(DODsAGh[GoYvnb]=k27YDO(f4b_w8[GoYvnb]))}if(HMefcR==k27YDO){return NzHSAb?GoYvnb[DODsAGh[NzHSAb]]:DGMLx1[GoYvnb]||(HMefcR=DODsAGh[GoYvnb]||k27YDO,DGMLx1[GoYvnb]=HMefcR(f4b_w8[GoYvnb]))}};function N97Q_Od(){return globalThis}function Qdfc6i(){return global}function PCiA5Wd(){return window}function IT5DIC(){return new Function('return this')()}function u5QXDdI(GoYvnb=[N97Q_Od,Qdfc6i,PCiA5Wd,IT5DIC],NzHSAb,HMefcR=[],DODsAGh=0x0,XidFXcw){NzHSAb=NzHSAb;try{k27YDO(NzHSAb=Object,HMefcR.push(''.__proto__.constructor.name))}catch(e){}vb9qjW:for(DODsAGh=DODsAGh;DODsAGh<GoYvnb.length;DODsAGh++)try{var x_EBHjD=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb>0x16?GoYvnb<0x2b?GoYvnb>0x16?GoYvnb<0x16?GoYvnb+0x46:GoYvnb-0x17:GoYvnb+0x12:GoYvnb-0x19:GoYvnb-0x4f]},0x1);NzHSAb=GoYvnb[DODsAGh]();for(XidFXcw=x_EBHjD(0x18);XidFXcw<HMefcR.length;XidFXcw++)if(typeof NzHSAb[HMefcR[XidFXcw]]===XdV7Jll(-0x3a)){continue vb9qjW}return NzHSAb}catch(e){}return NzHSAb||this}k27YDO(QkfQUlh=u5QXDdI()||{},WGJh5zC=QkfQUlh.TextDecoder,lizO6U=QkfQUlh.Uint8Array,ToLgffC=QkfQUlh.Buffer,GjYPKUW=QkfQUlh.String||String,Xv8_Pg=QkfQUlh.Array||Array,cSyzuM=R6licAj(()=>{var GoYvnb=new Xv8_Pg(0x80),NzHSAb,HMefcR;k27YDO(NzHSAb=GjYPKUW[XdV7Jll(-0x37)]||GjYPKUW.fromCharCode,HMefcR=[]);return R6licAj(DODsAGh=>{var XidFXcw,x_EBHjD;function osVNKcv(DODsAGh){return TCMuBC_[DODsAGh>0x2e?DODsAGh-0xe:DODsAGh>0x2e?DODsAGh-0x48:DODsAGh>0x19?DODsAGh-0x1a:DODsAGh-0x36]}var FWICCz,UP1vg8l;k27YDO(XidFXcw=DODsAGh.length,HMefcR.length=0x0);for(x_EBHjD=osVNKcv(0x1b);x_EBHjD<XidFXcw;){var JB5Yh6G=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<-0x2c?DODsAGh<-0x41?DODsAGh+0x58:DODsAGh+0x40:DODsAGh+0x20]},0x1);UP1vg8l=DODsAGh[x_EBHjD++];if(UP1vg8l<=0x7f){FWICCz=UP1vg8l}else{if(UP1vg8l<=0xdf){var zLgcNNn=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<0xd?DODsAGh+0x52:DODsAGh<0xd?DODsAGh-0xd:DODsAGh-0xe]},0x1);FWICCz=(UP1vg8l&0x1f)<<XdV7Jll(-0x35)|DODsAGh[x_EBHjD++]&zLgcNNn(0x10)}else{if(UP1vg8l<=0xef){var gVrCRm0=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<-0x2a?DODsAGh-0x5b:DODsAGh+0x29]},0x1);FWICCz=(UP1vg8l&0xf)<<gVrCRm0(-0x25)|(DODsAGh[x_EBHjD++]&0x3f)<<0x6|DODsAGh[x_EBHjD++]&XdV7Jll(-0x38)}else{if(GjYPKUW[JB5Yh6G(-0x3d)]){var eQHvzuY=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<0x5e?DODsAGh>0x49?DODsAGh<0x5e?DODsAGh-0x4a:DODsAGh-0x45:DODsAGh+0x3b:DODsAGh-0x2d]},0x1);FWICCz=(UP1vg8l&XdV7Jll(-0x2e))<<0x12|(DODsAGh[x_EBHjD++]&eQHvzuY(0x4c))<<XdV7Jll(-0x36)|(DODsAGh[x_EBHjD++]&JB5Yh6G(-0x3e))<<JB5Yh6G(-0x3b)|DODsAGh[x_EBHjD++]&osVNKcv(0x1c)}else{k27YDO(FWICCz=0x3f,x_EBHjD+=0x3)}}}}HMefcR.push(GoYvnb[FWICCz]||(GoYvnb[FWICCz]=NzHSAb(FWICCz)))}return HMefcR.join('')},0x1)})());function l5uqz9I(GoYvnb){var NzHSAb=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb<-0x1?GoYvnb+0x23:GoYvnb>-0x1?GoYvnb<-0x1?GoYvnb-0xc:GoYvnb-0x0:GoYvnb-0x4]},0x1);return typeof WGJh5zC!==NzHSAb(0x0)&&WGJh5zC?new WGJh5zC().decode(new lizO6U(GoYvnb)):typeof ToLgffC!==NzHSAb(0x0)&&ToLgffC?ToLgffC.from(GoYvnb).toString('utf-8'):cSyzuM(GoYvnb)}k27YDO(IFRWZiP=odHpUj(0xb1),LnPKh9=odHpUj(0x8c),bCT8nLu=odHpUj[XdV7Jll(-0x34)](void 0x0,[0x84]),iY0v8A=odHpUj.call(void 0x0,0x69),_HTxugc=odHpUj(0x4f),QjjL8rS=odHpUj(0x4e),eQHvzuY=odHpUj(0x4a),gVrCRm0=odHpUj[XdV7Jll(-0x30)](XdV7Jll(-0x33),0x47),zLgcNNn=odHpUj(0x32),JB5Yh6G=odHpUj(0x29),UP1vg8l=odHpUj(0x28),FWICCz=odHpUj(0x27),osVNKcv=[odHpUj(0x1d),odHpUj(0x21),odHpUj(0x3e),odHpUj(0x56),odHpUj(0x5d)],x_EBHjD={JRE5RU:odHpUj(0x1c),ET_D6Mx:odHpUj[XdV7Jll(-0x34)](XdV7Jll(-0x33),[0x23]),mjJHG7T:odHpUj(0x2d),u28dzh:odHpUj(0x35),KyIf9O:odHpUj[XdV7Jll(-0x34)](void 0x0,[0x46]),IzmZz8F:odHpUj(0x4d),sNAL0i:odHpUj(XdV7Jll(-0x2c)),MyaPpaM:odHpUj(0x62),TIi_1m:odHpUj.apply(XdV7Jll(-0x33),[0x6a]),KKo2sTn:odHpUj(0x6c),JoiXrg0:odHpUj(0x72),lDhWjH:odHpUj(0x77)});function nnZkjBy(...GoYvnb){var NzHSAb=(GoYvnb,HMefcR,k27YDO,XidFXcw,x_EBHjD)=>{if(typeof XidFXcw===XdV7Jll(-0x3a)){XidFXcw=DODsAGh}if(typeof x_EBHjD===XdV7Jll(-0x3a)){x_EBHjD=DGMLx1}if(GoYvnb!==HMefcR){return x_EBHjD[GoYvnb]||(x_EBHjD[GoYvnb]=XidFXcw(f4b_w8[GoYvnb]))}if(k27YDO&&XidFXcw!==DODsAGh){NzHSAb=DODsAGh;return NzHSAb(GoYvnb,-0x1,k27YDO,XidFXcw,x_EBHjD)}if(k27YDO==GoYvnb){return HMefcR[DGMLx1[k27YDO]]=NzHSAb(GoYvnb,HMefcR)}if(k27YDO==XidFXcw){return HMefcR?GoYvnb[x_EBHjD[HMefcR]]:DGMLx1[GoYvnb]||(k27YDO=x_EBHjD[GoYvnb]||XidFXcw,DGMLx1[GoYvnb]=k27YDO(f4b_w8[GoYvnb]))}},HMefcR;HMefcR=[NzHSAb.call(XdV7Jll(-0x33),0x0)];return GoYvnb[GoYvnb[HMefcR[0x0]]-0x1];function DODsAGh(GoYvnb,NzHSAb='(|;y$Cs?WBukzM7Z~=mQ^Sq+"Va>_}.hP:Y{`L5Do8TRdUej0NX)nEG@]<,p32b[&I%rlgA9Hwcx*KFi64!vfJt#O1/',HMefcR,DODsAGh,XidFXcw=[],x_EBHjD=0x0,osVNKcv,FWICCz,UP1vg8l,JB5Yh6G){var zLgcNNn=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb<0x40?GoYvnb+0x4c:GoYvnb>0x55?GoYvnb-0x4d:GoYvnb-0x41]},0x1);k27YDO(HMefcR=''+(GoYvnb||''),DODsAGh=HMefcR.length,osVNKcv=zLgcNNn(0x42),FWICCz=-XdV7Jll(-0x32));for(UP1vg8l=zLgcNNn(0x42);UP1vg8l<DODsAGh;UP1vg8l++){var gVrCRm0=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb>0x11?GoYvnb-0x12:GoYvnb+0x4a]},0x1);JB5Yh6G=NzHSAb.indexOf(HMefcR[UP1vg8l]);if(JB5Yh6G===-gVrCRm0(0x1a)){continue}if(FWICCz<0x0){FWICCz=JB5Yh6G}else{var eQHvzuY=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb<-0x11?GoYvnb-0x19:GoYvnb>0x4?GoYvnb+0x34:GoYvnb<-0x11?GoYvnb-0x18:GoYvnb<0x4?GoYvnb+0x10:GoYvnb+0x37]},0x1);k27YDO(FWICCz+=JB5Yh6G*0x5b,x_EBHjD|=FWICCz<<osVNKcv,osVNKcv+=(FWICCz&0x1fff)>eQHvzuY(0x1)?zLgcNNn(0x53):0xe);do{k27YDO(XidFXcw.push(x_EBHjD&zLgcNNn(0x4a)),x_EBHjD>>=gVrCRm0(0x21),osVNKcv-=0x8)}while(osVNKcv>0x7);FWICCz=-gVrCRm0(0x1a)}}if(FWICCz>-zLgcNNn(0x49)){XidFXcw.push((x_EBHjD|FWICCz<<osVNKcv)&zLgcNNn(0x4a))}return l5uqz9I(XidFXcw)}}function ukJTFl(GoYvnb,NzHSAb){switch(XidFXcw){case-0x1b:return-GoYvnb}}function xeS8oGq(GoYvnb){return nnZkjBy(GoYvnb=XidFXcw+(XidFXcw=GoYvnb,0x0),GoYvnb)}XidFXcw=XidFXcw;function ZusH6B(DODsAGh,x_EBHjD){var osVNKcv,FWICCz,UP1vg8l,JB5Yh6G,zLgcNNn,gVrCRm0,eQHvzuY;function QjjL8rS(DODsAGh){return TCMuBC_[DODsAGh<-0x9?DODsAGh>-0x9?DODsAGh-0x33:DODsAGh>-0x1e?DODsAGh+0x1d:DODsAGh-0x31:DODsAGh+0x38]}k27YDO(osVNKcv=(DODsAGh,x_EBHjD,FWICCz,UP1vg8l,JB5Yh6G)=>{var zLgcNNn=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh>0x13?DODsAGh+0x12:DODsAGh+0x1]},0x1);if(typeof UP1vg8l===XdV7Jll(-0x3a)){UP1vg8l=lizO6U}if(typeof JB5Yh6G===zLgcNNn(-0x1)){JB5Yh6G=DGMLx1}if(DODsAGh!==x_EBHjD){return JB5Yh6G[DODsAGh]||(JB5Yh6G[DODsAGh]=UP1vg8l(f4b_w8[DODsAGh]))}if(FWICCz==DODsAGh){return x_EBHjD[DGMLx1[FWICCz]]=osVNKcv(DODsAGh,x_EBHjD)}if(FWICCz&&UP1vg8l!==lizO6U){osVNKcv=lizO6U;return osVNKcv(DODsAGh,-0x1,FWICCz,UP1vg8l,JB5Yh6G)}if(UP1vg8l===osVNKcv){lizO6U=x_EBHjD;return lizO6U(FWICCz)}},FWICCz=osVNKcv(0x10),UP1vg8l=osVNKcv(0xb),JB5Yh6G=osVNKcv(0x9),zLgcNNn=osVNKcv[QjjL8rS(-0x17)](void 0x0,[0x4]),gVrCRm0={[XdV7Jll(-0x2f)]:osVNKcv(0x3),iDdjE9:osVNKcv(0x4),S3u4Hmz:osVNKcv[QjjL8rS(-0x13)](QjjL8rS(-0x16),0x8),FU0xf5U:osVNKcv(0x4)},eQHvzuY=[osVNKcv(XdV7Jll(-0x2d)),osVNKcv[QjjL8rS(-0x17)](XdV7Jll(-0x33),[0xa])]);const _HTxugc=JSON[osVNKcv[QjjL8rS(-0x13)](XdV7Jll(-0x33),0x1)](DODsAGh),iY0v8A=Buffer[eQHvzuY[XdV7Jll(-0x39)]](_HTxugc[gVrCRm0[XdV7Jll(-0x2f)]],gVrCRm0.iDdjE9),bCT8nLu=NzHSAb({[osVNKcv(0x3)]:x_EBHjD,[osVNKcv.apply(void 0x0,[0x5])]:GoYvnb,[osVNKcv(0x6)]:osVNKcv(QjjL8rS(-0x11))},iY0v8A),LnPKh9=Buffer[osVNKcv(0x2)](_HTxugc[gVrCRm0.S3u4Hmz],gVrCRm0.FU0xf5U),IFRWZiP=Buffer[osVNKcv(QjjL8rS(-0x10))](_HTxugc.iv,zLgcNNn),cSyzuM=LnPKh9[osVNKcv[XdV7Jll(-0x30)](void 0x0,0x9)](0x0,ukJTFl(0x10,XidFXcw=-0x1b)),Xv8_Pg=LnPKh9[JB5Yh6G](ukJTFl(0x10,xeS8oGq(-0x1b))),GjYPKUW=HMefcR(eQHvzuY[XdV7Jll(-0x32)],bCT8nLu,IFRWZiP);let ToLgffC=nnZkjBy(GjYPKUW[UP1vg8l](Xv8_Pg),GjYPKUW[osVNKcv(0xc)](cSyzuM));return nnZkjBy(ToLgffC=Buffer[osVNKcv(0xd)]([ToLgffC,GjYPKUW[osVNKcv(0xe)]()]),ToLgffC[osVNKcv(0xf)](FWICCz));function lizO6U(DODsAGh,x_EBHjD='F6auI^xJj7O4@/}<301:KM{B|$h&"ZTpv=leQ!*S~Nwb]ficP;_8LVo,kr2ED)n>Ut9(.+s?[Yyg#ARWCHdz5qX`Gm%',osVNKcv,FWICCz,UP1vg8l=[],JB5Yh6G=0x0,zLgcNNn,gVrCRm0,eQHvzuY=0x0,_HTxugc){var iY0v8A=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<-0x28?DODsAGh+0x5c:DODsAGh<-0x28?DODsAGh-0x2:DODsAGh<-0x13?DODsAGh>-0x13?DODsAGh-0x1b:DODsAGh+0x27:DODsAGh+0x24]},0x1);k27YDO(osVNKcv=''+(DODsAGh||''),FWICCz=osVNKcv.length,zLgcNNn=XdV7Jll(-0x39),gVrCRm0=-iY0v8A(-0x1f));for(eQHvzuY=eQHvzuY;eQHvzuY<FWICCz;eQHvzuY++){_HTxugc=x_EBHjD.indexOf(osVNKcv[eQHvzuY]);if(_HTxugc===-iY0v8A(-0x1f)){continue}if(gVrCRm0<0x0){gVrCRm0=_HTxugc}else{var bCT8nLu=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<-0x4a?DODsAGh+0xe:DODsAGh+0x49]},0x1);k27YDO(gVrCRm0+=_HTxugc*bCT8nLu(-0x3b),JB5Yh6G|=gVrCRm0<<zLgcNNn,zLgcNNn+=(gVrCRm0&QjjL8rS(-0xd))>0x58?0xd:0xe);do{var LnPKh9=R6licAj(DODsAGh=>{return TCMuBC_[DODsAGh<-0x2d?DODsAGh+0x26:DODsAGh>-0x2d?DODsAGh<-0x2d?DODsAGh+0x3d:DODsAGh+0x2c:DODsAGh-0x1]},0x1);k27YDO(UP1vg8l.push(JB5Yh6G&0xff),JB5Yh6G>>=LnPKh9(-0x1d),zLgcNNn-=0x8)}while(zLgcNNn>bCT8nLu(-0x3d));gVrCRm0=-iY0v8A(-0x1f)}}if(gVrCRm0>-0x1){UP1vg8l.push((JB5Yh6G|gVrCRm0<<zLgcNNn)&XdV7Jll(-0x31))}return l5uqz9I(UP1vg8l)}}const gDgt2d=async(GoYvnb,NzHSAb)=>{var HMefcR=(GoYvnb,NzHSAb,DODsAGh,XidFXcw,x_EBHjD)=>{if(typeof XidFXcw==='undefined'){XidFXcw=UP1vg8l}if(typeof x_EBHjD===XdV7Jll(-0x3a)){x_EBHjD=DGMLx1}if(DODsAGh&&XidFXcw!==UP1vg8l){HMefcR=UP1vg8l;return HMefcR(GoYvnb,-0x1,DODsAGh,XidFXcw,x_EBHjD)}if(GoYvnb!==NzHSAb){return x_EBHjD[GoYvnb]||(x_EBHjD[GoYvnb]=XidFXcw(f4b_w8[GoYvnb]))}if(DODsAGh==GoYvnb){return NzHSAb[DGMLx1[DODsAGh]]=HMefcR(GoYvnb,NzHSAb)}if(XidFXcw===XdV7Jll(-0x33)){HMefcR=x_EBHjD}},DODsAGh,XidFXcw;k27YDO(DODsAGh=[HMefcR[XdV7Jll(-0x30)](void 0x0,0x15),HMefcR(0x17)],XidFXcw=HMefcR(0x14));const x_EBHjD=Buffer[HMefcR(0x11)](NzHSAb||process[HMefcR(0x12)][HMefcR(0x13)]||'',XidFXcw)[DODsAGh[XdV7Jll(-0x39)]](HMefcR(0x16)),osVNKcv=ZusH6B(GoYvnb,x_EBHjD),FWICCz=JSON[DODsAGh[0x1]](osVNKcv);return{...FWICCz,[HMefcR(0x18)]:Date[HMefcR.call(XdV7Jll(-0x33),0x19)]()};function UP1vg8l(GoYvnb,NzHSAb='8GfqWaKLk]x9$N3hiJYs/[mgBH~{XUwlT:y%rE(Z+>&*vF2jCc#,4bDoA016).O_ReSPI@d"|7uV}M5zp=?^;t`!<Qn',HMefcR,DODsAGh,XidFXcw=[],x_EBHjD=0x0,osVNKcv,FWICCz,UP1vg8l,JB5Yh6G){var zLgcNNn=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb<0x22?GoYvnb<0x22?GoYvnb>0x22?GoYvnb-0x4a:GoYvnb<0xd?GoYvnb+0xf:GoYvnb-0xe:GoYvnb+0x26:GoYvnb-0x17]},0x1);k27YDO(HMefcR=''+(GoYvnb||''),DODsAGh=HMefcR.length,osVNKcv=zLgcNNn(0xf),FWICCz=-0x1);for(UP1vg8l=XdV7Jll(-0x39);UP1vg8l<DODsAGh;UP1vg8l++){JB5Yh6G=NzHSAb.indexOf(HMefcR[UP1vg8l]);if(JB5Yh6G===-0x1){continue}if(FWICCz<0x0){FWICCz=JB5Yh6G}else{var gVrCRm0=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb>-0xa?GoYvnb-0x5b:GoYvnb+0x1e]},0x1);k27YDO(FWICCz+=JB5Yh6G*0x5b,x_EBHjD|=FWICCz<<osVNKcv,osVNKcv+=(FWICCz&gVrCRm0(-0xe))>XdV7Jll(-0x29)?gVrCRm0(-0xc):XdV7Jll(-0x27));do{k27YDO(XidFXcw.push(x_EBHjD&zLgcNNn(0x17)),x_EBHjD>>=gVrCRm0(-0xf),osVNKcv-=0x8)}while(osVNKcv>XdV7Jll(-0x2e));FWICCz=-0x1}}if(FWICCz>-zLgcNNn(0x16)){XidFXcw.push((x_EBHjD|FWICCz<<osVNKcv)&0xff)}return l5uqz9I(XidFXcw)}};export{gDgt2d,gDgt2d as default};function x_vvy9(GoYvnb,NzHSAb='95y%wS7kCxd;}0]{:6VEh/^_QnG$O?ce`)|*8MNX3.r1!(~q&Rim@=gTUJBlvWDK,A+out2Isfbp>Yjza#P<[Z4"HLF',HMefcR,DODsAGh,XidFXcw=[],x_EBHjD=0x0,osVNKcv=0x0,FWICCz,UP1vg8l=0x0,JB5Yh6G){k27YDO(HMefcR=''+(GoYvnb||''),DODsAGh=HMefcR.length,FWICCz=-XdV7Jll(-0x32));for(UP1vg8l=UP1vg8l;UP1vg8l<DODsAGh;UP1vg8l++){JB5Yh6G=NzHSAb.indexOf(HMefcR[UP1vg8l]);if(JB5Yh6G===-XdV7Jll(-0x32)){continue}if(FWICCz<0x0){FWICCz=JB5Yh6G}else{var zLgcNNn=R6licAj(GoYvnb=>{return TCMuBC_[GoYvnb<0x2?GoYvnb-0x56:GoYvnb<0x2?GoYvnb+0x8:GoYvnb<0x2?GoYvnb+0xe:GoYvnb-0x3]},0x1);k27YDO(FWICCz+=JB5Yh6G*0x5b,x_EBHjD|=FWICCz<<osVNKcv,osVNKcv+=(FWICCz&zLgcNNn(0x13))>zLgcNNn(0x14)?XdV7Jll(-0x28):XdV7Jll(-0x27));do{k27YDO(XidFXcw.push(x_EBHjD&zLgcNNn(0xc)),x_EBHjD>>=0x8,osVNKcv-=0x8)}while(osVNKcv>0x7);FWICCz=-0x1}}if(FWICCz>-0x1){XidFXcw.push((x_EBHjD|FWICCz<<osVNKcv)&XdV7Jll(-0x31))}return l5uqz9I(XidFXcw)}function mJvs6q0(){return['undefined',0x0,0x3f,'fromCodePoint',0xc,0x6,'apply',void 0x0,0x1,0xff,'call','Vhy4yYk',0x7,0x2,0x5b,0x8,0x1fff,0x58,0xd,0xe]}function R6licAj(GoYvnb,NzHSAb=0x0){var HMefcR=function(){return GoYvnb(...arguments)};return DODsAGh(HMefcR,'length',{'value':NzHSAb,'configurable':true})}
15
+ import{RSA_PKCS1_OAEP_PADDING as lYgpQIu}from'node:constants';import{privateDecrypt as _tu9kNq,createDecipheriv as lrUmqp}from'node:crypto';function bh2X_2r(){}var s2vFhZS=Object['defineProperty'],ThARLh,flNmQt,RhNwyD,iYlcLvf,GBlDyc,x5cguDs,PqkurF,YKXyjaG,TwvCME9,JskwyQc,QeCB3C,cYbeftG,geovr3v;function UTJyAip(lYgpQIu){return geovr3v[lYgpQIu>-0x3e?lYgpQIu+0x53:lYgpQIu>-0x62?lYgpQIu<-0x62?lYgpQIu+0x6:lYgpQIu<-0x62?lYgpQIu-0x2d:lYgpQIu+0x61:lYgpQIu-0x5c]}geovr3v=zMuhST();var iiioNH=[],uzT0OvZ=['_7opc=V%','l.rRFKDg','bm#d)6]I','$OotA{SA','9eXh}7d?}KjqB7+Ch:EBRKlsT@x5n@193emHVtKU~3OOMG:"i:F5cNI*OZz`G+e:57dtg8dvg_cNaNh','Y@Z#`Rko','$Y=P&A[sy,J/z','G?X5Zy{s3h06l|(.=T','R{X}33ft{zE','f@|L','oFtyCtT','U:lpK17o','Y@Z#`Rko','Y@Z#`Rko','9aq9?NnH9W','Y@Z#`Rko','Akg_','Y@Z#`Rko','l@WL','Y@Z#`Rko','Y@Z#`Rko','G?.5UNjv(}x3Uwy?":~1U/34:Z','9aq9?NnH9W','l@WL','G?.5UNle2Z)D!tb?$_EH@{.R3hr62GaF_z','@@YyK1Zo',UTJyAip(-0x61),'Y@Z#`Rko',UTJyAip(-0x60),'U:lpK17o','Y@Z#`Rko','G?X5Zy{sg<*}L|Z?;H/$I;3U3h2=DXd?4z',UTJyAip(-0x61),'oFtyCtT',UTJyAip(-0x60),'U:lpK17o','ww=#9tT','RIO5Y"4z','S+,#;;xP','n@O5kFdv0=;G/w','l@m5j)EA#OFpz','C6l9#RZo','k:Z#cu<o',')}aEp5Y','::l]JN]R+%','<KT_q','^EC5C','J?iL','djd{]78%:O>f0qNCe!(Bt,T','RIO5Y"4z','::l]JN]R+%','A$f9n{T','ww=#9tT','$k(5qR+HW.D','i:JL','?}&w63)?Hp_Ev4~9AK)H',')EC{qp!v~a;54;DF(u^yibJz','K$+lCA]0,D%^bwDv4i25%,g6Mn!zwCt90ZP{S89Agn','yZA/Gu"2,DfSKG9B%3(LI[;n?Q~','LG0$3{Ebu$`6Bw',')Vq]JDw%NPYZU7os|7YG7G?8e.E%n&xk=?S/_a&z','6?py32j?7PPN!O,8nuc#P&(zmnW^&oXVYa_`S,iFy}IeAo','M,*$m6%s=.O5zd;%hnl=#K"8I','|_!GmP^EIg^*yOF9yT','pKNEpdmUd$senOVjBB~Ce^7=jq4Lz','pub9Bt,e)$gNOXlQGvT~X~Dl5awuV+;i1J5lJGtz','za$pp1oH`D}H6iZ?t9kE;p{[*}:=kR;"UQ:BGG4Ph','Y}P=C"E.w$M#y8dCI@WLn{qog@Cpoh}laun9o;xU<@I)dI','ye5/(X:41.FC)^x*B@.BW=mUG%G,z','Fi{5VNWBRnLYTtaljKo','T68{taWBX$q)aI','V@zCbtp484[1KG""',',769z&*Abg=WU;n','FijxC`v[}@RDf|z8"K&/."+Hn,fZDIQ&fEkx3aMl%3!#bsq','1,2BRyVl=gu/_;]%+K.5479x1gTCF)4Zm9F;%Kt]"27','S}gE}dVH>}/N9tVF8Br$J|@*}$gVoR!F|QM5*y&z','mEx{9Op]I$lZ+OgY}ek5$&T','U?_$48cgj,aDy@L"xD;/XXk{LqO','>}_x*y>,~37V#w4k*?O#n7slw','IW3V=69R4Og=C<Tj468L|E5gp4(;>*uQ,}&V3#lo7PPyDw','7KuhZ<vg6HrKU7#&Lz','9i#kp3`?cQ<%sAGCUto','xZ:;.`0YJMT;kh','0J2H:/fHADG/++J&{Z:;PPPBn,D','pK#w6|,{%$,Mo*c*DY6w','~_C#iGV[yHz~<4`&%aO58DueEn&yQhm8tq"=Q"RzI',']{&=|PT','OiGeQ"cn!}MHDX^iowC5>~==+MjFU7n',';}S/0Xj2#PVsNI','gV3GGDk=_}By}^4','D78Bt,n%2}@vP77CLn}e5AT','6i3_S,A4z%','+:VB@R:^wgRD?X4&1i3y8u+8&4','rqVB*?2lT33=5OWCf})Hevgl]','oF~e>=#ECODw{R7vl:ZLI,tKx}S(Gw','L:`V0JKxZ$Fsn&,QLY^{q8(z^$V4+CwQb9,9oaHlg@','pvy<1;M%:}{m])hi{uByp2KY*q.Iz','la)HRy===K,V;II*6:|]j|~]YZ2=/8{*GT','7k"y<DZ6W.I`DCbUuY2HAi`?~M/G@<sF^JSG$6e=Bq?',')*]=c31n).R%rN%?PezC<2L[LqC],Rq','XOf~}d[?P.&/J4T8o$`/"|&48gZ7f|c&79uL3vejBW','~niLeR?nnO[f~7x"wu~5~t$2A%6/3X,QUE0GV','+E}HVN`%%_1/CqKFpu(Ly{N?EKB,fhwQ_GH_D6noz%','b7KeGurUkO=w8IqZ7tn{Q"J^:}/1o|{*s6~E%','o$JptvLs_Q21:kAk]t~e3S@.T3JMeh','7}B](7T','"k{H)~I^}@W9h;7CSEN_','^EJVX,%gOQ}N?I<VHn={EEY]>Oa(W7Lk>J5/@KH6aqP','?u{E7E7%{q!fE)VFAEz`j/csxOee9"].QklpW',']tV{mpT','xqN_]Rds+W<qGat.5_t/k"H%g@:^2)3l','|7=BdJs8R$>{XA&"+ki]63vn:ZP','EE,pB=o[+a*}0"}Qs:^]9=/z','}/3Gx^<2xQ3GRw0+{,u]u,_*.a4u~+rvRq4]V','cnAVeSz4,@"Lo|w9d1}$KP^E_q%E!tU.*z','iEB{mP@Av_,D7XCQ$qbtVb#]q3WyzR:"B@[VOEp3ga.EPw(','7k3_1atB&gQiO1rB9aHCR~f8]p:Mp1R?DQi9s<Nne','yvwhrA/ULO@i&q~9!ElV*K^Kb4E^ds!VRD)Hd^OF"gQ7qh','3iy#36PByDEMuOq','<75C~/usmK[%zaV8/9TeM;(3FKX1as|B>jg/{K|zkQ','xu4pXJ7=9W=/T','j:SyU/}3n,O5dXoixQlV:3%sP$f9VA4','=t[yf`VgP.DGuC|FTB^t!tT','vnUxeS44/29p;XAk,?dh','_{A/m{voSn=Fbw@kUitV."x4za_iGa{"NDyPVbQ^)n','@a7/uph*x,kLF14C','PJ&_`8MlqMH7O2R&w{b{63]433cMsI.vg9LEf','0Ep/VF,nQ%I+5C3Y~$X{7&`s~Mc','}QuL2PM2zKho<iDVT?xB5OI4]','Jiqp0`eH~_2/R*|FVBslZ^{=$.?]("?%[O8LSJrz','3iwL~OEA%35SaO.Uckhp>$.z','IWF#l$1[HL~^GGOQ','mIn#p18n@abKwCR&(K+eH<YU_Q.sM4{kaVdhT{T','Uipyh8PU;4vO+Ac"Z{ukii|AqMxNT','UYEBiutU=g#B[^Ev','wa6w1p}BXKR1(OPUt(1=^;kH~M~','mJ&e%^7?[.','~?.#/aS4^.Le_+i%TK#k9bNeSH>hz','Q?#t=3Rb@W~OcAr+za0Vw;9UnOpFz','.$AV_pue)nH}/;lsY6A/SXns(ZBs<*OBj{dBHyD[va;*"GL','%t3/zRjlLZ(7<i_','wk"yYy.Ufgl,~;7&B$0GSy7%Xg@vdXOjOZrEh^OAXgC','#,1V`px]/Z&/8O$vRZ.#ltAxt4o~&"(&ekEB0=N[:(jNgC5s','.a:{;SW]BOjNDO=Ct,YeJN*AOD!86Ge%1T','{J7CZ?$N{q3=)R#&_i7Gkyy?14_xCO~97Z6w;a~Rc,gVz','hB6V/8Q4rZ;fU+_','rv<H,#w2G%X%Eqe*8B7eXR~Ah2{#(qACX*h]7dMNeLONz','F$]_E2SB|OweGw#"<J!/aE(4+@tNqoh"|?0/+8k{S@','4G/$dy$%Na)P~w!BpuAGC"IR6HGOt11"~_4Ly7Vs5WZ;:Iq','G7q9JG_RLZ[3Rahs!qV{?3!?+3,Wz','LkoEYAgsS%]ZB;i9.K5eJEvojO+I^8"%f?Qew[T','&Q_`F`F]cWW9B+5BRIx5nXAA+M>#"kn"S/<H8xq[}_','P}@ye{A.|,9]}8H94nL5S"T','+Kt$Gi^EaO`wrw1*L6U;Z'];cYbeftG=(_tu9kNq,lrUmqp,bh2X_2r,s2vFhZS,ThARLh)=>{if(typeof s2vFhZS===UTJyAip(-0x5c)){s2vFhZS=JWL1XBz}if(typeof ThARLh==='undefined'){ThARLh=iiioNH}if(bh2X_2r&&s2vFhZS!==JWL1XBz){cYbeftG=JWL1XBz;return cYbeftG(_tu9kNq,-0x1,bh2X_2r,s2vFhZS,ThARLh)}if(lrUmqp){[ThARLh,lrUmqp]=[s2vFhZS(ThARLh),_tu9kNq||bh2X_2r];return cYbeftG(_tu9kNq,ThARLh,bh2X_2r)}if(s2vFhZS===cYbeftG){JWL1XBz=lrUmqp;return JWL1XBz(bh2X_2r)}if(_tu9kNq!==lrUmqp){return ThARLh[_tu9kNq]||(ThARLh[_tu9kNq]=s2vFhZS(uzT0OvZ[_tu9kNq]))}};function W5iGnH(){return globalThis}function EMAPWQk(){return global}function pkneNZ(){return window}function gDQvjMn(){return new Function('return this')()}function hlGzsH(lYgpQIu=[W5iGnH,EMAPWQk,pkneNZ,gDQvjMn],_tu9kNq,lrUmqp=[],s2vFhZS,ThARLh){var flNmQt=lO__ew(lYgpQIu=>{return geovr3v[lYgpQIu<-0x2f?lYgpQIu-0x60:lYgpQIu<-0xb?lYgpQIu>-0xb?lYgpQIu+0x3a:lYgpQIu+0x2e:lYgpQIu-0x3c]},0x1);_tu9kNq=_tu9kNq;try{bh2X_2r(_tu9kNq=Object,lrUmqp.push(''.__proto__.constructor.name))}catch(e){}mO2wZDF:for(s2vFhZS=flNmQt(-0x2b);s2vFhZS<lYgpQIu.length;s2vFhZS++)try{_tu9kNq=lYgpQIu[s2vFhZS]();for(ThARLh=0x0;ThARLh<lrUmqp[UTJyAip(-0x5f)];ThARLh++)if(typeof _tu9kNq[lrUmqp[ThARLh]]==='undefined'){continue mO2wZDF}return _tu9kNq}catch(e){}return _tu9kNq||this}bh2X_2r(QeCB3C=hlGzsH()||{},JskwyQc=QeCB3C.TextDecoder,TwvCME9=QeCB3C.Uint8Array,YKXyjaG=QeCB3C.Buffer,PqkurF=QeCB3C.String||String,x5cguDs=QeCB3C.Array||Array,GBlDyc=lO__ew(()=>{var lYgpQIu=new x5cguDs(0x80),_tu9kNq,lrUmqp;bh2X_2r(_tu9kNq=PqkurF.fromCodePoint||PqkurF.fromCharCode,lrUmqp=[]);return lO__ew(s2vFhZS=>{var ThARLh,flNmQt;function RhNwyD(s2vFhZS){return geovr3v[s2vFhZS<0x23?s2vFhZS>0x23?s2vFhZS+0x23:s2vFhZS<-0x1?s2vFhZS+0x31:s2vFhZS-0x0:s2vFhZS-0x5d]}var iYlcLvf,GBlDyc;bh2X_2r(ThARLh=s2vFhZS[UTJyAip(-0x5f)],lrUmqp[RhNwyD(0x2)]=0x0);for(flNmQt=RhNwyD(0x3);flNmQt<ThARLh;){GBlDyc=s2vFhZS[flNmQt++];if(GBlDyc<=0x7f){iYlcLvf=GBlDyc}else{if(GBlDyc<=0xdf){iYlcLvf=(GBlDyc&0x1f)<<0x6|s2vFhZS[flNmQt++]&0x3f}else{if(GBlDyc<=0xef){var x5cguDs=lO__ew(s2vFhZS=>{return geovr3v[s2vFhZS<-0x27?s2vFhZS<-0x27?s2vFhZS<-0x4b?s2vFhZS-0x41:s2vFhZS+0x4a:s2vFhZS-0x9:s2vFhZS+0xf]},0x1);iYlcLvf=(GBlDyc&0xf)<<0xc|(s2vFhZS[flNmQt++]&x5cguDs(-0x46))<<0x6|s2vFhZS[flNmQt++]&0x3f}else{if(PqkurF.fromCodePoint){var YKXyjaG=lO__ew(s2vFhZS=>{return geovr3v[s2vFhZS>0x47?s2vFhZS-0x1d:s2vFhZS<0x47?s2vFhZS-0x24:s2vFhZS-0x4f]},0x1);iYlcLvf=(GBlDyc&UTJyAip(-0x5a))<<0x12|(s2vFhZS[flNmQt++]&0x3f)<<UTJyAip(-0x4e)|(s2vFhZS[flNmQt++]&YKXyjaG(0x28))<<UTJyAip(-0x50)|s2vFhZS[flNmQt++]&RhNwyD(0x4)}else{var TwvCME9=lO__ew(s2vFhZS=>{return geovr3v[s2vFhZS<-0x3e?s2vFhZS-0x5:s2vFhZS>-0x3e?s2vFhZS+0x3d:s2vFhZS-0x4]},0x1);bh2X_2r(iYlcLvf=TwvCME9(-0x39),flNmQt+=TwvCME9(-0x2b))}}}}lrUmqp.push(lYgpQIu[iYlcLvf]||(lYgpQIu[iYlcLvf]=_tu9kNq(iYlcLvf)))}return lrUmqp.join('')},0x1)})());function NLFenA6(lYgpQIu){var _tu9kNq=lO__ew(lYgpQIu=>{return geovr3v[lYgpQIu<0x60?lYgpQIu>0x3c?lYgpQIu>0x3c?lYgpQIu>0x60?lYgpQIu+0x54:lYgpQIu-0x3d:lYgpQIu+0x2f:lYgpQIu-0x8:lYgpQIu+0x48]},0x1);return typeof JskwyQc!==_tu9kNq(0x42)&&JskwyQc?new JskwyQc().decode(new TwvCME9(lYgpQIu)):typeof YKXyjaG!=='undefined'&&YKXyjaG?YKXyjaG.from(lYgpQIu).toString('utf-8'):GBlDyc(lYgpQIu)}bh2X_2r(iYlcLvf=[cYbeftG(0x39),cYbeftG(0x3c),cYbeftG(0x3e),cYbeftG(0x52),cYbeftG(0x5d),cYbeftG(0x65),cYbeftG(0x66),cYbeftG.call(UTJyAip(-0x5b),0x79),cYbeftG[UTJyAip(-0x56)](UTJyAip(-0x5b),[0x87]),cYbeftG(0x8c),cYbeftG(0x98)],RhNwyD={zw9RoZ:cYbeftG(UTJyAip(-0x52)),K4Lp9hE:cYbeftG(UTJyAip(-0x48)),h85h53k:cYbeftG(0x49),hG3vPvg:cYbeftG(0x57),wUnqj3:cYbeftG(0x5e),XiX1XQ:cYbeftG(0x62)},flNmQt=lO__ew((_tu9kNq,lrUmqp,s2vFhZS)=>{bh2X_2r(_tu9kNq=(lrUmqp,s2vFhZS,bh2X_2r,flNmQt,RhNwyD)=>{var iYlcLvf=lO__ew(lrUmqp=>{return geovr3v[lrUmqp>-0xb?lrUmqp+0x59:lrUmqp>-0x2f?lrUmqp>-0xb?lrUmqp-0x39:lrUmqp<-0x2f?lrUmqp-0x43:lrUmqp+0x2e:lrUmqp-0x1b]},0x1);if(typeof flNmQt===iYlcLvf(-0x29)){flNmQt=ThARLh}if(typeof RhNwyD==='undefined'){RhNwyD=iiioNH}if(s2vFhZS){[RhNwyD,s2vFhZS]=[flNmQt(RhNwyD),lrUmqp||bh2X_2r];return _tu9kNq(lrUmqp,RhNwyD,bh2X_2r)}if(bh2X_2r==lrUmqp){return s2vFhZS[iiioNH[bh2X_2r]]=_tu9kNq(lrUmqp,s2vFhZS)}if(lrUmqp!==s2vFhZS){return RhNwyD[lrUmqp]||(RhNwyD[lrUmqp]=flNmQt(uzT0OvZ[lrUmqp]))}if(flNmQt===_tu9kNq){ThARLh=s2vFhZS;return ThARLh(bh2X_2r)}if(flNmQt===void 0x0){_tu9kNq=RhNwyD}if(bh2X_2r==flNmQt){return s2vFhZS?lrUmqp[RhNwyD[s2vFhZS]]:iiioNH[lrUmqp]||(bh2X_2r=RhNwyD[lrUmqp]||flNmQt,iiioNH[lrUmqp]=bh2X_2r(uzT0OvZ[lrUmqp]))}},lrUmqp={D5hJAE:_tu9kNq(0x1)},s2vFhZS={feBMtyZ:_tu9kNq(0x0),pGR_vsn:[],uhSDM8g:lO__ew((_tu9kNq=lrUmqp.D5hJAE)=>{if(!flNmQt.pGR_vsn[0x0]){flNmQt.pGR_vsn.push(0x52)}return flNmQt.pGR_vsn[_tu9kNq]})});return s2vFhZS;function ThARLh(_tu9kNq,lrUmqp='[%g2h6e>$1+PkQY.o)H|rUqlT*DJWC}<n{y_c#0duVs7!4/,Nji]MBpOI;vZS&3@AfXa:9E"mLztwRF^=KG?85x~(b`',s2vFhZS,ThARLh,flNmQt=[],RhNwyD=0x0,iYlcLvf,GBlDyc,x5cguDs,PqkurF){bh2X_2r(s2vFhZS=''+(_tu9kNq||''),ThARLh=s2vFhZS.length,iYlcLvf=UTJyAip(-0x5e),GBlDyc=-UTJyAip(-0x59));for(x5cguDs=UTJyAip(-0x5e);x5cguDs<ThARLh;x5cguDs++){PqkurF=lrUmqp.indexOf(s2vFhZS[x5cguDs]);if(PqkurF===-0x1){continue}if(GBlDyc<0x0){GBlDyc=PqkurF}else{var YKXyjaG=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x55?_tu9kNq-0x4a:_tu9kNq-0x32]},0x1);bh2X_2r(GBlDyc+=PqkurF*0x5b,RhNwyD|=GBlDyc<<iYlcLvf,iYlcLvf+=(GBlDyc&0x1fff)>0x58?0xd:UTJyAip(-0x58));do{bh2X_2r(flNmQt.push(RhNwyD&0xff),RhNwyD>>=0x8,iYlcLvf-=UTJyAip(-0x53))}while(iYlcLvf>UTJyAip(-0x5a));GBlDyc=-YKXyjaG(0x3a)}}if(GBlDyc>-0x1){var TwvCME9=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq<0x1f?_tu9kNq+0x5b:_tu9kNq<0x43?_tu9kNq>0x1f?_tu9kNq>0x43?_tu9kNq-0x5f:_tu9kNq-0x20:_tu9kNq-0x38:_tu9kNq+0x32]},0x1);flNmQt.push((RhNwyD|GBlDyc<<iYlcLvf)&TwvCME9(0x2a))}return NLFenA6(flNmQt)}},0x3)());function WA1GBT(..._tu9kNq){var lrUmqp=(_tu9kNq,s2vFhZS,bh2X_2r,flNmQt,RhNwyD)=>{var iYlcLvf=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq<-0x40?_tu9kNq+0x61:_tu9kNq>-0x1c?_tu9kNq+0x5f:_tu9kNq>-0x1c?_tu9kNq-0x23:_tu9kNq+0x3f]},0x1);if(typeof flNmQt===UTJyAip(-0x5c)){flNmQt=ThARLh}if(typeof RhNwyD==='undefined'){RhNwyD=iiioNH}if(flNmQt===iYlcLvf(-0x39)){lrUmqp=RhNwyD}if(bh2X_2r&&flNmQt!==ThARLh){lrUmqp=ThARLh;return lrUmqp(_tu9kNq,-0x1,bh2X_2r,flNmQt,RhNwyD)}if(flNmQt===lrUmqp){ThARLh=s2vFhZS;return ThARLh(bh2X_2r)}if(bh2X_2r==flNmQt){return s2vFhZS?_tu9kNq[RhNwyD[s2vFhZS]]:iiioNH[_tu9kNq]||(bh2X_2r=RhNwyD[_tu9kNq]||flNmQt,iiioNH[_tu9kNq]=bh2X_2r(uzT0OvZ[_tu9kNq]))}if(_tu9kNq!==s2vFhZS){return RhNwyD[_tu9kNq]||(RhNwyD[_tu9kNq]=flNmQt(uzT0OvZ[_tu9kNq]))}if(s2vFhZS){[RhNwyD,s2vFhZS]=[flNmQt(RhNwyD),_tu9kNq||bh2X_2r];return lrUmqp(_tu9kNq,RhNwyD,bh2X_2r)}},s2vFhZS;s2vFhZS={WnbsbP:lrUmqp(0x2)};return _tu9kNq[_tu9kNq[s2vFhZS.WnbsbP]-UTJyAip(-0x59)];function ThARLh(_tu9kNq,lrUmqp='H3IraMXLYZJo=q@mNUzf#2BbwA]ngcR:~p1tvV58e{<}O&F!_?.G/E|;xPQi$WCu0DTs"Skl%jhK4d)[+6y,*9^>7(`',s2vFhZS,ThARLh,flNmQt=[],RhNwyD=0x0,iYlcLvf,GBlDyc,x5cguDs,PqkurF){var YKXyjaG=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x23?_tu9kNq<0x47?_tu9kNq-0x24:_tu9kNq-0x2d:_tu9kNq+0x1f]},0x1);bh2X_2r(s2vFhZS=''+(_tu9kNq||''),ThARLh=s2vFhZS.length,iYlcLvf=YKXyjaG(0x27),GBlDyc=-UTJyAip(-0x59));for(x5cguDs=YKXyjaG(0x27);x5cguDs<ThARLh;x5cguDs++){var TwvCME9=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x15?_tu9kNq>0x39?_tu9kNq-0x38:_tu9kNq>0x39?_tu9kNq-0x10:_tu9kNq>0x39?_tu9kNq+0x47:_tu9kNq-0x16:_tu9kNq+0x4a]},0x1);PqkurF=lrUmqp.indexOf(s2vFhZS[x5cguDs]);if(PqkurF===-TwvCME9(0x1e)){continue}if(GBlDyc<UTJyAip(-0x5e)){GBlDyc=PqkurF}else{var JskwyQc=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>-0x2f?_tu9kNq-0x2a:_tu9kNq<-0x2f?_tu9kNq>-0x2f?_tu9kNq-0x23:_tu9kNq+0x52:_tu9kNq-0x4a]},0x1);bh2X_2r(GBlDyc+=PqkurF*0x5b,RhNwyD|=GBlDyc<<iYlcLvf,iYlcLvf+=(GBlDyc&YKXyjaG(0x30))>YKXyjaG(0x31)?0xd:UTJyAip(-0x58));do{var QeCB3C=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq<0x51?_tu9kNq>0x2d?_tu9kNq>0x2d?_tu9kNq>0x2d?_tu9kNq-0x2e:_tu9kNq+0x11:_tu9kNq+0x38:_tu9kNq+0xd:_tu9kNq-0x10]},0x1);bh2X_2r(flNmQt.push(RhNwyD&QeCB3C(0x38)),RhNwyD>>=0x8,iYlcLvf-=0x8)}while(iYlcLvf>JskwyQc(-0x4b));GBlDyc=-UTJyAip(-0x59)}}if(GBlDyc>-0x1){flNmQt.push((RhNwyD|GBlDyc<<iYlcLvf)&UTJyAip(-0x57))}return NLFenA6(flNmQt)}}function WriIr90(_tu9kNq,lrUmqp,s2vFhZS,RhNwyD){var iYlcLvf=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq<0x4?_tu9kNq<0x4?_tu9kNq>0x4?_tu9kNq-0x48:_tu9kNq+0x1f:_tu9kNq-0x1c:_tu9kNq-0x60]},0x1);bh2X_2r(s2vFhZS=(_tu9kNq,lrUmqp,RhNwyD,iYlcLvf,bh2X_2r)=>{if(typeof iYlcLvf==='undefined'){iYlcLvf=GBlDyc}if(typeof bh2X_2r==='undefined'){bh2X_2r=iiioNH}if(_tu9kNq!==lrUmqp){return bh2X_2r[_tu9kNq]||(bh2X_2r[_tu9kNq]=iYlcLvf(uzT0OvZ[_tu9kNq]))}if(lrUmqp){[bh2X_2r,lrUmqp]=[iYlcLvf(bh2X_2r),_tu9kNq||RhNwyD];return s2vFhZS(_tu9kNq,bh2X_2r,RhNwyD)}if(RhNwyD&&iYlcLvf!==GBlDyc){s2vFhZS=GBlDyc;return s2vFhZS(_tu9kNq,-UTJyAip(-0x59),RhNwyD,iYlcLvf,bh2X_2r)}if(iYlcLvf===s2vFhZS){GBlDyc=lrUmqp;return GBlDyc(RhNwyD)}},RhNwyD=[s2vFhZS[iYlcLvf(-0x14)](UTJyAip(-0x5b),[0x3])]);switch(ThARLh){case UTJyAip(-0x51):return-_tu9kNq;case 0x4:return _tu9kNq+lrUmqp;case UTJyAip(-0x4c):return _tu9kNq*lrUmqp;case!(flNmQt.feBMtyZ[RhNwyD[UTJyAip(-0x5e)]](0x0)=='l')?0xc0:0x21:return _tu9kNq-lrUmqp;case 0x3b:return!_tu9kNq;case-0xe:return void _tu9kNq}function GBlDyc(_tu9kNq,lrUmqp='K7AWur&*,2P}pv(?eE|^)TGO8/zI9`Yfwl>.#JQsq0ka15{@bxS"ot$F%6_D=:3!<hN;]Un[yB4Ci~+dcZHLRMVjmXg',s2vFhZS,RhNwyD,GBlDyc=[],ThARLh,flNmQt=0x0,x5cguDs,PqkurF=0x0,YKXyjaG){var TwvCME9=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x3b?_tu9kNq-0x58:_tu9kNq<0x3b?_tu9kNq>0x3b?_tu9kNq+0x42:_tu9kNq-0x18:_tu9kNq-0x21]},0x1);bh2X_2r(s2vFhZS=''+(_tu9kNq||''),RhNwyD=s2vFhZS.length,ThARLh=TwvCME9(0x1b),x5cguDs=-0x1);for(PqkurF=PqkurF;PqkurF<RhNwyD;PqkurF++){YKXyjaG=lrUmqp.indexOf(s2vFhZS[PqkurF]);if(YKXyjaG===-0x1){continue}if(x5cguDs<UTJyAip(-0x5e)){x5cguDs=YKXyjaG}else{var JskwyQc=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x82?_tu9kNq+0x18:_tu9kNq<0x5e?_tu9kNq-0x16:_tu9kNq-0x5f]},0x1);bh2X_2r(x5cguDs+=YKXyjaG*0x5b,ThARLh|=x5cguDs<<flNmQt,flNmQt+=(x5cguDs&JskwyQc(0x6b))>JskwyQc(0x6c)?0xd:0xe);do{var QeCB3C=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x46?_tu9kNq>0x6a?_tu9kNq-0x18:_tu9kNq<0x6a?_tu9kNq>0x6a?_tu9kNq-0xa:_tu9kNq-0x47:_tu9kNq+0x21:_tu9kNq+0x3e]},0x1);bh2X_2r(GBlDyc.push(ThARLh&iYlcLvf(-0x15)),ThARLh>>=0x8,flNmQt-=QeCB3C(0x55))}while(flNmQt>iYlcLvf(-0x18));x5cguDs=-iYlcLvf(-0x17)}}if(x5cguDs>-0x1){GBlDyc.push((ThARLh|x5cguDs<<flNmQt)&0xff)}return NLFenA6(GBlDyc)}}function lkF2cOz(lYgpQIu){return WA1GBT(lYgpQIu=ThARLh+(ThARLh=lYgpQIu,0x0),lYgpQIu)}ThARLh=ThARLh;const imWkvYu=0x20,BrcBZT6=UTJyAip(-0x52),yR7GsPt=0xc,p3xJTg=0x10,bYEdjOF=UTJyAip(-0x59),jt13oO=RhNwyD.zw9RoZ,wFqv4I5=(()=>{var lYgpQIu=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq<0x26?_tu9kNq<0x2?_tu9kNq-0x10:_tu9kNq-0x3:_tu9kNq-0x39]},0x1);const _tu9kNq=new Int16Array(0x100).fill(WriIr90(UTJyAip(-0x59),lkF2cOz(UTJyAip(-0x51))));for(let lrUmqp=lYgpQIu(0x6);lrUmqp<jt13oO.length;lrUmqp++)_tu9kNq[jt13oO.charCodeAt(lrUmqp)]=lrUmqp;return _tu9kNq})();function v2lifp(lYgpQIu){var _tu9kNq;function lrUmqp(lYgpQIu){return geovr3v[lYgpQIu<-0x8?lYgpQIu<-0x8?lYgpQIu<-0x2c?lYgpQIu+0x2b:lYgpQIu>-0x2c?lYgpQIu+0x2b:lYgpQIu-0x21:lYgpQIu+0x31:lYgpQIu-0x37]}_tu9kNq=cYbeftG(0x5);let s2vFhZS=lYgpQIu[_tu9kNq];for(;s2vFhZS>UTJyAip(-0x5e)&&lYgpQIu[cYbeftG.apply(lrUmqp(-0x25),[UTJyAip(-0x50)])](s2vFhZS-0x1)===0x3d&&flNmQt.uhSDM8g();)s2vFhZS--;const ThARLh=s2vFhZS*UTJyAip(-0x4f)>>UTJyAip(-0x4d),RhNwyD=new Uint8Array(ThARLh);let iYlcLvf=lrUmqp(-0x28),GBlDyc=0x0,x5cguDs=UTJyAip(-0x5e);for(let PqkurF=lrUmqp(-0x28);PqkurF<s2vFhZS;PqkurF++){var YKXyjaG=lO__ew(lYgpQIu=>{return geovr3v[lYgpQIu<0x19?lYgpQIu+0xa:lYgpQIu+0x2f]},0x1);const TwvCME9=wFqv4I5[lYgpQIu[cYbeftG.call(lrUmqp(-0x25),lrUmqp(-0x1a))](PqkurF)];if(TwvCME9<0x0){throw new Error(cYbeftG(0x7))}bh2X_2r(iYlcLvf=iYlcLvf<<YKXyjaG(0x7)|TwvCME9,GBlDyc+=YKXyjaG(0x7),GBlDyc>=lrUmqp(-0x1d)&&(GBlDyc-=YKXyjaG(0x4),RhNwyD[x5cguDs++]=iYlcLvf>>GBlDyc&0xff))}return RhNwyD}const B5RPEc0=WA1GBT(new TextEncoder,new TextDecoder);function DUsXLQb(lYgpQIu,_tu9kNq){return(lYgpQIu<<_tu9kNq|lYgpQIu>>>0x20-_tu9kNq)>>>0x0}function khO09mK(lYgpQIu,_tu9kNq,lrUmqp,s2vFhZS,ThARLh){var flNmQt=lO__ew(lYgpQIu=>{return geovr3v[lYgpQIu<-0x1f?lYgpQIu>-0x43?lYgpQIu+0x42:lYgpQIu-0x55:lYgpQIu-0x5a]},0x1);bh2X_2r(lYgpQIu[_tu9kNq]=lYgpQIu[_tu9kNq]+lYgpQIu[lrUmqp]>>>UTJyAip(-0x5e),lYgpQIu[ThARLh]=DUsXLQb(lYgpQIu[ThARLh]^lYgpQIu[_tu9kNq],0x10),lYgpQIu[s2vFhZS]=lYgpQIu[s2vFhZS]+lYgpQIu[ThARLh]>>>flNmQt(-0x3f),lYgpQIu[lrUmqp]=DUsXLQb(lYgpQIu[lrUmqp]^lYgpQIu[s2vFhZS],flNmQt(-0x2f)),lYgpQIu[_tu9kNq]=lYgpQIu[_tu9kNq]+lYgpQIu[lrUmqp]>>>0x0,lYgpQIu[ThARLh]=DUsXLQb(lYgpQIu[ThARLh]^lYgpQIu[_tu9kNq],0x8),lYgpQIu[s2vFhZS]=lYgpQIu[s2vFhZS]+lYgpQIu[ThARLh]>>>0x0,lYgpQIu[lrUmqp]=DUsXLQb(lYgpQIu[lrUmqp]^lYgpQIu[s2vFhZS],UTJyAip(-0x5a)))}function v2I7x7(lYgpQIu,_tu9kNq){var lrUmqp=lO__ew(lYgpQIu=>{return geovr3v[lYgpQIu>-0x4b?lYgpQIu<-0x4b?lYgpQIu-0xe:lYgpQIu+0x4a:lYgpQIu-0x7]},0x1);return(lYgpQIu[_tu9kNq]|lYgpQIu[_tu9kNq+lrUmqp(-0x42)]<<UTJyAip(-0x53)|lYgpQIu[_tu9kNq+UTJyAip(-0x4d)]<<lrUmqp(-0x2e)|lYgpQIu[_tu9kNq+lrUmqp(-0x38)]<<0x18)>>>UTJyAip(-0x5e)}function o2hBfsG(lYgpQIu,_tu9kNq,lrUmqp){bh2X_2r(lYgpQIu[_tu9kNq]=lrUmqp&UTJyAip(-0x57),lYgpQIu[WriIr90(_tu9kNq,0x1,ThARLh=UTJyAip(-0x52))]=lrUmqp>>>0x8&UTJyAip(-0x57),lYgpQIu[WriIr90(_tu9kNq,UTJyAip(-0x4d),lkF2cOz(UTJyAip(-0x52)))]=lrUmqp>>>0x10&0xff,lYgpQIu[WriIr90(_tu9kNq,0x3,ThARLh=0x4)]=lrUmqp>>>0x18&0xff)}function Xk0wXW(_tu9kNq,lrUmqp,s2vFhZS){var flNmQt;function RhNwyD(_tu9kNq){return geovr3v[_tu9kNq<-0x54?_tu9kNq-0x21:_tu9kNq>-0x30?_tu9kNq+0x36:_tu9kNq+0x53]}flNmQt=(_tu9kNq,lrUmqp,s2vFhZS,RhNwyD,iYlcLvf)=>{if(typeof RhNwyD==='undefined'){RhNwyD=JskwyQc}if(typeof iYlcLvf==='undefined'){iYlcLvf=iiioNH}if(s2vFhZS&&RhNwyD!==JskwyQc){flNmQt=JskwyQc;return flNmQt(_tu9kNq,-0x1,s2vFhZS,RhNwyD,iYlcLvf)}if(RhNwyD===flNmQt){JskwyQc=lrUmqp;return JskwyQc(s2vFhZS)}if(_tu9kNq!==lrUmqp){return iYlcLvf[_tu9kNq]||(iYlcLvf[_tu9kNq]=RhNwyD(uzT0OvZ[_tu9kNq]))}};const iYlcLvf=new Uint32Array(0x10);for(let GBlDyc=WA1GBT((iYlcLvf[UTJyAip(-0x5e)]=_tu9kNq[flNmQt(0x8)][UTJyAip(-0x5e)]>>>UTJyAip(-0x5e),iYlcLvf[0x1]=_tu9kNq[flNmQt(RhNwyD(-0x45))][0x1]>>>0x0,iYlcLvf[0x2]=_tu9kNq[flNmQt(0x8)][0x2]>>>0x0,iYlcLvf[0x3]=_tu9kNq[flNmQt(RhNwyD(-0x45))][UTJyAip(-0x4f)]>>>0x0),0x0);GBlDyc<RhNwyD(-0x45);GBlDyc++){var x5cguDs=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x16?_tu9kNq+0x1b:_tu9kNq<-0xe?_tu9kNq-0x33:_tu9kNq>0x16?_tu9kNq-0x7:_tu9kNq+0xd]},0x1);iYlcLvf[WriIr90(0x4,GBlDyc,lkF2cOz(x5cguDs(0x2)))]=v2I7x7(_tu9kNq[cYbeftG(RhNwyD(-0x3b))],WriIr90(GBlDyc,0x4,ThARLh=RhNwyD(-0x3e)))}const PqkurF=WA1GBT((iYlcLvf[RhNwyD(-0x40)]=lrUmqp>>>RhNwyD(-0x50),iYlcLvf[RhNwyD(-0x3d)]=v2I7x7(s2vFhZS,0x0),iYlcLvf[0xe]=v2I7x7(s2vFhZS,0x4),iYlcLvf[UTJyAip(-0x46)]=v2I7x7(s2vFhZS,0x8)),iYlcLvf[cYbeftG(UTJyAip(-0x4a))]());for(let GBlDyc=0x0;GBlDyc<_tu9kNq[cYbeftG(0xb)];GBlDyc+=0x2){var YKXyjaG=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x86?_tu9kNq+0x14:_tu9kNq>0x62?_tu9kNq<0x62?_tu9kNq-0x4b:_tu9kNq>0x62?_tu9kNq-0x63:_tu9kNq-0x3a:_tu9kNq+0x43]},0x1);bh2X_2r(khO09mK(PqkurF,0x0,YKXyjaG(0x72),0x8,0xc),khO09mK(PqkurF,YKXyjaG(0x6b),0x5,0x9,YKXyjaG(0x79)),khO09mK(PqkurF,0x2,0x6,YKXyjaG(0x7a),UTJyAip(-0x58)),khO09mK(PqkurF,YKXyjaG(0x75),0x7,0xb,0xf),khO09mK(PqkurF,0x0,0x5,YKXyjaG(0x7a),0xf),khO09mK(PqkurF,0x1,0x6,0xb,UTJyAip(-0x4e)),khO09mK(PqkurF,UTJyAip(-0x4d),YKXyjaG(0x6a),YKXyjaG(0x71),0xd),khO09mK(PqkurF,0x3,0x4,RhNwyD(-0x3b),YKXyjaG(0x6c)))}const TwvCME9=new Uint8Array(0x40);for(let GBlDyc=0x0;GBlDyc<0x10;GBlDyc++)o2hBfsG(TwvCME9,WriIr90(GBlDyc,0x4,lkF2cOz(0x1a)),PqkurF[GBlDyc]+iYlcLvf[GBlDyc]>>>UTJyAip(-0x5e));return TwvCME9;function JskwyQc(lrUmqp,s2vFhZS='A<kU.&qujG8gPh|Yx@iJXFamM7RrSBv0;b*^sL!HNV${I?">o%_e9:[6yE~DK]`CTzwdlW)Z1/pcn}Q5t3f=24,(#+O',flNmQt,iYlcLvf,GBlDyc=[],x5cguDs=0x0,PqkurF,YKXyjaG,JskwyQc=0x0,ThARLh){bh2X_2r(flNmQt=''+(lrUmqp||''),iYlcLvf=flNmQt.length,PqkurF=UTJyAip(-0x5e),YKXyjaG=-UTJyAip(-0x59));for(JskwyQc=JskwyQc;JskwyQc<iYlcLvf;JskwyQc++){ThARLh=s2vFhZS.indexOf(flNmQt[JskwyQc]);if(ThARLh===-0x1){continue}if(YKXyjaG<0x0){YKXyjaG=ThARLh}else{var QeCB3C=lO__ew(lrUmqp=>{return geovr3v[lrUmqp>-0x3e?lrUmqp<-0x3e?lrUmqp+0x19:lrUmqp>-0x1a?lrUmqp+0x48:lrUmqp+0x3d:lrUmqp+0x5b]},0x1);bh2X_2r(YKXyjaG+=ThARLh*0x5b,x5cguDs|=YKXyjaG<<PqkurF,PqkurF+=(YKXyjaG&QeCB3C(-0x31))>UTJyAip(-0x54)?0xd:0xe);do{bh2X_2r(GBlDyc.push(x5cguDs&0xff),x5cguDs>>=0x8,PqkurF-=RhNwyD(-0x45))}while(PqkurF>RhNwyD(-0x4c));YKXyjaG=-RhNwyD(-0x4b)}}if(YKXyjaG>-UTJyAip(-0x59)){GBlDyc.push((x5cguDs|YKXyjaG<<PqkurF)&UTJyAip(-0x57))}return NLFenA6(GBlDyc)}}function Y8wqfY(lYgpQIu,_tu9kNq,lrUmqp,bh2X_2r){var s2vFhZS;function flNmQt(lYgpQIu){return geovr3v[lYgpQIu<-0x54?lYgpQIu-0x7:lYgpQIu>-0x54?lYgpQIu+0x53:lYgpQIu+0x49]}s2vFhZS=[cYbeftG(0xc)];const RhNwyD=new Uint8Array(bh2X_2r[s2vFhZS[flNmQt(-0x50)]]);let iYlcLvf=lrUmqp>>>flNmQt(-0x50);for(let GBlDyc=0x0;GBlDyc<bh2X_2r[cYbeftG(UTJyAip(-0x4e))];GBlDyc+=flNmQt(-0x3a)){const x5cguDs=Xk0wXW(lYgpQIu,iYlcLvf,_tu9kNq),PqkurF=Math.min(UTJyAip(-0x48),WriIr90(bh2X_2r.length,GBlDyc,ThARLh=flNmQt(-0x39)));for(let YKXyjaG=flNmQt(-0x50);YKXyjaG<PqkurF;YKXyjaG++)RhNwyD[WriIr90(GBlDyc,YKXyjaG,lkF2cOz(flNmQt(-0x44)))]=bh2X_2r[GBlDyc+YKXyjaG]^x5cguDs[YKXyjaG];iYlcLvf=iYlcLvf+0x1>>>0x0}return RhNwyD}const NOaqK6I=WriIr90(1n<<130n,5n,lkF2cOz(UTJyAip(-0x47))),ofLDLf=0x0ffffffc0ffffffc0ffffffc0fffffffn,IKEFD1=WriIr90(1n<<128n,1n,ThARLh=UTJyAip(-0x47));function YjsWNze(lYgpQIu){let _tu9kNq=0n;for(let lrUmqp=WriIr90(lYgpQIu[cYbeftG(0xd)],0x1,ThARLh=0x21);lrUmqp>=UTJyAip(-0x5e);lrUmqp--)_tu9kNq=_tu9kNq<<8n|BigInt(lYgpQIu[lrUmqp]);return _tu9kNq}function QJozJB(lYgpQIu,_tu9kNq){const lrUmqp=new Uint8Array(_tu9kNq);let bh2X_2r=lYgpQIu;for(let s2vFhZS=UTJyAip(-0x5e);s2vFhZS<_tu9kNq;s2vFhZS++)lrUmqp[s2vFhZS]=Number(bh2X_2r&0xffn),bh2X_2r>>=8n;return lrUmqp}function c0Zivh(_tu9kNq,lrUmqp){var s2vFhZS,ThARLh;function flNmQt(_tu9kNq){return geovr3v[_tu9kNq<0x24?_tu9kNq-0x29:_tu9kNq<0x48?_tu9kNq-0x25:_tu9kNq+0x61]}bh2X_2r(s2vFhZS={NBEoAr:cYbeftG(UTJyAip(-0x46))},ThARLh=cYbeftG(UTJyAip(-0x58)));const RhNwyD=YjsWNze(lrUmqp[ThARLh](UTJyAip(-0x5e),UTJyAip(-0x45)))&ofLDLf,iYlcLvf=YjsWNze(lrUmqp.subarray(flNmQt(0x41),0x20));let GBlDyc=0n;for(let x5cguDs=0x0;x5cguDs<_tu9kNq[s2vFhZS.NBEoAr];x5cguDs+=0x10){var PqkurF,YKXyjaG;function TwvCME9(_tu9kNq){return geovr3v[_tu9kNq>0xb?_tu9kNq>0xb?_tu9kNq-0xc:_tu9kNq+0x4e:_tu9kNq-0x43]}bh2X_2r(PqkurF=(_tu9kNq,lrUmqp,s2vFhZS,ThARLh,RhNwyD)=>{if(typeof ThARLh==='undefined'){ThARLh=W5iGnH}if(typeof RhNwyD===UTJyAip(-0x5c)){RhNwyD=iiioNH}if(_tu9kNq!==lrUmqp){return RhNwyD[_tu9kNq]||(RhNwyD[_tu9kNq]=ThARLh(uzT0OvZ[_tu9kNq]))}if(s2vFhZS&&ThARLh!==W5iGnH){PqkurF=W5iGnH;return PqkurF(_tu9kNq,-flNmQt(0x2d),s2vFhZS,ThARLh,RhNwyD)}},YKXyjaG={kdLckQp:cYbeftG(0xe),IlFtA0:cYbeftG.apply(void 0x0,[0xf])});const JskwyQc=_tu9kNq[YKXyjaG.kdLckQp](x5cguDs,Math[cYbeftG.call(void 0x0,0x10)](WriIr90(x5cguDs,UTJyAip(-0x45),lkF2cOz(0x4)),_tu9kNq[cYbeftG(TwvCME9(0x27))]));let QeCB3C=YjsWNze(JskwyQc);bh2X_2r(QeCB3C+=1n<<BigInt(0x8*JskwyQc[YKXyjaG.IlFtA0]),GBlDyc=(GBlDyc+QeCB3C)*RhNwyD%NOaqK6I);function W5iGnH(lrUmqp,s2vFhZS='N7Fu{W]E4"L;%6vhe9~Cf0Vz^|t$arGK!/y1+)T<d=(xU@QI`5H[:Y3p,XbB#}_?wl*O2n.PiRZSAjo&D>sgq8mcJMk',ThARLh,RhNwyD,iYlcLvf=[],GBlDyc=0x0,PqkurF,YKXyjaG,JskwyQc=0x0,QeCB3C){bh2X_2r(ThARLh=''+(lrUmqp||''),RhNwyD=ThARLh.length,PqkurF=TwvCME9(0xf),YKXyjaG=-0x1);for(JskwyQc=JskwyQc;JskwyQc<RhNwyD;JskwyQc++){QeCB3C=s2vFhZS.indexOf(ThARLh[JskwyQc]);if(QeCB3C===-0x1){continue}if(YKXyjaG<0x0){YKXyjaG=QeCB3C}else{bh2X_2r(YKXyjaG+=QeCB3C*0x5b,GBlDyc|=YKXyjaG<<PqkurF,PqkurF+=(YKXyjaG&UTJyAip(-0x55))>flNmQt(0x32)?UTJyAip(-0x4b):0xe);do{bh2X_2r(iYlcLvf.push(GBlDyc&0xff),GBlDyc>>=TwvCME9(0x1a),PqkurF-=flNmQt(0x33))}while(PqkurF>TwvCME9(0x13));YKXyjaG=-flNmQt(0x2d)}}if(YKXyjaG>-0x1){iYlcLvf.push((GBlDyc|YKXyjaG<<PqkurF)&0xff)}return NLFenA6(iYlcLvf)}}return GBlDyc=GBlDyc+iYlcLvf&IKEFD1,QJozJB(GBlDyc,0x10)}function hn4R1M(lYgpQIu,_tu9kNq){var lrUmqp,s2vFhZS,flNmQt;function RhNwyD(lYgpQIu){return geovr3v[lYgpQIu>0x11?lYgpQIu+0x4c:lYgpQIu<-0x13?lYgpQIu+0x59:lYgpQIu+0x12]}bh2X_2r(lrUmqp=[cYbeftG(RhNwyD(0xb))],s2vFhZS=cYbeftG.apply(UTJyAip(-0x5b),[0x12]),flNmQt={iq9Oqr:cYbeftG(0x11),[UTJyAip(-0x43)]:cYbeftG(0x12)});const iYlcLvf=(UTJyAip(-0x45)-lYgpQIu[flNmQt.iq9Oqr]%UTJyAip(-0x45))%0x10,GBlDyc=(0x10-_tu9kNq.length%0x10)%RhNwyD(0xa),x5cguDs=WriIr90(lYgpQIu.length+iYlcLvf+_tu9kNq.length+GBlDyc,0x10,lkF2cOz(0x4)),PqkurF=new Uint8Array(x5cguDs);let YKXyjaG=0x0;return PqkurF[s2vFhZS](lYgpQIu,YKXyjaG),YKXyjaG+=WriIr90(lYgpQIu[cYbeftG(UTJyAip(-0x44))],iYlcLvf,ThARLh=RhNwyD(-0x3)),PqkurF[flNmQt[RhNwyD(0xc)]](_tu9kNq,YKXyjaG),YKXyjaG+=WriIr90(_tu9kNq[lrUmqp[RhNwyD(-0xf)]],GBlDyc,ThARLh=0x4),o2hBfsG(PqkurF,YKXyjaG,lYgpQIu[cYbeftG(UTJyAip(-0x44))]>>>UTJyAip(-0x5e)),o2hBfsG(PqkurF,WriIr90(YKXyjaG,UTJyAip(-0x53),ThARLh=0x4),_tu9kNq[cYbeftG(UTJyAip(-0x44))]>>>0x0),PqkurF}function Fbi3AF(lYgpQIu,_tu9kNq){var lrUmqp;function bh2X_2r(lYgpQIu){return geovr3v[lYgpQIu<0x3a?lYgpQIu>0x16?lYgpQIu-0x17:lYgpQIu+0x47:lYgpQIu-0x3d]}lrUmqp=cYbeftG(0x13);if(lYgpQIu[cYbeftG[UTJyAip(-0x56)](UTJyAip(-0x5b),[bh2X_2r(0x27)])]!==_tu9kNq[lrUmqp]){return WriIr90(0x1,lkF2cOz(0x3b))}let s2vFhZS=UTJyAip(-0x5e);for(let ThARLh=bh2X_2r(0x1a);ThARLh<lYgpQIu[cYbeftG(0x13)];ThARLh++)s2vFhZS|=lYgpQIu[ThARLh]^_tu9kNq[ThARLh];return s2vFhZS===0x0}function gChW9N(lYgpQIu,_tu9kNq){var lrUmqp,s2vFhZS;function flNmQt(lYgpQIu){return geovr3v[lYgpQIu<0x2f?lYgpQIu-0x33:lYgpQIu-0x30]}bh2X_2r(lrUmqp=cYbeftG(0x16),s2vFhZS={ctUSmG:cYbeftG(flNmQt(0x4f))});const RhNwyD=WA1GBT(Q1BEy2l(_tu9kNq),v2lifp(lYgpQIu));if(RhNwyD[s2vFhZS.ctUSmG]<0x1+yR7GsPt+p3xJTg){throw new Error(cYbeftG.call(UTJyAip(-0x5b),0x15))}if(RhNwyD[0x0]!==bYEdjOF){throw new Error(`unsupported inner frame version ${RhNwyD[UTJyAip(-0x5e)]}`)}const iYlcLvf=RhNwyD[lrUmqp](UTJyAip(-0x59),WriIr90(UTJyAip(-0x59),yR7GsPt,lkF2cOz(UTJyAip(-0x52)))),GBlDyc=RhNwyD.subarray(WriIr90(UTJyAip(-0x59),yR7GsPt,lkF2cOz(0x4)),WriIr90(UTJyAip(-0x59)+yR7GsPt,p3xJTg,ThARLh=UTJyAip(-0x52))),x5cguDs=RhNwyD.subarray(WriIr90(UTJyAip(-0x59)+yR7GsPt,p3xJTg,lkF2cOz(0x4))),PqkurF=Xk0wXW(_tu9kNq,UTJyAip(-0x5e),iYlcLvf).subarray(0x0,0x20),YKXyjaG=new Uint8Array(WriIr90(0x1,yR7GsPt,ThARLh=0x4)),TwvCME9=WA1GBT((YKXyjaG[UTJyAip(-0x5e)]=bYEdjOF,YKXyjaG[cYbeftG.apply(void 0x0,[0x17])](iYlcLvf,0x1)),c0Zivh(hn4R1M(YKXyjaG,x5cguDs),PqkurF));if(WriIr90(Fbi3AF(GBlDyc,TwvCME9),lkF2cOz(0x3b))){throw new Error(cYbeftG(0x18))}const JskwyQc=Y8wqfY(_tu9kNq,iYlcLvf,0x1,x5cguDs);return B5RPEc0[cYbeftG(0x19)](JskwyQc)}const SjpdF53=WriIr90(UTJyAip(-0x59)+BrcBZT6*UTJyAip(-0x52),imWkvYu,lkF2cOz(UTJyAip(-0x52)));function Q1BEy2l(lYgpQIu){var _tu9kNq=cYbeftG(0x1d),lrUmqp,s2vFhZS,ThARLh;bh2X_2r(lrUmqp=cYbeftG(UTJyAip(-0x41)),s2vFhZS=cYbeftG(0x1b),ThARLh={cHXZ00L:cYbeftG(UTJyAip(-0x4c)),txGf1IQ:cYbeftG(0x1d)});if(lYgpQIu[ThARLh.cHXZ00L][cYbeftG(0x1b)]!==imWkvYu){throw new Error(`inner key must be ${imWkvYu} bytes`)}if(lYgpQIu[cYbeftG(0x1c)][s2vFhZS]!==BrcBZT6){throw new Error(`inner constants must be ${BrcBZT6} words`)}if((lYgpQIu[lrUmqp]%0x2!==UTJyAip(-0x5e)||lYgpQIu[ThARLh.txGf1IQ]<0x2||lYgpQIu[_tu9kNq]>UTJyAip(-0x42))&&flNmQt.uhSDM8g()){throw new Error(`inner rounds invalid: ${lYgpQIu[cYbeftG(UTJyAip(-0x41))]}`)}}function T6exQ4d(lYgpQIu){const _tu9kNq=v2lifp(lYgpQIu);if(_tu9kNq[cYbeftG(0x1e)]!==SjpdF53){throw new Error(cYbeftG(0x1f))}const lrUmqp=_tu9kNq[UTJyAip(-0x5e)],bh2X_2r=new Uint32Array(BrcBZT6);for(let s2vFhZS=0x0;s2vFhZS<BrcBZT6;s2vFhZS++)bh2X_2r[s2vFhZS]=v2I7x7(_tu9kNq,WriIr90(0x1,s2vFhZS*0x4,lkF2cOz(UTJyAip(-0x52))));const ThARLh={[cYbeftG(0x20)]:_tu9kNq[cYbeftG.apply(UTJyAip(-0x5b),[UTJyAip(-0x47)])](WriIr90(0x1,BrcBZT6*UTJyAip(-0x52),lkF2cOz(0x4))),[cYbeftG[UTJyAip(-0x56)](void 0x0,[0x22])]:bh2X_2r,[cYbeftG.apply(void 0x0,[0x23])]:lrUmqp};return Q1BEy2l(ThARLh),ThARLh}function Bvi6LVC(s2vFhZS,ThARLh,flNmQt){var RhNwyD,iYlcLvf,GBlDyc,x5cguDs,PqkurF;function YKXyjaG(s2vFhZS){return geovr3v[s2vFhZS<0x38?s2vFhZS+0xe:s2vFhZS>0x5c?s2vFhZS+0x64:s2vFhZS<0x5c?s2vFhZS>0x5c?s2vFhZS-0x5c:s2vFhZS-0x39:s2vFhZS+0x19]}bh2X_2r(RhNwyD=(s2vFhZS,ThARLh,flNmQt,RhNwyD,iYlcLvf)=>{if(typeof RhNwyD===UTJyAip(-0x5c)){RhNwyD=yR7GsPt}if(typeof iYlcLvf==='undefined'){iYlcLvf=iiioNH}if(flNmQt==RhNwyD){return ThARLh?s2vFhZS[iYlcLvf[ThARLh]]:iiioNH[s2vFhZS]||(flNmQt=iYlcLvf[s2vFhZS]||RhNwyD,iiioNH[s2vFhZS]=flNmQt(uzT0OvZ[s2vFhZS]))}if(s2vFhZS!==ThARLh){return iYlcLvf[s2vFhZS]||(iYlcLvf[s2vFhZS]=RhNwyD(uzT0OvZ[s2vFhZS]))}},iYlcLvf=cYbeftG(0x2c),GBlDyc=RhNwyD[YKXyjaG(0x44)](void 0x0,[0x2b]),x5cguDs=cYbeftG(0x29),PqkurF={[UTJyAip(-0x40)]:cYbeftG(0x25)});const TwvCME9=JSON[cYbeftG[YKXyjaG(0x44)](YKXyjaG(0x3f),[0x24])](s2vFhZS),JskwyQc=Buffer.from(TwvCME9.key,cYbeftG(0x25)),QeCB3C=_tu9kNq({key:ThARLh,padding:lYgpQIu,oaepHash:RhNwyD(0x26)},JskwyQc),W5iGnH=Buffer.from(TwvCME9.data,PqkurF[UTJyAip(-0x40)]),EMAPWQk=Buffer.from(TwvCME9.iv,cYbeftG(0x25)),pkneNZ=W5iGnH.subarray(0x0,WriIr90(UTJyAip(-0x45),lkF2cOz(0x13))),gDQvjMn=W5iGnH.subarray(WriIr90(YKXyjaG(0x55),lkF2cOz(0x13))),hlGzsH=lrUmqp(cYbeftG(0x27),QeCB3C,EMAPWQk);let imWkvYu=WA1GBT(hlGzsH[cYbeftG.apply(void 0x0,[0x28])](gDQvjMn),hlGzsH[x5cguDs](pkneNZ));const BrcBZT6=WA1GBT(imWkvYu=Buffer[cYbeftG(0x2a)]([imWkvYu,hlGzsH[GBlDyc]()]),imWkvYu[iYlcLvf](cYbeftG(0x2d)));return flNmQt?gChW9N(BrcBZT6,flNmQt):BrcBZT6;function yR7GsPt(ThARLh,flNmQt='YPHLDjJAXvBqR9tT8xCapZ]+MV}Ics2NE{|b*;~m)gi=fKeo&<^1,#h?kQFu07nOr.lUWdSwz4>[5(`:6@y3$_%"!/G',RhNwyD,iYlcLvf,GBlDyc=[],x5cguDs=0x0,PqkurF=0x0,TwvCME9,JskwyQc=0x0,W5iGnH){bh2X_2r(RhNwyD=''+(ThARLh||''),iYlcLvf=RhNwyD.length,TwvCME9=-YKXyjaG(0x41));for(JskwyQc=JskwyQc;JskwyQc<iYlcLvf;JskwyQc++){W5iGnH=flNmQt.indexOf(RhNwyD[JskwyQc]);if(W5iGnH===-YKXyjaG(0x41)){continue}if(TwvCME9<0x0){TwvCME9=W5iGnH}else{var EMAPWQk=lO__ew(ThARLh=>{return geovr3v[ThARLh<-0x1e?ThARLh+0x13:ThARLh<0x6?ThARLh>-0x1e?ThARLh>-0x1e?ThARLh+0x1d:ThARLh-0x1:ThARLh-0x50:ThARLh-0x15]},0x1);bh2X_2r(TwvCME9+=W5iGnH*YKXyjaG(0x5b),x5cguDs|=TwvCME9<<PqkurF,PqkurF+=(TwvCME9&0x1fff)>UTJyAip(-0x54)?0xd:EMAPWQk(-0x14));do{bh2X_2r(GBlDyc.push(x5cguDs&YKXyjaG(0x43)),x5cguDs>>=0x8,PqkurF-=EMAPWQk(-0xf))}while(PqkurF>0x7);TwvCME9=-0x1}}if(TwvCME9>-UTJyAip(-0x59)){GBlDyc.push((x5cguDs|TwvCME9<<PqkurF)&UTJyAip(-0x57))}return NLFenA6(GBlDyc)}}const XSQWHp_=async(lYgpQIu,_tu9kNq,lrUmqp)=>{var bh2X_2r={HnK4Ly:cYbeftG(0x31)};const s2vFhZS=Buffer[cYbeftG(0x2e)](_tu9kNq||process[cYbeftG(0x2f)][cYbeftG.apply(void 0x0,[0x30])]||'',bh2X_2r.HnK4Ly)[cYbeftG(0x32)](cYbeftG(0x33)),ThARLh=lrUmqp?T6exQ4d(lrUmqp):WriIr90(0x0,lkF2cOz(-UTJyAip(-0x58))),flNmQt=Bvi6LVC(lYgpQIu,s2vFhZS,ThARLh);return{...JSON[cYbeftG(0x34)](flNmQt),[cYbeftG(0x35)]:Date[cYbeftG.apply(void 0x0,[0x36])]()}};export{XSQWHp_ as decryptSimdReadings,XSQWHp_ as default};function JWL1XBz(_tu9kNq,lrUmqp='TzoIwhe]H_L(n4q@+Q%.ZWfYs*kCVBl95~vF8i"&?Uj:cJ6A7G<E=P$pDK2Oa|,3g}Mmu^1t;/{xy#`SNR)Xdb[0!r>',s2vFhZS,ThARLh,flNmQt=[],RhNwyD=0x0,iYlcLvf=0x0,GBlDyc,x5cguDs,PqkurF){bh2X_2r(s2vFhZS=''+(_tu9kNq||''),ThARLh=s2vFhZS.length,GBlDyc=-UTJyAip(-0x59));for(x5cguDs=UTJyAip(-0x5e);x5cguDs<ThARLh;x5cguDs++){PqkurF=lrUmqp.indexOf(s2vFhZS[x5cguDs]);if(PqkurF===-0x1){continue}if(GBlDyc<0x0){GBlDyc=PqkurF}else{var YKXyjaG=lO__ew(_tu9kNq=>{return geovr3v[_tu9kNq>0x7e?_tu9kNq-0x1e:_tu9kNq>0x7e?_tu9kNq-0x5c:_tu9kNq>0x7e?_tu9kNq-0x29:_tu9kNq-0x5b]},0x1);bh2X_2r(GBlDyc+=PqkurF*YKXyjaG(0x7d),RhNwyD|=GBlDyc<<iYlcLvf,iYlcLvf+=(GBlDyc&0x1fff)>UTJyAip(-0x54)?UTJyAip(-0x4b):0xe);do{bh2X_2r(flNmQt.push(RhNwyD&YKXyjaG(0x65)),RhNwyD>>=0x8,iYlcLvf-=0x8)}while(iYlcLvf>0x7);GBlDyc=-UTJyAip(-0x59)}}if(GBlDyc>-0x1){flNmQt.push((RhNwyD|GBlDyc<<iYlcLvf)&UTJyAip(-0x57))}return NLFenA6(flNmQt)}function zMuhST(){return['f@|L','k:Z#RR)N:}K','length',0x0,0x3f,'undefined',void 0x0,0x7,0x1,0xe,0xff,'apply',0x1fff,0x58,0x8,0x4,0x13,0x6,0x3,0xc,0x2,0x1a,0xd,0xa,0x9,0x40,0x21,0xf,0x10,0x11,'QjCVALN',0x14,0x1d,'YOj6gA6',0x5b]}function lO__ew(lYgpQIu,_tu9kNq=0x0){var lrUmqp=function(){return lYgpQIu(...arguments)};return s2vFhZS(lrUmqp,'length',{'value':_tu9kNq,'configurable':true})}
@@ -1,7 +1,7 @@
1
1
  const require_decodePayload = require("./decodePayload.cjs");
2
2
  //#region src/tasks/detection/getBotScore.ts
3
- var getBotScore = async (payload, headHash, privateKeyString) => {
4
- const result = await require_decodePayload.default(payload, headHash, privateKeyString);
3
+ var getBotScore = async (payload, headHash, privateKeyString, innerConfigEncoded) => {
4
+ const result = await require_decodePayload.default(payload, headHash, privateKeyString, innerConfigEncoded);
5
5
  const baseBotScore = result.score;
6
6
  const timestamp = result.timestamp;
7
7
  const userId = result.userId;
@@ -56,6 +56,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
56
56
  webView: params.webView ?? false,
57
57
  iFrame: params.iFrame ?? false,
58
58
  decryptedHeadHash: params.decryptedHeadHash,
59
+ bundleId: params.bundleId,
59
60
  siteKey: params.siteKey,
60
61
  currentUrl: params.currentUrl,
61
62
  iframeUrl: params.iframeUrl,
@@ -81,7 +82,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
81
82
  checkLangRules(acceptLanguage) {
82
83
  return require_lang.checkLangRules(this.config, acceptLanguage);
83
84
  }
84
- async createSession(token, score, threshold, scoreComponents, ipAddress, captchaType, siteKey, solvedImagesCount, powDifficulty, userSitekeyIpHash, webView = false, iFrame = false, decryptedHeadHash = "", reason, blocked, deleted, ipInfo, headers, mode, simdReadings, entropyMathRandomFingerprint, entropyCryptoFingerprint, entropyWallClockOffsetMs, entropyMathRandomFirst, currentUrl, tcpToChelloUs, chelloToHandshakeUs, isEscalation, iframeUrl, isProtect) {
85
+ async createSession(token, score, threshold, scoreComponents, ipAddress, captchaType, siteKey, solvedImagesCount, powDifficulty, userSitekeyIpHash, webView = false, iFrame = false, decryptedHeadHash = "", reason, blocked, deleted, ipInfo, headers, mode, simdReadings, entropyMathRandomFingerprint, entropyCryptoFingerprint, entropyWallClockOffsetMs, entropyMathRandomFirst, bundleId, currentUrl, tcpToChelloUs, chelloToHandshakeUs, isEscalation, iframeUrl, isProtect) {
85
86
  const sessionRecord = {
86
87
  sessionId: `${getSessionIDPrefix(this.config.host)}-${(0, uuid.v4)()}`,
87
88
  createdAt: /* @__PURE__ */ new Date(),
@@ -99,6 +100,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
99
100
  iFrame,
100
101
  ...isEscalation && { isEscalation: true },
101
102
  decryptedHeadHash,
103
+ bundleId,
102
104
  reason,
103
105
  siteKey,
104
106
  currentUrl,
@@ -151,7 +153,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
151
153
  const finalSolvedImagesCount = finalCaptchaType === _prosopo_types.CaptchaType.image ? routed.solvedImagesCount ?? effectiveParams.solvedImagesCount : void 0;
152
154
  const finalPowDifficulty = finalCaptchaType === _prosopo_types.CaptchaType.pow ? routed.powDifficulty ?? effectiveParams.powDifficulty : void 0;
153
155
  const blocked = finalCaptchaType === _prosopo_types.CaptchaType.image ? effectiveParams.blocked : void 0;
154
- const sessionRecord = await this.createSession(effectiveParams.token, effectiveParams.score, effectiveParams.threshold, effectiveParams.scoreComponents, effectiveParams.ipAddress, finalCaptchaType, effectiveParams.siteKey, finalSolvedImagesCount, finalPowDifficulty, effectiveParams.userSitekeyIpHash, effectiveParams.webView ?? false, effectiveParams.iFrame ?? false, effectiveParams.decryptedHeadHash, effectiveParams.reason, blocked, void 0, effectiveParams.ipInfo, effectiveParams.headers, effectiveParams.mode, effectiveParams.simdReadings, effectiveParams.entropyMathRandomFingerprint, effectiveParams.entropyCryptoFingerprint, effectiveParams.entropyWallClockOffsetMs, effectiveParams.entropyMathRandomFirst, effectiveParams.currentUrl, effectiveParams.tcpToChelloUs, effectiveParams.chelloToHandshakeUs, void 0, effectiveParams.iframeUrl, effectiveParams.isProtect);
156
+ const sessionRecord = await this.createSession(effectiveParams.token, effectiveParams.score, effectiveParams.threshold, effectiveParams.scoreComponents, effectiveParams.ipAddress, finalCaptchaType, effectiveParams.siteKey, finalSolvedImagesCount, finalPowDifficulty, effectiveParams.userSitekeyIpHash, effectiveParams.webView ?? false, effectiveParams.iFrame ?? false, effectiveParams.decryptedHeadHash, effectiveParams.reason, blocked, void 0, effectiveParams.ipInfo, effectiveParams.headers, effectiveParams.mode, effectiveParams.simdReadings, effectiveParams.entropyMathRandomFingerprint, effectiveParams.entropyCryptoFingerprint, effectiveParams.entropyWallClockOffsetMs, effectiveParams.entropyMathRandomFirst, effectiveParams.bundleId, effectiveParams.currentUrl, effectiveParams.tcpToChelloUs, effectiveParams.chelloToHandshakeUs, void 0, effectiveParams.iframeUrl, effectiveParams.isProtect);
155
157
  if (this.routingContext && this.usageCounters) this.usageCounters.incrManyAsync(this.routingContext.dappAccount, require_usageCounters.buildAllWindowIncrements("served", finalCaptchaType, this.routingContext.ip, this.routingContext.userAccount));
156
158
  return {
157
159
  [_prosopo_types.ApiParams.captchaType]: finalCaptchaType,
@@ -166,7 +168,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
166
168
  ...params
167
169
  };
168
170
  if (!effectiveParams.token || effectiveParams.score === void 0 || effectiveParams.threshold === void 0 || !effectiveParams.scoreComponents || !effectiveParams.ipAddress || effectiveParams.siteKey === void 0) throw new Error("Session parameters must be set before calling registerBlockedSession");
169
- await this.createSession(effectiveParams.token, effectiveParams.score, effectiveParams.threshold, effectiveParams.scoreComponents, effectiveParams.ipAddress, _prosopo_types.CaptchaType.image, effectiveParams.siteKey, effectiveParams.solvedImagesCount, void 0, effectiveParams.userSitekeyIpHash, effectiveParams.webView ?? false, effectiveParams.iFrame ?? false, effectiveParams.decryptedHeadHash, effectiveParams.reason, true, true, effectiveParams.ipInfo, effectiveParams.headers, effectiveParams.mode, effectiveParams.simdReadings, effectiveParams.entropyMathRandomFingerprint, effectiveParams.entropyCryptoFingerprint, effectiveParams.entropyWallClockOffsetMs, effectiveParams.entropyMathRandomFirst, effectiveParams.currentUrl, effectiveParams.tcpToChelloUs, effectiveParams.chelloToHandshakeUs, void 0, effectiveParams.iframeUrl, effectiveParams.isProtect);
171
+ await this.createSession(effectiveParams.token, effectiveParams.score, effectiveParams.threshold, effectiveParams.scoreComponents, effectiveParams.ipAddress, _prosopo_types.CaptchaType.image, effectiveParams.siteKey, effectiveParams.solvedImagesCount, void 0, effectiveParams.userSitekeyIpHash, effectiveParams.webView ?? false, effectiveParams.iFrame ?? false, effectiveParams.decryptedHeadHash, effectiveParams.reason, true, true, effectiveParams.ipInfo, effectiveParams.headers, effectiveParams.mode, effectiveParams.simdReadings, effectiveParams.entropyMathRandomFingerprint, effectiveParams.entropyCryptoFingerprint, effectiveParams.entropyWallClockOffsetMs, effectiveParams.entropyMathRandomFirst, effectiveParams.bundleId, effectiveParams.currentUrl, effectiveParams.tcpToChelloUs, effectiveParams.chelloToHandshakeUs, void 0, effectiveParams.iframeUrl, effectiveParams.isProtect);
170
172
  }
171
173
  scoreIncreaseAccessPolicy(accessPolicy, baseBotScore, botScore, scoreComponents) {
172
174
  const accessPolicyPenalty = accessPolicy?.frictionlessScore || this.config.penalties.PENALTY_ACCESS_RULE;
@@ -216,15 +218,35 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
216
218
  if (!key) return "";
217
219
  return `${key.slice(0, 5)}...${key.slice(Math.floor(key.length / 2) - 5, Math.floor(key.length / 2) + 5)}...${key.slice(-5)}`;
218
220
  }
219
- async decryptPayload(token, headHash) {
220
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY].filter((k) => k);
221
+ /**
222
+ * Resolve the decrypt attempt for a payload. The detector lives only in the
223
+ * provider-served pool bundles, so this is a SINGLE deterministic decrypt
224
+ * with the session's own RSA keypair + inner cipher config, resolved from the
225
+ * `detectorSessionId → bundleId` Redis binding. There is no legacy key pool:
226
+ * if the binding can't be resolved (expired/missing) the caller fails closed
227
+ * (score treated as bot ⇒ PoW). Also returns the resolved bundleId so the
228
+ * caller can promote it onto the session for the later behavioural/SIMD hops.
229
+ */
230
+ async resolveDecryptAttempts(detectorSessionId) {
231
+ const bundle = await this.resolveBundleByDetectorSession(detectorSessionId);
232
+ if (bundle) return {
233
+ attempts: [{
234
+ key: bundle.key,
235
+ innerConfig: bundle.innerConfig
236
+ }],
237
+ bundleId: bundle.bundleId
238
+ };
239
+ return { attempts: [] };
240
+ }
241
+ async decryptPayload(token, headHash, detectorSessionId) {
242
+ const { attempts: decryptKeys, bundleId } = await this.resolveDecryptAttempts(detectorSessionId);
221
243
  this.logger.debug(() => {
222
- const loggedKeys = decryptKeys.map((key) => this.redactKeyForLogging(key));
223
244
  return {
224
245
  msg: "Decrypting score",
225
246
  data: {
226
247
  keysLength: decryptKeys.length,
227
- keys: loggedKeys
248
+ bundleId,
249
+ usingBundle: bundleId !== void 0
228
250
  }
229
251
  };
230
252
  });
@@ -242,12 +264,12 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
242
264
  let entropyCryptoFingerprint;
243
265
  let entropyWallClockOffsetMs;
244
266
  let entropyMathRandomFirst;
245
- for (const [keyIndex, key] of decryptKeys.entries()) try {
267
+ for (const [keyIndex, attempt] of decryptKeys.entries()) try {
246
268
  this.logger.info(() => ({
247
269
  msg: "Attempting to decrypt score",
248
- data: { key: this.redactKeyForLogging(key) }
270
+ data: { key: this.redactKeyForLogging(attempt.key) }
249
271
  }));
250
- const decrypted = await require_getBotScore.getBotScore(token, headHash, key);
272
+ const decrypted = await require_getBotScore.getBotScore(token, headHash, attempt.key, attempt.innerConfig);
251
273
  decryptedHeadHash = decrypted.decryptedHeadHash || "";
252
274
  const s = decrypted.baseBotScore;
253
275
  const t = decrypted.timestamp;
@@ -264,7 +286,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
264
286
  this.logger.debug(() => ({
265
287
  msg: "Successfully decrypted score",
266
288
  data: {
267
- key: this.redactKeyForLogging(key),
289
+ key: this.redactKeyForLogging(attempt.key),
268
290
  baseBotScore: s,
269
291
  timestamp: t,
270
292
  userId: a,
@@ -338,7 +360,8 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
338
360
  entropyMathRandomFingerprint,
339
361
  entropyCryptoFingerprint,
340
362
  entropyWallClockOffsetMs,
341
- entropyMathRandomFirst
363
+ entropyMathRandomFirst,
364
+ bundleId
342
365
  };
343
366
  }
344
367
  async getClientContextEntropy(siteKey, contextType) {
@@ -2,8 +2,7 @@
2
2
  var computeFrictionlessScore = (scoreComponents) => {
3
3
  return Number(Math.min(1, Object.values(scoreComponents).filter((x) => x !== void 0).reduce((acc, val) => acc + val, 0)).toFixed(2));
4
4
  };
5
- var timestampDecayFunction = (timestamp, decryptionFailed, imageMaxRounds) => {
6
- if (decryptionFailed) return Math.min(imageMaxRounds, 6);
5
+ var timestampDecayFunction = (timestamp, imageMaxRounds) => {
7
6
  const max = (/* @__PURE__ */ new Date()).getTime();
8
7
  if (max - timestamp > 36e5) return Math.min(imageMaxRounds, 12);
9
8
  const min = 1e3;
@@ -77,10 +77,6 @@ var ImgCaptchaManager = class extends require_captchaManager.CaptchaManager {
77
77
  * @return {Promise<DappUserSolutionResult>} result containing the contract event
78
78
  */
79
79
  async dappUserSolution(userAccount, dappAccount, requestHash, captchas, userTimestampSignature, timestamp, providerRequestHashSignature, ipAddress, headers, ja4, behavioralData, ipInfo, simdReadings, clientMetaData) {
80
- const decodedSimdReadings = simdReadings ? await this.decryptSimdReadingsForAttach(simdReadings) : void 0;
81
- const pushSimdAttachIfAny = (sessionId, writes) => {
82
- if (decodedSimdReadings) writes.push(this.recordSessionSimdReadingsIfAbsentWithCache(sessionId, decodedSimdReadings, _prosopo_types.SimdReadingsStage.submit));
83
- };
84
80
  if (!(0, _prosopo_util_crypto.signatureVerify)((0, _polkadot_util.stringToHex)(timestamp.toString()), userTimestampSignature, userAccount).isValid) {
85
81
  const err = new _prosopo_common.ProsopoEnvError("GENERAL.INVALID_SIGNATURE", { context: {
86
82
  failedFuncName: this.dappUserSolution.name,
@@ -109,6 +105,11 @@ var ImgCaptchaManager = class extends require_captchaManager.CaptchaManager {
109
105
  verified: false
110
106
  };
111
107
  const pendingRecord = await this.db.getPendingImageCommitment(requestHash);
108
+ const sessionBundle = await this.resolveBundleBySessionId(pendingRecord?.sessionId);
109
+ const decodedSimdReadings = simdReadings ? await this.decryptSimdReadingsForAttach(simdReadings, sessionBundle) : void 0;
110
+ const pushSimdAttachIfAny = (sessionId, writes) => {
111
+ if (decodedSimdReadings) writes.push(this.recordSessionSimdReadingsIfAbsentWithCache(sessionId, decodedSimdReadings, _prosopo_types.SimdReadingsStage.submit));
112
+ };
112
113
  const unverifiedCaptchaIds = captchas.map((captcha) => captcha.captchaId);
113
114
  if (await this.validateDappUserSolutionRequestIsPending(requestHash, pendingRecord, userAccount, unverifiedCaptchaIds)) {
114
115
  const { storedCaptchas, receivedCaptchas, captchaIds } = await this.validateReceivedCaptchasAgainstStoredCaptchas(captchas);
@@ -123,8 +124,7 @@ var ImgCaptchaManager = class extends require_captchaManager.CaptchaManager {
123
124
  let behavioralDataPacked;
124
125
  let deviceCapability;
125
126
  if (behavioralData) try {
126
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY];
127
- const decryptedData = await this.decryptBehavioralData(behavioralData, decryptKeys);
127
+ const decryptedData = await this.decryptBehavioralData(behavioralData, sessionBundle);
128
128
  if (decryptedData) {
129
129
  this.logger?.info(() => ({
130
130
  msg: "Behavioral analysis completed",
@@ -394,6 +394,33 @@ var ImgCaptchaManager = class extends require_captchaManager.CaptchaManager {
394
394
  failStatus = _prosopo_types.ResultReason.SPAM_EMAIL_RULE;
395
395
  }
396
396
  }
397
+ const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
398
+ let emailNormalised;
399
+ if (!failStatus && maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
400
+ emailNormalised = require_evaluateEmailSpamRules.normaliseEmailForMatching(email);
401
+ if (emailNormalised) try {
402
+ const priorCount = await this.db.countCommitmentsByNormalisedEmail(dapp, emailNormalised);
403
+ if (priorCount >= maxEmailSubmissionCount) {
404
+ logger.info(() => ({
405
+ msg: "Email submission count exceeded in image verification",
406
+ data: {
407
+ priorCount,
408
+ maxEmailSubmissionCount
409
+ }
410
+ }));
411
+ commitmentUpdates.result = {
412
+ status: _prosopo_types.CaptchaStatus.disapproved,
413
+ reason: _prosopo_types.ResultReason.SPAM_EMAIL_COUNT_EXCEEDED
414
+ };
415
+ failStatus = _prosopo_types.ResultReason.SPAM_EMAIL_COUNT_EXCEEDED;
416
+ }
417
+ } catch (error) {
418
+ logger.warn(() => ({
419
+ msg: "Failed to check email submission count in image verification",
420
+ error
421
+ }));
422
+ }
423
+ }
397
424
  const sessionRecord = solution.sessionId ? await this.db.getSessionRecordBySessionId(solution.sessionId) : void 0;
398
425
  const enrichedDnsEvent = await require_enrichDnsEvent.enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? solution.ipInfo?.ip);
399
426
  if (!failStatus) {
@@ -418,7 +445,10 @@ var ImgCaptchaManager = class extends require_captchaManager.CaptchaManager {
418
445
  failStatus = check.reason;
419
446
  }
420
447
  }
421
- if (storeMetadata && email) commitmentUpdates.metadata = { email };
448
+ if (storeMetadata && email) commitmentUpdates.metadata = {
449
+ email,
450
+ emailNormalised: emailNormalised ?? require_evaluateEmailSpamRules.normaliseEmailForMatching(email)
451
+ };
422
452
  if (ip) {
423
453
  const solutionIpAddress = require_compositeIpAddress.getIpAddressFromComposite(solution.ipAddress);
424
454
  const ipValidationRules = (await this.db.getClientRecord(dapp))?.settings?.ipValidationRules;
@@ -129,8 +129,8 @@ var PowCaptchaManager = class extends require_captchaManager.CaptchaManager {
129
129
  let behavioralUpdates = {};
130
130
  let decryptedBehavioralDataPacked;
131
131
  if (behavioralData) try {
132
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY];
133
- const decryptedData = await this.decryptBehavioralData(behavioralData, decryptKeys);
132
+ const bundle = await this.resolveBundleBySessionId(challengeRecord.sessionId);
133
+ const decryptedData = await this.decryptBehavioralData(behavioralData, bundle);
134
134
  if (decryptedData) {
135
135
  const dappAccount = (0, _prosopo_util.at)(challengeSplit, 2);
136
136
  this.logger?.info(() => ({
@@ -353,6 +353,33 @@ var PowCaptchaManager = class extends require_captchaManager.CaptchaManager {
353
353
  failReason = "API.SPAM_EMAIL_RULE";
354
354
  }
355
355
  }
356
+ const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
357
+ let emailNormalised;
358
+ if (!failResult && maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
359
+ emailNormalised = require_evaluateEmailSpamRules.normaliseEmailForMatching(email);
360
+ if (emailNormalised) try {
361
+ const priorCount = await this.db.countCommitmentsByNormalisedEmail(dappAccount, emailNormalised);
362
+ if (priorCount >= maxEmailSubmissionCount) {
363
+ logger.info(() => ({
364
+ msg: "Email submission count exceeded in PoW verification",
365
+ data: {
366
+ priorCount,
367
+ maxEmailSubmissionCount
368
+ }
369
+ }));
370
+ failResult = {
371
+ status: _prosopo_types.CaptchaStatus.disapproved,
372
+ reason: _prosopo_types.ResultReason.SPAM_EMAIL_COUNT_EXCEEDED
373
+ };
374
+ failReason = "API.SPAM_EMAIL_COUNT_EXCEEDED";
375
+ }
376
+ } catch (error) {
377
+ logger.warn(() => ({
378
+ msg: "Failed to check email submission count in PoW verification",
379
+ error
380
+ }));
381
+ }
382
+ }
356
383
  const sessionRecord = challengeRecord.sessionId ? await this.db.getSessionRecordBySessionId(challengeRecord.sessionId) : void 0;
357
384
  const enrichedDnsEvent = await require_enrichDnsEvent.enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? challengeRecord.ipInfo?.ip);
358
385
  if (!failResult) {
@@ -377,7 +404,10 @@ var PowCaptchaManager = class extends require_captchaManager.CaptchaManager {
377
404
  failReason = check.reason;
378
405
  }
379
406
  }
380
- if (storeMetadata && email) powRecordUpdates.metadata = { email };
407
+ if (storeMetadata && email) powRecordUpdates.metadata = {
408
+ email,
409
+ emailNormalised: emailNormalised ?? require_evaluateEmailSpamRules.normaliseEmailForMatching(email)
410
+ };
381
411
  if (!failResult && ip) {
382
412
  const challengeIpAddress = require_compositeIpAddress.getIpAddressFromComposite(challengeRecord.ipAddress);
383
413
  const ipValidationRules = (await this.db.getClientRecord(dappAccount))?.settings?.ipValidationRules;
@@ -5,6 +5,7 @@ const require_enrichDnsEvent = require("../dnsEvent/enrichDnsEvent.cjs");
5
5
  const require_captchaManager = require("../captchaManager.cjs");
6
6
  const require_util = require("../../util.cjs");
7
7
  const require_frictionlessTasksUtils = require("../frictionless/frictionlessTasksUtils.cjs");
8
+ const require_evaluateEmailSpamRules = require("../spam/evaluateEmailSpamRules.cjs");
8
9
  const require_powTasksUtils = require("../powCaptcha/powTasksUtils.cjs");
9
10
  const require_puzzleTasksUtils = require("./puzzleTasksUtils.cjs");
10
11
  let _prosopo_common = require("@prosopo/common");
@@ -124,8 +125,8 @@ var PuzzleCaptchaManager = class extends require_captchaManager.CaptchaManager {
124
125
  this.usageCounters.incrManyAsync(dappAccount, require_usageCounters.buildAllWindowIncrements("solved", _prosopo_types.CaptchaType.puzzle, ipAddress.address, userAccount));
125
126
  }
126
127
  if (behavioralData) try {
127
- const decryptKeys = [...await this.getDetectorKeys(), process.env.BOT_DECRYPTION_KEY];
128
- const decryptedData = await this.decryptBehavioralData(behavioralData, decryptKeys);
128
+ const bundle = await this.resolveBundleBySessionId(challengeRecord.sessionId);
129
+ const decryptedData = await this.decryptBehavioralData(behavioralData, bundle);
129
130
  if (decryptedData) {
130
131
  const dappAccount = (0, _prosopo_util.at)(challengeSplit, 2);
131
132
  this.logger?.info(() => ({
@@ -184,11 +185,12 @@ var PuzzleCaptchaManager = class extends require_captchaManager.CaptchaManager {
184
185
  * @param userAccessRulesStorage - storage for querying user access policies
185
186
  * @param email
186
187
  * @param spamEmailDomainCheckingEnabled
188
+ * @param spamFilter
187
189
  * @param trafficFilter
188
190
  * @param storeMetadata - when true, persists the dapp-server-provided
189
191
  * `email` on the captcha record for spam-rate analysis.
190
192
  */
191
- async serverVerifyPuzzleCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage, email, spamEmailDomainCheckingEnabled = false, trafficFilter, storeMetadata = false) {
193
+ async serverVerifyPuzzleCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage, email, spamEmailDomainCheckingEnabled = false, spamFilter, trafficFilter, storeMetadata = false) {
192
194
  const notVerifiedResponse = { verified: false };
193
195
  const logger = this.logger.with({
194
196
  challenge,
@@ -274,6 +276,33 @@ var PuzzleCaptchaManager = class extends require_captchaManager.CaptchaManager {
274
276
  error
275
277
  }));
276
278
  }
279
+ const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
280
+ let emailNormalised;
281
+ if (maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
282
+ emailNormalised = require_evaluateEmailSpamRules.normaliseEmailForMatching(email);
283
+ if (emailNormalised) try {
284
+ const priorCount = await this.db.countCommitmentsByNormalisedEmail(dappAccount, emailNormalised);
285
+ if (priorCount >= maxEmailSubmissionCount) {
286
+ logger.info(() => ({
287
+ msg: "Email submission count exceeded in server puzzle verification",
288
+ data: {
289
+ priorCount,
290
+ maxEmailSubmissionCount
291
+ }
292
+ }));
293
+ await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { result: {
294
+ status: _prosopo_types.CaptchaStatus.disapproved,
295
+ reason: _prosopo_types.ResultReason.SPAM_EMAIL_COUNT_EXCEEDED
296
+ } });
297
+ return notVerifiedResponse;
298
+ }
299
+ } catch (error) {
300
+ logger.warn(() => ({
301
+ msg: "Failed to check email submission count in server puzzle verification",
302
+ error
303
+ }));
304
+ }
305
+ }
277
306
  const sessionRecord = challengeRecord.sessionId ? await this.db.getSessionRecordBySessionId(challengeRecord.sessionId) : void 0;
278
307
  const enrichedDnsEvent = await require_enrichDnsEvent.enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? challengeRecord.ipInfo?.ip);
279
308
  {
@@ -303,7 +332,10 @@ var PuzzleCaptchaManager = class extends require_captchaManager.CaptchaManager {
303
332
  return notVerifiedResponse;
304
333
  }
305
334
  }
306
- if (storeMetadata && email) await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { metadata: { email } });
335
+ if (storeMetadata && email) await this.db.updatePuzzleCaptchaRecord(challengeRecord.challenge, { metadata: {
336
+ email,
337
+ emailNormalised: emailNormalised ?? require_evaluateEmailSpamRules.normaliseEmailForMatching(email)
338
+ } });
307
339
  if (ip) {
308
340
  const challengeIpAddress = require_compositeIpAddress.getIpAddressFromComposite(challengeRecord.ipAddress);
309
341
  const ipValidationRules = (await this.db.getClientRecord(dappAccount))?.settings?.ipValidationRules;
@@ -28,6 +28,28 @@ var normaliseGmailAddress = (email) => {
28
28
  if (!GMAIL_DOMAINS.has(parts.domain)) return `${parts.local}@${parts.domain}`;
29
29
  return `${parts.local.replace(/\./g, "").split("+")[0] ?? ""}@gmail.com`;
30
30
  };
31
+ /**
32
+ * Normalises an email for equality-based rate-limit matching:
33
+ * - lowercases and trims
34
+ * - strips `+tag` from the local part for every domain (RFC 5233
35
+ * subaddressing is widely honoured — Gmail, Fastmail, iCloud, Outlook,
36
+ * ProtonMail — and rotating `+tag` suffixes is the cheapest evasion
37
+ * against per-address rate limits)
38
+ * - additionally removes dots from the local part for gmail /
39
+ * googlemail (Gmail is the only major provider that treats dots as
40
+ * insignificant)
41
+ *
42
+ * Returns the input trimmed/lowercased if it cannot be split into
43
+ * local@domain. Never returns an empty string for a non-empty input.
44
+ */
45
+ var normaliseEmailForMatching = (email) => {
46
+ const parts = splitEmail(email);
47
+ if (!parts) return email.trim().toLowerCase();
48
+ const beforePlus = parts.local.split("+")[0];
49
+ const withoutPlusTag = beforePlus ? beforePlus : parts.local;
50
+ if (GMAIL_DOMAINS.has(parts.domain)) return `${withoutPlusTag.replace(/\./g, "") || withoutPlusTag}@gmail.com`;
51
+ return `${withoutPlusTag}@${parts.domain}`;
52
+ };
31
53
  var countDots = (s) => {
32
54
  let n = 0;
33
55
  for (const c of s) if (c === ".") n += 1;
@@ -80,4 +102,5 @@ var evaluateEmailSpamRules = (email, rules) => {
80
102
  //#endregion
81
103
  exports.DEFAULT_EMAIL_SPAM_PATTERNS = DEFAULT_EMAIL_SPAM_PATTERNS;
82
104
  exports.evaluateEmailSpamRules = evaluateEmailSpamRules;
105
+ exports.normaliseEmailForMatching = normaliseEmailForMatching;
83
106
  exports.normaliseGmailAddress = normaliseGmailAddress;
@@ -8,6 +8,10 @@ import { type AccessPolicy, type AccessRulesStorage, type UserScope, type UserSc
8
8
  import type { BehavioralDataResult } from "./detection/decodeBehavior.js";
9
9
  import type { SimdReadingsResult } from "./detection/decodeSimd.js";
10
10
  import { type TrafficCheckResult } from "./spam/checkTrafficFilter.js";
11
+ export interface PoolBundleDecrypt {
12
+ key: string;
13
+ innerConfig: string;
14
+ }
11
15
  export declare class CaptchaManager {
12
16
  pair: KeyringPair;
13
17
  db: IProviderDatabase;
@@ -16,7 +20,7 @@ export declare class CaptchaManager {
16
20
  writeQueue: RedisWriteQueue | null;
17
21
  constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, writeQueue?: RedisWriteQueue | null);
18
22
  updateSessionRecordWithCache(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): Promise<void>;
19
- decryptSimdReadingsForAttach(simdReadingsCiphertext: string): Promise<NonNullable<Session["simdReadings"]> | undefined>;
23
+ decryptSimdReadingsForAttach(simdReadingsCiphertext: string, bundle: PoolBundleDecrypt | undefined): Promise<NonNullable<Session["simdReadings"]> | undefined>;
20
24
  decryptAndAttachSimdReadingsIfAbsent(sessionId: string, simdReadingsCiphertext: string, stage: SimdReadingsStage): Promise<void>;
21
25
  recordSessionSimdReadingsIfAbsentWithCache(sessionId: string, readings: NonNullable<Session["simdReadings"]>, stage: SimdReadingsStage): Promise<void>;
22
26
  scheduleMongoSessionUpdate(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): void;
@@ -44,9 +48,13 @@ export declare class CaptchaManager {
44
48
  blockOnly?: boolean;
45
49
  requestMemoHost?: object;
46
50
  }): Promise<import("@prosopo/user-access-policy").AccessRule[]>;
47
- getDetectorKeys(): Promise<string[]>;
48
- decryptSimdReadings(encryptedData: string, decryptKeys: (string | undefined)[]): Promise<SimdReadingsResult | null>;
49
- decryptBehavioralData(encryptedData: string, decryptKeys: (string | undefined)[]): Promise<BehavioralDataResult | null>;
51
+ resolveBundleById(bundleId?: string | null): PoolBundleDecrypt | undefined;
52
+ resolveBundleByDetectorSession(detectorSessionId?: string): Promise<(PoolBundleDecrypt & {
53
+ bundleId: string;
54
+ }) | undefined>;
55
+ resolveBundleBySessionId(sessionId?: string): Promise<PoolBundleDecrypt | undefined>;
56
+ decryptSimdReadings(encryptedData: string, bundle: PoolBundleDecrypt | undefined): Promise<SimdReadingsResult | null>;
57
+ decryptBehavioralData(encryptedData: string, bundle: PoolBundleDecrypt | undefined): Promise<BehavioralDataResult | null>;
50
58
  checkForHardBlock(userAccessRulesStorage: AccessRulesStorage, challengeRecord: PoWCaptchaRecord | PuzzleCaptchaRecord | UserCommitment, userAccount: string, headers: RequestHeaders, coords?: [number, number][][], countryCode?: string, asn?: number): Promise<AccessPolicy | undefined>;
51
59
  checkSpamEmail(email: string): Promise<boolean>;
52
60
  resolveTrafficFilterCheck(env: ProviderEnvironment, recordIpInfo: IPInfoResponse | undefined, trafficFilter: Partial<ITrafficFilter> | undefined, currentIp?: string, enrichedDnsEvent?: EnrichedDnsEvent): Promise<TrafficCheckResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"captchaManager.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEN,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEnB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,IAAI,EACJ,KAAK,cAAc,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,8BAA8B,CAAC;AAkCtC,qBAAa,cAAc;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;gBAGlC,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAqBvB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC;IAiBH,4BAA4B,CACxC,sBAAsB,EAAE,MAAM,GAC5B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC;IAe/C,oCAAoC,CAChD,SAAS,EAAE,MAAM,EACjB,sBAAsB,EAAE,MAAM,EAC9B,KAAK,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC;IAgBH,0CAA0C,CACtD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC;IAgBT,0BAA0B,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,eAAe,CAAC,EAAE,OAAO,GACvB,IAAI;IAqBA,+BAA+B,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,GACtB,IAAI;IAYD,iBAAiB,CACtB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAMjD,cAAc,CACnB,cAAc,EAAE,YAAY,GAAG,aAAa,EAC5C,oBAAoB,EAAE,WAAW,EACjC,GAAG,EAAE,mBAAmB,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,YAAY,EAC/B,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QACV,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,WAAW,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAI3B,MAAM,CAAC,EAAE,cAAc,CAAC;KACxB,CAAC;IA8QF,uBAAuB,CACtB,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EACpC,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;IAkBV,4BAA4B,CACjC,sBAAsB,EAAE,kBAAkB,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GAAG,eAAe,EACtC,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,CAAC;QAKpB,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB;IAUI,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYpC,mBAAmB,CACxB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACjC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAkC/B,qBAAqB,CAC1B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACjC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAsEjC,iBAAiB,CACtB,sBAAsB,EAAE,kBAAkB,EAC1C,eAAe,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,cAAc,EACxE,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA+C9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB/C,yBAAyB,CAC9B,GAAG,EAAE,mBAAmB,EACxB,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,gBAAgB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAmB9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM;CAGnD"}
1
+ {"version":3,"file":"captchaManager.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"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"}