@evomap/evolver 1.89.0 → 1.89.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CONTRIBUTING.md +19 -0
  2. package/README.ja-JP.md +9 -32
  3. package/README.ko-KR.md +9 -32
  4. package/README.md +530 -86
  5. package/README.zh-CN.md +4 -31
  6. package/SKILL.md +1 -1
  7. package/assets/cover.png +0 -0
  8. package/index.js +1 -1
  9. package/package.json +17 -6
  10. package/scripts/a2a_export.js +63 -0
  11. package/scripts/a2a_ingest.js +79 -0
  12. package/scripts/a2a_promote.js +118 -0
  13. package/scripts/analyze_by_skill.js +121 -0
  14. package/scripts/build_binaries.js +479 -0
  15. package/scripts/check-changelog.js +166 -0
  16. package/scripts/extract_log.js +85 -0
  17. package/scripts/generate_history.js +75 -0
  18. package/scripts/gep_append_event.js +96 -0
  19. package/scripts/gep_personality_report.js +234 -0
  20. package/scripts/human_report.js +147 -0
  21. package/scripts/recall-verify-report.js +234 -0
  22. package/scripts/recover_loop.js +61 -0
  23. package/scripts/seed-merchants.js +91 -0
  24. package/scripts/suggest_version.js +89 -0
  25. package/scripts/validate-modules.js +38 -0
  26. package/scripts/validate-suite.js +78 -0
  27. package/skills/index.json +14 -0
  28. package/src/evolve/guards.js +1 -721
  29. package/src/evolve/pipeline/collect.js +1 -1283
  30. package/src/evolve/pipeline/dispatch.js +1 -421
  31. package/src/evolve/pipeline/enrich.js +1 -434
  32. package/src/evolve/pipeline/hub.js +1 -319
  33. package/src/evolve/pipeline/select.js +1 -274
  34. package/src/evolve/pipeline/signals.js +1 -206
  35. package/src/evolve/utils.js +1 -264
  36. package/src/evolve.js +1 -350
  37. package/src/forceUpdate.js +105 -20
  38. package/src/gep/a2aProtocol.js +1 -4395
  39. package/src/gep/autoDistillConv.js +1 -205
  40. package/src/gep/autoDistillLlm.js +1 -315
  41. package/src/gep/candidateEval.js +1 -92
  42. package/src/gep/candidates.js +1 -198
  43. package/src/gep/contentHash.js +1 -30
  44. package/src/gep/conversationSniffer.js +1 -266
  45. package/src/gep/crypto.js +1 -89
  46. package/src/gep/curriculum.js +1 -163
  47. package/src/gep/deviceId.js +1 -218
  48. package/src/gep/envFingerprint.js +1 -118
  49. package/src/gep/epigenetics.js +1 -31
  50. package/src/gep/execBridge.js +1 -711
  51. package/src/gep/explore.js +1 -289
  52. package/src/gep/hash.js +1 -15
  53. package/src/gep/hubFetch.js +1 -359
  54. package/src/gep/hubReview.js +1 -207
  55. package/src/gep/hubSearch.js +1 -526
  56. package/src/gep/hubVerify.js +1 -306
  57. package/src/gep/learningSignals.js +1 -89
  58. package/src/gep/memoryGraph.js +1 -1374
  59. package/src/gep/memoryGraphAdapter.js +1 -203
  60. package/src/gep/mutation.js +1 -203
  61. package/src/gep/narrativeMemory.js +1 -108
  62. package/src/gep/openPRRegistry.js +1 -205
  63. package/src/gep/personality.js +1 -423
  64. package/src/gep/policyCheck.js +1 -599
  65. package/src/gep/prompt.js +1 -836
  66. package/src/gep/recallInject.js +1 -409
  67. package/src/gep/recallVerifier.js +1 -318
  68. package/src/gep/reflection.js +1 -177
  69. package/src/gep/selector.js +1 -602
  70. package/src/gep/skillDistiller.js +1 -1294
  71. package/src/gep/skillPublisher.js +1 -1
  72. package/src/gep/solidify.js +1 -1699
  73. package/src/gep/strategy.js +1 -136
  74. package/src/gep/tokenSavings.js +1 -88
  75. package/src/gep/workspaceKeychain.js +1 -174
  76. package/src/proxy/extensions/traceControl.js +1 -99
  77. package/src/proxy/inject.js +1 -52
  78. package/src/proxy/lifecycle/manager.js +2 -0
  79. package/src/proxy/trace/extractor.js +1 -534
  80. package/src/proxy/trace/usage.js +1 -105
  81. package/.cursor/BUGBOT.md +0 -182
  82. package/.env.example +0 -68
  83. package/.git-commit-guard-token +0 -1
  84. package/.github/CODEOWNERS +0 -63
  85. package/.github/ISSUE_TEMPLATE/good_first_issue.md +0 -23
  86. package/.github/pull_request_template.md +0 -45
  87. package/.github/workflows/test.yml +0 -75
  88. package/CHANGELOG.md +0 -1123
  89. package/README.public.md +0 -594
  90. package/SECURITY.md +0 -108
  91. package/assets/gep/events.jsonl +0 -3
  92. package/examples/atp-consumer-quickstart.md +0 -100
  93. package/examples/hello-world.md +0 -38
  94. package/proxy-package.json +0 -39
  95. package/public.manifest.json +0 -141
  96. /package/assets/gep/{genes.json → genes.seed.json} +0 -0
  97. /package/{bundled-skills → skills}/_meta/SKILL.md +0 -0
