@evomap/evolver 1.89.10 → 1.89.12

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 (112) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1367 -0
  9. package/README.ja-JP.md +1 -1
  10. package/README.ko-KR.md +1 -1
  11. package/README.md +90 -536
  12. package/README.public.md +578 -0
  13. package/README.zh-CN.md +1 -1
  14. package/SECURITY.md +108 -0
  15. package/assets/gep/events.jsonl +3 -0
  16. package/examples/atp-consumer-quickstart.md +100 -0
  17. package/examples/hello-world.md +38 -0
  18. package/index.js +5 -3
  19. package/package.json +6 -18
  20. package/proxy-package.json +39 -0
  21. package/public.manifest.json +145 -0
  22. package/src/adapters/scripts/evolver-session-end.js +18 -37
  23. package/src/atp/atpExecute.js +27 -71
  24. package/src/atp/serviceHelper.js +28 -36
  25. package/src/config.js +17 -0
  26. package/src/evolve/guards.js +721 -1
  27. package/src/evolve/pipeline/collect.js +1283 -1
  28. package/src/evolve/pipeline/dispatch.js +421 -1
  29. package/src/evolve/pipeline/enrich.js +440 -1
  30. package/src/evolve/pipeline/hub.js +319 -1
  31. package/src/evolve/pipeline/select.js +274 -1
  32. package/src/evolve/pipeline/signals.js +206 -1
  33. package/src/evolve/utils.js +264 -1
  34. package/src/evolve.js +350 -1
  35. package/src/gep/a2aProtocol.js +4463 -1
  36. package/src/gep/antiAbuseTelemetry.js +233 -1
  37. package/src/gep/autoDistillConv.js +205 -1
  38. package/src/gep/autoDistillLlm.js +315 -1
  39. package/src/gep/candidateEval.js +92 -1
  40. package/src/gep/candidates.js +198 -1
  41. package/src/gep/contentHash.js +30 -1
  42. package/src/gep/conversationDistiller.js +270 -0
  43. package/src/gep/conversationSniffer.js +266 -1
  44. package/src/gep/crypto.js +89 -1
  45. package/src/gep/curriculum.js +163 -1
  46. package/src/gep/deviceId.js +218 -1
  47. package/src/gep/envFingerprint.js +118 -1
  48. package/src/gep/epigenetics.js +31 -1
  49. package/src/gep/execBridge.js +712 -1
  50. package/src/gep/explore.js +289 -1
  51. package/src/gep/hash.js +15 -1
  52. package/src/gep/hubFetch.js +608 -1
  53. package/src/gep/hubReview.js +207 -1
  54. package/src/gep/hubSearch.js +526 -1
  55. package/src/gep/hubVerify.js +306 -1
  56. package/src/gep/learningSignals.js +89 -1
  57. package/src/gep/memoryGraph.js +1449 -1
  58. package/src/gep/memoryGraphAdapter.js +203 -1
  59. package/src/gep/mutation.js +203 -1
  60. package/src/gep/narrativeMemory.js +108 -1
  61. package/src/gep/oauthLogin.js +9 -3
  62. package/src/gep/openPRRegistry.js +205 -1
  63. package/src/gep/personality.js +423 -1
  64. package/src/gep/policyCheck.js +599 -1
  65. package/src/gep/privacyClient.js +10 -9
  66. package/src/gep/prompt.js +836 -1
  67. package/src/gep/questionGenerator.js +103 -0
  68. package/src/gep/recallInject.js +409 -1
  69. package/src/gep/recallVerifier.js +318 -1
  70. package/src/gep/reflection.js +177 -1
  71. package/src/gep/savingsCore.js +112 -1
  72. package/src/gep/selector.js +602 -1
  73. package/src/gep/signals.js +85 -17
  74. package/src/gep/skillDistiller.js +1294 -1
  75. package/src/gep/solidify.js +1699 -1
  76. package/src/gep/strategy.js +136 -1
  77. package/src/gep/tokenSavings.js +95 -1
  78. package/src/gep/workspaceKeychain.js +174 -1
  79. package/src/proxy/extensions/traceControl.js +109 -1
  80. package/src/proxy/index.js +100 -3
  81. package/src/proxy/inject.js +52 -1
  82. package/src/proxy/lifecycle/manager.js +108 -7
  83. package/src/proxy/server/routes.js +41 -7
  84. package/src/proxy/server/settings.js +6 -2
  85. package/src/proxy/sync/engine.js +31 -15
  86. package/src/proxy/sync/inbound.js +87 -9
  87. package/src/proxy/sync/outbound.js +57 -4
  88. package/src/proxy/trace/extractor.js +1403 -1
  89. package/src/proxy/trace/usage.js +105 -1
  90. package/CONTRIBUTING.md +0 -19
  91. package/assets/cover.png +0 -0
  92. package/scripts/a2a_export.js +0 -63
  93. package/scripts/a2a_ingest.js +0 -79
  94. package/scripts/a2a_promote.js +0 -118
  95. package/scripts/analyze_by_skill.js +0 -121
  96. package/scripts/build_binaries.js +0 -479
  97. package/scripts/check-changelog.js +0 -166
  98. package/scripts/extract_log.js +0 -85
  99. package/scripts/generate_history.js +0 -75
  100. package/scripts/gep_append_event.js +0 -96
  101. package/scripts/gep_personality_report.js +0 -234
  102. package/scripts/human_report.js +0 -147
  103. package/scripts/recall-verify-report.js +0 -234
  104. package/scripts/recover_loop.js +0 -61
  105. package/scripts/refresh_stars_badge.js +0 -168
  106. package/scripts/seed-merchants.js +0 -91
  107. package/scripts/suggest_version.js +0 -89
  108. package/scripts/validate-modules.js +0 -38
  109. package/scripts/validate-suite.js +0 -78
  110. package/skills/index.json +0 -14
  111. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  112. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,163 @@
