devicely 2.2.12 → 2.2.13

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 (63) hide show
  1. package/README.md +182 -81
  2. package/bin/devicely.js +1 -1
  3. package/config/devices.conf +2 -2
  4. package/lib/.logging-backup/aiProviders.js.backup +654 -0
  5. package/lib/.logging-backup/appMappings.js.backup +337 -0
  6. package/lib/.logging-backup/commanderService.js.backup +4427 -0
  7. package/lib/.logging-backup/devices.js.backup +54 -0
  8. package/lib/.logging-backup/doctor.js.backup +94 -0
  9. package/lib/.logging-backup/encryption.js.backup +61 -0
  10. package/lib/.logging-backup/executor.js.backup +104 -0
  11. package/lib/.logging-backup/hybridAI.js.backup +154 -0
  12. package/lib/.logging-backup/intelligentLocatorService.js.backup +1541 -0
  13. package/lib/.logging-backup/locatorStrategy.js.backup +342 -0
  14. package/lib/.logging-backup/scriptLoader.js.backup +13 -0
  15. package/lib/.logging-backup/server.js.backup +6298 -0
  16. package/lib/.logging-backup/tensorflowAI.js.backup +714 -0
  17. package/lib/.logging-backup/universalSessionManager.js.backup +370 -0
  18. package/lib/.logging-enhanced-backup/server.js.enhanced-backup +6298 -0
  19. package/lib/advanced-logger.js +1 -0
  20. package/lib/aiProviders.js +154 -15
  21. package/lib/aiProviders.js.strategic-backup +657 -0
  22. package/lib/aiProvidersConfig.js +61 -151
  23. package/lib/aiProvidersConfig.js.backup +218 -0
  24. package/lib/androidDeviceDetection.js +1 -1
  25. package/lib/appMappings.js +1 -1
  26. package/lib/commanderService.js +1 -1
  27. package/lib/commanderService.js.backup +5552 -0
  28. package/lib/deviceDetection.js +1 -1
  29. package/lib/devices.js +1 -1
  30. package/lib/devices.js.strategic-backup +57 -0
  31. package/lib/doctor.js +1 -1
  32. package/lib/encryption.js +1 -1
  33. package/lib/encryption.js.strategic-backup +61 -0
  34. package/lib/executor.js +1 -1
  35. package/lib/executor.js.strategic-backup +107 -0
  36. package/lib/frontend/asset-manifest.json +5 -3
  37. package/lib/frontend/index.html +1 -1
  38. package/lib/hybridAI.js +1 -0
  39. package/lib/intelligentLocatorService.js +1 -0
  40. package/lib/lightweightAI.js +1 -0
  41. package/lib/localBuiltInAI.js +1 -0
  42. package/lib/localBuiltInAI_backup.js +1 -0
  43. package/lib/localBuiltInAI_simple.js +1 -0
  44. package/lib/locatorStrategy.js +1 -1
  45. package/lib/logger-demo.js +2 -0
  46. package/lib/logger-integration-examples.js +102 -0
  47. package/lib/logger.js +1 -1
  48. package/lib/package.json +5 -0
  49. package/lib/public/asset-manifest.json +3 -3
  50. package/lib/public/index.html +1 -1
  51. package/lib/quick-start-logger.js +2 -0
  52. package/lib/scriptLoader.js +1 -1
  53. package/lib/server.js +1 -1
  54. package/lib/server.js.strategic-backup +6298 -0
  55. package/lib/tensorflowAI.js +1 -0
  56. package/lib/tensorflowAI.js.strategic-backup +717 -0
  57. package/lib/tinyAI.js +1 -0
  58. package/lib/universalSessionManager.js +1 -0
  59. package/package.json +1 -1
  60. package/scripts/shell/android_device_control.enc +1 -1
  61. package/scripts/shell/connect_ios_usb_multi_final.enc +1 -1
  62. package/scripts/shell/connect_ios_wireless_multi_final.enc +1 -1
  63. package/lib/public/index.html.bak +0 -1
@@ -2,175 +2,85 @@
2
2
  // Centralized configuration for all supported AI providers
3
3
 
