@evomap/evolver 1.88.4 → 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 -553
- 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 +6 -17
- 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/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/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 -1
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/traceControl.js +99 -1
- package/src/proxy/inject.js +52 -1
- package/src/proxy/trace/extractor.js +534 -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/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
package/src/gep/hubReview.js
CHANGED
|
@@ -1 +1,207 @@
|
|
|
1
|
-
const _0x11fee5=_0x972d;(function(_0x49ef45,_0x3c073){const _0x2d94c7=_0x972d,_0x23b807=_0x49ef45();while(!![]){try{const _0x2835a8=-parseInt(_0x2d94c7(0x1ec,'\x24\x30\x45\x64'))/(-0xd0b*-0x1+-0xf59*-0x2+-0x2bbc)*(parseInt(_0x2d94c7(0x92,'\x33\x5d\x53\x46'))/(-0x1*0x14db+0x285*0x4+-0xfb*-0xb))+parseInt(_0x2d94c7(0x12a,'\x39\x78\x59\x40'))/(0x2*-0x248+-0x30f*-0x1+-0x2*-0xc2)+parseInt(_0x2d94c7(0x134,'\x56\x6f\x31\x6a'))/(-0x141*-0x1f+-0x217b*-0x1+-0x4856)+-parseInt(_0x2d94c7(0x94,'\x44\x43\x35\x37'))/(-0x1f9*0x7+0x16e1+-0x7*0x14b)+parseInt(_0x2d94c7(0xbb,'\x61\x5e\x30\x23'))/(-0x5ef*-0x5+0x13dd+-0x3182)*(parseInt(_0x2d94c7(0x1cb,'\x40\x6e\x46\x6c'))/(0x8*-0xe9+-0x17c0+-0x1f0f*-0x1))+parseInt(_0x2d94c7(0x192,'\x69\x45\x38\x42'))/(-0x229*-0x7+-0x441+-0xad6)+parseInt(_0x2d94c7(0x106,'\x5d\x6f\x44\x33'))/(-0x1c83+-0x258e+-0x421a*-0x1);if(_0x2835a8===_0x3c073)break;else _0x23b807['push'](_0x23b807['shift']());}catch(_0x3f7f61){_0x23b807['push'](_0x23b807['shift']());}}}(_0x3a8f,0x8b983+0x505*0x9b+-0x413f0));const _0x289de1=(function(){const _0x27a812=_0x972d,_0x5f3cc0={'\x63\x61\x57\x57\x44':function(_0x161205,_0x621ce3,_0x5456a9,_0x27d34c){return _0x161205(_0x621ce3,_0x5456a9,_0x27d34c);},'\x6c\x44\x52\x42\x6e':function(_0x2f9352,_0x2a3746){return _0x2f9352-_0x2a3746;},'\x45\x66\x41\x7a\x61':_0x27a812(0x97,'\x29\x6a\x68\x2a'),'\x49\x6f\x70\x52\x70':function(_0x29bd79,_0x15badc){return _0x29bd79!==_0x15badc;},'\x4c\x66\x5a\x57\x79':_0x27a812(0x8e,'\x23\x5e\x61\x34')};let _0x4f6028=!![];return function(_0x5e89a0,_0x43005d){const _0x1c8e04=_0x27a812,_0x58b799={'\x58\x62\x67\x52\x7a':function(_0x9c7224,_0x50943b){const _0x4686fb=_0x972d;return _0x5f3cc0[_0x4686fb(0x1bc,'\x56\x6f\x31\x6a')](_0x9c7224,_0x50943b);},'\x63\x54\x46\x46\x59':_0x1c8e04(0x123,'\x69\x70\x48\x67'),'\x6c\x4e\x49\x4d\x67':_0x5f3cc0[_0x1c8e04(0x1bb,'\x2a\x5b\x47\x37')]};if(_0x5f3cc0[_0x1c8e04(0x1bd,'\x7a\x25\x65\x24')](_0x5f3cc0[_0x1c8e04(0x1b4,'\x69\x45\x38\x42')],_0x5f3cc0[_0x1c8e04(0x109,'\x69\x70\x48\x67')]))_0x5f3cc0[_0x1c8e04(0x1f3,'\x47\x5a\x57\x7a')](_0x47695a,_0xe4e305,_0x41f155,![]);else{const _0x25b7c5=_0x4f6028?function(){const _0x183031=_0x1c8e04;if(_0x43005d){if(_0x58b799[_0x183031(0x10d,'\x44\x6a\x70\x55')]!==_0x58b799[_0x183031(0x1a6,'\x39\x78\x59\x40')]){const _0x1dc19a=_0x43005d[_0x183031(0xb5,'\x24\x30\x45\x64')](_0x5e89a0,arguments);return _0x43005d=null,_0x1dc19a;}else{const _0x4390e6=_0x55b3ec[_0x183031(0x135,'\x72\x6e\x52\x76')](_0x267f4a=>({'\x6b':_0x267f4a,'\x74':_0x56da03[_0x267f4a]['\x61\x74']||-0x8*-0x322+-0x2*0xfd9+-0x236*-0x3}))[_0x183031(0xdb,'\x46\x61\x45\x51')]((_0x457efb,_0x31404c)=>_0x457efb['\x74']-_0x31404c['\x74']),_0x10eba7=_0x4390e6[_0x183031(0x160,'\x40\x69\x6d\x4f')](-0xea2*-0x1+0x32d*0x3+0x4d5*-0x5,_0x58b799[_0x183031(0x1d4,'\x36\x52\x45\x34')](_0x5c61b1[_0x183031(0x1c9,'\x44\x43\x35\x37')],_0x25a048));for(const _0x1a9be6 of _0x10eba7)delete _0x9f98fe[_0x1a9be6['\x6b']];}}}:function(){};return _0x4f6028=![],_0x25b7c5;}};}()),_0x1700f3=_0x289de1(this,function(){const _0x52c1d1=_0x972d,_0x47ee34={};_0x47ee34[_0x52c1d1(0x1e4,'\x61\x5e\x30\x23')]=_0x52c1d1(0x16f,'\x40\x69\x6d\x4f')+'\x2b\x29\x2b\x24';const _0x499cdf=_0x47ee34;return _0x1700f3[_0x52c1d1(0x129,'\x72\x75\x6b\x65')]()[_0x52c1d1(0xae,'\x69\x46\x64\x2a')](_0x499cdf[_0x52c1d1(0x114,'\x5b\x39\x75\x4f')])[_0x52c1d1(0xc2,'\x24\x30\x45\x64')]()[_0x52c1d1(0x1be,'\x69\x70\x48\x67')+_0x52c1d1(0xa3,'\x46\x61\x45\x51')](_0x1700f3)[_0x52c1d1(0x12c,'\x5b\x39\x75\x4f')](_0x499cdf[_0x52c1d1(0x11a,'\x34\x34\x79\x66')]);});_0x1700f3();function _0x3a8f(){const _0x38779f=['\x67\x66\x6d\x68\x70\x43\x6f\x4a','\x57\x34\x74\x64\x48\x6d\x6f\x50\x57\x50\x71\x68\x57\x35\x57\x6f\x6e\x57','\x57\x4f\x4b\x38\x57\x52\x79\x68\x57\x37\x5a\x64\x49\x71\x46\x64\x4e\x57','\x45\x64\x53\x31\x57\x51\x78\x64\x56\x61','\x57\x4f\x61\x63\x43\x6d\x6f\x76\x57\x51\x7a\x64\x78\x77\x30','\x57\x50\x54\x6d\x6d\x43\x6b\x33\x57\x35\x57\x46','\x62\x68\x6a\x2f','\x57\x37\x39\x56\x7a\x64\x46\x64\x53\x61','\x6b\x38\x6f\x71\x57\x37\x71\x42\x57\x52\x54\x62\x61\x4c\x57','\x6d\x63\x58\x38\x73\x4e\x75','\x57\x50\x53\x4a\x41\x4e\x76\x37\x78\x71','\x57\x50\x42\x63\x50\x48\x79\x6b\x44\x71','\x57\x37\x44\x69\x71\x43\x6f\x69\x57\x34\x68\x63\x49\x47','\x57\x35\x76\x32\x57\x52\x4c\x75\x57\x37\x64\x64\x56\x63\x42\x64\x49\x71','\x68\x59\x70\x63\x4c\x43\x6b\x2b\x69\x6d\x6b\x63\x69\x32\x52\x64\x49\x6d\x6b\x62\x44\x73\x47','\x57\x34\x56\x64\x53\x43\x6f\x6d\x57\x51\x34\x65','\x68\x77\x42\x63\x47\x77\x44\x6e','\x45\x53\x6b\x56\x57\x51\x4e\x64\x4b\x6d\x6f\x73','\x6b\x68\x2f\x64\x56\x68\x2f\x63\x4a\x64\x6c\x64\x4e\x67\x4f','\x57\x34\x5a\x64\x52\x74\x30\x55\x72\x68\x64\x64\x56\x38\x6b\x74','\x7a\x38\x6b\x75\x61\x58\x71\x48\x6c\x38\x6b\x6a\x57\x36\x47','\x64\x4c\x4b\x42\x69\x71','\x64\x67\x46\x63\x4d\x32\x61','\x57\x36\x5a\x64\x48\x43\x6b\x78\x57\x34\x6c\x63\x49\x47','\x45\x78\x5a\x64\x48\x43\x6f\x4c\x45\x43\x6f\x46\x62\x71\x75','\x57\x4f\x4c\x51\x61\x43\x6f\x33\x68\x5a\x47','\x57\x36\x4e\x64\x56\x61\x61\x71\x74\x57\x37\x64\x56\x64\x30','\x6c\x43\x6b\x75\x66\x61\x30\x36','\x78\x64\x78\x64\x50\x6d\x6f\x33\x57\x37\x38\x4e\x57\x37\x6d\x53','\x57\x35\x46\x64\x49\x53\x6f\x5a\x57\x4f\x38','\x61\x43\x6f\x4e\x77\x59\x44\x48\x65\x38\x6b\x69\x74\x57','\x6f\x38\x6b\x74\x62\x61\x38\x48\x70\x53\x6b\x6b\x57\x37\x34','\x57\x35\x30\x65\x57\x35\x52\x63\x4f\x61','\x57\x4f\x37\x63\x50\x5a\x69\x36\x71\x33\x30','\x57\x34\x42\x64\x49\x53\x6f\x77\x57\x4f\x47\x58','\x57\x50\x6e\x77\x77\x5a\x2f\x63\x53\x30\x64\x63\x4b\x47','\x66\x53\x6b\x41\x61\x4b\x5a\x63\x55\x61','\x57\x50\x46\x64\x49\x4a\x2f\x64\x55\x71\x4f','\x6e\x43\x6b\x42\x57\x37\x4a\x63\x48\x64\x4e\x63\x4c\x58\x4a\x63\x4e\x57','\x62\x66\x5a\x63\x50\x77\x39\x6b','\x57\x52\x44\x7a\x63\x6d\x6f\x4e\x64\x47','\x64\x4b\x47\x6f\x7a\x6d\x6b\x35\x7a\x65\x33\x64\x4c\x47','\x57\x51\x33\x64\x53\x72\x4e\x64\x49\x5a\x62\x79\x57\x4f\x6c\x63\x53\x47','\x74\x4e\x42\x63\x51\x74\x31\x68','\x57\x52\x62\x52\x70\x38\x6f\x61\x57\x50\x30','\x45\x78\x52\x63\x55\x72\x39\x4d','\x57\x4f\x68\x63\x52\x74\x69\x50\x75\x4e\x56\x64\x56\x57','\x57\x34\x44\x44\x69\x38\x6b\x42\x57\x52\x72\x52\x44\x75\x53\x33\x70\x38\x6f\x55','\x57\x34\x5a\x63\x4f\x43\x6b\x74\x57\x51\x39\x73\x57\x36\x37\x63\x55\x6d\x6f\x33','\x75\x53\x6f\x6a\x57\x35\x64\x63\x49\x61','\x57\x52\x64\x63\x4f\x38\x6f\x76\x68\x6d\x6b\x52\x57\x4f\x6d\x4a\x57\x37\x47','\x57\x37\x4f\x48\x57\x34\x56\x63\x4d\x65\x6d','\x79\x6d\x6b\x71\x57\x4f\x37\x64\x4d\x43\x6f\x74','\x6b\x6d\x6b\x62\x57\x34\x74\x63\x4a\x59\x4e\x63\x48\x4a\x71','\x71\x30\x37\x63\x4d\x48\x62\x76','\x61\x4b\x75\x7a\x64\x61','\x76\x53\x6f\x41\x57\x34\x56\x63\x4c\x53\x6b\x46','\x6e\x65\x53\x51\x74\x38\x6f\x42\x68\x4a\x70\x64\x4b\x71','\x57\x52\x56\x64\x53\x72\x30\x78\x72\x65\x65','\x6c\x76\x6c\x64\x48\x6d\x6b\x67\x67\x71','\x7a\x38\x6b\x71\x57\x52\x52\x64\x4b\x38\x6f\x46\x57\x35\x4b','\x57\x51\x76\x2f\x65\x6d\x6b\x37\x57\x34\x79','\x46\x74\x61\x6e\x71\x4b\x34','\x6b\x38\x6b\x66\x61\x58\x65\x37\x6c\x6d\x6b\x6c\x57\x37\x43','\x57\x4f\x71\x6f\x79\x38\x6f\x6c\x57\x36\x6e\x73\x76\x33\x53','\x6d\x53\x6b\x33\x73\x63\x53\x6d','\x57\x35\x79\x35\x6e\x38\x6f\x39\x6c\x5a\x31\x76\x6c\x61','\x67\x43\x6b\x34\x65\x33\x5a\x63\x52\x68\x58\x33','\x57\x51\x47\x76\x67\x6d\x6b\x77\x57\x4f\x64\x64\x4b\x6d\x6f\x4c\x45\x68\x42\x64\x47\x53\x6f\x63\x6b\x6d\x6f\x59','\x57\x37\x58\x69\x77\x38\x6f\x51\x57\x34\x70\x63\x4a\x43\x6b\x38\x46\x61','\x57\x34\x71\x76\x57\x35\x56\x63\x4e\x4d\x43','\x57\x36\x58\x6d\x45\x49\x70\x64\x4c\x71','\x7a\x71\x6c\x63\x4c\x6d\x6f\x6d\x7a\x38\x6b\x52\x6b\x48\x52\x64\x4e\x76\x4b\x2b\x61\x57','\x57\x37\x6d\x42\x57\x35\x74\x63\x49\x33\x71','\x6d\x38\x6b\x61\x57\x35\x70\x63\x4e\x62\x6d','\x6c\x38\x6b\x64\x63\x61\x43','\x57\x36\x48\x4f\x57\x35\x64\x63\x4e\x65\x70\x63\x56\x67\x78\x63\x51\x57','\x57\x52\x4a\x63\x4e\x75\x5a\x64\x55\x38\x6b\x78\x7a\x74\x57','\x68\x4a\x69\x43\x57\x35\x47\x49\x57\x4f\x79','\x57\x52\x42\x64\x51\x64\x6c\x64\x56\x47\x43','\x57\x35\x2f\x64\x51\x43\x6b\x34\x76\x53\x6f\x34','\x57\x34\x5a\x63\x4f\x43\x6b\x79\x57\x52\x4c\x45\x57\x37\x71','\x61\x6d\x6f\x54\x71\x64\x72\x56\x65\x38\x6b\x70\x74\x57','\x6a\x53\x6b\x4d\x61\x71','\x57\x50\x4b\x33\x42\x78\x71','\x70\x53\x6b\x4d\x66\x61','\x57\x4f\x31\x69\x6e\x53\x6b\x50\x57\x36\x75','\x57\x4f\x4c\x4b\x61\x53\x6f\x37\x64\x61','\x6f\x38\x6f\x68\x44\x59\x76\x79','\x57\x4f\x4b\x2b\x57\x4f\x61\x6e\x57\x36\x69\x31','\x74\x49\x68\x64\x52\x38\x6f\x72\x57\x34\x61','\x57\x51\x68\x64\x55\x49\x57\x71\x71\x57','\x69\x30\x46\x64\x48\x38\x6b\x41','\x79\x73\x46\x64\x49\x6d\x6f\x47\x57\x34\x79','\x66\x43\x6f\x64\x76\x6d\x6f\x37\x57\x35\x47\x45','\x57\x35\x53\x48\x57\x34\x4a\x63\x4a\x76\x47','\x57\x34\x33\x63\x53\x6d\x6b\x79\x57\x52\x35\x65\x57\x36\x4b','\x78\x38\x6f\x4d\x42\x38\x6b\x74\x69\x47','\x57\x4f\x47\x52\x57\x4f\x79\x6e\x57\x36\x69\x31\x71\x38\x6b\x67','\x57\x35\x78\x64\x4a\x53\x6f\x4d\x57\x4f\x6d\x31\x57\x34\x43\x78\x6d\x71','\x57\x34\x66\x36\x78\x4a\x6c\x64\x56\x57','\x57\x50\x43\x42\x7a\x43\x6f\x6f\x57\x37\x38','\x6b\x43\x6b\x72\x57\x34\x42\x63\x4e\x59\x70\x63\x4d\x57','\x6e\x30\x34\x68\x6d\x53\x6b\x39','\x64\x68\x70\x63\x4d\x4e\x54\x67','\x6f\x38\x6b\x73\x62\x58\x79\x39\x6f\x71','\x57\x37\x71\x50\x57\x51\x72\x61\x57\x50\x79\x79\x61\x65\x34','\x74\x59\x6c\x63\x52\x32\x6a\x4f\x70\x38\x6b\x6b\x77\x57','\x6a\x43\x6b\x69\x63\x48\x71\x51','\x6b\x76\x75\x69\x6a\x38\x6b\x36\x43\x4b\x4f','\x71\x49\x42\x64\x54\x43\x6f\x50\x57\x36\x71','\x62\x38\x6b\x4e\x6a\x64\x39\x48','\x57\x37\x56\x63\x53\x38\x6b\x79\x64\x71','\x6f\x53\x6b\x79\x57\x35\x78\x63\x49\x73\x33\x63\x4b\x74\x37\x63\x54\x71','\x57\x4f\x69\x65\x72\x53\x6f\x77\x57\x37\x72\x6d\x78\x68\x47','\x57\x4f\x47\x54\x57\x51\x4f\x70\x57\x37\x2f\x64\x49\x5a\x33\x64\x47\x61','\x43\x64\x75\x73\x57\x4f\x5a\x64\x51\x74\x38','\x57\x34\x39\x4d\x79\x5a\x78\x64\x4b\x47','\x57\x36\x42\x64\x54\x38\x6f\x2b\x73\x38\x6f\x39\x70\x67\x69','\x57\x35\x78\x64\x4a\x53\x6f\x4d\x57\x50\x71\x43\x57\x34\x61','\x64\x43\x6b\x4b\x57\x37\x68\x63\x4e\x59\x75','\x57\x4f\x57\x61\x75\x38\x6f\x34\x57\x37\x57','\x57\x50\x4f\x56\x57\x4f\x71\x69\x57\x36\x75\x58\x73\x38\x6b\x75','\x57\x35\x35\x69\x7a\x47\x42\x64\x56\x61','\x57\x51\x6a\x77\x62\x47\x39\x55\x57\x50\x42\x64\x52\x43\x6b\x33','\x67\x32\x43\x4d\x65\x43\x6b\x56','\x57\x50\x6c\x63\x54\x59\x38\x31','\x57\x37\x78\x63\x54\x43\x6b\x71\x63\x38\x6b\x53\x57\x4f\x6a\x30\x57\x51\x53','\x62\x38\x6f\x4e\x75\x43\x6f\x47\x57\x37\x69','\x72\x76\x4a\x63\x4b\x49\x66\x57\x57\x34\x56\x64\x4b\x4e\x30','\x57\x36\x42\x64\x47\x53\x6b\x66\x57\x36\x70\x63\x4c\x43\x6b\x39\x76\x53\x6b\x4b','\x57\x50\x64\x64\x51\x38\x6b\x72\x57\x52\x39\x74\x57\x35\x5a\x63\x55\x6d\x6f\x4e','\x66\x32\x47\x54\x77\x4b\x4e\x63\x4c\x61\x54\x50','\x72\x38\x6f\x6b\x57\x36\x68\x63\x4e\x43\x6b\x76','\x57\x4f\x72\x52\x6b\x38\x6b\x33\x57\x34\x6d','\x70\x38\x6b\x6e\x43\x63\x6d\x4f\x57\x35\x2f\x63\x4d\x38\x6b\x38','\x57\x4f\x30\x57\x57\x52\x43\x6b\x57\x37\x64\x64\x4d\x64\x33\x64\x49\x71','\x72\x5a\x74\x64\x50\x38\x6f\x43\x57\x37\x47\x58','\x46\x30\x4c\x47\x57\x37\x38\x58','\x69\x43\x6b\x4d\x61\x72\x47','\x57\x35\x2f\x63\x4b\x38\x6b\x31\x57\x50\x54\x79','\x63\x78\x42\x63\x52\x67\x6a\x78','\x74\x6d\x6f\x4f\x76\x53\x6b\x46\x6c\x57','\x6a\x6d\x6b\x44\x46\x62\x47\x2f\x57\x34\x4a\x63\x53\x53\x6b\x38','\x72\x67\x76\x47\x57\x36\x4b\x56\x71\x61','\x57\x34\x52\x63\x52\x43\x6b\x77\x57\x51\x72\x31\x57\x37\x70\x63\x52\x57','\x6b\x75\x38\x45\x6e\x53\x6b\x38\x7a\x66\x30','\x45\x6d\x6b\x71\x57\x51\x4a\x64\x4b\x38\x6f\x72\x57\x35\x64\x64\x4b\x61','\x70\x6d\x6f\x33\x71\x73\x76\x4a\x67\x38\x6b\x2b\x64\x61','\x57\x37\x34\x69\x57\x36\x4a\x63\x49\x4d\x69','\x57\x37\x56\x64\x4e\x43\x6b\x4a\x76\x38\x6f\x6b','\x57\x51\x35\x37\x6a\x6d\x6f\x30\x57\x4f\x56\x63\x54\x78\x71','\x57\x35\x74\x63\x52\x53\x6f\x74\x57\x4f\x2f\x64\x4d\x61','\x57\x4f\x79\x72\x41\x68\x44\x61','\x70\x73\x76\x6a\x57\x50\x2f\x63\x48\x71','\x57\x35\x37\x64\x4c\x53\x6b\x30\x57\x35\x4e\x63\x4b\x57','\x63\x43\x6f\x4c\x76\x4a\x6a\x32','\x57\x34\x46\x63\x54\x38\x6b\x36\x57\x50\x31\x36','\x57\x34\x64\x64\x4e\x43\x6b\x2b\x57\x37\x2f\x63\x4f\x47','\x57\x52\x52\x63\x53\x48\x4a\x64\x4b\x73\x43\x45\x57\x50\x4e\x63\x53\x71','\x57\x4f\x38\x54\x57\x50\x30\x6a','\x57\x51\x4a\x64\x4b\x58\x4b\x65\x7a\x61','\x57\x4f\x47\x47\x43\x77\x35\x48','\x69\x47\x48\x5a\x57\x52\x68\x63\x51\x74\x79','\x6a\x68\x69\x32\x6f\x6d\x6f\x63','\x57\x52\x31\x42\x63\x64\x6a\x41','\x79\x6d\x6f\x57\x74\x38\x6b\x72\x64\x57','\x57\x35\x38\x6b\x57\x35\x78\x63\x55\x75\x4f','\x57\x37\x70\x64\x4e\x6d\x6b\x36\x57\x50\x61\x79\x57\x34\x44\x64\x76\x71','\x6a\x6d\x6b\x46\x72\x47\x6d\x34\x6f\x53\x6b\x73\x57\x37\x69','\x57\x35\x78\x63\x4f\x43\x6b\x61\x57\x52\x4b','\x70\x4e\x4a\x64\x52\x68\x33\x63\x4c\x57','\x6b\x57\x6e\x68\x57\x4f\x5a\x63\x4b\x71','\x57\x34\x56\x63\x53\x6d\x6b\x46\x57\x37\x69','\x57\x37\x53\x48\x57\x37\x2f\x63\x55\x33\x4f','\x78\x4e\x52\x64\x47\x43\x6f\x4b\x44\x61','\x68\x38\x6b\x41\x77\x71\x79\x79','\x57\x35\x4e\x63\x51\x38\x6b\x51\x57\x50\x4c\x37','\x57\x37\x61\x54\x57\x34\x4e\x63\x4d\x4b\x74\x64\x54\x61','\x67\x6d\x6b\x42\x57\x34\x4e\x63\x4d\x63\x4e\x63\x4d\x5a\x70\x64\x48\x57','\x6a\x6d\x6b\x72\x44\x72\x69\x37\x57\x35\x42\x63\x4e\x47','\x79\x74\x4b\x74\x78\x76\x6d','\x41\x38\x6b\x73\x57\x51\x7a\x65\x57\x36\x43\x6d\x72\x32\x38\x55\x57\x36\x5a\x63\x4b\x43\x6b\x6c\x67\x47','\x64\x78\x68\x64\x48\x43\x6b\x73\x70\x57','\x68\x6d\x6b\x38\x62\x67\x2f\x63\x4e\x61','\x57\x36\x56\x64\x4a\x43\x6f\x44\x57\x52\x61\x6b','\x57\x37\x4b\x42\x57\x34\x42\x63\x53\x76\x65','\x6c\x53\x6b\x50\x66\x64\x79','\x6c\x4b\x38\x54\x6c\x43\x6b\x4e\x7a\x66\x30','\x6f\x6d\x6b\x6a\x6e\x65\x4a\x63\x4b\x61','\x69\x47\x6e\x36\x6b\x78\x70\x63\x4c\x6d\x6b\x46\x6f\x61','\x6f\x4c\x42\x64\x4b\x43\x6b\x6e\x6d\x6d\x6f\x30\x6a\x61','\x57\x4f\x7a\x49\x46\x5a\x58\x4d\x74\x30\x38\x68','\x57\x52\x4a\x64\x56\x72\x64\x64\x4a\x74\x44\x78\x57\x50\x4a\x63\x53\x61','\x57\x4f\x47\x57\x57\x4f\x79\x71','\x57\x34\x65\x75\x57\x34\x46\x63\x52\x32\x46\x64\x4f\x71','\x57\x52\x6e\x53\x70\x57\x31\x4a','\x6b\x65\x75\x6b\x6e\x38\x6b\x57\x42\x57','\x57\x35\x56\x63\x56\x6d\x6b\x71\x57\x52\x4c\x66\x57\x36\x4e\x63\x4a\x53\x6f\x51','\x57\x34\x75\x75\x57\x34\x33\x64\x51\x68\x6c\x64\x55\x53\x6b\x43\x57\x36\x43','\x44\x73\x78\x64\x52\x4e\x70\x63\x4b\x73\x37\x64\x4d\x57','\x43\x6d\x6b\x67\x57\x51\x4a\x64\x48\x53\x6f\x66\x57\x35\x56\x63\x4c\x43\x6b\x63','\x6d\x6d\x6b\x4f\x6b\x57\x75\x48','\x62\x78\x74\x63\x4b\x6d\x6f\x51\x6e\x38\x6f\x73\x62\x75\x57','\x46\x53\x6b\x59\x57\x52\x37\x64\x55\x43\x6f\x36','\x63\x4e\x70\x64\x49\x38\x6f\x4e\x46\x43\x6b\x42\x62\x72\x79','\x57\x37\x7a\x67\x73\x38\x6f\x67\x57\x34\x46\x63\x53\x43\x6b\x50\x7a\x57','\x57\x34\x37\x64\x4a\x6d\x6b\x32\x57\x34\x52\x63\x49\x47','\x57\x50\x37\x64\x4f\x4a\x57\x7a\x46\x61','\x57\x36\x38\x39\x57\x34\x78\x63\x4b\x66\x4e\x64\x51\x67\x6c\x63\x55\x57','\x57\x52\x42\x63\x4e\x38\x6b\x64\x68\x53\x6b\x6b','\x57\x37\x78\x64\x4d\x38\x6f\x54\x57\x52\x43\x58','\x57\x4f\x7a\x52\x62\x53\x6f\x4a\x57\x4f\x4e\x63\x4f\x61','\x57\x34\x76\x53\x66\x53\x6f\x5a\x62\x5a\x75\x75','\x6f\x6d\x6b\x76\x57\x35\x70\x63\x4a\x59\x71','\x6a\x38\x6f\x4e\x42\x38\x6f\x70\x57\x35\x61','\x72\x43\x6f\x6e\x57\x36\x68\x63\x4e\x38\x6b\x30','\x57\x4f\x48\x6d\x46\x63\x4a\x63\x52\x4b\x74\x63\x4d\x75\x65','\x62\x5a\x6d\x31\x57\x51\x54\x34\x68\x38\x6b\x63\x57\x36\x30\x4d\x57\x4f\x34\x78\x57\x50\x6a\x51','\x61\x57\x62\x56\x57\x52\x6c\x63\x48\x71','\x57\x52\x48\x68\x65\x58\x48\x50\x57\x35\x34','\x67\x76\x56\x64\x47\x6d\x6b\x79\x65\x57','\x73\x38\x6f\x39\x73\x38\x6b\x72\x6c\x43\x6b\x77\x41\x47','\x6c\x43\x6b\x63\x72\x47\x6d\x4d\x6c\x53\x6f\x45\x57\x36\x47','\x6a\x66\x52\x64\x48\x43\x6b\x71\x6d\x6d\x6f\x2f','\x57\x34\x74\x64\x48\x6d\x6f\x4a\x57\x4f\x69','\x7a\x53\x6b\x77\x57\x52\x74\x64\x4b\x53\x6f\x76','\x42\x66\x6c\x64\x52\x43\x6f\x72\x45\x57','\x57\x52\x70\x63\x49\x6d\x6f\x54\x57\x34\x7a\x4f\x57\x50\x7a\x65\x46\x53\x6f\x7a\x69\x30\x52\x64\x54\x61','\x71\x6d\x6f\x39\x74\x57','\x57\x50\x44\x4a\x62\x38\x6f\x71\x57\x50\x53','\x57\x37\x56\x63\x50\x65\x56\x63\x4a\x78\x53\x70\x57\x51\x6c\x63\x49\x30\x31\x68\x65\x43\x6f\x46','\x57\x50\x44\x30\x46\x71\x71','\x6b\x53\x6f\x61\x57\x37\x75\x64\x57\x51\x62\x67\x68\x30\x38','\x57\x36\x43\x39\x57\x51\x6e\x6e','\x62\x32\x57\x48\x68\x6d\x6f\x36','\x57\x34\x58\x55\x45\x58\x52\x64\x4c\x6d\x6f\x56\x6b\x61','\x57\x36\x43\x63\x68\x72\x39\x2b\x57\x35\x78\x64\x53\x6d\x6b\x2f','\x57\x4f\x71\x6b\x77\x31\x62\x4a','\x57\x51\x78\x63\x4a\x61\x71\x52\x77\x61','\x57\x37\x68\x64\x53\x53\x6f\x30\x57\x50\x69\x46','\x57\x37\x42\x63\x4e\x38\x6f\x48\x57\x51\x56\x64\x52\x32\x57','\x57\x37\x74\x64\x55\x6d\x6b\x62\x57\x52\x47\x72','\x6f\x6d\x6b\x74\x66\x71\x4f','\x57\x37\x66\x63\x72\x53\x6f\x62','\x67\x68\x46\x64\x4b\x49\x47','\x57\x34\x4f\x50\x57\x36\x64\x63\x51\x4b\x79','\x57\x50\x6a\x4b\x6c\x53\x6f\x5a\x57\x50\x65','\x57\x34\x47\x67\x57\x37\x74\x64\x51\x66\x78\x64\x51\x6d\x6b\x67\x57\x36\x34','\x66\x6d\x6f\x68\x71\x43\x6f\x47\x57\x35\x75\x72','\x46\x68\x74\x64\x50\x43\x6f\x43\x42\x47','\x69\x4b\x47\x77\x67\x38\x6f\x4d\x67\x61','\x57\x51\x61\x78\x57\x4f\x65\x67\x57\x35\x34\x33\x78\x6d\x6b\x6a','\x57\x34\x4a\x64\x4e\x53\x6f\x5a\x57\x4f\x71\x43\x57\x34\x6d\x45\x63\x57','\x57\x37\x37\x64\x56\x43\x6b\x2f\x74\x57','\x57\x4f\x62\x43\x66\x53\x6f\x2b\x63\x61','\x57\x52\x4c\x68\x61\x47\x7a\x52\x57\x35\x78\x64\x55\x47','\x57\x50\x79\x53\x57\x4f\x65\x6e\x57\x37\x4b','\x57\x37\x46\x64\x50\x6d\x6f\x75\x57\x52\x6d','\x57\x35\x42\x63\x4b\x53\x6f\x55\x57\x52\x57','\x74\x64\x53\x53\x78\x4b\x4e\x63\x4f\x47\x58\x51','\x57\x37\x2f\x64\x47\x6d\x6b\x79\x57\x36\x46\x63\x48\x47','\x65\x68\x33\x63\x4a\x57','\x63\x64\x71\x70\x57\x34\x6d\x4c','\x69\x57\x58\x54','\x57\x35\x61\x54\x57\x52\x35\x61\x57\x34\x54\x78','\x57\x52\x2f\x63\x53\x65\x2f\x64\x4a\x43\x6b\x6a','\x57\x51\x53\x55\x46\x32\x39\x48\x67\x4c\x34\x66','\x57\x34\x69\x44\x57\x34\x64\x63\x52\x68\x52\x64\x52\x38\x6b\x67\x57\x36\x43','\x41\x49\x79\x6b\x57\x4f\x5a\x64\x53\x61','\x57\x37\x79\x4b\x57\x52\x58\x50\x57\x50\x34\x71','\x61\x53\x6b\x33\x6b\x48\x6d\x34','\x6b\x75\x57\x63\x6a\x38\x6b\x36','\x57\x50\x53\x53\x42\x43\x6f\x76\x57\x34\x4f','\x57\x50\x34\x4e\x57\x50\x30\x78\x57\x37\x47\x48\x45\x43\x6b\x7a','\x57\x37\x6c\x64\x4c\x43\x6b\x59\x57\x50\x43\x37','\x71\x33\x52\x64\x4a\x6d\x6b\x4b\x43\x53\x6f\x61\x67\x76\x65','\x70\x71\x66\x30\x57\x52\x78\x63\x55\x61','\x57\x4f\x31\x62\x63\x38\x6b\x42\x57\x36\x4b','\x69\x4c\x61\x45\x64\x6d\x6f\x32','\x57\x52\x4c\x64\x62\x47\x6e\x4b\x57\x35\x65','\x71\x33\x72\x4e\x57\x51\x69','\x68\x77\x33\x64\x54\x31\x5a\x63\x53\x61','\x57\x4f\x65\x69\x74\x38\x6f\x4b\x57\x36\x69','\x57\x34\x5a\x63\x4f\x43\x6b\x6d\x57\x52\x4c\x75\x57\x37\x34','\x57\x50\x34\x45\x44\x38\x6f\x39\x57\x37\x72\x61\x72\x68\x79','\x6c\x53\x6f\x6d\x57\x37\x4b\x41\x57\x52\x6e\x62\x68\x31\x79','\x43\x47\x48\x64\x41\x53\x6f\x30\x6b\x62\x6c\x63\x4e\x61','\x57\x50\x46\x63\x52\x64\x43\x5a\x77\x67\x6c\x64\x50\x71','\x57\x4f\x62\x42\x6e\x53\x6b\x4b\x57\x34\x30\x58\x69\x6d\x6b\x4f','\x6f\x30\x57\x7a\x69\x43\x6b\x2b\x7a\x75\x64\x64\x51\x47','\x57\x4f\x39\x47\x62\x53\x6f\x2b','\x6c\x6d\x6b\x70\x65\x58\x66\x59\x41\x47','\x74\x53\x6f\x6f\x57\x35\x56\x63\x55\x53\x6b\x69\x62\x43\x6b\x7a\x67\x61','\x6f\x43\x6b\x7a\x46\x58\x4b','\x57\x50\x43\x38\x57\x52\x79\x62\x57\x36\x78\x64\x48\x61','\x6b\x38\x6b\x34\x66\x73\x44\x32','\x57\x34\x48\x55\x57\x36\x48\x75\x57\x51\x74\x63\x4c\x77\x78\x64\x53\x6d\x6b\x66\x57\x50\x52\x63\x4e\x6d\x6f\x53\x66\x61','\x57\x4f\x39\x77\x74\x74\x68\x63\x54\x76\x4e\x63\x47\x30\x6d','\x57\x52\x7a\x43\x6b\x38\x6b\x34\x57\x34\x43\x66\x69\x6d\x6b\x2b','\x57\x37\x78\x64\x51\x43\x6b\x62\x57\x50\x4f\x56','\x6a\x6d\x6f\x64\x57\x36\x33\x63\x4d\x43\x6b\x63\x57\x37\x4e\x64\x53\x53\x6b\x5a\x57\x35\x71\x53\x6e\x71','\x6c\x38\x6f\x75\x57\x34\x56\x63\x49\x73\x33\x63\x4b\x77\x46\x63\x4e\x47','\x77\x67\x78\x63\x4d\x48\x76\x61','\x75\x43\x6f\x79\x57\x36\x70\x63\x4f\x38\x6b\x45','\x57\x35\x34\x66\x57\x35\x56\x63\x4f\x78\x33\x64\x52\x47','\x45\x32\x46\x63\x55\x63\x76\x64\x57\x34\x46\x64\x49\x68\x65','\x66\x33\x46\x63\x4b\x78\x53','\x57\x34\x64\x64\x4a\x6d\x6b\x56\x57\x50\x57\x58\x57\x35\x58\x67\x73\x47','\x57\x51\x6a\x2f\x6f\x53\x6f\x59\x57\x50\x64\x63\x55\x77\x4a\x64\x50\x61','\x57\x50\x5a\x64\x56\x63\x69\x6c\x71\x47','\x57\x50\x7a\x77\x67\x43\x6f\x5a\x65\x71','\x70\x53\x6f\x31\x46\x59\x62\x4f','\x68\x64\x39\x54\x46\x68\x34','\x77\x78\x42\x64\x4a\x43\x6f\x35\x46\x71','\x57\x35\x4a\x64\x49\x43\x6b\x64\x57\x37\x42\x63\x48\x47','\x78\x53\x6f\x50\x78\x43\x6b\x44\x6b\x6d\x6f\x6f\x61\x4d\x38','\x57\x35\x6c\x64\x4b\x53\x6b\x32\x57\x36\x64\x63\x54\x57','\x57\x35\x68\x64\x4b\x6d\x6b\x56\x57\x37\x4a\x63\x4d\x43\x6f\x55\x74\x38\x6b\x4b','\x62\x53\x6f\x32\x75\x33\x34','\x57\x50\x56\x64\x47\x72\x6d\x76\x7a\x61','\x57\x52\x72\x4e\x63\x43\x6f\x48\x57\x50\x53','\x6a\x38\x6f\x66\x57\x36\x6c\x63\x4c\x43\x6b\x64\x57\x4f\x78\x63\x48\x43\x6b\x62\x57\x36\x4f\x68\x6c\x43\x6f\x2b\x71\x61','\x67\x73\x33\x63\x4c\x43\x6b\x59\x6c\x43\x6b\x62\x71\x30\x37\x64\x53\x43\x6b\x71\x77\x74\x58\x65','\x74\x38\x6f\x6f\x77\x53\x6b\x67\x6b\x6d\x6f\x46\x70\x71','\x57\x4f\x34\x64\x42\x76\x76\x58','\x57\x52\x76\x6d\x70\x53\x6b\x49\x57\x34\x30\x66\x41\x71','\x6a\x43\x6b\x44\x44\x62\x4b\x4f\x57\x35\x2f\x63\x47\x38\x6b\x32','\x64\x43\x6b\x30\x74\x6d\x6b\x74\x6c\x53\x6f\x69\x6c\x59\x61','\x62\x66\x53\x35\x6a\x38\x6f\x79','\x67\x6d\x6b\x79\x70\x58\x31\x69','\x70\x48\x48\x55\x57\x52\x34','\x70\x53\x6b\x6c\x76\x62\x75\x30\x57\x35\x70\x63\x4d\x43\x6b\x57','\x57\x34\x54\x56\x79\x47','\x57\x36\x5a\x63\x4d\x6d\x6f\x62\x57\x51\x33\x64\x51\x68\x34\x41','\x71\x77\x6e\x42\x57\x35\x57\x4b','\x75\x53\x6f\x45\x57\x35\x30','\x57\x52\x44\x65\x72\x59\x56\x63\x51\x47','\x57\x35\x4a\x64\x4e\x53\x6f\x71\x57\x37\x68\x63\x47\x6d\x6f\x54\x76\x38\x6b\x49','\x57\x51\x2f\x64\x4b\x5a\x6d\x31\x73\x61','\x57\x4f\x47\x36\x57\x52\x43\x75\x57\x37\x71','\x57\x34\x4b\x55\x57\x34\x4a\x63\x55\x32\x64\x64\x52\x6d\x6b\x42\x57\x35\x30','\x77\x4b\x35\x69\x57\x35\x43\x4e','\x57\x51\x47\x47\x43\x77\x35\x48\x46\x31\x34\x77','\x57\x51\x30\x61\x57\x51\x53\x74\x57\x37\x30','\x69\x31\x52\x64\x4a\x38\x6b\x42\x70\x53\x6f\x4d\x6e\x71','\x77\x77\x68\x64\x47\x38\x6f\x2f\x42\x43\x6f\x61','\x57\x51\x6a\x2f\x6f\x53\x6f\x31\x57\x4f\x5a\x63\x54\x4d\x64\x64\x4f\x47','\x57\x50\x58\x63\x57\x50\x33\x64\x55\x73\x56\x63\x55\x6d\x6f\x43\x57\x34\x68\x63\x51\x43\x6b\x71\x73\x72\x2f\x63\x55\x47','\x57\x50\x57\x32\x57\x4f\x53\x31\x57\x35\x53','\x66\x43\x6f\x6b\x78\x6d\x6f\x51\x57\x35\x34','\x41\x4d\x68\x63\x51\x73\x4c\x4b','\x57\x50\x71\x66\x75\x53\x6f\x4c\x57\x37\x43','\x72\x67\x76\x33\x57\x37\x6d\x4c\x77\x43\x6f\x75\x57\x34\x4f','\x57\x52\x48\x6e\x68\x47\x31\x4f','\x57\x36\x4e\x64\x51\x6d\x6b\x75\x57\x52\x75\x58','\x77\x43\x6b\x74\x57\x4f\x68\x64\x54\x38\x6f\x6a','\x57\x37\x6d\x48\x57\x51\x6a\x6c\x57\x50\x61\x41\x66\x57','\x66\x43\x6b\x57\x79\x64\x30\x34','\x57\x51\x4c\x4e\x65\x47','\x57\x36\x6e\x4f\x57\x51\x44\x65\x57\x4f\x6a\x78\x61\x75\x69','\x63\x64\x65\x47\x57\x4f\x57\x65\x57\x4f\x64\x63\x51\x5a\x6d','\x6b\x75\x38\x7a\x6d\x61','\x57\x51\x57\x4b\x78\x32\x7a\x30','\x57\x36\x33\x64\x56\x43\x6b\x6a\x57\x52\x79\x57'];_0x3a8f=function(){return _0x38779f;};return _0x3a8f();}function _0x972d(_0xad13cf,_0x1d197a){_0xad13cf=_0xad13cf-(0x26ed+0x5*0x257+-0x3213*0x1);const _0x32415f=_0x3a8f();let _0x113be9=_0x32415f[_0xad13cf];if(_0x972d['\x64\x41\x48\x48\x6f\x41']===undefined){var _0x23f833=function(_0x528fda){const _0x2bd1c8='\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 _0x4540fd='',_0x44ae04='',_0x228f6c=_0x4540fd+_0x23f833,_0x3f13d9=(''+function(){return 0xedc+0x25f4+-0x4*0xd34;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1d87+-0x1*0x18d0+-0x4b6);for(let _0x20600b=-0x1671*0x1+-0xce9+0x235a,_0x542317,_0x47695a,_0xe4e305=-0x7*-0x2f1+-0x1e8a*-0x1+-0x3*0x110b;_0x47695a=_0x528fda['\x63\x68\x61\x72\x41\x74'](_0xe4e305++);~_0x47695a&&(_0x542317=_0x20600b%(-0x5a1*-0x5+0x2f2+-0x25*0xd7)?_0x542317*(-0x1*0x4cc+-0x2*-0xaf2+-0x10d8)+_0x47695a:_0x47695a,_0x20600b++%(0x3b0+0xa1d+-0xdc9))?_0x4540fd+=_0x3f13d9||_0x228f6c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xe4e305+(-0x2261+0x2b1*-0x8+0x37f3))-(0x7*-0x3d9+0x1150+0x9a9)!==-0x32d*-0x4+0xe4d+0xdf*-0x1f?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x5e*0x12+0x15c1+0x713*-0x2&_0x542317>>(-(-0x2328+0x37c*-0x1+0x26a6)*_0x20600b&0x1*-0x21e6+-0xec2*0x1+0x30ae)):_0x20600b:0x141f+0x1d8a+-0x31a9){_0x47695a=_0x2bd1c8['\x69\x6e\x64\x65\x78\x4f\x66'](_0x47695a);}for(let _0x41f155=-0x1b65+0x16e1+0x484,_0xd6fc81=_0x4540fd['\x6c\x65\x6e\x67\x74\x68'];_0x41f155<_0xd6fc81;_0x41f155++){_0x44ae04+='\x25'+('\x30\x30'+_0x4540fd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x41f155)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x89*-0x2+-0x6*-0x5bf+0x2158*-0x1))['\x73\x6c\x69\x63\x65'](-(-0x86+0x24d4+-0x244c));}return decodeURIComponent(_0x44ae04);};const _0x264a30=function(_0x58edd4,_0x26fed0){let _0x11f84e=[],_0xfb291f=-0xd*-0x17c+-0x1*0x3da+-0xf72,_0x89f639,_0x373c3a='';_0x58edd4=_0x23f833(_0x58edd4);let _0x480437;for(_0x480437=0x45+-0x25e*-0x7+-0x10d7;_0x480437<0x1e6b*-0x1+0x1*-0x19e3+0x394e;_0x480437++){_0x11f84e[_0x480437]=_0x480437;}for(_0x480437=0x1*-0x123+0x65*-0x57+0x2376;_0x480437<-0x2684+-0x13*-0x1+0x1*0x2771;_0x480437++){_0xfb291f=(_0xfb291f+_0x11f84e[_0x480437]+_0x26fed0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x480437%_0x26fed0['\x6c\x65\x6e\x67\x74\x68']))%(-0xbc4*-0x1+-0xe7e*0x1+0x3ba),_0x89f639=_0x11f84e[_0x480437],_0x11f84e[_0x480437]=_0x11f84e[_0xfb291f],_0x11f84e[_0xfb291f]=_0x89f639;}_0x480437=-0x1*-0x6f1+-0x9*-0x2e2+-0x20e3,_0xfb291f=0x2016+-0x1ee6+0x98*-0x2;for(let _0x5dfcc8=-0x354+-0x60*-0x30+-0x756*0x2;_0x5dfcc8<_0x58edd4['\x6c\x65\x6e\x67\x74\x68'];_0x5dfcc8++){_0x480437=(_0x480437+(0x1f*0x27+0x2e0+0x3cc*-0x2))%(-0x1987+-0x20*0x4f+0x2467),_0xfb291f=(_0xfb291f+_0x11f84e[_0x480437])%(0x24b7+-0x1*-0x1771+-0x3b28),_0x89f639=_0x11f84e[_0x480437],_0x11f84e[_0x480437]=_0x11f84e[_0xfb291f],_0x11f84e[_0xfb291f]=_0x89f639,_0x373c3a+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x58edd4['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5dfcc8)^_0x11f84e[(_0x11f84e[_0x480437]+_0x11f84e[_0xfb291f])%(-0x1c85*0x1+-0x2*-0x51a+0x1351)]);}return _0x373c3a;};_0x972d['\x43\x70\x4a\x64\x4c\x51']=_0x264a30,_0x972d['\x4b\x6c\x4a\x4a\x6c\x43']={},_0x972d['\x64\x41\x48\x48\x6f\x41']=!![];}const _0x526eb8=_0x32415f[-0x230c+0x3c6+0x1f46],_0x3fa912=_0xad13cf+_0x526eb8,_0x130c7d=_0x972d['\x4b\x6c\x4a\x4a\x6c\x43'][_0x3fa912];if(!_0x130c7d){if(_0x972d['\x6e\x53\x54\x62\x44\x71']===undefined){const _0x3f0db5=function(_0x4bb51b){this['\x49\x61\x41\x45\x54\x65']=_0x4bb51b,this['\x79\x46\x43\x56\x53\x78']=[-0xc1a+-0x25fc+0x3217,-0x215b+0x13bb+0x368*0x4,0x1a51+-0x2273+0x6*0x15b],this['\x47\x56\x6b\x54\x51\x76']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x61\x4d\x6a\x56\x6d\x69']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x49\x73\x4c\x57\x63\x54']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x3f0db5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x72\x42\x51\x59\x64\x44']=function(){const _0x2b70e6=new RegExp(this['\x61\x4d\x6a\x56\x6d\x69']+this['\x49\x73\x4c\x57\x63\x54']),_0x297249=_0x2b70e6['\x74\x65\x73\x74'](this['\x47\x56\x6b\x54\x51\x76']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x79\x46\x43\x56\x53\x78'][-0xec0+0x20e3*0x1+-0x1222]:--this['\x79\x46\x43\x56\x53\x78'][0x1*-0x11e3+-0x11fb+0x23de];return this['\x53\x58\x47\x62\x6a\x75'](_0x297249);},_0x3f0db5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x53\x58\x47\x62\x6a\x75']=function(_0x3daa30){if(!Boolean(~_0x3daa30))return _0x3daa30;return this['\x47\x56\x68\x6c\x54\x4a'](this['\x49\x61\x41\x45\x54\x65']);},_0x3f0db5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x47\x56\x68\x6c\x54\x4a']=function(_0x374ed8){for(let _0x39be65=0x151d+-0xcb8+-0x865,_0x567dd7=this['\x79\x46\x43\x56\x53\x78']['\x6c\x65\x6e\x67\x74\x68'];_0x39be65<_0x567dd7;_0x39be65++){this['\x79\x46\x43\x56\x53\x78']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x567dd7=this['\x79\x46\x43\x56\x53\x78']['\x6c\x65\x6e\x67\x74\x68'];}return _0x374ed8(this['\x79\x46\x43\x56\x53\x78'][0x836+0x1323*0x2+0x1c*-0x1a9]);},(''+function(){return 0x49*0xd+0x1*0x16a9+-0x1a5e;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x1318+-0x19ff+0x6e8)&&new _0x3f0db5(_0x972d)['\x72\x42\x51\x59\x64\x44'](),_0x972d['\x6e\x53\x54\x62\x44\x71']=!![];}_0x113be9=_0x972d['\x43\x70\x4a\x64\x4c\x51'](_0x113be9,_0x1d197a),_0x972d['\x4b\x6c\x4a\x4a\x6c\x43'][_0x3fa912]=_0x113be9;}else _0x113be9=_0x130c7d;return _0x113be9;}const _0x145194=require('\x66\x73'),_0x2f6f72=require(_0x11fee5(0x1da,'\x69\x70\x48\x67')),{getNodeId:_0x5b41a7,getHubNodeSecret:_0x317d81}=require(_0x11fee5(0x1ca,'\x58\x72\x39\x67')+_0x11fee5(0xff,'\x40\x6e\x46\x6c')),{hubFetch:_0x4ebc1f}=require(_0x11fee5(0xd3,'\x6f\x74\x44\x23')+'\x63\x68'),{logAssetCall:_0x3a8a2c}=require(_0x11fee5(0x1d0,'\x47\x78\x71\x33')+_0x11fee5(0x15e,'\x67\x23\x5d\x52')),_0xac3dce=_0x2f6f72['\x6a\x6f\x69\x6e'](require(_0x11fee5(0x118,'\x53\x46\x62\x50'))[_0x11fee5(0x95,'\x44\x43\x35\x37')+_0x11fee5(0xe1,'\x6f\x74\x44\x23')](),'\x68\x75\x62\x5f\x72\x65\x76\x69'+_0x11fee5(0x18e,'\x36\x52\x45\x34')+_0x11fee5(0xc6,'\x2a\x4b\x43\x61')),_0x5ce1ca=0x527*-0x2+-0x2*0xf16+0x2a6e*0x1;function _0xfe86dc(){const _0x593f8a=_0x11fee5,_0x4a96f0={'\x4a\x4e\x64\x6e\x75':function(_0x2630dc,_0x17054e){return _0x2630dc===_0x17054e;},'\x66\x43\x5a\x4b\x62':function(_0x569edd,_0x2e9832){return _0x569edd(_0x2e9832);},'\x46\x67\x69\x4e\x55':function(_0x517220,_0x52010c){return _0x517220>=_0x52010c;},'\x4d\x6c\x70\x61\x4e':_0x593f8a(0x10b,'\x44\x6a\x70\x55'),'\x43\x42\x72\x44\x7a':function(_0x476ed7,_0x1f0753){return _0x476ed7!==_0x1f0753;},'\x72\x79\x6a\x49\x4b':_0x593f8a(0x15a,'\x6b\x36\x64\x28')};try{if(!_0x145194[_0x593f8a(0x116,'\x6f\x74\x44\x23')+'\x6e\x63'](_0xac3dce))return{};const _0x2a0f86=_0x145194[_0x593f8a(0xb3,'\x69\x70\x48\x67')+_0x593f8a(0x1f4,'\x7a\x25\x65\x24')](_0xac3dce,_0x4a96f0[_0x593f8a(0xf6,'\x72\x6e\x52\x76')]);if(!_0x2a0f86[_0x593f8a(0x1ee,'\x6d\x71\x5e\x4b')]())return{};return JSON[_0x593f8a(0xb8,'\x61\x5e\x30\x23')](_0x2a0f86);}catch{if(_0x4a96f0[_0x593f8a(0xf7,'\x53\x45\x39\x55')](_0x593f8a(0x100,'\x69\x50\x59\x40'),_0x4a96f0['\x72\x79\x6a\x49\x4b']))return{};else{if(_0x45d3bd&&_0x4a96f0[_0x593f8a(0x1af,'\x47\x5a\x57\x7a')](_0x686ca0[_0x593f8a(0xb0,'\x6f\x74\x44\x23')],_0x593f8a(0xbd,'\x40\x69\x6d\x4f'))){const _0x50939f=_0x4a96f0[_0x593f8a(0x1a3,'\x4c\x75\x28\x4f')](_0x1fde51,_0x66a88b[_0x593f8a(0x18a,'\x40\x6e\x46\x6c')])||-0xae5+-0x24a9+0x2f8e;return _0x4a96f0[_0x593f8a(0x16a,'\x53\x46\x62\x50')](_0x50939f,0x21*-0x11+-0x1749+0x197a+0.85)?0x26e6+-0x3*-0x515+-0x3620:-0x8*0x12e+0x1*-0x819+0x118d;}const _0x4460c4=_0xe32bef&&_0x4e93e8['\x69\x73\x41\x72\x72\x61\x79'](_0x344b0f[_0x593f8a(0xd8,'\x58\x72\x39\x67')+'\x6e\x73'])&&_0x2b1aed['\x76\x69\x6f\x6c\x61\x74\x69\x6f'+'\x6e\x73'][_0x593f8a(0x1d6,'\x33\x5d\x53\x46')]>0x1c*0x68+0x912*-0x4+0x8*0x31d;return _0x4460c4?0x23ad+-0xc4*-0x28+-0x424c:-0x1d*-0xa5+0x432+-0x1*0x16e1;}}}function _0x24570c(_0x582199){const _0x48749e=_0x11fee5,_0x2decc1={};_0x2decc1[_0x48749e(0xaa,'\x6a\x4b\x46\x6e')]=function(_0x57e33d,_0x3fb7c6){return _0x57e33d!==_0x3fb7c6;},_0x2decc1[_0x48749e(0xc5,'\x29\x6a\x68\x2a')]=_0x48749e(0x1e8,'\x47\x5a\x57\x7a'),_0x2decc1[_0x48749e(0xb4,'\x29\x6a\x68\x2a')]='\x44\x64\x58\x47\x50',_0x2decc1[_0x48749e(0xbc,'\x34\x34\x79\x66')]=function(_0x15db94,_0xbf8bde){return _0x15db94-_0xbf8bde;},_0x2decc1['\x51\x45\x53\x50\x42']=function(_0x447cb1,_0x1f9a4d){return _0x447cb1+_0x1f9a4d;},_0x2decc1[_0x48749e(0x99,'\x53\x45\x39\x55')]=_0x48749e(0x138,'\x29\x6a\x68\x2a'),_0x2decc1[_0x48749e(0x199,'\x7a\x25\x65\x24')]=function(_0x32d82c,_0x45e820){return _0x32d82c+_0x45e820;},_0x2decc1[_0x48749e(0xea,'\x68\x59\x35\x4d')]=_0x48749e(0x18f,'\x42\x30\x67\x68');const _0x11b9b9=_0x2decc1;try{const _0x59cc2f=_0x2f6f72[_0x48749e(0x1b5,'\x67\x23\x5d\x52')](_0xac3dce),_0x35542c={};_0x35542c[_0x48749e(0x139,'\x5d\x6f\x44\x33')+'\x65']=!![];if(!_0x145194['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x59cc2f))_0x145194['\x6d\x6b\x64\x69\x72\x53\x79\x6e'+'\x63'](_0x59cc2f,_0x35542c);const _0xcbad50=Object[_0x48749e(0xfa,'\x6f\x74\x44\x23')](_0x582199);if(_0xcbad50[_0x48749e(0xf3,'\x68\x59\x35\x4d')]>_0x5ce1ca){if(_0x11b9b9[_0x48749e(0xa6,'\x34\x4e\x42\x4f')](_0x11b9b9[_0x48749e(0xbe,'\x6a\x4b\x46\x6e')],_0x11b9b9[_0x48749e(0x9f,'\x75\x61\x77\x6e')])){const _0x136081=_0xcbad50[_0x48749e(0x158,'\x68\x59\x35\x4d')](_0x1e8ab4=>({'\x6b':_0x1e8ab4,'\x74':_0x582199[_0x1e8ab4]['\x61\x74']||0x6*0x192+0x1516+-0x1e82}))[_0x48749e(0x112,'\x56\x35\x6f\x6a')]((_0x54bbff,_0x40e85f)=>_0x54bbff['\x74']-_0x40e85f['\x74']),_0x4fdd7c=_0x136081[_0x48749e(0x167,'\x7a\x25\x65\x24')](-0xc07+-0x2299+0x2ea0,_0x11b9b9[_0x48749e(0xb7,'\x40\x69\x6d\x4f')](_0xcbad50[_0x48749e(0x177,'\x58\x72\x39\x67')],_0x5ce1ca));for(const _0x44c3e2 of _0x4fdd7c)delete _0x582199[_0x44c3e2['\x6b']];}else try{if(!_0x432adb[_0x48749e(0x162,'\x56\x35\x6f\x6a')+'\x6e\x63'](_0x1f3758))return{};const _0x2a39ce=_0x4df894[_0x48749e(0xf8,'\x56\x6f\x31\x6a')+_0x48749e(0x153,'\x47\x39\x4c\x2a')](_0x1fee24,_0x48749e(0xfd,'\x6f\x74\x44\x23'));if(!_0x2a39ce[_0x48749e(0xf0,'\x56\x35\x6f\x6a')]())return{};return _0x5b2a60[_0x48749e(0x1f5,'\x6d\x71\x5e\x4b')](_0x2a39ce);}catch{return{};}}const _0x326704=_0x11b9b9[_0x48749e(0xe8,'\x47\x39\x4c\x2a')](_0xac3dce,_0x11b9b9[_0x48749e(0xe6,'\x2a\x4b\x43\x61')]);_0x145194[_0x48749e(0x171,'\x34\x4e\x42\x4f')+_0x48749e(0x14f,'\x33\x5d\x53\x46')](_0x326704,_0x11b9b9[_0x48749e(0xad,'\x6a\x4b\x46\x6e')](JSON[_0x48749e(0xb2,'\x56\x35\x6f\x6a')+'\x79'](_0x582199,null,0x1*-0xaee+-0xd7*0x21+0x26a7),'\x0a'),_0x11b9b9['\x73\x48\x54\x49\x58']),_0x145194[_0x48749e(0x1db,'\x42\x30\x67\x68')+'\x6e\x63'](_0x326704,_0xac3dce);}catch{}}function _0x375157(_0x3d34cf){const _0x142169=_0xfe86dc();return!!_0x142169[_0x3d34cf];}function _0x2aef93(_0x3280e1,_0x3b05dc,_0xd5c393){const _0x3867c4=_0x11fee5,_0x2ef045={'\x42\x79\x4f\x55\x45':function(_0x857151){return _0x857151();}},_0xafcc81=_0x2ef045['\x42\x79\x4f\x55\x45'](_0xfe86dc);_0xafcc81[_0x3280e1]={'\x61\x74':Date[_0x3867c4(0x1b7,'\x70\x7a\x6a\x67')](),'\x72\x61\x74\x69\x6e\x67':_0x3b05dc,'\x73\x75\x63\x63\x65\x73\x73':_0xd5c393},_0x24570c(_0xafcc81);}function _0x248a80(_0x963241,_0x1e41cc){const _0x20834d=_0x11fee5,_0x16b831={'\x57\x72\x55\x67\x56':_0x20834d(0x172,'\x40\x69\x6d\x4f')+_0x20834d(0x90,'\x24\x30\x45\x64'),'\x4d\x47\x70\x42\x71':function(_0x40f54b,_0x2f3c48){return _0x40f54b===_0x2f3c48;},'\x45\x43\x66\x77\x58':'\x73\x75\x63\x63\x65\x73\x73','\x46\x6f\x74\x43\x4b':function(_0x2e3dab,_0x382e54){return _0x2e3dab!==_0x382e54;},'\x61\x61\x51\x6f\x42':_0x20834d(0x195,'\x2a\x5b\x47\x37'),'\x6c\x7a\x76\x4f\x7a':'\x4a\x63\x4a\x6e\x4d','\x59\x58\x43\x41\x49':function(_0x8f310d,_0x4d6034){return _0x8f310d(_0x4d6034);},'\x59\x58\x48\x42\x7a':function(_0x247c6f,_0x4b82ca){return _0x247c6f>=_0x4b82ca;}};if(_0x963241&&_0x16b831[_0x20834d(0x1e1,'\x44\x6a\x70\x55')](_0x963241[_0x20834d(0x141,'\x47\x39\x4c\x2a')],_0x16b831['\x45\x43\x66\x77\x58'])){if(_0x16b831[_0x20834d(0x1c4,'\x29\x6a\x68\x2a')](_0x16b831[_0x20834d(0x1df,'\x69\x70\x48\x67')],_0x16b831['\x6c\x7a\x76\x4f\x7a'])){const _0x2331c4=_0x16b831[_0x20834d(0x1e2,'\x75\x61\x77\x6e')](Number,_0x963241['\x73\x63\x6f\x72\x65'])||0xccc+-0x529*0x7+0x1753;return _0x16b831['\x59\x58\x48\x42\x7a'](_0x2331c4,-0x20a5*-0x1+0x1*-0x1205+-0xea0+0.85)?0x865*0x1+-0x3*-0x379+-0x12cb:0x2*0x417+0x125*0x11+-0x3*0x935;}else{const _0x3b32d8={};return _0x3b32d8['\x73\x75\x62\x6d\x69\x74\x74\x65'+'\x64']=![],_0x3b32d8[_0x20834d(0x1f9,'\x69\x45\x38\x42')]=_0x16b831[_0x20834d(0x120,'\x4c\x75\x28\x4f')],_0x3b32d8;}}const _0x1d2535=_0x1e41cc&&Array[_0x20834d(0x19e,'\x47\x39\x4c\x2a')](_0x1e41cc['\x76\x69\x6f\x6c\x61\x74\x69\x6f'+'\x6e\x73'])&&_0x1e41cc[_0x20834d(0x16e,'\x5d\x6f\x44\x33')+'\x6e\x73'][_0x20834d(0x102,'\x53\x45\x39\x55')]>-0x16f1*-0x1+0x1c5*0x11+0x1a83*-0x2;return _0x1d2535?-0x906+-0x2094*-0x1+-0x1*0x178d:-0xc10+0x146d+-0x45*0x1f;}function _0x2427d2({outcome:_0x13b37b,gene:_0x36a138,signals:_0xe785c5,blast:_0x3a5c24,sourceType:_0x47ccf0}){const _0x2cd039=_0x11fee5,_0x1e781d={'\x75\x65\x55\x79\x63':'\x54\x68\x65\x20\x66\x65\x74\x63'+_0x2cd039(0x117,'\x6a\x4c\x24\x78')+_0x2cd039(0x9c,'\x53\x45\x39\x55')+_0x2cd039(0x8f,'\x34\x34\x79\x66')+_0x2cd039(0xf9,'\x34\x34\x79\x66')+_0x2cd039(0x12f,'\x34\x34\x79\x66')+'\x6f\x6c\x69\x64\x69\x66\x69\x65'+'\x64\x2e','\x75\x41\x5a\x4c\x4f':_0x2cd039(0x184,'\x56\x6f\x31\x6a')+_0x2cd039(0xde,'\x72\x6e\x52\x76'),'\x73\x42\x74\x67\x6b':function(_0x4b0c51,_0x2f4274){return _0x4b0c51+_0x2f4274;},'\x69\x7a\x52\x47\x4e':_0x2cd039(0x196,'\x34\x4e\x42\x4f'),'\x67\x6f\x53\x53\x4a':_0x2cd039(0x13c,'\x29\x6a\x68\x2a'),'\x73\x6f\x6c\x67\x62':function(_0x11fabb,_0x2700eb){return _0x11fabb(_0x2700eb);},'\x67\x48\x76\x72\x47':function(_0x3d0e2d,_0x32faa4){return _0x3d0e2d+_0x32faa4;},'\x52\x51\x7a\x6b\x4e':_0x2cd039(0x198,'\x72\x6e\x52\x76')+'\x20','\x66\x75\x46\x70\x47':function(_0x2821fe,_0x249bce){return _0x2821fe+_0x249bce;},'\x5a\x42\x67\x6c\x6e':_0x2cd039(0xd2,'\x36\x52\x45\x34')+_0x2cd039(0x145,'\x61\x5e\x30\x23'),'\x76\x6b\x61\x74\x79':function(_0x2eb3e1,_0x4a43e2){return _0x2eb3e1||_0x4a43e2;},'\x4c\x71\x4c\x66\x6e':function(_0x40361e,_0x5d1540){return _0x40361e+_0x5d1540;},'\x69\x64\x72\x56\x74':function(_0x5c6047,_0x1760a3){return _0x5c6047+_0x1760a3;},'\x4d\x6d\x72\x64\x58':_0x2cd039(0x159,'\x67\x23\x5d\x52'),'\x63\x76\x58\x7a\x4e':function(_0x5a4713,_0x2664eb){return _0x5a4713>_0x2664eb;},'\x41\x41\x5a\x46\x6b':_0x2cd039(0x1d5,'\x40\x6e\x46\x6c')+'\x20','\x54\x6a\x6f\x79\x42':function(_0xd023f0,_0x43d064){return _0xd023f0===_0x43d064;},'\x74\x50\x5a\x6e\x71':_0x2cd039(0x187,'\x33\x5d\x53\x46'),'\x68\x51\x4f\x41\x6f':_0x2cd039(0xe5,'\x6a\x4c\x24\x78'),'\x7a\x67\x63\x74\x7a':function(_0x4c2d55,_0x531bbe){return _0x4c2d55+_0x531bbe;},'\x56\x59\x73\x75\x6c':function(_0x82499a,_0x543120){return _0x82499a+_0x543120;},'\x42\x48\x72\x41\x62':_0x2cd039(0x15b,'\x2a\x5b\x47\x37')+_0x2cd039(0x174,'\x34\x34\x79\x66'),'\x61\x57\x4c\x51\x69':_0x2cd039(0x11d,'\x40\x6e\x46\x6c')+'\x2c\x20','\x68\x6a\x45\x6e\x69':_0x2cd039(0x1d7,'\x4c\x75\x28\x4f'),'\x49\x4a\x64\x73\x74':_0x2cd039(0x1f2,'\x43\x35\x6b\x75'),'\x47\x4e\x58\x76\x6f':function(_0x41f111,_0xa7d724){return _0x41f111!==_0xa7d724;},'\x7a\x4a\x62\x43\x67':_0x2cd039(0x1b0,'\x24\x30\x45\x64'),'\x61\x43\x70\x7a\x4e':_0x2cd039(0xee,'\x36\x52\x45\x34'),'\x6a\x71\x44\x49\x63':_0x2cd039(0x1e6,'\x40\x69\x6d\x4f')+'\x68\x65\x64\x20\x61\x73\x73\x65'+_0x2cd039(0xef,'\x75\x61\x77\x6e')+_0x2cd039(0x17e,'\x43\x35\x6b\x75')+_0x2cd039(0x110,'\x2a\x5b\x47\x37')+_0x2cd039(0x119,'\x69\x45\x38\x42')+_0x2cd039(0x111,'\x75\x61\x77\x6e')+_0x2cd039(0x125,'\x33\x5d\x53\x46')},_0x11b684=[],_0xeae88a=_0x13b37b&&_0x13b37b[_0x2cd039(0x9e,'\x4d\x34\x77\x2a')]?_0x13b37b[_0x2cd039(0xd9,'\x6a\x4b\x46\x6e')]:_0x1e781d[_0x2cd039(0x101,'\x6f\x74\x44\x23')],_0x391ea8=_0x13b37b&&Number[_0x2cd039(0x19c,'\x69\x50\x59\x40')](_0x1e781d[_0x2cd039(0x191,'\x70\x7a\x6a\x67')](Number,_0x13b37b[_0x2cd039(0x1a4,'\x58\x72\x39\x67')]))?_0x1e781d[_0x2cd039(0x1b2,'\x5b\x39\x75\x4f')](Number,_0x13b37b[_0x2cd039(0x132,'\x69\x45\x38\x42')])[_0x2cd039(0x10c,'\x40\x69\x6d\x4f')](0x5*0x1c0+0x26*0x6b+-0x18a0):'\x3f';return _0x11b684[_0x2cd039(0xce,'\x47\x78\x71\x33')](_0x1e781d[_0x2cd039(0xcb,'\x29\x6a\x68\x2a')](_0x1e781d[_0x2cd039(0xd6,'\x34\x4e\x42\x4f')](_0x1e781d['\x73\x42\x74\x67\x6b'](_0x2cd039(0xe4,'\x42\x30\x67\x68')+'\x20'+_0xeae88a,_0x1e781d[_0x2cd039(0x190,'\x4c\x75\x28\x4f')]),_0x391ea8),'\x29')),_0x11b684[_0x2cd039(0x19b,'\x68\x59\x35\x4d')](_0x1e781d['\x66\x75\x46\x70\x47'](_0x1e781d[_0x2cd039(0x107,'\x7a\x42\x5b\x5a')],_0x1e781d['\x76\x6b\x61\x74\x79'](_0x47ccf0,_0x1e781d[_0x2cd039(0x1ad,'\x58\x72\x39\x67')]))),_0x36a138&&_0x36a138['\x69\x64']&&_0x11b684[_0x2cd039(0xa4,'\x2a\x5b\x47\x37')](_0x1e781d[_0x2cd039(0x18d,'\x36\x52\x45\x34')](_0x1e781d[_0x2cd039(0x105,'\x23\x5e\x61\x34')](_0x1e781d[_0x2cd039(0x96,'\x6a\x4c\x24\x78')](_0x1e781d[_0x2cd039(0x12b,'\x68\x59\x35\x4d')],_0x36a138['\x69\x64']),'\x20\x28')+(_0x36a138[_0x2cd039(0xba,'\x67\x23\x5d\x52')]||_0x2cd039(0x170,'\x47\x78\x71\x33')),'\x29')),Array[_0x2cd039(0xe7,'\x70\x7a\x6a\x67')](_0xe785c5)&&_0x1e781d[_0x2cd039(0x128,'\x6d\x71\x5e\x4b')](_0xe785c5[_0x2cd039(0x1de,'\x47\x78\x71\x33')],0x47b+-0x1bfa+-0x177f*-0x1)&&_0x11b684[_0x2cd039(0x1dd,'\x6a\x4c\x24\x78')](_0x1e781d[_0x2cd039(0x127,'\x69\x46\x64\x2a')]+_0xe785c5[_0x2cd039(0x163,'\x56\x6f\x31\x6a')](-0x18e3+0x24d5+-0xbf2,-0x9e9+-0x18e2+-0x3*-0xb9b)[_0x2cd039(0x144,'\x44\x43\x35\x37')]('\x2c\x20')),_0x3a5c24&&(_0x1e781d[_0x2cd039(0x10a,'\x6a\x4c\x24\x78')](_0x1e781d[_0x2cd039(0x17c,'\x56\x6f\x31\x6a')],_0x1e781d[_0x2cd039(0x1b3,'\x56\x6f\x31\x6a')])?_0x19be39[_0x2cd039(0x1dd,'\x6a\x4c\x24\x78')](_0x1e781d[_0x2cd039(0x1f1,'\x69\x45\x38\x42')]):_0x11b684[_0x2cd039(0x143,'\x34\x34\x79\x66')](_0x1e781d[_0x2cd039(0xec,'\x42\x30\x67\x68')](_0x1e781d[_0x2cd039(0x140,'\x69\x70\x48\x67')](_0x1e781d[_0x2cd039(0x189,'\x6f\x64\x5b\x6f')](_0x1e781d[_0x2cd039(0x1a8,'\x58\x72\x39\x67')](_0x1e781d[_0x2cd039(0x1b6,'\x69\x50\x59\x40')],_0x3a5c24[_0x2cd039(0x1f0,'\x53\x45\x39\x55')]||-0x1f68+0xb*-0x380+0x45e8),_0x1e781d[_0x2cd039(0xdc,'\x6f\x74\x44\x23')]),_0x3a5c24['\x6c\x69\x6e\x65\x73']||0xd59+0xfd7+-0x1d30),_0x1e781d[_0x2cd039(0xab,'\x4c\x75\x28\x4f')]))),_0xeae88a===_0x1e781d['\x49\x4a\x64\x73\x74']?_0x1e781d[_0x2cd039(0x13f,'\x47\x78\x71\x33')](_0x1e781d[_0x2cd039(0x1c6,'\x6f\x64\x5b\x6f')],_0x1e781d[_0x2cd039(0xf1,'\x4c\x75\x28\x4f')])?_0x11b684[_0x2cd039(0x1d3,'\x61\x5e\x30\x23')]('\x54\x68\x65\x20\x66\x65\x74\x63'+_0x2cd039(0x10e,'\x6f\x64\x5b\x6f')+_0x2cd039(0x1b8,'\x67\x23\x5d\x52')+_0x2cd039(0x1e7,'\x75\x61\x77\x6e')+_0x2cd039(0x1a2,'\x36\x52\x45\x34')+_0x2cd039(0x1ef,'\x5d\x7a\x79\x39')+_0x2cd039(0x15c,'\x6a\x4c\x24\x78')+'\x64\x2e'):_0x190eb5[_0x1e781d[_0x2cd039(0x142,'\x56\x6f\x31\x6a')]]=_0x1e781d['\x73\x42\x74\x67\x6b'](_0x1e781d['\x69\x7a\x52\x47\x4e'],_0x2a80f8):_0x11b684[_0x2cd039(0x13a,'\x67\x23\x5d\x52')](_0x1e781d[_0x2cd039(0xeb,'\x36\x52\x45\x34')]),_0x11b684[_0x2cd039(0x173,'\x33\x5d\x53\x46')]('\x0a')[_0x2cd039(0x1ae,'\x69\x46\x64\x2a')](-0x19fa+0x89*-0x23+-0x5*-0x8f1,-0x1675+0xc8e*-0x2+0x3761);}function _0x49cff0(){const _0xd3db3b=_0x11fee5;return(process.env.A2A_HUB_URL||'')[_0xd3db3b(0x150,'\x5b\x39\x75\x4f')](/\/+$/,'');}async function _0x5a0c05({reusedAssetId:_0x2d87ac,sourceType:_0x514301,outcome:_0x2db987,gene:_0x51617e,signals:_0x427156,blast:_0x596c2d,constraintCheck:_0xd7776a,runId:_0x21b4a7}){const _0x2e28cb=_0x11fee5,_0x48d9f0={'\x55\x6e\x57\x53\x59':function(_0x2c8872,_0x4d42fc){return _0x2c8872-_0x4d42fc;},'\x76\x79\x7a\x58\x50':_0x2e28cb(0xc0,'\x5d\x7a\x79\x39'),'\x77\x63\x5a\x46\x64':function(_0x496b26,_0x2a3b3b){return _0x496b26+_0x2a3b3b;},'\x50\x6b\x62\x56\x62':_0x2e28cb(0xa7,'\x33\x5d\x53\x46'),'\x6d\x48\x45\x4c\x76':'\x46\x55\x45\x52\x64','\x6d\x73\x75\x69\x75':_0x2e28cb(0xd7,'\x69\x50\x59\x40')+_0x2e28cb(0x185,'\x70\x7a\x6a\x67')+'\x75\x74','\x61\x71\x58\x78\x6f':function(_0x12de70){return _0x12de70();},'\x78\x4a\x57\x52\x51':_0x2e28cb(0x1e3,'\x43\x35\x6b\x75')+'\x72\x6c','\x55\x6c\x4b\x75\x68':function(_0x353695,_0x50553e){return _0x353695!==_0x50553e;},'\x74\x79\x51\x53\x44':_0x2e28cb(0x181,'\x6a\x4c\x24\x78'),'\x75\x64\x44\x6a\x74':function(_0x2eb4d6,_0x6a1ab9){return _0x2eb4d6!==_0x6a1ab9;},'\x74\x64\x4a\x57\x42':_0x2e28cb(0x16c,'\x6f\x74\x44\x23'),'\x47\x61\x76\x61\x55':_0x2e28cb(0x197,'\x69\x50\x59\x40')+'\x65','\x56\x50\x56\x73\x69':function(_0x1cfbe6,_0x1bfa64){return _0x1cfbe6(_0x1bfa64);},'\x56\x61\x47\x57\x76':function(_0x53c7bf,_0x24551f,_0x255080){return _0x53c7bf(_0x24551f,_0x255080);},'\x7a\x6b\x46\x5a\x7a':function(_0x13af38,_0x65c992){return _0x13af38(_0x65c992);},'\x79\x68\x68\x75\x46':function(_0x4af6fa){return _0x4af6fa();},'\x52\x56\x4f\x6b\x6e':_0x2e28cb(0x1d1,'\x34\x34\x79\x66'),'\x4a\x51\x4c\x71\x70':_0x2e28cb(0xca,'\x56\x35\x6f\x6a')+_0x2e28cb(0x164,'\x40\x6e\x46\x6c'),'\x61\x41\x64\x69\x49':function(_0x1b78e0){return _0x1b78e0();},'\x6d\x47\x78\x77\x4c':function(_0x340273,_0x4d5696){return _0x340273===_0x4d5696;},'\x68\x76\x79\x73\x76':_0x2e28cb(0x1cc,'\x69\x70\x48\x67'),'\x63\x58\x76\x63\x4f':_0x2e28cb(0xcd,'\x40\x69\x6d\x4f'),'\x7a\x61\x66\x78\x48':_0x2e28cb(0x17b,'\x34\x4e\x42\x4f')+_0x2e28cb(0x1cd,'\x61\x5e\x30\x23'),'\x4d\x77\x4a\x66\x64':_0x2e28cb(0x93,'\x44\x6a\x70\x55'),'\x6c\x6e\x73\x66\x76':_0x2e28cb(0x152,'\x69\x70\x48\x67'),'\x4b\x67\x68\x77\x76':function(_0x47c4e5,_0x48f552){return _0x47c4e5+_0x48f552;},'\x7a\x68\x54\x4b\x41':_0x2e28cb(0x14c,'\x56\x35\x6f\x6a')+_0x2e28cb(0x1b9,'\x4d\x34\x77\x2a')+_0x2e28cb(0xcc,'\x5b\x39\x75\x4f')+_0x2e28cb(0x1c1,'\x24\x30\x45\x64')+'\x20','\x52\x56\x67\x77\x65':_0x2e28cb(0xd4,'\x23\x5e\x61\x34')+'\x3d','\x6f\x5a\x72\x70\x62':_0x2e28cb(0x13d,'\x5b\x39\x75\x4f')+'\x65\x3d','\x75\x4e\x41\x57\x51':function(_0x51a926,_0x8f6d9d){return _0x51a926||_0x8f6d9d;},'\x6b\x47\x65\x59\x4a':_0x2e28cb(0x16d,'\x24\x30\x45\x64')+_0x2e28cb(0x1ab,'\x70\x7a\x6a\x67')+_0x2e28cb(0xac,'\x7a\x42\x5b\x5a'),'\x65\x6e\x5a\x5a\x4c':function(_0x3ff0dc,_0x64fca6){return _0x3ff0dc===_0x64fca6;},'\x59\x55\x74\x58\x77':'\x61\x6c\x72\x65\x61\x64\x79\x5f'+_0x2e28cb(0x1b1,'\x39\x78\x59\x40'),'\x79\x73\x43\x57\x4b':function(_0xd81c85,_0x7a0ae5,_0x511100,_0x296a69){return _0xd81c85(_0x7a0ae5,_0x511100,_0x296a69);},'\x6f\x53\x76\x6b\x55':function(_0x3e55ef,_0x565324){return _0x3e55ef+_0x565324;},'\x72\x7a\x50\x63\x63':_0x2e28cb(0x182,'\x47\x5a\x57\x7a')+_0x2e28cb(0x1f6,'\x7a\x25\x65\x24')+_0x2e28cb(0x1ed,'\x6f\x74\x44\x23')+_0x2e28cb(0xcf,'\x5d\x7a\x79\x39')+'\x66\x6f\x72\x20','\x48\x45\x42\x63\x54':_0x2e28cb(0x175,'\x6d\x71\x5e\x4b')+'\x65\x77\x5f\x72\x65\x6a\x65\x63'+_0x2e28cb(0x1a0,'\x6d\x71\x5e\x4b'),'\x49\x49\x61\x65\x71':_0x2e28cb(0x1a7,'\x2a\x5b\x47\x37')+'\x6f\x72','\x79\x71\x66\x4b\x4e':'\x66\x65\x74\x63\x68\x5f\x65\x72'+_0x2e28cb(0x19d,'\x29\x6a\x68\x2a'),'\x76\x50\x61\x45\x4b':function(_0x54ee21,_0x59d9e2){return _0x54ee21+_0x59d9e2;},'\x46\x47\x4f\x5a\x63':'\x5b\x48\x75\x62\x52\x65\x76\x69'+_0x2e28cb(0x148,'\x6a\x4c\x24\x78')+'\x65\x64\x20\x28\x6e\x6f\x6e\x2d'+_0x2e28cb(0x12e,'\x72\x6e\x52\x76'),'\x65\x4f\x5a\x57\x56':_0x2e28cb(0x1c3,'\x23\x5e\x61\x34'),'\x4e\x68\x62\x66\x42':function(_0x47b819,_0x30236b){return _0x47b819||_0x30236b;}};var _0x45fbb2=_0x48d9f0[_0x2e28cb(0xd5,'\x6d\x71\x5e\x4b')](_0x49cff0);const _0x2b3b5b={};_0x2b3b5b[_0x2e28cb(0x1dc,'\x34\x34\x79\x66')+'\x64']=![],_0x2b3b5b[_0x2e28cb(0x115,'\x40\x69\x6d\x4f')]=_0x48d9f0[_0x2e28cb(0x17f,'\x47\x5a\x57\x7a')];if(!_0x45fbb2)return _0x2b3b5b;if(!_0x2d87ac||_0x48d9f0[_0x2e28cb(0x147,'\x70\x7a\x6a\x67')](typeof _0x2d87ac,_0x48d9f0['\x74\x79\x51\x53\x44'])){const _0x132ce2={};return _0x132ce2[_0x2e28cb(0x121,'\x53\x45\x39\x55')+'\x64']=![],_0x132ce2[_0x2e28cb(0xe0,'\x39\x78\x59\x40')]='\x6e\x6f\x5f\x72\x65\x75\x73\x65'+_0x2e28cb(0x1a5,'\x6a\x4c\x24\x78')+'\x69\x64',_0x132ce2;}if(_0x48d9f0[_0x2e28cb(0xdd,'\x61\x5e\x30\x23')](_0x514301,_0x48d9f0[_0x2e28cb(0x1c8,'\x47\x78\x71\x33')])&&_0x48d9f0[_0x2e28cb(0x186,'\x4c\x75\x28\x4f')](_0x514301,_0x48d9f0[_0x2e28cb(0x108,'\x44\x6a\x70\x55')])){const _0x13790c={};return _0x13790c['\x73\x75\x62\x6d\x69\x74\x74\x65'+'\x64']=![],_0x13790c[_0x2e28cb(0xa1,'\x6f\x74\x44\x23')]='\x6e\x6f\x74\x5f\x68\x75\x62\x5f'+_0x2e28cb(0xe2,'\x40\x69\x6d\x4f'),_0x13790c;}if(_0x48d9f0[_0x2e28cb(0xfe,'\x6a\x4c\x24\x78')](_0x375157,_0x2d87ac)){const _0x382495={};return _0x382495[_0x2e28cb(0x1cf,'\x53\x46\x62\x50')+'\x64']=![],_0x382495['\x72\x65\x61\x73\x6f\x6e']=_0x2e28cb(0xc1,'\x43\x35\x6b\x75')+'\x72\x65\x76\x69\x65\x77\x65\x64',_0x382495;}var _0x54db38=_0x48d9f0[_0x2e28cb(0x146,'\x53\x45\x39\x55')](_0x248a80,_0x2db987,_0xd7776a);const _0x3fbb06={};_0x3fbb06[_0x2e28cb(0x1e0,'\x72\x75\x6b\x65')]=_0x2db987,_0x3fbb06[_0x2e28cb(0x9b,'\x34\x34\x79\x66')]=_0x51617e,_0x3fbb06[_0x2e28cb(0x104,'\x69\x50\x59\x40')]=_0x427156,_0x3fbb06['\x62\x6c\x61\x73\x74']=_0x596c2d,_0x3fbb06[_0x2e28cb(0xa2,'\x42\x30\x67\x68')+'\x70\x65']=_0x514301;var _0x275ae1=_0x48d9f0[_0x2e28cb(0x1c0,'\x29\x30\x49\x73')](_0x2427d2,_0x3fbb06),_0x44525d=_0x48d9f0['\x79\x68\x68\x75\x46'](_0x5b41a7),_0x23f764=_0x48d9f0[_0x2e28cb(0x1e9,'\x70\x7a\x6a\x67')](_0x48d9f0['\x77\x63\x5a\x46\x64'](_0x45fbb2,_0x2e28cb(0x11b,'\x40\x6e\x46\x6c')+'\x65\x74\x73\x2f')+encodeURIComponent(_0x2d87ac),_0x48d9f0[_0x2e28cb(0x8d,'\x34\x4e\x42\x4f')]);const _0x31a6b0={};_0x31a6b0[_0x2e28cb(0x103,'\x43\x35\x6b\x75')+_0x2e28cb(0x1d2,'\x40\x69\x6d\x4f')]=_0x48d9f0[_0x2e28cb(0x19a,'\x46\x61\x45\x51')],_0x31a6b0[_0x2e28cb(0x124,'\x70\x7a\x6a\x67')]=_0x48d9f0[_0x2e28cb(0x15f,'\x34\x34\x79\x66')];var _0x49fea7=_0x31a6b0,_0x20af1d=_0x48d9f0[_0x2e28cb(0xd0,'\x69\x46\x64\x2a')](_0x317d81);if(_0x20af1d){if(_0x48d9f0[_0x2e28cb(0x161,'\x24\x30\x45\x64')](_0x48d9f0[_0x2e28cb(0x15d,'\x29\x30\x49\x73')],_0x48d9f0[_0x2e28cb(0x122,'\x5d\x7a\x79\x39')]))try{const _0x1a71e3=_0x50c833['\x64\x69\x72\x6e\x61\x6d\x65'](_0x52ff29),_0x5cec26={};_0x5cec26['\x72\x65\x63\x75\x72\x73\x69\x76'+'\x65']=!![];if(!_0x4c7ed6['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x1a71e3))_0x2b7003[_0x2e28cb(0x11e,'\x44\x43\x35\x37')+'\x63'](_0x1a71e3,_0x5cec26);const _0x3e42a2=_0x284326[_0x2e28cb(0x183,'\x61\x5e\x30\x23')](_0x4006ef);if(_0x3e42a2[_0x2e28cb(0x1c2,'\x34\x4e\x42\x4f')]>_0x5efccb){const _0x529a1f=_0x3e42a2['\x6d\x61\x70'](_0x2df51d=>({'\x6b':_0x2df51d,'\x74':_0x2b1e35[_0x2df51d]['\x61\x74']||-0xe1d+0x1*-0x1829+0xcc2*0x3}))[_0x2e28cb(0x1ba,'\x40\x69\x6d\x4f')]((_0x1ade13,_0x2efe49)=>_0x1ade13['\x74']-_0x2efe49['\x74']),_0x1dcfb3=_0x529a1f[_0x2e28cb(0x165,'\x68\x59\x35\x4d')](0xb13*-0x2+0x18cf+-0x2a9,NGtnsb[_0x2e28cb(0xbf,'\x46\x61\x45\x51')](_0x3e42a2[_0x2e28cb(0x113,'\x6a\x4c\x24\x78')],_0x161a65));for(const _0x24ef9d of _0x1dcfb3)delete _0xe40dab[_0x24ef9d['\x6b']];}const _0x3f422e=_0x3084ee+NGtnsb[_0x2e28cb(0xf5,'\x5b\x39\x75\x4f')];_0x32a0c2['\x77\x72\x69\x74\x65\x46\x69\x6c'+'\x65\x53\x79\x6e\x63'](_0x3f422e,NGtnsb['\x77\x63\x5a\x46\x64'](_0x46cfec['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x79826,null,-0xc74+0x24af*0x1+-0x1839),'\x0a'),_0x2e28cb(0x169,'\x39\x78\x59\x40')),_0x69d9fb[_0x2e28cb(0x1bf,'\x58\x72\x39\x67')+'\x6e\x63'](_0x3f422e,_0x483ea2);}catch{}else _0x49fea7[_0x48d9f0[_0x2e28cb(0x1f8,'\x7a\x42\x5b\x5a')]]=_0x48d9f0['\x77\x63\x5a\x46\x64'](_0x48d9f0[_0x2e28cb(0x188,'\x42\x30\x67\x68')],_0x20af1d);}const _0x45ef78={};_0x45ef78[_0x2e28cb(0xdf,'\x69\x50\x59\x40')+'\x64']=_0x44525d,_0x45ef78[_0x2e28cb(0xa9,'\x56\x35\x6f\x6a')]=_0x54db38,_0x45ef78[_0x2e28cb(0x1eb,'\x47\x78\x71\x33')]=_0x275ae1;var _0x5f1bdc=JSON[_0x2e28cb(0xc3,'\x58\x72\x39\x67')+'\x79'](_0x45ef78);try{var _0x275214=new AbortController(),_0x11dc9a=_0x48d9f0['\x56\x61\x47\x57\x76'](setTimeout,function(){const _0x4f06ba=_0x2e28cb;if(_0x48d9f0[_0x4f06ba(0x136,'\x70\x7a\x6a\x67')]!==_0x48d9f0[_0x4f06ba(0x13e,'\x2a\x5b\x47\x37')])_0x275214[_0x4f06ba(0xf2,'\x2a\x5b\x47\x37')](_0x48d9f0[_0x4f06ba(0x151,'\x56\x35\x6f\x6a')]);else{const _0x1e4f5a=_0x159d86();return!!_0x1e4f5a[_0x5bd8c9];}},0x7b*0x3+-0x1*0x1262+0x3801),_0x178410=await _0x48d9f0[_0x2e28cb(0x14a,'\x40\x6e\x46\x6c')](_0x4ebc1f,_0x23f764,{'\x6d\x65\x74\x68\x6f\x64':_0x48d9f0[_0x2e28cb(0x18b,'\x36\x52\x45\x34')],'\x68\x65\x61\x64\x65\x72\x73':_0x49fea7,'\x62\x6f\x64\x79':_0x5f1bdc,'\x73\x69\x67\x6e\x61\x6c':_0x275214[_0x2e28cb(0x130,'\x7a\x42\x5b\x5a')]});_0x48d9f0[_0x2e28cb(0x11f,'\x36\x52\x45\x34')](clearTimeout,_0x11dc9a);if(_0x178410['\x6f\x6b']){_0x2aef93(_0x2d87ac,_0x54db38,!![]),console[_0x2e28cb(0x156,'\x61\x5e\x30\x23')](_0x48d9f0['\x4b\x67\x68\x77\x76'](_0x48d9f0[_0x2e28cb(0x1a1,'\x72\x75\x6b\x65')](_0x48d9f0[_0x2e28cb(0xa0,'\x2a\x4b\x43\x61')](_0x48d9f0[_0x2e28cb(0x19f,'\x39\x78\x59\x40')](_0x48d9f0['\x77\x63\x5a\x46\x64'](_0x48d9f0[_0x2e28cb(0x166,'\x34\x4e\x42\x4f')],_0x2d87ac),_0x48d9f0[_0x2e28cb(0x1e5,'\x33\x5d\x53\x46')]),_0x54db38),_0x48d9f0[_0x2e28cb(0x1ce,'\x69\x45\x38\x42')]),_0x2db987&&_0x2db987[_0x2e28cb(0x1aa,'\x40\x6e\x46\x6c')]));const _0x331c5c={};_0x331c5c[_0x2e28cb(0x1c7,'\x2a\x5b\x47\x37')]=_0x54db38,_0x331c5c[_0x2e28cb(0x14d,'\x69\x70\x48\x67')+_0x2e28cb(0x14b,'\x7a\x25\x65\x24')]=_0x2db987&&_0x2db987[_0x2e28cb(0xb9,'\x34\x34\x79\x66')],_0x48d9f0[_0x2e28cb(0xc8,'\x43\x35\x6b\x75')](_0x3a8a2c,{'\x72\x75\x6e\x5f\x69\x64':_0x48d9f0['\x75\x4e\x41\x57\x51'](_0x21b4a7,null),'\x61\x63\x74\x69\x6f\x6e':_0x48d9f0[_0x2e28cb(0x11c,'\x69\x45\x38\x42')],'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x2d87ac,'\x65\x78\x74\x72\x61':_0x331c5c});const _0x5d3fe4={};return _0x5d3fe4['\x73\x75\x62\x6d\x69\x74\x74\x65'+'\x64']=!![],_0x5d3fe4['\x72\x61\x74\x69\x6e\x67']=_0x54db38,_0x5d3fe4[_0x2e28cb(0x154,'\x23\x5e\x61\x34')]=_0x2d87ac,_0x5d3fe4;}var _0x5d8b5b=await _0x178410[_0x2e28cb(0x14e,'\x2a\x4b\x43\x61')]()[_0x2e28cb(0x126,'\x43\x35\x6b\x75')](function(){return{};}),_0x5e3941=_0x5d8b5b[_0x2e28cb(0x1d8,'\x34\x34\x79\x66')]||_0x5d8b5b[_0x2e28cb(0x131,'\x69\x70\x48\x67')]||_0x48d9f0[_0x2e28cb(0x155,'\x36\x52\x45\x34')](_0x2e28cb(0x9a,'\x43\x35\x6b\x75'),_0x178410[_0x2e28cb(0x1aa,'\x40\x6e\x46\x6c')]);_0x48d9f0[_0x2e28cb(0xfc,'\x68\x59\x35\x4d')](_0x5e3941,_0x48d9f0[_0x2e28cb(0x1ea,'\x47\x5a\x57\x7a')])&&_0x48d9f0[_0x2e28cb(0xed,'\x6f\x74\x44\x23')](_0x2aef93,_0x2d87ac,_0x54db38,![]);console['\x6c\x6f\x67'](_0x48d9f0[_0x2e28cb(0x180,'\x6d\x71\x5e\x4b')](_0x48d9f0['\x6f\x53\x76\x6b\x55'](_0x48d9f0[_0x2e28cb(0xb1,'\x72\x6e\x52\x76')],_0x2d87ac),'\x3a\x20')+_0x5e3941);const _0xb007e0={};_0xb007e0[_0x2e28cb(0x1f7,'\x4c\x75\x28\x4f')]=_0x54db38,_0xb007e0['\x65\x72\x72\x6f\x72']=_0x5e3941,_0x48d9f0[_0x2e28cb(0x13b,'\x7a\x25\x65\x24')](_0x3a8a2c,{'\x72\x75\x6e\x5f\x69\x64':_0x48d9f0[_0x2e28cb(0xf4,'\x7a\x25\x65\x24')](_0x21b4a7,null),'\x61\x63\x74\x69\x6f\x6e':_0x48d9f0[_0x2e28cb(0xa8,'\x42\x30\x67\x68')],'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x2d87ac,'\x65\x78\x74\x72\x61':_0xb007e0});const _0x403df6={};return _0x403df6[_0x2e28cb(0x1c5,'\x5d\x6f\x44\x33')+'\x64']=![],_0x403df6[_0x2e28cb(0xb6,'\x43\x35\x6b\x75')]=_0x5e3941,_0x403df6[_0x2e28cb(0x149,'\x69\x46\x64\x2a')]=_0x54db38,_0x403df6;}catch(_0x371c82){var _0x4d6b8c=_0x371c82[_0x2e28cb(0x176,'\x69\x50\x59\x40')]===_0x48d9f0[_0x2e28cb(0xda,'\x39\x78\x59\x40')]?_0x2e28cb(0x1a9,'\x7a\x42\x5b\x5a'):_0x48d9f0[_0x2e28cb(0x178,'\x46\x61\x45\x51')];console[_0x2e28cb(0xa5,'\x46\x61\x45\x51')](_0x48d9f0[_0x2e28cb(0xe9,'\x2a\x5b\x47\x37')](_0x48d9f0[_0x2e28cb(0xaf,'\x6a\x4c\x24\x78')](_0x48d9f0[_0x2e28cb(0x16b,'\x24\x30\x45\x64')](_0x48d9f0[_0x2e28cb(0x133,'\x40\x6e\x46\x6c')],_0x4d6b8c),_0x48d9f0[_0x2e28cb(0x91,'\x69\x50\x59\x40')]),_0x371c82[_0x2e28cb(0x10f,'\x7a\x42\x5b\x5a')]));const _0xffb749={};_0xffb749[_0x2e28cb(0x168,'\x5b\x39\x75\x4f')]=_0x54db38,_0xffb749[_0x2e28cb(0xc4,'\x29\x30\x49\x73')]=_0x4d6b8c,_0xffb749[_0x2e28cb(0xfb,'\x53\x46\x62\x50')]=_0x371c82[_0x2e28cb(0xe3,'\x69\x45\x38\x42')],_0x48d9f0[_0x2e28cb(0xc9,'\x24\x30\x45\x64')](_0x3a8a2c,{'\x72\x75\x6e\x5f\x69\x64':_0x48d9f0[_0x2e28cb(0x12d,'\x7a\x42\x5b\x5a')](_0x21b4a7,null),'\x61\x63\x74\x69\x6f\x6e':_0x2e28cb(0x1d9,'\x6a\x4b\x46\x6e')+_0x2e28cb(0xd1,'\x47\x5a\x57\x7a')+'\x64','\x61\x73\x73\x65\x74\x5f\x69\x64':_0x2d87ac,'\x65\x78\x74\x72\x61':_0xffb749});const _0x3682ab={};return _0x3682ab[_0x2e28cb(0x17a,'\x72\x75\x6b\x65')+'\x64']=![],_0x3682ab[_0x2e28cb(0xc7,'\x69\x70\x48\x67')]=_0x4d6b8c,_0x3682ab[_0x2e28cb(0x157,'\x4d\x34\x77\x2a')]=_0x371c82['\x6d\x65\x73\x73\x61\x67\x65'],_0x3682ab;}}const _0x3cd102={};_0x3cd102[_0x11fee5(0x18c,'\x72\x6e\x52\x76')+_0x11fee5(0x194,'\x72\x6e\x52\x76')]=_0x5a0c05,module[_0x11fee5(0x9d,'\x6b\x36\x64\x28')]=_0x3cd102;
|
|
1
|
+
// Hub Asset Review: submit usage-verified reviews after solidify.
|
|
2
|
+
//
|
|
3
|
+
// When an evolution cycle reuses a Hub asset (source_type = 'reused' or 'reference'),
|
|
4
|
+
// we submit a review to POST /a2a/assets/:assetId/reviews after solidify completes.
|
|
5
|
+
// Rating is derived from outcome: success -> 4-5, failure -> 1-2.
|
|
6
|
+
// Reviews are non-blocking; errors never affect the solidify result.
|
|
7
|
+
// Duplicate prevention: a local file tracks reviewed assetIds to avoid re-reviewing.
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const { getNodeId, getHubNodeSecret } = require('./a2aProtocol');
|
|
12
|
+
const { hubFetch } = require('./hubFetch');
|
|
13
|
+
const { logAssetCall } = require('./assetCallLog');
|
|
14
|
+
|
|
15
|
+
const REVIEW_HISTORY_FILE = path.join(
|
|
16
|
+
require('./paths').getEvolutionDir(),
|
|
17
|
+
'hub_review_history.json'
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
const REVIEW_HISTORY_MAX_ENTRIES = 500;
|
|
21
|
+
|
|
22
|
+
function _loadReviewHistory() {
|
|
23
|
+
try {
|
|
24
|
+
if (!fs.existsSync(REVIEW_HISTORY_FILE)) return {};
|
|
25
|
+
const raw = fs.readFileSync(REVIEW_HISTORY_FILE, 'utf8');
|
|
26
|
+
if (!raw.trim()) return {};
|
|
27
|
+
return JSON.parse(raw);
|
|
28
|
+
} catch {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function _saveReviewHistory(history) {
|
|
34
|
+
try {
|
|
35
|
+
const dir = path.dirname(REVIEW_HISTORY_FILE);
|
|
36
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
37
|
+
const keys = Object.keys(history);
|
|
38
|
+
if (keys.length > REVIEW_HISTORY_MAX_ENTRIES) {
|
|
39
|
+
const sorted = keys
|
|
40
|
+
.map(k => ({ k, t: history[k].at || 0 }))
|
|
41
|
+
.sort((a, b) => a.t - b.t);
|
|
42
|
+
const toRemove = sorted.slice(0, keys.length - REVIEW_HISTORY_MAX_ENTRIES);
|
|
43
|
+
for (const entry of toRemove) delete history[entry.k];
|
|
44
|
+
}
|
|
45
|
+
const tmp = REVIEW_HISTORY_FILE + '.tmp';
|
|
46
|
+
fs.writeFileSync(tmp, JSON.stringify(history, null, 2) + '\n', 'utf8');
|
|
47
|
+
fs.renameSync(tmp, REVIEW_HISTORY_FILE);
|
|
48
|
+
} catch {}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function _alreadyReviewed(assetId) {
|
|
52
|
+
const history = _loadReviewHistory();
|
|
53
|
+
return !!history[assetId];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _markReviewed(assetId, rating, success) {
|
|
57
|
+
const history = _loadReviewHistory();
|
|
58
|
+
history[assetId] = { at: Date.now(), rating, success };
|
|
59
|
+
_saveReviewHistory(history);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function _deriveRating(outcome, constraintCheck) {
|
|
63
|
+
if (outcome && outcome.status === 'success') {
|
|
64
|
+
const score = Number(outcome.score) || 0;
|
|
65
|
+
return score >= 0.85 ? 5 : 4;
|
|
66
|
+
}
|
|
67
|
+
const hasConstraintViolation =
|
|
68
|
+
constraintCheck &&
|
|
69
|
+
Array.isArray(constraintCheck.violations) &&
|
|
70
|
+
constraintCheck.violations.length > 0;
|
|
71
|
+
return hasConstraintViolation ? 1 : 2;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function _buildReviewContent({ outcome, gene, signals, blast, sourceType }) {
|
|
75
|
+
const parts = [];
|
|
76
|
+
const status = outcome && outcome.status ? outcome.status : 'unknown';
|
|
77
|
+
const score = outcome && Number.isFinite(Number(outcome.score))
|
|
78
|
+
? Number(outcome.score).toFixed(2) : '?';
|
|
79
|
+
|
|
80
|
+
parts.push('Outcome: ' + status + ' (score: ' + score + ')');
|
|
81
|
+
parts.push('Reuse mode: ' + (sourceType || 'unknown'));
|
|
82
|
+
|
|
83
|
+
if (gene && gene.id) {
|
|
84
|
+
parts.push('Gene: ' + gene.id + ' (' + (gene.category || 'unknown') + ')');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (Array.isArray(signals) && signals.length > 0) {
|
|
88
|
+
parts.push('Signals: ' + signals.slice(0, 6).join(', '));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (blast) {
|
|
92
|
+
parts.push('Blast radius: ' + (blast.files || 0) + ' file(s), ' + (blast.lines || 0) + ' line(s)');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (status === 'success') {
|
|
96
|
+
parts.push('The fetched asset was successfully applied and solidified.');
|
|
97
|
+
} else {
|
|
98
|
+
parts.push('The fetched asset did not lead to a successful evolution cycle.');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return parts.join('\n').slice(0, 2000);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function getHubUrl() {
|
|
105
|
+
return (process.env.A2A_HUB_URL || '').replace(/\/+$/, '');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
async function submitHubReview({
|
|
109
|
+
reusedAssetId,
|
|
110
|
+
sourceType,
|
|
111
|
+
outcome,
|
|
112
|
+
gene,
|
|
113
|
+
signals,
|
|
114
|
+
blast,
|
|
115
|
+
constraintCheck,
|
|
116
|
+
runId,
|
|
117
|
+
}) {
|
|
118
|
+
var hubUrl = getHubUrl();
|
|
119
|
+
if (!hubUrl) return { submitted: false, reason: 'no_hub_url' };
|
|
120
|
+
|
|
121
|
+
if (!reusedAssetId || typeof reusedAssetId !== 'string') {
|
|
122
|
+
return { submitted: false, reason: 'no_reused_asset_id' };
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (sourceType !== 'reused' && sourceType !== 'reference') {
|
|
126
|
+
return { submitted: false, reason: 'not_hub_sourced' };
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (_alreadyReviewed(reusedAssetId)) {
|
|
130
|
+
return { submitted: false, reason: 'already_reviewed' };
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var rating = _deriveRating(outcome, constraintCheck);
|
|
134
|
+
var content = _buildReviewContent({ outcome, gene, signals, blast, sourceType });
|
|
135
|
+
var senderId = getNodeId();
|
|
136
|
+
|
|
137
|
+
var endpoint = hubUrl + '/a2a/assets/' + encodeURIComponent(reusedAssetId) + '/reviews';
|
|
138
|
+
|
|
139
|
+
var headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' };
|
|
140
|
+
var secret = getHubNodeSecret();
|
|
141
|
+
if (secret) {
|
|
142
|
+
headers['Authorization'] = 'Bearer ' + secret;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
var body = JSON.stringify({
|
|
146
|
+
sender_id: senderId,
|
|
147
|
+
rating: rating,
|
|
148
|
+
content: content,
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
try {
|
|
152
|
+
var controller = new AbortController();
|
|
153
|
+
var timer = setTimeout(function () { controller.abort('hub_review_timeout'); }, 10000);
|
|
154
|
+
|
|
155
|
+
var res = await hubFetch(endpoint, {
|
|
156
|
+
method: 'POST',
|
|
157
|
+
headers: headers,
|
|
158
|
+
body: body,
|
|
159
|
+
signal: controller.signal,
|
|
160
|
+
});
|
|
161
|
+
clearTimeout(timer);
|
|
162
|
+
|
|
163
|
+
if (res.ok) {
|
|
164
|
+
_markReviewed(reusedAssetId, rating, true);
|
|
165
|
+
console.log(
|
|
166
|
+
'[HubReview] Submitted review for ' + reusedAssetId + ': rating=' + rating + ', outcome=' + (outcome && outcome.status)
|
|
167
|
+
);
|
|
168
|
+
logAssetCall({
|
|
169
|
+
run_id: runId || null,
|
|
170
|
+
action: 'hub_review_submitted',
|
|
171
|
+
asset_id: reusedAssetId,
|
|
172
|
+
extra: { rating: rating, outcome_status: outcome && outcome.status },
|
|
173
|
+
});
|
|
174
|
+
return { submitted: true, rating: rating, asset_id: reusedAssetId };
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
var errData = await res.json().catch(function () { return {}; });
|
|
178
|
+
var errCode = errData.error || errData.code || ('http_' + res.status);
|
|
179
|
+
|
|
180
|
+
if (errCode === 'already_reviewed') {
|
|
181
|
+
_markReviewed(reusedAssetId, rating, false);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
console.log('[HubReview] Hub rejected review for ' + reusedAssetId + ': ' + errCode);
|
|
185
|
+
logAssetCall({
|
|
186
|
+
run_id: runId || null,
|
|
187
|
+
action: 'hub_review_rejected',
|
|
188
|
+
asset_id: reusedAssetId,
|
|
189
|
+
extra: { rating: rating, error: errCode },
|
|
190
|
+
});
|
|
191
|
+
return { submitted: false, reason: errCode, rating: rating };
|
|
192
|
+
} catch (err) {
|
|
193
|
+
var reason = err.name === 'AbortError' ? 'timeout' : 'fetch_error';
|
|
194
|
+
console.log('[HubReview] Failed (non-fatal, ' + reason + '): ' + err.message);
|
|
195
|
+
logAssetCall({
|
|
196
|
+
run_id: runId || null,
|
|
197
|
+
action: 'hub_review_failed',
|
|
198
|
+
asset_id: reusedAssetId,
|
|
199
|
+
extra: { rating: rating, reason: reason, error: err.message },
|
|
200
|
+
});
|
|
201
|
+
return { submitted: false, reason: reason, error: err.message };
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
module.exports = {
|
|
206
|
+
submitHubReview,
|
|
207
|
+
};
|