@evomap/evolver 1.89.11 → 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.
- package/.cursor/BUGBOT.md +182 -0
- package/.env.example +68 -0
- package/.git-commit-guard-token +1 -0
- package/.github/CODEOWNERS +63 -0
- package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
- package/.github/pull_request_template.md +45 -0
- package/.github/workflows/test.yml +75 -0
- package/CHANGELOG.md +1367 -0
- package/README.md +90 -537
- package/README.public.md +578 -0
- package/SECURITY.md +108 -0
- package/assets/gep/events.jsonl +3 -0
- package/examples/atp-consumer-quickstart.md +100 -0
- package/examples/hello-world.md +38 -0
- package/package.json +6 -18
- package/proxy-package.json +39 -0
- package/public.manifest.json +145 -0
- package/src/evolve/guards.js +721 -1
- package/src/evolve/pipeline/collect.js +1283 -1
- package/src/evolve/pipeline/dispatch.js +421 -1
- package/src/evolve/pipeline/enrich.js +440 -1
- package/src/evolve/pipeline/hub.js +319 -1
- package/src/evolve/pipeline/select.js +274 -1
- package/src/evolve/pipeline/signals.js +206 -1
- package/src/evolve/utils.js +264 -1
- package/src/evolve.js +350 -1
- package/src/gep/a2aProtocol.js +4463 -1
- package/src/gep/antiAbuseTelemetry.js +233 -1
- package/src/gep/autoDistillConv.js +205 -1
- package/src/gep/autoDistillLlm.js +315 -1
- package/src/gep/candidateEval.js +92 -1
- package/src/gep/candidates.js +198 -1
- package/src/gep/contentHash.js +30 -1
- package/src/gep/conversationDistiller.js +270 -0
- package/src/gep/conversationSniffer.js +266 -1
- package/src/gep/crypto.js +89 -1
- package/src/gep/curriculum.js +163 -1
- package/src/gep/deviceId.js +218 -1
- package/src/gep/envFingerprint.js +118 -1
- package/src/gep/epigenetics.js +31 -1
- package/src/gep/execBridge.js +712 -1
- package/src/gep/explore.js +289 -1
- package/src/gep/hash.js +15 -1
- package/src/gep/hubFetch.js +608 -1
- package/src/gep/hubReview.js +207 -1
- package/src/gep/hubSearch.js +526 -1
- package/src/gep/hubVerify.js +306 -1
- package/src/gep/learningSignals.js +89 -1
- package/src/gep/memoryGraph.js +1449 -1
- package/src/gep/memoryGraphAdapter.js +203 -1
- package/src/gep/mutation.js +203 -1
- package/src/gep/narrativeMemory.js +108 -1
- package/src/gep/openPRRegistry.js +205 -1
- package/src/gep/personality.js +423 -1
- package/src/gep/policyCheck.js +599 -1
- package/src/gep/prompt.js +836 -1
- package/src/gep/questionGenerator.js +103 -0
- package/src/gep/recallInject.js +409 -1
- package/src/gep/recallVerifier.js +318 -1
- package/src/gep/reflection.js +177 -1
- package/src/gep/savingsCore.js +112 -1
- package/src/gep/selector.js +602 -1
- package/src/gep/skillDistiller.js +1294 -1
- package/src/gep/solidify.js +1699 -1
- package/src/gep/strategy.js +136 -1
- package/src/gep/tokenSavings.js +95 -1
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/traceControl.js +109 -1
- package/src/proxy/inject.js +52 -1
- package/src/proxy/lifecycle/manager.js +108 -7
- package/src/proxy/server/routes.js +31 -0
- package/src/proxy/server/settings.js +6 -2
- package/src/proxy/sync/engine.js +31 -15
- package/src/proxy/sync/inbound.js +87 -9
- package/src/proxy/sync/outbound.js +57 -4
- package/src/proxy/trace/extractor.js +1403 -1
- package/src/proxy/trace/usage.js +105 -1
- package/CONTRIBUTING.md +0 -19
- package/assets/cover.png +0 -0
- package/scripts/a2a_export.js +0 -63
- package/scripts/a2a_ingest.js +0 -79
- package/scripts/a2a_promote.js +0 -118
- package/scripts/analyze_by_skill.js +0 -121
- package/scripts/build_binaries.js +0 -479
- package/scripts/check-changelog.js +0 -166
- package/scripts/extract_log.js +0 -85
- package/scripts/generate_history.js +0 -75
- package/scripts/gep_append_event.js +0 -96
- package/scripts/gep_personality_report.js +0 -234
- package/scripts/human_report.js +0 -147
- package/scripts/recall-verify-report.js +0 -234
- package/scripts/recover_loop.js +0 -61
- package/scripts/refresh_stars_badge.js +0 -168
- package/scripts/seed-merchants.js +0 -91
- package/scripts/suggest_version.js +0 -89
- package/scripts/validate-modules.js +0 -38
- package/scripts/validate-suite.js +0 -78
- package/skills/index.json +0 -14
- /package/assets/gep/{genes.seed.json → genes.json} +0 -0
- /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
|
@@ -1 +1,118 @@
|
|
|
1
|
-
const _0x3afbec=_0x3aee;(function(_0x4f8866,_0x4cf855){const _0x3c767f=_0x3aee,_0x152a4a=_0x4f8866();while(!![]){try{const _0x5187c7=-parseInt(_0x3c767f(0x109,'\x40\x57\x42\x77'))/(0x9b2+0x4b3+-0xe64)*(-parseInt(_0x3c767f(0xe7,'\x62\x64\x42\x59'))/(0xb7e+0x171b+-0x5*0x6eb))+-parseInt(_0x3c767f(0xc2,'\x4b\x36\x2a\x6f'))/(-0x2549+0x77a+0x1dd2)+-parseInt(_0x3c767f(0xb2,'\x77\x6c\x31\x53'))/(0x140*0x16+-0x8e+-0x47d*0x6)*(parseInt(_0x3c767f(0x145,'\x7a\x41\x58\x47'))/(0x1c*-0x125+0x2e5*-0x2+0x25db))+-parseInt(_0x3c767f(0xf0,'\x57\x59\x61\x41'))/(0x1*-0x100f+-0x2c*-0x23+0xa11)*(-parseInt(_0x3c767f(0x140,'\x78\x43\x44\x34'))/(0xd*-0x281+-0x3d*0x9d+-0x45fd*-0x1))+-parseInt(_0x3c767f(0xcd,'\x42\x45\x55\x6d'))/(0x7*0x10b+-0x91*0x44+0x1f3f)+parseInt(_0x3c767f(0x149,'\x5b\x71\x41\x74'))/(-0x10e0+0x2386+-0x1*0x129d)+parseInt(_0x3c767f(0x101,'\x70\x36\x32\x43'))/(-0x11d1+-0x2f*-0x6e+-0x1*0x257);if(_0x5187c7===_0x4cf855)break;else _0x152a4a['push'](_0x152a4a['shift']());}catch(_0x292dfa){_0x152a4a['push'](_0x152a4a['shift']());}}}(_0x188d,-0xe58a*0x6+0xaa30f+0x6b1c6*0x1));const _0x5da71b=(function(){const _0x3afa05=_0x3aee,_0x2edccf={'\x53\x56\x79\x49\x62':function(_0x40f1c0,_0x1c8962){return _0x40f1c0!==_0x1c8962;},'\x49\x7a\x4f\x41\x53':_0x3afa05(0xd0,'\x78\x43\x44\x34'),'\x42\x56\x6c\x6c\x78':'\x75\x6e\x6b\x6e\x6f\x77\x6e','\x6b\x6a\x77\x44\x63':_0x3afa05(0xa8,'\x42\x6c\x48\x6f'),'\x52\x51\x47\x70\x75':_0x3afa05(0xfa,'\x44\x78\x59\x23'),'\x75\x78\x6f\x6d\x6d':function(_0x123b9c,_0x4c98fd){return _0x123b9c(_0x4c98fd);},'\x72\x56\x56\x4f\x47':function(_0x5c6f53,_0xa65273){return _0x5c6f53===_0xa65273;},'\x50\x47\x56\x51\x4b':_0x3afa05(0xc1,'\x53\x52\x44\x24'),'\x44\x42\x56\x71\x44':_0x3afa05(0x14a,'\x53\x52\x44\x24'),'\x61\x69\x55\x77\x62':_0x3afa05(0x141,'\x46\x62\x47\x4b'),'\x74\x4c\x70\x48\x42':_0x3afa05(0x126,'\x25\x5a\x33\x71')};let _0xf5d3e6=!![];return function(_0x4b2113,_0x31f246){const _0x30fb2d=_0x3afa05,_0x40b6bf={'\x41\x74\x6a\x49\x5a':_0x30fb2d(0x138,'\x44\x78\x47\x4b'),'\x43\x57\x6d\x58\x4e':function(_0x100b2b,_0x49797a){const _0x5e64f0=_0x30fb2d;return _0x2edccf[_0x5e64f0(0x130,'\x67\x73\x24\x55')](_0x100b2b,_0x49797a);},'\x55\x4f\x77\x6b\x47':function(_0x571d9d,_0x1290ef){return _0x2edccf['\x72\x56\x56\x4f\x47'](_0x571d9d,_0x1290ef);},'\x69\x56\x5a\x6b\x53':_0x2edccf[_0x30fb2d(0x133,'\x70\x41\x30\x5b')],'\x53\x62\x4b\x43\x44':_0x2edccf[_0x30fb2d(0xa7,'\x7a\x41\x58\x47')],'\x69\x72\x4d\x4e\x57':'\x79\x78\x52\x6b\x4e'};if(_0x2edccf['\x72\x56\x56\x4f\x47'](_0x2edccf[_0x30fb2d(0xff,'\x70\x36\x32\x43')],_0x2edccf['\x74\x4c\x70\x48\x42'])){if(!_0x43d09e||_0x2edccf[_0x30fb2d(0xb3,'\x4f\x53\x7a\x2a')](typeof _0x474fff,_0x2edccf[_0x30fb2d(0x11b,'\x62\x5b\x61\x23')]))return _0x2edccf[_0x30fb2d(0x11f,'\x53\x52\x44\x24')];const _0xd9e490=[_0x5f3cb1[_0x30fb2d(0xf5,'\x4b\x36\x2a\x6f')+'\x64']||'',_0x5e011c[_0x30fb2d(0xa2,'\x32\x23\x43\x64')+_0x30fb2d(0x121,'\x4c\x4a\x66\x43')]||'',_0x868b88[_0x30fb2d(0xec,'\x62\x64\x42\x59')]||'',_0x5a4b44[_0x30fb2d(0x11c,'\x67\x73\x24\x55')]||'',_0x2edb64[_0x30fb2d(0xcf,'\x61\x4f\x4c\x62')]||'',_0x1e2555[_0x30fb2d(0xae,'\x24\x61\x41\x62')]||_0x29a70a[_0x30fb2d(0xce,'\x53\x52\x44\x24')+_0x30fb2d(0xed,'\x4b\x36\x2a\x6f')]||'',_0xd4f450['\x63\x6c\x69\x65\x6e\x74\x5f\x76'+_0x30fb2d(0x13f,'\x4b\x36\x2a\x6f')]||_0x2fa653[_0x30fb2d(0x12f,'\x39\x48\x63\x26')+_0x30fb2d(0x135,'\x7a\x41\x58\x47')]||''][_0x30fb2d(0x158,'\x61\x4e\x70\x24')]('\x7c');return _0x238376['\x63\x72\x65\x61\x74\x65\x48\x61'+'\x73\x68'](_0x2edccf['\x6b\x6a\x77\x44\x63'])[_0x30fb2d(0x107,'\x26\x43\x5e\x32')](_0xd9e490,_0x2edccf[_0x30fb2d(0xe0,'\x26\x43\x5e\x32')])[_0x30fb2d(0xa3,'\x32\x4d\x26\x63')](_0x30fb2d(0xd3,'\x62\x5b\x61\x23'))[_0x30fb2d(0xcc,'\x44\x78\x59\x23')](-0x21cf+-0x989+0x2b58,0x727*-0x1+-0x1cb8+0x23ef);}else{const _0x4b3ba5=_0xf5d3e6?function(){const _0x5229ae=_0x30fb2d,_0x46f86f={'\x79\x78\x75\x52\x4c':function(_0x4f8b21,_0x463c17){const _0x51be8a=_0x3aee;return _0x40b6bf[_0x51be8a(0xd8,'\x57\x44\x51\x75')](_0x4f8b21,_0x463c17);},'\x4c\x69\x74\x57\x4c':function(_0x47643a,_0x18e1f0){const _0x2bc74a=_0x3aee;return _0x40b6bf[_0x2bc74a(0x124,'\x5e\x50\x21\x62')](_0x47643a,_0x18e1f0);}};if(_0x40b6bf[_0x5229ae(0xd6,'\x5b\x77\x55\x57')](_0x40b6bf[_0x5229ae(0xdb,'\x55\x48\x78\x39')],_0x40b6bf['\x53\x62\x4b\x43\x44'])){const _0xa16c1=_0xc7bc5f[_0x5229ae(0xba,'\x64\x62\x74\x70')+_0x5229ae(0x159,'\x70\x41\x30\x5b')](_0x6c06f1,_0x40b6bf[_0x5229ae(0xde,'\x39\x6d\x29\x4c')]),_0x261333=_0x5a740f['\x70\x61\x72\x73\x65'](_0xa16c1);_0x5b761a=_0x261333&&_0x261333[_0x5229ae(0x15e,'\x55\x48\x78\x39')]?_0x219bb4(_0x261333[_0x5229ae(0xfb,'\x5b\x71\x41\x74')]):null,_0x24c3b7=_0x261333&&_0x261333[_0x5229ae(0x14d,'\x59\x78\x23\x30')]?_0x40b6bf[_0x5229ae(0x11e,'\x44\x78\x47\x4b')](_0x5ec02f,_0x261333['\x6e\x61\x6d\x65']):null;}else{if(_0x31f246){if(_0x40b6bf[_0x5229ae(0x154,'\x4b\x58\x47\x7a')](_0x40b6bf[_0x5229ae(0x125,'\x32\x4d\x26\x63')],_0x5229ae(0x10c,'\x44\x78\x59\x23'))){const _0x1e649d=_0x31f246[_0x5229ae(0xac,'\x58\x21\x64\x34')](_0x4b2113,arguments);return _0x31f246=null,_0x1e649d;}else return _0x46f86f[_0x5229ae(0x13e,'\x25\x5a\x33\x71')](_0x46f86f[_0x5229ae(0x114,'\x44\x78\x59\x23')](_0x323604,_0x3ccb18),_0x23c3b4(_0x38c256));}}}:function(){};return _0xf5d3e6=![],_0x4b3ba5;}};}()),_0x3f7de3=_0x5da71b(this,function(){const _0xe052da=_0x3aee,_0x1e0aeb={};_0x1e0aeb[_0xe052da(0xe4,'\x34\x75\x45\x5d')]=_0xe052da(0xda,'\x70\x36\x32\x43')+_0xe052da(0x108,'\x77\x6c\x31\x53');const _0x13f298=_0x1e0aeb;return _0x3f7de3['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0xe052da(0x113,'\x34\x75\x45\x5d')](_0x13f298[_0xe052da(0x148,'\x74\x5a\x40\x30')])[_0xe052da(0xc6,'\x59\x78\x23\x30')]()[_0xe052da(0xd7,'\x73\x4b\x57\x4a')+_0xe052da(0x147,'\x7a\x41\x58\x47')](_0x3f7de3)[_0xe052da(0xb1,'\x70\x41\x30\x5b')](_0x13f298[_0xe052da(0x9f,'\x70\x41\x30\x5b')]);});_0x3f7de3();const _0x2c7c0d=require('\x6f\x73'),_0xe5d78f=require('\x66\x73'),_0xb7ff3c=require(_0x3afbec(0x103,'\x78\x43\x44\x34')),_0x24997a=require(_0x3afbec(0x104,'\x4b\x58\x47\x7a')),{getRepoRoot:_0x26bb8d}=require('\x2e\x2f\x70\x61\x74\x68\x73'),{getDeviceId:_0x4aab05,isContainer:_0x8d0c48}=require(_0x3afbec(0x120,'\x40\x57\x42\x77')+'\x49\x64');function _0xcef426(){const _0x37d40c=_0x3afbec,_0x46bccf={};_0x46bccf[_0x37d40c(0x123,'\x32\x23\x43\x64')]=function(_0x529ff6,_0x1238bb){return _0x529ff6||_0x1238bb;},_0x46bccf[_0x37d40c(0xf7,'\x32\x7a\x34\x49')]=_0x37d40c(0x12d,'\x61\x4f\x4c\x62');const _0x8bc544=_0x46bccf,_0xbd4583=[process.env.EVOLVER_MODEL_NAME,process.env.ANTHROPIC_MODEL,process.env.CLAUDE_MODEL,process.env.CLAUDE_CODE_MODEL,process.env.OPENAI_MODEL,process.env.CODEX_MODEL,process.env.CURSOR_MODEL];for(const _0x428914 of _0xbd4583){const _0x5ec60e=_0x8bc544[_0x37d40c(0xf1,'\x49\x50\x4a\x72')](_0x428914,'')[_0x37d40c(0xd5,'\x4f\x53\x7a\x2a')]();if(_0x5ec60e)return _0x5ec60e[_0x37d40c(0x152,'\x25\x5a\x33\x71')](-0x167*0x1a+0x18c7+0xbaf,0x2625+-0xe8+0x1*-0x24d9);}return _0x8bc544[_0x37d40c(0x12a,'\x67\x73\x24\x55')];}function _0x2d7998(){const _0x4d663b=_0x3afbec,_0x25b6ee={'\x53\x50\x70\x54\x41':_0x4d663b(0xc5,'\x64\x62\x74\x70')+'\x6a\x73\x6f\x6e','\x7a\x6c\x69\x75\x63':'\x75\x74\x66\x38','\x6c\x44\x50\x46\x54':function(_0x490bbe,_0x7d6a46){return _0x490bbe(_0x7d6a46);},'\x71\x70\x58\x42\x41':function(_0x4e60f7,_0x4d74ce){return _0x4e60f7(_0x4d74ce);},'\x46\x4d\x79\x71\x51':function(_0x5668f6,_0x28509a){return _0x5668f6||_0x28509a;},'\x58\x77\x53\x61\x52':function(_0x46d399,_0x450ab8){return _0x46d399===_0x450ab8;},'\x75\x45\x61\x42\x59':_0x4d663b(0xf6,'\x58\x21\x64\x34'),'\x64\x71\x76\x6c\x51':_0x4d663b(0x156,'\x62\x5b\x61\x23'),'\x63\x53\x67\x71\x6e':function(_0x21161d,_0x38a29b){return _0x21161d||_0x38a29b;},'\x4e\x70\x4e\x75\x5a':function(_0x3ace05){return _0x3ace05();},'\x62\x63\x7a\x69\x79':_0x4d663b(0xb9,'\x5e\x50\x21\x62'),'\x73\x69\x58\x42\x4d':_0x4d663b(0x11a,'\x32\x4d\x26\x63')},_0x113ce9=_0x26bb8d();let _0x3167a=null,_0x339188=null;const _0x3ae54d=_0xb7ff3c[_0x4d663b(0x117,'\x7a\x41\x58\x47')](__dirname,'\x2e\x2e','\x2e\x2e',_0x25b6ee[_0x4d663b(0xcb,'\x26\x43\x5e\x32')]);try{const _0x279c85=_0xe5d78f['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x4d663b(0x136,'\x58\x21\x64\x34')](_0x3ae54d,_0x25b6ee[_0x4d663b(0x146,'\x73\x4b\x57\x4a')]),_0x1f9579=JSON[_0x4d663b(0xd1,'\x5b\x71\x41\x74')](_0x279c85);_0x3167a=_0x1f9579&&_0x1f9579['\x76\x65\x72\x73\x69\x6f\x6e']?String(_0x1f9579[_0x4d663b(0x143,'\x4c\x4a\x66\x43')]):null,_0x339188=_0x1f9579&&_0x1f9579[_0x4d663b(0xa0,'\x42\x23\x33\x31')]?_0x25b6ee[_0x4d663b(0xbf,'\x57\x44\x51\x75')](String,_0x1f9579[_0x4d663b(0x110,'\x7a\x41\x58\x47')]):null;}catch(_0x3e8d68){}if(!_0x3167a){if(_0x25b6ee[_0x4d663b(0xe6,'\x32\x4d\x26\x63')](_0x25b6ee[_0x4d663b(0x119,'\x67\x73\x24\x55')],_0x25b6ee[_0x4d663b(0x142,'\x5e\x50\x21\x62')]))try{if(_0x25b6ee[_0x4d663b(0x10f,'\x32\x7a\x34\x49')]===_0x25b6ee[_0x4d663b(0xb7,'\x42\x23\x33\x31')]){const _0x5e3208=_0xe5d78f[_0x4d663b(0x12c,'\x57\x44\x51\x75')+_0x4d663b(0xf4,'\x48\x71\x61\x6f')](_0xb7ff3c['\x6a\x6f\x69\x6e'](_0x113ce9,_0x25b6ee[_0x4d663b(0xe3,'\x4b\x58\x47\x7a')]),_0x25b6ee[_0x4d663b(0x10b,'\x4a\x4a\x6d\x65')]),_0x5d511b=JSON[_0x4d663b(0x14e,'\x32\x4d\x26\x63')](_0x5e3208);_0x3167a=_0x5d511b&&_0x5d511b[_0x4d663b(0x143,'\x4c\x4a\x66\x43')]?_0x25b6ee[_0x4d663b(0xb6,'\x64\x62\x74\x70')](String,_0x5d511b[_0x4d663b(0xdc,'\x70\x41\x30\x5b')]):null,_0x339188=_0x5d511b&&_0x5d511b[_0x4d663b(0x14d,'\x59\x78\x23\x30')]?_0x25b6ee[_0x4d663b(0x12b,'\x33\x72\x44\x51')](String,_0x5d511b[_0x4d663b(0x122,'\x78\x43\x44\x34')]):null;}else try{const _0x22f657=_0x1ffcc7[_0x4d663b(0xa5,'\x4a\x28\x4b\x35')+_0x4d663b(0x14c,'\x5b\x77\x55\x57')](_0x5815e9[_0x4d663b(0x155,'\x42\x23\x33\x31')](_0x5dcfb7,_0x25b6ee[_0x4d663b(0xdd,'\x4f\x53\x7a\x2a')]),_0x25b6ee[_0x4d663b(0x134,'\x77\x6c\x31\x53')]),_0x1da05e=_0x15c706[_0x4d663b(0x14e,'\x32\x4d\x26\x63')](_0x22f657);_0x523225=_0x1da05e&&_0x1da05e[_0x4d663b(0x15d,'\x39\x6d\x29\x4c')]?_0x25b6ee[_0x4d663b(0xc0,'\x4b\x58\x47\x7a')](_0x209f30,_0x1da05e[_0x4d663b(0x157,'\x4a\x4a\x6d\x65')]):null,_0x3b0bbe=_0x1da05e&&_0x1da05e[_0x4d663b(0xeb,'\x48\x71\x61\x6f')]?_0x25b6ee[_0x4d663b(0xc4,'\x39\x6d\x29\x4c')](_0x3aa26e,_0x1da05e[_0x4d663b(0xbb,'\x5b\x77\x55\x57')]):null;}catch(_0x46bf55){}}catch(_0x1bf31f){}else{const _0x2347b7=EdXHsC[_0x4d663b(0xf3,'\x39\x6d\x29\x4c')](_0x8f4088,'')[_0x4d663b(0xb0,'\x5e\x50\x21\x62')]();if(_0x2347b7)return _0x2347b7[_0x4d663b(0x129,'\x4b\x58\x47\x7a')](-0x1f2d+0x2*-0xc1d+0xd*0x443,-0x2247+0x24aa+0x1*-0x1ff);}}const _0xa50b89=(process.env.EVOLVER_REGION||'')[_0x4d663b(0x13d,'\x74\x44\x30\x38')]()[_0x4d663b(0xd9,'\x34\x75\x45\x5d')+_0x4d663b(0xab,'\x4a\x4a\x6d\x65')]()[_0x4d663b(0x116,'\x44\x78\x47\x4b')](0x6e9+0x1091+0x4b2*-0x5,0x6dd+0x2026+0x2c9*-0xe)||undefined;return{'\x64\x65\x76\x69\x63\x65\x5f\x69\x64':_0x4aab05(),'\x6e\x6f\x64\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e':process[_0x4d663b(0xd4,'\x5b\x77\x55\x57')],'\x70\x6c\x61\x74\x66\x6f\x72\x6d':process[_0x4d663b(0x15c,'\x73\x4b\x57\x4a')],'\x61\x72\x63\x68':process[_0x4d663b(0x115,'\x64\x62\x74\x70')],'\x6f\x73\x5f\x72\x65\x6c\x65\x61\x73\x65':_0x2c7c0d[_0x4d663b(0xef,'\x49\x50\x4a\x72')](),'\x68\x6f\x73\x74\x6e\x61\x6d\x65':_0x24997a[_0x4d663b(0xc8,'\x62\x5b\x61\x23')+'\x73\x68'](_0x4d663b(0xfc,'\x73\x4b\x57\x4a'))[_0x4d663b(0x11d,'\x32\x7a\x34\x49')](_0x2c7c0d[_0x4d663b(0xf8,'\x4f\x53\x7a\x2a')]())[_0x4d663b(0xc3,'\x24\x61\x41\x62')](_0x4d663b(0x15b,'\x4a\x28\x4b\x35'))['\x73\x6c\x69\x63\x65'](0x1bdf+0x4f+-0x1c2e,-0x3*0x461+-0x259e+-0x9*-0x5a5),'\x65\x76\x6f\x6c\x76\x65\x72\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x3167a,'\x63\x6c\x69\x65\x6e\x74':_0x25b6ee[_0x4d663b(0x14b,'\x44\x78\x47\x4b')](_0x339188,_0x4d663b(0xe9,'\x58\x21\x64\x34')),'\x63\x6c\x69\x65\x6e\x74\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x3167a,'\x6d\x6f\x64\x65\x6c':_0x25b6ee[_0x4d663b(0xe1,'\x61\x4e\x70\x24')](_0xcef426),'\x72\x65\x67\x69\x6f\x6e':_0xa50b89,'\x63\x77\x64':_0x24997a[_0x4d663b(0x9e,'\x4c\x4a\x66\x43')+'\x73\x68'](_0x25b6ee[_0x4d663b(0x118,'\x61\x4f\x4c\x62')])['\x75\x70\x64\x61\x74\x65'](process[_0x4d663b(0x131,'\x7a\x41\x58\x47')]())[_0x4d663b(0xdf,'\x5b\x77\x55\x57')](_0x25b6ee['\x73\x69\x58\x42\x4d'])[_0x4d663b(0xa4,'\x4f\x53\x7a\x2a')](0x2058+-0x144e+-0x1*0xc0a,-0x1*0xddf+-0x1912*-0x1+0x1*-0xb27),'\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72':_0x25b6ee[_0x4d663b(0xbd,'\x55\x48\x78\x39')](_0x8d0c48),'\x63\x61\x70\x74\x75\x72\x65\x64\x5f\x61\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72'+_0x4d663b(0x10e,'\x57\x59\x61\x41')]()};}function _0x3aee(_0x3b6c2b,_0x2f167b){_0x3b6c2b=_0x3b6c2b-(-0x6*0x1d+-0x22*-0x3a+0xcd*-0x8);const _0xca32a5=_0x188d();let _0x311a8d=_0xca32a5[_0x3b6c2b];if(_0x3aee['\x69\x57\x73\x67\x67\x49']===undefined){var _0x2443e1=function(_0x15bc21){const _0x52c781='\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 _0x283772='',_0x23a421='',_0x21c70f=_0x283772+_0x2443e1,_0x121388=(''+function(){return 0x5*-0x607+-0x5*0x126+-0x5*-0x72d;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1a67+0x28d*0x8+-0x6*0x7cd);for(let _0x34b5aa=-0x25*-0xad+-0x5e2*0x3+-0x75b,_0x5910ae,_0x17c39e,_0x5ae153=-0x8cf+-0x1e25+-0x9bd*-0x4;_0x17c39e=_0x15bc21['\x63\x68\x61\x72\x41\x74'](_0x5ae153++);~_0x17c39e&&(_0x5910ae=_0x34b5aa%(-0x24d9+-0x1*0xf4d+-0x342a*-0x1)?_0x5910ae*(-0xa16+0xe6c*-0x2+0x272e)+_0x17c39e:_0x17c39e,_0x34b5aa++%(0x1d*-0x4f+0x268f+0x1*-0x1d98))?_0x283772+=_0x121388||_0x21c70f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5ae153+(-0x1727*-0x1+0x251e*0x1+-0x3c3b))-(0x9*0xcf+0x88c*0x1+-0xfc9)!==0x2119+-0x7*-0x566+0x3*-0x17a1?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xdd3*0x2+-0x531*-0x2+-0x2509&_0x5910ae>>(-(0x13*0xf1+-0x1935+0xe*0x86)*_0x34b5aa&0xb01+0x2027+-0x2b22)):_0x34b5aa:-0x3*-0x3fa+0x1*0x2401+-0x2fef){_0x17c39e=_0x52c781['\x69\x6e\x64\x65\x78\x4f\x66'](_0x17c39e);}for(let _0x48a8ce=-0x1729*0x1+0x7*-0x544+0x3c05,_0x24dde8=_0x283772['\x6c\x65\x6e\x67\x74\x68'];_0x48a8ce<_0x24dde8;_0x48a8ce++){_0x23a421+='\x25'+('\x30\x30'+_0x283772['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x48a8ce)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x107d*0x1+0x135b+-0x1*0x23c8))['\x73\x6c\x69\x63\x65'](-(-0xe60+-0x4f2+0x1354));}return decodeURIComponent(_0x23a421);};const _0x10cdae=function(_0x4940e9,_0x3d9433){let _0x1251fe=[],_0x1cfc8a=-0x877+-0xd7b+-0x15f2*-0x1,_0x3b0261,_0x4dfa3c='';_0x4940e9=_0x2443e1(_0x4940e9);let _0x15595c;for(_0x15595c=-0xabd*-0x1+0x9c5*-0x1+-0x1*0xf8;_0x15595c<-0x431+-0x2*-0xcfb+0x199*-0xd;_0x15595c++){_0x1251fe[_0x15595c]=_0x15595c;}for(_0x15595c=-0x8*0xbb+-0x26f9+0x2cd1;_0x15595c<-0xb8b+-0x1bb*0x6+-0x16ed*-0x1;_0x15595c++){_0x1cfc8a=(_0x1cfc8a+_0x1251fe[_0x15595c]+_0x3d9433['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x15595c%_0x3d9433['\x6c\x65\x6e\x67\x74\x68']))%(0x1efc+0x4*0x766+0xba*-0x52),_0x3b0261=_0x1251fe[_0x15595c],_0x1251fe[_0x15595c]=_0x1251fe[_0x1cfc8a],_0x1251fe[_0x1cfc8a]=_0x3b0261;}_0x15595c=0x227f+0x17a3+-0xe*0x427,_0x1cfc8a=0x2d4*0xb+0x18*0x6f+-0x2984;for(let _0x32a80c=0x140d*0x1+0x1e9b*0x1+-0x2*0x1954;_0x32a80c<_0x4940e9['\x6c\x65\x6e\x67\x74\x68'];_0x32a80c++){_0x15595c=(_0x15595c+(0xe2*-0x4+0x149e*-0x1+0x9*0x2af))%(-0x34*0x7b+-0x3e0*0x8+0xe*0x412),_0x1cfc8a=(_0x1cfc8a+_0x1251fe[_0x15595c])%(0x1265+0xec4+-0x2029),_0x3b0261=_0x1251fe[_0x15595c],_0x1251fe[_0x15595c]=_0x1251fe[_0x1cfc8a],_0x1251fe[_0x1cfc8a]=_0x3b0261,_0x4dfa3c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4940e9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x32a80c)^_0x1251fe[(_0x1251fe[_0x15595c]+_0x1251fe[_0x1cfc8a])%(0x2bb*0x6+-0x1*0x2348+-0x13e6*-0x1)]);}return _0x4dfa3c;};_0x3aee['\x72\x67\x4f\x70\x54\x75']=_0x10cdae,_0x3aee['\x63\x76\x62\x64\x53\x53']={},_0x3aee['\x69\x57\x73\x67\x67\x49']=!![];}const _0x114a14=_0xca32a5[-0x1*0x656+0x1*0x19a7+-0x73*0x2b],_0x3eeaaf=_0x3b6c2b+_0x114a14,_0x5e36c5=_0x3aee['\x63\x76\x62\x64\x53\x53'][_0x3eeaaf];if(!_0x5e36c5){if(_0x3aee['\x45\x54\x51\x5a\x69\x67']===undefined){const _0x17b28d=function(_0x526770){this['\x6b\x56\x49\x63\x54\x41']=_0x526770,this['\x55\x49\x6e\x64\x45\x41']=[-0x77*0x3d+0x218+0x1a44,-0x9c5+-0x718+0x10dd,0x4a0+0x20c6+-0x2566*0x1],this['\x71\x66\x7a\x63\x73\x76']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4a\x71\x4b\x44\x48\x64']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x57\x59\x54\x55\x4d\x4d']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x17b28d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x74\x6b\x66\x75\x68\x4b']=function(){const _0x294f2e=new RegExp(this['\x4a\x71\x4b\x44\x48\x64']+this['\x57\x59\x54\x55\x4d\x4d']),_0x188fe3=_0x294f2e['\x74\x65\x73\x74'](this['\x71\x66\x7a\x63\x73\x76']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x55\x49\x6e\x64\x45\x41'][0x45e+0x1867*-0x1+-0x156*-0xf]:--this['\x55\x49\x6e\x64\x45\x41'][-0x79*0xf+0x14b0+-0xd99];return this['\x62\x79\x6b\x43\x6b\x4d'](_0x188fe3);},_0x17b28d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x62\x79\x6b\x43\x6b\x4d']=function(_0x2c7133){if(!Boolean(~_0x2c7133))return _0x2c7133;return this['\x55\x6b\x41\x61\x54\x4e'](this['\x6b\x56\x49\x63\x54\x41']);},_0x17b28d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x55\x6b\x41\x61\x54\x4e']=function(_0x2abe0b){for(let _0x250cc0=-0x17d6+-0xca0*0x2+0x3116,_0x50298a=this['\x55\x49\x6e\x64\x45\x41']['\x6c\x65\x6e\x67\x74\x68'];_0x250cc0<_0x50298a;_0x250cc0++){this['\x55\x49\x6e\x64\x45\x41']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x50298a=this['\x55\x49\x6e\x64\x45\x41']['\x6c\x65\x6e\x67\x74\x68'];}return _0x2abe0b(this['\x55\x49\x6e\x64\x45\x41'][0x1*0x10b1+0x1b01+-0x2bb2]);},(''+function(){return 0x1fdb+0xf9c+-0x2f77;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x49*-0x6f+-0x16*-0xd3+-0x31c8)&&new _0x17b28d(_0x3aee)['\x74\x6b\x66\x75\x68\x4b'](),_0x3aee['\x45\x54\x51\x5a\x69\x67']=!![];}_0x311a8d=_0x3aee['\x72\x67\x4f\x70\x54\x75'](_0x311a8d,_0x2f167b),_0x3aee['\x63\x76\x62\x64\x53\x53'][_0x3eeaaf]=_0x311a8d;}else _0x311a8d=_0x5e36c5;return _0x311a8d;}function _0xa664f2(_0x5f25f3){const _0x1dd0b2=_0x3afbec,_0x4124bf={};_0x4124bf[_0x1dd0b2(0x132,'\x46\x62\x47\x4b')]=function(_0x1178af,_0xa33abb){return _0x1178af!==_0xa33abb;},_0x4124bf[_0x1dd0b2(0xaf,'\x64\x62\x74\x70')]=_0x1dd0b2(0x12d,'\x61\x4f\x4c\x62'),_0x4124bf[_0x1dd0b2(0xc9,'\x5e\x50\x21\x62')]=_0x1dd0b2(0x10d,'\x61\x4f\x4c\x62'),_0x4124bf[_0x1dd0b2(0x13c,'\x32\x23\x43\x64')]=_0x1dd0b2(0xe2,'\x48\x28\x40\x41'),_0x4124bf[_0x1dd0b2(0xd2,'\x39\x6d\x29\x4c')]=_0x1dd0b2(0xca,'\x77\x6c\x31\x53');const _0x356746=_0x4124bf;if(!_0x5f25f3||_0x356746[_0x1dd0b2(0xfe,'\x48\x28\x40\x41')](typeof _0x5f25f3,_0x1dd0b2(0x13b,'\x24\x61\x41\x62')))return _0x356746[_0x1dd0b2(0x102,'\x55\x48\x78\x39')];const _0x2d5714=[_0x5f25f3[_0x1dd0b2(0x150,'\x46\x62\x47\x4b')+'\x64']||'',_0x5f25f3[_0x1dd0b2(0x127,'\x4a\x28\x4b\x35')+_0x1dd0b2(0x151,'\x4a\x4a\x6d\x65')]||'',_0x5f25f3[_0x1dd0b2(0xa6,'\x44\x78\x59\x23')]||'',_0x5f25f3[_0x1dd0b2(0xb4,'\x61\x4e\x70\x24')]||'',_0x5f25f3['\x68\x6f\x73\x74\x6e\x61\x6d\x65']||'',_0x5f25f3['\x63\x6c\x69\x65\x6e\x74']||_0x5f25f3[_0x1dd0b2(0x105,'\x32\x7a\x34\x49')+_0x1dd0b2(0x137,'\x74\x44\x30\x38')]||'',_0x5f25f3['\x63\x6c\x69\x65\x6e\x74\x5f\x76'+_0x1dd0b2(0xa9,'\x7a\x41\x58\x47')]||_0x5f25f3[_0x1dd0b2(0xe5,'\x34\x75\x45\x5d')+_0x1dd0b2(0xbe,'\x48\x71\x61\x6f')]||''][_0x1dd0b2(0xad,'\x4b\x58\x47\x7a')]('\x7c');return _0x24997a[_0x1dd0b2(0xb5,'\x5b\x77\x55\x57')+'\x73\x68'](_0x356746[_0x1dd0b2(0xfd,'\x32\x4d\x26\x63')])[_0x1dd0b2(0xea,'\x64\x62\x74\x70')](_0x2d5714,_0x356746[_0x1dd0b2(0x112,'\x70\x41\x30\x5b')])[_0x1dd0b2(0xbc,'\x61\x4f\x4c\x62')](_0x356746[_0x1dd0b2(0x10a,'\x49\x50\x4a\x72')])[_0x1dd0b2(0x106,'\x42\x23\x33\x31')](0x1*-0x1741+0x1227+0x51a,0x1620*0x1+0x2*0x3d1+-0x6*0x4f3);}function _0x13287c(_0x349aad,_0x21f941){const _0x4e2fb5=_0x3afbec,_0x2f3082={'\x51\x74\x67\x78\x44':function(_0xb7188f,_0x1a89bf){return _0xb7188f===_0x1a89bf;},'\x64\x53\x49\x78\x6c':function(_0x1b38c2,_0x22f98c){return _0x1b38c2(_0x22f98c);}};return _0x2f3082[_0x4e2fb5(0x144,'\x32\x4d\x26\x63')](_0x2f3082[_0x4e2fb5(0x128,'\x58\x21\x64\x34')](_0xa664f2,_0x349aad),_0x2f3082[_0x4e2fb5(0x14f,'\x5b\x77\x55\x57')](_0xa664f2,_0x21f941));}const _0x3a9eb4={};function _0x188d(){const _0x29c44f=['\x63\x4e\x64\x64\x50\x53\x6f\x65\x57\x52\x43\x50\x6f\x71','\x63\x53\x6b\x50\x62\x77\x79\x72\x73\x75\x4e\x64\x50\x64\x37\x64\x4b\x38\x6b\x54\x45\x47','\x57\x50\x6c\x63\x50\x67\x4c\x73\x57\x4f\x44\x4a\x57\x50\x6c\x63\x4f\x71','\x74\x62\x47\x56\x63\x43\x6f\x45','\x65\x4a\x2f\x64\x4a\x61','\x57\x34\x74\x64\x56\x38\x6b\x2b\x74\x4b\x69','\x6c\x38\x6b\x52\x62\x73\x6a\x33','\x57\x4f\x33\x64\x49\x77\x44\x77\x77\x61','\x62\x59\x33\x64\x4d\x53\x6f\x55\x57\x37\x68\x63\x49\x53\x6f\x69','\x57\x50\x64\x63\x4f\x53\x6b\x35\x57\x50\x4f','\x57\x50\x52\x64\x4f\x66\x33\x63\x4b\x53\x6f\x45\x43\x43\x6b\x4b','\x57\x34\x68\x63\x48\x65\x46\x63\x4f\x57','\x79\x43\x6f\x69\x57\x35\x4b\x78\x42\x38\x6f\x6c\x57\x34\x33\x64\x4b\x4d\x4e\x64\x4a\x53\x6b\x41\x71\x4c\x61','\x57\x51\x57\x74\x57\x35\x70\x64\x56\x38\x6b\x68\x44\x30\x6d','\x57\x36\x43\x53\x57\x35\x4f\x6e\x57\x52\x70\x63\x4a\x61','\x57\x50\x52\x64\x56\x38\x6f\x65\x57\x35\x56\x63\x4c\x71','\x57\x50\x4a\x64\x54\x30\x42\x63\x4a\x61','\x66\x67\x53\x6c\x68\x38\x6f\x4f','\x43\x53\x6f\x44\x69\x6d\x6b\x78\x57\x4f\x37\x63\x4c\x71','\x57\x4f\x69\x6e\x57\x35\x78\x64\x56\x30\x5a\x63\x4d\x38\x6b\x33\x71\x43\x6b\x31','\x57\x34\x33\x64\x4f\x43\x6b\x73\x41\x4d\x43','\x63\x4d\x56\x64\x53\x67\x37\x63\x51\x57','\x71\x62\x44\x2b\x6e\x58\x34\x54\x70\x47','\x57\x52\x38\x52\x57\x50\x30\x56\x77\x47','\x72\x63\x56\x64\x4f\x38\x6f\x70\x57\x35\x6c\x63\x4f\x6d\x6f\x61','\x61\x30\x35\x58\x57\x35\x38\x44','\x62\x73\x46\x64\x4d\x47','\x57\x36\x4a\x63\x50\x63\x4e\x64\x51\x61\x69','\x69\x6d\x6b\x55\x42\x4e\x74\x64\x4c\x74\x74\x63\x4a\x76\x5a\x64\x4a\x48\x54\x74\x57\x35\x4b\x5a','\x57\x52\x5a\x63\x4f\x6d\x6f\x72\x57\x52\x2f\x64\x52\x71','\x57\x35\x46\x63\x4f\x30\x42\x64\x51\x53\x6f\x34','\x63\x72\x38\x6d\x42\x71','\x70\x43\x6b\x43\x57\x4f\x66\x63','\x57\x50\x34\x2b\x57\x4f\x47\x4b\x45\x57','\x70\x4a\x75\x52\x44\x4e\x47','\x57\x37\x4e\x64\x4a\x6d\x6b\x55\x75\x31\x6e\x37\x77\x6d\x6f\x35','\x73\x53\x6f\x33\x75\x4a\x61','\x68\x4e\x38\x78\x6c\x53\x6f\x62','\x57\x35\x52\x63\x48\x4d\x46\x64\x53\x53\x6f\x34\x62\x47\x65\x59','\x57\x50\x33\x64\x56\x38\x6b\x34\x72\x47\x43','\x68\x4a\x2f\x63\x4c\x53\x6b\x2b','\x67\x6d\x6b\x54\x57\x34\x58\x33\x57\x37\x53','\x74\x38\x6f\x37\x74\x59\x31\x70\x65\x65\x38','\x57\x35\x61\x48\x41\x6d\x6b\x4d','\x6c\x6d\x6b\x76\x70\x72\x61','\x74\x48\x2f\x63\x4f\x32\x52\x63\x4f\x75\x7a\x6c\x64\x72\x61','\x69\x75\x50\x51','\x63\x75\x35\x35\x57\x35\x34\x79\x57\x52\x52\x64\x55\x53\x6f\x6a','\x57\x37\x37\x63\x47\x53\x6b\x62\x6b\x38\x6b\x56\x43\x53\x6b\x6c','\x57\x36\x53\x6b\x7a\x31\x50\x79\x57\x50\x68\x64\x4c\x71','\x76\x71\x62\x50\x6a\x71\x6d\x4e\x67\x6d\x6f\x4d','\x6e\x38\x6b\x68\x65\x73\x72\x4c','\x67\x4a\x68\x63\x4b\x53\x6b\x31','\x6a\x43\x6b\x2b\x57\x4f\x62\x67\x6b\x38\x6b\x69','\x57\x4f\x64\x64\x4f\x43\x6f\x68\x57\x34\x52\x63\x4e\x6d\x6b\x65\x57\x35\x4a\x64\x47\x61','\x57\x4f\x4f\x32\x57\x50\x30\x59\x42\x75\x43','\x57\x35\x39\x46\x57\x34\x75\x6f\x6b\x61','\x6f\x30\x50\x5a\x57\x4f\x43\x31\x57\x52\x56\x63\x53\x5a\x4b','\x57\x34\x33\x63\x50\x43\x6f\x45\x57\x34\x48\x33\x57\x36\x37\x64\x55\x43\x6b\x74','\x6e\x71\x52\x64\x56\x53\x6f\x53\x57\x35\x57','\x57\x36\x5a\x64\x4e\x4c\x34\x46\x57\x34\x72\x70','\x66\x64\x52\x64\x4d\x38\x6f\x30\x57\x37\x46\x63\x49\x57','\x64\x31\x5a\x64\x55\x65\x6c\x63\x48\x47','\x77\x6d\x6f\x54\x77\x61','\x57\x51\x6c\x63\x51\x38\x6b\x4e\x57\x50\x78\x63\x4e\x61','\x57\x51\x6c\x64\x4e\x38\x6b\x4d\x71\x57','\x57\x36\x53\x49\x57\x35\x4b\x6e\x57\x52\x37\x63\x4a\x61','\x57\x34\x74\x63\x49\x43\x6b\x4d\x76\x38\x6f\x68','\x63\x31\x5a\x64\x55\x65\x65','\x64\x6d\x6b\x6a\x6d\x47\x66\x46\x75\x71','\x57\x34\x78\x63\x4b\x64\x47\x74\x64\x33\x6e\x67\x45\x72\x74\x64\x54\x4a\x69\x54\x67\x47','\x57\x37\x39\x4c\x57\x35\x75\x4b\x6c\x57','\x57\x35\x53\x38\x79\x53\x6b\x47','\x6f\x72\x71\x68\x42\x32\x64\x63\x52\x43\x6f\x6c\x57\x37\x69','\x57\x37\x6c\x63\x52\x43\x6b\x34\x44\x38\x6f\x4a','\x65\x63\x68\x63\x49\x43\x6b\x38\x57\x50\x71','\x78\x43\x6f\x37\x73\x74\x54\x66\x63\x32\x5a\x64\x51\x47','\x64\x65\x42\x64\x53\x62\x37\x64\x48\x58\x71','\x57\x37\x68\x63\x55\x6d\x6b\x62\x75\x43\x6f\x4b\x57\x34\x43\x46\x57\x34\x61','\x6e\x61\x43\x70\x41\x57','\x67\x33\x46\x64\x51\x53\x6f\x70\x57\x51\x53\x51','\x57\x35\x6d\x46\x77\x31\x58\x52','\x57\x36\x72\x39\x57\x34\x39\x32\x57\x51\x58\x65\x57\x35\x4b','\x57\x36\x34\x76\x57\x35\x52\x64\x4a\x6d\x6b\x64','\x57\x51\x74\x64\x54\x6d\x6b\x46\x41\x58\x71','\x57\x51\x37\x63\x47\x38\x6f\x63\x57\x50\x78\x64\x51\x47','\x6a\x53\x6b\x77\x41\x53\x6f\x67\x57\x35\x74\x64\x4a\x38\x6b\x4a\x63\x30\x6c\x64\x50\x63\x50\x6f\x57\x50\x34','\x57\x36\x57\x4e\x57\x35\x43\x6e\x57\x51\x70\x63\x4a\x61','\x57\x37\x4e\x63\x4c\x38\x6b\x52\x67\x53\x6b\x68','\x57\x37\x70\x63\x56\x6d\x6b\x64\x78\x53\x6f\x64\x57\x34\x4b\x77\x57\x4f\x53','\x6a\x38\x6b\x73\x57\x52\x39\x74\x6b\x53\x6b\x73\x57\x50\x46\x64\x53\x47','\x57\x34\x42\x63\x4e\x74\x34\x77\x64\x68\x76\x64\x73\x74\x33\x64\x4b\x59\x69\x30\x68\x61','\x69\x43\x6b\x45\x57\x37\x31\x45\x57\x37\x52\x64\x4d\x47\x56\x63\x50\x57','\x6c\x4c\x2f\x64\x48\x76\x33\x63\x50\x57','\x57\x50\x2f\x64\x47\x68\x79','\x70\x43\x6f\x2b\x57\x51\x6d\x33\x75\x71','\x57\x34\x37\x63\x50\x43\x6f\x77\x57\x35\x39\x30','\x57\x51\x38\x42\x57\x52\x6c\x63\x53\x6d\x6b\x51\x57\x4f\x4a\x64\x53\x38\x6f\x47\x74\x53\x6b\x79\x74\x78\x4c\x35','\x57\x51\x52\x63\x4f\x53\x6f\x79\x57\x4f\x70\x64\x54\x5a\x50\x6c\x61\x47','\x66\x33\x68\x64\x56\x53\x6f\x45\x57\x52\x79\x2f\x6f\x53\x6f\x49','\x57\x35\x58\x45\x57\x4f\x33\x64\x4e\x68\x5a\x63\x49\x57','\x79\x43\x6f\x33\x6c\x64\x6c\x63\x48\x57','\x57\x34\x78\x63\x51\x53\x6b\x79\x6b\x6d\x6b\x77','\x6b\x53\x6b\x6a\x57\x36\x61','\x6c\x61\x6d\x71\x46\x78\x33\x63\x50\x38\x6f\x54','\x57\x35\x48\x62\x57\x34\x75\x61','\x64\x59\x4b\x76\x7a\x76\x6d','\x67\x4b\x31\x32\x57\x35\x4b\x6b\x57\x51\x46\x64\x56\x43\x6f\x68','\x57\x34\x4f\x51\x57\x37\x78\x64\x50\x43\x6b\x66','\x57\x34\x52\x63\x54\x6d\x6f\x4a\x57\x35\x35\x70\x57\x34\x4a\x63\x4e\x68\x4f','\x57\x37\x5a\x64\x50\x61\x33\x63\x49\x72\x43\x4f\x57\x51\x34\x58','\x57\x37\x71\x35\x74\x30\x6a\x49','\x63\x43\x6b\x6a\x69\x71\x62\x76\x76\x4e\x53','\x57\x37\x39\x4a\x57\x35\x57\x35\x64\x61','\x57\x34\x4e\x63\x4b\x38\x6b\x7a\x65\x43\x6b\x43','\x70\x47\x38\x66\x41\x32\x46\x63\x56\x61','\x70\x6d\x6f\x2f\x57\x50\x71\x74\x7a\x71','\x57\x37\x71\x2b\x74\x38\x6b\x39\x7a\x61','\x57\x51\x43\x6c\x57\x35\x61\x31','\x57\x50\x56\x64\x4f\x6d\x6b\x2f\x45\x71\x65','\x57\x37\x42\x63\x53\x6d\x6f\x54\x57\x36\x7a\x48','\x57\x35\x56\x63\x52\x43\x6f\x61\x57\x35\x31\x6f\x57\x34\x4a\x63\x4e\x67\x79','\x57\x52\x79\x4f\x57\x51\x4b\x32\x74\x61','\x68\x6d\x6b\x38\x68\x78\x4b\x59\x7a\x47\x2f\x63\x47\x75\x46\x64\x49\x43\x6f\x59\x57\x36\x43','\x57\x51\x35\x43\x57\x52\x56\x63\x54\x53\x6f\x33\x6d\x63\x46\x64\x50\x31\x33\x63\x4e\x4d\x76\x73\x45\x57','\x57\x51\x42\x63\x52\x43\x6b\x34\x57\x50\x78\x63\x4b\x33\x66\x35','\x57\x37\x42\x63\x52\x43\x6b\x65\x76\x6d\x6f\x77\x57\x34\x53','\x57\x37\x58\x35\x57\x35\x62\x47','\x77\x6d\x6f\x4a\x73\x74\x39\x4e\x6f\x72\x46\x63\x48\x61','\x79\x43\x6f\x6b\x69\x43\x6b\x6e\x57\x4f\x4a\x63\x4c\x6d\x6f\x37','\x64\x61\x6d\x6c\x6e\x53\x6f\x35\x57\x37\x5a\x63\x55\x47','\x57\x37\x46\x63\x54\x43\x6b\x34\x6f\x78\x70\x64\x4b\x77\x6d','\x77\x53\x6b\x6e\x57\x36\x39\x61\x68\x53\x6b\x56\x57\x52\x35\x63\x57\x36\x31\x53\x57\x34\x72\x51','\x57\x37\x46\x63\x50\x6d\x6b\x33\x63\x31\x30','\x77\x47\x65\x57\x65\x6d\x6f\x67\x57\x34\x56\x63\x55\x77\x71','\x57\x34\x37\x63\x51\x53\x6b\x6b\x6b\x43\x6b\x78','\x57\x34\x66\x48\x57\x35\x6e\x4d','\x43\x38\x6f\x6b\x6a\x43\x6b\x78\x57\x4f\x6c\x63\x4e\x53\x6f\x6b\x6c\x57','\x57\x50\x52\x63\x4d\x43\x6b\x45\x57\x50\x70\x63\x47\x57','\x57\x34\x6d\x71\x57\x37\x58\x77\x57\x52\x6d','\x57\x34\x72\x43\x57\x35\x38\x7a\x69\x5a\x7a\x37\x69\x47','\x68\x65\x58\x55\x57\x36\x57\x78\x57\x52\x56\x64\x52\x38\x6f\x62','\x57\x34\x4a\x63\x56\x43\x6f\x7a\x57\x4f\x71','\x7a\x38\x6f\x5a\x6c\x64\x6c\x63\x49\x32\x4a\x64\x4b\x61','\x63\x4b\x50\x35\x57\x50\x48\x6c\x57\x36\x6d','\x57\x52\x38\x55\x57\x51\x34\x4d\x73\x57','\x57\x4f\x53\x50\x57\x35\x62\x35\x77\x61','\x57\x52\x78\x63\x50\x78\x64\x64\x4b\x66\x34','\x57\x4f\x39\x36\x6e\x43\x6f\x39\x63\x73\x37\x64\x4b\x33\x62\x43\x57\x34\x33\x63\x47\x65\x57\x6a','\x57\x36\x68\x64\x55\x62\x68\x63\x4b\x47\x53\x59\x57\x52\x76\x48\x57\x52\x2f\x64\x51\x68\x50\x47\x75\x47','\x57\x35\x4f\x37\x75\x30\x54\x75','\x57\x34\x6e\x44\x57\x50\x70\x64\x4b\x71','\x57\x51\x56\x64\x47\x53\x6b\x32\x78\x74\x72\x77','\x57\x36\x43\x61\x57\x36\x44\x43\x57\x52\x7a\x32\x57\x36\x53\x36','\x62\x5a\x5a\x63\x4c\x53\x6b\x5a\x57\x51\x61','\x67\x38\x6f\x45\x57\x52\x43\x63\x7a\x6d\x6f\x47','\x57\x35\x5a\x63\x4a\x63\x75\x68','\x57\x52\x79\x41\x57\x36\x44\x64\x57\x51\x38\x4d\x6f\x57','\x57\x34\x4a\x63\x4e\x43\x6b\x2f\x6c\x65\x69','\x71\x38\x6f\x59\x76\x63\x54\x66','\x57\x34\x74\x63\x53\x43\x6f\x54\x57\x35\x44\x46','\x64\x68\x42\x64\x52\x6d\x6b\x79\x57\x36\x31\x4f','\x61\x6d\x6f\x75\x57\x52\x61','\x57\x36\x79\x68\x57\x37\x35\x43\x57\x50\x65','\x68\x59\x4e\x64\x48\x43\x6f\x34','\x57\x51\x5a\x64\x4c\x43\x6b\x4a\x79\x59\x66\x75\x57\x34\x65','\x63\x38\x6b\x44\x6e\x61\x44\x51','\x57\x34\x33\x63\x56\x53\x6f\x6f\x57\x34\x6e\x42\x57\x34\x75','\x57\x37\x68\x63\x4f\x6d\x6f\x6c\x57\x36\x54\x44','\x57\x36\x6c\x63\x52\x38\x6b\x64\x78\x71','\x57\x34\x46\x63\x4e\x65\x4a\x64\x55\x6d\x6f\x5a','\x61\x59\x33\x64\x4d\x38\x6f\x59\x57\x37\x74\x63\x4b\x38\x6f\x64','\x68\x78\x33\x64\x54\x38\x6f\x64\x57\x51\x65','\x74\x63\x75\x48\x6a\x53\x6f\x51','\x57\x4f\x79\x36\x57\x4f\x69','\x63\x38\x6b\x77\x57\x35\x44\x2b\x57\x35\x30','\x77\x62\x69\x4a\x64\x61','\x57\x37\x43\x67\x57\x36\x58\x72\x57\x52\x72\x32','\x57\x37\x46\x63\x50\x30\x5a\x64\x47\x38\x6f\x79','\x57\x4f\x33\x63\x47\x53\x6f\x42\x57\x4f\x70\x64\x55\x71','\x57\x51\x54\x64\x57\x35\x6a\x78\x57\x50\x57\x38\x63\x4e\x6d','\x72\x72\x54\x4a\x6b\x47','\x57\x35\x31\x44\x57\x4f\x52\x64\x4e\x61','\x57\x50\x5a\x64\x55\x53\x6f\x61\x57\x37\x4a\x63\x4a\x61','\x70\x68\x4e\x64\x56\x68\x74\x63\x56\x61','\x57\x4f\x43\x54\x57\x52\x43\x7a\x73\x71','\x70\x77\x69\x65\x67\x6d\x6f\x76','\x6a\x30\x62\x32\x57\x4f\x79\x53\x57\x51\x74\x63\x55\x49\x34','\x57\x51\x46\x63\x49\x6d\x6b\x45\x57\x4f\x68\x63\x49\x71','\x57\x52\x56\x64\x4e\x6d\x6b\x4d\x74\x49\x75','\x45\x61\x79\x30\x61\x53\x6f\x61','\x57\x52\x4e\x64\x51\x53\x6f\x39\x57\x50\x69\x79','\x57\x36\x30\x61\x57\x36\x70\x64\x51\x53\x6b\x65\x42\x78\x33\x64\x4a\x57'];_0x188d=function(){return _0x29c44f;};return _0x188d();}_0x3a9eb4[_0x3afbec(0xf2,'\x67\x73\x24\x55')+_0x3afbec(0x153,'\x44\x78\x47\x4b')+_0x3afbec(0xaa,'\x5e\x50\x21\x62')]=_0x2d7998,_0x3a9eb4[_0x3afbec(0xf9,'\x73\x4b\x57\x4a')+'\x72\x70\x72\x69\x6e\x74\x4b\x65'+'\x79']=_0xa664f2,_0x3a9eb4['\x69\x73\x53\x61\x6d\x65\x45\x6e'+_0x3afbec(0xa1,'\x59\x78\x23\x30')]=_0x13287c,_0x3a9eb4[_0x3afbec(0xb8,'\x4a\x4a\x6d\x65')+_0x3afbec(0x111,'\x4b\x58\x47\x7a')]=_0xcef426,module['\x65\x78\x70\x6f\x72\x74\x73']=_0x3a9eb4;
|
|
1
|
+
// Environment fingerprint capture for GEP assets.
|
|
2
|
+
// Records the runtime environment so that cross-environment diffusion
|
|
3
|
+
// success rates (GDI) can be measured scientifically.
|
|
4
|
+
|
|
5
|
+
const os = require('os');
|
|
6
|
+
const fs = require('fs');
|
|
7
|
+
const path = require('path');
|
|
8
|
+
const crypto = require('crypto');
|
|
9
|
+
const { getRepoRoot } = require('./paths');
|
|
10
|
+
const { getDeviceId, isContainer } = require('./deviceId');
|
|
11
|
+
|
|
12
|
+
// Resolve the underlying LLM model name powering this evolver node.
|
|
13
|
+
//
|
|
14
|
+
// Until now the only source was the explicit EVOLVER_MODEL_NAME env var, so
|
|
15
|
+
// nodes that never set it published assets with no model at all -- the Hub
|
|
16
|
+
// could not tell which model produced a Gene/Capsule, breaking the by-model
|
|
17
|
+
// leaderboard and depriving anti-sybil clustering of a strong signal.
|
|
18
|
+
//
|
|
19
|
+
// We now fall back to the model env vars the common host CLIs expose
|
|
20
|
+
// (Claude Code / Codex / Cursor / generic OpenAI-compatible runners). When
|
|
21
|
+
// nothing is discoverable we return the literal 'unknown' rather than null so
|
|
22
|
+
// that downstream aggregation always has a stable, groupable value and can
|
|
23
|
+
// distinguish "ran but model undetectable" from "field absent (old client)".
|
|
24
|
+
function detectModelName() {
|
|
25
|
+
const candidates = [
|
|
26
|
+
process.env.EVOLVER_MODEL_NAME,
|
|
27
|
+
process.env.ANTHROPIC_MODEL,
|
|
28
|
+
process.env.CLAUDE_MODEL,
|
|
29
|
+
process.env.CLAUDE_CODE_MODEL,
|
|
30
|
+
process.env.OPENAI_MODEL,
|
|
31
|
+
process.env.CODEX_MODEL,
|
|
32
|
+
process.env.CURSOR_MODEL,
|
|
33
|
+
];
|
|
34
|
+
for (const c of candidates) {
|
|
35
|
+
const v = (c || '').trim();
|
|
36
|
+
if (v) return v.slice(0, 100);
|
|
37
|
+
}
|
|
38
|
+
return 'unknown';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Capture a structured environment fingerprint.
|
|
42
|
+
// This is embedded into Capsules, EvolutionEvents, and ValidationReports.
|
|
43
|
+
function captureEnvFingerprint() {
|
|
44
|
+
const repoRoot = getRepoRoot();
|
|
45
|
+
let pkgVersion = null;
|
|
46
|
+
let pkgName = null;
|
|
47
|
+
|
|
48
|
+
// Read evolver's own package.json via __dirname so that npm-installed
|
|
49
|
+
// deployments report the correct evolver version. getRepoRoot() walks
|
|
50
|
+
// up to the nearest .git directory, which resolves to the HOST project
|
|
51
|
+
// when evolver is an npm dependency -- producing a wrong name/version.
|
|
52
|
+
const ownPkgPath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
53
|
+
try {
|
|
54
|
+
const raw = fs.readFileSync(ownPkgPath, 'utf8');
|
|
55
|
+
const pkg = JSON.parse(raw);
|
|
56
|
+
pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
|
|
57
|
+
pkgName = pkg && pkg.name ? String(pkg.name) : null;
|
|
58
|
+
} catch (e) {}
|
|
59
|
+
|
|
60
|
+
if (!pkgVersion) {
|
|
61
|
+
try {
|
|
62
|
+
const raw = fs.readFileSync(path.join(repoRoot, 'package.json'), 'utf8');
|
|
63
|
+
const pkg = JSON.parse(raw);
|
|
64
|
+
pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
|
|
65
|
+
pkgName = pkg && pkg.name ? String(pkg.name) : null;
|
|
66
|
+
} catch (e) {}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const region = (process.env.EVOLVER_REGION || '').trim().toLowerCase().slice(0, 5) || undefined;
|
|
70
|
+
|
|
71
|
+
return {
|
|
72
|
+
device_id: getDeviceId(),
|
|
73
|
+
node_version: process.version,
|
|
74
|
+
platform: process.platform,
|
|
75
|
+
arch: process.arch,
|
|
76
|
+
os_release: os.release(),
|
|
77
|
+
hostname: crypto.createHash('sha256').update(os.hostname()).digest('hex').slice(0, 12),
|
|
78
|
+
evolver_version: pkgVersion,
|
|
79
|
+
client: pkgName || 'evolver',
|
|
80
|
+
client_version: pkgVersion,
|
|
81
|
+
// Underlying LLM model. NOT folded into envFingerprintKey() below: a node
|
|
82
|
+
// can swap models without changing its environment class, so the grouping
|
|
83
|
+
// key must stay model-independent. The model travels as its own field.
|
|
84
|
+
model: detectModelName(),
|
|
85
|
+
region: region,
|
|
86
|
+
cwd: crypto.createHash('sha256').update(process.cwd()).digest('hex').slice(0, 12),
|
|
87
|
+
container: isContainer(),
|
|
88
|
+
captured_at: new Date().toISOString(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Compute a short fingerprint key for comparison and grouping.
|
|
93
|
+
// Two nodes with the same key are considered "same environment class".
|
|
94
|
+
function envFingerprintKey(fp) {
|
|
95
|
+
if (!fp || typeof fp !== 'object') return 'unknown';
|
|
96
|
+
const parts = [
|
|
97
|
+
fp.device_id || '',
|
|
98
|
+
fp.node_version || '',
|
|
99
|
+
fp.platform || '',
|
|
100
|
+
fp.arch || '',
|
|
101
|
+
fp.hostname || '',
|
|
102
|
+
fp.client || fp.evolver_version || '',
|
|
103
|
+
fp.client_version || fp.evolver_version || '',
|
|
104
|
+
].join('|');
|
|
105
|
+
return crypto.createHash('sha256').update(parts, 'utf8').digest('hex').slice(0, 16);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Check if two fingerprints are from the same environment class.
|
|
109
|
+
function isSameEnvClass(fpA, fpB) {
|
|
110
|
+
return envFingerprintKey(fpA) === envFingerprintKey(fpB);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
module.exports = {
|
|
114
|
+
captureEnvFingerprint,
|
|
115
|
+
envFingerprintKey,
|
|
116
|
+
isSameEnvClass,
|
|
117
|
+
detectModelName,
|
|
118
|
+
};
|
package/src/gep/epigenetics.js
CHANGED
|
@@ -1 +1,31 @@
|
|
|
1
|
-
const _0x30171f=_0xe292;function _0x487a(){const _0x2e6d7f=['\x57\x52\x31\x77\x57\x50\x38\x71\x6e\x57','\x57\x36\x4e\x64\x56\x74\x34\x58\x57\x35\x57\x33\x78\x75\x71','\x57\x50\x4e\x63\x53\x6d\x6b\x38\x57\x4f\x4b\x58','\x57\x50\x57\x53\x57\x51\x62\x50\x62\x47','\x68\x47\x69\x37\x76\x6d\x6f\x33\x57\x36\x62\x42\x57\x37\x75','\x6a\x38\x6b\x30\x57\x34\x71\x54\x6f\x4b\x6d','\x57\x36\x75\x67\x57\x35\x66\x64\x57\x34\x4f\x47\x57\x4f\x35\x50','\x68\x43\x6f\x64\x77\x43\x6b\x55\x57\x36\x2f\x63\x55\x38\x6b\x73\x57\x34\x4f','\x70\x43\x6f\x52\x65\x65\x4e\x64\x56\x6d\x6f\x6d\x57\x37\x68\x64\x48\x6d\x6b\x42','\x77\x38\x6b\x61\x57\x37\x37\x63\x54\x33\x75\x4e\x57\x36\x5a\x63\x4d\x47','\x76\x71\x74\x63\x4a\x67\x50\x47','\x76\x53\x6b\x56\x61\x32\x37\x64\x54\x38\x6f\x33\x45\x38\x6b\x73\x57\x52\x68\x64\x56\x38\x6f\x79\x57\x4f\x75\x73','\x6f\x71\x74\x63\x49\x49\x4b\x74','\x62\x4a\x6c\x63\x4f\x63\x68\x64\x4d\x4b\x70\x64\x56\x47','\x57\x35\x58\x64\x63\x6d\x6f\x61\x61\x61','\x57\x37\x58\x44\x6d\x43\x6f\x4d\x64\x71','\x42\x53\x6b\x62\x45\x66\x62\x78\x66\x63\x70\x63\x4d\x47','\x57\x35\x53\x49\x42\x4a\x76\x4b\x6e\x38\x6b\x55\x44\x47','\x6b\x58\x4a\x63\x54\x48\x75\x71\x57\x50\x47','\x57\x50\x57\x78\x66\x43\x6f\x30\x57\x37\x76\x49\x57\x4f\x47','\x57\x34\x71\x30\x57\x34\x76\x55\x57\x37\x53\x6c\x57\x52\x76\x64','\x57\x36\x6d\x39\x57\x37\x48\x6e\x57\x37\x34','\x57\x34\x6d\x53\x57\x35\x62\x62\x57\x36\x79','\x43\x71\x37\x63\x48\x77\x58\x56','\x57\x36\x42\x64\x47\x48\x56\x64\x4e\x78\x34','\x57\x51\x64\x63\x48\x65\x5a\x64\x48\x30\x33\x63\x54\x6d\x6f\x65\x57\x50\x43\x69','\x57\x51\x37\x63\x4c\x53\x6b\x31\x57\x50\x2f\x63\x4f\x47','\x66\x38\x6b\x54\x63\x59\x39\x39','\x76\x43\x6b\x39\x57\x51\x4a\x63\x47\x43\x6b\x63\x57\x37\x70\x63\x54\x47\x7a\x39','\x61\x65\x75\x44\x57\x37\x56\x64\x4f\x47','\x6d\x53\x6b\x34\x57\x34\x53\x37','\x57\x35\x39\x61\x66\x53\x6f\x56\x66\x47','\x57\x34\x4c\x34\x72\x64\x56\x64\x4a\x33\x48\x48\x71\x57','\x66\x53\x6f\x70\x41\x43\x6b\x57\x57\x37\x4f','\x66\x53\x6b\x54\x63\x49\x39\x39\x6f\x53\x6f\x6a\x63\x71','\x6e\x38\x6b\x34\x45\x43\x6b\x67\x69\x66\x50\x53\x79\x57','\x57\x35\x76\x50\x61\x6d\x6f\x32\x66\x58\x37\x63\x53\x71','\x68\x43\x6f\x74\x72\x38\x6b\x58\x57\x37\x5a\x63\x51\x6d\x6b\x61','\x46\x53\x6f\x75\x6b\x38\x6b\x4a\x57\x52\x30','\x57\x34\x48\x31\x65\x53\x6f\x57\x66\x58\x42\x63\x50\x4c\x4b','\x57\x52\x46\x63\x52\x63\x38\x35\x57\x35\x47\x71\x79\x68\x69','\x76\x38\x6f\x72\x61\x38\x6f\x53\x76\x64\x65\x69\x62\x71','\x57\x52\x52\x63\x4e\x66\x46\x63\x49\x71','\x6d\x72\x4b\x31\x44\x38\x6b\x70','\x61\x53\x6f\x36\x57\x37\x68\x63\x48\x38\x6b\x47\x57\x35\x68\x63\x4e\x74\x57','\x6b\x61\x6c\x63\x55\x59\x47\x34','\x43\x47\x4e\x63\x4c\x65\x6a\x69\x67\x43\x6f\x64\x6e\x61','\x57\x36\x70\x64\x53\x71\x38\x4f\x57\x35\x47\x39\x71\x47','\x69\x38\x6b\x6d\x68\x68\x2f\x64\x49\x43\x6b\x35\x57\x4f\x2f\x63\x4d\x77\x52\x64\x4f\x43\x6f\x70\x57\x35\x6d','\x45\x53\x6f\x47\x6f\x6d\x6f\x70\x42\x48\x30\x49\x70\x47','\x76\x43\x6b\x6f\x57\x51\x61\x36\x66\x47','\x73\x61\x64\x63\x47\x75\x62\x6b','\x57\x51\x72\x44\x57\x52\x38\x65\x57\x4f\x39\x47\x57\x35\x65\x4c','\x44\x53\x6f\x68\x7a\x47\x4a\x64\x52\x53\x6b\x55','\x79\x6d\x6b\x4a\x76\x67\x68\x64\x50\x6d\x6f\x54\x57\x34\x30','\x64\x53\x6f\x35\x57\x35\x4e\x63\x4b\x53\x6b\x33\x57\x35\x37\x63\x47\x71','\x57\x35\x58\x4b\x74\x63\x4a\x64\x4a\x68\x4c\x32\x77\x47','\x6d\x63\x71\x51\x46\x6d\x6f\x6a\x57\x35\x44\x47\x57\x34\x38','\x57\x50\x42\x64\x53\x43\x6f\x32\x57\x34\x2f\x63\x4d\x72\x5a\x63\x56\x4b\x71','\x57\x50\x48\x2b\x6f\x78\x43\x32\x79\x6d\x6b\x42\x71\x48\x70\x63\x48\x6d\x6b\x33\x74\x57','\x74\x43\x6f\x62\x68\x4b\x4e\x64\x47\x43\x6f\x57','\x57\x37\x53\x42\x57\x37\x4b\x57\x79\x71\x39\x46','\x57\x4f\x71\x51\x44\x43\x6f\x64\x64\x59\x52\x63\x48\x30\x33\x64\x52\x57','\x57\x51\x75\x52\x57\x37\x4b\x4a','\x57\x4f\x4b\x31\x6c\x77\x56\x63\x55\x30\x48\x36\x68\x61','\x57\x51\x30\x4c\x57\x36\x34\x74\x6c\x38\x6b\x6e\x71\x53\x6f\x75','\x6a\x6d\x6b\x70\x68\x68\x52\x64\x4a\x43\x6b\x34\x57\x37\x4e\x64\x48\x77\x4a\x64\x4d\x43\x6f\x32\x57\x37\x65\x54\x57\x35\x38','\x57\x35\x4c\x51\x6b\x6d\x6f\x4a\x61\x62\x68\x63\x52\x75\x4f','\x57\x51\x4e\x63\x4c\x43\x6b\x67\x57\x50\x37\x63\x54\x38\x6f\x6d\x57\x37\x38\x65','\x70\x6d\x6b\x76\x61\x77\x53','\x73\x53\x6b\x46\x57\x36\x75','\x6e\x38\x6f\x48\x57\x35\x46\x63\x4b\x43\x6b\x72','\x6f\x48\x56\x63\x4b\x67\x58\x51\x57\x34\x4e\x63\x50\x61','\x46\x65\x68\x64\x52\x66\x6a\x65\x57\x35\x6e\x68\x57\x37\x5a\x64\x4b\x6d\x6b\x2f\x6c\x43\x6b\x2b\x57\x51\x47','\x57\x35\x39\x32\x43\x4a\x4e\x64\x51\x58\x6d\x4d\x78\x53\x6b\x6a\x65\x53\x6f\x52\x42\x75\x52\x63\x51\x57','\x77\x6d\x6f\x70\x62\x6d\x6b\x4a','\x57\x51\x56\x63\x47\x53\x6b\x63\x57\x50\x4b\x74\x74\x58\x4e\x64\x54\x61','\x57\x34\x78\x64\x49\x5a\x75\x59\x57\x37\x79','\x43\x38\x6f\x6f\x6a\x6d\x6b\x68\x57\x4f\x53','\x57\x51\x33\x63\x4e\x43\x6b\x66\x57\x4f\x4f\x74\x77\x71\x47','\x6b\x6d\x6b\x78\x70\x4c\x4e\x63\x52\x6d\x6f\x31\x66\x38\x6b\x75\x57\x52\x68\x63\x51\x63\x33\x64\x56\x47','\x6b\x38\x6b\x4d\x7a\x53\x6b\x44\x71\x62\x79\x73\x68\x43\x6f\x30\x57\x4f\x69','\x76\x48\x33\x63\x4c\x47\x65','\x57\x36\x33\x64\x55\x43\x6f\x58\x79\x43\x6b\x35\x57\x52\x4e\x64\x4f\x57','\x71\x59\x64\x63\x4a\x73\x33\x64\x49\x61','\x79\x38\x6f\x6a\x45\x47\x46\x63\x4e\x47','\x57\x51\x52\x63\x51\x6d\x6b\x49\x57\x51\x70\x63\x4c\x47','\x77\x72\x46\x63\x50\x57\x4a\x64\x4e\x76\x46\x64\x4b\x43\x6f\x6a','\x57\x36\x38\x4b\x72\x4a\x62\x79','\x6c\x31\x33\x64\x53\x48\x4f\x42\x78\x6d\x6b\x79\x65\x53\x6b\x39\x57\x34\x34\x61\x73\x43\x6f\x6e','\x57\x50\x34\x47\x6e\x32\x70\x63\x53\x4c\x62\x36\x6c\x71','\x57\x51\x69\x44\x57\x52\x6a\x55\x6b\x6d\x6f\x71\x57\x51\x38\x65','\x73\x72\x74\x63\x4e\x4c\x6d\x7a','\x6b\x38\x6b\x47\x7a\x38\x6b\x79\x6f\x4b\x43\x69\x69\x6d\x6f\x73\x57\x4f\x5a\x63\x4c\x32\x79','\x68\x43\x6f\x56\x57\x37\x37\x63\x55\x43\x6b\x46','\x77\x53\x6f\x62\x76\x63\x5a\x63\x49\x53\x6b\x6d\x65\x57','\x67\x57\x75\x78\x79\x6d\x6b\x74\x57\x34\x33\x63\x56\x38\x6b\x71','\x57\x36\x69\x41\x57\x37\x6e\x70\x57\x37\x53\x2f\x57\x50\x39\x2b','\x75\x48\x56\x63\x4c\x58\x42\x64\x49\x61','\x57\x4f\x75\x32\x61\x4d\x78\x63\x53\x65\x39\x52\x64\x71','\x62\x43\x6f\x4c\x57\x37\x46\x63\x4b\x38\x6b\x58','\x6f\x64\x75\x77\x45\x71','\x57\x37\x4c\x33\x57\x51\x33\x64\x4e\x62\x47\x34\x63\x53\x6f\x74\x57\x34\x79','\x57\x50\x52\x64\x4f\x53\x6f\x61\x57\x34\x78\x63\x4e\x71\x64\x63\x53\x65\x6d','\x42\x6d\x6b\x4f\x7a\x78\x5a\x64\x50\x6d\x6f\x34\x57\x34\x43','\x57\x52\x39\x66\x57\x51\x65\x43\x57\x50\x62\x58\x57\x52\x31\x76\x41\x58\x52\x63\x4f\x5a\x4f','\x65\x43\x6f\x75\x42\x38\x6b\x47\x57\x36\x2f\x63\x50\x43\x6b\x76\x57\x34\x61','\x57\x51\x65\x4c\x57\x34\x6c\x64\x4d\x57\x30\x73\x66\x38\x6f\x4d','\x61\x4b\x70\x64\x49\x61\x74\x64\x55\x32\x4e\x64\x54\x6d\x6f\x30\x57\x50\x38','\x57\x51\x47\x6b\x6c\x4c\x4a\x63\x51\x47','\x70\x77\x47\x79\x57\x35\x52\x64\x4f\x71','\x57\x51\x38\x57\x57\x37\x6d\x58\x6f\x53\x6b\x6b\x71\x6d\x6f\x66'];_0x487a=function(){return _0x2e6d7f;};return _0x487a();}(function(_0x4c6a84,_0xd901f9){const _0x515ad1=_0xe292,_0x1c738e=_0x4c6a84();while(!![]){try{const _0x36ead8=parseInt(_0x515ad1(0x167,'\x36\x78\x54\x79'))/(-0x2467+-0x1a26+-0x1d7*-0x22)*(-parseInt(_0x515ad1(0x10c,'\x67\x78\x47\x63'))/(0x15c7+0x275*0xb+0x30cc*-0x1))+-parseInt(_0x515ad1(0x15f,'\x61\x53\x37\x65'))/(0x2*0x50e+0x1d1+0x19*-0x7a)*(parseInt(_0x515ad1(0x105,'\x31\x78\x49\x74'))/(-0x16c7+-0x2c9*0x1+-0x4*-0x665))+-parseInt(_0x515ad1(0xff,'\x33\x50\x34\x5a'))/(0x16d6+-0x1d8e+0x6bd)*(parseInt(_0x515ad1(0x123,'\x23\x41\x5b\x47'))/(-0xc95*0x1+0xd3d+-0x36*0x3))+parseInt(_0x515ad1(0x146,'\x38\x69\x66\x6a'))/(-0x128*-0x1d+0x147*-0x14+0x15*-0x61)*(-parseInt(_0x515ad1(0x13e,'\x53\x33\x49\x56'))/(0x3f*0x9b+-0x5*-0x565+-0x4116))+parseInt(_0x515ad1(0x151,'\x49\x32\x30\x6e'))/(0x1b1d+-0x1*0x1c12+0xfe)*(-parseInt(_0x515ad1(0x132,'\x46\x59\x31\x50'))/(-0x2176*0x1+-0x43d*0x8+0x4368))+-parseInt(_0x515ad1(0x166,'\x37\x50\x78\x31'))/(-0xb2*-0x11+0xc04+-0x17cb)*(-parseInt(_0x515ad1(0x11e,'\x7a\x61\x5b\x75'))/(0x1*-0x10fd+0xd33*0x1+0x3d6))+parseInt(_0x515ad1(0x160,'\x24\x30\x46\x23'))/(0x20c8+-0xb2*0x3+0x20b*-0xf);if(_0x36ead8===_0xd901f9)break;else _0x1c738e['push'](_0x1c738e['shift']());}catch(_0x235cb2){_0x1c738e['push'](_0x1c738e['shift']());}}}(_0x487a,-0x1848f*0x4+0xde979+-0x5*-0xd40b));const _0x223b51=(function(){const _0x56f87a=_0xe292,_0x4eb60c={};_0x4eb60c[_0x56f87a(0x102,'\x51\x4f\x35\x4b')]=function(_0x2bdda9,_0x8d52b1){return _0x2bdda9===_0x8d52b1;},_0x4eb60c[_0x56f87a(0x12c,'\x36\x5b\x30\x52')]=function(_0x225206,_0x3ec3e6){return _0x225206!==_0x3ec3e6;},_0x4eb60c['\x42\x6d\x57\x65\x62']=_0x56f87a(0xfe,'\x49\x32\x30\x6e');const _0xd0fb2=_0x4eb60c;let _0x24baa7=!![];return function(_0xba8067,_0x410acc){const _0x534795=_0x56f87a,_0x3d479c={'\x44\x57\x53\x66\x52':function(_0xfa22ea,_0x517ee2){const _0x92a7e5=_0xe292;return _0xd0fb2[_0x92a7e5(0x13c,'\x30\x71\x33\x54')](_0xfa22ea,_0x517ee2);},'\x6f\x48\x6f\x67\x5a':function(_0x10a2ed,_0x3f41e3){return _0x10a2ed(_0x3f41e3);},'\x54\x67\x6c\x76\x63':function(_0x4e958b,_0x2c1d0b){return _0xd0fb2['\x4f\x59\x47\x6b\x42'](_0x4e958b,_0x2c1d0b);}};if(_0xd0fb2['\x42\x6d\x57\x65\x62']===_0xd0fb2[_0x534795(0x135,'\x4d\x47\x41\x6a')]){const _0x447389=_0x24baa7?function(){const _0x250939=_0x534795,_0x3d57d9={'\x7a\x65\x66\x59\x5a':function(_0x43bce2,_0x35a61a){const _0x22dfdc=_0xe292;return _0x3d479c[_0x22dfdc(0x116,'\x63\x69\x39\x49')](_0x43bce2,_0x35a61a);}};if(_0x410acc){if(_0x3d479c[_0x250939(0x148,'\x51\x4f\x75\x26')](_0x250939(0x143,'\x61\x53\x37\x65'),_0x250939(0x120,'\x33\x50\x34\x5a'))){const _0x39ce53=_0x410acc[_0x250939(0x125,'\x4d\x47\x41\x6a')](_0xba8067,arguments);return _0x410acc=null,_0x39ce53;}else{if(!_0x35b4b9||!_0x1ec8d2[_0x250939(0x13a,'\x64\x67\x7a\x2a')](_0x10598c[_0x250939(0x115,'\x62\x6f\x77\x61')+_0x250939(0x144,'\x33\x50\x34\x5a')])||_0x3d479c['\x44\x57\x53\x66\x52'](_0x3bd3f0[_0x250939(0x159,'\x64\x67\x7a\x2a')+'\x69\x63\x5f\x6d\x61\x72\x6b\x73'][_0x250939(0x14b,'\x37\x50\x78\x31')],-0xf89*-0x1+0x1395+-0x231e))return![];const _0x4f4fe0=_0x3d479c[_0x250939(0x12b,'\x36\x5b\x30\x52')](_0x4276c8,_0x505430),_0x43c961=_0x3f4ebd[_0x250939(0x162,'\x36\x72\x44\x32')+_0x250939(0x14f,'\x49\x68\x58\x52')][_0x250939(0x168,'\x23\x41\x5b\x47')](function(_0x692e0e){const _0xcbb11b=_0x250939;return _0x692e0e&&_0x3d57d9[_0xcbb11b(0x104,'\x46\x59\x31\x50')](_0x692e0e[_0xcbb11b(0x145,'\x53\x33\x49\x56')],_0x4f4fe0);});if(!_0x43c961)return![];const _0x5b4b12=_0x38f1d1(_0x43c961[_0x250939(0x137,'\x7a\x36\x5e\x21')]);if(!_0x43adbc[_0x250939(0x109,'\x24\x30\x46\x23')](_0x5b4b12))return![];return _0x5b4b12<=_0x277f33[_0x250939(0x11a,'\x49\x68\x58\x52')+'\x47\x45\x4e\x45\x54\x49\x43\x5f'+_0x250939(0x12a,'\x36\x5b\x30\x52')+'\x53\x54'];}}}:function(){};return _0x24baa7=![],_0x447389;}else return![];};}()),_0x3f5b1d=_0x223b51(this,function(){const _0x52c892=_0xe292,_0x26422c={};_0x26422c[_0x52c892(0x118,'\x36\x72\x44\x32')]=_0x52c892(0x139,'\x36\x78\x54\x79')+_0x52c892(0x140,'\x6f\x26\x4f\x76');const _0x5c3a99=_0x26422c;return _0x3f5b1d['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x52c892(0x11b,'\x35\x39\x34\x47')](_0x5c3a99[_0x52c892(0x119,'\x24\x6a\x4e\x4d')])[_0x52c892(0x13d,'\x64\x67\x7a\x2a')]()[_0x52c892(0x138,'\x5d\x41\x32\x75')+_0x52c892(0x15c,'\x31\x40\x6f\x40')](_0x3f5b1d)['\x73\x65\x61\x72\x63\x68'](_0x52c892(0x14a,'\x36\x5b\x30\x52')+_0x52c892(0x15b,'\x38\x69\x66\x6a'));});_0x3f5b1d();'use strict';function _0xe292(_0x34dc77,_0x55a1fe){_0x34dc77=_0x34dc77-(-0x16ec+-0x1cf3+0x15b*0x27);const _0x4a223c=_0x487a();let _0x1fe16f=_0x4a223c[_0x34dc77];if(_0xe292['\x73\x44\x4f\x44\x76\x7a']===undefined){var _0x2651a3=function(_0x29622b){const _0x3bb1a5='\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 _0x4eaec8='',_0x152739='',_0x1a1198=_0x4eaec8+_0x2651a3,_0x1d764b=(''+function(){return-0x2659+0x2276+0x3e3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x16d6+-0x1*0x1015+-0x6c0);for(let _0x12a54e=0x2001+0x7cd+-0x27ce,_0x2711a0,_0x213886,_0x3045e9=-0x1cd9+0x3*-0x447+-0x42b*-0xa;_0x213886=_0x29622b['\x63\x68\x61\x72\x41\x74'](_0x3045e9++);~_0x213886&&(_0x2711a0=_0x12a54e%(-0x1*-0x11c2+0x1e1*0x14+-0x3752)?_0x2711a0*(-0xfa4+0x2*0x7c3+0x5e)+_0x213886:_0x213886,_0x12a54e++%(0x1*0x92b+0x64b+-0xf72))?_0x4eaec8+=_0x1d764b||_0x1a1198['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3045e9+(0x1*-0x26ae+-0x22d5+-0x1*-0x498d))-(0x1d99+0x230b+0x409a*-0x1)!==0xa53*-0x3+-0x2c*-0x3+0xa27*0x3?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x191c+0x25a0+0x1*-0x3dbd&_0x2711a0>>(-(-0x8eb+0x1*0x2433+-0x1b46)*_0x12a54e&0x3ab*-0x7+0x2*0x4f9+-0x1*-0xfc1)):_0x12a54e:0x1*0x8a5+-0x1*-0x251+0x3d*-0x2e){_0x213886=_0x3bb1a5['\x69\x6e\x64\x65\x78\x4f\x66'](_0x213886);}for(let _0x5b6013=0x1a01+-0xe8f*-0x1+-0x2890,_0x5e53ce=_0x4eaec8['\x6c\x65\x6e\x67\x74\x68'];_0x5b6013<_0x5e53ce;_0x5b6013++){_0x152739+='\x25'+('\x30\x30'+_0x4eaec8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5b6013)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x206c+0x14*-0x97+-0x68*-0x6d))['\x73\x6c\x69\x63\x65'](-(0xa*0xf3+-0x35*-0x21+0x1*-0x1051));}return decodeURIComponent(_0x152739);};const _0x58ceb7=function(_0x1846d6,_0x16342c){let _0x240edb=[],_0x17a222=0x10fe+-0x3*-0x1f7+0x7*-0x345,_0x51b4ce,_0x1163d0='';_0x1846d6=_0x2651a3(_0x1846d6);let _0x41c3f8;for(_0x41c3f8=-0x1f3d*0x1+0x22ea+-0x3ad;_0x41c3f8<-0xca1*-0x1+-0x4b*0x6f+0x14e4;_0x41c3f8++){_0x240edb[_0x41c3f8]=_0x41c3f8;}for(_0x41c3f8=-0xbd3+-0x15*-0x168+0x1*-0x11b5;_0x41c3f8<0x6cb*0x3+-0xe*0x283+0xfc9;_0x41c3f8++){_0x17a222=(_0x17a222+_0x240edb[_0x41c3f8]+_0x16342c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x41c3f8%_0x16342c['\x6c\x65\x6e\x67\x74\x68']))%(0xbcb*0x2+-0x1b4c+0x4b6),_0x51b4ce=_0x240edb[_0x41c3f8],_0x240edb[_0x41c3f8]=_0x240edb[_0x17a222],_0x240edb[_0x17a222]=_0x51b4ce;}_0x41c3f8=-0x6d+0x2088*-0x1+0x3b*0x8f,_0x17a222=0x7d7+0xed6+-0x16ad;for(let _0x19e8a3=-0x1607+0x1cda+-0x6d3;_0x19e8a3<_0x1846d6['\x6c\x65\x6e\x67\x74\x68'];_0x19e8a3++){_0x41c3f8=(_0x41c3f8+(0xc95*-0x1+0x594+0x6*0x12b))%(0x914+-0x1c71+-0xd*-0x191),_0x17a222=(_0x17a222+_0x240edb[_0x41c3f8])%(0xe5*-0x21+-0xcc7*-0x3+0xfa*-0x8),_0x51b4ce=_0x240edb[_0x41c3f8],_0x240edb[_0x41c3f8]=_0x240edb[_0x17a222],_0x240edb[_0x17a222]=_0x51b4ce,_0x1163d0+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x1846d6['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x19e8a3)^_0x240edb[(_0x240edb[_0x41c3f8]+_0x240edb[_0x17a222])%(0x4f0+-0xb11+0x721)]);}return _0x1163d0;};_0xe292['\x54\x67\x54\x6d\x47\x6f']=_0x58ceb7,_0xe292['\x5a\x64\x6f\x4f\x53\x70']={},_0xe292['\x73\x44\x4f\x44\x76\x7a']=!![];}const _0x2f8e87=_0x4a223c[-0x1547+0x54d*0x4+0x13],_0x5971f6=_0x34dc77+_0x2f8e87,_0x32607c=_0xe292['\x5a\x64\x6f\x4f\x53\x70'][_0x5971f6];if(!_0x32607c){if(_0xe292['\x77\x52\x77\x71\x7a\x4c']===undefined){const _0x54be66=function(_0xe892d9){this['\x4c\x74\x65\x4f\x70\x6f']=_0xe892d9,this['\x47\x78\x65\x49\x6b\x6c']=[-0x1676+0x7f*-0xf+0x74*0x42,-0x22a3+0x1*0x61f+-0x5*-0x5b4,-0x1c49+0x9*0x38e+-0x3b5*0x1],this['\x67\x68\x68\x59\x59\x59']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4f\x59\x52\x62\x66\x48']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x49\x46\x76\x4b\x51\x50']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x54be66['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x73\x64\x62\x79\x59\x57']=function(){const _0x4d7e4f=new RegExp(this['\x4f\x59\x52\x62\x66\x48']+this['\x49\x46\x76\x4b\x51\x50']),_0x21e739=_0x4d7e4f['\x74\x65\x73\x74'](this['\x67\x68\x68\x59\x59\x59']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x47\x78\x65\x49\x6b\x6c'][0x10ba+-0x7*0x54f+-0x30*-0x6d]:--this['\x47\x78\x65\x49\x6b\x6c'][0x187+0x1f47+0x20ce*-0x1];return this['\x6c\x67\x72\x78\x48\x59'](_0x21e739);},_0x54be66['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x67\x72\x78\x48\x59']=function(_0x40dd2e){if(!Boolean(~_0x40dd2e))return _0x40dd2e;return this['\x59\x50\x6e\x53\x71\x5a'](this['\x4c\x74\x65\x4f\x70\x6f']);},_0x54be66['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x59\x50\x6e\x53\x71\x5a']=function(_0x368faf){for(let _0x4ac1d5=0x8b*0x11+-0x1705+0x1*0xdca,_0x1227e1=this['\x47\x78\x65\x49\x6b\x6c']['\x6c\x65\x6e\x67\x74\x68'];_0x4ac1d5<_0x1227e1;_0x4ac1d5++){this['\x47\x78\x65\x49\x6b\x6c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x1227e1=this['\x47\x78\x65\x49\x6b\x6c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x368faf(this['\x47\x78\x65\x49\x6b\x6c'][-0x141b+0x21b7+-0xd9c]);},(''+function(){return 0x527*-0x3+0x4ed+0xa88;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x119f+-0x1*-0x1835+-0x695*0x1)&&new _0x54be66(_0xe292)['\x73\x64\x62\x79\x59\x57'](),_0xe292['\x77\x52\x77\x71\x7a\x4c']=!![];}_0x1fe16f=_0xe292['\x54\x67\x54\x6d\x47\x6f'](_0x1fe16f,_0x55a1fe),_0xe292['\x5a\x64\x6f\x4f\x53\x70'][_0x5971f6]=_0x1fe16f;}else _0x1fe16f=_0x32607c;return _0x1fe16f;}const _0x113721=require('\x2e\x2e\x2f\x63\x6f\x6e\x66\x69'+'\x67');function _0x38e432(_0x456072){const _0x2f4dc0=_0xe292,_0xf0ba2b={'\x53\x6a\x4a\x6f\x63':function(_0x197226,_0x291564){return _0x197226(_0x291564);},'\x44\x4f\x6a\x54\x74':function(_0x4b91b3,_0x358489){return _0x4b91b3(_0x358489);},'\x6a\x64\x4e\x43\x46':'\x75\x6e\x6b\x6e\x6f\x77\x6e'},_0x323fca=_0x456072&&_0x456072[_0x2f4dc0(0x14e,'\x41\x73\x51\x4d')]?String(_0x456072[_0x2f4dc0(0x127,'\x49\x32\x30\x6e')]):'',_0x1cef4a=_0x456072&&_0x456072['\x61\x72\x63\x68']?_0xf0ba2b[_0x2f4dc0(0x149,'\x33\x50\x34\x5a')](String,_0x456072[_0x2f4dc0(0x10b,'\x49\x68\x58\x52')]):'',_0x3944c6=_0x456072&&_0x456072[_0x2f4dc0(0x107,'\x36\x5b\x30\x52')+'\x73\x69\x6f\x6e']?_0xf0ba2b[_0x2f4dc0(0x113,'\x24\x30\x46\x23')](String,_0x456072[_0x2f4dc0(0x106,'\x42\x23\x5d\x57')+'\x73\x69\x6f\x6e']):'';return[_0x323fca,_0x1cef4a,_0x3944c6][_0x2f4dc0(0x128,'\x61\x53\x37\x65')](Boolean)[_0x2f4dc0(0x161,'\x30\x71\x33\x54')]('\x2f')||_0xf0ba2b[_0x2f4dc0(0x12d,'\x33\x50\x34\x5a')];}function _0x1303b0(_0x18692a,_0x4f5a2d){const _0x4368ac=_0xe292,_0x9f8f3b={'\x45\x55\x54\x6e\x4b':function(_0x1ef151,_0x421e82){return _0x1ef151===_0x421e82;},'\x74\x75\x50\x48\x66':function(_0x1a1bbb,_0x13c340){return _0x1a1bbb(_0x13c340);}};if(!_0x18692a||!Array[_0x4368ac(0x10e,'\x7a\x61\x5b\x75')](_0x18692a[_0x4368ac(0x11f,'\x31\x40\x6f\x40')+_0x4368ac(0x150,'\x47\x55\x4e\x4b')]))return 0x920+-0x61*-0x25+-0x1725;const _0x3d3ec1=_0x9f8f3b[_0x4368ac(0x16b,'\x38\x69\x66\x6a')](_0x38e432,_0x4f5a2d),_0x2967ec=_0x18692a[_0x4368ac(0x136,'\x41\x73\x51\x4d')+_0x4368ac(0x16d,'\x23\x41\x5b\x47')][_0x4368ac(0x134,'\x35\x39\x34\x47')](function(_0x175bee){const _0x1ee561=_0x4368ac;return _0x175bee&&_0x9f8f3b[_0x1ee561(0x163,'\x53\x33\x49\x56')](_0x175bee[_0x1ee561(0x129,'\x37\x73\x26\x76')],_0x3d3ec1);});return _0x2967ec?_0x9f8f3b[_0x4368ac(0x122,'\x61\x53\x37\x65')](Number,_0x2967ec[_0x4368ac(0x10a,'\x46\x59\x31\x50')])||0x1acc+0xb*-0x165+0x7*-0x1a3:-0x2*-0x6dc+-0xfd*0x25+0x16d9;}function _0x10d2d9(_0x5f16b5,_0x52be98){const _0x283f14=_0xe292,_0x29fca6={'\x41\x6e\x49\x4a\x74':function(_0xbc4d74,_0x29488f){return _0xbc4d74===_0x29488f;},'\x6d\x58\x50\x54\x42':function(_0xabbdd6,_0x431cfe){return _0xabbdd6(_0x431cfe);},'\x50\x6b\x4f\x71\x54':function(_0x3e48ce,_0x68eb9a){return _0x3e48ce===_0x68eb9a;},'\x77\x77\x67\x70\x47':_0x283f14(0x114,'\x61\x49\x21\x61'),'\x44\x73\x46\x72\x43':_0x283f14(0x16a,'\x23\x41\x5b\x47'),'\x6b\x49\x57\x4e\x6a':function(_0x2041a5,_0x505f2d){return _0x2041a5(_0x505f2d);},'\x69\x66\x47\x68\x76':function(_0x5271e4,_0x792a7b){return _0x5271e4<=_0x792a7b;}};if(!_0x5f16b5||!Array[_0x283f14(0x14d,'\x46\x59\x31\x50')](_0x5f16b5[_0x283f14(0x142,'\x46\x59\x31\x50')+'\x69\x63\x5f\x6d\x61\x72\x6b\x73'])||_0x29fca6[_0x283f14(0x15d,'\x46\x59\x31\x50')](_0x5f16b5[_0x283f14(0x10d,'\x47\x55\x4e\x4b')+_0x283f14(0x150,'\x47\x55\x4e\x4b')][_0x283f14(0x152,'\x6c\x5e\x30\x65')],-0x38f*-0x1+-0x3*-0x6ab+-0x1790)){if(_0x29fca6[_0x283f14(0x124,'\x4d\x47\x41\x6a')](_0x29fca6[_0x283f14(0x12e,'\x6f\x26\x4f\x76')],_0x29fca6[_0x283f14(0x141,'\x42\x23\x5d\x57')])){if(!_0x3397c7||!_0x2b06df[_0x283f14(0x13b,'\x7a\x36\x5e\x21')](_0x53d072[_0x283f14(0x10d,'\x47\x55\x4e\x4b')+_0x283f14(0x111,'\x67\x78\x47\x63')]))return-0x13c5+0x87e*-0x1+0x5*0x5a7;const _0x157585=SApgmI[_0x283f14(0x16c,'\x32\x4f\x44\x6c')](_0x5a7548,_0xa373e1),_0x4a8741=_0x21c574[_0x283f14(0x147,'\x36\x78\x54\x79')+_0x283f14(0x11d,'\x7a\x36\x5e\x21')][_0x283f14(0x155,'\x70\x68\x61\x48')](function(_0x25b327){const _0x40b02a=_0x283f14;return _0x25b327&&SApgmI[_0x40b02a(0x164,'\x30\x71\x33\x54')](_0x25b327[_0x40b02a(0x15e,'\x48\x6b\x71\x70')],_0x157585);});return _0x4a8741?_0x38718f(_0x4a8741[_0x283f14(0x108,'\x23\x41\x5b\x47')])||0x1dbb*-0x1+0x8a*0x27+0x8b5:-0x2a7*0xe+-0x23e8+0x490a;}else return![];}const _0x5143ee=_0x29fca6[_0x283f14(0x133,'\x61\x49\x21\x61')](_0x38e432,_0x52be98),_0x55ce9a=_0x5f16b5[_0x283f14(0x156,'\x24\x30\x46\x23')+_0x283f14(0x117,'\x53\x33\x49\x56')]['\x66\x69\x6e\x64'](function(_0x743e5c){const _0x1d0ccd=_0x283f14;return _0x743e5c&&_0x743e5c[_0x1d0ccd(0x165,'\x36\x72\x44\x32')]===_0x5143ee;});if(!_0x55ce9a)return![];const _0x84fe2b=Number(_0x55ce9a[_0x283f14(0x131,'\x5d\x41\x32\x75')]);if(!Number[_0x283f14(0x11c,'\x36\x5b\x30\x52')](_0x84fe2b))return![];return _0x29fca6[_0x283f14(0x130,'\x32\x4f\x44\x6c')](_0x84fe2b,_0x113721[_0x283f14(0x11a,'\x49\x68\x58\x52')+'\x47\x45\x4e\x45\x54\x49\x43\x5f'+_0x283f14(0x13f,'\x36\x78\x54\x79')+'\x53\x54']);}const _0x5ea1b7={};_0x5ea1b7[_0x30171f(0x100,'\x24\x30\x46\x23')+'\x6e\x76\x43\x6f\x6e\x74\x65\x78'+'\x74']=_0x38e432,_0x5ea1b7[_0x30171f(0x157,'\x62\x6f\x77\x61')+_0x30171f(0x15a,'\x32\x4f\x44\x6c')+'\x73\x74']=_0x1303b0,_0x5ea1b7[_0x30171f(0x101,'\x24\x6a\x4e\x4d')+_0x30171f(0x110,'\x7a\x36\x5e\x21')+'\x53\x75\x70\x70\x72\x65\x73\x73'+'\x65\x64']=_0x10d2d9,module[_0x30171f(0x14c,'\x7a\x61\x5b\x75')]=_0x5ea1b7;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const cfg = require('../config');
|
|
4
|
+
|
|
5
|
+
function resolveEnvContext(envFingerprint) {
|
|
6
|
+
const platform = envFingerprint && envFingerprint.platform ? String(envFingerprint.platform) : '';
|
|
7
|
+
const arch = envFingerprint && envFingerprint.arch ? String(envFingerprint.arch) : '';
|
|
8
|
+
const nodeVersion = envFingerprint && envFingerprint.node_version ? String(envFingerprint.node_version) : '';
|
|
9
|
+
return [platform, arch, nodeVersion].filter(Boolean).join('/') || 'unknown';
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function getEpigeneticBoost(gene, envFingerprint) {
|
|
13
|
+
if (!gene || !Array.isArray(gene.epigenetic_marks)) return 0;
|
|
14
|
+
const envContext = resolveEnvContext(envFingerprint);
|
|
15
|
+
const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
|
|
16
|
+
return mark ? Number(mark.boost) || 0 : 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function isEpigeneticallySuppressed(gene, envFingerprint) {
|
|
20
|
+
if (!gene || !Array.isArray(gene.epigenetic_marks) || gene.epigenetic_marks.length === 0) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const envContext = resolveEnvContext(envFingerprint);
|
|
24
|
+
const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
|
|
25
|
+
if (!mark) return false;
|
|
26
|
+
const boost = Number(mark.boost);
|
|
27
|
+
if (!Number.isFinite(boost)) return false;
|
|
28
|
+
return boost <= cfg.GENE_EPIGENETIC_HARD_BOOST;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = { resolveEnvContext, getEpigeneticBoost, isEpigeneticallySuppressed };
|