@evomap/evolver 1.91.1 → 1.91.2

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 (67) hide show
  1. package/index.js +1 -1
  2. package/package.json +1 -1
  3. package/src/evolve/guards.js +1 -1
  4. package/src/evolve/pipeline/collect.js +1 -1
  5. package/src/evolve/pipeline/dispatch.js +1 -1
  6. package/src/evolve/pipeline/enrich.js +1 -1
  7. package/src/evolve/pipeline/hub.js +1 -1
  8. package/src/evolve/pipeline/select.js +1 -1
  9. package/src/evolve/pipeline/signals.js +1 -1
  10. package/src/evolve/utils.js +1 -1
  11. package/src/evolve.js +1 -1
  12. package/src/gep/a2aProtocol.js +5175 -1
  13. package/src/gep/antiAbuseTelemetry.js +233 -1
  14. package/src/gep/assetStore.js +3 -2
  15. package/src/gep/autoDistillConv.js +205 -1
  16. package/src/gep/autoDistillLlm.js +315 -1
  17. package/src/gep/candidateEval.js +92 -1
  18. package/src/gep/candidates.js +1 -1
  19. package/src/gep/contentHash.js +30 -1
  20. package/src/gep/conversationDistiller.js +270 -1
  21. package/src/gep/conversationSniffer.js +266 -1
  22. package/src/gep/crypto.js +93 -1
  23. package/src/gep/curriculum.js +1 -1
  24. package/src/gep/deviceId.js +218 -1
  25. package/src/gep/envFingerprint.js +118 -1
  26. package/src/gep/epigenetics.js +31 -1
  27. package/src/gep/execBridge.js +712 -1
  28. package/src/gep/explore.js +289 -1
  29. package/src/gep/hash.js +15 -1
  30. package/src/gep/hubFetch.js +672 -1
  31. package/src/gep/hubReview.js +212 -1
  32. package/src/gep/hubSearch.js +544 -1
  33. package/src/gep/hubVerify.js +306 -1
  34. package/src/gep/learningSignals.js +1 -1
  35. package/src/gep/memoryGraph.js +1449 -1
  36. package/src/gep/memoryGraphAdapter.js +203 -1
  37. package/src/gep/mutation.js +1 -1
  38. package/src/gep/narrativeMemory.js +1 -1
  39. package/src/gep/openPRRegistry.js +205 -1
  40. package/src/gep/personality.js +1 -1
  41. package/src/gep/policyCheck.js +599 -1
  42. package/src/gep/prompt.js +1 -1
  43. package/src/gep/recallInject.js +409 -1
  44. package/src/gep/recallVerifier.js +318 -1
  45. package/src/gep/reflection.js +1 -1
  46. package/src/gep/savingsCore.js +1 -1
  47. package/src/gep/selector.js +1 -1
  48. package/src/gep/skillDistiller.js +1294 -1
  49. package/src/gep/solidify.js +1 -1
  50. package/src/gep/strategy.js +136 -1
  51. package/src/gep/tokenSavings.js +1 -1
  52. package/src/gep/trajectoryExport.js +3841 -1
  53. package/src/gep/workspaceKeychain.js +174 -1
  54. package/src/proxy/extensions/traceControl.js +123 -1
  55. package/src/proxy/inject.js +52 -1
  56. package/src/proxy/trace/extractor.js +2355 -1
  57. package/src/proxy/trace/usage.js +105 -1
  58. package/src/webui/client/clientJs/bootstrap.js +6 -0
  59. package/src/webui/client/clientJs/github.js +225 -0
  60. package/src/webui/client/clientJs/i18n.js +14 -0
  61. package/src/webui/client/clientJs/index.js +3 -0
  62. package/src/webui/client/clientJs/pipelines.js +3 -1
  63. package/src/webui/client/indexHtml.js +10 -0
  64. package/src/webui/client/stylesCss.js +61 -0
  65. package/src/webui/observer/github.js +340 -0
  66. package/src/webui/observer/index.js +4 -0
  67. package/src/webui/server/routes.js +11 -0
