@evomap/evolver 1.88.3 → 1.89.0
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 +1123 -0
- package/README.md +86 -543
- package/README.public.md +594 -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/index.js +30 -1
- package/package.json +5 -15
- package/proxy-package.json +39 -0
- package/public.manifest.json +141 -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 +434 -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 +4395 -1
- package/src/gep/assetCallLog.js +30 -2
- 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/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 +711 -1
- package/src/gep/explore.js +289 -1
- package/src/gep/hash.js +15 -1
- package/src/gep/hubFetch.js +359 -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 +1374 -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/oauthLogin.js +143 -0
- 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/recallInject.js +409 -1
- package/src/gep/recallVerifier.js +318 -1
- package/src/gep/reflection.js +177 -1
- package/src/gep/schemas/capsule.js +26 -0
- 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 +88 -0
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/traceControl.js +99 -1
- package/src/proxy/index.js +36 -6
- package/src/proxy/inject.js +52 -1
- package/src/proxy/trace/extractor.js +534 -1
- package/src/proxy/trace/usage.js +105 -0
- package/CONTRIBUTING.md +0 -11
- 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/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,203 @@
|
|
|
1
|
-
const _0x524da8=_0x47d3;(function(_0x53e57a,_0x475a49){const _0x289987=_0x47d3,_0x1db6c5=_0x53e57a();while(!![]){try{const _0x497529=parseInt(_0x289987(0x123,'\x74\x59\x2a\x48'))/(-0x16e+-0x25af*0x1+-0x138f*-0x2)+-parseInt(_0x289987(0x11a,'\x77\x62\x4d\x64'))/(-0x1*-0x10cb+0x192a+-0x29f3*0x1)*(parseInt(_0x289987(0x165,'\x47\x21\x64\x65'))/(-0x296+0x2b1*0x7+0x9a*-0x1b))+-parseInt(_0x289987(0x156,'\x6d\x51\x64\x6b'))/(-0x7*-0x4b9+-0x10b2+-0x1059*0x1)+-parseInt(_0x289987(0xb8,'\x5a\x59\x62\x79'))/(0x34c+0x1f78+-0x251*0xf)+parseInt(_0x289987(0xcc,'\x53\x52\x54\x53'))/(0x22e1+-0x1d20+0xa3*-0x9)+-parseInt(_0x289987(0x137,'\x4e\x63\x35\x69'))/(0x1d21*-0x1+0x1974+0x1da*0x2)*(-parseInt(_0x289987(0xe4,'\x51\x6c\x35\x6e'))/(0x1488+0x188a+-0x2d0a))+parseInt(_0x289987(0x186,'\x61\x62\x67\x48'))/(0x9*0x2cd+0x1e76+-0x37a2);if(_0x497529===_0x475a49)break;else _0x1db6c5['push'](_0x1db6c5['shift']());}catch(_0x41f6a4){_0x1db6c5['push'](_0x1db6c5['shift']());}}}(_0x53de,-0xb108b*0x1+0x5a704+0xeb426));function _0x47d3(_0x114901,_0x4deea7){_0x114901=_0x114901-(-0x1*-0x1bd1+0x10e7*0x1+0x4*-0xb00);const _0x16fa26=_0x53de();let _0x145a57=_0x16fa26[_0x114901];if(_0x47d3['\x4f\x6c\x79\x52\x51\x56']===undefined){var _0x2c1fc4=function(_0xce0fd8){const _0x2d93c8='\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 _0x51540b='',_0x240be9='',_0x52ffc7=_0x51540b+_0x2c1fc4,_0x8f7f4=(''+function(){return 0x1f60+0xc1e+0x26*-0x125;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0xbb2+0x567*0x6+-0x7*0x64d);for(let _0xf677f3=-0x3ab+0x1*-0x22e1+0x268c,_0x3e75f1,_0x1c4f88,_0x5f5920=-0x2c8+-0xae*0x25+0x1bee;_0x1c4f88=_0xce0fd8['\x63\x68\x61\x72\x41\x74'](_0x5f5920++);~_0x1c4f88&&(_0x3e75f1=_0xf677f3%(-0x1068+0x1d04+-0xc98)?_0x3e75f1*(0x14f3+0xdbf+0x2272*-0x1)+_0x1c4f88:_0x1c4f88,_0xf677f3++%(0x65*0x49+0x2*-0x7c1+-0xd47))?_0x51540b+=_0x8f7f4||_0x52ffc7['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5f5920+(0x501+0x1a1a+-0x1f11))-(0x21f1+0x1f6*0x8+-0x3197)!==0x1e3*-0x13+0x1*0xb66+0x1873?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xc41+-0x1e09+0x2b49&_0x3e75f1>>(-(0x2235+0x2*-0x2e7+-0x1c65)*_0xf677f3&-0x2*-0x97b+-0x2*-0xefd+-0x30ea*0x1)):_0xf677f3:0x116e*-0x2+-0x883*0x4+0x44e8){_0x1c4f88=_0x2d93c8['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1c4f88);}for(let _0x237281=0x1487+-0x1c54+0x7cd,_0x105bb9=_0x51540b['\x6c\x65\x6e\x67\x74\x68'];_0x237281<_0x105bb9;_0x237281++){_0x240be9+='\x25'+('\x30\x30'+_0x51540b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x237281)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*-0x84e+-0x1*0x1145+0x19a3))['\x73\x6c\x69\x63\x65'](-(0x200c+-0x1e40+0xe5*-0x2));}return decodeURIComponent(_0x240be9);};const _0x58de82=function(_0x510d91,_0x58cb48){let _0x212b36=[],_0x479cea=0x2*-0x500+-0xa85+0x67*0x33,_0x466d93,_0x2b4c06='';_0x510d91=_0x2c1fc4(_0x510d91);let _0xb028c0;for(_0xb028c0=0x1*0x13d5+-0x11cb+-0x20a;_0xb028c0<0x1*-0xdc1+0x1786+0x5*-0x1c1;_0xb028c0++){_0x212b36[_0xb028c0]=_0xb028c0;}for(_0xb028c0=0x22*0x9e+0x676*0x2+-0x364*0xa;_0xb028c0<-0x1*-0x1e97+0x3df*-0x8+0x161;_0xb028c0++){_0x479cea=(_0x479cea+_0x212b36[_0xb028c0]+_0x58cb48['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xb028c0%_0x58cb48['\x6c\x65\x6e\x67\x74\x68']))%(0x33d+0x106*0x2+-0x449),_0x466d93=_0x212b36[_0xb028c0],_0x212b36[_0xb028c0]=_0x212b36[_0x479cea],_0x212b36[_0x479cea]=_0x466d93;}_0xb028c0=-0x4*-0x2d7+0x215*-0xd+0xfb5,_0x479cea=0x2063*0x1+-0x205b+-0x8;for(let _0x48c50e=-0x1a5a+-0x1b7c+0x35d6;_0x48c50e<_0x510d91['\x6c\x65\x6e\x67\x74\x68'];_0x48c50e++){_0xb028c0=(_0xb028c0+(-0x7f*0x40+-0x10a5+-0x15*-0x24e))%(0x29*0xbd+-0x25f+-0x1ae6),_0x479cea=(_0x479cea+_0x212b36[_0xb028c0])%(-0xfd2+-0x8f*-0x1+-0x17*-0xb5),_0x466d93=_0x212b36[_0xb028c0],_0x212b36[_0xb028c0]=_0x212b36[_0x479cea],_0x212b36[_0x479cea]=_0x466d93,_0x2b4c06+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x510d91['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x48c50e)^_0x212b36[(_0x212b36[_0xb028c0]+_0x212b36[_0x479cea])%(-0x5a*0x5+-0x20f*0xd+0x1d85)]);}return _0x2b4c06;};_0x47d3['\x58\x73\x46\x79\x4e\x6d']=_0x58de82,_0x47d3['\x72\x46\x48\x6f\x4e\x72']={},_0x47d3['\x4f\x6c\x79\x52\x51\x56']=!![];}const _0x54e3f7=_0x16fa26[0x1053+-0x6ad+0x1ee*-0x5],_0x46f5aa=_0x114901+_0x54e3f7,_0x354932=_0x47d3['\x72\x46\x48\x6f\x4e\x72'][_0x46f5aa];if(!_0x354932){if(_0x47d3['\x4e\x59\x6e\x66\x72\x74']===undefined){const _0x5645b5=function(_0x3a575a){this['\x41\x44\x46\x61\x49\x59']=_0x3a575a,this['\x71\x56\x56\x78\x4c\x4c']=[0xbfd+0x15d*-0xa+0x1a6,0x23be+0x2300+-0x5*0xe26,0x1*0x7c9+0xe1c+-0x5f*0x3b],this['\x77\x4e\x4a\x61\x6c\x4c']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x78\x57\x66\x79\x62\x77']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4c\x6b\x74\x76\x45\x45']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x69\x59\x4d\x59\x65']=function(){const _0x384a2a=new RegExp(this['\x78\x57\x66\x79\x62\x77']+this['\x4c\x6b\x74\x76\x45\x45']),_0x52a8bd=_0x384a2a['\x74\x65\x73\x74'](this['\x77\x4e\x4a\x61\x6c\x4c']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x71\x56\x56\x78\x4c\x4c'][-0x8fe+-0x4*-0x179+0x31b]:--this['\x71\x56\x56\x78\x4c\x4c'][-0x35*0xb2+0x1*0x7b4+-0x23e*-0xd];return this['\x4f\x42\x63\x4c\x49\x69'](_0x52a8bd);},_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4f\x42\x63\x4c\x49\x69']=function(_0x4a9e66){if(!Boolean(~_0x4a9e66))return _0x4a9e66;return this['\x4c\x7a\x77\x70\x46\x4e'](this['\x41\x44\x46\x61\x49\x59']);},_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4c\x7a\x77\x70\x46\x4e']=function(_0x3f404a){for(let _0x28c254=-0x1*-0xed1+0xe5f+0x2*-0xe98,_0x29e9e2=this['\x71\x56\x56\x78\x4c\x4c']['\x6c\x65\x6e\x67\x74\x68'];_0x28c254<_0x29e9e2;_0x28c254++){this['\x71\x56\x56\x78\x4c\x4c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x29e9e2=this['\x71\x56\x56\x78\x4c\x4c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x3f404a(this['\x71\x56\x56\x78\x4c\x4c'][0x1583*-0x1+-0x1971+0x14*0x259]);},(''+function(){return 0x3f9+0x63*-0x5b+0x1f38;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x4c4+-0x1cc0+-0x17*-0x10b)&&new _0x5645b5(_0x47d3)['\x6c\x69\x59\x4d\x59\x65'](),_0x47d3['\x4e\x59\x6e\x66\x72\x74']=!![];}_0x145a57=_0x47d3['\x58\x73\x46\x79\x4e\x6d'](_0x145a57,_0x4deea7),_0x47d3['\x72\x46\x48\x6f\x4e\x72'][_0x46f5aa]=_0x145a57;}else _0x145a57=_0x354932;return _0x145a57;}const _0x71ccbf=require('\x2e\x2f\x6d\x65\x6d\x6f\x72\x79'+_0x524da8(0x124,'\x53\x52\x54\x53')),_0x3b23b4={'\x6e\x61\x6d\x65':'\x6c\x6f\x63\x61\x6c','\x67\x65\x74\x41\x64\x76\x69\x63\x65'(_0x3a6b1c){const _0x38d2ae=_0x524da8;return _0x71ccbf[_0x38d2ae(0x131,'\x63\x29\x34\x71')+_0x38d2ae(0xf5,'\x68\x38\x4a\x59')](_0x3a6b1c);},'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x532108){const _0x513994=_0x524da8;return _0x71ccbf[_0x513994(0x11b,'\x6f\x4d\x5b\x52')+_0x513994(0x104,'\x48\x5e\x79\x33')+_0x513994(0xc1,'\x62\x4b\x4a\x6a')](_0x532108);},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x40d341){const _0x152fc2=_0x524da8;return _0x71ccbf[_0x152fc2(0xfe,'\x5e\x59\x56\x4c')+_0x152fc2(0xd3,'\x49\x38\x4d\x41')](_0x40d341);},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x132fe9){const _0x346d66=_0x524da8;return _0x71ccbf[_0x346d66(0x148,'\x34\x53\x5a\x39')+_0x346d66(0xcb,'\x50\x57\x70\x30')](_0x132fe9);},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x5a824d){const _0x2368c9=_0x524da8;return _0x71ccbf[_0x2368c9(0xe0,'\x5a\x59\x62\x79')+_0x2368c9(0xc6,'\x53\x77\x25\x62')+'\x6d\x53\x74\x61\x74\x65'](_0x5a824d);},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0x171ddc){const _0x103155=_0x524da8;return _0x71ccbf[_0x103155(0x105,'\x34\x53\x5a\x39')+_0x103155(0x117,'\x33\x39\x2a\x4b')+'\x6e\x64\x69\x64\x61\x74\x65'](_0x171ddc);},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x7e456e=_0x524da8;return _0x71ccbf[_0x7e456e(0x106,'\x40\x45\x51\x72')+_0x7e456e(0x181,'\x63\x77\x50\x53')]();},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x469159){const _0x759a9e=_0x524da8;return _0x71ccbf[_0x759a9e(0x191,'\x21\x23\x39\x61')+_0x759a9e(0xcf,'\x72\x24\x7a\x57')](_0x469159);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0x5162df){const _0x4c5e6e=_0x524da8;return _0x71ccbf[_0x4c5e6e(0x10d,'\x70\x2a\x54\x4a')+_0x4c5e6e(0x168,'\x62\x4b\x4a\x6a')+'\x70\x68\x45\x76\x65\x6e\x74\x73'](_0x5162df);}};function _0xb331fb(){const _0x2dc08b=_0x524da8,_0x32bcdd={'\x45\x6a\x6b\x71\x4c':function(_0x413a8c,_0x290fe5,_0x39b8a5){return _0x413a8c(_0x290fe5,_0x39b8a5);},'\x4b\x41\x59\x59\x78':_0x2dc08b(0x140,'\x79\x4a\x35\x31')+_0x2dc08b(0xbc,'\x51\x6c\x35\x6e')+'\x74\x65','\x53\x71\x4d\x68\x62':function(_0x64448,_0x28e620){return _0x64448!==_0x28e620;},'\x48\x4f\x48\x47\x49':_0x2dc08b(0x111,'\x68\x38\x4a\x59'),'\x69\x7a\x79\x44\x6d':'\x4d\x45\x4d\x4f\x52\x59\x5f\x47'+_0x2dc08b(0xd0,'\x34\x53\x5a\x39')+_0x2dc08b(0x16a,'\x34\x53\x5a\x39')+_0x2dc08b(0x136,'\x53\x4a\x26\x63')+_0x2dc08b(0x120,'\x62\x4b\x4a\x6a'),'\x69\x54\x6c\x57\x54':function(_0x5141d1,_0x322e2f){return _0x5141d1===_0x322e2f;},'\x75\x69\x49\x54\x6c':_0x2dc08b(0x18f,'\x62\x45\x73\x5b'),'\x45\x42\x4e\x67\x77':'\x61\x70\x70\x6c\x69\x63\x61\x74'+_0x2dc08b(0xdb,'\x68\x72\x31\x39'),'\x76\x48\x6c\x75\x79':function(_0x9d456,_0x1341a9){return _0x9d456(_0x1341a9);},'\x50\x66\x59\x44\x6c':_0x2dc08b(0x197,'\x34\x53\x5a\x39')+'\x73\x74','\x49\x59\x77\x6d\x76':function(_0x402b,_0x2c457b){return _0x402b===_0x2c457b;},'\x59\x41\x58\x52\x6d':_0x2dc08b(0x15a,'\x73\x62\x5a\x4f'),'\x52\x45\x67\x50\x68':_0x2dc08b(0x127,'\x68\x38\x4a\x59'),'\x71\x4c\x4f\x52\x61':function(_0x54a338,_0x45fd60){return _0x54a338!==_0x45fd60;},'\x6a\x61\x51\x62\x67':_0x2dc08b(0xdd,'\x35\x30\x6b\x25'),'\x71\x51\x49\x75\x49':_0x2dc08b(0x10a,'\x5e\x59\x56\x4c')+'\x63\x65','\x79\x58\x62\x61\x46':function(_0xe9f1c6,_0x52af80,_0x54f38a){return _0xe9f1c6(_0x52af80,_0x54f38a);},'\x53\x4e\x59\x63\x78':_0x2dc08b(0x180,'\x31\x51\x59\x24'),'\x71\x42\x4d\x55\x72':function(_0x18736a,_0x5dae68){return _0x18736a(_0x5dae68);},'\x4b\x59\x45\x41\x48':function(_0x15ae88,_0x3256b7){return _0x15ae88!==_0x3256b7;},'\x42\x50\x71\x57\x74':_0x2dc08b(0x198,'\x68\x38\x4a\x59'),'\x4a\x74\x4c\x41\x61':_0x2dc08b(0xd1,'\x46\x5a\x57\x34'),'\x6f\x47\x7a\x7a\x64':function(_0x34c541,_0x3291da,_0x3e1c57){return _0x34c541(_0x3291da,_0x3e1c57);},'\x73\x53\x45\x7a\x57':_0x2dc08b(0xe8,'\x4e\x63\x35\x69'),'\x70\x78\x41\x73\x6b':_0x2dc08b(0x157,'\x5e\x59\x56\x4c'),'\x42\x74\x6d\x71\x66':function(_0x56c728,_0x29b61b,_0x20c62a){return _0x56c728(_0x29b61b,_0x20c62a);},'\x65\x76\x43\x69\x7a':'\x48\x62\x4b\x6b\x75','\x73\x79\x70\x74\x70':function(_0x3c6baf,_0x16bcc6,_0x3fef47){return _0x3c6baf(_0x16bcc6,_0x3fef47);},'\x4e\x4b\x73\x4c\x6a':function(_0x2ccb6b,_0x394584){return _0x2ccb6b!==_0x394584;},'\x53\x57\x64\x67\x6f':_0x2dc08b(0xf6,'\x48\x5e\x79\x33'),'\x66\x42\x57\x59\x41':_0x2dc08b(0x13e,'\x5e\x59\x56\x4c'),'\x4d\x62\x48\x59\x67':function(_0x556c0e,_0x46fffe){return _0x556c0e(_0x46fffe);},'\x69\x6f\x6a\x67\x70':function(_0x5dcaac,_0xe10fa3,_0x3b4edb){return _0x5dcaac(_0xe10fa3,_0x3b4edb);}},_0x1566fc=process.env.MEMORY_GRAPH_REMOTE_URL||'',_0x58fbce=process.env.MEMORY_GRAPH_REMOTE_KEY||'',_0x3ee514=_0x32bcdd[_0x2dc08b(0x144,'\x34\x53\x5a\x39')](Number,process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS)||-0xbe+-0x1*-0xf8f+0x4b7;async function _0x26cb2d(_0x511998,_0x4bf507){const _0x54e864=_0x2dc08b,_0x332928={'\x4b\x7a\x6e\x71\x49':function(_0x20c761,_0x421851,_0x18012b){const _0x46811e=_0x47d3;return _0x32bcdd[_0x46811e(0xeb,'\x6b\x45\x36\x63')](_0x20c761,_0x421851,_0x18012b);},'\x6b\x50\x67\x68\x4c':_0x32bcdd['\x4b\x41\x59\x59\x78']};if(_0x32bcdd[_0x54e864(0x129,'\x4b\x43\x5d\x71')](_0x32bcdd[_0x54e864(0x128,'\x53\x4a\x26\x63')],_0x54e864(0x112,'\x35\x30\x6b\x25')))return _0x508f39['\x74\x72\x79\x52\x65\x61\x64\x4d'+_0x54e864(0xfc,'\x49\x6d\x40\x21')+_0x54e864(0xbd,'\x53\x77\x25\x62')](_0x237c1b);else{if(!_0x1566fc)throw new Error(_0x32bcdd[_0x54e864(0x196,'\x48\x52\x38\x7a')]);const _0xeca0dd=''+_0x1566fc[_0x54e864(0x174,'\x48\x52\x38\x7a')](/\/+$/,'')+_0x511998,_0x4c03c6=new AbortController(),_0x5d3fad=_0x32bcdd['\x45\x6a\x6b\x71\x4c'](setTimeout,()=>_0x4c03c6[_0x54e864(0x121,'\x77\x62\x4d\x64')](),_0x3ee514);try{if(_0x32bcdd[_0x54e864(0xc5,'\x2a\x7a\x49\x55')](_0x54e864(0x194,'\x68\x47\x35\x5d'),_0x54e864(0xda,'\x31\x51\x59\x24'))){const _0x3aa5b0=await fetch(_0xeca0dd,{'\x6d\x65\x74\x68\x6f\x64':_0x32bcdd[_0x54e864(0xc3,'\x45\x21\x21\x7a')],'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x32bcdd[_0x54e864(0x13c,'\x62\x45\x73\x5b')],..._0x58fbce?{'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x54e864(0x133,'\x68\x47\x35\x5d')+_0x58fbce}:{}},'\x62\x6f\x64\x79':JSON[_0x54e864(0x108,'\x21\x23\x39\x61')+'\x79'](_0x4bf507),'\x73\x69\x67\x6e\x61\x6c':_0x4c03c6[_0x54e864(0x16e,'\x74\x59\x2a\x48')]});if(!_0x3aa5b0['\x6f\x6b'])throw new Error(_0x54e864(0x18d,'\x5d\x62\x41\x49')+_0x54e864(0xfd,'\x4b\x43\x5d\x71')+'\x20'+_0x3aa5b0[_0x54e864(0xc4,'\x47\x71\x68\x41')]);return await _0x3aa5b0['\x6a\x73\x6f\x6e']();}else _0x332928['\x4b\x7a\x6e\x71\x49'](_0x523eae,_0x54e864(0x12e,'\x68\x47\x35\x5d')+'\x73\x74',{'\x6b\x69\x6e\x64':_0x332928[_0x54e864(0x13a,'\x35\x30\x6b\x25')],'\x65\x76\x65\x6e\x74':_0x352dff})['\x63\x61\x74\x63\x68'](()=>{});}finally{_0x32bcdd[_0x54e864(0xc0,'\x51\x6c\x35\x6e')](clearTimeout,_0x5d3fad);}}}function _0x4e59e3(_0x42f88a,_0x26fa1d){const _0x191ed1=_0x2dc08b,_0x432c68={'\x53\x56\x71\x63\x44':function(_0xa5f1f3,_0x1cc2c2,_0x1af188){return _0xa5f1f3(_0x1cc2c2,_0x1af188);},'\x57\x62\x64\x5a\x4e':_0x32bcdd[_0x191ed1(0x12d,'\x63\x29\x34\x71')],'\x7a\x45\x4f\x73\x51':function(_0x5285bd,_0x346c68){const _0x37ba65=_0x191ed1;return _0x32bcdd[_0x37ba65(0xf3,'\x53\x52\x54\x53')](_0x5285bd,_0x346c68);},'\x48\x4d\x6c\x6d\x72':_0x32bcdd[_0x191ed1(0xd9,'\x6f\x4d\x5b\x52')],'\x74\x42\x6a\x51\x48':_0x32bcdd[_0x191ed1(0x17b,'\x47\x21\x64\x65')],'\x64\x76\x45\x56\x43':function(_0x18291a,..._0x16517b){const _0x14a307=_0x191ed1;return _0x32bcdd[_0x14a307(0x188,'\x77\x62\x4d\x64')](_0x18291a,..._0x16517b);}};return _0x32bcdd[_0x191ed1(0xdc,'\x79\x4a\x35\x31')](_0x32bcdd[_0x191ed1(0x114,'\x5a\x59\x62\x79')],_0x191ed1(0x134,'\x4b\x2a\x26\x55'))?async function(..._0x887129){const _0x273d4d=_0x191ed1,_0x2bc91d={'\x66\x46\x6f\x65\x4e':function(_0x4561f9,_0x3c1758,_0x2cc7d9){const _0xf34135=_0x47d3;return _0x432c68[_0xf34135(0x11d,'\x21\x23\x39\x61')](_0x4561f9,_0x3c1758,_0x2cc7d9);},'\x54\x41\x71\x73\x42':_0x432c68[_0x273d4d(0x185,'\x53\x4a\x26\x63')]};try{return await _0x26fa1d(..._0x887129);}catch(_0x4fcd03){if(_0x432c68[_0x273d4d(0x138,'\x33\x39\x2a\x4b')](_0x432c68[_0x273d4d(0x122,'\x47\x21\x64\x65')],_0x432c68[_0x273d4d(0x183,'\x47\x71\x68\x41')])){const _0x171caf=_0x48be98[_0x273d4d(0xd6,'\x74\x56\x50\x7a')+_0x273d4d(0xff,'\x34\x53\x5a\x39')+_0x273d4d(0x18a,'\x63\x77\x50\x53')](_0xd1cf4e);if(_0x171caf){const _0xda5d0e={};_0xda5d0e[_0x273d4d(0x12a,'\x61\x62\x67\x48')]=_0x273d4d(0x113,'\x53\x77\x25\x62')+_0x273d4d(0x190,'\x47\x21\x64\x65')+'\x74\x65',_0xda5d0e[_0x273d4d(0x166,'\x53\x4a\x26\x63')]=_0x171caf,_0x2bc91d['\x66\x46\x6f\x65\x4e'](_0xc1e85f,_0x2bc91d[_0x273d4d(0x11f,'\x50\x57\x70\x30')],_0xda5d0e)[_0x273d4d(0x177,'\x62\x45\x73\x5b')](()=>{});}return _0x171caf;}else return _0x432c68[_0x273d4d(0x12c,'\x61\x62\x67\x48')](_0x42f88a,..._0x887129);}}:_0x574094[_0x191ed1(0xbb,'\x49\x6d\x40\x21')+'\x79\x41\x64\x76\x69\x63\x65'](_0x11bcb5);}return{'\x6e\x61\x6d\x65':_0x2dc08b(0xc7,'\x76\x40\x5b\x4b'),'\x67\x65\x74\x41\x64\x76\x69\x63\x65':_0x32bcdd['\x69\x6f\x6a\x67\x70'](_0x4e59e3,_0x364fc9=>_0x71ccbf[_0x2dc08b(0x109,'\x5e\x59\x56\x4c')+_0x2dc08b(0xf0,'\x63\x77\x50\x53')](_0x364fc9),async _0x112c5a=>{const _0x43605c=_0x2dc08b,_0x2c97d0=await _0x26cb2d(_0x32bcdd[_0x43605c(0x11e,'\x62\x45\x73\x5b')],{'\x73\x69\x67\x6e\x61\x6c\x73':_0x112c5a[_0x43605c(0xe2,'\x6b\x45\x36\x63')],'\x67\x65\x6e\x65\x73':(_0x112c5a[_0x43605c(0x15d,'\x4e\x68\x68\x6a')]||[])[_0x43605c(0x184,'\x5a\x59\x62\x79')](_0x4bde2a=>({'\x69\x64':_0x4bde2a['\x69\x64'],'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x4bde2a[_0x43605c(0xe9,'\x73\x35\x61\x51')],'\x74\x79\x70\x65':_0x4bde2a[_0x43605c(0x13f,'\x68\x72\x31\x39')]})),'\x64\x72\x69\x66\x74\x45\x6e\x61\x62\x6c\x65\x64':_0x112c5a[_0x43605c(0x125,'\x4b\x43\x5d\x71')+_0x43605c(0x14e,'\x72\x71\x65\x31')]});return{'\x63\x75\x72\x72\x65\x6e\x74\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79':_0x2c97d0['\x63\x75\x72\x72\x65\x6e\x74\x53'+_0x43605c(0x10e,'\x40\x45\x51\x72')]||_0x71ccbf['\x63\x6f\x6d\x70\x75\x74\x65\x53'+_0x43605c(0xe7,'\x74\x56\x50\x7a')](_0x112c5a[_0x43605c(0x167,'\x79\x4a\x35\x31')]),'\x70\x72\x65\x66\x65\x72\x72\x65\x64\x47\x65\x6e\x65\x49\x64':_0x2c97d0[_0x43605c(0x130,'\x48\x5e\x79\x33')+'\x64\x47\x65\x6e\x65\x49\x64']||null,'\x62\x61\x6e\x6e\x65\x64\x47\x65\x6e\x65\x49\x64\x73':new Set(_0x2c97d0[_0x43605c(0x160,'\x4b\x2a\x26\x55')+_0x43605c(0x193,'\x68\x72\x31\x39')]||[]),'\x65\x78\x70\x6c\x61\x6e\x61\x74\x69\x6f\x6e':Array[_0x43605c(0x110,'\x4b\x2a\x26\x55')](_0x2c97d0[_0x43605c(0xb9,'\x72\x71\x65\x31')+_0x43605c(0x173,'\x77\x62\x4d\x64')])?_0x2c97d0[_0x43605c(0x17d,'\x62\x4b\x4a\x6a')+_0x43605c(0x12f,'\x62\x4b\x4a\x6a')]:[]};}),'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x12c041){const _0x1cf916=_0x2dc08b,_0x5ebcb2=_0x71ccbf[_0x1cf916(0x170,'\x49\x38\x4d\x41')+_0x1cf916(0x12b,'\x49\x38\x4d\x41')+'\x73\x68\x6f\x74'](_0x12c041);return _0x32bcdd[_0x1cf916(0x16f,'\x4b\x43\x5d\x71')](_0x26cb2d,_0x32bcdd[_0x1cf916(0x17c,'\x74\x56\x50\x7a')],{'\x6b\x69\x6e\x64':_0x32bcdd[_0x1cf916(0x162,'\x68\x38\x4a\x59')],'\x65\x76\x65\x6e\x74':_0x5ebcb2})[_0x1cf916(0xe6,'\x45\x21\x21\x7a')](()=>{}),_0x5ebcb2;},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x70b196){const _0x5e6c95=_0x2dc08b;if(_0x32bcdd['\x4b\x59\x45\x41\x48'](_0x32bcdd[_0x5e6c95(0x175,'\x40\x45\x51\x72')],_0x32bcdd[_0x5e6c95(0x164,'\x53\x77\x25\x62')]))_0x32bcdd[_0x5e6c95(0x18e,'\x74\x56\x50\x7a')](_0x1bb469,_0x97392e);else{const _0x266578=_0x71ccbf[_0x5e6c95(0x119,'\x70\x2a\x54\x4a')+_0x5e6c95(0x199,'\x62\x4b\x4a\x6a')](_0x70b196),_0x84037d={};return _0x84037d[_0x5e6c95(0x12a,'\x61\x62\x67\x48')]=_0x5e6c95(0x18b,'\x4b\x43\x5d\x71')+'\x69\x73',_0x84037d[_0x5e6c95(0x139,'\x44\x64\x4e\x48')]=_0x266578,_0x32bcdd[_0x5e6c95(0xd8,'\x51\x6c\x35\x6e')](_0x26cb2d,'\x2f\x6b\x67\x2f\x69\x6e\x67\x65'+'\x73\x74',_0x84037d)['\x63\x61\x74\x63\x68'](()=>{}),_0x266578;}},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x1589fb){const _0x520553=_0x2dc08b;if(_0x32bcdd[_0x520553(0x169,'\x31\x51\x59\x24')](_0x32bcdd[_0x520553(0x102,'\x40\x45\x51\x72')],_0x32bcdd[_0x520553(0x195,'\x47\x71\x68\x41')]))return _0xac4008[_0x520553(0x176,'\x5e\x59\x56\x4c')+_0x520553(0x135,'\x61\x62\x67\x48')](_0x135729);else{const _0x305752=_0x71ccbf['\x72\x65\x63\x6f\x72\x64\x41\x74'+_0x520553(0xdf,'\x34\x53\x5a\x39')](_0x1589fb);return _0x32bcdd[_0x520553(0x17a,'\x74\x56\x50\x7a')](_0x26cb2d,_0x32bcdd[_0x520553(0x179,'\x47\x71\x68\x41')],{'\x6b\x69\x6e\x64':_0x32bcdd[_0x520553(0xef,'\x74\x56\x50\x7a')],'\x65\x76\x65\x6e\x74':_0x305752})[_0x520553(0xcd,'\x68\x38\x4a\x59')](()=>{}),_0x305752;}},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x380dc9){const _0x103be7=_0x2dc08b,_0x79e5a1=_0x71ccbf[_0x103be7(0x16d,'\x6b\x45\x36\x63')+_0x103be7(0x10c,'\x4b\x43\x5d\x71')+_0x103be7(0x13b,'\x5e\x59\x56\x4c')](_0x380dc9);if(_0x79e5a1){const _0x21493a={};_0x21493a[_0x103be7(0xf4,'\x47\x21\x64\x65')]='\x6f\x75\x74\x63\x6f\x6d\x65',_0x21493a[_0x103be7(0x139,'\x44\x64\x4e\x48')]=_0x79e5a1,_0x26cb2d(_0x32bcdd[_0x103be7(0x171,'\x70\x2a\x54\x4a')],_0x21493a)['\x63\x61\x74\x63\x68'](()=>{});}return _0x79e5a1;},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0x399665){const _0x20cd69=_0x2dc08b,_0x7ecdc7=_0x71ccbf[_0x20cd69(0xc9,'\x48\x5e\x79\x33')+'\x74\x65\x72\x6e\x61\x6c\x43\x61'+'\x6e\x64\x69\x64\x61\x74\x65'](_0x399665);if(_0x7ecdc7){if(_0x32bcdd[_0x20cd69(0x118,'\x4e\x63\x35\x69')]===_0x32bcdd[_0x20cd69(0x158,'\x50\x57\x70\x30')]){const _0x2d252c={};_0x2d252c[_0x20cd69(0xbf,'\x74\x56\x50\x7a')]=_0x20cd69(0x14f,'\x48\x5e\x79\x33')+_0x20cd69(0x100,'\x73\x35\x61\x51')+'\x74\x65',_0x2d252c[_0x20cd69(0x14d,'\x76\x40\x5b\x4b')]=_0x7ecdc7,_0x26cb2d(_0x32bcdd[_0x20cd69(0xd5,'\x31\x51\x59\x24')],_0x2d252c)[_0x20cd69(0xfa,'\x36\x31\x54\x73')](()=>{});}else return _0x4941f1[_0x20cd69(0x141,'\x68\x47\x35\x5d')+_0x20cd69(0x149,'\x45\x21\x21\x7a')]();}return _0x7ecdc7;},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x163234=_0x2dc08b,_0x252740={'\x62\x71\x6c\x56\x48':function(_0xe5653b,_0x305893,_0x2b30b9){const _0x12ead5=_0x47d3;return _0x32bcdd[_0x12ead5(0x192,'\x49\x38\x4d\x41')](_0xe5653b,_0x305893,_0x2b30b9);},'\x77\x62\x57\x58\x47':_0x163234(0xed,'\x6d\x51\x64\x6b')+'\x69\x73'};if(_0x32bcdd[_0x163234(0x14b,'\x6b\x45\x36\x63')](_0x32bcdd[_0x163234(0x116,'\x62\x45\x73\x5b')],_0x32bcdd[_0x163234(0xf9,'\x77\x62\x4d\x64')]))return _0x71ccbf[_0x163234(0xf7,'\x68\x72\x31\x39')+_0x163234(0x19a,'\x77\x62\x4d\x64')]();else{const _0x3aaf3e=_0x20bb98[_0x163234(0xfb,'\x35\x30\x6b\x25')+_0x163234(0x18c,'\x21\x23\x39\x61')](_0xb07999);return zmJvya[_0x163234(0xe3,'\x73\x35\x61\x51')](_0x13e2be,'\x2f\x6b\x67\x2f\x69\x6e\x67\x65'+'\x73\x74',{'\x6b\x69\x6e\x64':zmJvya[_0x163234(0x189,'\x6f\x4d\x5b\x52')],'\x65\x76\x65\x6e\x74':_0x3aaf3e})[_0x163234(0xe6,'\x45\x21\x21\x7a')](()=>{}),_0x3aaf3e;}},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x2323dd){const _0x5c2edb=_0x2dc08b;return _0x71ccbf[_0x5c2edb(0x15e,'\x36\x31\x54\x73')+_0x5c2edb(0x152,'\x6f\x4d\x5b\x52')](_0x2323dd);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0x58ddcf){const _0x1c19f1=_0x2dc08b,_0x1d19a3={'\x4e\x57\x61\x63\x72':function(_0x171875,_0xf6c47f,_0xb12204){const _0x3b7881=_0x47d3;return _0x32bcdd[_0x3b7881(0x161,'\x6b\x45\x36\x63')](_0x171875,_0xf6c47f,_0xb12204);},'\x6e\x6e\x45\x65\x50':_0x32bcdd['\x73\x53\x45\x7a\x57']};if(_0x32bcdd[_0x1c19f1(0x14a,'\x63\x77\x50\x53')](_0x32bcdd[_0x1c19f1(0x17f,'\x33\x39\x2a\x4b')],_0x32bcdd[_0x1c19f1(0xd4,'\x68\x38\x4a\x59')]))return _0x71ccbf[_0x1c19f1(0xd2,'\x33\x39\x2a\x4b')+'\x65\x6d\x6f\x72\x79\x47\x72\x61'+_0x1c19f1(0x14c,'\x50\x57\x70\x30')](_0x58ddcf);else{const _0x3fedb3=_0x85c3dd[_0x1c19f1(0x153,'\x68\x47\x35\x5d')+_0x1c19f1(0x103,'\x48\x5e\x79\x33')](_0x4e1bc9);return igggQz[_0x1c19f1(0x10b,'\x79\x4a\x35\x31')](_0x46b50f,_0x1c19f1(0xba,'\x79\x4a\x35\x31')+'\x73\x74',{'\x6b\x69\x6e\x64':igggQz[_0x1c19f1(0xf1,'\x5e\x59\x56\x4c')],'\x65\x76\x65\x6e\x74':_0x3fedb3})[_0x1c19f1(0x16b,'\x63\x29\x34\x71')](()=>{}),_0x3fedb3;}}};}function _0x41a6fe(){const _0x24d709=_0x524da8,_0x1f3253={'\x78\x6d\x63\x6b\x67':_0x24d709(0x143,'\x68\x38\x4a\x59'),'\x46\x4c\x79\x76\x53':_0x24d709(0x151,'\x76\x40\x5b\x4b')+_0x24d709(0xec,'\x72\x24\x7a\x57'),'\x65\x4c\x4e\x76\x4f':function(_0x129f51,_0x1b6b67,_0x2498ad){return _0x129f51(_0x1b6b67,_0x2498ad);},'\x6f\x7a\x6b\x65\x4e':function(_0x25e515){return _0x25e515();},'\x55\x73\x59\x44\x71':_0x24d709(0xde,'\x61\x62\x67\x48'),'\x67\x6c\x5a\x6a\x7a':_0x24d709(0x13d,'\x50\x57\x70\x30'),'\x55\x59\x74\x6b\x6c':function(_0x2838bd,_0x46a71b){return _0x2838bd===_0x46a71b;},'\x52\x54\x4b\x6e\x65':_0x24d709(0x154,'\x72\x71\x65\x31'),'\x57\x70\x72\x6a\x71':function(_0x49fda1){return _0x49fda1();}},_0x4ccc73=(function(){const _0x2d60b7=_0x24d709,_0x85a85e={};_0x85a85e[_0x2d60b7(0x107,'\x63\x29\x34\x71')]=_0x2d60b7(0x187,'\x50\x57\x70\x30');const _0x5f5555=_0x85a85e;if(_0x1f3253[_0x2d60b7(0x15f,'\x74\x56\x50\x7a')]===_0x1f3253[_0x2d60b7(0x132,'\x72\x24\x7a\x57')]){let _0x142bf2=!![];return function(_0x389572,_0x5077a0){const _0x51a156=_0x142bf2?function(){const _0x196eb8=_0x47d3;if(_0x5077a0){if(_0x5f5555['\x58\x77\x6a\x59\x43']===_0x196eb8(0xc8,'\x63\x29\x34\x71')){const _0x51e302=_0x5077a0[_0x196eb8(0x145,'\x68\x47\x35\x5d')](_0x389572,arguments);return _0x5077a0=null,_0x51e302;}else return _0x1da588['\x63\x6f\x6d\x70\x75\x74\x65\x53'+_0x196eb8(0xf2,'\x74\x59\x2a\x48')](_0x3e9ab1);}}:function(){};return _0x142bf2=![],_0x51a156;};}else return _0x10d508[_0x2d60b7(0xc2,'\x6d\x51\x64\x6b')+_0x2d60b7(0xe5,'\x34\x53\x5a\x39')+_0x2d60b7(0x142,'\x36\x31\x54\x73')](_0x65a438);}()),_0x3d7386=_0x1f3253[_0x24d709(0x15b,'\x70\x2a\x54\x4a')](_0x4ccc73,this,function(){const _0xc925e0=_0x24d709;return _0x3d7386[_0xc925e0(0x115,'\x4b\x43\x5d\x71')]()[_0xc925e0(0xce,'\x79\x4a\x35\x31')](_0xc925e0(0x146,'\x51\x6c\x35\x6e')+'\x2b\x29\x2b\x24')[_0xc925e0(0xd7,'\x46\x5a\x57\x34')]()[_0xc925e0(0xf8,'\x74\x59\x2a\x48')+_0xc925e0(0x147,'\x49\x6d\x40\x21')](_0x3d7386)[_0xc925e0(0xbe,'\x76\x40\x5b\x4b')](_0x1f3253[_0xc925e0(0x182,'\x5d\x62\x41\x49')]);});_0x1f3253[_0x24d709(0x155,'\x4b\x43\x5d\x71')](_0x3d7386);const _0x21bccc=(process.env.MEMORY_GRAPH_PROVIDER||_0x1f3253['\x55\x73\x59\x44\x71'])['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x24d709(0x11c,'\x51\x6c\x35\x6e')]()[_0x24d709(0x17e,'\x68\x72\x31\x39')]();if(_0x21bccc===_0x1f3253[_0x24d709(0x126,'\x63\x77\x50\x53')])return _0x1f3253[_0x24d709(0x150,'\x74\x59\x2a\x48')](_0x1f3253[_0x24d709(0x15c,'\x70\x2a\x54\x4a')],_0x24d709(0x163,'\x4e\x63\x35\x69'))?_0x2c4b27[_0x24d709(0x178,'\x40\x45\x51\x72')+_0x24d709(0x159,'\x45\x21\x21\x7a')](_0x10fe08):_0x1f3253[_0x24d709(0xea,'\x63\x77\x50\x53')](_0xb331fb);return _0x3b23b4;}function _0x53de(){const _0x1730fe=['\x57\x37\x66\x4d\x57\x37\x58\x66\x70\x71','\x57\x34\x43\x38\x71\x6d\x6b\x6a\x57\x4f\x53','\x57\x36\x54\x4a\x44\x53\x6f\x49\x57\x34\x30','\x57\x50\x6c\x63\x50\x6d\x6f\x65\x57\x36\x66\x37\x6f\x53\x6f\x66\x57\x35\x78\x64\x4d\x4b\x74\x64\x50\x53\x6b\x41','\x57\x52\x52\x63\x4d\x67\x56\x64\x51\x53\x6b\x6b','\x57\x34\x38\x39\x57\x36\x31\x6b\x75\x6d\x6f\x73\x57\x52\x57','\x57\x37\x64\x64\x4d\x38\x6b\x6a\x7a\x43\x6f\x35\x41\x43\x6f\x42\x57\x35\x38','\x57\x37\x4a\x64\x4b\x33\x56\x64\x4a\x71\x4f','\x6f\x32\x68\x63\x48\x43\x6f\x33\x57\x36\x43\x4c\x57\x50\x56\x63\x55\x61','\x57\x37\x37\x63\x49\x53\x6f\x7a\x44\x53\x6f\x30','\x57\x50\x68\x63\x4b\x53\x6f\x6d\x6b\x63\x70\x63\x51\x58\x38\x59\x57\x35\x6c\x64\x4a\x53\x6f\x6f\x57\x50\x72\x6e\x66\x57','\x57\x52\x69\x52\x57\x34\x43\x79\x6d\x53\x6f\x57\x79\x78\x4f','\x78\x31\x79\x32\x57\x34\x4a\x63\x49\x43\x6b\x41','\x62\x53\x6b\x64\x7a\x43\x6f\x6b\x57\x35\x75','\x57\x36\x72\x4b\x75\x6d\x6f\x69\x57\x52\x71\x64\x57\x37\x56\x63\x49\x47','\x78\x30\x75\x6f\x57\x51\x74\x64\x4a\x61','\x73\x38\x6f\x53\x6d\x43\x6b\x79\x57\x51\x76\x63\x57\x4f\x54\x76\x71\x6d\x6b\x6e\x71\x78\x34','\x57\x37\x78\x63\x53\x38\x6b\x4e','\x57\x35\x6c\x64\x47\x53\x6b\x6d\x44\x4e\x56\x64\x55\x75\x4b','\x61\x6d\x6b\x52\x42\x5a\x30\x35','\x45\x53\x6f\x2f\x6b\x43\x6b\x57\x57\x37\x4c\x6c\x6b\x43\x6f\x56','\x57\x52\x53\x73\x73\x43\x6f\x4c\x61\x57','\x6d\x6d\x6b\x45\x46\x71\x75\x2f\x76\x43\x6b\x62\x57\x51\x4f','\x43\x6d\x6f\x31\x57\x36\x62\x6e\x78\x61','\x64\x53\x6b\x69\x6e\x31\x38\x4e','\x57\x37\x68\x64\x4c\x53\x6b\x78\x57\x4f\x61\x4c','\x6d\x43\x6b\x50\x66\x67\x65\x56','\x57\x37\x64\x64\x4a\x53\x6b\x77\x45\x38\x6f\x48\x71\x6d\x6f\x69\x57\x34\x4f','\x57\x35\x31\x41\x44\x75\x43','\x64\x43\x6f\x65\x57\x37\x56\x63\x48\x38\x6f\x2b','\x57\x35\x4a\x64\x49\x31\x68\x64\x49\x57\x4b\x43','\x57\x51\x50\x51\x62\x5a\x6e\x4c\x57\x51\x6e\x36','\x57\x51\x4b\x65\x57\x4f\x2f\x63\x47\x78\x38','\x76\x6d\x6f\x72\x57\x35\x6e\x79\x45\x61','\x75\x30\x4b\x54','\x57\x4f\x4a\x63\x4a\x67\x52\x64\x4e\x53\x6b\x57','\x57\x35\x69\x42\x72\x6d\x6f\x39\x57\x36\x54\x45\x57\x51\x46\x63\x56\x4c\x33\x64\x4d\x38\x6b\x33\x57\x52\x79\x71\x64\x61','\x64\x38\x6b\x77\x57\x50\x62\x6c\x70\x61','\x57\x36\x52\x63\x4c\x6d\x6b\x4c\x57\x37\x75\x38','\x57\x37\x30\x49\x57\x35\x33\x64\x4f\x73\x71','\x57\x51\x76\x2b\x62\x47\x44\x4c\x57\x51\x6e\x33','\x66\x38\x6b\x49\x44\x38\x6f\x65\x57\x36\x43\x73\x57\x50\x72\x31','\x57\x35\x56\x63\x53\x38\x6f\x39\x57\x35\x35\x6b\x45\x75\x46\x64\x52\x61','\x57\x50\x30\x54\x57\x50\x56\x63\x4d\x66\x48\x5a\x61\x53\x6f\x77','\x65\x6d\x6b\x6e\x61\x68\x61\x58','\x57\x4f\x47\x38\x42\x53\x6f\x73','\x57\x37\x5a\x64\x53\x6d\x6b\x72\x57\x52\x34\x50\x7a\x53\x6f\x54\x57\x36\x71','\x57\x34\x4a\x63\x53\x38\x6f\x4b\x57\x34\x7a\x41\x46\x4b\x56\x64\x4a\x61','\x57\x35\x72\x31\x78\x53\x6f\x77\x57\x51\x61','\x57\x34\x44\x6e\x76\x75\x37\x64\x51\x57','\x57\x52\x37\x63\x51\x38\x6b\x77\x77\x5a\x38','\x41\x53\x6f\x4e\x57\x37\x76\x69\x75\x71','\x57\x34\x4e\x64\x4e\x43\x6b\x66\x78\x4e\x43','\x77\x31\x37\x63\x50\x38\x6b\x68\x57\x35\x53\x7a\x57\x52\x64\x64\x56\x71','\x57\x34\x44\x2f\x57\x34\x66\x33\x6e\x47','\x57\x36\x78\x64\x4d\x43\x6b\x73\x46\x38\x6f\x4c\x78\x43\x6f\x61\x57\x34\x30','\x57\x37\x33\x63\x52\x6d\x6b\x48\x57\x35\x61\x4b\x57\x4f\x31\x2f','\x64\x62\x66\x54\x57\x50\x44\x70\x6d\x4e\x6c\x63\x51\x6d\x6f\x4b\x6c\x74\x5a\x63\x51\x38\x6b\x71','\x57\x51\x70\x64\x56\x77\x34\x5a\x77\x5a\x2f\x63\x53\x73\x57','\x57\x50\x6d\x2f\x57\x36\x30\x6c\x77\x6d\x6f\x71\x57\x51\x4a\x64\x4f\x61','\x57\x4f\x6d\x53\x57\x51\x48\x64\x57\x4f\x4c\x61\x76\x43\x6f\x42','\x57\x52\x6c\x63\x54\x64\x56\x63\x50\x53\x6f\x36\x57\x34\x38\x42\x77\x57','\x57\x35\x4c\x42\x71\x53\x6f\x64\x57\x35\x57\x33\x57\x52\x56\x64\x4d\x61','\x44\x67\x34\x59\x61\x53\x6b\x6e\x57\x51\x43','\x63\x53\x6b\x4d\x69\x30\x65','\x57\x50\x56\x63\x4e\x5a\x42\x63\x56\x43\x6f\x4e','\x57\x36\x42\x64\x4e\x53\x6b\x6a\x79\x57','\x72\x71\x70\x64\x52\x53\x6f\x75\x57\x35\x71\x54\x57\x34\x70\x63\x47\x71','\x79\x32\x65\x31\x76\x71\x75','\x75\x38\x6f\x4e\x57\x35\x48\x39\x72\x43\x6b\x62','\x57\x34\x6d\x76\x72\x43\x6b\x6d\x6a\x61','\x57\x35\x31\x71\x41\x6d\x6f\x79\x57\x35\x57\x46\x57\x52\x33\x64\x48\x61','\x44\x77\x34\x2b\x68\x38\x6b\x41\x57\x51\x4f','\x57\x37\x68\x63\x47\x43\x6f\x4b\x71\x6d\x6f\x32','\x74\x30\x44\x6b\x6f\x43\x6b\x61\x6c\x38\x6b\x6b\x44\x47','\x57\x50\x5a\x64\x52\x6d\x6f\x44\x57\x37\x6a\x2f\x46\x76\x46\x64\x4b\x47','\x66\x38\x6b\x7a\x57\x52\x72\x55\x69\x47','\x57\x35\x33\x64\x52\x32\x43\x54\x76\x64\x52\x64\x56\x43\x6f\x49\x76\x59\x46\x64\x4a\x59\x37\x63\x56\x57','\x57\x34\x66\x6a\x57\x35\x66\x66\x6c\x71','\x57\x34\x38\x58\x57\x36\x54\x77\x75\x53\x6f\x77','\x57\x52\x46\x64\x48\x66\x52\x63\x55\x53\x6b\x4e\x61\x78\x70\x64\x48\x47','\x6a\x4e\x74\x63\x4b\x6d\x6f\x47\x57\x36\x30\x4c\x57\x50\x6c\x64\x4c\x71','\x78\x53\x6b\x2f\x57\x52\x2f\x63\x47\x58\x53','\x6b\x53\x6f\x48\x57\x36\x42\x63\x53\x53\x6f\x30\x57\x52\x64\x64\x50\x38\x6f\x55','\x57\x36\x7a\x55\x72\x38\x6f\x70\x57\x51\x6d\x75\x57\x34\x68\x63\x4b\x61','\x57\x34\x72\x51\x57\x37\x6a\x2f\x62\x61','\x57\x37\x56\x64\x48\x67\x2f\x64\x4f\x71\x71','\x65\x38\x6b\x51\x6c\x4b\x4f\x58\x79\x53\x6b\x38\x57\x34\x71','\x74\x38\x6b\x59\x57\x51\x46\x63\x47\x72\x68\x63\x50\x53\x6f\x66\x46\x47','\x57\x50\x74\x63\x4a\x5a\x4a\x63\x51\x43\x6f\x79','\x57\x35\x6d\x62\x57\x35\x6c\x64\x51\x57\x34','\x57\x36\x6c\x64\x53\x78\x33\x64\x51\x5a\x53','\x57\x34\x62\x68\x43\x47\x78\x64\x53\x53\x6f\x74\x45\x38\x6b\x4f','\x57\x34\x30\x79\x57\x34\x76\x32\x75\x61','\x57\x50\x6c\x63\x54\x6d\x6f\x34\x57\x36\x54\x62','\x57\x4f\x39\x62\x66\x38\x6b\x55\x57\x52\x34','\x61\x66\x64\x63\x52\x43\x6f\x79\x57\x34\x79','\x74\x65\x30\x2b\x57\x34\x53\x6c\x7a\x57\x4a\x63\x4d\x47','\x76\x6d\x6f\x70\x57\x36\x34\x52\x69\x6d\x6b\x55\x43\x4b\x44\x4c\x57\x34\x75','\x57\x52\x6d\x4e\x57\x34\x6d\x7a\x69\x43\x6f\x34\x78\x71','\x63\x6d\x6b\x49\x57\x35\x4c\x63\x57\x52\x71','\x57\x35\x4e\x64\x4f\x67\x5a\x64\x55\x38\x6b\x4f\x57\x50\x34\x66\x41\x43\x6b\x53\x66\x43\x6b\x62\x70\x61','\x61\x66\x42\x63\x52\x38\x6f\x66\x57\x35\x43\x58\x57\x51\x78\x64\x54\x57','\x44\x77\x4b\x69\x79\x47\x65','\x63\x6d\x6b\x4f\x69\x30\x71\x56\x74\x43\x6b\x43\x57\x34\x75','\x57\x37\x65\x47\x74\x43\x6b\x2f\x57\x50\x6c\x63\x4d\x4c\x61','\x63\x43\x6b\x59\x57\x34\x66\x58\x57\x50\x56\x63\x52\x47\x78\x63\x4f\x57','\x57\x50\x58\x51\x68\x71\x4c\x31','\x57\x4f\x75\x4b\x57\x34\x38\x67\x64\x61','\x57\x37\x78\x63\x49\x48\x2f\x64\x56\x57','\x78\x58\x2f\x64\x56\x43\x6f\x75\x57\x35\x69\x48\x57\x36\x4e\x63\x48\x57','\x57\x37\x6e\x35\x71\x38\x6f\x69\x57\x52\x71\x74\x57\x35\x53','\x65\x53\x6b\x43\x63\x66\x38\x75','\x57\x52\x6a\x42\x63\x58\x76\x54\x57\x52\x72\x33','\x44\x38\x6f\x2b\x61\x43\x6b\x4c\x57\x35\x57','\x72\x76\x47\x2f\x57\x34\x46\x63\x48\x6d\x6b\x39\x70\x31\x4b','\x57\x51\x42\x63\x47\x49\x76\x34\x65\x57','\x57\x34\x4a\x64\x55\x53\x6b\x45\x57\x52\x71','\x57\x35\x54\x50\x57\x34\x66\x71\x6c\x6d\x6f\x37\x57\x34\x34','\x78\x32\x72\x54\x69\x53\x6b\x35','\x57\x34\x72\x6e\x43\x75\x78\x64\x51\x53\x6f\x7a\x75\x38\x6b\x30','\x74\x31\x61\x2f\x57\x35\x78\x63\x4e\x6d\x6b\x65\x6c\x30\x6d','\x57\x37\x4e\x63\x51\x53\x6b\x6b\x57\x36\x4b\x2f','\x45\x6d\x6b\x33\x6e\x6d\x6f\x51\x42\x47','\x57\x50\x64\x63\x51\x38\x6f\x54\x57\x36\x66\x43\x6d\x75\x35\x68','\x57\x4f\x65\x4b\x57\x52\x6e\x38\x57\x50\x76\x51\x73\x6d\x6f\x69','\x67\x6d\x6b\x65\x79\x53\x6f\x7a\x57\x36\x65\x76\x57\x4f\x6d\x38','\x41\x38\x6f\x31\x6a\x38\x6b\x56\x57\x37\x35\x42\x62\x6d\x6f\x66','\x61\x66\x64\x63\x53\x53\x6f\x67\x57\x35\x6d\x42\x57\x50\x74\x64\x55\x71','\x6e\x43\x6b\x57\x57\x35\x72\x36\x57\x50\x4a\x63\x51\x62\x70\x63\x55\x57','\x6b\x38\x6b\x36\x68\x38\x6f\x56\x57\x51\x72\x57\x46\x38\x6b\x35\x57\x35\x79\x49\x42\x53\x6b\x62\x72\x61','\x63\x6d\x6b\x70\x75\x49\x53\x53','\x73\x75\x44\x65\x6a\x53\x6b\x67','\x77\x4b\x58\x69\x6f\x53\x6b\x48\x6a\x43\x6b\x55\x46\x47','\x62\x4c\x64\x63\x4f\x38\x6f\x68\x57\x34\x61\x74\x57\x50\x6c\x64\x4f\x61','\x6c\x38\x6b\x45\x43\x57\x75\x2f\x73\x6d\x6b\x68\x57\x51\x57','\x57\x34\x78\x63\x4e\x6d\x6f\x68\x74\x6d\x6f\x46','\x57\x35\x4a\x63\x51\x6d\x6f\x37\x57\x35\x39\x62\x42\x75\x46\x64\x55\x71','\x46\x53\x6f\x31\x6d\x6d\x6b\x6e\x57\x36\x4c\x73\x69\x38\x6f\x6f','\x6e\x53\x6f\x37\x69\x38\x6f\x56\x57\x36\x31\x42\x6f\x53\x6f\x76','\x57\x37\x69\x64\x57\x36\x54\x68\x71\x57','\x63\x38\x6b\x34\x41\x6d\x6f\x67\x57\x37\x79\x38\x57\x4f\x6e\x50','\x45\x31\x65\x55\x57\x52\x6c\x64\x48\x71\x6c\x64\x4b\x53\x6b\x61','\x6b\x38\x6b\x43\x43\x61\x53\x48\x45\x53\x6b\x4c\x57\x51\x43','\x6a\x74\x57\x74\x75\x61\x46\x63\x4b\x5a\x2f\x64\x52\x57','\x57\x35\x50\x2f\x57\x34\x4b\x70\x69\x47\x4f\x6a','\x57\x35\x48\x4c\x57\x37\x76\x71\x62\x47','\x57\x50\x4a\x63\x47\x38\x6f\x45\x57\x37\x48\x54','\x57\x34\x58\x6c\x43\x38\x6f\x71\x57\x34\x53\x33\x57\x51\x37\x64\x48\x57','\x76\x65\x4b\x6d\x57\x34\x79\x45','\x63\x38\x6b\x30\x76\x6d\x6f\x46\x57\x36\x65\x74\x57\x50\x39\x48','\x57\x52\x30\x66\x46\x53\x6f\x56\x65\x71','\x6b\x53\x6f\x32\x57\x36\x33\x63\x4a\x53\x6f\x57\x57\x52\x33\x64\x47\x6d\x6f\x63','\x57\x36\x61\x53\x45\x6d\x6b\x50\x57\x50\x71','\x46\x75\x79\x30\x57\x4f\x2f\x64\x4b\x47\x46\x64\x56\x53\x6b\x30','\x57\x51\x2f\x64\x51\x6d\x6b\x4d\x57\x35\x65\x52\x57\x51\x50\x32\x57\x36\x38','\x57\x37\x47\x4c\x57\x36\x4e\x64\x4c\x48\x65\x6d\x64\x6d\x6f\x54','\x57\x4f\x5a\x63\x50\x64\x38','\x57\x37\x4a\x63\x49\x53\x6f\x34\x57\x35\x76\x52','\x57\x51\x4b\x49\x44\x6d\x6f\x5a\x69\x47','\x6e\x38\x6b\x39\x57\x51\x48\x54\x66\x61','\x57\x37\x5a\x64\x4b\x43\x6b\x74\x7a\x43\x6f\x4c\x73\x47','\x57\x37\x33\x63\x56\x53\x6b\x4d\x57\x37\x69\x58','\x57\x36\x56\x64\x4e\x53\x6b\x43\x57\x52\x30\x2f','\x67\x57\x58\x4d\x57\x50\x70\x63\x4e\x53\x6b\x57\x6b\x68\x72\x6a\x6d\x57','\x57\x51\x4a\x63\x51\x74\x6e\x4c\x64\x71','\x67\x38\x6b\x50\x42\x53\x6f\x6e\x57\x36\x43\x2f\x57\x50\x39\x4e','\x57\x51\x58\x32\x6e\x71\x4c\x2b','\x57\x37\x44\x44\x57\x37\x6e\x64\x63\x47','\x57\x50\x46\x63\x4f\x75\x42\x64\x47\x38\x6b\x33','\x6c\x6d\x6b\x51\x73\x53\x6f\x64\x57\x37\x65','\x57\x4f\x48\x68\x67\x53\x6b\x52','\x57\x37\x66\x56\x75\x53\x6f\x6c\x57\x50\x75\x6a\x57\x34\x4e\x63\x4b\x57','\x57\x4f\x44\x79\x6d\x43\x6b\x7a\x57\x50\x65','\x57\x34\x33\x63\x4a\x43\x6f\x30\x75\x43\x6f\x57','\x57\x35\x4a\x63\x4b\x38\x6b\x36\x6f\x47\x78\x63\x53\x6d\x6b\x75\x78\x47','\x57\x37\x5a\x64\x4d\x43\x6b\x69','\x74\x76\x62\x6d\x6d\x6d\x6b\x78\x6f\x43\x6b\x39\x41\x57','\x57\x37\x52\x63\x4a\x53\x6f\x7a\x77\x6d\x6f\x35\x78\x4a\x33\x63\x49\x71','\x57\x51\x42\x64\x4a\x4c\x46\x63\x53\x6d\x6b\x53','\x57\x52\x78\x63\x4e\x43\x6b\x38\x7a\x57\x4e\x63\x52\x6d\x6f\x74','\x57\x37\x58\x47\x57\x36\x34\x37\x69\x57','\x57\x4f\x50\x6a\x67\x53\x6b\x55\x57\x52\x34\x4b\x57\x37\x68\x64\x53\x71','\x57\x52\x68\x63\x47\x78\x52\x63\x50\x6d\x6b\x44\x44\x71\x6a\x45','\x57\x51\x44\x4b\x42\x43\x6b\x45\x57\x51\x2f\x63\x4e\x76\x33\x64\x47\x57','\x6a\x6d\x6f\x77\x57\x35\x64\x63\x4b\x38\x6f\x61','\x46\x6d\x6f\x38\x73\x6d\x6b\x59\x57\x36\x6d','\x57\x4f\x4e\x63\x4e\x53\x6f\x50\x57\x36\x7a\x49','\x44\x6d\x6f\x64\x6d\x6d\x6b\x48\x57\x37\x48\x41','\x57\x50\x30\x58\x43\x38\x6f\x48\x68\x61','\x65\x43\x6b\x7a\x57\x52\x72\x58\x69\x53\x6b\x6e','\x77\x38\x6f\x75\x69\x38\x6b\x6b\x57\x34\x79','\x57\x35\x31\x72\x42\x65\x38','\x57\x35\x4b\x53\x57\x37\x35\x62\x71\x38\x6f\x71\x57\x51\x37\x64\x51\x71','\x57\x50\x52\x63\x4e\x43\x6b\x57\x45\x48\x37\x63\x50\x38\x6b\x30\x73\x71','\x44\x53\x6b\x66\x6e\x6d\x6f\x4f\x43\x48\x71','\x57\x34\x39\x53\x57\x34\x6a\x45\x6e\x47','\x6f\x76\x46\x63\x49\x6d\x6f\x58\x57\x35\x75','\x57\x50\x42\x63\x49\x6d\x6b\x54\x45\x72\x75','\x57\x34\x78\x64\x56\x33\x6c\x64\x50\x53\x6b\x31\x57\x4f\x39\x75\x65\x57','\x57\x50\x61\x4d\x57\x51\x34','\x62\x4c\x64\x63\x4f\x38\x6f\x68\x57\x34\x61\x74\x57\x50\x42\x64\x52\x61','\x44\x33\x47\x75\x75\x71\x4a\x63\x54\x64\x79','\x57\x4f\x76\x72\x68\x63\x39\x55','\x57\x4f\x4b\x78\x57\x35\x6d\x41\x6e\x47','\x65\x38\x6b\x75\x57\x50\x58\x4f\x6d\x38\x6b\x67\x44\x67\x61','\x79\x4e\x30\x32\x68\x53\x6b\x41','\x57\x51\x74\x64\x51\x78\x53\x37','\x77\x66\x50\x44\x6d\x38\x6b\x61\x6a\x43\x6b\x55\x79\x47','\x45\x77\x79\x4c\x57\x34\x33\x63\x48\x61','\x6c\x59\x6e\x37\x78\x53\x6f\x66\x57\x36\x79\x33\x6b\x61','\x57\x36\x6d\x4e\x57\x36\x74\x64\x4d\x61\x38\x4a\x6f\x53\x6f\x39','\x57\x4f\x78\x63\x4e\x43\x6b\x2b\x45\x48\x37\x63\x55\x53\x6b\x59\x74\x57','\x57\x51\x52\x64\x50\x30\x53\x73\x46\x47','\x65\x6d\x6b\x48\x42\x6d\x6f\x6f\x57\x35\x30','\x62\x76\x42\x63\x56\x38\x6b\x69\x57\x50\x76\x58\x57\x52\x74\x63\x47\x30\x6c\x64\x51\x53\x6f\x55\x57\x36\x58\x50','\x44\x43\x6f\x69\x68\x6d\x6b\x59\x57\x37\x75','\x65\x38\x6b\x65\x57\x50\x48\x54\x70\x71','\x79\x4d\x30\x72\x43\x72\x30','\x65\x6d\x6b\x6c\x68\x67\x53\x78','\x41\x4d\x38\x7a\x57\x50\x42\x64\x52\x57','\x78\x78\x43\x43\x57\x4f\x37\x64\x48\x71','\x64\x4d\x42\x63\x53\x6d\x6b\x51\x41\x47','\x45\x6d\x6b\x35\x6c\x43\x6f\x35\x43\x57\x78\x63\x4a\x6d\x6f\x39','\x67\x43\x6b\x49\x6c\x4b\x34\x4b','\x57\x35\x66\x54\x57\x36\x79\x74\x6e\x71\x38\x33\x57\x35\x75','\x57\x52\x6d\x33\x57\x35\x71\x64\x6d\x61'];_0x53de=function(){return _0x1730fe;};return _0x53de();}const _0x58ab42=_0x41a6fe();module[_0x524da8(0xee,'\x49\x38\x4d\x41')]=_0x58ab42;
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// MemoryGraphAdapter -- stable interface boundary for memory graph operations.
|
|
3
|
+
//
|
|
4
|
+
// Default implementation delegates to the local JSONL-based memoryGraph.js.
|
|
5
|
+
// SaaS providers can supply a remote adapter by setting MEMORY_GRAPH_PROVIDER=remote
|
|
6
|
+
// and configuring MEMORY_GRAPH_REMOTE_URL / MEMORY_GRAPH_REMOTE_KEY.
|
|
7
|
+
//
|
|
8
|
+
// The adapter is designed so that the open-source evolver always works offline
|
|
9
|
+
// with the local implementation. Remote is optional and degrades gracefully.
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
const localGraph = require('./memoryGraph');
|
|
13
|
+
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Adapter interface contract (all methods must be implemented by providers):
|
|
16
|
+
//
|
|
17
|
+
// getAdvice({ signals, genes, driftEnabled }) => { preferredGeneId, bannedGeneIds, currentSignalKey, explanation }
|
|
18
|
+
// recordSignalSnapshot({ signals, observations }) => event
|
|
19
|
+
// recordHypothesis({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, capsulesUsed, observations }) => { hypothesisId, signalKey }
|
|
20
|
+
// recordAttempt({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, hypothesisId, capsulesUsed, observations }) => { actionId, signalKey }
|
|
21
|
+
// recordOutcome({ signals, observations }) => event | null
|
|
22
|
+
// recordExternalCandidate({ asset, source, signals }) => event | null
|
|
23
|
+
// memoryGraphPath() => string
|
|
24
|
+
// computeSignalKey(signals) => string
|
|
25
|
+
// tryReadMemoryGraphEvents(limit) => event[]
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Local adapter (default) -- wraps memoryGraph.js without any behavior change
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
|
|
32
|
+
const localAdapter = {
|
|
33
|
+
name: 'local',
|
|
34
|
+
|
|
35
|
+
getAdvice(opts) {
|
|
36
|
+
return localGraph.getMemoryAdvice(opts);
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
recordSignalSnapshot(opts) {
|
|
40
|
+
return localGraph.recordSignalSnapshot(opts);
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
recordHypothesis(opts) {
|
|
44
|
+
return localGraph.recordHypothesis(opts);
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
recordAttempt(opts) {
|
|
48
|
+
return localGraph.recordAttempt(opts);
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
recordOutcome(opts) {
|
|
52
|
+
return localGraph.recordOutcomeFromState(opts);
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
recordExternalCandidate(opts) {
|
|
56
|
+
return localGraph.recordExternalCandidate(opts);
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
memoryGraphPath() {
|
|
60
|
+
return localGraph.memoryGraphPath();
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
computeSignalKey(signals) {
|
|
64
|
+
return localGraph.computeSignalKey(signals);
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
tryReadMemoryGraphEvents(limit) {
|
|
68
|
+
return localGraph.tryReadMemoryGraphEvents(limit);
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// Remote adapter (SaaS) -- calls external KG service with local fallback
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
|
|
76
|
+
function buildRemoteAdapter() {
|
|
77
|
+
const remoteUrl = process.env.MEMORY_GRAPH_REMOTE_URL || '';
|
|
78
|
+
const remoteKey = process.env.MEMORY_GRAPH_REMOTE_KEY || '';
|
|
79
|
+
const timeoutMs = Number(process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS) || 5000;
|
|
80
|
+
|
|
81
|
+
async function remoteCall(endpoint, body) {
|
|
82
|
+
if (!remoteUrl) throw new Error('MEMORY_GRAPH_REMOTE_URL not configured');
|
|
83
|
+
const url = `${remoteUrl.replace(/\/+$/, '')}${endpoint}`;
|
|
84
|
+
const controller = new AbortController();
|
|
85
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
86
|
+
try {
|
|
87
|
+
const res = await fetch(url, {
|
|
88
|
+
method: 'POST',
|
|
89
|
+
headers: {
|
|
90
|
+
'Content-Type': 'application/json',
|
|
91
|
+
...(remoteKey ? { Authorization: `Bearer ${remoteKey}` } : {}),
|
|
92
|
+
},
|
|
93
|
+
body: JSON.stringify(body),
|
|
94
|
+
signal: controller.signal,
|
|
95
|
+
});
|
|
96
|
+
if (!res.ok) {
|
|
97
|
+
throw new Error(`remote_kg_error: ${res.status}`);
|
|
98
|
+
}
|
|
99
|
+
return await res.json();
|
|
100
|
+
} finally {
|
|
101
|
+
clearTimeout(timer);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Wrap remote call with local fallback -- ensures offline resilience.
|
|
106
|
+
function withFallback(localFn, remoteFn) {
|
|
107
|
+
return async function (...args) {
|
|
108
|
+
try {
|
|
109
|
+
return await remoteFn(...args);
|
|
110
|
+
} catch (e) {
|
|
111
|
+
// Fallback to local on any remote failure (network, timeout, config).
|
|
112
|
+
return localFn(...args);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
name: 'remote',
|
|
119
|
+
|
|
120
|
+
// getAdvice is the primary candidate for remote enhancement (richer graph reasoning).
|
|
121
|
+
getAdvice: withFallback(
|
|
122
|
+
(opts) => localGraph.getMemoryAdvice(opts),
|
|
123
|
+
async (opts) => {
|
|
124
|
+
const result = await remoteCall('/kg/advice', {
|
|
125
|
+
signals: opts.signals,
|
|
126
|
+
genes: (opts.genes || []).map((g) => ({ id: g.id, category: g.category, type: g.type })),
|
|
127
|
+
driftEnabled: opts.driftEnabled,
|
|
128
|
+
});
|
|
129
|
+
// Normalize remote response to match local contract.
|
|
130
|
+
return {
|
|
131
|
+
currentSignalKey: result.currentSignalKey || localGraph.computeSignalKey(opts.signals),
|
|
132
|
+
preferredGeneId: result.preferredGeneId || null,
|
|
133
|
+
bannedGeneIds: new Set(result.bannedGeneIds || []),
|
|
134
|
+
explanation: Array.isArray(result.explanation) ? result.explanation : [],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
),
|
|
138
|
+
|
|
139
|
+
// Write operations: always write locally first, then async-sync to remote.
|
|
140
|
+
// This preserves the append-only local graph as source of truth.
|
|
141
|
+
recordSignalSnapshot(opts) {
|
|
142
|
+
const ev = localGraph.recordSignalSnapshot(opts);
|
|
143
|
+
remoteCall('/kg/ingest', { kind: 'signal', event: ev }).catch(() => {});
|
|
144
|
+
return ev;
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
recordHypothesis(opts) {
|
|
148
|
+
const result = localGraph.recordHypothesis(opts);
|
|
149
|
+
remoteCall('/kg/ingest', { kind: 'hypothesis', event: result }).catch(() => {});
|
|
150
|
+
return result;
|
|
151
|
+
},
|
|
152
|
+
|
|
153
|
+
recordAttempt(opts) {
|
|
154
|
+
const result = localGraph.recordAttempt(opts);
|
|
155
|
+
remoteCall('/kg/ingest', { kind: 'attempt', event: result }).catch(() => {});
|
|
156
|
+
return result;
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
recordOutcome(opts) {
|
|
160
|
+
const ev = localGraph.recordOutcomeFromState(opts);
|
|
161
|
+
if (ev) {
|
|
162
|
+
remoteCall('/kg/ingest', { kind: 'outcome', event: ev }).catch(() => {});
|
|
163
|
+
}
|
|
164
|
+
return ev;
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
recordExternalCandidate(opts) {
|
|
168
|
+
const ev = localGraph.recordExternalCandidate(opts);
|
|
169
|
+
if (ev) {
|
|
170
|
+
remoteCall('/kg/ingest', { kind: 'external_candidate', event: ev }).catch(() => {});
|
|
171
|
+
}
|
|
172
|
+
return ev;
|
|
173
|
+
},
|
|
174
|
+
|
|
175
|
+
memoryGraphPath() {
|
|
176
|
+
return localGraph.memoryGraphPath();
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
computeSignalKey(signals) {
|
|
180
|
+
return localGraph.computeSignalKey(signals);
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
tryReadMemoryGraphEvents(limit) {
|
|
184
|
+
return localGraph.tryReadMemoryGraphEvents(limit);
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// ---------------------------------------------------------------------------
|
|
190
|
+
// Provider resolution
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
|
|
193
|
+
function resolveAdapter() {
|
|
194
|
+
const provider = (process.env.MEMORY_GRAPH_PROVIDER || 'local').toLowerCase().trim();
|
|
195
|
+
if (provider === 'remote') {
|
|
196
|
+
return buildRemoteAdapter();
|
|
197
|
+
}
|
|
198
|
+
return localAdapter;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const adapter = resolveAdapter();
|
|
202
|
+
|
|
203
|
+
module.exports = adapter;
|