@onairos/react-native 3.7.2 → 3.7.4

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 (237) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/components/BodyText.js +27 -9
  3. package/lib/commonjs/components/BrandMark.js +111 -10
  4. package/lib/commonjs/components/CodeInput.js +120 -9
  5. package/lib/commonjs/components/EmailInput.js +30 -8
  6. package/lib/commonjs/components/GoogleButton.js +56 -9
  7. package/lib/commonjs/components/HeadingGroup.js +43 -9
  8. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  9. package/lib/commonjs/components/ModalHeader.js +99 -9
  10. package/lib/commonjs/components/ModalSheet.js +47 -9
  11. package/lib/commonjs/components/Onairos.js +380 -14
  12. package/lib/commonjs/components/OnairosButton.js +313 -13
  13. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  14. package/lib/commonjs/components/Overlay.js +465 -13
  15. package/lib/commonjs/components/PersonaImage.js +137 -10
  16. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  17. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  18. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  19. package/lib/commonjs/components/PinInput.js +464 -9
  20. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  21. package/lib/commonjs/components/PlatformList.js +137 -10
  22. package/lib/commonjs/components/PlatformToggle.js +180 -9
  23. package/lib/commonjs/components/PrimaryButton.js +180 -10
  24. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  25. package/lib/commonjs/components/SignInStep.js +345 -12
  26. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  27. package/lib/commonjs/components/VerificationStep.js +176 -11
  28. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  29. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  30. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  31. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  32. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  33. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  34. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  35. package/lib/commonjs/components/icons/EnochE.js +41 -8
  36. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  37. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  38. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  39. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  40. package/lib/commonjs/components/icons/index.js +84 -17
  41. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  42. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  43. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  44. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  45. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  46. package/lib/commonjs/config/api.js +56 -7
  47. package/lib/commonjs/constants/index.js +120 -7
  48. package/lib/commonjs/context/AuthContext.js +345 -10
  49. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  50. package/lib/commonjs/hooks/useConnections.js +102 -8
  51. package/lib/commonjs/hooks/useCredentials.js +178 -10
  52. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  53. package/lib/commonjs/index.js +439 -34
  54. package/lib/commonjs/services/apiClient.js +298 -8
  55. package/lib/commonjs/services/biometricPinService.js +180 -8
  56. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  57. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  58. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  59. package/lib/commonjs/services/claudeConversationService.js +158 -9
  60. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  61. package/lib/commonjs/services/googleAuthService.js +252 -11
  62. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  63. package/lib/commonjs/services/hingeDataService.js +150 -9
  64. package/lib/commonjs/services/imageCompressionService.js +260 -7
  65. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  66. package/lib/commonjs/services/instagramDataService.js +163 -9
  67. package/lib/commonjs/services/jwtStorageService.js +276 -7
  68. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  69. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  70. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  71. package/lib/commonjs/services/llmDataStorage.js +294 -8
  72. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  73. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  74. package/lib/commonjs/services/netflixDataService.js +198 -9
  75. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  76. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  77. package/lib/commonjs/services/platformAuthService.js +1484 -12
  78. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  79. package/lib/commonjs/services/sephoraDataService.js +200 -9
  80. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  81. package/lib/commonjs/services/spotifyDataService.js +241 -9
  82. package/lib/commonjs/services/storageService.js +404 -8
  83. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  84. package/lib/commonjs/services/telegramDataService.js +499 -9
  85. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  86. package/lib/commonjs/services/userConnectionsService.js +340 -10
  87. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  88. package/lib/commonjs/theme/index.js +250 -7
  89. package/lib/commonjs/types/ambient.d.js +2 -1
  90. package/lib/commonjs/types/declarations.d.js +2 -1
  91. package/lib/commonjs/types/index.js +6 -1
  92. package/lib/commonjs/types/node-fix.d.js +2 -1
  93. package/lib/commonjs/types/node-override.d.js +2 -1
  94. package/lib/commonjs/types/opacity.d.js +2 -1
  95. package/lib/commonjs/types.js +14 -1
  96. package/lib/commonjs/utils/Portal.js +98 -8
  97. package/lib/commonjs/utils/api.js +130 -9
  98. package/lib/commonjs/utils/assetRegistry.js +210 -35
  99. package/lib/commonjs/utils/auth.js +112 -9
  100. package/lib/commonjs/utils/connectorTests.js +613 -29
  101. package/lib/commonjs/utils/crypto.js +62 -8
  102. package/lib/commonjs/utils/debugHelper.js +64 -1
  103. package/lib/commonjs/utils/encryption.js +76 -7
  104. package/lib/commonjs/utils/eventUtils.js +288 -1
  105. package/lib/commonjs/utils/haptics.js +66 -9
  106. package/lib/commonjs/utils/imagePreloader.js +6 -1
  107. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  108. package/lib/commonjs/utils/onairosApi.js +350 -9
  109. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  110. package/lib/commonjs/utils/retryHelper.js +220 -1
  111. package/lib/commonjs/utils/secureStorage.js +349 -10
  112. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  113. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  114. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  115. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  116. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  117. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  118. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  119. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  120. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  121. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  122. package/lib/module/api/index.js +211 -1
  123. package/lib/module/components/BodyText.js +20 -1
  124. package/lib/module/components/BrandMark.js +104 -1
  125. package/lib/module/components/CodeInput.js +113 -1
  126. package/lib/module/components/EmailInput.js +23 -1
  127. package/lib/module/components/GoogleButton.js +49 -1
  128. package/lib/module/components/HeadingGroup.js +36 -1
  129. package/lib/module/components/LLMDataInputModal.js +656 -7
  130. package/lib/module/components/ModalHeader.js +92 -1
  131. package/lib/module/components/ModalSheet.js +39 -1
  132. package/lib/module/components/Onairos.js +373 -1
  133. package/lib/module/components/OnairosButton.js +305 -1
  134. package/lib/module/components/OnairosSignInButton.js +121 -1
  135. package/lib/module/components/Overlay.js +456 -1
  136. package/lib/module/components/PersonaImage.js +129 -1
  137. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  138. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  139. package/lib/module/components/PinCreationScreen.js +396 -1
  140. package/lib/module/components/PinInput.js +456 -1
  141. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  142. package/lib/module/components/PlatformList.js +129 -1
  143. package/lib/module/components/PlatformToggle.js +173 -1
  144. package/lib/module/components/PrimaryButton.js +172 -1
  145. package/lib/module/components/SignInMatchAnimation.js +189 -1
  146. package/lib/module/components/SignInStep.js +338 -1
  147. package/lib/module/components/UniversalOnboarding.js +2770 -1
  148. package/lib/module/components/VerificationStep.js +168 -1
  149. package/lib/module/components/WelcomeScreen.js +453 -1
  150. package/lib/module/components/icons/Basicproficon.js +30 -1
  151. package/lib/module/components/icons/Basicprofile.js +14 -1
  152. package/lib/module/components/icons/Checkbox.js +14 -1
  153. package/lib/module/components/icons/Checkmark.js +20 -1
  154. package/lib/module/components/icons/Contentanalysis.js +14 -1
  155. package/lib/module/components/icons/Contenticon.js +32 -1
  156. package/lib/module/components/icons/EnochE.js +34 -1
  157. package/lib/module/components/icons/Personalityicon.js +23 -1
  158. package/lib/module/components/icons/Personalityprofile.js +14 -1
  159. package/lib/module/components/icons/Personalitytraits.js +14 -1
  160. package/lib/module/components/icons/Userpreferences.js +14 -1
  161. package/lib/module/components/icons/index.js +13 -1
  162. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  163. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  164. package/lib/module/components/onboarding/PinInput.js +274 -1
  165. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  166. package/lib/module/config/PLATFORM_APIS.md +849 -0
  167. package/lib/module/config/api.js +47 -1
  168. package/lib/module/constants/index.js +114 -1
  169. package/lib/module/context/AuthContext.js +335 -1
  170. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  171. package/lib/module/hooks/useConnections.js +95 -1
  172. package/lib/module/hooks/useCredentials.js +171 -6
  173. package/lib/module/hooks/useUserConnections.js +140 -1
  174. package/lib/module/index.js +172 -1
  175. package/lib/module/services/apiClient.js +295 -1
  176. package/lib/module/services/biometricPinService.js +169 -1
  177. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  178. package/lib/module/services/chatGPTConversationService.js +268 -1
  179. package/lib/module/services/claudeConversationExtractor.js +97 -1
  180. package/lib/module/services/claudeConversationService.js +151 -1
  181. package/lib/module/services/connectedAccountsService.js +293 -1
  182. package/lib/module/services/googleAuthService.js +241 -1
  183. package/lib/module/services/hingeDataExtractor.js +99 -1
  184. package/lib/module/services/hingeDataService.js +143 -1
  185. package/lib/module/services/imageCompressionService.js +250 -1
  186. package/lib/module/services/instagramDataExtractor.js +120 -1
  187. package/lib/module/services/instagramDataService.js +156 -1
  188. package/lib/module/services/jwtStorageService.js +257 -1
  189. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  190. package/lib/module/services/linkedinProfileService.js +210 -1
  191. package/lib/module/services/linkedinScrapingService.js +219 -1
  192. package/lib/module/services/llmDataStorage.js +277 -1
  193. package/lib/module/services/mobileTrainingService.js +173 -1
  194. package/lib/module/services/netflixDataExtractor.js +114 -1
  195. package/lib/module/services/netflixDataService.js +191 -1
  196. package/lib/module/services/pinEncryptionService.js +74 -6
  197. package/lib/module/services/pinStorageUtils.js +93 -1
  198. package/lib/module/services/platformAuthService.js +1461 -1
  199. package/lib/module/services/sephoraDataExtractor.js +134 -1
  200. package/lib/module/services/sephoraDataService.js +193 -1
  201. package/lib/module/services/spotifyDataExtractor.js +142 -1
  202. package/lib/module/services/spotifyDataService.js +234 -1
  203. package/lib/module/services/storageService.js +383 -1
  204. package/lib/module/services/telegramDataExtractor.js +109 -1
  205. package/lib/module/services/telegramDataService.js +493 -1
  206. package/lib/module/services/trainingApiHelpers.js +67 -1
  207. package/lib/module/services/userConnectionsService.js +329 -1
  208. package/lib/module/services/youtubeMigrationService.js +405 -1
  209. package/lib/module/theme/index.js +245 -1
  210. package/lib/module/types.js +10 -1
  211. package/lib/module/utils/Portal.js +90 -1
  212. package/lib/module/utils/api.js +118 -1
  213. package/lib/module/utils/assetRegistry.js +200 -34
  214. package/lib/module/utils/auth.js +100 -1
  215. package/lib/module/utils/connectorTests.js +600 -27
  216. package/lib/module/utils/crypto.js +54 -1
  217. package/lib/module/utils/debugHelper.js +54 -1
  218. package/lib/module/utils/encryption.js +67 -1
  219. package/lib/module/utils/eventUtils.js +270 -1
  220. package/lib/module/utils/haptics.js +59 -8
  221. package/lib/module/utils/imagePreloader.js +3 -1
  222. package/lib/module/utils/networkDiagnostics.js +217 -1
  223. package/lib/module/utils/onairosApi.js +333 -1
  224. package/lib/module/utils/programmaticFlow.js +111 -1
  225. package/lib/module/utils/retryHelper.js +211 -1
  226. package/lib/module/utils/secureStorage.js +330 -6
  227. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  228. package/lib/module/utils/webviewScripts/claude.js +370 -1
  229. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  230. package/lib/module/utils/webviewScripts/index.js +434 -1
  231. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  232. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  233. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  234. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  235. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  236. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  237. package/package.json +2 -2