@@ -1,136 +1 @@
1
- // Evolution Strategy Presets (v1.1)
2
- // Controls the balance between repair, optimize, and innovate intents.
3
- //
4
- // Usage: set EVOLVE_STRATEGY env var to one of: balanced, innovate, harden, repair-only,
5
- // early-stabilize, steady-state, or "auto" for adaptive selection.
6
- // Default: balanced (or auto-detected based on cycle count / saturation signals)
7
- //
8
- // Each strategy defines:
9
- // repair/optimize/innovate - target allocation ratios (inform the LLM prompt)
10
- // repairLoopThreshold - repair ratio in last 8 cycles that triggers forced innovation
11
- // label - human-readable name injected into the GEP prompt
12
-
13
- var fs = require('fs');
14
- var path = require('path');
15
-
16
- var STRATEGIES = {
17
- 'balanced': {
18
- repair: 0.20,
19
- optimize: 0.20,
20
- innovate: 0.50,
21
- explore: 0.10,
22
- repairLoopThreshold: 0.50,
23
- label: 'Balanced',
24
- description: 'Normal operation. Steady growth with stability.',
25
- },
26
- 'innovate': {
27
- repair: 0.05,
28
- optimize: 0.10,
29
- innovate: 0.80,
30
- explore: 0.05,
31
- repairLoopThreshold: 0.30,
32
- label: 'Innovation Focus',
33
- description: 'System is stable. Maximize new features and capabilities.',
34
- },
35
- 'harden': {
36
- repair: 0.40,
37
- optimize: 0.35,
38
- innovate: 0.20,
39
- explore: 0.05,
40
- repairLoopThreshold: 0.70,
41
- label: 'Hardening',
42
- description: 'After a big change. Focus on stability and robustness.',
43
- },
44
- 'repair-only': {
45
- repair: 0.80,
46
- optimize: 0.18,
47
- innovate: 0.00,
48
- explore: 0.02,
49
- repairLoopThreshold: 1.00,
50
- label: 'Repair Only',
51
- description: 'Emergency. Fix everything before doing anything else.',
52
- },
53
- 'early-stabilize': {
54
- repair: 0.60,
55
- optimize: 0.22,
56
- innovate: 0.15,
57
- explore: 0.03,
58
- repairLoopThreshold: 0.80,
59
- label: 'Early Stabilization',
60
- description: 'First cycles. Prioritize fixing existing issues before innovating.',
61
- },
62
- 'steady-state': {
63
- repair: 0.55,
64
- optimize: 0.25,
65
- innovate: 0.05,
66
- explore: 0.15,
67
- repairLoopThreshold: 0.90,
68
- label: 'Steady State',
69
- description: 'Evolution saturated. Maintain existing capabilities. Explore for new directions.',
70
- },
71
- };
72
-
73
- // Read evolution_state.json to get the current cycle count for auto-detection.
74
- function _readCycleCount() {
75
- try {
76
- // evolver/memory/evolution_state.json (local to the skill)
77
- var localPath = path.resolve(__dirname, '..', '..', 'memory', 'evolution_state.json');
78
- // workspace/memory/evolution/evolution_state.json (canonical path used by evolve.js)
79
- var workspacePath = path.resolve(__dirname, '..', '..', '..', '..', 'memory', 'evolution', 'evolution_state.json');
80
- var candidates = [localPath, workspacePath];
81
- for (var i = 0; i < candidates.length; i++) {
82
- if (fs.existsSync(candidates[i])) {
83
- var data = JSON.parse(fs.readFileSync(candidates[i], 'utf8'));
84
- return data && Number.isFinite(data.cycleCount) ? data.cycleCount : 0;
85
- }
86
- }
87
- } catch (e) {}
88
- return 0;
89
- }
90
-
91
- function resolveStrategy(opts) {
92
- var signals = (opts && Array.isArray(opts.signals)) ? opts.signals : [];
93
- var name = String(process.env.EVOLVE_STRATEGY || 'balanced').toLowerCase().trim();
94
-
95
- // Backward compatibility: FORCE_INNOVATION=true maps to 'innovate'
96
- var forceInnovation = false;
97
- if (!process.env.EVOLVE_STRATEGY) {
98
- var fi = String(process.env.FORCE_INNOVATION || process.env.EVOLVE_FORCE_INNOVATION || '').toLowerCase();
99
- if (fi === 'true') {
100
- name = 'innovate';
101
- forceInnovation = true;
102
- }
103
- }
104
-
105
- // Auto-detection: when no explicit strategy is set (defaults to 'balanced'),
106
- // apply heuristics inspired by Echo-MingXuan's "fix first, innovate later" pattern.
107
- // Skip if user explicitly set FORCE_INNOVATION=true
108
- var isDefault = !process.env.EVOLVE_STRATEGY || name === 'balanced' || name === 'auto';
109
-
110
- if (isDefault && !forceInnovation) {
111
- // Early-stabilize: first 5 cycles should focus on fixing existing issues.
112
- var cycleCount = _readCycleCount();
113
- if (cycleCount > 0 && cycleCount <= 5) {
114
- name = 'early-stabilize';
115
- }
116
-
117
- // Saturation detection: if saturation signals are present, switch to steady-state.
118
- if (signals.indexOf('force_steady_state') !== -1) {
119
- name = 'steady-state';
120
- } else if (signals.indexOf('evolution_saturation') !== -1) {
121
- name = 'steady-state';
122
- }
123
- }
124
-
125
- // Explicit "auto" maps to whatever was auto-detected above (or balanced if no heuristic fired).
126
- if (name === 'auto') name = 'balanced';
127
-
128
- var strategy = STRATEGIES[name] || STRATEGIES['balanced'];
129
- return Object.assign({}, strategy, { name: name });
130
- }
131
-
132
- function getStrategyNames() {
133
- return Object.keys(STRATEGIES);
134
- }
135
-
136
- module.exports = { resolveStrategy, getStrategyNames, STRATEGIES };
1
+ var _0x36a879=_0x5281;(function(_0x235d6c,_0x141132){var _0x2976e2=_0x5281,_0x362ca5=_0x235d6c();while(!![]){try{var _0x1807da=parseInt(_0x2976e2(0x120,'\x5b\x4f\x78\x55'))/(0x19e*0x12+0x269e+-0x43b9)+-parseInt(_0x2976e2(0xd0,'\x4d\x4d\x2a\x21'))/(-0x5e5*-0x5+0x1*0x853+-0x25ca)*(parseInt(_0x2976e2(0x125,'\x38\x37\x67\x5b'))/(-0x1a50+0x2534+-0xae1))+parseInt(_0x2976e2(0x116,'\x6c\x6f\x62\x5e'))/(-0x26b*0xa+0x40f*-0x2+0x2050)*(parseInt(_0x2976e2(0x1a0,'\x64\x28\x2a\x47'))/(-0x1*0x1d35+0xbd*0x26+0x12c))+parseInt(_0x2976e2(0x153,'\x52\x43\x31\x53'))/(0x1*0xb2d+0x24e5+-0x300c)+parseInt(_0x2976e2(0x16c,'\x38\x37\x67\x5b'))/(0x1133+-0x11c*0xa+-0x614)+-parseInt(_0x2976e2(0xeb,'\x55\x71\x57\x73'))/(0x66*-0x3d+-0x6*-0x1d2+0xd6a)+-parseInt(_0x2976e2(0x179,'\x30\x79\x6e\x4a'))/(-0xbe5+0x29*0x29+0x55d*0x1);if(_0x1807da===_0x141132)break;else _0x362ca5['push'](_0x362ca5['shift']());}catch(_0x1e68b5){_0x362ca5['push'](_0x362ca5['shift']());}}}(_0x175a,0x1*-0x2a496+0x159378+-0x7b148));var _0xd8a85e=(function(){var _0x4a2b65=_0x5281,_0x17013d={};_0x17013d[_0x4a2b65(0xdb,'\x64\x7a\x35\x61')]=function(_0x5e37e9,_0x3626ee){return _0x5e37e9!==_0x3626ee;},_0x17013d[_0x4a2b65(0x101,'\x66\x4e\x55\x64')]=_0x4a2b65(0xe6,'\x5d\x62\x56\x53'),_0x17013d[_0x4a2b65(0x14e,'\x77\x25\x51\x34')]=_0x4a2b65(0xdd,'\x35\x34\x5e\x66'),_0x17013d['\x6e\x46\x6b\x66\x72']=_0x4a2b65(0x15c,'\x66\x21\x42\x7a'),_0x17013d['\x45\x69\x65\x67\x59']='\x65\x76\x6f\x6c\x75\x74\x69\x6f'+_0x4a2b65(0x143,'\x4d\x4d\x2a\x21')+_0x4a2b65(0x13c,'\x57\x49\x4c\x21'),_0x17013d[_0x4a2b65(0x12e,'\x4a\x6f\x55\x6f')]=function(_0xeaf7b9,_0x51175a){return _0xeaf7b9<_0x51175a;},_0x17013d['\x51\x78\x43\x57\x56']=_0x4a2b65(0x19b,'\x6a\x74\x57\x6b');var _0x1b1a50=_0x17013d,_0x170922=!![];return function(_0x38abc8,_0x56b564){var _0x1d7c6a=_0x4a2b65,_0x1ead96={'\x4d\x64\x7a\x6d\x6c':_0x1b1a50[_0x1d7c6a(0xec,'\x45\x4c\x30\x6a')],'\x56\x4e\x4b\x6c\x53':_0x1b1a50[_0x1d7c6a(0x127,'\x38\x37\x67\x5b')],'\x62\x4d\x61\x44\x61':function(_0x5bbf5d,_0x31800a){var _0x5ebe39=_0x1d7c6a;return _0x1b1a50[_0x5ebe39(0xca,'\x64\x28\x2a\x47')](_0x5bbf5d,_0x31800a);},'\x78\x78\x4d\x59\x52':_0x1b1a50[_0x1d7c6a(0x100,'\x4a\x6f\x55\x6f')]},_0x3ceee9=_0x170922?function(){var _0x3e9c06=_0x1d7c6a;if(_0x56b564){if(_0x1b1a50[_0x3e9c06(0xc1,'\x57\x49\x4c\x21')](_0x1b1a50[_0x3e9c06(0x190,'\x47\x37\x4d\x4d')],_0x1b1a50[_0x3e9c06(0x133,'\x57\x68\x4a\x64')])){var _0x1d3e4c=_0x56b564[_0x3e9c06(0x18c,'\x42\x59\x34\x70')](_0x38abc8,arguments);return _0x56b564=null,_0x1d3e4c;}else{var _0x38d983=_0x1083a2[_0x3e9c06(0x114,'\x4f\x73\x51\x39')](_0x29142c,'\x2e\x2e','\x2e\x2e',_0x1ead96[_0x3e9c06(0x107,'\x5e\x7a\x4c\x6f')],_0x1ead96[_0x3e9c06(0x150,'\x38\x52\x44\x75')]),_0x129afe=_0x51b882['\x72\x65\x73\x6f\x6c\x76\x65'](_0x51c5d9,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x1ead96[_0x3e9c06(0x11c,'\x58\x58\x40\x59')],_0x3e9c06(0x195,'\x75\x70\x73\x71')+'\x6e',_0x1ead96[_0x3e9c06(0xf9,'\x57\x49\x4c\x21')]),_0x8161db=[_0x38d983,_0x129afe];for(var _0x276b03=0x1ee9+-0x8d*-0x6+-0x2237;_0x1ead96[_0x3e9c06(0xc3,'\x52\x33\x34\x25')](_0x276b03,_0x8161db[_0x3e9c06(0x14a,'\x52\x43\x31\x53')]);_0x276b03++){if(_0x35b08a[_0x3e9c06(0x132,'\x4d\x4d\x2a\x21')+'\x6e\x63'](_0x8161db[_0x276b03])){var _0x4cc595=_0x54a862[_0x3e9c06(0xff,'\x58\x58\x40\x59')](_0x471e6c[_0x3e9c06(0xc9,'\x64\x7a\x35\x61')+_0x3e9c06(0xcf,'\x68\x4e\x4a\x4e')](_0x8161db[_0x276b03],_0x1ead96[_0x3e9c06(0x173,'\x4a\x6f\x55\x6f')]));return _0x4cc595&&_0x5108bb[_0x3e9c06(0xf2,'\x52\x43\x31\x53')](_0x4cc595[_0x3e9c06(0x10e,'\x30\x71\x71\x77')+'\x6e\x74'])?_0x4cc595[_0x3e9c06(0xb6,'\x5b\x4f\x78\x55')+'\x6e\x74']:-0x9df+-0x12e3+0x1cc2;}}}}}:function(){};return _0x170922=![],_0x3ceee9;};}()),_0x168ae3=_0xd8a85e(this,function(){var _0x2eb243=_0x5281,_0x4ddbb5={};_0x4ddbb5[_0x2eb243(0x170,'\x54\x43\x4f\x53')]=_0x2eb243(0xe0,'\x76\x49\x4c\x64')+_0x2eb243(0xd2,'\x6c\x47\x2a\x48');var _0x5d1fdb=_0x4ddbb5;return _0x168ae3[_0x2eb243(0x130,'\x35\x34\x5e\x66')]()[_0x2eb243(0xe1,'\x5b\x4f\x78\x55')](_0x5d1fdb[_0x2eb243(0x192,'\x38\x37\x67\x5b')])[_0x2eb243(0xcb,'\x23\x6b\x6f\x29')]()[_0x2eb243(0x10b,'\x47\x37\x4d\x4d')+_0x2eb243(0xc0,'\x23\x6b\x6f\x29')](_0x168ae3)[_0x2eb243(0x10d,'\x68\x4e\x4a\x4e')](_0x5d1fdb[_0x2eb243(0x18d,'\x64\x28\x2a\x47')]);});_0x168ae3();var _0x314100=require('\x66\x73'),_0x104c74=require(_0x36a879(0xfb,'\x29\x79\x69\x55')),_0x43f639={};_0x43f639[_0x36a879(0xfc,'\x58\x37\x6d\x65')]=0.2,_0x43f639[_0x36a879(0x145,'\x36\x47\x34\x38')]=0.2,_0x43f639['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.5,_0x43f639[_0x36a879(0x10f,'\x62\x5a\x5a\x29')]=0.1,_0x43f639[_0x36a879(0xf1,'\x47\x37\x4d\x4d')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x36a879(0x172,'\x6a\x74\x57\x6b')]=0.5,_0x43f639[_0x36a879(0x105,'\x76\x49\x4c\x64')]=_0x36a879(0x188,'\x37\x47\x46\x5b'),_0x43f639[_0x36a879(0x14f,'\x4a\x6f\x55\x6f')+'\x69\x6f\x6e']=_0x36a879(0x16a,'\x7a\x24\x4f\x6f')+_0x36a879(0x154,'\x58\x58\x40\x59')+_0x36a879(0xc4,'\x45\x4c\x30\x6a')+'\x20\x67\x72\x6f\x77\x74\x68\x20'+_0x36a879(0xce,'\x47\x37\x4d\x4d')+_0x36a879(0x194,'\x42\x59\x34\x70');var _0x19549b={};_0x19549b[_0x36a879(0xbc,'\x5b\x4f\x78\x55')]=0.05,_0x19549b[_0x36a879(0x152,'\x5b\x4f\x78\x55')]=0.1,_0x19549b[_0x36a879(0x17b,'\x5b\x49\x56\x6e')]=0.8,_0x19549b[_0x36a879(0xd9,'\x52\x33\x34\x25')]=0.05,_0x19549b['\x72\x65\x70\x61\x69\x72\x4c\x6f'+_0x36a879(0x147,'\x24\x54\x4d\x6b')+'\x6f\x6c\x64']=0.3,_0x19549b['\x6c\x61\x62\x65\x6c']=_0x36a879(0xd1,'\x7a\x24\x4f\x6f')+'\x6f\x6e\x20\x46\x6f\x63\x75\x73',_0x19549b[_0x36a879(0x110,'\x77\x25\x51\x34')+_0x36a879(0x144,'\x66\x21\x42\x7a')]=_0x36a879(0xe3,'\x79\x46\x31\x4a')+_0x36a879(0x171,'\x52\x33\x34\x25')+_0x36a879(0xd8,'\x30\x79\x6e\x4a')+_0x36a879(0x164,'\x57\x49\x4c\x21')+'\x65\x61\x74\x75\x72\x65\x73\x20'+_0x36a879(0x118,'\x58\x48\x38\x39')+_0x36a879(0x139,'\x64\x7a\x35\x61')+'\x2e';var _0x5d64aa={};_0x5d64aa[_0x36a879(0xd3,'\x55\x71\x57\x73')]=0.4,_0x5d64aa[_0x36a879(0x112,'\x47\x37\x4d\x4d')]=0.35,_0x5d64aa[_0x36a879(0xc7,'\x35\x34\x5e\x66')]=0.2,_0x5d64aa[_0x36a879(0x196,'\x57\x49\x4c\x21')]=0.05,_0x5d64aa[_0x36a879(0x129,'\x4d\x4d\x2a\x21')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x36a879(0xdc,'\x5b\x49\x56\x6e')]=0.7,_0x5d64aa[_0x36a879(0x12b,'\x30\x79\x6e\x4a')]='\x48\x61\x72\x64\x65\x6e\x69\x6e'+'\x67',_0x5d64aa[_0x36a879(0x180,'\x62\x5a\x5a\x29')+_0x36a879(0xe4,'\x47\x37\x4d\x4d')]=_0x36a879(0xe9,'\x5e\x7a\x4c\x6f')+_0x36a879(0x17e,'\x4a\x6f\x55\x6f')+'\x67\x65\x2e\x20\x46\x6f\x63\x75'+_0x36a879(0x19a,'\x76\x49\x4c\x64')+_0x36a879(0x103,'\x5d\x62\x56\x53')+_0x36a879(0xb5,'\x52\x33\x34\x25')+_0x36a879(0x16b,'\x35\x34\x5e\x66');var _0x529b82={};_0x529b82[_0x36a879(0xee,'\x30\x79\x6e\x4a')]=0.8,_0x529b82[_0x36a879(0xde,'\x76\x49\x4c\x64')]=0.18,_0x529b82[_0x36a879(0x11f,'\x7a\x24\x4f\x6f')]=0x0,_0x529b82[_0x36a879(0x18e,'\x6a\x74\x57\x6b')]=0.02,_0x529b82[_0x36a879(0x187,'\x35\x34\x5e\x66')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x36a879(0x191,'\x6c\x47\x2a\x48')]=0x1,_0x529b82[_0x36a879(0xf4,'\x52\x43\x31\x53')]='\x52\x65\x70\x61\x69\x72\x20\x4f'+_0x36a879(0x13b,'\x76\x49\x4c\x64'),_0x529b82[_0x36a879(0x124,'\x54\x43\x4f\x53')+_0x36a879(0x122,'\x57\x31\x4f\x21')]='\x45\x6d\x65\x72\x67\x65\x6e\x63'+_0x36a879(0x185,'\x5e\x7a\x4c\x6f')+_0x36a879(0x19e,'\x30\x79\x6e\x4a')+_0x36a879(0x19d,'\x5e\x7a\x4c\x6f')+_0x36a879(0x165,'\x41\x52\x47\x2a')+_0x36a879(0x16e,'\x64\x7a\x35\x61')+_0x36a879(0x134,'\x55\x71\x57\x73');var _0x20e822={};_0x20e822[_0x36a879(0xc2,'\x38\x52\x44\x75')]=0.6,_0x20e822[_0x36a879(0x112,'\x47\x37\x4d\x4d')]=0.22,_0x20e822[_0x36a879(0x11d,'\x58\x37\x6d\x65')]=0.15,_0x20e822['\x65\x78\x70\x6c\x6f\x72\x65']=0.03,_0x20e822[_0x36a879(0x140,'\x45\x4c\x30\x6a')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x36a879(0x197,'\x23\x6b\x6f\x29')]=0.8,_0x20e822[_0x36a879(0xd5,'\x62\x5a\x5a\x29')]='\x45\x61\x72\x6c\x79\x20\x53\x74'+_0x36a879(0x11e,'\x68\x4e\x4a\x4e')+_0x36a879(0x19f,'\x77\x25\x51\x34'),_0x20e822[_0x36a879(0x16f,'\x58\x37\x6d\x65')+_0x36a879(0xc6,'\x37\x47\x46\x5b')]=_0x36a879(0x12a,'\x7a\x24\x4f\x6f')+_0x36a879(0xb9,'\x6c\x47\x2a\x48')+_0x36a879(0xef,'\x42\x61\x56\x74')+_0x36a879(0x123,'\x68\x4e\x4a\x4e')+_0x36a879(0xf3,'\x24\x54\x4d\x6b')+_0x36a879(0x142,'\x24\x54\x4d\x6b')+_0x36a879(0x149,'\x79\x46\x31\x4a')+_0x36a879(0x13e,'\x52\x43\x31\x53')+'\x67\x2e';var _0x3b1f4e={};_0x3b1f4e[_0x36a879(0xfe,'\x6c\x47\x2a\x48')]=0.55,_0x3b1f4e[_0x36a879(0x169,'\x64\x7a\x35\x61')]=0.25,_0x3b1f4e[_0x36a879(0xd7,'\x66\x21\x42\x7a')]=0.05,_0x3b1f4e['\x65\x78\x70\x6c\x6f\x72\x65']=0.15,_0x3b1f4e['\x72\x65\x70\x61\x69\x72\x4c\x6f'+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x36a879(0x18b,'\x57\x49\x4c\x21')]=0.9,_0x3b1f4e[_0x36a879(0x13f,'\x5b\x49\x56\x6e')]=_0x36a879(0x167,'\x52\x33\x34\x25')+_0x36a879(0x15f,'\x64\x28\x2a\x47'),_0x3b1f4e[_0x36a879(0x109,'\x29\x79\x69\x55')+'\x69\x6f\x6e']=_0x36a879(0x106,'\x57\x31\x4f\x21')+'\x6e\x20\x73\x61\x74\x75\x72\x61'+_0x36a879(0x102,'\x76\x49\x4c\x64')+_0x36a879(0x189,'\x5d\x62\x56\x53')+'\x69\x73\x74\x69\x6e\x67\x20\x63'+'\x61\x70\x61\x62\x69\x6c\x69\x74'+'\x69\x65\x73\x2e\x20\x45\x78\x70'+_0x36a879(0xcc,'\x35\x34\x5e\x66')+_0x36a879(0xbf,'\x57\x31\x4f\x21')+'\x65\x63\x74\x69\x6f\x6e\x73\x2e';var _0xd9d91d={};_0xd9d91d['\x62\x61\x6c\x61\x6e\x63\x65\x64']=_0x43f639,_0xd9d91d['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=_0x19549b,_0xd9d91d['\x68\x61\x72\x64\x65\x6e']=_0x5d64aa,_0xd9d91d['\x72\x65\x70\x61\x69\x72\x2d\x6f'+'\x6e\x6c\x79']=_0x529b82,_0xd9d91d['\x65\x61\x72\x6c\x79\x2d\x73\x74'+'\x61\x62\x69\x6c\x69\x7a\x65']=_0x20e822,_0xd9d91d[_0x36a879(0x108,'\x7a\x24\x4f\x6f')+_0x36a879(0x104,'\x41\x52\x47\x2a')]=_0x3b1f4e;function _0x175a(){var _0x2fb36b=['\x57\x36\x66\x54\x45\x4e\x54\x4d','\x57\x34\x33\x63\x52\x6d\x6f\x67\x57\x35\x74\x64\x51\x43\x6f\x43\x57\x52\x61\x66','\x6c\x62\x46\x63\x53\x61','\x77\x4c\x71\x36\x57\x34\x71\x4c\x57\x4f\x33\x63\x4e\x38\x6f\x42','\x57\x52\x4c\x6b\x44\x38\x6f\x56\x7a\x71','\x57\x35\x47\x55\x77\x47\x30\x6b\x62\x62\x69','\x6f\x74\x61\x2f\x57\x50\x58\x68\x75\x43\x6f\x74','\x78\x53\x6b\x59\x57\x37\x37\x63\x51\x43\x6f\x2b\x66\x38\x6f\x35\x6a\x61','\x76\x58\x37\x64\x50\x32\x43\x68','\x70\x33\x61\x6e\x75\x43\x6f\x46\x57\x34\x52\x63\x4c\x72\x44\x6d\x78\x73\x64\x63\x52\x73\x46\x64\x56\x47','\x61\x67\x35\x4a\x57\x35\x35\x48','\x57\x34\x33\x63\x47\x43\x6f\x4e\x57\x36\x68\x64\x4d\x6d\x6f\x30\x57\x35\x43\x4c','\x79\x64\x72\x45\x57\x4f\x58\x46\x63\x61','\x57\x50\x58\x76\x62\x78\x2f\x64\x52\x49\x4c\x4c\x57\x52\x61','\x57\x50\x6c\x64\x48\x43\x6b\x31\x61\x47','\x6e\x58\x33\x63\x52\x53\x6b\x47\x7a\x77\x46\x63\x50\x53\x6f\x58','\x57\x51\x46\x64\x4d\x47\x70\x63\x48\x6d\x6b\x32\x63\x4a\x71\x61','\x68\x43\x6f\x56\x57\x4f\x48\x62\x57\x51\x35\x41\x73\x5a\x43','\x57\x51\x6c\x64\x49\x63\x46\x63\x49\x6d\x6b\x30','\x71\x6d\x6f\x31\x71\x63\x34\x34','\x57\x4f\x74\x63\x50\x72\x39\x46','\x57\x51\x33\x64\x4b\x63\x42\x63\x47\x43\x6b\x39\x69\x63\x38\x71','\x61\x58\x2f\x63\x54\x38\x6b\x77\x78\x61','\x57\x4f\x70\x63\x56\x33\x4c\x38\x57\x35\x79','\x45\x72\x47\x43\x57\x51\x78\x63\x55\x32\x6c\x63\x55\x43\x6f\x58','\x42\x67\x58\x35\x57\x4f\x65','\x6f\x38\x6f\x32\x78\x6d\x6f\x6f\x77\x30\x57','\x57\x50\x35\x46\x64\x4d\x75','\x57\x50\x43\x4a\x62\x4b\x42\x63\x4f\x53\x6f\x77','\x57\x50\x79\x52\x68\x53\x6f\x43\x57\x51\x4f','\x57\x50\x2f\x63\x48\x74\x6e\x72\x57\x50\x69','\x57\x50\x52\x64\x53\x66\x69\x48\x57\x37\x65','\x57\x34\x76\x72\x45\x71\x50\x7a\x57\x52\x30\x5a\x42\x57','\x57\x51\x6a\x74\x75\x53\x6f\x31\x45\x64\x48\x4a\x63\x61','\x67\x71\x37\x64\x4c\x38\x6f\x68','\x57\x35\x31\x76\x46\x30\x65\x76','\x57\x34\x70\x64\x47\x53\x6b\x56\x57\x34\x71\x68\x73\x43\x6b\x72\x62\x71','\x75\x53\x6b\x57\x57\x37\x64\x63\x4f\x43\x6f\x47','\x6c\x53\x6f\x6e\x57\x36\x69\x65\x63\x43\x6b\x6a\x57\x52\x30\x2f','\x45\x67\x48\x2b\x57\x4f\x52\x63\x55\x6d\x6f\x65\x57\x51\x78\x64\x55\x61','\x57\x52\x2f\x63\x4b\x53\x6b\x56\x57\x52\x71\x42','\x6a\x48\x46\x63\x53\x6d\x6b\x59\x45\x67\x46\x63\x4e\x38\x6f\x39','\x46\x78\x35\x2b\x57\x4f\x64\x63\x52\x43\x6f\x64','\x7a\x53\x6b\x70\x6e\x43\x6b\x49\x57\x50\x79\x56','\x64\x6d\x6b\x6f\x57\x36\x54\x6d\x57\x52\x57\x75\x57\x4f\x33\x63\x4c\x57','\x57\x34\x35\x57\x45\x38\x6b\x59\x57\x35\x70\x64\x53\x43\x6b\x78','\x57\x51\x56\x63\x4a\x43\x6b\x55\x57\x50\x57\x54\x67\x32\x48\x4a','\x57\x34\x33\x63\x4b\x6d\x6f\x54\x75\x38\x6f\x78\x57\x52\x37\x63\x50\x43\x6f\x7a\x41\x6d\x6b\x38\x72\x33\x7a\x49','\x6b\x47\x4a\x63\x51\x53\x6b\x4f\x79\x78\x5a\x63\x4b\x6d\x6f\x37','\x77\x38\x6f\x66\x57\x52\x38\x7a\x57\x36\x35\x47\x57\x35\x64\x63\x4b\x6d\x6b\x65\x57\x36\x56\x64\x51\x38\x6b\x48\x57\x34\x6d','\x46\x53\x6f\x38\x78\x73\x30\x4e\x57\x50\x44\x32','\x71\x68\x68\x64\x49\x6d\x6f\x67\x57\x50\x6c\x64\x48\x53\x6f\x64\x57\x35\x38\x6b\x57\x37\x68\x63\x48\x38\x6b\x71\x57\x50\x38','\x61\x30\x4b\x72\x57\x4f\x35\x77\x75\x59\x34','\x57\x50\x4e\x63\x50\x6d\x6b\x4b\x57\x51\x75\x59','\x6d\x73\x6a\x4c\x57\x36\x5a\x63\x4b\x38\x6b\x54\x7a\x4c\x4b','\x61\x48\x4a\x64\x52\x38\x6b\x78\x73\x47','\x6d\x71\x52\x63\x54\x38\x6b\x53','\x57\x52\x42\x63\x49\x59\x50\x4c\x57\x4f\x61','\x57\x51\x53\x55\x66\x53\x6f\x63\x57\x51\x6d','\x69\x6d\x6f\x39\x71\x53\x6f\x61\x72\x66\x2f\x64\x47\x53\x6f\x79','\x44\x6d\x6b\x69\x70\x43\x6b\x38\x57\x50\x57\x39\x43\x57\x30','\x6e\x6d\x6f\x78\x57\x36\x4b\x6b\x67\x38\x6b\x72\x57\x36\x71\x50','\x57\x35\x31\x72\x62\x75\x35\x51\x44\x67\x56\x63\x4b\x71\x31\x64\x57\x4f\x43\x48\x45\x61','\x6d\x43\x6b\x2b\x41\x38\x6f\x4d\x69\x47','\x57\x36\x2f\x64\x4d\x38\x6b\x55','\x6e\x43\x6b\x6d\x70\x43\x6b\x4f\x57\x50\x57\x50\x44\x76\x4b','\x71\x38\x6b\x76\x78\x6d\x6b\x74\x6a\x6d\x6f\x54\x57\x36\x44\x7a','\x57\x4f\x6c\x63\x56\x74\x58\x4e\x6a\x53\x6f\x68\x73\x47','\x57\x4f\x52\x64\x51\x58\x70\x63\x54\x38\x6b\x31','\x57\x37\x74\x63\x4f\x71\x62\x6c\x67\x47','\x57\x52\x42\x63\x51\x58\x4c\x4d\x78\x71','\x57\x4f\x37\x64\x47\x43\x6b\x4f\x62\x53\x6b\x6d\x57\x37\x2f\x64\x4b\x43\x6f\x7a','\x67\x38\x6f\x71\x57\x37\x75\x77\x67\x43\x6f\x71\x57\x37\x6d\x31','\x46\x4a\x62\x6d\x57\x4f\x48\x41','\x57\x51\x56\x64\x4e\x59\x52\x63\x47\x43\x6b\x54\x66\x59\x4b\x6b','\x67\x38\x6b\x4b\x57\x4f\x68\x64\x47\x59\x31\x57\x6b\x71','\x57\x4f\x56\x63\x4d\x62\x7a\x4a\x57\x51\x6d','\x57\x35\x6e\x33\x57\x52\x6c\x64\x54\x6d\x6b\x71','\x57\x4f\x74\x63\x4f\x59\x6e\x66\x46\x38\x6b\x58\x57\x34\x46\x63\x4a\x61','\x57\x50\x34\x61\x71\x58\x75\x30\x6d\x74\x42\x63\x52\x71','\x57\x50\x4e\x64\x4e\x6d\x6b\x58\x66\x6d\x6b\x72\x57\x37\x37\x64\x4a\x53\x6f\x70','\x68\x49\x71\x6e\x57\x52\x76\x73','\x41\x59\x31\x69\x61\x38\x6f\x62','\x7a\x4a\x74\x64\x54\x78\x79\x78','\x57\x4f\x30\x68\x77\x72\x79\x58\x70\x74\x79','\x57\x50\x72\x6a\x65\x47','\x57\x36\x78\x64\x4a\x43\x6b\x4a\x57\x34\x71\x78\x46\x53\x6b\x78\x68\x57','\x57\x34\x58\x32\x75\x67\x44\x51\x57\x51\x56\x63\x53\x38\x6f\x76','\x57\x51\x6a\x30\x73\x6d\x6f\x37\x78\x57','\x57\x35\x39\x79\x7a\x61','\x57\x52\x2f\x63\x47\x4c\x31\x2b','\x78\x38\x6f\x6e\x71\x62\x61\x74','\x57\x51\x64\x64\x48\x59\x52\x63\x4d\x38\x6b\x35\x66\x59\x4b\x6c','\x6f\x4d\x65\x71\x57\x50\x66\x68','\x68\x65\x31\x34\x57\x35\x4c\x36\x57\x4f\x70\x64\x50\x6d\x6f\x69','\x57\x4f\x47\x76\x68\x38\x6f\x6f\x57\x52\x53\x71\x7a\x6d\x6f\x56','\x77\x6d\x6f\x2b\x57\x50\x6a\x62\x57\x51\x39\x77\x76\x4e\x61','\x57\x50\x6c\x64\x55\x38\x6b\x52\x65\x38\x6b\x65\x57\x37\x4e\x64\x55\x6d\x6b\x79','\x6d\x71\x78\x64\x4f\x61','\x57\x50\x4e\x63\x4c\x43\x6f\x58\x57\x50\x42\x63\x55\x43\x6b\x38\x6f\x48\x61','\x57\x34\x72\x53\x75\x32\x61','\x66\x38\x6f\x4e\x57\x52\x76\x41\x57\x51\x48\x77\x76\x4a\x47','\x57\x35\x6e\x2b\x75\x43\x6b\x39\x57\x37\x47','\x57\x37\x5a\x63\x53\x6d\x6f\x74\x57\x34\x2f\x64\x56\x53\x6f\x75\x57\x52\x61\x66','\x57\x51\x6c\x64\x4a\x63\x56\x63\x49\x53\x6b\x53\x63\x57','\x68\x63\x5a\x63\x4c\x6d\x6b\x41\x57\x35\x4e\x63\x53\x43\x6b\x71','\x57\x4f\x69\x2f\x67\x53\x6f\x44\x57\x52\x34','\x6e\x72\x4e\x63\x52\x6d\x6b\x59\x41\x71','\x57\x4f\x4e\x63\x52\x38\x6b\x6a\x57\x51\x4b\x73','\x57\x51\x52\x63\x4d\x61\x6e\x4c\x57\x52\x7a\x34\x61\x77\x75','\x72\x53\x6b\x7a\x57\x37\x43\x4e\x57\x51\x79','\x45\x77\x50\x30\x57\x51\x46\x63\x51\x38\x6f\x61\x57\x52\x64\x64\x56\x57','\x57\x4f\x6d\x76\x72\x62\x6d\x31\x6c\x49\x4e\x63\x4d\x57','\x57\x37\x52\x63\x4b\x78\x42\x64\x4c\x6d\x6f\x48\x76\x68\x69\x70\x57\x50\x4f\x61\x57\x37\x70\x64\x48\x77\x57','\x57\x50\x79\x56\x68\x53\x6f\x6f\x57\x52\x53\x6d\x45\x43\x6f\x47','\x6f\x53\x6b\x43\x57\x36\x31\x72\x57\x4f\x34','\x45\x71\x75\x58\x57\x52\x37\x63\x51\x77\x64\x63\x53\x47','\x65\x38\x6f\x48\x74\x43\x6f\x41\x77\x61','\x57\x50\x47\x78\x72\x72\x38','\x57\x4f\x30\x71\x72\x62\x75','\x6a\x43\x6b\x67\x75\x53\x6f\x52\x66\x73\x33\x63\x49\x49\x4f','\x7a\x43\x6f\x33\x71\x63\x30\x39\x57\x4f\x62\x4e\x61\x47','\x6e\x71\x2f\x64\x4f\x38\x6b\x6e\x75\x49\x65','\x57\x34\x6a\x65\x43\x75\x30\x6e','\x57\x50\x6e\x55\x75\x6d\x6f\x6f\x76\x61','\x78\x43\x6f\x73\x57\x51\x6c\x63\x54\x71','\x57\x4f\x6d\x50\x62\x65\x74\x63\x52\x53\x6f\x37\x57\x50\x66\x6b','\x57\x4f\x4a\x63\x4d\x48\x4c\x72\x57\x50\x71','\x6e\x38\x6f\x7a\x72\x38\x6f\x4f\x44\x43\x6b\x73','\x74\x53\x6f\x77\x57\x51\x6c\x63\x47\x33\x70\x64\x4e\x67\x5a\x63\x56\x57','\x57\x51\x2f\x63\x4c\x62\x6a\x2b\x57\x36\x64\x64\x47\x38\x6b\x2b\x75\x61','\x74\x71\x56\x64\x4a\x6d\x6f\x6c\x43\x53\x6b\x62\x7a\x6d\x6f\x30','\x62\x47\x66\x66\x6e\x73\x47','\x67\x63\x65\x50\x57\x50\x6a\x70\x78\x53\x6b\x77\x74\x71','\x57\x51\x37\x64\x50\x32\x65\x63\x57\x34\x78\x64\x55\x72\x70\x64\x47\x61','\x57\x34\x66\x56\x73\x67\x44\x5a\x57\x51\x56\x63\x52\x6d\x6f\x64','\x65\x38\x6f\x77\x57\x37\x75\x69\x64\x6d\x6b\x43\x57\x52\x61\x4a','\x57\x4f\x74\x63\x4f\x48\x76\x63\x46\x53\x6f\x32','\x57\x4f\x78\x64\x55\x4c\x69\x76\x44\x6d\x6b\x44\x67\x38\x6f\x7a\x57\x50\x53\x47\x57\x52\x66\x35\x57\x51\x6d','\x57\x35\x44\x49\x57\x51\x56\x64\x4a\x38\x6b\x70\x57\x34\x42\x63\x4c\x61','\x57\x34\x62\x4d\x73\x67\x7a\x33\x57\x51\x5a\x63\x53\x43\x6b\x67','\x6c\x43\x6f\x32\x78\x38\x6f\x6d\x71\x66\x46\x64\x48\x53\x6f\x6a','\x7a\x43\x6b\x75\x73\x53\x6b\x46\x61\x47','\x6f\x68\x75\x2f\x57\x4f\x44\x6b\x72\x43\x6f\x41\x45\x57','\x57\x35\x57\x57\x57\x50\x61','\x57\x52\x42\x63\x48\x74\x31\x46\x57\x50\x79','\x64\x6d\x6b\x34\x57\x50\x64\x64\x4e\x5a\x30','\x57\x51\x52\x63\x4b\x6d\x6b\x30\x57\x4f\x57\x52\x61\x75\x54\x55','\x57\x35\x44\x37\x77\x53\x6b\x79\x57\x37\x39\x74\x6c\x53\x6b\x32\x57\x35\x33\x63\x47\x43\x6f\x79\x6c\x6d\x6f\x31\x71\x61','\x57\x35\x74\x63\x53\x62\x76\x64\x6d\x43\x6f\x45\x77\x47','\x57\x50\x76\x72\x77\x38\x6f\x54\x77\x57','\x6a\x4d\x43\x45\x57\x35\x75\x67\x73\x59\x4a\x63\x50\x67\x54\x4b\x57\x4f\x64\x63\x53\x38\x6b\x6d','\x72\x6d\x6f\x77\x57\x52\x56\x63\x56\x33\x78\x64\x4c\x57','\x70\x32\x34\x43\x57\x50\x54\x44\x75\x62\x43\x4f','\x57\x37\x44\x51\x43\x76\x58\x79','\x6a\x43\x6f\x70\x57\x35\x30\x67\x6b\x71','\x57\x51\x5a\x63\x4c\x62\x43\x4d\x57\x51\x44\x35\x65\x68\x38','\x57\x4f\x70\x63\x48\x6d\x6b\x5a\x57\x50\x6d\x53','\x57\x34\x39\x54\x45\x6d\x6b\x39\x57\x34\x37\x64\x51\x53\x6b\x63\x57\x50\x6d','\x6e\x43\x6f\x58\x71\x43\x6f\x47\x73\x61','\x57\x36\x48\x34\x76\x76\x4c\x6f','\x57\x51\x5a\x64\x49\x63\x4e\x63\x4a\x6d\x6b\x32\x61\x63\x75\x62','\x78\x76\x31\x72\x57\x37\x6e\x32\x57\x50\x5a\x64\x49\x57','\x7a\x53\x6f\x36\x57\x51\x52\x63\x49\x53\x6f\x4c\x74\x38\x6b\x34\x79\x71','\x64\x57\x68\x64\x4d\x53\x6f\x30\x78\x57','\x57\x4f\x6c\x63\x51\x71\x62\x71\x7a\x6d\x6b\x51\x57\x36\x78\x63\x48\x61','\x44\x5a\x68\x64\x56\x77\x65\x36\x57\x52\x4c\x37\x61\x61','\x57\x51\x35\x6f\x78\x38\x6f\x31\x79\x4d\x65\x4d\x65\x71','\x57\x4f\x6d\x38\x61\x38\x6f\x64\x57\x52\x4f\x72\x46\x38\x6f\x48','\x57\x52\x52\x63\x4e\x76\x79','\x57\x35\x39\x48\x57\x50\x52\x64\x4b\x43\x6b\x65','\x41\x38\x6f\x78\x57\x52\x70\x63\x56\x31\x6d','\x57\x35\x79\x4b\x57\x4f\x74\x64\x47\x6d\x6f\x30\x57\x52\x62\x58','\x57\x51\x2f\x64\x4e\x43\x6b\x32\x62\x61','\x66\x61\x37\x63\x4e\x38\x6b\x6f\x71\x71','\x57\x4f\x4f\x51\x65\x47','\x57\x37\x70\x63\x52\x61\x62\x64\x66\x57','\x71\x78\x74\x64\x47\x6d\x6f\x68\x57\x50\x68\x64\x4a\x38\x6f\x6f\x57\x35\x34\x4c\x57\x37\x74\x63\x4d\x38\x6b\x79\x57\x50\x79','\x57\x35\x58\x34\x57\x4f\x42\x64\x4c\x6d\x6b\x6a\x57\x35\x37\x64\x47\x57','\x70\x53\x6f\x6b\x72\x53\x6f\x4a\x44\x6d\x6b\x6f\x57\x51\x6e\x4c','\x57\x52\x64\x63\x49\x75\x6a\x38\x57\x36\x52\x64\x48\x53\x6f\x37','\x6b\x61\x76\x73','\x77\x53\x6f\x68\x57\x52\x70\x63\x53\x77\x70\x64\x4c\x59\x64\x63\x55\x61','\x46\x30\x39\x4d\x57\x52\x2f\x63\x53\x57','\x57\x34\x69\x75\x43\x4b\x50\x7a\x57\x4f\x6d\x4d\x7a\x57','\x57\x34\x79\x4f\x57\x50\x6c\x63\x4c\x61','\x57\x51\x64\x64\x50\x63\x33\x63\x47\x53\x6b\x72','\x45\x6d\x6f\x30\x57\x36\x4a\x63\x51\x43\x6f\x51\x77\x6d\x6f\x51\x79\x71','\x7a\x64\x72\x43\x57\x50\x72\x63\x65\x4e\x4e\x63\x56\x57','\x57\x51\x42\x63\x48\x38\x6b\x5a','\x68\x6d\x6b\x61\x57\x36\x37\x64\x51\x74\x74\x63\x4c\x4a\x4a\x63\x56\x30\x58\x54\x43\x5a\x71\x50','\x6a\x74\x66\x53\x57\x4f\x66\x65\x72\x43\x6f\x64\x42\x71','\x57\x4f\x38\x43\x75\x58\x79\x39\x62\x64\x5a\x63\x49\x57','\x63\x47\x78\x64\x47\x38\x6b\x56\x44\x47','\x6c\x62\x42\x63\x55\x53\x6b\x4b\x44\x66\x52\x63\x4a\x61','\x57\x4f\x79\x51\x65\x31\x74\x64\x50\x43\x6b\x65\x57\x52\x6a\x6d','\x6a\x48\x50\x74','\x57\x4f\x74\x63\x47\x6d\x6f\x4b\x57\x50\x56\x63\x4b\x53\x6b\x38\x6c\x62\x61','\x57\x50\x34\x61\x71\x62\x53\x58\x6e\x71','\x6e\x58\x6e\x65\x66\x74\x4f','\x6a\x63\x31\x31\x57\x51\x4b','\x57\x51\x42\x64\x4d\x53\x6b\x4c\x57\x35\x39\x73\x77\x43\x6b\x72\x67\x61','\x6d\x57\x7a\x65','\x57\x51\x64\x63\x4e\x77\x7a\x4f\x57\x34\x34','\x79\x53\x6b\x59\x57\x34\x57\x51\x57\x50\x5a\x64\x4d\x57','\x6b\x72\x47\x54\x57\x52\x44\x6b','\x71\x61\x48\x42\x57\x34\x58\x32\x57\x50\x64\x64\x4a\x6d\x6f\x45','\x57\x50\x7a\x32\x72\x38\x6f\x67\x79\x71','\x78\x64\x2f\x64\x56\x57','\x57\x50\x4e\x63\x4f\x48\x35\x45\x45\x38\x6b\x35\x57\x35\x33\x63\x4a\x47','\x57\x36\x46\x64\x47\x43\x6b\x30\x57\x34\x43','\x57\x35\x58\x36\x78\x77\x50\x79\x57\x51\x56\x63\x55\x53\x6f\x64','\x42\x6d\x6f\x77\x57\x52\x64\x63\x54\x77\x61','\x6d\x57\x7a\x4c\x6b\x47\x5a\x63\x4d\x38\x6b\x45\x57\x37\x53','\x57\x50\x5a\x63\x4f\x57\x6a\x75\x6c\x43\x6b\x2b\x57\x34\x42\x63\x4d\x71','\x7a\x57\x71\x2f\x57\x51\x71','\x6d\x48\x68\x63\x51\x53\x6b\x50\x6c\x67\x42\x63\x4e\x53\x6f\x2f','\x72\x53\x6b\x74\x6f\x53\x6b\x5a','\x57\x34\x37\x63\x4b\x6d\x6f\x47\x75\x53\x6f\x77\x57\x52\x37\x63\x50\x43\x6f\x6d\x41\x43\x6b\x70\x7a\x68\x39\x33','\x66\x6d\x6f\x78\x57\x36\x4b\x6b\x67\x38\x6b\x72\x57\x36\x71\x4c','\x57\x34\x35\x56\x78\x71\x6d','\x46\x63\x72\x6c\x62\x38\x6b\x67\x57\x4f\x34','\x75\x4d\x6d\x46\x57\x4f\x62\x42\x79\x58\x56\x64\x4a\x57','\x57\x34\x44\x50\x41\x43\x6b\x37\x57\x35\x61','\x7a\x4a\x35\x49\x57\x4f\x6a\x62\x68\x32\x6c\x63\x4b\x47','\x6d\x71\x74\x64\x4f\x6d\x6b\x6e\x76\x4a\x4e\x63\x55\x66\x6d','\x70\x68\x66\x4a\x57\x4f\x58\x6f\x65\x33\x33\x63\x55\x61','\x6c\x49\x30\x38\x57\x50\x39\x65\x76\x43\x6f\x74','\x64\x53\x6b\x32\x57\x34\x76\x6e\x57\x50\x65','\x57\x35\x54\x5a\x41\x68\x7a\x76','\x6f\x77\x57\x77','\x57\x50\x4a\x63\x4f\x72\x44\x74\x72\x47','\x57\x35\x35\x65\x41\x75\x30\x75\x57\x50\x4b\x4f\x79\x57','\x44\x38\x6b\x65\x6c\x43\x6b\x67\x57\x52\x79','\x57\x50\x4b\x43\x6e\x71\x50\x73\x57\x35\x4c\x35\x6c\x57','\x57\x50\x38\x61\x75\x71\x47\x37\x6c\x57'];_0x175a=function(){return _0x2fb36b;};return _0x175a();}var _0x4ed367=_0xd9d91d;function _0x314d26(){var _0x53214e=_0x36a879,_0x279fde={};_0x279fde[_0x53214e(0x119,'\x66\x21\x42\x7a')]='\x73\x74\x65\x61\x64\x79\x2d\x73'+_0x53214e(0xbe,'\x58\x48\x38\x39'),_0x279fde[_0x53214e(0xc5,'\x5d\x62\x56\x53')]=function(_0x4a6d76,_0x57a52f){return _0x4a6d76===_0x57a52f;},_0x279fde[_0x53214e(0xbd,'\x23\x6b\x6f\x29')]='\x4d\x44\x49\x55\x5a',_0x279fde[_0x53214e(0xe2,'\x64\x7a\x35\x61')]=_0x53214e(0xda,'\x30\x71\x71\x77'),_0x279fde[_0x53214e(0x14c,'\x58\x58\x40\x59')]=_0x53214e(0x17a,'\x64\x28\x2a\x47'),_0x279fde[_0x53214e(0x178,'\x5d\x62\x56\x53')]=_0x53214e(0x15a,'\x4f\x6a\x28\x73')+'\x6e',_0x279fde[_0x53214e(0xdf,'\x68\x4e\x4a\x4e')]=_0x53214e(0x18a,'\x58\x58\x40\x59')+'\x6e\x5f\x73\x74\x61\x74\x65\x2e'+_0x53214e(0x146,'\x64\x7a\x35\x61'),_0x279fde[_0x53214e(0x181,'\x75\x70\x73\x71')]=function(_0x1734a8,_0xf2a5c8){return _0x1734a8<_0xf2a5c8;},_0x279fde[_0x53214e(0x11b,'\x4a\x6f\x55\x6f')]='\x4c\x51\x46\x68\x76',_0x279fde[_0x53214e(0x15e,'\x5d\x62\x56\x53')]='\x75\x74\x66\x38';var _0x1713b1=_0x279fde;try{if(_0x1713b1[_0x53214e(0x117,'\x77\x25\x51\x34')](_0x1713b1[_0x53214e(0x10a,'\x77\x25\x51\x34')],_0x1713b1['\x4f\x72\x46\x75\x78']))_0x314343=_0x1713b1[_0x53214e(0x157,'\x58\x37\x6d\x65')];else{var _0x4dda2f=_0x104c74[_0x53214e(0xe8,'\x52\x33\x34\x25')](__dirname,'\x2e\x2e','\x2e\x2e',_0x1713b1[_0x53214e(0x174,'\x50\x39\x69\x28')],_0x53214e(0x12c,'\x52\x43\x31\x53')+'\x6e\x5f\x73\x74\x61\x74\x65\x2e'+_0x53214e(0xcd,'\x61\x6b\x47\x77')),_0x55dd94=_0x104c74['\x72\x65\x73\x6f\x6c\x76\x65'](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x1713b1['\x64\x75\x76\x72\x71'],_0x1713b1[_0x53214e(0x155,'\x30\x71\x71\x77')],_0x1713b1[_0x53214e(0x186,'\x41\x52\x47\x2a')]),_0xc8bd2e=[_0x4dda2f,_0x55dd94];for(var _0x78b8d=-0x590+-0x2*0x16d+-0x86a*-0x1;_0x1713b1[_0x53214e(0x19c,'\x52\x43\x31\x53')](_0x78b8d,_0xc8bd2e[_0x53214e(0x162,'\x75\x70\x73\x71')]);_0x78b8d++){if(_0x314100[_0x53214e(0x175,'\x77\x25\x51\x34')+'\x6e\x63'](_0xc8bd2e[_0x78b8d])){if(_0x1713b1[_0x53214e(0x148,'\x62\x5a\x5a\x29')]===_0x1713b1[_0x53214e(0x17d,'\x7a\x24\x4f\x6f')]){var _0x2198f6=JSON[_0x53214e(0x14d,'\x47\x37\x4d\x4d')](_0x314100[_0x53214e(0xbb,'\x36\x47\x34\x38')+_0x53214e(0x18f,'\x4d\x4d\x2a\x21')](_0xc8bd2e[_0x78b8d],_0x1713b1[_0x53214e(0x13d,'\x4f\x73\x51\x39')]));return _0x2198f6&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x2198f6[_0x53214e(0x138,'\x57\x31\x4f\x21')+'\x6e\x74'])?_0x2198f6[_0x53214e(0xf7,'\x52\x43\x31\x53')+'\x6e\x74']:0x8a*0x47+0x147+-0x278d;}else return _0x1007a2['\x6b\x65\x79\x73'](_0x41c78a);}}}}catch(_0x80bb){}return 0x208b+-0x18f2+-0x5*0x185;}function _0x5a5068(_0x112750){var _0xf53704=_0x36a879,_0x4d5f82={'\x6d\x66\x58\x49\x6d':_0xf53704(0xe5,'\x45\x4c\x30\x6a')+'\x33\x7c\x31\x7c\x35\x7c\x38\x7c'+'\x30','\x52\x6f\x4d\x4d\x56':function(_0x4ecd4a,_0x22c4bd){return _0x4ecd4a&&_0x22c4bd;},'\x63\x42\x6b\x56\x79':function(_0x5418f4){return _0x5418f4();},'\x44\x42\x56\x5a\x6d':function(_0x424a5a,_0xe08462){return _0x424a5a>_0xe08462;},'\x59\x75\x4d\x52\x46':_0xf53704(0x168,'\x66\x4e\x55\x64')+_0xf53704(0x136,'\x5b\x4f\x78\x55'),'\x59\x4a\x6f\x57\x55':_0xf53704(0x160,'\x6c\x47\x2a\x48')+_0xf53704(0xd4,'\x6c\x6f\x62\x5e')+'\x74\x65','\x53\x64\x64\x76\x43':_0xf53704(0x198,'\x64\x28\x2a\x47')+'\x74\x61\x74\x65','\x6e\x6c\x6f\x71\x65':'\x65\x76\x6f\x6c\x75\x74\x69\x6f'+_0xf53704(0x141,'\x58\x58\x40\x59')+_0xf53704(0xf6,'\x35\x34\x5e\x66'),'\x62\x4e\x76\x67\x53':function(_0x167ccc,_0x123d33){return _0x167ccc(_0x123d33);},'\x46\x67\x69\x57\x50':_0xf53704(0x183,'\x52\x43\x31\x53'),'\x79\x44\x54\x73\x69':function(_0x2786d7,_0x5aa3cf){return _0x2786d7===_0x5aa3cf;},'\x4c\x6c\x6e\x6c\x73':function(_0x4229ff,_0x30156e){return _0x4229ff===_0x30156e;},'\x41\x68\x73\x6b\x56':_0xf53704(0xc8,'\x57\x31\x4f\x21'),'\x71\x4e\x56\x61\x42':_0xf53704(0x15b,'\x4f\x73\x51\x39')},_0xc3fe9b=_0x4d5f82[_0xf53704(0x12f,'\x42\x59\x34\x70')][_0xf53704(0x15d,'\x76\x49\x4c\x64')]('\x7c'),_0x5ef536=-0x1*-0x3be+-0x1936+0x1578;while(!![]){switch(_0xc3fe9b[_0x5ef536++]){case'\x30':var _0x4328a2={};_0x4328a2[_0xf53704(0xf0,'\x4d\x4d\x2a\x21')]=_0x155f24;return Object[_0xf53704(0x10c,'\x29\x79\x69\x55')]({},_0x5290df,_0x4328a2);case'\x31':if(_0x4d5f82[_0xf53704(0xb7,'\x66\x21\x42\x7a')](_0x1f4e17,!_0x501f7b)){var _0x4869fc=_0x4d5f82[_0xf53704(0x199,'\x29\x79\x69\x55')](_0x314d26);_0x4d5f82[_0xf53704(0x126,'\x52\x43\x31\x53')](_0x4869fc,-0x76*0x27+0x1542+0x7*-0x78)&&_0x4869fc<=-0x2*-0xd94+-0x24b7+0x994&&(_0x155f24=_0x4d5f82[_0xf53704(0x17c,'\x64\x7a\x35\x61')]);if(_0x5b2ab8[_0xf53704(0x14b,'\x73\x75\x24\x61')](_0x4d5f82['\x59\x4a\x6f\x57\x55'])!==-(-0x191f+-0x2344+0x3c64))_0x155f24=_0x4d5f82['\x53\x64\x64\x76\x43'];else _0x5b2ab8[_0xf53704(0xb8,'\x47\x37\x4d\x4d')](_0x4d5f82['\x6e\x6c\x6f\x71\x65'])!==-(-0x1763*0x1+0x151*-0x13+0x3067*0x1)&&(_0x155f24=_0x4d5f82[_0xf53704(0x135,'\x37\x47\x46\x5b')]);}continue;case'\x32':var _0x155f24=_0x4d5f82[_0xf53704(0x13a,'\x5d\x62\x56\x53')](String,process.env.EVOLVE_STRATEGY||_0x4d5f82[_0xf53704(0xf8,'\x47\x37\x4d\x4d')])[_0xf53704(0xfa,'\x61\x6b\x47\x77')+_0xf53704(0xba,'\x23\x6b\x6f\x29')]()[_0xf53704(0x11a,'\x47\x37\x4d\x4d')]();continue;case'\x33':var _0x1f4e17=!process.env.EVOLVE_STRATEGY||_0x4d5f82['\x79\x44\x54\x73\x69'](_0x155f24,_0x4d5f82[_0xf53704(0x161,'\x4a\x6f\x55\x6f')])||_0x4d5f82[_0xf53704(0x17f,'\x77\x25\x51\x34')](_0x155f24,_0xf53704(0x159,'\x5b\x4f\x78\x55'));continue;case'\x34':var _0x5b2ab8=_0x112750&&Array[_0xf53704(0x16d,'\x42\x59\x34\x70')](_0x112750[_0xf53704(0x12d,'\x50\x39\x69\x28')])?_0x112750['\x73\x69\x67\x6e\x61\x6c\x73']:[];continue;case'\x35':if(_0x4d5f82[_0xf53704(0xf5,'\x4f\x73\x51\x39')](_0x155f24,_0x4d5f82[_0xf53704(0x166,'\x23\x6b\x6f\x29')]))_0x155f24=_0x4d5f82[_0xf53704(0x128,'\x35\x34\x5e\x66')];continue;case'\x36':var _0x501f7b=![];continue;case'\x37':if(!process.env.EVOLVE_STRATEGY){var _0x350c09=_0x4d5f82[_0xf53704(0xea,'\x37\x47\x46\x5b')](String,process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0xf53704(0xd6,'\x30\x79\x6e\x4a')+_0xf53704(0x137,'\x42\x61\x56\x74')]();_0x350c09===_0xf53704(0x158,'\x5b\x4f\x78\x55')&&(_0x155f24=_0x4d5f82[_0xf53704(0x121,'\x4f\x6a\x28\x73')],_0x501f7b=!![]);}continue;case'\x38':var _0x5290df=_0x4ed367[_0x155f24]||_0x4ed367[_0x4d5f82[_0xf53704(0x182,'\x64\x7a\x35\x61')]];continue;}break;}}function _0x14565(){var _0x58f344=_0x36a879;return Object[_0x58f344(0xfd,'\x42\x61\x56\x74')](_0x4ed367);}function _0x5281(_0x3c7cf8,_0x1822f9){_0x3c7cf8=_0x3c7cf8-(0x1b*0x100+-0x2024+0x5d9);var _0x5d67ae=_0x175a();var _0x228014=_0x5d67ae[_0x3c7cf8];if(_0x5281['\x5a\x63\x76\x68\x46\x61']===undefined){var _0xc6da29=function(_0x9f33c0){var _0x2041ae='\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 _0x9d43a3='',_0xa191c0='',_0x371536=_0x9d43a3+_0xc6da29,_0xff1037=(''+function(){return 0x1c87+-0x161*-0x12+-0x3559;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x150+-0x1d58+-0x2f*-0xa7);for(var _0x882abf=0x1363*-0x1+-0x4f*0x29+-0xaae*-0x3,_0xc6bc94,_0x5c20d3,_0x1b8fa6=-0x9a*0x9+0x1be2+-0x1678;_0x5c20d3=_0x9f33c0['\x63\x68\x61\x72\x41\x74'](_0x1b8fa6++);~_0x5c20d3&&(_0xc6bc94=_0x882abf%(0x1f8+0x4eb+0x6df*-0x1)?_0xc6bc94*(0x7*0x2be+0x1b52+0x11a*-0x2a)+_0x5c20d3:_0x5c20d3,_0x882abf++%(0x25f*-0x3+-0x1ce9+0x526*0x7))?_0x9d43a3+=_0xff1037||_0x371536['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1b8fa6+(-0x294+0x1e6*0xb+0x4*-0x491))-(0x4e8+0x51*0x79+-0x2b27)!==-0x1580+-0x25ad+0x1*0x3b2d?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x15e*-0x5+-0x55*-0x37+-0x181a&_0xc6bc94>>(-(0x25c7+0x9f*-0x5+-0x9*0x3da)*_0x882abf&0x5e9*0x4+-0x19c9+0x22b)):_0x882abf:0x2*-0xc8a+-0x146b+0x2d7f){_0x5c20d3=_0x2041ae['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5c20d3);}for(var _0x4f35aa=-0x1*0x902+-0xdbe+0x1*0x16c0,_0x38509c=_0x9d43a3['\x6c\x65\x6e\x67\x74\x68'];_0x4f35aa<_0x38509c;_0x4f35aa++){_0xa191c0+='\x25'+('\x30\x30'+_0x9d43a3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4f35aa)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*0x277+-0x4*0x989+-0x23bd*-0x1))['\x73\x6c\x69\x63\x65'](-(-0x1307+0x1*0x13f4+-0xeb));}return decodeURIComponent(_0xa191c0);};var _0x12aecc=function(_0x8a52a1,_0xa40fd9){var _0x7c6e52=[],_0xc42c03=-0x8*0x437+-0x19f0+0x3ba8,_0x10a912,_0x478549='';_0x8a52a1=_0xc6da29(_0x8a52a1);var _0x4d5c66;for(_0x4d5c66=-0x204c+-0x9*0x40+0x228c;_0x4d5c66<-0x1b46+-0x1486+0x3*0x1044;_0x4d5c66++){_0x7c6e52[_0x4d5c66]=_0x4d5c66;}for(_0x4d5c66=0x2*-0xb5d+0x10c2+0x8*0xbf;_0x4d5c66<0x1*0x4ab+0x1124+-0x14cf;_0x4d5c66++){_0xc42c03=(_0xc42c03+_0x7c6e52[_0x4d5c66]+_0xa40fd9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4d5c66%_0xa40fd9['\x6c\x65\x6e\x67\x74\x68']))%(0x1*0x17b9+-0xc5e+0x1*-0xa5b),_0x10a912=_0x7c6e52[_0x4d5c66],_0x7c6e52[_0x4d5c66]=_0x7c6e52[_0xc42c03],_0x7c6e52[_0xc42c03]=_0x10a912;}_0x4d5c66=-0xc6b*-0x1+0x3d*0x7f+-0x2aae,_0xc42c03=0xb65+-0x1*-0x20e6+-0x2c4b;for(var _0x2a30c8=0x5ed*0x5+-0x14*-0x115+-0x3345;_0x2a30c8<_0x8a52a1['\x6c\x65\x6e\x67\x74\x68'];_0x2a30c8++){_0x4d5c66=(_0x4d5c66+(-0x85*0x44+-0x86*0x18+0x2fe5*0x1))%(-0x6fe*-0x5+0x1623+-0x3819),_0xc42c03=(_0xc42c03+_0x7c6e52[_0x4d5c66])%(0x1266+-0x224d+0x10e7),_0x10a912=_0x7c6e52[_0x4d5c66],_0x7c6e52[_0x4d5c66]=_0x7c6e52[_0xc42c03],_0x7c6e52[_0xc42c03]=_0x10a912,_0x478549+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x8a52a1['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2a30c8)^_0x7c6e52[(_0x7c6e52[_0x4d5c66]+_0x7c6e52[_0xc42c03])%(0x52f*-0x4+-0x3f5*0x4+0x4b2*0x8)]);}return _0x478549;};_0x5281['\x77\x62\x68\x64\x4b\x6c']=_0x12aecc,_0x5281['\x59\x49\x43\x41\x6f\x65']={},_0x5281['\x5a\x63\x76\x68\x46\x61']=!![];}var _0x43d925=_0x5d67ae[0x1*-0x1433+-0x382+0x77*0x33],_0x19a459=_0x3c7cf8+_0x43d925,_0x3a7ffa=_0x5281['\x59\x49\x43\x41\x6f\x65'][_0x19a459];if(!_0x3a7ffa){if(_0x5281['\x75\x57\x57\x6a\x4c\x66']===undefined){var _0x345741=function(_0x58b2cd){this['\x42\x42\x49\x6b\x51\x48']=_0x58b2cd,this['\x4c\x4e\x65\x46\x4b\x64']=[0x1a8e+-0xc36+-0xe57,0xdcc+-0x8ca*0x2+-0x3c8*-0x1,0x117e+-0x17b4+0x636],this['\x6e\x70\x66\x48\x42\x6d']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x6e\x66\x52\x71\x41\x74']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x50\x77\x74\x53\x41\x48']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x345741['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x79\x54\x48\x4d\x53\x6a']=function(){var _0x566571=new RegExp(this['\x6e\x66\x52\x71\x41\x74']+this['\x50\x77\x74\x53\x41\x48']),_0x20a539=_0x566571['\x74\x65\x73\x74'](this['\x6e\x70\x66\x48\x42\x6d']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4c\x4e\x65\x46\x4b\x64'][0x38c*-0x1+0x1*-0x3c7+0x754]:--this['\x4c\x4e\x65\x46\x4b\x64'][0x2*0xbe7+-0x32e*0x4+0x3b2*-0x3];return this['\x5a\x49\x5a\x51\x68\x67'](_0x20a539);},_0x345741['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5a\x49\x5a\x51\x68\x67']=function(_0x301692){if(!Boolean(~_0x301692))return _0x301692;return this['\x54\x71\x72\x56\x72\x4c'](this['\x42\x42\x49\x6b\x51\x48']);},_0x345741['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x54\x71\x72\x56\x72\x4c']=function(_0x4cf737){for(var _0x5b1276=0x1912+-0x23*-0x6e+-0x281c,_0x1ee68a=this['\x4c\x4e\x65\x46\x4b\x64']['\x6c\x65\x6e\x67\x74\x68'];_0x5b1276<_0x1ee68a;_0x5b1276++){this['\x4c\x4e\x65\x46\x4b\x64']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x1ee68a=this['\x4c\x4e\x65\x46\x4b\x64']['\x6c\x65\x6e\x67\x74\x68'];}return _0x4cf737(this['\x4c\x4e\x65\x46\x4b\x64'][-0x15d0+-0x17*-0x146+-0x77a]);},(''+function(){return 0x87*0x2f+-0x9a*0xa+0x5*-0x3c1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2e*0x34+0x1ceb+-0x2642)&&new _0x345741(_0x5281)['\x79\x54\x48\x4d\x53\x6a'](),_0x5281['\x75\x57\x57\x6a\x4c\x66']=!![];}_0x228014=_0x5281['\x77\x62\x68\x64\x4b\x6c'](_0x228014,_0x1822f9),_0x5281['\x59\x49\x43\x41\x6f\x65'][_0x19a459]=_0x228014;}else _0x228014=_0x3a7ffa;return _0x228014;}var _0x195414={};_0x195414[_0x36a879(0x131,'\x5b\x4f\x78\x55')+_0x36a879(0x156,'\x61\x6b\x47\x77')]=_0x5a5068,_0x195414[_0x36a879(0x163,'\x64\x28\x2a\x47')+_0x36a879(0x151,'\x29\x79\x69\x55')]=_0x14565,_0x195414[_0x36a879(0xed,'\x79\x46\x31\x4a')+'\x45\x53']=_0x4ed367,module[_0x36a879(0x177,'\x38\x37\x67\x5b')]=_0x195414;
@@ -1,88 +1 @@
1
- 'use strict';
2
-
3
- // Grounded FALLBACK estimate for "tokens saved by reusing an asset".
4
- //
5
- // The real number is the measured cost of the avoided derive loop, captured
6
- // from the proxy trace meter (see src/proxy/trace/usage.js) and carried on the
7
- // reused asset as `derivation_tokens`. This estimator is only used when that
8
- // measured cost is unavailable -- the asset was derived with the proxy off, or
9
- // predates token telemetry. Reusing a verified capsule avoids re-running a
10
- // derive loop; we approximate that loop's size from the asset's own
11
- // blast_radius (a real, per-asset signal), so the estimate scales with how big
12
- // the change actually was instead of being a flat constant.
13
- //
14
- // Calibration: a median patch (~75 changed lines) reproduces the ~180k tokens
15
- // the desktop savings model historically assumed:
16
- // DERIVE_BASE_TOKENS + TYPICAL_CHANGED_LINES * TOKENS_PER_CHANGED_LINE
17
- // = 120_000 + 75 * 800 = 180_000.
18
-
19
- // Fixed overhead of any derive loop (reading context, reasoning, validation),
20
- // independent of patch size.
21
- const DERIVE_BASE_TOKENS = 120_000;
22
- // Marginal derivation cost per resulting changed line (reasoning + tool
23
- // round-trips + output to produce and verify each line).
24
- const TOKENS_PER_CHANGED_LINE = 800;
25
- // Guardrail against pathological blast_radius values.
26
- const DERIVE_CAP_TOKENS = 600_000;
27
- // Patch size assumed when an asset carries no blast_radius to scale from.
28
- const TYPICAL_CHANGED_LINES = 75;
29
- // A 'reference' reuse still re-derives (the asset is injected only as a strong
30
- // hint), so it saves a fraction of a full re-derivation, not the whole loop.
31
- const REFERENCE_SAVING_FRACTION = 0.4;
32
-
33
- function _blastLines(asset) {
34
- const br = asset && (asset.blast_radius || (asset.payload && asset.payload.blast_radius));
35
- if (br && typeof br === 'object') {
36
- const lines = Number(br.lines);
37
- if (Number.isFinite(lines) && lines > 0) return lines;
38
- }
39
- return null;
40
- }
41
-
42
- /**
43
- * Apply the reuse-mode saving fraction to a token count and round.
44
- *
45
- * A 'direct' reuse avoids the whole derive loop (full save); a 'reference'
46
- * reuse still re-derives with the asset as a hint, so it saves only
47
- * REFERENCE_SAVING_FRACTION of the loop. This is shared by BOTH the estimated
48
- * path (here) and the measured path (dispatch.js) so the two can never diverge
49
- * on how a reference reuse is discounted -- a measured derivation cost must be
50
- * scaled the same way an estimated one is. (Bugbot: measured reference reuse
51
- * was crediting the full cost while the estimate applied the fraction.)
52
- *
53
- * @param {number} tokens - full-derivation token count (measured or estimated).
54
- * @param {string} [mode] - 'direct' (full) | 'reference' (fractional).
55
- * @returns {number} rounded tokens saved for the given mode.
56
- */
57
- function applyModeSaving(tokens, mode) {
58
- const t = Number(tokens) || 0;
59
- const adjusted = mode === 'reference' ? t * REFERENCE_SAVING_FRACTION : t;
60
- return Math.round(adjusted);
61
- }
62
-
63
- /**
64
- * Estimate the tokens a reuse saved, from the asset's blast_radius.
65
- *
66
- * @param {object} asset - the reused asset (capsule); may be a bare stub.
67
- * @param {string} [mode] - 'direct' (full save) | 'reference' (fractional).
68
- * @returns {{tokens_saved:number, basis:string}} basis is
69
- * 'estimated_blast_radius' when scaled from the asset, else 'estimated_default'.
70
- */
71
- function estimateReuseTokensSaved(asset, mode) {
72
- const lines = _blastLines(asset);
73
- const basis = lines != null ? 'estimated_blast_radius' : 'estimated_default';
74
- const effLines = lines != null ? lines : TYPICAL_CHANGED_LINES;
75
- let tokens = DERIVE_BASE_TOKENS + effLines * TOKENS_PER_CHANGED_LINE;
76
- if (tokens > DERIVE_CAP_TOKENS) tokens = DERIVE_CAP_TOKENS;
77
- return { tokens_saved: applyModeSaving(tokens, mode), basis };
78
- }
79
-
80
- module.exports = {
81
- estimateReuseTokensSaved,
82
- applyModeSaving,
83
- DERIVE_BASE_TOKENS,
84
- TOKENS_PER_CHANGED_LINE,
85
- DERIVE_CAP_TOKENS,
86
- TYPICAL_CHANGED_LINES,
87
- REFERENCE_SAVING_FRACTION,
88
- };
1
+ const _0x1a247a=_0x19eb;(function(_0x52f881,_0x56d580){const _0x19adfa=_0x19eb,_0x36ed33=_0x52f881();while(!![]){try{const _0x144d19=-parseInt(_0x19adfa(0x135,'\x6c\x77\x70\x68'))/(-0xf5f+-0x1a11*0x1+-0x2971*-0x1)*(-parseInt(_0x19adfa(0x15d,'\x6c\x77\x70\x68'))/(0x1724+0x243a+-0x3b5c))+parseInt(_0x19adfa(0x14e,'\x52\x76\x42\x56'))/(0x2305+-0xc4*-0x1+0x13*-0x1e2)+parseInt(_0x19adfa(0x134,'\x42\x31\x53\x59'))/(-0x1*-0x1180+-0x26f8+-0x55f*-0x4)*(-parseInt(_0x19adfa(0x10e,'\x25\x51\x37\x62'))/(-0x1c55*-0x1+0x167*0x6+0x61f*-0x6))+-parseInt(_0x19adfa(0x12d,'\x52\x41\x62\x53'))/(-0x107d+0x149d*0x1+-0x41a)+-parseInt(_0x19adfa(0x12b,'\x5d\x6e\x28\x4a'))/(0x183e*0x1+-0xdbd*0x2+0x343)+-parseInt(_0x19adfa(0x136,'\x37\x70\x21\x4a'))/(0x970*0x1+-0x2666+0x1cfe)*(parseInt(_0x19adfa(0x114,'\x76\x63\x24\x71'))/(0x1583+-0xcb3+0x141*-0x7))+-parseInt(_0x19adfa(0x139,'\x37\x70\x21\x4a'))/(0x18c5+0x1e95+0x588*-0xa)*(-parseInt(_0x19adfa(0x117,'\x79\x23\x39\x61'))/(0x1*-0xd5d+0x49d+0x8cb));if(_0x144d19===_0x56d580)break;else _0x36ed33['push'](_0x36ed33['shift']());}catch(_0x3f3b0){_0x36ed33['push'](_0x36ed33['shift']());}}}(_0x30a6,-0x1*-0x33a6f+-0xf1*-0x477+-0x1*0x4f28f));const _0x64370c=(function(){const _0x453c24=_0x19eb,_0x23c99a={};_0x23c99a[_0x453c24(0x127,'\x5d\x6e\x28\x4a')]=_0x453c24(0x10c,'\x69\x5a\x72\x44');const _0x347b25=_0x23c99a;let _0x293fdb=!![];return function(_0x40beb2,_0x2b82e0){const _0x583092=_0x453c24,_0x39f6ef={};_0x39f6ef[_0x583092(0x155,'\x74\x41\x79\x6c')]=_0x347b25[_0x583092(0x109,'\x32\x4c\x6e\x74')];const _0x208363=_0x39f6ef,_0x106310=_0x293fdb?function(){const _0x5bee73=_0x583092,_0x4373ee={};_0x4373ee[_0x5bee73(0x148,'\x4a\x24\x4d\x37')]=function(_0x18748b,_0x4d5cfe){return _0x18748b>_0x4d5cfe;};const _0x52f7ac=_0x4373ee;if(_0x208363[_0x5bee73(0x122,'\x42\x31\x53\x59')]!==_0x5bee73(0x12c,'\x54\x6b\x5d\x69')){if(_0x2b82e0){const _0x43a4ff=_0x2b82e0[_0x5bee73(0x12a,'\x77\x59\x21\x54')](_0x40beb2,arguments);return _0x2b82e0=null,_0x43a4ff;}}else{const _0x26ccec=_0x161405(_0x1574ce[_0x5bee73(0x149,'\x26\x55\x54\x7a')]);if(_0x571082[_0x5bee73(0x10a,'\x32\x4c\x6e\x74')](_0x26ccec)&&_0x52f7ac[_0x5bee73(0x124,'\x69\x64\x6f\x65')](_0x26ccec,-0x1a80+-0x251f+0x3f9f))return _0x26ccec;}}:function(){};return _0x293fdb=![],_0x106310;};}()),_0x8ce8ea=_0x64370c(this,function(){const _0x50e528=_0x19eb,_0x486a9b={};_0x486a9b[_0x50e528(0x13e,'\x32\x4c\x6e\x74')]=_0x50e528(0x140,'\x42\x4b\x33\x56')+_0x50e528(0x13c,'\x42\x31\x53\x59');const _0x4298cf=_0x486a9b;return _0x8ce8ea[_0x50e528(0x14f,'\x5d\x6e\x28\x4a')]()[_0x50e528(0x137,'\x4d\x64\x33\x4b')](_0x50e528(0x143,'\x45\x75\x45\x40')+_0x50e528(0x144,'\x67\x6c\x52\x54'))[_0x50e528(0x150,'\x50\x51\x77\x2a')]()[_0x50e528(0x10d,'\x5b\x5e\x56\x39')+_0x50e528(0x131,'\x52\x76\x42\x56')](_0x8ce8ea)[_0x50e528(0x113,'\x6c\x77\x70\x68')](_0x4298cf[_0x50e528(0x111,'\x6c\x40\x5a\x79')]);});_0x8ce8ea();'use strict';const _0x109465=0x56e*-0x29+-0x14153*0x1+0x3f4b1,_0xd0de9d=-0x13d*0xe+-0x432*-0x3+0x7e0,_0x31792d=-0x14f75+0x4bf93+0x5b7a2,_0x225c9f=0x5*0x43d+-0x393+-0x1153,_0x11d40b=0x1ad*-0x16+-0x118+-0x2b*-0xe2+0.4;function _0xeec893(_0x3a0bc3){const _0x3645c9=_0x19eb,_0x2c1b1b={'\x64\x70\x5a\x6e\x64':function(_0x298e80,_0x17ea2d){return _0x298e80===_0x17ea2d;},'\x46\x69\x7a\x47\x78':function(_0x323c09,_0x2a4b7e){return _0x323c09(_0x2a4b7e);}},_0x538afb=_0x3a0bc3&&(_0x3a0bc3[_0x3645c9(0x108,'\x69\x64\x6f\x65')+_0x3645c9(0x11b,'\x52\x76\x42\x56')]||_0x3a0bc3[_0x3645c9(0x11d,'\x58\x64\x38\x6b')]&&_0x3a0bc3[_0x3645c9(0x147,'\x5b\x41\x78\x54')][_0x3645c9(0x120,'\x5b\x5e\x56\x39')+_0x3645c9(0x14c,'\x44\x4a\x4d\x75')]);if(_0x538afb&&_0x2c1b1b[_0x3645c9(0x12f,'\x69\x64\x6f\x65')](typeof _0x538afb,_0x3645c9(0x129,'\x42\x4b\x33\x56'))){const _0x4302ef=_0x2c1b1b['\x46\x69\x7a\x47\x78'](Number,_0x538afb[_0x3645c9(0x11c,'\x29\x74\x69\x75')]);if(Number[_0x3645c9(0x138,'\x79\x23\x39\x61')](_0x4302ef)&&_0x4302ef>0x16*0x198+-0xa*-0x39a+-0x1*0x4714)return _0x4302ef;}return null;}function _0x409037(_0x2772a,_0x4f94fb){const _0x1d4c3c=_0x19eb,_0x589609={'\x41\x4f\x76\x67\x50':function(_0xd4bbd,_0x592088){return _0xd4bbd(_0x592088);},'\x51\x64\x45\x50\x65':function(_0x25015b,_0x4299a8){return _0x25015b===_0x4299a8;},'\x75\x73\x44\x6d\x4f':function(_0x124448,_0x4350da){return _0x124448*_0x4350da;}},_0x327815=_0x589609[_0x1d4c3c(0x14b,'\x42\x4b\x33\x56')](Number,_0x2772a)||-0x1fd*0xd+-0x3e8+0x1dc1,_0x174d05=_0x589609[_0x1d4c3c(0x110,'\x42\x31\x53\x59')](_0x4f94fb,_0x1d4c3c(0x157,'\x63\x65\x42\x65')+'\x65')?_0x589609[_0x1d4c3c(0x130,'\x7a\x38\x4c\x5b')](_0x327815,_0x11d40b):_0x327815;return Math[_0x1d4c3c(0x153,'\x46\x76\x6c\x77')](_0x174d05);}function _0x19eb(_0x23b8af,_0x26f591){_0x23b8af=_0x23b8af-(-0x2*0x875+0x1961+-0xb*0xad);const _0x4b1284=_0x30a6();let _0x43fd76=_0x4b1284[_0x23b8af];if(_0x19eb['\x57\x4d\x44\x6e\x46\x56']===undefined){var _0x5c50cb=function(_0x241eaf){const _0x387b4f='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x3a9737='',_0x1efd69='',_0x25d3e7=_0x3a9737+_0x5c50cb,_0x4db951=(''+function(){return-0x1*0xf1d+0x2*0x5b8+0x3ad;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x41b*0x5+-0x1ea*0x13+-0x4e*-0x34);for(let _0x166ff5=0x13*0x10b+0x221e+0x1*-0x35ef,_0x7774de,_0x49228d,_0xe6d4f8=-0x9e1+-0x1*0x13f+0xb20;_0x49228d=_0x241eaf['\x63\x68\x61\x72\x41\x74'](_0xe6d4f8++);~_0x49228d&&(_0x7774de=_0x166ff5%(0x2374+0x53f*-0x4+-0xe74)?_0x7774de*(0xa74+0x4d5*0x1+-0x3*0x503)+_0x49228d:_0x49228d,_0x166ff5++%(-0x107e*0x2+-0xb76+0x2c76))?_0x3a9737+=_0x4db951||_0x25d3e7['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xe6d4f8+(0x593*0x1+-0x1f5d+-0x89c*-0x3))-(0x69a+-0x133*-0x1f+0x1*-0x2bbd)!==-0x2086+-0x3*0xa52+0x1de*0x22?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x2211+-0xa5+0x1*0x23b5&_0x7774de>>(-(0x2248+0x152c+-0x3772)*_0x166ff5&-0xb*-0x2b5+-0xd8b*0x1+-0x1036)):_0x166ff5:-0x417+-0x43f*-0x1+-0x28){_0x49228d=_0x387b4f['\x69\x6e\x64\x65\x78\x4f\x66'](_0x49228d);}for(let _0x372b5f=0xa95*0x1+-0x1417+-0x2*-0x4c1,_0x2e6866=_0x3a9737['\x6c\x65\x6e\x67\x74\x68'];_0x372b5f<_0x2e6866;_0x372b5f++){_0x1efd69+='\x25'+('\x30\x30'+_0x3a9737['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x372b5f)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0xd*-0x2e9+0x16ae+0xf37))['\x73\x6c\x69\x63\x65'](-(0x3*0x4a+0xe9e+-0xf7a));}return decodeURIComponent(_0x1efd69);};const _0x3d74e1=function(_0x128148,_0x236a08){let _0x43fd57=[],_0x1f85d4=-0x850+0x118+-0x8*-0xe7,_0x55a29c,_0xb2a909='';_0x128148=_0x5c50cb(_0x128148);let _0x28d0bc;for(_0x28d0bc=0xfe2*0x1+-0x5ea*0x1+-0x2*0x4fc;_0x28d0bc<-0x9*-0x121+0x1312*-0x2+0x3*0x9a9;_0x28d0bc++){_0x43fd57[_0x28d0bc]=_0x28d0bc;}for(_0x28d0bc=-0x14*-0x18a+-0x6db*0x1+-0x17ed;_0x28d0bc<0xf*0x8a+0x2*0xe02+-0x231a;_0x28d0bc++){_0x1f85d4=(_0x1f85d4+_0x43fd57[_0x28d0bc]+_0x236a08['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x28d0bc%_0x236a08['\x6c\x65\x6e\x67\x74\x68']))%(0x93d+0x1f5f+-0x279c),_0x55a29c=_0x43fd57[_0x28d0bc],_0x43fd57[_0x28d0bc]=_0x43fd57[_0x1f85d4],_0x43fd57[_0x1f85d4]=_0x55a29c;}_0x28d0bc=0x1*-0xfb3+0x1bf4+0x1*-0xc41,_0x1f85d4=0x1e2*0x1+-0x1681+-0x1*-0x149f;for(let _0xb8017c=-0x47a+0x2428+0xfd7*-0x2;_0xb8017c<_0x128148['\x6c\x65\x6e\x67\x74\x68'];_0xb8017c++){_0x28d0bc=(_0x28d0bc+(-0x1*-0x2a+-0x1559+0x1530))%(-0xf7a+0x78b*0x5+0x1*-0x153d),_0x1f85d4=(_0x1f85d4+_0x43fd57[_0x28d0bc])%(-0x2321+-0x44*0x80+0x4621),_0x55a29c=_0x43fd57[_0x28d0bc],_0x43fd57[_0x28d0bc]=_0x43fd57[_0x1f85d4],_0x43fd57[_0x1f85d4]=_0x55a29c,_0xb2a909+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x128148['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xb8017c)^_0x43fd57[(_0x43fd57[_0x28d0bc]+_0x43fd57[_0x1f85d4])%(0x1c6b+-0x54*-0x10+-0x20ab)]);}return _0xb2a909;};_0x19eb['\x6d\x63\x6e\x74\x47\x4b']=_0x3d74e1,_0x19eb['\x72\x55\x76\x4d\x79\x50']={},_0x19eb['\x57\x4d\x44\x6e\x46\x56']=!![];}const _0x3506b8=_0x4b1284[0x90b+-0x332+-0x1*0x5d9],_0xb1c5d2=_0x23b8af+_0x3506b8,_0x381c50=_0x19eb['\x72\x55\x76\x4d\x79\x50'][_0xb1c5d2];if(!_0x381c50){if(_0x19eb['\x41\x67\x57\x6d\x50\x68']===undefined){const _0x212b3b=function(_0x5f2bb5){this['\x6b\x66\x79\x77\x55\x45']=_0x5f2bb5,this['\x6d\x49\x49\x48\x66\x77']=[0x1*-0x15cb+-0x6*-0x80+0x12cc,-0x3*-0xae2+0xad*-0x2f+-0xe3,0x4*-0x775+0x1768+-0x336*-0x2],this['\x61\x4d\x76\x4b\x62\x6c']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x52\x6a\x43\x4f\x6a\x61']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x51\x6b\x72\x6a\x6b\x75']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x212b3b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6a\x71\x53\x6b\x41\x51']=function(){const _0x21906d=new RegExp(this['\x52\x6a\x43\x4f\x6a\x61']+this['\x51\x6b\x72\x6a\x6b\x75']),_0x1c4edc=_0x21906d['\x74\x65\x73\x74'](this['\x61\x4d\x76\x4b\x62\x6c']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x6d\x49\x49\x48\x66\x77'][0x778+-0x21e*-0xb+-0x1ec1]:--this['\x6d\x49\x49\x48\x66\x77'][-0x79d*0x1+-0x1*0xb06+0x12a3];return this['\x4f\x4c\x49\x65\x6c\x72'](_0x1c4edc);},_0x212b3b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4f\x4c\x49\x65\x6c\x72']=function(_0x2f63a3){if(!Boolean(~_0x2f63a3))return _0x2f63a3;return this['\x52\x4b\x46\x6c\x4b\x41'](this['\x6b\x66\x79\x77\x55\x45']);},_0x212b3b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x52\x4b\x46\x6c\x4b\x41']=function(_0xbdb14b){for(let _0x120f00=-0x131+0x13ed+-0x12bc,_0x45ebca=this['\x6d\x49\x49\x48\x66\x77']['\x6c\x65\x6e\x67\x74\x68'];_0x120f00<_0x45ebca;_0x120f00++){this['\x6d\x49\x49\x48\x66\x77']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x45ebca=this['\x6d\x49\x49\x48\x66\x77']['\x6c\x65\x6e\x67\x74\x68'];}return _0xbdb14b(this['\x6d\x49\x49\x48\x66\x77'][0x1dcb*-0x1+0x4be*-0x7+0x3efd]);},(''+function(){return 0x5d0+-0x8da*-0x4+0x149c*-0x2;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x14a5+0x4b7+0xfef)&&new _0x212b3b(_0x19eb)['\x6a\x71\x53\x6b\x41\x51'](),_0x19eb['\x41\x67\x57\x6d\x50\x68']=!![];}_0x43fd76=_0x19eb['\x6d\x63\x6e\x74\x47\x4b'](_0x43fd76,_0x26f591),_0x19eb['\x72\x55\x76\x4d\x79\x50'][_0xb1c5d2]=_0x43fd76;}else _0x43fd76=_0x381c50;return _0x43fd76;}function _0x2ac584(_0x28942e,_0xe70460){const _0x541899=_0x19eb,_0x23c77a={'\x54\x52\x53\x68\x44':function(_0xa656ce,_0x4536bc){return _0xa656ce(_0x4536bc);},'\x59\x55\x6d\x44\x65':_0x541899(0x121,'\x52\x41\x62\x53')+_0x541899(0x12e,'\x46\x76\x6c\x77')+_0x541899(0x14a,'\x42\x4b\x33\x56'),'\x74\x76\x4f\x4c\x59':'\x65\x73\x74\x69\x6d\x61\x74\x65'+_0x541899(0x10f,'\x67\x6c\x52\x54')+'\x74','\x45\x48\x74\x45\x46':function(_0x16e13a,_0x1661c1){return _0x16e13a!=_0x1661c1;},'\x6d\x65\x4e\x68\x45':function(_0x318c40,_0x5b9910){return _0x318c40+_0x5b9910;},'\x74\x4c\x62\x55\x67':function(_0x4d01a0,_0x198b78){return _0x4d01a0*_0x198b78;},'\x73\x5a\x73\x70\x7a':function(_0x32079d,_0x11cb58){return _0x32079d>_0x11cb58;},'\x4d\x57\x71\x77\x43':function(_0x31b09d,_0x7caea5,_0x16fad1){return _0x31b09d(_0x7caea5,_0x16fad1);}},_0x5ac700=_0x23c77a[_0x541899(0x11f,'\x5b\x41\x78\x54')](_0xeec893,_0x28942e),_0x29a517=_0x5ac700!=null?_0x23c77a[_0x541899(0x156,'\x5b\x41\x78\x54')]:_0x23c77a[_0x541899(0x119,'\x76\x63\x24\x71')],_0xb33868=_0x23c77a[_0x541899(0x112,'\x45\x6b\x44\x38')](_0x5ac700,null)?_0x5ac700:_0x225c9f;let _0x3faf49=_0x23c77a['\x6d\x65\x4e\x68\x45'](_0x109465,_0x23c77a[_0x541899(0x158,'\x26\x55\x46\x72')](_0xb33868,_0xd0de9d));if(_0x23c77a[_0x541899(0x13d,'\x42\x31\x53\x59')](_0x3faf49,_0x31792d))_0x3faf49=_0x31792d;return{'\x74\x6f\x6b\x65\x6e\x73\x5f\x73\x61\x76\x65\x64':_0x23c77a[_0x541899(0x145,'\x48\x56\x6b\x53')](_0x409037,_0x3faf49,_0xe70460),'\x62\x61\x73\x69\x73':_0x29a517};}function _0x30a6(){const _0x456d80=['\x57\x37\x4e\x63\x47\x76\x72\x62\x77\x49\x4c\x33\x71\x57','\x6b\x57\x69\x6f\x57\x37\x74\x64\x54\x53\x6b\x70\x57\x4f\x69','\x57\x35\x71\x69\x57\x35\x33\x63\x4a\x4a\x47','\x6a\x53\x6f\x50\x57\x50\x65\x2f\x57\x4f\x64\x63\x4b\x53\x6b\x6a\x57\x35\x53','\x57\x36\x6c\x63\x55\x57\x2f\x64\x4c\x6d\x6b\x4a\x67\x71','\x72\x43\x6f\x4a\x57\x35\x74\x64\x4e\x53\x6b\x6c','\x57\x51\x48\x38\x57\x4f\x64\x64\x56\x31\x78\x63\x53\x6d\x6b\x36\x72\x53\x6b\x58\x57\x35\x33\x64\x4c\x4c\x30','\x6b\x38\x6f\x49\x57\x37\x4e\x64\x55\x43\x6b\x51','\x57\x51\x4a\x64\x4f\x76\x39\x4b\x57\x4f\x76\x75\x57\x4f\x44\x5a\x46\x43\x6f\x6d\x76\x38\x6f\x34','\x57\x50\x43\x67\x57\x4f\x7a\x4b\x57\x36\x46\x63\x53\x43\x6b\x64\x6a\x61','\x69\x6d\x6f\x2f\x7a\x6d\x6f\x59\x77\x57','\x57\x4f\x47\x37\x57\x36\x31\x6b\x57\x51\x30','\x57\x36\x35\x36\x6e\x57','\x6b\x58\x71\x6e\x57\x34\x4a\x64\x50\x43\x6b\x6e\x57\x50\x74\x64\x4c\x61','\x57\x35\x2f\x63\x4d\x4e\x72\x35\x44\x61\x6a\x75','\x41\x68\x6c\x63\x4d\x77\x46\x64\x54\x32\x47\x31\x44\x61','\x6c\x77\x61\x65\x68\x4e\x6e\x4f\x79\x4a\x52\x63\x4e\x58\x34','\x57\x50\x4c\x5a\x57\x50\x6c\x63\x4c\x43\x6b\x36\x69\x43\x6f\x50\x57\x4f\x33\x64\x4c\x61','\x64\x73\x61\x70\x57\x37\x61\x79\x57\x50\x34','\x57\x35\x31\x79\x57\x50\x58\x49\x57\x34\x43\x69\x63\x58\x4b','\x57\x50\x39\x37\x57\x50\x37\x64\x56\x6d\x6f\x47\x75\x6d\x6b\x48\x57\x50\x4e\x64\x4f\x47\x52\x63\x52\x77\x50\x65','\x68\x6d\x6f\x44\x57\x50\x56\x63\x4d\x38\x6f\x74\x57\x37\x71\x73\x57\x52\x47\x73\x57\x34\x69\x4b','\x57\x4f\x58\x75\x70\x68\x68\x64\x49\x43\x6f\x48\x57\x50\x71\x4f','\x43\x77\x2f\x64\x4c\x73\x75','\x6b\x72\x5a\x63\x4a\x78\x68\x64\x51\x61','\x57\x34\x74\x63\x4d\x43\x6f\x32\x57\x37\x61\x6d','\x74\x48\x72\x37\x79\x4d\x4c\x45\x42\x57\x47','\x57\x51\x78\x64\x53\x75\x33\x63\x4e\x38\x6f\x52\x72\x6d\x6b\x57\x57\x34\x43','\x61\x43\x6f\x44\x79\x43\x6f\x46\x44\x38\x6f\x37\x57\x36\x78\x64\x48\x47','\x62\x48\x42\x64\x4b\x63\x42\x63\x4e\x30\x50\x41\x57\x4f\x4b','\x73\x73\x7a\x51\x57\x4f\x4f\x69\x57\x51\x4e\x63\x4c\x6d\x6b\x6d','\x57\x51\x34\x46\x63\x53\x6b\x4a','\x77\x38\x6f\x76\x71\x43\x6b\x79\x78\x71','\x57\x52\x47\x78\x57\x37\x50\x4d\x57\x52\x74\x63\x4c\x32\x75\x77','\x72\x53\x6f\x46\x57\x35\x64\x63\x53\x74\x42\x64\x4f\x63\x6d','\x57\x36\x6c\x63\x50\x33\x62\x62\x72\x61','\x42\x38\x6b\x53\x42\x64\x31\x30','\x57\x37\x2f\x63\x55\x61\x68\x64\x4d\x6d\x6b\x31\x68\x47','\x57\x34\x5a\x63\x4c\x48\x70\x64\x4c\x53\x6b\x71','\x57\x51\x5a\x64\x4c\x6d\x6b\x68\x66\x47','\x57\x52\x52\x63\x54\x31\x52\x64\x49\x38\x6b\x6e\x77\x58\x69\x6b\x64\x61\x75\x52\x79\x47','\x57\x51\x30\x48\x43\x30\x74\x64\x48\x6d\x6f\x42\x57\x34\x6d\x30\x41\x47\x4c\x65\x57\x35\x34','\x57\x36\x4f\x4b\x57\x36\x52\x63\x56\x72\x2f\x64\x52\x38\x6b\x2f\x71\x57','\x77\x63\x6d\x72\x57\x34\x54\x53\x57\x4f\x2f\x63\x4f\x38\x6b\x39','\x68\x6d\x6f\x63\x57\x37\x2f\x64\x47\x43\x6b\x39\x57\x36\x53\x6d\x57\x36\x47','\x57\x34\x6a\x54\x57\x35\x69\x34\x57\x52\x78\x64\x54\x38\x6b\x56\x6c\x4e\x4e\x63\x52\x43\x6f\x74\x64\x47','\x57\x4f\x65\x32\x57\x50\x66\x4d\x57\x36\x69','\x76\x38\x6f\x72\x44\x43\x6b\x57\x73\x4d\x57\x48\x57\x35\x6d','\x45\x43\x6b\x59\x57\x37\x68\x64\x51\x43\x6b\x67','\x42\x38\x6f\x52\x57\x34\x74\x63\x4d\x74\x57','\x57\x36\x35\x4c\x69\x43\x6f\x43\x72\x43\x6f\x4e\x6c\x43\x6f\x66','\x77\x75\x37\x63\x49\x64\x6c\x64\x4a\x71','\x57\x36\x56\x63\x49\x6d\x6f\x74\x74\x62\x72\x35\x57\x51\x38','\x57\x50\x5a\x64\x55\x6d\x6f\x52\x7a\x4a\x48\x4e\x57\x51\x78\x64\x4e\x47','\x46\x4b\x39\x6a\x6a\x53\x6b\x77\x46\x78\x2f\x63\x4f\x47','\x62\x71\x64\x63\x52\x65\x64\x64\x4b\x77\x57\x5a\x76\x57','\x6b\x4d\x6e\x78\x71\x4c\x7a\x6e\x42\x58\x34','\x6a\x53\x6f\x4a\x78\x38\x6f\x56\x73\x38\x6f\x4c\x57\x35\x4e\x64\x4f\x61','\x57\x35\x46\x63\x53\x53\x6f\x58\x57\x37\x75\x70','\x57\x37\x74\x63\x47\x53\x6f\x74\x57\x35\x53\x30\x57\x34\x4e\x64\x48\x4d\x43','\x41\x6d\x6f\x41\x57\x36\x52\x64\x54\x38\x6b\x48','\x57\x35\x46\x63\x4b\x33\x46\x63\x52\x53\x6f\x46','\x6c\x72\x75\x71\x57\x36\x4a\x64\x53\x6d\x6b\x6a\x57\x4f\x74\x64\x4b\x57','\x71\x43\x6f\x77\x6b\x38\x6f\x41\x57\x34\x5a\x64\x49\x78\x39\x50\x6e\x53\x6f\x71\x78\x43\x6b\x63','\x57\x36\x66\x50\x72\x43\x6f\x49\x7a\x53\x6b\x6d\x57\x35\x33\x63\x54\x57','\x63\x59\x6c\x63\x55\x31\x68\x64\x54\x57','\x64\x72\x56\x64\x48\x48\x46\x63\x52\x61','\x66\x43\x6f\x36\x57\x50\x30\x6c\x57\x52\x34','\x42\x5a\x72\x43\x76\x76\x48\x5a','\x57\x4f\x5a\x64\x53\x43\x6f\x66\x69\x53\x6f\x76\x76\x38\x6f\x37\x57\x34\x2f\x64\x52\x61\x42\x64\x55\x57','\x75\x64\x39\x37\x57\x50\x31\x52\x57\x37\x70\x64\x56\x6d\x6f\x75\x42\x53\x6f\x46','\x66\x53\x6b\x52\x57\x50\x64\x63\x49\x38\x6f\x68\x57\x35\x78\x63\x54\x76\x46\x64\x4f\x6d\x6b\x41\x57\x36\x61\x70\x77\x47','\x57\x4f\x75\x41\x57\x52\x76\x54\x57\x37\x4b\x67\x68\x71\x34','\x42\x43\x6f\x75\x46\x38\x6b\x78\x68\x32\x65\x42\x57\x50\x39\x38\x67\x43\x6f\x6b\x57\x34\x75','\x57\x34\x4e\x63\x53\x43\x6b\x38\x77\x43\x6b\x37','\x57\x37\x37\x64\x49\x77\x5a\x64\x49\x38\x6b\x66\x64\x4a\x72\x74\x57\x37\x38','\x57\x37\x35\x38\x6d\x61\x71','\x57\x50\x57\x45\x43\x53\x6b\x66\x68\x57','\x57\x52\x48\x57\x66\x31\x74\x64\x53\x6d\x6f\x66\x57\x51\x38','\x57\x50\x4c\x4f\x79\x76\x4f\x2b\x67\x43\x6f\x51\x57\x4f\x38','\x79\x53\x6f\x53\x57\x37\x52\x63\x54\x72\x30','\x6c\x62\x79\x46\x57\x36\x4a\x64\x53\x6d\x6b\x4b\x57\x4f\x70\x64\x4b\x71','\x57\x37\x2f\x63\x50\x48\x57\x34\x57\x35\x38\x68\x57\x52\x6a\x59','\x69\x57\x68\x63\x4e\x30\x37\x64\x50\x57','\x57\x50\x47\x37\x57\x35\x31\x6f\x57\x4f\x2f\x63\x56\x31\x38\x30','\x62\x43\x6f\x66\x42\x6d\x6f\x77\x76\x71'];_0x30a6=function(){return _0x456d80;};return _0x30a6();}const _0x3f01bb={};_0x3f01bb[_0x1a247a(0x123,'\x7a\x38\x4c\x5b')+_0x1a247a(0x142,'\x6c\x40\x5a\x79')+_0x1a247a(0x132,'\x5b\x5e\x56\x39')]=_0x2ac584,_0x3f01bb['\x61\x70\x70\x6c\x79\x4d\x6f\x64'+_0x1a247a(0x133,'\x31\x5a\x7a\x76')]=_0x409037,_0x3f01bb[_0x1a247a(0x13b,'\x58\x64\x38\x6b')+_0x1a247a(0x154,'\x48\x56\x6b\x53')+'\x4e\x53']=_0x109465,_0x3f01bb[_0x1a247a(0x128,'\x4b\x66\x6a\x4d')+_0x1a247a(0x141,'\x69\x64\x6f\x65')+_0x1a247a(0x159,'\x25\x55\x38\x66')]=_0xd0de9d,_0x3f01bb[_0x1a247a(0x151,'\x54\x6b\x5d\x69')+'\x41\x50\x5f\x54\x4f\x4b\x45\x4e'+'\x53']=_0x31792d,_0x3f01bb[_0x1a247a(0x15b,'\x59\x4d\x49\x56')+_0x1a247a(0x125,'\x31\x5a\x7a\x76')+_0x1a247a(0x10b,'\x77\x59\x21\x54')]=_0x225c9f,_0x3f01bb[_0x1a247a(0x13f,'\x6c\x77\x70\x68')+_0x1a247a(0x146,'\x7a\x38\x4c\x5b')+_0x1a247a(0x15c,'\x42\x31\x53\x59')+'\x4e']=_0x11d40b,module[_0x1a247a(0x126,'\x5b\x5e\x56\x39')]=_0x3f01bb;
@@ -1,174 +1 @@
1
- // Keychain-backed workspace-id resolver (issue #111 Phase 1).
2
- //
3
- // Layered with paths.js#getWorkspaceId(). The current FS-only secret
4
- // (`<workspace>/.evolver/workspace-id`, mode 0600) closes the *forgery*
5
- // gap from PR #109 but leaves a *readability* gap: any process running
6
- // under the same uid can still read the file and impersonate a workspace
7
- // it does not own. This module gates that secret behind the OS keychain
8
- // (macOS Keychain Services / libsecret on Linux / Windows Credential
9
- // Manager) via the optional `@napi-rs/keyring` native addon.
10
- //
11
- // PLATFORM NOTES:
12
- //
13
- // macOS — backed by Keychain Services (Security.framework). Entries
14
- // are encrypted by the OS and scoped to the user login session.
15
- //
16
- // Linux — backed by libsecret / GNOME Keyring (or the secret-service
17
- // D-Bus protocol). Unavailable on headless servers without a
18
- // D-Bus session; the addon load will succeed but getPassword()
19
- // throws, causing `available: false` and transparent FS fallback.
20
- //
21
- // Windows — backed by Windows Credential Manager (CredRead/CredWrite via
22
- // DPAPI-encrypted blobs). No extra installation needed when the
23
- // @napi-rs/keyring addon is present. If the addon is absent (bun
24
- // binary, stripped package, etc.) the resolver falls back to
25
- // plaintext FS storage — see WINDOWS SECURITY NOTE below.
26
- //
27
- // WINDOWS SECURITY NOTE (fallback path):
28
- // When @napi-rs/keyring is unavailable on Windows (addon load fails),
29
- // getWorkspaceId() falls back to a plaintext file at
30
- // <workspace>/.evolver/workspace-id. On Windows, mode 0o600 passed to
31
- // fs.writeFileSync / fs.openSync is silently ignored, so the file is NOT
32
- // restricted to the current user at the filesystem ACL level. The only
33
- // isolation boundary is the Windows user-profile directory
34
- // (%USERPROFILE%\.evolver or the workspace path), which is ACL-protected
35
- // by default but grants access to the SYSTEM account and local Admins.
36
- // This is weaker than the Unix 0o600 guarantee. Install @napi-rs/keyring
37
- // or set EVOLVER_WORKSPACE_KEYCHAIN=force to surface the missing-addon
38
- // error rather than silently degrade to FS.
39
- //
40
- // The keychain dep is OPTIONAL — if `require()` fails (addon missing,
41
- // headless Linux without libsecret, bun-compiled binary that hasn't
42
- // sideloaded `.node` yet), the resolver returns null and paths.js
43
- // transparently falls back to the existing FS implementation. Behavior
44
- // for *every* deployment that doesn't actively opt in stays identical
45
- // to v1.85.x.
46
- //
47
- // Mode is controlled by `EVOLVER_WORKSPACE_KEYCHAIN`:
48
- // - `auto` (default) — try keychain, fall back to FS on any failure.
49
- // - `force` — keychain only; throw if unavailable. Use in
50
- // CI to assert the addon is loaded.
51
- // - `off` — skip keychain entirely; use FS path.
52
- //
53
- // Service / account naming:
54
- // service = "evomap.evolver.workspace-id"
55
- // account = absolute path to the workspace root
56
- // The account is the workspace-root path because that's the natural
57
- // identity boundary — multiple evolver installs sharing the same
58
- // workspace root must resolve to the SAME secret (writer/reader parity,
59
- // PR #109 round-1 MEDIUM).
60
-
61
- const KEYCHAIN_SERVICE = 'evomap.evolver.workspace-id';
62
-
63
- // 32 hex chars (16 random bytes) — same shape as the FS impl, kept
64
- // strict so a legacy migration from FS into keychain validates cleanly.
65
- const ID_RE = /^[a-f0-9]{32,}$/i;
66
-
67
- let _cachedAddon = undefined; // undefined = not tried, null = failed, fn = ok
68
-
69
- function loadAddon() {
70
- if (_cachedAddon !== undefined) return _cachedAddon;
71
- try {
72
- // eslint-disable-next-line global-require
73
- const mod = require('@napi-rs/keyring');
74
- if (mod && typeof mod.Entry === 'function') {
75
- // On Windows this uses the Credential Manager (DPAPI-backed) backend
76
- // from keyring-rs — no extra setup required when the addon is present.
77
- _cachedAddon = mod;
78
- return _cachedAddon;
79
- }
80
- // Addon present but does not expose the expected Entry constructor —
81
- // treat as unavailable; callers fall back to FS storage.
82
- _cachedAddon = null;
83
- return null;
84
- } catch {
85
- // Addon absent or failed to load (bun binary, stripped package, Windows
86
- // without the prebuilt .node, etc.). On Windows this means Credential
87
- // Manager is NOT used and the secret falls back to a plaintext file —
88
- // see WINDOWS SECURITY NOTE at the top of this file.
89
- _cachedAddon = null;
90
- return null;
91
- }
92
- }
93
-
94
- function getMode() {
95
- const raw = String(process.env.EVOLVER_WORKSPACE_KEYCHAIN || 'auto').toLowerCase().trim();
96
- if (raw === 'force' || raw === 'off' || raw === 'auto') return raw;
97
- return 'auto';
98
- }
99
-
100
- // Patterns indicating a clean "entry not present" miss across the
101
- // platform backends keyring-rs talks to:
102
- // - Linux libsecret → "No matching entry found in secure storage"
103
- // - macOS Keychain → "The specified item could not be found in the keychain"
104
- // - Windows Cred Mgr → "Element not found"
105
- // Anything else thrown by getPassword (locked keyring, no D-Bus, version
106
- // mismatch, ambiguous entry, …) means the keychain itself isn't usable
107
- // and MUST surface as `available: false` so callers — particularly
108
- // `force` mode — can refuse to fall back to FS instead of silently
109
- // papering over the failure (Bugbot PR #121 round-3 MEDIUM: dead code
110
- // in force-mode unavailable path).
111
- const NO_ENTRY_PATTERNS = [
112
- /no\s+matching\s+entry/i, // libsecret
113
- /could\s+not\s+be\s+found/i, // macOS
114
- /element\s+not\s+found/i, // Windows
115
- /\bnoentry\b/i, // keyring-rs NoEntry (CamelCase)
116
- /\bno\s*entry\b/i, // generic spaced "no entry"
117
- /not\s+found\s+in\s+(?:secure|keychain)/i,
118
- ];
119
-
120
- function _isNoEntryError(err) {
121
- const msg = (err && err.message) || '';
122
- return NO_ENTRY_PATTERNS.some((re) => re.test(msg));
123
- }
124
-
125
- // Read the secret for `account` from the OS keychain.
126
- // Returns:
127
- // { available: true, id: "<32-hex>" } on hit
128
- // { available: true, id: null } on clean miss (NoEntry-class throw)
129
- // { available: false, id: null } when the addon isn't loaded OR
130
- // the keychain throws any non-
131
- // NoEntry error (locked, no
132
- // backend, version mismatch, …)
133
- function readFromKeychain(account) {
134
- const addon = loadAddon();
135
- if (!addon) return { available: false, id: null };
136
- try {
137
- const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
138
- const raw = entry.getPassword();
139
- if (typeof raw === 'string' && ID_RE.test(raw.trim())) {
140
- return { available: true, id: raw.trim() };
141
- }
142
- // getPassword resolved with empty / non-hex — treat as miss; the
143
- // keychain itself is responding so we stay "available".
144
- return { available: true, id: null };
145
- } catch (err) {
146
- if (_isNoEntryError(err)) return { available: true, id: null };
147
- return { available: false, id: null };
148
- }
149
- }
150
-
151
- // Persist `id` for `account` in the OS keychain. Returns true on
152
- // success, false on any failure (callers fall back to FS).
153
- function writeToKeychain(account, id) {
154
- const addon = loadAddon();
155
- if (!addon) return false;
156
- try {
157
- const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
158
- entry.setPassword(id);
159
- return true;
160
- } catch {
161
- return false;
162
- }
163
- }
164
-
165
- module.exports = {
166
- KEYCHAIN_SERVICE,
167
- getMode,
168
- loadAddon,
169
- readFromKeychain,
170
- writeToKeychain,
171
- // Exported for test coverage of the NoEntry-vs-PlatformFailure
172
- // discrimination (Bugbot PR #121 round-3 MEDIUM).
173
- _isNoEntryError,
174
- };
1
+ const _0x177d57=_0x1a25;(function(_0xe9a5f1,_0x658fae){const _0x1e196a=_0x1a25,_0x1344a3=_0xe9a5f1();while(!![]){try{const _0x4181e6=-parseInt(_0x1e196a(0x1b7,'\x72\x29\x73\x24'))/(-0x17ac+0x1902+-0x155)*(-parseInt(_0x1e196a(0x1ac,'\x76\x5a\x50\x7a'))/(0x1ecf+0x1a91+0x1caf*-0x2))+-parseInt(_0x1e196a(0x1e8,'\x62\x33\x2a\x35'))/(-0x1696+0x1fea+0x9*-0x109)*(parseInt(_0x1e196a(0x1bc,'\x30\x43\x25\x6c'))/(0x1dce+-0xe7d+-0x1*0xf4d))+parseInt(_0x1e196a(0x1f9,'\x58\x6a\x26\x6e'))/(-0x2297+0xae7*-0x1+0x2d83)*(parseInt(_0x1e196a(0x1c8,'\x6e\x34\x73\x49'))/(0xcfb*0x2+-0x21d2+-0x7e2*-0x1))+parseInt(_0x1e196a(0x1c6,'\x55\x45\x51\x68'))/(-0x1fbe+0x1cb2+-0x313*-0x1)+parseInt(_0x1e196a(0x1e9,'\x55\x71\x29\x58'))/(0x2664+-0x3f+-0x261d)+parseInt(_0x1e196a(0x21b,'\x4f\x6c\x36\x50'))/(-0x1*0x19ff+0x1e2a*0x1+-0x422)*(parseInt(_0x1e196a(0x1f0,'\x29\x73\x40\x39'))/(-0x4*0x3e5+-0x1419+0x23b7))+-parseInt(_0x1e196a(0x1c2,'\x7a\x42\x78\x36'))/(-0x2a1*0xb+0x2195+-0x49f)*(parseInt(_0x1e196a(0x1ff,'\x52\x33\x42\x32'))/(-0x1dc3+0x2e7*-0x5+0x1*0x2c52));if(_0x4181e6===_0x658fae)break;else _0x1344a3['push'](_0x1344a3['shift']());}catch(_0x255be6){_0x1344a3['push'](_0x1344a3['shift']());}}}(_0x2a34,-0x1*0x68b97+-0x4487e*0x1+0x2db*0x5a3));const _0xa40e9b=(function(){const _0x4f4407=_0x1a25,_0x12aa68={};_0x12aa68[_0x4f4407(0x1e1,'\x25\x76\x52\x65')]=function(_0x157ead,_0x576805){return _0x157ead!==_0x576805;},_0x12aa68[_0x4f4407(0x207,'\x47\x25\x46\x46')]=_0x4f4407(0x1e4,'\x76\x79\x78\x4a'),_0x12aa68['\x58\x62\x62\x4e\x72']=_0x4f4407(0x218,'\x46\x68\x49\x7a');const _0x42efd4=_0x12aa68;let _0x37aa80=!![];return function(_0x3571e9,_0xf17a58){const _0x2ccd54=_0x37aa80?function(){const _0x50b7fd=_0x1a25;if(_0x42efd4[_0x50b7fd(0x1d0,'\x62\x33\x2a\x35')](_0x50b7fd(0x1cf,'\x31\x58\x4d\x33'),_0x42efd4[_0x50b7fd(0x1b3,'\x6d\x78\x55\x34')])){if(_0xf17a58){if(_0x42efd4[_0x50b7fd(0x1af,'\x49\x72\x38\x54')](_0x42efd4['\x58\x62\x62\x4e\x72'],_0x42efd4['\x58\x62\x62\x4e\x72'])){const _0x292eea=new _0x20b32d[(_0x50b7fd(0x1d1,'\x71\x5a\x67\x58'))](_0x3c54e1,_0x3230f4);return _0x292eea[_0x50b7fd(0x20d,'\x25\x76\x52\x65')+_0x50b7fd(0x208,'\x58\x55\x71\x63')](_0x1f3cf4),!![];}else{const _0x496d1c=_0xf17a58[_0x50b7fd(0x1e5,'\x5b\x24\x5b\x48')](_0x3571e9,arguments);return _0xf17a58=null,_0x496d1c;}}}else return _0xc77122=null,null;}:function(){};return _0x37aa80=![],_0x2ccd54;};}()),_0x35664b=_0xa40e9b(this,function(){const _0x3027c7=_0x1a25,_0x1f15f0={};_0x1f15f0[_0x3027c7(0x1c9,'\x25\x76\x52\x65')]=_0x3027c7(0x1c3,'\x6a\x32\x36\x41')+_0x3027c7(0x20e,'\x2a\x62\x55\x4b');const _0x24bb5d=_0x1f15f0;return _0x35664b[_0x3027c7(0x209,'\x4f\x6c\x36\x50')]()[_0x3027c7(0x1f6,'\x55\x71\x29\x58')](_0x24bb5d[_0x3027c7(0x1d6,'\x52\x50\x4e\x5a')])[_0x3027c7(0x1da,'\x49\x4c\x4c\x28')]()[_0x3027c7(0x1c4,'\x72\x29\x73\x24')+'\x74\x6f\x72'](_0x35664b)[_0x3027c7(0x1ec,'\x79\x58\x38\x37')](_0x24bb5d[_0x3027c7(0x216,'\x4f\x37\x39\x5e')]);});_0x35664b();function _0x1a25(_0x2dcbca,_0x253adc){_0x2dcbca=_0x2dcbca-(-0x1*0x371+-0x3*0x3ed+0x10e2);const _0xd4d6d=_0x2a34();let _0x567ae4=_0xd4d6d[_0x2dcbca];if(_0x1a25['\x4f\x65\x6e\x76\x49\x57']===undefined){var _0x379997=function(_0x567544){const _0x17d6bd='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x517d8a='',_0x1aafd3='',_0x1c0505=_0x517d8a+_0x379997,_0x14b641=(''+function(){return-0x1cd4+0x1d99*-0x1+0x3a6d;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x1*-0x26dd+0x9*0x1df+-0x7*0x7f5);for(let _0x36d399=-0x614+0x1149+0x13*-0x97,_0x4446,_0x333399,_0xa29d1b=-0x1d6b+-0x1*0x190b+0x2*0x1b3b;_0x333399=_0x567544['\x63\x68\x61\x72\x41\x74'](_0xa29d1b++);~_0x333399&&(_0x4446=_0x36d399%(0x71d+0x1e53+0x1*-0x256c)?_0x4446*(-0x1b7*0xb+0x1b52*-0x1+0x2e6f)+_0x333399:_0x333399,_0x36d399++%(-0x1b7e+-0x1b4c+0x36ce))?_0x517d8a+=_0x14b641||_0x1c0505['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xa29d1b+(-0xa*0x396+0x99+0x234d))-(-0x19a5+0xc56+0x11*0xc9)!==0x31*-0xb1+-0xc7+0x22a8?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x2*0x76d+0x839+0x1d7*-0xc&_0x4446>>(-(-0x1bc6+0xbe0+0xfe8)*_0x36d399&0x225e+-0x14f*0x4+0x19e*-0x12)):_0x36d399:-0x1fa7+-0x2703+0x46aa){_0x333399=_0x17d6bd['\x69\x6e\x64\x65\x78\x4f\x66'](_0x333399);}for(let _0x338d97=-0x17a3*0x1+0x1bfc+-0x7*0x9f,_0x4e612c=_0x517d8a['\x6c\x65\x6e\x67\x74\x68'];_0x338d97<_0x4e612c;_0x338d97++){_0x1aafd3+='\x25'+('\x30\x30'+_0x517d8a['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x338d97)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x994*-0x4+-0x1524+0x3b84))['\x73\x6c\x69\x63\x65'](-(0xa6d*0x2+-0x331*0x1+0x1*-0x11a7));}return decodeURIComponent(_0x1aafd3);};const _0x50e90b=function(_0x248167,_0x3197c1){let _0x5cc61b=[],_0x34aed6=-0x2f9*-0x8+0x1*0x15bb+-0x2d83,_0x17ca2a,_0x38ab14='';_0x248167=_0x379997(_0x248167);let _0x57d165;for(_0x57d165=0x1*0x1222+-0xac8+-0x75a*0x1;_0x57d165<-0xd7a+-0x2*-0x83+0xf6*0xe;_0x57d165++){_0x5cc61b[_0x57d165]=_0x57d165;}for(_0x57d165=-0x120*0x12+-0x996+0x1dd6;_0x57d165<0x4*-0xc3+-0xf32+-0x99f*-0x2;_0x57d165++){_0x34aed6=(_0x34aed6+_0x5cc61b[_0x57d165]+_0x3197c1['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x57d165%_0x3197c1['\x6c\x65\x6e\x67\x74\x68']))%(0x1f3b+0x1960+-0x379b),_0x17ca2a=_0x5cc61b[_0x57d165],_0x5cc61b[_0x57d165]=_0x5cc61b[_0x34aed6],_0x5cc61b[_0x34aed6]=_0x17ca2a;}_0x57d165=-0x1*-0x1f75+0x636+-0x25ab,_0x34aed6=-0xd96+0x4f0*0x5+-0x2*0x58d;for(let _0xedfdbf=0x17*0x11+0xe*-0x1f+0x2b;_0xedfdbf<_0x248167['\x6c\x65\x6e\x67\x74\x68'];_0xedfdbf++){_0x57d165=(_0x57d165+(-0x43a*0x1+0x157f*-0x1+-0x19ba*-0x1))%(-0x1*-0xad+-0xff4+-0x1047*-0x1),_0x34aed6=(_0x34aed6+_0x5cc61b[_0x57d165])%(-0x8b*-0x13+0x24*0x2c+-0xf81),_0x17ca2a=_0x5cc61b[_0x57d165],_0x5cc61b[_0x57d165]=_0x5cc61b[_0x34aed6],_0x5cc61b[_0x34aed6]=_0x17ca2a,_0x38ab14+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x248167['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xedfdbf)^_0x5cc61b[(_0x5cc61b[_0x57d165]+_0x5cc61b[_0x34aed6])%(0x8*-0x197+0x1880+0x45*-0x28)]);}return _0x38ab14;};_0x1a25['\x59\x57\x6e\x79\x47\x61']=_0x50e90b,_0x1a25['\x53\x58\x42\x69\x6a\x78']={},_0x1a25['\x4f\x65\x6e\x76\x49\x57']=!![];}const _0x16da2e=_0xd4d6d[0xe3b+-0x1feb+0x11b0],_0x413f43=_0x2dcbca+_0x16da2e,_0x115c9c=_0x1a25['\x53\x58\x42\x69\x6a\x78'][_0x413f43];if(!_0x115c9c){if(_0x1a25['\x6d\x58\x74\x51\x55\x79']===undefined){const _0x5356dc=function(_0x1b24c2){this['\x6b\x77\x78\x45\x45\x77']=_0x1b24c2,this['\x44\x4f\x55\x53\x56\x73']=[0xa7*-0x1+0xcd9+-0xc31*0x1,-0x91+0x4dc*0x3+-0xe03,-0x393*0x1+-0xf*0x2+-0xf*-0x3f],this['\x57\x4a\x53\x4c\x6a\x66']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x47\x4c\x6d\x43\x4a\x59']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x62\x4d\x66\x49\x6e\x70']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x5356dc['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x43\x61\x4c\x73\x6a\x65']=function(){const _0x3dfbc7=new RegExp(this['\x47\x4c\x6d\x43\x4a\x59']+this['\x62\x4d\x66\x49\x6e\x70']),_0x1d9212=_0x3dfbc7['\x74\x65\x73\x74'](this['\x57\x4a\x53\x4c\x6a\x66']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x44\x4f\x55\x53\x56\x73'][-0x2061+0x173c+0x926]:--this['\x44\x4f\x55\x53\x56\x73'][0x1a21+0x141+-0x1b62];return this['\x50\x41\x50\x4d\x59\x41'](_0x1d9212);},_0x5356dc['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x41\x50\x4d\x59\x41']=function(_0x23ff47){if(!Boolean(~_0x23ff47))return _0x23ff47;return this['\x7a\x72\x58\x77\x45\x56'](this['\x6b\x77\x78\x45\x45\x77']);},_0x5356dc['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x7a\x72\x58\x77\x45\x56']=function(_0xa0f791){for(let _0x36d5fd=0x11f1+0x2404+-0x13*0x2d7,_0xcc4a3a=this['\x44\x4f\x55\x53\x56\x73']['\x6c\x65\x6e\x67\x74\x68'];_0x36d5fd<_0xcc4a3a;_0x36d5fd++){this['\x44\x4f\x55\x53\x56\x73']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0xcc4a3a=this['\x44\x4f\x55\x53\x56\x73']['\x6c\x65\x6e\x67\x74\x68'];}return _0xa0f791(this['\x44\x4f\x55\x53\x56\x73'][-0x20ed+-0x1ec9*0x1+0x3fb6]);},(''+function(){return-0x1d95+-0x3e*0x71+0x3d*0xef;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x3e0+-0x262d+0x224e)&&new _0x5356dc(_0x1a25)['\x43\x61\x4c\x73\x6a\x65'](),_0x1a25['\x6d\x58\x74\x51\x55\x79']=!![];}_0x567ae4=_0x1a25['\x59\x57\x6e\x79\x47\x61'](_0x567ae4,_0x253adc),_0x1a25['\x53\x58\x42\x69\x6a\x78'][_0x413f43]=_0x567ae4;}else _0x567ae4=_0x115c9c;return _0x567ae4;}const _0x13b4cc=_0x177d57(0x1d9,'\x76\x5a\x50\x7a')+_0x177d57(0x1cb,'\x5d\x67\x56\x50')+_0x177d57(0x1df,'\x31\x58\x4d\x33')+_0x177d57(0x1ca,'\x6a\x32\x36\x41'),_0x317ad0=/^[a-f0-9]{32,}$/i;let _0x593174=undefined;function _0x47c9ea(){const _0x3a6c60=_0x177d57,_0x1fa6a0={'\x71\x74\x66\x44\x67':_0x3a6c60(0x1d4,'\x28\x4f\x33\x39')+_0x3a6c60(0x215,'\x53\x6d\x5e\x51'),'\x4e\x70\x59\x51\x51':function(_0x5c457f,_0x117d50){return _0x5c457f!==_0x117d50;},'\x6f\x73\x56\x79\x62':function(_0x437985,_0x1a5ef4){return _0x437985(_0x1a5ef4);},'\x54\x65\x7a\x79\x74':_0x3a6c60(0x1f3,'\x5a\x69\x43\x78')};if(_0x1fa6a0[_0x3a6c60(0x1ea,'\x26\x61\x29\x78')](_0x593174,undefined))return _0x593174;try{const _0x50398e=_0x1fa6a0['\x6f\x73\x56\x79\x62'](require,_0x3a6c60(0x1d5,'\x76\x5a\x50\x7a')+_0x3a6c60(0x1eb,'\x76\x5a\x50\x7a'));if(_0x50398e&&typeof _0x50398e[_0x3a6c60(0x1cd,'\x74\x6a\x53\x65')]==='\x66\x75\x6e\x63\x74\x69\x6f\x6e')return _0x1fa6a0[_0x3a6c60(0x205,'\x58\x6a\x26\x6e')](_0x3a6c60(0x204,'\x49\x4c\x4c\x28'),_0x1fa6a0[_0x3a6c60(0x20f,'\x5d\x67\x56\x50')])?_0x4dc790[_0x3a6c60(0x1e6,'\x58\x55\x71\x63')]()[_0x3a6c60(0x1cc,'\x76\x5a\x50\x7a')](_0x3a6c60(0x1dd,'\x6f\x32\x6c\x54')+_0x3a6c60(0x1f8,'\x5a\x69\x43\x78'))[_0x3a6c60(0x1e3,'\x7a\x42\x78\x36')]()[_0x3a6c60(0x20a,'\x5b\x24\x5b\x48')+_0x3a6c60(0x1f2,'\x49\x4c\x4c\x28')](_0x2e4377)[_0x3a6c60(0x1f6,'\x55\x71\x29\x58')](fCQtBY[_0x3a6c60(0x202,'\x26\x61\x29\x78')]):(_0x593174=_0x50398e,_0x593174);return _0x593174=null,null;}catch{return _0x593174=null,null;}}function _0x2633c1(){const _0x434457=_0x177d57,_0x3082fc={'\x46\x57\x77\x79\x79':function(_0x2fc3ac,_0x41209c){return _0x2fc3ac(_0x41209c);},'\x78\x50\x68\x4a\x43':_0x434457(0x1bd,'\x58\x55\x71\x63'),'\x69\x79\x54\x43\x5a':function(_0x5d82fb,_0x132721){return _0x5d82fb===_0x132721;},'\x67\x61\x57\x6f\x50':_0x434457(0x1b1,'\x58\x55\x71\x63'),'\x4d\x75\x56\x73\x69':function(_0x30f237,_0x272622){return _0x30f237===_0x272622;},'\x77\x74\x6b\x51\x69':_0x434457(0x1c0,'\x6e\x34\x73\x49')},_0x115b1c=_0x3082fc[_0x434457(0x20c,'\x44\x79\x75\x6a')](String,process.env.EVOLVER_WORKSPACE_KEYCHAIN||_0x3082fc[_0x434457(0x1db,'\x5a\x69\x43\x78')])[_0x434457(0x1c5,'\x52\x50\x4e\x5a')+_0x434457(0x1b9,'\x71\x66\x47\x45')]()[_0x434457(0x1d2,'\x79\x76\x4f\x5e')]();if(_0x3082fc[_0x434457(0x1b4,'\x36\x72\x75\x4f')](_0x115b1c,_0x3082fc[_0x434457(0x214,'\x79\x41\x45\x39')])||_0x3082fc['\x4d\x75\x56\x73\x69'](_0x115b1c,_0x3082fc[_0x434457(0x1d3,'\x79\x41\x45\x39')])||_0x115b1c===_0x3082fc[_0x434457(0x1db,'\x5a\x69\x43\x78')])return _0x115b1c;return _0x434457(0x1ad,'\x71\x66\x47\x45');}const _0x1041dc=[/no\s+matching\s+entry/i,/could\s+not\s+be\s+found/i,/element\s+not\s+found/i,/\bnoentry\b/i,/\bno\s*entry\b/i,/not\s+found\s+in\s+(?:secure|keychain)/i];function _0xb5cdd0(_0x40030d){const _0x34f434=_0x177d57,_0x3b77b6=_0x40030d&&_0x40030d[_0x34f434(0x1ce,'\x55\x45\x51\x68')]||'';return _0x1041dc[_0x34f434(0x210,'\x71\x66\x47\x45')](_0x23a055=>_0x23a055[_0x34f434(0x219,'\x49\x4c\x4c\x28')](_0x3b77b6));}function _0x2a34(){const _0x24f1e3=['\x72\x6d\x6f\x2f\x57\x36\x54\x4b\x57\x51\x65','\x57\x51\x5a\x64\x4a\x43\x6b\x4e\x57\x50\x33\x64\x4f\x77\x66\x68\x57\x37\x38','\x6c\x4c\x7a\x36\x41\x53\x6f\x6d','\x76\x6d\x6f\x4c\x72\x53\x6f\x36\x78\x33\x2f\x64\x4a\x73\x34','\x43\x31\x54\x71\x57\x34\x6c\x64\x51\x47','\x57\x37\x37\x64\x47\x78\x56\x64\x4c\x49\x34','\x57\x34\x58\x38\x61\x4e\x47','\x67\x32\x42\x64\x55\x53\x6b\x42\x67\x57','\x57\x50\x62\x45\x61\x6d\x6f\x62\x57\x37\x52\x63\x4f\x31\x79','\x72\x5a\x70\x64\x4e\x43\x6f\x49\x57\x35\x79\x31\x66\x53\x6b\x75','\x43\x65\x47\x66','\x57\x50\x50\x75\x57\x35\x33\x63\x50\x57\x42\x64\x47\x38\x6f\x41\x71\x57','\x44\x43\x6f\x6c\x57\x37\x62\x6a\x57\x51\x39\x46\x57\x51\x78\x63\x52\x61','\x57\x51\x78\x63\x54\x38\x6b\x55\x57\x4f\x64\x64\x4f\x4b\x7a\x74','\x6b\x75\x58\x38\x7a\x47','\x57\x35\x6a\x39\x42\x30\x56\x63\x55\x43\x6f\x69\x57\x35\x4b','\x57\x37\x54\x46\x42\x78\x56\x63\x52\x43\x6b\x4b\x7a\x58\x74\x63\x4e\x63\x64\x63\x52\x4e\x6d','\x68\x38\x6f\x2f\x57\x35\x38','\x57\x50\x62\x64\x63\x38\x6b\x73\x7a\x6d\x6f\x44\x57\x36\x4e\x63\x4f\x71','\x74\x38\x6b\x52\x57\x50\x79\x69\x64\x6d\x6f\x4a\x57\x51\x76\x68\x70\x76\x72\x77\x57\x52\x44\x4c','\x6e\x59\x6d\x69\x57\x37\x70\x63\x4d\x38\x6f\x49\x44\x64\x57','\x57\x34\x6a\x4f\x61\x6d\x6f\x51\x57\x35\x4e\x63\x55\x67\x65\x6c','\x45\x4c\x61\x2f\x69\x72\x37\x64\x52\x30\x76\x6c','\x57\x37\x4c\x44\x42\x33\x4a\x63\x4f\x38\x6b\x4e\x6f\x5a\x70\x63\x4e\x49\x70\x63\x4a\x78\x72\x4b','\x57\x52\x53\x79\x6b\x59\x74\x64\x54\x6d\x6f\x30','\x71\x43\x6b\x52\x57\x35\x39\x54\x70\x6d\x6b\x38\x6e\x43\x6b\x66','\x64\x53\x6b\x31\x68\x43\x6f\x52\x6e\x71','\x6d\x4d\x6a\x65','\x78\x53\x6b\x6b\x72\x75\x6a\x31\x74\x78\x7a\x75','\x7a\x58\x4c\x53\x57\x34\x39\x65\x57\x36\x30','\x57\x37\x70\x64\x4d\x43\x6b\x4c\x57\x51\x58\x73','\x57\x51\x75\x6a\x6b\x4a\x37\x64\x55\x38\x6f\x30\x42\x57','\x74\x73\x37\x63\x52\x6d\x6b\x42\x70\x57','\x57\x36\x46\x64\x47\x49\x70\x63\x4b\x43\x6f\x31','\x57\x52\x38\x68\x57\x4f\x78\x64\x4b\x43\x6f\x6f','\x7a\x43\x6b\x36\x72\x43\x6b\x36','\x57\x50\x31\x62\x41\x30\x52\x63\x4e\x57','\x57\x36\x70\x63\x54\x6d\x6b\x65\x6c\x5a\x34\x65\x46\x38\x6b\x59','\x76\x62\x6a\x53\x57\x34\x31\x6f\x57\x51\x47\x30\x57\x37\x4f','\x78\x76\x57\x45\x68\x71\x79','\x79\x38\x6f\x36\x43\x47\x34\x51','\x6c\x4b\x4a\x63\x49\x4c\x42\x63\x49\x6d\x6b\x78\x46\x53\x6f\x6b\x57\x50\x42\x63\x54\x30\x42\x64\x53\x38\x6b\x39','\x43\x71\x50\x49\x57\x35\x62\x67\x57\x37\x76\x4f\x57\x36\x57','\x57\x37\x4b\x53\x57\x50\x6d\x41\x68\x4d\x2f\x64\x4b\x53\x6b\x50','\x62\x68\x33\x64\x4e\x43\x6b\x78\x6f\x47','\x6d\x43\x6b\x51\x66\x43\x6f\x70\x57\x35\x34\x34\x6b\x58\x47','\x72\x67\x6d\x50\x61\x38\x6b\x78\x64\x73\x43\x6d','\x72\x6d\x6f\x59\x77\x38\x6f\x45\x77\x31\x4a\x64\x4b\x72\x69','\x43\x62\x4a\x63\x56\x53\x6b\x59\x6b\x43\x6b\x41\x65\x4b\x47','\x65\x43\x6f\x71\x67\x75\x66\x75\x44\x74\x44\x4e\x68\x71','\x6a\x38\x6b\x68\x65\x53\x6f\x32\x70\x61','\x43\x38\x6f\x51\x43\x33\x30\x4c','\x63\x53\x6f\x31\x57\x37\x31\x69\x74\x38\x6b\x5a\x57\x37\x39\x35','\x46\x38\x6b\x70\x57\x36\x4b\x71\x68\x47','\x65\x58\x4c\x33\x57\x52\x76\x37','\x70\x66\x7a\x42\x46\x43\x6f\x42\x6f\x73\x43\x42','\x78\x6d\x6b\x78\x71\x66\x4b','\x57\x51\x37\x63\x4f\x68\x78\x64\x51\x43\x6b\x4b\x57\x35\x72\x7a\x6c\x43\x6f\x2b\x78\x38\x6b\x7a\x57\x52\x79','\x57\x35\x4b\x70\x63\x58\x42\x63\x48\x4d\x44\x31\x63\x48\x70\x63\x51\x31\x4b\x64','\x73\x43\x6f\x51\x67\x6d\x6f\x77\x57\x37\x38','\x6f\x58\x44\x4f\x57\x34\x72\x76\x57\x36\x57\x4f\x57\x36\x34','\x74\x38\x6b\x36\x65\x75\x70\x64\x51\x53\x6b\x53','\x74\x38\x6b\x61\x78\x78\x4c\x2f\x77\x5a\x30','\x57\x52\x76\x6b\x6a\x38\x6b\x65','\x64\x4c\x74\x64\x53\x6d\x6b\x56\x63\x38\x6f\x48\x57\x37\x4b','\x6c\x43\x6b\x75\x64\x65\x34\x64\x57\x52\x56\x64\x4a\x49\x6a\x6c','\x57\x51\x66\x67\x62\x43\x6b\x64\x57\x35\x34','\x57\x37\x4b\x53\x57\x52\x69','\x63\x67\x64\x64\x4f\x38\x6b\x41\x64\x47','\x57\x51\x75\x62\x43\x38\x6b\x4a\x57\x52\x61','\x57\x51\x74\x64\x52\x53\x6f\x69','\x57\x50\x6a\x74\x75\x4c\x5a\x64\x4b\x64\x4b','\x74\x31\x44\x71\x57\x35\x46\x64\x55\x73\x4e\x63\x4c\x38\x6f\x65','\x76\x57\x74\x63\x4e\x53\x6f\x35','\x64\x65\x64\x63\x4b\x64\x6c\x64\x47\x67\x72\x72\x57\x4f\x78\x63\x55\x5a\x4e\x63\x52\x6d\x6f\x4d\x65\x71','\x71\x66\x48\x4c\x57\x4f\x2f\x64\x50\x53\x6b\x63\x68\x66\x61','\x57\x34\x58\x49\x68\x43\x6f\x51\x57\x34\x5a\x63\x52\x78\x65','\x63\x76\x46\x63\x4d\x72\x47\x51\x57\x52\x46\x64\x51\x76\x6a\x32\x57\x4f\x30\x44\x57\x37\x44\x6c','\x6b\x6d\x6f\x31\x45\x72\x57\x32\x64\x43\x6b\x59','\x79\x38\x6b\x54\x74\x43\x6b\x5a\x57\x52\x64\x63\x53\x75\x4a\x63\x48\x57','\x69\x6d\x6b\x51\x57\x4f\x7a\x58\x57\x51\x4f\x34\x57\x35\x61\x31','\x57\x52\x4a\x64\x4f\x6d\x6b\x69\x77\x48\x39\x53\x57\x52\x37\x64\x54\x53\x6b\x45','\x75\x43\x6f\x70\x73\x65\x4b\x2b','\x44\x53\x6f\x55\x6a\x38\x6f\x64\x57\x34\x4b','\x69\x47\x31\x77\x57\x35\x38\x77\x57\x52\x70\x64\x48\x31\x64\x63\x4a\x4e\x39\x4f\x6e\x61','\x57\x37\x4b\x6f\x57\x50\x79\x50\x67\x57','\x43\x57\x78\x64\x53\x76\x42\x63\x51\x61','\x57\x50\x53\x46\x57\x50\x64\x64\x49\x53\x6f\x42\x57\x35\x64\x64\x49\x43\x6b\x39','\x57\x36\x48\x54\x63\x4d\x74\x63\x47\x71','\x6a\x30\x54\x53','\x41\x58\x6c\x64\x4f\x72\x46\x64\x47\x38\x6f\x6b\x6a\x43\x6f\x67','\x65\x71\x7a\x50\x57\x51\x50\x32\x57\x51\x64\x63\x50\x38\x6f\x39','\x57\x35\x64\x64\x47\x38\x6b\x47\x57\x52\x76\x59','\x57\x4f\x6e\x51\x57\x35\x4e\x63\x4b\x62\x61','\x6c\x53\x6b\x5a\x62\x6d\x6f\x4f\x6f\x38\x6b\x66\x57\x52\x69\x77','\x65\x53\x6b\x66\x57\x51\x66\x49','\x46\x6d\x6b\x61\x75\x30\x31\x4b','\x79\x4c\x71\x6e\x57\x4f\x6d','\x41\x30\x43\x64\x69\x72\x56\x64\x56\x4b\x71','\x57\x4f\x39\x6d\x79\x33\x70\x63\x4c\x38\x6f\x6b\x57\x35\x6d','\x57\x35\x66\x45\x6d\x43\x6f\x4b\x57\x37\x64\x63\x51\x38\x6b\x56\x63\x66\x6c\x63\x4f\x43\x6b\x47\x57\x34\x69\x73','\x57\x4f\x31\x75\x76\x33\x74\x63\x50\x47','\x6a\x6d\x6b\x74\x57\x34\x2f\x63\x4d\x57','\x41\x57\x78\x64\x4a\x68\x39\x30','\x6b\x75\x39\x50\x79\x6d\x6f\x66\x6d\x73\x53\x71','\x65\x43\x6b\x52\x68\x71\x64\x64\x53\x47','\x57\x37\x4b\x4d\x57\x52\x6d\x41','\x76\x65\x48\x45\x57\x34\x6c\x64\x53\x61','\x6a\x4b\x2f\x63\x48\x74\x68\x64\x4d\x38\x6f\x6a\x6a\x53\x6f\x58\x57\x4f\x47','\x77\x43\x6b\x37\x57\x36\x47\x50\x67\x53\x6f\x6a\x57\x51\x64\x64\x51\x71','\x45\x68\x69\x30\x57\x50\x62\x78','\x6a\x30\x4f\x37\x57\x4f\x71\x71\x57\x52\x75\x72\x57\x34\x64\x63\x4e\x43\x6b\x51\x57\x36\x42\x63\x4e\x57','\x43\x65\x34\x75\x57\x4f\x4b','\x7a\x53\x6b\x54\x45\x53\x6b\x2b\x57\x52\x57'];_0x2a34=function(){return _0x24f1e3;};return _0x2a34();}function _0x1b428c(_0x16cd64){const _0x59f01a=_0x177d57,_0x3767c7={'\x69\x49\x54\x76\x76':function(_0x3fa11d){return _0x3fa11d();},'\x7a\x56\x65\x4a\x4b':function(_0x24d511,_0x40960c){return _0x24d511!==_0x40960c;},'\x67\x63\x4f\x62\x6b':_0x59f01a(0x1e2,'\x29\x73\x40\x39'),'\x66\x74\x71\x6b\x59':function(_0x339d83,_0x81ff4f){return _0x339d83===_0x81ff4f;},'\x56\x74\x62\x5a\x79':_0x59f01a(0x1c7,'\x55\x45\x51\x68'),'\x77\x70\x6f\x71\x48':function(_0x57bc7b,_0x1d20c9){return _0x57bc7b(_0x1d20c9);}},_0x264a75=_0x3767c7[_0x59f01a(0x1ab,'\x71\x66\x47\x45')](_0x47c9ea),_0x5ed97d={};_0x5ed97d[_0x59f01a(0x1b8,'\x75\x4b\x4f\x21')+'\x65']=![],_0x5ed97d['\x69\x64']=null;if(!_0x264a75)return _0x5ed97d;try{if(_0x3767c7[_0x59f01a(0x1d7,'\x72\x43\x61\x26')](_0x59f01a(0x1b6,'\x5a\x69\x43\x78'),_0x3767c7[_0x59f01a(0x1f1,'\x6a\x6f\x4f\x29')])){const _0x531c64=_0x182fc2&&_0x41d09c[_0x59f01a(0x1fb,'\x72\x29\x73\x24')]||'';return _0x39b9cb[_0x59f01a(0x1ee,'\x6a\x6f\x4f\x29')](_0x13961a=>_0x13961a['\x74\x65\x73\x74'](_0x531c64));}else{const _0x9cf5dc=new _0x264a75[(_0x59f01a(0x201,'\x29\x73\x40\x39'))](_0x13b4cc,_0x16cd64),_0x58aa17=_0x9cf5dc[_0x59f01a(0x1b2,'\x58\x4a\x61\x47')+'\x6f\x72\x64']();if(_0x3767c7[_0x59f01a(0x20b,'\x74\x6a\x53\x65')](typeof _0x58aa17,_0x3767c7['\x56\x74\x62\x5a\x79'])&&_0x317ad0[_0x59f01a(0x219,'\x49\x4c\x4c\x28')](_0x58aa17[_0x59f01a(0x1e7,'\x5d\x67\x56\x50')]()))return{'\x61\x76\x61\x69\x6c\x61\x62\x6c\x65':!![],'\x69\x64':_0x58aa17[_0x59f01a(0x1b5,'\x47\x25\x46\x46')]()};const _0x15bb71={};return _0x15bb71[_0x59f01a(0x217,'\x58\x55\x71\x63')+'\x65']=!![],_0x15bb71['\x69\x64']=null,_0x15bb71;}}catch(_0x8d1900){const _0x79c01c={};_0x79c01c[_0x59f01a(0x1c1,'\x77\x6f\x75\x28')+'\x65']=!![],_0x79c01c['\x69\x64']=null;if(_0x3767c7[_0x59f01a(0x21a,'\x6d\x78\x55\x34')](_0xb5cdd0,_0x8d1900))return _0x79c01c;const _0x3a8442={};return _0x3a8442[_0x59f01a(0x206,'\x71\x5a\x67\x58')+'\x65']=![],_0x3a8442['\x69\x64']=null,_0x3a8442;}}function _0x272409(_0x27a107,_0x3e71e6){const _0x5c7659=_0x177d57,_0x51131c={'\x77\x65\x56\x69\x4a':function(_0x32f275){return _0x32f275();}},_0x5e8b0b=_0x51131c[_0x5c7659(0x1ae,'\x79\x76\x4f\x5e')](_0x47c9ea);if(!_0x5e8b0b)return![];try{const _0x1d640f=new _0x5e8b0b[(_0x5c7659(0x1f4,'\x5b\x68\x64\x28'))](_0x13b4cc,_0x27a107);return _0x1d640f[_0x5c7659(0x1aa,'\x76\x79\x78\x4a')+_0x5c7659(0x1f5,'\x28\x4f\x33\x39')](_0x3e71e6),!![];}catch{return![];}}const _0x279028={};_0x279028['\x4b\x45\x59\x43\x48\x41\x49\x4e'+_0x177d57(0x1fa,'\x6a\x32\x36\x41')]=_0x13b4cc,_0x279028[_0x177d57(0x1ed,'\x5d\x67\x56\x50')]=_0x2633c1,_0x279028[_0x177d57(0x1f7,'\x6d\x78\x55\x34')+'\x6e']=_0x47c9ea,_0x279028[_0x177d57(0x1fe,'\x79\x76\x4f\x5e')+_0x177d57(0x1bb,'\x49\x72\x38\x54')]=_0x1b428c,_0x279028[_0x177d57(0x1de,'\x58\x4a\x61\x47')+_0x177d57(0x212,'\x79\x41\x45\x39')]=_0x272409,_0x279028[_0x177d57(0x1ba,'\x44\x79\x75\x6a')+_0x177d57(0x1ef,'\x5a\x69\x43\x78')]=_0xb5cdd0,module[_0x177d57(0x211,'\x52\x50\x4e\x5a')]=_0x279028;