@evomap/evolver 1.84.1 → 1.84.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/gep/genes.seed.json +17 -15
- package/index.js +45 -8
- package/package.json +4 -3
- package/src/adapters/claudeCode.js +44 -31
- package/src/adapters/codex.js +70 -26
- package/src/adapters/cursor.js +3 -1
- package/src/adapters/hookAdapter.js +142 -2
- package/src/adapters/kiro.js +6 -14
- package/src/adapters/opencode.js +6 -14
- package/src/adapters/scripts/_runtimePaths.js +114 -0
- package/src/adapters/scripts/evolver-session-end.js +37 -61
- package/src/adapters/scripts/evolver-session-start.js +1 -31
- package/src/config.js +20 -1
- package/src/evolve/guards.js +1 -1
- package/src/evolve/pipeline/collect.js +1 -1
- package/src/evolve/pipeline/dispatch.js +1 -1
- package/src/evolve/pipeline/enrich.js +1 -1
- package/src/evolve/pipeline/hub.js +1 -1
- package/src/evolve/pipeline/select.js +1 -1
- package/src/evolve/pipeline/signals.js +1 -1
- package/src/evolve/utils.js +1 -1
- package/src/evolve.js +1 -1
- package/src/gep/a2aProtocol.js +1 -1
- package/src/gep/assetStore.js +27 -6
- package/src/gep/candidateEval.js +1 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -1
- package/src/gep/crypto.js +1 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +1 -1
- package/src/gep/directoryClient.js +4 -3
- package/src/gep/envFingerprint.js +1 -1
- package/src/gep/epigenetics.js +1 -1
- package/src/gep/explore.js +1 -1
- package/src/gep/hash.js +1 -1
- package/src/gep/hubFetch.js +1 -0
- package/src/gep/hubReview.js +1 -1
- package/src/gep/hubSearch.js +1 -1
- package/src/gep/hubVerify.js +1 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1 -1
- package/src/gep/memoryGraphAdapter.js +1 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/openPRRegistry.js +1 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +1 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/recallVerifier.js +1 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/schemas/gene.js +70 -1
- package/src/gep/schemas/protocol.js +9 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/selfPR.js +62 -32
- package/src/gep/skillDistiller.js +1 -1
- package/src/gep/skillPublisher.js +3 -2
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -1
- package/src/gep/taskReceiver.js +6 -5
- package/src/gep/validator/index.js +10 -6
- package/src/gep/validator/reporter.js +2 -1
- package/src/gep/validator/stakeBootstrap.js +2 -1
- package/src/proxy/index.js +69 -0
- package/src/proxy/lifecycle/manager.js +3 -2
- package/src/proxy/router/cache_passthrough.js +26 -0
- package/src/proxy/router/features.js +84 -0
- package/src/proxy/router/messages_route.js +242 -0
- package/src/proxy/router/model_router.js +113 -0
- package/src/proxy/server/http.js +92 -5
- package/src/proxy/server/routes.js +12 -2
- package/src/proxy/server/settings.js +37 -11
- package/src/proxy/sync/inbound.js +3 -2
- package/src/proxy/sync/outbound.js +2 -1
package/src/gep/strategy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1627(_0x660ccf,_0x3bc761){_0x660ccf=_0x660ccf-(0x195*0xf+0x1cd5+-0x295*0x14);var _0x26f1d0=_0x3b33();var _0x10742d=_0x26f1d0[_0x660ccf];if(_0x1627['\x70\x68\x49\x59\x4f\x58']===undefined){var _0x10cc4f=function(_0x1e2791){var _0x3a5b8f='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0xe12e3d='',_0x3c79e5='',_0x3648d0=_0xe12e3d+_0x10cc4f,_0x1ae7b5=(''+function(){return-0x765+0x2303+-0x1f9*0xe;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x216f+0x53*0x53+-0x687*-0x1);for(var _0x7efa4d=0x2bc+-0x2*-0x779+-0x3e*0x49,_0x527968,_0x14dc55,_0x1c0629=0x953+-0x23*-0x5b+-0x15c4;_0x14dc55=_0x1e2791['\x63\x68\x61\x72\x41\x74'](_0x1c0629++);~_0x14dc55&&(_0x527968=_0x7efa4d%(-0x1832+0x1*0x1737+-0xff*-0x1)?_0x527968*(0x1*0x1d72+0x5*0x5b2+0x1cd6*-0x2)+_0x14dc55:_0x14dc55,_0x7efa4d++%(0x1d0f+0x1*0x1165+-0x1738*0x2))?_0xe12e3d+=_0x1ae7b5||_0x3648d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1c0629+(0x220+-0x9*0x31f+0x15*0x13d))-(-0x4e8+-0x9f9+0xeeb)!==-0x3a*-0x8c+0x20ce+-0x4086?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xd49+-0x885+0x3c5*-0x1&_0x527968>>(-(0x1524+0xc2f+-0x1*0x2151)*_0x7efa4d&0x1b02+-0xd3*0x2b+0x875)):_0x7efa4d:-0x15*-0xd6+-0x1*-0x43c+0xae5*-0x2){_0x14dc55=_0x3a5b8f['\x69\x6e\x64\x65\x78\x4f\x66'](_0x14dc55);}for(var _0x5c8b8d=-0xab7*-0x1+-0x841+0x7*-0x5a,_0x346d43=_0xe12e3d['\x6c\x65\x6e\x67\x74\x68'];_0x5c8b8d<_0x346d43;_0x5c8b8d++){_0x3c79e5+='\x25'+('\x30\x30'+_0xe12e3d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5c8b8d)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*0x1791+0x21d2+-0x5*0xb77))['\x73\x6c\x69\x63\x65'](-(0x67*-0x9+-0x170+0x511));}return decodeURIComponent(_0x3c79e5);};var _0x28fab6=function(_0x4e632d,_0x5d4971){var _0x142cd4=[],_0x1239fe=0x1181*0x1+-0x106*0x2+-0x527*0x3,_0x2d0372,_0xb330f9='';_0x4e632d=_0x10cc4f(_0x4e632d);var _0x4dbf0a;for(_0x4dbf0a=0xd7*0x1d+0x268f*0x1+0x3eea*-0x1;_0x4dbf0a<0x8bf*0x1+0x3*0x2b0+-0x13*0xd5;_0x4dbf0a++){_0x142cd4[_0x4dbf0a]=_0x4dbf0a;}for(_0x4dbf0a=-0x7fb+-0x3*-0x1e3+-0x3*-0xc6;_0x4dbf0a<-0xe6a+-0x1*0x96b+-0x1*-0x18d5;_0x4dbf0a++){_0x1239fe=(_0x1239fe+_0x142cd4[_0x4dbf0a]+_0x5d4971['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4dbf0a%_0x5d4971['\x6c\x65\x6e\x67\x74\x68']))%(0x37*0x13+-0x14f0+-0x7*-0x28d),_0x2d0372=_0x142cd4[_0x4dbf0a],_0x142cd4[_0x4dbf0a]=_0x142cd4[_0x1239fe],_0x142cd4[_0x1239fe]=_0x2d0372;}_0x4dbf0a=0x892*0x4+-0x1*-0x22c3+-0x450b,_0x1239fe=-0x2197+-0x188d*-0x1+0x90a;for(var _0x438e07=-0x2*0x24b+0x143d+-0xfa7;_0x438e07<_0x4e632d['\x6c\x65\x6e\x67\x74\x68'];_0x438e07++){_0x4dbf0a=(_0x4dbf0a+(-0x2479+0xc+0x1237*0x2))%(-0x2*0xe7c+0x1333+0xac5),_0x1239fe=(_0x1239fe+_0x142cd4[_0x4dbf0a])%(0x143f+0x2*0xe61+-0x3001),_0x2d0372=_0x142cd4[_0x4dbf0a],_0x142cd4[_0x4dbf0a]=_0x142cd4[_0x1239fe],_0x142cd4[_0x1239fe]=_0x2d0372,_0xb330f9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4e632d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x438e07)^_0x142cd4[(_0x142cd4[_0x4dbf0a]+_0x142cd4[_0x1239fe])%(-0x242b+0x30*-0x51+-0xd*-0x407)]);}return _0xb330f9;};_0x1627['\x44\x41\x6f\x68\x54\x51']=_0x28fab6,_0x1627['\x43\x45\x6c\x50\x47\x45']={},_0x1627['\x70\x68\x49\x59\x4f\x58']=!![];}var _0x2920f5=_0x26f1d0[-0x1ec1*0x1+0x11f4+-0x1*-0xccd],_0x497b3e=_0x660ccf+_0x2920f5,_0x496518=_0x1627['\x43\x45\x6c\x50\x47\x45'][_0x497b3e];if(!_0x496518){if(_0x1627['\x57\x54\x52\x65\x44\x41']===undefined){var _0x28e2f1=function(_0x28f756){this['\x58\x41\x7a\x53\x44\x68']=_0x28f756,this['\x4c\x6b\x58\x49\x72\x4b']=[0xb6f*0x1+0xf89+0x2ff*-0x9,-0xa3*0x13+-0x7e8+0x1401,-0x4fb+-0x11*-0x31+-0x22*-0xd],this['\x4f\x58\x4e\x43\x4a\x62']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x72\x6b\x49\x74\x50\x53']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x79\x42\x4e\x4c\x6a\x45']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x52\x78\x43\x49\x79\x41']=function(){var _0x52b39f=new RegExp(this['\x72\x6b\x49\x74\x50\x53']+this['\x79\x42\x4e\x4c\x6a\x45']),_0x50961f=_0x52b39f['\x74\x65\x73\x74'](this['\x4f\x58\x4e\x43\x4a\x62']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4c\x6b\x58\x49\x72\x4b'][-0x2663+-0x21d*-0x5+0x1bd3]:--this['\x4c\x6b\x58\x49\x72\x4b'][-0x1004+0x6*-0x291+-0xfb5*-0x2];return this['\x64\x50\x48\x6a\x78\x67'](_0x50961f);},_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x64\x50\x48\x6a\x78\x67']=function(_0x47796b){if(!Boolean(~_0x47796b))return _0x47796b;return this['\x46\x4b\x75\x7a\x7a\x7a'](this['\x58\x41\x7a\x53\x44\x68']);},_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x46\x4b\x75\x7a\x7a\x7a']=function(_0x422fc7){for(var _0x36f15=0xa8a+-0x994+-0xf6,_0x241693=this['\x4c\x6b\x58\x49\x72\x4b']['\x6c\x65\x6e\x67\x74\x68'];_0x36f15<_0x241693;_0x36f15++){this['\x4c\x6b\x58\x49\x72\x4b']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x241693=this['\x4c\x6b\x58\x49\x72\x4b']['\x6c\x65\x6e\x67\x74\x68'];}return _0x422fc7(this['\x4c\x6b\x58\x49\x72\x4b'][0x1*0x1d55+0x4f*-0xd+-0x1952]);},(''+function(){return-0x1749+0x26f9+0x10*-0xfb;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0xdb9+0x1*-0x2169+0x2f23)&&new _0x28e2f1(_0x1627)['\x52\x78\x43\x49\x79\x41'](),_0x1627['\x57\x54\x52\x65\x44\x41']=!![];}_0x10742d=_0x1627['\x44\x41\x6f\x68\x54\x51'](_0x10742d,_0x3bc761),_0x1627['\x43\x45\x6c\x50\x47\x45'][_0x497b3e]=_0x10742d;}else _0x10742d=_0x496518;return _0x10742d;}function _0x3b33(){var _0x5e591e=['\x57\x34\x4e\x64\x52\x6d\x6b\x38\x63\x43\x6b\x30\x57\x52\x70\x64\x51\x38\x6b\x7a','\x44\x6d\x6f\x48\x57\x52\x62\x6d\x79\x4a\x76\x46\x57\x50\x33\x63\x55\x47','\x73\x78\x2f\x64\x4f\x76\x42\x64\x51\x47','\x57\x52\x4c\x58\x57\x51\x35\x6f\x57\x34\x71\x73\x64\x76\x79','\x7a\x6d\x6b\x59\x57\x51\x33\x64\x4d\x53\x6b\x74\x57\x36\x6a\x53\x57\x52\x47\x4a\x75\x6d\x6b\x4d','\x46\x65\x4a\x64\x4f\x53\x6f\x52\x6c\x65\x56\x64\x4c\x62\x4b','\x6e\x6d\x6b\x46\x57\x36\x64\x63\x54\x4d\x65','\x67\x38\x6f\x59\x62\x6d\x6b\x72\x42\x71','\x45\x4d\x33\x64\x51\x53\x6f\x4e\x78\x49\x35\x44\x57\x52\x57','\x66\x75\x4a\x64\x51\x43\x6f\x5a\x45\x4b\x37\x64\x49\x71\x69','\x42\x53\x6f\x35\x6a\x4a\x30\x30\x42\x77\x65','\x63\x43\x6b\x4c\x57\x35\x66\x63\x77\x61','\x6a\x38\x6b\x53\x57\x50\x54\x30\x65\x47','\x6f\x30\x65\x49\x57\x34\x57\x6a\x57\x52\x64\x63\x51\x48\x6d','\x6d\x32\x62\x43\x73\x53\x6f\x6d','\x45\x43\x6f\x6c\x64\x38\x6f\x4e\x6a\x43\x6f\x6b\x57\x4f\x64\x64\x55\x47','\x57\x52\x5a\x64\x49\x6d\x6f\x4f\x57\x35\x68\x63\x4a\x78\x37\x63\x48\x67\x65','\x62\x43\x6f\x68\x57\x52\x61\x38\x42\x61','\x46\x38\x6f\x55\x67\x4a\x34\x53\x45\x4e\x42\x64\x47\x61','\x6d\x76\x75\x56','\x46\x67\x37\x64\x51\x53\x6f\x4e\x78\x73\x61\x68\x57\x52\x4f','\x57\x52\x56\x64\x4e\x64\x42\x64\x4b\x43\x6b\x36\x57\x36\x37\x63\x50\x65\x53','\x57\x34\x69\x31\x57\x4f\x48\x46\x6a\x32\x6c\x63\x50\x68\x71','\x57\x37\x6c\x64\x4c\x64\x42\x64\x4c\x38\x6b\x35\x57\x37\x70\x63\x54\x47\x34','\x44\x68\x52\x64\x4d\x43\x6f\x46\x73\x57','\x57\x37\x6c\x63\x4f\x6d\x6b\x54\x57\x36\x39\x6e\x57\x36\x37\x64\x52\x76\x61\x69\x57\x36\x4f\x33\x57\x50\x69','\x64\x58\x70\x64\x4b\x53\x6f\x78\x6f\x47','\x7a\x43\x6f\x56\x6f\x73\x43\x36\x41\x32\x33\x64\x52\x71','\x46\x77\x35\x6e\x6d\x4d\x78\x63\x50\x49\x64\x63\x4f\x57','\x57\x37\x47\x58\x57\x52\x61\x68\x57\x34\x64\x63\x47\x6d\x6f\x36','\x57\x34\x65\x65\x57\x50\x35\x57\x61\x43\x6f\x73\x65\x38\x6b\x45','\x76\x53\x6b\x74\x57\x34\x71\x69\x57\x50\x34','\x6e\x6d\x6f\x54\x57\x37\x4f','\x57\x50\x44\x75\x75\x68\x68\x63\x54\x67\x4e\x63\x55\x78\x6d','\x57\x52\x31\x37\x57\x4f\x39\x42\x57\x34\x69\x73\x64\x66\x38','\x57\x51\x42\x64\x53\x53\x6b\x76\x57\x4f\x6c\x63\x4c\x78\x30','\x70\x30\x4b\x51\x57\x35\x30\x75\x57\x52\x78\x63\x52\x71\x61','\x57\x36\x34\x6f\x57\x35\x37\x64\x4f\x74\x34\x75\x57\x50\x4c\x6b','\x57\x50\x6e\x69\x57\x34\x78\x64\x47\x78\x71\x66\x72\x53\x6b\x4b','\x75\x6d\x6b\x79\x57\x37\x4b\x6c\x57\x50\x47\x6a\x42\x4c\x53','\x57\x36\x72\x58\x57\x34\x6c\x63\x4c\x75\x61','\x72\x43\x6b\x4f\x73\x38\x6f\x41\x76\x38\x6f\x61\x57\x50\x64\x64\x52\x61','\x70\x38\x6b\x35\x57\x37\x78\x63\x47\x68\x56\x64\x56\x53\x6b\x61\x75\x57','\x64\x43\x6f\x64\x57\x51\x65\x36\x43\x48\x4e\x63\x54\x67\x30','\x45\x75\x6a\x6d','\x57\x35\x54\x50\x57\x35\x70\x63\x48\x65\x4e\x64\x50\x4e\x6d\x55','\x57\x37\x54\x4b\x57\x34\x78\x63\x4b\x75\x4a\x64\x53\x4e\x34\x30','\x57\x37\x2f\x64\x55\x38\x6b\x54\x61\x43\x6b\x2f\x57\x51\x74\x63\x55\x6d\x6f\x4b','\x57\x37\x52\x63\x4e\x4b\x42\x64\x54\x71','\x7a\x65\x58\x77\x57\x4f\x34','\x57\x50\x2f\x63\x4a\x65\x35\x42\x57\x51\x65','\x57\x37\x43\x65\x57\x50\x31\x59\x67\x53\x6f\x6a\x71\x38\x6b\x4c','\x6b\x43\x6b\x33\x57\x36\x54\x2f','\x57\x4f\x62\x68\x74\x33\x5a\x63\x51\x67\x2f\x63\x4e\x68\x6d','\x57\x51\x56\x64\x4f\x6d\x6f\x39\x57\x4f\x57\x6d\x57\x35\x65\x44\x75\x53\x6b\x53\x57\x34\x54\x32','\x57\x52\x70\x63\x56\x6d\x6b\x38\x57\x50\x65\x71\x57\x51\x46\x63\x4d\x32\x57','\x57\x51\x46\x63\x4f\x32\x62\x72\x57\x4f\x61\x2f','\x57\x52\x4f\x78\x57\x51\x4c\x53\x73\x6d\x6b\x44\x66\x38\x6b\x64','\x57\x51\x7a\x4b\x57\x51\x48\x67\x57\x35\x30\x73\x67\x66\x30','\x79\x68\x7a\x33\x68\x4c\x47','\x79\x78\x5a\x64\x51\x53\x6f\x52','\x57\x51\x46\x64\x54\x38\x6f\x58\x57\x52\x47\x6c\x57\x51\x79','\x57\x35\x47\x59\x57\x51\x58\x6d\x6d\x78\x52\x64\x53\x61','\x57\x50\x31\x73\x41\x33\x78\x63\x53\x33\x4a\x63\x4f\x33\x71','\x57\x37\x50\x31\x57\x35\x70\x63\x4e\x30\x64\x64\x56\x74\x79','\x57\x34\x31\x39\x57\x34\x78\x63\x47\x4b\x56\x64\x52\x4a\x30\x4b','\x57\x51\x53\x61\x57\x4f\x50\x30\x76\x43\x6b\x67\x68\x61','\x79\x67\x35\x67\x6c\x4d\x64\x64\x51\x71','\x57\x52\x5a\x64\x4e\x5a\x30','\x57\x51\x61\x43\x57\x35\x50\x51\x76\x43\x6b\x77\x64\x6d\x6b\x78','\x57\x36\x68\x63\x50\x4d\x65\x4b\x72\x58\x44\x33\x57\x37\x2f\x64\x47\x43\x6f\x6d\x57\x4f\x38\x37','\x67\x38\x6f\x64\x57\x51\x69\x34\x41\x71\x6c\x63\x49\x68\x79','\x79\x65\x56\x64\x55\x76\x64\x64\x4a\x53\x6b\x65\x43\x71','\x7a\x6d\x6f\x58\x61\x4a\x4b\x50\x45\x4e\x46\x64\x51\x57','\x68\x6d\x6f\x73\x57\x52\x72\x48','\x57\x52\x4a\x64\x54\x38\x6f\x53\x57\x52\x79\x71\x57\x51\x30','\x57\x52\x4a\x64\x54\x4a\x66\x2f\x67\x66\x48\x32','\x68\x38\x6b\x55\x57\x36\x4a\x63\x47\x68\x46\x63\x51\x53\x6b\x36\x73\x61','\x57\x51\x33\x64\x4e\x38\x6f\x75\x57\x35\x6c\x63\x4c\x77\x4e\x63\x4b\x57','\x57\x4f\x46\x64\x48\x6d\x6b\x74\x57\x50\x52\x63\x4d\x61','\x6e\x75\x4a\x64\x51\x43\x6f\x5a\x45\x4b\x37\x64\x49\x71\x34','\x57\x35\x2f\x63\x52\x38\x6b\x4e\x64\x53\x6f\x37\x57\x51\x37\x64\x52\x6d\x6f\x77','\x79\x53\x6f\x56\x6f\x64\x34\x54\x46\x4e\x64\x64\x50\x47','\x57\x35\x72\x62\x76\x57','\x6e\x6d\x6f\x4e\x57\x36\x46\x64\x47\x53\x6b\x66\x57\x37\x66\x2b\x57\x4f\x30','\x74\x53\x6b\x69\x43\x43\x6f\x33\x57\x36\x4b\x45\x57\x36\x7a\x6a','\x57\x51\x4e\x64\x4b\x53\x6f\x71\x57\x35\x65','\x57\x52\x64\x64\x53\x53\x6b\x77\x57\x4f\x64\x63\x4a\x4d\x42\x63\x4f\x32\x4b','\x6c\x6d\x6b\x46\x57\x34\x4e\x63\x4f\x38\x6f\x35\x57\x51\x68\x63\x4f\x43\x6b\x70','\x64\x6d\x6b\x5a\x66\x6d\x6b\x68\x42\x4d\x6d\x66\x57\x4f\x30','\x57\x50\x53\x36\x57\x34\x65\x65\x57\x4f\x71','\x46\x53\x6f\x4d\x57\x52\x38\x53\x6a\x71\x44\x37\x57\x52\x4e\x63\x50\x38\x6b\x5a\x6a\x47','\x57\x50\x75\x54\x57\x37\x69\x38\x57\x50\x68\x63\x55\x63\x6c\x64\x50\x47','\x57\x51\x78\x64\x54\x38\x6f\x70\x57\x52\x53\x6a','\x57\x4f\x50\x69\x57\x34\x5a\x64\x4b\x57','\x57\x36\x4c\x39\x57\x51\x39\x43\x57\x34\x75\x45\x65\x72\x47','\x57\x52\x65\x37\x57\x52\x53\x6c\x57\x35\x42\x63\x51\x6d\x6b\x38\x57\x34\x4b','\x57\x50\x6e\x53\x57\x51\x7a\x4f\x57\x37\x30','\x57\x34\x54\x44\x66\x43\x6f\x61\x57\x36\x38','\x74\x6d\x6b\x4b\x57\x36\x52\x64\x4a\x78\x4e\x63\x53\x4d\x72\x57','\x6b\x43\x6b\x53\x57\x50\x76\x57\x65\x6d\x6b\x39\x57\x52\x52\x63\x54\x57','\x63\x58\x78\x64\x48\x47','\x46\x68\x6c\x64\x53\x61','\x6c\x53\x6b\x76\x57\x34\x38','\x67\x43\x6f\x66\x43\x38\x6f\x4f\x45\x43\x6f\x72\x57\x50\x64\x63\x49\x61','\x75\x53\x6f\x6e\x43\x53\x6f\x33\x57\x37\x71\x7a\x57\x52\x4c\x68','\x57\x37\x30\x4a\x57\x36\x47\x45\x57\x37\x47\x5a\x66\x31\x58\x76\x57\x4f\x6d','\x6a\x43\x6b\x5a\x57\x36\x62\x31\x79\x74\x71\x58\x57\x50\x75','\x6f\x31\x47\x2f\x57\x34\x4f\x70\x57\x52\x5a\x63\x54\x31\x71','\x57\x35\x71\x35\x57\x50\x31\x73\x6c\x67\x4e\x64\x52\x61','\x6b\x53\x6b\x68\x57\x35\x4a\x63\x4f\x38\x6f\x4c\x57\x34\x2f\x63\x56\x43\x6b\x6f','\x57\x37\x78\x63\x54\x43\x6b\x52','\x57\x35\x43\x78\x62\x43\x6f\x4d\x57\x37\x42\x63\x56\x38\x6f\x33\x57\x34\x69','\x57\x50\x42\x64\x4c\x74\x33\x63\x49\x76\x75','\x57\x34\x4c\x76\x57\x35\x70\x63\x49\x67\x43','\x77\x53\x6f\x75\x65\x53\x6f\x34\x6a\x6d\x6b\x45\x57\x4f\x52\x64\x52\x61','\x6c\x4b\x70\x64\x54\x38\x6f\x39\x7a\x76\x30','\x73\x4c\x76\x79\x57\x51\x5a\x63\x4e\x61','\x75\x6d\x6b\x79\x57\x37\x6d\x62\x57\x50\x79\x4e\x46\x61','\x57\x35\x56\x63\x49\x75\x68\x64\x47\x43\x6f\x62','\x79\x65\x56\x64\x4f\x65\x2f\x64\x4c\x43\x6b\x66\x72\x38\x6f\x69','\x6e\x43\x6b\x5a\x57\x37\x7a\x37\x45\x49\x6e\x44\x57\x50\x6d','\x57\x51\x48\x4b\x57\x51\x58\x64\x57\x34\x4b','\x57\x52\x52\x64\x47\x53\x6f\x66\x57\x35\x52\x63\x56\x68\x6c\x63\x4d\x4b\x43','\x6f\x6d\x6f\x68\x6a\x6d\x6b\x4a\x78\x65\x4b\x57\x57\x51\x65','\x68\x6d\x6f\x4b\x57\x36\x64\x63\x49\x43\x6f\x78\x57\x50\x72\x4e\x57\x35\x30','\x78\x43\x6b\x70\x41\x6d\x6f\x36\x57\x36\x4b\x77\x57\x51\x34','\x57\x51\x52\x64\x4a\x53\x6f\x69\x57\x35\x46\x63\x4a\x4d\x6c\x64\x4d\x61','\x43\x67\x76\x71\x70\x4d\x68\x63\x52\x49\x74\x63\x53\x47','\x42\x53\x6f\x79\x65\x38\x6f\x4b\x70\x6d\x6f\x69\x57\x4f\x5a\x64\x48\x47','\x41\x58\x33\x63\x48\x43\x6b\x42\x57\x35\x70\x63\x52\x4e\x52\x63\x4d\x53\x6f\x39\x6f\x47','\x6c\x43\x6f\x62\x57\x35\x70\x63\x4d\x43\x6f\x62','\x69\x38\x6b\x68\x57\x34\x4a\x63\x51\x53\x6f\x57','\x57\x50\x4a\x64\x50\x59\x66\x6b\x6a\x71','\x57\x52\x4e\x64\x53\x53\x6b\x69\x57\x4f\x5a\x63\x4a\x4e\x79','\x6b\x32\x4c\x44\x72\x38\x6f\x7a','\x57\x36\x75\x54\x57\x52\x30\x70','\x63\x38\x6f\x68\x57\x52\x34\x34\x42\x48\x70\x63\x4f\x78\x30','\x73\x53\x6b\x33\x57\x35\x2f\x64\x51\x4e\x71','\x57\x52\x31\x4d\x57\x51\x4c\x6b','\x77\x6d\x6b\x4b\x78\x53\x6f\x50\x78\x47','\x69\x47\x64\x64\x4e\x4e\x65\x76\x46\x4d\x6d\x46','\x6f\x6d\x6b\x4d\x57\x37\x33\x64\x4a\x67\x33\x64\x4f\x53\x6b\x69\x75\x47','\x57\x34\x75\x55\x57\x50\x38','\x74\x30\x5a\x63\x48\x53\x6b\x70\x62\x4d\x42\x64\x4f\x57','\x43\x38\x6f\x4a\x57\x52\x34\x56\x69\x77\x43\x48\x57\x4f\x74\x63\x48\x43\x6b\x45\x6c\x49\x78\x64\x55\x57','\x69\x38\x6f\x47\x57\x52\x71\x69\x79\x57','\x57\x37\x58\x4d\x57\x37\x74\x63\x53\x32\x43','\x43\x78\x48\x74\x6d\x78\x5a\x63\x54\x74\x65','\x57\x4f\x72\x62\x57\x34\x42\x64\x48\x74\x6d','\x75\x43\x6b\x58\x57\x35\x2f\x64\x47\x75\x33\x63\x56\x4e\x54\x39','\x64\x43\x6f\x70\x57\x35\x38\x72\x57\x51\x61\x67\x78\x4c\x30','\x57\x51\x56\x64\x53\x73\x48\x59\x67\x66\x61','\x6a\x53\x6b\x6a\x57\x34\x71','\x57\x52\x52\x64\x48\x64\x35\x4d\x57\x51\x34','\x57\x52\x31\x4d\x57\x52\x31\x42\x57\x35\x75\x43\x67\x57','\x44\x38\x6b\x4e\x74\x53\x6f\x55\x57\x34\x69','\x6f\x66\x64\x64\x47\x43\x6f\x69\x57\x37\x43','\x78\x43\x6b\x45\x43\x53\x6f\x2f\x57\x36\x43\x63','\x57\x52\x57\x4c\x57\x50\x4a\x64\x48\x72\x37\x63\x56\x77\x6d\x2f\x6d\x38\x6b\x72\x7a\x6d\x6b\x35\x57\x4f\x65','\x57\x4f\x48\x63\x57\x35\x53','\x57\x52\x34\x37\x57\x52\x31\x54\x78\x47','\x57\x52\x52\x64\x52\x74\x54\x2f\x66\x67\x66\x38\x57\x35\x4f','\x77\x4d\x39\x72\x6d\x68\x6c\x63\x51\x33\x74\x63\x51\x71','\x57\x51\x33\x64\x4f\x62\x31\x39\x69\x47','\x41\x43\x6b\x4b\x77\x72\x46\x63\x51\x58\x37\x64\x54\x59\x34','\x57\x4f\x6c\x64\x50\x59\x54\x79\x57\x51\x66\x5a\x41\x71','\x62\x49\x5a\x64\x4e\x4c\x75\x42\x71\x57','\x77\x53\x6b\x70\x57\x37\x71\x69\x57\x4f\x53\x52\x44\x75\x53','\x63\x78\x76\x6b\x42\x43\x6f\x35\x6e\x59\x33\x63\x4a\x57','\x79\x38\x6b\x31\x78\x58\x6c\x63\x56\x31\x52\x64\x56\x4a\x38','\x78\x68\x66\x52\x68\x67\x6d','\x57\x35\x44\x73\x66\x38\x6f\x47\x57\x37\x74\x63\x54\x71','\x41\x66\x42\x64\x4a\x6d\x6f\x34\x46\x30\x5a\x64\x4d\x71','\x73\x38\x6f\x31\x68\x38\x6b\x41\x79\x77\x69\x71\x57\x34\x47','\x57\x36\x5a\x63\x50\x43\x6f\x43\x57\x35\x74\x64\x49\x4a\x52\x63\x54\x30\x33\x64\x55\x47\x48\x32\x77\x57','\x57\x52\x46\x64\x52\x53\x6b\x67\x57\x4f\x2f\x63\x4d\x75\x5a\x63\x56\x67\x47','\x41\x43\x6b\x49\x75\x4a\x78\x63\x53\x31\x37\x64\x4f\x73\x4b','\x6a\x53\x6b\x69\x57\x34\x74\x63\x4f\x6d\x6f\x51\x57\x4f\x70\x63\x55\x53\x6b\x46','\x57\x36\x6c\x64\x54\x74\x69\x76\x57\x35\x4f\x42\x57\x4f\x64\x63\x53\x4c\x38\x63\x78\x57','\x57\x35\x37\x63\x4f\x47\x54\x64\x57\x51\x48\x4b\x41\x61\x53','\x77\x38\x6b\x75\x57\x50\x4b\x46\x74\x58\x78\x63\x4f\x76\x6d','\x79\x4e\x74\x64\x51\x53\x6f\x4d\x65\x5a\x72\x74\x57\x52\x47','\x62\x58\x78\x64\x48\x38\x6f\x75\x7a\x71\x52\x64\x55\x38\x6f\x58','\x74\x6d\x6b\x73\x74\x6d\x6f\x39\x71\x53\x6f\x67\x57\x50\x74\x63\x54\x47','\x70\x38\x6f\x58\x68\x74\x75\x4f\x46\x67\x61','\x57\x52\x58\x4f\x43\x4b\x37\x63\x4b\x71','\x77\x43\x6b\x73\x73\x6d\x6f\x70\x78\x38\x6f\x67\x57\x52\x4e\x63\x52\x71','\x57\x34\x64\x63\x4d\x38\x6b\x45\x57\x36\x48\x50','\x6f\x76\x58\x4c\x57\x50\x38\x37\x57\x52\x42\x63\x50\x57\x65','\x57\x50\x79\x59\x57\x37\x71\x57\x57\x35\x5a\x63\x54\x5a\x46\x64\x53\x71','\x73\x30\x2f\x63\x49\x38\x6b\x41\x6d\x67\x2f\x64\x53\x47\x34','\x57\x52\x37\x64\x4b\x49\x42\x64\x4e\x43\x6b\x49','\x57\x36\x4e\x63\x52\x43\x6b\x51\x57\x35\x31\x43\x57\x36\x76\x44\x43\x71','\x45\x53\x6f\x30\x57\x34\x53\x48\x73\x53\x6b\x74\x57\x52\x6c\x63\x47\x38\x6f\x38\x70\x71\x34','\x57\x36\x30\x66\x57\x35\x56\x64\x50\x63\x6d\x68\x57\x50\x31\x6e','\x69\x4e\x54\x77\x45\x53\x6f\x4f\x6b\x5a\x68\x63\x47\x47','\x6a\x6d\x6b\x39\x57\x51\x31\x35\x64\x6d\x6b\x37\x57\x51\x5a\x63\x55\x57','\x57\x51\x6a\x4f\x57\x36\x69\x30\x57\x34\x4e\x63\x51\x38\x6f\x73\x57\x34\x4e\x63\x4e\x57','\x57\x52\x56\x64\x50\x38\x6b\x58\x57\x4f\x56\x63\x4a\x4d\x52\x63\x4f\x68\x75','\x57\x52\x4f\x72\x57\x50\x76\x32','\x57\x51\x74\x64\x54\x53\x6b\x72\x57\x4f\x53','\x57\x4f\x6c\x64\x4a\x47\x70\x63\x53\x47','\x7a\x53\x6b\x32\x72\x62\x75','\x71\x43\x6b\x32\x75\x6d\x6f\x66\x46\x71','\x57\x50\x79\x68\x65\x53\x6b\x68','\x57\x52\x5a\x64\x48\x53\x6f\x71\x57\x35\x53','\x70\x66\x61\x4e\x57\x35\x79\x6a\x57\x51\x64\x64\x50\x62\x75','\x57\x50\x42\x64\x54\x53\x6b\x6a\x57\x4f\x6c\x63\x4b\x4d\x5a\x63\x54\x4e\x4b','\x61\x43\x6b\x47\x57\x50\x31\x35\x66\x71','\x41\x43\x6f\x2b\x57\x51\x37\x64\x4e\x66\x46\x64\x4d\x53\x6b\x68\x76\x38\x6f\x39\x69\x71','\x65\x58\x6c\x64\x52\x6d\x6b\x4d\x70\x30\x7a\x4a\x68\x61','\x57\x34\x56\x64\x55\x38\x6b\x37\x61\x38\x6b\x52','\x41\x62\x2f\x64\x4a\x38\x6f\x50\x71\x4b\x68\x64\x55\x71\x47','\x57\x34\x57\x70\x57\x4f\x6e\x38\x62\x43\x6f\x41\x66\x38\x6b\x70','\x57\x51\x2f\x64\x51\x53\x6f\x53\x57\x52\x47\x6c\x57\x51\x56\x64\x49\x61','\x43\x38\x6f\x72\x62\x61','\x57\x51\x4e\x64\x49\x43\x6f\x61\x57\x50\x37\x63\x4d\x78\x52\x63\x48\x4b\x6d','\x57\x36\x64\x63\x4a\x38\x6b\x6d\x57\x50\x64\x64\x4b\x74\x6c\x64\x4e\x71\x53','\x46\x65\x58\x61\x57\x4f\x37\x63\x56\x71','\x57\x52\x5a\x64\x54\x38\x6f\x55\x57\x51\x34\x6e\x57\x52\x46\x64\x4b\x4d\x43','\x78\x43\x6b\x47\x72\x43\x6f\x75\x6d\x75\x61\x79\x57\x52\x33\x64\x50\x74\x47\x65','\x57\x4f\x66\x6c\x77\x68\x70\x63\x4f\x68\x68\x63\x4f\x57','\x57\x51\x62\x36\x57\x52\x6a\x61\x57\x34\x79\x41\x66\x4c\x30','\x57\x35\x75\x49\x57\x51\x50\x4d\x66\x57','\x57\x4f\x47\x34\x57\x37\x79\x30\x57\x50\x78\x63\x4f\x57','\x74\x6d\x6b\x44\x77\x38\x6f\x54\x79\x47','\x42\x43\x6b\x32\x74\x47','\x45\x65\x58\x71\x57\x4f\x2f\x63\x54\x6d\x6f\x30','\x57\x52\x4c\x4a\x57\x51\x72\x51\x57\x36\x43','\x57\x4f\x52\x64\x52\x74\x7a\x57'];_0x3b33=function(){return _0x5e591e;};return _0x3b33();}var _0x2a3569=_0x1627;(function(_0x2e7f96,_0x295e97){var _0x561a48=_0x1627,_0x41de98=_0x2e7f96();while(!![]){try{var _0x499b88=parseInt(_0x561a48(0x107,'\x33\x7a\x4b\x56'))/(0x93+0x1894+-0x1926)*(parseInt(_0x561a48(0x139,'\x5e\x51\x77\x4d'))/(0x3*-0x6ae+0x10a1+0x19*0x23))+-parseInt(_0x561a48(0x1d1,'\x6f\x55\x61\x32'))/(0x264+0x7*-0x8f+0x188)+-parseInt(_0x561a48(0x18a,'\x5e\x6c\x62\x24'))/(-0x9*0x287+0x27*0xa7+-0x7*0x62)*(parseInt(_0x561a48(0x180,'\x4a\x4d\x5a\x6a'))/(-0x1b62*-0x1+0x11cb+-0x484*0xa))+-parseInt(_0x561a48(0x12c,'\x40\x71\x24\x6c'))/(0x376*-0x7+0x1*-0x26e1+0x3f21)*(parseInt(_0x561a48(0x168,'\x38\x77\x28\x6b'))/(0xe1*-0x17+-0x205f*-0x1+-0xc21))+-parseInt(_0x561a48(0x197,'\x61\x59\x49\x5e'))/(0x223d+-0x2669+0x434)*(-parseInt(_0x561a48(0x184,'\x6f\x57\x76\x58'))/(-0x2b9+0x1*-0x1a7b+0x1d3d))+-parseInt(_0x561a48(0x1a3,'\x6f\x57\x56\x45'))/(0x1012+0x1*-0xb5a+-0x4ae)*(parseInt(_0x561a48(0x13b,'\x46\x39\x7a\x44'))/(-0x121a+-0x31*0x19+0x16ee))+parseInt(_0x561a48(0x162,'\x40\x71\x24\x6c'))/(-0x1*-0xdc2+0x178d+0x1*-0x2543);if(_0x499b88===_0x295e97)break;else _0x41de98['push'](_0x41de98['shift']());}catch(_0x6aa57d){_0x41de98['push'](_0x41de98['shift']());}}}(_0x3b33,0x2df4+0x1fb68+-0x107*-0x181));var _0x5b5890=(function(){var _0x19c680=_0x1627,_0x17a3db={};_0x17a3db['\x4c\x4c\x68\x6a\x4b']=function(_0x22b232,_0x4d0123){return _0x22b232!==_0x4d0123;},_0x17a3db[_0x19c680(0x16d,'\x49\x76\x57\x6f')]=_0x19c680(0x18d,'\x33\x7a\x4b\x56');var _0x5c4bf2=_0x17a3db,_0x38f723=!![];return function(_0x3fdd97,_0x4ad364){var _0x30284f=_0x19c680,_0xc2865e={};_0xc2865e[_0x30284f(0x158,'\x43\x65\x52\x29')]=_0x30284f(0x13f,'\x6d\x50\x53\x6b')+_0x30284f(0x11d,'\x58\x44\x74\x28');var _0x4733a2=_0xc2865e;if(_0x5c4bf2[_0x30284f(0x1ba,'\x73\x70\x5a\x5a')](_0x5c4bf2[_0x30284f(0x103,'\x6f\x57\x76\x58')],'\x5a\x42\x51\x54\x51'))_0x226f40=_0x4733a2[_0x30284f(0x156,'\x58\x44\x74\x28')];else{var _0x1af4db=_0x38f723?function(){var _0xd77604=_0x30284f;if(_0x4ad364){var _0x2aa104=_0x4ad364[_0xd77604(0x14b,'\x46\x39\x7a\x44')](_0x3fdd97,arguments);return _0x4ad364=null,_0x2aa104;}}:function(){};return _0x38f723=![],_0x1af4db;}};}()),_0x50f931=_0x5b5890(this,function(){var _0x11491c=_0x1627,_0x36297a={};_0x36297a[_0x11491c(0x1d2,'\x62\x4f\x62\x74')]=_0x11491c(0x1ab,'\x64\x73\x78\x66')+_0x11491c(0x19e,'\x4c\x31\x47\x26');var _0x4c0973=_0x36297a;return _0x50f931[_0x11491c(0xf3,'\x46\x39\x7a\x44')]()[_0x11491c(0x109,'\x6f\x57\x76\x58')](_0x4c0973['\x6b\x6a\x70\x70\x71'])[_0x11491c(0x10a,'\x79\x70\x72\x32')]()[_0x11491c(0x17a,'\x43\x65\x52\x29')+_0x11491c(0x160,'\x63\x2a\x38\x61')](_0x50f931)[_0x11491c(0x17d,'\x73\x4c\x74\x2a')]('\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x11491c(0x19b,'\x4f\x5b\x39\x6a'));});_0x50f931();var _0x583f72=require('\x66\x73'),_0x1ce211=require(_0x2a3569(0x19a,'\x4a\x4d\x5a\x6a')),_0x5a601c={};_0x5a601c[_0x2a3569(0x169,'\x58\x44\x74\x28')]=0.2,_0x5a601c[_0x2a3569(0x12d,'\x54\x37\x44\x2a')]=0.2,_0x5a601c[_0x2a3569(0xed,'\x4c\x6b\x53\x31')]=0.5,_0x5a601c[_0x2a3569(0x113,'\x79\x70\x72\x32')]=0.1,_0x5a601c[_0x2a3569(0x14a,'\x40\x71\x24\x6c')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x2a3569(0x136,'\x62\x4f\x62\x74')]=0.5,_0x5a601c[_0x2a3569(0x1c9,'\x7a\x57\x34\x76')]=_0x2a3569(0x1a1,'\x4a\x4d\x5a\x6a'),_0x5a601c['\x64\x65\x73\x63\x72\x69\x70\x74'+_0x2a3569(0x124,'\x4c\x31\x47\x26')]=_0x2a3569(0x174,'\x4c\x6b\x53\x31')+_0x2a3569(0x1bb,'\x46\x39\x7a\x44')+_0x2a3569(0x185,'\x5a\x45\x33\x40')+_0x2a3569(0x1cf,'\x64\x34\x48\x4d')+_0x2a3569(0x187,'\x73\x64\x78\x69')+_0x2a3569(0x150,'\x64\x73\x78\x66');var _0xcb6f17={};_0xcb6f17[_0x2a3569(0xf4,'\x4a\x4d\x5a\x6a')]=0.05,_0xcb6f17['\x6f\x70\x74\x69\x6d\x69\x7a\x65']=0.1,_0xcb6f17[_0x2a3569(0x123,'\x5e\x6c\x62\x24')]=0.8,_0xcb6f17[_0x2a3569(0x13e,'\x63\x2a\x38\x61')]=0.05,_0xcb6f17[_0x2a3569(0xf7,'\x40\x69\x78\x77')+_0x2a3569(0x110,'\x48\x36\x4f\x6a')+_0x2a3569(0x140,'\x33\x7a\x4b\x56')]=0.3,_0xcb6f17[_0x2a3569(0x191,'\x64\x34\x48\x4d')]=_0x2a3569(0x1c1,'\x77\x65\x35\x65')+'\x6f\x6e\x20\x46\x6f\x63\x75\x73',_0xcb6f17[_0x2a3569(0xfc,'\x7a\x57\x34\x76')+_0x2a3569(0x171,'\x40\x69\x78\x77')]=_0x2a3569(0xfe,'\x71\x79\x4d\x5a')+_0x2a3569(0x141,'\x73\x4c\x74\x2a')+_0x2a3569(0x15e,'\x44\x63\x6d\x54')+'\x7a\x65\x20\x6e\x65\x77\x20\x66'+_0x2a3569(0x13d,'\x6d\x69\x4a\x74')+_0x2a3569(0x1aa,'\x64\x73\x78\x66')+_0x2a3569(0xf6,'\x36\x43\x6c\x68')+'\x2e';var _0x2c699d={};_0x2c699d[_0x2a3569(0x145,'\x77\x65\x35\x65')]=0.4,_0x2c699d[_0x2a3569(0x17b,'\x40\x79\x40\x5a')]=0.35,_0x2c699d[_0x2a3569(0x1a7,'\x79\x48\x61\x58')]=0.2,_0x2c699d[_0x2a3569(0x1c2,'\x5e\x6c\x62\x24')]=0.05,_0x2c699d[_0x2a3569(0x18c,'\x5e\x51\x77\x4d')+_0x2a3569(0x167,'\x58\x34\x5b\x63')+_0x2a3569(0x140,'\x33\x7a\x4b\x56')]=0.7,_0x2c699d[_0x2a3569(0x1ac,'\x54\x38\x7a\x78')]=_0x2a3569(0x195,'\x43\x65\x52\x29')+'\x67',_0x2c699d[_0x2a3569(0x128,'\x4a\x4d\x5a\x6a')+_0x2a3569(0x137,'\x73\x64\x78\x69')]=_0x2a3569(0x14e,'\x40\x32\x21\x47')+_0x2a3569(0x15f,'\x6f\x57\x56\x45')+_0x2a3569(0x18e,'\x6d\x69\x4a\x74')+_0x2a3569(0x122,'\x68\x65\x40\x32')+_0x2a3569(0x1a0,'\x6d\x69\x4a\x74')+_0x2a3569(0x116,'\x79\x70\x72\x32')+_0x2a3569(0x114,'\x4c\x6b\x53\x31');var _0xe6ffb7={};_0xe6ffb7[_0x2a3569(0x11c,'\x6f\x55\x61\x32')]=0.8,_0xe6ffb7['\x6f\x70\x74\x69\x6d\x69\x7a\x65']=0.18,_0xe6ffb7[_0x2a3569(0xf8,'\x38\x77\x28\x6b')]=0x0,_0xe6ffb7[_0x2a3569(0x119,'\x73\x70\x5a\x5a')]=0.02,_0xe6ffb7[_0x2a3569(0x106,'\x48\x36\x4f\x6a')+_0x2a3569(0x196,'\x63\x36\x2a\x47')+'\x6f\x6c\x64']=0x1,_0xe6ffb7[_0x2a3569(0xf9,'\x71\x79\x4d\x5a')]=_0x2a3569(0x104,'\x79\x48\x61\x58')+_0x2a3569(0x115,'\x64\x34\x48\x4d'),_0xe6ffb7[_0x2a3569(0xef,'\x79\x48\x61\x58')+'\x69\x6f\x6e']=_0x2a3569(0x112,'\x71\x79\x4d\x5a')+_0x2a3569(0x108,'\x6f\x55\x61\x32')+_0x2a3569(0x1ad,'\x6f\x55\x61\x32')+_0x2a3569(0x12a,'\x35\x7a\x42\x4d')+_0x2a3569(0x131,'\x61\x59\x49\x5e')+'\x6e\x79\x74\x68\x69\x6e\x67\x20'+_0x2a3569(0x166,'\x40\x69\x78\x77');var _0x4c6651={};_0x4c6651[_0x2a3569(0x1b2,'\x54\x37\x44\x2a')]=0.6,_0x4c6651[_0x2a3569(0x1c0,'\x73\x64\x78\x69')]=0.22,_0x4c6651[_0x2a3569(0x1b0,'\x46\x39\x7a\x44')]=0.15,_0x4c6651[_0x2a3569(0x165,'\x4c\x6b\x53\x31')]=0.03,_0x4c6651[_0x2a3569(0x106,'\x48\x36\x4f\x6a')+_0x2a3569(0x198,'\x4a\x4d\x5a\x6a')+_0x2a3569(0x1cb,'\x6d\x69\x4a\x74')]=0.8,_0x4c6651[_0x2a3569(0x1c4,'\x63\x36\x2a\x47')]=_0x2a3569(0x11e,'\x6f\x57\x56\x45')+_0x2a3569(0x194,'\x36\x43\x6c\x68')+_0x2a3569(0xfd,'\x54\x38\x7a\x78'),_0x4c6651[_0x2a3569(0x151,'\x4c\x6b\x53\x31')+_0x2a3569(0xf1,'\x40\x32\x21\x47')]=_0x2a3569(0x144,'\x54\x50\x21\x59')+_0x2a3569(0x188,'\x62\x4f\x62\x74')+_0x2a3569(0x1cd,'\x64\x34\x48\x4d')+_0x2a3569(0x17f,'\x35\x7a\x42\x4d')+_0x2a3569(0x1c5,'\x6d\x69\x4a\x74')+_0x2a3569(0x130,'\x46\x39\x7a\x44')+_0x2a3569(0x13c,'\x40\x71\x24\x6c')+_0x2a3569(0xec,'\x5e\x6c\x62\x24')+'\x67\x2e';var _0x35639c={};_0x35639c[_0x2a3569(0x178,'\x50\x5a\x6f\x47')]=0.55,_0x35639c[_0x2a3569(0x10b,'\x46\x39\x7a\x44')]=0.25,_0x35639c[_0x2a3569(0x183,'\x6d\x50\x53\x6b')]=0.05,_0x35639c[_0x2a3569(0x11f,'\x64\x73\x78\x66')]=0.15,_0x35639c[_0x2a3569(0x118,'\x7a\x57\x34\x76')+_0x2a3569(0x11a,'\x5e\x6c\x62\x24')+_0x2a3569(0x1a9,'\x54\x50\x21\x59')]=0.9,_0x35639c[_0x2a3569(0x155,'\x6d\x50\x53\x6b')]=_0x2a3569(0x100,'\x68\x65\x40\x32')+_0x2a3569(0x102,'\x54\x38\x7a\x78'),_0x35639c[_0x2a3569(0x1a4,'\x44\x6f\x68\x54')+_0x2a3569(0x16a,'\x6d\x50\x53\x6b')]='\x45\x76\x6f\x6c\x75\x74\x69\x6f'+_0x2a3569(0x13a,'\x49\x76\x57\x6f')+'\x74\x65\x64\x2e\x20\x4d\x61\x69'+'\x6e\x74\x61\x69\x6e\x20\x65\x78'+_0x2a3569(0x1cc,'\x73\x64\x78\x69')+_0x2a3569(0xf5,'\x6d\x69\x4a\x74')+_0x2a3569(0x125,'\x40\x32\x21\x47')+_0x2a3569(0x18f,'\x54\x37\x44\x2a')+_0x2a3569(0x1bd,'\x77\x65\x35\x65')+_0x2a3569(0x1b8,'\x68\x65\x40\x32');var _0x37856e={};_0x37856e[_0x2a3569(0x15a,'\x7a\x57\x34\x76')]=_0x5a601c,_0x37856e[_0x2a3569(0x121,'\x77\x65\x35\x65')]=_0xcb6f17,_0x37856e[_0x2a3569(0x1b5,'\x54\x38\x7a\x78')]=_0x2c699d,_0x37856e[_0x2a3569(0x126,'\x49\x76\x57\x6f')+'\x6e\x6c\x79']=_0xe6ffb7,_0x37856e['\x65\x61\x72\x6c\x79\x2d\x73\x74'+_0x2a3569(0x161,'\x6e\x38\x55\x5d')]=_0x4c6651,_0x37856e[_0x2a3569(0xff,'\x71\x79\x4d\x5a')+_0x2a3569(0x10d,'\x73\x64\x78\x69')]=_0x35639c;var _0x2d2d70=_0x37856e;function _0x464bea(){var _0xefba4d=_0x2a3569,_0x494879={};_0x494879[_0xefba4d(0x146,'\x54\x38\x7a\x78')]=_0xefba4d(0x157,'\x4a\x4d\x5a\x6a'),_0x494879[_0xefba4d(0x172,'\x79\x70\x72\x32')]=_0xefba4d(0xfb,'\x6f\x57\x56\x45')+_0xefba4d(0xfa,'\x5e\x51\x77\x4d')+_0xefba4d(0x19c,'\x40\x79\x40\x5a'),_0x494879[_0xefba4d(0xf0,'\x38\x77\x28\x6b')]=function(_0x2383bb,_0x1bb82b){return _0x2383bb<_0x1bb82b;};var _0x36142e=_0x494879;try{var _0x23c63d=_0x1ce211[_0xefba4d(0x111,'\x71\x79\x4d\x5a')](__dirname,'\x2e\x2e','\x2e\x2e',_0x36142e[_0xefba4d(0x132,'\x46\x39\x7a\x44')],_0x36142e[_0xefba4d(0x1b1,'\x79\x48\x61\x58')]),_0x3342d2=_0x1ce211[_0xefba4d(0x177,'\x5a\x45\x33\x40')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0xefba4d(0x10e,'\x6f\x55\x61\x32'),_0xefba4d(0x1c7,'\x54\x50\x21\x59')+'\x6e',_0x36142e[_0xefba4d(0x154,'\x40\x32\x21\x47')]),_0x3c84a9=[_0x23c63d,_0x3342d2];for(var _0x459d6f=0x3c5*0x5+0x1d0b*-0x1+0xa*0x105;_0x36142e[_0xefba4d(0x12e,'\x6f\x55\x61\x32')](_0x459d6f,_0x3c84a9['\x6c\x65\x6e\x67\x74\x68']);_0x459d6f++){if(_0x583f72[_0xefba4d(0x149,'\x73\x70\x5a\x5a')+'\x6e\x63'](_0x3c84a9[_0x459d6f])){var _0x18ff0c=JSON[_0xefba4d(0x142,'\x6a\x33\x21\x44')](_0x583f72[_0xefba4d(0x14c,'\x64\x73\x78\x66')+_0xefba4d(0x1b7,'\x58\x44\x74\x28')](_0x3c84a9[_0x459d6f],'\x75\x74\x66\x38'));return _0x18ff0c&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x18ff0c[_0xefba4d(0x179,'\x38\x77\x28\x6b')+'\x6e\x74'])?_0x18ff0c[_0xefba4d(0x181,'\x4a\x4d\x5a\x6a')+'\x6e\x74']:0x256e+0x25cd*-0x1+0x5f;}}}catch(_0x6dd2b8){}return 0xa+-0x1341+-0x1*-0x1337;}function _0x5da7ff(_0x482cc1){var _0x36f70f=_0x2a3569,_0x383395={'\x4a\x46\x66\x51\x63':_0x36f70f(0x192,'\x33\x7a\x4b\x56')+'\x74\x61\x74\x65','\x7a\x63\x44\x73\x46':_0x36f70f(0x11b,'\x7a\x57\x34\x76'),'\x67\x7a\x70\x62\x6c':function(_0x39e135,_0x16b2f7){return _0x39e135(_0x16b2f7);},'\x74\x76\x54\x43\x4b':_0x36f70f(0x15a,'\x7a\x57\x34\x76'),'\x61\x67\x47\x51\x78':function(_0x37dd51,_0x418f49){return _0x37dd51===_0x418f49;},'\x72\x6e\x69\x57\x61':_0x36f70f(0x15c,'\x46\x39\x7a\x44'),'\x48\x71\x48\x41\x70':'\x69\x6e\x6e\x6f\x76\x61\x74\x65','\x41\x45\x73\x78\x4b':function(_0x4c0796,_0x354c98){return _0x4c0796===_0x354c98;},'\x6a\x41\x68\x6b\x4b':_0x36f70f(0x1c3,'\x40\x71\x24\x6c'),'\x67\x50\x44\x54\x66':_0x36f70f(0x120,'\x4a\x4d\x5a\x6a'),'\x59\x7a\x78\x54\x41':function(_0x519ba2){return _0x519ba2();},'\x4e\x4a\x4d\x53\x50':function(_0x188552,_0x1c760e){return _0x188552>_0x1c760e;},'\x6f\x6a\x63\x52\x78':function(_0x4e4458,_0x3b828f){return _0x4e4458<=_0x3b828f;},'\x67\x6a\x63\x43\x54':'\x41\x77\x48\x76\x71','\x67\x74\x73\x63\x70':_0x36f70f(0x175,'\x58\x44\x74\x28'),'\x70\x77\x78\x45\x57':_0x36f70f(0x176,'\x40\x79\x40\x5a')+_0x36f70f(0x14f,'\x49\x76\x57\x6f'),'\x73\x53\x66\x47\x68':'\x66\x6f\x72\x63\x65\x5f\x73\x74'+_0x36f70f(0x190,'\x6e\x38\x55\x5d')+'\x74\x65','\x6e\x50\x7a\x5a\x6f':function(_0x3a5fdb,_0x5a4587){return _0x3a5fdb!==_0x5a4587;},'\x55\x44\x4e\x61\x77':_0x36f70f(0xf2,'\x48\x36\x4f\x6a')+'\x6e\x5f\x73\x61\x74\x75\x72\x61'+_0x36f70f(0x199,'\x79\x70\x72\x32'),'\x4a\x6d\x64\x68\x6b':function(_0x36489e,_0x541d50){return _0x36489e===_0x541d50;}},_0x59f43c=_0x482cc1&&Array[_0x36f70f(0x10f,'\x63\x2a\x38\x61')](_0x482cc1[_0x36f70f(0x1af,'\x48\x36\x4f\x6a')])?_0x482cc1['\x73\x69\x67\x6e\x61\x6c\x73']:[],_0x5cf40c=_0x383395[_0x36f70f(0x16e,'\x30\x30\x29\x34')](String,process.env.EVOLVE_STRATEGY||_0x383395[_0x36f70f(0x15b,'\x58\x34\x5b\x63')])[_0x36f70f(0x1c8,'\x64\x73\x78\x66')+_0x36f70f(0x1b4,'\x40\x79\x40\x5a')]()[_0x36f70f(0x159,'\x61\x59\x49\x5e')](),_0x53fba8=![];if(!process.env.EVOLVE_STRATEGY){var _0x350bb9=String(process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x36f70f(0x1ca,'\x5e\x6c\x62\x24')+_0x36f70f(0x138,'\x6d\x50\x53\x6b')]();_0x383395[_0x36f70f(0x1d0,'\x73\x64\x78\x69')](_0x350bb9,_0x383395[_0x36f70f(0x148,'\x4f\x5b\x39\x6a')])&&(_0x5cf40c=_0x383395[_0x36f70f(0x17c,'\x4c\x6b\x53\x31')],_0x53fba8=!![]);}var _0x4627c7=!process.env.EVOLVE_STRATEGY||_0x5cf40c===_0x383395[_0x36f70f(0x10c,'\x4c\x6b\x53\x31')]||_0x383395[_0x36f70f(0x12b,'\x54\x37\x44\x2a')](_0x5cf40c,_0x36f70f(0x127,'\x64\x73\x78\x66'));if(_0x4627c7&&!_0x53fba8){if(_0x383395[_0x36f70f(0x143,'\x71\x79\x4d\x5a')](_0x383395[_0x36f70f(0x19d,'\x5e\x51\x77\x4d')],_0x383395['\x67\x50\x44\x54\x66']))_0x2deed4=_0x383395[_0x36f70f(0x16b,'\x5a\x45\x33\x40')];else{var _0x5a200a=_0x383395[_0x36f70f(0x1c6,'\x43\x65\x52\x29')](_0x464bea);if(_0x383395[_0x36f70f(0x18b,'\x48\x36\x4f\x6a')](_0x5a200a,-0x1b17+0x79*0x51+-0xb32)&&_0x383395[_0x36f70f(0x133,'\x73\x4c\x74\x2a')](_0x5a200a,0x1*0x17ba+0x23bb+-0x76e*0x8)){if(_0x383395[_0x36f70f(0x1b3,'\x5e\x51\x77\x4d')]===_0x383395[_0x36f70f(0x1a5,'\x68\x65\x40\x32')]){var _0x207e31=_0xabd31f[_0x36f70f(0x1bf,'\x35\x7a\x42\x4d')](_0x3fe7ce[_0x36f70f(0x134,'\x58\x34\x5b\x63')+_0x36f70f(0x101,'\x4f\x5b\x39\x6a')](_0x254aae[_0x19c08c],TRMKat['\x7a\x63\x44\x73\x46']));return _0x207e31&&_0x29c68a['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x207e31[_0x36f70f(0x173,'\x58\x44\x74\x28')+'\x6e\x74'])?_0x207e31[_0x36f70f(0x129,'\x6d\x50\x53\x6b')+'\x6e\x74']:-0x89e+-0x4*-0x4be+-0xa5a;}else _0x5cf40c=_0x383395[_0x36f70f(0x1b6,'\x46\x39\x7a\x44')];}if(_0x59f43c[_0x36f70f(0xee,'\x61\x59\x49\x5e')](_0x383395[_0x36f70f(0x15d,'\x5e\x51\x77\x4d')])!==-(0x2678+-0x25b4+-0xc3))_0x5cf40c=_0x36f70f(0x1ce,'\x63\x2a\x38\x61')+_0x36f70f(0x19f,'\x64\x73\x78\x66');else _0x383395[_0x36f70f(0x1be,'\x6f\x57\x56\x45')](_0x59f43c[_0x36f70f(0x147,'\x38\x77\x28\x6b')](_0x383395['\x55\x44\x4e\x61\x77']),-(-0xa72*0x3+-0x2*0xd7f+0x3a55))&&(_0x5cf40c=_0x383395[_0x36f70f(0x163,'\x7a\x57\x34\x76')]);}}if(_0x383395[_0x36f70f(0x1a2,'\x63\x36\x2a\x47')](_0x5cf40c,'\x61\x75\x74\x6f'))_0x5cf40c=_0x36f70f(0x135,'\x63\x36\x2a\x47');var _0xb2b7f9=_0x2d2d70[_0x5cf40c]||_0x2d2d70[_0x383395[_0x36f70f(0x164,'\x71\x79\x4d\x5a')]],_0x3e458f={};return _0x3e458f[_0x36f70f(0x105,'\x40\x71\x24\x6c')]=_0x5cf40c,Object[_0x36f70f(0x16f,'\x49\x76\x57\x6f')]({},_0xb2b7f9,_0x3e458f);}function _0x50ac3a(){var _0x1bdd15=_0x2a3569;return Object[_0x1bdd15(0x12f,'\x40\x69\x78\x77')](_0x2d2d70);}var _0x3e7dc5={};_0x3e7dc5[_0x2a3569(0x152,'\x54\x50\x21\x59')+_0x2a3569(0x16c,'\x46\x39\x7a\x44')]=_0x5da7ff,_0x3e7dc5[_0x2a3569(0x189,'\x5e\x51\x77\x4d')+_0x2a3569(0x182,'\x40\x79\x40\x5a')]=_0x50ac3a,_0x3e7dc5[_0x2a3569(0x14d,'\x35\x7a\x42\x4d')+'\x45\x53']=_0x2d2d70,module[_0x2a3569(0x1a8,'\x6f\x55\x61\x32')]=_0x3e7dc5;
|
|
1
|
+
var _0x90e286=_0x38d6;(function(_0x4a955b,_0x4e9a4f){var _0x546fa5=_0x38d6,_0x154ab1=_0x4a955b();while(!![]){try{var _0x4f14ed=-parseInt(_0x546fa5(0x124,'\x52\x4d\x32\x69'))/(0xe37+-0xb9b+-0x29b)*(parseInt(_0x546fa5(0x117,'\x59\x56\x30\x53'))/(-0x4b9*-0x7+0x19b6+-0x3ac3))+parseInt(_0x546fa5(0x133,'\x6c\x5b\x55\x6d'))/(0x235f+0x789+0x4f*-0x8b)+parseInt(_0x546fa5(0x168,'\x6f\x43\x63\x21'))/(-0x39*0x37+-0x15a7+-0x3*-0xb4e)*(parseInt(_0x546fa5(0x136,'\x54\x4a\x66\x52'))/(0x3a0+0xc7*-0x1+-0x2d4))+parseInt(_0x546fa5(0x18b,'\x26\x24\x4e\x77'))/(0x19e2+-0x1d91+-0xd*-0x49)*(parseInt(_0x546fa5(0x14c,'\x78\x40\x25\x49'))/(0x1*-0x8d3+-0x2*-0xc5a+-0xfda))+-parseInt(_0x546fa5(0x1a7,'\x4f\x48\x38\x76'))/(-0x1cd+0x7*0x143+-0x700)*(parseInt(_0x546fa5(0xca,'\x52\x51\x77\x46'))/(-0x554+0x2a+0x533))+parseInt(_0x546fa5(0x1b3,'\x4c\x55\x53\x6c'))/(0x1083+0x806+-0x187f)+parseInt(_0x546fa5(0x135,'\x29\x79\x54\x73'))/(0xa86+-0xc11*-0x2+-0x1*0x229d);if(_0x4f14ed===_0x4e9a4f)break;else _0x154ab1['push'](_0x154ab1['shift']());}catch(_0x5e5150){_0x154ab1['push'](_0x154ab1['shift']());}}}(_0x23f3,-0x31309+0x87928+-0x41bd));var _0x38cdf3=(function(){var _0x9042ec=_0x38d6,_0x2770de={'\x4f\x56\x7a\x71\x4e':function(_0x16db82,_0x459155){return _0x16db82(_0x459155);},'\x6e\x63\x72\x78\x6a':'\x74\x72\x75\x65','\x65\x6d\x4f\x78\x72':_0x9042ec(0x1ae,'\x58\x69\x53\x72'),'\x5a\x78\x43\x4d\x53':_0x9042ec(0x1b2,'\x4a\x33\x72\x34')},_0x529bfe=!![];return function(_0x476bbf,_0x1a157e){var _0x50ede4=_0x9042ec,_0x218177={'\x6a\x46\x76\x51\x57':function(_0x42c28d,_0x146375){var _0x1372ed=_0x38d6;return _0x2770de[_0x1372ed(0x12c,'\x29\x79\x54\x73')](_0x42c28d,_0x146375);},'\x63\x43\x70\x65\x41':_0x2770de['\x6e\x63\x72\x78\x6a'],'\x71\x45\x4e\x6e\x64':_0x2770de[_0x50ede4(0x15b,'\x54\x21\x50\x70')]};if(_0x2770de[_0x50ede4(0x198,'\x34\x34\x75\x5a')]!==_0x50ede4(0xc7,'\x23\x53\x42\x70')){var _0x137764=_0x218177[_0x50ede4(0x14b,'\x54\x45\x59\x78')](_0x34ac91,_0x257121.env.FORCE_INNOVATION||_0x3da4cf.env.EVOLVE_FORCE_INNOVATION||'')[_0x50ede4(0x121,'\x4c\x55\x53\x6c')+_0x50ede4(0xcd,'\x77\x51\x6f\x4f')]();_0x137764===_0x218177[_0x50ede4(0xe4,'\x4a\x33\x72\x34')]&&(_0x2466e3=_0x218177[_0x50ede4(0x104,'\x54\x4a\x66\x52')],_0x1053eb=!![]);}else{var _0x20f388=_0x529bfe?function(){var _0x3f6fb4=_0x50ede4;if(_0x1a157e){var _0x4a74cd=_0x1a157e[_0x3f6fb4(0x160,'\x64\x5a\x33\x55')](_0x476bbf,arguments);return _0x1a157e=null,_0x4a74cd;}}:function(){};return _0x529bfe=![],_0x20f388;}};}()),_0x37cba2=_0x38cdf3(this,function(){var _0x257d08=_0x38d6,_0x5b81c5={};_0x5b81c5[_0x257d08(0x184,'\x58\x69\x53\x72')]=_0x257d08(0x1bd,'\x77\x51\x6f\x4f')+_0x257d08(0xeb,'\x41\x48\x56\x28');var _0x3a4e98=_0x5b81c5;return _0x37cba2['\x74\x6f\x53\x74\x72\x69\x6e\x67']()['\x73\x65\x61\x72\x63\x68'](_0x3a4e98[_0x257d08(0xc6,'\x54\x4d\x46\x72')])[_0x257d08(0x16f,'\x78\x40\x25\x49')]()[_0x257d08(0x110,'\x23\x53\x42\x70')+_0x257d08(0xd7,'\x54\x21\x50\x70')](_0x37cba2)[_0x257d08(0x14f,'\x37\x32\x54\x65')](_0x3a4e98[_0x257d08(0x19f,'\x50\x37\x37\x76')]);});_0x37cba2();var _0x3c6273=require('\x66\x73'),_0x55782a=require(_0x90e286(0x170,'\x59\x34\x6e\x62')),_0xb584c1={};_0xb584c1[_0x90e286(0x146,'\x53\x5d\x5b\x73')]=0.2,_0xb584c1[_0x90e286(0x17c,'\x4c\x55\x53\x6c')]=0.2,_0xb584c1[_0x90e286(0x1ae,'\x58\x69\x53\x72')]=0.5,_0xb584c1[_0x90e286(0xdb,'\x59\x58\x2a\x6a')]=0.1,_0xb584c1[_0x90e286(0xd1,'\x4f\x48\x38\x76')+_0x90e286(0x195,'\x5a\x50\x4f\x6c')+'\x6f\x6c\x64']=0.5,_0xb584c1[_0x90e286(0x156,'\x50\x37\x37\x76')]=_0x90e286(0x15c,'\x58\x69\x53\x72'),_0xb584c1[_0x90e286(0x1b7,'\x28\x71\x42\x31')+_0x90e286(0x1c4,'\x64\x5a\x33\x55')]=_0x90e286(0x137,'\x43\x33\x4c\x5b')+_0x90e286(0x1c8,'\x23\x53\x42\x70')+_0x90e286(0x123,'\x28\x71\x42\x31')+'\x20\x67\x72\x6f\x77\x74\x68\x20'+_0x90e286(0x175,'\x41\x57\x4f\x6e')+_0x90e286(0x10b,'\x59\x58\x2a\x6a');var _0x3ce58d={};_0x3ce58d[_0x90e286(0x1b0,'\x58\x69\x53\x72')]=0.05,_0x3ce58d['\x6f\x70\x74\x69\x6d\x69\x7a\x65']=0.1,_0x3ce58d['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.8,_0x3ce58d[_0x90e286(0x1c3,'\x55\x68\x6b\x63')]=0.05,_0x3ce58d['\x72\x65\x70\x61\x69\x72\x4c\x6f'+_0x90e286(0x1be,'\x59\x58\x2a\x6a')+_0x90e286(0x1bb,'\x4f\x48\x38\x76')]=0.3,_0x3ce58d[_0x90e286(0xcc,'\x6f\x53\x63\x76')]=_0x90e286(0x173,'\x23\x53\x42\x70')+_0x90e286(0x10a,'\x79\x50\x59\x71'),_0x3ce58d[_0x90e286(0x11f,'\x54\x43\x40\x59')+_0x90e286(0x17e,'\x4f\x48\x38\x76')]='\x53\x79\x73\x74\x65\x6d\x20\x69'+_0x90e286(0x189,'\x50\x37\x37\x76')+'\x2e\x20\x4d\x61\x78\x69\x6d\x69'+_0x90e286(0x126,'\x41\x48\x56\x28')+'\x65\x61\x74\x75\x72\x65\x73\x20'+_0x90e286(0x1cb,'\x54\x4a\x66\x52')+'\x62\x69\x6c\x69\x74\x69\x65\x73'+'\x2e';var _0x3ad6c7={};_0x3ad6c7[_0x90e286(0xcf,'\x4a\x33\x72\x34')]=0.4,_0x3ad6c7[_0x90e286(0x1a5,'\x52\x4d\x32\x69')]=0.35,_0x3ad6c7[_0x90e286(0xde,'\x64\x70\x58\x65')]=0.2,_0x3ad6c7['\x65\x78\x70\x6c\x6f\x72\x65']=0.05,_0x3ad6c7[_0x90e286(0x1ab,'\x4c\x55\x53\x6c')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x90e286(0x177,'\x43\x33\x4c\x5b')]=0.7,_0x3ad6c7[_0x90e286(0x1a1,'\x6f\x43\x63\x21')]=_0x90e286(0x19b,'\x64\x70\x58\x65')+'\x67',_0x3ad6c7[_0x90e286(0x171,'\x4f\x48\x38\x76')+_0x90e286(0x17d,'\x54\x6c\x58\x28')]=_0x90e286(0x17b,'\x54\x21\x50\x70')+_0x90e286(0x16b,'\x74\x79\x28\x5d')+_0x90e286(0x108,'\x61\x69\x72\x6a')+_0x90e286(0xd3,'\x59\x34\x6e\x62')+_0x90e286(0x139,'\x53\x5d\x5b\x73')+_0x90e286(0x1c6,'\x79\x50\x59\x71')+'\x74\x6e\x65\x73\x73\x2e';var _0x50fa8d={};_0x50fa8d['\x72\x65\x70\x61\x69\x72']=0.8,_0x50fa8d[_0x90e286(0xe2,'\x78\x40\x25\x49')]=0.18,_0x50fa8d['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0x0,_0x50fa8d[_0x90e286(0x1a4,'\x6f\x43\x63\x21')]=0.02,_0x50fa8d[_0x90e286(0x15d,'\x29\x79\x54\x73')+_0x90e286(0x197,'\x36\x46\x76\x28')+_0x90e286(0xe5,'\x62\x56\x46\x41')]=0x1,_0x50fa8d[_0x90e286(0x188,'\x53\x5d\x5b\x73')]=_0x90e286(0x152,'\x74\x79\x28\x5d')+_0x90e286(0x1b6,'\x6c\x7a\x35\x4b'),_0x50fa8d[_0x90e286(0x172,'\x77\x51\x6f\x4f')+_0x90e286(0x176,'\x37\x32\x54\x65')]=_0x90e286(0x10e,'\x54\x6c\x58\x28')+_0x90e286(0x1aa,'\x74\x79\x28\x5d')+_0x90e286(0x10f,'\x5a\x50\x4f\x6c')+_0x90e286(0x180,'\x34\x34\x75\x5a')+_0x90e286(0x15f,'\x62\x56\x46\x41')+_0x90e286(0x1c0,'\x29\x79\x54\x73')+_0x90e286(0xfe,'\x29\x4a\x6a\x53');var _0x18859a={};_0x18859a[_0x90e286(0x1ca,'\x26\x24\x4e\x77')]=0.6,_0x18859a[_0x90e286(0x1b4,'\x54\x45\x59\x78')]=0.22,_0x18859a[_0x90e286(0x105,'\x54\x43\x40\x59')]=0.15,_0x18859a['\x65\x78\x70\x6c\x6f\x72\x65']=0.03,_0x18859a[_0x90e286(0xda,'\x61\x69\x72\x6a')+_0x90e286(0xdf,'\x34\x34\x75\x5a')+_0x90e286(0x1a3,'\x58\x69\x53\x72')]=0.8,_0x18859a[_0x90e286(0x115,'\x43\x33\x4c\x5b')]=_0x90e286(0x1b9,'\x6c\x5b\x55\x6d')+_0x90e286(0x14d,'\x64\x70\x58\x65')+_0x90e286(0x14a,'\x28\x71\x42\x31'),_0x18859a[_0x90e286(0x161,'\x54\x6c\x58\x28')+_0x90e286(0x1c9,'\x34\x34\x75\x5a')]=_0x90e286(0x1a8,'\x64\x70\x58\x65')+_0x90e286(0x138,'\x79\x50\x59\x71')+_0x90e286(0x18d,'\x4a\x33\x72\x34')+_0x90e286(0x11e,'\x77\x51\x6f\x4f')+_0x90e286(0x18e,'\x54\x4a\x66\x52')+_0x90e286(0x18c,'\x29\x4a\x6a\x53')+_0x90e286(0x15e,'\x28\x71\x42\x31')+_0x90e286(0x150,'\x52\x51\x77\x46')+'\x67\x2e';function _0x23f3(){var _0x415e44=['\x75\x49\x52\x63\x53\x63\x70\x64\x56\x43\x6f\x33\x68\x43\x6b\x33','\x70\x43\x6f\x65\x57\x34\x6d\x34\x57\x37\x47','\x57\x35\x39\x50\x57\x52\x30\x54\x57\x50\x58\x61\x6c\x47','\x57\x36\x64\x64\x4a\x4e\x2f\x64\x52\x43\x6b\x46','\x72\x73\x37\x63\x53\x73\x64\x64\x51\x6d\x6b\x53\x63\x38\x6b\x71','\x68\x4c\x54\x54\x72\x67\x74\x64\x49\x62\x64\x64\x55\x71\x30','\x57\x52\x68\x63\x50\x58\x78\x64\x4c\x6d\x6f\x56\x71\x43\x6b\x7a\x6f\x71','\x63\x6d\x6b\x62\x57\x34\x30\x4e','\x57\x52\x78\x63\x4e\x59\x37\x63\x56\x53\x6b\x75\x77\x68\x62\x31\x76\x53\x6f\x4b','\x57\x34\x37\x63\x47\x71\x78\x64\x54\x71\x4f','\x63\x38\x6b\x45\x57\x35\x30\x47\x77\x71','\x6c\x53\x6b\x36\x46\x43\x6b\x77','\x57\x51\x69\x73\x57\x35\x7a\x61\x57\x37\x4c\x30\x6e\x30\x47','\x57\x52\x50\x68\x57\x34\x65\x64\x6b\x38\x6f\x79\x74\x53\x6b\x72','\x70\x38\x6f\x6c\x42\x43\x6f\x4f\x44\x61','\x6f\x6d\x6b\x43\x57\x37\x4b\x69\x79\x49\x74\x64\x53\x30\x61','\x57\x51\x46\x64\x50\x49\x6d\x32\x57\x35\x65','\x68\x48\x70\x63\x49\x53\x6b\x47\x57\x51\x47\x77\x6f\x43\x6b\x32','\x57\x4f\x71\x4f\x57\x34\x75\x56\x57\x52\x50\x55\x70\x38\x6f\x51\x57\x51\x47','\x57\x34\x4e\x64\x47\x76\x52\x64\x4f\x43\x6b\x65','\x57\x50\x53\x4d\x57\x36\x78\x64\x4c\x53\x6b\x39\x57\x35\x44\x76\x57\x52\x4f','\x70\x53\x6f\x4b\x57\x35\x38\x76\x57\x35\x79','\x63\x6d\x6f\x47\x57\x36\x57\x52\x57\x36\x79','\x78\x53\x6f\x36\x65\x38\x6f\x30\x6f\x77\x4f\x31\x66\x71','\x57\x51\x4c\x7a\x57\x36\x76\x48\x78\x57','\x76\x38\x6b\x74\x57\x36\x79\x73\x57\x51\x5a\x63\x56\x38\x6f\x50\x65\x47','\x70\x43\x6f\x4a\x57\x35\x69\x33\x71\x71','\x57\x4f\x42\x64\x48\x63\x53\x45\x57\x36\x58\x5a\x57\x37\x30\x65','\x62\x6d\x6f\x56\x44\x6d\x6f\x6f\x44\x47','\x42\x53\x6f\x33\x66\x43\x6f\x35\x6f\x66\x62\x36\x6d\x57','\x62\x38\x6f\x6f\x44\x53\x6f\x38\x43\x71','\x7a\x53\x6f\x33\x79\x38\x6f\x7a\x68\x61','\x72\x38\x6f\x4e\x73\x6d\x6f\x41\x6a\x4e\x50\x30','\x43\x43\x6f\x58\x6a\x6d\x6f\x70\x70\x59\x37\x63\x4c\x6d\x6f\x75\x44\x38\x6b\x33\x78\x4e\x79','\x57\x36\x42\x64\x53\x4b\x35\x47\x57\x36\x4b\x46','\x71\x6d\x6b\x6d\x57\x50\x66\x30\x6e\x38\x6b\x49\x57\x34\x54\x6d\x57\x4f\x53\x34\x57\x36\x71\x31\x46\x71','\x78\x71\x53\x48\x57\x34\x2f\x63\x52\x6d\x6f\x32\x57\x50\x39\x38','\x57\x34\x6c\x64\x47\x67\x2f\x64\x50\x43\x6b\x73\x43\x73\x6e\x34','\x42\x53\x6f\x49\x65\x38\x6f\x4d\x43\x5a\x6e\x66\x6e\x61','\x6d\x53\x6f\x72\x57\x52\x57\x38\x57\x50\x54\x75\x61\x47\x38','\x57\x52\x68\x64\x4f\x66\x52\x64\x48\x31\x53\x68\x57\x36\x71\x54','\x70\x59\x78\x64\x48\x62\x39\x6a','\x57\x52\x7a\x6c\x57\x4f\x46\x64\x4c\x43\x6f\x59\x61\x30\x6c\x64\x55\x57','\x70\x38\x6b\x38\x74\x38\x6f\x4c\x63\x76\x58\x39\x62\x43\x6b\x71','\x57\x37\x56\x64\x4c\x57\x68\x64\x55\x57','\x68\x43\x6b\x59\x61\x49\x75\x78\x43\x77\x4c\x54','\x74\x57\x6e\x6e\x7a\x6d\x6f\x74\x57\x36\x69','\x41\x6d\x6f\x34\x67\x43\x6f\x35\x6b\x67\x44\x38\x6b\x71','\x66\x6d\x6b\x59\x65\x49\x57\x63','\x46\x71\x4c\x71\x42\x47','\x78\x53\x6f\x51\x57\x51\x4b','\x57\x4f\x38\x43\x57\x52\x42\x64\x4a\x6d\x6b\x35\x57\x35\x71\x71\x57\x37\x69','\x69\x53\x6f\x44\x57\x51\x61\x30\x57\x4f\x7a\x46','\x76\x43\x6b\x35\x57\x4f\x65\x48\x57\x4f\x42\x63\x4c\x53\x6b\x76\x57\x4f\x65','\x6f\x6d\x6b\x41\x57\x35\x4f\x6a','\x57\x4f\x71\x52\x57\x34\x54\x54\x57\x35\x4b\x77\x7a\x38\x6f\x43\x57\x52\x57\x56\x6f\x65\x69\x64','\x77\x76\x5a\x63\x54\x57','\x57\x50\x34\x6c\x76\x43\x6f\x31\x61\x57','\x71\x6d\x6b\x6d\x68\x53\x6f\x68\x73\x77\x33\x63\x56\x53\x6f\x75\x57\x4f\x4f','\x57\x50\x2f\x64\x54\x6d\x6f\x48\x57\x37\x56\x64\x4f\x38\x6b\x71\x57\x52\x66\x73','\x57\x52\x31\x39\x57\x35\x4f','\x57\x4f\x68\x63\x51\x78\x52\x63\x4a\x77\x57\x39','\x6f\x58\x79\x65\x76\x6d\x6b\x5a\x57\x52\x46\x63\x4a\x59\x4b','\x57\x37\x66\x59\x57\x52\x34\x50\x57\x4f\x47','\x57\x51\x4b\x63\x44\x4e\x30\x72\x57\x37\x5a\x63\x51\x6d\x6f\x61','\x70\x38\x6f\x52\x57\x35\x47\x54\x57\x37\x30\x58\x75\x71','\x57\x52\x75\x43\x74\x6d\x6f\x51\x6e\x47','\x57\x35\x4e\x63\x48\x4d\x78\x64\x48\x71\x64\x64\x50\x4a\x75','\x75\x38\x6f\x34\x57\x51\x35\x47\x57\x34\x79','\x57\x36\x42\x64\x4f\x30\x50\x5a\x57\x36\x34\x6f\x57\x50\x37\x64\x51\x47','\x6a\x6d\x6f\x78\x57\x50\x57\x36\x57\x50\x48\x69\x75\x63\x30','\x57\x36\x4a\x64\x4b\x57\x68\x64\x4a\x43\x6b\x2f\x67\x6d\x6b\x48\x70\x57','\x57\x36\x68\x64\x55\x66\x30','\x6b\x6d\x6f\x4a\x57\x36\x71\x36\x57\x36\x6d','\x57\x37\x2f\x63\x51\x64\x5a\x64\x47\x48\x74\x64\x53\x62\x33\x64\x4c\x57','\x61\x6d\x6f\x71\x57\x35\x47\x4e\x7a\x53\x6f\x4c\x57\x52\x39\x6f','\x75\x4c\x42\x63\x56\x38\x6b\x37\x57\x52\x38\x73\x46\x43\x6b\x4d','\x61\x63\x56\x63\x52\x63\x78\x64\x56\x38\x6f\x4d\x77\x6d\x6b\x66','\x67\x43\x6b\x4a\x61\x63\x75\x78','\x57\x51\x68\x63\x52\x74\x78\x64\x47\x38\x6f\x56\x71\x43\x6b\x68\x6b\x47','\x71\x43\x6f\x57\x74\x53\x6f\x71','\x57\x50\x4e\x64\x50\x30\x72\x6c\x69\x57','\x77\x72\x79\x2b\x76\x4d\x56\x64\x56\x65\x5a\x64\x49\x61','\x57\x52\x6e\x68\x57\x35\x38\x70\x6b\x38\x6f\x69','\x75\x43\x6f\x67\x57\x52\x39\x58\x57\x34\x54\x39\x44\x38\x6b\x34','\x6a\x64\x5a\x64\x4d\x47\x7a\x32\x57\x35\x72\x6d\x7a\x57','\x66\x30\x61\x6e\x6f\x38\x6f\x74\x57\x34\x4e\x63\x4b\x6d\x6f\x76\x46\x77\x4f','\x57\x34\x33\x64\x53\x68\x4c\x47\x57\x37\x47','\x57\x36\x37\x64\x47\x57\x68\x64\x53\x71','\x57\x50\x4b\x6f\x79\x74\x57\x42\x57\x36\x42\x64\x51\x43\x6f\x48','\x69\x59\x33\x64\x4e\x61\x54\x2b\x57\x35\x6d','\x6c\x6d\x6b\x63\x57\x50\x74\x63\x49\x68\x70\x63\x48\x6d\x6b\x78\x57\x52\x47','\x57\x34\x42\x64\x4a\x38\x6f\x61\x46\x30\x4b','\x62\x43\x6f\x78\x46\x43\x6f\x6a\x41\x75\x78\x63\x4f\x38\x6f\x34','\x57\x50\x4a\x64\x4b\x74\x34\x46','\x63\x74\x7a\x66\x57\x4f\x69\x64\x57\x52\x2f\x64\x53\x49\x69','\x57\x36\x79\x72\x57\x34\x58\x42\x57\x36\x6a\x5a\x69\x62\x57','\x57\x50\x76\x47\x57\x35\x66\x39\x72\x64\x71\x47\x57\x37\x4f','\x67\x38\x6f\x42\x57\x34\x79\x50\x45\x43\x6f\x32\x57\x4f\x44\x65','\x64\x33\x68\x64\x51\x61\x61\x63\x65\x53\x6b\x68\x57\x52\x30','\x57\x50\x56\x63\x4f\x33\x75','\x57\x36\x70\x64\x47\x33\x4b','\x78\x43\x6b\x76\x57\x51\x47\x50\x57\x52\x75','\x68\x77\x37\x64\x53\x57\x72\x78\x66\x43\x6b\x41\x57\x52\x6d','\x79\x72\x6d\x6c\x75\x31\x4f','\x64\x6d\x6f\x4f\x57\x35\x38\x4e\x57\x36\x6e\x4e\x76\x43\x6b\x34','\x69\x38\x6b\x64\x57\x34\x65\x6f\x45\x63\x4a\x64\x55\x32\x79','\x57\x51\x5a\x63\x50\x59\x47','\x62\x64\x58\x79','\x57\x52\x33\x64\x4f\x5a\x38','\x67\x6d\x6b\x35\x6a\x38\x6b\x54\x57\x35\x56\x64\x4c\x38\x6f\x33\x64\x57','\x57\x51\x4b\x4d\x57\x4f\x74\x63\x48\x47\x37\x63\x51\x5a\x33\x64\x4e\x47','\x57\x34\x4a\x64\x4d\x74\x4a\x64\x53\x53\x6b\x58','\x65\x43\x6b\x47\x6e\x49\x61\x61\x6e\x77\x35\x38','\x57\x36\x5a\x63\x52\x61\x70\x64\x54\x63\x61','\x67\x38\x6b\x38\x68\x4a\x4f\x41\x6c\x4d\x39\x36','\x6b\x43\x6b\x50\x61\x71\x43\x75','\x6a\x6d\x6b\x45\x65\x38\x6b\x65\x6b\x6d\x6b\x4d\x6b\x43\x6b\x63','\x70\x6d\x6f\x7a\x57\x52\x69\x57\x57\x4f\x6d','\x74\x6d\x6b\x35\x57\x52\x39\x58\x57\x34\x54\x52\x46\x53\x6f\x5a','\x75\x49\x52\x63\x53\x59\x33\x64\x55\x6d\x6f\x5a\x76\x43\x6b\x6c','\x61\x43\x6b\x32\x61\x38\x6b\x68\x6d\x67\x76\x74\x6c\x5a\x4a\x63\x4c\x47','\x57\x37\x4a\x64\x4e\x31\x48\x32\x6e\x6d\x6b\x4c\x6e\x31\x6d','\x57\x50\x50\x73\x57\x50\x52\x64\x4b\x6d\x6f\x5a\x68\x4c\x68\x64\x53\x71','\x64\x4b\x79\x59\x57\x36\x37\x63\x53\x38\x6f\x69\x57\x50\x76\x6f','\x68\x4b\x4f\x39\x57\x51\x75','\x6a\x53\x6f\x4a\x57\x35\x4b\x73\x57\x34\x65','\x57\x35\x4e\x64\x47\x4b\x54\x51\x57\x37\x69','\x57\x52\x52\x64\x4f\x63\x47','\x57\x4f\x6d\x6f\x66\x43\x6f\x56\x57\x4f\x68\x63\x56\x53\x6b\x38\x57\x37\x6d','\x57\x50\x47\x66\x67\x53\x6f\x4b\x57\x52\x68\x63\x54\x53\x6b\x4b\x57\x37\x6d','\x57\x52\x5a\x64\x56\x58\x6c\x64\x4a\x38\x6f\x6b\x76\x57\x4a\x63\x49\x71','\x57\x52\x33\x64\x47\x65\x72\x50\x6e\x6d\x6b\x30\x6c\x72\x57','\x6b\x6d\x6b\x78\x6a\x6d\x6b\x61\x70\x38\x6b\x61\x6e\x43\x6b\x46','\x6a\x43\x6f\x48\x62\x53\x6b\x66\x57\x36\x34','\x57\x51\x69\x73\x67\x53\x6f\x4f','\x65\x53\x6f\x38\x6b\x6d\x6b\x4e\x57\x34\x2f\x64\x47\x71','\x57\x52\x42\x64\x54\x38\x6f\x36\x57\x37\x70\x64\x52\x38\x6b\x65\x57\x52\x4c\x69','\x57\x50\x74\x64\x4f\x30\x39\x39\x6f\x71','\x79\x32\x68\x63\x55\x6d\x6b\x55\x57\x4f\x4b','\x57\x52\x6a\x72\x57\x34\x58\x4d\x75\x59\x65\x58\x57\x52\x30','\x42\x53\x6f\x38\x57\x50\x39\x73\x57\x37\x61','\x68\x38\x6f\x33\x57\x51\x4c\x59\x57\x4f\x50\x54\x45\x38\x6f\x4b','\x71\x48\x66\x43\x41\x6d\x6f\x79','\x70\x38\x6b\x64\x57\x34\x66\x4f\x43\x47','\x57\x35\x6c\x63\x50\x74\x71','\x73\x57\x48\x6f\x79\x43\x6f\x42\x57\x37\x37\x63\x48\x47','\x57\x35\x4c\x51\x57\x4f\x47\x32\x57\x4f\x6e\x69\x6c\x43\x6f\x6d','\x57\x50\x4b\x67\x41\x4e\x30\x77\x57\x36\x33\x64\x52\x43\x6f\x52','\x76\x67\x65\x67\x57\x4f\x71\x49\x57\x50\x74\x64\x54\x74\x37\x64\x4e\x71','\x57\x52\x4a\x64\x56\x38\x6f\x36\x57\x36\x74\x64\x56\x53\x6f\x6b\x57\x52\x6e\x46','\x6b\x43\x6f\x68\x61\x38\x6b\x6a\x6f\x43\x6b\x71\x6e\x6d\x6b\x77','\x57\x4f\x6a\x6a\x6a\x4c\x4f\x72\x57\x37\x42\x63\x51\x6d\x6f\x51','\x70\x53\x6b\x77\x57\x34\x75\x67\x46\x64\x70\x64\x4a\x77\x57','\x75\x49\x52\x63\x53\x63\x70\x64\x56\x43\x6f\x33\x68\x71','\x44\x6d\x6f\x41\x73\x38\x6f\x67\x63\x71','\x57\x35\x74\x63\x50\x5a\x37\x64\x4a\x61\x5a\x64\x53\x47\x5a\x64\x4c\x47','\x57\x34\x4e\x63\x51\x63\x74\x64\x48\x47','\x57\x34\x2f\x63\x52\x63\x64\x64\x47\x48\x70\x64\x4f\x71','\x74\x6d\x6f\x5a\x57\x52\x48\x73\x57\x36\x30','\x57\x52\x44\x36\x57\x50\x5a\x64\x49\x6d\x6f\x52','\x46\x53\x6f\x63\x57\x4f\x6a\x76\x69\x4e\x42\x63\x53\x78\x42\x63\x55\x49\x78\x63\x52\x4b\x33\x64\x48\x57','\x57\x50\x53\x39\x76\x38\x6f\x6e\x6f\x75\x2f\x63\x4a\x47\x69','\x45\x6d\x6f\x4f\x77\x43\x6f\x66\x61\x47','\x57\x37\x56\x64\x55\x31\x79','\x76\x66\x42\x63\x51\x53\x6b\x33\x57\x52\x38\x45\x6c\x43\x6b\x37','\x57\x50\x2f\x64\x54\x6d\x6f\x48\x57\x37\x56\x64\x4f\x38\x6b\x71\x57\x52\x75','\x61\x43\x6b\x4f\x79\x6d\x6b\x75\x44\x74\x4e\x63\x49\x38\x6f\x6b','\x62\x53\x6f\x43\x57\x34\x69\x32\x78\x71','\x61\x4a\x39\x73','\x57\x51\x52\x64\x4b\x30\x50\x48\x62\x38\x6b\x50\x6b\x62\x79','\x57\x51\x50\x43\x57\x50\x43\x77\x57\x52\x53\x5a\x45\x30\x65','\x57\x34\x2f\x64\x51\x53\x6f\x6d\x78\x30\x39\x44\x57\x34\x2f\x64\x55\x71','\x67\x32\x68\x64\x56\x57\x72\x68\x69\x53\x6b\x43\x57\x51\x4b','\x68\x6d\x6f\x6d\x57\x35\x57\x55\x7a\x53\x6f\x35\x57\x50\x71\x62','\x57\x4f\x71\x53\x75\x43\x6f\x78\x6d\x71','\x57\x52\x64\x64\x54\x49\x78\x64\x49\x38\x6f\x44\x43\x72\x74\x63\x4c\x61','\x57\x50\x71\x74\x62\x6d\x6f\x4e\x57\x51\x4a\x63\x50\x43\x6b\x31','\x65\x43\x6b\x38\x68\x47','\x6f\x43\x6f\x38\x57\x34\x69\x56','\x79\x38\x6f\x51\x76\x53\x6f\x4e\x6d\x4e\x66\x47\x6e\x71','\x74\x71\x4c\x44\x79\x43\x6f\x72\x57\x34\x2f\x63\x4a\x6d\x6f\x63','\x57\x51\x58\x52\x57\x34\x31\x5a\x72\x4a\x57\x37\x57\x37\x30','\x66\x53\x6f\x32\x6b\x57','\x72\x38\x6f\x4e\x73\x38\x6f\x75\x69\x33\x34','\x63\x4c\x61\x2f\x57\x52\x33\x63\x50\x6d\x6f\x61\x57\x4f\x54\x69','\x67\x6d\x6b\x72\x57\x51\x4a\x63\x53\x31\x57','\x57\x50\x48\x6a\x57\x34\x54\x4a\x78\x47','\x57\x51\x65\x6d\x41\x53\x6f\x78\x6c\x71','\x76\x53\x6f\x38\x57\x52\x38\x52\x57\x4f\x50\x6d\x41\x53\x6f\x4d','\x7a\x30\x35\x7a\x66\x38\x6f\x48\x57\x4f\x6c\x63\x4f\x73\x39\x32\x57\x50\x37\x63\x4b\x47','\x57\x51\x78\x64\x50\x66\x56\x64\x4c\x30\x57','\x76\x38\x6b\x44\x57\x37\x79\x73\x57\x36\x61','\x57\x36\x6d\x68\x57\x35\x4f','\x6b\x6d\x6b\x59\x6a\x43\x6f\x48\x57\x35\x42\x63\x55\x32\x42\x63\x4c\x61','\x57\x4f\x66\x79\x57\x50\x4a\x64\x4d\x6d\x6f\x55\x62\x71','\x57\x36\x68\x64\x51\x64\x48\x62\x57\x4f\x4c\x54\x44\x38\x6f\x38','\x68\x5a\x7a\x67\x57\x4f\x61\x79\x57\x51\x74\x64\x4a\x4a\x4b','\x6e\x6d\x6b\x38\x72\x53\x6f\x57\x64\x4c\x66\x49\x6c\x53\x6b\x33','\x57\x50\x56\x63\x4b\x63\x75\x7a\x57\x51\x69\x47\x57\x36\x57\x44','\x63\x38\x6f\x52\x6a\x6d\x6b\x38\x57\x35\x4a\x64\x4e\x38\x6f\x38','\x57\x4f\x64\x64\x47\x73\x4e\x64\x49\x43\x6f\x6c','\x57\x50\x43\x73\x67\x6d\x6f\x35\x57\x50\x65','\x6f\x43\x6f\x48\x57\x35\x4b','\x69\x59\x62\x31\x57\x52\x71\x45','\x57\x36\x53\x41\x57\x35\x54\x44\x57\x36\x48\x76\x6e\x47','\x6f\x6d\x6b\x32\x6f\x43\x6f\x48\x57\x35\x68\x63\x51\x4b\x2f\x63\x4e\x57','\x57\x34\x78\x64\x4f\x53\x6f\x4f\x77\x31\x6a\x6b\x57\x35\x4b','\x57\x52\x50\x34\x57\x34\x31\x4f\x46\x47','\x57\x50\x50\x6f\x57\x51\x37\x64\x4b\x6d\x6f\x50\x68\x4c\x2f\x64\x53\x71','\x57\x50\x46\x64\x55\x6d\x6f\x4d\x57\x37\x4a\x64\x56\x6d\x6b\x6c\x57\x51\x72\x64','\x65\x6d\x6f\x50\x65\x43\x6b\x47\x57\x34\x2f\x64\x4e\x43\x6f\x32\x61\x47','\x57\x36\x47\x33\x57\x4f\x4c\x48\x77\x72\x47\x4c\x57\x35\x66\x68','\x72\x61\x6d\x32\x75\x47','\x68\x53\x6f\x69\x77\x53\x6f\x75\x44\x4b\x78\x63\x54\x38\x6f\x36','\x57\x35\x56\x63\x53\x64\x5a\x64\x4b\x73\x57','\x57\x50\x62\x2b\x57\x50\x4a\x64\x4e\x6d\x6f\x67','\x74\x59\x70\x63\x50\x57','\x57\x52\x46\x64\x48\x4e\x39\x54\x6d\x38\x6b\x4c\x6e\x58\x53','\x57\x34\x56\x63\x4e\x32\x70\x64\x49\x71\x4a\x64\x50\x49\x38\x49','\x6d\x43\x6b\x39\x44\x6d\x6f\x61','\x79\x53\x6f\x4f\x43\x53\x6f\x78\x69\x71','\x57\x50\x4a\x63\x56\x33\x74\x63\x4b\x71','\x57\x34\x50\x51\x57\x36\x37\x63\x4e\x61','\x66\x4b\x46\x64\x52\x57\x4c\x77\x66\x6d\x6b\x62\x57\x52\x30','\x57\x50\x43\x44\x62\x53\x6f\x58\x57\x4f\x53','\x6e\x43\x6b\x63\x61\x6d\x6b\x6a\x6a\x6d\x6b\x78\x63\x53\x6b\x79','\x71\x43\x6f\x4e\x78\x38\x6b\x42\x41\x4b\x66\x57\x6a\x57','\x57\x4f\x33\x64\x4f\x4e\x2f\x64\x4c\x4c\x53','\x68\x4a\x7a\x78\x57\x50\x6d\x73\x57\x52\x34','\x57\x50\x65\x75\x41\x78\x69','\x62\x76\x4b\x76\x6b\x71','\x66\x38\x6f\x73\x57\x35\x65\x69\x42\x53\x6f\x36\x57\x50\x7a\x73','\x57\x4f\x4b\x63\x44\x4e\x30\x72\x57\x37\x57','\x57\x4f\x64\x63\x4e\x68\x37\x63\x48\x4b\x57','\x78\x6d\x6b\x51\x57\x35\x79\x71\x57\x36\x43','\x57\x37\x4a\x64\x47\x66\x68\x64\x50\x38\x6b\x65\x45\x68\x66\x75','\x6c\x38\x6b\x4c\x6a\x53\x6f\x53\x57\x34\x33\x63\x52\x67\x52\x63\x4e\x57','\x66\x43\x6f\x51\x6b\x53\x6b\x4d','\x68\x38\x6b\x66\x6d\x49\x34\x66','\x72\x64\x30\x4f\x71\x32\x37\x64\x53\x71\x74\x63\x4c\x71','\x69\x43\x6b\x58\x79\x53\x6b\x78\x46\x4d\x33\x63\x51\x57','\x57\x52\x33\x64\x4d\x4c\x48\x47\x42\x57','\x46\x38\x6f\x62\x57\x4f\x68\x63\x54\x4d\x33\x63\x50\x38\x6b\x41\x57\x4f\x69','\x66\x68\x33\x64\x53\x47\x39\x77\x63\x71','\x57\x52\x34\x37\x57\x4f\x5a\x63\x4b\x74\x5a\x63\x53\x71\x6c\x64\x47\x47','\x6c\x38\x6b\x42\x57\x4f\x4e\x63\x48\x32\x70\x63\x52\x38\x6b\x6e\x57\x51\x6d','\x57\x4f\x33\x64\x4b\x5a\x34\x45\x57\x36\x30\x39\x57\x36\x54\x73','\x67\x4e\x53\x76\x57\x37\x70\x63\x4f\x57','\x57\x52\x44\x6d\x57\x35\x57\x70\x6c\x38\x6f\x71\x73\x53\x6b\x61','\x57\x36\x53\x41\x57\x4f\x72\x78\x41\x53\x6b\x67\x43\x53\x6b\x70\x57\x4f\x33\x64\x51\x43\x6f\x53\x57\x35\x53','\x77\x43\x6b\x38\x57\x50\x4f\x4b\x57\x50\x33\x63\x48\x43\x6f\x43\x57\x4f\x30','\x6c\x43\x6b\x32\x7a\x38\x6b\x47\x57\x37\x37\x63\x54\x32\x64\x63\x48\x71','\x57\x37\x64\x63\x50\x76\x42\x64\x4a\x73\x4f','\x79\x53\x6f\x47\x76\x53\x6f\x74\x6d\x4e\x62\x47\x6e\x71','\x57\x34\x6c\x64\x53\x38\x6f\x30\x78\x4b\x4c\x62\x57\x50\x69','\x6c\x4a\x74\x64\x4e\x47\x6e\x30\x57\x34\x39\x74','\x67\x53\x6f\x34\x69\x43\x6b\x58\x57\x36\x6c\x64\x49\x38\x6f\x58\x63\x57','\x57\x4f\x64\x63\x50\x73\x70\x64\x4b\x53\x6f\x36\x74\x43\x6b\x7a\x70\x71','\x57\x51\x78\x64\x51\x4a\x74\x64\x4e\x53\x6f\x6d\x77\x48\x6c\x63\x4a\x57','\x57\x52\x39\x48\x57\x35\x66\x48\x72\x49\x43\x48\x57\x37\x61','\x57\x50\x30\x4a\x74\x43\x6f\x6c\x69\x4b\x46\x63\x47\x61\x69'];_0x23f3=function(){return _0x415e44;};return _0x23f3();}var _0x14c260={};_0x14c260[_0x90e286(0xf5,'\x74\x79\x28\x5d')]=0.55,_0x14c260[_0x90e286(0x167,'\x43\x6f\x46\x52')]=0.25,_0x14c260[_0x90e286(0x194,'\x55\x68\x6b\x63')]=0.05,_0x14c260[_0x90e286(0x10c,'\x43\x6f\x46\x52')]=0.15,_0x14c260[_0x90e286(0xee,'\x36\x46\x76\x28')+_0x90e286(0xe6,'\x29\x4a\x6a\x53')+'\x6f\x6c\x64']=0.9,_0x14c260[_0x90e286(0x142,'\x64\x5a\x33\x55')]=_0x90e286(0x129,'\x79\x50\x59\x71')+_0x90e286(0x1af,'\x58\x69\x53\x72'),_0x14c260[_0x90e286(0x13a,'\x43\x28\x78\x21')+_0x90e286(0x192,'\x5a\x50\x4f\x6c')]=_0x90e286(0x13c,'\x4a\x33\x72\x34')+_0x90e286(0x1a9,'\x36\x46\x76\x28')+_0x90e286(0xef,'\x26\x24\x4e\x77')+_0x90e286(0x12d,'\x59\x34\x6e\x62')+_0x90e286(0x107,'\x2a\x5d\x36\x43')+_0x90e286(0xe7,'\x6a\x50\x35\x35')+_0x90e286(0xc9,'\x50\x37\x37\x76')+_0x90e286(0x12b,'\x6f\x53\x63\x76')+_0x90e286(0x1a0,'\x50\x37\x37\x76')+_0x90e286(0x103,'\x59\x34\x6e\x62');var _0x5433f6={};function _0x38d6(_0x3495d3,_0x465904){_0x3495d3=_0x3495d3-(0x1ac1+-0x8da+-0x1*0x1121);var _0x525d7b=_0x23f3();var _0x5d9d51=_0x525d7b[_0x3495d3];if(_0x38d6['\x52\x58\x65\x4c\x69\x57']===undefined){var _0x50a855=function(_0xad5b80){var _0x18db08='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x205b8e='',_0x4fb0fc='',_0x1d6975=_0x205b8e+_0x50a855,_0x1fd980=(''+function(){return-0x77f*-0x1+-0x417*0x9+0x1d50;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x8f2+-0x1*0x1bc7+0x12d6);for(var _0xcab9cf=0x1802+0x232f+0x1*-0x3b31,_0xffccca,_0x106af8,_0x1e0d86=0x25e1*-0x1+0x5*-0x3cb+0x8*0x71b;_0x106af8=_0xad5b80['\x63\x68\x61\x72\x41\x74'](_0x1e0d86++);~_0x106af8&&(_0xffccca=_0xcab9cf%(-0x95f*-0x4+0x1339+-0x38b1)?_0xffccca*(0x7b1+-0x13*0x9d+0x436)+_0x106af8:_0x106af8,_0xcab9cf++%(-0x7f2*0x4+-0xef7*0x2+0x3dba))?_0x205b8e+=_0x1fd980||_0x1d6975['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e0d86+(-0x39d*-0x7+0x1e7b+0x1d*-0x1ec))-(0x2042+-0x1712+0x926*-0x1)!==-0x6d9*-0x5+-0x2540+0x303?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x2*0x59+0x2*0x5fc+-0x1*0xbab&_0xffccca>>(-(0x22fb+0x1*-0x1dcb+-0x52e)*_0xcab9cf&-0x1*-0xb6f+-0xb57+0x6*-0x3)):_0xcab9cf:0xc59+0x19a2+0x56d*-0x7){_0x106af8=_0x18db08['\x69\x6e\x64\x65\x78\x4f\x66'](_0x106af8);}for(var _0x473180=0x225f+0xf*-0x52+-0x1d91,_0x578fba=_0x205b8e['\x6c\x65\x6e\x67\x74\x68'];_0x473180<_0x578fba;_0x473180++){_0x4fb0fc+='\x25'+('\x30\x30'+_0x205b8e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x473180)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x2dc+-0x1*-0x16a2+-0x13b6))['\x73\x6c\x69\x63\x65'](-(-0x1*0x67d+0x221b*0x1+-0x1b9c));}return decodeURIComponent(_0x4fb0fc);};var _0x52c23a=function(_0x4d32ad,_0x7ff687){var _0x523a5c=[],_0x58f67c=-0x1ecd+-0x1*-0x193a+0x1*0x593,_0x5eaf44,_0x31ff42='';_0x4d32ad=_0x50a855(_0x4d32ad);var _0x51ae75;for(_0x51ae75=-0x966+0x1*-0x9fd+-0x7*-0x2c5;_0x51ae75<-0xe6e+-0x1665+-0x25d3*-0x1;_0x51ae75++){_0x523a5c[_0x51ae75]=_0x51ae75;}for(_0x51ae75=0x5*-0x2cc+-0x1241+0x203d;_0x51ae75<0x99b*0x1+0x1120+-0x7*0x3ad;_0x51ae75++){_0x58f67c=(_0x58f67c+_0x523a5c[_0x51ae75]+_0x7ff687['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x51ae75%_0x7ff687['\x6c\x65\x6e\x67\x74\x68']))%(0x38*-0x9c+-0xba2*-0x1+0x177e),_0x5eaf44=_0x523a5c[_0x51ae75],_0x523a5c[_0x51ae75]=_0x523a5c[_0x58f67c],_0x523a5c[_0x58f67c]=_0x5eaf44;}_0x51ae75=-0x429+0x1a*0xe3+-0x12e5,_0x58f67c=0x4*-0x79c+0x1ece+-0x5e;for(var _0x1c9b81=-0x1a*-0x73+0x1ed8+-0x2a86;_0x1c9b81<_0x4d32ad['\x6c\x65\x6e\x67\x74\x68'];_0x1c9b81++){_0x51ae75=(_0x51ae75+(-0x1d*-0xb2+-0x607*-0x1+0x2*-0xd18))%(-0x1*0xcc8+-0x20b6+0x2e7e),_0x58f67c=(_0x58f67c+_0x523a5c[_0x51ae75])%(0x15e+0x1e2b+-0x1e89),_0x5eaf44=_0x523a5c[_0x51ae75],_0x523a5c[_0x51ae75]=_0x523a5c[_0x58f67c],_0x523a5c[_0x58f67c]=_0x5eaf44,_0x31ff42+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4d32ad['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1c9b81)^_0x523a5c[(_0x523a5c[_0x51ae75]+_0x523a5c[_0x58f67c])%(-0x17*-0xd+-0x1*0x25b3+0x12c4*0x2)]);}return _0x31ff42;};_0x38d6['\x68\x70\x47\x6d\x57\x4b']=_0x52c23a,_0x38d6['\x4a\x53\x49\x6e\x61\x66']={},_0x38d6['\x52\x58\x65\x4c\x69\x57']=!![];}var _0x23748e=_0x525d7b[0x1091*0x1+0x563*-0x1+-0xb2e],_0x350fa7=_0x3495d3+_0x23748e,_0x552dc8=_0x38d6['\x4a\x53\x49\x6e\x61\x66'][_0x350fa7];if(!_0x552dc8){if(_0x38d6['\x48\x64\x42\x75\x50\x43']===undefined){var _0x448533=function(_0x36a10b){this['\x59\x42\x75\x61\x66\x57']=_0x36a10b,this['\x49\x57\x76\x43\x79\x4c']=[0x3ac+0x30*-0x55+-0x9*-0x15d,0x618+0x13d0+0x1*-0x19e8,0x43a*-0x8+-0x7e6+0x29b6],this['\x41\x56\x51\x53\x67\x6a']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x61\x79\x68\x62\x45\x4b']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x68\x41\x76\x6a\x6c\x52']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x448533['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x42\x55\x73\x41\x78\x45']=function(){var _0x20eeef=new RegExp(this['\x61\x79\x68\x62\x45\x4b']+this['\x68\x41\x76\x6a\x6c\x52']),_0x253cf9=_0x20eeef['\x74\x65\x73\x74'](this['\x41\x56\x51\x53\x67\x6a']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x49\x57\x76\x43\x79\x4c'][-0x113+-0x11db+0x12ef]:--this['\x49\x57\x76\x43\x79\x4c'][-0x44*0x6+-0x19ac+0x1b44];return this['\x52\x65\x63\x68\x68\x46'](_0x253cf9);},_0x448533['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x52\x65\x63\x68\x68\x46']=function(_0x25aed4){if(!Boolean(~_0x25aed4))return _0x25aed4;return this['\x57\x74\x75\x54\x72\x4d'](this['\x59\x42\x75\x61\x66\x57']);},_0x448533['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x57\x74\x75\x54\x72\x4d']=function(_0x183fca){for(var _0x32fa4f=-0x1*0x919+0x15f3+-0x2*0x66d,_0x824807=this['\x49\x57\x76\x43\x79\x4c']['\x6c\x65\x6e\x67\x74\x68'];_0x32fa4f<_0x824807;_0x32fa4f++){this['\x49\x57\x76\x43\x79\x4c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x824807=this['\x49\x57\x76\x43\x79\x4c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x183fca(this['\x49\x57\x76\x43\x79\x4c'][0xa49+-0x1362+0x919]);},(''+function(){return-0xc56*0x2+0x488+-0x1*-0x1424;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0xcb9+0x15ec+-0x1*0x932)&&new _0x448533(_0x38d6)['\x42\x55\x73\x41\x78\x45'](),_0x38d6['\x48\x64\x42\x75\x50\x43']=!![];}_0x5d9d51=_0x38d6['\x68\x70\x47\x6d\x57\x4b'](_0x5d9d51,_0x465904),_0x38d6['\x4a\x53\x49\x6e\x61\x66'][_0x350fa7]=_0x5d9d51;}else _0x5d9d51=_0x552dc8;return _0x5d9d51;}_0x5433f6[_0x90e286(0x1a6,'\x74\x79\x28\x5d')]=_0xb584c1,_0x5433f6[_0x90e286(0x111,'\x54\x45\x59\x78')]=_0x3ce58d,_0x5433f6[_0x90e286(0x16c,'\x43\x6f\x46\x52')]=_0x3ad6c7,_0x5433f6[_0x90e286(0x18a,'\x62\x56\x46\x41')+_0x90e286(0x17f,'\x5a\x50\x4f\x6c')]=_0x50fa8d,_0x5433f6[_0x90e286(0x116,'\x62\x56\x46\x41')+_0x90e286(0x1b8,'\x64\x70\x58\x65')]=_0x18859a,_0x5433f6[_0x90e286(0x164,'\x59\x56\x30\x53')+_0x90e286(0x13e,'\x74\x46\x26\x61')]=_0x14c260;var _0x1cb829=_0x5433f6;function _0x5d7b73(){var _0x45460c=_0x90e286,_0x291370={};_0x291370[_0x45460c(0x127,'\x54\x21\x50\x70')]=_0x45460c(0x19a,'\x34\x34\x75\x5a'),_0x291370['\x47\x6f\x4d\x6c\x7a']=_0x45460c(0x196,'\x29\x4a\x6a\x53')+'\x6e',_0x291370[_0x45460c(0x113,'\x54\x21\x50\x70')]=_0x45460c(0x179,'\x41\x57\x4f\x6e')+_0x45460c(0xfc,'\x59\x56\x30\x53')+_0x45460c(0xf2,'\x74\x79\x28\x5d'),_0x291370[_0x45460c(0xe3,'\x58\x69\x53\x72')]=function(_0x3bdfe3,_0x283dfd){return _0x3bdfe3<_0x283dfd;},_0x291370['\x4f\x56\x69\x41\x53']=function(_0x19ebdf,_0x1600c5){return _0x19ebdf!==_0x1600c5;},_0x291370[_0x45460c(0x125,'\x43\x33\x4c\x5b')]=_0x45460c(0x11c,'\x4c\x55\x53\x6c'),_0x291370[_0x45460c(0x154,'\x54\x45\x59\x78')]=_0x45460c(0x119,'\x71\x35\x4c\x5d');var _0x5a66bc=_0x291370;try{var _0x17fc49=_0x55782a['\x72\x65\x73\x6f\x6c\x76\x65'](__dirname,'\x2e\x2e','\x2e\x2e',_0x5a66bc[_0x45460c(0x1b1,'\x50\x37\x37\x76')],_0x45460c(0x16d,'\x54\x4d\x46\x72')+_0x45460c(0x145,'\x41\x48\x56\x28')+_0x45460c(0xea,'\x37\x32\x54\x65')),_0x1b6dc9=_0x55782a[_0x45460c(0x132,'\x26\x24\x4e\x77')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x5a66bc['\x73\x6a\x74\x57\x47'],_0x5a66bc[_0x45460c(0x182,'\x74\x46\x26\x61')],_0x5a66bc['\x70\x4a\x68\x7a\x69']),_0x44cfcd=[_0x17fc49,_0x1b6dc9];for(var _0x3fd975=-0x91*0x5+0x248*-0x4+0x1*0xbf5;_0x5a66bc[_0x45460c(0xd6,'\x55\x68\x6b\x63')](_0x3fd975,_0x44cfcd[_0x45460c(0x100,'\x41\x57\x4f\x6e')]);_0x3fd975++){if(_0x5a66bc[_0x45460c(0x122,'\x59\x34\x6e\x62')](_0x5a66bc[_0x45460c(0x128,'\x54\x21\x50\x70')],'\x47\x6d\x68\x47\x4c')){var _0x761074=_0x3e4bb6[_0x45460c(0x1c1,'\x54\x45\x59\x78')](_0x401675[_0x45460c(0x101,'\x78\x50\x69\x6c')+_0x45460c(0x199,'\x55\x68\x6b\x63')](_0x3d4c5a[_0x36a0b4],_0x45460c(0xe8,'\x6c\x5b\x55\x6d')));return _0x761074&&_0x35e02d['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x761074[_0x45460c(0x187,'\x36\x46\x76\x28')+'\x6e\x74'])?_0x761074[_0x45460c(0x1bf,'\x41\x57\x4f\x6e')+'\x6e\x74']:-0x2*0xd8b+-0x12f6+0x2e0c;}else{if(_0x3c6273[_0x45460c(0x181,'\x78\x50\x69\x6c')+'\x6e\x63'](_0x44cfcd[_0x3fd975])){var _0x33504e=JSON[_0x45460c(0xcb,'\x43\x28\x78\x21')](_0x3c6273[_0x45460c(0x193,'\x55\x68\x6b\x63')+_0x45460c(0x143,'\x6f\x43\x63\x21')](_0x44cfcd[_0x3fd975],_0x5a66bc[_0x45460c(0x163,'\x29\x4a\x6a\x53')]));return _0x33504e&&Number[_0x45460c(0x183,'\x64\x5a\x33\x55')](_0x33504e[_0x45460c(0x1c2,'\x5a\x50\x4f\x6c')+'\x6e\x74'])?_0x33504e[_0x45460c(0x12f,'\x79\x50\x59\x71')+'\x6e\x74']:-0x4*0x84+-0xc26+0xe36;}}}}catch(_0x1d8434){}return 0x297+-0x673*-0x1+-0x90a;}function _0x19a9ca(_0x42b147){var _0x532014=_0x90e286,_0x119a91={'\x74\x69\x6a\x70\x52':_0x532014(0x1bd,'\x77\x51\x6f\x4f')+_0x532014(0xf3,'\x6f\x43\x63\x21'),'\x58\x67\x56\x72\x72':_0x532014(0x157,'\x6c\x7a\x35\x4b')+'\x74\x61\x74\x65','\x66\x76\x72\x7a\x4c':_0x532014(0x165,'\x54\x43\x40\x59'),'\x6d\x5a\x46\x64\x46':_0x532014(0x147,'\x2a\x5d\x36\x43')+'\x6e','\x72\x50\x65\x79\x43':function(_0x308f86,_0xba7a35){return _0x308f86<_0xba7a35;},'\x5a\x4a\x54\x66\x4b':function(_0x64a866,_0xd291b9){return _0x64a866(_0xd291b9);},'\x4e\x73\x43\x55\x6f':'\x62\x61\x6c\x61\x6e\x63\x65\x64','\x76\x76\x58\x41\x6a':function(_0x31abb1,_0x4a68c6){return _0x31abb1===_0x4a68c6;},'\x57\x6a\x49\x62\x6b':_0x532014(0x191,'\x6c\x7a\x35\x4b'),'\x55\x41\x49\x73\x79':function(_0x1cfe75,_0x3c71cb){return _0x1cfe75(_0x3c71cb);},'\x67\x56\x42\x67\x6b':function(_0x32136b,_0x159040){return _0x32136b===_0x159040;},'\x53\x75\x58\x6c\x56':_0x532014(0x174,'\x29\x79\x54\x73'),'\x75\x57\x5a\x73\x6d':_0x532014(0x16a,'\x74\x46\x26\x61'),'\x54\x71\x78\x46\x73':function(_0x19b293){return _0x19b293();},'\x41\x58\x70\x73\x43':function(_0x4a47bf,_0x43d626){return _0x4a47bf<=_0x43d626;},'\x6b\x6d\x72\x50\x50':_0x532014(0x13f,'\x64\x5a\x33\x55')+'\x61\x62\x69\x6c\x69\x7a\x65','\x53\x52\x61\x7a\x44':function(_0x540843,_0x214e9){return _0x540843!==_0x214e9;},'\x48\x66\x61\x49\x71':_0x532014(0x102,'\x54\x4d\x46\x72')+_0x532014(0x10d,'\x34\x34\x75\x5a')+'\x74\x65','\x53\x4e\x6f\x6e\x73':function(_0x5c84e2,_0x160585){return _0x5c84e2===_0x160585;},'\x51\x7a\x71\x4e\x7a':_0x532014(0x16e,'\x59\x58\x2a\x6a'),'\x47\x68\x42\x76\x66':_0x532014(0x11b,'\x58\x69\x53\x72'),'\x4d\x6a\x62\x70\x48':function(_0x33caee,_0x1affab){return _0x33caee!==_0x1affab;},'\x42\x76\x6a\x77\x53':_0x532014(0x17a,'\x59\x56\x30\x53')},_0x205fd8=_0x42b147&&Array[_0x532014(0x114,'\x52\x4d\x32\x69')](_0x42b147[_0x532014(0x155,'\x6a\x50\x35\x35')])?_0x42b147['\x73\x69\x67\x6e\x61\x6c\x73']:[],_0x3644ab=_0x119a91[_0x532014(0x109,'\x6a\x50\x35\x35')](String,process.env.EVOLVE_STRATEGY||_0x119a91[_0x532014(0x120,'\x78\x40\x25\x49')])[_0x532014(0xf8,'\x43\x33\x4c\x5b')+_0x532014(0x144,'\x50\x37\x37\x76')]()[_0x532014(0x1c5,'\x54\x21\x50\x70')](),_0x266def=![];if(!process.env.EVOLVE_STRATEGY){if(_0x119a91[_0x532014(0x130,'\x78\x40\x25\x49')](_0x532014(0x19c,'\x29\x4a\x6a\x53'),_0x119a91[_0x532014(0xe9,'\x26\x24\x4e\x77')])){var _0x1d8a44=_0x119a91[_0x532014(0xc8,'\x54\x45\x59\x78')](String,process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x532014(0x158,'\x53\x5d\x5b\x73')+_0x532014(0x14e,'\x23\x53\x42\x70')]();_0x119a91[_0x532014(0xfb,'\x64\x5a\x33\x55')](_0x1d8a44,_0x532014(0x162,'\x26\x24\x4e\x77'))&&(_0x3644ab=_0x119a91[_0x532014(0x131,'\x26\x24\x4e\x77')],_0x266def=!![]);}else return _0x24ad1e[_0x532014(0x118,'\x54\x6c\x58\x28')]()[_0x532014(0x134,'\x6c\x7a\x35\x4b')](ElKXTy[_0x532014(0x1ba,'\x29\x79\x54\x73')])[_0x532014(0xd0,'\x32\x76\x25\x5d')]()[_0x532014(0x185,'\x64\x5a\x33\x55')+_0x532014(0x15a,'\x6c\x7a\x35\x4b')](_0x33d42d)[_0x532014(0xf1,'\x4f\x48\x38\x76')](ElKXTy[_0x532014(0x13b,'\x43\x6f\x46\x52')]);}var _0x37aab1=!process.env.EVOLVE_STRATEGY||_0x3644ab===_0x119a91['\x4e\x73\x43\x55\x6f']||_0x3644ab===_0x119a91[_0x532014(0x12a,'\x23\x53\x42\x70')];if(_0x37aab1&&!_0x266def){var _0x9585ea=_0x119a91['\x54\x71\x78\x46\x73'](_0x5d7b73);_0x9585ea>-0x45*-0x47+-0x21*0xf+-0x1134&&_0x119a91[_0x532014(0x1ad,'\x26\x24\x4e\x77')](_0x9585ea,0x2*0x1147+-0x23d3+0x5*0x42)&&(_0x3644ab=_0x119a91[_0x532014(0x190,'\x54\x21\x50\x70')]);if(_0x119a91[_0x532014(0x19d,'\x28\x71\x42\x31')](_0x205fd8['\x69\x6e\x64\x65\x78\x4f\x66'](_0x119a91['\x48\x66\x61\x49\x71']),-(-0x21cd+-0x1b7*0x16+0x4788)))_0x119a91[_0x532014(0xd5,'\x5a\x50\x4f\x6c')](_0x119a91[_0x532014(0x186,'\x64\x5a\x33\x55')],_0x119a91[_0x532014(0x151,'\x52\x4d\x32\x69')])?_0x131515=_0x119a91[_0x532014(0xf0,'\x43\x28\x78\x21')]:_0x3644ab=_0x119a91[_0x532014(0x169,'\x6c\x7a\x35\x4b')];else{if(_0x119a91[_0x532014(0x1b5,'\x26\x24\x4e\x77')](_0x205fd8[_0x532014(0xd9,'\x77\x51\x6f\x4f')](_0x532014(0xf9,'\x61\x69\x72\x6a')+_0x532014(0xec,'\x41\x57\x4f\x6e')+_0x532014(0x148,'\x4c\x55\x53\x6c')),-(0xe46+0x131c+0x1*-0x2161))){if(_0x119a91[_0x532014(0xf7,'\x6f\x53\x63\x76')](_0x119a91[_0x532014(0x1a2,'\x71\x35\x4c\x5d')],_0x119a91['\x42\x76\x6a\x77\x53']))_0x3644ab=_0x119a91['\x58\x67\x56\x72\x72'];else{var _0x670aaa=_0x17541c[_0x532014(0x153,'\x54\x21\x50\x70')](_0x188b06,'\x2e\x2e','\x2e\x2e',ElKXTy[_0x532014(0xed,'\x55\x68\x6b\x63')],_0x532014(0x141,'\x79\x50\x59\x71')+_0x532014(0x19e,'\x23\x53\x42\x70')+_0x532014(0x11d,'\x6c\x5b\x55\x6d')),_0x2f84c8=_0x584359[_0x532014(0x1ac,'\x62\x56\x46\x41')](_0x522f91,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',ElKXTy[_0x532014(0xdc,'\x23\x53\x42\x70')],ElKXTy[_0x532014(0x178,'\x2a\x5d\x36\x43')],'\x65\x76\x6f\x6c\x75\x74\x69\x6f'+_0x532014(0x166,'\x50\x37\x37\x76')+_0x532014(0xfa,'\x34\x34\x75\x5a')),_0xdfefd8=[_0x670aaa,_0x2f84c8];for(var _0x1b6952=0x1*0x2437+-0x5c*-0x56+-0x431f;ElKXTy[_0x532014(0xf6,'\x37\x32\x54\x65')](_0x1b6952,_0xdfefd8['\x6c\x65\x6e\x67\x74\x68']);_0x1b6952++){if(_0x5d70f0['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0xdfefd8[_0x1b6952])){var _0x1c590e=_0x25b195['\x70\x61\x72\x73\x65'](_0x26d440[_0x532014(0x1bc,'\x29\x4a\x6a\x53')+'\x53\x79\x6e\x63'](_0xdfefd8[_0x1b6952],_0x532014(0x18f,'\x54\x4a\x66\x52')));return _0x1c590e&&_0x39137c[_0x532014(0xdd,'\x4a\x33\x72\x34')](_0x1c590e[_0x532014(0x187,'\x36\x46\x76\x28')+'\x6e\x74'])?_0x1c590e[_0x532014(0x1c7,'\x6f\x43\x63\x21')+'\x6e\x74']:-0xdeb+0x1*0xa84+0x367;}}}}}}if(_0x3644ab===_0x119a91[_0x532014(0x12e,'\x78\x40\x25\x49')])_0x3644ab=_0x532014(0xce,'\x61\x69\x72\x6a');var _0x3f8e1f=_0x1cb829[_0x3644ab]||_0x1cb829[_0x119a91[_0x532014(0xd8,'\x4f\x48\x38\x76')]],_0x5af4b4={};return _0x5af4b4[_0x532014(0xe1,'\x59\x56\x30\x53')]=_0x3644ab,Object[_0x532014(0x140,'\x6f\x43\x63\x21')]({},_0x3f8e1f,_0x5af4b4);}function _0x549679(){return Object['\x6b\x65\x79\x73'](_0x1cb829);}var _0x520db4={};_0x520db4[_0x90e286(0x112,'\x62\x56\x46\x41')+_0x90e286(0xd4,'\x34\x34\x75\x5a')]=_0x19a9ca,_0x520db4[_0x90e286(0x159,'\x74\x46\x26\x61')+_0x90e286(0xf4,'\x29\x79\x54\x73')]=_0x549679,_0x520db4['\x53\x54\x52\x41\x54\x45\x47\x49'+'\x45\x53']=_0x1cb829,module[_0x90e286(0xfd,'\x6c\x5b\x55\x6d')]=_0x520db4;
|
package/src/gep/taskReceiver.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
const { getNodeId, buildHubHeaders } = require('./a2aProtocol');
|
|
10
10
|
const { resolveHubUrl } = require('../config');
|
|
11
|
+
const { hubFetch } = require('./hubFetch');
|
|
11
12
|
const { createTask, validateTask } = require('./schemas/task');
|
|
12
13
|
|
|
13
14
|
function buildAuthHeaders() {
|
|
@@ -61,7 +62,7 @@ async function fetchTasks(opts) {
|
|
|
61
62
|
const controller = new AbortController();
|
|
62
63
|
const timer = setTimeout(() => controller.abort(), 8000);
|
|
63
64
|
|
|
64
|
-
const res = await
|
|
65
|
+
const res = await hubFetch(url, {
|
|
65
66
|
method: 'POST',
|
|
66
67
|
headers: buildAuthHeaders(),
|
|
67
68
|
body: JSON.stringify(msg),
|
|
@@ -368,7 +369,7 @@ async function claimTask(taskId, opts) {
|
|
|
368
369
|
body.commitment_deadline = opts.commitment_deadline;
|
|
369
370
|
}
|
|
370
371
|
|
|
371
|
-
const res = await
|
|
372
|
+
const res = await hubFetch(url, {
|
|
372
373
|
method: 'POST',
|
|
373
374
|
headers: buildAuthHeaders(),
|
|
374
375
|
body: JSON.stringify(body),
|
|
@@ -397,7 +398,7 @@ async function completeTask(taskId, assetId) {
|
|
|
397
398
|
const controller = new AbortController();
|
|
398
399
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
399
400
|
|
|
400
|
-
const res = await
|
|
401
|
+
const res = await hubFetch(url, {
|
|
401
402
|
method: 'POST',
|
|
402
403
|
headers: buildAuthHeaders(),
|
|
403
404
|
body: JSON.stringify({ task_id: taskId, asset_id: assetId, node_id: nodeId }),
|
|
@@ -448,7 +449,7 @@ async function claimWorkerTask(taskId) {
|
|
|
448
449
|
const controller = new AbortController();
|
|
449
450
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
450
451
|
|
|
451
|
-
const res = await
|
|
452
|
+
const res = await hubFetch(url, {
|
|
452
453
|
method: 'POST',
|
|
453
454
|
headers: buildAuthHeaders(),
|
|
454
455
|
body: JSON.stringify({ task_id: taskId, node_id: nodeId }),
|
|
@@ -472,7 +473,7 @@ async function completeWorkerTask(assignmentId, resultAssetId) {
|
|
|
472
473
|
const controller = new AbortController();
|
|
473
474
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
474
475
|
|
|
475
|
-
const res = await
|
|
476
|
+
const res = await hubFetch(url, {
|
|
476
477
|
method: 'POST',
|
|
477
478
|
headers: buildAuthHeaders(),
|
|
478
479
|
body: JSON.stringify({ assignment_id: assignmentId, node_id: nodeId, result_asset_id: resultAssetId }),
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
// or cannot sandbox-execute will simply skip and try again next cycle.
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
const { getNodeId, buildHubHeaders
|
|
12
|
+
const { getNodeId, buildHubHeaders } = require('../a2aProtocol');
|
|
13
|
+
const { hubFetch } = require('../hubFetch');
|
|
13
14
|
const { runInSandbox, runPreflight } = require('./sandboxExecutor');
|
|
14
15
|
const { buildReportPayload, submitReport } = require('./reporter');
|
|
15
16
|
const { ensureValidatorStake } = require('./stakeBootstrap');
|
|
@@ -35,10 +36,13 @@ function isValidatorEnabled() {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
function resolveHubUrl() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
// Always go through config.resolveHubUrl() — it reads the same env vars
|
|
40
|
+
// getHubUrl() reads plus EVOLVER_DEFAULT_HUB_URL, falls back to the
|
|
41
|
+
// PUBLIC_DEFAULT_HUB_URL constant, and enforces the https schema check
|
|
42
|
+
// (with EVOMAP_HUB_ALLOW_INSECURE=1 as the explicit escape hatch).
|
|
43
|
+
// Preferring the raw getHubUrl() here would let an http:// URL slip past
|
|
44
|
+
// this frame; hubFetch would still catch it, but the in-validator code
|
|
45
|
+
// path should not look like it accepts an unvalidated URL.
|
|
42
46
|
return resolveDefaultHubUrl();
|
|
43
47
|
}
|
|
44
48
|
|
|
@@ -74,7 +78,7 @@ async function fetchValidationTasks() {
|
|
|
74
78
|
};
|
|
75
79
|
|
|
76
80
|
try {
|
|
77
|
-
const res = await
|
|
81
|
+
const res = await hubFetch(url, {
|
|
78
82
|
method: 'POST',
|
|
79
83
|
headers: buildHubHeaders(),
|
|
80
84
|
body: JSON.stringify(msg),
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
const crypto = require('crypto');
|
|
9
9
|
const { buildHubHeaders, getHubUrl, getNodeId } = require('../a2aProtocol');
|
|
10
|
+
const { hubFetch } = require('../hubFetch');
|
|
10
11
|
const { captureEnvFingerprint } = require('../envFingerprint');
|
|
11
12
|
const { resolveHubUrl: resolveDefaultHubUrl } = require('../../config');
|
|
12
13
|
|
|
@@ -172,7 +173,7 @@ async function submitReport(payload) {
|
|
|
172
173
|
};
|
|
173
174
|
|
|
174
175
|
try {
|
|
175
|
-
const res = await
|
|
176
|
+
const res = await hubFetch(url, {
|
|
176
177
|
method: 'POST',
|
|
177
178
|
headers: buildHubHeaders(),
|
|
178
179
|
body: JSON.stringify(msg),
|
|
@@ -29,6 +29,7 @@ const fs = require('fs');
|
|
|
29
29
|
const path = require('path');
|
|
30
30
|
const os = require('os');
|
|
31
31
|
const { buildHubHeaders, getHubUrl, getNodeId } = require('../a2aProtocol');
|
|
32
|
+
const { hubFetch } = require('../hubFetch');
|
|
32
33
|
const { resolveHubUrl: resolveDefaultHubUrl } = require('../../config');
|
|
33
34
|
|
|
34
35
|
const DEFAULT_STAKE_AMOUNT = Number(process.env.EVOLVER_VALIDATOR_STAKE_AMOUNT) || 100;
|
|
@@ -235,7 +236,7 @@ async function ensureValidatorStake(opts) {
|
|
|
235
236
|
let res;
|
|
236
237
|
let text = '';
|
|
237
238
|
try {
|
|
238
|
-
res = await
|
|
239
|
+
res = await hubFetch(url, {
|
|
239
240
|
method: 'POST',
|
|
240
241
|
headers: buildHubHeaders(),
|
|
241
242
|
body: JSON.stringify(body),
|
package/src/proxy/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const os = require('os');
|
|
|
5
5
|
const { MailboxStore } = require('./mailbox/store');
|
|
6
6
|
const { ProxyHttpServer } = require('./server/http');
|
|
7
7
|
const { buildRoutes } = require('./server/routes');
|
|
8
|
+
const { buildMessagesHandler } = require('./router/messages_route');
|
|
8
9
|
const { SyncEngine } = require('./sync/engine');
|
|
9
10
|
const { LifecycleManager } = require('./lifecycle/manager');
|
|
10
11
|
const { TaskMonitor } = require('./task/monitor');
|
|
@@ -21,6 +22,7 @@ class EvoMapProxy {
|
|
|
21
22
|
this.port = opts.port;
|
|
22
23
|
this.logger = opts.logger || console;
|
|
23
24
|
this._skillPath = opts.skillPath || null;
|
|
25
|
+
this._anthropicBaseUrl = (opts.anthropicBaseUrl || process.env.EVOMAP_ANTHROPIC_BASE_URL || 'https://api.anthropic.com').replace(/\/+$/, '');
|
|
24
26
|
|
|
25
27
|
this.store = null;
|
|
26
28
|
this.server = null;
|
|
@@ -93,11 +95,17 @@ class EvoMapProxy {
|
|
|
93
95
|
atpGet: (endpoint, query) => this._proxyHttp(endpoint, null, { method: 'GET', query }),
|
|
94
96
|
};
|
|
95
97
|
|
|
98
|
+
const messagesHandler = buildMessagesHandler({
|
|
99
|
+
anthropicProxy: (reqPath, body, opts) => this._proxyAnthropic(reqPath, body, opts),
|
|
100
|
+
logger: this.logger,
|
|
101
|
+
});
|
|
102
|
+
|
|
96
103
|
const routes = buildRoutes(this.store, proxyHandlers, this.taskMonitor, {
|
|
97
104
|
dmHandler: this.dmHandler,
|
|
98
105
|
skillUpdater: this.skillUpdater,
|
|
99
106
|
sessionHandler: this.sessionHandler,
|
|
100
107
|
getHubMailboxStatus: () => this._getHubMailboxStatus(),
|
|
108
|
+
messagesHandler,
|
|
101
109
|
});
|
|
102
110
|
|
|
103
111
|
const OUTBOUND_ROUTES = [
|
|
@@ -222,6 +230,67 @@ class EvoMapProxy {
|
|
|
222
230
|
return res.json();
|
|
223
231
|
}
|
|
224
232
|
|
|
233
|
+
// Phase C slice 4 + token mediation: relay to api.anthropic.com. The
|
|
234
|
+
// route layer applies router rewrite and decides stream vs. JSON; this
|
|
235
|
+
// method forwards the request and exposes the response shape.
|
|
236
|
+
//
|
|
237
|
+
// Allowed forward headers (lowercased): x-api-key, anthropic-version,
|
|
238
|
+
// and anything matching anthropic-* (anthropic-beta, etc.). Everything
|
|
239
|
+
// else (host, authorization, cookie, content-length, ...) is dropped
|
|
240
|
+
// so the inbound proxy-auth header never leaks upstream.
|
|
241
|
+
//
|
|
242
|
+
// Token mediation: the proxy server's `Authorization: Bearer <token>`
|
|
243
|
+
// header is consumed by ProxyHttpServer for self-auth and stripped
|
|
244
|
+
// here, so clients (e.g. Claude Code) can authenticate to the proxy
|
|
245
|
+
// with `ANTHROPIC_AUTH_TOKEN=<proxy_token>` without losing the ability
|
|
246
|
+
// to reach Anthropic upstream. When the client did not pass x-api-key,
|
|
247
|
+
// the proxy substitutes its own ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN
|
|
248
|
+
// env var on the upstream request. Env is read per-request so creds
|
|
249
|
+
// can be hot-swapped without restart, matching the EVOMAP_MODEL_*
|
|
250
|
+
// policy in README.
|
|
251
|
+
async _proxyAnthropic(reqPath, body, opts = {}) {
|
|
252
|
+
const baseUrl = (opts.baseUrl || this._anthropicBaseUrl || '').replace(/\/+$/, '');
|
|
253
|
+
const inbound = opts.inboundHeaders || {};
|
|
254
|
+
const timeoutMs = opts.timeoutMs || 60_000;
|
|
255
|
+
|
|
256
|
+
const fwd = { 'content-type': 'application/json' };
|
|
257
|
+
for (const [k, v] of Object.entries(inbound)) {
|
|
258
|
+
if (v === undefined || v === null) continue;
|
|
259
|
+
const lk = k.toLowerCase();
|
|
260
|
+
if (lk === 'x-api-key' || lk === 'anthropic-version' || lk.startsWith('anthropic-')) {
|
|
261
|
+
fwd[lk] = Array.isArray(v) ? v.join(', ') : String(v);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (!fwd['x-api-key']) {
|
|
266
|
+
if (process.env.ANTHROPIC_API_KEY) {
|
|
267
|
+
fwd['x-api-key'] = process.env.ANTHROPIC_API_KEY;
|
|
268
|
+
} else if (process.env.ANTHROPIC_AUTH_TOKEN) {
|
|
269
|
+
fwd['authorization'] = `Bearer ${process.env.ANTHROPIC_AUTH_TOKEN}`;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const endpoint = `${baseUrl}${reqPath}`;
|
|
274
|
+
const res = await fetch(endpoint, {
|
|
275
|
+
method: 'POST',
|
|
276
|
+
headers: fwd,
|
|
277
|
+
body: JSON.stringify(body || {}),
|
|
278
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
const headers = Object.fromEntries(res.headers.entries());
|
|
282
|
+
const contentType = (headers['content-type'] || '').toLowerCase();
|
|
283
|
+
const isStream = contentType.includes('text/event-stream');
|
|
284
|
+
|
|
285
|
+
return {
|
|
286
|
+
status: res.status,
|
|
287
|
+
headers,
|
|
288
|
+
stream: isStream ? res.body : null,
|
|
289
|
+
json: isStream ? null : () => res.json(),
|
|
290
|
+
text: () => res.text(),
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
225
294
|
async _getHubMailboxStatus() {
|
|
226
295
|
if (!this.hubUrl) return { error: 'Hub not configured' };
|
|
227
296
|
const nodeId = this.lifecycle.nodeId;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const { PROXY_PROTOCOL_VERSION } = require('../mailbox/store');
|
|
4
4
|
const crypto = require('crypto');
|
|
5
|
+
const { hubFetch } = require('../../gep/hubFetch');
|
|
5
6
|
|
|
6
7
|
const DEFAULT_HEARTBEAT_INTERVAL = 360_000;
|
|
7
8
|
const HELLO_TIMEOUT = 15_000;
|
|
@@ -137,7 +138,7 @@ class LifecycleManager {
|
|
|
137
138
|
};
|
|
138
139
|
|
|
139
140
|
try {
|
|
140
|
-
const res = await
|
|
141
|
+
const res = await hubFetch(endpoint, {
|
|
141
142
|
method: 'POST',
|
|
142
143
|
headers: this._buildHeaders(),
|
|
143
144
|
body: JSON.stringify(body),
|
|
@@ -317,7 +318,7 @@ class LifecycleManager {
|
|
|
317
318
|
};
|
|
318
319
|
|
|
319
320
|
try {
|
|
320
|
-
const res = await
|
|
321
|
+
const res = await hubFetch(endpoint, {
|
|
321
322
|
method: 'POST',
|
|
322
323
|
headers: this._buildHeaders(),
|
|
323
324
|
body: JSON.stringify(body),
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Rewrites the `model` field on an Anthropic /v1/messages request body
|
|
4
|
+
// without touching the `messages` array. The Anthropic prompt cache keys
|
|
5
|
+
// off the (model + messages + system + tools) tuple including any
|
|
6
|
+
// per-block `cache_control: { type: "ephemeral" }` markers. Since we
|
|
7
|
+
// only swap the top-level model string, all cache_control breakpoints
|
|
8
|
+
// the client placed remain intact and the cache prefix the client
|
|
9
|
+
// established with prior turns continues to hit.
|
|
10
|
+
//
|
|
11
|
+
// This is a pure function: it returns a shallow clone, never mutates
|
|
12
|
+
// the input. Callers pass a fresh body each request so deep cloning
|
|
13
|
+
// would be wasted work.
|
|
14
|
+
//
|
|
15
|
+
// Why a fresh module under src/proxy/router/: this is the second
|
|
16
|
+
// utility for Phase C alongside model_router.js. Bundling them into a
|
|
17
|
+
// shared dir keeps slice 4+ from sprawling helpers across src/proxy/.
|
|
18
|
+
|
|
19
|
+
function rewriteModel(body, newModel) {
|
|
20
|
+
if (!body || typeof body !== 'object') return body;
|
|
21
|
+
if (!newModel || typeof newModel !== 'string') return body;
|
|
22
|
+
if (body.model === newModel) return body;
|
|
23
|
+
return { ...body, model: newModel };
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
module.exports = { rewriteModel };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Stateless feature extraction for the Anthropic /v1/messages request body.
|
|
4
|
+
// Mirrors the field shapes consumed by model_router.js so pickForTurn can
|
|
5
|
+
// classify without per-session state. Phase C's "empty history" mode means
|
|
6
|
+
// last_assistant_output_tokens / last_assistant_stop_reason are always 0 /
|
|
7
|
+
// null; the JS classifier never reads stop_reason anyway (verified in the
|
|
8
|
+
// fixture round-trip; documented in model_router.js).
|
|
9
|
+
|
|
10
|
+
const PLAN_RE = /\b(plan|design|architect|brainstorm|outline|think through|let'?s think)\b/i;
|
|
11
|
+
const SIMPLE_LOOKUP_MAX_CHARS = 80;
|
|
12
|
+
|
|
13
|
+
function lastMessageOfRole(messages, role) {
|
|
14
|
+
if (!Array.isArray(messages)) return null;
|
|
15
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
16
|
+
const m = messages[i];
|
|
17
|
+
if (m && m.role === role) return m;
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function blocksOf(msg) {
|
|
23
|
+
if (!msg) return [];
|
|
24
|
+
const c = msg.content;
|
|
25
|
+
if (typeof c === 'string') return [{ type: 'text', text: c }];
|
|
26
|
+
return Array.isArray(c) ? c : [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function tailUserText(messages) {
|
|
30
|
+
if (!Array.isArray(messages) || messages.length === 0) return '';
|
|
31
|
+
const tail = messages[messages.length - 1];
|
|
32
|
+
if (!tail || tail.role !== 'user') return '';
|
|
33
|
+
return blocksOf(tail)
|
|
34
|
+
.filter((b) => b && b.type === 'text' && typeof b.text === 'string')
|
|
35
|
+
.map((b) => b.text)
|
|
36
|
+
.join('\n');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function extractFeatures(body) {
|
|
40
|
+
const messages = Array.isArray(body && body.messages) ? body.messages : [];
|
|
41
|
+
|
|
42
|
+
const lastAssistant = lastMessageOfRole(messages, 'assistant');
|
|
43
|
+
const lastAssistantBlocks = blocksOf(lastAssistant);
|
|
44
|
+
const toolCallCount = lastAssistantBlocks.filter((b) => b && b.type === 'tool_use').length;
|
|
45
|
+
|
|
46
|
+
const tail = messages[messages.length - 1];
|
|
47
|
+
const tailIsUser = !!(tail && tail.role === 'user');
|
|
48
|
+
const tailBlocks = blocksOf(tail);
|
|
49
|
+
const lastUserIsToolResultOnly = tailIsUser
|
|
50
|
+
&& tailBlocks.length > 0
|
|
51
|
+
&& tailBlocks.every((b) => b && b.type === 'tool_result');
|
|
52
|
+
|
|
53
|
+
const userText = tailUserText(messages);
|
|
54
|
+
const userRequestedPlanning = userText.length > 0 && PLAN_RE.test(userText);
|
|
55
|
+
const userSimpleLookup = userText.length > 0
|
|
56
|
+
&& !lastUserIsToolResultOnly
|
|
57
|
+
&& !userRequestedPlanning
|
|
58
|
+
&& userText.trim().length <= SIMPLE_LOOKUP_MAX_CHARS;
|
|
59
|
+
|
|
60
|
+
// last_assistant_stop_reason is gated by the classifier's
|
|
61
|
+
// post_tool_result_synthesis branch (model_router.js parity invariant).
|
|
62
|
+
// We don't have the real Anthropic response on the request side, but the
|
|
63
|
+
// shape of the last assistant message lets us reconstruct it deterministically:
|
|
64
|
+
// an assistant message with any tool_use block must have ended with
|
|
65
|
+
// stop_reason: 'tool_use' (otherwise the API would not have returned that
|
|
66
|
+
// block); a text-only assistant message ended with 'end_turn' ('Stop' in the
|
|
67
|
+
// Rust enum). Only 'ToolUse' is read by the classifier.
|
|
68
|
+
let stopReason = null;
|
|
69
|
+
if (lastAssistant) {
|
|
70
|
+
stopReason = toolCallCount > 0 ? 'ToolUse' : 'Stop';
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
last_assistant_tool_call_count: toolCallCount,
|
|
75
|
+
last_assistant_had_tool_call: toolCallCount > 0,
|
|
76
|
+
last_user_is_tool_result_only: lastUserIsToolResultOnly,
|
|
77
|
+
user_requested_planning: userRequestedPlanning,
|
|
78
|
+
user_simple_lookup: userSimpleLookup,
|
|
79
|
+
last_assistant_output_tokens: 0,
|
|
80
|
+
last_assistant_stop_reason: stopReason,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = { extractFeatures, PLAN_RE, SIMPLE_LOOKUP_MAX_CHARS };
|