@@ -1 +1,318 @@
1
- const _0x37ca3c=_0x2463;(function(_0x750d44,_0x3d93cd){const _0x32341b=_0x2463,_0x7e8526=_0x750d44();while(!![]){try{const _0x1bb443=parseInt(_0x32341b(0x1e3,'\x51\x68\x29\x65'))/(-0xa0e+-0x10a3+0x8e6*0x3)+parseInt(_0x32341b(0x285,'\x6d\x2a\x24\x4a'))/(0x7e9+0x20ed+-0x86*0x4e)*(-parseInt(_0x32341b(0x275,'\x54\x56\x4b\x30'))/(0x3*0x656+0x1*0x269f+-0x399e))+-parseInt(_0x32341b(0x16d,'\x79\x75\x5e\x43'))/(-0x1fa6+-0x99f+0x2949)*(-parseInt(_0x32341b(0x221,'\x38\x76\x35\x23'))/(-0xf5b+-0x745*-0x2+-0x2*-0x6b))+-parseInt(_0x32341b(0x274,'\x31\x53\x4c\x44'))/(-0x35a+0x231a+-0x1fba)*(-parseInt(_0x32341b(0x1b3,'\x50\x62\x29\x48'))/(0x1cb5+-0xd8a+-0xf24))+parseInt(_0x32341b(0x28d,'\x47\x65\x4c\x41'))/(0x22b0+-0xe*-0xc1+-0x2d36)+-parseInt(_0x32341b(0x23f,'\x40\x4c\x74\x75'))/(0x210e+-0x269b+0x5*0x11e)+-parseInt(_0x32341b(0x1f9,'\x21\x4e\x6e\x35'))/(0x1999+-0x2a1*-0x7+0x2bf6*-0x1)*(parseInt(_0x32341b(0x25b,'\x50\x62\x29\x48'))/(-0x2*-0x8c2+0xa08+-0x92b*0x3));if(_0x1bb443===_0x3d93cd)break;else _0x7e8526['push'](_0x7e8526['shift']());}catch(_0x37401f){_0x7e8526['push'](_0x7e8526['shift']());}}}(_0x2306,0xac6fa+0x1*0xdb4b+0x53f9c*-0x1));const _0xb5cad8=(function(){let _0x21b192=!![];return function(_0x18c232,_0x249afa){const _0x290a21=_0x21b192?function(){const _0x398c4e=_0x2463;if(_0x249afa){const _0x43025a=_0x249afa[_0x398c4e(0x22b,'\x4e\x5e\x72\x72')](_0x18c232,arguments);return _0x249afa=null,_0x43025a;}}:function(){};return _0x21b192=![],_0x290a21;};}()),_0x511e90=_0xb5cad8(this,function(){const _0x4c4caf=_0x2463,_0x4b282a={};_0x4b282a[_0x4c4caf(0x1dc,'\x68\x61\x69\x4b')]=_0x4c4caf(0x2e1,'\x44\x76\x37\x6f')+'\x2b\x29\x2b\x24';const _0xaedd30=_0x4b282a;return _0x511e90['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x4c4caf(0x27b,'\x76\x72\x58\x77')](_0xaedd30[_0x4c4caf(0x2d7,'\x79\x75\x5e\x43')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x4c4caf(0x2db,'\x47\x6c\x49\x71')+_0x4c4caf(0x1d2,'\x62\x6f\x31\x6f')](_0x511e90)[_0x4c4caf(0x152,'\x6d\x2a\x24\x4a')](_0xaedd30['\x79\x65\x44\x49\x65']);});_0x511e90();function _0x2306(){const _0x501ec4=['\x41\x77\x33\x64\x4e\x61','\x62\x43\x6f\x61\x65\x53\x6f\x6d\x57\x52\x42\x63\x53\x38\x6f\x35\x57\x36\x53','\x57\x4f\x70\x63\x54\x4e\x39\x6f\x6a\x61','\x79\x43\x6f\x73\x7a\x49\x4a\x63\x50\x67\x52\x64\x50\x53\x6f\x42','\x42\x65\x61\x32\x57\x37\x39\x47','\x42\x53\x6f\x30\x57\x52\x38\x6b\x57\x37\x4f','\x44\x77\x46\x64\x49\x53\x6f\x68\x70\x4e\x47','\x67\x49\x37\x63\x51\x6d\x6f\x42\x68\x61','\x57\x50\x69\x7a\x57\x51\x78\x63\x4c\x53\x6b\x6c','\x57\x51\x74\x64\x48\x53\x6f\x66\x7a\x78\x44\x65','\x43\x62\x34\x76\x57\x37\x74\x64\x56\x64\x42\x64\x48\x43\x6b\x2b','\x57\x36\x39\x72\x57\x37\x46\x63\x55\x38\x6f\x4c','\x61\x43\x6f\x41\x66\x38\x6f\x43\x57\x52\x37\x63\x54\x53\x6f\x4f\x57\x34\x47','\x6e\x4c\x33\x64\x54\x67\x7a\x75\x68\x57','\x46\x6d\x6f\x47\x57\x51\x57\x7a\x57\x36\x5a\x63\x4b\x38\x6b\x30\x57\x37\x53','\x57\x51\x33\x64\x51\x73\x44\x43\x57\x52\x42\x63\x47\x4c\x47','\x57\x52\x2f\x64\x4e\x74\x50\x69\x57\x51\x61','\x57\x52\x56\x64\x51\x6d\x6f\x43\x44\x75\x43','\x62\x62\x74\x63\x47\x38\x6f\x65\x69\x59\x74\x63\x48\x6d\x6b\x6c','\x6e\x65\x33\x64\x54\x4d\x62\x75\x65\x38\x6b\x57\x57\x37\x47','\x42\x6d\x6f\x55\x75\x71\x64\x63\x50\x61','\x57\x50\x2f\x64\x4c\x53\x6b\x6f\x42\x65\x4a\x64\x49\x58\x4c\x38\x57\x4f\x46\x63\x47\x53\x6f\x55\x76\x73\x47','\x57\x37\x52\x63\x49\x66\x74\x64\x50\x5a\x30\x49','\x6a\x53\x6f\x48\x7a\x4e\x6c\x64\x56\x6d\x6f\x78\x62\x57','\x67\x43\x6f\x70\x6f\x53\x6f\x66\x74\x57','\x62\x38\x6b\x50\x6c\x73\x4e\x63\x4f\x57','\x43\x48\x71\x37\x64\x32\x75','\x71\x68\x43\x64\x57\x34\x4c\x6e\x57\x50\x47','\x67\x38\x6b\x39\x57\x4f\x48\x4d\x46\x57','\x70\x32\x76\x46\x74\x6d\x6b\x73','\x57\x52\x5a\x64\x56\x59\x31\x72\x57\x52\x33\x63\x4e\x76\x76\x44','\x57\x4f\x79\x2f\x73\x6d\x6f\x4a','\x78\x48\x70\x63\x4b\x67\x5a\x64\x55\x61','\x57\x36\x74\x64\x51\x38\x6f\x61\x57\x4f\x5a\x64\x4d\x59\x4f','\x42\x6d\x6f\x49\x6b\x31\x53\x68','\x66\x38\x6b\x59\x57\x52\x7a\x57\x42\x6d\x6b\x58\x57\x37\x65\x76','\x57\x51\x50\x59\x57\x36\x44\x31\x70\x4b\x38\x38\x57\x35\x61','\x42\x62\x5a\x63\x4c\x65\x61','\x43\x58\x37\x63\x4b\x4e\x37\x64\x56\x62\x61\x59\x75\x71','\x74\x53\x6f\x64\x67\x67\x4f\x51\x61\x4d\x72\x38','\x57\x34\x44\x31\x61\x43\x6b\x5a\x57\x34\x44\x77\x57\x35\x37\x63\x4b\x65\x2f\x64\x4e\x57','\x6b\x38\x6f\x65\x57\x36\x48\x6f\x57\x37\x6a\x6f\x78\x43\x6f\x46','\x72\x53\x6f\x62\x57\x52\x4f\x46\x57\x37\x4b','\x57\x37\x46\x63\x50\x4d\x61\x5a\x73\x30\x52\x63\x55\x38\x6b\x30','\x67\x38\x6b\x72\x57\x4f\x4c\x42\x75\x57','\x57\x36\x68\x64\x4a\x38\x6f\x75\x57\x50\x33\x64\x47\x47','\x64\x43\x6f\x42\x41\x4d\x70\x64\x47\x61','\x57\x37\x64\x63\x55\x53\x6f\x34\x57\x4f\x46\x64\x51\x61','\x57\x36\x76\x63\x79\x6d\x6b\x57\x57\x52\x6d','\x57\x52\x6a\x79\x57\x35\x34\x4a\x63\x47','\x57\x36\x48\x44\x57\x37\x78\x64\x4b\x64\x66\x49\x61\x38\x6f\x61','\x63\x38\x6f\x6c\x6d\x53\x6f\x37\x72\x47','\x7a\x73\x74\x63\x53\x4a\x5a\x63\x4a\x61','\x57\x34\x62\x50\x43\x53\x6b\x47\x57\x4f\x47','\x57\x34\x50\x42\x44\x6d\x6b\x73\x57\x50\x53','\x66\x74\x4a\x63\x4e\x43\x6f\x69\x6a\x62\x42\x63\x4a\x6d\x6b\x42','\x57\x52\x64\x63\x4f\x68\x4c\x6c\x6e\x71','\x70\x5a\x56\x64\x4a\x53\x6b\x52\x57\x35\x34\x78\x72\x43\x6f\x32\x57\x36\x6d\x54','\x46\x49\x61\x38\x6b\x75\x79','\x57\x52\x2f\x64\x47\x43\x6f\x69\x43\x31\x4c\x45','\x42\x71\x34\x63\x57\x37\x42\x64\x56\x5a\x46\x64\x48\x71','\x72\x68\x65\x50','\x69\x4b\x52\x64\x54\x32\x62\x66\x63\x43\x6b\x53\x57\x37\x6d','\x57\x50\x4e\x63\x52\x6d\x6f\x33\x57\x51\x70\x63\x49\x6d\x6f\x77\x6f\x61\x53','\x76\x47\x69\x4c\x69\x32\x53\x37\x72\x71','\x57\x34\x58\x2b\x57\x37\x68\x64\x4f\x61\x30','\x74\x5a\x2f\x63\x4f\x64\x2f\x63\x4a\x43\x6b\x79\x69\x53\x6b\x67','\x57\x35\x5a\x63\x52\x53\x6f\x55\x6a\x6d\x6b\x34\x57\x4f\x44\x6c\x7a\x61','\x71\x61\x38\x4b\x65\x77\x53','\x76\x38\x6f\x63\x57\x51\x57\x45','\x57\x50\x2f\x64\x4b\x43\x6f\x37\x44\x66\x6d','\x41\x71\x47\x54\x79\x4d\x69\x38\x79\x32\x53','\x57\x36\x54\x38\x57\x36\x4e\x63\x47\x43\x6b\x76','\x69\x71\x37\x63\x53\x43\x6f\x47\x65\x72\x65','\x57\x35\x52\x63\x47\x6d\x6f\x6d\x6e\x47','\x57\x37\x7a\x58\x41\x53\x6b\x36','\x57\x4f\x43\x6e\x45\x38\x6f\x4d\x6b\x57','\x57\x37\x78\x63\x4d\x43\x6f\x76\x64\x43\x6b\x61\x57\x51\x66\x54\x41\x71','\x6b\x6d\x6b\x55\x57\x50\x58\x54\x46\x38\x6b\x34\x57\x35\x34\x49','\x6f\x38\x6f\x68\x79\x32\x74\x64\x52\x61','\x57\x37\x4e\x64\x56\x6d\x6f\x73\x57\x35\x58\x52\x57\x34\x37\x63\x55\x38\x6f\x2f','\x57\x50\x6c\x64\x53\x33\x66\x32\x57\x51\x56\x64\x4e\x38\x6b\x77\x6c\x61','\x44\x53\x6f\x65\x45\x5a\x4e\x64\x53\x66\x70\x64\x52\x53\x6f\x77','\x57\x34\x56\x64\x48\x43\x6f\x46\x57\x37\x6c\x63\x4c\x57\x34','\x57\x4f\x43\x6f\x45\x38\x6f\x57\x6c\x59\x48\x65','\x57\x36\x50\x6a\x57\x37\x4e\x63\x47\x6d\x6f\x57','\x46\x78\x70\x63\x4b\x53\x6f\x2b','\x42\x6d\x6b\x71\x72\x65\x47\x65\x57\x51\x42\x64\x52\x4e\x38','\x57\x36\x6c\x64\x50\x43\x6f\x43','\x57\x34\x72\x6b\x57\x36\x74\x63\x48\x6d\x6f\x56\x57\x35\x4e\x63\x50\x77\x71','\x41\x67\x33\x63\x48\x53\x6f\x56\x57\x36\x57\x75\x43\x38\x6f\x43','\x6f\x43\x6f\x45\x57\x37\x58\x66\x57\x36\x44\x39\x72\x57','\x57\x35\x72\x54\x57\x36\x68\x64\x55\x62\x4f','\x57\x4f\x57\x35\x57\x50\x74\x63\x54\x43\x6b\x42\x76\x43\x6f\x32\x57\x4f\x43','\x57\x51\x74\x64\x50\x53\x6f\x2b\x79\x75\x61','\x57\x34\x72\x64\x57\x52\x56\x63\x51\x71\x4a\x63\x4a\x59\x79','\x68\x71\x42\x64\x47\x61\x34\x2f','\x57\x4f\x4c\x39\x57\x51\x70\x63\x49\x38\x6f\x33','\x45\x58\x34\x59\x57\x35\x5a\x64\x54\x71','\x57\x37\x37\x64\x51\x38\x6f\x44\x57\x4f\x64\x64\x51\x5a\x75\x74\x6a\x61','\x57\x50\x53\x34\x57\x50\x64\x63\x52\x53\x6b\x41\x76\x6d\x6f\x48\x57\x4f\x4f','\x79\x43\x6f\x51\x6d\x31\x53\x6e\x6c\x66\x48\x53','\x57\x35\x68\x63\x55\x43\x6f\x62\x57\x4f\x2f\x64\x55\x61','\x57\x50\x2f\x64\x51\x58\x31\x33\x57\x50\x53','\x72\x68\x79\x2f\x57\x34\x6a\x41\x57\x51\x6c\x64\x4a\x53\x6f\x6e','\x57\x52\x70\x64\x50\x64\x31\x56\x67\x59\x64\x63\x56\x53\x6b\x70\x44\x30\x6a\x68\x45\x57','\x64\x38\x6f\x42\x66\x38\x6f\x41\x57\x52\x5a\x63\x51\x38\x6f\x35','\x44\x72\x57\x37\x41\x32\x75\x53\x43\x4c\x65','\x7a\x43\x6b\x71\x73\x68\x61\x47\x57\x52\x4e\x64\x53\x30\x4f','\x57\x52\x58\x63\x57\x36\x71\x6e\x6d\x71','\x75\x64\x30\x67\x73\x4c\x38','\x68\x74\x4a\x63\x52\x38\x6f\x46\x69\x49\x4a\x63\x4e\x61','\x67\x38\x6b\x6b\x6c\x71\x4a\x63\x50\x38\x6b\x34\x76\x61\x38','\x57\x35\x75\x4c\x57\x50\x43\x51\x57\x52\x43','\x57\x34\x47\x50\x57\x51\x69\x77\x57\x50\x30','\x57\x34\x50\x6c\x57\x35\x37\x64\x4f\x62\x31\x79\x6a\x6d\x6f\x4e','\x57\x35\x56\x63\x52\x43\x6f\x6c\x6c\x71\x38','\x57\x34\x37\x64\x4f\x43\x6f\x37\x57\x52\x74\x64\x50\x61','\x79\x43\x6f\x76\x79\x73\x4a\x63\x56\x75\x78\x64\x55\x38\x6f\x6d','\x57\x50\x56\x64\x4a\x53\x6f\x4e\x7a\x67\x69','\x42\x68\x64\x63\x48\x6d\x6f\x2f\x57\x37\x30\x2b\x46\x38\x6f\x43','\x69\x53\x6f\x79\x6e\x43\x6f\x71\x57\x50\x75','\x63\x38\x6f\x6b\x69\x53\x6f\x39\x44\x47','\x57\x50\x5a\x64\x4f\x53\x6f\x4d\x42\x4e\x4f','\x76\x49\x42\x63\x51\x48\x74\x63\x4c\x47','\x57\x36\x74\x63\x4a\x4c\x69','\x75\x49\x42\x63\x54\x49\x47','\x57\x50\x30\x62\x57\x37\x4e\x63\x4b\x53\x6b\x50\x57\x50\x54\x70\x43\x57','\x43\x4c\x6d\x77\x42\x53\x6f\x34\x68\x43\x6f\x58\x43\x61','\x57\x34\x6e\x65\x57\x35\x46\x63\x49\x6d\x6b\x58\x57\x4f\x62\x73','\x57\x34\x37\x63\x53\x32\x44\x33\x57\x51\x68\x64\x4e\x38\x6b\x62\x6b\x57','\x57\x51\x37\x63\x4d\x38\x6f\x38\x57\x51\x46\x63\x4e\x43\x6f\x73','\x6e\x53\x6f\x53\x68\x57','\x57\x50\x4f\x4e\x73\x57','\x57\x37\x52\x63\x4f\x66\x4a\x64\x52\x6d\x6f\x49','\x57\x4f\x4e\x63\x4a\x38\x6f\x43\x57\x37\x64\x63\x4a\x47\x4b\x72\x72\x61','\x57\x35\x6c\x64\x4b\x6d\x6f\x71\x57\x4f\x5a\x64\x51\x43\x6f\x2b\x57\x52\x58\x4b','\x57\x35\x35\x75\x57\x34\x6c\x63\x4d\x6d\x6b\x58\x57\x4f\x6d','\x57\x35\x54\x4e\x57\x34\x64\x64\x52\x62\x50\x30\x6a\x6d\x6f\x54','\x75\x53\x6f\x4f\x75\x58\x74\x63\x4a\x33\x70\x64\x49\x53\x6f\x52','\x66\x43\x6f\x61\x65\x43\x6f\x43\x57\x52\x75','\x57\x4f\x4e\x64\x4e\x61\x62\x58\x57\x4f\x6c\x63\x51\x32\x6a\x51','\x7a\x57\x4b\x46\x57\x37\x70\x64\x51\x71\x46\x63\x47\x6d\x6b\x54','\x79\x31\x43\x68\x42\x57','\x57\x4f\x6d\x47\x41\x6d\x6f\x31\x6b\x71','\x57\x50\x65\x4a\x57\x50\x78\x63\x55\x6d\x6b\x71\x74\x6d\x6f\x48','\x45\x6d\x6f\x61\x57\x52\x57\x75\x57\x35\x52\x63\x4b\x6d\x6b\x51\x57\x34\x79','\x57\x37\x4a\x63\x52\x6d\x6f\x4e\x57\x4f\x64\x64\x54\x32\x78\x63\x48\x38\x6f\x79','\x75\x43\x6f\x78\x57\x52\x53\x74\x57\x36\x56\x63\x4c\x53\x6b\x37\x57\x34\x57','\x57\x34\x78\x63\x49\x68\x56\x64\x4f\x43\x6f\x41\x66\x43\x6f\x7a\x57\x50\x61','\x57\x37\x6e\x7a\x57\x37\x6c\x63\x4e\x38\x6f\x76\x57\x35\x2f\x63\x48\x4d\x47','\x76\x32\x61\x54\x57\x35\x72\x62\x57\x50\x6d','\x46\x75\x47\x76','\x57\x36\x4e\x63\x50\x30\x34\x56\x78\x4e\x74\x63\x4f\x57','\x43\x38\x6b\x65\x57\x37\x6a\x62\x57\x34\x35\x31\x72\x43\x6f\x6c','\x57\x35\x39\x69\x57\x52\x37\x63\x56\x58\x2f\x63\x52\x47','\x6f\x38\x6f\x4d\x42\x78\x4e\x64\x4d\x38\x6f\x52\x63\x49\x4b','\x79\x75\x47\x78\x7a\x43\x6f\x58\x67\x43\x6f\x33\x41\x47','\x57\x50\x61\x5a\x57\x50\x4e\x63\x52\x38\x6b\x36\x74\x43\x6f\x54\x57\x4f\x4b','\x6a\x6d\x6f\x69\x67\x43\x6f\x34\x45\x53\x6b\x62\x57\x37\x47\x42','\x6a\x38\x6f\x45\x67\x38\x6f\x37\x77\x47','\x69\x6d\x6f\x69\x63\x53\x6f\x49\x43\x38\x6b\x67','\x6b\x38\x6b\x49\x57\x52\x35\x51\x45\x38\x6b\x78\x57\x35\x61\x73','\x57\x4f\x78\x63\x53\x4e\x76\x56\x63\x57','\x75\x64\x70\x63\x53\x63\x33\x63\x49\x6d\x6b\x41\x69\x6d\x6b\x39','\x76\x49\x2f\x63\x4f\x59\x4b','\x66\x53\x6f\x44\x72\x75\x6c\x64\x53\x71','\x65\x64\x7a\x31\x57\x50\x6a\x42\x57\x50\x2f\x64\x4f\x38\x6f\x37\x61\x43\x6f\x78','\x7a\x4b\x75\x6f\x79\x53\x6f\x4d\x62\x43\x6f\x47\x7a\x57','\x57\x52\x75\x70\x44\x6d\x6f\x77\x66\x47','\x57\x4f\x66\x6c\x57\x4f\x64\x63\x4a\x38\x6f\x53\x69\x38\x6b\x4e\x57\x4f\x69','\x44\x32\x79\x77','\x57\x51\x64\x64\x51\x5a\x54\x79\x57\x52\x52\x63\x4a\x75\x72\x4e','\x79\x4b\x64\x63\x4e\x43\x6f\x30\x57\x36\x69','\x67\x31\x50\x4d\x75\x6d\x6b\x54','\x57\x4f\x37\x64\x4e\x49\x44\x6a\x57\x50\x61','\x75\x4d\x5a\x64\x47\x6d\x6f\x41\x70\x4d\x65\x52','\x57\x37\x50\x69\x57\x37\x68\x63\x4d\x38\x6f\x5a','\x57\x4f\x4f\x56\x57\x50\x68\x63\x56\x47','\x68\x43\x6f\x67\x72\x65\x37\x64\x4d\x38\x6f\x7a\x6e\x72\x71','\x57\x4f\x64\x63\x48\x6d\x6f\x77\x57\x50\x64\x63\x4e\x47','\x57\x36\x48\x62\x43\x47','\x57\x52\x56\x64\x47\x43\x6f\x42\x41\x76\x62\x7a\x57\x37\x50\x72','\x79\x63\x64\x63\x48\x73\x78\x63\x4f\x47','\x42\x48\x4f\x63\x57\x37\x64\x64\x56\x4a\x4e\x64\x4d\x43\x6b\x66','\x57\x52\x33\x63\x53\x4e\x66\x69\x62\x47','\x6b\x53\x6f\x46\x6b\x43\x6f\x62\x78\x57','\x6d\x38\x6b\x47\x68\x59\x4e\x63\x49\x53\x6b\x74\x79\x73\x69','\x6f\x43\x6f\x6e\x63\x74\x75\x59\x57\x51\x70\x64\x49\x77\x6e\x30\x57\x34\x61','\x61\x6d\x6f\x2f\x57\x36\x48\x61\x57\x37\x65','\x57\x4f\x65\x30\x78\x6d\x6f\x50\x57\x35\x30','\x6f\x43\x6f\x42\x57\x37\x6a\x69\x57\x36\x6d','\x57\x35\x75\x68\x57\x50\x47\x6e\x57\x52\x47','\x57\x35\x68\x63\x55\x6d\x6f\x72\x57\x4f\x4e\x64\x49\x61','\x65\x53\x6f\x6c\x61\x53\x6f\x6b\x57\x52\x5a\x63\x51\x61','\x57\x35\x50\x30\x57\x34\x64\x63\x47\x43\x6b\x42','\x57\x4f\x58\x41\x57\x50\x52\x63\x4a\x43\x6f\x31\x6f\x57','\x78\x62\x4b\x63\x6b\x53\x6f\x6b\x57\x35\x46\x64\x49\x38\x6f\x50\x57\x34\x35\x50\x57\x34\x38\x53\x57\x51\x34','\x72\x43\x6f\x4c\x57\x52\x4f\x47\x57\x35\x53','\x76\x32\x61\x56\x57\x34\x7a\x63\x57\x50\x68\x64\x47\x53\x6f\x6e','\x6d\x6d\x6f\x36\x67\x6d\x6f\x6c\x73\x47','\x44\x4d\x53\x68\x7a\x43\x6f\x59\x67\x43\x6f\x54\x72\x71','\x57\x50\x35\x2b\x57\x37\x79\x67\x65\x43\x6b\x71\x68\x38\x6f\x76','\x57\x37\x79\x43\x57\x51\x66\x78\x72\x38\x6f\x6a\x66\x38\x6f\x6c\x57\x4f\x61\x66\x64\x74\x47','\x45\x6d\x6b\x66\x78\x67\x30\x67\x57\x52\x61','\x57\x35\x70\x64\x49\x43\x6f\x56\x57\x51\x74\x64\x55\x62\x47\x47\x61\x47','\x61\x38\x6f\x78\x6f\x43\x6f\x31\x72\x71','\x57\x34\x42\x63\x4e\x38\x6f\x65\x68\x6d\x6b\x2f\x57\x52\x44\x58\x71\x57','\x46\x65\x78\x63\x4b\x38\x6f\x6b\x57\x35\x4f','\x63\x31\x74\x64\x53\x31\x66\x4e','\x74\x53\x6f\x4c\x57\x50\x53\x51\x57\x35\x71','\x57\x36\x69\x75\x6a\x71','\x57\x35\x35\x33\x57\x34\x52\x63\x4a\x43\x6b\x31','\x57\x37\x50\x42\x57\x36\x4e\x63\x4c\x53\x6f\x4f\x57\x34\x68\x63\x48\x47','\x79\x53\x6f\x2b\x6d\x31\x30\x6d\x69\x4b\x71','\x57\x37\x6a\x66\x57\x52\x37\x63\x56\x58\x47','\x57\x52\x62\x46\x57\x36\x7a\x4c\x69\x71','\x6b\x53\x6f\x43\x43\x66\x33\x64\x4b\x71','\x79\x57\x38\x63\x57\x37\x64\x64\x56\x73\x52\x64\x4c\x6d\x6b\x50','\x57\x35\x44\x4c\x41\x6d\x6b\x64\x57\x51\x38','\x6c\x6d\x6f\x73\x57\x36\x39\x69\x57\x36\x35\x6f\x77\x53\x6f\x75','\x57\x37\x34\x50\x57\x4f\x38\x76\x57\x52\x4f','\x57\x35\x78\x64\x4d\x38\x6f\x62\x57\x4f\x4a\x64\x4f\x57','\x42\x4e\x68\x64\x52\x43\x6f\x44\x70\x33\x38\x58\x45\x61','\x79\x61\x4a\x63\x47\x4e\x52\x64\x50\x63\x6d\x2b\x75\x71','\x6e\x64\x68\x64\x4a\x53\x6b\x56\x57\x52\x58\x72\x69\x6d\x6f\x33\x57\x36\x57\x6c\x67\x67\x46\x64\x51\x61','\x69\x66\x68\x64\x52\x67\x7a\x54\x68\x38\x6b\x59\x57\x37\x4b','\x57\x34\x62\x71\x57\x35\x46\x63\x4a\x53\x6b\x57\x57\x4f\x35\x6f\x41\x57','\x57\x50\x47\x6d\x72\x53\x6f\x72\x62\x71','\x73\x49\x61\x4b\x6e\x78\x61','\x77\x43\x6b\x38\x44\x4c\x30\x36\x57\x4f\x42\x64\x4d\x32\x61','\x41\x58\x4b\x41\x57\x37\x64\x64\x4b\x73\x34','\x57\x50\x6a\x77\x57\x4f\x64\x63\x4a\x38\x6f\x6d\x6e\x53\x6b\x2b\x57\x50\x34','\x41\x68\x70\x63\x4d\x6d\x6f\x4f\x57\x37\x30','\x57\x4f\x30\x49\x57\x4f\x64\x63\x51\x43\x6b\x6c\x44\x53\x6f\x52\x57\x50\x57','\x42\x68\x46\x63\x47\x38\x6f\x2f\x57\x36\x71\x72\x79\x53\x6f\x6c','\x57\x35\x6d\x4b\x57\x4f\x38\x76\x57\x52\x31\x33','\x70\x43\x6f\x79\x68\x38\x6f\x59\x43\x38\x6b\x66\x57\x37\x34','\x74\x66\x4a\x64\x50\x43\x6f\x32\x67\x57','\x79\x4e\x42\x63\x47\x38\x6f\x35\x57\x36\x79\x6d\x43\x57','\x73\x6d\x6f\x61\x57\x51\x69\x46\x57\x37\x2f\x64\x4e\x38\x6b\x53\x57\x34\x71','\x57\x36\x33\x63\x53\x6d\x6f\x35\x57\x50\x42\x64\x54\x32\x70\x63\x4b\x43\x6f\x7a','\x57\x34\x33\x63\x52\x77\x50\x55\x57\x52\x38','\x57\x50\x72\x35\x57\x4f\x6c\x63\x47\x43\x6f\x52','\x63\x43\x6f\x44\x74\x4c\x64\x64\x52\x57','\x70\x4b\x4e\x64\x53\x66\x6e\x72','\x57\x52\x68\x63\x4e\x38\x6f\x2f\x57\x52\x64\x63\x48\x43\x6f\x46\x63\x59\x38','\x57\x37\x58\x45\x71\x38\x6b\x46\x57\x50\x53','\x62\x53\x6f\x55\x7a\x4e\x64\x64\x4f\x57','\x57\x37\x35\x6b\x57\x37\x70\x63\x4d\x6d\x6f\x34','\x57\x50\x62\x58\x57\x35\x48\x75\x57\x36\x6a\x56\x57\x36\x4f\x4b\x45\x47\x4c\x71','\x57\x36\x70\x64\x51\x78\x31\x32\x6b\x59\x4e\x64\x4f\x67\x71','\x6e\x30\x52\x64\x48\x63\x4a\x63\x51\x65\x72\x56\x42\x33\x48\x6f\x77\x72\x64\x63\x56\x71','\x70\x38\x6f\x69\x67\x6d\x6f\x49\x46\x43\x6b\x70\x57\x37\x34','\x76\x43\x6f\x78\x57\x51\x4f\x42\x57\x36\x68\x63\x4b\x38\x6b\x39\x57\x34\x4b','\x57\x35\x75\x6b\x57\x51\x71\x38\x57\x52\x79','\x57\x34\x5a\x63\x4e\x76\x64\x64\x4e\x53\x6f\x6d','\x69\x76\x33\x64\x55\x78\x66\x64\x65\x47','\x57\x36\x37\x63\x52\x76\x30\x53\x77\x61','\x7a\x59\x56\x63\x54\x78\x42\x64\x4c\x57','\x57\x50\x46\x63\x55\x78\x4c\x73\x6c\x71','\x57\x4f\x74\x64\x52\x71\x48\x42\x57\x50\x75','\x70\x6d\x6b\x43\x57\x51\x39\x73\x76\x61','\x73\x78\x69\x2b\x57\x37\x72\x79','\x61\x38\x6f\x4d\x62\x53\x6f\x64\x43\x47','\x57\x35\x6d\x55\x57\x50\x53\x69\x57\x52\x7a\x54\x57\x36\x61\x4c','\x57\x37\x56\x63\x51\x53\x6f\x4e\x57\x50\x70\x64\x48\x78\x4e\x63\x48\x53\x6f\x77','\x57\x51\x78\x64\x4e\x61\x5a\x63\x53\x33\x65\x54\x57\x52\x4c\x66\x68\x43\x6b\x77\x66\x71','\x57\x35\x64\x63\x55\x78\x58\x2b\x57\x52\x68\x64\x47\x57','\x73\x58\x69\x57\x6d\x32\x53\x34','\x57\x35\x52\x63\x49\x77\x46\x64\x4a\x38\x6f\x72','\x46\x64\x4f\x62\x66\x66\x43','\x70\x4c\x4e\x64\x52\x67\x7a\x6f\x67\x43\x6b\x4d\x57\x34\x4b','\x7a\x30\x34\x6e\x7a\x43\x6f\x6b\x68\x53\x6f\x55\x41\x47','\x57\x37\x50\x6c\x57\x37\x6c\x63\x4b\x53\x6f\x2b','\x71\x6d\x6f\x73\x41\x31\x6c\x64\x56\x53\x6f\x30\x64\x5a\x33\x64\x4e\x74\x62\x62\x61\x4e\x57','\x57\x50\x4e\x63\x48\x53\x6b\x62\x57\x51\x64\x64\x52\x38\x6f\x33\x57\x4f\x50\x4b\x57\x4f\x69','\x46\x78\x42\x63\x4c\x43\x6f\x32\x57\x36\x61\x73\x46\x53\x6f\x44','\x57\x37\x6d\x66\x57\x50\x79\x76\x57\x50\x71','\x72\x59\x30\x35\x57\x35\x4e\x64\x48\x48\x2f\x64\x56\x38\x6b\x69','\x57\x4f\x76\x6e\x57\x50\x33\x63\x4a\x6d\x6f\x34','\x68\x75\x68\x64\x4a\x68\x6e\x5a','\x57\x51\x52\x63\x52\x33\x7a\x57\x63\x4a\x37\x64\x55\x78\x65','\x57\x52\x56\x63\x52\x4d\x62\x35\x64\x4a\x33\x64\x50\x77\x43','\x57\x50\x30\x68\x46\x53\x6f\x4c\x68\x4a\x4b','\x57\x36\x4c\x6f\x57\x34\x74\x64\x48\x5a\x43','\x76\x43\x6f\x74\x57\x51\x43\x45\x57\x36\x6c\x63\x4b\x47','\x67\x49\x74\x63\x4d\x71','\x57\x35\x78\x63\x4b\x67\x56\x64\x53\x53\x6f\x68','\x41\x53\x6b\x43\x78\x67\x65\x62','\x57\x34\x39\x4e\x57\x34\x5a\x63\x50\x61','\x46\x32\x5a\x63\x47\x53\x6f\x30\x57\x36\x30\x76\x7a\x6d\x6f\x72','\x65\x58\x33\x64\x50\x61\x6d\x58\x64\x4c\x64\x63\x4e\x47','\x57\x34\x39\x4d\x57\x35\x46\x64\x51\x43\x6f\x70\x76\x38\x6f\x38\x57\x4f\x42\x64\x4f\x53\x6f\x56\x57\x36\x69','\x57\x34\x74\x63\x50\x68\x5a\x64\x4d\x72\x79\x41\x57\x4f\x76\x6c','\x70\x38\x6b\x65\x57\x51\x4c\x76\x73\x57','\x64\x76\x64\x64\x55\x78\x62\x69','\x44\x43\x6f\x37\x57\x4f\x38\x4a\x57\x35\x6c\x63\x52\x53\x6b\x6e\x57\x36\x47','\x6f\x43\x6f\x73\x57\x36\x38','\x44\x63\x38\x39\x76\x31\x38','\x57\x35\x4c\x6a\x57\x36\x64\x63\x50\x43\x6b\x6b','\x57\x35\x39\x63\x57\x51\x52\x63\x4f\x48\x74\x63\x54\x64\x6c\x64\x4e\x71','\x57\x4f\x6d\x65\x79\x6d\x6f\x55','\x57\x35\x33\x64\x4e\x43\x6f\x65\x57\x35\x53\x6e','\x57\x35\x54\x69\x57\x51\x33\x63\x50\x72\x42\x63\x51\x73\x70\x64\x4c\x71','\x43\x48\x52\x63\x4e\x67\x2f\x64\x56\x62\x4b\x69\x72\x57','\x57\x52\x38\x4c\x57\x50\x6c\x63\x56\x53\x6b\x6c','\x62\x47\x33\x63\x4f\x38\x6f\x51\x6b\x47','\x57\x35\x42\x64\x4b\x6d\x6f\x62\x57\x4f\x74\x64\x4f\x38\x6f\x37\x57\x52\x50\x48','\x69\x53\x6f\x51\x43\x77\x74\x64\x50\x43\x6f\x2f\x62\x61','\x57\x52\x68\x64\x52\x6d\x6b\x58\x57\x35\x42\x63\x50\x59\x42\x64\x47\x53\x6f\x59\x61\x75\x47\x46\x57\x36\x35\x56','\x78\x31\x57\x34\x57\x36\x6e\x38','\x76\x62\x34\x2f','\x44\x57\x57\x36\x7a\x4d\x61\x5a\x72\x75\x69','\x57\x36\x68\x63\x56\x53\x6f\x5a\x63\x57','\x57\x50\x38\x4a\x73\x38\x6f\x31\x57\x35\x6e\x74\x57\x37\x38','\x44\x4b\x4b\x74\x46\x53\x6f\x57\x67\x6d\x6f\x47\x7a\x57','\x68\x75\x6a\x42\x46\x43\x6b\x7a','\x72\x65\x78\x63\x47\x43\x6f\x51\x57\x37\x34','\x6d\x72\x33\x63\x4f\x43\x6f\x48\x62\x47\x5a\x63\x55\x53\x6b\x54','\x7a\x77\x6c\x63\x48\x6d\x6f\x59\x57\x35\x79\x66\x7a\x6d\x6f\x72','\x79\x75\x69\x62\x41\x53\x6f\x35\x61\x43\x6f\x47\x7a\x57','\x43\x48\x37\x63\x48\x71','\x57\x35\x33\x63\x52\x32\x66\x38\x57\x52\x68\x64\x54\x6d\x6b\x41\x6a\x47','\x64\x53\x6f\x36\x6b\x38\x6f\x47\x57\x52\x69','\x6f\x38\x6b\x5a\x57\x52\x38','\x57\x51\x71\x6d\x57\x51\x56\x63\x53\x6d\x6b\x2b','\x57\x34\x6e\x54\x72\x6d\x6b\x44\x57\x4f\x33\x63\x47\x6d\x6b\x47\x57\x4f\x47','\x57\x34\x69\x47\x57\x50\x4f\x66\x57\x52\x4f','\x57\x36\x42\x63\x53\x4c\x46\x64\x51\x74\x4f\x35\x57\x51\x6e\x50','\x57\x52\x66\x59\x57\x36\x66\x2b','\x57\x50\x47\x5a\x57\x4f\x64\x63\x52\x38\x6b\x6b\x75\x38\x6f\x48\x57\x52\x65','\x6d\x76\x70\x63\x55\x67\x76\x62\x65\x38\x6b\x5a\x57\x37\x6d','\x57\x34\x72\x65\x57\x34\x68\x63\x54\x6d\x6b\x52\x57\x4f\x6e\x66\x75\x71','\x57\x36\x33\x63\x53\x78\x57\x55\x74\x78\x6c\x63\x56\x57','\x57\x51\x31\x7a\x57\x37\x65\x36\x62\x43\x6b\x73\x61\x43\x6f\x4d','\x72\x68\x79\x2f\x57\x34\x35\x6a\x57\x50\x6d','\x57\x4f\x61\x2f\x46\x38\x6f\x30\x57\x35\x6e\x65\x57\x37\x6c\x63\x48\x57','\x57\x52\x33\x64\x4b\x43\x6f\x41\x41\x61','\x46\x4e\x70\x63\x4d\x38\x6f\x5a\x57\x36\x4f\x65','\x61\x4a\x42\x64\x56\x71\x38\x56\x64\x75\x33\x63\x47\x57','\x7a\x6d\x6f\x6d\x43\x72\x33\x63\x50\x71','\x57\x34\x70\x64\x50\x6d\x6f\x66\x57\x4f\x42\x64\x4d\x5a\x61\x79','\x74\x64\x70\x63\x4c\x74\x52\x63\x51\x61','\x69\x53\x6f\x46\x62\x6d\x6f\x59\x45\x43\x6b\x42\x57\x36\x47\x46','\x45\x4d\x30\x54\x57\x35\x72\x67','\x57\x4f\x61\x4a\x77\x38\x6f\x4e\x57\x35\x35\x79\x57\x37\x2f\x63\x50\x47','\x57\x37\x52\x63\x55\x38\x6f\x50\x57\x50\x64\x64\x56\x78\x47','\x6a\x38\x6f\x45\x57\x36\x48\x79\x57\x36\x39\x2f\x75\x38\x6f\x4b','\x57\x52\x78\x64\x52\x57\x54\x30\x57\x52\x65','\x57\x35\x64\x64\x53\x43\x6f\x44\x57\x35\x53\x4a','\x57\x51\x37\x63\x53\x33\x54\x59\x70\x64\x37\x64\x55\x4e\x30','\x46\x64\x71\x71\x64\x65\x47\x6a\x44\x4a\x34','\x79\x38\x6f\x6f\x45\x5a\x37\x63\x50\x65\x46\x64\x55\x53\x6f\x43','\x57\x35\x62\x35\x57\x4f\x4e\x63\x52\x53\x6b\x44\x43\x53\x6f\x48\x57\x4f\x38','\x57\x36\x54\x69\x57\x36\x74\x63\x4b\x57','\x75\x38\x6f\x42\x57\x51\x79\x75\x57\x35\x6c\x63\x4a\x6d\x6b\x5a\x57\x34\x71','\x74\x61\x38\x75\x6e\x65\x4f','\x44\x67\x56\x64\x4a\x6d\x6f\x41\x6d\x68\x4f\x32','\x6a\x43\x6b\x4a\x42\x58\x62\x69\x7a\x47\x4f\x41','\x57\x37\x33\x63\x51\x53\x6f\x43\x57\x51\x33\x64\x47\x57','\x57\x35\x39\x69\x57\x52\x5a\x63\x52\x72\x5a\x63\x52\x63\x78\x64\x4b\x61','\x73\x48\x34\x32\x6c\x4d\x75\x36\x75\x57','\x57\x50\x57\x63\x71\x53\x6f\x6a\x62\x57','\x79\x4d\x5a\x64\x4d\x53\x6f\x62\x6e\x67\x6d\x47\x45\x71','\x78\x74\x79\x4c','\x61\x71\x5a\x63\x49\x53\x6f\x62\x6f\x47','\x57\x51\x43\x46\x45\x43\x6f\x53\x6c\x71','\x57\x35\x4e\x63\x50\x67\x6a\x32\x57\x52\x46\x64\x4e\x38\x6b\x61','\x57\x36\x71\x63\x57\x51\x38\x51\x57\x50\x35\x67\x57\x34\x71\x6a','\x57\x4f\x61\x6d\x46\x43\x6f\x55\x61\x64\x35\x6c\x43\x47','\x57\x51\x6c\x64\x4b\x43\x6f\x44\x79\x31\x4c\x44\x57\x37\x57','\x57\x36\x37\x63\x4f\x4b\x33\x64\x47\x4a\x65','\x42\x48\x6c\x63\x4b\x68\x74\x64\x4f\x61','\x57\x52\x5a\x64\x55\x49\x50\x7a','\x57\x52\x66\x69\x57\x36\x4f\x50\x66\x71','\x57\x51\x53\x6e\x43\x38\x6f\x5a\x6e\x57','\x64\x38\x6f\x64\x65\x38\x6f\x6d\x57\x51\x46\x63\x4f\x38\x6f\x64\x57\x35\x30','\x44\x65\x4b\x4c\x73\x53\x6f\x33','\x44\x58\x37\x63\x47\x33\x42\x64\x54\x47\x75\x79\x77\x57','\x57\x36\x78\x63\x49\x66\x56\x64\x53\x49\x4f\x49','\x57\x35\x48\x64\x57\x34\x64\x64\x4b\x5a\x47','\x57\x35\x48\x33\x57\x35\x78\x63\x47\x6d\x6b\x30','\x6b\x38\x6f\x43\x57\x35\x31\x53\x57\x37\x61','\x46\x38\x6f\x55\x6a\x4b\x30\x6d\x69\x71','\x6c\x38\x6f\x66\x57\x36\x4c\x65\x57\x37\x71','\x72\x4a\x2f\x63\x4f\x63\x33\x63\x48\x53\x6b\x41\x69\x6d\x6b\x39','\x6b\x38\x6f\x2f\x6a\x43\x6f\x46\x77\x57','\x57\x37\x46\x64\x55\x43\x6f\x44\x57\x4f\x33\x64\x47\x62\x47\x46\x69\x57','\x57\x50\x6d\x31\x73\x38\x6f\x4a\x57\x34\x7a\x52\x57\x37\x70\x63\x50\x47','\x57\x34\x58\x7a\x57\x52\x4f','\x7a\x4e\x6c\x64\x47\x38\x6f\x58\x6a\x33\x6d\x52\x41\x71','\x69\x53\x6b\x4d\x57\x52\x66\x4e\x78\x71','\x61\x6d\x6b\x67\x6c\x61\x5a\x63\x4f\x6d\x6b\x4c\x76\x61\x79','\x79\x43\x6b\x48\x6c\x78\x74\x64\x51\x38\x6f\x32\x62\x59\x4b','\x6a\x49\x46\x64\x50\x47\x53\x45','\x57\x34\x4f\x4b\x57\x50\x57','\x6d\x38\x6b\x4b\x57\x50\x31\x32\x43\x6d\x6b\x48\x57\x34\x69\x63','\x75\x53\x6f\x4a\x6a\x4b\x30\x6c','\x61\x62\x74\x63\x47\x43\x6f\x67','\x74\x72\x47\x63\x6e\x68\x79\x2f\x74\x48\x57','\x57\x37\x68\x63\x47\x65\x64\x64\x4f\x38\x6f\x36','\x6a\x43\x6f\x34\x6c\x6d\x6f\x31\x57\x4f\x78\x63\x47\x38\x6f\x64\x57\x36\x4b','\x57\x51\x6c\x64\x49\x43\x6f\x7a\x44\x75\x6a\x76\x57\x34\x7a\x77','\x41\x43\x6f\x6a\x61\x66\x47\x61','\x57\x51\x50\x7a\x57\x36\x43\x67\x68\x38\x6b\x72\x66\x47','\x57\x36\x68\x63\x54\x30\x52\x64\x54\x5a\x38','\x57\x37\x78\x63\x55\x78\x31\x57\x57\x52\x37\x63\x49\x32\x35\x43\x6a\x61','\x57\x52\x42\x63\x53\x30\x62\x6e\x6f\x71','\x6d\x75\x50\x61\x57\x51\x42\x63\x51\x64\x33\x64\x4b\x38\x6b\x79\x64\x38\x6f\x7a\x62\x57','\x57\x4f\x52\x63\x4c\x4c\x66\x64\x6d\x71\x5a\x64\x48\x76\x65','\x57\x52\x5a\x64\x56\x5a\x58\x76','\x66\x33\x56\x64\x4d\x75\x39\x53\x6a\x43\x6b\x6a\x57\x35\x6d','\x57\x50\x72\x35\x57\x35\x75\x44\x6d\x47','\x57\x35\x39\x42\x57\x35\x64\x64\x52\x47\x43','\x69\x53\x6f\x4d\x43\x77\x74\x64\x52\x43\x6f\x32\x62\x47','\x41\x59\x61\x4a\x72\x77\x34','\x57\x50\x4f\x78\x57\x50\x75','\x57\x37\x68\x63\x52\x38\x6f\x48\x57\x4f\x37\x64\x55\x47','\x57\x52\x72\x68\x57\x37\x7a\x4a\x6a\x65\x75\x52\x57\x36\x47'];_0x2306=function(){return _0x501ec4;};return _0x2306();}'use strict';const {envInt:_0x3bc53,envFloat:_0x5dd1f3}=require(_0x37ca3c(0x160,'\x66\x78\x52\x43')+'\x67'),{fetchAssetById:_0x59f671}=require(_0x37ca3c(0x2dc,'\x44\x40\x32\x6f')+_0x37ca3c(0x1f7,'\x6d\x2a\x24\x4a')),{computeAssetId:_0x581e65}=require(_0x37ca3c(0x1cb,'\x41\x76\x4c\x4d')+_0x37ca3c(0x1c9,'\x66\x78\x52\x43')),{writeMemoryGraphEvent:_0x3dcf06}=require(_0x37ca3c(0x201,'\x59\x5a\x26\x5e')+_0x37ca3c(0x1ae,'\x6f\x48\x45\x51'));let _0x9c9df=[];const _0x322630=new Set();let _0x26a3e5=![],_0xd97f16=null;const _0x388b3a={};_0x388b3a['\x6f\x6b']=0x0,_0x388b3a[_0x37ca3c(0x175,'\x66\x78\x52\x43')]=0x0,_0x388b3a['\x6d\x69\x73\x6d\x61\x74\x63\x68']=0x0,_0x388b3a['\x73\x6b\x69\x70\x70\x65\x64']=0x0;let _0x4a359e=_0x388b3a;const _0x108d51=[-0x1*0x931+-0x1464+0x311d*0x1,0x39fe+-0x2*0x1f34+0x1f81*0x2,0x75aa*-0x1+0x55*0x2a1+0x8095];function _0x3db567(){const _0x22a0b2=_0x37ca3c,_0x313263={};_0x313263[_0x22a0b2(0x2e2,'\x23\x37\x51\x72')]=function(_0x331491,_0x1fdf8d){return _0x331491===_0x1fdf8d;};const _0x32fbd3=_0x313263;return _0x32fbd3[_0x22a0b2(0x228,'\x40\x4c\x74\x75')](String(process.env.EVOLVE_RECALL_VERIFY||'\x30'),'\x31');}function _0x3eb989(){const _0x45aeb3=_0x37ca3c,_0x46f34c={'\x6e\x49\x7a\x42\x62':function(_0x525a6a,_0xb56df,_0x3d84d9){return _0x525a6a(_0xb56df,_0x3d84d9);},'\x74\x70\x79\x58\x72':_0x45aeb3(0x207,'\x79\x75\x5e\x43')+_0x45aeb3(0x2da,'\x43\x6e\x6e\x6b')+_0x45aeb3(0x260,'\x59\x54\x49\x47')+_0x45aeb3(0x170,'\x54\x56\x4b\x30'),'\x53\x7a\x6b\x6c\x72':function(_0x2b0be8,_0x4e557d){return _0x2b0be8<_0x4e557d;},'\x64\x6d\x64\x50\x75':function(_0x1ed53b,_0x166c1c){return _0x1ed53b>_0x166c1c;}},_0x1d04e5=_0x46f34c[_0x45aeb3(0x176,'\x49\x5a\x5d\x70')](_0x5dd1f3,_0x46f34c[_0x45aeb3(0x1f6,'\x6f\x48\x45\x51')],-0x4b0+0x444+0x6d);if(!Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x1d04e5)||_0x46f34c[_0x45aeb3(0x2e9,'\x79\x74\x4d\x5a')](_0x1d04e5,0x6b*-0x10+0x19b9+-0x1bb*0xb)||_0x46f34c[_0x45aeb3(0x2cf,'\x47\x6c\x49\x71')](_0x1d04e5,-0x6d2+0x2*0x10f1+-0x1*0x1b0f))return-0x1f7*-0x7+0x905+-0x1*0x16c5;return _0x1d04e5;}function _0x3c376e(){const _0x273e0b=_0x37ca3c,_0x8848c2={'\x53\x61\x52\x4a\x4f':function(_0x4b19aa,_0x5a0e3f,_0x3d6816){return _0x4b19aa(_0x5a0e3f,_0x3d6816);}};return _0x8848c2[_0x273e0b(0x1e1,'\x79\x75\x5e\x43')](_0x3bc53,_0x273e0b(0x168,'\x62\x7a\x73\x65')+_0x273e0b(0x247,'\x62\x6f\x31\x6f')+_0x273e0b(0x2a3,'\x48\x30\x55\x4d')+_0x273e0b(0x1c3,'\x45\x51\x4a\x47'),0x2242+-0x74b+-0x19f7);}function _0xe1c911(){const _0x29b69b=_0x37ca3c,_0x349421={'\x77\x74\x4d\x46\x7a':function(_0x5694a5,_0x10c71a,_0x507793){return _0x5694a5(_0x10c71a,_0x507793);},'\x4f\x79\x54\x70\x53':_0x29b69b(0x291,'\x68\x61\x69\x4b')+_0x29b69b(0x235,'\x47\x65\x4c\x41')+_0x29b69b(0x2a0,'\x6d\x2a\x24\x4a')+_0x29b69b(0x2b4,'\x6c\x63\x6e\x4e')};return _0x349421[_0x29b69b(0x1ab,'\x62\x56\x6e\x44')](_0x3bc53,_0x349421[_0x29b69b(0x293,'\x76\x72\x58\x77')],-0x4*-0x9a9+0xbce+-0x3*0xa4e);}function _0x39e56c(){const _0x6244e2=_0x37ca3c,_0xefdbea={'\x6c\x6e\x61\x4c\x76':function(_0x433a99,_0x5e2fb5,_0x3673c6){return _0x433a99(_0x5e2fb5,_0x3673c6);},'\x71\x4a\x73\x4c\x65':_0x6244e2(0x1bd,'\x4c\x66\x31\x6e')+_0x6244e2(0x2eb,'\x31\x53\x4c\x44')+_0x6244e2(0x1ac,'\x7a\x57\x53\x21')+'\x54\x49\x41\x4c\x5f\x57\x41\x49'+_0x6244e2(0x29c,'\x4e\x5e\x72\x72')};return _0xefdbea['\x6c\x6e\x61\x4c\x76'](_0x3bc53,_0xefdbea[_0x6244e2(0x193,'\x47\x65\x4c\x41')],-0x1*-0x1183+-0x21e8+0x23ed);}function _0x30eb61(){const _0x27f425=_0x37ca3c,_0x382a56={'\x79\x52\x4e\x4e\x47':function(_0x33c7f7,_0x1dabc1,_0x5e240b){return _0x33c7f7(_0x1dabc1,_0x5e240b);},'\x47\x4d\x4a\x6a\x4b':_0x27f425(0x2b9,'\x45\x51\x4a\x47')+_0x27f425(0x172,'\x76\x72\x58\x77')+_0x27f425(0x22d,'\x66\x78\x52\x43')+_0x27f425(0x289,'\x43\x6e\x6e\x6b')};return _0x382a56[_0x27f425(0x159,'\x25\x73\x36\x38')](_0x3bc53,_0x382a56[_0x27f425(0x1c2,'\x21\x4e\x6e\x35')],0x25bc+0x1c72+0xd*-0x517);}function _0x271822(){const _0x48f55f=_0x37ca3c,_0x47b3ac={'\x75\x73\x70\x6a\x46':function(_0x48db3e,_0x4d21ab,_0x454187){return _0x48db3e(_0x4d21ab,_0x454187);},'\x66\x4b\x74\x4d\x4a':'\x45\x56\x4f\x4c\x56\x45\x5f\x52'+_0x48f55f(0x2c1,'\x4a\x78\x61\x4a')+_0x48f55f(0x205,'\x47\x6c\x49\x71')+_0x48f55f(0x1a1,'\x44\x76\x37\x6f')+_0x48f55f(0x1e8,'\x49\x5a\x5d\x70')};return _0x47b3ac[_0x48f55f(0x21a,'\x25\x73\x36\x38')](_0x3bc53,_0x47b3ac[_0x48f55f(0x280,'\x40\x59\x43\x5d')],0x21f2+-0xecc+-0xc1a*-0x1);}function _0x29bf0c(_0x794368,_0x59acf5,_0xb650b,_0x57105e){const _0x1480c0=_0x37ca3c,_0x3f7c4c={'\x4b\x69\x52\x6a\x4d':function(_0x31991e,_0x858a70){return _0x31991e!==_0x858a70;},'\x42\x7a\x44\x50\x77':function(_0x4b715b,_0x23e94c){return _0x4b715b||_0x23e94c;},'\x54\x4e\x76\x6d\x42':function(_0x5d46e2,_0x40c3a4){return _0x5d46e2-_0x40c3a4;},'\x64\x42\x47\x66\x63':_0x1480c0(0x19d,'\x40\x59\x43\x5d')+_0x1480c0(0x15d,'\x58\x6c\x34\x36'),'\x49\x46\x76\x70\x77':function(_0x435200,_0x379e46){return _0x435200+_0x379e46;},'\x6c\x71\x68\x50\x71':_0x1480c0(0x19f,'\x33\x34\x72\x69'),'\x72\x46\x69\x66\x6b':_0x1480c0(0x2d0,'\x62\x6f\x31\x6f'),'\x59\x52\x47\x55\x75':function(_0x44092e,_0x3c5ebb){return _0x44092e(_0x3c5ebb);},'\x68\x67\x50\x49\x58':function(_0x35443b,_0x378d59){return _0x35443b!==_0x378d59;},'\x4b\x62\x51\x54\x53':_0x1480c0(0x26e,'\x66\x78\x52\x43'),'\x42\x54\x68\x74\x44':function(_0x463488,_0x32e423){return _0x463488===_0x32e423;},'\x41\x4b\x4e\x51\x66':function(_0xec7870,_0x52b8c6){return _0xec7870+_0x52b8c6;},'\x6c\x67\x42\x59\x6f':function(_0x396900,_0x3f1fee){return _0x396900===_0x3f1fee;},'\x66\x50\x44\x69\x47':_0x1480c0(0x283,'\x31\x53\x4c\x44')+_0x1480c0(0x1c5,'\x4a\x78\x61\x4a'),'\x75\x78\x45\x74\x4e':_0x1480c0(0x1d7,'\x44\x40\x32\x6f')+_0x1480c0(0x2c3,'\x6d\x2a\x24\x4a')+'\x67','\x72\x46\x4d\x47\x7a':_0x1480c0(0x2a7,'\x23\x72\x37\x6c')+_0x1480c0(0x18c,'\x45\x51\x4a\x47')+'\x63\x68'},_0x3480ef=Date[_0x1480c0(0x212,'\x43\x41\x35\x21')](),_0x1d2e13={'\x6f\x75\x74\x63\x6f\x6d\x65':_0x59acf5,'\x72\x65\x61\x73\x6f\x6e':_0x3f7c4c[_0x1480c0(0x22e,'\x5d\x2a\x4b\x71')](_0xb650b,null),'\x61\x74\x74\x65\x6d\x70\x74\x73':_0x57105e&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x57105e[_0x1480c0(0x254,'\x68\x61\x69\x4b')])?_0x57105e['\x61\x74\x74\x65\x6d\x70\x74\x73']:_0x794368[_0x1480c0(0x1fa,'\x43\x41\x35\x21')]||-0x8b*0x3+-0x2151+0x22f2,'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x57105e&&Number[_0x1480c0(0x259,'\x58\x6c\x34\x36')](_0x57105e[_0x1480c0(0x28a,'\x76\x72\x58\x77')+'\x6d\x73'])?_0x57105e[_0x1480c0(0x25d,'\x21\x4e\x6e\x35')+'\x6d\x73']:0xa0d*-0x1+0x7e6*-0x4+0x29a5,'\x61\x67\x65\x5f\x61\x74\x5f\x76\x65\x72\x69\x66\x79\x5f\x6d\x73':_0x794368[_0x1480c0(0x198,'\x79\x75\x5e\x43')+_0x1480c0(0x225,'\x43\x41\x35\x21')]?_0x3f7c4c[_0x1480c0(0x161,'\x56\x62\x40\x6e')](_0x3480ef,_0x794368[_0x1480c0(0x28f,'\x50\x62\x29\x48')+_0x1480c0(0x1fe,'\x25\x73\x36\x38')]):-0x6*-0xfd+-0x28*-0x34+-0xe0e,'\x72\x65\x63\x61\x6c\x6c\x65\x64\x5f\x68\x61\x73\x68':_0x57105e&&_0x57105e[_0x1480c0(0x2bb,'\x43\x41\x35\x21')+_0x1480c0(0x21d,'\x54\x56\x4b\x30')]?_0x57105e[_0x1480c0(0x21e,'\x6f\x48\x45\x51')+'\x5f\x68\x61\x73\x68']:null},_0x599ff3={'\x74\x79\x70\x65':_0x3f7c4c[_0x1480c0(0x16a,'\x44\x76\x37\x6f')],'\x6b\x69\x6e\x64':_0x1480c0(0x2b3,'\x49\x5a\x5d\x70')+_0x1480c0(0x292,'\x36\x5b\x57\x65'),'\x69\x64':_0x3f7c4c[_0x1480c0(0x2b8,'\x50\x62\x29\x48')](_0x3f7c4c[_0x1480c0(0x17f,'\x48\x30\x55\x4d')](_0x3f7c4c[_0x1480c0(0x26f,'\x76\x72\x58\x77')],_0x3480ef),'\x5f')+Math[_0x1480c0(0x298,'\x48\x30\x55\x4d')]()[_0x1480c0(0x166,'\x43\x6e\x6e\x6b')](0x10f5+0x1cdc+-0xb*0x427)[_0x1480c0(0x2b7,'\x40\x4c\x74\x75')](-0x100f*0x2+0x3*0x2cf+0x17b3,-0x1*-0xa61+-0x2195+0x15e*0x11),'\x74\x73':_0x3480ef,'\x61\x73\x73\x65\x74':{'\x74\x79\x70\x65':_0x794368[_0x1480c0(0x22c,'\x44\x40\x32\x6f')]||_0x3f7c4c[_0x1480c0(0x24e,'\x21\x4e\x6e\x35')],'\x69\x64':_0x794368[_0x1480c0(0x204,'\x7a\x57\x53\x21')]||null},'\x76\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6f\x6e':_0x1d2e13,'\x73\x69\x67\x6e\x61\x6c':{'\x73\x69\x67\x6e\x61\x6c\x73':Array[_0x1480c0(0x1e9,'\x45\x51\x4a\x47')](_0x794368[_0x1480c0(0x2e0,'\x58\x6c\x34\x36')])?_0x794368[_0x1480c0(0x1d5,'\x66\x64\x39\x77')][_0x1480c0(0x239,'\x66\x64\x39\x77')](-0x1a2d+0x150d+0x29*0x20,0xbbd+-0x3*-0xba+-0xf*0xed):[]}};try{_0x3f7c4c[_0x1480c0(0x220,'\x66\x78\x52\x43')](_0x3dcf06,_0x599ff3);}catch(_0x47b1c1){if(_0x3f7c4c[_0x1480c0(0x2e5,'\x79\x74\x4d\x5a')](_0x3f7c4c[_0x1480c0(0x192,'\x25\x73\x36\x38')],_0x3f7c4c['\x4b\x62\x51\x54\x53'])){const _0x1502be={};_0x1502be[_0x1480c0(0x224,'\x36\x5b\x57\x65')]=_0x58551e[_0x1480c0(0x265,'\x50\x62\x29\x48')],_0x1502be[_0x1480c0(0x1df,'\x44\x76\x37\x6f')+'\x6d\x73']=_0x14d6b3['\x6c\x61\x74\x65\x6e\x63\x79\x5f'+'\x6d\x73'],_0x1502be[_0x1480c0(0x202,'\x5a\x4f\x4a\x4a')+_0x1480c0(0x251,'\x23\x72\x37\x6c')]=_0x4e6991['\x72\x65\x63\x61\x6c\x6c\x65\x64'+_0x1480c0(0x2d8,'\x31\x4e\x6a\x53')],_0x2f3c6e(_0x3e5508,_0x5987d9[_0x1480c0(0x1fb,'\x21\x4e\x6e\x35')],_0x21cdaf[_0x1480c0(0x156,'\x44\x76\x37\x6f')],_0x1502be);const _0x58644e=_0x12fa66[_0x1480c0(0x1d9,'\x23\x72\x37\x6c')](_0x2a2a5b);if(_0x3f7c4c['\x4b\x69\x52\x6a\x4d'](_0x58644e,-(-0x1317*0x1+-0x92*0x9+0x183a)))_0x5f2404[_0x1480c0(0x2cd,'\x50\x62\x29\x48')](_0x58644e,0x2*-0xd5+-0x22a*0xb+0x1979);}else _0x3f7c4c[_0x1480c0(0x229,'\x79\x75\x5e\x43')](process.env.EVOLVE_RECALL_VERIFY_DEBUG,'\x31')&&console[_0x1480c0(0x2c4,'\x50\x29\x53\x43')](_0x3f7c4c['\x41\x4b\x4e\x51\x66'](_0x1480c0(0x244,'\x62\x56\x6e\x44')+_0x1480c0(0x20f,'\x74\x75\x77\x67')+_0x1480c0(0x262,'\x36\x5b\x57\x65')+_0x1480c0(0x1c8,'\x40\x59\x43\x5d')+_0x1480c0(0x1cc,'\x47\x6c\x49\x71')+'\x6c\x65\x64\x3a\x20',_0x47b1c1&&_0x47b1c1['\x6d\x65\x73\x73\x61\x67\x65']||_0x47b1c1));}if(_0x3f7c4c['\x6c\x67\x42\x59\x6f'](_0x59acf5,_0x3f7c4c[_0x1480c0(0x27d,'\x33\x34\x72\x69')]))_0x4a359e['\x6f\x6b']++;else{if(_0x3f7c4c[_0x1480c0(0x27a,'\x74\x75\x77\x67')](_0x59acf5,_0x3f7c4c[_0x1480c0(0x2df,'\x43\x6e\x6e\x6b')]))_0x4a359e['\x6d\x69\x73\x73\x69\x6e\x67']++;else{if(_0x3f7c4c[_0x1480c0(0x1a8,'\x66\x78\x52\x43')](_0x59acf5,_0x3f7c4c[_0x1480c0(0x2ad,'\x45\x51\x4a\x47')]))_0x4a359e[_0x1480c0(0x1ea,'\x47\x65\x4c\x41')]++;else _0x4a359e[_0x1480c0(0x1ce,'\x79\x74\x4d\x5a')]++;}}}function _0x4a472d(_0x405a72){const _0x5f4899=_0x37ca3c,_0x44a3fa={'\x75\x78\x43\x4e\x54':function(_0x1b3795,_0xd1dfd6){return _0x1b3795(_0xd1dfd6);},'\x52\x75\x52\x74\x65':function(_0x1c84a0,_0x3ddbe0){return _0x1c84a0(_0x3ddbe0);},'\x6e\x79\x52\x71\x74':function(_0x33d9ae){return _0x33d9ae();},'\x69\x57\x52\x50\x59':function(_0x2ab92e,_0x39ad62,_0x2699f1,_0xd518f4){return _0x2ab92e(_0x39ad62,_0x2699f1,_0xd518f4);},'\x51\x4b\x6d\x52\x6e':_0x5f4899(0x230,'\x6a\x47\x4b\x41')+'\x74\x69\x6f\x6e\x5f\x73\x6b\x69'+_0x5f4899(0x2dd,'\x4e\x5e\x72\x72'),'\x6e\x65\x46\x76\x4c':_0x5f4899(0x2c5,'\x44\x40\x32\x6f')+_0x5f4899(0x158,'\x6f\x48\x45\x51'),'\x4a\x48\x73\x6b\x77':_0x5f4899(0x2d6,'\x66\x64\x39\x77')+_0x5f4899(0x15a,'\x62\x6f\x31\x6f'),'\x4c\x75\x71\x43\x5a':function(_0x98ddaf,_0x3039f0){return _0x98ddaf<_0x3039f0;},'\x47\x57\x6d\x69\x42':function(_0x9bf48f,_0x1bed33){return _0x9bf48f>=_0x1bed33;},'\x59\x67\x49\x6c\x6a':_0x5f4899(0x2ab,'\x33\x34\x72\x69')+_0x5f4899(0x1b7,'\x38\x76\x35\x23'),'\x76\x6a\x42\x69\x63':function(_0x3e8680){return _0x3e8680();},'\x41\x6a\x66\x56\x49':function(_0x2cd46c){return _0x2cd46c();},'\x71\x46\x64\x50\x53':_0x5f4899(0x1e7,'\x62\x56\x6e\x44'),'\x56\x6a\x4e\x64\x54':function(_0x3cfbeb,_0x3818c7,_0x1a3175,_0x68a65f){return _0x3cfbeb(_0x3818c7,_0x1a3175,_0x68a65f);},'\x74\x58\x76\x44\x70':'\x71\x75\x65\x75\x65\x5f\x66\x75'+'\x6c\x6c'},_0x58022d={'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x405a72&&_0x405a72['\x61\x73\x73\x65\x74\x5f\x69\x64']?_0x44a3fa[_0x5f4899(0x2a6,'\x21\x4e\x6e\x35')](String,_0x405a72[_0x5f4899(0x25a,'\x33\x34\x72\x69')]):null,'\x74\x79\x70\x65':_0x405a72&&_0x405a72['\x74\x79\x70\x65']?_0x44a3fa[_0x5f4899(0x1c0,'\x6a\x47\x4b\x41')](String,_0x405a72[_0x5f4899(0x21f,'\x6f\x48\x45\x51')]):_0x5f4899(0x22a,'\x58\x6c\x34\x36'),'\x73\x69\x67\x6e\x61\x6c\x73':Array[_0x5f4899(0x213,'\x51\x68\x29\x65')](_0x405a72&&_0x405a72['\x73\x69\x67\x6e\x61\x6c\x73'])?_0x405a72[_0x5f4899(0x2e4,'\x43\x6e\x6e\x6b')]:[],'\x70\x75\x62\x6c\x69\x73\x68\x65\x64\x41\x74':_0x405a72&&Number[_0x5f4899(0x163,'\x40\x59\x43\x5d')](_0x405a72[_0x5f4899(0x198,'\x79\x75\x5e\x43')+'\x64\x41\x74'])?_0x405a72[_0x5f4899(0x294,'\x54\x56\x4b\x30')+_0x5f4899(0x177,'\x44\x40\x32\x6f')]:Date['\x6e\x6f\x77'](),'\x61\x74\x74\x65\x6d\x70\x74\x73':0x0,'\x6e\x65\x78\x74\x45\x6c\x69\x67\x69\x62\x6c\x65\x41\x74':0x0};if(!_0x44a3fa[_0x5f4899(0x27c,'\x51\x68\x29\x65')](_0x3db567)){_0x44a3fa['\x69\x57\x52\x50\x59'](_0x29bf0c,_0x58022d,_0x44a3fa[_0x5f4899(0x197,'\x40\x4c\x74\x75')],_0x44a3fa[_0x5f4899(0x181,'\x45\x51\x4a\x47')]);const _0x28bef7={};return _0x28bef7[_0x5f4899(0x26b,'\x23\x37\x51\x72')]=![],_0x28bef7['\x72\x65\x61\x73\x6f\x6e']=_0x44a3fa[_0x5f4899(0x2d1,'\x6f\x48\x45\x51')],_0x28bef7;}if(!_0x58022d[_0x5f4899(0x15a,'\x62\x6f\x31\x6f')]){_0x44a3fa[_0x5f4899(0x24c,'\x48\x30\x55\x4d')](_0x29bf0c,_0x58022d,_0x44a3fa[_0x5f4899(0x255,'\x4a\x78\x61\x4a')],_0x44a3fa[_0x5f4899(0x237,'\x66\x64\x39\x77')]);const _0x53582d={};return _0x53582d[_0x5f4899(0x1d4,'\x50\x62\x29\x48')]=![],_0x53582d[_0x5f4899(0x23c,'\x62\x7a\x73\x65')]='\x6d\x69\x73\x73\x69\x6e\x67\x5f'+_0x5f4899(0x1e2,'\x38\x76\x35\x23'),_0x53582d;}const _0x397d5a=_0x44a3fa[_0x5f4899(0x1d6,'\x7a\x57\x53\x21')](_0x3eb989);if(_0x44a3fa[_0x5f4899(0x1b0,'\x4a\x78\x61\x4a')](_0x397d5a,-0x1*0x15d3+0xa6*-0x32+0x3640)&&_0x44a3fa[_0x5f4899(0x1b4,'\x43\x6e\x6e\x6b')](Math[_0x5f4899(0x19b,'\x62\x6f\x31\x6f')](),_0x397d5a)){_0x29bf0c(_0x58022d,_0x44a3fa[_0x5f4899(0x282,'\x25\x73\x36\x38')],_0x44a3fa[_0x5f4899(0x1f4,'\x25\x73\x36\x38')]);const _0xbb4d1e={};return _0xbb4d1e[_0x5f4899(0x1d4,'\x50\x62\x29\x48')]=![],_0xbb4d1e[_0x5f4899(0x21b,'\x25\x73\x36\x38')]=_0x44a3fa[_0x5f4899(0x1e0,'\x23\x37\x51\x72')],_0xbb4d1e;}_0x58022d[_0x5f4899(0x218,'\x44\x40\x32\x6f')+_0x5f4899(0x261,'\x68\x61\x69\x4b')]=_0x58022d[_0x5f4899(0x1e5,'\x49\x5a\x5d\x70')+_0x5f4899(0x2e7,'\x43\x6e\x6e\x6b')]+_0x44a3fa[_0x5f4899(0x1bb,'\x7a\x57\x53\x21')](_0x39e56c);const _0x30e649=_0x44a3fa[_0x5f4899(0x223,'\x79\x74\x4d\x5a')](_0x3c376e);while(_0x44a3fa['\x47\x57\x6d\x69\x42'](_0x9c9df[_0x5f4899(0x1cd,'\x59\x5a\x26\x5e')],_0x30e649)){if(_0x44a3fa[_0x5f4899(0x24a,'\x50\x62\x29\x48')]!==_0x44a3fa[_0x5f4899(0x2a5,'\x49\x5a\x5d\x70')])TGdyjF['\x75\x78\x43\x4e\x54'](_0x20bdc1,_0x26ddc1);else{const _0x262a60=_0x9c9df[_0x5f4899(0x1c6,'\x79\x74\x4d\x5a')]();_0x44a3fa[_0x5f4899(0x1f1,'\x6a\x47\x4b\x41')](_0x29bf0c,_0x262a60,_0x5f4899(0x15f,'\x47\x65\x4c\x41')+_0x5f4899(0x2ec,'\x79\x74\x4d\x5a')+_0x5f4899(0x1bf,'\x48\x30\x55\x4d'),_0x44a3fa['\x74\x58\x76\x44\x70']);}}_0x9c9df[_0x5f4899(0x171,'\x79\x75\x5e\x43')](_0x58022d);const _0x4ff18e={};return _0x4ff18e[_0x5f4899(0x1de,'\x44\x40\x32\x6f')]=!![],_0x4ff18e;}async function _0x18dd41(_0x4aba18,_0x22b322){const _0x184e27=_0x37ca3c,_0xaeb1f4={'\x65\x4f\x63\x67\x69':function(_0x4e902f,_0x210764,_0x186fc4,_0x11cb43){return _0x4e902f(_0x210764,_0x186fc4,_0x11cb43);},'\x62\x57\x73\x5a\x56':_0x184e27(0x2aa,'\x23\x72\x37\x6c')+_0x184e27(0x2de,'\x48\x30\x55\x4d')+_0x184e27(0x1d0,'\x50\x62\x29\x48'),'\x74\x46\x76\x6b\x6a':_0x184e27(0x1bc,'\x6f\x48\x45\x51')+_0x184e27(0x2bd,'\x41\x76\x4c\x4d'),'\x6f\x43\x6a\x6e\x6b':_0x184e27(0x1dd,'\x62\x6f\x31\x6f')+_0x184e27(0x14f,'\x62\x7a\x73\x65')+_0x184e27(0x19c,'\x44\x76\x37\x6f'),'\x6c\x69\x54\x51\x5a':function(_0x7e2c60,_0xb46dae){return _0x7e2c60(_0xb46dae);},'\x49\x45\x7a\x58\x4e':function(_0xc30ed4,_0x340d45,_0x3d24ac){return _0xc30ed4(_0x340d45,_0x3d24ac);},'\x61\x6a\x65\x7a\x48':function(_0x1f4326){return _0x1f4326();},'\x77\x45\x7a\x75\x76':_0x184e27(0x2c9,'\x62\x56\x6e\x44')+_0x184e27(0x189,'\x79\x75\x5e\x43'),'\x75\x47\x64\x6c\x6a':function(_0x1eb9c6,_0x525461){return _0x1eb9c6-_0x525461;},'\x59\x6c\x6b\x52\x47':'\x72\x6f\x75\x6e\x64\x74\x72\x69'+_0x184e27(0x2ce,'\x56\x62\x40\x6e')+'\x67','\x74\x69\x76\x4c\x6f':function(_0x3dbe1f,_0x9ae07){return _0x3dbe1f!==_0x9ae07;},'\x71\x71\x78\x77\x7a':function(_0x1f7bae,_0x8bc40){return _0x1f7bae!==_0x8bc40;},'\x42\x76\x56\x69\x46':_0x184e27(0x1f5,'\x6a\x47\x4b\x41'),'\x59\x58\x4a\x6f\x4a':function(_0x386e27,_0x14e637){return _0x386e27(_0x14e637);},'\x69\x68\x4c\x70\x4f':_0x184e27(0x2ba,'\x50\x62\x29\x48')+'\x66\x74','\x51\x55\x46\x78\x42':_0x184e27(0x1fc,'\x41\x76\x4c\x4d')+'\x70\x5f\x6f\x6b'},_0x5a8cf7=Date[_0x184e27(0x17a,'\x58\x6c\x34\x36')]();if(!_0x4aba18){const _0x4776a9={};return _0x4776a9[_0x184e27(0x267,'\x25\x73\x36\x38')]=_0xaeb1f4['\x62\x57\x73\x5a\x56'],_0x4776a9[_0x184e27(0x1b5,'\x6a\x47\x4b\x41')]=_0xaeb1f4[_0x184e27(0x154,'\x21\x4e\x6e\x35')],_0x4776a9[_0x184e27(0x1c7,'\x4c\x66\x31\x6e')+'\x6d\x73']=0x0,_0x4776a9['\x72\x65\x63\x61\x6c\x6c\x65\x64'+_0x184e27(0x19a,'\x33\x34\x72\x69')]=null,_0x4776a9;}let _0x4aa072;try{_0x4aa072=await _0xaeb1f4[_0x184e27(0x17e,'\x38\x76\x35\x23')](_0x59f671,_0x4aba18,{'\x74\x69\x6d\x65\x6f\x75\x74\x4d\x73':_0xaeb1f4['\x61\x6a\x65\x7a\x48'](_0x271822),'\x62\x79\x70\x61\x73\x73\x43\x61\x63\x68\x65':!![]});}catch(_0x1be615){return{'\x6f\x75\x74\x63\x6f\x6d\x65':_0xaeb1f4[_0x184e27(0x240,'\x48\x30\x55\x4d')],'\x72\x65\x61\x73\x6f\x6e':_0xaeb1f4[_0x184e27(0x1a7,'\x62\x6f\x31\x6f')],'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':Date['\x6e\x6f\x77']()-_0x5a8cf7,'\x72\x65\x63\x61\x6c\x6c\x65\x64\x5f\x68\x61\x73\x68':null,'\x65\x72\x72\x6f\x72':_0x1be615&&_0x1be615[_0x184e27(0x277,'\x25\x73\x36\x38')]||String(_0x1be615)};}const _0x42e33a=_0xaeb1f4[_0x184e27(0x2e8,'\x45\x51\x4a\x47')](Date[_0x184e27(0x299,'\x45\x51\x4a\x47')](),_0x5a8cf7);if(!_0x4aa072||!_0x4aa072['\x6f\x6b']){const _0x5ed0a1={};return _0x5ed0a1[_0x184e27(0x250,'\x44\x76\x37\x6f')]=_0xaeb1f4[_0x184e27(0x242,'\x25\x73\x36\x38')],_0x5ed0a1[_0x184e27(0x180,'\x58\x6c\x34\x36')]=_0xaeb1f4[_0x184e27(0x20a,'\x79\x74\x4d\x5a')],_0x5ed0a1['\x6c\x61\x74\x65\x6e\x63\x79\x5f'+'\x6d\x73']=_0x42e33a,_0x5ed0a1[_0x184e27(0x2d4,'\x6f\x26\x77\x75')+_0x184e27(0x257,'\x31\x53\x4c\x44')]=null,_0x5ed0a1[_0x184e27(0x273,'\x4e\x5e\x72\x72')]=_0x4aa072&&_0x4aa072[_0x184e27(0x157,'\x66\x64\x39\x77')]||_0x184e27(0x256,'\x66\x64\x39\x77')+_0x184e27(0x165,'\x45\x51\x4a\x47'),_0x5ed0a1;}if(!_0x4aa072[_0x184e27(0x1a4,'\x48\x30\x55\x4d')]){const _0x4c5d29={};return _0x4c5d29[_0x184e27(0x149,'\x6a\x47\x4b\x41')]=_0xaeb1f4[_0x184e27(0x17c,'\x54\x56\x4b\x30')],_0x4c5d29[_0x184e27(0x266,'\x31\x53\x4c\x44')]=null,_0x4c5d29[_0x184e27(0x232,'\x68\x61\x69\x4b')+'\x6d\x73']=_0x42e33a,_0x4c5d29['\x72\x65\x63\x61\x6c\x6c\x65\x64'+_0x184e27(0x2a2,'\x76\x72\x58\x77')]=null,_0x4c5d29;}const _0x342cfa=_0x4aa072[_0x184e27(0x28c,'\x4e\x5e\x72\x72')];if(_0x342cfa['\x61\x73\x73\x65\x74\x5f\x69\x64']!==_0x4aba18){const _0x58d958={};return _0x58d958[_0x184e27(0x1ba,'\x43\x6e\x6e\x6b')]=_0xaeb1f4[_0x184e27(0x24b,'\x76\x72\x58\x77')],_0x58d958['\x72\x65\x61\x73\x6f\x6e']=_0x184e27(0x1a5,'\x51\x68\x29\x65')+_0x184e27(0x2bc,'\x33\x34\x72\x69'),_0x58d958['\x6c\x61\x74\x65\x6e\x63\x79\x5f'+'\x6d\x73']=_0x42e33a,_0x58d958[_0x184e27(0x2e3,'\x23\x72\x37\x6c')+_0x184e27(0x2d3,'\x38\x76\x35\x23')]=_0x342cfa[_0x184e27(0x1a3,'\x66\x64\x39\x77')]||null,_0x58d958;}let _0x171696;try{if(_0xaeb1f4[_0x184e27(0x185,'\x4e\x5e\x72\x72')](_0x184e27(0x1be,'\x43\x6e\x6e\x6b'),_0x184e27(0x281,'\x38\x76\x35\x23')))_0x171696=_0xaeb1f4[_0x184e27(0x25e,'\x79\x74\x4d\x5a')](_0x581e65,_0x342cfa);else{sYJtQS[_0x184e27(0x174,'\x7a\x57\x53\x21')](_0x588e54,_0xb0a954,sYJtQS[_0x184e27(0x153,'\x7a\x57\x53\x21')],sYJtQS[_0x184e27(0x26d,'\x36\x5b\x57\x65')]);const _0x3f09cc={};return _0x3f09cc[_0x184e27(0x2b6,'\x43\x41\x35\x21')]=![],_0x3f09cc[_0x184e27(0x211,'\x38\x76\x35\x23')]=sYJtQS[_0x184e27(0x23a,'\x31\x53\x4c\x44')],_0x3f09cc;}}catch(_0x3c124b){return _0xaeb1f4[_0x184e27(0x26c,'\x41\x76\x4c\x4d')](_0xaeb1f4[_0x184e27(0x1f3,'\x62\x7a\x73\x65')],_0xaeb1f4[_0x184e27(0x231,'\x6f\x48\x45\x51')])?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x184e27(0x20e,'\x48\x30\x55\x4d')+_0x184e27(0x2d9,'\x54\x56\x4b\x30')+_0x184e27(0x1f8,'\x6f\x48\x45\x51'),'\x72\x65\x61\x73\x6f\x6e':_0xaeb1f4[_0x184e27(0x227,'\x50\x62\x29\x48')],'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x17819a,'\x72\x65\x63\x61\x6c\x6c\x65\x64\x5f\x68\x61\x73\x68':null,'\x65\x72\x72\x6f\x72':_0x1f2325&&_0x4a7c74[_0x184e27(0x2b5,'\x6f\x26\x77\x75')]||_0xaeb1f4[_0x184e27(0x16e,'\x54\x56\x4b\x30')](_0x320850,_0x15ba6b)}:{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x184e27(0x2ae,'\x5a\x4f\x4a\x4a')+_0x184e27(0x28b,'\x43\x41\x35\x21')+_0x184e27(0x209,'\x43\x41\x35\x21'),'\x72\x65\x61\x73\x6f\x6e':_0x184e27(0x210,'\x4e\x5e\x72\x72')+_0x184e27(0x169,'\x6a\x47\x4b\x41')+_0x184e27(0x29b,'\x59\x54\x49\x47'),'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x42e33a,'\x72\x65\x63\x61\x6c\x6c\x65\x64\x5f\x68\x61\x73\x68':null,'\x65\x72\x72\x6f\x72':_0x3c124b&&_0x3c124b[_0x184e27(0x2af,'\x66\x78\x52\x43')]||_0xaeb1f4['\x59\x58\x4a\x6f\x4a'](String,_0x3c124b)};}if(_0xaeb1f4[_0x184e27(0x1cf,'\x4e\x5e\x72\x72')](_0x171696,_0x342cfa[_0x184e27(0x1f2,'\x50\x62\x29\x48')])){const _0x190e6d={};return _0x190e6d['\x6f\x75\x74\x63\x6f\x6d\x65']=_0x184e27(0x217,'\x43\x41\x35\x21')+'\x70\x5f\x6d\x69\x73\x6d\x61\x74'+'\x63\x68',_0x190e6d['\x72\x65\x61\x73\x6f\x6e']=_0xaeb1f4[_0x184e27(0x1ec,'\x31\x53\x4c\x44')],_0x190e6d['\x6c\x61\x74\x65\x6e\x63\x79\x5f'+'\x6d\x73']=_0x42e33a,_0x190e6d[_0x184e27(0x184,'\x68\x61\x69\x4b')+_0x184e27(0x164,'\x44\x76\x37\x6f')]=_0x171696,_0x190e6d;}const _0x387226={};return _0x387226[_0x184e27(0x20b,'\x44\x40\x32\x6f')]=_0xaeb1f4[_0x184e27(0x173,'\x62\x56\x6e\x44')],_0x387226[_0x184e27(0x203,'\x21\x4e\x6e\x35')]=null,_0x387226[_0x184e27(0x19e,'\x50\x29\x53\x43')+'\x6d\x73']=_0x42e33a,_0x387226[_0x184e27(0x278,'\x48\x30\x55\x4d')+'\x5f\x68\x61\x73\x68']=_0x171696,_0x387226;}async function _0x33c972(){const _0x32136d=_0x37ca3c,_0x3b1f59={'\x51\x7a\x52\x64\x59':function(_0x391658,_0xf7b66,_0x3bfb5e,_0x440eb9){return _0x391658(_0xf7b66,_0x3bfb5e,_0x440eb9);},'\x52\x44\x78\x73\x46':_0x32136d(0x219,'\x25\x73\x36\x38')+_0x32136d(0x216,'\x66\x78\x52\x43')+_0x32136d(0x14c,'\x79\x75\x5e\x43'),'\x78\x72\x42\x50\x43':_0x32136d(0x21c,'\x40\x59\x43\x5d')+'\x6c\x6c','\x74\x64\x79\x4c\x65':_0x32136d(0x270,'\x5d\x2a\x4b\x71')+_0x32136d(0x15c,'\x23\x72\x37\x6c'),'\x6c\x4f\x44\x4d\x74':function(_0x3df5a7,_0x1edd6f){return _0x3df5a7+_0x1edd6f;},'\x76\x4c\x75\x75\x71':function(_0x10dbd1,_0x2e6837){return _0x10dbd1===_0x2e6837;},'\x6e\x54\x48\x59\x61':function(_0x2980d3,_0x244cfb){return _0x2980d3<_0x244cfb;},'\x53\x5a\x77\x4e\x59':_0x32136d(0x23b,'\x23\x37\x51\x72'),'\x7a\x59\x74\x44\x52':function(_0x82ba51,_0x4c0781){return _0x82ba51<=_0x4c0781;},'\x4b\x5a\x4e\x42\x4a':function(_0x316ef7,_0xe29495){return _0x316ef7===_0xe29495;},'\x41\x46\x52\x44\x4d':function(_0x299d78,_0x60f89d){return _0x299d78!==_0x60f89d;},'\x41\x6a\x53\x79\x61':_0x32136d(0x194,'\x43\x6e\x6e\x6b'),'\x4d\x63\x6d\x4e\x4e':'\x6c\x4f\x79\x71\x51','\x73\x72\x64\x6f\x6f':function(_0x33979f,_0x23b031,_0x28a85e){return _0x33979f(_0x23b031,_0x28a85e);},'\x78\x71\x6a\x78\x43':_0x32136d(0x2a7,'\x23\x72\x37\x6c')+_0x32136d(0x1ed,'\x7a\x57\x53\x21')+'\x67','\x7a\x70\x46\x4e\x5a':function(_0x5d4565,_0x3316fe){return _0x5d4565===_0x3316fe;},'\x6e\x48\x52\x76\x42':_0x32136d(0x2c7,'\x21\x4e\x6e\x35')+_0x32136d(0x24f,'\x4e\x5e\x72\x72'),'\x63\x43\x4b\x6a\x48':function(_0x35b1ae,_0x11d099){return _0x35b1ae-_0x11d099;},'\x67\x68\x65\x54\x65':function(_0x1be871,_0x39e053){return _0x1be871!==_0x39e053;},'\x6f\x6f\x50\x68\x63':_0x32136d(0x1d8,'\x6a\x47\x4b\x41')},_0x373345={};_0x373345[_0x32136d(0x1b8,'\x76\x72\x58\x77')+'\x64']=0x0;if(_0x3b1f59[_0x32136d(0x1ee,'\x6c\x63\x6e\x4e')](_0x9c9df[_0x32136d(0x286,'\x41\x76\x4c\x4d')],-0x2bc+-0x1*-0x22f+0x3*0x2f))return _0x373345;const _0x33d6d3=Date[_0x32136d(0x17a,'\x58\x6c\x34\x36')](),_0x363cb0=_0x30eb61(),_0x51bead=[];for(let _0x3000c4=-0x1d4d+0x207b+0x197*-0x2;_0x3b1f59[_0x32136d(0x2be,'\x62\x7a\x73\x65')](_0x3000c4,_0x9c9df['\x6c\x65\x6e\x67\x74\x68']);_0x3000c4++){if(_0x3b1f59[_0x32136d(0x252,'\x50\x29\x53\x43')](_0x32136d(0x1ad,'\x25\x73\x36\x38'),_0x3b1f59[_0x32136d(0x297,'\x7a\x57\x53\x21')])){const _0x162359=_0x9c9df[_0x3000c4];_0x3b1f59[_0x32136d(0x2b1,'\x38\x76\x35\x23')](_0x162359['\x6e\x65\x78\x74\x45\x6c\x69\x67'+_0x32136d(0x296,'\x79\x74\x4d\x5a')],_0x33d6d3)&&!_0x322630[_0x32136d(0x1ff,'\x6f\x26\x77\x75')](_0x162359[_0x32136d(0x15b,'\x6f\x26\x77\x75')])&&_0x51bead[_0x32136d(0x2cc,'\x6a\x47\x4b\x41')](_0x162359);}else{const _0x3a08e4=_0x352fd4['\x73\x68\x69\x66\x74']();arhmMr[_0x32136d(0x167,'\x74\x75\x77\x67')](_0x314cd1,_0x3a08e4,arhmMr[_0x32136d(0x2a9,'\x31\x4e\x6a\x53')],arhmMr[_0x32136d(0x234,'\x25\x73\x36\x38')]);}}const _0x2082e0={};_0x2082e0[_0x32136d(0x2d2,'\x25\x73\x36\x38')+'\x64']=0x0;if(_0x3b1f59['\x4b\x5a\x4e\x42\x4a'](_0x51bead[_0x32136d(0x190,'\x6d\x2a\x24\x4a')],-0x1d77+0x2ae+-0x1*-0x1ac9))return _0x2082e0;let _0xc945b2=-0x752+-0x1f*-0x12f+-0x1d5f;for(const _0x3a43b5 of _0x51bead){_0x322630[_0x32136d(0x2bf,'\x40\x59\x43\x5d')](_0x3a43b5[_0x32136d(0x17d,'\x47\x6c\x49\x71')]);try{if(_0x3b1f59[_0x32136d(0x1a6,'\x40\x59\x43\x5d')](_0x3b1f59[_0x32136d(0x196,'\x40\x59\x43\x5d')],_0x3b1f59[_0x32136d(0x27e,'\x54\x56\x4b\x30')])){_0x3a43b5[_0x32136d(0x29e,'\x56\x62\x40\x6e')]+=0x7c8+-0x17e*-0x2+-0xac3;const _0x266421=await _0x3b1f59[_0x32136d(0x238,'\x6f\x26\x77\x75')](_0x18dd41,_0x3a43b5[_0x32136d(0x1b1,'\x45\x51\x4a\x47')],_0x3a43b5[_0x32136d(0x199,'\x6f\x26\x77\x75')]),_0x596c49=_0x3b1f59[_0x32136d(0x268,'\x58\x6c\x34\x36')](_0x266421[_0x32136d(0x1b6,'\x68\x61\x69\x4b')],_0x3b1f59[_0x32136d(0x15e,'\x40\x59\x43\x5d')])||_0x3b1f59[_0x32136d(0x271,'\x4a\x78\x61\x4a')](_0x266421[_0x32136d(0x16b,'\x62\x56\x6e\x44')],_0x3b1f59[_0x32136d(0x290,'\x31\x53\x4c\x44')])&&_0x3b1f59[_0x32136d(0x18b,'\x6a\x47\x4b\x41')](_0x266421[_0x32136d(0x215,'\x23\x72\x37\x6c')],_0x3b1f59['\x6e\x48\x52\x76\x42']),_0x18de64=_0x3b1f59[_0x32136d(0x1ef,'\x5a\x4f\x4a\x4a')](_0x3a43b5[_0x32136d(0x295,'\x54\x56\x4b\x30')],_0x363cb0);if(_0x596c49&&_0x18de64){const _0x2126f2=Math[_0x32136d(0x2b2,'\x43\x6e\x6e\x6b')](_0x3b1f59['\x63\x43\x4b\x6a\x48'](_0x3a43b5[_0x32136d(0x186,'\x62\x7a\x73\x65')],-0xb3c+-0x5*0x142+0x7*0x281),_0x108d51[_0x32136d(0x23e,'\x36\x5b\x57\x65')]-(0xe0e+0x14e3+0x8*-0x45e));_0x3a43b5[_0x32136d(0x1e6,'\x59\x54\x49\x47')+_0x32136d(0x183,'\x6a\x47\x4b\x41')]=_0x3b1f59[_0x32136d(0x182,'\x44\x40\x32\x6f')](Date[_0x32136d(0x22f,'\x4a\x78\x61\x4a')](),_0x108d51[_0x2126f2]);}else{_0x29bf0c(_0x3a43b5,_0x266421[_0x32136d(0x1e4,'\x62\x7a\x73\x65')],_0x266421[_0x32136d(0x211,'\x38\x76\x35\x23')],{'\x61\x74\x74\x65\x6d\x70\x74\x73':_0x3a43b5[_0x32136d(0x1f0,'\x47\x6c\x49\x71')],'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x266421[_0x32136d(0x1c1,'\x49\x5a\x5d\x70')+'\x6d\x73'],'\x72\x65\x63\x61\x6c\x6c\x65\x64\x5f\x68\x61\x73\x68':_0x266421[_0x32136d(0x241,'\x38\x76\x35\x23')+'\x5f\x68\x61\x73\x68']});const _0x454d0f=_0x9c9df[_0x32136d(0x191,'\x66\x78\x52\x43')](_0x3a43b5);if(_0x3b1f59[_0x32136d(0x233,'\x54\x56\x4b\x30')](_0x454d0f,-(0x639*-0x5+0xc6b*0x3+-0x623)))_0x9c9df[_0x32136d(0x246,'\x59\x54\x49\x47')](_0x454d0f,0x18b*-0x5+-0x1c9*0x9+0x17c9*0x1);}_0xc945b2+=0x1e3b+-0x2*0x10b1+0x8*0x65;}else{arhmMr[_0x32136d(0x248,'\x25\x73\x36\x38')](_0x31f7a3,_0x33502c,arhmMr['\x52\x44\x78\x73\x46'],arhmMr[_0x32136d(0x14d,'\x62\x56\x6e\x44')]);const _0x138093={};return _0x138093[_0x32136d(0x2e6,'\x58\x6c\x34\x36')]=![],_0x138093[_0x32136d(0x2d5,'\x23\x37\x51\x72')]=arhmMr[_0x32136d(0x1eb,'\x31\x53\x4c\x44')],_0x138093;}}finally{_0x32136d(0x1db,'\x36\x5b\x57\x65')!==_0x3b1f59[_0x32136d(0x1da,'\x56\x62\x40\x6e')]?_0x331e43.env.EVOLVE_RECALL_VERIFY_DEBUG==='\x31'&&_0x193ec0[_0x32136d(0x1c4,'\x6c\x63\x6e\x4e')](arhmMr[_0x32136d(0x18e,'\x47\x6c\x49\x71')](_0x32136d(0x1b9,'\x5d\x2a\x4b\x71')+'\x65\x72\x69\x66\x79\x5d\x20\x77'+_0x32136d(0x25c,'\x76\x72\x58\x77')+_0x32136d(0x2cb,'\x6f\x26\x77\x75')+_0x32136d(0x1ca,'\x31\x4e\x6a\x53')+'\x6c\x65\x64\x3a\x20',_0x1b5ae5&&_0xcf2479['\x6d\x65\x73\x73\x61\x67\x65']||_0x558ba7)):_0x322630[_0x32136d(0x187,'\x76\x72\x58\x77')](_0x3a43b5[_0x32136d(0x1b1,'\x45\x51\x4a\x47')]);}}const _0x4ed630={};return _0x4ed630[_0x32136d(0x20d,'\x23\x37\x51\x72')+'\x64']=_0xc945b2,_0x4ed630;}function _0x2463(_0x2d5ce6,_0x4539b6){_0x2d5ce6=_0x2d5ce6-(-0x1*0x29d+0xcff+-0x919);const _0x5adadf=_0x2306();let _0x24559c=_0x5adadf[_0x2d5ce6];if(_0x2463['\x6c\x56\x59\x4e\x76\x68']===undefined){var _0x5c4282=function(_0x379d08){const _0x5a324b='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x3f3223='',_0x550afc='',_0x324783=_0x3f3223+_0x5c4282,_0x886770=(''+function(){return 0x1e*-0x4f+-0x15*-0x27+0x60f;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x205f*0x1+-0x11*-0x7d+-0x28ab);for(let _0x10e806=-0x2*-0xe1b+0x1*-0x2294+-0x1*-0x65e,_0xb4aa36,_0x54ab87,_0x5d26c2=-0xb50+0x2142+0x2*-0xaf9;_0x54ab87=_0x379d08['\x63\x68\x61\x72\x41\x74'](_0x5d26c2++);~_0x54ab87&&(_0xb4aa36=_0x10e806%(-0x1a05+0x1715+0x2f4)?_0xb4aa36*(0x16a8+0x3*0xa5b+-0x3579)+_0x54ab87:_0x54ab87,_0x10e806++%(0x1*-0x166f+-0x8f0+0x1f63*0x1))?_0x3f3223+=_0x886770||_0x324783['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5d26c2+(0x36*-0x21+0x106e+-0x4b7*0x2))-(0x34*0x5+-0xc89*0x2+0x1818)!==-0x17c9+0x3e2+0x13e7*0x1?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xc29*-0x1+-0x2e7+0x1a7*-0x5&_0xb4aa36>>(-(-0x7*0x476+0x2*0x1b6+0x1bd0)*_0x10e806&0x23a1+-0x271*0x8+0x1013*-0x1)):_0x10e806:0x191*-0x9+0x1023+-0x6*0x57){_0x54ab87=_0x5a324b['\x69\x6e\x64\x65\x78\x4f\x66'](_0x54ab87);}for(let _0x189a14=-0x2ba*-0x2+0x311+-0x3*0x2d7,_0x138cd7=_0x3f3223['\x6c\x65\x6e\x67\x74\x68'];_0x189a14<_0x138cd7;_0x189a14++){_0x550afc+='\x25'+('\x30\x30'+_0x3f3223['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x189a14)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x17f+0x2b*0x13+-0x4a0))['\x73\x6c\x69\x63\x65'](-(-0x1367+-0x3*0x415+-0x2*-0xfd4));}return decodeURIComponent(_0x550afc);};const _0x4f13e3=function(_0x282c12,_0x2e8975){let _0xee1f01=[],_0x4cc7d2=0xfa+0x1*0x2cf+-0x13*0x33,_0x538351,_0x4d39a3='';_0x282c12=_0x5c4282(_0x282c12);let _0x34e2ef;for(_0x34e2ef=0x1*-0x10a9+-0x1c77+0x2d20;_0x34e2ef<-0x183*0x5+-0x98b+0x121a;_0x34e2ef++){_0xee1f01[_0x34e2ef]=_0x34e2ef;}for(_0x34e2ef=0x1f96+0x1a99+-0x3a2f;_0x34e2ef<-0x10be*-0x2+0x1*-0x1e07+-0x11*0x25;_0x34e2ef++){_0x4cc7d2=(_0x4cc7d2+_0xee1f01[_0x34e2ef]+_0x2e8975['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x34e2ef%_0x2e8975['\x6c\x65\x6e\x67\x74\x68']))%(0x481*0x1+0x152*0x1+-0x4d3),_0x538351=_0xee1f01[_0x34e2ef],_0xee1f01[_0x34e2ef]=_0xee1f01[_0x4cc7d2],_0xee1f01[_0x4cc7d2]=_0x538351;}_0x34e2ef=0x83b*0x1+-0x1103+0x8c8,_0x4cc7d2=0x14a6+0xb*-0x6d+-0xff7;for(let _0x22443e=0x7*-0x1f+0x3*-0xa4d+0x1fc0;_0x22443e<_0x282c12['\x6c\x65\x6e\x67\x74\x68'];_0x22443e++){_0x34e2ef=(_0x34e2ef+(-0xd29*-0x1+-0x764+0x12*-0x52))%(0x19*-0x139+-0x1be+0x214f),_0x4cc7d2=(_0x4cc7d2+_0xee1f01[_0x34e2ef])%(-0x3e*0x38+0x1ff*0xb+-0x765),_0x538351=_0xee1f01[_0x34e2ef],_0xee1f01[_0x34e2ef]=_0xee1f01[_0x4cc7d2],_0xee1f01[_0x4cc7d2]=_0x538351,_0x4d39a3+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x282c12['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x22443e)^_0xee1f01[(_0xee1f01[_0x34e2ef]+_0xee1f01[_0x4cc7d2])%(-0x37+0xa51+-0x48d*0x2)]);}return _0x4d39a3;};_0x2463['\x6a\x73\x51\x66\x75\x50']=_0x4f13e3,_0x2463['\x74\x66\x63\x77\x44\x4f']={},_0x2463['\x6c\x56\x59\x4e\x76\x68']=!![];}const _0x3341c1=_0x5adadf[0x5*0x54f+-0x163*0x19+0x820],_0x1c4cf9=_0x2d5ce6+_0x3341c1,_0x290cb7=_0x2463['\x74\x66\x63\x77\x44\x4f'][_0x1c4cf9];if(!_0x290cb7){if(_0x2463['\x6e\x68\x4e\x69\x68\x59']===undefined){const _0xfc3ef3=function(_0x2c6653){this['\x7a\x76\x53\x4c\x52\x65']=_0x2c6653,this['\x72\x6a\x43\x47\x58\x53']=[0x3*-0x916+0x174+0x19cf*0x1,0x3f0*0x2+-0x1336+0xb56,-0x1*0x133f+0xc2+0x127d],this['\x66\x56\x57\x61\x4b\x41']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4d\x67\x42\x69\x76\x74']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x66\x42\x59\x77\x46\x79']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0xfc3ef3['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x77\x6a\x4d\x78\x66\x48']=function(){const _0x44edeb=new RegExp(this['\x4d\x67\x42\x69\x76\x74']+this['\x66\x42\x59\x77\x46\x79']),_0x1cd46e=_0x44edeb['\x74\x65\x73\x74'](this['\x66\x56\x57\x61\x4b\x41']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x72\x6a\x43\x47\x58\x53'][-0x1*0x270a+-0xbb*0x1f+0x3db0]:--this['\x72\x6a\x43\x47\x58\x53'][0xca4*-0x1+-0x5f+-0xd03*-0x1];return this['\x4c\x74\x41\x69\x4d\x75'](_0x1cd46e);},_0xfc3ef3['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4c\x74\x41\x69\x4d\x75']=function(_0x25e02d){if(!Boolean(~_0x25e02d))return _0x25e02d;return this['\x75\x77\x58\x62\x79\x52'](this['\x7a\x76\x53\x4c\x52\x65']);},_0xfc3ef3['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x75\x77\x58\x62\x79\x52']=function(_0x286320){for(let _0x454b9c=0x192c+-0x2*0xbc3+-0xd3*0x2,_0x28496a=this['\x72\x6a\x43\x47\x58\x53']['\x6c\x65\x6e\x67\x74\x68'];_0x454b9c<_0x28496a;_0x454b9c++){this['\x72\x6a\x43\x47\x58\x53']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x28496a=this['\x72\x6a\x43\x47\x58\x53']['\x6c\x65\x6e\x67\x74\x68'];}return _0x286320(this['\x72\x6a\x43\x47\x58\x53'][-0x10d+-0x1fdc+0x151*0x19]);},(''+function(){return 0x2*-0x127f+-0x52*-0x77+-0x120;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x1e46+-0x3*-0x983+0x2*0xdf)&&new _0xfc3ef3(_0x2463)['\x77\x6a\x4d\x78\x66\x48'](),_0x2463['\x6e\x68\x4e\x69\x68\x59']=!![];}_0x24559c=_0x2463['\x6a\x73\x51\x66\x75\x50'](_0x24559c,_0x4539b6),_0x2463['\x74\x66\x63\x77\x44\x4f'][_0x1c4cf9]=_0x24559c;}else _0x24559c=_0x290cb7;return _0x24559c;}function _0x1c1bc4(){const _0x14f682=_0x37ca3c,_0x33f8c2={'\x49\x61\x64\x67\x67':_0x14f682(0x29d,'\x50\x62\x29\x48')+'\x70\x5f\x6d\x69\x73\x73\x69\x6e'+'\x67','\x76\x45\x63\x6a\x45':'\x77\x72\x6f\x6e\x67\x5f\x61\x73'+_0x14f682(0x2a4,'\x66\x64\x39\x77'),'\x46\x47\x77\x71\x49':function(_0x3d0d18,_0x5eea37){return _0x3d0d18!==_0x5eea37;},'\x73\x57\x75\x75\x74':_0x14f682(0x279,'\x31\x53\x4c\x44'),'\x4f\x72\x52\x42\x74':function(_0x53921e,_0xd72b6e){return _0x53921e+_0xd72b6e;},'\x67\x6e\x47\x41\x62':_0x14f682(0x188,'\x48\x30\x55\x4d')+_0x14f682(0x208,'\x68\x61\x69\x4b')+_0x14f682(0x26a,'\x48\x30\x55\x4d')+_0x14f682(0x2c6,'\x76\x72\x58\x77')+_0x14f682(0x24d,'\x4a\x78\x61\x4a'),'\x76\x59\x4d\x68\x57':function(_0x30cfb0){return _0x30cfb0();},'\x77\x5a\x70\x77\x76':function(_0x5c3626){return _0x5c3626();},'\x78\x4f\x77\x42\x78':function(_0x3543fa,_0x517b8f,_0x33ac4c){return _0x3543fa(_0x517b8f,_0x33ac4c);},'\x61\x6b\x46\x47\x76':function(_0x3f1d25,_0x182604){return _0x3f1d25===_0x182604;}};if(_0x26a3e5)return;_0x26a3e5=!![];const _0x24ca96=_0x33f8c2[_0x14f682(0x16c,'\x6d\x2a\x24\x4a')](_0xe1c911);_0xd97f16=_0x33f8c2[_0x14f682(0x14a,'\x6d\x2a\x24\x4a')](setInterval,function(){const _0x2ee34d=_0x14f682;_0x33f8c2['\x76\x59\x4d\x68\x57'](_0x33c972)[_0x2ee34d(0x2c2,'\x31\x53\x4c\x44')](function(_0x201d55){const _0x12b120=_0x2ee34d,_0x2621c9={};_0x2621c9[_0x12b120(0x253,'\x66\x78\x52\x43')]=_0x33f8c2[_0x12b120(0x272,'\x66\x78\x52\x43')],_0x2621c9[_0x12b120(0x200,'\x74\x75\x77\x67')]=_0x33f8c2[_0x12b120(0x23d,'\x21\x4e\x6e\x35')];const _0x1a3740=_0x2621c9;if(_0x33f8c2[_0x12b120(0x1af,'\x4a\x78\x61\x4a')](_0x33f8c2[_0x12b120(0x25f,'\x43\x6e\x6e\x6b')],_0x33f8c2[_0x12b120(0x18a,'\x79\x75\x5e\x43')])){const _0xc32ce6={};return _0xc32ce6[_0x12b120(0x269,'\x50\x62\x29\x48')]=sxVrhc[_0x12b120(0x2a1,'\x40\x59\x43\x5d')],_0xc32ce6[_0x12b120(0x287,'\x43\x6e\x6e\x6b')]=sxVrhc[_0x12b120(0x2c0,'\x44\x40\x32\x6f')],_0xc32ce6[_0x12b120(0x226,'\x79\x75\x5e\x43')+'\x6d\x73']=_0x176a00,_0xc32ce6[_0x12b120(0x1a0,'\x33\x34\x72\x69')+_0x12b120(0x14e,'\x79\x74\x4d\x5a')]=_0x3fbfe6['\x61\x73\x73\x65\x74\x5f\x69\x64']||null,_0xc32ce6;}else process.env.EVOLVE_RECALL_VERIFY_DEBUG==='\x31'&&console[_0x12b120(0x2a8,'\x79\x74\x4d\x5a')](_0x33f8c2['\x4f\x72\x52\x42\x74'](_0x33f8c2[_0x12b120(0x150,'\x43\x41\x35\x21')],_0x201d55&&_0x201d55[_0x12b120(0x2c8,'\x51\x68\x29\x65')]||_0x201d55));});},_0x24ca96),_0xd97f16&&_0x33f8c2[_0x14f682(0x155,'\x66\x64\x39\x77')](typeof _0xd97f16[_0x14f682(0x206,'\x62\x7a\x73\x65')],_0x14f682(0x18d,'\x76\x72\x58\x77'))&&_0xd97f16[_0x14f682(0x258,'\x5a\x4f\x4a\x4a')]();}function _0x12ab1f(){const _0x39ba57=_0x37ca3c,_0x4a5bce={'\x75\x6a\x79\x75\x64':function(_0x22c9b6,_0x5e1e88){return _0x22c9b6(_0x5e1e88);},'\x7a\x73\x75\x48\x72':function(_0x2418e2,_0xa02cb9){return _0x2418e2===_0xa02cb9;},'\x6f\x69\x61\x6b\x70':_0x39ba57(0x178,'\x23\x37\x51\x72'),'\x6a\x6f\x65\x4c\x4e':_0x39ba57(0x1b2,'\x54\x56\x4b\x30'),'\x78\x64\x70\x64\x7a':function(_0x2ef667,_0xf98166){return _0x2ef667(_0xf98166);}};_0xd97f16&&(_0x4a5bce[_0x39ba57(0x288,'\x74\x75\x77\x67')](_0x4a5bce[_0x39ba57(0x14b,'\x33\x34\x72\x69')],_0x4a5bce['\x6a\x6f\x65\x4c\x4e'])?(_0x4a5bce[_0x39ba57(0x29a,'\x74\x75\x77\x67')](_0x1cd46e,_0x25e02d),_0x286320=null):(_0x4a5bce[_0x39ba57(0x1a9,'\x23\x37\x51\x72')](clearInterval,_0xd97f16),_0xd97f16=null)),_0x26a3e5=![];}function _0x2b5d6c(){const _0x557a07=_0x37ca3c;return Object[_0x557a07(0x2ca,'\x38\x76\x35\x23')]({},_0x4a359e);}function _0x551d93(){const _0x5624b3=_0x37ca3c,_0x1cce0f={'\x48\x67\x47\x66\x41':function(_0x1262e0){return _0x1262e0();}};_0x1cce0f[_0x5624b3(0x27f,'\x79\x75\x5e\x43')](_0x12ab1f),_0x9c9df=[],_0x322630[_0x5624b3(0x1aa,'\x4a\x78\x61\x4a')]();const _0x1d9027={};_0x1d9027['\x6f\x6b']=0x0,_0x1d9027['\x6d\x69\x73\x73\x69\x6e\x67']=0x0,_0x1d9027['\x6d\x69\x73\x6d\x61\x74\x63\x68']=0x0,_0x1d9027['\x73\x6b\x69\x70\x70\x65\x64']=0x0,_0x4a359e=_0x1d9027;}function _0x101f0e(){const _0x1f6542=_0x37ca3c;return _0x9c9df[_0x1f6542(0x1fd,'\x5d\x2a\x4b\x71')];}const _0x419d55={};_0x419d55[_0x37ca3c(0x17b,'\x62\x7a\x73\x65')+_0x37ca3c(0x222,'\x43\x41\x35\x21')+_0x37ca3c(0x2ac,'\x44\x40\x32\x6f')]=_0x4a472d,_0x419d55[_0x37ca3c(0x151,'\x33\x34\x72\x69')+'\x63\x65']=_0x18dd41,_0x419d55[_0x37ca3c(0x264,'\x44\x40\x32\x6f')+_0x37ca3c(0x162,'\x31\x53\x4c\x44')]=_0x1c1bc4,_0x419d55[_0x37ca3c(0x284,'\x23\x37\x51\x72')+'\x65\x72']=_0x12ab1f,_0x419d55[_0x37ca3c(0x1d1,'\x59\x54\x49\x47')+_0x37ca3c(0x263,'\x50\x62\x29\x48')]=_0x2b5d6c,_0x419d55[_0x37ca3c(0x20c,'\x48\x30\x55\x4d')+_0x37ca3c(0x195,'\x38\x76\x35\x23')]=_0x33c972,_0x419d55[_0x37ca3c(0x1d3,'\x4e\x5e\x72\x72')+_0x37ca3c(0x179,'\x50\x29\x53\x43')]=_0x551d93,_0x419d55[_0x37ca3c(0x249,'\x4c\x66\x31\x6e')+_0x37ca3c(0x243,'\x43\x41\x35\x21')+'\x6f\x72\x54\x65\x73\x74\x69\x6e'+'\x67']=_0x101f0e,module[_0x37ca3c(0x2ea,'\x41\x76\x4c\x4d')]=_0x419d55;
1
+ 'use strict';
2
+
3
+ // ---------------------------------------------------------------------------
4
+ // recallVerifier — confirm that assets we publish to Hub can actually be
5
+ // recalled later. After a successful publish (capsule bundle, anti-pattern,
6
+ // or skill bundle), enqueue the asset_id; a background worker uses Hub's
7
+ // Phase 2 deterministic lookup to verify the asset round-trips, with
8
+ // exponential backoff to absorb Hub indexing latency. Outcomes land as
9
+ // MemoryGraphEvents of kind 'recall_verify' so a report script can compute
10
+ // per-asset-type success rates and gate releases.
11
+ //
12
+ // Scope: only assets with a content-hash asset_id are verified. MemoryGraph
13
+ // events themselves go through a different transport (POST /a2a/memory/event,
14
+ // not the asset store) and produce no asset_id, so they cannot be subject to
15
+ // roundtrip verification. This naturally terminates any recursion of
16
+ // recall_verify events that would otherwise mirror to Hub.
17
+ //
18
+ // Graceful degradation: if fetchAssetById fails for any reason (network,
19
+ // auth, schema), the worker emits 'verification_skipped' rather than
20
+ // throwing. Verification must NEVER block the daemon cycle.
21
+ // ---------------------------------------------------------------------------
22
+
23
+ const { envInt, envFloat } = require('../config');
24
+ const { fetchAssetById } = require('./hubSearch');
25
+ const { computeAssetId } = require('./contentHash');
26
+ const { writeMemoryGraphEvent } = require('./memoryGraph');
27
+
28
+ // --- Module state (per-process lifetime, bounded) ---
29
+
30
+ let _queue = [];
31
+ const _inflightAssetIds = new Set();
32
+ let _workerStarted = false;
33
+ let _workerTimer = null;
34
+ let _lastReport = { ok: 0, missing: 0, mismatch: 0, skipped: 0 };
35
+
36
+ // Backoff schedule between attempts. attempt 1 fires INITIAL_WAIT_MS after
37
+ // publish; if it returns missing, retries fire after these intervals.
38
+ const BACKOFF_MS = [5000, 15000, 60000];
39
+
40
+ // --- Env getters (read at call time, never module-load) ---
41
+
42
+ function _isFeatureEnabled() {
43
+ // Default OFF: Hub /a2a/fetch contract is strict (unknown asset_id → empty
44
+ // results, 0 cost) so client-side round-trip verification is redundant as a
45
+ // default safety net. Operators who want end-to-end SLA observability can
46
+ // opt in with EVOLVE_RECALL_VERIFY=1; events still emit locally and (once
47
+ // Hub-side schema lands, see EvoMap/evomap-hub#670) optionally to Hub.
48
+ return String(process.env.EVOLVE_RECALL_VERIFY || '0') === '1';
49
+ }
50
+
51
+ function _getSampleRate() {
52
+ // Clamp to [0, 1] to match the startup banner in index.js. A negative
53
+ // env value would otherwise make the gate `Math.random() >= rate`
54
+ // always true → every verify silently skipped, while the banner
55
+ // (which does its own range clamp) still shows 1.0. Operators need
56
+ // the implementation and the banner to agree. (Bugbot review on PR #53.)
57
+ const raw = envFloat('EVOLVE_RECALL_VERIFY_SAMPLE_RATE', 1.0);
58
+ if (!Number.isFinite(raw) || raw < 0 || raw > 1) return 1.0;
59
+ return raw;
60
+ }
61
+
62
+ function _getQueueMax() {
63
+ return envInt('EVOLVE_RECALL_VERIFY_QUEUE_MAX', 256);
64
+ }
65
+
66
+ function _getPollMs() {
67
+ return envInt('EVOLVE_RECALL_VERIFY_POLL_MS', 5000);
68
+ }
69
+
70
+ function _getInitialWaitMs() {
71
+ return envInt('EVOLVE_RECALL_VERIFY_INITIAL_WAIT_MS', 5000);
72
+ }
73
+
74
+ function _getMaxAttempts() {
75
+ return envInt('EVOLVE_RECALL_VERIFY_ATTEMPTS', 3);
76
+ }
77
+
78
+ function _getFetchTimeoutMs() {
79
+ return envInt('EVOLVE_RECALL_VERIFY_FETCH_TIMEOUT_MS', 8000);
80
+ }
81
+
82
+ // --- Event emission ---
83
+
84
+ function _emitEvent(entry, outcome, reason, extras) {
85
+ const ts = Date.now();
86
+ const verification = {
87
+ outcome,
88
+ reason: reason || null,
89
+ attempts: extras && Number.isFinite(extras.attempts) ? extras.attempts : (entry.attempts || 0),
90
+ latency_ms: extras && Number.isFinite(extras.latency_ms) ? extras.latency_ms : 0,
91
+ age_at_verify_ms: entry.publishedAt ? (ts - entry.publishedAt) : 0,
92
+ recalled_hash: extras && extras.recalled_hash ? extras.recalled_hash : null,
93
+ };
94
+ const ev = {
95
+ type: 'MemoryGraphEvent',
96
+ kind: 'recall_verify',
97
+ id: 'mge_' + ts + '_' + Math.random().toString(36).slice(2, 10),
98
+ ts,
99
+ asset: {
100
+ type: entry.type || 'Unknown',
101
+ id: entry.asset_id || null,
102
+ },
103
+ verification,
104
+ signal: { signals: Array.isArray(entry.signals) ? entry.signals.slice(0, 8) : [] },
105
+ };
106
+ try {
107
+ writeMemoryGraphEvent(ev);
108
+ } catch (writeErr) {
109
+ if (process.env.EVOLVE_RECALL_VERIFY_DEBUG === '1') {
110
+ console.warn('[RecallVerify] writeMemoryGraphEvent failed: ' + (writeErr && writeErr.message || writeErr));
111
+ }
112
+ }
113
+ if (outcome === 'roundtrip_ok') _lastReport.ok++;
114
+ else if (outcome === 'roundtrip_missing') _lastReport.missing++;
115
+ else if (outcome === 'roundtrip_mismatch') _lastReport.mismatch++;
116
+ else _lastReport.skipped++;
117
+ }
118
+
119
+ // --- Public API ---
120
+
121
+ function enqueuePublishedAsset(input) {
122
+ const entry = {
123
+ asset_id: input && input.asset_id ? String(input.asset_id) : null,
124
+ type: input && input.type ? String(input.type) : 'Unknown',
125
+ signals: Array.isArray(input && input.signals) ? input.signals : [],
126
+ publishedAt: input && Number.isFinite(input.publishedAt) ? input.publishedAt : Date.now(),
127
+ attempts: 0,
128
+ nextEligibleAt: 0,
129
+ };
130
+
131
+ if (!_isFeatureEnabled()) {
132
+ _emitEvent(entry, 'verification_skipped', 'feature_disabled');
133
+ return { enqueued: false, reason: 'feature_disabled' };
134
+ }
135
+
136
+ if (!entry.asset_id) {
137
+ _emitEvent(entry, 'verification_skipped', 'missing_asset_id');
138
+ return { enqueued: false, reason: 'missing_asset_id' };
139
+ }
140
+
141
+ const sampleRate = _getSampleRate();
142
+ if (sampleRate < 1.0 && Math.random() >= sampleRate) {
143
+ _emitEvent(entry, 'verification_skipped', 'sample_rate');
144
+ return { enqueued: false, reason: 'sample_rate' };
145
+ }
146
+
147
+ entry.nextEligibleAt = entry.publishedAt + _getInitialWaitMs();
148
+
149
+ const queueMax = _getQueueMax();
150
+ while (_queue.length >= queueMax) {
151
+ const dropped = _queue.shift();
152
+ _emitEvent(dropped, 'verification_skipped', 'queue_full');
153
+ }
154
+
155
+ _queue.push(entry);
156
+ return { enqueued: true };
157
+ }
158
+
159
+ // Single-asset verification. Returns one of the four outcomes.
160
+ // outcome ∈ { roundtrip_ok | roundtrip_missing | roundtrip_mismatch | verification_skipped }
161
+ async function verifyOnce(assetId, assetType) {
162
+ const t0 = Date.now();
163
+ if (!assetId) {
164
+ return { outcome: 'verification_skipped', reason: 'missing_asset_id', latency_ms: 0, recalled_hash: null };
165
+ }
166
+ let result;
167
+ try {
168
+ result = await fetchAssetById(assetId, { timeoutMs: _getFetchTimeoutMs(), bypassCache: true });
169
+ } catch (err) {
170
+ return {
171
+ outcome: 'verification_skipped',
172
+ reason: 'hub_unreachable',
173
+ latency_ms: Date.now() - t0,
174
+ recalled_hash: null,
175
+ error: err && err.message || String(err),
176
+ };
177
+ }
178
+
179
+ const latency = Date.now() - t0;
180
+
181
+ if (!result || !result.ok) {
182
+ return {
183
+ outcome: 'verification_skipped',
184
+ reason: 'hub_unreachable',
185
+ latency_ms: latency,
186
+ recalled_hash: null,
187
+ error: (result && result.error) || 'fetch_not_ok',
188
+ };
189
+ }
190
+
191
+ if (!result.asset) {
192
+ return { outcome: 'roundtrip_missing', reason: null, latency_ms: latency, recalled_hash: null };
193
+ }
194
+
195
+ const recalled = result.asset;
196
+ if (recalled.asset_id !== assetId) {
197
+ return { outcome: 'roundtrip_missing', reason: 'wrong_asset', latency_ms: latency, recalled_hash: recalled.asset_id || null };
198
+ }
199
+
200
+ // Recompute the asset_id from the recalled body. If it doesn't match what
201
+ // the recalled asset claims its asset_id is, the Hub re-encoded or
202
+ // corrupted the asset between publish and fetch.
203
+ let recomputed;
204
+ try {
205
+ recomputed = computeAssetId(recalled);
206
+ } catch (hashErr) {
207
+ return {
208
+ outcome: 'verification_skipped',
209
+ reason: 'hash_recompute_failed',
210
+ latency_ms: latency,
211
+ recalled_hash: null,
212
+ error: hashErr && hashErr.message || String(hashErr),
213
+ };
214
+ }
215
+
216
+ if (recomputed !== recalled.asset_id) {
217
+ return { outcome: 'roundtrip_mismatch', reason: 'hash_drift', latency_ms: latency, recalled_hash: recomputed };
218
+ }
219
+
220
+ return { outcome: 'roundtrip_ok', reason: null, latency_ms: latency, recalled_hash: recomputed };
221
+ }
222
+
223
+ // Drain the queue once. Public + idempotent so tests can drive it
224
+ // synchronously without waiting on setInterval.
225
+ async function _runWorkerOnce() {
226
+ if (_queue.length === 0) return { processed: 0 };
227
+ const now = Date.now();
228
+ const maxAttempts = _getMaxAttempts();
229
+ const ready = [];
230
+ for (let i = 0; i < _queue.length; i++) {
231
+ const entry = _queue[i];
232
+ if (entry.nextEligibleAt <= now && !_inflightAssetIds.has(entry.asset_id)) {
233
+ ready.push(entry);
234
+ }
235
+ }
236
+ if (ready.length === 0) return { processed: 0 };
237
+
238
+ let processed = 0;
239
+ for (const entry of ready) {
240
+ _inflightAssetIds.add(entry.asset_id);
241
+ try {
242
+ entry.attempts += 1;
243
+ const verifyResult = await verifyOnce(entry.asset_id, entry.type);
244
+
245
+ const isRetryable = (verifyResult.outcome === 'roundtrip_missing' ||
246
+ (verifyResult.outcome === 'verification_skipped' && verifyResult.reason === 'hub_unreachable'));
247
+ const hasAttemptsLeft = entry.attempts < maxAttempts;
248
+
249
+ if (isRetryable && hasAttemptsLeft) {
250
+ const backoffIdx = Math.min(entry.attempts - 1, BACKOFF_MS.length - 1);
251
+ entry.nextEligibleAt = Date.now() + BACKOFF_MS[backoffIdx];
252
+ } else {
253
+ _emitEvent(entry, verifyResult.outcome, verifyResult.reason, {
254
+ attempts: entry.attempts,
255
+ latency_ms: verifyResult.latency_ms,
256
+ recalled_hash: verifyResult.recalled_hash,
257
+ });
258
+ const idx = _queue.indexOf(entry);
259
+ if (idx !== -1) _queue.splice(idx, 1);
260
+ }
261
+ processed += 1;
262
+ } finally {
263
+ // Always release inflight (including on retry) — next poll re-adds.
264
+ _inflightAssetIds.delete(entry.asset_id);
265
+ }
266
+ }
267
+ return { processed };
268
+ }
269
+
270
+ function startWorker() {
271
+ if (_workerStarted) return;
272
+ _workerStarted = true;
273
+ const pollMs = _getPollMs();
274
+ _workerTimer = setInterval(function () {
275
+ _runWorkerOnce().catch(function (err) {
276
+ if (process.env.EVOLVE_RECALL_VERIFY_DEBUG === '1') {
277
+ console.warn('[RecallVerify] worker tick failed: ' + (err && err.message || err));
278
+ }
279
+ });
280
+ }, pollMs);
281
+ if (_workerTimer && typeof _workerTimer.unref === 'function') {
282
+ _workerTimer.unref();
283
+ }
284
+ }
285
+
286
+ function stopWorker() {
287
+ if (_workerTimer) {
288
+ clearInterval(_workerTimer);
289
+ _workerTimer = null;
290
+ }
291
+ _workerStarted = false;
292
+ }
293
+
294
+ function getLastReport() {
295
+ return Object.assign({}, _lastReport);
296
+ }
297
+
298
+ function _resetForTesting() {
299
+ stopWorker();
300
+ _queue = [];
301
+ _inflightAssetIds.clear();
302
+ _lastReport = { ok: 0, missing: 0, mismatch: 0, skipped: 0 };
303
+ }
304
+
305
+ function _getQueueLengthForTesting() {
306
+ return _queue.length;
307
+ }
308
+
309
+ module.exports = {
310
+ enqueuePublishedAsset,
311
+ verifyOnce,
312
+ startWorker,
313
+ stopWorker,
314
+ getLastReport,
315
+ _runWorkerOnce,
316
+ _resetForTesting,
317
+ _getQueueLengthForTesting,
318
+ };