@onairos/react-native 3.6.4 → 3.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/api/index.js +1 -1
- package/lib/commonjs/components/BodyText.js +1 -1
- package/lib/commonjs/components/BrandMark.js +1 -1
- package/lib/commonjs/components/CodeInput.js +1 -1
- package/lib/commonjs/components/EmailInput.js +1 -1
- package/lib/commonjs/components/GoogleButton.js +1 -1
- package/lib/commonjs/components/HeadingGroup.js +1 -1
- package/lib/commonjs/components/LLMDataInputModal.js +1 -1
- package/lib/commonjs/components/ModalHeader.js +1 -1
- package/lib/commonjs/components/ModalSheet.js +1 -1
- package/lib/commonjs/components/Onairos.js +1 -1
- package/lib/commonjs/components/OnairosButton.js +1 -1
- package/lib/commonjs/components/OnairosSignInButton.js +1 -1
- package/lib/commonjs/components/Overlay.js +1 -1
- package/lib/commonjs/components/PersonaImage.js +1 -1
- package/lib/commonjs/components/PersonaLoadingScreen.js +1 -1
- package/lib/commonjs/components/PersonalizationConsentScreen.js +1 -1
- package/lib/commonjs/components/PinCreationScreen.js +1 -1
- package/lib/commonjs/components/PinInput.js +1 -1
- package/lib/commonjs/components/PlatformConnectorsStep.js +1 -1
- package/lib/commonjs/components/PlatformList.js +1 -1
- package/lib/commonjs/components/PlatformToggle.js +1 -1
- package/lib/commonjs/components/PrimaryButton.js +1 -1
- package/lib/commonjs/components/SignInMatchAnimation.js +1 -1
- package/lib/commonjs/components/SignInStep.js +1 -1
- package/lib/commonjs/components/UniversalOnboarding.js +1 -1
- package/lib/commonjs/components/VerificationStep.js +1 -1
- package/lib/commonjs/components/WelcomeScreen.js +1 -1
- package/lib/commonjs/components/icons/Basicproficon.js +1 -1
- package/lib/commonjs/components/icons/Basicprofile.js +1 -1
- package/lib/commonjs/components/icons/Checkbox.js +1 -1
- package/lib/commonjs/components/icons/Checkmark.js +1 -1
- package/lib/commonjs/components/icons/Contentanalysis.js +1 -1
- package/lib/commonjs/components/icons/Contenticon.js +1 -1
- package/lib/commonjs/components/icons/EnochE.js +1 -1
- package/lib/commonjs/components/icons/Personalityicon.js +1 -1
- package/lib/commonjs/components/icons/Personalityprofile.js +1 -1
- package/lib/commonjs/components/icons/Personalitytraits.js +1 -1
- package/lib/commonjs/components/icons/Userpreferences.js +1 -1
- package/lib/commonjs/components/icons/index.js +1 -1
- package/lib/commonjs/components/onboarding/OAuthWebView.js +1 -1
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +1 -1
- package/lib/commonjs/components/onboarding/PinInput.js +1 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js +1 -1
- package/lib/commonjs/config/api.js +1 -1
- package/lib/commonjs/constants/index.js +1 -1
- package/lib/commonjs/context/AuthContext.js +1 -1
- package/lib/commonjs/hooks/useConnectedAccounts.js +1 -1
- package/lib/commonjs/hooks/useConnections.js +1 -1
- package/lib/commonjs/hooks/useCredentials.js +1 -1
- package/lib/commonjs/hooks/useUserConnections.js +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/services/apiClient.js +1 -1
- package/lib/commonjs/services/apiKeyService.js +924 -9
- package/lib/commonjs/services/authService.js +627 -10
- package/lib/commonjs/services/biometricPinService.js +1 -1
- package/lib/commonjs/services/chatGPTConversationExtractor.js +1 -1
- package/lib/commonjs/services/chatGPTConversationService.js +1 -1
- package/lib/commonjs/services/claudeConversationExtractor.js +1 -1
- package/lib/commonjs/services/claudeConversationService.js +1 -1
- package/lib/commonjs/services/connectedAccountsService.js +1 -1
- package/lib/commonjs/services/googleAuthService.js +1 -1
- package/lib/commonjs/services/hingeDataExtractor.js +1 -1
- package/lib/commonjs/services/hingeDataService.js +1 -1
- package/lib/commonjs/services/imageCompressionService.js +1 -1
- package/lib/commonjs/services/instagramDataExtractor.js +1 -1
- package/lib/commonjs/services/instagramDataService.js +1 -1
- package/lib/commonjs/services/jwtStorageService.js +1 -1
- package/lib/commonjs/services/linkedinDOMExtractor.js +1 -1
- package/lib/commonjs/services/linkedinProfileService.js +1 -1
- package/lib/commonjs/services/linkedinScrapingService.js +1 -1
- package/lib/commonjs/services/llmDataStorage.js +1 -1
- package/lib/commonjs/services/mobileTrainingService.js +1 -1
- package/lib/commonjs/services/oauthService.js +391 -11
- package/lib/commonjs/services/pinEncryptionService.js +1 -1
- package/lib/commonjs/services/pinStorageUtils.js +1 -1
- package/lib/commonjs/services/platformAuthService.js +1 -1
- package/lib/commonjs/services/sephoraDataExtractor.js +1 -1
- package/lib/commonjs/services/sephoraDataService.js +1 -1
- package/lib/commonjs/services/storageService.js +1 -1
- package/lib/commonjs/services/telegramDataExtractor.js +1 -1
- package/lib/commonjs/services/telegramDataService.js +1 -1
- package/lib/commonjs/services/trainingApiHelpers.js +1 -1
- package/lib/commonjs/services/userConnectionsService.js +1 -1
- package/lib/commonjs/services/youtubeMigrationService.js +1 -1
- package/lib/commonjs/theme/index.js +1 -1
- package/lib/commonjs/types/index.js +1 -1
- package/lib/commonjs/types.js +1 -1
- package/lib/commonjs/utils/Portal.js +1 -1
- package/lib/commonjs/utils/api.js +1 -1
- package/lib/commonjs/utils/assetRegistry.js +1 -1
- package/lib/commonjs/utils/auth.js +1 -1
- package/lib/commonjs/utils/connectorTests.js +1 -1
- package/lib/commonjs/utils/crypto.js +1 -1
- package/lib/commonjs/utils/debugHelper.js +1 -1
- package/lib/commonjs/utils/encryption.js +1 -1
- package/lib/commonjs/utils/eventUtils.js +1 -1
- package/lib/commonjs/utils/haptics.js +1 -1
- package/lib/commonjs/utils/imagePreloader.js +1 -1
- package/lib/commonjs/utils/networkDiagnostics.js +1 -1
- package/lib/commonjs/utils/onairosApi.js +1 -1
- package/lib/commonjs/utils/programmaticFlow.js +1 -1
- package/lib/commonjs/utils/retryHelper.js +1 -1
- package/lib/commonjs/utils/secureStorage.js +1 -1
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +1 -1
- package/lib/commonjs/utils/webviewScripts/claude.js +1 -1
- package/lib/commonjs/utils/webviewScripts/hinge.js +1 -1
- package/lib/commonjs/utils/webviewScripts/index.js +1 -1
- package/lib/commonjs/utils/webviewScripts/instagram.js +1 -1
- package/lib/commonjs/utils/webviewScripts/linkedin.js +1 -1
- package/lib/commonjs/utils/webviewScripts/sephora.js +1 -1
- package/lib/commonjs/utils/webviewScripts/telegram.js +1 -1
- package/lib/module/api/index.js +1 -1
- package/lib/module/components/BodyText.js +1 -1
- package/lib/module/components/BrandMark.js +1 -1
- package/lib/module/components/CodeInput.js +1 -1
- package/lib/module/components/EmailInput.js +1 -1
- package/lib/module/components/GoogleButton.js +1 -1
- package/lib/module/components/HeadingGroup.js +1 -1
- package/lib/module/components/LLMDataInputModal.js +1 -1
- package/lib/module/components/ModalHeader.js +1 -1
- package/lib/module/components/ModalSheet.js +1 -1
- package/lib/module/components/Onairos.js +1 -1
- package/lib/module/components/OnairosButton.js +1 -1
- package/lib/module/components/OnairosSignInButton.js +1 -1
- package/lib/module/components/Overlay.js +1 -1
- package/lib/module/components/PersonaImage.js +1 -1
- package/lib/module/components/PersonaLoadingScreen.js +1 -1
- package/lib/module/components/PersonalizationConsentScreen.js +1 -1
- package/lib/module/components/PinCreationScreen.js +1 -1
- package/lib/module/components/PinInput.js +1 -1
- package/lib/module/components/PlatformConnectorsStep.js +1 -1
- package/lib/module/components/PlatformList.js +1 -1
- package/lib/module/components/PlatformToggle.js +1 -1
- package/lib/module/components/PrimaryButton.js +1 -1
- package/lib/module/components/SignInMatchAnimation.js +1 -1
- package/lib/module/components/SignInStep.js +1 -1
- package/lib/module/components/UniversalOnboarding.js +1 -1
- package/lib/module/components/VerificationStep.js +1 -1
- package/lib/module/components/WelcomeScreen.js +1 -1
- package/lib/module/components/icons/Basicproficon.js +1 -1
- package/lib/module/components/icons/Basicprofile.js +1 -1
- package/lib/module/components/icons/Checkbox.js +1 -1
- package/lib/module/components/icons/Checkmark.js +1 -1
- package/lib/module/components/icons/Contentanalysis.js +1 -1
- package/lib/module/components/icons/Contenticon.js +1 -1
- package/lib/module/components/icons/EnochE.js +1 -1
- package/lib/module/components/icons/Personalityicon.js +1 -1
- package/lib/module/components/icons/Personalityprofile.js +1 -1
- package/lib/module/components/icons/Personalitytraits.js +1 -1
- package/lib/module/components/icons/Userpreferences.js +1 -1
- package/lib/module/components/onboarding/OAuthWebView.js +1 -1
- package/lib/module/components/onboarding/OnboardingHeader.js +1 -1
- package/lib/module/components/onboarding/PinInput.js +1 -1
- package/lib/module/components/onboarding/PlatformConnector.js +1 -1
- package/lib/module/config/api.js +1 -1
- package/lib/module/constants/index.js +1 -1
- package/lib/module/context/AuthContext.js +1 -1
- package/lib/module/hooks/useConnectedAccounts.js +1 -1
- package/lib/module/hooks/useConnections.js +1 -1
- package/lib/module/hooks/useCredentials.js +1 -1
- package/lib/module/hooks/useUserConnections.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/services/apiClient.js +1 -1
- package/lib/module/services/apiKeyService.js +898 -1
- package/lib/module/services/authService.js +602 -1
- package/lib/module/services/biometricPinService.js +1 -1
- package/lib/module/services/chatGPTConversationExtractor.js +1 -1
- package/lib/module/services/chatGPTConversationService.js +1 -1
- package/lib/module/services/claudeConversationExtractor.js +1 -1
- package/lib/module/services/claudeConversationService.js +1 -1
- package/lib/module/services/connectedAccountsService.js +1 -1
- package/lib/module/services/googleAuthService.js +1 -1
- package/lib/module/services/hingeDataExtractor.js +1 -1
- package/lib/module/services/hingeDataService.js +1 -1
- package/lib/module/services/imageCompressionService.js +1 -1
- package/lib/module/services/instagramDataExtractor.js +1 -1
- package/lib/module/services/instagramDataService.js +1 -1
- package/lib/module/services/jwtStorageService.js +1 -1
- package/lib/module/services/linkedinDOMExtractor.js +1 -1
- package/lib/module/services/linkedinProfileService.js +1 -1
- package/lib/module/services/linkedinScrapingService.js +1 -1
- package/lib/module/services/llmDataStorage.js +1 -1
- package/lib/module/services/mobileTrainingService.js +1 -1
- package/lib/module/services/oauthService.js +381 -1
- package/lib/module/services/pinEncryptionService.js +1 -1
- package/lib/module/services/pinStorageUtils.js +1 -1
- package/lib/module/services/platformAuthService.js +1 -1
- package/lib/module/services/sephoraDataExtractor.js +1 -1
- package/lib/module/services/sephoraDataService.js +1 -1
- package/lib/module/services/storageService.js +1 -1
- package/lib/module/services/telegramDataExtractor.js +1 -1
- package/lib/module/services/telegramDataService.js +1 -1
- package/lib/module/services/trainingApiHelpers.js +1 -1
- package/lib/module/services/userConnectionsService.js +1 -1
- package/lib/module/services/youtubeMigrationService.js +1 -1
- package/lib/module/theme/index.js +1 -1
- package/lib/module/types.js +1 -1
- package/lib/module/utils/Portal.js +1 -1
- package/lib/module/utils/api.js +1 -1
- package/lib/module/utils/assetRegistry.js +1 -1
- package/lib/module/utils/auth.js +1 -1
- package/lib/module/utils/connectorTests.js +1 -1
- package/lib/module/utils/crypto.js +1 -1
- package/lib/module/utils/debugHelper.js +1 -1
- package/lib/module/utils/encryption.js +1 -1
- package/lib/module/utils/eventUtils.js +1 -1
- package/lib/module/utils/haptics.js +1 -1
- package/lib/module/utils/networkDiagnostics.js +1 -1
- package/lib/module/utils/onairosApi.js +1 -1
- package/lib/module/utils/programmaticFlow.js +1 -1
- package/lib/module/utils/retryHelper.js +1 -1
- package/lib/module/utils/secureStorage.js +1 -1
- package/lib/module/utils/webviewScripts/chatgpt.js +1 -1
- package/lib/module/utils/webviewScripts/claude.js +1 -1
- package/lib/module/utils/webviewScripts/hinge.js +1 -1
- package/lib/module/utils/webviewScripts/index.js +1 -1
- package/lib/module/utils/webviewScripts/instagram.js +1 -1
- package/lib/module/utils/webviewScripts/linkedin.js +1 -1
- package/lib/module/utils/webviewScripts/sephora.js +1 -1
- package/lib/module/utils/webviewScripts/telegram.js +1 -1
- package/package.json +1 -1
|
@@ -6,4 +6,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
|
|
|
6
6
|
require("../services/apiKeyService")
|
|
7
7
|
];
|
|
8
8
|
function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
|
|
9
|
-
Object['defineProperty'](exports,_0x52d5(0x0),{'value':!![]}),exports[_0x52d5(0x1)]=exports[_0x52d5(0x2)]=exports[_0x52d5(0x3)]=exports[_0x52d5(0x4)]=exports[_0x52d5(0x5)]=exports['getUserProfile']=exports[_0x52d5(0x6)]=exports[_0x52d5(0x7)]=exports['createAccount']=exports[_0x52d5(0x8)]=exports[_0x52d5(0x9)]=void 0x0;var _netinfo=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_debugHelper=__ONAIROS_REQ_FUNC__(0x1),_apiKeyService=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x2aded4){return _0x2aded4&&_0x2aded4[_0x52d5(0x0)]?_0x2aded4:{'default':_0x2aded4};}class ApiError extends Error{constructor(_0xa20235,_0x57953e,_0x2043ca,_0x5f51fd){const _0x102c88={'xkZGf':_0x52d5(0xa),'LaxGR':'ApiError'},_0x28876b=_0x102c88[_0x52d5(0xb)]['split']('|');let _0xdec3fd=0x0;while(!![]){switch(_0x28876b[_0xdec3fd++]){case'0':this[_0x52d5(0xc)]=_0x5f51fd;continue;case'1':this[_0x52d5(0xd)]=_0x57953e;continue;case'2':this[_0x52d5(0xe)]=_0x2043ca;continue;case'3':this[_0x52d5(0xf)]=_0x102c88[_0x52d5(0x10)];continue;case'4':super(_0xa20235);continue;}break;}}}exports['ApiError']=ApiError;const checkNetworkConnection=async()=>{const _0x211689={'ERnAU':function(_0x20c96f,_0x43538b){return _0x20c96f===_0x43538b;}},_0x37f97b=await _netinfo[_0x52d5(0x11)]['fetch']();return _0x211689['ERnAU'](_0x37f97b['isConnected'],!![]);},makeUserApiRequest=async(_0x5d56c3,_0x182e55,_0x32c17b={})=>{const _0x4f2a90={'rIAne':_0x52d5(0x12),'HuGqM':'timeout_error','UKnXF':function(_0xb1ae1d,_0x4fb794,_0x459cc1,_0x40c160){return _0xb1ae1d(_0x4fb794,_0x459cc1,_0x40c160);},'ulOHg':_0x52d5(0x13),'EFMhK':_0x52d5(0x14),'VzKHX':_0x52d5(0x15),'EhoqZ':_0x52d5(0x16),'lCGYS':_0x52d5(0x17),'acNSq':_0x52d5(0x18),'DZNbg':_0x52d5(0x19),'WuzDJ':function(_0x825d7d,_0x23d557){return _0x825d7d!==_0x23d557;},'AdFZE':_0x52d5(0x1a),'wQqkd':'User\x20API\x20Request','WlUIi':'[REDACTED]','RSMhg':function(_0x140103,_0x269dcc){return _0x140103||_0x269dcc;},'LLiNt':_0x52d5(0x1b),'CPLUl':function(_0x4af5ff,_0x30df13){return _0x4af5ff===_0x30df13;},'iaIVG':function(_0x2e9e1e,_0x3bbea8){return _0x2e9e1e===_0x3bbea8;},'iVOVd':_0x52d5(0x1c),'UxeVG':function(_0x1bc356,_0x231c8a){return _0x1bc356>=_0x231c8a;},'yubtC':_0x52d5(0x1d),'HYCXj':'unknown_error','NSvPj':function(_0x3d62cf,_0x165a57){return _0x3d62cf===_0x165a57;},'pOMjP':_0x52d5(0x1e),'YqvSJ':function(_0x20c1a7,_0x1aeb37){return _0x20c1a7===_0x1aeb37;},'OrkzJ':function(_0x34f80e,_0x29415b){return _0x34f80e===_0x29415b;},'MmuUT':function(_0x533a00,_0x21b0dd){return _0x533a00===_0x21b0dd;},'HKsZg':function(_0x64452a,_0x267490){return _0x64452a instanceof _0x267490;},'rneOC':function(_0x47e463,_0x32b140){return _0x47e463===_0x32b140;},'liFqs':_0x52d5(0x1f),'LVJGu':_0x52d5(0x20),'amQEh':_0x52d5(0x21),'KkFzJ':_0x52d5(0x22)},{data:_0x4b7edb,headers:headers={},debug:debug=![]}=_0x32c17b;try{const _0x17c1da=await checkNetworkConnection();if(!_0x17c1da){if(_0x4f2a90[_0x52d5(0x23)]===_0x4f2a90[_0x52d5(0x24)])return(0x0,_0x6d8d43[_0x52d5(0x25)])();else throw new ApiError(_0x4f2a90[_0x52d5(0x26)],_0x4f2a90[_0x52d5(0x27)]);}if(!(0x0,_apiKeyService['isUserAuthenticated'])())throw new ApiError(_0x4f2a90[_0x52d5(0x28)],_0x4f2a90[_0x52d5(0x29)]);if(debug){if(_0x4f2a90[_0x52d5(0x2a)](_0x4f2a90[_0x52d5(0x2b)],_0x4f2a90[_0x52d5(0x2b)]))throw new _0x2e86d4(_0x4f2a90['rIAne'],_0x4f2a90['HuGqM']);else(0x0,_debugHelper['logDebug'])(_0x4f2a90[_0x52d5(0x2c)],{'endpoint':_0x5d56c3,'method':_0x182e55,'headers':{...headers,'Authorization':_0x4f2a90['WlUIi']},'data':_0x4f2a90[_0x52d5(0x2d)](_0x4b7edb,null)});}const _0x1cfbee=await(0x0,_apiKeyService['makeUserRequest'])(_0x5d56c3,{'method':_0x182e55,'headers':headers,..._0x4b7edb?{'body':JSON['stringify'](_0x4b7edb)}:{}}),_0x105fba=await _0x1cfbee['json']();debug&&(0x0,_debugHelper['logDebug'])(_0x4f2a90[_0x52d5(0x2e)],{'status':_0x1cfbee[_0x52d5(0x2f)],'data':_0x105fba});if(!_0x1cfbee['ok']){var _0x59bf5e,_0x375077,_0x381da3;const _0x50e954=_0x1cfbee[_0x52d5(0x2f)]===0x191||_0x4f2a90[_0x52d5(0x30)](_0x1cfbee[_0x52d5(0x2f)],0x193)?_0x52d5(0x19):_0x4f2a90[_0x52d5(0x31)](_0x1cfbee[_0x52d5(0x2f)],0x190)?_0x4f2a90[_0x52d5(0x32)]:_0x4f2a90['UxeVG'](_0x1cfbee[_0x52d5(0x2f)],0x1f4)?_0x4f2a90[_0x52d5(0x33)]:_0x4f2a90[_0x52d5(0x34)];throw new ApiError((_0x4f2a90[_0x52d5(0x35)](_0x59bf5e=_0x105fba['error'],null)||_0x4f2a90[_0x52d5(0x35)](_0x59bf5e,void 0x0)?void 0x0:_0x59bf5e[_0x52d5(0x36)])||_0x4f2a90[_0x52d5(0x37)],_0x50e954,_0x4f2a90[_0x52d5(0x38)](_0x375077=_0x105fba['error'],null)||_0x4f2a90[_0x52d5(0x39)](_0x375077,void 0x0)?void 0x0:_0x375077[_0x52d5(0xe)],(_0x381da3=_0x105fba[_0x52d5(0x3a)])===null||_0x4f2a90['MmuUT'](_0x381da3,void 0x0)?void 0x0:_0x381da3[_0x52d5(0xc)]);}return _0x105fba;}catch(_0x5ce658){if(_0x4f2a90[_0x52d5(0x3b)](_0x5ce658,ApiError)){if(_0x4f2a90[_0x52d5(0x3c)](_0x4f2a90[_0x52d5(0x3d)],_0x52d5(0x1f)))throw _0x5ce658;else throw _0x252bb3;}if(_0x4f2a90[_0x52d5(0x35)](_0x5ce658[_0x52d5(0xf)],_0x52d5(0x3e)))throw new ApiError(_0x4f2a90[_0x52d5(0x3f)],_0x4f2a90[_0x52d5(0x40)]);if(debug){if(_0x4f2a90['iaIVG'](_0x4f2a90['LVJGu'],_0x4f2a90[_0x52d5(0x41)]))(0x0,_debugHelper[_0x52d5(0x42)])(_0x52d5(0x43),{'endpoint':_0x5d56c3,'method':_0x182e55,'error':_0x5ce658[_0x52d5(0x36)]||_0x4f2a90['amQEh']});else return _0x4f2a90[_0x52d5(0x44)](_0xc35ee6,_0x4f2a90['ulOHg'],'POST',{'data':{'refreshToken':_0x313061},'debug':_0x57abfd[_0x52d5(0x45)]});}throw new ApiError(_0x5ce658[_0x52d5(0x36)]||_0x4f2a90[_0x52d5(0x46)],_0x4f2a90['HYCXj']);}},makeDeveloperApiRequest=async(_0x32a53b,_0x3b0502,_0x400e75={})=>{const _0x46ffb8={'DECQo':function(_0x2a8815,_0x20d4ec){return _0x2a8815 instanceof _0x20d4ec;},'xwAym':function(_0x3b31a5,_0x36d2f8){return _0x3b31a5===_0x36d2f8;},'tfDuq':'AbortError','oVIlu':_0x52d5(0x12),'iMQib':_0x52d5(0x47),'Hziuq':_0x52d5(0x43),'kZIBF':'Unknown\x20error','WYZCE':_0x52d5(0x22),'QWMMJ':'unknown_error','EzrwB':function(_0x5677cd){return _0x5677cd();},'slcKJ':_0x52d5(0x16),'JiBdw':_0x52d5(0x17),'pvTdC':_0x52d5(0x48),'KcbmG':_0x52d5(0x49),'vsDNU':function(_0x427886,_0x25b907){return _0x427886||_0x25b907;},'rfYMK':_0x52d5(0x4a),'ZWaYb':function(_0x5cf31f,_0x11b3ca){return _0x5cf31f===_0x11b3ca;},'zpAiw':_0x52d5(0x19),'dSCux':_0x52d5(0x1c),'YzLQE':function(_0x33844d,_0x5718d0){return _0x33844d>=_0x5718d0;},'ONBLR':_0x52d5(0x1d),'AlLur':function(_0x5f27c8,_0x311145){return _0x5f27c8===_0x311145;},'juvvg':function(_0x32973d,_0x484f27){return _0x32973d===_0x484f27;},'lcuBx':function(_0x5001df,_0x25c389){return _0x5001df===_0x25c389;},'fzhPJ':_0x52d5(0x4b),'HsydB':function(_0x3c3107,_0x59bdc7){return _0x3c3107===_0x59bdc7;},'igdcz':_0x52d5(0x4c)},{data:_0x564a05,headers:headers={},debug:debug=![]}=_0x400e75;try{const _0x1fe175=await _0x46ffb8['EzrwB'](checkNetworkConnection);if(!_0x1fe175)throw new ApiError(_0x46ffb8['slcKJ'],_0x46ffb8['JiBdw']);debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8[_0x52d5(0x4d)],{'endpoint':_0x32a53b,'method':_0x3b0502,'headers':{...headers,'Authorization':_0x46ffb8[_0x52d5(0x4e)]},'data':_0x46ffb8[_0x52d5(0x4f)](_0x564a05,null)});const _0x31bea5=await(0x0,_apiKeyService[_0x52d5(0x50)])(_0x32a53b,{'method':_0x3b0502,'headers':headers,..._0x564a05?{'body':JSON[_0x52d5(0x51)](_0x564a05)}:{}}),_0x58c5c7=await _0x31bea5[_0x52d5(0x52)]();debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8[_0x52d5(0x53)],{'status':_0x31bea5[_0x52d5(0x2f)],'data':_0x58c5c7});if(!_0x31bea5['ok']){var _0x54680c,_0xfc65f8,_0x576f5e;const _0x2cd998=_0x31bea5['status']===0x191||_0x46ffb8[_0x52d5(0x54)](_0x31bea5['status'],0x193)?_0x46ffb8['zpAiw']:_0x31bea5['status']===0x190?_0x46ffb8[_0x52d5(0x55)]:_0x46ffb8['YzLQE'](_0x31bea5['status'],0x1f4)?_0x46ffb8[_0x52d5(0x56)]:_0x46ffb8[_0x52d5(0x57)];throw new ApiError((_0x46ffb8['xwAym'](_0x54680c=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x58)](_0x54680c,void 0x0)?void 0x0:_0x54680c[_0x52d5(0x36)])||_0x52d5(0x1e),_0x2cd998,_0x46ffb8['AlLur'](_0xfc65f8=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x58)](_0xfc65f8,void 0x0)?void 0x0:_0xfc65f8[_0x52d5(0xe)],_0x46ffb8[_0x52d5(0x59)](_0x576f5e=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x5a)](_0x576f5e,void 0x0)?void 0x0:_0x576f5e[_0x52d5(0xc)]);}return _0x58c5c7;}catch(_0x462a3b){if(_0x46ffb8[_0x52d5(0x5b)](_0x46ffb8[_0x52d5(0x5c)],_0x46ffb8['fzhPJ'])){if(_0x462a3b instanceof ApiError)throw _0x462a3b;if(_0x46ffb8[_0x52d5(0x5d)](_0x462a3b[_0x52d5(0xf)],'AbortError'))throw new ApiError(_0x46ffb8[_0x52d5(0x5e)],_0x46ffb8[_0x52d5(0x5f)]);debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8['igdcz'],{'endpoint':_0x32a53b,'method':_0x3b0502,'error':_0x462a3b['message']||_0x46ffb8['kZIBF']});throw new ApiError(_0x462a3b[_0x52d5(0x36)]||_0x46ffb8[_0x52d5(0x60)],_0x46ffb8[_0x52d5(0x57)]);}else{if(_0x46ffb8['DECQo'](_0x5d7561,_0x4e7539))throw _0x2ef55e;if(_0x46ffb8['xwAym'](_0x424d65[_0x52d5(0xf)],_0x46ffb8['tfDuq']))throw new _0x107e6d(_0x46ffb8[_0x52d5(0x5e)],_0x46ffb8['iMQib']);_0x1d60f6&&(0x0,_0x51725e[_0x52d5(0x42)])(_0x46ffb8['Hziuq'],{'endpoint':_0x5f2ab6,'method':_0x473f75,'error':_0x200eb7['message']||_0x46ffb8[_0x52d5(0x61)]});throw new _0x2ce7c5(_0x3129b3[_0x52d5(0x36)]||_0x46ffb8[_0x52d5(0x60)],_0x46ffb8[_0x52d5(0x57)]);}}},validateCredentials=async(_0x84f0b4,_0x2ef92d={'debug':![]})=>{const _0xeaf16b={'LEhqk':function(_0x468605,_0x38160a,_0x35f59e,_0x2549ed){return _0x468605(_0x38160a,_0x35f59e,_0x2549ed);},'peKCG':function(_0x755e32,_0x15d583){return _0x755e32===_0x15d583;},'ioFPL':_0x52d5(0x62)};try{var _0x2eee54,_0x153725;const _0x25266a=await _0xeaf16b['LEhqk'](makeUserApiRequest,_0x52d5(0x63),'POST',{'data':{'username':_0x84f0b4},'debug':_0x2ef92d[_0x52d5(0x45)]});return{'isValid':_0x25266a[_0x52d5(0x64)]&&((_0x2eee54=_0x25266a[_0x52d5(0x65)])===null||_0x2eee54===void 0x0?void 0x0:_0x2eee54['isValid'])===!![],'message':_0xeaf16b[_0x52d5(0x66)](_0x153725=_0x25266a[_0x52d5(0x3a)],null)||_0xeaf16b[_0x52d5(0x66)](_0x153725,void 0x0)?void 0x0:_0x153725['message']};}catch(_0x514041){return _0xeaf16b[_0x52d5(0x66)](_0xeaf16b['ioFPL'],_0x52d5(0x62))?{'isValid':![],'message':_0x514041['message']}:_0x16a0e6(_0x52d5(0x67),'POST',{'data':{'username':_0x4a707c['username'],'platforms':_0xec3422[_0x52d5(0x68)]},'debug':_0x11e891['debug']});}};exports[_0x52d5(0x1)]=validateCredentials;const createAccount=async(_0x2df514,_0x5ac052={'debug':![]})=>{const _0x23645e={'LRmBi':function(_0x572f14,_0x3dcedc,_0xcd49f9,_0x364a1e){return _0x572f14(_0x3dcedc,_0xcd49f9,_0x364a1e);},'pzgZv':_0x52d5(0x67)};return _0x23645e[_0x52d5(0x69)](makeDeveloperApiRequest,_0x23645e[_0x52d5(0x6a)],'POST',{'data':{'username':_0x2df514['username'],'platforms':_0x2df514[_0x52d5(0x68)]},'debug':_0x5ac052[_0x52d5(0x45)]});};exports[_0x52d5(0x6b)]=createAccount;const authenticate=async(_0x16ff47,_0x64520c={'debug':![]})=>{const _0x5b7eb9={'qmYLx':function(_0x585077,_0x507edd,_0x40c1d0,_0x1344ea){return _0x585077(_0x507edd,_0x40c1d0,_0x1344ea);}};return _0x5b7eb9['qmYLx'](makeUserApiRequest,_0x52d5(0x6c),'POST',{'data':{'username':_0x16ff47['username'],'pin':_0x16ff47['userPin']},'debug':_0x64520c[_0x52d5(0x45)]});};exports['authenticate']=authenticate;const refreshToken=async(_0x446ab1,_0x3fbbc1={'debug':![]})=>{const _0x1efb55={'aIgOq':function(_0x5ee6a1,_0x1d1e81,_0x194f43,_0x5c248e){return _0x5ee6a1(_0x1d1e81,_0x194f43,_0x5c248e);},'EIefy':_0x52d5(0x13)};return _0x1efb55[_0x52d5(0x6d)](makeUserApiRequest,_0x1efb55[_0x52d5(0x6e)],'POST',{'data':{'refreshToken':_0x446ab1},'debug':_0x3fbbc1[_0x52d5(0x45)]});};exports[_0x52d5(0x4)]=refreshToken;function _0x5666(){const _0x39f88c=['__esModule','validateCredentials','updatePlatformConnections','storePIN','refreshToken','isCurrentUserAuthenticated','getPlatformData','getCurrentUserToken','authenticate','ApiError','4|1|2|0|3','xkZGf','details','type','code','name','LaxGR','default','Request\x20timed\x20out','auth/refresh','xyuhh','GOjSs','No\x20network\x20connection\x20available','network_error','User\x20not\x20authenticated.\x20Please\x20verify\x20email\x20first.','auth_error','gBeEg','User\x20API\x20Response','validation_error','server_error','API\x20request\x20failed','jhzAA','HumVJ','Unknown\x20error','An\x20unexpected\x20error\x20occurred','EFMhK','VzKHX','isUserAuthenticated','EhoqZ','lCGYS','acNSq','DZNbg','WuzDJ','AdFZE','wQqkd','RSMhg','LLiNt','status','CPLUl','iaIVG','iVOVd','yubtC','HYCXj','NSvPj','message','pOMjP','YqvSJ','OrkzJ','error','HKsZg','rneOC','liFqs','AbortError','rIAne','HuGqM','LVJGu','logDebug','User\x20API\x20Error','UKnXF','debug','KkFzJ','timeout_error','Developer\x20API\x20Request','[REDACTED]','Developer\x20API\x20Response','CwCFq','Developer\x20API\x20Error','pvTdC','KcbmG','vsDNU','makeDeveloperRequest','stringify','json','rfYMK','ZWaYb','dSCux','ONBLR','QWMMJ','xwAym','juvvg','lcuBx','AlLur','fzhPJ','HsydB','oVIlu','iMQib','WYZCE','kZIBF','qiomd','auth/validate','success','data','peKCG','auth/register','platforms','LRmBi','pzgZv','createAccount','auth/login','aIgOq','EIefy','platforms/','user/profile','YkGox','getUserProfile','user/platforms','QnjvF','krlGz','extractUsernameFromJWT','No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid','zFClz','store-pin/mobile'];_0x5666=function(){return _0x39f88c;};return _0x5666();}function _0x52d5(_0x566648,_0x52d5a9){_0x566648=_0x566648-0x0;const _0x9f813b=_0x5666();let _0x3ba119=_0x9f813b[_0x566648];return _0x3ba119;}const getPlatformData=async(_0x8d9b6c,_0x4536f6={'debug':![]})=>{return makeUserApiRequest(_0x52d5(0x6f)+_0x8d9b6c+'/data','GET',{'debug':_0x4536f6[_0x52d5(0x45)]});};exports[_0x52d5(0x6)]=getPlatformData;const getUserProfile=async(_0x1511d6={'debug':![]})=>{const _0xe94956={'YkGox':_0x52d5(0x70)};return makeUserApiRequest(_0xe94956[_0x52d5(0x71)],'GET',{'debug':_0x1511d6[_0x52d5(0x45)]});};exports[_0x52d5(0x72)]=getUserProfile;const updatePlatformConnections=async(_0x420d25,_0x1a91ac={'debug':![]})=>{const _0x172457={'QnjvF':function(_0x2dfd5a,_0x18e8b2,_0x29818d,_0x539a5c){return _0x2dfd5a(_0x18e8b2,_0x29818d,_0x539a5c);},'krlGz':_0x52d5(0x73)};return _0x172457[_0x52d5(0x74)](makeUserApiRequest,_0x172457[_0x52d5(0x75)],'PUT',{'data':{'platforms':_0x420d25},'debug':_0x1a91ac['debug']});};exports[_0x52d5(0x2)]=updatePlatformConnections;const storePIN=async(_0x60912a,_0x27eac8={})=>{const _0xc9923a={'zFClz':function(_0x55408b,_0x5503e7,_0x42d912,_0x1ff6de){return _0x55408b(_0x5503e7,_0x42d912,_0x1ff6de);}},{debug:debug=![],username:_0x451ef9}=_0x27eac8,_0x3c62b8=_0x451ef9||(0x0,_apiKeyService[_0x52d5(0x76)])();if(!_0x3c62b8)throw new ApiError(_0x52d5(0x77),_0x52d5(0x19));return _0xc9923a[_0x52d5(0x78)](makeUserApiRequest,_0x52d5(0x79),'POST',{'data':{'username':_0x3c62b8,'pin':_0x60912a},'debug':debug});};exports[_0x52d5(0x3)]=storePIN;const getCurrentUserToken=async()=>{return await(0x0,_apiKeyService['getJWT'])();};exports[_0x52d5(0x7)]=getCurrentUserToken;const isCurrentUserAuthenticated=()=>{return(0x0,_apiKeyService['isUserAuthenticated'])();};exports[_0x52d5(0x5)]=isCurrentUserAuthenticated;
|
|
9
|
+
Object[_0x200c(0x0)](exports,_0x200c(0x1),{'value':!![]}),exports[_0x200c(0x2)]=exports[_0x200c(0x3)]=exports[_0x200c(0x4)]=exports['refreshToken']=exports[_0x200c(0x5)]=exports['getUserProfile']=exports['getPlatformData']=exports['getCurrentUserToken']=exports['createAccount']=exports[_0x200c(0x6)]=exports['ApiError']=void 0x0;var _netinfo=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_debugHelper=__ONAIROS_REQ_FUNC__(0x1),_apiKeyService=__ONAIROS_REQ_FUNC__(0x2);function _0x200c(_0x3f3845,_0x200cfd){_0x3f3845=_0x3f3845-0x0;const _0x43b46f=_0x3f38();let _0x28dc02=_0x43b46f[_0x3f3845];return _0x28dc02;}function _interopRequireDefault(_0x5386cb){return _0x5386cb&&_0x5386cb['__esModule']?_0x5386cb:{'default':_0x5386cb};}class ApiError extends Error{constructor(_0x152c6d,_0x40fcb0,_0x430bf6,_0xcce831){const _0x13c68f={'IjOze':_0x200c(0x7),'LfSNn':_0x200c(0x8)},_0x10f715=_0x13c68f['IjOze']['split']('|');let _0x8d88dc=0x0;while(!![]){switch(_0x10f715[_0x8d88dc++]){case'0':this[_0x200c(0x9)]=_0x40fcb0;continue;case'1':this[_0x200c(0xa)]=_0x13c68f['LfSNn'];continue;case'2':super(_0x152c6d);continue;case'3':this['code']=_0x430bf6;continue;case'4':this[_0x200c(0xb)]=_0xcce831;continue;}break;}}}exports[_0x200c(0x8)]=ApiError;const checkNetworkConnection=async()=>{const _0x1ab868={'vtmsS':function(_0x3cf579,_0x24cc8e){return _0x3cf579===_0x24cc8e;}},_0x8297eb=await _netinfo[_0x200c(0xc)][_0x200c(0xd)]();return _0x1ab868[_0x200c(0xe)](_0x8297eb['isConnected'],!![]);},makeUserApiRequest=async(_0x4ca519,_0x28346b,_0x14521b={})=>{const _0x11bff9={'TEdgN':_0x200c(0xf),'rykjp':_0x200c(0x10),'fjEyy':_0x200c(0x11),'xrhWL':function(_0x538e9e,_0x208659,_0x32fced,_0x4d92b1){return _0x538e9e(_0x208659,_0x32fced,_0x4d92b1);},'iTLiM':_0x200c(0x12),'YYwkE':_0x200c(0x13),'jCwKt':function(_0x379654){return _0x379654();},'vrGtI':function(_0x11265f,_0x42cd7d){return _0x11265f===_0x42cd7d;},'ijUDO':_0x200c(0x14),'daAFC':_0x200c(0x15),'DswNm':_0x200c(0x16),'dJvuD':_0x200c(0x17),'gBzTy':_0x200c(0x18),'YDsew':function(_0x5adf93,_0x5c9d20){return _0x5adf93===_0x5c9d20;},'NDTaD':'validation_error','sWqiK':function(_0x36063c,_0x4dab68){return _0x36063c>=_0x4dab68;},'jMFBh':_0x200c(0x19),'YxlQl':_0x200c(0x1a),'bfeKD':_0x200c(0x1b),'sYrBz':function(_0xe7d767,_0x29f19e){return _0xe7d767===_0x29f19e;},'cFeBb':function(_0x568f67,_0xce111e){return _0x568f67===_0xce111e;},'mXKXo':function(_0x3d6f0b,_0xe99a6e){return _0x3d6f0b instanceof _0xe99a6e;},'oeXow':_0x200c(0x1c),'CMmoO':_0x200c(0x1d),'vbjUv':_0x200c(0x1e),'trdFt':_0x200c(0x1f),'WEcfO':_0x200c(0x20)},{data:_0x269f32,headers:headers={},debug:debug=![]}=_0x14521b;try{if(_0x11bff9['YYwkE']===_0x11bff9[_0x200c(0x21)]){const _0x4ad40d=await _0x11bff9['jCwKt'](checkNetworkConnection);if(!_0x4ad40d){if(_0x11bff9[_0x200c(0x22)](_0x11bff9[_0x200c(0x23)],_0x11bff9[_0x200c(0x23)]))throw new ApiError(_0x11bff9[_0x200c(0x24)],_0x11bff9[_0x200c(0x25)]);else(0x0,_0x31cc43['logDebug'])(_0x11bff9[_0x200c(0x26)],{'status':_0x510931[_0x200c(0x27)],'data':_0x5675c3});}if(!(0x0,_apiKeyService[_0x200c(0x28)])())throw new ApiError(_0x11bff9[_0x200c(0x29)],_0x200c(0x11));debug&&(0x0,_debugHelper[_0x200c(0x2a)])('User\x20API\x20Request',{'endpoint':_0x4ca519,'method':_0x28346b,'headers':{...headers,'Authorization':_0x11bff9[_0x200c(0x2b)]},'data':_0x269f32||null});const _0x33ed30=await(0x0,_apiKeyService[_0x200c(0x2c)])(_0x4ca519,{'method':_0x28346b,'headers':headers,..._0x269f32?{'body':JSON[_0x200c(0x2d)](_0x269f32)}:{}}),_0x19bd71=await _0x33ed30[_0x200c(0x2e)]();debug&&(0x0,_debugHelper[_0x200c(0x2a)])(_0x11bff9[_0x200c(0x26)],{'status':_0x33ed30['status'],'data':_0x19bd71});if(!_0x33ed30['ok']){var _0x33cb23,_0xa0f2cf,_0x2a7aa7;const _0x133322=_0x11bff9[_0x200c(0x22)](_0x33ed30[_0x200c(0x27)],0x191)||_0x11bff9[_0x200c(0x22)](_0x33ed30[_0x200c(0x27)],0x193)?_0x11bff9[_0x200c(0x2f)]:_0x11bff9['YDsew'](_0x33ed30[_0x200c(0x27)],0x190)?_0x11bff9[_0x200c(0x30)]:_0x11bff9[_0x200c(0x31)](_0x33ed30[_0x200c(0x27)],0x1f4)?_0x11bff9['jMFBh']:_0x11bff9[_0x200c(0x32)];throw new ApiError(((_0x33cb23=_0x19bd71[_0x200c(0x33)])===null||_0x33cb23===void 0x0?void 0x0:_0x33cb23['message'])||_0x11bff9[_0x200c(0x34)],_0x133322,_0x11bff9[_0x200c(0x35)](_0xa0f2cf=_0x19bd71[_0x200c(0x33)],null)||_0xa0f2cf===void 0x0?void 0x0:_0xa0f2cf[_0x200c(0x36)],_0x11bff9[_0x200c(0x37)](_0x2a7aa7=_0x19bd71['error'],null)||_0x11bff9['cFeBb'](_0x2a7aa7,void 0x0)?void 0x0:_0x2a7aa7[_0x200c(0xb)]);}return _0x19bd71;}else(0x0,_0x2b55ce[_0x200c(0x2a)])(_0x200c(0x38),{'status':_0x576a78[_0x200c(0x27)],'data':_0xadded0});}catch(_0x285cc2){if(_0x11bff9[_0x200c(0x39)](_0x285cc2,ApiError)){if(_0x11bff9[_0x200c(0x3a)]===_0x200c(0x3b)){const {debug:debug=![],username:_0x48edd0}=_0x137a84,_0x5da820=_0x48edd0||(0x0,_0x430db0['extractUsernameFromJWT'])();if(!_0x5da820)throw new _0xf5ff9b(_0x11bff9[_0x200c(0x3c)],_0x11bff9[_0x200c(0x2f)]);return _0x11bff9[_0x200c(0x3d)](_0x17556c,_0x11bff9['iTLiM'],'POST',{'data':{'username':_0x5da820,'pin':_0x49806d},'debug':debug});}else throw _0x285cc2;}if(_0x285cc2[_0x200c(0xa)]===_0x11bff9[_0x200c(0x3e)])throw new ApiError(_0x11bff9[_0x200c(0x3f)],_0x11bff9[_0x200c(0x40)]);debug&&(0x0,_debugHelper[_0x200c(0x2a)])(_0x11bff9['WEcfO'],{'endpoint':_0x4ca519,'method':_0x28346b,'error':_0x285cc2[_0x200c(0x41)]||_0x200c(0x42)});throw new ApiError(_0x285cc2[_0x200c(0x41)]||'An\x20unexpected\x20error\x20occurred',_0x11bff9[_0x200c(0x32)]);}},makeDeveloperApiRequest=async(_0x50e1ac,_0x3c08f6,_0x10b5c9={})=>{const _0x403a0={'yBRAP':_0x200c(0x43),'KVQmq':_0x200c(0x42),'oNyZR':function(_0x5ef928){return _0x5ef928();},'rjFmU':'puiaM','lswqo':_0x200c(0x15),'IQNuV':'network_error','xTOFo':_0x200c(0x44),'NcRnO':_0x200c(0x18),'xnoqU':function(_0x3b7711,_0x1e8d45){return _0x3b7711||_0x1e8d45;},'jVdYu':'Developer\x20API\x20Response','eSnud':function(_0x323054,_0x253ca4){return _0x323054===_0x253ca4;},'ulcSo':_0x200c(0x11),'RKTej':_0x200c(0x45),'uklbB':_0x200c(0x19),'DBmww':_0x200c(0x1a),'TslAt':_0x200c(0x1b),'oppyl':function(_0xeb7a09,_0x2316f0){return _0xeb7a09===_0x2316f0;},'xGchR':function(_0x1d6159,_0x269ef1){return _0x1d6159 instanceof _0x269ef1;},'PPyNq':_0x200c(0x1e),'QLFIG':'timeout_error','VMmdS':_0x200c(0x46)},{data:_0x2595e1,headers:headers={},debug:debug=![]}=_0x10b5c9;try{const _0x4132fb=await _0x403a0[_0x200c(0x47)](checkNetworkConnection);if(!_0x4132fb){if(_0x403a0[_0x200c(0x48)]===_0x403a0['rjFmU'])throw new ApiError(_0x403a0[_0x200c(0x49)],_0x403a0[_0x200c(0x4a)]);else(0x0,_0x4c7449[_0x200c(0x2a)])(_0x403a0['yBRAP'],{'endpoint':_0x4e5b1b,'method':_0xb1b0d1,'error':_0xd9c6f2[_0x200c(0x41)]||_0x403a0[_0x200c(0x4b)]});}debug&&(0x0,_debugHelper[_0x200c(0x2a)])(_0x403a0[_0x200c(0x4c)],{'endpoint':_0x50e1ac,'method':_0x3c08f6,'headers':{...headers,'Authorization':_0x403a0[_0x200c(0x4d)]},'data':_0x403a0[_0x200c(0x4e)](_0x2595e1,null)});const _0x62fd90=await(0x0,_apiKeyService[_0x200c(0x4f)])(_0x50e1ac,{'method':_0x3c08f6,'headers':headers,..._0x2595e1?{'body':JSON[_0x200c(0x2d)](_0x2595e1)}:{}}),_0x3ea05c=await _0x62fd90[_0x200c(0x2e)]();debug&&(0x0,_debugHelper[_0x200c(0x2a)])(_0x403a0[_0x200c(0x50)],{'status':_0x62fd90[_0x200c(0x27)],'data':_0x3ea05c});if(!_0x62fd90['ok']){var _0x2514f0,_0x14ebc5,_0xf94aa9;const _0x2079b8=_0x403a0[_0x200c(0x51)](_0x62fd90[_0x200c(0x27)],0x191)||_0x403a0['eSnud'](_0x62fd90[_0x200c(0x27)],0x193)?_0x403a0[_0x200c(0x52)]:_0x62fd90[_0x200c(0x27)]===0x190?_0x403a0[_0x200c(0x53)]:_0x62fd90[_0x200c(0x27)]>=0x1f4?_0x403a0['uklbB']:_0x403a0['DBmww'];throw new ApiError(((_0x2514f0=_0x3ea05c['error'])===null||_0x403a0[_0x200c(0x51)](_0x2514f0,void 0x0)?void 0x0:_0x2514f0[_0x200c(0x41)])||_0x403a0['TslAt'],_0x2079b8,(_0x14ebc5=_0x3ea05c[_0x200c(0x33)])===null||_0x403a0[_0x200c(0x51)](_0x14ebc5,void 0x0)?void 0x0:_0x14ebc5[_0x200c(0x36)],_0x403a0[_0x200c(0x54)](_0xf94aa9=_0x3ea05c[_0x200c(0x33)],null)||_0x403a0[_0x200c(0x51)](_0xf94aa9,void 0x0)?void 0x0:_0xf94aa9[_0x200c(0xb)]);}return _0x3ea05c;}catch(_0x47e3b7){if(_0x403a0[_0x200c(0x55)](_0x47e3b7,ApiError))throw _0x47e3b7;if(_0x403a0[_0x200c(0x54)](_0x47e3b7['name'],_0x200c(0x1d)))throw new ApiError(_0x403a0[_0x200c(0x56)],_0x403a0[_0x200c(0x57)]);debug&&(0x0,_debugHelper[_0x200c(0x2a)])(_0x403a0[_0x200c(0x58)],{'endpoint':_0x50e1ac,'method':_0x3c08f6,'error':_0x47e3b7[_0x200c(0x41)]||_0x200c(0x42)});throw new ApiError(_0x47e3b7[_0x200c(0x41)]||_0x403a0['VMmdS'],_0x403a0['DBmww']);}},validateCredentials=async(_0x324049,_0x1eb741={'debug':![]})=>{const _0x171bfd={'TYkKC':_0x200c(0x59),'HtQrs':_0x200c(0x5a),'GQwQX':function(_0x568042,_0x4c5694,_0x571c45,_0x4290e5){return _0x568042(_0x4c5694,_0x571c45,_0x4290e5);},'nArgH':_0x200c(0x5b),'EoHRX':function(_0x5389b8,_0x31daf6){return _0x5389b8===_0x31daf6;},'JaCst':function(_0x500991,_0x5645c4){return _0x500991===_0x5645c4;},'vCVzb':function(_0x4eac6b,_0x3a70c9){return _0x4eac6b===_0x3a70c9;}};try{if(_0x171bfd[_0x200c(0x5c)]!==_0x171bfd[_0x200c(0x5d)]){var _0x5bf5de,_0x2e8f29;const _0x127109=await _0x171bfd[_0x200c(0x5e)](makeUserApiRequest,_0x171bfd[_0x200c(0x5f)],'POST',{'data':{'username':_0x324049},'debug':_0x1eb741['debug']});return{'isValid':_0x127109['success']&&_0x171bfd[_0x200c(0x60)](_0x171bfd[_0x200c(0x61)](_0x5bf5de=_0x127109[_0x200c(0x62)],null)||_0x5bf5de===void 0x0?void 0x0:_0x5bf5de[_0x200c(0x63)],!![]),'message':_0x171bfd['JaCst'](_0x2e8f29=_0x127109[_0x200c(0x33)],null)||_0x171bfd[_0x200c(0x64)](_0x2e8f29,void 0x0)?void 0x0:_0x2e8f29[_0x200c(0x41)]};}else return(0x0,_0xac1cfd[_0x200c(0x28)])();}catch(_0x5a379e){return{'isValid':![],'message':_0x5a379e['message']};}};exports[_0x200c(0x2)]=validateCredentials;const createAccount=async(_0x940c6,_0x515570={'debug':![]})=>{const _0x502526={'LZWJo':function(_0x565911,_0x509866,_0x2105b1,_0x1c4cdd){return _0x565911(_0x509866,_0x2105b1,_0x1c4cdd);}};return _0x502526[_0x200c(0x65)](makeDeveloperApiRequest,_0x200c(0x66),'POST',{'data':{'username':_0x940c6[_0x200c(0x67)],'platforms':_0x940c6[_0x200c(0x68)]},'debug':_0x515570[_0x200c(0x69)]});};exports[_0x200c(0x6a)]=createAccount;const authenticate=async(_0x39ee15,_0x137388={'debug':![]})=>{const _0x4d88c4={'jKBro':_0x200c(0x6b)};return makeUserApiRequest(_0x4d88c4[_0x200c(0x6c)],'POST',{'data':{'username':_0x39ee15[_0x200c(0x67)],'pin':_0x39ee15[_0x200c(0x6d)]},'debug':_0x137388[_0x200c(0x69)]});};exports['authenticate']=authenticate;const refreshToken=async(_0x53c6d0,_0x2f0370={'debug':![]})=>{const _0x2f6524={'tnUnD':function(_0x3813e3,_0x24f136,_0x47b6ce,_0x3f6cbe){return _0x3813e3(_0x24f136,_0x47b6ce,_0x3f6cbe);},'PIgNA':_0x200c(0x6e)};return _0x2f6524[_0x200c(0x6f)](makeUserApiRequest,_0x2f6524[_0x200c(0x70)],'POST',{'data':{'refreshToken':_0x53c6d0},'debug':_0x2f0370[_0x200c(0x69)]});};exports['refreshToken']=refreshToken;const getPlatformData=async(_0x1c0653,_0x3f943b={'debug':![]})=>{const _0x381951={'XzQCX':function(_0x760711,_0x262156,_0x460ca2,_0x18a4ca){return _0x760711(_0x262156,_0x460ca2,_0x18a4ca);}};return _0x381951[_0x200c(0x71)](makeUserApiRequest,_0x200c(0x72)+_0x1c0653+'/data','GET',{'debug':_0x3f943b[_0x200c(0x69)]});};exports['getPlatformData']=getPlatformData;const getUserProfile=async(_0x1460b9={'debug':![]})=>{const _0x5e69d3={'zqIMr':function(_0x3f30cf,_0x132b54,_0x2279fd,_0x42f4be){return _0x3f30cf(_0x132b54,_0x2279fd,_0x42f4be);},'txTQz':'user/profile'};return _0x5e69d3[_0x200c(0x73)](makeUserApiRequest,_0x5e69d3[_0x200c(0x74)],'GET',{'debug':_0x1460b9['debug']});};exports[_0x200c(0x75)]=getUserProfile;const updatePlatformConnections=async(_0x350b37,_0x4d14f0={'debug':![]})=>{return makeUserApiRequest('user/platforms','PUT',{'data':{'platforms':_0x350b37},'debug':_0x4d14f0[_0x200c(0x69)]});};exports[_0x200c(0x3)]=updatePlatformConnections;const storePIN=async(_0x5ef056,_0x3e692e={})=>{const _0x16921f={'acWiM':function(_0x1c74d7,_0x53a739){return _0x1c74d7===_0x53a739;},'qkmci':function(_0x3b01fd,_0x23adb9){return _0x3b01fd===_0x23adb9;},'tztIS':'auth_error','qmFNr':_0x200c(0x45),'fHtLP':function(_0x4a2273,_0x203a91){return _0x4a2273>=_0x203a91;},'NTgrW':_0x200c(0x19),'IqzNb':_0x200c(0x1a),'xqMce':function(_0x17822f,_0x1f325d){return _0x17822f===_0x1f325d;},'SEwPC':'API\x20request\x20failed','SbGpA':function(_0x59f445,_0x1daf58){return _0x59f445===_0x1daf58;},'BsVVV':function(_0x4daf75,_0x2620f7){return _0x4daf75===_0x2620f7;},'yPctU':function(_0x572f27,_0x36cd5e){return _0x572f27===_0x36cd5e;},'PQeHp':function(_0x340a7a,_0x4553ef){return _0x340a7a!==_0x4553ef;},'thntH':_0x200c(0x76),'zRTId':_0x200c(0x77),'UKbnv':_0x200c(0x10),'MPxGh':'store-pin/mobile'},{debug:debug=![],username:_0x2b0ee5}=_0x3e692e,_0x385461=_0x2b0ee5||(0x0,_apiKeyService['extractUsernameFromJWT'])();if(!_0x385461){if(_0x16921f[_0x200c(0x78)](_0x16921f['thntH'],_0x16921f[_0x200c(0x79)]))throw new ApiError(_0x16921f[_0x200c(0x7a)],_0x16921f[_0x200c(0x7b)]);else{var _0x255ef5,_0x1b1f89,_0x487f62;const _0xe586e5=_0x16921f[_0x200c(0x7c)](_0x37357f[_0x200c(0x27)],0x191)||_0x16921f['qkmci'](_0x4b0c9a[_0x200c(0x27)],0x193)?_0x16921f[_0x200c(0x7b)]:_0x16921f[_0x200c(0x7c)](_0x54874f['status'],0x190)?_0x16921f[_0x200c(0x7d)]:_0x16921f[_0x200c(0x7e)](_0x207694[_0x200c(0x27)],0x1f4)?_0x16921f[_0x200c(0x7f)]:_0x16921f[_0x200c(0x80)];throw new _0x556240((_0x16921f[_0x200c(0x81)](_0x255ef5=_0x5442c1[_0x200c(0x33)],null)||_0x255ef5===void 0x0?void 0x0:_0x255ef5[_0x200c(0x41)])||_0x16921f[_0x200c(0x82)],_0xe586e5,_0x16921f[_0x200c(0x83)](_0x1b1f89=_0x354eb2[_0x200c(0x33)],null)||_0x16921f[_0x200c(0x83)](_0x1b1f89,void 0x0)?void 0x0:_0x1b1f89[_0x200c(0x36)],_0x16921f[_0x200c(0x84)](_0x487f62=_0x48ac0b[_0x200c(0x33)],null)||_0x16921f['yPctU'](_0x487f62,void 0x0)?void 0x0:_0x487f62['details']);}}return makeUserApiRequest(_0x16921f[_0x200c(0x85)],'POST',{'data':{'username':_0x385461,'pin':_0x5ef056},'debug':debug});};exports[_0x200c(0x4)]=storePIN;const getCurrentUserToken=async()=>{return await(0x0,_apiKeyService['getJWT'])();};exports[_0x200c(0x86)]=getCurrentUserToken;const isCurrentUserAuthenticated=()=>{return(0x0,_apiKeyService[_0x200c(0x28)])();};exports['isCurrentUserAuthenticated']=isCurrentUserAuthenticated;function _0x3f38(){const _0x72c3d3=['defineProperty','__esModule','validateCredentials','updatePlatformConnections','storePIN','isCurrentUserAuthenticated','authenticate','2|0|3|4|1','ApiError','type','name','details','default','fetch','vtmsS','User\x20API\x20Response','No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid','auth_error','store-pin/mobile','hMOJk','DSUoz','No\x20network\x20connection\x20available','network_error','User\x20not\x20authenticated.\x20Please\x20verify\x20email\x20first.','[REDACTED]','server_error','unknown_error','API\x20request\x20failed','tBasT','AbortError','Request\x20timed\x20out','timeout_error','User\x20API\x20Error','YYwkE','vrGtI','ijUDO','daAFC','DswNm','TEdgN','status','isUserAuthenticated','dJvuD','logDebug','gBzTy','makeUserRequest','stringify','json','fjEyy','NDTaD','sWqiK','YxlQl','error','bfeKD','YDsew','code','sYrBz','Developer\x20API\x20Response','mXKXo','oeXow','mdMUt','rykjp','xrhWL','CMmoO','vbjUv','trdFt','message','Unknown\x20error','Developer\x20API\x20Error','Developer\x20API\x20Request','validation_error','An\x20unexpected\x20error\x20occurred','oNyZR','rjFmU','lswqo','IQNuV','KVQmq','xTOFo','NcRnO','xnoqU','makeDeveloperRequest','jVdYu','eSnud','ulcSo','RKTej','oppyl','xGchR','PPyNq','QLFIG','yBRAP','pSenM','wbXLa','auth/validate','TYkKC','HtQrs','GQwQX','nArgH','EoHRX','JaCst','data','isValid','vCVzb','LZWJo','auth/register','username','platforms','debug','createAccount','auth/login','jKBro','userPin','auth/refresh','tnUnD','PIgNA','XzQCX','platforms/','zqIMr','txTQz','getUserProfile','iTnhA','TsRAr','PQeHp','zRTId','UKbnv','tztIS','acWiM','qmFNr','fHtLP','NTgrW','IqzNb','xqMce','SEwPC','SbGpA','BsVVV','MPxGh','getCurrentUserToken'];_0x3f38=function(){return _0x72c3d3;};return _0x3f38();}
|
|
@@ -6,4 +6,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
|
|
|
6
6
|
require('react')
|
|
7
7
|
];
|
|
8
8
|
function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
|
|
9
|
-
|
|
9
|
+
Object[_0xe140(0x0)](exports,_0xe140(0x1),{'value':!![]}),exports[_0xe140(0x2)]=exports[_0xe140(0x3)]=void 0x0;var _platformAuthService=__ONAIROS_REQ_FUNC__(0x0);function _interopRequireWildcard(_0x365ad8,_0x5d70f7){const _0x4390d9={'mSZvt':function(_0x4ea3fa,_0x5ad77b){return _0x4ea3fa&&_0x5ad77b;},'CMlLJ':function(_0x406472,_0x4b291){return _0x406472===_0x4b291;},'EDLIB':function(_0x295958,_0x559586){return _0x295958!=_0x559586;},'KyQCr':_0xe140(0x4),'wHhRi':function(_0x43b46f,_0x4d2d7b){return _0x43b46f!==_0x4d2d7b;},'mHFEX':function(_0x2a338e,_0x4f3587,_0x2ed707,_0x1f73ac){return _0x2a338e(_0x4f3587,_0x2ed707,_0x1f73ac);},'rtiQF':function(_0xbacaf8,_0x1ffe30){return _0xbacaf8==_0x1ffe30;},'GHaQI':_0xe140(0x5)};if(_0x4390d9[_0xe140(0x6)](_0x4390d9[_0xe140(0x7)],typeof WeakMap))var _0x41d07f=new WeakMap(),_0x39dd63=new WeakMap();return(_interopRequireWildcard=function(_0xfbc7e1,_0x8807c2){if(_0x4390d9[_0xe140(0x8)](!_0x8807c2,_0xfbc7e1)&&_0xfbc7e1['__esModule'])return _0xfbc7e1;var _0x19b677,_0x1db876,_0x377384={'__proto__':null,'default':_0xfbc7e1};if(_0x4390d9[_0xe140(0x9)](null,_0xfbc7e1)||_0x4390d9[_0xe140(0xa)](_0x4390d9['KyQCr'],typeof _0xfbc7e1)&&_0x4390d9[_0xe140(0xa)](_0xe140(0x5),typeof _0xfbc7e1))return _0x377384;if(_0x19b677=_0x8807c2?_0x39dd63:_0x41d07f){if(_0x19b677[_0xe140(0xb)](_0xfbc7e1))return _0x19b677['get'](_0xfbc7e1);_0x19b677['set'](_0xfbc7e1,_0x377384);}for(const _0x207bea in _0xfbc7e1)_0x4390d9['wHhRi']('default',_0x207bea)&&{}[_0xe140(0xc)][_0xe140(0xd)](_0xfbc7e1,_0x207bea)&&((_0x1db876=(_0x19b677=Object[_0xe140(0x0)])&&Object['getOwnPropertyDescriptor'](_0xfbc7e1,_0x207bea))&&(_0x1db876['get']||_0x1db876['set'])?_0x4390d9['mHFEX'](_0x19b677,_0x377384,_0x207bea,_0x1db876):_0x377384[_0x207bea]=_0xfbc7e1[_0x207bea]);return _0x377384;})(_0x365ad8,_0x5d70f7);}const executeOnairosFlow=async _0x49aa1f=>{const _0x3dfaa2={'APeZY':function(_0x5cf219,_0x295a45){return _0x5cf219&&_0x295a45;},'FwRSk':function(_0x10f8f5,_0x443bec){return _0x10f8f5===_0x443bec;},'wefDz':function(_0x3e2940,_0x469a91){return _0x3e2940!=_0x469a91;},'EGlOp':_0xe140(0x5),'Rpdeq':'default','CKeDQ':function(_0x5c41b5,_0x1a5e53){return _0x5c41b5==_0x1a5e53;},'deghD':function(_0x2857ff,_0x486853){return _0x2857ff||_0x486853;},'QyBFG':_0xe140(0xe),'oJAOz':_0xe140(0xf),'WNnDi':_0xe140(0x10),'rDCTd':'Pre-check\x20failed','QndYE':function(_0xd1feec,_0xcc7406){return _0xd1feec!==_0xcc7406;},'BmQzY':_0xe140(0x11),'OczeD':_0xe140(0x12),'DwWbT':_0xe140(0x13),'paFgp':function(_0x34f9eb){return _0x34f9eb();},'GRXxp':_0xe140(0x14),'cMmLZ':_0xe140(0x15),'mhIje':function(_0x40aa02){return _0x40aa02();},'vAhkj':function(_0x15f747,_0x599847){return _0x15f747!==_0x599847;},'eEDmy':'QXBDC','adbgl':_0xe140(0x16),'xsowf':_0xe140(0x17),'vELIm':_0xe140(0x18)};try{if(_0x3dfaa2[_0xe140(0x19)](_0x3dfaa2[_0xe140(0x1a)],_0x3dfaa2[_0xe140(0x1a)])){const _0x8e9a5={'TCLir':function(_0x50e66d,_0x1014b1){return _0x3dfaa2[_0xe140(0x1b)](_0x50e66d,_0x1014b1);},'mQldF':function(_0x2af456,_0x4f140c){return _0x3dfaa2[_0xe140(0x1c)](_0x2af456,_0x4f140c);},'SmBoX':function(_0x41fcc6,_0x1ab44f){return _0x3dfaa2['wefDz'](_0x41fcc6,_0x1ab44f);},'mFyDN':'object','BDHNP':_0x3dfaa2['EGlOp'],'Koevk':function(_0x34b3da,_0xf0c30d){return _0x34b3da!==_0xf0c30d;},'NQjTR':_0x3dfaa2[_0xe140(0x1d)]};if(_0x3dfaa2[_0xe140(0x1e)](_0x3dfaa2[_0xe140(0x1f)],typeof _0x1fb26d))var _0x390dd1=new _0x2c7533(),_0x755205=new _0x309ace();return(_0x57f107=function(_0x23dc6f,_0x43a2fd){if(_0x8e9a5[_0xe140(0x20)](!_0x43a2fd,_0x23dc6f)&&_0x23dc6f['__esModule'])return _0x23dc6f;var _0x1bcbcc,_0x365b1b,_0x1aaff={'__proto__':null,'default':_0x23dc6f};if(_0x8e9a5[_0xe140(0x21)](null,_0x23dc6f)||_0x8e9a5[_0xe140(0x22)](_0x8e9a5[_0xe140(0x23)],typeof _0x23dc6f)&&_0x8e9a5['SmBoX'](_0x8e9a5[_0xe140(0x24)],typeof _0x23dc6f))return _0x1aaff;if(_0x1bcbcc=_0x43a2fd?_0x755205:_0x390dd1){if(_0x1bcbcc[_0xe140(0xb)](_0x23dc6f))return _0x1bcbcc[_0xe140(0x25)](_0x23dc6f);_0x1bcbcc[_0xe140(0x26)](_0x23dc6f,_0x1aaff);}for(const _0xb6fcc9 in _0x23dc6f)_0x8e9a5[_0xe140(0x27)](_0x8e9a5[_0xe140(0x28)],_0xb6fcc9)&&{}['hasOwnProperty'][_0xe140(0xd)](_0x23dc6f,_0xb6fcc9)&&((_0x365b1b=(_0x1bcbcc=_0xe89bf6[_0xe140(0x0)])&&_0x4e86b8[_0xe140(0x29)](_0x23dc6f,_0xb6fcc9))&&(_0x365b1b[_0xe140(0x25)]||_0x365b1b[_0xe140(0x26)])?_0x1bcbcc(_0x1aaff,_0xb6fcc9,_0x365b1b):_0x1aaff[_0xb6fcc9]=_0x23dc6f[_0xb6fcc9]);return _0x1aaff;})(_0x3a90dc,_0x5f2220);}else{console[_0xe140(0x2a)](_0x3dfaa2[_0xe140(0x2b)]),await(0x0,_platformAuthService['initializePlatformAuthService'])();const {UniversalOnboarding:_0x380a5f}=await Promise[_0xe140(0x2c)]()[_0xe140(0x2d)](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x1))),React=await Promise[_0xe140(0x2c)]()['then'](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x2)));return new Promise((_0x18c682,_0x24d3dd)=>{const _0x2ebbbf={'oNsYp':_0x3dfaa2[_0xe140(0x2e)],'PriaO':function(_0x418cbf,_0x819a3a){return _0x3dfaa2['QndYE'](_0x418cbf,_0x819a3a);},'gZEGE':_0x3dfaa2['BmQzY'],'pbVrT':_0x3dfaa2['OczeD'],'uJhIO':_0x3dfaa2[_0xe140(0x2f)],'Wbpiy':function(_0x274c25){return _0x3dfaa2[_0xe140(0x30)](_0x274c25);}};let _0x586952=null;const _0x1ce473=(_0x1a9e2e,_0x446605,_0x30b445)=>{const _0x544eee={'KKovW':_0x2ebbbf[_0xe140(0x31)]};_0x2ebbbf[_0xe140(0x32)](_0x2ebbbf[_0xe140(0x33)],_0x2ebbbf[_0xe140(0x34)])?(console[_0xe140(0x2a)](_0xe140(0x15)),_0x586952&&_0x586952[_0xe140(0x35)]&&(_0x2ebbbf[_0xe140(0x32)](_0x2ebbbf[_0xe140(0x36)],'SnLOz')?_0x586952[_0xe140(0x35)]():_0x33bcf7[_0xe140(0x37)](_0x544eee[_0xe140(0x38)])),_0x49aa1f[_0xe140(0x39)]&&_0x49aa1f['onResolved'](_0x1a9e2e,_0x446605,_0x30b445),_0x2ebbbf[_0xe140(0x3a)](_0x18c682)):_0x12e5f8[_0xe140(0x37)](_0x1c85d3);},_0xdeed87=_0x39d3ea=>{const _0x1c0cd2={'nTKfv':_0xe140(0x3b),'vydUs':function(_0x4db88c,_0x52359f){return _0x4db88c(_0x52359f);},'dXgjq':function(_0x2fa924,_0x2fdfc7){return _0x3dfaa2[_0xe140(0x3c)](_0x2fa924,_0x2fdfc7);},'edpGd':_0x3dfaa2[_0xe140(0x3d)]};console[_0xe140(0x2a)](_0xe140(0x3b),_0x39d3ea),_0x586952&&_0x586952[_0xe140(0x35)]&&(_0x3dfaa2[_0xe140(0x1c)](_0x3dfaa2['oJAOz'],_0x3dfaa2[_0xe140(0x3e)])?(_0x61fc08[_0xe140(0x2a)](_0x1c0cd2['nTKfv'],_0x4c5aea),_0x2122e7&&_0x9e9d0d[_0xe140(0x35)]&&_0x147993[_0xe140(0x35)](),_0x18b2d6['onRejection']&&_0x1946ee[_0xe140(0x37)](_0x26fb4a),_0x1c0cd2['vydUs'](_0x18298e,new _0x1265b7(_0x1c0cd2[_0xe140(0x3f)](_0x357260,_0x1c0cd2[_0xe140(0x40)])))):_0x586952[_0xe140(0x35)]()),_0x49aa1f['onRejection']&&_0x49aa1f[_0xe140(0x37)](_0x39d3ea),_0x24d3dd(new Error(_0x39d3ea||'Onairos\x20flow\x20was\x20rejected'));},_0x548b05=React[_0xe140(0x41)](_0x380a5f,{'visible':!![],'onClose':()=>_0xdeed87(_0xe140(0x42)),'AppName':_0x49aa1f[_0xe140(0x43)],'requestData':_0x49aa1f[_0xe140(0x44)],'returnLink':_0x49aa1f['returnLink'],'onComplete':_0x1ce473,'preferredPlatform':_0x49aa1f[_0xe140(0x45)],'debug':_0x49aa1f[_0xe140(0x46)],'testMode':_0x49aa1f[_0xe140(0x47)]});_0x586952=_0x548b05,console[_0xe140(0x2a)](_0x3dfaa2[_0xe140(0x48)]);});}}catch(_0x1ebfbb){if(_0x3dfaa2[_0xe140(0x49)]===_0xe140(0x17)){console[_0xe140(0x4a)](_0x3dfaa2['vELIm'],_0x1ebfbb);throw _0x1ebfbb;}else _0x4e1e11[_0xe140(0x2a)](_0x3dfaa2[_0xe140(0x4b)]),_0x53d69c&&_0xfb21a['close']&&_0x37666a[_0xe140(0x35)](),_0x3aef6d[_0xe140(0x39)]&&_0xaf0df3['onResolved'](_0x74811e,_0x1bd538,_0x313c29),_0x3dfaa2[_0xe140(0x4c)](_0x584177);}};exports[_0xe140(0x3)]=executeOnairosFlow;const startOnairosFlow=async _0x371b6a=>{const _0x249a3d={'JNNSE':_0xe140(0x4d),'FoRRS':function(_0x22d10c,_0x2a30a1){return _0x22d10c(_0x2a30a1);}};if(_0x371b6a[_0xe140(0x4e)]){const _0x40a95e=await _0x371b6a[_0xe140(0x4e)]();if(!_0x40a95e){console[_0xe140(0x2a)](_0xe140(0x4f));_0x371b6a['onRejection']&&_0x371b6a['onRejection'](_0x249a3d['JNNSE']);return;}}return _0x249a3d[_0xe140(0x50)](executeOnairosFlow,_0x371b6a);};function _0xe140(_0x3e980e,_0xe14094){_0x3e980e=_0x3e980e-0x0;const _0x24d298=_0x3e98();let _0x54329e=_0x24d298[_0x3e980e];return _0x54329e;}function _0x3e98(){const _0x52f235=['defineProperty','__esModule','startOnairosFlow','executeOnairosFlow','object','function','rtiQF','GHaQI','mSZvt','CMlLJ','EDLIB','has','hasOwnProperty','call','Onairos\x20flow\x20was\x20rejected','OrUgf','bWFXU','UsuXa','RNQhe','EEBHA','📱\x20Onairos\x20modal\x20should\x20be\x20displayed','✅\x20Onairos\x20flow\x20completed\x20successfully','🚀\x20Starting\x20Onairos\x20flow\x20programmatically...','NkrOQ','❌\x20Failed\x20to\x20execute\x20Onairos\x20flow:','vAhkj','eEDmy','APeZY','FwRSk','Rpdeq','CKeDQ','EGlOp','TCLir','mQldF','SmBoX','mFyDN','BDHNP','get','set','Koevk','NQjTR','getOwnPropertyDescriptor','log','adbgl','resolve','then','rDCTd','DwWbT','paFgp','oNsYp','PriaO','gZEGE','pbVrT','close','uJhIO','onRejection','KKovW','onResolved','Wbpiy','❌\x20Onairos\x20flow\x20rejected:','deghD','QyBFG','WNnDi','dXgjq','edpGd','createElement','User\x20closed\x20the\x20modal','AppName','requestData','preferredPlatform','debug','testMode','GRXxp','xsowf','error','cMmLZ','mhIje','Pre-check\x20failed','preCheck','❌\x20Pre-check\x20failed,\x20not\x20starting\x20Onairos\x20flow','FoRRS'];_0x3e98=function(){return _0x52f235;};return _0x3e98();}exports['startOnairosFlow']=startOnairosFlow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function _0x4313(_0x4dc08f,_0x431377){_0x4dc08f=_0x4dc08f-0x0;const _0x19f59e=_0x4dc0();let _0x54c75b=_0x19f59e[_0x4dc08f];return _0x54c75b;}Object[_0x4313(0x0)](exports,'__esModule',{'value':!![]}),exports[_0x4313(0x1)]=exports[_0x4313(0x2)]=exports['API_RETRY_OPTIONS']=void 0x0,exports[_0x4313(0x3)]=fetchWithRetry,exports['healthCheck']=healthCheck,exports[_0x4313(0x4)]=withRetry;const DEFAULT_RETRY_OPTIONS=exports['DEFAULT_RETRY_OPTIONS']={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'enableLogging':![],'shouldRetry':(_0x1d42d6,_0x33550d)=>{const _0x435f6a={'HXutb':function(_0x437b78,_0x562f1f){return _0x437b78<_0x562f1f;},'YZaCV':function(_0x4fe537,_0x21c515){return _0x4fe537!==_0x21c515;},'lNYeJ':function(_0x52ec53,_0x29efd1){return _0x52ec53!==_0x29efd1;},'kfKNO':_0x4313(0x5),'vLiIT':_0x4313(0x6),'sUyER':_0x4313(0x7),'sYIEV':'timeout','vUVJR':function(_0x28a4ba,_0x1f863b){return _0x28a4ba>=_0x1f863b;},'rNhPB':function(_0x3b1a51,_0x45f16c){return _0x3b1a51!==_0x45f16c;},'yeQPG':_0x4313(0x8),'gjlry':'Unexpected\x20character'};if(_0x1d42d6[_0x4313(0x9)]>=0x190&&_0x435f6a[_0x4313(0xa)](_0x1d42d6['status'],0x1f4)&&_0x435f6a[_0x4313(0xb)](_0x1d42d6['status'],0x198)&&_0x435f6a[_0x4313(0xc)](_0x1d42d6[_0x4313(0x9)],0x1ad))return![];if(_0x1d42d6[_0x4313(0xd)]===_0x435f6a[_0x4313(0xe)]||_0x1d42d6[_0x4313(0xf)]['includes'](_0x4313(0x10))||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a['vLiIT'])||_0x1d42d6[_0x4313(0xf)]['includes'](_0x435f6a[_0x4313(0x12)])||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a[_0x4313(0x13)])||_0x435f6a['vUVJR'](_0x1d42d6[_0x4313(0x9)],0x1f4))return _0x435f6a[_0x4313(0x14)](_0x435f6a['yeQPG'],'GHHch')?!![]:!![];if(_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x15))||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a[_0x4313(0x16)]))return!![];return![];}};async function withRetry(_0x33477b,_0x5514d1={}){const _0x5d8e19={'DFKmh':function(_0x3683bc,_0x2febc9){return _0x3683bc===_0x2febc9;},'eTNtT':_0x4313(0x17),'nNRqQ':function(_0x196f4b,_0x33bdb9){return _0x196f4b!==_0x33bdb9;},'zLFza':_0x4313(0x18),'RwbAY':function(_0xe13f53,_0x4001d9){return _0xe13f53+_0x4001d9;},'vAqIE':function(_0x3e533f){return _0x3e533f();},'jMmts':function(_0x492766,_0x201c37){return _0x492766-_0x201c37;},'mqTDn':function(_0x54e6b5,_0x3c1e02){return _0x54e6b5>_0x3c1e02;},'oUrav':function(_0x5a5744,_0x2abb7f){return _0x5a5744-_0x2abb7f;},'FWAmx':function(_0x5a69f1,_0x1e236a){return _0x5a69f1*_0x1e236a;},'ftpwr':_0x4313(0x19)},_0x32b91e={...DEFAULT_RETRY_OPTIONS,..._0x5514d1},_0x55bbad=Date[_0x4313(0x1a)]();let _0xb7b860=null;for(let _0x20e8b2=0x1;_0x20e8b2<=_0x32b91e[_0x4313(0x1b)]+0x1;_0x20e8b2++){if(_0x5d8e19[_0x4313(0x1c)](_0x5d8e19[_0x4313(0x1d)],_0x5d8e19[_0x4313(0x1d)]))try{if(_0x32b91e['enableLogging']&&_0x20e8b2>0x1){if(_0x5d8e19['nNRqQ'](_0x5d8e19[_0x4313(0x1e)],_0x5d8e19[_0x4313(0x1e)]))return!![];else console['log'](_0x4313(0x1f)+_0x20e8b2+'/'+_0x5d8e19[_0x4313(0x20)](_0x32b91e[_0x4313(0x1b)],0x1));}const _0x13cd20=await _0x5d8e19[_0x4313(0x21)](_0x33477b);return{'success':!![],'data':_0x13cd20,'attempts':_0x20e8b2,'totalDuration':_0x5d8e19[_0x4313(0x22)](Date[_0x4313(0x1a)](),_0x55bbad)};}catch(_0x4c6a5b){_0xb7b860=_0x4c6a5b;const _0x88610d=_0x32b91e[_0x4313(0x23)]?_0x32b91e['shouldRetry'](_0x4c6a5b,_0x20e8b2):!![];if(_0x5d8e19[_0x4313(0x24)](_0x20e8b2,_0x32b91e['maxRetries'])||!_0x88610d){_0x32b91e[_0x4313(0x25)]&&console['error'](_0x4313(0x26)+_0x4c6a5b[_0x4313(0xf)]);break;}let _0x18c46f=_0x32b91e['baseDelay'];_0x32b91e[_0x4313(0x27)]&&(_0x18c46f=Math[_0x4313(0x28)](_0x32b91e['baseDelay']*Math[_0x4313(0x29)](0x2,_0x5d8e19['oUrav'](_0x20e8b2,0x1)),_0x32b91e[_0x4313(0x2a)]));const _0x2d248e=_0x5d8e19[_0x4313(0x2b)](_0x5d8e19[_0x4313(0x2b)](Math[_0x4313(0x2c)](),0.1),_0x18c46f);_0x18c46f=Math[_0x4313(0x2d)](_0x5d8e19[_0x4313(0x20)](_0x18c46f,_0x2d248e)),_0x32b91e['onRetry']&&_0x32b91e[_0x4313(0x2e)](_0x4c6a5b,_0x20e8b2,_0x18c46f),_0x32b91e[_0x4313(0x25)]&&console[_0x4313(0x2f)](_0x4313(0x30)+_0x18c46f+_0x4313(0x31)+_0x20e8b2+'/'+(_0x32b91e[_0x4313(0x1b)]+0x1)+')'),await new Promise(_0xbe6834=>setTimeout(()=>_0xbe6834(),_0x18c46f));}else _0x5bcba2[_0x4313(0x2e)](_0x51d92a,_0x32cfbb,_0x46e5b7);}return{'success':![],'error':_0xb7b860||new Error(_0x5d8e19['ftpwr']),'attempts':_0x5d8e19[_0x4313(0x20)](_0x32b91e[_0x4313(0x1b)],0x1),'totalDuration':_0x5d8e19[_0x4313(0x22)](Date[_0x4313(0x1a)](),_0x55bbad)};}function _0x4dc0(){const _0x21e415=['defineProperty','NETWORK_RETRY_OPTIONS','DEFAULT_RETRY_OPTIONS','fetchWithRetry','withRetry','AbortError','fetch','ENOTFOUND','xhexe','status','HXutb','YZaCV','lNYeJ','name','kfKNO','message','Network\x20request\x20failed','includes','sUyER','sYIEV','rNhPB','JSON\x20Parse\x20error','gjlry','FYagV','GSYNQ','Unknown\x20error','now','maxRetries','DFKmh','eTNtT','zLFza','🔄\x20Retry\x20attempt\x20','RwbAY','vAqIE','jMmts','shouldRetry','mqTDn','enableLogging','❌\x20All\x20retry\x20attempts\x20exhausted\x20or\x20error\x20not\x20retryable:\x20','exponentialBackoff','min','pow','maxDelay','FWAmx','random','floor','onRetry','log','⏳\x20Waiting\x20','ms\x20before\x20retry\x20(attempt\x20','API_RETRY_OPTIONS','DaXWt','validation\x20endpoint','WJsjN','timeout','Unexpected\x20character','XpLUG','xTWpQ','AEOSM','Ppfmj','KpAhw','uUTKE','WWhTB','eBuwQ','DxWmM','HnABq','LUITg','vMqdc','lhKGF','HoYMh','pOUFi','⚠️\x20API\x20call\x20failed\x20(attempt\x20','),\x20retrying\x20in\x20','ms:\x20','BlJtV','WYZtH','DNS','ZRBDh','OPhNd','success','error','eNsFj','bXxKl','Qcgnq','abort','signal','FgbFG','nvcUn','lmArc','qCOTB','mskDM','YBbQL','SkNiZ','ITvrL','lDjuR'];_0x4dc0=function(){return _0x21e415;};return _0x4dc0();}const API_RETRY_OPTIONS=exports[_0x4313(0x32)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'shouldRetry':(_0x1615a6,_0x29aee5)=>{const _0x50a22b={'XpLUG':function(_0x43c217,_0x19ba02){return _0x43c217===_0x19ba02;},'xTWpQ':function(_0x47e2bb,_0x6153e8){return _0x47e2bb===_0x6153e8;},'uUTKE':function(_0x1660bf,_0x165689){return _0x1660bf!==_0x165689;},'AEOSM':_0x4313(0x33),'Ppfmj':'fKniX','KpAhw':_0x4313(0x34),'WWhTB':'rthON','eBuwQ':_0x4313(0x35),'DxWmM':function(_0x1b0742,_0x26eee2){return _0x1b0742<=_0x26eee2;},'HnABq':function(_0x1ec7bb,_0x90acf6){return _0x1ec7bb>=_0x90acf6;},'LUITg':_0x4313(0x36),'vMqdc':_0x4313(0x10),'lhKGF':_0x4313(0x6),'HoYMh':_0x4313(0x15),'xluNO':_0x4313(0x37),'pOUFi':'HTML\x20page\x20instead\x20of\x20JSON'};if(_0x50a22b[_0x4313(0x38)](_0x1615a6['status'],0x191)||_0x50a22b[_0x4313(0x39)](_0x1615a6[_0x4313(0x9)],0x193))return _0x50a22b['uUTKE'](_0x50a22b[_0x4313(0x3a)],_0x50a22b[_0x4313(0x3b)])?![]:!![];if(_0x1615a6[_0x4313(0x9)]===0x190||_0x1615a6[_0x4313(0x9)]===0x194&&!_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x3c)]))return _0x50a22b[_0x4313(0x3d)](_0x50a22b[_0x4313(0x3e)],_0x50a22b[_0x4313(0x3f)])?![]:![];if(_0x50a22b[_0x4313(0x38)](_0x1615a6[_0x4313(0x9)],0x1ad))return _0x50a22b[_0x4313(0x40)](_0x29aee5,0x2);if(_0x50a22b[_0x4313(0x41)](_0x1615a6['status'],0x1f4))return!![];if(_0x1615a6['name']===_0x4313(0x5)||_0x1615a6[_0x4313(0xf)]['includes'](_0x50a22b[_0x4313(0x42)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x43)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x44)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x7)))return!![];if(_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x45)])||_0x1615a6['message'][_0x4313(0x11)](_0x50a22b['xluNO'])||_0x1615a6['message'][_0x4313(0x11)](_0x50a22b[_0x4313(0x46)]))return!![];return![];},'onRetry':(_0x32fa8d,_0x3342b1,_0x4a871f)=>{console['warn'](_0x4313(0x47)+_0x3342b1+_0x4313(0x48)+_0x4a871f+_0x4313(0x49)+_0x32fa8d['message']);}},NETWORK_RETRY_OPTIONS=exports[_0x4313(0x1)]={'maxRetries':0x2,'baseDelay':0x7d0,'maxDelay':0x1f40,'exponentialBackoff':!![],'shouldRetry':(_0x556c7c,_0x4fba86)=>{const _0x185920={'BlJtV':_0x4313(0x10),'WYZtH':'ENOTFOUND','ZRBDh':function(_0x426774,_0xe0c0b1){return _0x426774===_0xe0c0b1;}};return _0x556c7c[_0x4313(0xf)][_0x4313(0x11)](_0x185920[_0x4313(0x4a)])||_0x556c7c['message'][_0x4313(0x11)](_0x185920[_0x4313(0x4b)])||_0x556c7c[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x4c))||_0x185920[_0x4313(0x4d)](_0x556c7c[_0x4313(0xd)],_0x4313(0x5));}};async function fetchWithRetry(_0x54871d,_0xb741e0={},_0x509c7f=API_RETRY_OPTIONS){const _0x233860={'OPhNd':function(_0x4eb7d2,_0x2b3e4a,_0x206380){return _0x4eb7d2(_0x2b3e4a,_0x206380);}},_0x14642e=await _0x233860[_0x4313(0x4e)](withRetry,()=>fetch(_0x54871d,_0xb741e0),_0x509c7f);if(!_0x14642e[_0x4313(0x4f)])throw _0x14642e[_0x4313(0x50)];return _0x14642e['data'];}async function healthCheck(_0x205fa6,_0x3ffeae=0x1388){const _0xb73649={'Qcgnq':function(_0x4e097f,_0x3f6e55){return _0x4e097f+_0x3f6e55;},'mskDM':_0x4313(0x10),'YBbQL':_0x4313(0x7),'SkNiZ':_0x4313(0x4c),'ITvrL':function(_0x532c3e,_0x2f8544){return _0x532c3e===_0x2f8544;},'lDjuR':'AbortError','mLoRh':function(_0x556c06,_0x404cff){return _0x556c06!==_0x404cff;},'IrCoi':_0x4313(0x51),'FgbFG':'OnairosReactNative/HealthCheck','nvcUn':function(_0x5d7410,_0x24f784){return _0x5d7410(_0x24f784);},'lmArc':function(_0x133dc3,_0x248fbf){return _0x133dc3-_0x248fbf;},'QUZkV':function(_0xd064ff,_0x2945e9){return _0xd064ff!==_0x2945e9;},'qCOTB':_0x4313(0x52)},_0x151e13=Date[_0x4313(0x1a)]();try{if(_0xb73649['mLoRh'](_0x4313(0x51),_0xb73649['IrCoi']))_0xb1a357[_0x4313(0x2f)]('⏳\x20Waiting\x20'+_0x1ba8bd+_0x4313(0x31)+_0x2743d3+'/'+_0xb73649[_0x4313(0x53)](_0x35a18a['maxRetries'],0x1)+')');else{const _0x1a8229=new AbortController(),_0x394d4a=setTimeout(()=>_0x1a8229[_0x4313(0x54)](),_0x3ffeae),_0x3dfa4c=await fetch(_0x205fa6,{'method':'GET','signal':_0x1a8229[_0x4313(0x55)],'headers':{'User-Agent':_0xb73649[_0x4313(0x56)]}});return _0xb73649[_0x4313(0x57)](clearTimeout,_0x394d4a),{'reachable':!![],'status':_0x3dfa4c[_0x4313(0x9)],'duration':_0xb73649[_0x4313(0x58)](Date[_0x4313(0x1a)](),_0x151e13)};}}catch(_0x39c6cd){return _0xb73649['QUZkV'](_0xb73649[_0x4313(0x59)],_0xb73649['qCOTB'])?_0x25f9f6[_0x4313(0xf)]['includes'](_0xb73649[_0x4313(0x5a)])||_0x1212bf[_0x4313(0xf)][_0x4313(0x11)](_0xb73649[_0x4313(0x5b)])||_0x57dc7f[_0x4313(0xf)][_0x4313(0x11)](_0xb73649[_0x4313(0x5c)])||_0xb73649[_0x4313(0x5d)](_0x2a9c8c[_0x4313(0xd)],_0xb73649[_0x4313(0x5e)]):{'reachable':![],'error':_0x39c6cd['message'],'duration':_0xb73649[_0x4313(0x58)](Date[_0x4313(0x1a)](),_0x151e13)};}}
|
|
1
|
+
'use strict';function _0x3072(){const _0x537c19=['defineProperty','__esModule','NETWORK_RETRY_OPTIONS','DEFAULT_RETRY_OPTIONS','API_RETRY_OPTIONS','fetchWithRetry','healthCheck','HfzJr','ejHIK','fetch','ENOTFOUND','JSON\x20Parse\x20error','Unexpected\x20character','Aoujp','SoZEI','iodjt','jPOJq','Qtvde','qjhJY','JYwZK','message','ziDaA','gVOOK','zYXLO','timeout','status','includes','ssPWv','gPrRQ','rKlNN','🔄\x20Retry\x20attempt\x20','CLBbY','maxRetries','hKSSB','xdGzG','DKHRX','ZGxgj','now','KQWMv','PHejP','iIlgA','EfIzr','BKHig','asCoF','enableLogging','qRovC','ZHBJz','ApBuE','CYwPI','DCrXs','shouldRetry','error','❌\x20All\x20retry\x20attempts\x20exhausted\x20or\x20error\x20not\x20retryable:\x20','baseDelay','exponentialBackoff','bFdPr','min','pow','SJnIx','maxDelay','random','onRetry','log','⏳\x20Waiting\x20','ms\x20before\x20retry\x20(attempt\x20','QjDaP','Unknown\x20error','validation\x20endpoint','HTML\x20page\x20instead\x20of\x20JSON','dhUdL','sCqaB','trgZP','nXwrY','htiqa','name','AbortError','VqgEP','bwStd','DgPQx','cULgK','warn','),\x20retrying\x20in\x20','ms:\x20','Network\x20request\x20failed','DNS','EMLCh','yLYVB','tZxwq','UJzBQ','DaAnw','MjTXC','HxFpE','success','umAFL','vpfPg','data','abort','aTeDT','OnairosReactNative/HealthCheck','hNILO','ZGuWR'];_0x3072=function(){return _0x537c19;};return _0x3072();}function _0x4a9c(_0x30724c,_0x4a9cb2){_0x30724c=_0x30724c-0x0;const _0x356ed2=_0x3072();let _0x3c794b=_0x356ed2[_0x30724c];return _0x3c794b;}Object[_0x4a9c(0x0)](exports,_0x4a9c(0x1),{'value':!![]}),exports[_0x4a9c(0x2)]=exports[_0x4a9c(0x3)]=exports[_0x4a9c(0x4)]=void 0x0,exports[_0x4a9c(0x5)]=fetchWithRetry,exports[_0x4a9c(0x6)]=healthCheck,exports['withRetry']=withRetry;const DEFAULT_RETRY_OPTIONS=exports[_0x4a9c(0x3)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'enableLogging':![],'shouldRetry':(_0x4b4dcc,_0x2db8ca)=>{const _0x26cb60={'CLBbY':function(_0x1384ad,_0x4a5de0){return _0x1384ad+_0x4a5de0;},'SoZEI':function(_0x536f46,_0x492f71){return _0x536f46>=_0x492f71;},'iodjt':function(_0x467316,_0x51eedf){return _0x467316<_0x51eedf;},'jPOJq':function(_0x1f23fe,_0x1688c9){return _0x1f23fe!==_0x1688c9;},'Qtvde':_0x4a9c(0x7),'qjhJY':_0x4a9c(0x8),'Phhrb':function(_0x42bfb5,_0x2f0c5d){return _0x42bfb5===_0x2f0c5d;},'JYwZK':'AbortError','ziDaA':'Network\x20request\x20failed','gVOOK':_0x4a9c(0x9),'zYXLO':_0x4a9c(0xa),'ssPWv':_0x4a9c(0xb),'gPrRQ':_0x4a9c(0xc),'dnxgF':function(_0x29a37d,_0x36df26){return _0x29a37d!==_0x36df26;},'rKlNN':_0x4a9c(0xd)};if(_0x26cb60[_0x4a9c(0xe)](_0x4b4dcc['status'],0x190)&&_0x26cb60[_0x4a9c(0xf)](_0x4b4dcc['status'],0x1f4)&&_0x26cb60[_0x4a9c(0x10)](_0x4b4dcc['status'],0x198)&&_0x26cb60[_0x4a9c(0x10)](_0x4b4dcc['status'],0x1ad))return _0x26cb60[_0x4a9c(0x11)]!==_0x26cb60[_0x4a9c(0x12)]?![]:!![];if(_0x26cb60['Phhrb'](_0x4b4dcc['name'],_0x26cb60[_0x4a9c(0x13)])||_0x4b4dcc[_0x4a9c(0x14)]['includes'](_0x26cb60[_0x4a9c(0x15)])||_0x4b4dcc[_0x4a9c(0x14)]['includes'](_0x26cb60[_0x4a9c(0x16)])||_0x4b4dcc[_0x4a9c(0x14)]['includes'](_0x26cb60[_0x4a9c(0x17)])||_0x4b4dcc['message']['includes'](_0x4a9c(0x18))||_0x4b4dcc[_0x4a9c(0x19)]>=0x1f4)return!![];if(_0x4b4dcc[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x26cb60[_0x4a9c(0x1b)])||_0x4b4dcc[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x26cb60[_0x4a9c(0x1c)])){if(_0x26cb60['dnxgF']('nrKnE',_0x26cb60[_0x4a9c(0x1d)]))return!![];else _0x2c8bac['log'](_0x4a9c(0x1e)+_0x1f45d7+'/'+_0x26cb60[_0x4a9c(0x1f)](_0x541890[_0x4a9c(0x20)],0x1));}return![];}};async function withRetry(_0x3fe060,_0x15dca8={}){const _0x4e13ed={'KQWMv':function(_0x3288ed,_0x532e05){return _0x3288ed<=_0x532e05;},'PHejP':function(_0x3b8b63,_0x2a257d){return _0x3b8b63+_0x2a257d;},'iIlgA':function(_0x13585e,_0x5a2edb){return _0x13585e!==_0x5a2edb;},'gsSwv':_0x4a9c(0x21),'BKHig':function(_0x253d8e,_0x41d11){return _0x253d8e!==_0x41d11;},'asCoF':_0x4a9c(0x22),'qRovC':function(_0x1d4599,_0xb0406e){return _0x1d4599>_0xb0406e;},'ZHBJz':function(_0x5d0ceb,_0x559260){return _0x5d0ceb+_0x559260;},'ApBuE':function(_0xa16489){return _0xa16489();},'CYwPI':function(_0x484acd,_0x277155){return _0x484acd-_0x277155;},'DCrXs':_0x4a9c(0x23),'bFdPr':_0x4a9c(0x24),'wBXtc':function(_0x450c0f,_0x148f9d){return _0x450c0f*_0x148f9d;},'SJnIx':function(_0x9a671c,_0x86e7d4){return _0x9a671c-_0x86e7d4;},'QjDaP':function(_0x432d7e,_0x1b388f){return _0x432d7e+_0x1b388f;}},_0x39bf89={...DEFAULT_RETRY_OPTIONS,..._0x15dca8},_0x287794=Date[_0x4a9c(0x25)]();let _0x306c35=null;for(let _0xdc2a7d=0x1;_0x4e13ed[_0x4a9c(0x26)](_0xdc2a7d,_0x4e13ed[_0x4a9c(0x27)](_0x39bf89[_0x4a9c(0x20)],0x1));_0xdc2a7d++){if(_0x4e13ed[_0x4a9c(0x28)](_0x4a9c(0x29),_0x4e13ed['gsSwv']))try{if(_0x4e13ed[_0x4a9c(0x2a)](_0x4e13ed[_0x4a9c(0x2b)],_0x4e13ed['asCoF']))return!![];else{_0x39bf89[_0x4a9c(0x2c)]&&_0x4e13ed[_0x4a9c(0x2d)](_0xdc2a7d,0x1)&&console['log']('🔄\x20Retry\x20attempt\x20'+_0xdc2a7d+'/'+_0x4e13ed[_0x4a9c(0x2e)](_0x39bf89[_0x4a9c(0x20)],0x1));const _0x4ec50e=await _0x4e13ed[_0x4a9c(0x2f)](_0x3fe060);return{'success':!![],'data':_0x4ec50e,'attempts':_0xdc2a7d,'totalDuration':_0x4e13ed[_0x4a9c(0x30)](Date[_0x4a9c(0x25)](),_0x287794)};}}catch(_0x5529a7){if(_0x4e13ed[_0x4a9c(0x2a)](_0x4e13ed[_0x4a9c(0x31)],'DKHRX'))return!![];else{_0x306c35=_0x5529a7;const _0x23aec8=_0x39bf89[_0x4a9c(0x32)]?_0x39bf89[_0x4a9c(0x32)](_0x5529a7,_0xdc2a7d):!![];if(_0x4e13ed[_0x4a9c(0x2d)](_0xdc2a7d,_0x39bf89[_0x4a9c(0x20)])||!_0x23aec8){_0x39bf89['enableLogging']&&console[_0x4a9c(0x33)](_0x4a9c(0x34)+_0x5529a7[_0x4a9c(0x14)]);break;}let _0x18441d=_0x39bf89[_0x4a9c(0x35)];if(_0x39bf89[_0x4a9c(0x36)]){if(_0x4e13ed[_0x4a9c(0x37)]!=='ZGxgj')return![];else _0x18441d=Math[_0x4a9c(0x38)](_0x4e13ed['wBXtc'](_0x39bf89[_0x4a9c(0x35)],Math[_0x4a9c(0x39)](0x2,_0x4e13ed[_0x4a9c(0x3a)](_0xdc2a7d,0x1))),_0x39bf89[_0x4a9c(0x3b)]);}const _0x3bcb39=Math[_0x4a9c(0x3c)]()*0.1*_0x18441d;_0x18441d=Math['floor'](_0x4e13ed[_0x4a9c(0x27)](_0x18441d,_0x3bcb39)),_0x39bf89[_0x4a9c(0x3d)]&&_0x39bf89[_0x4a9c(0x3d)](_0x5529a7,_0xdc2a7d,_0x18441d),_0x39bf89[_0x4a9c(0x2c)]&&console[_0x4a9c(0x3e)](_0x4a9c(0x3f)+_0x18441d+_0x4a9c(0x40)+_0xdc2a7d+'/'+_0x4e13ed[_0x4a9c(0x41)](_0x39bf89[_0x4a9c(0x20)],0x1)+')'),await new Promise(_0x5daf12=>setTimeout(()=>_0x5daf12(),_0x18441d));}}else throw _0x25f9d7[_0x4a9c(0x33)];}return{'success':![],'error':_0x306c35||new Error(_0x4a9c(0x42)),'attempts':_0x4e13ed['ZHBJz'](_0x39bf89[_0x4a9c(0x20)],0x1),'totalDuration':_0x4e13ed[_0x4a9c(0x30)](Date['now'](),_0x287794)};}const API_RETRY_OPTIONS=exports[_0x4a9c(0x4)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'shouldRetry':(_0xd31106,_0x5585f4)=>{const _0x22f4a3={'dhUdL':function(_0x22c1ae,_0xf00231){return _0x22c1ae===_0xf00231;},'GGFnv':function(_0x7ab2a8,_0x4eb19a){return _0x7ab2a8===_0x4eb19a;},'sCqaB':function(_0x3e507f,_0x540cc2){return _0x3e507f===_0x540cc2;},'trgZP':_0x4a9c(0x43),'aJIyr':function(_0x18a551,_0x1fe70d){return _0x18a551===_0x1fe70d;},'uvozd':'nXwrY','htiqa':function(_0x4f83fd,_0x2c32fd){return _0x4f83fd===_0x2c32fd;},'FPZJg':function(_0x15687e,_0x3fc9f7){return _0x15687e>=_0x3fc9f7;},'VqgEP':_0x4a9c(0x18),'blmiO':'Network\x20request\x20failed','bwStd':_0x4a9c(0x9),'DgPQx':_0x4a9c(0xb),'cULgK':_0x4a9c(0x44)};if(_0x22f4a3[_0x4a9c(0x45)](_0xd31106[_0x4a9c(0x19)],0x191)||_0xd31106[_0x4a9c(0x19)]===0x193)return![];if(_0x22f4a3['GGFnv'](_0xd31106[_0x4a9c(0x19)],0x190)||_0x22f4a3[_0x4a9c(0x46)](_0xd31106['status'],0x194)&&!_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x22f4a3[_0x4a9c(0x47)]))return _0x22f4a3['aJIyr'](_0x4a9c(0x48),_0x22f4a3['uvozd'])?![]:!![];if(_0x22f4a3[_0x4a9c(0x49)](_0xd31106[_0x4a9c(0x19)],0x1ad))return _0x5585f4<=0x2;if(_0x22f4a3['FPZJg'](_0xd31106['status'],0x1f4))return!![];if(_0xd31106[_0x4a9c(0x4a)]===_0x4a9c(0x4b)||_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x22f4a3[_0x4a9c(0x4c)])||_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x22f4a3['blmiO'])||_0xd31106[_0x4a9c(0x14)]['includes'](_0x22f4a3[_0x4a9c(0x4d)])||_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x4a9c(0xa)))return!![];if(_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x22f4a3[_0x4a9c(0x4e)])||_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x4a9c(0xc))||_0xd31106[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x22f4a3[_0x4a9c(0x4f)]))return!![];return![];},'onRetry':(_0x5a8a95,_0x349346,_0x52ce2a)=>{console[_0x4a9c(0x50)]('⚠️\x20API\x20call\x20failed\x20(attempt\x20'+_0x349346+_0x4a9c(0x51)+_0x52ce2a+_0x4a9c(0x52)+_0x5a8a95[_0x4a9c(0x14)]);}},NETWORK_RETRY_OPTIONS=exports['NETWORK_RETRY_OPTIONS']={'maxRetries':0x2,'baseDelay':0x7d0,'maxDelay':0x1f40,'exponentialBackoff':!![],'shouldRetry':(_0x3501ea,_0x5395d8)=>{const _0x33c1d5={'EMLCh':_0x4a9c(0x53),'yLYVB':_0x4a9c(0xa),'tZxwq':_0x4a9c(0x54),'UJzBQ':function(_0x46a223,_0x497e2f){return _0x46a223===_0x497e2f;},'gzapI':_0x4a9c(0x4b)};return _0x3501ea[_0x4a9c(0x14)]['includes'](_0x33c1d5[_0x4a9c(0x55)])||_0x3501ea[_0x4a9c(0x14)]['includes'](_0x33c1d5[_0x4a9c(0x56)])||_0x3501ea[_0x4a9c(0x14)][_0x4a9c(0x1a)](_0x33c1d5[_0x4a9c(0x57)])||_0x33c1d5[_0x4a9c(0x58)](_0x3501ea[_0x4a9c(0x4a)],_0x33c1d5['gzapI']);}};async function fetchWithRetry(_0x240cdc,_0x4ce5d2={},_0x11c441=API_RETRY_OPTIONS){const _0x3973dc={'HxFpE':function(_0x4558da,_0x263552,_0x48a944){return _0x4558da(_0x263552,_0x48a944);},'ZaFlZ':function(_0x2b44ae,_0x5dc25d){return _0x2b44ae!==_0x5dc25d;},'umAFL':_0x4a9c(0x59),'vpfPg':_0x4a9c(0x5a)},_0x516f2d=await _0x3973dc[_0x4a9c(0x5b)](withRetry,()=>fetch(_0x240cdc,_0x4ce5d2),_0x11c441);if(!_0x516f2d[_0x4a9c(0x5c)]){if(_0x3973dc['ZaFlZ'](_0x3973dc[_0x4a9c(0x5d)],_0x3973dc[_0x4a9c(0x5e)]))throw _0x516f2d['error'];else _0x1d6289[_0x4a9c(0x3d)](_0x472071,_0xc6231c,_0x52d9ed);}return _0x516f2d[_0x4a9c(0x5f)];}async function healthCheck(_0x27dccd,_0x53ed02=0x1388){const _0x5cf4ca={'nOsFd':function(_0x552312,_0x1bb916,_0x598105){return _0x552312(_0x1bb916,_0x598105);},'aTeDT':function(_0x3fc21d,_0x35b319,_0x34280f){return _0x3fc21d(_0x35b319,_0x34280f);},'hNILO':function(_0x4c160e,_0xaf150b){return _0x4c160e(_0xaf150b);},'ZGuWR':function(_0x145635,_0x1c8fee){return _0x145635-_0x1c8fee;}},_0x4debf3=Date[_0x4a9c(0x25)]();try{const _0x2a016c=new AbortController(),_0x4e3141=_0x5cf4ca['nOsFd'](setTimeout,()=>_0x2a016c[_0x4a9c(0x60)](),_0x53ed02),_0x5f2e08=await _0x5cf4ca[_0x4a9c(0x61)](fetch,_0x27dccd,{'method':'GET','signal':_0x2a016c['signal'],'headers':{'User-Agent':_0x4a9c(0x62)}});return _0x5cf4ca[_0x4a9c(0x63)](clearTimeout,_0x4e3141),{'reachable':!![],'status':_0x5f2e08[_0x4a9c(0x19)],'duration':Date['now']()-_0x4debf3};}catch(_0x5b2d29){return{'reachable':![],'error':_0x5b2d29[_0x4a9c(0x14)],'duration':_0x5cf4ca[_0x4a9c(0x64)](Date[_0x4a9c(0x25)](),_0x4debf3)};}}
|
|
@@ -7,4 +7,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
|
|
|
7
7
|
require('react-native-keychain')
|
|
8
8
|
];
|
|
9
9
|
function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
|
|
10
|
-
Object[_0xbaf6(0x0)](exports,_0xbaf6(0x1),{'value':!![]}),exports[_0xbaf6(0x2)]=exports[_0xbaf6(0x3)]=exports[_0xbaf6(0x4)]=exports[_0xbaf6(0x5)]=exports['hasJWT']=exports[_0xbaf6(0x6)]=exports['getJWTPayload']=exports['getJWT']=exports[_0xbaf6(0x7)]=exports[_0xbaf6(0x8)]=exports[_0xbaf6(0x9)]=exports['clearJWT']=void 0x0;var _reactNative=__ONAIROS_REQ_FUNC__(0x0),_constants=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2));function _interopRequireDefault(_0x8b2ada){return _0x8b2ada&&_0x8b2ada[_0xbaf6(0x1)]?_0x8b2ada:{'default':_0x8b2ada};}const JWT_TOKEN_KEY=_0xbaf6(0xa),mockStorage={};let Keychain=null;try{Keychain=__ONAIROS_REQ_FUNC__(0x3);}catch(_0x370852){console[_0xbaf6(0xb)]('react-native-keychain module not available, using mock storage'),Keychain={'ACCESS_CONTROL':{'BIOMETRY_ANY_OR_DEVICE_PASSCODE':_0xbaf6(0xc)},'ACCESSIBLE':{'WHEN_UNLOCKED':_0xbaf6(0xc)},'getGenericPassword':async()=>null,'setGenericPassword':async()=>!![],'resetGenericPassword':async()=>!![]};}const isKeychainAvailable=()=>{const _0x132a2b={'mIZdl':_0xbaf6(0xd),'ElDtc':function(_0x391f2d,_0x186015){return _0x391f2d<_0x186015;},'qZITi':function(_0x44df38,_0x5b6db2){return _0x44df38+_0x5b6db2;},'dxEpy':function(_0x4de142,_0x19762f){return _0x4de142|_0x19762f;},'vAqNc':function(_0x583fef,_0x14a30f){return _0x583fef<<_0x14a30f;},'zjRtE':function(_0x524105,_0x530855){return _0x524105&_0x530855;},'eVOrT':function(_0x4eac3f,_0x2197e9){return _0x4eac3f>>_0x2197e9;},'swMeX':function(_0x46fc90,_0x212719){return _0x46fc90!==_0x212719;},'XMObL':function(_0x2cd3d5,_0x38c3a3){return _0x2cd3d5===_0x38c3a3;},'Jnjfe':'function','Cewiw':function(_0x4378cb,_0x33509b){return _0x4378cb===_0x33509b;},'BRQMD':'gUONJ','BbvFF':'PeYgp'};try{return Keychain&&_0x132a2b[_0xbaf6(0xe)](typeof Keychain[_0xbaf6(0xf)],_0x132a2b[_0xbaf6(0x10)]);}catch(_0x1327d3){if(_0x132a2b['Cewiw'](_0x132a2b['BRQMD'],_0x132a2b[_0xbaf6(0x11)])){while(_0x31af49[_0xbaf6(0x12)]%0x4){_0x4f11e3+='=';}const _0x2359a8=_0x132a2b['mIZdl'];let _0x329c9f='';for(let _0x15ffdb=0x0;_0x132a2b[_0xbaf6(0x13)](_0x15ffdb,_0x3ad53a[_0xbaf6(0x12)]);_0x15ffdb+=0x4){const _0x549f40=_0x2359a8[_0xbaf6(0x14)](_0x11a769[_0xbaf6(0x15)](_0x15ffdb)),_0x427bca=_0x2359a8[_0xbaf6(0x14)](_0x19a359[_0xbaf6(0x15)](_0x132a2b['qZITi'](_0x15ffdb,0x1))),_0x1fda5a=_0x2359a8[_0xbaf6(0x14)](_0x17c52f['charAt'](_0x15ffdb+0x2)),_0x1c7548=_0x2359a8[_0xbaf6(0x14)](_0x5b5142[_0xbaf6(0x15)](_0x132a2b[_0xbaf6(0x16)](_0x15ffdb,0x3))),_0x1d43de=_0x132a2b['dxEpy'](_0x549f40<<0x12,_0x427bca<<0xc)|_0x132a2b[_0xbaf6(0x17)](_0x1fda5a,0x6)|_0x1c7548;_0x329c9f+=_0x3a6e51['fromCharCode'](_0x132a2b[_0xbaf6(0x18)](_0x132a2b[_0xbaf6(0x19)](_0x1d43de,0x10),0xff));if(_0x132a2b[_0xbaf6(0x1a)](_0x1fda5a,0x40))_0x329c9f+=_0x50491e[_0xbaf6(0x1b)](_0x132a2b['zjRtE'](_0x132a2b[_0xbaf6(0x19)](_0x1d43de,0x8),0xff));if(_0x132a2b['swMeX'](_0x1c7548,0x40))_0x329c9f+=_0x3f7fc8[_0xbaf6(0x1b)](_0x132a2b[_0xbaf6(0x18)](_0x1d43de,0xff));}return _0x329c9f;}else return![];}},safeGetGenericPassword=async _0xb57932=>{const _0x36d388={'kAZxM':function(_0xd87441){return _0xd87441();},'ubUWS':function(_0x8b833f,_0x28eca2){return _0x8b833f===_0x28eca2;},'nKOXf':'default','EHIQY':_0xbaf6(0x1c),'wdDjj':_0xbaf6(0x1d)};try{if(_0x36d388[_0xbaf6(0x1e)](isKeychainAvailable))return await Keychain[_0xbaf6(0xf)](_0xb57932);else{const _0x25aefb=(_0x36d388[_0xbaf6(0x1f)](_0xb57932,null)||_0xb57932===void 0x0?void 0x0:_0xb57932[_0xbaf6(0x20)])||_0x36d388['nKOXf'];return mockStorage[_0x25aefb]||null;}}catch(_0x3c5f0a){if(_0x36d388['EHIQY']==='OXTDs')return _0x183934['error'](_0xbaf6(0x21),_0x3e9bbf),![];else{console[_0xbaf6(0xb)](_0x36d388['wdDjj'],_0x3c5f0a);const _0x4ed8a6=(_0x36d388[_0xbaf6(0x1f)](_0xb57932,null)||_0x36d388[_0xbaf6(0x1f)](_0xb57932,void 0x0)?void 0x0:_0xb57932[_0xbaf6(0x20)])||_0x36d388[_0xbaf6(0x22)];return mockStorage[_0x4ed8a6]||null;}}},safeSetGenericPassword=async(_0x5e3e9b,_0x14842a,_0x22f6f5)=>{const _0x1df948={'MLSUY':_0xbaf6(0x23),'diYkM':function(_0x521b94,_0x4c2817){return _0x521b94===_0x4c2817;},'SBMyr':'rRqmp','TAKUI':function(_0x25a8ca,_0x577f63){return _0x25a8ca===_0x577f63;},'XpLXv':_0xbaf6(0x24),'tYERk':_0xbaf6(0x25),'DbFlb':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage'};try{if(_0x1df948[_0xbaf6(0x26)](_0x1df948['SBMyr'],_0x1df948[_0xbaf6(0x27)])){if(isKeychainAvailable())return await Keychain['setGenericPassword'](_0x5e3e9b,_0x14842a,_0x22f6f5);else{const _0x47d62b=(_0x1df948[_0xbaf6(0x28)](_0x22f6f5,null)||_0x1df948['diYkM'](_0x22f6f5,void 0x0)?void 0x0:_0x22f6f5[_0xbaf6(0x20)])||_0x1df948[_0xbaf6(0x29)];return mockStorage[_0x47d62b]={'username':_0x5e3e9b,'password':_0x14842a},!![];}}else return _0x170f04[_0xbaf6(0x2a)](_0x1df948[_0xbaf6(0x2b)],_0x198fb2),![];}catch(_0x1ae9a0){if(_0x1df948[_0xbaf6(0x26)](_0xbaf6(0x2c),_0x1df948[_0xbaf6(0x2d)]))return _0x26a3e0&&_0x4f9059[_0xbaf6(0x1)]?_0x3e4535:{'default':_0x445710};else{console[_0xbaf6(0xb)](_0x1df948[_0xbaf6(0x2e)],_0x1ae9a0);const _0x3e0184=(_0x1df948[_0xbaf6(0x28)](_0x22f6f5,null)||_0x1df948[_0xbaf6(0x28)](_0x22f6f5,void 0x0)?void 0x0:_0x22f6f5['service'])||_0x1df948[_0xbaf6(0x29)];return mockStorage[_0x3e0184]={'username':_0x5e3e9b,'password':_0x14842a},!![];}}},safeResetGenericPassword=async _0x30ffd9=>{const _0x1b21e2={'CaKDB':function(_0x114dbe,_0x6cf13d){return _0x114dbe===_0x6cf13d;},'bSKKD':function(_0x35621e){return _0x35621e();},'GbWfe':function(_0x42772f,_0x10316e){return _0x42772f!==_0x10316e;},'JLCOj':_0xbaf6(0x2f),'VDFyD':'navyG','mnOTS':function(_0x6d182e,_0x489d05){return _0x6d182e===_0x489d05;},'bjaIR':'default','nIjmc':function(_0x44a690,_0x545872){return _0x44a690!==_0x545872;},'YPLex':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','YGoax':function(_0x1f456d,_0x495316){return _0x1f456d===_0x495316;}};try{if(_0x1b21e2[_0xbaf6(0x30)](isKeychainAvailable)){if(_0x1b21e2['GbWfe'](_0x1b21e2['JLCOj'],_0xbaf6(0x2f))){const _0x553fd5=_0x5c7176[_0xbaf6(0x31)]()[_0xbaf6(0x32)](0x24)[_0xbaf6(0x33)](0x2,0xa);return _0xbaf6(0x34)+_0x553fd5;}else return await Keychain[_0xbaf6(0x35)](_0x30ffd9);}else{if(_0xbaf6(0x36)!==_0x1b21e2['VDFyD']){const _0x539ae2=(_0x30ffd9===null||_0x1b21e2[_0xbaf6(0x37)](_0x30ffd9,void 0x0)?void 0x0:_0x30ffd9['service'])||_0x1b21e2[_0xbaf6(0x38)];return delete mockStorage[_0x539ae2],!![];}else{const _0x4853ed=(_0x1b21e2['CaKDB'](_0xe14eb6,null)||_0x19d084===void 0x0?void 0x0:_0x298825[_0xbaf6(0x20)])||'default';return _0x1f0f8d[_0x4853ed]={'username':_0x3f5cb8,'password':_0x356881},!![];}}}catch(_0x146310){if(_0x1b21e2[_0xbaf6(0x39)](_0xbaf6(0x3a),_0xbaf6(0x3b))){console['warn'](_0x1b21e2[_0xbaf6(0x3c)],_0x146310);const _0x277b88=(_0x1b21e2[_0xbaf6(0x3d)](_0x30ffd9,null)||_0x30ffd9===void 0x0?void 0x0:_0x30ffd9[_0xbaf6(0x20)])||'default';return delete mockStorage[_0x277b88],!![];}else _0x36a004+='=';}},storeCredentials=async _0x4d50cc=>{const _0x505af9={'jNocO':function(_0x29e55c,_0x16c9c2){return _0x29e55c===_0x16c9c2;},'WtAcE':_0xbaf6(0x3e),'ExeTr':function(_0x1f6951,_0x2d1fcf){return _0x1f6951!==_0x2d1fcf;},'VDsUB':_0xbaf6(0x3f),'maEhe':function(_0x4e6c56,_0x1e2330,_0x5323fd,_0x4444a7){return _0x4e6c56(_0x1e2330,_0x5323fd,_0x4444a7);},'WUCqZ':'Error\x20storing\x20credentials:'};try{const _0x50e750=await getCredentials(),_0x5a429b={..._0x50e750,..._0x4d50cc,'createdAt':(_0x50e750===null||_0x505af9[_0xbaf6(0x40)](_0x50e750,void 0x0)?void 0x0:_0x50e750[_0xbaf6(0x41)])||Date[_0xbaf6(0x42)]()},_0x37f135=_0x5a429b['username'];if(!_0x37f135)throw new Error(_0x505af9[_0xbaf6(0x43)]);const _0x411ac7={'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]};return _0x505af9[_0xbaf6(0x46)](_reactNative[_0xbaf6(0x47)]['OS'],_0x505af9[_0xbaf6(0x48)])&&isKeychainAvailable()&&(_0x411ac7[_0xbaf6(0x49)]=Keychain[_0xbaf6(0x4a)]['BIOMETRY_ANY_OR_DEVICE_PASSCODE'],_0x411ac7['accessible']=Keychain[_0xbaf6(0x4b)]['WHEN_UNLOCKED']),await _0x505af9[_0xbaf6(0x4c)](safeSetGenericPassword,_0x37f135,JSON[_0xbaf6(0x4d)](_0x5a429b),_0x411ac7),!![];}catch(_0x19a960){return console[_0xbaf6(0x2a)](_0x505af9[_0xbaf6(0x4e)],_0x19a960),![];}};exports[_0xbaf6(0x4)]=storeCredentials;const getCredentials=async()=>{const _0x409acc={'ErwaX':_0xbaf6(0x4f),'ReZGd':function(_0xe37b88,_0x4bb747){return _0xe37b88!==_0x4bb747;},'GNMuc':_0xbaf6(0x50),'VFIUT':_0xbaf6(0x51)};try{const _0x54ba70=await safeGetGenericPassword({'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]});if(_0x54ba70)return JSON[_0xbaf6(0x52)](_0x54ba70[_0xbaf6(0x53)]);return null;}catch(_0x58e9d1){return _0x409acc[_0xbaf6(0x54)](_0xbaf6(0x50),_0x409acc[_0xbaf6(0x55)])?(_0x1a515d['error'](_0x409acc['ErwaX'],_0x6c1a49),null):(console[_0xbaf6(0x2a)](_0x409acc[_0xbaf6(0x56)],_0x58e9d1),null);}};exports[_0xbaf6(0x7)]=getCredentials;const hasCredentials=async()=>{const _0x33a7fd={'wWRdl':_0xbaf6(0x57),'tSwCE':function(_0x19f196,_0x10ec2c){return _0x19f196===_0x10ec2c;},'dOBxu':'Jggbu','QsQOG':function(_0xf1d9d0,_0x1eeafd){return _0xf1d9d0(_0x1eeafd);},'ZYftk':_0xbaf6(0x58)};try{if(_0x33a7fd['tSwCE'](_0x33a7fd[_0xbaf6(0x59)],'Jggbu')){const _0x35b369=await _0x33a7fd['QsQOG'](safeGetGenericPassword,{'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]});return!!_0x35b369;}else return _0xec25cf[_0xbaf6(0x2a)](_0x33a7fd[_0xbaf6(0x5a)],_0x515aaa),null;}catch(_0x4e4a7a){return console['error'](_0x33a7fd[_0xbaf6(0x5b)],_0x4e4a7a),![];}};exports[_0xbaf6(0x6)]=hasCredentials;const deleteCredentials=async()=>{const _0x5ac8a6={'IHfvT':function(_0x5725d9,_0xbd49e4){return _0x5725d9(_0xbd49e4);}};try{return await _0x5ac8a6['IHfvT'](safeResetGenericPassword,{'service':_constants[_0xbaf6(0x44)]['credentials']}),!![];}catch(_0x2d7382){return console[_0xbaf6(0x2a)](_0xbaf6(0x23),_0x2d7382),![];}};exports[_0xbaf6(0x9)]=deleteCredentials;const updateCredentials=async _0x2ba38a=>{return storeCredentials(_0x2ba38a);};exports[_0xbaf6(0x3)]=updateCredentials;const generateDeviceUsername=()=>{const _0x1b6c07=Math[_0xbaf6(0x31)]()[_0xbaf6(0x32)](0x24)[_0xbaf6(0x33)](0x2,0xa);return _0xbaf6(0x34)+_0x1b6c07;};exports[_0xbaf6(0x8)]=generateDeviceUsername;const verifyCredentials=async _0x47a4dc=>{const _0x2cd51e={'xxrpw':function(_0x45dabf,_0x4c17f1){return _0x45dabf(_0x4c17f1);},'cXSmn':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','uAiKf':function(_0x10b307,_0x5f533f){return _0x10b307===_0x5f533f;},'QvBpt':'UleNg','sKzvg':function(_0x1e3950){return _0x1e3950();},'MgemV':function(_0xa6db00,_0x22c7e1){return _0xa6db00!==_0x22c7e1;},'fsNUD':'tNLcX','BrDEw':_0xbaf6(0x5c)};try{if(_0x2cd51e['QvBpt']!==_0xbaf6(0x5d)){if(!_0x2cd51e[_0xbaf6(0x5e)](isKeychainAvailable))return _0x2cd51e['MgemV'](_0xbaf6(0x5f),_0x2cd51e[_0xbaf6(0x60)])?!![]:_0x2cd51e[_0xbaf6(0x61)](_0x3dd24c,_0x259ad6);return!![];}else return!![];}catch(_0x24d62f){if(_0x2cd51e[_0xbaf6(0x62)](_0xbaf6(0x63),_0xbaf6(0x64))){_0x3fe97f['warn'](_0x2cd51e[_0xbaf6(0x65)],_0x2470eb);const _0x341729=(_0x2cd51e[_0xbaf6(0x62)](_0x25c053,null)||_0x2cd51e['uAiKf'](_0x53bbc9,void 0x0)?void 0x0:_0x5270f9[_0xbaf6(0x20)])||_0xbaf6(0x24);return delete _0x4660b0[_0x341729],!![];}else return console[_0xbaf6(0x2a)](_0x2cd51e[_0xbaf6(0x66)],_0x24d62f),![];}};function _0x142f(){const _0x5b7fdb=['defineProperty','__esModule','verifyCredentials','updateCredentials','storeCredentials','isJWTExpired','hasCredentials','getCredentials','generateDeviceUsername','deleteCredentials','onairos_jwt_token','warn','mock','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','XMObL','getGenericPassword','Jnjfe','BbvFF','length','ElDtc','indexOf','charAt','qZITi','vAqNc','zjRtE','eVOrT','swMeX','fromCharCode','Tpvli','Keychain\x20access\x20failed,\x20using\x20mock\x20storage','kAZxM','ubUWS','service','Error\x20storing\x20credentials:','nKOXf','Error\x20deleting\x20credentials:','default','fEJhG','diYkM','SBMyr','TAKUI','XpLXv','error','MLSUY','sifkN','tYERk','DbFlb','ZmJoH','bSKKD','random','toString','substring','dev_','resetGenericPassword','pjeZi','mnOTS','bjaIR','nIjmc','FOgXR','fAkFt','YPLex','YGoax','Username\x20is\x20required\x20for\x20storing\x20credentials','web','jNocO','createdAt','now','WtAcE','STORAGE_KEYS','credentials','ExeTr','Platform','VDsUB','accessControl','ACCESS_CONTROL','ACCESSIBLE','maEhe','stringify','WUCqZ','❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','jGPgi','Error\x20getting\x20credentials:','parse','password','ReZGd','GNMuc','VFIUT','❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','Error\x20checking\x20credentials:','dOBxu','wWRdl','ZYftk','Error\x20verifying\x20credentials:','cdNab','sKzvg','efjah','fsNUD','xxrpw','uAiKf','xtMRG','MDayO','cXSmn','BrDEw','KLPOT','MCXte','aRVDK','niydF','getItem','dVAvm','oEQLM','IiyYf','getJWT','❌\x20Failed\x20to\x20check\x20JWT\x20token:','🗑️\x20JWT\x20token\x20cleared','iHYhl','removeItem','log','AOqKN','FXtXo','vDrrT','clearJWT','wYaOD','PuJaG','pdxNW','miyCA','rZXFI','YrbTh','kEDtr','PTzPM','kBEBC','❌\x20Failed\x20to\x20check\x20JWT\x20expiration:','rTmEO','MTKUK','hRInC','mcXhg','usMPW','orgBQ'];_0x142f=function(){return _0x5b7fdb;};return _0x142f();}exports[_0xbaf6(0x2)]=verifyCredentials;const getJWT=async()=>{const _0xfce269={'niydF':_0xbaf6(0x3e),'aRVDK':function(_0x45b747,_0x725a48){return _0x45b747===_0x725a48;},'PxVdU':'QCaVo','XjIiR':_0xbaf6(0x67),'dVAvm':function(_0x5419f9,_0x2cb4c1){return _0x5419f9===_0x2cb4c1;},'oEQLM':_0xbaf6(0x68),'IiyYf':_0xbaf6(0x4f)};try{if(_0xfce269[_0xbaf6(0x69)](_0xfce269['PxVdU'],_0xfce269['XjIiR']))throw new _0x3558e1(_0xfce269[_0xbaf6(0x6a)]);else{const _0x11256a=await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x6b)](JWT_TOKEN_KEY);return _0x11256a;}}catch(_0x11c8c9){return _0xfce269[_0xbaf6(0x6c)](_0xfce269[_0xbaf6(0x6d)],_0xfce269['oEQLM'])?(console[_0xbaf6(0x2a)](_0xfce269[_0xbaf6(0x6e)],_0x11c8c9),null):_0x5539a9[_0xbaf6(0x52)](_0xbf91a5[_0xbaf6(0x53)]);}};exports[_0xbaf6(0x6f)]=getJWT;const hasJWT=async()=>{try{const _0x41b93b=await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x6b)](JWT_TOKEN_KEY);return!!_0x41b93b;}catch(_0x51bda0){return console['error'](_0xbaf6(0x70),_0x51bda0),![];}};exports['hasJWT']=hasJWT;const clearJWT=async()=>{const _0x5528fd={'vDrrT':_0xbaf6(0x5c),'AOqKN':_0xbaf6(0x71),'FXtXo':_0xbaf6(0x72),'iPnFX':'❌\x20Failed\x20to\x20clear\x20JWT\x20token:'};try{return await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x73)](JWT_TOKEN_KEY),console[_0xbaf6(0x74)](_0x5528fd[_0xbaf6(0x75)]),!![];}catch(_0xb2625f){if(_0x5528fd[_0xbaf6(0x76)]===_0x5528fd['FXtXo'])return console[_0xbaf6(0x2a)](_0x5528fd['iPnFX'],_0xb2625f),![];else try{if(!_0x24f379())return!![];return!![];}catch(_0x4d9f73){return _0x3ecf2c[_0xbaf6(0x2a)](_0x5528fd[_0xbaf6(0x77)],_0x4d9f73),![];}}};exports[_0xbaf6(0x78)]=clearJWT;const base64Decode=_0x220302=>{const _0x471534={'wYaOD':function(_0x2f1dae,_0x7b2fb5){return _0x2f1dae%_0x7b2fb5;},'PuJaG':_0xbaf6(0xd),'pdxNW':function(_0x54b776,_0x128d71){return _0x54b776<_0x128d71;},'miyCA':function(_0x13fecb,_0x2d2116){return _0x13fecb+_0x2d2116;},'rZXFI':function(_0x4d31eb,_0x530dbf){return _0x4d31eb<<_0x530dbf;},'YrbTh':function(_0x5ac9fe,_0x137270){return _0x5ac9fe>>_0x137270;},'kEDtr':function(_0x303b69,_0x1ac36d){return _0x303b69!==_0x1ac36d;},'PTzPM':function(_0x5aba18,_0x232743){return _0x5aba18&_0x232743;},'kBEBC':function(_0x185d61,_0x4e134d){return _0x185d61>>_0x4e134d;}};while(_0x471534[_0xbaf6(0x79)](_0x220302[_0xbaf6(0x12)],0x4)){_0x220302+='=';}const _0x124f4f=_0x471534[_0xbaf6(0x7a)];let _0x981cca='';for(let _0x255708=0x0;_0x471534[_0xbaf6(0x7b)](_0x255708,_0x220302[_0xbaf6(0x12)]);_0x255708+=0x4){const _0xf590a3=_0x124f4f[_0xbaf6(0x14)](_0x220302['charAt'](_0x255708)),_0x2be3dd=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x471534[_0xbaf6(0x7c)](_0x255708,0x1))),_0x36dc7b=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x255708+0x2)),_0x415b96=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x471534[_0xbaf6(0x7c)](_0x255708,0x3))),_0x503cd7=_0x471534['rZXFI'](_0xf590a3,0x12)|_0x471534[_0xbaf6(0x7d)](_0x2be3dd,0xc)|_0x471534[_0xbaf6(0x7d)](_0x36dc7b,0x6)|_0x415b96;_0x981cca+=String['fromCharCode'](_0x471534[_0xbaf6(0x7e)](_0x503cd7,0x10)&0xff);if(_0x471534[_0xbaf6(0x7f)](_0x36dc7b,0x40))_0x981cca+=String['fromCharCode'](_0x471534[_0xbaf6(0x80)](_0x471534[_0xbaf6(0x81)](_0x503cd7,0x8),0xff));if(_0x471534[_0xbaf6(0x7f)](_0x415b96,0x40))_0x981cca+=String['fromCharCode'](_0x503cd7&0xff);}return _0x981cca;},getJWTPayload=async()=>{const _0x29b851={'Ybvhr':function(_0x458a94){return _0x458a94();},'dHtev':function(_0x1a60e3,_0x39abaf){return _0x1a60e3!==_0x39abaf;},'QgNUY':function(_0xbaa2de,_0x20bc9b){return _0xbaa2de(_0x20bc9b);},'wpwfb':_0xbaf6(0x57)};try{const _0x468ea8=await _0x29b851['Ybvhr'](getJWT);if(!_0x468ea8)return null;const _0x3cf6a8=_0x468ea8['split']('.');if(_0x29b851['dHtev'](_0x3cf6a8['length'],0x3))return null;const _0x5492f5=_0x29b851['QgNUY'](base64Decode,_0x3cf6a8[0x1]),_0x4460f3=JSON[_0xbaf6(0x52)](_0x5492f5);return _0x4460f3;}catch(_0x40221c){return console[_0xbaf6(0x2a)](_0x29b851['wpwfb'],_0x40221c),null;}};exports['getJWTPayload']=getJWTPayload;const isJWTExpired=async()=>{const _0x497096={'SfRby':function(_0x585d11,_0x1a08aa){return _0x585d11(_0x1a08aa);},'rTmEO':function(_0x302381){return _0x302381();},'MTKUK':function(_0x3df93f,_0x162f45){return _0x3df93f/_0x162f45;},'hRInC':function(_0x1444b4,_0x1a58b0){return _0x1444b4<_0x1a58b0;},'mcXhg':'zeHzR','usMPW':'szygv','orgBQ':_0xbaf6(0x82)};try{const _0x372331=await _0x497096[_0xbaf6(0x83)](getJWTPayload);if(!_0x372331||!_0x372331['exp'])return!![];const _0xf3eedd=Math['floor'](_0x497096[_0xbaf6(0x84)](Date['now'](),0x3e8));return _0x497096[_0xbaf6(0x85)](_0x372331['exp'],_0xf3eedd);}catch(_0x193f7d){if(_0x497096[_0xbaf6(0x86)]!==_0x497096[_0xbaf6(0x87)])return console['error'](_0x497096[_0xbaf6(0x88)],_0x193f7d),!![];else Keychain=_0x497096['SfRby'](_0xf66492,0x3);}};function _0xbaf6(_0x142f04,_0xbaf6d0){_0x142f04=_0x142f04-0x0;const _0x49fa79=_0x142f();let _0x65e014=_0x49fa79[_0x142f04];return _0x65e014;}exports[_0xbaf6(0x5)]=isJWTExpired;
|
|
10
|
+
Object[_0x2890(0x0)](exports,_0x2890(0x1),{'value':!![]}),exports[_0x2890(0x2)]=exports[_0x2890(0x3)]=exports[_0x2890(0x4)]=exports[_0x2890(0x5)]=exports[_0x2890(0x6)]=exports[_0x2890(0x7)]=exports['getJWTPayload']=exports[_0x2890(0x8)]=exports[_0x2890(0x9)]=exports[_0x2890(0xa)]=exports[_0x2890(0xb)]=exports[_0x2890(0xc)]=void 0x0;var _reactNative=__ONAIROS_REQ_FUNC__(0x0),_constants=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2));function _0x309c(){const _0x13b513=['defineProperty','__esModule','verifyCredentials','updateCredentials','storeCredentials','isJWTExpired','hasJWT','hasCredentials','getJWT','getCredentials','generateDeviceUsername','deleteCredentials','clearJWT','onairos_jwt_token','warn','mock','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','dBPYz','function','nKuaF','ENMVP','length','MKpXn','charAt','indexOf','iDenC','cFyrn','EPLbl','ScoUl','fromCharCode','Udsws','XFAhu','JuujL','getGenericPassword','CabAN','Error\x20checking\x20credentials:','PiCja','default','Fiwbl','ItYLs','jPTpI','EbsSf','pTKdW','yiQKd','bLOpt','service','Keychain\x20access\x20failed,\x20using\x20mock\x20storage','setGenericPassword','WzGrU','dkbhC','EDVTU','resetGenericPassword','gPUce','oPIoH','iJZts','cUIjW','fAeEo','sHBsM','Username\x20is\x20required\x20for\x20storing\x20credentials','web','NMJqg','now','fSaax','aUSXl','hRCst','❌\x20Failed\x20to\x20clear\x20JWT\x20token:','STORAGE_KEYS','credentials','QbVFk','accessControl','ACCESS_CONTROL','BIOMETRY_ANY_OR_DEVICE_PASSCODE','accessible','ACCESSIBLE','WHEN_UNLOCKED','stringify','wVtxT','oxMrF','Error\x20getting\x20credentials:','nOJWz','iassh','password','error','zGySw','viNkD','QmFNh','tBJnt','Error\x20deleting\x20credentials:','tDgMl','CLcly','GPyQL','pVmwB','dvagP','toString','substring','yNSqV','aAWZK','Xycxt','getItem','bbhyS','xmWAS','❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','❌\x20Failed\x20to\x20check\x20JWT\x20token:','nIwSW','KurCH','removeItem','log','FNRpk','YLgWE','EQeMI','bSTVo','fdHQQ','YRHBj','GotZw','afFfF','XcNrk','POvjZ','waZBZ','jTleG','oFRkN','EnBlF','arWCc','HYOmf','❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','YlRjC','UNSZV','zzQXO','split','lYLUo','parse','vpQpe','HXToV','getJWTPayload','TSHDr','❌\x20Failed\x20to\x20check\x20JWT\x20expiration:','qJVdJ','exp','floor','lrdOl','ziitl','ZKNzM'];_0x309c=function(){return _0x13b513;};return _0x309c();}function _interopRequireDefault(_0x33961c){return _0x33961c&&_0x33961c['__esModule']?_0x33961c:{'default':_0x33961c};}const JWT_TOKEN_KEY=_0x2890(0xd),mockStorage={};let Keychain=null;try{Keychain=__ONAIROS_REQ_FUNC__(0x3);}catch(_0x4d4b89){console[_0x2890(0xe)]('react-native-keychain module not available, using mock storage'),Keychain={'ACCESS_CONTROL':{'BIOMETRY_ANY_OR_DEVICE_PASSCODE':_0x2890(0xf)},'ACCESSIBLE':{'WHEN_UNLOCKED':_0x2890(0xf)},'getGenericPassword':async()=>null,'setGenericPassword':async()=>!![],'resetGenericPassword':async()=>!![]};}const isKeychainAvailable=()=>{const _0x1c55fc={'ENMVP':function(_0x128f4c,_0x95206b){return _0x128f4c%_0x95206b;},'MKpXn':_0x2890(0x10),'iDenC':function(_0x42f833,_0x50ab2f){return _0x42f833+_0x50ab2f;},'cFyrn':function(_0x3e6fad,_0x2d065e){return _0x3e6fad+_0x2d065e;},'EPLbl':function(_0x44eabd,_0x39f7d9){return _0x44eabd|_0x39f7d9;},'ScoUl':function(_0x58b3af,_0x1f1602){return _0x58b3af<<_0x1f1602;},'Udsws':function(_0xf4e79c,_0x159cab){return _0xf4e79c&_0x159cab;},'XFAhu':function(_0x5786d9,_0x26956d){return _0x5786d9!==_0x26956d;},'JuujL':function(_0x1e3427,_0x4a4a1d){return _0x1e3427>>_0x4a4a1d;},'nKuaF':_0x2890(0x11),'CabAN':_0x2890(0x12)};try{if(_0x1c55fc['XFAhu'](_0x1c55fc[_0x2890(0x13)],_0x1c55fc[_0x2890(0x13)])){while(_0x1c55fc[_0x2890(0x14)](_0x29c886[_0x2890(0x15)],0x4)){_0x5ca3c4+='=';}const _0x242c8a=_0x1c55fc[_0x2890(0x16)];let _0x5a816e='';for(let _0x4b8276=0x0;_0x4b8276<_0x372af3[_0x2890(0x15)];_0x4b8276+=0x4){const _0x5ed094=_0x242c8a['indexOf'](_0x4e51fe[_0x2890(0x17)](_0x4b8276)),_0x167f6a=_0x242c8a[_0x2890(0x18)](_0x134af5[_0x2890(0x17)](_0x4b8276+0x1)),_0x105852=_0x242c8a[_0x2890(0x18)](_0x142ebc['charAt'](_0x1c55fc[_0x2890(0x19)](_0x4b8276,0x2))),_0x486c2a=_0x242c8a['indexOf'](_0x4a1cad[_0x2890(0x17)](_0x1c55fc[_0x2890(0x1a)](_0x4b8276,0x3))),_0x482f62=_0x1c55fc[_0x2890(0x1b)](_0x1c55fc[_0x2890(0x1b)](_0x1c55fc[_0x2890(0x1b)](_0x1c55fc[_0x2890(0x1c)](_0x5ed094,0x12),_0x1c55fc['ScoUl'](_0x167f6a,0xc)),_0x105852<<0x6),_0x486c2a);_0x5a816e+=_0x53b604[_0x2890(0x1d)](_0x1c55fc[_0x2890(0x1e)](_0x482f62>>0x10,0xff));if(_0x1c55fc[_0x2890(0x1f)](_0x105852,0x40))_0x5a816e+=_0x40a6f7[_0x2890(0x1d)](_0x1c55fc[_0x2890(0x20)](_0x482f62,0x8)&0xff);if(_0x486c2a!==0x40)_0x5a816e+=_0x295f25[_0x2890(0x1d)](_0x482f62&0xff);}return _0x5a816e;}else return Keychain&&typeof Keychain[_0x2890(0x21)]===_0x1c55fc[_0x2890(0x22)];}catch(_0x2b7f6f){return![];}},safeGetGenericPassword=async _0x4d44a1=>{const _0x17d2ac={'jPTpI':_0x2890(0x23),'Fiwbl':function(_0x38a353,_0x5a5889){return _0x38a353===_0x5a5889;},'SOlpY':'ZZvJo','ItYLs':_0x2890(0x24),'EbsSf':function(_0x44c069,_0x8c5b56){return _0x44c069===_0x8c5b56;},'pTKdW':_0x2890(0x25),'yiQKd':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','bLOpt':function(_0x2c9049,_0x5098a4){return _0x2c9049===_0x5098a4;}};try{if(isKeychainAvailable())return _0x17d2ac[_0x2890(0x26)](_0x17d2ac['SOlpY'],_0x17d2ac[_0x2890(0x27)])?(_0x1d2e0e['error'](_0x17d2ac[_0x2890(0x28)],_0x448e87),![]):await Keychain['getGenericPassword'](_0x4d44a1);else{const _0x59ab93=(_0x17d2ac[_0x2890(0x29)](_0x4d44a1,null)||_0x17d2ac[_0x2890(0x29)](_0x4d44a1,void 0x0)?void 0x0:_0x4d44a1['service'])||_0x17d2ac[_0x2890(0x2a)];return mockStorage[_0x59ab93]||null;}}catch(_0x82ba6a){console[_0x2890(0xe)](_0x17d2ac[_0x2890(0x2b)],_0x82ba6a);const _0x2dbb0e=(_0x17d2ac[_0x2890(0x2c)](_0x4d44a1,null)||_0x17d2ac[_0x2890(0x29)](_0x4d44a1,void 0x0)?void 0x0:_0x4d44a1[_0x2890(0x2d)])||_0x17d2ac[_0x2890(0x2a)];return mockStorage[_0x2dbb0e]||null;}},safeSetGenericPassword=async(_0x1a0a7f,_0x4b906b,_0x448507)=>{const _0x33f8c8={'kLXFh':function(_0x2cba7a){return _0x2cba7a();},'WzGrU':function(_0x52ca4e,_0x2616b3){return _0x52ca4e===_0x2616b3;},'dkbhC':_0x2890(0x2e),'EDVTU':'default'};try{if(_0x33f8c8['kLXFh'](isKeychainAvailable))return await Keychain[_0x2890(0x2f)](_0x1a0a7f,_0x4b906b,_0x448507);else{const _0x281074=(_0x33f8c8[_0x2890(0x30)](_0x448507,null)||_0x33f8c8[_0x2890(0x30)](_0x448507,void 0x0)?void 0x0:_0x448507['service'])||_0x2890(0x25);return mockStorage[_0x281074]={'username':_0x1a0a7f,'password':_0x4b906b},!![];}}catch(_0xa85a79){console[_0x2890(0xe)](_0x33f8c8[_0x2890(0x31)],_0xa85a79);const _0x210bc1=(_0x33f8c8[_0x2890(0x30)](_0x448507,null)||_0x448507===void 0x0?void 0x0:_0x448507[_0x2890(0x2d)])||_0x33f8c8[_0x2890(0x32)];return mockStorage[_0x210bc1]={'username':_0x1a0a7f,'password':_0x4b906b},!![];}},safeResetGenericPassword=async _0x20737d=>{const _0x1fed0d={'YHVom':function(_0x9add62){return _0x9add62();},'gPUce':function(_0x349c09,_0x47a1ea){return _0x349c09===_0x47a1ea;},'oPIoH':function(_0x4b6df9,_0x2dc350){return _0x4b6df9===_0x2dc350;},'iJZts':_0x2890(0x2e),'cUIjW':function(_0x1ca5f8,_0x3f0635){return _0x1ca5f8===_0x3f0635;},'fAeEo':'default'};try{if(_0x1fed0d['YHVom'](isKeychainAvailable))return await Keychain[_0x2890(0x33)](_0x20737d);else{const _0x2285ba=(_0x1fed0d[_0x2890(0x34)](_0x20737d,null)||_0x1fed0d[_0x2890(0x35)](_0x20737d,void 0x0)?void 0x0:_0x20737d[_0x2890(0x2d)])||_0x2890(0x25);return delete mockStorage[_0x2285ba],!![];}}catch(_0xaaadaa){console[_0x2890(0xe)](_0x1fed0d[_0x2890(0x36)],_0xaaadaa);const _0x56ba88=(_0x1fed0d[_0x2890(0x35)](_0x20737d,null)||_0x1fed0d[_0x2890(0x37)](_0x20737d,void 0x0)?void 0x0:_0x20737d[_0x2890(0x2d)])||_0x1fed0d[_0x2890(0x38)];return delete mockStorage[_0x56ba88],!![];}},storeCredentials=async _0x47d524=>{const _0x6cc2a3={'NMJqg':function(_0x1b145b){return _0x1b145b();},'PirJm':function(_0x998529,_0x418f8e){return _0x998529===_0x418f8e;},'fSaax':function(_0x578290,_0x39d7e1){return _0x578290!==_0x39d7e1;},'aUSXl':_0x2890(0x39),'NkoGt':_0x2890(0x3a),'QbVFk':function(_0x2ebdae,_0x30e733){return _0x2ebdae!==_0x30e733;},'meFbe':_0x2890(0x3b),'wWOvH':function(_0x1447bc,_0x14e172,_0x31b3e2,_0x164007){return _0x1447bc(_0x14e172,_0x31b3e2,_0x164007);},'wVtxT':'Error\x20storing\x20credentials:'};try{const _0xf6d15b=await _0x6cc2a3[_0x2890(0x3c)](getCredentials),_0x3b5e72={..._0xf6d15b,..._0x47d524,'createdAt':(_0xf6d15b===null||_0x6cc2a3['PirJm'](_0xf6d15b,void 0x0)?void 0x0:_0xf6d15b['createdAt'])||Date[_0x2890(0x3d)]()},_0x327774=_0x3b5e72['username'];if(!_0x327774){if(_0x6cc2a3[_0x2890(0x3e)](_0x6cc2a3[_0x2890(0x3f)],_0x2890(0x40)))throw new Error(_0x6cc2a3['NkoGt']);else return _0x5c0d67['error'](_0x2890(0x41),_0x3cfebb),![];}const _0x5dc94e={'service':_constants[_0x2890(0x42)][_0x2890(0x43)]};return _0x6cc2a3[_0x2890(0x44)](_reactNative['Platform']['OS'],_0x6cc2a3['meFbe'])&&_0x6cc2a3[_0x2890(0x3c)](isKeychainAvailable)&&(_0x5dc94e[_0x2890(0x45)]=Keychain[_0x2890(0x46)][_0x2890(0x47)],_0x5dc94e[_0x2890(0x48)]=Keychain[_0x2890(0x49)][_0x2890(0x4a)]),await _0x6cc2a3['wWOvH'](safeSetGenericPassword,_0x327774,JSON[_0x2890(0x4b)](_0x3b5e72),_0x5dc94e),!![];}catch(_0x1cc72a){return console['error'](_0x6cc2a3[_0x2890(0x4c)],_0x1cc72a),![];}};exports[_0x2890(0x4)]=storeCredentials;const getCredentials=async()=>{const _0x2ea199={'nOJWz':function(_0x5ef59a,_0x31e66f){return _0x5ef59a(_0x31e66f);},'VDrbA':function(_0x28860a,_0x4f3403){return _0x28860a===_0x4f3403;},'iassh':_0x2890(0x4d),'zGySw':_0x2890(0x4e)};try{const _0x278745=await _0x2ea199[_0x2890(0x4f)](safeGetGenericPassword,{'service':_constants['STORAGE_KEYS']['credentials']});if(_0x278745){if(_0x2ea199['VDrbA']('UXPFo',_0x2ea199[_0x2890(0x50)]))_0x4a96d6[_0x2890(0x45)]=Keychain[_0x2890(0x46)][_0x2890(0x47)],_0x69f84e[_0x2890(0x48)]=Keychain[_0x2890(0x49)]['WHEN_UNLOCKED'];else return JSON['parse'](_0x278745[_0x2890(0x51)]);}return null;}catch(_0xe0ac8b){return console[_0x2890(0x52)](_0x2ea199[_0x2890(0x53)],_0xe0ac8b),null;}};function _0x2890(_0x309c31,_0x289095){_0x309c31=_0x309c31-0x0;const _0x335ed3=_0x309c();let _0x2e70a5=_0x335ed3[_0x309c31];return _0x2e70a5;}exports[_0x2890(0x9)]=getCredentials;const hasCredentials=async()=>{const _0x131832={'JOARG':_0x2890(0x23)};try{const _0x46e2a6=await safeGetGenericPassword({'service':_constants[_0x2890(0x42)]['credentials']});return!!_0x46e2a6;}catch(_0x2d2645){return console[_0x2890(0x52)](_0x131832['JOARG'],_0x2d2645),![];}};exports['hasCredentials']=hasCredentials;const deleteCredentials=async()=>{const _0x5609db={'tDgMl':function(_0x180da5,_0x46640b){return _0x180da5!==_0x46640b;},'CQgas':_0x2890(0x54),'CLcly':_0x2890(0x55),'GPyQL':function(_0x26b356,_0xc9c15b){return _0x26b356(_0xc9c15b);},'pVmwB':function(_0x195f14,_0x3c4a4e){return _0x195f14===_0x3c4a4e;},'bUXUR':_0x2890(0x56),'dvagP':_0x2890(0x57)};try{return _0x5609db[_0x2890(0x58)](_0x5609db['CQgas'],_0x5609db[_0x2890(0x59)])?(await _0x5609db[_0x2890(0x5a)](safeResetGenericPassword,{'service':_constants['STORAGE_KEYS'][_0x2890(0x43)]}),!![]):_0x1fff8a(_0x1d700b);}catch(_0x18a5a8){if(_0x5609db[_0x2890(0x5b)](_0x2890(0x56),_0x5609db['bUXUR']))return console['error'](_0x5609db[_0x2890(0x5c)],_0x18a5a8),![];else Keychain=_0x42118c(0x3);}};exports[_0x2890(0xb)]=deleteCredentials;const updateCredentials=async _0x4c66ae=>{const _0xa875c9={'KcfYU':function(_0x5de5f5,_0x292427){return _0x5de5f5(_0x292427);}};return _0xa875c9['KcfYU'](storeCredentials,_0x4c66ae);};exports[_0x2890(0x3)]=updateCredentials;const generateDeviceUsername=()=>{const _0x114d20=Math['random']()[_0x2890(0x5d)](0x24)[_0x2890(0x5e)](0x2,0xa);return'dev_'+_0x114d20;};exports[_0x2890(0xa)]=generateDeviceUsername;const verifyCredentials=async _0x1bb9a1=>{const _0x1d8e12={'yNSqV':function(_0xca11e0){return _0xca11e0();},'aAWZK':'Error\x20verifying\x20credentials:'};try{if(!_0x1d8e12[_0x2890(0x5f)](isKeychainAvailable))return!![];return!![];}catch(_0x35c652){return console[_0x2890(0x52)](_0x1d8e12[_0x2890(0x60)],_0x35c652),![];}};exports[_0x2890(0x2)]=verifyCredentials;const getJWT=async()=>{const _0x217031={'xmWAS':_0x2890(0x4e),'NIuNB':_0x2890(0x61)};try{const _0x411246=await _asyncStorage['default'][_0x2890(0x62)](JWT_TOKEN_KEY);return _0x411246;}catch(_0x5c1839){return _0x2890(0x63)===_0x217031['NIuNB']?(_0x1e1f5a[_0x2890(0x52)](_0x217031[_0x2890(0x64)],_0x2f6d4b),null):(console[_0x2890(0x52)](_0x2890(0x65),_0x5c1839),null);}};exports[_0x2890(0x8)]=getJWT;const hasJWT=async()=>{const _0x3a7f93={'nIwSW':_0x2890(0x66)};try{const _0x54f91b=await _asyncStorage['default'][_0x2890(0x62)](JWT_TOKEN_KEY);return!!_0x54f91b;}catch(_0x2d42ce){return console[_0x2890(0x52)](_0x3a7f93[_0x2890(0x67)],_0x2d42ce),![];}};exports[_0x2890(0x6)]=hasJWT;const clearJWT=async()=>{const _0x560a7d={'FNRpk':'🗑️\x20JWT\x20token\x20cleared','YLgWE':_0x2890(0x68)};try{return await _asyncStorage['default'][_0x2890(0x69)](JWT_TOKEN_KEY),console[_0x2890(0x6a)](_0x560a7d[_0x2890(0x6b)]),!![];}catch(_0x5c4eb6){return _0x560a7d[_0x2890(0x6c)]!==_0x2890(0x68)?(_0x58f069[_0x2890(0x52)](_0x2890(0x65),_0x476cfe),null):(console[_0x2890(0x52)](_0x2890(0x41),_0x5c4eb6),![]);}};exports[_0x2890(0xc)]=clearJWT;const base64Decode=_0x5ae8b5=>{const _0x59c1dc={'YRHBj':'❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','HGXMf':function(_0x359eca,_0x5f185c){return _0x359eca%_0x5f185c;},'bSTVo':function(_0x3d72f5,_0x882eb9){return _0x3d72f5===_0x882eb9;},'fdHQQ':_0x2890(0x6d),'GotZw':_0x2890(0x10),'afFfF':function(_0x47a509,_0x121393){return _0x47a509<_0x121393;},'toLqn':function(_0x14109f,_0x54d2a8){return _0x14109f+_0x54d2a8;},'XcNrk':function(_0x1d3b06,_0x6e1cad){return _0x1d3b06+_0x6e1cad;},'POvjZ':function(_0x17cff0,_0x232a18){return _0x17cff0|_0x232a18;},'zhktl':function(_0x59b917,_0x26d013){return _0x59b917<<_0x26d013;},'waZBZ':function(_0x41b2e3,_0x11f33c){return _0x41b2e3<<_0x11f33c;},'jTleG':function(_0x502464,_0x1a5c14){return _0x502464<<_0x1a5c14;},'euVGD':function(_0x1c7051,_0x200574){return _0x1c7051&_0x200574;},'oFRkN':function(_0x525513,_0x55b3c8){return _0x525513!==_0x55b3c8;},'EnBlF':function(_0x1df36a,_0x552923){return _0x1df36a>>_0x552923;},'arWCc':function(_0x518ee1,_0x4ec6e3){return _0x518ee1!==_0x4ec6e3;}};while(_0x59c1dc['HGXMf'](_0x5ae8b5[_0x2890(0x15)],0x4)){if(_0x59c1dc[_0x2890(0x6e)](_0x59c1dc[_0x2890(0x6f)],'klvyD'))return _0x46d9c1[_0x2890(0x52)](_0x59c1dc[_0x2890(0x70)],_0x117c30),null;else _0x5ae8b5+='=';}const _0x48fec5=_0x59c1dc[_0x2890(0x71)];let _0x2e239f='';for(let _0x334fa7=0x0;_0x59c1dc[_0x2890(0x72)](_0x334fa7,_0x5ae8b5[_0x2890(0x15)]);_0x334fa7+=0x4){const _0x46b986=_0x48fec5[_0x2890(0x18)](_0x5ae8b5[_0x2890(0x17)](_0x334fa7)),_0x1e0aa5=_0x48fec5[_0x2890(0x18)](_0x5ae8b5[_0x2890(0x17)](_0x334fa7+0x1)),_0x853cd9=_0x48fec5[_0x2890(0x18)](_0x5ae8b5[_0x2890(0x17)](_0x59c1dc['toLqn'](_0x334fa7,0x2))),_0x582337=_0x48fec5[_0x2890(0x18)](_0x5ae8b5[_0x2890(0x17)](_0x59c1dc[_0x2890(0x73)](_0x334fa7,0x3))),_0xdce824=_0x59c1dc[_0x2890(0x74)](_0x59c1dc[_0x2890(0x74)](_0x59c1dc['zhktl'](_0x46b986,0x12),_0x59c1dc[_0x2890(0x75)](_0x1e0aa5,0xc)),_0x59c1dc[_0x2890(0x76)](_0x853cd9,0x6))|_0x582337;_0x2e239f+=String[_0x2890(0x1d)](_0x59c1dc['euVGD'](_0xdce824>>0x10,0xff));if(_0x59c1dc[_0x2890(0x77)](_0x853cd9,0x40))_0x2e239f+=String['fromCharCode'](_0x59c1dc['euVGD'](_0x59c1dc[_0x2890(0x78)](_0xdce824,0x8),0xff));if(_0x59c1dc[_0x2890(0x79)](_0x582337,0x40))_0x2e239f+=String['fromCharCode'](_0xdce824&0xff);}return _0x2e239f;},getJWTPayload=async()=>{const _0x577dd7={'vpQpe':function(_0x4d2b70,_0x431d44){return _0x4d2b70===_0x431d44;},'YlRjC':_0x2890(0x7a),'UNSZV':'XAAaA','zzQXO':function(_0x32fc5f){return _0x32fc5f();},'lYLUo':function(_0x4b6a17,_0x4d6997){return _0x4b6a17!==_0x4d6997;},'FrlQO':function(_0x170f47,_0x15df14){return _0x170f47(_0x15df14);},'HXToV':_0x2890(0x7b)};try{if(_0x577dd7[_0x2890(0x7c)]!==_0x577dd7[_0x2890(0x7d)]){const _0x2d1334=await _0x577dd7[_0x2890(0x7e)](getJWT);if(!_0x2d1334)return null;const _0x6b7b63=_0x2d1334[_0x2890(0x7f)]('.');if(_0x577dd7[_0x2890(0x80)](_0x6b7b63[_0x2890(0x15)],0x3))return null;const _0x1f55cf=_0x577dd7['FrlQO'](base64Decode,_0x6b7b63[0x1]),_0x529638=JSON[_0x2890(0x81)](_0x1f55cf);return _0x529638;}else{const _0x2f254a=(_0x577dd7[_0x2890(0x82)](_0x2210da,null)||_0x577dd7[_0x2890(0x82)](_0x2c8d25,void 0x0)?void 0x0:_0x1202f3[_0x2890(0x2d)])||_0x2890(0x25);return delete _0x206fc7[_0x2f254a],!![];}}catch(_0x1e4908){return console[_0x2890(0x52)](_0x577dd7[_0x2890(0x83)],_0x1e4908),null;}};exports[_0x2890(0x84)]=getJWTPayload;const isJWTExpired=async()=>{const _0x4633f0={'ziitl':_0x2890(0x3a),'qJVdJ':function(_0x18f34b){return _0x18f34b();},'DnnoY':function(_0x3668de,_0x106c86){return _0x3668de/_0x106c86;},'Dszgq':function(_0x38fc22,_0x7f4c89){return _0x38fc22===_0x7f4c89;},'lrdOl':_0x2890(0x85),'ZKNzM':_0x2890(0x86)};try{const _0x69fc46=await _0x4633f0[_0x2890(0x87)](getJWTPayload);if(!_0x69fc46||!_0x69fc46[_0x2890(0x88)])return!![];const _0x27e7c4=Math[_0x2890(0x89)](_0x4633f0['DnnoY'](Date[_0x2890(0x3d)](),0x3e8));return _0x69fc46[_0x2890(0x88)]<_0x27e7c4;}catch(_0x9d9fce){if(_0x4633f0['Dszgq']('IQoaG',_0x4633f0[_0x2890(0x8a)]))throw new _0x197d24(_0x4633f0[_0x2890(0x8b)]);else return console[_0x2890(0x52)](_0x4633f0[_0x2890(0x8c)],_0x9d9fce),!![];}};exports[_0x2890(0x5)]=isJWTExpired;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function _0x1d9e(_0x3b8047,_0x1d9e02){_0x3b8047=_0x3b8047-0x0;const _0x3c10e3=_0x3b80();let _0x3ae837=_0x3c10e3[_0x3b8047];return _0x3ae837;}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['CHATGPT_SUCCESS_SCRIPT']=exports[_0x1d9e(0x0)]=exports[_0x1d9e(0x1)]=exports[_0x1d9e(0x2)]=exports['CHATGPT_CONSENT_POPUP_SCRIPT']=void 0x0;function _0x3b80(){const _0x44fbf6=['CHATGPT_FETCH_MEMORIES_SCRIPT','CHATGPT_EXPORT_SCRIPT','CHATGPT_ERROR_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20VERSION\x20CHECK:\x20This\x20confirms\x20new\x20code\x20is\x20running\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🔄\x20[CHATGPT]\x20Script\x20version:\x20SDK_V1\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27DEBUG_LOG\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20version:\x20SDK_V1\x20loaded\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!document.body)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20not\x20ready\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Use\x20chatgpt.com\x20as\x20iOS\x20does\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🚀\x20[CHATGPT]\x20Starting\x20extraction\x20(iOS-style\x20with\x20access\x20token)...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x20(matches\x20iOS\x20fetchAccessToken)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x202,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20access\x20token\x20from\x20/api/auth/session...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Session\x20response\x20status:\x27,\x20sessionResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Got\x20accessToken:\x27,\x20accessToken\x20?\x20\x27YES\x20(len=\x27\x20+\x20accessToken.length\x20+\x20\x27)\x27\x20:\x20\x27NO\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Build\x20headers\x20matching\x20iOS\x20exactly\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27User-Agent\x27:\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Start\x20BOTH\x20conversations\x20AND\x20memories\x20fetches\x20IN\x20PARALLEL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_list\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x205,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20conversations\x20and\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Starting\x20PARALLEL\x20fetch\x20of\x20conversations\x20AND\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20memories\x20fetch\x20IMMEDIATELY\x20using\x20XMLHttpRequest\x20(more\x20compatible\x20than\x20fetch)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20memoriesPromise\x20=\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20xhr\x20=\x20new\x20XMLHttpRequest();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.open(\x27GET\x27,\x20baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20true);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.withCredentials\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Accept\x27,\x20\x27application/json\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Authorization\x27,\x20\x27Bearer\x20\x27\x20+\x20accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onload\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20status:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20>=\x20200\x20&&\x20xhr.status\x20<\x20300)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20JSON.parse(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20allKeys\x20=\x20Object.keys(data\x20||\x20{});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20response\x20keys:\x27,\x20allKeys);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(parseErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20parse\x20error:\x27,\x20parseErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20API\x20returned:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onerror\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20error\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.send();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20request\x20sent\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(xhrErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20exception:\x27,\x20xhrErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20conversations\x20fetch\x20(in\x20parallel\x20with\x20memories)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20conversations\x20with\x20auth:\x27,\x20!!accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversations?limit=10\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Conversations\x20response:\x27,\x20listResponse.status);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!listResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20listResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20conversations\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listData\x20=\x20await\x20listResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conversations\x20=\x20listData.items\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Found\x27,\x20conversations.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(conversations.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Still\x20wait\x20for\x20memories\x20even\x20if\x20no\x20conversations\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20No\x20conversations,\x20waiting\x20for\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesItemsCount\x20=\x20noConvMemoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesEntriesCount\x20=\x20noConvMemoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories:\x20noConvMemoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20noConvMemoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20noConvMemoriesEntriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Connected!\x20No\x20conversations\x20found.\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x203:\x20Fetch\x20each\x20conversation\x20(matches\x20iOS\x20fetchAllConversationDetails)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x200/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20userMessages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20conversations.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conv\x20=\x20conversations[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20progressPercent\x20=\x2010\x20+\x20((i\x20/\x20conversations.length)\x20*\x2080);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27processing_conversation\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current:\x20i\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total:\x20conversations.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x20Math.round(progressPercent),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x20\x27\x20+\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20iOS\x20uses\x200.3s\x20delay\x20-\x20we\x20use\x200.3s\x20too\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20await\x20new\x20Promise(resolve\x20=>\x20setTimeout(resolve,\x20300));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20detailResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversation/\x27\x20+\x20conv.id,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(detailResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20convData\x20=\x20await\x20detailResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20messages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Extract\x20user\x20messages\x20from\x20mapping\x20(same\x20as\x20iOS)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20nodeId\x20in\x20convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20node\x20=\x20convData.mapping[nodeId];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.message\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author.role\x20===\x20\x27user\x27\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20part\x20of\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20part\x20===\x20\x27string\x27\x20&&\x20part.trim())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20messages.push(part.trim());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(messages.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20userMessages.push({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversation_id:\x20conv.id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20conv.title\x20||\x20\x27Untitled\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_messages:\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20✅\x20Conversation\x27,\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27:\x27,\x20conv.title,\x20\x27(\x27\x20+\x20messages.length\x20+\x20\x27\x20msgs)\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Conversation\x27,\x20conv.id,\x20\x27returned\x27,\x20detailResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(convError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Failed\x20conversation\x27,\x20conv.id\x20+\x20\x27:\x27,\x20convError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMessages\x20=\x20userMessages.reduce((sum,\x20c)\x20=>\x20sum\x20+\x20c.user_messages.length,\x200);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27✅\x20[CHATGPT]\x20Extraction\x20complete:\x27,\x20totalMessages,\x20\x27messages\x20from\x27,\x20userMessages.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x204:\x20Wait\x20for\x20memories\x20(started\x20in\x20parallel\x20at\x20STEP\x202)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Waiting\x20for\x20parallel\x20memories\x20fetch\x20to\x20complete...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Check\x20all\x20possible\x20field\x20names\x20(API\x20structure\x20varies)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesItemsCount\x20=\x20memoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesEntriesCount\x20=\x20memoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesArrayCount\x20=\x20memoriesData?.memories?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMemoriesCount\x20=\x20memoriesItemsCount\x20+\x20memoriesEntriesCount\x20+\x20memoriesArrayCount;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Final\x20memories\x20result:\x27,\x20memoriesItemsCount,\x20\x27items,\x27,\x20memoriesEntriesCount,\x20\x27entries,\x27,\x20memoriesArrayCount,\x20\x27memories\x20array\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20memories\x20to\x20React\x20Native\x20for\x20storage\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(memoriesData\x20&&\x20totalMemoriesCount\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Sending\x20memories\x20to\x20React\x20Native\x20for\x20storage...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_DATA\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20totalMemoriesCount:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20conversation\x20data\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20userMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x20userMessages.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x20totalMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20memoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20memoriesEntriesCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_array_count:\x20memoriesArrayCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_memories_count:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Export\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a','CHATGPT_SUCCESS_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27✅\x20ChatGPT\x20export\x20successful!\x27);\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27❌\x20ChatGPT\x20export\x20failed!\x27);\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Starting\x20memories\x20extraction...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Fetch\x20memories\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_memories\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20ChatGPT\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!memoriesResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20memoriesResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20memories\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20itemsCount\x20=\x20memoriesData.items\x20?\x20memoriesData.items.length\x20:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20entriesCount\x20=\x20memoriesData.memory_entries\x20?\x20memoriesData.memory_entries.length\x20:\x200;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20itemsCount:\x20itemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entriesCount:\x20entriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20fetch\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Memories\x20fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a'];_0x3b80=function(){return _0x44fbf6;};return _0x3b80();}const CHATGPT_CONSENT_POPUP_SCRIPT=exports['CHATGPT_CONSENT_POPUP_SCRIPT']='\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existing\x20=\x20document.getElementById(\x27onairos-consent-overlay\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(existing)\x20existing.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20overlay\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.id\x20=\x20\x27onairos-consent-overlay\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20fixed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20popup\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2032px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20max-width:\x20400px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2090%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x2020px\x2060px\x20rgba(0,\x200,\x200,\x200.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.innerHTML\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2048px;\x20margin-bottom:\x2016px;\x22>🤖</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2\x20style=\x22margin:\x200\x200\x2012px\x200;\x20font-size:\x2024px;\x20color:\x20#1a1a1a;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Export\x20Conversations?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20style=\x22margin:\x200\x200\x2024px\x200;\x20color:\x20#666;\x20font-size:\x2016px;\x20line-height:\x201.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Allow\x20Onairos\x20to\x20export\x20your\x20top\x2010\x20ChatGPT\x20conversations\x20for\x20analysis?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20gap:\x2012px;\x20justify-content:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-deny\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#e0e0e0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Deny</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-allow\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(135deg,\x20#667eea\x200%,\x20#764ba2\x20100%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Allow</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.appendChild(popup);\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.body.appendChild(overlay);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-deny\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overlay.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27denied\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).innerHTML\x20=\x20\x27⏳\x20Starting...\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).disabled\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27allowed\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20overlay.remove(),\x20500);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a',CHATGPT_EXPORT_SCRIPT=exports[_0x1d9e(0x1)]=_0x1d9e(0x3),CHATGPT_SUCCESS_SCRIPT=exports[_0x1d9e(0x4)]=_0x1d9e(0x5),CHATGPT_ERROR_SCRIPT=exports[_0x1d9e(0x2)]=_0x1d9e(0x6),CHATGPT_FETCH_MEMORIES_SCRIPT=exports[_0x1d9e(0x0)]=_0x1d9e(0x7);
|
|
1
|
+
'use strict';Object[_0x47c6(0x0)](exports,_0x47c6(0x1),{'value':!![]}),exports[_0x47c6(0x2)]=exports[_0x47c6(0x3)]=exports[_0x47c6(0x4)]=exports[_0x47c6(0x5)]=exports['CHATGPT_CONSENT_POPUP_SCRIPT']=void 0x0;function _0x47c6(_0x527b0e,_0x47c6c7){_0x527b0e=_0x527b0e-0x0;const _0x5c5d5b=_0x527b();let _0xd5762d=_0x5c5d5b[_0x527b0e];return _0xd5762d;}const CHATGPT_CONSENT_POPUP_SCRIPT=exports['CHATGPT_CONSENT_POPUP_SCRIPT']='\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existing\x20=\x20document.getElementById(\x27onairos-consent-overlay\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(existing)\x20existing.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20overlay\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.id\x20=\x20\x27onairos-consent-overlay\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20fixed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20popup\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2032px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20max-width:\x20400px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2090%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x2020px\x2060px\x20rgba(0,\x200,\x200,\x200.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.innerHTML\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2048px;\x20margin-bottom:\x2016px;\x22>🤖</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2\x20style=\x22margin:\x200\x200\x2012px\x200;\x20font-size:\x2024px;\x20color:\x20#1a1a1a;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Export\x20Conversations?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20style=\x22margin:\x200\x200\x2024px\x200;\x20color:\x20#666;\x20font-size:\x2016px;\x20line-height:\x201.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Allow\x20Onairos\x20to\x20export\x20your\x20top\x2010\x20ChatGPT\x20conversations\x20for\x20analysis?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20gap:\x2012px;\x20justify-content:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-deny\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#e0e0e0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Deny</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-allow\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(135deg,\x20#667eea\x200%,\x20#764ba2\x20100%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Allow</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.appendChild(popup);\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.body.appendChild(overlay);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-deny\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overlay.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27denied\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).innerHTML\x20=\x20\x27⏳\x20Starting...\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).disabled\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27allowed\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20overlay.remove(),\x20500);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a',CHATGPT_EXPORT_SCRIPT=exports['CHATGPT_EXPORT_SCRIPT']=_0x47c6(0x6),CHATGPT_SUCCESS_SCRIPT=exports[_0x47c6(0x2)]=_0x47c6(0x7),CHATGPT_ERROR_SCRIPT=exports[_0x47c6(0x5)]='\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27❌\x20ChatGPT\x20export\x20failed!\x27);\x0a})();\x0atrue;\x0a',CHATGPT_FETCH_MEMORIES_SCRIPT=exports[_0x47c6(0x3)]=_0x47c6(0x8);function _0x527b(){const _0x14ec6c=['defineProperty','__esModule','CHATGPT_SUCCESS_SCRIPT','CHATGPT_FETCH_MEMORIES_SCRIPT','CHATGPT_EXPORT_SCRIPT','CHATGPT_ERROR_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20VERSION\x20CHECK:\x20This\x20confirms\x20new\x20code\x20is\x20running\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🔄\x20[CHATGPT]\x20Script\x20version:\x20SDK_V1\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27DEBUG_LOG\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20version:\x20SDK_V1\x20loaded\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!document.body)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20not\x20ready\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Use\x20chatgpt.com\x20as\x20iOS\x20does\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🚀\x20[CHATGPT]\x20Starting\x20extraction\x20(iOS-style\x20with\x20access\x20token)...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x20(matches\x20iOS\x20fetchAccessToken)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x202,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20access\x20token\x20from\x20/api/auth/session...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Session\x20response\x20status:\x27,\x20sessionResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Got\x20accessToken:\x27,\x20accessToken\x20?\x20\x27YES\x20(len=\x27\x20+\x20accessToken.length\x20+\x20\x27)\x27\x20:\x20\x27NO\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Build\x20headers\x20matching\x20iOS\x20exactly\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27User-Agent\x27:\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Start\x20BOTH\x20conversations\x20AND\x20memories\x20fetches\x20IN\x20PARALLEL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_list\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x205,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20conversations\x20and\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Starting\x20PARALLEL\x20fetch\x20of\x20conversations\x20AND\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20memories\x20fetch\x20IMMEDIATELY\x20using\x20XMLHttpRequest\x20(more\x20compatible\x20than\x20fetch)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20memoriesPromise\x20=\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20xhr\x20=\x20new\x20XMLHttpRequest();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.open(\x27GET\x27,\x20baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20true);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.withCredentials\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Accept\x27,\x20\x27application/json\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Authorization\x27,\x20\x27Bearer\x20\x27\x20+\x20accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onload\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20status:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20>=\x20200\x20&&\x20xhr.status\x20<\x20300)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20JSON.parse(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20allKeys\x20=\x20Object.keys(data\x20||\x20{});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20response\x20keys:\x27,\x20allKeys);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(parseErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20parse\x20error:\x27,\x20parseErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20API\x20returned:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onerror\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20error\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.send();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20request\x20sent\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(xhrErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20exception:\x27,\x20xhrErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20conversations\x20fetch\x20(in\x20parallel\x20with\x20memories)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20conversations\x20with\x20auth:\x27,\x20!!accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversations?limit=10\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Conversations\x20response:\x27,\x20listResponse.status);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!listResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20listResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20conversations\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listData\x20=\x20await\x20listResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conversations\x20=\x20listData.items\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Found\x27,\x20conversations.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(conversations.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Still\x20wait\x20for\x20memories\x20even\x20if\x20no\x20conversations\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20No\x20conversations,\x20waiting\x20for\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesItemsCount\x20=\x20noConvMemoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesEntriesCount\x20=\x20noConvMemoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories:\x20noConvMemoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20noConvMemoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20noConvMemoriesEntriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Connected!\x20No\x20conversations\x20found.\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x203:\x20Fetch\x20each\x20conversation\x20(matches\x20iOS\x20fetchAllConversationDetails)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x200/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20userMessages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20conversations.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conv\x20=\x20conversations[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20progressPercent\x20=\x2010\x20+\x20((i\x20/\x20conversations.length)\x20*\x2080);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27processing_conversation\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current:\x20i\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total:\x20conversations.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x20Math.round(progressPercent),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x20\x27\x20+\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20iOS\x20uses\x200.3s\x20delay\x20-\x20we\x20use\x200.3s\x20too\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20await\x20new\x20Promise(resolve\x20=>\x20setTimeout(resolve,\x20300));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20detailResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversation/\x27\x20+\x20conv.id,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(detailResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20convData\x20=\x20await\x20detailResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20messages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Extract\x20user\x20messages\x20from\x20mapping\x20(same\x20as\x20iOS)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20nodeId\x20in\x20convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20node\x20=\x20convData.mapping[nodeId];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.message\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author.role\x20===\x20\x27user\x27\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20part\x20of\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20part\x20===\x20\x27string\x27\x20&&\x20part.trim())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20messages.push(part.trim());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(messages.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20userMessages.push({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversation_id:\x20conv.id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20conv.title\x20||\x20\x27Untitled\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_messages:\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20✅\x20Conversation\x27,\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27:\x27,\x20conv.title,\x20\x27(\x27\x20+\x20messages.length\x20+\x20\x27\x20msgs)\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Conversation\x27,\x20conv.id,\x20\x27returned\x27,\x20detailResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(convError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Failed\x20conversation\x27,\x20conv.id\x20+\x20\x27:\x27,\x20convError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMessages\x20=\x20userMessages.reduce((sum,\x20c)\x20=>\x20sum\x20+\x20c.user_messages.length,\x200);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27✅\x20[CHATGPT]\x20Extraction\x20complete:\x27,\x20totalMessages,\x20\x27messages\x20from\x27,\x20userMessages.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x204:\x20Wait\x20for\x20memories\x20(started\x20in\x20parallel\x20at\x20STEP\x202)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Waiting\x20for\x20parallel\x20memories\x20fetch\x20to\x20complete...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Check\x20all\x20possible\x20field\x20names\x20(API\x20structure\x20varies)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesItemsCount\x20=\x20memoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesEntriesCount\x20=\x20memoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesArrayCount\x20=\x20memoriesData?.memories?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMemoriesCount\x20=\x20memoriesItemsCount\x20+\x20memoriesEntriesCount\x20+\x20memoriesArrayCount;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Final\x20memories\x20result:\x27,\x20memoriesItemsCount,\x20\x27items,\x27,\x20memoriesEntriesCount,\x20\x27entries,\x27,\x20memoriesArrayCount,\x20\x27memories\x20array\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20memories\x20to\x20React\x20Native\x20for\x20storage\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(memoriesData\x20&&\x20totalMemoriesCount\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Sending\x20memories\x20to\x20React\x20Native\x20for\x20storage...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_DATA\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20totalMemoriesCount:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20conversation\x20data\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20userMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x20userMessages.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x20totalMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20memoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20memoriesEntriesCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_array_count:\x20memoriesArrayCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_memories_count:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Export\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27✅\x20ChatGPT\x20export\x20successful!\x27);\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Starting\x20memories\x20extraction...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Fetch\x20memories\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_memories\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20ChatGPT\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!memoriesResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20memoriesResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20memories\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20itemsCount\x20=\x20memoriesData.items\x20?\x20memoriesData.items.length\x20:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20entriesCount\x20=\x20memoriesData.memory_entries\x20?\x20memoriesData.memory_entries.length\x20:\x200;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20itemsCount:\x20itemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entriesCount:\x20entriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20fetch\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Memories\x20fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a'];_0x527b=function(){return _0x14ec6c;};return _0x527b();}
|