@@ -1 +1,434 @@
1
- export{CHATGPT_CONSENT_POPUP_SCRIPT,CHATGPT_EXPORT_SCRIPT,CHATGPT_SUCCESS_SCRIPT,CHATGPT_ERROR_SCRIPT,CHATGPT_FETCH_MEMORIES_SCRIPT}from'./chatgpt';export{CLAUDE_CONSENT_POPUP_SCRIPT,CLAUDE_EXPORT_SCRIPT,CLAUDE_SUCCESS_SCRIPT,CLAUDE_ERROR_SCRIPT}from'./claude';export{LINKEDIN_APP_BLOCKER_SCRIPT,LINKEDIN_PROFILE_EXTRACTOR_SCRIPT,LINKEDIN_NAVIGATE_TO_PROFILE_SCRIPT,LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT,LINKEDIN_PROFILE_SCRAPER_SCRIPT,LINKEDIN_PROFILE_SUCCESS_SCRIPT,LINKEDIN_PROFILE_ERROR_SCRIPT}from'./linkedin';export{HINGE_CONSENT_POPUP_SCRIPT,HINGE_EXPORT_SCRIPT,HINGE_SUCCESS_SCRIPT,HINGE_ERROR_SCRIPT}from'./hinge';export{INSTAGRAM_CONSENT_POPUP_SCRIPT,INSTAGRAM_EXPORT_SCRIPT,INSTAGRAM_SUCCESS_SCRIPT,INSTAGRAM_ERROR_SCRIPT}from'./instagram';export{SEPHORA_CONSENT_POPUP_SCRIPT,SEPHORA_EXPORT_SCRIPT,SEPHORA_SUCCESS_SCRIPT,SEPHORA_ERROR_SCRIPT}from'./sephora';export{TELEGRAM_CONSENT_POPUP_SCRIPT,TELEGRAM_EXPORT_SCRIPT,TELEGRAM_SUCCESS_SCRIPT,TELEGRAM_ERROR_SCRIPT}from'./telegram';export{NETFLIX_CONSENT_POPUP_SCRIPT,NETFLIX_EXPORT_SCRIPT,NETFLIX_SUCCESS_SCRIPT,NETFLIX_ERROR_SCRIPT}from'./netflix';export{SPOTIFY_CONSENT_POPUP_SCRIPT,SPOTIFY_EXPORT_SCRIPT,SPOTIFY_SUCCESS_SCRIPT,SPOTIFY_ERROR_SCRIPT}from'./spotify';export const ANTI_DETECTION_SCRIPT='\x0a(function()\x20{\x0a\x20\x20//\x20Override\x20webdriver\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27webdriver\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20undefined\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20automation\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27automationController\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20undefined\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Ensure\x20proper\x20user\x20agent\x20and\x20platform\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27platform\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27iPhone\x27\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20plugins\x20(empty\x20in\x20real\x20mobile\x20Safari)\x0a\x20\x20Object.defineProperty(navigator,\x20\x27plugins\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20[]\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Override\x20languages\x0a\x20\x20Object.defineProperty(navigator,\x20\x27languages\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20[\x27en-US\x27,\x20\x27en\x27]\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Remove\x20automation-related\x20properties\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Array;\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Promise;\x0a\x20\x20delete\x20window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol;\x0a\x20\x20\x0a\x20\x20console.log(\x27🛡️\x20[ANTI-DETECTION]\x20Script\x20injected\x20successfully\x27);\x0a})();\x0atrue;\x0a';import{LINKEDIN_APP_BLOCKER_SCRIPT}from'./linkedin';export const getAntiDetectionScript=_0x291a2b=>{const _0x1a8741={'LYbWe':_0x55ac(0x0),'SrWUB':function(_0x11555e,_0x12b744){return _0x11555e+_0x12b744;},'unAkf':_0x55ac(0x1),'wfSLV':_0x55ac(0x2),'EUAbv':_0x55ac(0x3),'jwBCi':'anthropic','JjOAb':function(_0x36318c,_0x462c1f){return _0x36318c+_0x462c1f;},'XKMCe':_0x55ac(0x4),'KZrfs':_0x55ac(0x5),'RpYYy':function(_0x2aa7cd,_0x4f5ea3){return _0x2aa7cd+_0x4f5ea3;},'uUnUA':_0x55ac(0x6),'KgYOr':'telegram','dkOzv':function(_0xc08752,_0x4e328e){return _0xc08752+_0x4e328e;},'xhvqT':_0x55ac(0x7),'EQwcV':function(_0xeeb484,_0x1b678a){return _0xeeb484+_0x1b678a;}},_0x10d6d3=ANTI_DETECTION_SCRIPT;switch(_0x291a2b[_0x55ac(0x8)]()){case _0x1a8741[_0x55ac(0x9)]:return _0x1a8741[_0x55ac(0xa)](_0x1a8741[_0x55ac(0xa)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20LinkedIn-specific\x20anti-detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20\x0a\x20\x20//\x20Block\x20LinkedIn\x27s\x20tracking\x20scripts\x0a\x20\x20const\x20originalCreateElement\x20=\x20document.createElement.bind(document);\x0a\x20\x20document.createElement\x20=\x20function(tagName)\x20{\x0a\x20\x20\x20\x20const\x20element\x20=\x20originalCreateElement(tagName);\x0a\x20\x20\x20\x20if\x20(tagName.toLowerCase()\x20===\x20\x27script\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20originalSetAttribute\x20=\x20element.setAttribute.bind(element);\x0a\x20\x20\x20\x20\x20\x20element.setAttribute\x20=\x20function(name,\x20value)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(name\x20===\x20\x27src\x27\x20&&\x20value\x20&&\x20(value.includes(\x27tracking\x27)\x20||\x20value.includes(\x27analytics\x27)))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🛡️\x20[LINKEDIN]\x20Blocked\x20tracking\x20script:\x27,\x20value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20originalSetAttribute(name,\x20value);\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20element;\x0a\x20\x20};\x0a\x20\x20\x0a\x20\x20console.log(\x27🛡️\x20[LINKEDIN]\x20Enhanced\x20anti-detection\x20active\x27);\x0a})();\x0atrue;\x0a'),LINKEDIN_APP_BLOCKER_SCRIPT);case _0x1a8741[_0x55ac(0xb)]:case _0x1a8741[_0x55ac(0xc)]:return _0x10d6d3+_0x55ac(0xd);case _0x1a8741[_0x55ac(0xe)]:case _0x1a8741[_0x55ac(0xf)]:return _0x1a8741[_0x55ac(0x10)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Ensure\x20Claude\x20sees\x20us\x20as\x20a\x20real\x20mobile\x20browser\x0a\x20\x20console.log(\x27🛡️\x20[CLAUDE]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x11)]:return _0x1a8741['SrWUB'](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Hinge\x20anti-detection\x20settings\x0a\x20\x20console.log(\x27🛡️\x20[HINGE]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x12)]:return _0x1a8741['RpYYy'](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Instagram\x20has\x20sophisticated\x20bot\x20detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[INSTAGRAM]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x13)]:return _0x1a8741[_0x55ac(0x14)](_0x10d6d3,_0x55ac(0x15));case _0x1a8741[_0x55ac(0x16)]:return _0x1a8741['RpYYy'](_0x10d6d3,_0x55ac(0x17));case _0x55ac(0x18):return _0x1a8741[_0x55ac(0x19)](_0x10d6d3,'\x0a(function()\x20{\x0a\x20\x20//\x20Netflix\x20anti-detection\x20settings\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[NETFLIX]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a');case _0x1a8741[_0x55ac(0x1a)]:return _0x1a8741[_0x55ac(0x1b)](_0x10d6d3,_0x55ac(0x1c));default:return _0x10d6d3;}};export const LLM_PLATFORM_URLS={'chatgpt':_0x55ac(0x1d),'openai':_0x55ac(0x1d),'claude':_0x55ac(0x1e),'anthropic':_0x55ac(0x1e),'gemini':'https://gemini.google.com','grok':_0x55ac(0x1f)};export const APP_PLATFORM_URLS={'hinge':_0x55ac(0x20),'instagram':_0x55ac(0x21),'sephora':_0x55ac(0x22),'telegram':_0x55ac(0x23),'netflix':_0x55ac(0x24),'spotify':_0x55ac(0x25)};export const getLLMPlatformUrl=_0x4c37f9=>{const _0x219081=_0x4c37f9['toLowerCase']();return LLM_PLATFORM_URLS[_0x219081]||null;};export const isLLMPlatform=_0x579294=>{const _0x28a633={'oJTfx':_0x55ac(0x2),'TZnja':_0x55ac(0x3),'virCP':'anthropic','sphPA':'gemini'},_0x38d75e=[_0x55ac(0x1),_0x28a633[_0x55ac(0x26)],_0x28a633[_0x55ac(0x27)],_0x28a633[_0x55ac(0x28)],_0x28a633[_0x55ac(0x29)],_0x55ac(0x2a)];return _0x38d75e['includes'](_0x579294[_0x55ac(0x8)]());};export const isWebViewExtractionPlatform=_0x4c0475=>{const _0x3284f3={'cJADK':_0x55ac(0x4),'JbZgn':'netflix','gMxEW':_0x55ac(0x7)},_0x148442=[_0x3284f3[_0x55ac(0x2b)],_0x55ac(0x5),_0x55ac(0x6),_0x55ac(0x2c),_0x3284f3[_0x55ac(0x2d)],_0x3284f3[_0x55ac(0x2e)]];return _0x148442[_0x55ac(0x2f)](_0x4c0475[_0x55ac(0x8)]());};export const isTelegramPlatform=_0x53bd3f=>{const _0x4ca4aa={'vJVnk':function(_0x214029,_0x720b3){return _0x214029===_0x720b3;}};return _0x4ca4aa[_0x55ac(0x30)](_0x53bd3f[_0x55ac(0x8)](),'telegram');};export const isHingePlatform=_0x34e1e0=>{return _0x34e1e0[_0x55ac(0x8)]()==='hinge';};export const isInstagramPlatform=_0x4d85ff=>{const _0x265668={'TRmtr':function(_0x5dbba5,_0x5b76e6){return _0x5dbba5===_0x5b76e6;},'IYgNE':_0x55ac(0x5)};return _0x265668[_0x55ac(0x31)](_0x4d85ff[_0x55ac(0x8)](),_0x265668[_0x55ac(0x32)]);};export const isSephoraPlatform=_0x26fd6d=>{const _0x415819={'UpOsd':function(_0x4a73ad,_0x48bb36){return _0x4a73ad===_0x48bb36;},'MKRyk':_0x55ac(0x6)};return _0x415819[_0x55ac(0x33)](_0x26fd6d[_0x55ac(0x8)](),_0x415819[_0x55ac(0x34)]);};function _0x276f(){const _0x555bbd=['linkedin','chatgpt','openai','claude','hinge','instagram','sephora','spotify','toLowerCase','LYbWe','SrWUB','unAkf','wfSLV','\x0a(function()\x20{\x0a\x20\x20//\x20Ensure\x20ChatGPT\x20sees\x20us\x20as\x20a\x20real\x20mobile\x20browser\x0a\x20\x20console.log(\x27🛡️\x20[CHATGPT]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','EUAbv','jwBCi','JjOAb','XKMCe','KZrfs','uUnUA','RpYYy','\x0a(function()\x20{\x0a\x20\x20//\x20Sephora\x20e-commerce\x20anti-detection\x0a\x20\x20console.log(\x27🛡️\x20[SEPHORA]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','KgYOr','\x0a(function()\x20{\x0a\x20\x20//\x20Telegram\x20Web\x20anti-detection\x0a\x20\x20console.log(\x27🛡️\x20[TELEGRAM]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','netflix','dkOzv','xhvqT','EQwcV','\x0a(function()\x20{\x0a\x20\x20//\x20Spotify\x20Web\x20Player\x20anti-detection\x0a\x20\x20Object.defineProperty(navigator,\x20\x27userAgent\x27,\x20{\x0a\x20\x20\x20\x20get:\x20()\x20=>\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20});\x0a\x20\x20console.log(\x27🛡️\x20[SPOTIFY]\x20Anti-detection\x20enhanced\x27);\x0a})();\x0atrue;\x0a','https://chat.openai.com','https://claude.ai/login','https://x.com/i/grok','https://hinge.co','https://www.instagram.com','https://www.sephora.com','https://web.telegram.org/k/','https://www.netflix.com','https://open.spotify.com','oJTfx','TZnja','virCP','sphPA','grok','cJADK','telegram','JbZgn','gMxEW','includes','vJVnk','TRmtr','IYgNE','UpOsd','MKRyk','lIpHT','ziUgc','Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1','anthropic','google','gemini','twitter','Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2015_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20CriOS/94.0.4606.76\x20Mobile/15E148\x20Safari/604.1','Mozilla/5.0\x20(Macintosh;\x20Intel\x20Mac\x20OS\x20X\x2010_15_7)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/120.0.0.0\x20Safari/537.36','xLWUy','XdWoU','DPSHA','OpVIv','cXFLF','bZCqn','nJFnt','Mozilla/5.0\x20(Linux;\x20Android\x2010;\x20SM-G975F)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/91.0.4472.120\x20Mobile\x20Safari/537.36','vMkCK','XPijK','MncFJ','lyfIm','ZnEIO','rqWBb','wrKfY','nwRdS','chat.openai.com','/auth','/new','hinge.co','/signup','/accounts/login','/accounts/signup','https://www.instagram.com/','/direct/','/profile','/account','/k/','/browse','/title','/latest','open.spotify.com','/authorize','/playlist','/track','/artist','/search','https://open.spotify.com/','VOvoI','gKmjW','NGlfF','hCERg','RZbPe','https://chat.openai.com/','/c/','MlVPO','eegYS','kNLwz','nbHpY','https://claude.ai/','eYztJ','mNnsS','x.com/i/grok','YAEja','MdUQT','VYOce','GBOwa','dvhTw','uduLx','irvhq','sMNsD','KEKpQ','NtDvQ','/signin','jllps','Ahrwv','/cart','vsriD','CMGFL','/a/','endsWith','xdJGc','netflix.com','RGgSw','/watch','SWDiW','WWnrO','uVnNK','AOGOK','/collection','eetCK','/album','FlWzq','SLHsE','TgQTe','linkedin.com/in/','linkedin.com/me','quwBP','/challenge','/uas/challenge','/authwall','IJyMv','AqCpI','/uas/login','nIvPX','XbzDW','callback','onairos.uk','CDQHG'];_0x276f=function(){return _0x555bbd;};return _0x276f();}export const isNetflixPlatform=_0x541a97=>{const _0x1b9970={'lIpHT':_0x55ac(0x18)};return _0x541a97[_0x55ac(0x8)]()===_0x1b9970[_0x55ac(0x35)];};export const isSpotifyPlatform=_0x4e6fe8=>{const _0xd9cc6e={'ziUgc':_0x55ac(0x7)};return _0x4e6fe8['toLowerCase']()===_0xd9cc6e[_0x55ac(0x36)];};export const getAppPlatformUrl=_0x5a5e9c=>{const _0xb1d5c7=_0x5a5e9c[_0x55ac(0x8)]();return APP_PLATFORM_URLS[_0xb1d5c7]||null;};export const getPlatformUserAgent=_0x306672=>{const _0x146de8={'mYdKH':'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2014_4\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/14.0.3\x20Mobile/15E148\x20Safari/604.1','xLWUy':_0x55ac(0x0),'XdWoU':_0x55ac(0x37),'DghIm':_0x55ac(0x1),'DPSHA':_0x55ac(0x2),'OpVIv':_0x55ac(0x3),'cXFLF':_0x55ac(0x38),'bZCqn':'gmail','zugAw':_0x55ac(0x39),'nJFnt':_0x55ac(0x3a),'vMkCK':_0x55ac(0x3b),'XPijK':_0x55ac(0x3c),'MncFJ':_0x55ac(0x5),'lyfIm':'sephora','ZnEIO':_0x55ac(0x2c),'rqWBb':_0x55ac(0x3d),'wrKfY':_0x55ac(0x18),'nwRdS':'spotify'},_0x59ef7f=_0x146de8['mYdKH'];switch(_0x306672[_0x55ac(0x8)]()){case _0x146de8[_0x55ac(0x3e)]:return _0x146de8[_0x55ac(0x3f)];case _0x146de8['DghIm']:case _0x146de8[_0x55ac(0x40)]:return _0x146de8['XdWoU'];case _0x146de8[_0x55ac(0x41)]:case _0x146de8[_0x55ac(0x42)]:return _0x146de8[_0x55ac(0x3f)];case _0x146de8[_0x55ac(0x43)]:case _0x146de8['zugAw']:case _0x146de8[_0x55ac(0x44)]:return _0x55ac(0x45);case'x':case _0x146de8[_0x55ac(0x46)]:case _0x55ac(0x2a):return _0x146de8[_0x55ac(0x47)];case _0x55ac(0x4):return _0x146de8[_0x55ac(0x3f)];case _0x146de8[_0x55ac(0x48)]:return'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1';case _0x146de8[_0x55ac(0x49)]:return _0x55ac(0x37);case _0x146de8[_0x55ac(0x4a)]:return _0x146de8[_0x55ac(0x4b)];case _0x146de8[_0x55ac(0x4c)]:return _0x55ac(0x37);case _0x146de8[_0x55ac(0x4d)]:return _0x146de8[_0x55ac(0x3f)];default:return _0x59ef7f;}};export const isLoggedInUrl=(_0x1bcf77,_0x5ae670)=>{const _0x23d825={'VOvoI':_0x55ac(0x2),'gKmjW':_0x55ac(0x4e),'NGlfF':_0x55ac(0x4f),'hCERg':'/login','RZbPe':function(_0x17963a,_0x2cc294){return _0x17963a===_0x2cc294;},'eYztJ':'/chat','MlVPO':_0x55ac(0x3),'eegYS':_0x55ac(0x38),'kNLwz':'claude.ai','nbHpY':function(_0x4e3a08,_0x5d390b){return _0x4e3a08===_0x5d390b;},'lktyx':_0x55ac(0x50),'mNnsS':'gemini.google.com','YAEja':_0x55ac(0x4),'MdUQT':_0x55ac(0x51),'VYOce':_0x55ac(0x52),'GBOwa':_0x55ac(0x5),'dvhTw':'instagram.com','uduLx':_0x55ac(0x53),'mCcPC':_0x55ac(0x54),'irvhq':function(_0x1fabc8,_0x20a973){return _0x1fabc8===_0x20a973;},'sMNsD':_0x55ac(0x55),'KEKpQ':_0x55ac(0x56),'NtDvQ':'sephora','JSVWG':'sephora.com','jllps':_0x55ac(0x57),'Ahrwv':_0x55ac(0x58),'vsriD':_0x55ac(0x2c),'OwrYi':'web.telegram.org','CMGFL':_0x55ac(0x59),'xdJGc':'/z/','RGgSw':_0x55ac(0x5a),'SWDiW':_0x55ac(0x5b),'lUptK':'/my-list','WWnrO':_0x55ac(0x5c),'lRlcP':'spotify','uVnNK':_0x55ac(0x5d),'AOGOK':_0x55ac(0x5e),'vcktM':_0x55ac(0x5f),'eetCK':_0x55ac(0x60),'WRwDb':_0x55ac(0x61),'FlWzq':_0x55ac(0x62),'SLHsE':_0x55ac(0x63)},_0x5534e5=_0x5ae670[_0x55ac(0x8)](),_0x4662ec=_0x1bcf77['toLowerCase']();switch(_0x5534e5){case _0x55ac(0x1):case _0x23d825[_0x55ac(0x64)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x65)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&(_0x23d825[_0x55ac(0x68)](_0x4662ec,_0x55ac(0x69))||_0x4662ec['includes'](_0x23d825['eYztJ'])||_0x4662ec['includes'](_0x55ac(0x6a)));case _0x23d825[_0x55ac(0x6b)]:case _0x23d825[_0x55ac(0x6c)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x6d)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&(_0x23d825[_0x55ac(0x6e)](_0x4662ec,_0x55ac(0x6f))||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x70)])||_0x4662ec['includes'](_0x23d825['lktyx']));case _0x55ac(0x3a):return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x71)])&&!_0x4662ec[_0x55ac(0x2f)]('/auth')&&!_0x4662ec[_0x55ac(0x2f)]('/signin');case _0x55ac(0x2a):return _0x4662ec[_0x55ac(0x2f)](_0x55ac(0x72))&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825['hCERg']);case _0x23d825[_0x55ac(0x73)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x74)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec['includes'](_0x23d825[_0x55ac(0x66)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x75)]);case _0x23d825[_0x55ac(0x76)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x77)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x78)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825['mCcPC'])&&(_0x23d825[_0x55ac(0x79)](_0x4662ec,_0x23d825[_0x55ac(0x7a)])||_0x4662ec['includes'](_0x23d825[_0x55ac(0x7b)])||_0x4662ec['includes']('/explore/'));case _0x23d825[_0x55ac(0x7c)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825['JSVWG'])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x7d))&&(_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x7e)])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x7f)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x80)));case _0x23d825[_0x55ac(0x81)]:return _0x4662ec[_0x55ac(0x2f)](_0x23d825['OwrYi'])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x66)])&&(_0x4662ec[_0x55ac(0x2f)]('#')||_0x4662ec['endsWith'](_0x23d825[_0x55ac(0x82)])||_0x4662ec['endsWith'](_0x55ac(0x83))||_0x4662ec[_0x55ac(0x84)](_0x23d825[_0x55ac(0x85)]));case _0x55ac(0x18):return _0x4662ec['includes'](_0x55ac(0x86))&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x7d))&&(_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x87)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x88))||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x89)])||_0x4662ec[_0x55ac(0x2f)](_0x23d825['lUptK'])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8a)]));case _0x23d825['lRlcP']:return _0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8b)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x67)])&&!_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x8c)])&&(_0x4662ec['includes'](_0x55ac(0x8d))||_0x4662ec[_0x55ac(0x2f)](_0x23d825['vcktM'])||_0x4662ec['includes'](_0x23d825[_0x55ac(0x8e)])||_0x4662ec[_0x55ac(0x2f)](_0x55ac(0x8f))||_0x4662ec[_0x55ac(0x2f)](_0x23d825['WRwDb'])||_0x4662ec[_0x55ac(0x2f)](_0x23d825[_0x55ac(0x90)])||_0x4662ec===_0x23d825[_0x55ac(0x91)]);default:return![];}};export const isLinkedInPlatform=_0x14c096=>{const _0x82cc39={'TgQTe':function(_0x5c4d35,_0x216920){return _0x5c4d35===_0x216920;},'sasDg':_0x55ac(0x0)};return _0x82cc39[_0x55ac(0x92)](_0x14c096[_0x55ac(0x8)](),_0x82cc39['sasDg']);};function _0x55ac(_0x276f0d,_0x55aca7){_0x276f0d=_0x276f0d-0x0;const _0x3ed775=_0x276f();let _0x489081=_0x3ed775[_0x276f0d];return _0x489081;}export const isLinkedInProfilePage=_0x864b7b=>{const _0x1b9a25={'dWRqW':_0x55ac(0x93),'quwBP':_0x55ac(0x94)},_0x43f7c8=_0x864b7b['toLowerCase']();return _0x43f7c8[_0x55ac(0x2f)](_0x1b9a25['dWRqW'])||_0x43f7c8['includes'](_0x1b9a25[_0x55ac(0x95)]);};export const isLinkedInLoginPage=_0x196f8a=>{const _0x2a4e75={'IJyMv':'/login','AqCpI':'/checkpoint','LePBa':_0x55ac(0x96),'nIvPX':_0x55ac(0x97),'XbzDW':_0x55ac(0x98)},_0x5e3b7c=_0x196f8a[_0x55ac(0x8)]();return _0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x99)])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9a)])||_0x5e3b7c['includes'](_0x55ac(0x9b))||_0x5e3b7c['includes'](_0x2a4e75['LePBa'])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9c)])||_0x5e3b7c[_0x55ac(0x2f)](_0x2a4e75[_0x55ac(0x9d)]);};export const isLinkedInOAuthCallback=_0x23eb4b=>{const _0x4e2645={'CDQHG':_0x55ac(0x9e)},_0x4a0cd9=_0x23eb4b['toLowerCase']();return _0x4a0cd9[_0x55ac(0x2f)](_0x55ac(0x9f))&&_0x4a0cd9[_0x55ac(0x2f)](_0x4e2645[_0x55ac(0xa0)]);};
1
+ /**
2
+ * WebView Injection Scripts for LLM Platform Integrations
3
+ *
4
+ * This module exports all JavaScript scripts that are injected into WebViews
5
+ * to extract conversation data from LLM platforms (ChatGPT, Claude, etc.)
6
+ * and handle LinkedIn profile URL extraction.
7
+ */
8
+
9
+ // ChatGPT Scripts
10
+ export { CHATGPT_CONSENT_POPUP_SCRIPT, CHATGPT_EXPORT_SCRIPT, CHATGPT_SUCCESS_SCRIPT, CHATGPT_ERROR_SCRIPT, CHATGPT_FETCH_MEMORIES_SCRIPT } from './chatgpt';
11
+
12
+ // Claude Scripts
13
+ export { CLAUDE_CONSENT_POPUP_SCRIPT, CLAUDE_EXPORT_SCRIPT, CLAUDE_SUCCESS_SCRIPT, CLAUDE_ERROR_SCRIPT } from './claude';
14
+
15
+ // LinkedIn Scripts
16
+ export { LINKEDIN_APP_BLOCKER_SCRIPT, LINKEDIN_PROFILE_EXTRACTOR_SCRIPT, LINKEDIN_NAVIGATE_TO_PROFILE_SCRIPT, LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT, LINKEDIN_PROFILE_SCRAPER_SCRIPT, LINKEDIN_PROFILE_SUCCESS_SCRIPT, LINKEDIN_PROFILE_ERROR_SCRIPT } from './linkedin';
17
+
18
+ // Hinge Scripts
19
+ export { HINGE_CONSENT_POPUP_SCRIPT, HINGE_EXPORT_SCRIPT, HINGE_SUCCESS_SCRIPT, HINGE_ERROR_SCRIPT } from './hinge';
20
+
21
+ // Instagram Scripts
22
+ export { INSTAGRAM_CONSENT_POPUP_SCRIPT, INSTAGRAM_EXPORT_SCRIPT, INSTAGRAM_SUCCESS_SCRIPT, INSTAGRAM_ERROR_SCRIPT } from './instagram';
23
+
24
+ // Sephora Scripts
25
+ export { SEPHORA_CONSENT_POPUP_SCRIPT, SEPHORA_EXPORT_SCRIPT, SEPHORA_SUCCESS_SCRIPT, SEPHORA_ERROR_SCRIPT } from './sephora';
26
+
27
+ // Telegram Scripts
28
+ export { TELEGRAM_CONSENT_POPUP_SCRIPT, TELEGRAM_EXPORT_SCRIPT, TELEGRAM_SUCCESS_SCRIPT, TELEGRAM_ERROR_SCRIPT } from './telegram';
29
+
30
+ // Netflix Scripts
31
+ export { NETFLIX_CONSENT_POPUP_SCRIPT, NETFLIX_EXPORT_SCRIPT, NETFLIX_SUCCESS_SCRIPT, NETFLIX_ERROR_SCRIPT } from './netflix';
32
+
33
+ // Spotify Scripts
34
+ export { SPOTIFY_CONSENT_POPUP_SCRIPT, SPOTIFY_EXPORT_SCRIPT, SPOTIFY_SUCCESS_SCRIPT, SPOTIFY_ERROR_SCRIPT } from './spotify';
35
+
36
+ /**
37
+ * Anti-detection script to prevent WebView detection by platforms
38
+ * This helps avoid bot detection and ensures smooth login experience
39
+ */
40
+ export const ANTI_DETECTION_SCRIPT = `
41
+ (function() {
42
+ // Override webdriver detection
43
+ Object.defineProperty(navigator, 'webdriver', {
44
+ get: () => undefined
45
+ });
46
+
47
+ // Override automation detection
48
+ Object.defineProperty(navigator, 'automationController', {
49
+ get: () => undefined
50
+ });
51
+
52
+ // Ensure proper user agent and platform detection
53
+ Object.defineProperty(navigator, 'platform', {
54
+ get: () => 'iPhone'
55
+ });
56
+
57
+ // Override plugins (empty in real mobile Safari)
58
+ Object.defineProperty(navigator, 'plugins', {
59
+ get: () => []
60
+ });
61
+
62
+ // Override languages
63
+ Object.defineProperty(navigator, 'languages', {
64
+ get: () => ['en-US', 'en']
65
+ });
66
+
67
+ // Remove automation-related properties
68
+ delete window.cdc_adoQpoasnfa76pfcZLmcfl_Array;
69
+ delete window.cdc_adoQpoasnfa76pfcZLmcfl_Promise;
70
+ delete window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol;
71
+
72
+ console.log('🛡️ [ANTI-DETECTION] Script injected successfully');
73
+ })();
74
+ true;
75
+ `;
76
+
77
+ // Import LinkedIn app blocker for use in getAntiDetectionScript
78
+ import { LINKEDIN_APP_BLOCKER_SCRIPT } from './linkedin';
79
+
80
+ /**
81
+ * Get platform-specific anti-detection script
82
+ * Some platforms may need additional overrides
83
+ */
84
+ export const getAntiDetectionScript = platform => {
85
+ const baseScript = ANTI_DETECTION_SCRIPT;
86
+ switch (platform.toLowerCase()) {
87
+ case 'linkedin':
88
+ // LinkedIn has additional bot detection + app blocker
89
+ return baseScript + `
90
+ (function() {
91
+ // LinkedIn-specific anti-detection
92
+ Object.defineProperty(navigator, 'userAgent', {
93
+ get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
94
+ });
95
+
96
+ // Block LinkedIn's tracking scripts
97
+ const originalCreateElement = document.createElement.bind(document);
98
+ document.createElement = function(tagName) {
99
+ const element = originalCreateElement(tagName);
100
+ if (tagName.toLowerCase() === 'script') {
101
+ const originalSetAttribute = element.setAttribute.bind(element);
102
+ element.setAttribute = function(name, value) {
103
+ if (name === 'src' && value && (value.includes('tracking') || value.includes('analytics'))) {
104
+ console.log('🛡️ [LINKEDIN] Blocked tracking script:', value);
105
+ return;
106
+ }
107
+ return originalSetAttribute(name, value);
108
+ };
109
+ }
110
+ return element;
111
+ };
112
+
113
+ console.log('🛡️ [LINKEDIN] Enhanced anti-detection active');
114
+ })();
115
+ true;
116
+ ` + LINKEDIN_APP_BLOCKER_SCRIPT;
117
+ case 'chatgpt':
118
+ case 'openai':
119
+ // ChatGPT/OpenAI specific overrides
120
+ return baseScript + `
121
+ (function() {
122
+ // Ensure ChatGPT sees us as a real mobile browser
123
+ console.log('🛡️ [CHATGPT] Anti-detection enhanced');
124
+ })();
125
+ true;
126
+ `;
127
+ case 'claude':
128
+ case 'anthropic':
129
+ // Claude/Anthropic specific overrides
130
+ return baseScript + `
131
+ (function() {
132
+ // Ensure Claude sees us as a real mobile browser
133
+ console.log('🛡️ [CLAUDE] Anti-detection enhanced');
134
+ })();
135
+ true;
136
+ `;
137
+ case 'hinge':
138
+ // Hinge-specific overrides
139
+ return baseScript + `
140
+ (function() {
141
+ // Hinge anti-detection settings
142
+ console.log('🛡️ [HINGE] Anti-detection enhanced');
143
+ })();
144
+ true;
145
+ `;
146
+ case 'instagram':
147
+ // Instagram-specific overrides
148
+ return baseScript + `
149
+ (function() {
150
+ // Instagram has sophisticated bot detection
151
+ Object.defineProperty(navigator, 'userAgent', {
152
+ get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
153
+ });
154
+ console.log('🛡️ [INSTAGRAM] Anti-detection enhanced');
155
+ })();
156
+ true;
157
+ `;
158
+ case 'sephora':
159
+ // Sephora-specific overrides
160
+ return baseScript + `
161
+ (function() {
162
+ // Sephora e-commerce anti-detection
163
+ console.log('🛡️ [SEPHORA] Anti-detection enhanced');
164
+ })();
165
+ true;
166
+ `;
167
+ case 'telegram':
168
+ // Telegram-specific overrides
169
+ return baseScript + `
170
+ (function() {
171
+ // Telegram Web anti-detection
172
+ console.log('🛡️ [TELEGRAM] Anti-detection enhanced');
173
+ })();
174
+ true;
175
+ `;
176
+ case 'netflix':
177
+ // Netflix-specific overrides
178
+ return baseScript + `
179
+ (function() {
180
+ // Netflix anti-detection settings
181
+ Object.defineProperty(navigator, 'userAgent', {
182
+ get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
183
+ });
184
+ console.log('🛡️ [NETFLIX] Anti-detection enhanced');
185
+ })();
186
+ true;
187
+ `;
188
+ case 'spotify':
189
+ // Spotify-specific overrides
190
+ return baseScript + `
191
+ (function() {
192
+ // Spotify Web Player anti-detection
193
+ Object.defineProperty(navigator, 'userAgent', {
194
+ get: () => 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'
195
+ });
196
+ console.log('🛡️ [SPOTIFY] Anti-detection enhanced');
197
+ })();
198
+ true;
199
+ `;
200
+ default:
201
+ return baseScript;
202
+ }
203
+ };
204
+
205
+ /**
206
+ * LLM Platform URLs
207
+ */
208
+ export const LLM_PLATFORM_URLS = {
209
+ chatgpt: 'https://chat.openai.com',
210
+ openai: 'https://chat.openai.com',
211
+ claude: 'https://claude.ai/login',
212
+ anthropic: 'https://claude.ai/login',
213
+ gemini: 'https://gemini.google.com',
214
+ grok: 'https://x.com/i/grok' // Grok is accessed via X/Twitter
215
+ };
216
+
217
+ /**
218
+ * Social/App Platform URLs (WebView-based extraction)
219
+ */
220
+ export const APP_PLATFORM_URLS = {
221
+ hinge: 'https://hinge.co',
222
+ // PLACEHOLDER - may need mobile web URL
223
+ instagram: 'https://www.instagram.com',
224
+ sephora: 'https://www.sephora.com',
225
+ telegram: 'https://web.telegram.org/k/',
226
+ // Telegram Web K (most compatible)
227
+ netflix: 'https://www.netflix.com',
228
+ spotify: 'https://open.spotify.com'
229
+ };
230
+
231
+ /**
232
+ * Get the login URL for an LLM platform
233
+ */
234
+ export const getLLMPlatformUrl = platform => {
235
+ const normalizedPlatform = platform.toLowerCase();
236
+ return LLM_PLATFORM_URLS[normalizedPlatform] || null;
237
+ };
238
+
239
+ /**
240
+ * Check if a platform is an LLM platform
241
+ */
242
+ export const isLLMPlatform = platform => {
243
+ const llmPlatforms = ['chatgpt', 'openai', 'claude', 'anthropic', 'gemini', 'grok'];
244
+ return llmPlatforms.includes(platform.toLowerCase());
245
+ };
246
+
247
+ /**
248
+ * Check if a platform is a WebView-extraction platform (non-LLM)
249
+ * These platforms use WebView + JS injection for data extraction
250
+ */
251
+ export const isWebViewExtractionPlatform = platform => {
252
+ const webViewPlatforms = ['hinge', 'instagram', 'sephora', 'telegram', 'netflix', 'spotify'];
253
+ return webViewPlatforms.includes(platform.toLowerCase());
254
+ };
255
+
256
+ /**
257
+ * Check if platform is Telegram
258
+ */
259
+ export const isTelegramPlatform = platform => {
260
+ return platform.toLowerCase() === 'telegram';
261
+ };
262
+
263
+ /**
264
+ * Check if platform is Hinge
265
+ */
266
+ export const isHingePlatform = platform => {
267
+ return platform.toLowerCase() === 'hinge';
268
+ };
269
+
270
+ /**
271
+ * Check if platform is Instagram (WebView extraction mode)
272
+ */
273
+ export const isInstagramPlatform = platform => {
274
+ return platform.toLowerCase() === 'instagram';
275
+ };
276
+
277
+ /**
278
+ * Check if platform is Sephora
279
+ */
280
+ export const isSephoraPlatform = platform => {
281
+ return platform.toLowerCase() === 'sephora';
282
+ };
283
+
284
+ /**
285
+ * Check if platform is Netflix
286
+ */
287
+ export const isNetflixPlatform = platform => {
288
+ return platform.toLowerCase() === 'netflix';
289
+ };
290
+
291
+ /**
292
+ * Check if platform is Spotify
293
+ */
294
+ export const isSpotifyPlatform = platform => {
295
+ return platform.toLowerCase() === 'spotify';
296
+ };
297
+
298
+ /**
299
+ * Get the WebView URL for a platform
300
+ */
301
+ export const getAppPlatformUrl = platform => {
302
+ const normalizedPlatform = platform.toLowerCase();
303
+ return APP_PLATFORM_URLS[normalizedPlatform] || null;
304
+ };
305
+
306
+ /**
307
+ * Get platform-specific user agent for optimal experience
308
+ * Different platforms may require different user agents for proper rendering
309
+ */
310
+ export const getPlatformUserAgent = platform => {
311
+ const defaultUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
312
+ switch (platform.toLowerCase()) {
313
+ case 'linkedin':
314
+ // LinkedIn-optimized user agent - iOS Safari
315
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
316
+ case 'chatgpt':
317
+ case 'openai':
318
+ // ChatGPT-optimized user agent
319
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
320
+ case 'claude':
321
+ case 'anthropic':
322
+ // Claude-optimized user agent
323
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
324
+ case 'gmail':
325
+ case 'google':
326
+ case 'gemini':
327
+ // Chrome user agent for Google services
328
+ return "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36";
329
+ case 'x':
330
+ case 'twitter':
331
+ case 'grok':
332
+ // Standard mobile Chrome for X/Twitter/Grok
333
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/94.0.4606.76 Mobile/15E148 Safari/604.1";
334
+ case 'hinge':
335
+ // Hinge mobile web user agent
336
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
337
+ case 'instagram':
338
+ // Instagram mobile web user agent
339
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
340
+ case 'sephora':
341
+ // Sephora mobile web user agent
342
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
343
+ case 'telegram':
344
+ // Telegram Web user agent (desktop Chrome works better)
345
+ return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36";
346
+ case 'netflix':
347
+ // Netflix mobile web user agent
348
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
349
+ case 'spotify':
350
+ // Spotify Web Player user agent
351
+ return "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
352
+ default:
353
+ return defaultUA;
354
+ }
355
+ };
356
+
357
+ /**
358
+ * Check if URL indicates successful login for a platform
359
+ */
360
+ export const isLoggedInUrl = (url, platform) => {
361
+ const normalizedPlatform = platform.toLowerCase();
362
+ const normalizedUrl = url.toLowerCase();
363
+ switch (normalizedPlatform) {
364
+ case 'chatgpt':
365
+ case 'openai':
366
+ // After login, ChatGPT redirects to the main chat page
367
+ return normalizedUrl.includes('chat.openai.com') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/login') && (normalizedUrl === 'https://chat.openai.com/' || normalizedUrl.includes('/chat') || normalizedUrl.includes('/c/'));
368
+ case 'claude':
369
+ case 'anthropic':
370
+ // After login, Claude redirects to the main page or a chat
371
+ return normalizedUrl.includes('claude.ai') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/auth') && (normalizedUrl === 'https://claude.ai/' || normalizedUrl.includes('/chat') || normalizedUrl.includes('/new'));
372
+ case 'gemini':
373
+ // After login, Gemini redirects to the main app
374
+ return normalizedUrl.includes('gemini.google.com') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/signin');
375
+ case 'grok':
376
+ // After login on X, Grok is accessible
377
+ return normalizedUrl.includes('x.com/i/grok') && !normalizedUrl.includes('/login');
378
+ case 'hinge':
379
+ // Hinge logged in detection
380
+ return normalizedUrl.includes('hinge.co') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/auth') && !normalizedUrl.includes('/signup');
381
+ case 'instagram':
382
+ // Instagram logged in detection
383
+ return normalizedUrl.includes('instagram.com') && !normalizedUrl.includes('/accounts/login') && !normalizedUrl.includes('/accounts/signup') && (normalizedUrl === 'https://www.instagram.com/' || normalizedUrl.includes('/direct/') || normalizedUrl.includes('/explore/'));
384
+ case 'sephora':
385
+ // Sephora logged in detection
386
+ return normalizedUrl.includes('sephora.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/signin') && (normalizedUrl.includes('/profile') || normalizedUrl.includes('/account') || normalizedUrl.includes('/cart'));
387
+ case 'telegram':
388
+ // Telegram Web logged in detection
389
+ // When logged in, URL changes from /k/ auth to /k/#chats or similar
390
+ return normalizedUrl.includes('web.telegram.org') && !normalizedUrl.includes('/auth') && (normalizedUrl.includes('#') ||
391
+ // Has hash fragment (indicates loaded app)
392
+ normalizedUrl.endsWith('/k/') || normalizedUrl.endsWith('/a/') || normalizedUrl.endsWith('/z/'));
393
+ case 'netflix':
394
+ // Netflix logged in detection
395
+ return normalizedUrl.includes('netflix.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/signin') && (normalizedUrl.includes('/browse') || normalizedUrl.includes('/watch') || normalizedUrl.includes('/title') || normalizedUrl.includes('/my-list') || normalizedUrl.includes('/latest'));
396
+ case 'spotify':
397
+ // Spotify Web Player logged in detection
398
+ return normalizedUrl.includes('open.spotify.com') && !normalizedUrl.includes('/login') && !normalizedUrl.includes('/authorize') && (normalizedUrl.includes('/collection') || normalizedUrl.includes('/playlist') || normalizedUrl.includes('/track') || normalizedUrl.includes('/album') || normalizedUrl.includes('/artist') || normalizedUrl.includes('/search') || normalizedUrl === 'https://open.spotify.com/');
399
+ default:
400
+ return false;
401
+ }
402
+ };
403
+
404
+ /**
405
+ * Check if a platform is LinkedIn
406
+ */
407
+ export const isLinkedInPlatform = platform => {
408
+ return platform.toLowerCase() === 'linkedin';
409
+ };
410
+
411
+ /**
412
+ * Check if URL is a LinkedIn profile page
413
+ */
414
+ export const isLinkedInProfilePage = url => {
415
+ const normalizedUrl = url.toLowerCase();
416
+ return normalizedUrl.includes('linkedin.com/in/') || normalizedUrl.includes('linkedin.com/me');
417
+ };
418
+
419
+ /**
420
+ * Check if URL is a LinkedIn login/auth page
421
+ */
422
+ export const isLinkedInLoginPage = url => {
423
+ const normalizedUrl = url.toLowerCase();
424
+ return normalizedUrl.includes('/login') || normalizedUrl.includes('/checkpoint') || normalizedUrl.includes('/uas/login') || normalizedUrl.includes('/challenge') || normalizedUrl.includes('/uas/challenge') || normalizedUrl.includes('/authwall');
425
+ };
426
+
427
+ /**
428
+ * Check if URL is a LinkedIn OAuth callback
429
+ */
430
+ export const isLinkedInOAuthCallback = url => {
431
+ const normalizedUrl = url.toLowerCase();
432
+ return normalizedUrl.includes('onairos.uk') && normalizedUrl.includes('callback');
433
+ };
434
+ //# sourceMappingURL=index.js.map