1
- var _0x403edc=_0x495b;(function(_0x4b1084,_0x4ef9dc){var _0xafcb1c=_0x495b,_0x10cd44=_0x4b1084();while(!![]){try{var _0x3d1560=parseInt(_0xafcb1c(0x27d,'\x40\x63\x65\x69'))/(-0x5eb+0x10*-0x115+0x1*0x173c)*(parseInt(_0xafcb1c(0x2bf,'\x47\x4c\x25\x5d'))/(-0x185d+0x5*0x3e4+0x1*0x4eb))+-parseInt(_0xafcb1c(0x2e3,'\x69\x6c\x29\x48'))/(0xab4+-0x1d56+0x12a5)+-parseInt(_0xafcb1c(0x20a,'\x31\x48\x6c\x23'))/(-0x9db+0x15e3+-0xc04)*(-parseInt(_0xafcb1c(0x1d9,'\x43\x28\x34\x36'))/(-0x76c+0x918+-0x1a7))+-parseInt(_0xafcb1c(0x2d0,'\x63\x2a\x28\x6b'))/(-0x21b7+0x22e5+-0x128*0x1)*(parseInt(_0xafcb1c(0x27e,'\x54\x34\x4b\x50'))/(-0x2550+0x181c+0xd3b*0x1))+parseInt(_0xafcb1c(0x29c,'\x49\x4e\x70\x55'))/(0x1*-0x61+0x2e4+-0x27b)+-parseInt(_0xafcb1c(0x272,'\x64\x45\x21\x61'))/(-0x5ff+-0xa7*0x38+0x2a90)*(parseInt(_0xafcb1c(0x22f,'\x41\x6c\x48\x25'))/(-0xd*0xff+0x41b+-0x2f6*-0x3))+-parseInt(_0xafcb1c(0x295,'\x5b\x77\x49\x64'))/(0x7*0x2b3+-0xc61+0x1*-0x679)*(-parseInt(_0xafcb1c(0x21f,'\x78\x79\x55\x69'))/(0x2246+-0x1*0x1edf+0x1*-0x35b));if(_0x3d1560===_0x4ef9dc)break;else _0x10cd44['push'](_0x10cd44['shift']());}catch(_0x249869){_0x10cd44['push'](_0x10cd44['shift']());}}}(_0x4c57,-0x1*-0x7f18a+-0x98004+0x79939));function _0x4c57(){var _0x14d452=['\x57\x36\x2f\x63\x52\x4d\x31\x63\x57\x35\x6d','\x45\x72\x35\x58\x42\x47','\x57\x37\x47\x5a\x57\x50\x31\x31\x73\x71\x46\x64\x55\x61','\x76\x6d\x6f\x67\x57\x52\x37\x64\x4c\x38\x6b\x4b','\x57\x51\x70\x63\x4a\x30\x2f\x63\x4a\x6d\x6f\x52\x57\x36\x70\x64\x4a\x53\x6b\x56\x68\x67\x78\x63\x4b\x68\x64\x63\x4e\x61','\x64\x6d\x6f\x65\x6b\x5a\x75\x4b\x57\x36\x70\x63\x4e\x62\x30','\x57\x51\x57\x47\x6a\x53\x6b\x71\x45\x61','\x57\x52\x69\x6d\x57\x50\x78\x63\x4c\x62\x50\x73\x57\x36\x64\x64\x4b\x71','\x72\x43\x6f\x59\x57\x37\x4c\x67\x66\x57','\x77\x38\x6f\x51\x6c\x71','\x6e\x47\x4a\x63\x48\x6d\x6b\x59\x70\x64\x4a\x63\x4a\x43\x6f\x75','\x74\x6d\x6f\x32\x57\x50\x2f\x63\x4f\x53\x6b\x37\x68\x43\x6b\x46','\x6f\x33\x47\x71\x71\x47','\x57\x50\x78\x63\x52\x38\x6f\x77\x57\x37\x6a\x6d\x6a\x61','\x57\x50\x62\x55\x57\x51\x64\x64\x4d\x49\x4f','\x57\x37\x66\x58\x68\x53\x6b\x67\x57\x52\x53','\x69\x76\x42\x63\x50\x61\x78\x64\x4a\x61','\x6e\x38\x6b\x61\x57\x36\x6c\x63\x4b\x6d\x6f\x61','\x57\x50\x78\x63\x4c\x6d\x6f\x36\x57\x36\x72\x5a','\x6d\x43\x6b\x79\x57\x36\x33\x64\x49\x57','\x76\x53\x6b\x31\x43\x75\x62\x69','\x57\x50\x53\x78\x6c\x6d\x6b\x50\x44\x38\x6f\x49\x71\x65\x34','\x74\x43\x6f\x4e\x57\x51\x68\x64\x4a\x6d\x6b\x61','\x57\x51\x71\x74\x57\x50\x5a\x63\x48\x71\x6a\x73\x57\x37\x64\x64\x51\x57','\x67\x53\x6f\x50\x64\x6d\x6b\x53\x57\x34\x65','\x41\x67\x6c\x63\x52\x57','\x57\x52\x57\x2b\x71\x33\x50\x6c\x65\x38\x6f\x42\x65\x71','\x6d\x43\x6f\x45\x61\x53\x6b\x34\x57\x34\x53','\x6b\x38\x6b\x7a\x43\x53\x6b\x35\x64\x71','\x76\x57\x57\x57\x57\x35\x6c\x63\x54\x61\x4a\x63\x50\x38\x6f\x33','\x62\x43\x6f\x35\x67\x43\x6b\x51\x57\x34\x48\x52\x75\x57','\x7a\x58\x48\x59','\x57\x51\x47\x44\x57\x50\x44\x49\x43\x47','\x6b\x6d\x6f\x37\x57\x37\x47\x52','\x68\x43\x6f\x4f\x69\x38\x6b\x4d\x57\x37\x4b','\x57\x51\x71\x61\x57\x51\x76\x6f\x75\x61','\x62\x68\x37\x63\x56\x58\x37\x64\x4e\x43\x6b\x36','\x57\x4f\x31\x41\x61\x43\x6b\x79\x57\x50\x31\x6f','\x57\x36\x30\x4a\x57\x4f\x71','\x44\x43\x6b\x6a\x69\x38\x6f\x32\x57\x51\x34\x44\x57\x37\x66\x78','\x73\x61\x38\x34\x57\x35\x78\x63\x4b\x47','\x45\x78\x2f\x64\x4f\x43\x6b\x37\x64\x71','\x57\x51\x53\x48\x57\x51\x46\x64\x4d\x48\x64\x64\x4b\x38\x6f\x37\x57\x51\x75','\x76\x47\x69\x50','\x57\x37\x42\x63\x50\x67\x69\x44\x43\x71','\x57\x36\x53\x4e\x57\x4f\x37\x64\x52\x74\x42\x64\x50\x4b\x2f\x64\x50\x61','\x57\x34\x70\x64\x47\x72\x46\x64\x4e\x57','\x57\x36\x78\x63\x4f\x66\x6d','\x78\x6d\x6f\x51\x6f\x53\x6b\x4f\x77\x43\x6f\x35','\x57\x37\x35\x65\x57\x37\x61\x63\x65\x32\x37\x64\x4e\x67\x48\x78\x57\x50\x76\x4a\x57\x36\x30','\x57\x52\x75\x75\x57\x50\x46\x64\x4a\x4c\x50\x52\x57\x52\x34','\x6d\x62\x74\x63\x49\x43\x6b\x57\x6c\x71','\x7a\x38\x6f\x6e\x57\x52\x69\x2b\x57\x51\x43','\x7a\x38\x6b\x75\x57\x4f\x50\x68\x46\x43\x6f\x61\x61\x71','\x67\x38\x6f\x71\x6b\x59\x61\x4b\x57\x37\x4e\x63\x4d\x57','\x57\x37\x64\x63\x53\x65\x4b\x4d','\x72\x6d\x6f\x47\x69\x6d\x6b\x55\x71\x71','\x67\x38\x6f\x63\x57\x51\x6c\x63\x47\x43\x6b\x76','\x57\x37\x64\x63\x52\x77\x4b\x79\x77\x67\x53\x75\x46\x57','\x57\x52\x57\x61\x57\x52\x44\x45','\x69\x4e\x78\x64\x54\x31\x5a\x63\x54\x31\x4b','\x68\x6d\x6f\x45\x6e\x63\x69','\x68\x38\x6f\x4c\x57\x52\x34','\x65\x65\x33\x64\x4b\x61','\x62\x53\x6f\x46\x70\x47','\x71\x66\x43\x42\x68\x64\x71','\x57\x52\x38\x49\x57\x34\x78\x63\x55\x6d\x6f\x4a\x57\x50\x57','\x6a\x53\x6f\x6a\x57\x50\x78\x63\x49\x43\x6b\x30','\x57\x50\x46\x64\x4d\x72\x6c\x64\x47\x38\x6b\x53\x57\x37\x35\x62','\x62\x67\x37\x63\x56\x71\x2f\x64\x4d\x38\x6b\x48\x61\x61','\x57\x4f\x6c\x63\x55\x43\x6f\x38\x57\x36\x6e\x71\x6d\x53\x6f\x55\x57\x35\x57','\x43\x6d\x6b\x6f\x70\x53\x6f\x51\x57\x52\x6d\x78\x57\x36\x66\x6a','\x6c\x38\x6f\x37\x57\x36\x65\x56\x57\x4f\x4b','\x6a\x38\x6f\x69\x76\x6d\x6f\x79\x57\x52\x38','\x57\x34\x53\x73\x44\x43\x6f\x6c\x57\x35\x30\x6a\x75\x43\x6f\x38\x57\x35\x48\x66\x57\x37\x30\x34','\x57\x36\x75\x56\x57\x51\x56\x64\x4c\x64\x34','\x57\x4f\x38\x30\x73\x67\x66\x61','\x57\x52\x75\x55\x57\x34\x46\x63\x51\x38\x6f\x59\x57\x4f\x79','\x76\x32\x78\x64\x48\x38\x6b\x32\x6b\x61','\x72\x6d\x6f\x53\x6a\x38\x6b\x31\x7a\x47','\x6b\x68\x71\x4d\x77\x4e\x2f\x63\x52\x53\x6f\x43\x6c\x71','\x57\x4f\x50\x78\x6e\x6d\x6b\x71\x57\x4f\x6e\x41\x76\x53\x6f\x61','\x57\x36\x66\x59\x67\x53\x6b\x76\x57\x52\x69\x32\x57\x36\x47\x30','\x57\x4f\x42\x63\x4e\x43\x6f\x4a\x57\x50\x66\x46\x57\x34\x4f\x61\x72\x57','\x74\x53\x6b\x71\x41\x32\x62\x69','\x6f\x6d\x6f\x2b\x6e\x38\x6b\x4d\x57\x34\x6d','\x72\x6d\x6f\x2f\x57\x52\x56\x64\x4a\x43\x6b\x73\x71\x47\x53','\x73\x4c\x5a\x64\x4d\x43\x6b\x30\x66\x57','\x57\x52\x79\x65\x57\x50\x78\x64\x49\x66\x4b','\x57\x37\x79\x4e\x65\x6d\x6b\x65\x57\x51\x35\x50','\x61\x53\x6b\x36\x7a\x6d\x6b\x4e\x7a\x43\x6f\x4a\x57\x50\x6a\x69\x77\x61','\x57\x4f\x52\x64\x50\x71\x74\x64\x50\x43\x6b\x4f','\x70\x6d\x6b\x34\x43\x49\x5a\x63\x50\x30\x54\x53','\x72\x6d\x6f\x47\x62\x38\x6b\x37\x78\x38\x6f\x34\x57\x52\x62\x4a','\x6e\x53\x6f\x31\x57\x36\x30','\x6a\x53\x6f\x75\x6e\x38\x6f\x71\x57\x35\x6d','\x6f\x6d\x6f\x62\x73\x38\x6f\x45\x57\x52\x79','\x62\x75\x65\x33\x73\x66\x57','\x66\x43\x6f\x35\x63\x6d\x6b\x37\x57\x34\x72\x37\x76\x72\x69','\x64\x6d\x6f\x48\x61\x38\x6b\x52\x57\x35\x4f','\x42\x48\x4c\x70\x78\x33\x4b','\x57\x4f\x74\x63\x4b\x53\x6b\x76\x76\x6d\x6f\x32\x63\x31\x43\x72','\x57\x36\x34\x69\x57\x50\x46\x64\x4f\x61','\x6b\x38\x6f\x48\x57\x36\x79\x4d','\x77\x53\x6f\x4a\x57\x52\x79','\x6b\x62\x33\x63\x4d\x71','\x76\x43\x6f\x56\x57\x4f\x47\x4b\x57\x51\x43','\x57\x52\x7a\x34\x57\x52\x74\x64\x48\x61\x52\x64\x4b\x6d\x6f\x46\x57\x52\x34','\x72\x6d\x6b\x79\x43\x4d\x6d','\x61\x38\x6b\x2f\x57\x36\x68\x63\x4e\x53\x6f\x61\x61\x4b\x34\x4e\x57\x35\x72\x4a\x57\x37\x5a\x64\x4f\x6d\x6b\x73','\x46\x33\x78\x64\x55\x38\x6b\x37\x64\x6d\x6f\x2b\x74\x63\x71','\x57\x50\x30\x68\x57\x52\x66\x61\x75\x61','\x67\x43\x6b\x4c\x57\x51\x4a\x64\x4a\x38\x6b\x64\x77\x71\x53','\x6b\x6d\x6b\x6a\x57\x36\x78\x63\x4c\x6d\x6f\x72\x57\x34\x69','\x57\x34\x39\x43\x69\x53\x6b\x30\x57\x52\x57','\x6c\x4e\x75\x71\x74\x78\x53','\x6f\x38\x6f\x79\x75\x43\x6f\x76','\x43\x62\x58\x4c\x41\x76\x57','\x57\x52\x74\x64\x4e\x49\x56\x64\x50\x6d\x6b\x38','\x6b\x43\x6f\x34\x57\x36\x61\x6b\x57\x4f\x53','\x44\x71\x54\x6a\x57\x52\x42\x63\x52\x57','\x57\x34\x5a\x63\x56\x66\x72\x48\x57\x37\x34\x49','\x57\x52\x6d\x30\x57\x34\x33\x64\x48\x53\x6b\x4d','\x77\x53\x6f\x35\x6c\x43\x6b\x61\x41\x61','\x57\x52\x69\x63\x57\x4f\x4a\x63\x48\x72\x72\x45\x57\x37\x4a\x64\x4e\x71','\x6a\x53\x6b\x2f\x57\x4f\x58\x57\x44\x43\x6f\x4f\x6c\x4b\x53','\x57\x4f\x4f\x44\x69\x6d\x6b\x39\x78\x43\x6f\x55\x77\x65\x34','\x57\x51\x69\x67\x57\x34\x74\x64\x54\x43\x6b\x37','\x6a\x59\x52\x63\x4b\x43\x6b\x78\x6b\x47','\x57\x51\x64\x63\x4d\x47\x53\x68\x69\x66\x69\x47','\x57\x37\x5a\x64\x4b\x31\x66\x6f\x42\x47\x39\x34\x68\x47','\x6d\x58\x4e\x63\x4c\x6d\x6b\x37','\x57\x51\x37\x63\x4e\x62\x75\x6f\x66\x61','\x7a\x53\x6f\x34\x57\x51\x33\x64\x54\x38\x6b\x45','\x57\x37\x5a\x64\x4e\x72\x46\x64\x4d\x38\x6b\x51\x57\x52\x30','\x57\x4f\x6d\x51\x57\x36\x68\x64\x52\x6d\x6b\x59\x68\x6d\x6b\x30\x57\x52\x71','\x68\x4e\x78\x63\x55\x47\x4e\x64\x48\x53\x6b\x44\x66\x71','\x57\x36\x2f\x63\x4c\x32\x39\x46\x57\x35\x61','\x6c\x6d\x6b\x39\x44\x38\x6b\x58\x68\x61','\x6a\x53\x6f\x31\x6e\x71\x4b\x42','\x63\x75\x4e\x64\x48\x53\x6b\x78\x57\x52\x4f\x58\x57\x35\x56\x63\x52\x47','\x57\x51\x74\x63\x51\x43\x6b\x56\x75\x53\x6f\x78','\x76\x6d\x6b\x6b\x6a\x6d\x6f\x52\x57\x50\x65','\x45\x4e\x70\x63\x47\x43\x6f\x75\x57\x4f\x4a\x63\x4b\x31\x48\x2f\x57\x36\x71','\x57\x50\x76\x67\x6d\x6d\x6b\x43\x57\x4f\x65','\x57\x51\x50\x32\x57\x50\x37\x64\x4e\x62\x37\x64\x4a\x38\x6f\x4f\x57\x51\x4b','\x57\x51\x30\x55\x75\x4e\x31\x71\x61\x38\x6f\x68\x63\x57','\x57\x4f\x6c\x63\x4f\x38\x6f\x4a\x57\x36\x66\x76\x6e\x6d\x6f\x56\x57\x35\x75','\x6f\x68\x2f\x64\x4d\x4b\x33\x63\x50\x76\x47\x65\x57\x36\x34','\x57\x51\x5a\x63\x4a\x6d\x6f\x52\x57\x37\x66\x57','\x6a\x68\x5a\x64\x4f\x76\x5a\x63\x56\x67\x75\x66','\x6c\x71\x52\x64\x49\x6d\x6f\x52\x57\x52\x4b','\x57\x52\x50\x4f\x6d\x43\x6b\x74\x57\x4f\x75','\x6b\x48\x42\x63\x48\x6d\x6b\x32\x6d\x62\x6c\x63\x4a\x57','\x57\x50\x4f\x62\x57\x52\x6c\x63\x54\x62\x30','\x6b\x6d\x6f\x66\x6f\x6d\x6f\x58\x57\x36\x30','\x65\x38\x6b\x36\x57\x36\x37\x63\x4c\x53\x6f\x4f','\x75\x58\x56\x63\x4c\x38\x6f\x6c\x57\x37\x4b\x4e\x57\x34\x68\x63\x48\x58\x53\x43\x57\x37\x53','\x79\x43\x6f\x46\x6d\x38\x6b\x55\x79\x57','\x57\x51\x58\x33\x62\x6d\x6b\x6b\x57\x52\x61','\x63\x4e\x4f\x66\x57\x35\x53','\x7a\x43\x6f\x61\x57\x52\x75\x6a\x57\x51\x57','\x70\x77\x46\x64\x54\x4c\x65','\x57\x52\x38\x49\x57\x35\x33\x63\x55\x53\x6f\x37','\x57\x35\x50\x78\x6f\x43\x6b\x6c\x57\x4f\x38','\x57\x50\x30\x61\x6b\x6d\x6b\x51\x42\x38\x6f\x30\x7a\x31\x69','\x57\x37\x65\x69\x57\x50\x64\x64\x51\x58\x6e\x47\x65\x57','\x69\x6d\x6b\x2b\x57\x52\x50\x4e\x43\x71','\x57\x36\x4a\x64\x4d\x49\x2f\x64\x4e\x6d\x6f\x71\x61\x63\x46\x64\x4e\x43\x6f\x72\x57\x35\x75\x63\x57\x37\x47','\x57\x52\x64\x64\x54\x48\x7a\x39\x74\x4b\x38\x33\x77\x38\x6f\x45\x62\x61','\x6c\x38\x6b\x6a\x57\x37\x69','\x57\x52\x61\x4f\x57\x34\x42\x63\x52\x38\x6f\x37\x57\x50\x68\x63\x52\x6d\x6b\x75','\x57\x51\x43\x31\x72\x67\x50\x62\x6c\x38\x6f\x75','\x57\x36\x4f\x73\x57\x50\x64\x64\x51\x72\x61','\x7a\x4e\x78\x64\x52\x61','\x57\x34\x71\x6b\x57\x4f\x4e\x64\x4b\x64\x61','\x57\x52\x43\x61\x57\x50\x64\x64\x4d\x76\x62\x30\x57\x52\x37\x63\x48\x71','\x6c\x74\x70\x64\x4e\x38\x6f\x47\x57\x51\x74\x63\x4b\x75\x35\x67','\x57\x4f\x5a\x63\x48\x53\x6f\x31\x57\x4f\x7a\x63\x57\x36\x53\x73','\x6e\x43\x6b\x43\x57\x4f\x50\x48\x76\x47','\x44\x6d\x6b\x6d\x41\x78\x7a\x61\x57\x34\x43\x2b','\x79\x43\x6b\x42\x57\x37\x30','\x45\x67\x74\x64\x53\x38\x6f\x49','\x57\x4f\x2f\x63\x55\x38\x6b\x71\x79\x43\x6f\x36','\x68\x38\x6f\x48\x57\x52\x70\x63\x56\x38\x6b\x78\x70\x43\x6b\x59','\x44\x53\x6b\x69\x57\x52\x6d\x34','\x45\x38\x6f\x36\x57\x37\x53\x51\x70\x38\x6b\x5a\x79\x47\x43','\x57\x37\x4a\x64\x4a\x72\x4a\x64\x48\x6d\x6b\x55','\x57\x52\x6c\x63\x4d\x53\x6b\x74\x71\x6d\x6f\x5a','\x57\x4f\x50\x6b\x69\x43\x6b\x78\x57\x4f\x58\x72\x79\x6d\x6f\x6e','\x43\x43\x6f\x64\x57\x51\x69\x48\x57\x51\x71','\x63\x53\x6b\x2b\x73\x53\x6b\x5a\x6f\x38\x6f\x38\x57\x50\x35\x36','\x57\x51\x39\x70\x57\x35\x78\x64\x4b\x49\x72\x4d\x62\x43\x6b\x57\x57\x34\x34','\x65\x6d\x6b\x7a\x57\x51\x72\x55\x46\x61','\x70\x6d\x6f\x46\x73\x38\x6f\x6a\x57\x52\x42\x64\x4d\x43\x6b\x39\x57\x50\x6d','\x57\x51\x69\x6d\x57\x50\x78\x63\x47\x71','\x62\x68\x46\x63\x54\x57\x2f\x64\x4d\x57','\x68\x43\x6b\x64\x57\x51\x54\x73\x79\x61','\x57\x50\x68\x63\x4d\x53\x6f\x34\x57\x4f\x34','\x41\x73\x58\x61\x68\x49\x4e\x64\x52\x38\x6b\x6e\x69\x61\x34\x68\x43\x4a\x72\x49','\x57\x52\x34\x6a\x57\x52\x64\x64\x55\x77\x43','\x43\x43\x6f\x4c\x57\x51\x71\x4e\x57\x4f\x6d','\x69\x6d\x6b\x4e\x57\x52\x62\x4e\x43\x43\x6f\x50\x6f\x47','\x57\x52\x68\x63\x50\x38\x6f\x49\x57\x50\x6a\x2f','\x46\x53\x6f\x70\x57\x52\x75\x48\x57\x52\x44\x68\x41\x75\x4b','\x57\x51\x61\x4c\x57\x34\x74\x63\x4b\x53\x6f\x6f','\x46\x6d\x6b\x75\x66\x38\x6b\x69\x57\x36\x6c\x64\x4d\x53\x6b\x33\x57\x52\x47\x69\x7a\x53\x6f\x71','\x76\x4a\x30\x72\x75\x53\x6f\x66','\x57\x51\x52\x63\x47\x6d\x6f\x6a\x57\x37\x48\x33','\x71\x4d\x6d\x5a\x62\x61\x79\x54\x6c\x63\x43','\x79\x62\x65\x54\x77\x53\x6f\x6d','\x68\x4d\x2f\x63\x50\x57','\x57\x51\x43\x71\x57\x52\x31\x66','\x61\x38\x6f\x75\x6c\x59\x69\x54','\x43\x53\x6f\x68\x6e\x53\x6f\x6f','\x71\x6d\x6f\x55\x6a\x53\x6b\x38\x73\x61','\x57\x36\x66\x4f\x62\x43\x6b\x78\x57\x52\x43\x57\x57\x36\x4b\x39','\x6c\x43\x6b\x56\x44\x49\x6c\x63\x55\x71','\x61\x31\x4e\x63\x54\x72\x56\x64\x53\x71','\x57\x51\x71\x6f\x57\x51\x56\x63\x4a\x72\x66\x7a\x57\x37\x78\x64\x4d\x61','\x62\x38\x6b\x50\x57\x36\x6c\x63\x55\x43\x6f\x48','\x57\x51\x69\x78\x57\x50\x4e\x63\x4b\x61\x6e\x65','\x6a\x38\x6f\x6b\x41\x6d\x6b\x5a\x57\x37\x76\x70\x57\x52\x76\x7a\x76\x33\x76\x35\x57\x52\x7a\x42','\x57\x52\x46\x63\x4a\x47\x53\x73\x6c\x65\x75\x4d\x77\x57','\x77\x59\x66\x37\x41\x4d\x75','\x57\x4f\x78\x64\x4a\x47\x69','\x68\x38\x6f\x61\x6f\x47\x34\x4a','\x57\x52\x57\x61\x57\x4f\x52\x64\x47\x71','\x73\x71\x69\x4c\x57\x35\x6d','\x43\x49\x50\x61\x57\x50\x57','\x76\x64\x72\x75\x57\x50\x70\x63\x4a\x71','\x44\x6d\x6f\x7a\x57\x52\x69\x2f\x57\x51\x44\x65\x74\x4d\x69','\x65\x65\x33\x64\x51\x38\x6b\x54\x57\x4f\x43\x58\x57\x35\x42\x63\x53\x47','\x57\x4f\x48\x33\x57\x4f\x46\x64\x47\x48\x61','\x63\x71\x71\x76\x57\x37\x56\x63\x55\x49\x4e\x63\x4b\x61','\x57\x51\x46\x63\x4e\x48\x47\x73\x6a\x4b\x34','\x72\x59\x66\x62\x57\x50\x68\x63\x55\x61\x34\x58\x45\x57','\x75\x4a\x39\x68\x57\x50\x5a\x63\x51\x71','\x75\x68\x34\x4f\x63\x58\x34','\x6e\x53\x6f\x58\x57\x37\x47\x48\x57\x50\x43\x61\x7a\x64\x65','\x57\x51\x6d\x61\x57\x52\x62\x76\x74\x5a\x64\x64\x4c\x71','\x57\x37\x66\x34\x66\x53\x6b\x78\x57\x52\x30\x37','\x57\x51\x69\x74\x57\x50\x74\x63\x4a\x71\x69','\x6a\x53\x6f\x48\x6d\x72\x34\x63','\x6e\x58\x46\x63\x4b\x47','\x57\x52\x4f\x30\x43\x33\x54\x6c\x63\x43\x6f\x43\x61\x61','\x70\x38\x6f\x73\x57\x35\x69\x34\x57\x51\x6d','\x57\x50\x71\x71\x57\x51\x4a\x63\x51\x5a\x34','\x7a\x53\x6f\x47\x57\x36\x6d\x32\x75\x43\x6f\x45\x62\x75\x5a\x64\x51\x57\x6d','\x6e\x53\x6f\x43\x6d\x53\x6f\x71','\x62\x53\x6f\x2f\x64\x53\x6f\x38\x57\x35\x53','\x42\x6d\x6f\x59\x6d\x4e\x68\x63\x4b\x68\x54\x74\x57\x37\x6e\x33\x57\x50\x4b','\x6f\x68\x2f\x64\x4d\x4b\x52\x63\x53\x65\x53\x78\x57\x36\x34','\x6e\x4d\x78\x64\x53\x6d\x6b\x37\x57\x51\x71','\x6d\x43\x6f\x61\x6e\x53\x6b\x4e\x57\x35\x53','\x6f\x53\x6b\x56\x42\x5a\x70\x63\x55\x76\x50\x52\x57\x37\x71','\x78\x57\x53\x63\x57\x36\x6c\x63\x50\x71','\x57\x34\x5a\x63\x54\x66\x66\x35\x57\x37\x34\x30','\x57\x36\x69\x46\x57\x52\x44\x7a\x74\x47','\x57\x4f\x37\x63\x4e\x43\x6b\x63','\x57\x4f\x30\x69\x6a\x43\x6b\x34\x42\x38\x6f\x49\x75\x68\x71','\x57\x4f\x50\x58\x68\x38\x6b\x50\x57\x4f\x4b','\x57\x50\x6d\x44\x6f\x61','\x43\x43\x6b\x77\x44\x68\x53','\x72\x6d\x6f\x55\x6a\x53\x6b\x4f\x73\x6d\x6f\x4c\x57\x51\x30','\x57\x51\x75\x2b\x77\x71','\x6a\x30\x4c\x56\x63\x38\x6b\x76\x65\x53\x6b\x43\x43\x71\x6c\x64\x48\x30\x56\x64\x54\x6d\x6f\x6e','\x6c\x32\x70\x64\x4a\x53\x6b\x31\x57\x52\x53','\x41\x57\x66\x53\x7a\x31\x69','\x61\x4b\x70\x64\x49\x38\x6b\x73\x57\x51\x65\x6d\x57\x34\x75','\x57\x36\x6a\x58\x57\x50\x6c\x64\x51\x6d\x6b\x4c\x57\x34\x78\x64\x51\x43\x6b\x74\x57\x34\x54\x38\x75\x6d\x6b\x42\x79\x61','\x57\x50\x78\x63\x55\x43\x6f\x4c\x57\x37\x6a\x71','\x75\x67\x43\x2f\x6a\x72\x30','\x65\x6d\x6b\x4a\x57\x37\x4a\x63\x47\x53\x6f\x47','\x66\x68\x74\x63\x53\x58\x5a\x64\x4b\x53\x6b\x33\x62\x38\x6b\x66','\x62\x47\x64\x64\x50\x43\x6f\x46\x57\x52\x69','\x6c\x38\x6b\x4b\x57\x36\x74\x63\x4e\x38\x6f\x6e','\x57\x51\x4b\x6e\x57\x4f\x52\x64\x4a\x4c\x61','\x73\x48\x62\x4f\x57\x50\x33\x63\x54\x47','\x43\x6d\x6f\x74\x57\x51\x65\x56\x57\x4f\x43\x38\x57\x51\x78\x63\x4d\x57','\x78\x53\x6b\x4c\x57\x50\x69\x46\x57\x52\x65','\x64\x6d\x6f\x57\x57\x51\x2f\x63\x49\x47','\x74\x38\x6f\x41\x57\x50\x6d\x64\x57\x4f\x43','\x7a\x4e\x4e\x64\x55\x38\x6b\x2b','\x57\x36\x4e\x63\x51\x65\x39\x2f\x57\x37\x69\x4c\x61\x58\x71','\x63\x53\x6b\x52\x57\x52\x5a\x63\x4a\x53\x6b\x67\x43\x57','\x6c\x38\x6f\x65\x75\x6d\x6f\x74\x57\x52\x6c\x64\x53\x53\x6b\x58','\x79\x53\x6b\x74\x61\x53\x6f\x57\x57\x52\x75\x78\x57\x36\x50\x43','\x79\x59\x4b\x46\x57\x35\x4a\x63\x50\x47','\x57\x4f\x6c\x63\x48\x77\x6c\x63\x53\x53\x6b\x50','\x46\x38\x6b\x7a\x66\x6d\x6b\x6c\x57\x4f\x52\x64\x51\x6d\x6b\x64\x57\x51\x4b\x50\x77\x47','\x57\x51\x42\x63\x4d\x47\x30\x66','\x57\x4f\x46\x64\x47\x58\x2f\x64\x4b\x38\x6b\x39\x57\x37\x39\x68\x57\x35\x47','\x57\x51\x75\x67\x57\x4f\x76\x65\x75\x4a\x5a\x64\x49\x71','\x57\x4f\x74\x63\x4d\x53\x6b\x5a\x45\x6d\x6f\x35','\x76\x43\x6f\x33\x70\x43\x6b\x38\x77\x43\x6f\x49\x57\x4f\x31\x39','\x45\x78\x2f\x64\x48\x53\x6b\x55\x65\x38\x6f\x59\x43\x74\x4f','\x62\x53\x6b\x2b\x78\x71','\x44\x53\x6b\x79\x42\x33\x35\x53\x57\x35\x38\x50\x46\x61','\x57\x4f\x44\x54\x57\x50\x6c\x64\x50\x4a\x4f','\x70\x59\x37\x64\x48\x6d\x6f\x56\x57\x52\x57'];_0x4c57=function(){return _0x14d452;};return _0x4c57();}var _0x50a60c=(function(){var _0x3563dd=_0x495b,_0x5baa35={};_0x5baa35[_0x3563dd(0x1e3,'\x72\x43\x4b\x4a')]=function(_0x251079,_0x2956bc){return _0x251079>=_0x2956bc;},_0x5baa35[_0x3563dd(0x24d,'\x66\x35\x63\x7a')]=function(_0x1addc7,_0x5bb9ad){return _0x1addc7===_0x5bb9ad;},_0x5baa35[_0x3563dd(0x1e7,'\x4b\x55\x52\x61')]=_0x3563dd(0x2cf,'\x77\x30\x76\x45'),_0x5baa35[_0x3563dd(0x1f0,'\x36\x38\x40\x37')]=function(_0x46a35c,_0x537859){return _0x46a35c!==_0x537859;},_0x5baa35['\x41\x6f\x68\x6e\x79']=_0x3563dd(0x24f,'\x4c\x68\x50\x6d');var _0x5721e5=_0x5baa35,_0x19a971=!![];return function(_0x53eb4a,_0x28a45f){var _0x34c364=_0x3563dd,_0x5d5e42={'\x4d\x6a\x45\x77\x47':function(_0x319ea0,_0x58c49f,_0x3f26e7){return _0x319ea0(_0x58c49f,_0x3f26e7);},'\x50\x72\x5a\x44\x75':function(_0x2b31ac,_0x8d6339){return _0x5721e5['\x4f\x75\x61\x72\x55'](_0x2b31ac,_0x8d6339);},'\x52\x47\x52\x45\x6c':function(_0x410f4e,_0x38c590){var _0x15a629=_0x495b;return _0x5721e5[_0x15a629(0x1db,'\x6a\x4b\x4d\x4b')](_0x410f4e,_0x38c590);},'\x6b\x48\x6f\x6c\x68':_0x5721e5[_0x34c364(0x2af,'\x72\x35\x44\x49')]};if(_0x5721e5['\x47\x52\x78\x71\x66'](_0x5721e5[_0x34c364(0x221,'\x5d\x44\x53\x6b')],_0x5721e5['\x41\x6f\x68\x6e\x79'])){var _0x10d0bc={};return _0x10d0bc['\x6c\x65\x76\x65\x6c']=0x1,_0x10d0bc[_0x34c364(0x228,'\x71\x47\x58\x30')+_0x34c364(0x2dd,'\x41\x6c\x48\x25')]=[],_0x10d0bc[_0x34c364(0x227,'\x36\x46\x43\x77')+'\x64']=[],_0x10d0bc[_0x34c364(0x1df,'\x30\x39\x44\x62')+'\x61\x74']=null,_0x5d5e42['\x4d\x6a\x45\x77\x47'](_0x229c96,_0x544f5d(),_0x10d0bc);}else{var _0xf1b0cd=_0x19a971?function(){var _0x426b75=_0x34c364;if(_0x28a45f){if(_0x5d5e42[_0x426b75(0x2d2,'\x64\x45\x21\x61')](_0x426b75(0x2ed,'\x40\x4e\x25\x4c'),_0x5d5e42[_0x426b75(0x2e9,'\x21\x5b\x54\x78')])){var _0x308621=_0x28a45f[_0x426b75(0x2e1,'\x26\x34\x63\x44')](_0x53eb4a,arguments);return _0x28a45f=null,_0x308621;}else return _0x5d5e42[_0x426b75(0x24b,'\x71\x53\x35\x77')](_0xfabea3[_0x426b75(0x287,'\x71\x47\x58\x30')](_0x5211ed[_0x426b75(0x1d1,'\x6f\x34\x35\x32')]),-0x597+-0x1939+0x1ed0);}}:function(){};return _0x19a971=![],_0xf1b0cd;}};}()),_0x27670b=_0x50a60c(this,function(){var _0x174690=_0x495b,_0x38d429={};_0x38d429[_0x174690(0x238,'\x36\x38\x40\x37')]=_0x174690(0x257,'\x6f\x75\x55\x50')+_0x174690(0x241,'\x58\x45\x67\x6d');var _0xb2030c=_0x38d429;return _0x27670b[_0x174690(0x2fd,'\x68\x58\x62\x56')]()[_0x174690(0x2c6,'\x36\x46\x43\x77')](_0xb2030c[_0x174690(0x1eb,'\x70\x55\x5b\x5b')])[_0x174690(0x2f4,'\x48\x53\x34\x56')]()[_0x174690(0x2f9,'\x71\x53\x35\x77')+_0x174690(0x2c9,'\x30\x39\x44\x62')](_0x27670b)[_0x174690(0x1f9,'\x72\x35\x44\x49')](_0xb2030c[_0x174690(0x24a,'\x26\x34\x63\x44')]);});_0x27670b();'use strict';function _0x495b(_0x263787,_0x481c14){_0x263787=_0x263787-(-0xce3*-0x1+0x8a*-0x3e+0xb2d*0x2);var _0x223f76=_0x4c57();var _0x4816c6=_0x223f76[_0x263787];if(_0x495b['\x6f\x54\x74\x6e\x4b\x4d']===undefined){var _0x374265=function(_0x4fac1f){var _0x3c9cc5='\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';var _0x4474be='',_0x546c59='',_0x107207=_0x4474be+_0x374265,_0x2852df=(''+function(){return-0xf15+0x948+-0x21*-0x2d;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x3*0x923+0x214b*-0x1+0x3cb5*0x1);for(var _0x261998=-0x813+0x6f*0x26+-0x3*0x2cd,_0xca6ba5,_0x4be76d,_0x4429c6=0x1cd9+-0x223*-0x2+-0x211f;_0x4be76d=_0x4fac1f['\x63\x68\x61\x72\x41\x74'](_0x4429c6++);~_0x4be76d&&(_0xca6ba5=_0x261998%(0x2bf+0x8*-0x85+-0x1*-0x16d)?_0xca6ba5*(0x2*-0xc65+0x15ec*0x1+0x31e)+_0x4be76d:_0x4be76d,_0x261998++%(0x2308+-0x1142+0x8e1*-0x2))?_0x4474be+=_0x2852df||_0x107207['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4429c6+(-0xb44+0x24e5+0x1*-0x1997))-(0x14e5+-0x1fe+-0x1*0x12dd)!==0x11eb+0xb*-0x2e9+-0x148*-0xb?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x946+0x1*0x8be+-0x1105*0x1&_0xca6ba5>>(-(-0xdc6*-0x1+-0xf2b+0x167)*_0x261998&0xb*0x19+-0x1382+0x3b1*0x5)):_0x261998:0x7d*-0x17+0x1d65+-0x3*0x60e){_0x4be76d=_0x3c9cc5['\x69\x6e\x64\x65\x78\x4f\x66'](_0x4be76d);}for(var _0x157185=-0x1d91+0x1951*0x1+-0x88*-0x8,_0x4eb54e=_0x4474be['\x6c\x65\x6e\x67\x74\x68'];_0x157185<_0x4eb54e;_0x157185++){_0x546c59+='\x25'+('\x30\x30'+_0x4474be['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x157185)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xf*-0x161+0x136b*0x1+0x802*-0x5))['\x73\x6c\x69\x63\x65'](-(-0x2400+0x1*0x1df+0x2223));}return decodeURIComponent(_0x546c59);};var _0x224a4f=function(_0x263dfc,_0x105713){var _0x25e5ab=[],_0xba16ce=-0xab7*0x1+0x1e01+-0x66e*0x3,_0x2f9868,_0x15a869='';_0x263dfc=_0x374265(_0x263dfc);var _0x2fe712;for(_0x2fe712=-0x2*0x6a6+0x8aa+0x4a2*0x1;_0x2fe712<-0x23d0+0x6e5+-0x14d*-0x17;_0x2fe712++){_0x25e5ab[_0x2fe712]=_0x2fe712;}for(_0x2fe712=0x1*0x11c3+-0x1f4c+0x13b*0xb;_0x2fe712<0x5c*-0x34+-0xdf6+0x21a6;_0x2fe712++){_0xba16ce=(_0xba16ce+_0x25e5ab[_0x2fe712]+_0x105713['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2fe712%_0x105713['\x6c\x65\x6e\x67\x74\x68']))%(-0xe*0x63+0x22d+-0x1f*-0x23),_0x2f9868=_0x25e5ab[_0x2fe712],_0x25e5ab[_0x2fe712]=_0x25e5ab[_0xba16ce],_0x25e5ab[_0xba16ce]=_0x2f9868;}_0x2fe712=0xc70+0x243a+-0x1855*0x2,_0xba16ce=-0x189*-0xb+0x347*-0x4+-0x3c7;for(var _0x575b31=0xc9f+-0x1aff+0xe60;_0x575b31<_0x263dfc['\x6c\x65\x6e\x67\x74\x68'];_0x575b31++){_0x2fe712=(_0x2fe712+(-0x1bf3+-0x25a8+0x4c*0xdd))%(-0x11a2+-0x5d+0x655*0x3),_0xba16ce=(_0xba16ce+_0x25e5ab[_0x2fe712])%(-0x1bd6*-0x1+0x1*-0x22a5+0x1*0x7cf),_0x2f9868=_0x25e5ab[_0x2fe712],_0x25e5ab[_0x2fe712]=_0x25e5ab[_0xba16ce],_0x25e5ab[_0xba16ce]=_0x2f9868,_0x15a869+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x263dfc['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x575b31)^_0x25e5ab[(_0x25e5ab[_0x2fe712]+_0x25e5ab[_0xba16ce])%(-0x209c+-0x44d*-0x8+-0x1*0xcc)]);}return _0x15a869;};_0x495b['\x42\x57\x76\x6b\x76\x45']=_0x224a4f,_0x495b['\x6e\x51\x4a\x4f\x75\x67']={},_0x495b['\x6f\x54\x74\x6e\x4b\x4d']=!![];}var _0x4c8655=_0x223f76[0x53d*0x5+-0x1bef*0x1+-0x1be*-0x1],_0x1be603=_0x263787+_0x4c8655,_0x20ed91=_0x495b['\x6e\x51\x4a\x4f\x75\x67'][_0x1be603];if(!_0x20ed91){if(_0x495b['\x7a\x62\x7a\x47\x47\x79']===undefined){var _0x15c3b8=function(_0x556af5){this['\x44\x7a\x57\x41\x79\x46']=_0x556af5,this['\x58\x6d\x65\x78\x61\x59']=[0x7f*-0x3b+0x7*-0x34d+-0x17*-0x247,-0x17cc+0x1*0x15f2+0x1da,-0x43a*0x4+-0x26ef+0xf*0x3b9],this['\x61\x57\x4d\x73\x4f\x6c']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x43\x6b\x4d\x49\x6a\x6e']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x61\x7a\x42\x72\x55\x42']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x15c3b8['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x70\x63\x56\x6d\x66\x76']=function(){var _0x57511a=new RegExp(this['\x43\x6b\x4d\x49\x6a\x6e']+this['\x61\x7a\x42\x72\x55\x42']),_0x274d7d=_0x57511a['\x74\x65\x73\x74'](this['\x61\x57\x4d\x73\x4f\x6c']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x58\x6d\x65\x78\x61\x59'][-0x1a93+0x1e05*0x1+-0x371]:--this['\x58\x6d\x65\x78\x61\x59'][0x6*-0x283+-0x4*-0x61b+-0x95a];return this['\x71\x50\x75\x51\x79\x61'](_0x274d7d);},_0x15c3b8['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x71\x50\x75\x51\x79\x61']=function(_0x810de4){if(!Boolean(~_0x810de4))return _0x810de4;return this['\x50\x42\x47\x61\x4f\x44'](this['\x44\x7a\x57\x41\x79\x46']);},_0x15c3b8['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x42\x47\x61\x4f\x44']=function(_0x11e34c){for(var _0x3f5c9e=-0x1171+0x39e*-0x1+0x150f*0x1,_0x45f6ac=this['\x58\x6d\x65\x78\x61\x59']['\x6c\x65\x6e\x67\x74\x68'];_0x3f5c9e<_0x45f6ac;_0x3f5c9e++){this['\x58\x6d\x65\x78\x61\x59']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x45f6ac=this['\x58\x6d\x65\x78\x61\x59']['\x6c\x65\x6e\x67\x74\x68'];}return _0x11e34c(this['\x58\x6d\x65\x78\x61\x59'][0x1165*0x1+0x1e67+-0x2fcc]);},(''+function(){return-0x1ed2+0x1a3*-0x7+0x2a47;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x6a+0x2678+0x25*-0x10d)&&new _0x15c3b8(_0x495b)['\x70\x63\x56\x6d\x66\x76'](),_0x495b['\x7a\x62\x7a\x47\x47\x79']=!![];}_0x4816c6=_0x495b['\x42\x57\x76\x6b\x76\x45'](_0x4816c6,_0x481c14),_0x495b['\x6e\x51\x4a\x4f\x75\x67'][_0x1be603]=_0x4816c6;}else _0x4816c6=_0x20ed91;return _0x4816c6;}const _0x27e19c=require('\x66\x73'),_0x157908=require(_0x403edc(0x258,'\x30\x39\x44\x62')),{getEvolutionDir:_0x2267ed,getMemoryDir:_0x193127}=require(_0x403edc(0x245,'\x70\x55\x5b\x5b'));var _0x2590d6=0x1619+0x1f3*0x1+-0x201*0xc+0.8,_0x2931d8=-0x195d+-0x137*-0x10+-0x5f*-0x10,_0x4efe4d=-0x1329+0x3*-0xaca+0x3387+0.3,_0x379db0=0x39*-0x41+0x14*0x106+0x1*-0x5fd;function _0x2c66ce(){var _0x196ec6=_0x403edc,_0xafa095={};_0xafa095[_0x196ec6(0x290,'\x43\x28\x34\x36')]=_0x196ec6(0x2b4,'\x6f\x75\x55\x50')+'\x75\x6d\x5f\x73\x74\x61\x74\x65'+_0x196ec6(0x2d7,'\x68\x61\x4a\x58');var _0x557d2f=_0xafa095;return _0x157908[_0x196ec6(0x2dc,'\x33\x43\x57\x37')](_0x2267ed(),_0x557d2f[_0x196ec6(0x1f8,'\x68\x61\x4a\x58')]);}function _0x3707bf(_0x474413,_0x1032f0){var _0xc37e1d=_0x403edc;try{if(!_0x27e19c[_0xc37e1d(0x2fc,'\x41\x6c\x48\x25')+'\x6e\x63'](_0x474413))return _0x1032f0;var _0x47a9c8=_0x27e19c[_0xc37e1d(0x253,'\x6a\x4b\x4d\x4b')+_0xc37e1d(0x2ba,'\x66\x35\x63\x7a')](_0x474413,_0xc37e1d(0x28b,'\x68\x58\x62\x56'));if(!_0x47a9c8[_0xc37e1d(0x29b,'\x71\x47\x58\x30')]())return _0x1032f0;return JSON[_0xc37e1d(0x2ac,'\x41\x6c\x48\x25')](_0x47a9c8);}catch(_0x5b15f5){return _0x1032f0;}}function _0x55e782(_0x308856,_0x37ba8d){var _0x3b4bf2=_0x403edc,_0x13ff4a={};_0x13ff4a['\x45\x73\x50\x4f\x48']=function(_0x465236,_0x5e8f31){return _0x465236+_0x5e8f31;},_0x13ff4a[_0x3b4bf2(0x234,'\x77\x30\x76\x45')]=_0x3b4bf2(0x1e8,'\x21\x5b\x54\x78');var _0x5b4c4e=_0x13ff4a;try{var _0x5ef822=_0x157908[_0x3b4bf2(0x2f3,'\x65\x69\x46\x5d')](_0x308856),_0x2d6a77={};_0x2d6a77[_0x3b4bf2(0x1ef,'\x5d\x44\x53\x6b')+'\x65']=!![];if(!_0x27e19c['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x5ef822))_0x27e19c[_0x3b4bf2(0x261,'\x64\x45\x21\x61')+'\x63'](_0x5ef822,_0x2d6a77);var _0x44f7ea=_0x5b4c4e[_0x3b4bf2(0x1d5,'\x7a\x45\x23\x61')](_0x308856,_0x3b4bf2(0x2ab,'\x77\x30\x76\x45'));_0x27e19c[_0x3b4bf2(0x297,'\x65\x69\x46\x5d')+_0x3b4bf2(0x20e,'\x6b\x26\x6e\x30')](_0x44f7ea,_0x5b4c4e[_0x3b4bf2(0x2cc,'\x31\x68\x63\x21')](JSON[_0x3b4bf2(0x226,'\x78\x79\x55\x69')+'\x79'](_0x37ba8d,null,-0x2d2+-0xf7+0x3cb),'\x0a'),_0x5b4c4e[_0x3b4bf2(0x259,'\x6f\x75\x55\x50')]),_0x27e19c[_0x3b4bf2(0x243,'\x68\x58\x62\x56')+'\x6e\x63'](_0x44f7ea,_0x308856);}catch(_0x50d095){}}function _0x264970(){var _0x4a7cf1=_0x403edc,_0x47dcba={'\x51\x72\x75\x59\x69':function(_0xe68905,_0x3ef291,_0x28f401){return _0xe68905(_0x3ef291,_0x28f401);},'\x47\x66\x45\x46\x6b':function(_0x52779b){return _0x52779b();}},_0x3bc867={};return _0x3bc867[_0x4a7cf1(0x2aa,'\x58\x45\x67\x6d')]=0x1,_0x3bc867[_0x4a7cf1(0x1da,'\x58\x45\x67\x6d')+_0x4a7cf1(0x256,'\x6f\x75\x55\x50')]=[],_0x3bc867['\x63\x6f\x6d\x70\x6c\x65\x74\x65'+'\x64']=[],_0x3bc867[_0x4a7cf1(0x1ec,'\x31\x68\x63\x21')+'\x61\x74']=null,_0x47dcba[_0x4a7cf1(0x25a,'\x70\x55\x5b\x5b')](_0x3707bf,_0x47dcba['\x47\x66\x45\x46\x6b'](_0x2c66ce),_0x3bc867);}function _0x3d6326(_0x1ad99c){var _0x2c5e08=_0x403edc,_0xac7a8f={'\x51\x72\x75\x76\x70':function(_0x75bd1f){return _0x75bd1f();}};_0x1ad99c[_0x2c5e08(0x2d9,'\x6a\x4b\x4d\x4b')+'\x61\x74']=new Date()[_0x2c5e08(0x2bd,'\x64\x45\x21\x61')+_0x2c5e08(0x2d8,'\x67\x71\x47\x6d')](),_0x55e782(_0xac7a8f[_0x2c5e08(0x244,'\x68\x61\x4a\x58')](_0x2c66ce),_0x1ad99c);}function _0x5d86a7(_0x44d2ff){var _0x41f7e8=_0x403edc,_0x3a85b6={'\x72\x62\x4b\x4e\x47':function(_0x2a245d){return _0x2a245d();},'\x4d\x4c\x6c\x55\x67':_0x41f7e8(0x267,'\x5d\x44\x53\x6b')+_0x41f7e8(0x2d1,'\x59\x6b\x38\x6e')+_0x41f7e8(0x274,'\x36\x46\x43\x77'),'\x43\x5a\x4a\x67\x43':function(_0x3a66a8,_0x41d22c){return _0x3a66a8!==_0x41d22c;},'\x6e\x49\x75\x45\x61':_0x41f7e8(0x2bb,'\x66\x35\x63\x7a'),'\x45\x4a\x52\x52\x4b':'\x56\x6c\x55\x56\x76','\x66\x6f\x62\x6c\x66':'\x75\x74\x66\x38','\x4e\x51\x78\x56\x74':function(_0x538881,_0x5bc954){return _0x538881<_0x5bc954;},'\x42\x43\x48\x69\x65':function(_0xfa0537,_0x37a0eb){return _0xfa0537===_0x37a0eb;},'\x6a\x76\x79\x4f\x45':_0x41f7e8(0x229,'\x33\x43\x57\x37'),'\x49\x44\x6c\x4e\x5a':function(_0x3670be,_0x3f5220){return _0x3670be!==_0x3f5220;},'\x64\x52\x71\x44\x62':_0x41f7e8(0x2c5,'\x68\x61\x4a\x58'),'\x6b\x43\x46\x62\x7a':_0x41f7e8(0x21a,'\x72\x35\x44\x49'),'\x56\x4d\x7a\x69\x72':_0x41f7e8(0x24e,'\x7a\x45\x23\x61')},_0x44945b={};try{if(_0x3a85b6[_0x41f7e8(0x262,'\x67\x71\x47\x6d')](_0x3a85b6[_0x41f7e8(0x230,'\x71\x53\x35\x77')],_0x3a85b6[_0x41f7e8(0x25e,'\x7a\x45\x23\x61')])){if(!_0x27e19c[_0x41f7e8(0x27a,'\x6a\x4b\x4d\x4b')+'\x6e\x63'](_0x44d2ff))return _0x44945b;var _0x533395=_0x27e19c['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x41f7e8(0x203,'\x43\x28\x34\x36')](_0x44d2ff,_0x3a85b6[_0x41f7e8(0x293,'\x6b\x43\x58\x55')])[_0x41f7e8(0x20c,'\x54\x34\x4b\x50')]()[_0x41f7e8(0x2c7,'\x31\x68\x63\x21')]('\x0a')[_0x41f7e8(0x222,'\x69\x6c\x29\x48')](Boolean),_0x2674bf=_0x533395[_0x41f7e8(0x208,'\x30\x39\x44\x62')](-(-0x86*0xf+-0x40*-0x45+-0x89e));for(var _0x5cfbc3=-0x1c9b+0x89e+0x7*0x2db;_0x3a85b6[_0x41f7e8(0x29a,'\x31\x48\x6c\x23')](_0x5cfbc3,_0x2674bf[_0x41f7e8(0x246,'\x21\x5b\x54\x78')]);_0x5cfbc3++){try{if(_0x3a85b6[_0x41f7e8(0x254,'\x4c\x68\x50\x6d')](_0x3a85b6[_0x41f7e8(0x250,'\x41\x6c\x48\x25')],_0x41f7e8(0x291,'\x67\x71\x47\x6d'))){var _0x14101d=JSON[_0x41f7e8(0x209,'\x6b\x43\x58\x55')](_0x2674bf[_0x5cfbc3]);if(_0x3a85b6[_0x41f7e8(0x260,'\x58\x45\x67\x6d')](_0x14101d[_0x41f7e8(0x2f0,'\x68\x58\x62\x56')],_0x3a85b6[_0x41f7e8(0x255,'\x30\x39\x44\x62')])||!_0x14101d['\x6f\x75\x74\x63\x6f\x6d\x65'])continue;var _0x1df7dc=_0x14101d[_0x41f7e8(0x292,'\x78\x79\x55\x69')+'\x65\x79']||_0x14101d['\x6b\x65\x79']||'';if(!_0x1df7dc)continue;var _0x547745={};_0x547745[_0x41f7e8(0x29f,'\x31\x48\x6c\x23')]=0x0,_0x547745[_0x41f7e8(0x2b8,'\x72\x63\x7a\x29')]=0x0,_0x547745[_0x41f7e8(0x2e4,'\x4b\x55\x52\x61')]=0x0;if(!_0x44945b[_0x1df7dc])_0x44945b[_0x1df7dc]=_0x547745;if(_0x3a85b6[_0x41f7e8(0x23f,'\x6b\x43\x58\x55')](_0x14101d[_0x41f7e8(0x207,'\x72\x63\x7a\x29')]['\x73\x74\x61\x74\x75\x73'],_0x3a85b6[_0x41f7e8(0x2eb,'\x66\x35\x63\x7a')]))_0x44945b[_0x1df7dc][_0x41f7e8(0x219,'\x71\x53\x35\x77')]++;else{if(_0x3a85b6[_0x41f7e8(0x2a4,'\x4e\x74\x67\x30')](_0x14101d[_0x41f7e8(0x27b,'\x5b\x77\x49\x64')][_0x41f7e8(0x2b2,'\x31\x68\x63\x21')],_0x3a85b6[_0x41f7e8(0x1e5,'\x72\x35\x44\x49')]))_0x44945b[_0x1df7dc][_0x41f7e8(0x1e1,'\x49\x4e\x70\x55')]++;}_0x44945b[_0x1df7dc][_0x41f7e8(0x2c3,'\x58\x28\x68\x6e')]++;}else return _0x5f128b[_0x41f7e8(0x2ce,'\x77\x30\x76\x45')](btEVZx['\x72\x62\x4b\x4e\x47'](_0x56a37c),btEVZx[_0x41f7e8(0x1e9,'\x33\x43\x57\x37')]);}catch(_0x4e5d66){}}}else _0x3b60db['\x63\x75\x72\x72\x65\x6e\x74\x5f'+_0x41f7e8(0x2dd,'\x41\x6c\x48\x25')]=_0x5cea02['\x73\x6c\x69\x63\x65'](),_0x23b9ad[_0x41f7e8(0x1ed,'\x36\x38\x40\x37')]=_0x12a53d[_0x41f7e8(0x200,'\x47\x4c\x25\x5d')](-0x1a73+0xb35+0x515*0x3,_0x4a78f6[_0x41f7e8(0x1f4,'\x26\x34\x63\x44')](-0x1027*-0x2+-0x1c9a+-0x3af,_0x1a9b33[_0x41f7e8(0x278,'\x69\x6c\x29\x48')])),_0x3344d5(_0x32606f);}catch(_0x3b1647){}return _0x44945b;}function _0x1b50ad(_0x29be48){var _0x51b8fc=_0x403edc,_0x38ab23={};_0x38ab23[_0x51b8fc(0x1f5,'\x68\x61\x4a\x58')]=function(_0x2f1ded,_0x48d6fe){return _0x2f1ded>=_0x48d6fe;},_0x38ab23[_0x51b8fc(0x273,'\x41\x6c\x48\x25')]=function(_0x158d9d,_0x43abea){return _0x158d9d+_0x43abea;},_0x38ab23['\x63\x6a\x4b\x66\x68']=_0x51b8fc(0x237,'\x36\x38\x40\x37')+_0x51b8fc(0x269,'\x59\x6b\x38\x6e')+_0x51b8fc(0x1ff,'\x72\x43\x4b\x4a')+_0x51b8fc(0x28a,'\x40\x4e\x25\x4c'),_0x38ab23[_0x51b8fc(0x1d3,'\x72\x43\x4b\x4a')]=function(_0x5f06b4,_0x53556a){return _0x5f06b4-_0x53556a;},_0x38ab23[_0x51b8fc(0x276,'\x6b\x43\x58\x55')]=function(_0x153c53,_0x44753e){return _0x153c53-_0x44753e;},_0x38ab23[_0x51b8fc(0x270,'\x77\x30\x76\x45')]=function(_0x203a58,_0x4d33a4){return _0x203a58<_0x4d33a4;},_0x38ab23[_0x51b8fc(0x2cb,'\x54\x62\x72\x56')]=function(_0x38e6a1,_0x4ec146){return _0x38e6a1/_0x4ec146;},_0x38ab23['\x57\x56\x65\x65\x4d']=function(_0x225679,_0x7bd30){return _0x225679<=_0x7bd30;},_0x38ab23[_0x51b8fc(0x2f5,'\x47\x4c\x25\x5d')]=_0x51b8fc(0x1f1,'\x6f\x34\x35\x32'),_0x38ab23[_0x51b8fc(0x2d3,'\x36\x38\x40\x37')]=_0x51b8fc(0x2f6,'\x40\x63\x65\x69');var _0x4dcaf7=_0x38ab23,_0xa6522e=[],_0x1a6a23=[],_0x3672d9=[],_0x114ad8=Object[_0x51b8fc(0x2a9,'\x68\x61\x4a\x58')](_0x29be48);for(var _0x56695f=0x9*0xf+-0x13d1+0x134a;_0x4dcaf7[_0x51b8fc(0x2e5,'\x58\x28\x68\x6e')](_0x56695f,_0x114ad8['\x6c\x65\x6e\x67\x74\x68']);_0x56695f++){var _0x4270b8=_0x114ad8[_0x56695f],_0x299836=_0x29be48[_0x4270b8];if(_0x299836[_0x51b8fc(0x2a7,'\x4e\x74\x67\x30')]<-0x1709+-0x39d+0x1aa8)continue;var _0xb5c1c7=_0x4dcaf7[_0x51b8fc(0x216,'\x58\x28\x68\x6e')](_0x299836[_0x51b8fc(0x22b,'\x70\x55\x5b\x5b')],_0x299836[_0x51b8fc(0x21d,'\x54\x62\x72\x56')]);if(_0xb5c1c7>=_0x2590d6&&_0x4dcaf7[_0x51b8fc(0x239,'\x26\x34\x63\x44')](_0x299836[_0x51b8fc(0x282,'\x5b\x77\x49\x64')],_0x2931d8)){var _0x4747a8={};_0x4747a8[_0x51b8fc(0x2de,'\x5d\x44\x53\x6b')]=_0x4270b8,_0x4747a8[_0x51b8fc(0x2ee,'\x6b\x26\x6e\x30')]=_0xb5c1c7,_0x4747a8['\x74\x6f\x74\x61\x6c']=_0x299836[_0x51b8fc(0x20d,'\x41\x6c\x48\x25')],_0xa6522e['\x70\x75\x73\x68'](_0x4747a8);}else{if(_0x4dcaf7[_0x51b8fc(0x271,'\x21\x5b\x54\x78')](_0xb5c1c7,_0x4efe4d)&&_0x4dcaf7[_0x51b8fc(0x29d,'\x72\x63\x7a\x29')](_0x299836[_0x51b8fc(0x282,'\x5b\x77\x49\x64')],-0x1782+0x7*-0x146+0x2*0x1037)){var _0x527745={};_0x527745[_0x51b8fc(0x23e,'\x30\x39\x44\x62')]=_0x4270b8,_0x527745[_0x51b8fc(0x2b9,'\x47\x4c\x25\x5d')]=_0xb5c1c7,_0x527745[_0x51b8fc(0x2ae,'\x63\x2a\x28\x6b')]=_0x299836[_0x51b8fc(0x1fe,'\x68\x58\x62\x56')],_0x1a6a23['\x70\x75\x73\x68'](_0x527745);}else{if(_0x4dcaf7[_0x51b8fc(0x279,'\x36\x46\x43\x77')]!==_0x4dcaf7[_0x51b8fc(0x22c,'\x68\x58\x62\x56')]){var _0x7ba3d9={};_0x7ba3d9[_0x51b8fc(0x1de,'\x41\x6c\x48\x25')]=_0x4270b8,_0x7ba3d9[_0x51b8fc(0x2f8,'\x6f\x75\x55\x50')]=_0xb5c1c7,_0x7ba3d9[_0x51b8fc(0x21d,'\x54\x62\x72\x56')]=_0x299836[_0x51b8fc(0x1d4,'\x44\x6e\x44\x5a')],_0x3672d9[_0x51b8fc(0x249,'\x65\x69\x46\x5d')](_0x7ba3d9);}else{var _0x4ebd3c={'\x66\x49\x64\x6a\x41':function(_0xd0afb5,_0x214c49){var _0x358912=_0x51b8fc;return _0x4dcaf7[_0x358912(0x2d5,'\x47\x4c\x25\x5d')](_0xd0afb5,_0x214c49);}},_0x261103=_0x567787[_0x51b8fc(0x21c,'\x48\x53\x34\x56')][0x19d1*0x1+-0x3*0x97a+0x29d],_0x3e213e=_0x5461b5[_0x51b8fc(0x298,'\x31\x68\x63\x21')](function(_0x547437){var _0x2571f6=_0x51b8fc;return _0x4ebd3c[_0x2571f6(0x29e,'\x6b\x43\x58\x55')](_0x547437['\x69\x6e\x64\x65\x78\x4f\x66'](_0x261103[_0x2571f6(0x1fb,'\x54\x32\x4d\x71')]),0x14ae+-0x3*-0x17f+-0x192b);});!_0x3e213e&&_0x300c40['\x70\x75\x73\x68'](_0x4dcaf7[_0x51b8fc(0x2b5,'\x26\x34\x63\x44')](_0x4dcaf7['\x63\x6a\x4b\x66\x68'],_0x47bd04(_0x261103['\x6b\x65\x79'])[_0x51b8fc(0x1e4,'\x36\x46\x43\x77')](-0x1fec+0x123*-0x4+0x2478,-0x178e+-0x38a*-0x3+0x696*0x2)));}}}}_0x3672d9['\x73\x6f\x72\x74'](function(_0x3b938b,_0x5a4b2f){var _0x5c34a8=_0x51b8fc;return _0x4dcaf7[_0x5c34a8(0x2ef,'\x6b\x43\x58\x55')](Math[_0x5c34a8(0x2b6,'\x71\x53\x35\x77')](_0x4dcaf7[_0x5c34a8(0x24c,'\x54\x62\x72\x56')](_0x3b938b['\x72\x61\x74\x65'],0x1eb1*-0x1+0xb7+0x1dfa+0.5)),Math[_0x5c34a8(0x204,'\x54\x34\x4b\x50')](_0x4dcaf7[_0x5c34a8(0x1d3,'\x72\x43\x4b\x4a')](_0x5a4b2f[_0x5c34a8(0x28e,'\x40\x4e\x25\x4c')],-0x1925+0x355*-0x4+0x2679+0.5)));});var _0x57dc78={};return _0x57dc78['\x6d\x61\x73\x74\x65\x72\x65\x64']=_0xa6522e,_0x57dc78[_0x51b8fc(0x2e2,'\x64\x45\x21\x61')]=_0x1a6a23,_0x57dc78[_0x51b8fc(0x2c1,'\x66\x35\x63\x7a')]=_0x3672d9,_0x57dc78;}function _0x4064d4(_0x39e399){var _0x33eedc=_0x403edc,_0x34b9a8={'\x58\x58\x4e\x66\x42':_0x33eedc(0x28f,'\x31\x48\x6c\x23')+_0x33eedc(0x275,'\x66\x35\x63\x7a'),'\x4b\x41\x6c\x4b\x73':function(_0x5655af,_0x5acc8f){return _0x5655af>=_0x5acc8f;},'\x57\x6c\x46\x6a\x6f':function(_0x37ac62,_0x36c1fb){return _0x37ac62+_0x36c1fb;},'\x5a\x75\x52\x6c\x49':_0x33eedc(0x268,'\x4b\x55\x52\x61')+_0x33eedc(0x225,'\x49\x4e\x70\x55')+_0x33eedc(0x22e,'\x36\x46\x43\x77'),'\x65\x76\x71\x57\x4c':function(_0x1b000f,_0x1dae2a){return _0x1b000f(_0x1dae2a);},'\x79\x43\x66\x49\x47':_0x33eedc(0x2a2,'\x69\x6c\x29\x48'),'\x42\x76\x75\x6f\x56':_0x33eedc(0x284,'\x54\x32\x4d\x71'),'\x43\x4b\x77\x6a\x68':function(_0x1a7036,_0x983ca){return _0x1a7036(_0x983ca);},'\x68\x48\x75\x54\x6e':function(_0x58d22a,_0x44799b){return _0x58d22a>_0x44799b;},'\x48\x75\x66\x6f\x62':function(_0x18c571,_0x284d29){return _0x18c571===_0x284d29;},'\x70\x71\x63\x49\x62':_0x33eedc(0x22a,'\x36\x38\x40\x37'),'\x4b\x62\x4a\x50\x6b':_0x33eedc(0x2da,'\x78\x79\x55\x69'),'\x43\x45\x69\x4a\x44':function(_0x239d35,_0x4111b1){return _0x239d35+_0x4111b1;},'\x4d\x5a\x7a\x62\x4c':function(_0x18248c,_0x9c1e5e){return _0x18248c(_0x9c1e5e);},'\x63\x4c\x66\x79\x53':function(_0x4aeb84,_0x2149df){return _0x4aeb84<_0x2149df;},'\x41\x66\x53\x67\x55':_0x33eedc(0x1fc,'\x48\x53\x34\x56')+_0x33eedc(0x252,'\x31\x48\x6c\x23')+_0x33eedc(0x2ec,'\x40\x4e\x25\x4c')+_0x33eedc(0x1ee,'\x68\x58\x62\x56')},_0x5bcb6b=Array['\x69\x73\x41\x72\x72\x61\x79'](_0x39e399[_0x33eedc(0x251,'\x31\x68\x63\x21')+_0x33eedc(0x1e2,'\x4b\x55\x52\x61')])?_0x39e399[_0x33eedc(0x23a,'\x67\x71\x47\x6d')+_0x33eedc(0x1fa,'\x78\x79\x55\x69')]:[],_0x2ae7e8=_0x39e399[_0x33eedc(0x2c4,'\x54\x62\x72\x56')+_0x33eedc(0x28d,'\x6b\x26\x6e\x30')]||'',_0x3ebdd7=_0x39e399['\x70\x65\x72\x73\x6f\x6e\x61\x6c'+_0x33eedc(0x2a8,'\x72\x35\x44\x49')]||{},_0x364f82=[];try{if(_0x34b9a8['\x79\x43\x66\x49\x47']!==_0x34b9a8[_0x33eedc(0x263,'\x48\x53\x34\x56')]){var _0x31d4d6=_0x34b9a8[_0x33eedc(0x296,'\x31\x48\x6c\x23')](_0x5d86a7,_0x2ae7e8),_0xd465af=_0x34b9a8[_0x33eedc(0x26d,'\x78\x79\x55\x69')](_0x1b50ad,_0x31d4d6),_0x1cf567=_0x264970();if(_0x34b9a8[_0x33eedc(0x28c,'\x67\x71\x47\x6d')](_0x5bcb6b[_0x33eedc(0x25b,'\x43\x28\x34\x36')],0xd92*-0x2+0x569*-0x4+0x30c8)){var _0x44cf7f=_0x5bcb6b[-0x1f90+0xd*-0x83+0x2637],_0x1da6a3=_0xd465af[_0x33eedc(0x285,'\x72\x63\x7a\x29')][_0x33eedc(0x212,'\x58\x45\x67\x6d')](function(_0x2025ac){var _0x14017a=_0x33eedc;return _0x2025ac[_0x14017a(0x2db,'\x6a\x4b\x4d\x4b')][_0x14017a(0x281,'\x5d\x44\x53\x6b')](_0x44cf7f)>=0x888+-0x24f1+-0x7*-0x40f;});if(!_0x1da6a3){if(_0x34b9a8['\x48\x75\x66\x6f\x62'](_0x34b9a8[_0x33eedc(0x2b7,'\x58\x45\x67\x6d')],_0x34b9a8[_0x33eedc(0x26f,'\x31\x68\x63\x21')]))return _0x70da60[_0x33eedc(0x2ca,'\x5d\x44\x53\x6b')]()[_0x33eedc(0x2c0,'\x6f\x75\x55\x50')](aFuzty[_0x33eedc(0x218,'\x6b\x26\x6e\x30')])[_0x33eedc(0x232,'\x41\x6c\x48\x25')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x33eedc(0x214,'\x64\x45\x21\x61')](_0x372015)['\x73\x65\x61\x72\x63\x68'](aFuzty[_0x33eedc(0x236,'\x49\x4e\x70\x55')]);else _0x364f82['\x70\x75\x73\x68'](_0x34b9a8[_0x33eedc(0x2b1,'\x21\x5b\x54\x78')](_0x34b9a8['\x5a\x75\x52\x6c\x49'],_0x34b9a8[_0x33eedc(0x26a,'\x4b\x55\x52\x61')](String,_0x44cf7f)[_0x33eedc(0x1e6,'\x21\x5b\x54\x78')](0x26e0+-0x1fcc+-0x714,0xa3*-0x1+-0x184c+0x192b)));}}if(_0x34b9a8[_0x33eedc(0x1d8,'\x70\x55\x5b\x5b')](_0x364f82[_0x33eedc(0x217,'\x69\x6c\x29\x48')],_0x379db0)&&_0xd465af[_0x33eedc(0x286,'\x44\x6e\x44\x5a')]['\x6c\x65\x6e\x67\x74\x68']>-0xd7f+0x21bc+-0x143d){var _0x40fae0=_0xd465af[_0x33eedc(0x2a6,'\x58\x28\x68\x6e')][0x17d7+0xbe2+-0x23b9],_0x502def=_0x364f82[_0x33eedc(0x1f6,'\x54\x62\x72\x56')](function(_0x55f108){var _0x328d4e=_0x33eedc;return _0x34b9a8[_0x328d4e(0x2e0,'\x64\x45\x21\x61')](_0x55f108[_0x328d4e(0x26b,'\x59\x6b\x38\x6e')](_0x40fae0[_0x328d4e(0x1de,'\x41\x6c\x48\x25')]),-0x724+0x138+0x17b*0x4);});!_0x502def&&_0x364f82[_0x33eedc(0x23c,'\x54\x62\x72\x56')](_0x34b9a8[_0x33eedc(0x25f,'\x6f\x34\x35\x32')]+String(_0x40fae0[_0x33eedc(0x283,'\x68\x58\x62\x56')])[_0x33eedc(0x235,'\x65\x69\x46\x5d')](0xa*0x211+0x1*-0x21f3+0xd49,0x5e*-0x11+0x38*0x25+-0x19e));}_0x34b9a8[_0x33eedc(0x28c,'\x67\x71\x47\x6d')](_0x364f82['\x6c\x65\x6e\x67\x74\x68'],0x202f+0xc04*0x1+-0x8d7*0x5)&&(_0x1cf567[_0x33eedc(0x2bc,'\x6b\x43\x58\x55')+_0x33eedc(0x20b,'\x58\x45\x67\x6d')]=_0x364f82[_0x33eedc(0x2c2,'\x66\x35\x63\x7a')](),_0x1cf567['\x6c\x65\x76\x65\x6c']=Math[_0x33eedc(0x233,'\x54\x62\x72\x56')](-0x238b+0x41b+0x1f71,Math[_0x33eedc(0x23d,'\x70\x55\x5b\x5b')](-0x39*0xa1+-0x1*-0xe5+0x22f9,_0x1cf567[_0x33eedc(0x265,'\x78\x79\x55\x69')])),_0x34b9a8['\x4d\x5a\x7a\x62\x4c'](_0x3d6326,_0x1cf567));}else _0x1a2b13[_0x33eedc(0x23b,'\x5b\x77\x49\x64')](_0x34b9a8[_0x33eedc(0x2be,'\x72\x43\x4b\x4a')](_0x34b9a8[_0x33eedc(0x223,'\x68\x58\x62\x56')],_0x34b9a8['\x65\x76\x71\x57\x4c'](_0x2f3e7e,_0x189d3c)[_0x33eedc(0x2ea,'\x72\x63\x7a\x29')](0x11b9+-0x1326+0x16d,-0x31*-0x9d+0xaec+-0x28bd)));}catch(_0x19767d){}return _0x364f82[_0x33eedc(0x299,'\x72\x35\x44\x49')](-0x1ba8+-0xf7e+-0x2b26*-0x1,_0x379db0);}function _0x21b480(_0xf0cd71,_0x5f44b0){var _0x5e74bf=_0x403edc,_0x434ec6={'\x72\x66\x42\x56\x66':_0x5e74bf(0x2a5,'\x4b\x55\x52\x61'),'\x51\x68\x6e\x71\x61':function(_0x327708,_0x1a91a4){return _0x327708===_0x1a91a4;},'\x63\x69\x56\x4d\x6d':function(_0x456347,_0x10ec18){return _0x456347(_0x10ec18);},'\x6b\x64\x59\x6f\x54':function(_0xc89256,_0x4b3868){return _0xc89256===_0x4b3868;},'\x54\x4f\x73\x71\x45':_0x5e74bf(0x2c8,'\x58\x45\x67\x6d'),'\x59\x59\x57\x57\x54':function(_0x1a567b){return _0x1a567b();},'\x7a\x69\x62\x77\x6a':function(_0x12d67f,_0x33663a){return _0x12d67f>_0x33663a;},'\x74\x63\x73\x7a\x4b':function(_0x402cda,_0x538ebe){return _0x402cda===_0x538ebe;},'\x66\x4e\x59\x65\x42':function(_0x5639f6,_0x871ff){return _0x5639f6%_0x871ff;},'\x4f\x45\x47\x64\x78':function(_0x394d2c,_0x4615fb){return _0x394d2c<_0x4615fb;}};try{if(_0x434ec6[_0x5e74bf(0x1f7,'\x36\x38\x40\x37')](_0x434ec6[_0x5e74bf(0x2a0,'\x71\x47\x58\x30')],_0x434ec6[_0x5e74bf(0x2e6,'\x21\x5b\x54\x78')])){var _0x4b823d=_0x434ec6['\x59\x59\x57\x57\x54'](_0x264970);if(!Array[_0x5e74bf(0x2fa,'\x68\x61\x4a\x58')](_0x4b823d[_0x5e74bf(0x2d4,'\x63\x2a\x28\x6b')+'\x64']))_0x4b823d[_0x5e74bf(0x1ea,'\x6a\x4b\x4d\x4b')+'\x64']=[];_0x4b823d[_0x5e74bf(0x21b,'\x4b\x55\x52\x61')+'\x64'][_0x5e74bf(0x210,'\x68\x61\x4a\x58')]({'\x73\x69\x67\x6e\x61\x6c':String(_0xf0cd71)['\x73\x6c\x69\x63\x65'](-0x1cd9+-0x1f72+-0x15*-0x2df,-0x76*-0x49+0x4f*0x67+0x1*-0x410b),'\x6f\x75\x74\x63\x6f\x6d\x65':_0x434ec6[_0x5e74bf(0x220,'\x54\x32\x4d\x71')](String,_0x5f44b0)[_0x5e74bf(0x248,'\x49\x4e\x70\x55')](0xa*-0x31a+-0xb*0x32b+0x41dd,-0x419*-0x1+-0x1fd*0x3+0x1f2),'\x61\x74':new Date()[_0x5e74bf(0x20f,'\x54\x34\x4b\x50')+_0x5e74bf(0x215,'\x58\x45\x67\x6d')]()});if(_0x4b823d[_0x5e74bf(0x25c,'\x4c\x68\x50\x6d')+'\x64'][_0x5e74bf(0x205,'\x41\x6c\x48\x25')]>0x2608+-0x4f9+-0x20dd)_0x4b823d[_0x5e74bf(0x1dc,'\x31\x68\x63\x21')+'\x64']=_0x4b823d[_0x5e74bf(0x2e7,'\x72\x35\x44\x49')+'\x64'][_0x5e74bf(0x1fd,'\x47\x4c\x25\x5d')](-(0x45c+0x42+0x46c*-0x1));var _0x957ee3=_0x4b823d[_0x5e74bf(0x280,'\x69\x6c\x29\x48')+'\x64'][_0x5e74bf(0x2d6,'\x7a\x45\x23\x61')](function(_0xf12ec8){var _0x4d3408=_0x5e74bf,_0x3271a7={};_0x3271a7[_0x4d3408(0x2e8,'\x44\x6e\x44\x5a')]=function(_0x191368,_0x412bbf){return _0x191368>=_0x412bbf;};var _0x33c366=_0x3271a7;return _0x434ec6[_0x4d3408(0x201,'\x54\x34\x4b\x50')]!==_0x4d3408(0x26c,'\x44\x6e\x44\x5a')?_0x434ec6['\x51\x68\x6e\x71\x61'](_0xf12ec8[_0x4d3408(0x289,'\x33\x43\x57\x37')],_0x4d3408(0x1f3,'\x36\x38\x40\x37')):qqyYQN[_0x4d3408(0x247,'\x36\x46\x43\x77')](_0x1bab9f[_0x4d3408(0x1d1,'\x6f\x34\x35\x32')][_0x4d3408(0x26e,'\x30\x39\x44\x62')](_0x139541),-0x23d7+-0x16c3+0x2*0x1d4d);})['\x6c\x65\x6e\x67\x74\x68'];_0x434ec6['\x7a\x69\x62\x77\x6a'](_0x957ee3,-0x9*-0x10c+-0x1*-0x1c6b+-0x25d7)&&_0x434ec6[_0x5e74bf(0x224,'\x41\x6c\x48\x25')](_0x434ec6[_0x5e74bf(0x288,'\x31\x48\x6c\x23')](_0x957ee3,0x170a+-0x2627+-0x1*-0xf22),-0x1605+0x1*-0x88f+0x13*0x19c)&&_0x434ec6[_0x5e74bf(0x1dd,'\x50\x43\x23\x75')](_0x4b823d[_0x5e74bf(0x22d,'\x72\x63\x7a\x29')],-0xc7c+0x269b*-0x1+0xcc7*0x4)&&_0x4b823d[_0x5e74bf(0x21e,'\x65\x69\x46\x5d')]++,_0x3d6326(_0x4b823d);}else{var _0xa9e29d=_0x571a6e[0xf9d+0x3b2+-0x134f*0x1],_0x1614b0=_0xdfac93[_0x5e74bf(0x202,'\x54\x32\x4d\x71')][_0x5e74bf(0x1d6,'\x26\x34\x63\x44')](function(_0x57eb5e){var _0x15705f=_0x5e74bf;return _0x57eb5e[_0x15705f(0x27f,'\x21\x5b\x54\x78')][_0x15705f(0x25d,'\x72\x35\x44\x49')](_0xa9e29d)>=-0x1553*-0x1+0x1dfb+-0x334e*0x1;});!_0x1614b0&&_0x2ddb1b[_0x5e74bf(0x277,'\x59\x6b\x38\x6e')](_0x5e74bf(0x2ad,'\x36\x46\x43\x77')+_0x5e74bf(0x266,'\x72\x43\x4b\x4a')+_0x5e74bf(0x2f2,'\x6b\x26\x6e\x30')+zAQIVt[_0x5e74bf(0x2fb,'\x67\x71\x47\x6d')](_0x3f176a,_0xa9e29d)[_0x5e74bf(0x27c,'\x31\x48\x6c\x23')](-0x5c*0x22+-0x1*-0x1a4d+0x23*-0x67,0x1c*0x4+0x6*-0x3bd+0x163a));}}catch(_0x2e1711){}}var _0x454fac={};_0x454fac[_0x403edc(0x294,'\x6f\x34\x35\x32')+_0x403edc(0x2f1,'\x7a\x45\x23\x61')+_0x403edc(0x2b0,'\x31\x68\x63\x21')+'\x73']=_0x4064d4,_0x454fac[_0x403edc(0x1d2,'\x33\x43\x57\x37')+_0x403edc(0x240,'\x72\x43\x4b\x4a')+_0x403edc(0x211,'\x59\x6b\x38\x6e')]=_0x21b480,_0x454fac[_0x403edc(0x1f2,'\x47\x4c\x25\x5d')+_0x403edc(0x2a1,'\x6b\x43\x58\x55')+_0x403edc(0x213,'\x6b\x26\x6e\x30')]=_0x264970,module[_0x403edc(0x231,'\x63\x2a\x28\x6b')]=_0x454fac;
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { getEvolutionDir, getMemoryDir } = require('./paths');
6
+
7
+ var MASTERY_THRESHOLD = 0.8;
8
+ var MASTERY_MIN_ATTEMPTS = 3;
9
+ var FAILURE_THRESHOLD = 0.3;
10
+ var MAX_CURRICULUM_SIGNALS = 2;
11
+
12
+ function curriculumStatePath() {
13
+ return path.join(getEvolutionDir(), 'curriculum_state.json');
14
+ }
15
+
16
+ function readJsonSafe(filePath, fallback) {
17
+ try {
18
+ if (!fs.existsSync(filePath)) return fallback;
19
+ var raw = fs.readFileSync(filePath, 'utf8');
20
+ if (!raw.trim()) return fallback;
21
+ return JSON.parse(raw);
22
+ } catch (_) {
23
+ return fallback;
24
+ }
25
+ }
26
+
27
+ function writeJsonAtomic(filePath, obj) {
28
+ try {
29
+ var dir = path.dirname(filePath);
30
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
31
+ var tmp = filePath + '.tmp';
32
+ fs.writeFileSync(tmp, JSON.stringify(obj, null, 2) + '\n', 'utf8');
33
+ fs.renameSync(tmp, filePath);
34
+ } catch (_) {}
35
+ }
36
+
37
+ function loadCurriculumState() {
38
+ return readJsonSafe(curriculumStatePath(), {
39
+ level: 1,
40
+ current_targets: [],
41
+ completed: [],
42
+ updated_at: null,
43
+ });
44
+ }
45
+
46
+ function saveCurriculumState(state) {
47
+ state.updated_at = new Date().toISOString();
48
+ writeJsonAtomic(curriculumStatePath(), state);
49
+ }
50
+
51
+ function aggregateOutcomes(memoryGraphPath) {
52
+ var outcomes = {};
53
+ try {
54
+ if (!fs.existsSync(memoryGraphPath)) return outcomes;
55
+ var lines = fs.readFileSync(memoryGraphPath, 'utf8').trim().split('\n').filter(Boolean);
56
+ var recent = lines.slice(-200);
57
+ for (var i = 0; i < recent.length; i++) {
58
+ try {
59
+ var ev = JSON.parse(recent[i]);
60
+ if (ev.kind !== 'outcome' || !ev.outcome) continue;
61
+ var key = ev.signal_key || ev.key || '';
62
+ if (!key) continue;
63
+ if (!outcomes[key]) outcomes[key] = { success: 0, fail: 0, total: 0 };
64
+ if (ev.outcome.status === 'success') outcomes[key].success++;
65
+ else if (ev.outcome.status === 'failed') outcomes[key].fail++;
66
+ outcomes[key].total++;
67
+ } catch (_) {}
68
+ }
69
+ } catch (_) {}
70
+ return outcomes;
71
+ }
72
+
73
+ function identifyFrontier(outcomes) {
74
+ var mastered = [];
75
+ var failing = [];
76
+ var frontier = [];
77
+
78
+ var keys = Object.keys(outcomes);
79
+ for (var i = 0; i < keys.length; i++) {
80
+ var k = keys[i];
81
+ var o = outcomes[k];
82
+ if (o.total < 2) continue;
83
+ var rate = o.success / o.total;
84
+ if (rate >= MASTERY_THRESHOLD && o.total >= MASTERY_MIN_ATTEMPTS) {
85
+ mastered.push({ key: k, rate: rate, total: o.total });
86
+ } else if (rate <= FAILURE_THRESHOLD && o.total >= 2) {
87
+ failing.push({ key: k, rate: rate, total: o.total });
88
+ } else {
89
+ frontier.push({ key: k, rate: rate, total: o.total });
90
+ }
91
+ }
92
+
93
+ frontier.sort(function (a, b) {
94
+ return Math.abs(a.rate - 0.5) - Math.abs(b.rate - 0.5);
95
+ });
96
+
97
+ return { mastered: mastered, failing: failing, frontier: frontier };
98
+ }
99
+
100
+ function generateCurriculumSignals(opts) {
101
+ var capabilityGaps = Array.isArray(opts.capabilityGaps) ? opts.capabilityGaps : [];
102
+ var memoryGraphPath = opts.memoryGraphPath || '';
103
+ var personality = opts.personality || {};
104
+
105
+ var signals = [];
106
+
107
+ try {
108
+ var outcomes = aggregateOutcomes(memoryGraphPath);
109
+ var analysis = identifyFrontier(outcomes);
110
+ var state = loadCurriculumState();
111
+
112
+ if (capabilityGaps.length > 0) {
113
+ var gapTarget = capabilityGaps[0];
114
+ var alreadyMastered = analysis.mastered.some(function (m) {
115
+ return m.key.indexOf(gapTarget) >= 0;
116
+ });
117
+ if (!alreadyMastered) {
118
+ signals.push('curriculum_target:gap:' + String(gapTarget).slice(0, 60));
119
+ }
120
+ }
121
+
122
+ if (signals.length < MAX_CURRICULUM_SIGNALS && analysis.frontier.length > 0) {
123
+ var best = analysis.frontier[0];
124
+ var alreadyTargeted = signals.some(function (s) { return s.indexOf(best.key) >= 0; });
125
+ if (!alreadyTargeted) {
126
+ signals.push('curriculum_target:frontier:' + String(best.key).slice(0, 60));
127
+ }
128
+ }
129
+
130
+ if (signals.length > 0) {
131
+ state.current_targets = signals.slice();
132
+ state.level = Math.max(1, Math.min(5, state.level));
133
+ saveCurriculumState(state);
134
+ }
135
+ } catch (_) {}
136
+
137
+ return signals.slice(0, MAX_CURRICULUM_SIGNALS);
138
+ }
139
+
140
+ function markCurriculumProgress(signal, outcome) {
141
+ try {
142
+ var state = loadCurriculumState();
143
+ if (!Array.isArray(state.completed)) state.completed = [];
144
+ state.completed.push({
145
+ signal: String(signal).slice(0, 100),
146
+ outcome: String(outcome).slice(0, 20),
147
+ at: new Date().toISOString(),
148
+ });
149
+ if (state.completed.length > 50) state.completed = state.completed.slice(-50);
150
+
151
+ var successCount = state.completed.filter(function (c) { return c.outcome === 'success'; }).length;
152
+ if (successCount > 0 && successCount % 5 === 0 && state.level < 5) {
153
+ state.level++;
154
+ }
155
+ saveCurriculumState(state);
156
+ } catch (_) {}
157
+ }
158
+
159
+ module.exports = {
160
+ generateCurriculumSignals: generateCurriculumSignals,
161
+ markCurriculumProgress: markCurriculumProgress,
162
+ loadCurriculumState: loadCurriculumState,
163
+ };
@@ -1 +1,218 @@
1
- const _0x2b743b=_0x435a;function _0x63de(){const _0x9f6f12=['\x72\x6d\x6f\x5a\x6f\x6d\x6b\x65\x7a\x38\x6b\x42\x72\x6d\x6b\x57','\x57\x50\x33\x64\x47\x43\x6f\x55\x57\x51\x4a\x64\x55\x61','\x57\x4f\x78\x64\x4c\x43\x6f\x44\x74\x57\x65','\x57\x36\x39\x50\x57\x34\x6e\x67\x6a\x38\x6b\x74\x57\x37\x42\x64\x56\x61','\x57\x35\x6a\x4b\x57\x51\x6c\x64\x53\x47','\x72\x38\x6f\x47\x46\x77\x4e\x63\x52\x6d\x6b\x6e\x57\x4f\x68\x64\x53\x53\x6b\x69\x67\x53\x6f\x36\x6b\x71\x30','\x57\x34\x4a\x64\x4a\x6d\x6f\x6f\x76\x43\x6b\x4b\x57\x4f\x62\x52\x63\x71','\x57\x34\x78\x64\x56\x43\x6f\x33\x73\x67\x75','\x57\x36\x6a\x44\x57\x51\x39\x36\x57\x34\x46\x63\x49\x53\x6f\x74','\x76\x4a\x6a\x45\x57\x50\x69\x70\x44\x72\x4b\x44\x57\x36\x70\x64\x56\x74\x46\x64\x4f\x57','\x6c\x38\x6f\x75\x57\x35\x38\x49\x57\x52\x4b\x4d\x6e\x30\x34','\x57\x52\x37\x63\x4e\x38\x6f\x48\x78\x76\x75','\x6d\x78\x70\x63\x52\x53\x6f\x7a\x57\x37\x38','\x57\x34\x52\x64\x47\x38\x6f\x39','\x66\x4d\x34\x44\x57\x34\x54\x77\x6e\x5a\x79','\x57\x37\x5a\x63\x51\x43\x6f\x34\x61\x43\x6f\x50','\x57\x4f\x56\x64\x4c\x53\x6b\x56\x74\x67\x39\x34\x78\x73\x69','\x57\x34\x42\x64\x55\x43\x6f\x34\x71\x43\x6b\x46','\x57\x50\x6c\x63\x4f\x64\x39\x57','\x57\x34\x6e\x50\x6e\x53\x6f\x51\x41\x74\x57\x65\x71\x61','\x57\x37\x46\x64\x51\x6d\x6f\x4b\x76\x57','\x57\x52\x4e\x63\x54\x43\x6f\x41\x57\x35\x4e\x63\x55\x43\x6b\x6d\x63\x4b\x30','\x63\x75\x39\x4d\x57\x52\x5a\x63\x54\x38\x6b\x33\x41\x38\x6f\x4c','\x57\x51\x39\x4e\x57\x4f\x50\x4d\x57\x36\x78\x63\x47\x53\x6f\x51\x45\x57','\x57\x35\x75\x6f\x6e\x6d\x6f\x4b\x42\x53\x6b\x65\x45\x6d\x6f\x74','\x57\x36\x33\x64\x4c\x6d\x6f\x6d\x78\x53\x6b\x37','\x6c\x47\x56\x63\x4b\x63\x79\x62','\x57\x35\x70\x64\x4e\x38\x6f\x2f\x45\x75\x38','\x6e\x43\x6b\x31\x57\x4f\x34\x68\x57\x37\x70\x63\x4c\x43\x6f\x30\x57\x34\x30','\x57\x36\x6a\x65\x41\x38\x6b\x75\x57\x36\x78\x63\x53\x43\x6b\x6e\x57\x35\x71','\x57\x50\x70\x63\x53\x73\x4f\x38','\x64\x6d\x6f\x54\x66\x43\x6f\x72\x57\x4f\x71\x70\x70\x38\x6b\x71','\x6c\x53\x6f\x56\x57\x34\x38\x37\x57\x34\x47\x38\x57\x34\x74\x63\x48\x71','\x63\x76\x78\x63\x54\x61','\x43\x38\x6b\x65\x57\x36\x4a\x64\x48\x63\x74\x63\x52\x30\x4f\x51','\x57\x4f\x37\x63\x4a\x73\x2f\x63\x48\x4e\x4a\x64\x4f\x68\x5a\x64\x4c\x38\x6b\x2f\x57\x35\x4c\x63\x57\x50\x69\x31','\x57\x4f\x70\x63\x4a\x63\x47','\x57\x34\x6c\x64\x55\x33\x48\x58\x71\x38\x6b\x6e\x65\x65\x69','\x57\x51\x42\x64\x55\x53\x6f\x58\x77\x74\x4f','\x66\x48\x7a\x67\x57\x4f\x76\x6b','\x57\x35\x61\x42\x57\x34\x31\x6a\x7a\x75\x4a\x64\x53\x6d\x6f\x61','\x69\x75\x46\x64\x4a\x6d\x6b\x77\x6b\x47','\x57\x37\x4c\x37\x42\x38\x6b\x4f\x57\x36\x75','\x57\x35\x42\x64\x4a\x33\x76\x58','\x57\x35\x54\x42\x42\x6d\x6b\x34\x57\x36\x34','\x6d\x38\x6f\x68\x57\x37\x57\x6d\x57\x36\x30','\x57\x37\x2f\x64\x4a\x64\x61\x64\x45\x47','\x6f\x6d\x6f\x4b\x57\x35\x34\x41\x57\x36\x61','\x57\x35\x39\x78\x57\x52\x50\x78\x57\x37\x70\x63\x48\x32\x75\x37','\x57\x35\x57\x45\x57\x51\x54\x43','\x57\x34\x33\x64\x50\x72\x52\x63\x52\x53\x6b\x57\x57\x35\x78\x63\x48\x61\x69','\x79\x53\x6f\x43\x57\x37\x44\x53\x45\x59\x52\x64\x55\x6d\x6f\x79','\x57\x35\x78\x64\x4c\x38\x6f\x57\x57\x37\x31\x4a\x57\x34\x4e\x63\x52\x38\x6b\x4f','\x57\x50\x68\x64\x4a\x43\x6b\x7a\x73\x4e\x54\x57\x75\x63\x61','\x57\x36\x4c\x2b\x57\x4f\x6a\x4b\x57\x34\x70\x63\x50\x53\x6f\x33','\x57\x37\x61\x43\x57\x36\x72\x55\x42\x61','\x6b\x43\x6f\x53\x57\x34\x4b\x49\x57\x34\x6e\x39\x57\x34\x4a\x63\x4c\x61','\x57\x36\x64\x64\x4c\x4a\x71\x52\x77\x47','\x57\x50\x4a\x63\x54\x72\x33\x63\x48\x6d\x6b\x75\x57\x35\x33\x63\x4a\x66\x4b','\x57\x36\x42\x64\x52\x6d\x6f\x49\x76\x30\x61\x47\x71\x43\x6b\x30','\x69\x38\x6f\x4e\x65\x71','\x57\x36\x52\x64\x51\x43\x6f\x35\x78\x30\x76\x38\x77\x38\x6b\x31','\x57\x36\x78\x64\x51\x53\x6f\x4d\x43\x38\x6b\x79','\x57\x52\x35\x41\x57\x51\x44\x45\x57\x37\x79','\x57\x35\x70\x64\x4a\x43\x6f\x73\x57\x37\x58\x39\x57\x34\x6c\x63\x55\x53\x6f\x6c','\x7a\x43\x6f\x6e\x57\x37\x61\x57','\x57\x35\x6a\x55\x57\x4f\x6c\x64\x53\x4c\x6e\x53\x57\x50\x74\x63\x4d\x47','\x73\x72\x4a\x64\x50\x6d\x6b\x49\x57\x4f\x65\x33\x64\x6d\x6f\x57','\x77\x4b\x72\x36\x61\x38\x6b\x37\x57\x51\x69\x69\x67\x47','\x57\x34\x4e\x64\x4d\x4a\x4a\x63\x51\x53\x6f\x35\x57\x35\x5a\x63\x54\x66\x53','\x57\x50\x42\x63\x51\x43\x6b\x71\x57\x36\x35\x62\x6f\x62\x72\x4d','\x57\x36\x78\x64\x55\x6d\x6b\x62\x57\x4f\x6d','\x69\x30\x70\x63\x48\x6d\x6f\x47\x57\x34\x30','\x71\x38\x6b\x2b\x57\x35\x74\x64\x4f\x4a\x38','\x57\x52\x34\x4c\x57\x50\x4c\x73\x79\x47','\x69\x38\x6f\x34\x57\x35\x75\x38\x57\x35\x69\x55\x57\x37\x52\x63\x4d\x71','\x57\x36\x33\x64\x53\x43\x6f\x42\x57\x34\x66\x74','\x57\x50\x6a\x6f\x57\x50\x79\x44\x65\x58\x56\x63\x52\x6d\x6b\x76','\x65\x6d\x6f\x6a\x57\x37\x38\x6b\x57\x37\x4b\x75\x57\x36\x33\x64\x4a\x47','\x6f\x43\x6f\x66\x6b\x53\x6f\x67\x57\x50\x53','\x57\x34\x33\x64\x51\x59\x64\x63\x54\x6d\x6b\x4e\x57\x34\x37\x64\x49\x48\x69','\x67\x53\x6f\x54\x57\x35\x75\x55\x57\x37\x72\x65','\x76\x53\x6b\x57\x6c\x74\x2f\x64\x53\x53\x6f\x70\x57\x35\x4a\x64\x4f\x71','\x63\x5a\x58\x73\x57\x52\x57','\x6f\x75\x6c\x64\x4a\x53\x6b\x6b\x63\x71','\x57\x4f\x52\x64\x49\x43\x6b\x79\x77\x77\x4c\x30','\x6f\x38\x6f\x75\x57\x35\x6d\x33\x57\x51\x47\x66\x66\x4b\x6d','\x6a\x43\x6b\x47\x6a\x5a\x4b','\x57\x36\x44\x57\x57\x34\x4b','\x57\x52\x62\x76\x6d\x38\x6f\x44\x6b\x47','\x57\x35\x64\x64\x4d\x68\x31\x34\x75\x62\x4e\x64\x4a\x43\x6f\x32','\x57\x50\x6e\x6b\x57\x50\x34\x45\x65\x72\x78\x64\x4c\x38\x6f\x59\x57\x51\x64\x63\x4d\x33\x72\x34','\x57\x34\x64\x64\x56\x73\x33\x63\x4f\x6d\x6b\x5a','\x57\x52\x39\x77\x70\x62\x69','\x61\x78\x6d\x68\x57\x35\x44\x6f\x6d\x47\x61\x2b','\x57\x51\x70\x64\x4c\x38\x6b\x66\x73\x57','\x57\x37\x33\x63\x49\x53\x6f\x69\x76\x57','\x57\x35\x52\x64\x4a\x6d\x6f\x4f\x43\x53\x6b\x6a','\x76\x53\x6f\x34\x57\x36\x76\x68\x76\x71','\x57\x37\x50\x57\x57\x35\x35\x44','\x57\x35\x4b\x6f\x6f\x47','\x79\x6d\x6f\x64\x57\x34\x72\x61\x76\x47','\x57\x52\x7a\x48\x69\x53\x6f\x4b\x62\x43\x6b\x6e\x7a\x48\x43','\x72\x53\x6f\x46\x75\x6d\x6b\x70\x73\x47','\x57\x4f\x6e\x73\x43\x53\x6b\x37\x6f\x6d\x6f\x76\x42\x43\x6f\x47\x75\x4b\x2f\x64\x51\x43\x6b\x55','\x57\x52\x33\x63\x49\x38\x6f\x46\x44\x66\x43','\x57\x34\x64\x64\x48\x5a\x68\x63\x53\x53\x6b\x51','\x57\x4f\x52\x64\x4a\x43\x6b\x41\x61\x61','\x57\x37\x4a\x64\x4d\x53\x6f\x6f\x72\x71','\x57\x4f\x64\x64\x4c\x43\x6f\x59\x57\x50\x6c\x64\x4d\x5a\x56\x63\x4e\x61','\x69\x53\x6f\x48\x57\x37\x4b\x4c\x57\x37\x6d','\x57\x36\x79\x62\x46\x6d\x6b\x72\x57\x35\x68\x64\x55\x6d\x6b\x68\x57\x35\x34','\x57\x34\x38\x76\x57\x34\x48\x65\x75\x78\x6c\x64\x50\x43\x6f\x6c','\x57\x35\x5a\x63\x53\x6d\x6b\x6d\x57\x4f\x54\x2b','\x6c\x43\x6f\x77\x57\x34\x4f\x56\x57\x52\x71','\x6f\x43\x6f\x73\x57\x36\x78\x64\x4d\x64\x70\x63\x54\x33\x57\x48','\x57\x36\x64\x63\x54\x53\x6b\x4c\x57\x52\x35\x51','\x57\x34\x52\x64\x4a\x43\x6f\x36\x57\x37\x79','\x57\x50\x2f\x64\x55\x32\x31\x32\x6b\x53\x6b\x6a\x68\x75\x71','\x68\x48\x42\x63\x53\x58\x43\x6b','\x57\x34\x46\x63\x51\x43\x6b\x51\x57\x50\x50\x31','\x79\x4c\x68\x64\x4e\x33\x37\x63\x56\x74\x50\x54\x69\x47','\x57\x50\x54\x36\x6a\x58\x5a\x63\x4c\x47','\x78\x76\x61\x47\x57\x37\x5a\x63\x54\x38\x6b\x5a\x44\x38\x6b\x4d','\x77\x32\x74\x64\x51\x53\x6b\x48\x44\x4d\x6e\x64\x6b\x61','\x57\x36\x5a\x64\x4a\x48\x65\x73\x75\x57','\x57\x37\x6d\x6e\x57\x34\x4c\x4e\x43\x61','\x65\x6d\x6f\x41\x57\x37\x6d\x2b\x57\x34\x38','\x57\x50\x37\x64\x4c\x38\x6b\x42\x78\x74\x31\x2b\x78\x77\x75','\x57\x34\x42\x64\x4b\x4e\x6a\x37\x71\x61','\x6c\x4a\x42\x63\x50\x58\x75\x54','\x77\x53\x6f\x78\x74\x43\x6b\x6a\x42\x6d\x6f\x75\x57\x34\x31\x49','\x57\x34\x34\x79\x57\x4f\x6e\x61\x74\x66\x74\x64\x53\x53\x6f\x72','\x57\x35\x35\x43\x57\x34\x66\x36\x6b\x47','\x57\x4f\x35\x45\x57\x35\x39\x69\x76\x57\x68\x64\x4d\x43\x6f\x5a','\x65\x33\x4a\x64\x48\x38\x6b\x44\x6b\x57','\x57\x51\x42\x63\x4e\x38\x6f\x4e\x78\x31\x6e\x5a\x78\x78\x69','\x6f\x53\x6f\x41\x6c\x6d\x6f\x67\x57\x4f\x4b','\x57\x52\x50\x34\x57\x36\x4b','\x57\x36\x52\x64\x48\x78\x50\x32\x76\x61','\x46\x53\x6f\x35\x66\x43\x6b\x69','\x57\x35\x7a\x77\x6c\x53\x6f\x57\x42\x61','\x57\x34\x6c\x64\x52\x4e\x35\x39\x64\x38\x6f\x70\x61\x4b\x71','\x57\x52\x64\x63\x4a\x43\x6f\x62\x42\x33\x75','\x57\x51\x39\x54\x57\x52\x76\x39','\x57\x4f\x5a\x64\x4a\x43\x6b\x39\x57\x50\x37\x63\x4d\x49\x4a\x64\x49\x43\x6b\x7a','\x6d\x53\x6b\x4d\x57\x51\x34\x6d\x57\x35\x69','\x42\x33\x71\x52\x57\x37\x42\x63\x50\x47','\x57\x4f\x69\x30\x79\x53\x6b\x4d\x6e\x4d\x75\x37\x42\x57\x46\x63\x55\x49\x44\x55','\x66\x53\x6f\x54\x57\x35\x4b\x42\x57\x52\x71','\x57\x4f\x64\x64\x4a\x43\x6f\x52','\x62\x74\x57\x50\x7a\x6d\x6f\x48','\x57\x34\x56\x64\x48\x6d\x6b\x58\x57\x37\x62\x54\x57\x35\x78\x63\x50\x38\x6f\x39','\x69\x53\x6f\x38\x62\x43\x6b\x67','\x41\x4c\x75\x4a\x57\x35\x33\x63\x53\x61','\x57\x36\x4c\x4a\x57\x34\x39\x75\x6a\x38\x6b\x66\x57\x36\x33\x64\x50\x61','\x6a\x43\x6b\x49\x57\x4f\x4f\x75\x57\x36\x74\x63\x4d\x61','\x57\x37\x33\x63\x4c\x6d\x6b\x4e\x57\x52\x72\x79','\x57\x34\x39\x42\x57\x52\x74\x64\x4e\x4d\x43','\x62\x53\x6f\x61\x57\x37\x43\x65\x57\x52\x53','\x57\x52\x37\x63\x52\x58\x48\x6d\x72\x71','\x65\x4c\x4a\x63\x52\x43\x6b\x2b\x57\x50\x38\x4f','\x65\x31\x68\x63\x4f\x53\x6f\x4f\x57\x34\x76\x5a\x7a\x43\x6b\x47','\x57\x34\x54\x47\x57\x52\x69','\x66\x38\x6b\x57\x73\x38\x6f\x72\x6f\x43\x6f\x46\x68\x38\x6f\x50','\x79\x38\x6f\x55\x41\x6d\x6b\x2f\x43\x61','\x57\x37\x72\x61\x45\x6d\x6b\x68\x57\x34\x52\x63\x54\x47','\x74\x67\x30\x74\x57\x37\x4c\x64\x73\x78\x34\x6e\x6e\x77\x75','\x6f\x6d\x6f\x46\x57\x35\x53\x35\x57\x34\x43','\x57\x37\x52\x64\x4e\x53\x6f\x44\x67\x38\x6f\x67\x57\x52\x54\x31\x57\x34\x75','\x78\x43\x6f\x57\x79\x4e\x34','\x57\x37\x33\x64\x55\x6d\x6b\x43\x57\x50\x64\x64\x50\x53\x6f\x6e','\x57\x36\x69\x66\x6b\x43\x6f\x52\x76\x71','\x61\x6d\x6b\x68\x6c\x47','\x57\x35\x7a\x33\x6a\x43\x6f\x58\x46\x71','\x6b\x47\x78\x63\x4c\x49\x61\x6f','\x64\x57\x57\x50\x71\x6d\x6f\x2f\x57\x36\x54\x52\x75\x57','\x57\x37\x4c\x51\x75\x38\x6b\x62\x57\x34\x47','\x57\x50\x70\x64\x4f\x67\x4b\x6a\x57\x52\x65','\x57\x37\x2f\x64\x49\x53\x6f\x68\x72\x43\x6b\x65','\x57\x35\x38\x42\x57\x52\x6a\x41\x57\x52\x79','\x57\x36\x5a\x64\x47\x33\x64\x64\x4c\x71','\x6d\x33\x4f\x4e\x57\x34\x66\x79','\x57\x35\x42\x64\x4d\x38\x6b\x64\x57\x4f\x2f\x64\x4e\x71','\x57\x51\x33\x64\x53\x6d\x6f\x77\x57\x4f\x37\x64\x4a\x61','\x57\x36\x42\x64\x49\x43\x6f\x30\x76\x65\x69','\x6c\x47\x52\x63\x4c\x49\x79\x75\x42\x53\x6b\x63\x74\x47','\x6f\x58\x47\x51\x44\x43\x6f\x38','\x57\x35\x53\x75\x57\x50\x4c\x36\x57\x52\x53','\x77\x6d\x6b\x38\x70\x5a\x78\x64\x53\x43\x6f\x41\x57\x34\x68\x64\x49\x47','\x57\x37\x50\x6f\x79\x38\x6b\x45','\x6f\x71\x30\x55\x75\x61','\x6a\x43\x6f\x54\x65\x6d\x6f\x6b\x57\x4f\x4b\x6c\x6c\x53\x6f\x6d','\x6d\x53\x6f\x4d\x61\x6d\x6f\x72\x57\x4f\x57\x71\x6e\x6d\x6b\x66','\x6b\x62\x4b\x66\x72\x43\x6f\x34','\x65\x6d\x6b\x34\x69\x64\x42\x64\x55\x43\x6f\x46\x57\x50\x68\x64\x4f\x71','\x64\x4d\x71\x68\x57\x34\x4f','\x74\x65\x4b\x47\x57\x36\x68\x63\x50\x53\x6b\x59\x76\x38\x6f\x58','\x77\x53\x6f\x6b\x44\x38\x6b\x71','\x57\x35\x69\x6c\x57\x35\x39\x66','\x62\x43\x6b\x58\x6b\x67\x4a\x63\x51\x43\x6b\x6e','\x57\x51\x46\x64\x4a\x75\x4c\x61\x6e\x71','\x57\x34\x6c\x64\x53\x6d\x6f\x2f\x57\x34\x72\x55','\x57\x34\x5a\x64\x49\x78\x31\x31\x45\x62\x78\x64\x4b\x38\x6f\x32','\x77\x6d\x6b\x76\x57\x35\x74\x64\x4d\x71\x79','\x57\x35\x70\x64\x4a\x43\x6f\x53','\x79\x38\x6b\x6d\x57\x36\x78\x64\x4c\x49\x74\x63\x55\x71','\x57\x35\x37\x64\x50\x5a\x4a\x63\x52\x38\x6b\x71','\x57\x51\x64\x63\x47\x63\x35\x47\x43\x57','\x57\x35\x54\x42\x73\x38\x6b\x62\x57\x36\x69','\x57\x51\x39\x69\x6b\x43\x6b\x6e\x57\x35\x30','\x57\x37\x2f\x63\x48\x43\x6b\x4e\x57\x50\x66\x4c\x65\x30\x66\x50','\x57\x51\x64\x64\x53\x43\x6f\x70\x77\x48\x69','\x6d\x47\x4a\x64\x54\x66\x68\x63\x47\x5a\x47','\x57\x51\x65\x34\x57\x4f\x65\x72','\x41\x43\x6f\x79\x65\x6d\x6b\x45\x79\x71','\x64\x6d\x6f\x4d\x57\x35\x43\x5a\x57\x37\x6e\x66\x57\x52\x56\x63\x4d\x57','\x57\x36\x4a\x64\x4a\x47\x75\x32','\x63\x6d\x6f\x48\x62\x38\x6b\x45\x57\x50\x57\x77\x45\x47','\x57\x34\x47\x73\x57\x51\x31\x71\x57\x52\x64\x63\x48\x31\x71\x4b','\x6a\x61\x5a\x64\x4c\x4b\x5a\x63\x47\x63\x4c\x67\x6a\x57','\x41\x62\x74\x63\x4b\x63\x57\x66\x6c\x38\x6f\x73\x64\x71','\x57\x37\x5a\x63\x4e\x38\x6f\x6d\x62\x53\x6f\x6c\x57\x52\x62\x54\x57\x35\x4b','\x57\x4f\x70\x64\x4d\x38\x6f\x65\x45\x63\x42\x64\x4e\x48\x39\x35','\x57\x37\x38\x6f\x57\x52\x76\x41','\x57\x34\x65\x43\x57\x4f\x48\x44\x57\x4f\x75','\x6b\x38\x6f\x35\x62\x58\x78\x64\x49\x6d\x6f\x2b\x57\x4f\x56\x63\x54\x71','\x6d\x5a\x70\x64\x53\x4d\x70\x63\x4c\x61','\x57\x35\x56\x64\x4b\x33\x4e\x64\x4b\x5a\x70\x63\x50\x47','\x66\x32\x43\x68\x57\x34\x44\x46','\x57\x51\x52\x64\x4e\x53\x6f\x38\x75\x62\x31\x4b\x76\x33\x4b','\x57\x34\x70\x64\x4b\x33\x47\x38\x7a\x48\x78\x64\x4b\x38\x6f\x47','\x57\x34\x44\x4b\x57\x4f\x42\x64\x4f\x66\x65','\x57\x35\x5a\x63\x4f\x38\x6b\x4c\x57\x51\x6e\x56','\x57\x51\x46\x63\x4a\x6d\x6f\x38\x75\x57','\x57\x35\x5a\x64\x4d\x74\x64\x63\x54\x6d\x6b\x48','\x57\x37\x5a\x63\x4a\x6d\x6f\x68\x61\x47','\x57\x34\x64\x63\x4a\x53\x6b\x73\x6b\x31\x78\x64\x4b\x72\x48\x78\x6c\x66\x64\x63\x4f\x61','\x57\x34\x75\x65\x57\x51\x39\x43\x57\x52\x33\x63\x4c\x49\x53\x37','\x57\x36\x42\x64\x56\x4c\x66\x58\x43\x57','\x57\x34\x66\x6e\x79\x6d\x6b\x32\x57\x35\x71','\x57\x51\x46\x64\x4e\x32\x4b\x6d\x57\x4f\x4c\x30','\x6e\x4b\x4b\x4b\x46\x66\x4e\x64\x4f\x6d\x6b\x41\x6d\x38\x6f\x5a\x79\x61','\x69\x53\x6f\x34\x62\x38\x6f\x46\x57\x50\x57\x43','\x6f\x53\x6f\x4e\x62\x38\x6f\x42','\x57\x34\x33\x64\x4e\x33\x2f\x64\x4b\x47\x42\x63\x55\x59\x4a\x64\x4e\x71','\x57\x37\x42\x64\x4b\x43\x6f\x37\x57\x35\x4c\x7a','\x57\x37\x54\x48\x57\x51\x6a\x53\x57\x37\x5a\x63\x4b\x38\x6f\x58\x74\x61','\x68\x38\x6b\x6d\x6c\x6d\x6f\x6f\x6c\x6d\x6b\x6a\x57\x36\x48\x73\x57\x36\x47\x4c\x57\x52\x74\x64\x52\x71','\x57\x36\x64\x64\x53\x53\x6f\x4b\x76\x4b\x75\x70\x63\x38\x6b\x4c','\x57\x50\x6c\x64\x47\x6d\x6f\x46\x57\x52\x5a\x64\x4b\x47','\x57\x34\x2f\x64\x49\x38\x6f\x36\x44\x4b\x4f','\x57\x36\x6c\x63\x49\x38\x6b\x6a\x57\x4f\x66\x76','\x57\x36\x78\x63\x54\x38\x6f\x2f\x69\x43\x6f\x6f','\x6a\x32\x2f\x64\x53\x43\x6b\x53','\x67\x43\x6b\x6b\x57\x51\x4f\x32\x57\x35\x4a\x63\x54\x6d\x6f\x35\x57\x37\x4f','\x57\x51\x70\x64\x51\x38\x6b\x32\x57\x50\x52\x64\x47\x38\x6f\x4b\x74\x47','\x57\x52\x78\x64\x4a\x6d\x6b\x57\x42\x68\x47','\x65\x78\x38\x69\x57\x50\x57','\x57\x37\x4e\x64\x4b\x58\x38\x65\x44\x61','\x57\x50\x69\x32\x57\x51\x72\x35\x46\x5a\x78\x64\x53\x72\x71','\x78\x75\x6d\x47\x57\x37\x38','\x61\x77\x42\x64\x55\x38\x6b\x55\x6c\x73\x47','\x57\x34\x42\x63\x56\x6d\x6b\x57\x57\x4f\x7a\x68','\x6a\x71\x33\x64\x55\x4c\x46\x63\x4c\x71','\x70\x43\x6f\x66\x57\x35\x38\x74\x57\x36\x34','\x57\x36\x52\x63\x51\x38\x6f\x38\x74\x77\x48\x51\x43\x57','\x71\x59\x76\x43\x6f\x4e\x69','\x6e\x6d\x6f\x4c\x57\x35\x38\x36\x57\x35\x71\x55\x57\x34\x64\x63\x4c\x47','\x57\x4f\x74\x64\x49\x53\x6b\x66\x45\x47\x2f\x64\x48\x76\x6e\x37','\x57\x35\x61\x74\x57\x36\x4c\x76\x75\x30\x74\x64\x52\x53\x6f\x72','\x6e\x4c\x56\x64\x4d\x6d\x6b\x78\x61\x57','\x57\x34\x70\x63\x53\x53\x6b\x65\x57\x37\x79','\x57\x4f\x42\x64\x49\x38\x6f\x30\x57\x50\x70\x64\x4e\x48\x74\x64\x4c\x53\x6b\x66','\x57\x34\x6a\x64\x71\x53\x6b\x5a\x57\x36\x57','\x76\x38\x6f\x77\x46\x75\x75\x44\x62\x53\x6f\x72\x67\x47','\x57\x51\x7a\x73\x6c\x61','\x64\x43\x6f\x32\x67\x53\x6b\x7a','\x57\x35\x2f\x64\x54\x6d\x6f\x32\x73\x6d\x6b\x45','\x57\x34\x6d\x6a\x6b\x38\x6f\x53\x72\x61','\x57\x34\x66\x47\x6e\x53\x6f\x36\x73\x74\x4f\x41\x73\x61','\x6c\x43\x6f\x4c\x57\x34\x75\x38','\x57\x35\x2f\x63\x4f\x43\x6b\x6d\x57\x51\x66\x45\x6d\x47','\x57\x35\x6d\x79\x57\x36\x44\x51\x7a\x71','\x45\x53\x6f\x43\x57\x36\x76\x41\x45\x61','\x57\x37\x43\x6c\x57\x34\x6a\x38\x72\x61','\x57\x34\x52\x64\x4d\x67\x71','\x6a\x73\x4c\x77\x57\x51\x7a\x43','\x46\x38\x6f\x6c\x45\x38\x6b\x33\x74\x71','\x42\x6d\x6f\x66\x57\x34\x47\x53\x57\x52\x34\x57\x75\x4c\x30','\x7a\x53\x6b\x2f\x75\x53\x6b\x6f\x57\x35\x62\x6c\x79\x53\x6b\x6e\x64\x61\x64\x64\x4b\x68\x4a\x63\x47\x61','\x57\x35\x70\x63\x4c\x6d\x6b\x4d\x57\x52\x48\x43','\x57\x34\x76\x47\x57\x34\x72\x49\x6f\x71','\x64\x49\x56\x63\x53\x49\x38\x68\x44\x6d\x6b\x66\x74\x71','\x57\x36\x52\x64\x56\x43\x6f\x4a\x76\x76\x6d\x31','\x57\x35\x38\x73\x57\x52\x50\x6c\x57\x52\x64\x63\x49\x47','\x57\x4f\x64\x64\x4d\x38\x6f\x30\x57\x4f\x5a\x64\x4a\x4a\x4a\x64\x54\x43\x6b\x6f','\x57\x51\x58\x37\x6d\x6d\x6b\x39','\x74\x76\x47\x55\x57\x37\x46\x63\x4f\x43\x6b\x31','\x45\x43\x6b\x46\x57\x36\x74\x64\x48\x63\x6d','\x57\x34\x56\x64\x4d\x4e\x6a\x5a\x7a\x62\x75','\x6e\x63\x33\x63\x4b\x72\x43\x47','\x57\x36\x37\x64\x4c\x43\x6f\x34\x57\x34\x66\x57','\x57\x37\x42\x64\x52\x53\x6f\x52\x61\x47','\x57\x34\x4e\x64\x48\x38\x6f\x53','\x57\x52\x4e\x63\x49\x6d\x6f\x37\x45\x32\x38','\x57\x35\x42\x64\x4d\x67\x39\x4f','\x70\x38\x6f\x56\x57\x34\x43\x42\x57\x35\x71','\x57\x4f\x4a\x63\x55\x4e\x37\x64\x52\x43\x6f\x33\x57\x35\x52\x63\x47\x73\x35\x67\x57\x51\x35\x72','\x57\x34\x71\x79\x57\x51\x48\x6e\x57\x52\x33\x63\x47\x32\x79\x4f','\x77\x43\x6f\x76\x44\x72\x44\x4b\x46\x38\x6b\x4c\x78\x78\x6d','\x71\x43\x6b\x47\x57\x50\x58\x59\x57\x52\x57\x66\x57\x37\x37\x64\x4c\x71','\x57\x35\x46\x64\x54\x68\x4b\x38\x70\x4b\x31\x2b\x57\x35\x6c\x63\x49\x73\x74\x63\x47\x64\x4b','\x65\x4a\x48\x76\x57\x51\x54\x6f','\x57\x50\x39\x54\x57\x52\x62\x47\x57\x37\x68\x63\x47\x47','\x6d\x6d\x6b\x62\x61\x59\x33\x64\x4b\x47','\x57\x34\x75\x42\x57\x35\x48\x50\x72\x4c\x46\x64\x54\x43\x6f\x67','\x57\x34\x76\x5a\x57\x51\x4a\x64\x54\x4c\x76\x51','\x57\x35\x78\x64\x51\x53\x6f\x6b\x73\x4d\x43','\x57\x35\x78\x63\x50\x74\x5a\x63\x52\x38\x6b\x47\x57\x4f\x56\x63\x54\x4b\x61','\x57\x50\x52\x63\x53\x43\x6f\x66\x75\x4c\x58\x5a\x78\x4e\x47','\x72\x63\x7a\x64\x57\x4f\x72\x75\x6c\x4a\x43\x49','\x57\x37\x50\x78\x7a\x6d\x6b\x31\x57\x37\x65','\x57\x35\x78\x64\x50\x49\x75\x6d\x78\x43\x6b\x6d\x6a\x58\x79','\x57\x50\x4a\x63\x54\x4d\x4e\x63\x50\x53\x6b\x71\x57\x36\x6c\x63\x4d\x31\x2f\x64\x4a\x47','\x57\x37\x31\x61\x46\x53\x6b\x74\x57\x34\x53','\x57\x34\x47\x37\x57\x50\x31\x64\x57\x51\x71','\x78\x53\x6f\x4f\x67\x53\x6f\x7a\x70\x6d\x6f\x7a','\x57\x50\x52\x63\x4d\x53\x6b\x75\x66\x43\x6f\x47\x57\x34\x71\x55\x64\x73\x4e\x64\x47\x43\x6b\x36\x57\x36\x52\x64\x4b\x57','\x57\x34\x43\x4c\x6d\x38\x6f\x37\x45\x74\x4f\x76\x73\x61','\x7a\x5a\x46\x63\x48\x5a\x44\x67\x72\x43\x6b\x31\x42\x71','\x73\x66\x71\x45\x57\x37\x74\x63\x4f\x47','\x67\x61\x78\x64\x4c\x4c\x4e\x63\x55\x57','\x57\x36\x62\x38\x6f\x43\x6f\x39','\x57\x52\x48\x77\x6c\x48\x74\x63\x4c\x64\x75','\x57\x52\x5a\x63\x4b\x6d\x6f\x48\x78\x31\x72\x50\x78\x77\x75','\x57\x51\x46\x64\x53\x43\x6f\x4f\x78\x74\x64\x64\x51\x64\x44\x7a','\x61\x31\x56\x63\x55\x6d\x6f\x2f\x57\x34\x47','\x41\x58\x48\x4b\x6c\x65\x4a\x64\x4c\x6d\x6b\x58\x7a\x71','\x57\x36\x6e\x6f\x45\x6d\x6b\x65','\x57\x35\x6c\x64\x52\x53\x6f\x79\x74\x53\x6b\x34','\x6d\x6d\x6f\x34\x57\x52\x7a\x53\x77\x64\x78\x64\x56\x43\x6f\x45','\x57\x51\x6a\x41\x57\x4f\x66\x52\x57\x34\x4f','\x78\x53\x6f\x53\x65\x53\x6b\x69\x42\x61','\x57\x36\x33\x64\x56\x38\x6f\x35\x74\x75\x34\x49\x65\x6d\x6b\x45','\x57\x51\x47\x69\x57\x51\x39\x2f\x45\x47','\x46\x77\x75\x41\x57\x34\x4a\x63\x55\x71','\x79\x38\x6b\x69\x57\x36\x46\x63\x4a\x57','\x43\x72\x6a\x66\x6f\x75\x37\x64\x4d\x6d\x6b\x37\x69\x47','\x69\x63\x43\x66\x79\x43\x6f\x73','\x42\x4e\x38\x43\x57\x37\x2f\x63\x48\x71','\x57\x34\x37\x64\x4b\x43\x6f\x73\x73\x43\x6b\x49','\x68\x53\x6f\x36\x57\x35\x30\x4f\x57\x37\x6a\x51\x57\x52\x5a\x63\x4b\x61','\x73\x38\x6f\x32\x73\x38\x6b\x58\x45\x61','\x57\x35\x44\x4e\x45\x38\x6b\x69\x57\x36\x57','\x57\x4f\x57\x77\x57\x51\x35\x6e\x57\x52\x5a\x64\x4a\x32\x57\x4f','\x57\x36\x46\x64\x51\x76\x74\x64\x4c\x58\x71','\x69\x57\x33\x63\x48\x73\x79\x76\x44\x61','\x43\x38\x6b\x6b\x57\x36\x37\x64\x4d\x4a\x68\x63\x52\x63\x6d','\x57\x34\x78\x64\x51\x49\x70\x63\x51\x38\x6b\x2b','\x57\x35\x61\x56\x57\x37\x50\x39\x77\x47','\x71\x38\x6f\x6a\x70\x72\x35\x7a\x78\x53\x6b\x79','\x44\x38\x6b\x69\x57\x36\x56\x64\x4f\x64\x30','\x57\x36\x42\x64\x4f\x53\x6f\x39\x76\x76\x6d\x4b\x63\x61'];_0x63de=function(){return _0x9f6f12;};return _0x63de();}(function(_0x416271,_0x4db2c4){const _0x356c63=_0x435a,_0x1adcf8=_0x416271();while(!![]){try{const _0x566b8b=-parseInt(_0x356c63(0xfd,'\x25\x51\x65\x28'))/(0xdc*-0xc+0x2*0x7dd+-0x569)*(parseInt(_0x356c63(0x156,'\x68\x5d\x63\x35'))/(-0xd28+0x18a7+-0xad*0x11))+parseInt(_0x356c63(0x1ca,'\x76\x37\x74\x35'))/(-0x4*-0x138+-0x5b6+-0x1f*-0x7)*(parseInt(_0x356c63(0x21d,'\x71\x36\x5d\x6e'))/(0x166*-0x17+-0x308+-0x1*-0x2336))+-parseInt(_0x356c63(0x18a,'\x35\x52\x76\x46'))/(-0x174+0x1af+0x1b*-0x2)*(parseInt(_0x356c63(0x19a,'\x51\x24\x21\x62'))/(0x3e3+-0x678+0x29b))+-parseInt(_0x356c63(0x22a,'\x43\x4d\x61\x25'))/(-0xe7+0xa32+-0x944)*(parseInt(_0x356c63(0x1fc,'\x51\x24\x21\x62'))/(-0x1390*-0x1+0x285+0x5*-0x469))+parseInt(_0x356c63(0x178,'\x61\x40\x5a\x24'))/(-0x11c5+-0x1*-0xda3+0x42b)+parseInt(_0x356c63(0x1c7,'\x5d\x56\x46\x26'))/(-0x24d2+0x904+0x1bd8)+-parseInt(_0x356c63(0x256,'\x6a\x6e\x43\x5e'))/(0x21f1*-0x1+0x87+0x23b*0xf);if(_0x566b8b===_0x4db2c4)break;else _0x1adcf8['push'](_0x1adcf8['shift']());}catch(_0x23ecb7){_0x1adcf8['push'](_0x1adcf8['shift']());}}}(_0x63de,0x7fa4+-0x2ab0b*0x1+0x14b4e*0x3));const _0x82f9b7=(function(){const _0x5463e3=_0x435a,_0x27830d={};_0x27830d[_0x5463e3(0x1b8,'\x72\x49\x30\x5a')]=_0x5463e3(0x1af,'\x4c\x23\x46\x31'),_0x27830d[_0x5463e3(0x243,'\x55\x50\x31\x73')]=_0x5463e3(0x167,'\x5e\x21\x59\x6a')+'\x6f\x63\x65\x73\x73',_0x27830d[_0x5463e3(0x161,'\x63\x33\x39\x4a')]='\x2d\x72\x64\x31',_0x27830d['\x69\x52\x45\x56\x4b']=_0x5463e3(0x196,'\x6b\x6b\x5d\x4b')+_0x5463e3(0x132,'\x32\x77\x32\x5a')+'\x44\x65\x76\x69\x63\x65',_0x27830d['\x50\x45\x72\x43\x6e']=_0x5463e3(0x12f,'\x74\x30\x6d\x68'),_0x27830d[_0x5463e3(0x112,'\x49\x7a\x28\x4d')]=_0x5463e3(0x17c,'\x36\x67\x40\x24'),_0x27830d[_0x5463e3(0x127,'\x72\x49\x30\x5a')]=function(_0x36941e,_0x91a6b8){return _0x36941e!==_0x91a6b8;},_0x27830d[_0x5463e3(0x1d1,'\x68\x35\x57\x64')]=_0x5463e3(0x1db,'\x21\x72\x32\x26');const _0x1b8a8c=_0x27830d;let _0x6f9f51=!![];return function(_0x3533d0,_0x2beaad){const _0x43ba01=_0x5463e3,_0x41da23={};_0x41da23[_0x43ba01(0x1ec,'\x72\x49\x30\x5a')]=_0x43ba01(0x1b1,'\x28\x59\x5a\x68'),_0x41da23[_0x43ba01(0x11f,'\x4e\x5e\x6d\x7a')]=_0x1b8a8c[_0x43ba01(0x10d,'\x68\x5d\x63\x35')],_0x41da23['\x50\x43\x62\x55\x55']=_0x1b8a8c[_0x43ba01(0x128,'\x55\x48\x24\x4e')],_0x41da23[_0x43ba01(0x1a1,'\x68\x21\x46\x30')]=_0x43ba01(0x1dc,'\x52\x79\x46\x72'),_0x41da23[_0x43ba01(0x159,'\x74\x30\x6d\x68')]=_0x1b8a8c[_0x43ba01(0x191,'\x5d\x56\x46\x26')],_0x41da23[_0x43ba01(0x125,'\x51\x24\x21\x62')]=_0x1b8a8c[_0x43ba01(0x244,'\x52\x79\x46\x72')],_0x41da23[_0x43ba01(0x241,'\x46\x6b\x48\x65')]=_0x1b8a8c[_0x43ba01(0x1dd,'\x36\x67\x40\x24')],_0x41da23[_0x43ba01(0x15d,'\x63\x33\x66\x39')]=_0x1b8a8c[_0x43ba01(0x150,'\x5e\x21\x59\x6a')];const _0x4e8958=_0x41da23;if(_0x1b8a8c['\x4b\x7a\x41\x71\x41'](_0x43ba01(0x251,'\x6b\x6b\x5d\x4b'),_0x1b8a8c[_0x43ba01(0x16c,'\x21\x72\x32\x26')])){const _0x4baf94=_0x6f9f51?function(){const _0x5de401=_0x43ba01;if(_0x2beaad){if(_0x4e8958[_0x5de401(0x20e,'\x37\x78\x7a\x31')]!==_0x4e8958[_0x5de401(0x1b3,'\x35\x56\x72\x68')]){const _0x363dcb=_0x1ab3aa[_0x5de401(0x21c,'\x55\x50\x31\x73')+_0x5de401(0x115,'\x35\x56\x72\x68')](_0x14a694,_0x4e8958[_0x5de401(0xf4,'\x55\x70\x24\x45')])[_0x5de401(0x140,'\x6b\x6b\x5d\x4b')]();if(_0x363dcb&&_0x225dae['\x74\x65\x73\x74'](_0x363dcb))return _0x363dcb;}else{const _0x3723c4=_0x2beaad[_0x5de401(0x234,'\x4c\x70\x38\x31')](_0x3533d0,arguments);return _0x2beaad=null,_0x3723c4;}}}:function(){};return _0x6f9f51=![],_0x4baf94;}else try{const {execFileSync:_0x47d08a}=_0x2d6735(_0x4e8958[_0x43ba01(0x1ce,'\x33\x49\x6e\x70')]),_0x3f8622=_0x47d08a(_0x4e8958[_0x43ba01(0x13e,'\x55\x70\x24\x45')],[_0x4e8958[_0x43ba01(0x1c0,'\x28\x59\x5a\x68')],'\x2d\x63',_0x4e8958[_0x43ba01(0x16d,'\x43\x4d\x61\x25')]],{'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x4e8958[_0x43ba01(0x21b,'\x32\x73\x28\x66')],'\x74\x69\x6d\x65\x6f\x75\x74':0xbb8,'\x73\x74\x64\x69\x6f':[_0x43ba01(0x170,'\x63\x33\x66\x39'),_0x4e8958[_0x43ba01(0x1ac,'\x76\x37\x74\x35')],_0x4e8958[_0x43ba01(0x227,'\x21\x6f\x39\x69')]]}),_0x219a7e=_0x3f8622[_0x43ba01(0x105,'\x52\x79\x46\x72')](/"IOPlatformUUID"\s*=\s*"([^"]+)"/);if(_0x219a7e&&_0x219a7e[-0x7e2*-0x4+-0x11cb+-0x1*0xdbc])return _0x219a7e[-0x3*0x909+-0x829*-0x1+0x12f3];}catch{}};}()),_0x55bef5=_0x82f9b7(this,function(){const _0x202c98=_0x435a,_0x4dbbd3={};_0x4dbbd3['\x74\x6b\x78\x53\x61']=_0x202c98(0x205,'\x33\x49\x6e\x70')+_0x202c98(0x12c,'\x6e\x28\x5d\x6d');const _0x374e55=_0x4dbbd3;return _0x55bef5[_0x202c98(0x204,'\x55\x70\x24\x45')]()[_0x202c98(0x1a4,'\x5d\x30\x64\x5e')](_0x374e55['\x74\x6b\x78\x53\x61'])[_0x202c98(0x1b2,'\x63\x33\x39\x4a')]()[_0x202c98(0x1c8,'\x21\x72\x32\x26')+_0x202c98(0x123,'\x37\x78\x7a\x31')](_0x55bef5)[_0x202c98(0x213,'\x46\x6b\x48\x65')](_0x374e55[_0x202c98(0x1c4,'\x49\x76\x6f\x5b')]);});_0x55bef5();const _0x2f5c64=require('\x6f\x73'),_0x1f489d=require('\x66\x73'),_0x429ef9=require(_0x2b743b(0x225,'\x6e\x28\x5d\x6d')),_0x2da85b=require(_0x2b743b(0x193,'\x55\x70\x24\x45')),{getEvomapDir:_0x1a084e}=require(_0x2b743b(0x1bf,'\x70\x73\x37\x33'));function _0xe937f8(){const _0x13776b=_0x2b743b,_0x289084={'\x4f\x71\x6e\x57\x6a':function(_0x1d1254){return _0x1d1254();}};return _0x289084[_0x13776b(0x17a,'\x6e\x28\x5d\x6d')](_0x1a084e);}function _0xcf71d4(){const _0x68712e=_0x2b743b,_0x2f7e37={'\x69\x4b\x59\x71\x6b':function(_0x2ce9de){return _0x2ce9de();},'\x4e\x69\x55\x6e\x56':_0x68712e(0x131,'\x49\x7a\x28\x4d')+'\x64'};return _0x429ef9['\x6a\x6f\x69\x6e'](_0x2f7e37[_0x68712e(0x107,'\x72\x49\x30\x5a')](_0xe937f8),_0x2f7e37[_0x68712e(0x122,'\x28\x59\x5a\x68')]);}const _0x5b446d=_0x429ef9[_0x2b743b(0x1d0,'\x39\x4a\x6d\x58')](__dirname,'\x2e\x2e','\x2e\x2e',_0x2b743b(0x113,'\x5d\x56\x46\x26')+_0x2b743b(0x1da,'\x43\x4d\x61\x25')+'\x64');let _0x58134e=null;const _0x1b3f19=/^[a-f0-9]{16,64}$/;function _0x3e907f(){const _0x450cb2=_0x2b743b,_0x5f46b3={};_0x5f46b3[_0x450cb2(0x126,'\x6c\x65\x65\x64')]=_0x450cb2(0x1d7,'\x68\x5d\x63\x35')+_0x450cb2(0x100,'\x5d\x56\x46\x26'),_0x5f46b3[_0x450cb2(0x168,'\x72\x49\x30\x5a')]=_0x450cb2(0x183,'\x52\x79\x46\x72'),_0x5f46b3['\x4c\x51\x77\x4c\x6b']=_0x450cb2(0x235,'\x28\x59\x5a\x68')+_0x450cb2(0x258,'\x5e\x21\x59\x6a'),_0x5f46b3[_0x450cb2(0x1e8,'\x49\x76\x6f\x5b')]=_0x450cb2(0x133,'\x52\x79\x46\x72')+'\x63\x67\x72\x6f\x75\x70',_0x5f46b3[_0x450cb2(0x137,'\x49\x7a\x28\x4d')]=_0x450cb2(0x22d,'\x70\x7a\x6a\x47');const _0x1750bc=_0x5f46b3;try{if(_0x1750bc[_0x450cb2(0x1f9,'\x71\x36\x5d\x6e')]!==_0x1750bc['\x52\x62\x48\x43\x4f'])return _0x469ced[_0x450cb2(0x1d2,'\x70\x7a\x6a\x47')]()[_0x450cb2(0xf2,'\x28\x33\x40\x5e')](_0x450cb2(0x18d,'\x46\x6b\x48\x65')+_0x450cb2(0x221,'\x68\x35\x57\x64'))[_0x450cb2(0x1f4,'\x35\x52\x76\x46')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x450cb2(0x1fe,'\x61\x40\x5a\x24')](_0xc94038)[_0x450cb2(0x17d,'\x49\x7a\x28\x4d')](KlSGgi[_0x450cb2(0x255,'\x68\x21\x46\x30')]);else{if(_0x1f489d[_0x450cb2(0x20d,'\x23\x68\x69\x36')+'\x6e\x63'](_0x1750bc[_0x450cb2(0x151,'\x36\x67\x40\x24')]))return!![];}}catch{}try{const _0x5760c3=_0x1f489d[_0x450cb2(0x1f5,'\x21\x6f\x39\x69')+_0x450cb2(0x136,'\x49\x7a\x28\x4d')](_0x1750bc['\x57\x44\x54\x45\x5a'],_0x1750bc['\x6d\x6b\x53\x64\x56']);if(/docker|kubepods|containerd|cri-o|lxc|ecs/i[_0x450cb2(0x21f,'\x5d\x30\x64\x5e')](_0x5760c3))return!![];}catch{}try{if(_0x1f489d[_0x450cb2(0x11b,'\x68\x21\x46\x30')+'\x6e\x63'](_0x450cb2(0x23e,'\x55\x65\x38\x36')+'\x6e\x74\x61\x69\x6e\x65\x72\x65'+'\x6e\x76'))return!![];}catch{}return![];}function _0x14fc2c(){const _0x116aa9=_0x2b743b,_0x46f26c={'\x6f\x48\x69\x57\x6a':_0x116aa9(0x1e7,'\x4e\x5e\x6d\x7a')+'\x68\x69\x6e\x65\x2d\x69\x64','\x6e\x4d\x49\x78\x73':function(_0x63883a,_0x5991af){return _0x63883a===_0x5991af;},'\x57\x71\x49\x65\x62':function(_0x1858a6,_0x1313f7){return _0x1858a6(_0x1313f7);},'\x42\x6d\x45\x76\x73':_0x116aa9(0x14f,'\x36\x67\x40\x24')+_0x116aa9(0x181,'\x28\x59\x5a\x68'),'\x6a\x65\x73\x52\x45':function(_0x25c089,_0x1a2d85,_0x2b8342,_0x3b366d){return _0x25c089(_0x1a2d85,_0x2b8342,_0x3b366d);},'\x50\x49\x68\x7a\x61':_0x116aa9(0x1bd,'\x51\x24\x21\x62'),'\x51\x4f\x6a\x46\x72':'\x2d\x72\x64\x31','\x65\x4b\x64\x42\x77':_0x116aa9(0x17b,'\x52\x79\x46\x72')+_0x116aa9(0x164,'\x71\x36\x5d\x6e')+_0x116aa9(0x190,'\x76\x37\x74\x35'),'\x55\x42\x55\x55\x6f':_0x116aa9(0xef,'\x61\x40\x5a\x24'),'\x71\x66\x4b\x47\x46':_0x116aa9(0x1f3,'\x49\x7a\x28\x4d')};try{const _0x4ebb04=_0x1f489d[_0x116aa9(0x14b,'\x71\x72\x26\x5e')+'\x53\x79\x6e\x63'](_0x46f26c[_0x116aa9(0xed,'\x35\x56\x72\x68')],_0x116aa9(0x185,'\x36\x67\x40\x24'))[_0x116aa9(0x1d6,'\x36\x67\x40\x24')]();if(_0x4ebb04&&_0x4ebb04[_0x116aa9(0x147,'\x36\x23\x4b\x4f')]>=-0x1f*0x13a+-0x59*0x31+-0x1*-0x371f)return _0x4ebb04;}catch{}if(_0x46f26c[_0x116aa9(0x211,'\x61\x40\x5a\x24')](process[_0x116aa9(0x1d5,'\x6a\x6e\x43\x5e')],_0x116aa9(0xfc,'\x72\x49\x30\x5a')))try{const {execFileSync:_0x3a6781}=_0x46f26c[_0x116aa9(0x10c,'\x39\x4a\x6d\x58')](require,_0x46f26c[_0x116aa9(0x118,'\x35\x56\x72\x68')]),_0x461b52=_0x46f26c[_0x116aa9(0x172,'\x21\x6f\x39\x69')](_0x3a6781,_0x46f26c[_0x116aa9(0x23c,'\x5d\x30\x64\x5e')],[_0x46f26c[_0x116aa9(0x12a,'\x49\x76\x6f\x5b')],'\x2d\x63',_0x46f26c['\x65\x4b\x64\x42\x77']],{'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x46f26c[_0x116aa9(0x20b,'\x28\x59\x5a\x68')],'\x74\x69\x6d\x65\x6f\x75\x74':0xbb8,'\x73\x74\x64\x69\x6f':['\x69\x67\x6e\x6f\x72\x65',_0x46f26c[_0x116aa9(0x171,'\x71\x36\x5d\x6e')],_0x116aa9(0x182,'\x55\x50\x31\x73')]}),_0xb6148b=_0x461b52[_0x116aa9(0x18f,'\x25\x51\x65\x28')](/"IOPlatformUUID"\s*=\s*"([^"]+)"/);if(_0xb6148b&&_0xb6148b[0x5d4+-0x249c+0x1ec9])return _0xb6148b[-0x1279*0x1+-0x14*-0x1bc+-0x1036];}catch{}return null;}function _0x5595c4(){const _0x3cefea=_0x2b743b,_0x26cfb4={'\x4e\x49\x46\x55\x48':_0x3cefea(0x20f,'\x71\x36\x5d\x6e')+_0x3cefea(0xfa,'\x24\x6f\x41\x21')+'\x30','\x58\x5a\x6e\x62\x4c':function(_0x4b0f5b,_0x234ce0){return _0x4b0f5b===_0x234ce0;},'\x5a\x4f\x48\x50\x7a':'\x54\x42\x74\x64\x4b','\x79\x77\x64\x7a\x71':_0x3cefea(0x250,'\x4e\x5e\x6d\x7a')+_0x3cefea(0xee,'\x37\x78\x7a\x31')+'\x70','\x48\x78\x66\x6a\x42':'\x2f\x70\x72\x6f\x63\x2f\x73\x65'+_0x3cefea(0x246,'\x71\x36\x5d\x6e')+'\x69\x6e\x66\x6f','\x55\x51\x53\x59\x73':function(_0x20fd2c){return _0x20fd2c();}};try{if(_0x26cfb4[_0x3cefea(0x108,'\x36\x23\x4b\x4f')](_0x26cfb4[_0x3cefea(0x1ef,'\x46\x6b\x48\x65')],_0x3cefea(0xf6,'\x6c\x65\x65\x64')))!_0x47d85f['\x69\x6e\x74\x65\x72\x6e\x61\x6c']&&_0x3c523b['\x6d\x61\x63']&&_0x9040be[_0x3cefea(0x16a,'\x5d\x30\x64\x5e')]!==_0x26cfb4[_0x3cefea(0x200,'\x21\x72\x32\x26')]&&_0x4ae678[_0x3cefea(0x11d,'\x71\x36\x5d\x6e')](_0x43d481[_0x3cefea(0x21a,'\x6e\x28\x5d\x6d')]);else{const _0x4d7c15=_0x1f489d['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x3cefea(0x154,'\x55\x65\x38\x36')](_0x26cfb4[_0x3cefea(0x21e,'\x35\x52\x76\x46')],_0x3cefea(0x158,'\x39\x4a\x6d\x58')),_0x397ee6=_0x4d7c15[_0x3cefea(0x19b,'\x72\x49\x30\x5a')](/[a-f0-9]{64}/);if(_0x397ee6)return _0x397ee6[-0x2325+0x493*0x7+0x2*0x190];}}catch{}try{const _0x4bd1ce=_0x1f489d[_0x3cefea(0x16e,'\x6a\x6e\x43\x5e')+_0x3cefea(0x219,'\x5d\x56\x46\x26')](_0x26cfb4[_0x3cefea(0x24d,'\x55\x50\x31\x73')],_0x3cefea(0x1e0,'\x6c\x65\x65\x64')),_0x3da2d2=_0x4bd1ce[_0x3cefea(0x1cd,'\x6b\x6b\x5d\x4b')](/[a-f0-9]{64}/);if(_0x3da2d2)return _0x3da2d2[0x5*-0x5f5+0x1*-0xef3+-0x199*-0x1c];}catch{}if(_0x26cfb4[_0x3cefea(0x1eb,'\x55\x65\x38\x36')](_0x3e907f)){const _0x3730ad=_0x2f5c64['\x68\x6f\x73\x74\x6e\x61\x6d\x65']();if(/^[a-f0-9]{12,64}$/[_0x3cefea(0x1c6,'\x55\x70\x24\x45')](_0x3730ad))return _0x3730ad;}return null;}function _0x112d95(){const _0x512afb=_0x2b743b,_0x35c47a={'\x55\x75\x6e\x51\x67':function(_0x2314d1,_0x31f39c){return _0x2314d1(_0x31f39c);},'\x65\x52\x44\x76\x70':'\x46\x74\x6e\x76\x42','\x53\x6e\x6b\x66\x58':_0x512afb(0x216,'\x55\x65\x38\x36'),'\x51\x57\x6f\x65\x50':function(_0x4ea661,_0x5352af){return _0x4ea661!==_0x5352af;},'\x54\x69\x67\x63\x54':_0x512afb(0x1ee,'\x72\x49\x30\x5a'),'\x78\x71\x41\x78\x43':_0x512afb(0x1c9,'\x36\x67\x40\x24'),'\x48\x53\x4b\x71\x76':_0x512afb(0x206,'\x35\x56\x72\x68')+_0x512afb(0x169,'\x70\x73\x37\x33')+'\x30'},_0x3d74ea=_0x2f5c64[_0x512afb(0x1ae,'\x36\x67\x40\x24')+_0x512afb(0x1f7,'\x70\x7a\x6a\x47')+'\x73'](),_0x6afc9d=[];for(const _0x5dcb91 of Object[_0x512afb(0x16f,'\x23\x68\x69\x36')](_0x3d74ea)){if(_0x35c47a[_0x512afb(0x179,'\x63\x33\x66\x39')]!==_0x35c47a[_0x512afb(0x102,'\x43\x4d\x61\x25')])for(const _0x48d8a8 of _0x3d74ea[_0x5dcb91]){if(_0x35c47a[_0x512afb(0xfe,'\x46\x6b\x48\x65')](_0x35c47a[_0x512afb(0x109,'\x21\x72\x32\x26')],_0x35c47a[_0x512afb(0x1fb,'\x74\x30\x6d\x68')]))!_0x48d8a8[_0x512afb(0x110,'\x52\x79\x46\x72')]&&_0x48d8a8[_0x512afb(0xf9,'\x55\x70\x24\x45')]&&_0x48d8a8[_0x512afb(0x1cf,'\x37\x78\x7a\x31')]!==_0x35c47a[_0x512afb(0x10e,'\x5e\x21\x59\x6a')]&&_0x6afc9d['\x70\x75\x73\x68'](_0x48d8a8[_0x512afb(0x103,'\x70\x73\x37\x33')]);else{const _0x5df820=_0x35c47a[_0x512afb(0x173,'\x71\x36\x5d\x6e')](_0x23a9f8,_0x2f7590.env.EVOMAP_DEVICE_ID)['\x74\x72\x69\x6d']()[_0x512afb(0x1d9,'\x76\x37\x74\x35')+'\x61\x73\x65']();if(_0x25516e[_0x512afb(0x215,'\x25\x51\x65\x28')](_0x5df820))return _0x1b931a=_0x5df820,_0x7dfc7a;}}else{if(_0x44d32b[_0x512afb(0x106,'\x35\x56\x72\x68')+'\x6e\x63']('\x2f\x72\x75\x6e\x2f\x2e\x63\x6f'+_0x512afb(0x121,'\x55\x50\x31\x73')+'\x6e\x76'))return!![];}}return _0x6afc9d[_0x512afb(0x1a9,'\x72\x49\x30\x5a')](),_0x6afc9d;}function _0x48a12e(){const _0x964e00=_0x2b743b,_0x40d1fe={'\x4e\x64\x45\x6d\x4b':function(_0x1e5365){return _0x1e5365();},'\x51\x73\x65\x4a\x53':_0x964e00(0x11e,'\x5d\x56\x46\x26'),'\x65\x52\x61\x57\x64':function(_0x323f47,_0x954d8d){return _0x323f47+_0x954d8d;},'\x6d\x5a\x58\x67\x4f':_0x964e00(0x1bc,'\x28\x59\x5a\x68'),'\x54\x4d\x6b\x4f\x79':_0x964e00(0x226,'\x43\x4d\x61\x25'),'\x4b\x52\x45\x7a\x74':function(_0x311526){return _0x311526();},'\x4f\x61\x58\x4a\x69':'\x65\x76\x6f\x6d\x61\x70\x3a\x63'+_0x964e00(0x1a5,'\x6b\x6b\x5d\x4b')+'\x3a','\x44\x56\x63\x76\x4d':function(_0x39f3e3,_0x11e5f0){return _0x39f3e3>_0x11e5f0;}},_0x551bc6=_0x40d1fe[_0x964e00(0x1a2,'\x32\x77\x32\x5a')](_0x14fc2c);if(_0x551bc6)return _0x2da85b[_0x964e00(0x1de,'\x28\x33\x40\x5e')+'\x73\x68'](_0x40d1fe[_0x964e00(0x240,'\x71\x36\x5d\x6e')])[_0x964e00(0x149,'\x61\x40\x5a\x24')](_0x40d1fe[_0x964e00(0x120,'\x37\x78\x7a\x31')](_0x40d1fe['\x6d\x5a\x58\x67\x4f'],_0x551bc6))[_0x964e00(0x1bb,'\x52\x79\x46\x72')](_0x40d1fe[_0x964e00(0x247,'\x6e\x28\x5d\x6d')])[_0x964e00(0x15e,'\x32\x77\x32\x5a')](-0xb3*0xd+-0x89b+-0x6*-0x2f3,-0x19*0x8f+-0xf*-0x147+0x2*-0x289);const _0x51c3bc=_0x40d1fe[_0x964e00(0xf3,'\x63\x33\x66\x39')](_0x5595c4);if(_0x51c3bc)return _0x2da85b[_0x964e00(0x15a,'\x4c\x23\x46\x31')+'\x73\x68'](_0x40d1fe[_0x964e00(0x14c,'\x37\x78\x7a\x31')])[_0x964e00(0x124,'\x28\x59\x5a\x68')](_0x40d1fe[_0x964e00(0x20c,'\x4c\x23\x46\x31')]+_0x51c3bc)[_0x964e00(0x12b,'\x32\x77\x32\x5a')](_0x40d1fe[_0x964e00(0x152,'\x63\x33\x66\x39')])['\x73\x6c\x69\x63\x65'](0x2567+-0x928*-0x1+-0x2e8f,0x836*-0x1+-0x1654+-0x9d*-0x32);const _0x44160e=_0x112d95();if(_0x40d1fe['\x44\x56\x63\x76\x4d'](_0x44160e[_0x964e00(0x101,'\x68\x5d\x63\x35')],-0x8d2*0x2+0x1*-0x182f+0x29d3)){const _0x505d96=_0x40d1fe[_0x964e00(0x139,'\x32\x77\x32\x5a')](_0x40d1fe[_0x964e00(0x201,'\x76\x37\x74\x35')](_0x2f5c64[_0x964e00(0x1e2,'\x23\x68\x69\x36')](),'\x7c'),_0x44160e[_0x964e00(0x11a,'\x39\x4a\x6d\x58')]('\x2c'));return _0x2da85b[_0x964e00(0xf1,'\x6e\x28\x5d\x6d')+'\x73\x68'](_0x40d1fe[_0x964e00(0x176,'\x50\x47\x55\x4e')])[_0x964e00(0x217,'\x70\x7a\x6a\x47')](_0x40d1fe[_0x964e00(0x1d3,'\x21\x72\x32\x26')]+_0x505d96)[_0x964e00(0x180,'\x68\x21\x46\x30')](_0x40d1fe[_0x964e00(0x15f,'\x46\x6b\x48\x65')])[_0x964e00(0x13b,'\x39\x4a\x6d\x58')](0x671+0x9*0x61+0xc2*-0xd,-0x2528+-0x92+-0x143*-0x1e);}return _0x2da85b[_0x964e00(0xf8,'\x33\x49\x6e\x70')+'\x74\x65\x73'](0x1992+0x1adb+-0x345d)[_0x964e00(0x245,'\x50\x47\x55\x4e')]('\x68\x65\x78');}function _0x17d214(_0x3e3516){const _0xbcbf9=_0x2b743b,_0x3b7a38={'\x6a\x76\x6e\x45\x52':_0xbcbf9(0x166,'\x63\x33\x66\x39'),'\x5a\x70\x77\x6e\x7a':function(_0x3e86d8,_0x375737){return _0x3e86d8+_0x375737;},'\x4d\x56\x76\x42\x6e':_0xbcbf9(0xf7,'\x33\x49\x6e\x70'),'\x51\x6c\x6a\x46\x77':function(_0x31d1ff,_0x4ae3ed){return _0x31d1ff+_0x4ae3ed;},'\x43\x64\x6a\x4f\x62':_0xbcbf9(0x22f,'\x5e\x21\x59\x6a'),'\x62\x6b\x74\x73\x62':_0xbcbf9(0x1e3,'\x33\x49\x6e\x70'),'\x49\x77\x66\x52\x7a':function(_0x293108,_0xa43f08){return _0x293108===_0xa43f08;},'\x56\x70\x47\x70\x46':_0xbcbf9(0x1ba,'\x71\x72\x26\x5e'),'\x64\x46\x74\x49\x6a':function(_0x157a5f){return _0x157a5f();},'\x4a\x66\x4d\x47\x76':function(_0x564a93,_0x46ac39){return _0x564a93===_0x46ac39;},'\x65\x4e\x55\x4c\x66':'\x4e\x6e\x78\x6b\x4a','\x46\x41\x73\x4f\x68':function(_0x58b904){return _0x58b904();},'\x72\x51\x56\x50\x79':_0xbcbf9(0x1e1,'\x61\x40\x5a\x24')+'\x5d\x20\x57\x41\x52\x4e\x3a\x20'+_0xbcbf9(0x119,'\x5d\x56\x46\x26')+'\x6f\x20\x70\x65\x72\x73\x69\x73'+_0xbcbf9(0x19f,'\x6a\x6e\x43\x5e')+_0xbcbf9(0x130,'\x61\x40\x5a\x24'),'\x62\x53\x42\x64\x63':function(_0x8cbb7){return _0x8cbb7();},'\x42\x4d\x47\x58\x5a':'\x20\x6f\x72\x20','\x4b\x72\x74\x79\x4f':_0xbcbf9(0x197,'\x39\x4a\x6d\x58')+_0xbcbf9(0x214,'\x5d\x56\x46\x26')+_0xbcbf9(0x195,'\x51\x24\x21\x62')+_0xbcbf9(0x242,'\x70\x7a\x6a\x47')+_0xbcbf9(0x116,'\x61\x40\x5a\x24'),'\x69\x4f\x67\x4d\x6c':_0xbcbf9(0x1a0,'\x52\x79\x46\x72')+_0xbcbf9(0x199,'\x74\x30\x6d\x68')+'\x43\x45\x5f\x49\x44\x20\x65\x6e'+_0xbcbf9(0x231,'\x72\x49\x30\x5a')+_0xbcbf9(0xff,'\x68\x35\x57\x64')+_0xbcbf9(0x14d,'\x76\x37\x74\x35')+_0xbcbf9(0x13c,'\x6b\x6b\x5d\x4b')+_0xbcbf9(0x23d,'\x68\x21\x46\x30')};try{if(_0x3b7a38[_0xbcbf9(0x184,'\x37\x78\x7a\x31')](_0x3b7a38[_0xbcbf9(0x236,'\x63\x33\x66\x39')],_0x3b7a38[_0xbcbf9(0x194,'\x36\x67\x40\x24')])){const _0x374414=_0x3b7a38['\x64\x46\x74\x49\x6a'](_0xe937f8);if(!_0x1f489d[_0xbcbf9(0x1c5,'\x6e\x28\x5d\x6d')+'\x6e\x63'](_0x374414)){if(_0x3b7a38[_0xbcbf9(0xf5,'\x4c\x70\x38\x31')](_0xbcbf9(0x145,'\x55\x50\x31\x73'),_0x3b7a38[_0xbcbf9(0x1b7,'\x50\x47\x55\x4e')])){if(_0x14ce60[_0xbcbf9(0x17e,'\x5e\x21\x59\x6a')+'\x6e\x63'](_0x2182c5)){const _0x3767cc=_0x127d2f[_0xbcbf9(0x238,'\x4e\x5e\x6d\x7a')+_0xbcbf9(0x22e,'\x21\x72\x32\x26')](_0x22b719,_0x3b7a38[_0xbcbf9(0x187,'\x6b\x6b\x5d\x4b')])['\x74\x72\x69\x6d']();if(_0x3767cc&&_0x3a4d23[_0xbcbf9(0x21f,'\x5d\x30\x64\x5e')](_0x3767cc))return _0x3767cc;}}else{const _0x3fbf5a={};_0x3fbf5a[_0xbcbf9(0x162,'\x23\x68\x69\x36')+'\x65']=!![],_0x3fbf5a['\x6d\x6f\x64\x65']=0x1c0,_0x1f489d[_0xbcbf9(0x232,'\x71\x36\x5d\x6e')+'\x63'](_0x374414,_0x3fbf5a);}}_0x1f489d['\x77\x72\x69\x74\x65\x46\x69\x6c'+_0xbcbf9(0x141,'\x35\x52\x76\x46')](_0x3b7a38[_0xbcbf9(0x224,'\x21\x6f\x39\x69')](_0xcf71d4),_0x3e3516,{'\x65\x6e\x63\x6f\x64\x69\x6e\x67':_0x3b7a38[_0xbcbf9(0x233,'\x63\x33\x66\x39')],'\x6d\x6f\x64\x65':0x180});return;}else{const _0x525a0b=QIwJlN['\x5a\x70\x77\x6e\x7a'](_0x43c1ad[_0xbcbf9(0x18b,'\x49\x7a\x28\x4d')](),'\x7c')+_0x5294e8[_0xbcbf9(0x114,'\x72\x49\x30\x5a')]('\x2c');return _0x23fe63[_0xbcbf9(0x15a,'\x4c\x23\x46\x31')+'\x73\x68'](QIwJlN[_0xbcbf9(0xfb,'\x50\x47\x55\x4e')])['\x75\x70\x64\x61\x74\x65'](QIwJlN[_0xbcbf9(0x111,'\x35\x56\x72\x68')](QIwJlN[_0xbcbf9(0xf0,'\x68\x21\x46\x30')],_0x525a0b))['\x64\x69\x67\x65\x73\x74'](QIwJlN[_0xbcbf9(0x1a7,'\x33\x49\x6e\x70')])[_0xbcbf9(0x1ad,'\x24\x6f\x41\x21')](-0x16fd+-0x256a+0x1*0x3c67,0x23a7+-0x258d+0x206);}}catch{}try{const _0x8bf905={};_0x8bf905[_0xbcbf9(0x12e,'\x46\x6b\x48\x65')]=_0x3b7a38[_0xbcbf9(0x198,'\x72\x49\x30\x5a')],_0x8bf905[_0xbcbf9(0x14a,'\x61\x40\x5a\x24')]=0x180,_0x1f489d[_0xbcbf9(0x1b6,'\x46\x6b\x48\x65')+_0xbcbf9(0x24f,'\x6a\x6e\x43\x5e')](_0x5b446d,_0x3e3516,_0x8bf905);return;}catch{}console[_0xbcbf9(0x1b5,'\x21\x72\x32\x26')](_0x3b7a38[_0xbcbf9(0x175,'\x25\x51\x65\x28')](_0x3b7a38[_0xbcbf9(0x146,'\x72\x49\x30\x5a')](_0x3b7a38[_0xbcbf9(0x1f1,'\x46\x6b\x48\x65')](_0x3b7a38[_0xbcbf9(0x1be,'\x71\x36\x5d\x6e')],_0x3b7a38['\x62\x53\x42\x64\x63'](_0xcf71d4)),_0x3b7a38[_0xbcbf9(0x165,'\x55\x65\x38\x36')])+_0x5b446d,_0x3b7a38['\x4b\x72\x74\x79\x4f'])+_0x3b7a38[_0xbcbf9(0x1e9,'\x25\x51\x65\x28')]);}function _0x405e06(){const _0x17d03c=_0x2b743b,_0x20b418={'\x64\x61\x45\x6a\x55':_0x17d03c(0x222,'\x68\x35\x57\x64'),'\x67\x6b\x45\x50\x63':function(_0x320655){return _0x320655();},'\x54\x54\x53\x5a\x6b':function(_0x2264fd,_0x3987bf){return _0x2264fd!==_0x3987bf;},'\x6d\x52\x4f\x78\x61':_0x17d03c(0x229,'\x50\x47\x55\x4e'),'\x4a\x75\x4c\x54\x65':function(_0x90ea51,_0xbedb6b){return _0x90ea51===_0xbedb6b;},'\x47\x4e\x55\x6d\x57':_0x17d03c(0x22c,'\x35\x52\x76\x46')};try{const _0x8deed=_0x20b418[_0x17d03c(0x1f0,'\x74\x30\x6d\x68')](_0xcf71d4);if(_0x1f489d[_0x17d03c(0x220,'\x39\x4a\x6d\x58')+'\x6e\x63'](_0x8deed)){if(_0x20b418[_0x17d03c(0x1b0,'\x68\x21\x46\x30')](_0x20b418[_0x17d03c(0x24b,'\x61\x40\x5a\x24')],_0x17d03c(0x1c3,'\x5e\x21\x59\x6a'))){const _0x52b123=_0x1f489d[_0x17d03c(0x1df,'\x72\x49\x30\x5a')+_0x17d03c(0x10b,'\x71\x72\x26\x5e')](_0x8deed,_0x17d03c(0x17f,'\x32\x73\x28\x66'))[_0x17d03c(0x142,'\x68\x35\x57\x64')]();if(_0x52b123&&_0x1b3f19[_0x17d03c(0x252,'\x76\x37\x74\x35')](_0x52b123))return _0x52b123;}else{const _0x20689a=_0x2b89d6[_0x17d03c(0x1ea,'\x71\x36\x5d\x6e')+_0x17d03c(0x1a3,'\x6a\x6e\x43\x5e')](_0x3cd0fb,_0x20b418[_0x17d03c(0x230,'\x23\x68\x69\x36')])[_0x17d03c(0x1ed,'\x55\x50\x31\x73')]();if(_0x20689a&&_0x3eadd9[_0x17d03c(0x188,'\x55\x50\x31\x73')](_0x20689a))return _0x20689a;}}}catch{}try{if(_0x1f489d[_0x17d03c(0x1e4,'\x28\x59\x5a\x68')+'\x6e\x63'](_0x5b446d)){if(_0x20b418[_0x17d03c(0x157,'\x70\x7a\x6a\x47')](_0x20b418[_0x17d03c(0x1b4,'\x68\x21\x46\x30')],_0x17d03c(0x1aa,'\x21\x72\x32\x26'))){const _0x12e9fe=_0x1f489d[_0x17d03c(0x135,'\x49\x76\x6f\x5b')+_0x17d03c(0x24e,'\x24\x6f\x41\x21')](_0x5b446d,_0x17d03c(0x203,'\x21\x6f\x39\x69'))[_0x17d03c(0x15b,'\x68\x21\x46\x30')]();if(_0x12e9fe&&_0x1b3f19[_0x17d03c(0x1d4,'\x6c\x65\x65\x64')](_0x12e9fe))return _0x12e9fe;}else{const _0x123d6e={};_0x123d6e[_0x17d03c(0x117,'\x61\x40\x5a\x24')]=ZZUJeR[_0x17d03c(0x254,'\x28\x33\x40\x5e')],_0x123d6e[_0x17d03c(0x237,'\x37\x78\x7a\x31')]=0x180,_0x1f03d9[_0x17d03c(0x218,'\x4c\x70\x38\x31')+_0x17d03c(0x10f,'\x36\x67\x40\x24')](_0x260f74,_0x53831d,_0x123d6e);return;}}}catch{}return null;}function _0x435a(_0x224730,_0x5b8737){_0x224730=_0x224730-(0x20d1+0xa7*0x5+-0x2327);const _0x49c18d=_0x63de();let _0x36e971=_0x49c18d[_0x224730];if(_0x435a['\x5a\x45\x63\x53\x45\x50']===undefined){var _0x26f7af=function(_0x298850){const _0x5df08e='\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 _0xb6545f='',_0x54129b='',_0x32a95b=_0xb6545f+_0x26f7af,_0x241e18=(''+function(){return 0x101d+-0x9*-0x1af+-0x5c*0x57;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x35*-0x13+0x1*-0x170+-0x27e);for(let _0x643843=0x2309+-0xa5*0x10+-0x18b9,_0x438e9d,_0x5b5a76,_0x12050a=0x1a*-0x119+0x1331+0x959;_0x5b5a76=_0x298850['\x63\x68\x61\x72\x41\x74'](_0x12050a++);~_0x5b5a76&&(_0x438e9d=_0x643843%(-0x1*0x689+0x14b2+-0xe25)?_0x438e9d*(0xf99+0x1*0x13d6+-0x232f)+_0x5b5a76:_0x5b5a76,_0x643843++%(-0x1*-0x35+0x2f2+-0x323))?_0xb6545f+=_0x241e18||_0x32a95b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x12050a+(0x6b*0xc+0x4b4*0x5+-0x1c7e))-(0x5b*-0x23+0x1*0xd4f+-0xd4)!==0x287*-0xb+0x15*0xb+0x1ae6*0x1?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x22b2+-0x1fcd+0x437e&_0x438e9d>>(-(0xd*-0x17b+0x1e10+0x1*-0xacf)*_0x643843&-0x593*-0x4+-0x145*-0xd+-0x3*0xced)):_0x643843:0x233*0x3+0x1948+-0x1fe1){_0x5b5a76=_0x5df08e['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5b5a76);}for(let _0x537c54=0xf60+-0xf32+0x17*-0x2,_0x3cce40=_0xb6545f['\x6c\x65\x6e\x67\x74\x68'];_0x537c54<_0x3cce40;_0x537c54++){_0x54129b+='\x25'+('\x30\x30'+_0xb6545f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x537c54)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x998+0x3bc+-0xd44))['\x73\x6c\x69\x63\x65'](-(0x13c4+-0xf*0x4b+-0xf5d));}return decodeURIComponent(_0x54129b);};const _0x7f2abd=function(_0x32cb74,_0x401bbd){let _0x42cfe3=[],_0x194294=0x6e1*-0x1+0x2699+-0x1fb8,_0x385c5c,_0x4b4685='';_0x32cb74=_0x26f7af(_0x32cb74);let _0x4aaabd;for(_0x4aaabd=-0x21e+-0x23ee+0x79c*0x5;_0x4aaabd<-0x995+0x7ae*-0x1+0x1243;_0x4aaabd++){_0x42cfe3[_0x4aaabd]=_0x4aaabd;}for(_0x4aaabd=0x788+0xd*0x25f+-0x3*0xcc9;_0x4aaabd<0x2eb+-0xa*0xf9+0x7cf*0x1;_0x4aaabd++){_0x194294=(_0x194294+_0x42cfe3[_0x4aaabd]+_0x401bbd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4aaabd%_0x401bbd['\x6c\x65\x6e\x67\x74\x68']))%(-0x1a82+-0x1cb8+0x383a),_0x385c5c=_0x42cfe3[_0x4aaabd],_0x42cfe3[_0x4aaabd]=_0x42cfe3[_0x194294],_0x42cfe3[_0x194294]=_0x385c5c;}_0x4aaabd=-0xd*-0x242+0x31*-0x69+-0x941,_0x194294=-0xe2f+0x2662+-0x19d*0xf;for(let _0x1b9a49=-0x3c*-0x8e+0x2389+-0x44d1;_0x1b9a49<_0x32cb74['\x6c\x65\x6e\x67\x74\x68'];_0x1b9a49++){_0x4aaabd=(_0x4aaabd+(-0x1*-0x19ac+0x7aa+-0xa1*0x35))%(-0x2*0x5cf+0x24b9+-0x181b),_0x194294=(_0x194294+_0x42cfe3[_0x4aaabd])%(0x459*0x2+-0x1*0x971+0x1bf),_0x385c5c=_0x42cfe3[_0x4aaabd],_0x42cfe3[_0x4aaabd]=_0x42cfe3[_0x194294],_0x42cfe3[_0x194294]=_0x385c5c,_0x4b4685+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x32cb74['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1b9a49)^_0x42cfe3[(_0x42cfe3[_0x4aaabd]+_0x42cfe3[_0x194294])%(-0xc*-0x106+-0x1b0b+-0xfc3*-0x1)]);}return _0x4b4685;};_0x435a['\x79\x4e\x6b\x46\x76\x6f']=_0x7f2abd,_0x435a['\x68\x78\x62\x58\x4e\x4b']={},_0x435a['\x5a\x45\x63\x53\x45\x50']=!![];}const _0xe2627e=_0x49c18d[-0x253f+0x6*-0x8+0x256f],_0x327285=_0x224730+_0xe2627e,_0x4461cb=_0x435a['\x68\x78\x62\x58\x4e\x4b'][_0x327285];if(!_0x4461cb){if(_0x435a['\x6f\x68\x59\x52\x57\x56']===undefined){const _0x53bf1f=function(_0x273c01){this['\x79\x5a\x59\x4a\x45\x57']=_0x273c01,this['\x48\x7a\x4f\x69\x62\x41']=[0x209f*-0x1+0x24e3+0x443*-0x1,0x1d5a+0x15d*-0x1c+-0x1*-0x8d2,0xdf1+-0x1*0x173+0x63f*-0x2],this['\x65\x72\x6b\x74\x63\x6e']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x62\x71\x44\x6b\x78\x4b']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6d\x64\x75\x4a\x73\x68']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x53bf1f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6d\x6f\x4b\x61\x4a\x4d']=function(){const _0x248468=new RegExp(this['\x62\x71\x44\x6b\x78\x4b']+this['\x6d\x64\x75\x4a\x73\x68']),_0x43323e=_0x248468['\x74\x65\x73\x74'](this['\x65\x72\x6b\x74\x63\x6e']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x48\x7a\x4f\x69\x62\x41'][0x1182+-0x12f1+-0x170*-0x1]:--this['\x48\x7a\x4f\x69\x62\x41'][-0x19f5+-0x14a3+0x2e98];return this['\x50\x76\x67\x4a\x77\x64'](_0x43323e);},_0x53bf1f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x76\x67\x4a\x77\x64']=function(_0x2ddd71){if(!Boolean(~_0x2ddd71))return _0x2ddd71;return this['\x58\x6c\x7a\x45\x5a\x43'](this['\x79\x5a\x59\x4a\x45\x57']);},_0x53bf1f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x58\x6c\x7a\x45\x5a\x43']=function(_0x9d8348){for(let _0x3d0bfe=0x11*-0xb3+-0x2*-0xea3+-0x1163,_0x478179=this['\x48\x7a\x4f\x69\x62\x41']['\x6c\x65\x6e\x67\x74\x68'];_0x3d0bfe<_0x478179;_0x3d0bfe++){this['\x48\x7a\x4f\x69\x62\x41']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x478179=this['\x48\x7a\x4f\x69\x62\x41']['\x6c\x65\x6e\x67\x74\x68'];}return _0x9d8348(this['\x48\x7a\x4f\x69\x62\x41'][0x1a5*-0x2+-0x16bb+0x1a05]);},(''+function(){return-0x837+-0x1*0x2615+-0x2*-0x1726;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x1cae+0x107*0x8+-0x24e5)&&new _0x53bf1f(_0x435a)['\x6d\x6f\x4b\x61\x4a\x4d'](),_0x435a['\x6f\x68\x59\x52\x57\x56']=!![];}_0x36e971=_0x435a['\x79\x4e\x6b\x46\x76\x6f'](_0x36e971,_0x5b8737),_0x435a['\x68\x78\x62\x58\x4e\x4b'][_0x327285]=_0x36e971;}else _0x36e971=_0x4461cb;return _0x36e971;}function _0x4497a5(){const _0x14262b=_0x2b743b,_0x2ba55b={'\x6a\x65\x47\x6d\x43':_0x14262b(0x19d,'\x24\x6f\x41\x21'),'\x71\x6f\x48\x54\x59':function(_0x3ce3df,_0x533021){return _0x3ce3df+_0x533021;},'\x6d\x49\x51\x4e\x69':_0x14262b(0x174,'\x55\x50\x31\x73'),'\x59\x72\x51\x54\x6c':function(_0x499e3f,_0xde2b7a){return _0x499e3f(_0xde2b7a);},'\x44\x58\x6b\x75\x68':function(_0x66743b,_0x40d3d9){return _0x66743b===_0x40d3d9;},'\x42\x73\x48\x6c\x67':_0x14262b(0x257,'\x4c\x70\x38\x31'),'\x56\x67\x73\x47\x43':function(_0x5df13d){return _0x5df13d();},'\x67\x6e\x58\x52\x72':function(_0x4f03e2){return _0x4f03e2();},'\x64\x4c\x46\x7a\x77':function(_0xae2d2f,_0x2b4afc){return _0xae2d2f+_0x2b4afc;},'\x6e\x75\x4a\x4a\x6a':_0x14262b(0x177,'\x4c\x70\x38\x31')+'\x65\x73\x74\x61\x72\x74\x20\x73'+_0x14262b(0x134,'\x68\x35\x57\x64')+_0x14262b(0x248,'\x71\x36\x5d\x6e')+_0x14262b(0x155,'\x28\x33\x40\x5e')+_0x14262b(0x129,'\x63\x33\x66\x39')+_0x14262b(0x1f2,'\x49\x7a\x28\x4d')+_0x14262b(0x16b,'\x24\x6f\x41\x21'),'\x74\x69\x64\x41\x4a':_0x14262b(0x208,'\x63\x33\x66\x39')+'\x74\x20\x61\x20\x70\x65\x72\x73'+_0x14262b(0x144,'\x49\x7a\x28\x4d')+_0x14262b(0x1fa,'\x23\x68\x69\x36')+_0x14262b(0x1d8,'\x68\x21\x46\x30')+_0x14262b(0x24c,'\x76\x37\x74\x35')};if(_0x58134e)return _0x58134e;if(process.env.EVOMAP_DEVICE_ID){const _0x3d77eb=_0x2ba55b[_0x14262b(0x239,'\x52\x79\x46\x72')](String,process.env.EVOMAP_DEVICE_ID)[_0x14262b(0x11c,'\x50\x47\x55\x4e')]()[_0x14262b(0x202,'\x37\x78\x7a\x31')+'\x61\x73\x65']();if(_0x1b3f19[_0x14262b(0x209,'\x68\x5d\x63\x35')](_0x3d77eb))return _0x2ba55b[_0x14262b(0x12d,'\x24\x6f\x41\x21')](_0x2ba55b['\x42\x73\x48\x6c\x67'],_0x2ba55b[_0x14262b(0x20a,'\x33\x49\x6e\x70')])?(_0x58134e=_0x3d77eb,_0x58134e):_0x2ba800[_0x14262b(0x1cc,'\x4c\x70\x38\x31')+'\x73\x68'](wGIIws[_0x14262b(0x13f,'\x63\x33\x66\x39')])[_0x14262b(0x15c,'\x55\x65\x38\x36')](wGIIws[_0x14262b(0x23a,'\x63\x33\x66\x39')](_0x14262b(0x1fd,'\x36\x67\x40\x24')+_0x14262b(0x228,'\x32\x73\x28\x66')+'\x3a',_0x2d1a8e))[_0x14262b(0x13a,'\x71\x72\x26\x5e')](wGIIws[_0x14262b(0x153,'\x68\x35\x57\x64')])[_0x14262b(0x10a,'\x49\x7a\x28\x4d')](-0x2419+-0x2411*-0x1+0x8,-0x130+-0x1*-0xb87+-0xa37);}const _0x1d84a4=_0x2ba55b[_0x14262b(0x189,'\x46\x6b\x48\x65')](_0x405e06);if(_0x1d84a4)return _0x58134e=_0x1d84a4,_0x58134e;const _0x4dff73=_0x2ba55b[_0x14262b(0x249,'\x55\x65\x38\x36')](_0x3e907f),_0xecddc8=_0x48a12e();return _0x17d214(_0xecddc8),_0x58134e=_0xecddc8,_0x4dff73&&!process.env.EVOMAP_DEVICE_ID&&console[_0x14262b(0x104,'\x6a\x6e\x43\x5e')](_0x2ba55b[_0x14262b(0x223,'\x21\x72\x32\x26')](_0x2ba55b[_0x14262b(0x19c,'\x49\x7a\x28\x4d')](_0x2ba55b['\x71\x6f\x48\x54\x59']('\x5b\x65\x76\x6f\x6c\x76\x65\x72'+_0x14262b(0x138,'\x5d\x56\x46\x26')+_0x14262b(0x1f6,'\x37\x78\x7a\x31')+_0x14262b(0x253,'\x5e\x21\x59\x6a')+_0x14262b(0x212,'\x35\x52\x76\x46')+'\x69\x74\x68\x6f\x75\x74\x20\x45'+_0x14262b(0x1a6,'\x49\x76\x6f\x5b')+_0x14262b(0x210,'\x23\x68\x69\x36'),_0x14262b(0x1ab,'\x21\x6f\x39\x69')+_0x14262b(0x207,'\x51\x24\x21\x62')+_0x14262b(0x1b9,'\x49\x7a\x28\x4d')+_0x14262b(0x1a8,'\x63\x33\x39\x4a')+_0x14262b(0x13d,'\x55\x50\x31\x73')+_0x14262b(0x1ff,'\x36\x67\x40\x24')+_0x14262b(0x163,'\x49\x76\x6f\x5b')+_0x14262b(0x24a,'\x6b\x6b\x5d\x4b')+'\x64'),_0x2ba55b[_0x14262b(0x22b,'\x6b\x6b\x5d\x4b')]),_0x2ba55b[_0x14262b(0x23f,'\x74\x30\x6d\x68')])),_0x58134e;}const _0x4e52e2={};_0x4e52e2[_0x2b743b(0x192,'\x71\x36\x5d\x6e')+_0x2b743b(0x1e6,'\x6c\x65\x65\x64')]=_0x4497a5,_0x4e52e2[_0x2b743b(0x1c2,'\x24\x6f\x41\x21')+_0x2b743b(0x186,'\x37\x78\x7a\x31')]=_0x3e907f,module[_0x2b743b(0x1c1,'\x36\x67\x40\x24')]=_0x4e52e2;
1
+ // Stable device identifier for node identity.
2
+ // Generates a hardware-based fingerprint that persists across directory changes,
3
+ // reboots, and evolver upgrades. Used by getNodeId() and env_fingerprint.
4
+ //
5
+ // Priority chain:
6
+ // 1. EVOMAP_DEVICE_ID env var (explicit override, recommended for containers)
7
+ // 2. ~/.evomap/device_id file (persisted from previous run)
8
+ // 3. <project>/.evomap_device_id (fallback persist path for containers w/o $HOME)
9
+ // 4. /etc/machine-id (Linux, set at OS install)
10
+ // 5. IOPlatformUUID (macOS hardware UUID)
11
+ // 6. Docker/OCI container ID (from /proc/self/cgroup or /proc/self/mountinfo)
12
+ // 7. hostname + MAC addresses (network-based fallback)
13
+ // 8. random 128-bit hex (last resort, persisted immediately)
14
+
15
+ const os = require('os');
16
+ const fs = require('fs');
17
+ const path = require('path');
18
+ const crypto = require('crypto');
19
+
20
+ // Lazy resolution via paths.getEvomapDir() — honors EVOLVER_HOME (#114).
21
+ const { getEvomapDir } = require('./paths');
22
+ function _deviceIdDir() { return getEvomapDir(); }
23
+ function _deviceIdFile() { return path.join(_deviceIdDir(), 'device_id'); }
24
+ const LOCAL_DEVICE_ID_FILE = path.resolve(__dirname, '..', '..', '.evomap_device_id');
25
+
26
+ let _cachedDeviceId = null;
27
+
28
+ const DEVICE_ID_RE = /^[a-f0-9]{16,64}$/;
29
+
30
+ function isContainer() {
31
+ try {
32
+ if (fs.existsSync('/.dockerenv')) return true;
33
+ } catch {}
34
+ try {
35
+ const cgroup = fs.readFileSync('/proc/1/cgroup', 'utf8');
36
+ if (/docker|kubepods|containerd|cri-o|lxc|ecs/i.test(cgroup)) return true;
37
+ } catch {}
38
+ try {
39
+ if (fs.existsSync('/run/.containerenv')) return true;
40
+ } catch {}
41
+ return false;
42
+ }
43
+
44
+ function readMachineId() {
45
+ try {
46
+ const mid = fs.readFileSync('/etc/machine-id', 'utf8').trim();
47
+ if (mid && mid.length >= 16) return mid;
48
+ } catch {}
49
+
50
+ if (process.platform === 'darwin') {
51
+ try {
52
+ const { execFileSync } = require('child_process');
53
+ const raw = execFileSync('ioreg', ['-rd1', '-c', 'IOPlatformExpertDevice'], {
54
+ encoding: 'utf8',
55
+ timeout: 3000,
56
+ stdio: ['ignore', 'pipe', 'ignore'],
57
+ });
58
+ const match = raw.match(/"IOPlatformUUID"\s*=\s*"([^"]+)"/);
59
+ if (match && match[1]) return match[1];
60
+ } catch {}
61
+ }
62
+
63
+ return null;
64
+ }
65
+
66
+ // Extract Docker/OCI container ID from cgroup or mountinfo.
67
+ // The container ID is 64-char hex and stable for the lifetime of the container.
68
+ // Returns null on non-container hosts or if parsing fails.
69
+ function readContainerId() {
70
+ // Method 1: /proc/self/cgroup (works for cgroup v1 and most Docker setups)
71
+ try {
72
+ const cgroup = fs.readFileSync('/proc/self/cgroup', 'utf8');
73
+ const match = cgroup.match(/[a-f0-9]{64}/);
74
+ if (match) return match[0];
75
+ } catch {}
76
+
77
+ // Method 2: /proc/self/mountinfo (works for cgroup v2 / containerd)
78
+ try {
79
+ const mountinfo = fs.readFileSync('/proc/self/mountinfo', 'utf8');
80
+ const match = mountinfo.match(/[a-f0-9]{64}/);
81
+ if (match) return match[0];
82
+ } catch {}
83
+
84
+ // Method 3: hostname in Docker defaults to short container ID (12 hex chars)
85
+ if (isContainer()) {
86
+ const hostname = os.hostname();
87
+ if (/^[a-f0-9]{12,64}$/.test(hostname)) return hostname;
88
+ }
89
+
90
+ return null;
91
+ }
92
+
93
+ function getMacAddresses() {
94
+ const ifaces = os.networkInterfaces();
95
+ const macs = [];
96
+ for (const name of Object.keys(ifaces)) {
97
+ for (const iface of ifaces[name]) {
98
+ if (!iface.internal && iface.mac && iface.mac !== '00:00:00:00:00:00') {
99
+ macs.push(iface.mac);
100
+ }
101
+ }
102
+ }
103
+ macs.sort();
104
+ return macs;
105
+ }
106
+
107
+ function generateDeviceId() {
108
+ const machineId = readMachineId();
109
+ if (machineId) {
110
+ return crypto.createHash('sha256').update('evomap:' + machineId).digest('hex').slice(0, 32);
111
+ }
112
+
113
+ // Container ID: stable for the container's lifetime, but changes on re-create.
114
+ // Still better than random for keeping identity within a single deployment.
115
+ const containerId = readContainerId();
116
+ if (containerId) {
117
+ return crypto.createHash('sha256').update('evomap:container:' + containerId).digest('hex').slice(0, 32);
118
+ }
119
+
120
+ const macs = getMacAddresses();
121
+ if (macs.length > 0) {
122
+ const raw = os.hostname() + '|' + macs.join(',');
123
+ return crypto.createHash('sha256').update('evomap:' + raw).digest('hex').slice(0, 32);
124
+ }
125
+
126
+ return crypto.randomBytes(16).toString('hex');
127
+ }
128
+
129
+ function persistDeviceId(id) {
130
+ // NOTE(windows): mode 0o700 / 0o600 are silently ignored on Windows.
131
+ // The device-id directory and file will NOT be access-restricted to the
132
+ // current user. Only Windows user-profile directory ACLs (%USERPROFILE%\.evomap)
133
+ // provide isolation. There is no cross-platform chmod equivalent here.
134
+
135
+ // Try primary path (~/.evomap/device_id)
136
+ try {
137
+ const dir = _deviceIdDir();
138
+ if (!fs.existsSync(dir)) {
139
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
140
+ }
141
+ fs.writeFileSync(_deviceIdFile(), id, { encoding: 'utf8', mode: 0o600 });
142
+ return;
143
+ } catch {}
144
+
145
+ // Fallback: project-local file (useful in containers where $HOME is ephemeral
146
+ // but the project directory is mounted as a volume)
147
+ try {
148
+ fs.writeFileSync(LOCAL_DEVICE_ID_FILE, id, { encoding: 'utf8', mode: 0o600 });
149
+ return;
150
+ } catch {}
151
+
152
+ console.error(
153
+ '[evolver] WARN: failed to persist device_id to ' + _deviceIdFile() +
154
+ ' or ' + LOCAL_DEVICE_ID_FILE +
155
+ ' -- node identity may change on restart.' +
156
+ ' Set EVOMAP_DEVICE_ID env var for stable identity in containers.'
157
+ );
158
+ }
159
+
160
+ function loadPersistedDeviceId() {
161
+ // Try primary path
162
+ try {
163
+ const file = _deviceIdFile();
164
+ if (fs.existsSync(file)) {
165
+ const id = fs.readFileSync(file, 'utf8').trim();
166
+ if (id && DEVICE_ID_RE.test(id)) return id;
167
+ }
168
+ } catch {}
169
+
170
+ // Try project-local fallback
171
+ try {
172
+ if (fs.existsSync(LOCAL_DEVICE_ID_FILE)) {
173
+ const id = fs.readFileSync(LOCAL_DEVICE_ID_FILE, 'utf8').trim();
174
+ if (id && DEVICE_ID_RE.test(id)) return id;
175
+ }
176
+ } catch {}
177
+
178
+ return null;
179
+ }
180
+
181
+ function getDeviceId() {
182
+ if (_cachedDeviceId) return _cachedDeviceId;
183
+
184
+ // 1. Env var override (validated)
185
+ if (process.env.EVOMAP_DEVICE_ID) {
186
+ const envId = String(process.env.EVOMAP_DEVICE_ID).trim().toLowerCase();
187
+ if (DEVICE_ID_RE.test(envId)) {
188
+ _cachedDeviceId = envId;
189
+ return _cachedDeviceId;
190
+ }
191
+ }
192
+
193
+ // 2. Previously persisted (checks both ~/.evomap/ and project-local)
194
+ const persisted = loadPersistedDeviceId();
195
+ if (persisted) {
196
+ _cachedDeviceId = persisted;
197
+ return _cachedDeviceId;
198
+ }
199
+
200
+ // 3. Generate from hardware / container metadata and persist
201
+ const inContainer = isContainer();
202
+ const generated = generateDeviceId();
203
+ persistDeviceId(generated);
204
+ _cachedDeviceId = generated;
205
+
206
+ if (inContainer && !process.env.EVOMAP_DEVICE_ID) {
207
+ console.error(
208
+ '[evolver] NOTE: running in a container without EVOMAP_DEVICE_ID.' +
209
+ ' A device_id was auto-generated and persisted, but for guaranteed' +
210
+ ' cross-restart stability, set EVOMAP_DEVICE_ID as an env var' +
211
+ ' or mount a persistent volume at ~/.evomap/'
212
+ );
213
+ }
214
+
215
+ return _cachedDeviceId;
216
+ }
217
+
218
+ module.exports = { getDeviceId, isContainer };