4
4
  const AI_PROVIDERS_CONFIG = {
5
- openai: {
6
- id: 'openai',
7
- name: 'OpenAI',
8
- icon: '🤖',
9
- description: 'GPT-4o and GPT-4 Turbo models',
10
- models: [
11
- { id: 'gpt-4o', name: 'GPT-4o', description: 'Fastest GPT-4 level, multimodal', default: true },
12
- { id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: 'Affordable and fast' },
13
- { id: 'gpt-4-turbo', name: 'GPT-4 Turbo', description: 'Most capable GPT-4' },
14
- { id: 'gpt-4', name: 'GPT-4', description: 'High capability' },
15
- { id: 'gpt-3.5-turbo', name: 'GPT-3.5 Turbo', description: 'Fast and cost-effective' },
16
- ],
17
- apiKeyLabel: 'OpenAI API Key',
18
- apiKeyPlaceholder: 'sk-proj-...',
19
- apiKeyPattern: /^sk-(proj-)?[A-Za-z0-9]{32,}$/,
20
- docsUrl: 'https://platform.openai.com/api-keys',
21
- docsLabel: 'OpenAI Platform',
22
- },
23
-
24
- gemini: {
25
- id: 'gemini',
26
- name: 'Google Gemini',
27
- icon: '✨',
28
- description: 'Gemini 3, 2.5, and 2.0 models',
5
+ local: {
6
+ id: "local",
7
+ name: "Local Built-In AI (FREE & FAST)",
8
+ icon: "🤖",
9
+ description: "Zero-cost, offline, lightning-fast AI processing - Always FREE & Private",
29
10
  models: [
30
- { id: 'gemini-3-flash-preview', name: 'Gemini 3 Flash Preview', description: 'Latest Gemini 3 - Fast', default: true },
31
- { id: 'gemini-3-pro-preview', name: 'Gemini 3 Pro Preview', description: 'Latest Gemini 3 - Most capable' },
32
- { id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', description: 'Stable 2.5 Flash, 1M tokens' },
33
- { id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: 'Stable 2.5 Pro, best reasoning' },
34
- { id: 'gemini-2.0-flash', name: 'Gemini 2.0 Flash', description: 'Fast and versatile' },
35
- { id: 'gemini-2.0-flash-001', name: 'Gemini 2.0 Flash 001', description: 'Stable 2.0 Flash (Jan 2025)' },
36
- { id: 'gemini-flash-latest', name: 'Gemini Flash Latest', description: 'Auto-updated to latest Flash' },
37
- { id: 'gemini-pro-latest', name: 'Gemini Pro Latest', description: 'Auto-updated to latest Pro' },
11
+ { id: "built-in-patterns", name: "Built-In Patterns", description: "Optimized for mobile automation", default: true }
38
12
  ],
39
- apiKeyLabel: 'Gemini API Key',
40
- apiKeyPlaceholder: 'AIza...',
41
- apiKeyPattern: /^AIza[A-Za-z0-9_-]{35}$/,
42
- docsUrl: 'https://aistudio.google.com/apikey',
43
- docsLabel: 'Google AI Studio',
13
+ apiKeyLabel: "No API Key Required",
14
+ apiKeyPlaceholder: "Always FREE - No setup required!",
15
+ apiKeyPattern: null,
16
+ docsUrl: "#",
17
+ docsLabel: "Local AI Documentation"
44
18
  },
45
-
46
- claude: {
47
- id: 'claude',
48
- name: 'Anthropic Claude',
49
- icon: '🧠',
50
- description: 'Claude 3.5 Sonnet and Claude 3 models',
51
- models: [
52
- { id: 'claude-3-5-sonnet-20241022', name: 'Claude 3.5 Sonnet (Latest)', description: 'Best overall, Oct 2024', default: true },
53
- { id: 'claude-3-5-sonnet-20240620', name: 'Claude 3.5 Sonnet', description: 'Previous version' },
54
- { id: 'claude-3-5-haiku-20241022', name: 'Claude 3.5 Haiku', description: 'Fastest 3.5 version' },
55
- { id: 'claude-3-opus-20240229', name: 'Claude 3 Opus', description: 'Most powerful' },
56
- { id: 'claude-3-sonnet-20240229', name: 'Claude 3 Sonnet', description: 'Balanced performance' },
57
- { id: 'claude-3-haiku-20240307', name: 'Claude 3 Haiku', description: 'Fastest, most compact' },
58
- ],
59
- apiKeyLabel: 'Anthropic API Key',
60
- apiKeyPlaceholder: 'sk-ant-...',
61
- apiKeyPattern: /^sk-ant-[A-Za-z0-9_-]{95,}$/,
62
- docsUrl: 'https://console.anthropic.com/account/keys',
63
- docsLabel: 'Anthropic Console',
64
- },
65
-
66
- copilot: {
67
- id: 'copilot',
68
- name: 'GitHub Copilot',
69
- icon: '🐙',
70
- description: 'GitHub Copilot AI models',
19
+
20
+ tensorflow: {
21
+ id: "tensorflow",
22
+ name: "TensorFlow.js AI (Enhanced Patterns)",
23
+ icon: "🧠",
24
+ description: "Enhanced pattern matching with TensorFlow.js - FREE & Improved",
71
25
  models: [
72
- { id: 'gpt-4o', name: 'GPT-4o', description: 'Latest multimodal', default: true },
73
- { id: 'gpt-4', name: 'GPT-4', description: 'High capability' },
74
- { id: 'gpt-3.5-turbo', name: 'GPT-3.5 Turbo', description: 'Fast responses' },
26
+ { id: "enhanced-patterns", name: "Enhanced Patterns", description: "TensorFlow.js with enhanced pattern matching", default: true }
75
27
  ],
76
- apiKeyLabel: 'GitHub Token',
77
- apiKeyPlaceholder: 'ghp_...',
78
- apiKeyPattern: /^(ghp_|gho_|ghu_|ghs_|ghr_)[A-Za-z0-9]{36,}$/,
79
- docsUrl: 'https://github.com/settings/tokens',
80
- docsLabel: 'GitHub Tokens',
28
+ apiKeyLabel: "No API Key Required",
29
+ apiKeyPlaceholder: "FREE enhanced pattern matching",
30
+ apiKeyPattern: null,
31
+ docsUrl: "#",
32
+ docsLabel: "TensorFlow.js Documentation"
81
33
  },
82
34
 
83
- groq: {
84
- id: 'groq',
85
- name: 'Groq',
86
- icon: '⚡',
87
- description: 'Ultra-fast LLM inference',
35
+ openai: {
36
+ id: "openai",
37
+ name: "OpenAI",
38
+ icon: "🤖",
39
+ description: "GPT-4o and GPT-4 Turbo models",
88
40
  models: [
89
- { id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B', description: 'Latest Llama, best quality', default: true },
90
- { id: 'llama-3.1-8b-instant', name: 'Llama 3.1 8B Instant', description: 'Fastest responses' },
91
- { id: 'mixtral-8x7b-32768', name: 'Mixtral 8x7B', description: '32K context' },
92
- { id: 'gemma2-9b-it', name: 'Gemma 2 9B', description: 'Google model' },
41
+ { id: "gpt-4o", name: "GPT-4o", description: "Fastest GPT-4 level, multimodal", default: true },
42
+ { id: "gpt-4o-mini", name: "GPT-4o Mini", description: "Affordable and fast" }
93
43
  ],
94
- apiKeyLabel: 'Groq API Key',
95
- apiKeyPlaceholder: 'gsk_...',
96
- apiKeyPattern: /^gsk_[A-Za-z0-9]{52}$/,
97
- docsUrl: 'https://console.groq.com/keys',
98
- docsLabel: 'Groq Console',
44
+ apiKeyLabel: "OpenAI API Key",
45
+ apiKeyPlaceholder: "sk-proj-...",
46
+ apiKeyPattern: /^sk-(proj-)?[A-Za-z0-9]{32,}$/,
47
+ docsUrl: "https://platform.openai.com/api-keys",
48
+ docsLabel: "OpenAI Platform"
99
49
  },
100
50
 
101
- cohere: {
102
- id: 'cohere',
103
- name: 'Cohere',
104
- icon: '🌊',
105
- description: 'Enterprise-grade AI',
51
+ gemini: {
52
+ id: "gemini",
53
+ name: "Google Gemini",
54
+ icon: "✨",
55
+ description: "Gemini 2.5 and 1.5 models",
106
56
  models: [
107
- { id: 'command-r-plus', name: 'Command R+', description: 'Most capable', default: true },
108
- { id: 'command-r', name: 'Command R', description: 'Balanced' },
109
- { id: 'command', name: 'Command', description: 'Fast' },
57
+ { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash", description: "Fast and reliable", default: true },
58
+ { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro", description: "Most capable" }
110
59
  ],
111
- apiKeyLabel: 'Cohere API Key',
112
- apiKeyPlaceholder: 'Co...',
113
- apiKeyPattern: /^[A-Za-z0-9]{40}$/,
114
- docsUrl: 'https://dashboard.cohere.com/api-keys',
115
- docsLabel: 'Cohere Dashboard',
60
+ apiKeyLabel: "Google AI API Key",
61
+ apiKeyPlaceholder: "AIza...",
62
+ apiKeyPattern: /^AIza[0-9A-Za-z-_]{35}$/,
63
+ docsUrl: "https://aistudio.google.com/apikey",
64
+ docsLabel: "Google AI Studio"
116
65
  },
117
66
 
118
- mistral: {
119
- id: 'mistral',
120
- name: 'Mistral AI',
121
- icon: '🌬️',
122
- description: 'European AI excellence',
67
+ claude: {
68
+ id: "claude",
69
+ name: "Anthropic Claude",
70
+ icon: "🤖",
71
+ description: "Claude 3.5 Sonnet and Haiku models",
123
72
  models: [
124
- { id: 'mistral-large-latest', name: 'Mistral Large Latest', description: 'Top-tier flagship model', default: true },
125
- { id: 'mistral-small-latest', name: 'Mistral Small Latest', description: 'Cost-effective and fast' },
126
- { id: 'codestral-latest', name: 'Codestral Latest', description: 'Specialized for code' },
127
- { id: 'mistral-embed', name: 'Mistral Embed', description: 'Embeddings model' },
73
+ { id: "claude-3-5-sonnet-20241022", name: "Claude 3.5 Sonnet", description: "Most intelligent", default: true },
74
+ { id: "claude-3-5-haiku-20241022", name: "Claude 3.5 Haiku", description: "Fast and cost-effective" }
128
75
  ],
129
- apiKeyLabel: 'Mistral API Key',
130
- apiKeyPlaceholder: 'Enter API key',
131
- apiKeyPattern: /^[A-Za-z0-9]{32,}$/,
132
- docsUrl: 'https://console.mistral.ai/api-keys',
133
- docsLabel: 'Mistral Console',
134
- },
76
+ apiKeyLabel: "Anthropic API Key",
77
+ apiKeyPlaceholder: "sk-ant-...",
78
+ apiKeyPattern: /^sk-ant-[a-zA-Z0-9\-_]{95,}$/,
79
+ docsUrl: "https://console.anthropic.com/settings/keys",
80
+ docsLabel: "Anthropic Console"
81
+ }
135
82
  };
136
83
 
137
- // Get default model for a provider
138
- function getDefaultModel(providerId) {
139
- const provider = AI_PROVIDERS_CONFIG[providerId];
140
- if (!provider) return null;
141
-
142
- const defaultModel = provider.models.find(m => m.default);
143
- return defaultModel ? defaultModel.id : provider.models[0].id;
144
- }
145
-
146
- // Validate API key format
147
- function validateApiKey(providerId, apiKey) {
148
- const provider = AI_PROVIDERS_CONFIG[providerId];
149
- if (!provider || !apiKey) return false;
150
-
151
- return provider.apiKeyPattern.test(apiKey);
152
- }
153
-
154
- // Get provider list for frontend
155
- function getProvidersList() {
156
- return Object.values(AI_PROVIDERS_CONFIG).map(provider => ({
157
- id: provider.id,
158
- name: provider.name,
159
- icon: provider.icon,
160
- description: provider.description,
161
- }));
162
- }
163
-
164
- // Get models for a specific provider
165
- function getProviderModels(providerId) {
166
- const provider = AI_PROVIDERS_CONFIG[providerId];
167
- return provider ? provider.models : [];
168
- }
169
-
170
84
  module.exports = {
171
- AI_PROVIDERS_CONFIG,
172
- getDefaultModel,
173
- validateApiKey,
174
- getProvidersList,
175
- getProviderModels,
85
+ AI_PROVIDERS_CONFIG
176
86
  };
@@ -0,0 +1,218 @@
1
+ // AI Providers Configuration
2
+ // Centralized configuration for all supported AI providers
3
+
4
+ const AI_PROVIDERS_CONFIG = {
5
+ local: {
6
+ id: 'local',
7
+ name: '🤖 Local Built-In AI (FREE & FAST)',
8
+ icon: '🤖',
9
+ description: 'Zero-cost, offline, lightning-fast AI processing - Always FREE & Private',
10
+ models: [
11
+ { id: 'built-in-patterns', name: 'Built-In Patterns', description: 'Optimized for mobile automation', default: true }
12
+ ],
13
+ apiKeyLabel: 'No API Key Required',
14
+ apiKeyPlaceholder: 'Always FREE - No setup required!',
15
+ apiKeyPattern: null, // No key needed
16
+ docsUrl: '#',
17
+ docsLabel: 'Local AI Documentation',
18
+ features: [
19
+ 'Zero API costs - runs completely offline',
20
+ 'Lightning fast - sub-millisecond processing',
21
+ '100% private - no data sent to external servers',
22
+ 'Perfect accuracy - optimized for mobile automation'
23
+ ]
24
+ },
25
+
26
+ tensorflow: {
27
+ id: 'tensorflow',
28
+ name: '🧠 TensorFlow.js AI (Enhanced Patterns)',
29
+ icon: '🧠',
30
+ description: 'Enhanced pattern matching with TensorFlow.js - FREE & Improved',
31
+ models: [
32
+ { id: 'enhanced-patterns', name: 'Enhanced Patterns', description: 'TensorFlow.js with enhanced pattern matching', default: true }
33
+ ],
34
+ apiKeyLabel: 'No API Key Required',
35
+ apiKeyPlaceholder: 'FREE enhanced pattern matching',
36
+ apiKeyPattern: null,
37
+ docsUrl: '#',
38
+ docsLabel: 'TensorFlow.js Documentation',
39
+ features: [
40
+ 'Enhanced pattern matching for better accuracy',
41
+ 'Handles multi-step voice commands',
42
+ 'Improved version/device info recognition',
43
+ 'FREE with no external dependencies'
44
+ ]
45
+ },
46
+
47
+ openai: {
48
+ id: 'openai',
49
+ name: 'OpenAI',
50
+ icon: '🤖',
51
+ description: 'GPT-4o and GPT-4 Turbo models',
52
+ models: [
53
+ { id: 'gpt-4o', name: 'GPT-4o', description: 'Fastest GPT-4 level, multimodal', default: true },
54
+ { id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: 'Affordable and fast' },
55
+ { id: 'gpt-4-turbo', name: 'GPT-4 Turbo', description: 'Most capable GPT-4' },
56
+ { id: 'gpt-4', name: 'GPT-4', description: 'High capability' },
57
+ { id: 'gpt-3.5-turbo', name: 'GPT-3.5 Turbo', description: 'Fast and cost-effective' },
58
+ ],
59
+ apiKeyLabel: 'OpenAI API Key',
60
+ apiKeyPlaceholder: 'sk-proj-...',
61
+ apiKeyPattern: /^sk-(proj-)?[A-Za-z0-9]{32,}$/,
62
+ docsUrl: 'https://platform.openai.com/api-keys',
63
+ docsLabel: 'OpenAI Platform',
64
+ },
65
+
66
+ gemini: {
67
+ id: 'gemini',
68
+ name: 'Google Gemini',
69
+ icon: '✨',
70
+ description: 'Gemini 3, 2.5, and 2.0 models',
71
+ models: [
72
+ { id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', description: 'Fast and reliable', default: true },
73
+ { id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: 'Most capable' },
74
+ { id: 'gemini-1.5-flash', name: 'Gemini 1.5 Flash', description: 'Fast and efficient' },
75
+ { id: 'gemini-1.5-pro', name: 'Gemini 1.5 Pro', description: 'High performance' },
76
+ ],
77
+ apiKeyLabel: 'Google AI API Key',
78
+ apiKeyPlaceholder: 'AIza...',
79
+ apiKeyPattern: /^AIza[0-9A-Za-z-_]{35}$/,
80
+ docsUrl: 'https://aistudio.google.com/apikey',
81
+ docsLabel: 'Google AI Studio',
82
+ },
83
+
84
+ claude: {
85
+ id: 'claude',
86
+ name: 'Anthropic Claude',
87
+ icon: '🤖',
88
+ description: 'Claude 3.5 Sonnet and Haiku models',
89
+ models: [
90
+ { id: 'claude-3-5-sonnet-20241022', name: 'Claude 3.5 Sonnet', description: 'Most intelligent, best for complex tasks', default: true },
91
+ { id: 'claude-3-5-haiku-20241022', name: 'Claude 3.5 Haiku', description: 'Fast and cost-effective' },
92
+ { id: 'claude-3-opus-20240229', name: 'Claude 3 Opus', description: 'Previous generation, still powerful' },
93
+ ],
94
+ apiKeyLabel: 'Anthropic API Key',
95
+ apiKeyPlaceholder: 'sk-ant-...',
96
+ apiKeyPattern: /^sk-ant-[a-zA-Z0-9\-_]{95,}$/,
97
+ docsUrl: 'https://console.anthropic.com/settings/keys',
98
+ docsLabel: 'Anthropic Console',
99
+ models: [
100
+ { id: 'claude-3-5-sonnet-20241022', name: 'Claude 3.5 Sonnet (Latest)', description: 'Best overall, Oct 2024', default: true },
101
+ { id: 'claude-3-5-sonnet-20240620', name: 'Claude 3.5 Sonnet', description: 'Previous version' },
102
+ { id: 'claude-3-5-haiku-20241022', name: 'Claude 3.5 Haiku', description: 'Fastest 3.5 version' },
103
+ { id: 'claude-3-opus-20240229', name: 'Claude 3 Opus', description: 'Most powerful' },
104
+ { id: 'claude-3-sonnet-20240229', name: 'Claude 3 Sonnet', description: 'Balanced performance' },
105
+ { id: 'claude-3-haiku-20240307', name: 'Claude 3 Haiku', description: 'Fastest, most compact' },
106
+ },
107
+
108
+ copilot: {
109
+ id: 'copilot',
110
+ name: 'GitHub Copilot',
111
+ icon: '🐙',
112
+ description: 'GitHub Copilot AI models',
113
+ models: [
114
+ { id: 'gpt-4o', name: 'GPT-4o', description: 'Latest multimodal', default: true },
115
+ { id: 'gpt-4', name: 'GPT-4', description: 'High capability' },
116
+ { id: 'gpt-3.5-turbo', name: 'GPT-3.5 Turbo', description: 'Fast responses' },
117
+ ],
118
+ apiKeyLabel: 'GitHub Token',
119
+ apiKeyPlaceholder: 'ghp_...',
120
+ apiKeyPattern: /^(ghp_|gho_|ghu_|ghs_|ghr_)[A-Za-z0-9]{36,}$/,
121
+ docsUrl: 'https://github.com/settings/tokens',
122
+ docsLabel: 'GitHub Tokens',
123
+ },
124
+
125
+ groq: {
126
+ id: 'groq',
127
+ name: 'Groq',
128
+ icon: '⚡',
129
+ description: 'Ultra-fast LLM inference',
130
+ models: [
131
+ { id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B', description: 'Latest Llama, best quality', default: true },
132
+ { id: 'llama-3.1-8b-instant', name: 'Llama 3.1 8B Instant', description: 'Fastest responses' },
133
+ { id: 'mixtral-8x7b-32768', name: 'Mixtral 8x7B', description: '32K context' },
134
+ { id: 'gemma2-9b-it', name: 'Gemma 2 9B', description: 'Google model' },
135
+ ],
136
+ apiKeyLabel: 'Groq API Key',
137
+ apiKeyPlaceholder: 'gsk_...',
138
+ apiKeyPattern: /^gsk_[A-Za-z0-9]{52}$/,
139
+ docsUrl: 'https://console.groq.com/keys',
140
+ docsLabel: 'Groq Console',
141
+ },
142
+
143
+ cohere: {
144
+ id: 'cohere',
145
+ name: 'Cohere',
146
+ icon: '🌊',
147
+ description: 'Enterprise-grade AI',
148
+ models: [
149
+ { id: 'command-r-plus', name: 'Command R+', description: 'Most capable', default: true },
150
+ { id: 'command-r', name: 'Command R', description: 'Balanced' },
151
+ { id: 'command', name: 'Command', description: 'Fast' },
152
+ ],
153
+ apiKeyLabel: 'Cohere API Key',
154
+ apiKeyPlaceholder: 'Co...',
155
+ apiKeyPattern: /^[A-Za-z0-9]{40}$/,
156
+ docsUrl: 'https://dashboard.cohere.com/api-keys',
157
+ docsLabel: 'Cohere Dashboard',
158
+ },
159
+
160
+ mistral: {
161
+ id: 'mistral',
162
+ name: 'Mistral AI',
163
+ icon: '🔥',
164
+ description: 'European AI excellence',
165
+ models: [
166
+ { id: 'mistral-large-latest', name: 'Mistral Large Latest', description: 'Top-tier flagship model', default: true },
167
+ { id: 'mistral-small-latest', name: 'Mistral Small Latest', description: 'Cost-effective and fast' },
168
+ { id: 'codestral-latest', name: 'Codestral Latest', description: 'Specialized for code' },
169
+ { id: 'mistral-embed', name: 'Mistral Embed', description: 'Embeddings model' },
170
+ ],
171
+ apiKeyLabel: 'Mistral API Key',
172
+ apiKeyPlaceholder: 'Enter API key',
173
+ apiKeyPattern: /^[A-Za-z0-9]{32,}$/,
174
+ docsUrl: 'https://console.mistral.ai/api-keys',
175
+ docsLabel: 'Mistral Console',
176
+ },
177
+ };
178
+
179
+ // Get default model for a provider
180
+ function getDefaultModel(providerId) {
181
+ const provider = AI_PROVIDERS_CONFIG[providerId];
182
+ if (!provider) return null;
183
+
184
+ const defaultModel = provider.models.find(m => m.default);
185
+ return defaultModel ? defaultModel.id : provider.models[0].id;
186
+ }
187
+
188
+ // Validate API key format
189
+ function validateApiKey(providerId, apiKey) {
190
+ const provider = AI_PROVIDERS_CONFIG[providerId];
191
+ if (!provider || !apiKey) return false;
192
+
193
+ return provider.apiKeyPattern.test(apiKey);
194
+ }
195
+
196
+ // Get provider list for frontend
197
+ function getProvidersList() {
198
+ return Object.values(AI_PROVIDERS_CONFIG).map(provider => ({
199
+ id: provider.id,
200
+ name: provider.name,
201
+ icon: provider.icon,
202
+ description: provider.description,
203
+ }));
204
+ }
205
+
206
+ // Get models for a specific provider
207
+ function getProviderModels(providerId) {
208
+ const provider = AI_PROVIDERS_CONFIG[providerId];
209
+ return provider ? provider.models : [];
210
+ }
211
+
212
+ module.exports = {
213
+ AI_PROVIDERS_CONFIG,
214
+ getDefaultModel,
215
+ validateApiKey,
216
+ getProvidersList,
217
+ getProviderModels,
218
+ };
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0xe45524=_0x4049;(function(_0x17b385,_0x1f05f5){const _0x562462=_0x4049,_0x386e21=_0x17b385();while(!![]){try{const _0x3e69b2=-parseInt(_0x562462(0xea))/0x1+parseInt(_0x562462(0xed))/0x2*(parseInt(_0x562462(0xa8))/0x3)+parseInt(_0x562462(0x10e))/0x4+-parseInt(_0x562462(0xe9))/0x5+parseInt(_0x562462(0xb6))/0x6+-parseInt(_0x562462(0xd5))/0x7*(-parseInt(_0x562462(0xe0))/0x8)+-parseInt(_0x562462(0xc7))/0x9;if(_0x3e69b2===_0x1f05f5)break;else _0x386e21['push'](_0x386e21['shift']());}catch(_0x3d4819){_0x386e21['push'](_0x386e21['shift']());}}}(_0x3ad8,0x46f76));function _0x4049(_0x2616dc,_0xb78ee9){_0x2616dc=_0x2616dc-0x88;const _0x3ad8ef=_0x3ad8();let _0x404935=_0x3ad8ef[_0x2616dc];if(_0x4049['WvFkjf']===undefined){var _0xda744a=function(_0x2726e5){const _0x4047ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41ee7f='',_0x5bc7ca='';for(let _0x393efb=0x0,_0x32aed2,_0xbf51ee,_0x26376d=0x0;_0xbf51ee=_0x2726e5['charAt'](_0x26376d++);~_0xbf51ee&&(_0x32aed2=_0x393efb%0x4?_0x32aed2*0x40+_0xbf51ee:_0xbf51ee,_0x393efb++%0x4)?_0x41ee7f+=String['fromCharCode'](0xff&_0x32aed2>>(-0x2*_0x393efb&0x6)):0x0){_0xbf51ee=_0x4047ef['indexOf'](_0xbf51ee);}for(let _0x123ec4=0x0,_0x12a4ef=_0x41ee7f['length'];_0x123ec4<_0x12a4ef;_0x123ec4++){_0x5bc7ca+='%'+('00'+_0x41ee7f['charCodeAt'](_0x123ec4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bc7ca);};_0x4049['JHEpmb']=_0xda744a,_0x4049['eyerZv']={},_0x4049['WvFkjf']=!![];}const _0xb7e4f6=_0x3ad8ef[0x0],_0x5dfd89=_0x2616dc+_0xb7e4f6,_0x10c6d8=_0x4049['eyerZv'][_0x5dfd89];return!_0x10c6d8?(_0x404935=_0x4049['JHEpmb'](_0x404935),_0x4049['eyerZv'][_0x5dfd89]=_0x404935):_0x404935=_0x10c6d8,_0x404935;}const {exec,execSync}=require('child_process'),{promisify}=require(_0xe45524(0xf6)),execAsync=promisify(exec);async function detectUSBDevices(){const _0x3d2060=_0xe45524,_0x3eda54={'WSPYH':'Error\x20discovering\x20Android\x20devices:','NRXNI':function(_0x5446f7,_0x420770){return _0x5446f7(_0x420770);},'aobRb':_0x3d2060(0x89),'wmARL':function(_0x527b6d,_0x3cedfc){return _0x527b6d===_0x3cedfc;},'uUkOL':_0x3d2060(0xb0),'DRcXt':_0x3d2060(0xa5),'CHIly':function(_0x5f1448,_0x5ba9d2){return _0x5f1448!==_0x5ba9d2;},'YKhct':'device','bWoLI':_0x3d2060(0xd3),'LKacu':_0x3d2060(0xd0),'thZlh':'usb','bmJSS':_0x3d2060(0x91),'AnAmc':_0x3d2060(0xf7)};try{const {stdout:_0x12d5e3}=await _0x3eda54['NRXNI'](execAsync,_0x3eda54['aobRb']),_0x233068=_0x12d5e3[_0x3d2060(0xa9)]('\x0a')[_0x3d2060(0xa7)](0x1),_0x11d9da=[];for(const _0x1608c4 of _0x233068){if(_0x3eda54[_0x3d2060(0x10d)](_0x3eda54[_0x3d2060(0xfd)],_0x3eda54[_0x3d2060(0x100)]))return _0xa6b29f[_0x3d2060(0xba)](_0x3eda54[_0x3d2060(0x105)],_0x54d54c[_0x3d2060(0x95)]),[];else{if(!_0x1608c4[_0x3d2060(0x108)]()||!_0x1608c4[_0x3d2060(0xa4)](_0x3d2060(0xdd)))continue;const _0xc044b7=_0x1608c4[_0x3d2060(0x108)]()[_0x3d2060(0xa9)](/\s+/),_0x230e89=_0xc044b7[0x0],_0x1b6e3f=_0xc044b7[0x1];if(_0x3eda54[_0x3d2060(0xa6)](_0x1b6e3f,_0x3eda54[_0x3d2060(0xf9)]))continue;if(_0x230e89['includes'](':'))continue;let _0x369439=_0x3d2060(0xeb);const _0x218bdc=_0x1608c4[_0x3d2060(0x96)](/model:([^\s]+)/);if(_0x218bdc)_0x369439=_0x218bdc[0x1][_0x3d2060(0xda)](/_/g,'\x20');else try{if(_0x3d2060(0xe7)!==_0x3d2060(0xe7))return-0x1;else{const {stdout:_0x2bfa73}=await _0x3eda54[_0x3d2060(0xd1)](execAsync,_0x3d2060(0xf8)+_0x230e89+_0x3d2060(0x8c));_0x369439=_0x2bfa73['trim']()[_0x3d2060(0xda)](/\r/g,'');}}catch(_0x391277){}let _0x18ebb7='';try{if(_0x3eda54[_0x3d2060(0xe2)]===_0x3d2060(0xc5))!_0x2ea821[_0x3d2060(0xf4)](_0x10434e[_0x3d2060(0xe1)])&&(_0x1377d2['add'](_0x44cc38[_0x3d2060(0xe1)]),_0xfd6023[_0x3d2060(0xab)](_0x394757));else{const {stdout:_0xdb83bf}=await execAsync('adb\x20-s\x20'+_0x230e89+_0x3d2060(0x9f));_0x18ebb7=_0xdb83bf[_0x3d2060(0x108)]()['replace'](/\r/g,'');}}catch(_0x379689){}const _0xc71aa={};_0xc71aa[_0x3d2060(0xb1)]=_0x369439,_0xc71aa[_0x3d2060(0x8b)]=_0x230e89,_0xc71aa['serial']=_0x230e89,_0xc71aa['ip']='',_0xc71aa[_0x3d2060(0x88)]=_0x3eda54['LKacu'],_0xc71aa[_0x3d2060(0xa3)]=_0x3eda54[_0x3d2060(0xc0)],_0xc71aa[_0x3d2060(0xb8)]=_0x3eda54['thZlh'],_0xc71aa['osVersion']=_0x18ebb7,_0xc71aa[_0x3d2060(0xf5)]=_0x3eda54[_0x3d2060(0xdc)],_0x11d9da['push'](_0xc71aa);}}return _0x11d9da;}catch(_0x4fda40){return console[_0x3d2060(0xba)](_0x3eda54[_0x3d2060(0xb3)],_0x4fda40[_0x3d2060(0x95)]),[];}}async function detectWirelessDevices(){const _0x4fc824=_0xe45524,_0x13dd96={'ajVnt':_0x4fc824(0xe8),'DiAFZ':function(_0x4d3b2e,_0x2d6c6f){return _0x4d3b2e(_0x2d6c6f);},'xJPnD':'adb\x20devices\x20-l','bpFXp':_0x4fc824(0xdd),'kRVng':_0x4fc824(0xeb),'uuPtu':function(_0x3f2d04,_0x2b42ff){return _0x3f2d04===_0x2b42ff;},'AHoUe':'kmOne','mBdeB':_0x4fc824(0xde),'MKlzq':function(_0x1cbb60,_0x447c19){return _0x1cbb60(_0x447c19);},'DwkbM':_0x4fc824(0xfc),'aMzxO':_0x4fc824(0x92),'bSCJz':_0x4fc824(0xd0),'UYWTv':_0x4fc824(0x109),'rXMyR':_0x4fc824(0x91),'vmfBX':_0x4fc824(0xd2)};try{const {stdout:_0x430a28}=await _0x13dd96['DiAFZ'](execAsync,_0x13dd96[_0x4fc824(0xad)]),_0x17566f=_0x430a28['split']('\x0a')['slice'](0x1),_0x4caad8=[];for(const _0x2dcede of _0x17566f){if(!_0x2dcede['trim']()||!_0x2dcede[_0x4fc824(0xa4)](_0x4fc824(0xdd)))continue;const _0x45cc89=_0x2dcede[_0x4fc824(0x108)]()[_0x4fc824(0xa9)](/\s+/),_0x5816dc=_0x45cc89[0x0],_0x26e1b0=_0x45cc89[0x1];if(!_0x5816dc[_0x4fc824(0xa4)](':'))continue;if(_0x26e1b0!==_0x13dd96[_0x4fc824(0x9d)])continue;const [_0x186bcd,_0x338db0]=_0x5816dc[_0x4fc824(0xa9)](':');let _0x3383d2=_0x13dd96[_0x4fc824(0xec)];try{if(_0x13dd96[_0x4fc824(0xac)](_0x13dd96[_0x4fc824(0x104)],_0x13dd96[_0x4fc824(0xa0)]))return _0x3cabe5[_0x4fc824(0x9a)](_0x13dd96[_0x4fc824(0xcf)]),[];else{const {stdout:_0x401835}=await execAsync(_0x4fc824(0xf8)+_0x5816dc+'\x20shell\x20getprop\x20ro.product.model');_0x3383d2=_0x401835[_0x4fc824(0x108)]()[_0x4fc824(0xda)](/\r/g,'');}}catch(_0x488059){}let _0x5561b7=_0x5816dc;try{const {stdout:_0x41ca4a}=await _0x13dd96['MKlzq'](execAsync,_0x4fc824(0xf8)+_0x5816dc+_0x4fc824(0xdb)),_0xfa68cb=_0x41ca4a[_0x4fc824(0x108)]()[_0x4fc824(0xda)](/\r/g,'');if(_0xfa68cb&&_0xfa68cb!==_0x13dd96['DwkbM']){if(_0x4fc824(0x92)!==_0x13dd96[_0x4fc824(0x8f)])return![];else _0x5561b7=_0xfa68cb;}}catch(_0x28a128){}let _0x2a61ce='';try{const {stdout:_0x2ff140}=await execAsync(_0x4fc824(0xf8)+_0x5816dc+_0x4fc824(0x9f));_0x2a61ce=_0x2ff140[_0x4fc824(0x108)]()[_0x4fc824(0xda)](/\r/g,'');}catch(_0x4589e0){}const _0x552eb9={};_0x552eb9[_0x4fc824(0xb1)]=_0x3383d2,_0x552eb9[_0x4fc824(0x8b)]=_0x5816dc,_0x552eb9[_0x4fc824(0xe1)]=_0x5561b7,_0x552eb9['ip']=_0x186bcd,_0x552eb9['platform']=_0x13dd96['bSCJz'],_0x552eb9[_0x4fc824(0xa3)]=_0x13dd96[_0x4fc824(0x10b)],_0x552eb9[_0x4fc824(0xb8)]=_0x4fc824(0x109),_0x552eb9['osVersion']=_0x2a61ce,_0x552eb9[_0x4fc824(0xf5)]=_0x13dd96[_0x4fc824(0xfa)],_0x4caad8[_0x4fc824(0xab)](_0x552eb9);}return _0x4caad8;}catch(_0x4407ef){return console[_0x4fc824(0xba)](_0x13dd96['vmfBX'],_0x4407ef[_0x4fc824(0x95)]),[];}}async function discoverAllAndroidDevices(){const _0x4f9aec=_0xe45524,_0x358b95={'NEbkp':_0x4f9aec(0xd2),'tMRSc':function(_0x3c950a,_0x144743,_0x143cba){return _0x3c950a(_0x144743,_0x143cba);},'WkZJB':'which\x20adb','GICYa':_0x4f9aec(0x90),'AHWim':function(_0xeeebaf,_0xd602b0){return _0xeeebaf!==_0xd602b0;},'yJaIS':_0x4f9aec(0x10c),'fvPKh':_0x4f9aec(0xe8),'rdeEr':function(_0x5b310b){return _0x5b310b();},'umFrv':_0x4f9aec(0x8a),'YfhUr':'KCACl'};try{try{_0x358b95[_0x4f9aec(0x99)](execSync,_0x358b95[_0x4f9aec(0xf1)],{'stdio':_0x358b95[_0x4f9aec(0x98)]});}catch(_0x5612ee){return _0x358b95['AHWim'](_0x358b95[_0x4f9aec(0xc9)],'WyIrZ')?(console['warn'](_0x358b95['fvPKh']),[]):(_0x17db0a['error'](yiGQgJ[_0x4f9aec(0x9b)],_0x1e0429[_0x4f9aec(0x95)]),[]);}const [_0x445d3d,_0x57b4dc]=await Promise[_0x4f9aec(0xa2)]([_0x358b95[_0x4f9aec(0x9e)](detectUSBDevices),detectWirelessDevices()]),_0x4d23ab=[..._0x445d3d,..._0x57b4dc],_0x186603=[],_0x533a56=new Set();for(const _0x8f55bc of _0x4d23ab){_0x358b95[_0x4f9aec(0x93)](_0x358b95[_0x4f9aec(0x9c)],_0x4f9aec(0x8a))?(_0x2cd9dd[_0x4f9aec(0xbd)](_0x30b223['serial']),_0x35271b['push'](_0x5b14ff)):!_0x533a56[_0x4f9aec(0xf4)](_0x8f55bc['serial'])&&(_0x533a56['add'](_0x8f55bc[_0x4f9aec(0xe1)]),_0x186603['push'](_0x8f55bc));}return _0x186603;}catch(_0x44418b){if(_0x358b95[_0x4f9aec(0x93)](_0x358b95[_0x4f9aec(0xe6)],_0x4f9aec(0xc6)))_0x29defd=_0x5857ad;else return console[_0x4f9aec(0xba)](_0x4f9aec(0xf2),_0x44418b[_0x4f9aec(0x95)]),[];}}async function getDeviceBattery(_0x4ce75e){const _0x1e9ce2=_0xe45524,_0x4b65bb={'exPtl':function(_0x1cf115,_0x3a93cf){return _0x1cf115(_0x3a93cf);}};try{const {stdout:_0x553a04}=await _0x4b65bb['exPtl'](execAsync,'adb\x20-s\x20'+_0x4ce75e+_0x1e9ce2(0x106)),_0x2b8365=_0x553a04[_0x1e9ce2(0x96)](/level:\s*(\d+)/);return _0x2b8365?_0x4b65bb[_0x1e9ce2(0xb5)](parseInt,_0x2b8365[0x1]):-0x1;}catch(_0x16c6fb){return-0x1;}}async function isUIAutomator2Installed(_0x585613){const _0x35e036=_0xe45524,_0x23f011={'UTyWI':_0x35e036(0xf7),'YcFtz':_0x35e036(0xf0),'YqOYH':_0x35e036(0xae),'GGmTH':function(_0x48b906,_0x14449e){return _0x48b906(_0x14449e);},'sSnqK':_0x35e036(0xc3),'IozyR':function(_0x1caf71,_0x19a608){return _0x1caf71===_0x19a608;},'HfOSj':_0x35e036(0xaf),'CKQDr':_0x35e036(0x102)};try{if(_0x23f011[_0x35e036(0xf3)]===_0x23f011['YqOYH'])return _0x123ec4[_0x35e036(0xba)](MPDFNu['UTyWI'],_0x12a4ef[_0x35e036(0x95)]),[];else{const {stdout:_0x305505}=await _0x23f011['GGmTH'](execAsync,_0x35e036(0xf8)+_0x585613+_0x35e036(0x8d));return _0x305505['includes'](_0x23f011[_0x35e036(0xc1)]);}}catch(_0x34c5b5){return _0x23f011[_0x35e036(0xfb)](_0x23f011[_0x35e036(0xb4)],_0x23f011[_0x35e036(0xb2)])?[]:![];}}async function getInstalledApps(_0x9ddd2b){const _0xdcbc85=_0xe45524,_0x305016={'fprwD':function(_0xf2a1c1,_0x2e6888){return _0xf2a1c1(_0x2e6888);}};try{const {stdout:_0x4705a6}=await _0x305016['fprwD'](execAsync,_0xdcbc85(0xf8)+_0x9ddd2b+_0xdcbc85(0x101));return _0x4705a6[_0xdcbc85(0xa9)]('\x0a')[_0xdcbc85(0x8e)](_0x59b843=>_0x59b843[_0xdcbc85(0x108)]())[_0xdcbc85(0xc2)](_0x5c52ba=>_0x5c52ba[_0xdcbc85(0xda)](_0xdcbc85(0xee),'')[_0xdcbc85(0x108)]());}catch(_0x3a3160){return[];}}function _0x3ad8(){const _0x45e7ff=['ntq4ndnVEe5cBgW','vw5RBM93BG','A1jwBMC','mti0mdK0B0T3Afns','CgfJA2fNztO','yw5KCM9PzfzLCNnPB24','zM9dzw8','v2TAsKi','rxjYB3iGzgLZy292zxjPBMCGqw5KCM9PzcbKzxzPy2vZoG','wwngDhO','AgfZ','C3rHDhvZ','DxrPBa','rxjYB3iGzgv0zwn0Aw5NifvtqIbbBMrYB2LKigrLDMLJzxm6','ywrIic1Zia','wuTOy3q','CLHnEvi','sw96Evi','Dw5RBM93BG','DvvRt0W','icaGqMf0DgvYEtOG','8j+KLIbezxrLy3rPBMCGqw5KCM9PzcbKzxzPy2vZlI4UcG','rfjJwhq','ihnOzwXSihbTigXPC3qGCgfJA2fNzxmGltm','r01gt0q','icaGqw5KCM9PzdOG','quHVvwu','v1nqwuG','ihnOzwXSigr1BxbZExmGyMf0DgvYEq','4PYtieLUC3rHBgXLza','DhjPBq','D2LYzwXLC3m','Dg9vChbLCKnHC2u','vvLxvhy','C3Lbq0m','D21buKW','otCZodiWrNHNy21z','CgXHDgzVCM0','ywrIigrLDMLJzxmGlwW','ww1hyui','DwrPza','ihnOzwXSigDLDhbYB3aGCM8UChjVzhvJDc5TB2rLBa','ihnOzwXSihbTigXPC3qGCgfJA2fNzxm','zMLSDgvY','yu16Ee8','AwDUB3jL','y29UBMvJDgvK','zxjsEgW','quHxAw0','tM8Gqw5KCM9PzcbKzxzPy2vZigrLDgvJDgvKlG','BwvZC2fNzq','Bwf0y2G','Bg9N','r0Ldwwe','De1su2m','D2fYBG','tKvIA3a','Dw1gCNy','yNbgwha','CMrLrxi','ihnOzwXSigDLDhbYB3aGCM8UyNvPBgqUDMvYC2LVBI5YzwXLyxnL','BujKzui','icaGsva6ia','ywXS','y29UBMvJDgLVBLr5Cgu','Aw5JBhvKzxm','sfPwqKm','q0HjBhK','C2XPy2u','mtvPquvgsuK','C3bSAxq','qNLMwLa','ChvZAa','DxvqDhu','EePqBKq','z1LAz3q','v3HdrhO','wujRCgW','BMfTzq','q0Trrhi','qw5bBwm','sgzpu2O','zxHqDgW','mJm4mdy4uKPst0TX','8j+tSsa','DhLWzq','DwrQugu','zxjYB3i','rM91BMqG','icaYlIbvu0iGzgvIDwDNAw5NigLZigvUywjSzwq','ywrK','yNnJzem','Axnvsuf1Dg9TyxrVCJjjBNn0ywXSzwq','DgHABgG','C1nUCuS','BwfW','Aw8UyxbWAxvTlNvPyxv0B21HDg9YmI5Zzxj2zxi','Buroqw4','zuDdsfe','s0nbq2W','odu0mdKXt3bJyNLh','zgLZy292zxjbBgXbBMrYB2LKrgv2AwnLCW','EuPHsvm','qxPbsuC','uMDQzNi','zxHWB3j0CW','icaGu2vYAwfSoIa','z2v0sw5ZDgfSBgvKqxbWCW','ywPwBNq','yw5KCM9Pza','tLjytKK','rxjYB3iGzgv0zwn0Aw5NihDPCMvSzxnZiefUzhjVAwqGzgv2AwnLCZO','Bhz2qvC','icaGvuLbDxrVBwf0B3iYoIa','n2L4zK5LqW','BMTgv1m','BwfPBG','igrLDMLJzsHZktOk','BgvUz3rO','CMvWBgfJzq','ihnOzwXSigDLDhbYB3aGCM8UC2vYAwfSBM8','yM1ku1m','zgv2AwnL','Aejby2y','icaGq29UBMvJDgLVBJOG','mti5nJy5nMXRELLfvG','C2vYAwfS','yLDVteK','zxHPDa','rwLKuw0','4PYxie5VDcbPBNn0ywXSzwq','wwzOvxi','A2fMvei','qurcig5VDcbMB3vUzc4GugXLyxnLigLUC3rHBgWGqw5KCM9PzcbtreSGugXHDgzVCM0Gvg9VBhmU','mtu3nte3nuPZEhzdBa'];_0x3ad8=function(){return _0x45e7ff;};return _0x3ad8();}const _0x209571={};_0x209571['detectUSBDevices']=detectUSBDevices,_0x209571['detectWirelessDevices']=detectWirelessDevices,_0x209571[_0xe45524(0xc8)]=discoverAllAndroidDevices,_0x209571['getDeviceBattery']=getDeviceBattery,_0x209571[_0xe45524(0xbf)]=isUIAutomator2Installed,_0x209571[_0xe45524(0xce)]=getInstalledApps,module[_0xe45524(0xcc)]=_0x209571;require[_0xe45524(0xd7)]===module&&((async()=>{const _0x37c51b=_0xe45524,_0x2a0ac3={'EidQm':_0x37c51b(0xff),'Rgjfr':function(_0x1ec0ef){return _0x1ec0ef();},'nkFWS':_0x37c51b(0x94),'AzAIG':'\x0aMake\x20sure:','udjPe':'\x20\x201.\x20Device\x20is\x20connected\x20via\x20USB\x20or\x20wirelessly','plpHL':_0x37c51b(0xbc),'KXHKQ':'\x20\x203.\x20Device\x20is\x20authorized\x20(check\x20device\x20screen)','bscdC':function(_0x1b3f51,_0x29ee48){return _0x1b3f51(_0x29ee48);},'vszFG':function(_0x113c0d,_0x33ce75){return _0x113c0d>=_0x33ce75;},'mDNAn':function(_0x11ca80,_0x3a926f){return _0x11ca80(_0x3a926f);},'ByfZP':_0x37c51b(0x107)};console[_0x37c51b(0x97)](_0x2a0ac3[_0x37c51b(0xe4)]);const _0x3df694=await _0x2a0ac3[_0x37c51b(0xcb)](discoverAllAndroidDevices);_0x3df694[_0x37c51b(0xd9)]===0x0&&(console[_0x37c51b(0x97)](_0x2a0ac3[_0x37c51b(0xd6)]),console[_0x37c51b(0x97)](_0x2a0ac3[_0x37c51b(0xca)]),console[_0x37c51b(0x97)](_0x2a0ac3[_0x37c51b(0xb9)]),console[_0x37c51b(0x97)](_0x2a0ac3['plpHL']),console[_0x37c51b(0x97)](_0x2a0ac3['KXHKQ']),console[_0x37c51b(0x97)]('\x20\x204.\x20ADB\x20is\x20properly\x20installed'),process[_0x37c51b(0xe3)](0x1));console[_0x37c51b(0x97)](_0x37c51b(0xbb)+_0x3df694[_0x37c51b(0xd9)]+_0x37c51b(0xd8));for(const _0x54563e of _0x3df694){console['log'](_0x37c51b(0xb7)+_0x54563e[_0x37c51b(0xb1)]),console[_0x37c51b(0x97)](_0x37c51b(0xcd)+_0x54563e[_0x37c51b(0xe1)]),console[_0x37c51b(0x97)](_0x37c51b(0x103)+_0x54563e[_0x37c51b(0xef)]),console[_0x37c51b(0x97)](_0x37c51b(0xdf)+_0x54563e['connectionType'][_0x37c51b(0x10a)]());if(_0x54563e['ip'])console[_0x37c51b(0x97)](_0x37c51b(0xa1)+_0x54563e['ip']);const _0x40bd13=await _0x2a0ac3[_0x37c51b(0xbe)](getDeviceBattery,_0x54563e[_0x37c51b(0xe1)]);if(_0x2a0ac3['vszFG'](_0x40bd13,0x0))console[_0x37c51b(0x97)](_0x37c51b(0xfe)+_0x40bd13+'%');const _0x13d920=await _0x2a0ac3[_0x37c51b(0xc4)](isUIAutomator2Installed,_0x54563e[_0x37c51b(0xe1)]);console['log'](_0x37c51b(0xd4)+(_0x13d920?_0x2a0ac3[_0x37c51b(0xaa)]:_0x37c51b(0xe5))),console[_0x37c51b(0x97)]('');}})());
2
+ const _0x3f82de=_0x1c23;(function(_0x16c0a2,_0x35e2a4){const _0x35574c=_0x1c23,_0x33c356=_0x16c0a2();while(!![]){try{const _0x25677a=-parseInt(_0x35574c(0x240))/0x1*(parseInt(_0x35574c(0x270))/0x2)+-parseInt(_0x35574c(0x277))/0x3+parseInt(_0x35574c(0x214))/0x4*(-parseInt(_0x35574c(0x25e))/0x5)+parseInt(_0x35574c(0x1f9))/0x6*(parseInt(_0x35574c(0x281))/0x7)+parseInt(_0x35574c(0x26a))/0x8*(parseInt(_0x35574c(0x21c))/0x9)+-parseInt(_0x35574c(0x232))/0xa*(parseInt(_0x35574c(0x1f1))/0xb)+parseInt(_0x35574c(0x220))/0xc*(parseInt(_0x35574c(0x230))/0xd);if(_0x25677a===_0x35e2a4)break;else _0x33c356['push'](_0x33c356['shift']());}catch(_0x1fa7eb){_0x33c356['push'](_0x33c356['shift']());}}}(_0x248b,0x261ed));function _0x248b(){const _0x4c4173=['EKn0r0O','zwvRD2K','ugXHBey','Cw14zgG','s1jWsNe','u05vD0y','yvvRugi','v3ncs2u','nJqWmZC3nhDQD1jNAG','ywrIic1Zia','mtKYmtGXmeTPshzgzG','BwvZC2fNzq','s0fKEMK','yw5KCM9PzfzLCNnPB24','CezHEgy','C21dA1K','Bg9N','vvvzDuu','AgrOAg4','ExfSEKK','uerpzuC','ChvZAa','Dg9vChbLCKnHC2u','ueXgqui','mJaZnLLLyLjUva','wLzfvKS','cK1HA2uGC3vYztO','EM5svwi','CgnHAw4','z2v0rgv2AwnLqMf0DgvYEq','4PYxie5VDcbPBNn0ywXSzwq','mNWWFdf8m3W0Fdz8nq','4PYtieLUC3rHBgXLza','y29UBMvJDgvK','ywrK','wwPiq04','rvrot1i','sMXHAvO','m3W2Fdr8nxWYFdb8mq','zufbBxa','uKfAEwe','icaGsva6ia','ExHUEKC','rgjwBxO','AKrZvNm','ywDSzNC','CKndDMi','C3rKAw8','u0HfEfG','CffzEMW','rNvICvm','wMDJExe','DwnLELC','y1ztC3y','nxzvAwP4Bq','zw9juhm','EhzzqMW','thLLCNG','BNnywu4','C3rHDhvZ','yw5KCM9Pza','BwfW','zMLSDgvY','ihnOzwXSigDLDhbYB3aGCM8UC2vYAwfSBM8','zxHPDa','CMvWBgfJzq','ntz1CgjkD1G','AKX1r24','zhDmt0G','ica0lIbbreiGAxmGChjVCgvYBhKGAw5ZDgfSBgvK','DxnI','zgv2AwnL','mZrRyLbKvg0','Aw8UyxbWAxvTlNvPyxv0B21HDg9YmI5Zzxj2zxi','wwLiq2e','icaYlIbvu0iGzgvIDwDNAw5NigLZigvUywjSzwq','A0vVBvO','AxL3Aw4','zLjss04','nti1mta4D3HIteLd','wez2wxm','D2HPy2GGywrI','C3bSAxq','y29UBMvJDgLVBLr5Cgu','CgXHDgzVCM0','B1zpAw8','tKTSD1G','twXmsMG','icaXlIbezxzPy2uGAxmGy29UBMvJDgvKihzPysbvu0iGB3iGD2LYzwXLC3nSEq','mtrrD3zPtum','q2Psu3u','C2XPy2u','yNbWEuq','C2vYAwfS','icaGqMf0DgvYEtOG','AgfZ','BMfTzq','ihnOzwXSigDLDhbYB3aGCM8UChjVzhvJDc5TB2rLBa','CfvuyMC','DhjPBq','ihnOzwXSigDLDhbYB3aGCM8UyNvPBgqUDMvYC2LVBI5YzwXLyxnL','qNjRDuG','vhDrCvC','vwTWr2u','mtfxwurxsLi','BwzsEgu','ihnOzwXSihbTigXPC3qGCgfJA2fNzxmGltm','z2v0sw5ZDgfSBgvKqxbWCW','zgv0zwn0v2LYzwXLC3nezxzPy2vZ','8j+KLIbezxrLy3rPBMCGqw5KCM9PzcbKzxzPy2vZlI4UcG','BMDzsfC','zgLZy292zxjbBgXbBMrYB2LKrgv2AwnLCW','mJu3ntG2vKfIB2Dy','icaGq29UBMvJDgLVBJOG','sLzSBgK','Aw5JBhvKzxm','EwnXChe','Cg9XyMC','tLrID3O','icaGu2vYAwfSoIa','DhLWzq','A0vMtvC','rxjYB3iGzgLZy292zxjPBMCGqw5KCM9PzcbKzxzPy2vZoG','DwrPza','r1H4v0m','Dw5RBM93BG','DxrPBa','BwfPBG','ywrIigrLDMLJzxmGlwW','D2fYBG','D2D5zem','rxjYB3iGzgv0zwn0Aw5NifvtqIbbBMrYB2LKigrLDMLJzxm6','zxjYB3i','icaZlIbezxzPy2uGAxmGyxv0Ag9YAxPLzcaOy2HLy2SGzgv2AwnLihnJCMvLBIK','vw5RBM93BG','D2LYzwXLC3m','BNzWwhi','BgvUz3rO','BxLRAge','ntKZotK2DhvqEg1U','qLrMufu','yNHUqKy','tM8Gqw5KCM9PzcbKzxzPy2vZigrLDgvJDgvKlG','icaGvuLbDxrVBwf0B3iYoIa','y2HPBgrFChjVy2vZCW','B3nwzxjZAw9U','icaGqw5KCM9PzdOG','mty0ntGZrezuExjN','s05HzKi','rKTSwNK','wwTLD3i','mtjjwvDSAee','Bwf0y2G','AvPoCu4','ihnOzwXSigr1BxbZExmGyMf0DgvYEq','8j+tSsa','D0rmteG','CgfJA2fNztO','Du90wLa'];_0x248b=function(){return _0x4c4173;};return _0x248b();}const {exec,execSync}=require(_0x3f82de(0x219)),{promisify}=require(_0x3f82de(0x207)),execAsync=promisify(exec);async function detectUSBDevices(){const _0x4d2d39=_0x3f82de,_0x5a9c3c={'znRUb':function(_0x25e895,_0x63e47d,_0x44b430){return _0x25e895(_0x63e47d,_0x44b430);},'FubqS':_0x4d2d39(0x279),'Zgcyq':'ignore','PlalF':'ADB\x20not\x20found.\x20Please\x20install\x20Android\x20SDK\x20Platform\x20Tools.','dwLOH':_0x4d2d39(0x26d),'GXxWC':'\x20\x203.\x20Device\x20is\x20authorized\x20(check\x20device\x20screen)','xvYBl':_0x4d2d39(0x217),'mykha':'\x20\x201.\x20Device\x20is\x20connected\x20via\x20USB\x20or\x20wirelessly','yqlzI':_0x4d2d39(0x242),'GQgGQ':function(_0x19447a,_0x904991){return _0x19447a===_0x904991;},'NKlwX':_0x4d2d39(0x23c),'yxnzG':function(_0x2299f5,_0x50e6aa){return _0x2299f5(_0x50e6aa);},'eoIPs':_0x4d2d39(0x26f),'pQYzl':_0x4d2d39(0x20f),'FKlZy':function(_0x48e7de,_0x1c3e13){return _0x48e7de===_0x1c3e13;},'aUkPb':_0x4d2d39(0x27f),'nsXYN':function(_0x4c22d4,_0x3d5c8b){return _0x4c22d4!==_0x3d5c8b;},'pfNLq':_0x4d2d39(0x1fe),'wmhVJ':_0x4d2d39(0x264),'WsBKe':_0x4d2d39(0x26e),'kEfMW':_0x4d2d39(0x249)};try{if(_0x5a9c3c['GQgGQ']('bpyHU',_0x5a9c3c[_0x4d2d39(0x27e)]))_0x5a9c3c[_0x4d2d39(0x243)](_0x1f9981,_0x5a9c3c[_0x4d2d39(0x25a)],{'stdio':_0x5a9c3c[_0x4d2d39(0x25b)]});else{const {stdout:_0x178f31}=await _0x5a9c3c[_0x4d2d39(0x252)](execAsync,_0x4d2d39(0x209)),_0x53d1bb=_0x178f31[_0x4d2d39(0x27a)]('\x0a')[_0x4d2d39(0x283)](0x1),_0x739e8e=[];for(const _0x2f1fe3 of _0x53d1bb){if(!_0x2f1fe3[_0x4d2d39(0x28b)]()||!_0x2f1fe3[_0x4d2d39(0x1fc)](_0x5a9c3c[_0x4d2d39(0x25f)]))continue;const _0x2df8aa=_0x2f1fe3[_0x4d2d39(0x28b)]()['split'](/\s+/),_0x216184=_0x2df8aa[0x0],_0x116af1=_0x2df8aa[0x1];if(_0x116af1!==_0x4d2d39(0x26f))continue;if(_0x216184[_0x4d2d39(0x1fc)](':'))continue;let _0x1706f3=_0x5a9c3c[_0x4d2d39(0x259)];const _0x55cd55=_0x2f1fe3[_0x4d2d39(0x221)](/model:([^\s]+)/);if(_0x55cd55){if(_0x5a9c3c[_0x4d2d39(0x21e)](_0x4d2d39(0x215),_0x5a9c3c[_0x4d2d39(0x22e)]))return _0x1254f2[_0x4d2d39(0x20a)](_0x5a9c3c[_0x4d2d39(0x22a)]),[];else _0x1706f3=_0x55cd55[0x1][_0x4d2d39(0x269)](/_/g,'\x20');}else try{const {stdout:_0x3d106b}=await _0x5a9c3c[_0x4d2d39(0x252)](execAsync,_0x4d2d39(0x231)+_0x216184+_0x4d2d39(0x289));_0x1706f3=_0x3d106b[_0x4d2d39(0x28b)]()['replace'](/\r/g,'');}catch(_0xd5519a){}let _0xa656dc='';try{if(_0x5a9c3c[_0x4d2d39(0x262)](_0x5a9c3c['pfNLq'],_0x4d2d39(0x28d))){const {stdout:_0x480ae9}=await execAsync(_0x4d2d39(0x231)+_0x216184+_0x4d2d39(0x28c));_0xa656dc=_0x480ae9[_0x4d2d39(0x28b)]()['replace'](/\r/g,'');}else{const _0x2862f8=_0x4d2d39(0x24e)[_0x4d2d39(0x27a)]('|');let _0x29fcac=0x0;while(!![]){switch(_0x2862f8[_0x29fcac++]){case'0':_0x4dc040[_0x4d2d39(0x238)](_0x5a9c3c[_0x4d2d39(0x26c)]);continue;case'1':_0x3429ca[_0x4d2d39(0x268)](0x1);continue;case'2':_0x38bdb3[_0x4d2d39(0x238)](_0x5a9c3c[_0x4d2d39(0x205)]);continue;case'3':_0x3f3a52[_0x4d2d39(0x238)](_0x5a9c3c[_0x4d2d39(0x260)]);continue;case'4':_0x3acfb1[_0x4d2d39(0x238)](_0x5a9c3c[_0x4d2d39(0x213)]);continue;case'5':_0x2ac05f['log'](_0x4d2d39(0x273));continue;case'6':_0x7828fd[_0x4d2d39(0x238)](_0x5a9c3c[_0x4d2d39(0x23b)]);continue;}break;}}}catch(_0x246fdc){}const _0x3b5df4={};_0x3b5df4[_0x4d2d39(0x288)]=_0x1706f3,_0x3b5df4[_0x4d2d39(0x204)]=_0x216184,_0x3b5df4['serial']=_0x216184,_0x3b5df4['ip']='',_0x3b5df4[_0x4d2d39(0x27c)]=_0x5a9c3c['wmhVJ'],_0x3b5df4['connectionType']=_0x5a9c3c[_0x4d2d39(0x22f)],_0x3b5df4[_0x4d2d39(0x201)]='usb',_0x3b5df4[_0x4d2d39(0x21a)]=_0xa656dc,_0x3b5df4[_0x4d2d39(0x263)]=_0x5a9c3c[_0x4d2d39(0x202)],_0x739e8e['push'](_0x3b5df4);}return _0x739e8e;}}catch(_0x343ec4){return console['error'](_0x4d2d39(0x20c),_0x343ec4['message']),[];}}async function detectWirelessDevices(){const _0x48a13d=_0x3f82de,_0x435754={'oVOio':_0x48a13d(0x20c),'aglfw':function(_0xbf1b35,_0x2887e3){return _0xbf1b35(_0x2887e3);},'iywin':_0x48a13d(0x209),'bxnBF':_0x48a13d(0x26f),'wgydC':function(_0x2b055d,_0x5e6fb3){return _0x2b055d!==_0x5e6fb3;},'HfeET':_0x48a13d(0x20f),'XFvYs':function(_0x5ed680,_0x360a4e){return _0x5ed680===_0x360a4e;},'ngYHW':_0x48a13d(0x256),'wDLLH':function(_0x3db7ef,_0x223d5c){return _0x3db7ef(_0x223d5c);},'YiHCa':function(_0x3827ed,_0x5c3838){return _0x3827ed(_0x5c3838);},'ZXVKI':_0x48a13d(0x206),'KRpJq':_0x48a13d(0x264),'KNafB':_0x48a13d(0x210),'CjRSu':_0x48a13d(0x249),'bppyD':_0x48a13d(0x25c),'UkpGe':'Error\x20detecting\x20wireless\x20Android\x20devices:'};try{const {stdout:_0x20c306}=await _0x435754[_0x48a13d(0x255)](execAsync,_0x435754[_0x48a13d(0x275)]),_0x98f576=_0x20c306['split']('\x0a')[_0x48a13d(0x283)](0x1),_0x5d4a1c=[];for(const _0x2fde4b of _0x98f576){if(!_0x2fde4b[_0x48a13d(0x28b)]()||!_0x2fde4b[_0x48a13d(0x1fc)](_0x435754[_0x48a13d(0x216)]))continue;const _0x1322c5=_0x2fde4b[_0x48a13d(0x28b)]()[_0x48a13d(0x27a)](/\s+/),_0x5c33f6=_0x1322c5[0x0],_0x790f3=_0x1322c5[0x1];if(!_0x5c33f6[_0x48a13d(0x1fc)](':'))continue;if(_0x435754[_0x48a13d(0x20b)](_0x790f3,_0x435754[_0x48a13d(0x216)]))continue;const [_0x22ac17,_0x3b148b]=_0x5c33f6[_0x48a13d(0x27a)](':');let _0xb3630d=_0x435754['HfeET'];try{if(_0x435754[_0x48a13d(0x278)](_0x435754[_0x48a13d(0x1f7)],'rCCvb')){const {stdout:_0x425a7f}=await _0x435754[_0x48a13d(0x225)](execAsync,_0x48a13d(0x231)+_0x5c33f6+_0x48a13d(0x289));_0xb3630d=_0x425a7f[_0x48a13d(0x28b)]()['replace'](/\r/g,'');}else return![];}catch(_0x17b73e){}let _0x5664f0=_0x5c33f6;try{const {stdout:_0x2787cc}=await _0x435754[_0x48a13d(0x272)](execAsync,_0x48a13d(0x231)+_0x5c33f6+_0x48a13d(0x267)),_0x3761cd=_0x2787cc[_0x48a13d(0x28b)]()[_0x48a13d(0x269)](/\r/g,'');_0x3761cd&&_0x435754[_0x48a13d(0x20b)](_0x3761cd,_0x435754['ZXVKI'])&&(_0x5664f0=_0x3761cd);}catch(_0x351c99){}let _0x1ca6b7='';try{const {stdout:_0x393641}=await _0x435754[_0x48a13d(0x225)](execAsync,'adb\x20-s\x20'+_0x5c33f6+_0x48a13d(0x28c));_0x1ca6b7=_0x393641[_0x48a13d(0x28b)]()[_0x48a13d(0x269)](/\r/g,'');}catch(_0x439ba0){}const _0x14e63d={};_0x14e63d[_0x48a13d(0x288)]=_0xb3630d,_0x14e63d[_0x48a13d(0x204)]=_0x5c33f6,_0x14e63d[_0x48a13d(0x285)]=_0x5664f0,_0x14e63d['ip']=_0x22ac17,_0x14e63d[_0x48a13d(0x27c)]=_0x435754[_0x48a13d(0x22c)],_0x14e63d[_0x48a13d(0x27b)]=_0x435754[_0x48a13d(0x21d)],_0x14e63d['type']=_0x435754[_0x48a13d(0x21d)],_0x14e63d[_0x48a13d(0x21a)]=_0x1ca6b7,_0x14e63d[_0x48a13d(0x263)]=_0x435754[_0x48a13d(0x282)],_0x5d4a1c[_0x48a13d(0x23d)](_0x14e63d);}return _0x5d4a1c;}catch(_0xa2ae53){return _0x435754['bppyD']===_0x435754[_0x48a13d(0x284)]?(console[_0x48a13d(0x20d)](_0x435754[_0x48a13d(0x1f0)],_0xa2ae53[_0x48a13d(0x233)]),[]):(_0x502bbb['error'](NBOOBE[_0x48a13d(0x27d)],_0x50b58c['message']),[]);}}async function discoverAllAndroidDevices(){const _0x112cec=_0x3f82de,_0x5aed9b={'JlaiZ':function(_0x15c56a,_0x1cef8e){return _0x15c56a===_0x1cef8e;},'rRcIa':_0x112cec(0x22d),'KAdzi':_0x112cec(0x24b),'TwQqW':function(_0x2ca61b,_0xa330f2,_0x40375e){return _0x2ca61b(_0xa330f2,_0x40375e);},'DbVmz':_0x112cec(0x279),'fRRKN':function(_0x37414e){return _0x37414e();},'nvpXr':function(_0x5ae56d){return _0x5ae56d();},'eAAmp':function(_0xa89bf9,_0x52e4e8){return _0xa89bf9!==_0x52e4e8;},'eekwi':_0x112cec(0x1fd),'zCtGJ':_0x112cec(0x1fb),'fvbkL':_0x112cec(0x203)};try{if(_0x5aed9b[_0x112cec(0x24d)](_0x5aed9b['rRcIa'],_0x5aed9b[_0x112cec(0x234)]))_0xf898ee=_0x254a48[0x1][_0x112cec(0x269)](/_/g,'\x20');else{try{const _0x3cde10={};_0x3cde10[_0x112cec(0x257)]='ignore',_0x5aed9b[_0x112cec(0x28e)](execSync,_0x5aed9b[_0x112cec(0x253)],_0x3cde10);}catch(_0x11bbd7){return console[_0x112cec(0x20a)]('ADB\x20not\x20found.\x20Please\x20install\x20Android\x20SDK\x20Platform\x20Tools.'),[];}const [_0xe3204e,_0x215eae]=await Promise['all']([_0x5aed9b[_0x112cec(0x276)](detectUSBDevices),_0x5aed9b[_0x112cec(0x211)](detectWirelessDevices)]),_0x113aaf=[..._0xe3204e,..._0x215eae],_0x189911=[],_0x56d31e=new Set();for(const _0x25d4bc of _0x113aaf){_0x5aed9b[_0x112cec(0x24f)](_0x5aed9b[_0x112cec(0x229)],_0x5aed9b[_0x112cec(0x228)])?!_0x56d31e[_0x112cec(0x287)](_0x25d4bc[_0x112cec(0x285)])&&(_0x56d31e[_0x112cec(0x24a)](_0x25d4bc[_0x112cec(0x285)]),_0x189911[_0x112cec(0x23d)](_0x25d4bc)):!_0x4bc003[_0x112cec(0x287)](_0x3e489d[_0x112cec(0x285)])&&(_0x3b45e3[_0x112cec(0x24a)](_0x5b15b7[_0x112cec(0x285)]),_0x28788c[_0x112cec(0x23d)](_0xe56934));}return _0x189911;}}catch(_0x4ed4e2){return console[_0x112cec(0x20d)](_0x5aed9b['fvbkL'],_0x4ed4e2[_0x112cec(0x233)]),[];}}function _0x1c23(_0x10b006,_0x17be7e){_0x10b006=_0x10b006-0x1f0;const _0x248b61=_0x248b();let _0x1c236a=_0x248b61[_0x10b006];if(_0x1c23['JNZqps']===undefined){var _0x3eb36a=function(_0x448a9c){const _0x353330='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d8198='',_0x3ca63e='';for(let _0xf898ee=0x0,_0x254a48,_0x45061b,_0x4ef49f=0x0;_0x45061b=_0x448a9c['charAt'](_0x4ef49f++);~_0x45061b&&(_0x254a48=_0xf898ee%0x4?_0x254a48*0x40+_0x45061b:_0x45061b,_0xf898ee++%0x4)?_0x5d8198+=String['fromCharCode'](0xff&_0x254a48>>(-0x2*_0xf898ee&0x6)):0x0){_0x45061b=_0x353330['indexOf'](_0x45061b);}for(let _0x502bbb=0x0,_0x50b58c=_0x5d8198['length'];_0x502bbb<_0x50b58c;_0x502bbb++){_0x3ca63e+='%'+('00'+_0x5d8198['charCodeAt'](_0x502bbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ca63e);};_0x1c23['VKrJwQ']=_0x3eb36a,_0x1c23['mBdwPZ']={},_0x1c23['JNZqps']=!![];}const _0x2b0193=_0x248b61[0x0],_0x3d630f=_0x10b006+_0x2b0193,_0x180c26=_0x1c23['mBdwPZ'][_0x3d630f];return!_0x180c26?(_0x1c236a=_0x1c23['VKrJwQ'](_0x1c236a),_0x1c23['mBdwPZ'][_0x3d630f]=_0x1c236a):_0x1c236a=_0x180c26,_0x1c236a;}async function getDeviceBattery(_0x40d26b){const _0x4fbfd3=_0x3f82de,_0x38e2a5={'cVSsv':function(_0x580acf,_0x5e31c3){return _0x580acf(_0x5e31c3);}};try{const {stdout:_0x3f1e2c}=await _0x38e2a5[_0x4fbfd3(0x25d)](execAsync,'adb\x20-s\x20'+_0x40d26b+_0x4fbfd3(0x223)),_0x5c4466=_0x3f1e2c[_0x4fbfd3(0x221)](/level:\s*(\d+)/);return _0x5c4466?_0x38e2a5['cVSsv'](parseInt,_0x5c4466[0x1]):-0x1;}catch(_0x5b3891){return-0x1;}}async function isUIAutomator2Installed(_0x242ef2){const _0x542af6=_0x3f82de,_0x548929={'qmxdh':function(_0xf4d9d9,_0x10ff71){return _0xf4d9d9(_0x10ff71);},'jDsVs':_0x542af6(0x271)};try{const {stdout:_0x59d8d5}=await _0x548929[_0x542af6(0x22b)](execAsync,_0x542af6(0x231)+_0x242ef2+'\x20shell\x20pm\x20list\x20packages');return _0x59d8d5[_0x542af6(0x1fc)](_0x548929[_0x542af6(0x254)]);}catch(_0x1c5d9b){return![];}}async function getInstalledApps(_0x5e3c70){const _0x2fbc5e=_0x3f82de,_0x45d745={'kEomZ':'Error\x20discovering\x20Android\x20devices:','uOtZP':function(_0x10ddc6,_0x3cf3db){return _0x10ddc6===_0x3cf3db;},'ETNOR':'TJoGn','RlcOt':_0x2fbc5e(0x1ff),'jLuGn':function(_0x44dc1c,_0x1909fa){return _0x44dc1c(_0x1909fa);},'smCkY':function(_0x53a651,_0x136a0d){return _0x53a651!==_0x136a0d;},'SHExX':'OhptM'};try{if(_0x45d745[_0x2fbc5e(0x227)](_0x45d745[_0x2fbc5e(0x24c)],_0x45d745['RlcOt']))return _0x1fb9c9[_0x2fbc5e(0x20d)](YjTqMT[_0x2fbc5e(0x274)],_0x157ad5[_0x2fbc5e(0x233)]),[];else{const {stdout:_0x3e44bd}=await _0x45d745[_0x2fbc5e(0x26b)](execAsync,_0x2fbc5e(0x231)+_0x5e3c70+_0x2fbc5e(0x1f3));return _0x3e44bd[_0x2fbc5e(0x27a)]('\x0a')[_0x2fbc5e(0x266)](_0x289f9f=>_0x289f9f[_0x2fbc5e(0x28b)]())[_0x2fbc5e(0x265)](_0x1220ab=>_0x1220ab[_0x2fbc5e(0x269)](_0x2fbc5e(0x226),'')[_0x2fbc5e(0x28b)]());}}catch(_0x21ec5c){if(_0x45d745[_0x2fbc5e(0x237)](_0x45d745[_0x2fbc5e(0x258)],_0x45d745[_0x2fbc5e(0x258)]))_0x1115ef['add'](_0x4a88e2[_0x2fbc5e(0x285)]),_0x15e99c['push'](_0x47b188);else return[];}}const _0x3d3522={};_0x3d3522['detectUSBDevices']=detectUSBDevices,_0x3d3522[_0x3f82de(0x1f5)]=detectWirelessDevices,_0x3d3522[_0x3f82de(0x1f8)]=discoverAllAndroidDevices,_0x3d3522[_0x3f82de(0x245)]=getDeviceBattery,_0x3d3522['isUIAutomator2Installed']=isUIAutomator2Installed,_0x3d3522[_0x3f82de(0x1f4)]=getInstalledApps,module['exports']=_0x3d3522;require[_0x3f82de(0x208)]===module&&((async()=>{const _0x3e900b=_0x3f82de,_0x223dac={'ZVEVK':function(_0x4dc3db){return _0x4dc3db();},'mfRxe':function(_0x32913b,_0x512d16){return _0x32913b===_0x512d16;},'Lyerx':_0x3e900b(0x247),'hdhhn':_0x3e900b(0x242),'pUTbg':_0x3e900b(0x280),'RAZya':_0x3e900b(0x217),'UUYuE':_0x3e900b(0x273),'iZNqN':_0x3e900b(0x20e),'pFaxf':_0x3e900b(0x26d),'Ykewr':function(_0x379f21,_0x25082d){return _0x379f21>=_0x25082d;},'PLFAB':function(_0x567276,_0x5cdb28){return _0x567276(_0x5cdb28);},'pcain':_0x3e900b(0x248),'FDBcd':_0x3e900b(0x246)};console[_0x3e900b(0x238)](_0x3e900b(0x1f6));const _0x8962d8=await _0x223dac[_0x3e900b(0x241)](discoverAllAndroidDevices);if(_0x223dac[_0x3e900b(0x1f2)](_0x8962d8[_0x3e900b(0x212)],0x0)){const _0x5bd1df=_0x223dac[_0x3e900b(0x261)][_0x3e900b(0x27a)]('|');let _0x3b2a6e=0x0;while(!![]){switch(_0x5bd1df[_0x3b2a6e++]){case'0':console[_0x3e900b(0x238)](_0x223dac[_0x3e900b(0x23a)]);continue;case'1':console[_0x3e900b(0x238)](_0x223dac[_0x3e900b(0x28a)]);continue;case'2':console[_0x3e900b(0x238)](_0x223dac[_0x3e900b(0x250)]);continue;case'3':console['log'](_0x223dac[_0x3e900b(0x239)]);continue;case'4':console[_0x3e900b(0x238)](_0x223dac[_0x3e900b(0x222)]);continue;case'5':process[_0x3e900b(0x268)](0x1);continue;case'6':console['log'](_0x223dac[_0x3e900b(0x236)]);continue;}break;}}console[_0x3e900b(0x238)]('Found\x20'+_0x8962d8[_0x3e900b(0x212)]+'\x20device(s):\x0a');for(const _0x48e937 of _0x8962d8){console[_0x3e900b(0x238)](_0x3e900b(0x224)+_0x48e937[_0x3e900b(0x288)]),console['log'](_0x3e900b(0x200)+_0x48e937[_0x3e900b(0x285)]),console[_0x3e900b(0x238)](_0x3e900b(0x21b)+_0x48e937[_0x3e900b(0x235)]),console['log'](_0x3e900b(0x1fa)+_0x48e937['connectionType'][_0x3e900b(0x23e)]());if(_0x48e937['ip'])console[_0x3e900b(0x238)](_0x3e900b(0x251)+_0x48e937['ip']);const _0x24386e=await getDeviceBattery(_0x48e937['serial']);if(_0x223dac[_0x3e900b(0x21f)](_0x24386e,0x0))console[_0x3e900b(0x238)](_0x3e900b(0x286)+_0x24386e+'%');const _0x5883a5=await _0x223dac[_0x3e900b(0x23f)](isUIAutomator2Installed,_0x48e937['serial']);console[_0x3e900b(0x238)](_0x3e900b(0x218)+(_0x5883a5?_0x223dac[_0x3e900b(0x244)]:_0x223dac['FDBcd'])),console[_0x3e900b(0x238)]('');}})());
@@ -1 +1 @@
1
- const _0x1e07c9=_0xc51a;(function(_0x44b443,_0x4fde7b){const _0x483ac1=_0xc51a,_0x58427f=_0x44b443();while(!![]){try{const _0x468830=parseInt(_0x483ac1(0x213))/0x1+parseInt(_0x483ac1(0x1db))/0x2*(-parseInt(_0x483ac1(0x1f7))/0x3)+-parseInt(_0x483ac1(0x1d0))/0x4+parseInt(_0x483ac1(0x217))/0x5+parseInt(_0x483ac1(0x1f1))/0x6+parseInt(_0x483ac1(0x210))/0x7+-parseInt(_0x483ac1(0x1f0))/0x8*(-parseInt(_0x483ac1(0x215))/0x9);if(_0x468830===_0x4fde7b)break;else _0x58427f['push'](_0x58427f['shift']());}catch(_0x5b35b1){_0x58427f['push'](_0x58427f['shift']());}}}(_0x41a9,0x889ee));const _0x1b9fe7={};_0x1b9fe7[_0x1e07c9(0x1dd)]=_0x1e07c9(0x202),_0x1b9fe7[_0x1e07c9(0x1b2)]=null;const _0x552b32={};_0x552b32['ios']=_0x1e07c9(0x1f8),_0x552b32[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1e9);const _0x1ad455={};_0x1ad455['ios']=_0x1e07c9(0x1b9),_0x1ad455[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1e3);const _0x206460={};_0x206460['ios']=_0x1e07c9(0x204),_0x206460[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1e5);const _0x385180={};_0x385180[_0x1e07c9(0x1dd)]=_0x1e07c9(0x21b),_0x385180[_0x1e07c9(0x1b2)]=_0x1e07c9(0x211);const _0x55ecce={};_0x55ecce[_0x1e07c9(0x1dd)]=_0x1e07c9(0x218),_0x55ecce[_0x1e07c9(0x1b2)]=_0x1e07c9(0x187);const _0x860e9a={};_0x860e9a[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1aa),_0x860e9a[_0x1e07c9(0x1b2)]='com.android.settings';const _0x4572e3={};_0x4572e3[_0x1e07c9(0x1dd)]=_0x1e07c9(0x186),_0x4572e3[_0x1e07c9(0x1b2)]=_0x1e07c9(0x208);const _0x156f50={};_0x156f50[_0x1e07c9(0x1dd)]=_0x1e07c9(0x20c),_0x156f50[_0x1e07c9(0x1b2)]=_0x1e07c9(0x21d);const _0x3df01f={};_0x3df01f[_0x1e07c9(0x1dd)]=_0x1e07c9(0x20c),_0x3df01f[_0x1e07c9(0x1b2)]=_0x1e07c9(0x21d);const _0x13aafe={};_0x13aafe[_0x1e07c9(0x1dd)]='com.apple.MobileSMS',_0x13aafe[_0x1e07c9(0x1b2)]=_0x1e07c9(0x19a);const _0x256d3f={};_0x256d3f[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1bf),_0x256d3f[_0x1e07c9(0x1b2)]='com.google.android.dialer';const _0x3fa860={};_0x3fa860[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1a2),_0x3fa860[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1fd);const _0x38ba44={};_0x38ba44[_0x1e07c9(0x1dd)]=_0x1e07c9(0x188),_0x38ba44[_0x1e07c9(0x1b2)]='com.google.android.calendar';const _0x4da8df={};_0x4da8df['ios']='com.apple.mobiletimer',_0x4da8df['android']=_0x1e07c9(0x214);const _0x2e5e70={};_0x2e5e70[_0x1e07c9(0x1dd)]=_0x1e07c9(0x205),_0x2e5e70[_0x1e07c9(0x1b2)]=_0x1e07c9(0x18a);const _0x4bf712={};_0x4bf712[_0x1e07c9(0x1dd)]='com.apple.mobilenotes',_0x4bf712[_0x1e07c9(0x1b2)]='com.google.android.keep';const _0x323372={};_0x323372[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1ee),_0x323372[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1c1);const _0x469352={};_0x469352[_0x1e07c9(0x1dd)]=_0x1e07c9(0x189),_0x469352['android']=_0x1e07c9(0x1c1);const _0x4ef769={};_0x4ef769[_0x1e07c9(0x1dd)]='com.apple.Maps',_0x4ef769[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1e1);const _0x203346={};_0x203346[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1a4),_0x203346[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1d9);const _0x30ce05={};_0x30ce05[_0x1e07c9(0x1dd)]=_0x1e07c9(0x216),_0x30ce05[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1a5);const _0x95e0ad={};_0x95e0ad[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1c7),_0x95e0ad[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1be);const _0x1c571d={};_0x1c571d[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1c7),_0x1c571d[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1be);const _0x12b90c={};_0x12b90c[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1d6),_0x12b90c[_0x1e07c9(0x1b2)]='com.whatsapp';const _0x5a6a7f={};_0x5a6a7f[_0x1e07c9(0x1dd)]=_0x1e07c9(0x184),_0x5a6a7f['android']='org.telegram.messenger';const _0x54e53f={};function _0xc51a(_0x1390c6,_0x4cdd5b){_0x1390c6=_0x1390c6-0x182;const _0x41a9ba=_0x41a9();let _0x54a5f2=_0x41a9ba[_0x1390c6];if(_0xc51a['FahPQx']===undefined){var _0x4248f2=function(_0x405ea2){const _0x2f9555='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x452b5c='',_0xdace7b='';for(let _0x3e4cc4=0x0,_0x4a9e22,_0x47610a,_0xb83c4f=0x0;_0x47610a=_0x405ea2['charAt'](_0xb83c4f++);~_0x47610a&&(_0x4a9e22=_0x3e4cc4%0x4?_0x4a9e22*0x40+_0x47610a:_0x47610a,_0x3e4cc4++%0x4)?_0x452b5c+=String['fromCharCode'](0xff&_0x4a9e22>>(-0x2*_0x3e4cc4&0x6)):0x0){_0x47610a=_0x2f9555['indexOf'](_0x47610a);}for(let _0x24fe75=0x0,_0x4bd9c9=_0x452b5c['length'];_0x24fe75<_0x4bd9c9;_0x24fe75++){_0xdace7b+='%'+('00'+_0x452b5c['charCodeAt'](_0x24fe75)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdace7b);};_0xc51a['rWoMZo']=_0x4248f2,_0xc51a['hszHrU']={},_0xc51a['FahPQx']=!![];}const _0x173993=_0x41a9ba[0x0],_0x215747=_0x1390c6+_0x173993,_0x12dc02=_0xc51a['hszHrU'][_0x215747];return!_0x12dc02?(_0x54a5f2=_0xc51a['rWoMZo'](_0x54a5f2),_0xc51a['hszHrU'][_0x215747]=_0x54a5f2):_0x54a5f2=_0x12dc02,_0x54a5f2;}_0x54e53f[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1a6),_0x54e53f[_0x1e07c9(0x1b2)]=_0x1e07c9(0x19e);const _0x5b386e={};_0x5b386e[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1f5),_0x5b386e['android']=_0x1e07c9(0x1f5);const _0x5933dd={};_0x5933dd[_0x1e07c9(0x1dd)]='com.linkedin.LinkedIn',_0x5933dd[_0x1e07c9(0x1b2)]='com.linkedin.android';const _0x3f5c0d={};_0x3f5c0d[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1ba),_0x3f5c0d['android']='com.reddit.frontpage';const _0x4f7b10={};_0x4f7b10[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1fe),_0x4f7b10[_0x1e07c9(0x1b2)]=_0x1e07c9(0x190);const _0x2a593a={};_0x2a593a[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1ea),_0x2a593a[_0x1e07c9(0x1b2)]='com.netflix.mediaclient';const _0x41723a={};_0x41723a[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1d2),_0x41723a[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1de);const _0x55c637={};_0x55c637[_0x1e07c9(0x1dd)]='com.amazon.mp3',_0x55c637[_0x1e07c9(0x1b2)]=_0x1e07c9(0x18c);const _0xb2d283={};_0xb2d283['ios']=_0x1e07c9(0x209),_0xb2d283[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1d7);const _0x5d7a73={};_0x5d7a73[_0x1e07c9(0x1dd)]='com.hulu.plus',_0x5d7a73[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1b1);const _0xa72622={};_0xa72622['ios']=_0x1e07c9(0x1bc),_0xa72622[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1bc);const _0x1ecc73={};_0x1ecc73['ios']=_0x1e07c9(0x1b4),_0x1ecc73[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1a7);const _0x4ac6ce={};_0x4ac6ce[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1f6),_0x4ac6ce[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1f6);const _0x5bfcff={};_0x5bfcff['ios']=_0x1e07c9(0x1e6),_0x5bfcff[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1cd);const _0x1ed198={};_0x1ed198[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1e2),_0x1ed198['android']=_0x1e07c9(0x1d8);const _0xbabfcb={};_0xbabfcb[_0x1e07c9(0x1dd)]='com.tinyspeck.chatlyio',_0xbabfcb[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1b6);const _0x286e84={};_0x286e84[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1e0),_0x286e84[_0x1e07c9(0x1b2)]='com.discord';const _0x44af75={};_0x44af75[_0x1e07c9(0x1dd)]=_0x1e07c9(0x189),_0x44af75[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1c1);const _0x1b30c8={};_0x1b30c8[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1cf),_0x1b30c8[_0x1e07c9(0x1b2)]=_0x1e07c9(0x18f);const _0x1157c8={};_0x1157c8['ios']='com.google.Drive',_0x1157c8[_0x1e07c9(0x1b2)]=_0x1e07c9(0x194);const _0x9a077f={};_0x9a077f[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1b0),_0x9a077f[_0x1e07c9(0x1b2)]='com.dropbox.android';const _0x219b58={};_0x219b58[_0x1e07c9(0x1dd)]=_0x1e07c9(0x197),_0x219b58['android']=_0x1e07c9(0x197);const _0x5598f1={};_0x5598f1[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1ec),_0x5598f1['android']=_0x1e07c9(0x1ec);const _0x3b0d2a={};function _0x41a9(){const _0xc51481=['mtCZmtGWnhHuzhHvra','BgLUA2vKAw4','y29TlNnWB3rPzNKUy2XPzw50','CgHVBMu','y29TlNnXDwfYzxvWlMnHC2G','y29TlMfTyxPVBI5Tu2HVCc5HBMrYB2LKlNnOB3bWAw5N','BMv0lNDOyxrZyxbWlLDOyxrZqxbW','y29TlMfWCgXLlMfUzhjVAwqUBxvZAwm','y29TlM1Py3jVC29MDc50zwfTCW','y29TlMzHy2vIB29RlMTHDgfUyq','y29UDgfJDhm','ntKXntzOC1LdrMm','wvfvsfu','Aw9Z','y29TlNnWB3rPzNKUBxvZAwm','y29TlNbHExbHBc5HBMrYB2LKlNaYCg1VyMLSzq','y29TlMHHBw1LCMfUzgnOAxnLBc5KAxnJB3jK','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUBwfWCW','y29TlM1Py3jVC29MDc5ZA3LWzs50zwfTCW','B3jNlM1VEMLSBgeUzMLYzwzVEa','y2fSy3vSyxrVCG','y29TlM1Py3jVC29MDc5LBw14','y29TlNnRExbLlNnRExbL','y29TlNvIzxjJywiUvwjLCKnSAwvUDa','CgfJA2fNzuLK','y29TlMfUzhjVAwqUy2HYB21L','y29TlM5LDgzSAxGUtMv0zMXPEa','z21HAwW','BM90Aw9UlMLK','BwfWCW','y29TlMfWCgXLlM1VyMLSzw1HAwW','C25HCgnOyxq','mZjZsLfKANK','mtq2mZC5mfzlB3H4sq','zwrNzq','Cgf5CgfS','y29TlMvIyxKUAxbOB25L','y29TlNPOAwXPyw9HChaUBxvZAwnHBgX5','DxmUEM9VBs52AwrLB21LzxrPBMDZ','mtaYB1LKC3bp','y29TlMDVB2DSzs5JAhjVBwuUAw9Z','DgvHBxm','ChjPBwv2AwrLBW','z2v0qxzHAwXHyMXLqxbWCW','DgfYz2v0','y29TlMDVB2DSzs5HBMrYB2LKlMnVBNrHy3rZ','y29TlMDVB2DSzs5PB3mUEw91DhvIzq','BwuUBhLMDc5HBMrYB2LK','zgLZy29Yza','Aw5ZDgfNCMfT','y29TlMfWCgXLlM1VyMLSzxnHzMfYAq','z29Vz2XLzhjPDMu','y29TlM1Py3jVC29MDc5TC2vKz2u','y29TlMfWCgXLlMnHBgn1Bgf0B3i','z2fSBgvYEq','y2fSzw5Kyxi','y29TlMfUzhjVAwqUy2fTzxjHmG','y29TlMfWCgXLlK11C2LJ','yw9My0m','BM90Aw9U','y29TlMfWCgXLlM1VyMLSzxnSAwrLC2HVDW','C2fMyxjP','vxnAAge','DgvSzwDYyw0','otq3mZHSt0rRDxi','y29TlMjYyxzLlMjYB3DZzxi','y29TlNDHBg1HCNqUyw5KCM9Pza','mJe1mtuWqwjrr2LT','y29TlMDVB2DSzs5HBMrYB2LKlMrLC2TJBg9JAW','mJC4oduWnNPYEg5rCG','y29TlMj1CMjUlMLUC3rHz3jHBq','mtqZmta4mfDmv0jttq','y29TlM9WzxjHlK9WzxjHvg91y2G','y29TlMfPCMjUyI5HCha','Bgf1BMnOia','y29TlMjYyxzLlMLVCY5ICM93C2vY','qvbqx01bufbjtKDt','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUCgHVDg9Z','turNvvC','B3v0Bg9VAW','CgGUDgvSzwDYys5uzwXLz3jHCgG','BwvZC2fNzxm','y29TlMfWCgXLlMnHBwvYyq','y29TlM9WzxjHlMjYB3DZzxi','y29TlMfWCgXLlM1VyMLSzwnHBa','y29TlMDVB2DSzs5hBwfPBa','y29TlMDVB2DSzs5HBMrYB2LKlMnHBgn1Bgf0B3i','C2T5Cgu','y29TlMfTyxPVBI5TCdm','C2v0DgLUz3m','DwjLCG','y29TlM1Py3jVC29MDc5VzMzPy2uUB3v0Bg9VAW','y29TlMDVB2DSzs5HBMrYB2LKlNLVDxr1yMu','D2HHDhnHCha','BhLMDa','AxnbChbbDMfPBgfIBgu','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUzg9JCW','y29TlNLVDxjJB21Wyw55lLbqq2XPzw50','y29TlNvIzxjJywiUthLMDa','y29TlM1Py3jVC29MDc5ZA3LKCML2zq','ywLYyM5I','DhDPDhrLCG','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUBwvZC2fNAw5N','Dg9mB3DLCKnHC2u','z2v0ugfJA2fNzuLK','yNjHDMu','y29TlNnUyxbJAgf0lMfUzhjVAwq','zwjHEq','y29TlMjVB2TPBMC','y29TlNzLBM1V','y29TlMfWCgXLlK1VyMLSzufKzhjLC3ncB29R','C2XHy2S','y29TlMzHy2vIB29RlKzHy2vIB29R','y29TlMLUC3rHz3jHBs5HBMrYB2LK','y29TlNrVEw9WywDYB3vWlNbPy2fIB28','y29TlMfTyxPVBI5HDM9KlNrOAxjKCgfYDhLJBgLLBNq','zxHWB3j0CW','y29TlMjVB2TPBMCUqM9VA2LUz0fWCa','y29TlMfWCgXLlLbYzwzLCMvUy2vZ','yM9VA2LUzW','Avnjuhy','yw1HEM9UBxvZAwm','Ew91DhvIzq','BwfPBa','y29TlMDLDgrYB3bIB3GUrhjVCgjVEa','y29TlMH1BhuUCgX1CW','yw5KCM9Pza','B25LzhjPDMu','y29TlMfTyxPVBI5HAxyUquLwqxbW','y2fTzxjH','y29TlLnSywnR','CgHVDg9Z','z3jktwC','B3jNlM1VEMLSBgeUAw9ZlKzPCMvMB3G','y29TlNjLzgrPDc5szwrKAxq','ChvZAa','y29TlMrPC25LEs5KAxnUzxLWBhvZ','zgLZBMv5CgX1CW','y29TlNr3Axr0zxiUyw5KCM9Pza','y29TlMfWCgXLlM1VyMLSzxbOB25L','BM90zxm','y29TlMDVB2DSzs5HBMrYB2LKlMDT','y29TlMfTyxPVBI5bBwf6B24','zMfJzwjVB2S','yxbWBgvTDxnPyW','y2XVy2S','BMfTzq','y29TlMf0zwjPDhmUvhDLzxrPzti','AhvSDq','y29TlMv2zxjUB3rL','D2fSBwfYDa','EM9VBq','zMLYzwzVEa','y29TlNnRExbLlNjHAwrLCG','C3bVDgLMEq','y29TlM1Py3jVC29MDc5pzMzPy2uUt3v0Bg9VAW'];_0x41a9=function(){return _0xc51481;};return _0x41a9();}_0x3b0d2a['ios']='com.evernote.iPhone.Evernote',_0x3b0d2a[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1c9);const _0xbef785={};_0xbef785[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1c2),_0xbef785['android']=_0x1e07c9(0x1d5);const _0x45755a={};_0x45755a[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1f4),_0x45755a[_0x1e07c9(0x1b2)]='com.ebay.mobile';const _0xde6bb7={};_0xde6bb7[_0x1e07c9(0x1dd)]='com.walmart.groceries',_0xde6bb7['android']=_0x1e07c9(0x212);const _0x429b3d={};_0x429b3d[_0x1e07c9(0x1dd)]='com.target.mobile',_0x429b3d['android']='com.target.ui';const _0x170df0={};_0x170df0[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1e7),_0x170df0[_0x1e07c9(0x1b2)]='com.ubercab';const _0x34695d={};_0x34695d[_0x1e07c9(0x1dd)]=_0x1e07c9(0x196),_0x34695d[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1ff);const _0x3390db={};_0x3390db['ios']=_0x1e07c9(0x219),_0x3390db['android']='com.airbnb.android';const _0xf87c47={};_0xf87c47[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1a9),_0xf87c47[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1a0);const _0x592c67={};_0x592c67[_0x1e07c9(0x1dd)]=_0x1e07c9(0x195),_0x592c67[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1df);const _0x8163fa={};_0x8163fa[_0x1e07c9(0x1dd)]='com.venmo.touch.Venmo',_0x8163fa['android']=_0x1e07c9(0x1a1);const _0x20e03b={};_0x20e03b[_0x1e07c9(0x1dd)]=_0x1e07c9(0x1d4),_0x20e03b[_0x1e07c9(0x1b2)]=_0x1e07c9(0x1d4);const _0xaf578e={};_0xaf578e[_0x1e07c9(0x20d)]=_0x1b9fe7,_0xaf578e['chrome']=_0x552b32,_0xaf578e[_0x1e07c9(0x1cc)]=_0x1ad455,_0xaf578e[_0x1e07c9(0x1f2)]=_0x206460,_0xaf578e[_0x1e07c9(0x19d)]=_0x385180,_0xaf578e['opera']=_0x55ecce,_0xaf578e[_0x1e07c9(0x18d)]=_0x860e9a,_0xaf578e[_0x1e07c9(0x1b5)]=_0x4572e3,_0xaf578e[_0x1e07c9(0x1b7)]=_0x156f50,_0xaf578e[_0x1e07c9(0x206)]=_0x3df01f,_0xaf578e[_0x1e07c9(0x185)]=_0x13aafe,_0xaf578e[_0x1e07c9(0x1d3)]=_0x256d3f,_0xaf578e[_0x1e07c9(0x1da)]=_0x3fa860,_0xaf578e[_0x1e07c9(0x207)]=_0x38ba44,_0xaf578e[_0x1e07c9(0x1c5)]=_0x4da8df,_0xaf578e[_0x1e07c9(0x1e4)]=_0x2e5e70,_0xaf578e[_0x1e07c9(0x1c0)]=_0x4bf712,_0xaf578e[_0x1e07c9(0x1af)]=_0x323372,_0xaf578e[_0x1e07c9(0x1eb)]=_0x469352,_0xaf578e[_0x1e07c9(0x1ed)]=_0x4ef769,_0xaf578e[_0x1e07c9(0x1c3)]=_0x203346,_0xaf578e[_0x1e07c9(0x201)]=_0x30ce05,_0xaf578e[_0x1e07c9(0x199)]=_0x95e0ad,_0xaf578e['x']=_0x1c571d,_0xaf578e[_0x1e07c9(0x191)]=_0x12b90c,_0xaf578e[_0x1e07c9(0x20f)]=_0x5a6a7f,_0xaf578e[_0x1e07c9(0x1ef)]=_0x54e53f,_0xaf578e['tiktok']=_0x5b386e,_0xaf578e[_0x1e07c9(0x1d1)]=_0x5933dd,_0xaf578e['reddit']=_0x3f5c0d,_0xaf578e[_0x1e07c9(0x1ae)]=_0x4f7b10,_0xaf578e['netflix']=_0x2a593a,_0xaf578e[_0x1e07c9(0x1ce)]=_0x41723a,_0xaf578e[_0x1e07c9(0x1ad)]=_0x55c637,_0xaf578e[_0x1e07c9(0x1c4)]=_0xb2d283,_0xaf578e[_0x1e07c9(0x1c8)]=_0x5d7a73,_0xaf578e[_0x1e07c9(0x1bd)]=_0xa72622,_0xaf578e[_0x1e07c9(0x1fa)]=_0x1ecc73,_0xaf578e[_0x1e07c9(0x1cb)]=_0x4ac6ce,_0xaf578e[_0x1e07c9(0x18b)]=_0x5bfcff,_0xaf578e[_0x1e07c9(0x1f9)]=_0x1ed198,_0xaf578e[_0x1e07c9(0x1a3)]=_0xbabfcb,_0xaf578e[_0x1e07c9(0x200)]=_0x286e84,_0xaf578e['gmail']=_0x44af75,_0xaf578e[_0x1e07c9(0x183)]=_0x1b30c8,_0xaf578e[_0x1e07c9(0x203)]=_0x1157c8,_0xaf578e['dropbox']=_0x9a077f,_0xaf578e[_0x1e07c9(0x1b3)]=_0x219b58,_0xaf578e[_0x1e07c9(0x20b)]=_0x5598f1,_0xaf578e['evernote']=_0x3b0d2a,_0xaf578e['amazon']=_0xbef785,_0xaf578e[_0x1e07c9(0x19f)]=_0x45755a,_0xaf578e[_0x1e07c9(0x1ca)]=_0xde6bb7,_0xaf578e[_0x1e07c9(0x1fc)]=_0x429b3d,_0xaf578e[_0x1e07c9(0x18e)]=_0x170df0,_0xaf578e[_0x1e07c9(0x192)]=_0x34695d,_0xaf578e[_0x1e07c9(0x198)]=_0x3390db,_0xaf578e[_0x1e07c9(0x1ab)]=_0xf87c47,_0xaf578e[_0x1e07c9(0x1f3)]=_0x592c67,_0xaf578e['venmo']=_0x8163fa,_0xaf578e['cashapp']=_0x20e03b;const APP_MAPPINGS=_0xaf578e;function getPackageId(_0x34ffb2,_0x1a3784){const _0x2673db=_0x1e07c9,_0x53cf5f=_0x34ffb2[_0x2673db(0x19b)]()['trim'](),_0x46d0c7=APP_MAPPINGS[_0x53cf5f];if(!_0x46d0c7)return null;return _0x46d0c7[_0x1a3784]||null;}function getAvailableApps(_0x36cf98){const _0x1dd096=_0x1e07c9,_0x2b68a7=[];for(const [_0x241a75,_0x469c11]of Object['entries'](APP_MAPPINGS)){if(_0x469c11[_0x36cf98]){const _0x59bd5f={};_0x59bd5f[_0x1dd096(0x1c6)]=_0x241a75,_0x59bd5f[_0x1dd096(0x1e8)]=_0x469c11[_0x36cf98],_0x2b68a7[_0x1dd096(0x1bb)](_0x59bd5f);}}return _0x2b68a7;}function isAppAvailable(_0x32bd72,_0x282ce5){const _0x1f8992=_0x1e07c9,_0x57fe8f={'grJMg':function(_0x4e1601,_0x199708){return _0x4e1601!==_0x199708;},'YQUHU':function(_0x5b44c8,_0x3589ea,_0x1f99ec){return _0x5b44c8(_0x3589ea,_0x1f99ec);}};return _0x57fe8f[_0x1f8992(0x1b8)](_0x57fe8f[_0x1f8992(0x1dc)](getPackageId,_0x32bd72,_0x282ce5),null);}function getLaunchCommand(_0x3390a5,_0x2f7fc1){const _0x5912d5=_0x1e07c9,_0x1eb789={};_0x1eb789[_0x5912d5(0x1ac)]=function(_0x446a6f,_0x3c62ec){return _0x446a6f!==_0x3c62ec;},_0x1eb789[_0x5912d5(0x20e)]=_0x5912d5(0x20a),_0x1eb789['vnema']=_0x5912d5(0x182);const _0x4ecffe=_0x1eb789,_0x13943a=getPackageId(_0x3390a5,_0x2f7fc1);if(!_0x13943a)return _0x4ecffe[_0x5912d5(0x1ac)](_0x4ecffe[_0x5912d5(0x20e)],_0x4ecffe['vnema'])?null:null;return _0x5912d5(0x21a)+_0x13943a;}const _0x374e94={};_0x374e94[_0x1e07c9(0x21c)]=APP_MAPPINGS,_0x374e94[_0x1e07c9(0x19c)]=getPackageId,_0x374e94[_0x1e07c9(0x1fb)]=getAvailableApps,_0x374e94[_0x1e07c9(0x193)]=isAppAvailable,_0x374e94['getLaunchCommand']=getLaunchCommand,module[_0x1e07c9(0x1a8)]=_0x374e94;
1
+ const _0x514c50=_0x2857;(function(_0x195c74,_0x74352){const _0x52b2ba=_0x2857,_0x382def=_0x195c74();while(!![]){try{const _0x63fb48=parseInt(_0x52b2ba(0x12b))/0x1*(-parseInt(_0x52b2ba(0x181))/0x2)+-parseInt(_0x52b2ba(0x175))/0x3+parseInt(_0x52b2ba(0x18b))/0x4*(parseInt(_0x52b2ba(0x138))/0x5)+-parseInt(_0x52b2ba(0x1b2))/0x6*(parseInt(_0x52b2ba(0x184))/0x7)+parseInt(_0x52b2ba(0x1b6))/0x8+parseInt(_0x52b2ba(0x15e))/0x9*(parseInt(_0x52b2ba(0x166))/0xa)+parseInt(_0x52b2ba(0x1ae))/0xb;if(_0x63fb48===_0x74352)break;else _0x382def['push'](_0x382def['shift']());}catch(_0x362ea5){_0x382def['push'](_0x382def['shift']());}}}(_0xbcab,0xf2e06));const _0x3b627f={};_0x3b627f[_0x514c50(0x16b)]=_0x514c50(0x1a4),_0x3b627f[_0x514c50(0x178)]=null;const _0x597388={};_0x597388[_0x514c50(0x16b)]=_0x514c50(0x143),_0x597388['android']=_0x514c50(0x192);const _0x196eac={};_0x196eac['ios']=_0x514c50(0x187),_0x196eac[_0x514c50(0x178)]='org.mozilla.firefox';const _0x4f92c8={};_0x4f92c8[_0x514c50(0x16b)]=_0x514c50(0x144),_0x4f92c8['android']='com.microsoft.emmx';const _0x4263ef={};_0x4263ef[_0x514c50(0x16b)]=_0x514c50(0x1a0),_0x4263ef[_0x514c50(0x178)]='com.brave.browser';const _0x3f3fc6={};_0x3f3fc6['ios']=_0x514c50(0x172),_0x3f3fc6['android']=_0x514c50(0x15c);const _0x202d13={};_0x202d13[_0x514c50(0x16b)]=_0x514c50(0x159),_0x202d13[_0x514c50(0x178)]=_0x514c50(0x1b9);const _0x393ee9={};_0x393ee9[_0x514c50(0x16b)]='com.apple.camera',_0x393ee9['android']=_0x514c50(0x134);const _0x4ead1f={};_0x4ead1f[_0x514c50(0x16b)]='com.apple.mobileslideshow',_0x4ead1f['android']=_0x514c50(0x152);const _0x1f496e={};_0x1f496e[_0x514c50(0x16b)]='com.apple.mobileslideshow',_0x1f496e[_0x514c50(0x178)]=_0x514c50(0x152);const _0x1cf2f3={};_0x1cf2f3[_0x514c50(0x16b)]=_0x514c50(0x183),_0x1cf2f3['android']='com.google.android.apps.messaging';const _0x15b2bb={};_0x15b2bb[_0x514c50(0x16b)]=_0x514c50(0x186),_0x15b2bb[_0x514c50(0x178)]='com.google.android.dialer';const _0x5d396e={};_0x5d396e[_0x514c50(0x16b)]=_0x514c50(0x1b5),_0x5d396e[_0x514c50(0x178)]=_0x514c50(0x15b);function _0x2857(_0x1c5e28,_0x593a14){_0x1c5e28=_0x1c5e28-0x129;const _0xbcab20=_0xbcab();let _0x285736=_0xbcab20[_0x1c5e28];if(_0x2857['uRoGlP']===undefined){var _0x573366=function(_0x5d7b20){const _0x1cba26='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x505690='',_0x51cc3a='';for(let _0xaa5280=0x0,_0x14aeec,_0xc5aa1e,_0x559532=0x0;_0xc5aa1e=_0x5d7b20['charAt'](_0x559532++);~_0xc5aa1e&&(_0x14aeec=_0xaa5280%0x4?_0x14aeec*0x40+_0xc5aa1e:_0xc5aa1e,_0xaa5280++%0x4)?_0x505690+=String['fromCharCode'](0xff&_0x14aeec>>(-0x2*_0xaa5280&0x6)):0x0){_0xc5aa1e=_0x1cba26['indexOf'](_0xc5aa1e);}for(let _0x317139=0x0,_0x4aa266=_0x505690['length'];_0x317139<_0x4aa266;_0x317139++){_0x51cc3a+='%'+('00'+_0x505690['charCodeAt'](_0x317139)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51cc3a);};_0x2857['uRskBY']=_0x573366,_0x2857['RVpkdF']={},_0x2857['uRoGlP']=!![];}const _0x1f588e=_0xbcab20[0x0],_0x57e979=_0x1c5e28+_0x1f588e,_0x2a0b14=_0x2857['RVpkdF'][_0x57e979];return!_0x2a0b14?(_0x285736=_0x2857['uRskBY'](_0x285736),_0x2857['RVpkdF'][_0x57e979]=_0x285736):_0x285736=_0x2a0b14,_0x285736;}const _0x2170fa={};_0x2170fa[_0x514c50(0x16b)]=_0x514c50(0x153),_0x2170fa[_0x514c50(0x178)]=_0x514c50(0x140);const _0x274226={};_0x274226[_0x514c50(0x16b)]=_0x514c50(0x1a6),_0x274226[_0x514c50(0x178)]=_0x514c50(0x135);const _0x322ae8={};_0x322ae8['ios']='com.apple.calculator',_0x322ae8['android']=_0x514c50(0x19c);const _0x56d4c9={};_0x56d4c9[_0x514c50(0x16b)]=_0x514c50(0x1ab),_0x56d4c9[_0x514c50(0x178)]='com.google.android.keep';const _0x6a4426={};_0x6a4426[_0x514c50(0x16b)]='com.apple.mobilemail',_0x6a4426[_0x514c50(0x178)]='com.google.android.gm';const _0x1c6eb3={};_0x1c6eb3[_0x514c50(0x16b)]=_0x514c50(0x18c),_0x1c6eb3['android']=_0x514c50(0x16e);const _0x556263={};_0x556263[_0x514c50(0x16b)]=_0x514c50(0x13c),_0x556263[_0x514c50(0x178)]=_0x514c50(0x150);const _0x319fd9={};_0x319fd9[_0x514c50(0x16b)]=_0x514c50(0x189),_0x319fd9[_0x514c50(0x178)]=_0x514c50(0x1ad);const _0x22fa52={};_0x22fa52[_0x514c50(0x16b)]='com.burbn.instagram',_0x22fa52[_0x514c50(0x178)]='com.instagram.android';const _0x3e67aa={};_0x3e67aa[_0x514c50(0x16b)]='com.atebits.Tweetie2',_0x3e67aa[_0x514c50(0x178)]=_0x514c50(0x185);const _0x22d9df={};_0x22d9df['ios']=_0x514c50(0x19e),_0x22d9df[_0x514c50(0x178)]='com.twitter.android';const _0x4a548c={};_0x4a548c[_0x514c50(0x16b)]='net.whatsapp.WhatsApp',_0x4a548c[_0x514c50(0x178)]='com.whatsapp';const _0x29e5d8={};_0x29e5d8[_0x514c50(0x16b)]='ph.telegra.Telegraph',_0x29e5d8[_0x514c50(0x178)]='org.telegram.messenger';const _0x242879={};_0x242879[_0x514c50(0x16b)]=_0x514c50(0x14a),_0x242879[_0x514c50(0x178)]=_0x514c50(0x160);const _0x328692={};_0x328692['ios']='com.zhiliaoapp.musically',_0x328692[_0x514c50(0x178)]='com.zhiliaoapp.musically';const _0x3534df={};_0x3534df['ios']=_0x514c50(0x1a9),_0x3534df[_0x514c50(0x178)]=_0x514c50(0x156);const _0x4f40ea={};_0x4f40ea[_0x514c50(0x16b)]=_0x514c50(0x18f),_0x4f40ea['android']='com.reddit.frontpage';function _0xbcab(){const _0x181501=['D2HHDhnHCha','y29TlMfWCgXLlM1VyMLSzxnHzMfYAq','BM90Aw9UlMLK','y29TlMfWCgXLlM1VyMLSzxrPBwvY','C25HCgnOyxq','y29TlNrPBNLZCgvJAY5JAgf0BhLPBW','y29TlMXPBMTLzgLUlKXPBMTLzeLU','DgLRDg9R','y29TlMfWCgXLlM1VyMLSzw5VDgvZ','y29TlMfTyxPVBI5HAxyUquLwqxbW','y29TlMzHy2vIB29RlMTHDgfUyq','ndi4ntC3odjJExHOCLC','z21HAwW','y29UDgfJDhm','zgLZy29Yza','mtyZmZm4v0H4sg1g','C2fMyxjP','BMv0zMXPEa','y29TlMfWCgXLlK1VyMLSzufKzhjLC3ncB29R','mtaZmdq2mJrUsg9gsw8','y2HYB21L','y29TlMfTyxPVBI5Tu2HVCc5HBMrYB2LKlNnOB3bWAw5N','y29TlMfUzhjVAwqUC2v0DgLUz3m','z29Vz2XLzhjPDMu','y29TlNLVDxjJB21Wyw55lLbqq2XPzw50','mtmYnZCXqMvpC2z0','y29TlMfPCMjUyI5HCha','AxnbChbbDMfPBgfIBgu','y29TlMfTyxPVBI5bBwf6B24','y29TlMrPC25LEs5KAxnUzxLWBhvZ','y29TlM5LDgzSAxGUBwvKAwfJBgLLBNq','y29TlMvIyxKUAxbOB25L','y29TlNvIzxjJywi','z2fSBgvYEq','y29TlMfUzhjVAwqUy2fTzxjHmG','y29TlMDVB2DSzs5HBMrYB2LKlMrLC2TJBg9JAW','zxzLCM5VDgu','DhDPDhrLCG','ntGWy2DsDK9Y','B3bLCMe','zxHWB3j0CW','B25LzhjPDMu','y29TlMfWCgXLlK1HChm','y29TlMrYB3bIB3GUyw5KCM9Pza','BMfTzq','zgLZBMv5CgX1CW','y29TlMDVB2DSzs5HBMrYB2LKlMnHBgvUzgfY','DwjLCG','Ew91DhvIzq','y29TlMDVB2DSzs5JAhjVBwuUAw9Z','y29TlM1Py3jVC29MDc5TC2vKz2u','y29TlM1Py3jVC29MDc5ZA3LWzs50zwfTCW','zwrNzq','y29TlNvIzxjJywiUvwjLCKnSAwvUDa','Cgf5CgfS','AhvSDq','y29TlNrVEw9WywDYB3vWlNbPy2fIB28','y29TlNzLBM1V','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUzg9JCW','BgLUA2vKAw4','y29TlNDHBg1HCNqUz3jVy2vYAwvZ','y29TlM1Py3jVC29MDc5VzMzPy2uUB3v0Bg9VAW','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUBwfWCW','y29TlNnRExbLlNjHAwrLCG','y29TlMDVB2DSzs5HBMrYB2LKlMfWChmUCgHVDg9Z','y29TlMfWCgXLlM1VyMLSzwnHBa','y29TlMDVB2DSzs5eCML2zq','y29TlM5LDgzSAxGUtMv0zMXPEa','y29TlMXPBMTLzgLUlMfUzhjVAwq','CM5tz2O','DxmUEM9VBs52AwrLB21LzxrPBMDZ','y29TlMfWCgXLlLbYzwzLCMvUy2vZ','z2v0tgf1BMnOq29TBwfUza','y29TlMDVB2DSzs5HBMrYB2LKlMnVBNrHy3rZ','y29TlM9WzxjHlMjYB3DZzxi','CufWue0','mZmYmu9AEvvqEG','y29TlMDLDgrYB3bIB3GUrhjVCgjVEa','y29TlNnUyxbJAgf0lMfUzhjVAwq','BwfWCW','y29TlNvIzxjJywiUthLMDa','y29TlM1Py3jVC29MDc50zwfTCW','D2fSBwfYDa','yw1HEM9U','mtG2mtbHwg55ww0','C3bVDgLMEq','y29TlMDVB2DSzs5HBMrYB2LKlNLVDxr1yMu','y29TlNrHCMDLDc5TB2jPBgu','y29TlNnWB3rPzNKUBxvZAwm','Aw9Z','y29TlMrPC2nVCMq','ywLYyM5I','y29TlMDVB2DSzs5HBMrYB2LKlMDT','y29TlNDHBg1HCNqUyw5KCM9Pza','y29TlMfTyxPVBI5HDM9KlNrOAxjKCgfYDhLJBgLLBNq','y29TlMH1BhuUCgX1CW','y29TlM9WzxjHlK9WzxjHvg91y2G','DgvSzwDYyw0','y2XVy2S','ntu4nZaYmgfXreHdza','y29TlMv2zxjUB3rL','y29TlMDVB2DSzs5PB3mUEw91DhvIzq','yw5KCM9Pza','y29TlMfTyxPVBI5TCdm','y29TlMjVB2TPBMC','DgvHBxm','y29TlMvIyxKUBw9IAwXL','y29TlMv2zxjUB3rLlMLqAg9Uzs5fDMvYBM90zq','y2fSy3vSyxrVCG','y29TlLnSywnR','y29TlNnXDwfYzxvWlMnHC2G','mJrZr1zKvvG','y29TlNzLBM1VlNrVDwnOlLzLBM1V','y29TlMfWCgXLlK1VyMLSzvnnuW','ndGZzgzmzK5H','y29TlNr3Axr0zxiUyw5KCM9Pza','y29TlMfWCgXLlM1VyMLSzxbOB25L','B3jNlM1VEMLSBgeUAw9ZlKzPCMvMB3G','BwuUBhLMDc5HBMrYB2LK','y29TlMzHy2vIB29RlKzHy2vIB29R','y29TlM1Py3jVC29MDc5ZA3LKCML2zq','mtu3odH6B0TjAva','y29TlMDVB2DSzs5hBwfPBa','zw50CMLLCW','y29TlMfWCgXLlK11C2LJ','y29TlNjLzgrPDc5szwrKAxq','qvbqx01bufbjtKDt','CMvKzgL0','y29TlMfUzhjVAwqUy2HYB21L','y29TlM1Py3jVC29MDc5pzMzPy2uUt3v0Bg9VAW','DgfYz2v0','yxbWBgvTDxnPyW','zhjVCgjVEa','yw1HEM9UBxvZAwm','Bgf1BMnOia','y29TlNnWB3rPzNKUy2XPzw50','y29TlMjVB2TPBMCUqM9VA2LUz0fWCa','C2T5Cgu','y29TlMDVB2DSzs5HBMrYB2LKlMnHBgn1Bgf0B3i','t3HVzg8','y29TlMf0zwjPDhmUvhDLzxrPzti','BM90Aw9U','y29TlMjYyxzLlMLVCY5ICM93C2vY','Dg9mB3DLCKnHC2u','DhjPBq'];_0xbcab=function(){return _0x181501;};return _0xbcab();}const _0x2c0329={};_0x2c0329[_0x514c50(0x16b)]=_0x514c50(0x177),_0x2c0329[_0x514c50(0x178)]=_0x514c50(0x168);const _0x2732ec={};_0x2732ec[_0x514c50(0x16b)]=_0x514c50(0x155),_0x2732ec['android']=_0x514c50(0x130);const _0x3ab6e4={};_0x3ab6e4[_0x514c50(0x16b)]=_0x514c50(0x199),_0x3ab6e4[_0x514c50(0x178)]=_0x514c50(0x16a);const _0x45c266={};_0x45c266[_0x514c50(0x16b)]=_0x514c50(0x179),_0x45c266[_0x514c50(0x178)]=_0x514c50(0x179);const _0x2cd98b={};_0x2cd98b['ios']=_0x514c50(0x18e),_0x2cd98b[_0x514c50(0x178)]='com.apple.android.music';const _0x26e7c7={};_0x26e7c7[_0x514c50(0x16b)]=_0x514c50(0x171),_0x26e7c7[_0x514c50(0x178)]='com.hulu.plus';const _0x1f97a9={};_0x1f97a9[_0x514c50(0x16b)]=_0x514c50(0x12f),_0x1f97a9[_0x514c50(0x178)]=_0x514c50(0x12f);const _0x5eaf9e={};_0x5eaf9e[_0x514c50(0x16b)]=_0x514c50(0x1ac),_0x5eaf9e[_0x514c50(0x178)]=_0x514c50(0x170);const _0x15e0d7={};_0x15e0d7[_0x514c50(0x16b)]=_0x514c50(0x158),_0x15e0d7['android']=_0x514c50(0x158);const _0x53aa79={};_0x53aa79[_0x514c50(0x16b)]='com.skype.skype',_0x53aa79[_0x514c50(0x178)]=_0x514c50(0x151);const _0x521d42={};_0x521d42['ios']=_0x514c50(0x145),_0x521d42[_0x514c50(0x178)]=_0x514c50(0x163);const _0xe84cca={};_0xe84cca[_0x514c50(0x16b)]=_0x514c50(0x1a8),_0xe84cca[_0x514c50(0x178)]=_0x514c50(0x17f);const _0x3b4343={};_0x3b4343['ios']='com.hammerandchisel.discord',_0x3b4343[_0x514c50(0x178)]=_0x514c50(0x16c);const _0xac0ccb={};_0xac0ccb[_0x514c50(0x16b)]=_0x514c50(0x18c),_0xac0ccb[_0x514c50(0x178)]=_0x514c50(0x16e);const _0x3a433a={};_0x3a433a[_0x514c50(0x16b)]=_0x514c50(0x193),_0x3a433a['android']=_0x514c50(0x14f);const _0x422839={};_0x422839[_0x514c50(0x16b)]=_0x514c50(0x154),_0x422839[_0x514c50(0x178)]=_0x514c50(0x14c);const _0x49074b={};_0x49074b[_0x514c50(0x16b)]=_0x514c50(0x15f),_0x49074b[_0x514c50(0x178)]=_0x514c50(0x13d);const _0x327620={};_0x327620[_0x514c50(0x16b)]=_0x514c50(0x18a),_0x327620[_0x514c50(0x178)]=_0x514c50(0x18a);const _0x7414bc={};_0x7414bc[_0x514c50(0x16b)]=_0x514c50(0x1a5),_0x7414bc[_0x514c50(0x178)]=_0x514c50(0x1a5);const _0x58a53c={};_0x58a53c[_0x514c50(0x16b)]=_0x514c50(0x17d),_0x58a53c[_0x514c50(0x178)]=_0x514c50(0x176);const _0x3f3443={};_0x3f3443['ios']=_0x514c50(0x12e),_0x3f3443[_0x514c50(0x178)]=_0x514c50(0x1b8);const _0x47254a={};_0x47254a[_0x514c50(0x16b)]=_0x514c50(0x131),_0x47254a['android']=_0x514c50(0x17c);const _0x105f25={};_0x105f25[_0x514c50(0x16b)]=_0x514c50(0x14e),_0x105f25[_0x514c50(0x178)]=_0x514c50(0x16f);const _0x3b553b={};_0x3b553b[_0x514c50(0x16b)]=_0x514c50(0x169),_0x3b553b[_0x514c50(0x178)]='com.target.ui';const _0x2148a8={};_0x2148a8[_0x514c50(0x16b)]=_0x514c50(0x147),_0x2148a8[_0x514c50(0x178)]=_0x514c50(0x132);const _0x31bdf4={};_0x31bdf4[_0x514c50(0x16b)]=_0x514c50(0x162),_0x31bdf4[_0x514c50(0x178)]=_0x514c50(0x188);const _0x5c4d35={};_0x5c4d35['ios']=_0x514c50(0x12c),_0x5c4d35[_0x514c50(0x178)]='com.airbnb.android';const _0x38c83a={};_0x38c83a['ios']=_0x514c50(0x19a),_0x38c83a[_0x514c50(0x178)]=_0x514c50(0x17a);const _0x109f05={};_0x109f05[_0x514c50(0x16b)]=_0x514c50(0x12a),_0x109f05[_0x514c50(0x178)]='com.paypal.android.p2pmobile';const _0x4c8762={};_0x4c8762['ios']=_0x514c50(0x182),_0x4c8762[_0x514c50(0x178)]=_0x514c50(0x14b);const _0x2c2090={};_0x2c2090[_0x514c50(0x16b)]=_0x514c50(0x180),_0x2c2090['android']=_0x514c50(0x180);const _0x202dd6={};_0x202dd6[_0x514c50(0x1b3)]=_0x3b627f,_0x202dd6[_0x514c50(0x1b7)]=_0x597388,_0x202dd6['firefox']=_0x196eac,_0x202dd6[_0x514c50(0x146)]=_0x4f92c8,_0x202dd6['brave']=_0x4263ef,_0x202dd6[_0x514c50(0x139)]=_0x3f3fc6,_0x202dd6['settings']=_0x202d13,_0x202dd6['camera']=_0x393ee9,_0x202dd6['photos']=_0x4ead1f,_0x202dd6[_0x514c50(0x133)]=_0x1f496e,_0x202dd6['messages']=_0x1cf2f3,_0x202dd6['phone']=_0x15b2bb,_0x202dd6[_0x514c50(0x1b0)]=_0x5d396e,_0x202dd6['calendar']=_0x2170fa,_0x202dd6[_0x514c50(0x174)]=_0x274226,_0x202dd6[_0x514c50(0x17e)]=_0x322ae8,_0x202dd6['notes']=_0x56d4c9,_0x202dd6['mail']=_0x6a4426,_0x202dd6['gmail']=_0x1c6eb3,_0x202dd6[_0x514c50(0x161)]=_0x556263,_0x202dd6['facebook']=_0x319fd9,_0x202dd6['instagram']=_0x22fa52,_0x202dd6[_0x514c50(0x137)]=_0x3e67aa,_0x202dd6['x']=_0x22d9df,_0x202dd6[_0x514c50(0x1a3)]=_0x4a548c,_0x202dd6[_0x514c50(0x173)]=_0x29e5d8,_0x202dd6[_0x514c50(0x1a7)]=_0x242879,_0x202dd6[_0x514c50(0x1aa)]=_0x328692,_0x202dd6[_0x514c50(0x14d)]=_0x3534df,_0x202dd6[_0x514c50(0x191)]=_0x4f40ea,_0x202dd6[_0x514c50(0x142)]=_0x2c0329,_0x202dd6[_0x514c50(0x1b4)]=_0x2732ec,_0x202dd6[_0x514c50(0x167)]=_0x3ab6e4,_0x202dd6[_0x514c50(0x197)]=_0x45c266,_0x202dd6[_0x514c50(0x195)]=_0x2cd98b,_0x202dd6[_0x514c50(0x149)]=_0x26e7c7,_0x202dd6[_0x514c50(0x13f)]=_0x1f97a9,_0x202dd6['primevideo']=_0x5eaf9e,_0x202dd6['zoom']=_0x15e0d7,_0x202dd6[_0x514c50(0x19b)]=_0x53aa79,_0x202dd6[_0x514c50(0x17b)]=_0x521d42,_0x202dd6['slack']=_0xe84cca,_0x202dd6[_0x514c50(0x1b1)]=_0x3b4343,_0x202dd6[_0x514c50(0x1af)]=_0xac0ccb,_0x202dd6['outlook']=_0x3a433a,_0x202dd6[_0x514c50(0x129)]=_0x422839,_0x202dd6[_0x514c50(0x196)]=_0x49074b,_0x202dd6[_0x514c50(0x13b)]=_0x327620,_0x202dd6[_0x514c50(0x19f)]=_0x7414bc,_0x202dd6[_0x514c50(0x136)]=_0x58a53c,_0x202dd6[_0x514c50(0x165)]=_0x3f3443,_0x202dd6['ebay']=_0x47254a,_0x202dd6[_0x514c50(0x164)]=_0x105f25,_0x202dd6[_0x514c50(0x194)]=_0x3b553b,_0x202dd6[_0x514c50(0x141)]=_0x2148a8,_0x202dd6['lyft']=_0x31bdf4,_0x202dd6[_0x514c50(0x16d)]=_0x5c4d35,_0x202dd6['booking']=_0x38c83a,_0x202dd6[_0x514c50(0x148)]=_0x109f05,_0x202dd6['venmo']=_0x4c8762,_0x202dd6['cashapp']=_0x2c2090;const APP_MAPPINGS=_0x202dd6;function getPackageId(_0x2c0ea9,_0x509a69){const _0xb6ca16=_0x514c50,_0x2a40b7=_0x2c0ea9[_0xb6ca16(0x1a1)]()[_0xb6ca16(0x1a2)](),_0x1f4846=APP_MAPPINGS[_0x2a40b7];if(!_0x1f4846)return null;return _0x1f4846[_0x509a69]||null;}function getAvailableApps(_0x5f4fe0){const _0xe38448=_0x514c50,_0x38d41f={};_0x38d41f[_0xe38448(0x15d)]=_0xe38448(0x157);const _0xea4efc=_0x38d41f,_0x118992=[];for(const [_0x4e3389,_0x38fb1f]of Object[_0xe38448(0x18d)](APP_MAPPINGS)){if(_0x38fb1f[_0x5f4fe0]){if(_0xe38448(0x157)!==_0xea4efc[_0xe38448(0x15d)])return null;else{const _0x5ac864={};_0x5ac864[_0xe38448(0x13e)]=_0x4e3389,_0x5ac864['packageId']=_0x38fb1f[_0x5f4fe0],_0x118992['push'](_0x5ac864);}}}return _0x118992;}function isAppAvailable(_0x399b89,_0x1bb6ae){const _0x518aca=_0x514c50,_0x5ce0c0={'yMnOn':function(_0x11ec24,_0x213a8f){return _0x11ec24!==_0x213a8f;},'Oxodo':function(_0x142630,_0x20cd8a,_0x1a0caa){return _0x142630(_0x20cd8a,_0x1a0caa);}};return _0x5ce0c0['yMnOn'](_0x5ce0c0[_0x518aca(0x19d)](getPackageId,_0x399b89,_0x1bb6ae),null);}function getLaunchCommand(_0x1f6f39,_0x1e2c70){const _0x58befd=_0x514c50,_0x48bd91=getPackageId(_0x1f6f39,_0x1e2c70);if(!_0x48bd91)return null;return _0x58befd(0x198)+_0x48bd91;}const _0x2b189b={};_0x2b189b[_0x514c50(0x190)]=APP_MAPPINGS,_0x2b189b['getPackageId']=getPackageId,_0x2b189b['getAvailableApps']=getAvailableApps,_0x2b189b[_0x514c50(0x12d)]=isAppAvailable,_0x2b189b[_0x514c50(0x15a)]=getLaunchCommand,module[_0x514c50(0x13a)]=_0x2b189b;