@onairos/react-native 3.6.3 → 3.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 -1
- package/lib/commonjs/services/authService.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/module/services/authService.js +1 -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 +1 -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,_0x14f0(0x0),{'value':!![]}),exports['validateCredentials']=exports[_0x14f0(0x1)]=exports[_0x14f0(0x2)]=exports[_0x14f0(0x3)]=exports['isCurrentUserAuthenticated']=exports[_0x14f0(0x4)]=exports[_0x14f0(0x5)]=exports[_0x14f0(0x6)]=exports['createAccount']=exports[_0x14f0(0x7)]=exports[_0x14f0(0x8)]=void 0x0;var _netinfo=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_debugHelper=__ONAIROS_REQ_FUNC__(0x1),_apiKeyService=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x5e4cab){return _0x5e4cab&&_0x5e4cab['__esModule']?_0x5e4cab:{'default':_0x5e4cab};}class ApiError extends Error{constructor(_0x1b3e94,_0x5be57e,_0x3dc90a,_0x2713cc){const _0x3975a4={'aFOoJ':'ApiError'},_0x324f29=_0x14f0(0x9)[_0x14f0(0xa)]('|');let _0x736d18=0x0;while(!![]){switch(_0x324f29[_0x736d18++]){case'0':this[_0x14f0(0xb)]=_0x3dc90a;continue;case'1':this[_0x14f0(0xc)]=_0x3975a4[_0x14f0(0xd)];continue;case'2':this['type']=_0x5be57e;continue;case'3':super(_0x1b3e94);continue;case'4':this['details']=_0x2713cc;continue;}break;}}}exports['ApiError']=ApiError;const checkNetworkConnection=async()=>{const _0x4771df={'ClCqH':function(_0x45bbb5,_0x1900e6){return _0x45bbb5===_0x1900e6;}},_0x380a9=await _netinfo['default'][_0x14f0(0xe)]();return _0x4771df[_0x14f0(0xf)](_0x380a9[_0x14f0(0x10)],!![]);},makeUserApiRequest=async(_0x5d6551,_0x3d4a32,_0x54734d={})=>{const _0x176bd6={'HkGCE':_0x14f0(0x11),'rTsPt':function(_0x30e0e5,_0x32646b){return _0x30e0e5===_0x32646b;},'lUXIH':function(_0x41fa59,_0x2d7e7e){return _0x41fa59===_0x2d7e7e;},'MaUvn':'auth_error','rNsZN':_0x14f0(0x12),'UTKLq':function(_0x341e78,_0x56b042){return _0x341e78>=_0x56b042;},'usBLb':_0x14f0(0x13),'DlUtb':function(_0x5426f7,_0xd1353){return _0x5426f7===_0xd1353;},'dHgJT':'API\x20request\x20failed','fIbBO':function(_0x3e041f,_0x475428){return _0x3e041f===_0x475428;},'KXVJA':function(_0x143ba6,_0x407181){return _0x143ba6===_0x407181;},'vAblg':function(_0x38fc0c,_0x4e0d5e){return _0x38fc0c===_0x4e0d5e;},'OOXDa':function(_0x40c38f){return _0x40c38f();},'EGdSs':_0x14f0(0x14),'ogFNZ':_0x14f0(0x15),'vrqGZ':_0x14f0(0x16),'CDkaF':function(_0x511f2f,_0x67413f){return _0x511f2f||_0x67413f;},'nUvIr':function(_0x36da2f,_0x4be9e3){return _0x36da2f!==_0x4be9e3;},'JxGiI':_0x14f0(0x17),'IKqSm':function(_0x27456a,_0x12968c){return _0x27456a>=_0x12968c;},'fVypj':_0x14f0(0x18),'WRAas':function(_0x5332be,_0x1b9f0e){return _0x5332be===_0x1b9f0e;},'JKMEh':function(_0x2c567b,_0x240b4b){return _0x2c567b===_0x240b4b;},'eQPWN':function(_0x440a4c,_0x12dab0){return _0x440a4c!==_0x12dab0;},'SZPTs':_0x14f0(0x19),'vSzow':_0x14f0(0x1a),'WrBUi':'Request\x20timed\x20out','SEzcH':_0x14f0(0x1b),'WWwtn':_0x14f0(0x1c),'ttXqt':_0x14f0(0x1d)},{data:_0x567f1b,headers:headers={},debug:debug=![]}=_0x54734d;try{const _0x435ff2=await _0x176bd6[_0x14f0(0x1e)](checkNetworkConnection);if(!_0x435ff2)throw new ApiError(_0x176bd6[_0x14f0(0x1f)],_0x176bd6[_0x14f0(0x20)]);if(!(0x0,_apiKeyService[_0x14f0(0x21)])())throw new ApiError(_0x176bd6[_0x14f0(0x22)],_0x14f0(0x23));debug&&(0x0,_debugHelper['logDebug'])(_0x14f0(0x24),{'endpoint':_0x5d6551,'method':_0x3d4a32,'headers':{...headers,'Authorization':_0x14f0(0x25)},'data':_0x176bd6[_0x14f0(0x26)](_0x567f1b,null)});const _0x5cf04f=await(0x0,_apiKeyService[_0x14f0(0x27)])(_0x5d6551,{'method':_0x3d4a32,'headers':headers,..._0x567f1b?{'body':JSON[_0x14f0(0x28)](_0x567f1b)}:{}}),_0x5529ac=await _0x5cf04f[_0x14f0(0x29)]();debug&&(_0x176bd6[_0x14f0(0x2a)](_0x176bd6[_0x14f0(0x2b)],_0x176bd6[_0x14f0(0x2b)])?(0x0,_0x169dba[_0x14f0(0x2c)])(_0x176bd6[_0x14f0(0x2d)],{'status':_0x4bfadb[_0x14f0(0x2e)],'data':_0x5ef3b2}):(0x0,_debugHelper[_0x14f0(0x2c)])(_0x176bd6['HkGCE'],{'status':_0x5cf04f[_0x14f0(0x2e)],'data':_0x5529ac}));if(!_0x5cf04f['ok']){var _0x4d10bc,_0x42e36a,_0x383395;const _0xa19415=_0x5cf04f[_0x14f0(0x2e)]===0x191||_0x176bd6['lUXIH'](_0x5cf04f[_0x14f0(0x2e)],0x193)?_0x176bd6[_0x14f0(0x2f)]:_0x5cf04f[_0x14f0(0x2e)]===0x190?_0x176bd6['rNsZN']:_0x176bd6[_0x14f0(0x30)](_0x5cf04f['status'],0x1f4)?_0x176bd6[_0x14f0(0x31)]:_0x176bd6[_0x14f0(0x32)];throw new ApiError((_0x176bd6[_0x14f0(0x33)](_0x4d10bc=_0x5529ac[_0x14f0(0x34)],null)||_0x176bd6[_0x14f0(0x35)](_0x4d10bc,void 0x0)?void 0x0:_0x4d10bc[_0x14f0(0x36)])||_0x176bd6[_0x14f0(0x37)],_0xa19415,(_0x42e36a=_0x5529ac['error'])===null||_0x176bd6[_0x14f0(0x38)](_0x42e36a,void 0x0)?void 0x0:_0x42e36a[_0x14f0(0xb)],_0x176bd6[_0x14f0(0x39)](_0x383395=_0x5529ac['error'],null)||_0x176bd6['JKMEh'](_0x383395,void 0x0)?void 0x0:_0x383395['details']);}return _0x5529ac;}catch(_0x41c043){if(_0x176bd6[_0x14f0(0x3a)](_0x14f0(0x19),_0x176bd6[_0x14f0(0x3b)])){var _0x30fe67,_0x34a2cc,_0x2040d7;const _0x58d064=_0x176bd6[_0x14f0(0x33)](_0xed6e63[_0x14f0(0x2e)],0x191)||_0x176bd6[_0x14f0(0x39)](_0x5ed21f[_0x14f0(0x2e)],0x193)?_0x176bd6[_0x14f0(0x2f)]:_0x176bd6['rTsPt'](_0x3206dc[_0x14f0(0x2e)],0x190)?_0x176bd6[_0x14f0(0x3c)]:_0x176bd6[_0x14f0(0x3d)](_0x2af4a9[_0x14f0(0x2e)],0x1f4)?_0x176bd6[_0x14f0(0x31)]:_0x14f0(0x18);throw new _0x376a84((_0x176bd6[_0x14f0(0x35)](_0x30fe67=_0x32134f['error'],null)||_0x30fe67===void 0x0?void 0x0:_0x30fe67['message'])||_0x176bd6[_0x14f0(0x37)],_0x58d064,_0x176bd6[_0x14f0(0x3e)](_0x34a2cc=_0x1ae2c0[_0x14f0(0x34)],null)||_0x176bd6[_0x14f0(0x3f)](_0x34a2cc,void 0x0)?void 0x0:_0x34a2cc[_0x14f0(0xb)],_0x176bd6[_0x14f0(0x40)](_0x2040d7=_0x53dc86[_0x14f0(0x34)],null)||_0x176bd6[_0x14f0(0x3e)](_0x2040d7,void 0x0)?void 0x0:_0x2040d7['details']);}else{if(_0x41c043 instanceof ApiError)throw _0x41c043;if(_0x176bd6[_0x14f0(0x35)](_0x41c043['name'],_0x176bd6[_0x14f0(0x41)]))throw new ApiError(_0x176bd6['WrBUi'],_0x176bd6[_0x14f0(0x42)]);debug&&(0x0,_debugHelper[_0x14f0(0x2c)])('User\x20API\x20Error',{'endpoint':_0x5d6551,'method':_0x3d4a32,'error':_0x41c043[_0x14f0(0x36)]||_0x176bd6[_0x14f0(0x43)]});throw new ApiError(_0x41c043['message']||_0x176bd6[_0x14f0(0x44)],_0x176bd6['fVypj']);}}},makeDeveloperApiRequest=async(_0x4088dc,_0x5e74cc,_0x4e2db9={})=>{const _0x366bf0={'teQdX':function(_0x2563d2,_0x1e63a9,_0x20ddbb,_0x483823){return _0x2563d2(_0x1e63a9,_0x20ddbb,_0x483823);},'HoHaA':'auth/login','XhMYu':_0x14f0(0x45),'kQQnN':_0x14f0(0x1b),'PpIWD':_0x14f0(0x46),'uTrCM':'auth_error','aXWsI':function(_0xbe2369){return _0xbe2369();},'mtVMA':function(_0x5be8c8,_0x3c6228){return _0x5be8c8!==_0x3c6228;},'OmyYr':_0x14f0(0x47),'DlXBW':'network_error','cXDXU':function(_0x7d61f1,_0x51ac5a){return _0x7d61f1===_0x51ac5a;},'CNNWa':_0x14f0(0x48),'lyiZn':_0x14f0(0x49),'FogZP':_0x14f0(0x25),'MvcnL':function(_0x4657d1,_0x9073d){return _0x4657d1||_0x9073d;},'enIEY':_0x14f0(0x4a),'kNgPa':'cfbWF','yqClJ':'validation_error','xgRzm':function(_0x534572,_0x368a12){return _0x534572>=_0x368a12;},'MbjpH':function(_0x4e221f,_0x5d1cab){return _0x4e221f===_0x5d1cab;},'KTTPQ':function(_0x20bd92,_0x2205aa){return _0x20bd92===_0x2205aa;},'HPeyG':function(_0x5ab8d2,_0x460020){return _0x5ab8d2===_0x460020;},'noUez':_0x14f0(0x1a),'DxXHg':_0x14f0(0x4b),'ujJat':_0x14f0(0x4c),'gPsYX':_0x14f0(0x4d),'nYOfy':_0x14f0(0x1c),'YbGyf':'An\x20unexpected\x20error\x20occurred'},{data:_0x53a780,headers:headers={},debug:debug=![]}=_0x4e2db9;try{const _0x214682=await _0x366bf0[_0x14f0(0x4e)](checkNetworkConnection);if(!_0x214682){if(_0x366bf0['mtVMA'](_0x366bf0[_0x14f0(0x4f)],_0x14f0(0x47)))return _0x366bf0[_0x14f0(0x50)](_0x252e1e,_0x366bf0[_0x14f0(0x51)],'POST',{'data':{'username':_0x29035d['username'],'pin':_0x408634['userPin']},'debug':_0xa87b36['debug']});else throw new ApiError(_0x14f0(0x14),_0x366bf0[_0x14f0(0x52)]);}if(debug){if(_0x366bf0[_0x14f0(0x53)](_0x366bf0[_0x14f0(0x54)],_0x14f0(0x55)))throw _0x130bd6;else(0x0,_debugHelper['logDebug'])(_0x366bf0['lyiZn'],{'endpoint':_0x4088dc,'method':_0x5e74cc,'headers':{...headers,'Authorization':_0x366bf0[_0x14f0(0x56)]},'data':_0x366bf0[_0x14f0(0x57)](_0x53a780,null)});}const _0x4e162c=await(0x0,_apiKeyService[_0x14f0(0x58)])(_0x4088dc,{'method':_0x5e74cc,'headers':headers,..._0x53a780?{'body':JSON[_0x14f0(0x28)](_0x53a780)}:{}}),_0x4731cd=await _0x4e162c[_0x14f0(0x29)]();debug&&(0x0,_debugHelper[_0x14f0(0x2c)])(_0x366bf0['enIEY'],{'status':_0x4e162c[_0x14f0(0x2e)],'data':_0x4731cd});if(!_0x4e162c['ok']){if(_0x14f0(0x59)!==_0x366bf0[_0x14f0(0x5a)]){var _0x4f8a8f,_0xa44374,_0x3a3edb;const _0x48287e=_0x366bf0[_0x14f0(0x53)](_0x4e162c[_0x14f0(0x2e)],0x191)||_0x366bf0[_0x14f0(0x53)](_0x4e162c[_0x14f0(0x2e)],0x193)?_0x366bf0[_0x14f0(0x5b)]:_0x4e162c[_0x14f0(0x2e)]===0x190?_0x366bf0['yqClJ']:_0x366bf0[_0x14f0(0x5c)](_0x4e162c['status'],0x1f4)?_0x14f0(0x13):_0x14f0(0x18);throw new ApiError((_0x366bf0[_0x14f0(0x5d)](_0x4f8a8f=_0x4731cd[_0x14f0(0x34)],null)||_0x366bf0[_0x14f0(0x53)](_0x4f8a8f,void 0x0)?void 0x0:_0x4f8a8f[_0x14f0(0x36)])||_0x14f0(0x5e),_0x48287e,_0x366bf0['MbjpH'](_0xa44374=_0x4731cd['error'],null)||_0x366bf0[_0x14f0(0x53)](_0xa44374,void 0x0)?void 0x0:_0xa44374['code'],_0x366bf0[_0x14f0(0x5f)](_0x3a3edb=_0x4731cd[_0x14f0(0x34)],null)||_0x366bf0[_0x14f0(0x60)](_0x3a3edb,void 0x0)?void 0x0:_0x3a3edb['details']);}else throw new _0x803f0f(_0x366bf0[_0x14f0(0x61)],_0x366bf0['kQQnN']);}return _0x4731cd;}catch(_0x5182bc){if(_0x5182bc instanceof ApiError)throw _0x5182bc;if(_0x366bf0['HPeyG'](_0x5182bc[_0x14f0(0xc)],_0x366bf0['noUez'])){if(_0x366bf0[_0x14f0(0x5f)](_0x366bf0[_0x14f0(0x62)],_0x366bf0[_0x14f0(0x63)]))throw new _0x45e1d3(_0x366bf0[_0x14f0(0x64)],_0x366bf0[_0x14f0(0x5b)]);else throw new ApiError(_0x366bf0[_0x14f0(0x61)],_0x366bf0[_0x14f0(0x65)]);}debug&&(0x0,_debugHelper['logDebug'])(_0x366bf0['gPsYX'],{'endpoint':_0x4088dc,'method':_0x5e74cc,'error':_0x5182bc['message']||_0x366bf0[_0x14f0(0x66)]});throw new ApiError(_0x5182bc[_0x14f0(0x36)]||_0x366bf0[_0x14f0(0x67)],'unknown_error');}},validateCredentials=async(_0x2506ed,_0x19d417={'debug':![]})=>{const _0x31fe61={'Clnbo':'Developer\x20API\x20Response','zyWIt':function(_0x3d6201,_0x5eb72d,_0x3d7aef,_0x9f049a){return _0x3d6201(_0x5eb72d,_0x3d7aef,_0x9f049a);},'HoBXg':'auth/register','PrAOZ':function(_0xd5b773,_0x1921ef){return _0xd5b773!==_0x1921ef;},'kxAhx':_0x14f0(0x68),'ylBWE':'vnCsn','EVRbn':'auth/validate','Qfiil':function(_0x446c31,_0x1d8def){return _0x446c31===_0x1d8def;},'WzegG':function(_0x1bd301,_0x33644d){return _0x1bd301===_0x33644d;},'pZPTW':_0x14f0(0x69),'bAoUn':_0x14f0(0x6a)};try{if(_0x31fe61[_0x14f0(0x6b)](_0x31fe61[_0x14f0(0x6c)],_0x31fe61[_0x14f0(0x6d)])){var _0x198036,_0x220872;const _0x19dd1a=await makeUserApiRequest(_0x31fe61[_0x14f0(0x6e)],'POST',{'data':{'username':_0x2506ed},'debug':_0x19d417[_0x14f0(0x6f)]});return{'isValid':_0x19dd1a[_0x14f0(0x70)]&&_0x31fe61[_0x14f0(0x71)](_0x31fe61[_0x14f0(0x71)](_0x198036=_0x19dd1a['data'],null)||_0x31fe61['Qfiil'](_0x198036,void 0x0)?void 0x0:_0x198036['isValid'],!![]),'message':_0x31fe61[_0x14f0(0x72)](_0x220872=_0x19dd1a[_0x14f0(0x34)],null)||_0x31fe61['WzegG'](_0x220872,void 0x0)?void 0x0:_0x220872[_0x14f0(0x36)]};}else(0x0,_0x583755['logDebug'])(_0x31fe61[_0x14f0(0x73)],{'status':_0x2a2eba[_0x14f0(0x2e)],'data':_0x5c652a});}catch(_0x2776cf){return _0x31fe61[_0x14f0(0x74)]!==_0x31fe61['bAoUn']?{'isValid':![],'message':_0x2776cf[_0x14f0(0x36)]}:_0x31fe61['zyWIt'](_0xab028f,_0x31fe61[_0x14f0(0x75)],'POST',{'data':{'username':_0x1a5c91[_0x14f0(0x76)],'platforms':_0x10eb4b[_0x14f0(0x77)]},'debug':_0x417e52[_0x14f0(0x6f)]});}};exports[_0x14f0(0x78)]=validateCredentials;const createAccount=async(_0x22451c,_0x50f2ad={'debug':![]})=>{const _0x4cf16b={'BYIWV':function(_0x36e871,_0x30245a,_0x4af5d6,_0x26b83d){return _0x36e871(_0x30245a,_0x4af5d6,_0x26b83d);},'mVxcL':_0x14f0(0x79)};return _0x4cf16b['BYIWV'](makeDeveloperApiRequest,_0x4cf16b[_0x14f0(0x7a)],'POST',{'data':{'username':_0x22451c['username'],'platforms':_0x22451c['platforms']},'debug':_0x50f2ad[_0x14f0(0x6f)]});};exports['createAccount']=createAccount;const authenticate=async(_0x1223c5,_0x386954={'debug':![]})=>{const _0x36e109={'fktDV':function(_0x17b571,_0x5a9e5d,_0x4e9f83,_0xfa41e9){return _0x17b571(_0x5a9e5d,_0x4e9f83,_0xfa41e9);},'aZrAk':_0x14f0(0x7b)};return _0x36e109[_0x14f0(0x7c)](makeUserApiRequest,_0x36e109[_0x14f0(0x7d)],'POST',{'data':{'username':_0x1223c5[_0x14f0(0x76)],'pin':_0x1223c5['userPin']},'debug':_0x386954[_0x14f0(0x6f)]});};function _0x14f0(_0x33308f,_0x14f0f7){_0x33308f=_0x33308f-0x0;const _0x4a052a=_0x3330();let _0x5d1c28=_0x4a052a[_0x33308f];return _0x5d1c28;}exports[_0x14f0(0x7)]=authenticate;const refreshToken=async(_0x3bcb1f,_0x19db69={'debug':![]})=>{const _0x2e4143={'tBftw':_0x14f0(0x7e)};return makeUserApiRequest(_0x2e4143[_0x14f0(0x7f)],'POST',{'data':{'refreshToken':_0x3bcb1f},'debug':_0x19db69[_0x14f0(0x6f)]});};exports[_0x14f0(0x3)]=refreshToken;const getPlatformData=async(_0x646366,_0x52a62a={'debug':![]})=>{const _0xd7aff8={'KxPDv':function(_0x403b49,_0x5d726d,_0x3f39cd,_0x86f3f){return _0x403b49(_0x5d726d,_0x3f39cd,_0x86f3f);}};return _0xd7aff8[_0x14f0(0x80)](makeUserApiRequest,_0x14f0(0x81)+_0x646366+_0x14f0(0x82),'GET',{'debug':_0x52a62a[_0x14f0(0x6f)]});};exports[_0x14f0(0x5)]=getPlatformData;const getUserProfile=async(_0x30e93f={'debug':![]})=>{const _0x440828={'WhVHr':function(_0xce39b3,_0x545234,_0x178307,_0x120940){return _0xce39b3(_0x545234,_0x178307,_0x120940);}};return _0x440828[_0x14f0(0x83)](makeUserApiRequest,_0x14f0(0x84),'GET',{'debug':_0x30e93f['debug']});};exports[_0x14f0(0x4)]=getUserProfile;const updatePlatformConnections=async(_0x2df64a,_0x31aae5={'debug':![]})=>{const _0x5c41b8={'RmHgu':function(_0x59726b,_0x27ed81,_0x6ab449,_0x39c488){return _0x59726b(_0x27ed81,_0x6ab449,_0x39c488);},'yLtwG':_0x14f0(0x85)};return _0x5c41b8[_0x14f0(0x86)](makeUserApiRequest,_0x5c41b8['yLtwG'],'PUT',{'data':{'platforms':_0x2df64a},'debug':_0x31aae5[_0x14f0(0x6f)]});};exports[_0x14f0(0x1)]=updatePlatformConnections;const storePIN=async(_0x5c5b1f,_0x4fe948={})=>{const _0x1f4859={'SzWNU':'No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid','twlui':function(_0xdc912b,_0x4cb51c,_0x262016,_0x3f26a6){return _0xdc912b(_0x4cb51c,_0x262016,_0x3f26a6);},'pkyFv':'store-pin/mobile'},{debug:debug=![],username:_0xf2b49b}=_0x4fe948,_0x212014=_0xf2b49b||(0x0,_apiKeyService['extractUsernameFromJWT'])();if(!_0x212014)throw new ApiError(_0x1f4859[_0x14f0(0x87)],'auth_error');return _0x1f4859['twlui'](makeUserApiRequest,_0x1f4859[_0x14f0(0x88)],'POST',{'data':{'username':_0x212014,'pin':_0x5c5b1f},'debug':debug});};exports[_0x14f0(0x2)]=storePIN;function _0x3330(){const _0xd79e43=['__esModule','updatePlatformConnections','storePIN','refreshToken','getUserProfile','getPlatformData','getCurrentUserToken','authenticate','ApiError','3|2|0|4|1','split','code','name','aFOoJ','fetch','ClCqH','isConnected','User\x20API\x20Response','validation_error','server_error','No\x20network\x20connection\x20available','network_error','User\x20not\x20authenticated.\x20Please\x20verify\x20email\x20first.','borIs','unknown_error','BtOrj','AbortError','timeout_error','Unknown\x20error','An\x20unexpected\x20error\x20occurred','OOXDa','EGdSs','ogFNZ','isUserAuthenticated','vrqGZ','auth_error','User\x20API\x20Request','[REDACTED]','CDkaF','makeUserRequest','stringify','json','nUvIr','JxGiI','logDebug','HkGCE','status','MaUvn','IKqSm','usBLb','fVypj','rTsPt','error','DlUtb','message','dHgJT','WRAas','lUXIH','eQPWN','SZPTs','rNsZN','UTKLq','fIbBO','KXVJA','vAblg','vSzow','SEzcH','WWwtn','ttXqt','Request\x20timed\x20out','No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid','RtMmm','sJUSi','Developer\x20API\x20Request','Developer\x20API\x20Response','DgzGN','xOUcr','Developer\x20API\x20Error','aXWsI','OmyYr','teQdX','HoHaA','DlXBW','cXDXU','CNNWa','sVNpG','FogZP','MvcnL','makeDeveloperRequest','hmOqp','kNgPa','uTrCM','xgRzm','MbjpH','API\x20request\x20failed','KTTPQ','HPeyG','XhMYu','DxXHg','ujJat','PpIWD','kQQnN','nYOfy','YbGyf','TeGAs','lZVQb','Murkb','PrAOZ','kxAhx','ylBWE','EVRbn','debug','success','Qfiil','WzegG','Clnbo','pZPTW','HoBXg','username','platforms','validateCredentials','auth/register','mVxcL','auth/login','fktDV','aZrAk','auth/refresh','tBftw','KxPDv','platforms/','/data','WhVHr','user/profile','user/platforms','RmHgu','SzWNU','pkyFv'];_0x3330=function(){return _0xd79e43;};return _0x3330();}const getCurrentUserToken=async()=>{return await(0x0,_apiKeyService['getJWT'])();};exports['getCurrentUserToken']=getCurrentUserToken;const isCurrentUserAuthenticated=()=>{return(0x0,_apiKeyService[_0x14f0(0x21)])();};exports['isCurrentUserAuthenticated']=isCurrentUserAuthenticated;
|
|
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;
|
|
@@ -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
|
-
Object[
|
|
9
|
+
function _0x1652(_0x38538c,_0x1652f4){_0x38538c=_0x38538c-0x0;const _0x562133=_0x3853();let _0x3af401=_0x562133[_0x38538c];return _0x3af401;}Object[_0x1652(0x0)](exports,_0x1652(0x1),{'value':!![]}),exports['startOnairosFlow']=exports['executeOnairosFlow']=void 0x0;function _0x3853(){const _0x4d3ccf=['defineProperty','__esModule','✅\x20Onairos\x20flow\x20completed\x20successfully','function','UTmGp','bmFbz','fCKMZ','pGOvB','hRKzH','WleyH','poSzN','xhMsh','JPYyQ','log','kMtRK','close','VtLdc','get','set','default','hasOwnProperty','getOwnPropertyDescriptor','YLzqW','❌\x20Failed\x20to\x20execute\x20Onairos\x20flow:','🚀\x20Starting\x20Onairos\x20flow\x20programmatically...','sIWwf','dhcZz','resolve','then','RHYHh','OHYoE','mXijQ','urZnA','onResolved','tVkbg','onRejection','WKMmK','Onairos\x20flow\x20was\x20rejected','User\x20closed\x20the\x20modal','AppName','requestData','returnLink','preferredPlatform','debug','GePqy','jgGmP','CqxEX','error','NPIea','executeOnairosFlow','Pre-check\x20failed','sDjEZ','DywtL','preCheck','❌\x20Pre-check\x20failed,\x20not\x20starting\x20Onairos\x20flow','ykiHn','JHkud','cRocL','hcpmF','startOnairosFlow'];_0x3853=function(){return _0x4d3ccf;};return _0x3853();}var _platformAuthService=__ONAIROS_REQ_FUNC__(0x0);function _interopRequireWildcard(_0x3983cf,_0x430e4f){const _0x2abffa={'kMtRK':_0x1652(0x2),'VtLdc':function(_0x44f132){return _0x44f132();},'MSgVi':function(_0x26c3f2,_0x299920){return _0x26c3f2&&_0x299920;},'pGOvB':function(_0x14110a,_0x422654){return _0x14110a===_0x422654;},'hRKzH':function(_0x3048a3,_0x3eee9c){return _0x3048a3!=_0x3eee9c;},'WleyH':'object','poSzN':function(_0x5e8238,_0x491503){return _0x5e8238!=_0x491503;},'fCKMZ':_0x1652(0x3),'xhMsh':function(_0x59fa1b,_0x468f86){return _0x59fa1b!==_0x468f86;},'JPYyQ':_0x1652(0x4),'bmFbz':function(_0x36f15f,_0x2d0591){return _0x36f15f==_0x2d0591;}};if(_0x2abffa[_0x1652(0x5)](_0x2abffa[_0x1652(0x6)],typeof WeakMap))var _0x3fdd57=new WeakMap(),_0x2cfc0c=new WeakMap();return(_interopRequireWildcard=function(_0x95e40b,_0x4cede5){if(_0x2abffa['MSgVi'](!_0x4cede5,_0x95e40b)&&_0x95e40b[_0x1652(0x1)])return _0x95e40b;var _0x30e9bb,_0x59187c,_0x3ee080={'__proto__':null,'default':_0x95e40b};if(_0x2abffa[_0x1652(0x7)](null,_0x95e40b)||_0x2abffa[_0x1652(0x8)](_0x2abffa[_0x1652(0x9)],typeof _0x95e40b)&&_0x2abffa[_0x1652(0xa)](_0x2abffa[_0x1652(0x6)],typeof _0x95e40b))return _0x3ee080;if(_0x30e9bb=_0x4cede5?_0x2cfc0c:_0x3fdd57){if(_0x2abffa[_0x1652(0xb)](_0x2abffa[_0x1652(0xc)],_0x2abffa[_0x1652(0xc)]))_0x5ed5dc[_0x1652(0xd)](_0x2abffa[_0x1652(0xe)]),_0x1d457a&&_0x4e77c2['close']&&_0x6e62d0[_0x1652(0xf)](),_0x2cc77b['onResolved']&&_0x5f00be['onResolved'](_0x1db418,_0x6e297c,_0x3dcfa3),_0x2abffa[_0x1652(0x10)](_0x289fbd);else{if(_0x30e9bb['has'](_0x95e40b))return _0x30e9bb[_0x1652(0x11)](_0x95e40b);_0x30e9bb[_0x1652(0x12)](_0x95e40b,_0x3ee080);}}for(const _0x12f62c in _0x95e40b)_0x2abffa[_0x1652(0xb)](_0x1652(0x13),_0x12f62c)&&{}[_0x1652(0x14)]['call'](_0x95e40b,_0x12f62c)&&((_0x59187c=(_0x30e9bb=Object[_0x1652(0x0)])&&Object[_0x1652(0x15)](_0x95e40b,_0x12f62c))&&(_0x59187c['get']||_0x59187c[_0x1652(0x12)])?_0x30e9bb(_0x3ee080,_0x12f62c,_0x59187c):_0x3ee080[_0x12f62c]=_0x95e40b[_0x12f62c]);return _0x3ee080;})(_0x3983cf,_0x430e4f);}const executeOnairosFlow=async _0x4e5f75=>{const _0x453c13={'uHzoe':'❌\x20Onairos\x20flow\x20rejected:','sVuZW':function(_0x5c6d25,_0xa90123){return _0x5c6d25(_0xa90123);},'WKMmK':function(_0x131405,_0x4004c0){return _0x131405||_0x4004c0;},'RHYHh':function(_0x550a8a){return _0x550a8a();},'OHYoE':function(_0x456750,_0x5a1153){return _0x456750===_0x5a1153;},'urZnA':_0x1652(0x16),'GePqy':'📱\x20Onairos\x20modal\x20should\x20be\x20displayed','NPIea':_0x1652(0x17),'dhcZz':_0x1652(0x18),'jgGmP':function(_0x4f7e73,_0x24749d){return _0x4f7e73!==_0x24749d;},'CqxEX':_0x1652(0x19)};try{console[_0x1652(0xd)](_0x453c13[_0x1652(0x1a)]),await(0x0,_platformAuthService['initializePlatformAuthService'])();const {UniversalOnboarding:_0x595ea7}=await Promise[_0x1652(0x1b)]()['then'](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x1))),React=await Promise[_0x1652(0x1b)]()[_0x1652(0x1c)](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x2)));return new Promise((_0x2c1142,_0x7cc0cd)=>{const _0x5e5c8b={'tVkbg':function(_0x461b4d){return _0x453c13[_0x1652(0x1d)](_0x461b4d);}};if(_0x453c13[_0x1652(0x1e)](_0x1652(0x1f),_0x453c13[_0x1652(0x20)]))_0x25dba9[_0x1652(0xf)]();else{let _0x1f9594=null;const _0x273f87=(_0x2c2eba,_0x47034e,_0x5283b1)=>{console[_0x1652(0xd)](_0x1652(0x2)),_0x1f9594&&_0x1f9594[_0x1652(0xf)]&&_0x1f9594[_0x1652(0xf)](),_0x4e5f75[_0x1652(0x21)]&&_0x4e5f75['onResolved'](_0x2c2eba,_0x47034e,_0x5283b1),_0x5e5c8b[_0x1652(0x22)](_0x2c1142);},_0x3abd12=_0x18fe5d=>{console['log'](_0x453c13['uHzoe'],_0x18fe5d),_0x1f9594&&_0x1f9594[_0x1652(0xf)]&&_0x1f9594['close'](),_0x4e5f75[_0x1652(0x23)]&&_0x4e5f75['onRejection'](_0x18fe5d),_0x453c13['sVuZW'](_0x7cc0cd,new Error(_0x453c13[_0x1652(0x24)](_0x18fe5d,_0x1652(0x25))));},_0x5d1b1d=React['createElement'](_0x595ea7,{'visible':!![],'onClose':()=>_0x3abd12(_0x1652(0x26)),'AppName':_0x4e5f75[_0x1652(0x27)],'requestData':_0x4e5f75[_0x1652(0x28)],'returnLink':_0x4e5f75[_0x1652(0x29)],'onComplete':_0x273f87,'preferredPlatform':_0x4e5f75[_0x1652(0x2a)],'debug':_0x4e5f75[_0x1652(0x2b)],'testMode':_0x4e5f75['testMode']});_0x1f9594=_0x5d1b1d,console['log'](_0x453c13[_0x1652(0x2c)]);}});}catch(_0x2f7510){if(_0x453c13[_0x1652(0x2d)](_0x453c13[_0x1652(0x2e)],_0x1652(0x19))){_0x3e233b[_0x1652(0x2f)](_0x453c13['NPIea'],_0x96f728);throw _0x5d4565;}else{console['error'](_0x453c13[_0x1652(0x30)],_0x2f7510);throw _0x2f7510;}}};exports[_0x1652(0x31)]=executeOnairosFlow;const startOnairosFlow=async _0x422f64=>{const _0x397b63={'cRocL':_0x1652(0x32),'ykiHn':function(_0x4851da,_0x59b27d){return _0x4851da!==_0x59b27d;},'JHkud':_0x1652(0x33),'QVirj':_0x1652(0x34),'hcpmF':function(_0x3d4e75,_0x4a502f){return _0x3d4e75(_0x4a502f);}};if(_0x422f64[_0x1652(0x35)]){const _0x326d26=await _0x422f64['preCheck']();if(!_0x326d26){console[_0x1652(0xd)](_0x1652(0x36));_0x422f64[_0x1652(0x23)]&&(_0x397b63[_0x1652(0x37)](_0x397b63[_0x1652(0x38)],_0x397b63['QVirj'])?_0x422f64[_0x1652(0x23)](_0x1652(0x32)):_0x3de103[_0x1652(0x23)](_0x397b63[_0x1652(0x39)]));return;}}return _0x397b63[_0x1652(0x3a)](executeOnairosFlow,_0x422f64);};exports[_0x1652(0x3b)]=startOnairosFlow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object[_0x1a6c(0x0)](exports,_0x1a6c(0x1),{'value':!![]}),exports[_0x1a6c(0x2)]=exports[_0x1a6c(0x3)]=exports[_0x1a6c(0x4)]=void 0x0,exports[_0x1a6c(0x5)]=fetchWithRetry,exports[_0x1a6c(0x6)]=healthCheck,exports[_0x1a6c(0x7)]=withRetry;const DEFAULT_RETRY_OPTIONS=exports[_0x1a6c(0x3)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'enableLogging':![],'shouldRetry':(_0x151b5d,_0x367dd6)=>{const _0x35750e={'GeLKn':function(_0x22e70e,_0x789a58){return _0x22e70e>=_0x789a58;},'XylWJ':function(_0x2b0b79,_0x145cd4){return _0x2b0b79<_0x145cd4;},'aYXki':function(_0x48368d,_0x25a459){return _0x48368d!==_0x25a459;},'yUUQb':function(_0x11a2e6,_0x117519){return _0x11a2e6===_0x117519;},'fREdQ':_0x1a6c(0x8),'wwcOl':'Network\x20request\x20failed','pslrr':_0x1a6c(0x9),'NmcVM':_0x1a6c(0xa),'jveSs':_0x1a6c(0xb),'veEyb':_0x1a6c(0xc),'ZRmlL':function(_0x245d7b,_0x304f7d){return _0x245d7b===_0x304f7d;},'AIUyu':'eghdy'};if(_0x35750e[_0x1a6c(0xd)](_0x151b5d['status'],0x190)&&_0x35750e[_0x1a6c(0xe)](_0x151b5d[_0x1a6c(0xf)],0x1f4)&&_0x151b5d['status']!==0x198&&_0x35750e[_0x1a6c(0x10)](_0x151b5d[_0x1a6c(0xf)],0x1ad))return![];if(_0x35750e[_0x1a6c(0x11)](_0x151b5d[_0x1a6c(0x12)],_0x35750e[_0x1a6c(0x13)])||_0x151b5d[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x35750e[_0x1a6c(0x16)])||_0x151b5d['message']['includes'](_0x1a6c(0x17))||_0x151b5d[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x35750e[_0x1a6c(0x18)])||_0x151b5d[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x35750e[_0x1a6c(0x19)])||_0x35750e[_0x1a6c(0xd)](_0x151b5d['status'],0x1f4))return!![];if(_0x151b5d[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x35750e[_0x1a6c(0x1a)])||_0x151b5d['message'][_0x1a6c(0x15)](_0x35750e['veEyb']))return _0x35750e[_0x1a6c(0x1b)](_0x35750e[_0x1a6c(0x1c)],_0x1a6c(0x1d))?!![]:!![];return![];}};function _0x1a6c(_0x1be8f1,_0x1a6cd8){_0x1be8f1=_0x1be8f1-0x0;const _0x383afc=_0x1be8();let _0x25e382=_0x383afc[_0x1be8f1];return _0x25e382;}async function withRetry(_0x4bf9eb,_0x1f8b29={}){const _0x5c3bea={'CdMPT':function(_0x269d5d,_0x5a4615){return _0x269d5d<=_0x5a4615;},'SElNr':function(_0x58ba9d,_0x46d47a){return _0x58ba9d+_0x46d47a;},'nNNFS':function(_0x319b3e,_0x242534){return _0x319b3e-_0x242534;},'bztkh':function(_0x557880,_0x47547a){return _0x557880<=_0x47547a;},'FltXr':function(_0x4abd85,_0xf3a06f){return _0x4abd85!==_0xf3a06f;},'WiPSj':_0x1a6c(0x1e),'lBBCu':_0x1a6c(0x1f),'QcQHS':function(_0x205dcd,_0x5516e0){return _0x205dcd>_0x5516e0;},'eXhSh':function(_0x2ad842){return _0x2ad842();},'fWxip':_0x1a6c(0x20),'qHdRu':function(_0x3d85fb,_0x1a28f4){return _0x3d85fb*_0x1a28f4;},'kGvbu':function(_0x4b2c94,_0x54f0db){return _0x4b2c94-_0x54f0db;},'ElEWk':function(_0x4c7d61,_0x57db50){return _0x4c7d61*_0x57db50;},'jRNmY':_0x1a6c(0x21),'eJrCi':function(_0x5f9bae,_0x239d04){return _0x5f9bae+_0x239d04;}},_0x292f35={...DEFAULT_RETRY_OPTIONS,..._0x1f8b29},_0x3f0d53=Date[_0x1a6c(0x22)]();let _0x511a14=null;for(let _0x22926a=0x1;_0x5c3bea['bztkh'](_0x22926a,_0x292f35[_0x1a6c(0x23)]+0x1);_0x22926a++){if(_0x5c3bea[_0x1a6c(0x24)](_0x1a6c(0x25),_0x5c3bea['WiPSj']))try{if(_0x5c3bea[_0x1a6c(0x26)]!==_0x5c3bea[_0x1a6c(0x26)])return _0x5c3bea[_0x1a6c(0x27)](_0x4d7e16,0x2);else{_0x292f35['enableLogging']&&_0x5c3bea[_0x1a6c(0x28)](_0x22926a,0x1)&&console[_0x1a6c(0x29)](_0x1a6c(0x2a)+_0x22926a+'/'+(_0x292f35[_0x1a6c(0x23)]+0x1));const _0x1baf5d=await _0x5c3bea[_0x1a6c(0x2b)](_0x4bf9eb);return{'success':!![],'data':_0x1baf5d,'attempts':_0x22926a,'totalDuration':_0x5c3bea['nNNFS'](Date[_0x1a6c(0x22)](),_0x3f0d53)};}}catch(_0x2cc9f4){_0x511a14=_0x2cc9f4;const _0x478357=_0x292f35[_0x1a6c(0x2c)]?_0x292f35[_0x1a6c(0x2c)](_0x2cc9f4,_0x22926a):!![];if(_0x5c3bea['QcQHS'](_0x22926a,_0x292f35[_0x1a6c(0x23)])||!_0x478357){if(_0x5c3bea[_0x1a6c(0x2d)]==='uTXFd')_0x12f076[_0x1a6c(0x29)](_0x1a6c(0x2a)+_0x23b206+'/'+_0x5c3bea[_0x1a6c(0x2e)](_0x5cd86a[_0x1a6c(0x23)],0x1));else{_0x292f35[_0x1a6c(0x2f)]&&console['error'](_0x1a6c(0x30)+_0x2cc9f4[_0x1a6c(0x14)]);break;}}let _0x49e61d=_0x292f35[_0x1a6c(0x31)];_0x292f35[_0x1a6c(0x32)]&&(_0x49e61d=Math[_0x1a6c(0x33)](_0x5c3bea[_0x1a6c(0x34)](_0x292f35['baseDelay'],Math['pow'](0x2,_0x5c3bea['kGvbu'](_0x22926a,0x1))),_0x292f35[_0x1a6c(0x35)]));const _0x170e26=_0x5c3bea[_0x1a6c(0x36)](Math[_0x1a6c(0x37)]()*0.1,_0x49e61d);_0x49e61d=Math['floor'](_0x49e61d+_0x170e26),_0x292f35[_0x1a6c(0x38)]&&_0x292f35[_0x1a6c(0x38)](_0x2cc9f4,_0x22926a,_0x49e61d),_0x292f35['enableLogging']&&console[_0x1a6c(0x29)](_0x1a6c(0x39)+_0x49e61d+_0x1a6c(0x3a)+_0x22926a+'/'+_0x5c3bea[_0x1a6c(0x2e)](_0x292f35[_0x1a6c(0x23)],0x1)+')'),await new Promise(_0x1f7db0=>setTimeout(()=>_0x1f7db0(),_0x49e61d));}else return{'reachable':![],'error':_0x48b34c['message'],'duration':_0x5c3bea[_0x1a6c(0x3b)](_0x2814e7[_0x1a6c(0x22)](),_0x1ae96d)};}return{'success':![],'error':_0x511a14||new Error(_0x5c3bea['jRNmY']),'attempts':_0x5c3bea[_0x1a6c(0x3c)](_0x292f35['maxRetries'],0x1),'totalDuration':_0x5c3bea['nNNFS'](Date[_0x1a6c(0x22)](),_0x3f0d53)};}const API_RETRY_OPTIONS=exports[_0x1a6c(0x4)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'shouldRetry':(_0x2241a1,_0x43af09)=>{const _0x5a83f3={'yxdUo':function(_0xee7fc3,_0x1d3d4b){return _0xee7fc3*_0x1d3d4b;},'GqGUA':function(_0x26a365,_0x4f1cf6){return _0x26a365-_0x4f1cf6;},'DghNr':function(_0x1c86e9,_0x3c9461){return _0x1c86e9===_0x3c9461;},'YxUJv':function(_0x2c3274,_0x10edef){return _0x2c3274!==_0x10edef;},'wWJGA':'CGHQU','fXDVX':function(_0x2bf173,_0x36a5ab){return _0x2bf173===_0x36a5ab;},'wZKLj':function(_0x58a5a8,_0x36aae3){return _0x58a5a8===_0x36aae3;},'vpxTn':function(_0x132fbc,_0x5ed3ba){return _0x132fbc===_0x5ed3ba;},'BDxEi':function(_0x9e6323,_0x5bc78d){return _0x9e6323<=_0x5bc78d;},'KaxBe':_0x1a6c(0x8),'wBvtH':'timeout','rTPOm':'Network\x20request\x20failed','FCihf':_0x1a6c(0x17),'qVReO':'ENOTFOUND','dytKb':'JSON\x20Parse\x20error','QECUh':_0x1a6c(0xc),'cnoCr':'tkxLt'};if(_0x5a83f3[_0x1a6c(0x3d)](_0x2241a1[_0x1a6c(0xf)],0x191)||_0x5a83f3[_0x1a6c(0x3d)](_0x2241a1[_0x1a6c(0xf)],0x193)){if(_0x5a83f3['YxUJv']('wtBqB',_0x5a83f3['wWJGA']))return![];else _0x1d732e=_0x2a85a2[_0x1a6c(0x33)](_0x5a83f3['yxdUo'](_0x199af7[_0x1a6c(0x31)],_0x693445[_0x1a6c(0x3e)](0x2,_0x5a83f3[_0x1a6c(0x3f)](_0x47906d,0x1))),_0x30aae9[_0x1a6c(0x35)]);}if(_0x5a83f3[_0x1a6c(0x40)](_0x2241a1[_0x1a6c(0xf)],0x190)||_0x5a83f3[_0x1a6c(0x3d)](_0x2241a1['status'],0x194)&&!_0x2241a1[_0x1a6c(0x14)]['includes'](_0x1a6c(0x41)))return _0x5a83f3[_0x1a6c(0x42)](_0x1a6c(0x43),'kKteL')?![]:![];if(_0x5a83f3[_0x1a6c(0x44)](_0x2241a1[_0x1a6c(0xf)],0x1ad))return _0x5a83f3[_0x1a6c(0x45)](_0x43af09,0x2);if(_0x2241a1[_0x1a6c(0xf)]>=0x1f4)return!![];if(_0x2241a1[_0x1a6c(0x12)]===_0x5a83f3[_0x1a6c(0x46)]||_0x2241a1[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x5a83f3[_0x1a6c(0x47)])||_0x2241a1[_0x1a6c(0x14)]['includes'](_0x5a83f3[_0x1a6c(0x48)])||_0x2241a1['message'][_0x1a6c(0x15)](_0x5a83f3['FCihf'])||_0x2241a1['message'][_0x1a6c(0x15)](_0x5a83f3[_0x1a6c(0x49)]))return!![];if(_0x2241a1[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x5a83f3[_0x1a6c(0x4a)])||_0x2241a1[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x5a83f3[_0x1a6c(0x4b)])||_0x2241a1['message'][_0x1a6c(0x15)]('HTML\x20page\x20instead\x20of\x20JSON'))return _0x5a83f3['YxUJv'](_0x5a83f3['cnoCr'],_0x5a83f3[_0x1a6c(0x4c)])?!![]:!![];return![];},'onRetry':(_0x3c9baf,_0xb63885,_0x21f087)=>{console[_0x1a6c(0x4d)]('⚠️\x20API\x20call\x20failed\x20(attempt\x20'+_0xb63885+_0x1a6c(0x4e)+_0x21f087+_0x1a6c(0x4f)+_0x3c9baf[_0x1a6c(0x14)]);}},NETWORK_RETRY_OPTIONS=exports[_0x1a6c(0x2)]={'maxRetries':0x2,'baseDelay':0x7d0,'maxDelay':0x1f40,'exponentialBackoff':!![],'shouldRetry':(_0x4a9e52,_0x496886)=>{const _0x5a167c={'cNsoQ':function(_0x1bc9e7,_0x3012a2){return _0x1bc9e7===_0x3012a2;},'oFeLP':_0x1a6c(0x8)};return _0x4a9e52[_0x1a6c(0x14)][_0x1a6c(0x15)](_0x1a6c(0x50))||_0x4a9e52[_0x1a6c(0x14)]['includes'](_0x1a6c(0x9))||_0x4a9e52['message'][_0x1a6c(0x15)](_0x1a6c(0x51))||_0x5a167c['cNsoQ'](_0x4a9e52[_0x1a6c(0x12)],_0x5a167c[_0x1a6c(0x52)]);}};async function fetchWithRetry(_0x1565ff,_0x36f7ad={},_0x512500=API_RETRY_OPTIONS){const _0x24f281={'afCGn':function(_0x11a4fc,_0x245443,_0x4d60ad){return _0x11a4fc(_0x245443,_0x4d60ad);}},_0x3ae4ac=await _0x24f281['afCGn'](withRetry,()=>fetch(_0x1565ff,_0x36f7ad),_0x512500);if(!_0x3ae4ac[_0x1a6c(0x53)])throw _0x3ae4ac[_0x1a6c(0x54)];return _0x3ae4ac[_0x1a6c(0x55)];}function _0x1be8(){const _0x50b445=['defineProperty','__esModule','NETWORK_RETRY_OPTIONS','DEFAULT_RETRY_OPTIONS','API_RETRY_OPTIONS','fetchWithRetry','healthCheck','withRetry','AbortError','ENOTFOUND','timeout','JSON\x20Parse\x20error','Unexpected\x20character','GeLKn','XylWJ','status','aYXki','yUUQb','name','fREdQ','message','includes','wwcOl','fetch','pslrr','NmcVM','jveSs','ZRmlL','AIUyu','PwTle','tUeXr','oSjtu','GNiRi','Unknown\x20error','now','maxRetries','FltXr','YHOCy','lBBCu','CdMPT','QcQHS','log','🔄\x20Retry\x20attempt\x20','eXhSh','shouldRetry','fWxip','SElNr','enableLogging','❌\x20All\x20retry\x20attempts\x20exhausted\x20or\x20error\x20not\x20retryable:\x20','baseDelay','exponentialBackoff','min','qHdRu','maxDelay','ElEWk','random','onRetry','⏳\x20Waiting\x20','ms\x20before\x20retry\x20(attempt\x20','nNNFS','eJrCi','DghNr','pow','GqGUA','fXDVX','validation\x20endpoint','wZKLj','kKteL','vpxTn','BDxEi','KaxBe','wBvtH','rTPOm','qVReO','dytKb','QECUh','cnoCr','warn','),\x20retrying\x20in\x20','ms:\x20','Network\x20request\x20failed','DNS','oFeLP','success','error','data','qzkMw','xoMmX','AHoYl','abort','signal','OnairosReactNative/HealthCheck','BKuIu','gSOHa'];_0x1be8=function(){return _0x50b445;};return _0x1be8();}async function healthCheck(_0x46a24a,_0x3eafcc=0x1388){const _0x332266={'xoMmX':_0x1a6c(0x56),'AHoYl':function(_0x2b1fbf,_0x437c9a,_0x119c50){return _0x2b1fbf(_0x437c9a,_0x119c50);},'BKuIu':function(_0x530db8,_0x48170a){return _0x530db8-_0x48170a;},'gSOHa':function(_0x74b726,_0x22a67b){return _0x74b726-_0x22a67b;}},_0x38aeda=Date[_0x1a6c(0x22)]();try{if(_0x332266[_0x1a6c(0x57)]===_0x1a6c(0x56)){const _0x35c751=new AbortController(),_0x2ad746=_0x332266[_0x1a6c(0x58)](setTimeout,()=>_0x35c751[_0x1a6c(0x59)](),_0x3eafcc),_0x46d70b=await _0x332266[_0x1a6c(0x58)](fetch,_0x46a24a,{'method':'GET','signal':_0x35c751[_0x1a6c(0x5a)],'headers':{'User-Agent':_0x1a6c(0x5b)}});return clearTimeout(_0x2ad746),{'reachable':!![],'status':_0x46d70b[_0x1a6c(0xf)],'duration':_0x332266[_0x1a6c(0x5c)](Date['now'](),_0x38aeda)};}else return!![];}catch(_0xb46a3f){return{'reachable':![],'error':_0xb46a3f[_0x1a6c(0x14)],'duration':_0x332266[_0x1a6c(0x5d)](Date[_0x1a6c(0x22)](),_0x38aeda)};}}
|
|
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)};}}
|
|
@@ -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[_0x4ece(0x0)](exports,'__esModule',{'value':!![]}),exports[_0x4ece(0x1)]=exports[_0x4ece(0x2)]=exports['storeCredentials']=exports[_0x4ece(0x3)]=exports[_0x4ece(0x4)]=exports[_0x4ece(0x5)]=exports[_0x4ece(0x6)]=exports[_0x4ece(0x7)]=exports[_0x4ece(0x8)]=exports[_0x4ece(0x9)]=exports[_0x4ece(0xa)]=exports[_0x4ece(0xb)]=void 0x0;var _reactNative=__ONAIROS_REQ_FUNC__(0x0),_constants=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2));function _interopRequireDefault(_0x4bcea7){return _0x4bcea7&&_0x4bcea7[_0x4ece(0xc)]?_0x4bcea7:{'default':_0x4bcea7};}const JWT_TOKEN_KEY=_0x4ece(0xd),mockStorage={};let Keychain=null;try{Keychain=__ONAIROS_REQ_FUNC__(0x3);}catch(_0x281823){console[_0x4ece(0xe)]('react-native-keychain module not available, using mock storage'),Keychain={'ACCESS_CONTROL':{'BIOMETRY_ANY_OR_DEVICE_PASSCODE':_0x4ece(0xf)},'ACCESSIBLE':{'WHEN_UNLOCKED':'mock'},'getGenericPassword':async()=>null,'setGenericPassword':async()=>!![],'resetGenericPassword':async()=>!![]};}const isKeychainAvailable=()=>{const _0x24ebc9={'uzwUw':function(_0x4f60ee,_0x1a1293){return _0x4f60ee===_0x1a1293;},'WseUw':_0x4ece(0x10),'rgeFD':function(_0x3c3097,_0x4e4481){return _0x3c3097!==_0x4e4481;},'FikzK':'Gvsgl'};try{return Keychain&&_0x24ebc9['uzwUw'](typeof Keychain[_0x4ece(0x11)],_0x24ebc9[_0x4ece(0x12)]);}catch(_0x370d43){return _0x24ebc9[_0x4ece(0x13)](_0x24ebc9[_0x4ece(0x14)],_0x24ebc9[_0x4ece(0x14)])?_0x654b2c[_0x4ece(0x15)](_0xb8a55d[_0x4ece(0x16)]):![];}},safeGetGenericPassword=async _0x98dce0=>{const _0x396147={'FXZtA':function(_0x44f1f9){return _0x44f1f9();},'KgELk':function(_0x23f1a9,_0x14a77b){return _0x23f1a9===_0x14a77b;},'MSrXh':'default','DaswP':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','BKZjJ':function(_0x379eb2,_0x535455){return _0x379eb2===_0x535455;}};try{if(_0x396147[_0x4ece(0x17)](isKeychainAvailable))return await Keychain[_0x4ece(0x11)](_0x98dce0);else{const _0x5c8032=(_0x396147['KgELk'](_0x98dce0,null)||_0x98dce0===void 0x0?void 0x0:_0x98dce0[_0x4ece(0x18)])||_0x396147['MSrXh'];return mockStorage[_0x5c8032]||null;}}catch(_0x572dea){console[_0x4ece(0xe)](_0x396147[_0x4ece(0x19)],_0x572dea);const _0xb8f1fb=(_0x396147[_0x4ece(0x1a)](_0x98dce0,null)||_0x396147[_0x4ece(0x1b)](_0x98dce0,void 0x0)?void 0x0:_0x98dce0[_0x4ece(0x18)])||_0x396147['MSrXh'];return mockStorage[_0xb8f1fb]||null;}},safeSetGenericPassword=async(_0xcdbe1b,_0x513500,_0x185125)=>{const _0x146a6d={'WFuwt':function(_0x4c083d){return _0x4c083d();},'Sjqvy':function(_0x2be64d,_0x4c5cb1){return _0x2be64d===_0x4c5cb1;},'IsXac':'default'};try{if(_0x146a6d[_0x4ece(0x1c)](isKeychainAvailable))return await Keychain['setGenericPassword'](_0xcdbe1b,_0x513500,_0x185125);else{const _0x330b08=(_0x146a6d[_0x4ece(0x1d)](_0x185125,null)||_0x185125===void 0x0?void 0x0:_0x185125[_0x4ece(0x18)])||_0x146a6d[_0x4ece(0x1e)];return mockStorage[_0x330b08]={'username':_0xcdbe1b,'password':_0x513500},!![];}}catch(_0x3e126f){console[_0x4ece(0xe)](_0x4ece(0x1f),_0x3e126f);const _0x323547=(_0x146a6d[_0x4ece(0x1d)](_0x185125,null)||_0x146a6d[_0x4ece(0x1d)](_0x185125,void 0x0)?void 0x0:_0x185125['service'])||_0x146a6d[_0x4ece(0x1e)];return mockStorage[_0x323547]={'username':_0xcdbe1b,'password':_0x513500},!![];}},safeResetGenericPassword=async _0x5d9fdc=>{const _0x5353a4={'KUuLz':function(_0x3e4913){return _0x3e4913();},'QKOOY':_0x4ece(0x20),'ekHJu':function(_0x4b322b,_0x5515a5){return _0x4b322b===_0x5515a5;},'eHGyp':_0x4ece(0x21),'oGZpa':_0x4ece(0x22),'wWdRZ':function(_0x43bccb){return _0x43bccb();},'XpUyc':function(_0x16f0c7,_0x1a481b){return _0x16f0c7===_0x1a481b;},'lHcjP':_0x4ece(0x23),'bZNdF':function(_0x5787ed,_0x1b7a67){return _0x5787ed===_0x1b7a67;},'KYcRU':'default','KeflS':_0x4ece(0x1f),'PzCgu':function(_0x721520,_0x1c7c00){return _0x721520===_0x1c7c00;},'PDnEh':function(_0x363364,_0x3fe897){return _0x363364===_0x3fe897;}};try{if(_0x5353a4[_0x4ece(0x24)](_0x5353a4['eHGyp'],_0x5353a4[_0x4ece(0x25)])){if(!_0x5353a4[_0x4ece(0x26)](_0x3a9a3f))return!![];return!![];}else{if(_0x5353a4['wWdRZ'](isKeychainAvailable))return _0x5353a4['XpUyc']('PJEHX',_0x5353a4[_0x4ece(0x27)])?(_0x256cce[_0x4ece(0x28)](_0x5353a4['QKOOY'],_0x277a2d),![]):await Keychain[_0x4ece(0x29)](_0x5d9fdc);else{const _0x33b91f=(_0x5353a4[_0x4ece(0x2a)](_0x5d9fdc,null)||_0x5d9fdc===void 0x0?void 0x0:_0x5d9fdc[_0x4ece(0x18)])||_0x5353a4[_0x4ece(0x2b)];return delete mockStorage[_0x33b91f],!![];}}}catch(_0x12205c){console[_0x4ece(0xe)](_0x5353a4['KeflS'],_0x12205c);const _0x7e1c5b=(_0x5353a4[_0x4ece(0x2c)](_0x5d9fdc,null)||_0x5353a4[_0x4ece(0x2d)](_0x5d9fdc,void 0x0)?void 0x0:_0x5d9fdc[_0x4ece(0x18)])||_0x4ece(0x2e);return delete mockStorage[_0x7e1c5b],!![];}},storeCredentials=async _0x245e9f=>{const _0x5814b5={'enbbc':_0x4ece(0x2f),'VWEHp':'Error\x20storing\x20credentials:','SjnHO':function(_0x2437a6,_0x5a191d){return _0x2437a6!==_0x5a191d;},'pwqWu':_0x4ece(0x30),'MvGpw':function(_0x182db0){return _0x182db0();},'rUCfj':function(_0x4b8235,_0x111b55){return _0x4b8235===_0x111b55;},'LXtLs':function(_0x5baf8a,_0x364d3f){return _0x5baf8a!==_0x364d3f;},'BKhBO':_0x4ece(0x31),'kZNna':_0x4ece(0x32),'nKVoW':function(_0x331278,_0x52e0a2){return _0x331278!==_0x52e0a2;},'zuITj':function(_0x105df6){return _0x105df6();},'lYRve':function(_0x5076b8,_0xcc549e,_0x4b96d4,_0x5ce6ba){return _0x5076b8(_0xcc549e,_0x4b96d4,_0x5ce6ba);}};try{if(_0x5814b5[_0x4ece(0x33)](_0x5814b5[_0x4ece(0x34)],'RbNkf')){const _0x4de96f=await _0x5814b5[_0x4ece(0x35)](getCredentials),_0x259c3e={..._0x4de96f,..._0x245e9f,'createdAt':(_0x4de96f===null||_0x5814b5[_0x4ece(0x36)](_0x4de96f,void 0x0)?void 0x0:_0x4de96f[_0x4ece(0x37)])||Date[_0x4ece(0x38)]()},_0x4f6b8a=_0x259c3e[_0x4ece(0x39)];if(!_0x4f6b8a){if(_0x5814b5[_0x4ece(0x3a)](_0x4ece(0x31),_0x5814b5['BKhBO']))return _0x5ab61b[_0x4ece(0x28)](_0x5814b5[_0x4ece(0x3b)],_0x339245),![];else throw new Error(_0x5814b5[_0x4ece(0x3c)]);}const _0x559d0d={'service':_constants[_0x4ece(0x3d)][_0x4ece(0x3e)]};return _0x5814b5['nKVoW'](_reactNative[_0x4ece(0x3f)]['OS'],'web')&&_0x5814b5['zuITj'](isKeychainAvailable)&&(_0x559d0d['accessControl']=Keychain[_0x4ece(0x40)][_0x4ece(0x41)],_0x559d0d['accessible']=Keychain[_0x4ece(0x42)]['WHEN_UNLOCKED']),await _0x5814b5[_0x4ece(0x43)](safeSetGenericPassword,_0x4f6b8a,JSON[_0x4ece(0x44)](_0x259c3e),_0x559d0d),!![];}else return _0xb44cee[_0x4ece(0x28)](_0x5814b5[_0x4ece(0x45)],_0x4c0c57),![];}catch(_0x154b4d){return console[_0x4ece(0x28)](_0x5814b5[_0x4ece(0x45)],_0x154b4d),![];}};exports['storeCredentials']=storeCredentials;const getCredentials=async()=>{const _0x5f1e16={'rXKCi':function(_0x35d93d){return _0x35d93d();},'WNnCI':_0x4ece(0x46),'zDuuw':function(_0x6982b0,_0x36564f){return _0x6982b0(_0x36564f);},'ZEmur':function(_0x14a135,_0x71ad00){return _0x14a135===_0x71ad00;},'VvQSj':_0x4ece(0x47),'eBrgS':function(_0xf9aee2,_0x3fe941){return _0xf9aee2(_0x3fe941);},'Tarsq':_0x4ece(0x48),'QSrJP':_0x4ece(0x49)};try{if(_0x5f1e16[_0x4ece(0x4a)]('DBEYN',_0x5f1e16[_0x4ece(0x4b)])){const _0x301daa=await _0x5f1e16['eBrgS'](safeGetGenericPassword,{'service':_constants[_0x4ece(0x3d)][_0x4ece(0x3e)]});if(_0x301daa)return JSON[_0x4ece(0x15)](_0x301daa[_0x4ece(0x16)]);return null;}else try{if(!_0x5f1e16[_0x4ece(0x4c)](_0x170a5a))return!![];return!![];}catch(_0x2852a1){return _0x541ddd[_0x4ece(0x28)](_0x5f1e16[_0x4ece(0x4d)],_0x2852a1),![];}}catch(_0x1919ee){if(_0x5f1e16[_0x4ece(0x4e)]===_0x4ece(0x4f))Keychain=_0x5f1e16[_0x4ece(0x50)](_0x520d4e,0x3);else return console[_0x4ece(0x28)](_0x5f1e16[_0x4ece(0x51)],_0x1919ee),null;}};exports[_0x4ece(0x8)]=getCredentials;const hasCredentials=async()=>{const _0x55eecc={'uFXPQ':_0x4ece(0x52),'Jdclv':function(_0x5bacd1,_0x4410f8){return _0x5bacd1+_0x4410f8;},'BVAkk':function(_0x4b3965,_0x48005e){return _0x4b3965|_0x48005e;},'UHjnb':function(_0x13a5bf,_0x4a18ef){return _0x13a5bf|_0x4a18ef;},'fhfDk':function(_0x8ecb05,_0x2abbd7){return _0x8ecb05<<_0x2abbd7;},'VVIZx':function(_0x72bd67,_0x2fdcbe){return _0x72bd67<<_0x2fdcbe;},'rNYsf':function(_0x325608,_0xfab814){return _0x325608&_0xfab814;},'qxTWH':function(_0x26d6a8,_0x481f41){return _0x26d6a8!==_0x481f41;},'SGLxf':function(_0x177268,_0x1986f1){return _0x177268>>_0x1986f1;},'hBZAj':function(_0x4fd3a1,_0x1a3897){return _0x4fd3a1!==_0x1a3897;},'dmrvN':function(_0x536b1c,_0x2340d3){return _0x536b1c(_0x2340d3);},'tOEzu':_0x4ece(0x2f)};try{const _0x78a93f=await _0x55eecc['dmrvN'](safeGetGenericPassword,{'service':_constants[_0x4ece(0x3d)][_0x4ece(0x3e)]});return!!_0x78a93f;}catch(_0xc53827){if(_0x4ece(0x53)===_0x4ece(0x53))return console[_0x4ece(0x28)](_0x55eecc[_0x4ece(0x54)],_0xc53827),![];else{while(_0x59827c[_0x4ece(0x55)]%0x4){_0x2c1049+='=';}const _0x3cec8=_0x55eecc[_0x4ece(0x56)];let _0x48f510='';for(let _0x527afe=0x0;_0x527afe<_0x261d3a[_0x4ece(0x55)];_0x527afe+=0x4){const _0x4bc769=_0x3cec8[_0x4ece(0x57)](_0x5e2a95[_0x4ece(0x58)](_0x527afe)),_0x2618b5=_0x3cec8[_0x4ece(0x57)](_0x44a5f6[_0x4ece(0x58)](_0x527afe+0x1)),_0x3780ad=_0x3cec8[_0x4ece(0x57)](_0x2ae893['charAt'](_0x55eecc[_0x4ece(0x59)](_0x527afe,0x2))),_0x1f2ac4=_0x3cec8[_0x4ece(0x57)](_0xd99813['charAt'](_0x527afe+0x3)),_0x224820=_0x55eecc[_0x4ece(0x5a)](_0x55eecc['BVAkk'](_0x55eecc[_0x4ece(0x5b)](_0x55eecc[_0x4ece(0x5c)](_0x4bc769,0x12),_0x55eecc[_0x4ece(0x5c)](_0x2618b5,0xc)),_0x55eecc['VVIZx'](_0x3780ad,0x6)),_0x1f2ac4);_0x48f510+=_0x19c8f4['fromCharCode'](_0x55eecc['rNYsf'](_0x224820>>0x10,0xff));if(_0x55eecc[_0x4ece(0x5d)](_0x3780ad,0x40))_0x48f510+=_0x593181[_0x4ece(0x5e)](_0x55eecc[_0x4ece(0x5f)](_0x224820,0x8)&0xff);if(_0x55eecc['hBZAj'](_0x1f2ac4,0x40))_0x48f510+=_0x4947c9[_0x4ece(0x5e)](_0x55eecc[_0x4ece(0x60)](_0x224820,0xff));}return _0x48f510;}}};function _0x4ece(_0x4cd951,_0x4ece05){_0x4cd951=_0x4cd951-0x0;const _0x266384=_0x4cd9();let _0x3556cf=_0x266384[_0x4cd951];return _0x3556cf;}function _0x4cd9(){const _0x470b21=['defineProperty','verifyCredentials','updateCredentials','isJWTExpired','hasJWT','hasCredentials','getJWTPayload','getJWT','getCredentials','generateDeviceUsername','deleteCredentials','clearJWT','__esModule','onairos_jwt_token','warn','mock','function','getGenericPassword','WseUw','rgeFD','FikzK','parse','password','FXZtA','service','DaswP','KgELk','BKZjJ','WFuwt','Sjqvy','IsXac','Keychain\x20access\x20failed,\x20using\x20mock\x20storage','Error\x20deleting\x20credentials:','BnvTH','lZdIs','jaqsP','ekHJu','oGZpa','KUuLz','lHcjP','error','resetGenericPassword','bZNdF','KYcRU','PzCgu','PDnEh','default','Error\x20checking\x20credentials:','nzZXK','NbOdR','Username\x20is\x20required\x20for\x20storing\x20credentials','SjnHO','pwqWu','MvGpw','rUCfj','createdAt','now','username','LXtLs','enbbc','kZNna','STORAGE_KEYS','credentials','Platform','ACCESS_CONTROL','BIOMETRY_ANY_OR_DEVICE_PASSCODE','ACCESSIBLE','lYRve','stringify','VWEHp','Error\x20verifying\x20credentials:','DBEYN','zBgla','Error\x20getting\x20credentials:','ZEmur','VvQSj','rXKCi','WNnCI','Tarsq','lSeCZ','zDuuw','QSrJP','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','hyAIu','tOEzu','length','uFXPQ','indexOf','charAt','Jdclv','BVAkk','UHjnb','fhfDk','qxTWH','fromCharCode','SGLxf','rNYsf','PIglt','QkOku','CcQMd','IwYYW','wwdkS','PBRJl','OLmjz','random','toString','substring','❌\x20Failed\x20to\x20check\x20JWT\x20token:','JMqnx','oRaFW','ujNpH','YVaGD','TWNCl','osVfE','eYXjS','WEWVZ','TSsxv','❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','getItem','scqyF','mawzL','rdKdi','QyLiY','AVwLe','removeItem','🗑️\x20JWT\x20token\x20cleared','❌\x20Failed\x20to\x20clear\x20JWT\x20token:','FCKgP','PGgFz','zROgH','vUtQr','DeLJd','PzSJM','qLPpH','xDZdo','REtXS','VpTib','LQKZq','KvwNh','❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','IktVL','split','MZJiy','ScjhA','aEiQQ','RYkch','FcFlz','EfMWV','TZWBc','floor','ioglz','❌\x20Failed\x20to\x20check\x20JWT\x20expiration:'];_0x4cd9=function(){return _0x470b21;};return _0x4cd9();}exports[_0x4ece(0x5)]=hasCredentials;const deleteCredentials=async()=>{const _0x3775b7={'IwYYW':function(_0x185620,_0x24fd5a){return _0x185620===_0x24fd5a;},'wwdkS':function(_0x3b3726,_0x369dbc){return _0x3b3726===_0x369dbc;},'PBRJl':'default','QkOku':function(_0x1627d8,_0x22ecbe){return _0x1627d8(_0x22ecbe);},'JMBMq':function(_0xfad6d,_0x48e7f7){return _0xfad6d!==_0x48e7f7;},'CcQMd':_0x4ece(0x61),'FdONN':'Error\x20deleting\x20credentials:'};try{return await _0x3775b7[_0x4ece(0x62)](safeResetGenericPassword,{'service':_constants[_0x4ece(0x3d)][_0x4ece(0x3e)]}),!![];}catch(_0x139182){if(_0x3775b7['JMBMq'](_0x4ece(0x61),_0x3775b7[_0x4ece(0x63)])){const _0x1cd12b=(_0x3775b7[_0x4ece(0x64)](_0x4083c6,null)||_0x3775b7[_0x4ece(0x65)](_0x4ef363,void 0x0)?void 0x0:_0x3f2e93[_0x4ece(0x18)])||_0x3775b7[_0x4ece(0x66)];return _0x1ad630[_0x1cd12b]={'username':_0x60bd73,'password':_0xe4240e},!![];}else return console[_0x4ece(0x28)](_0x3775b7['FdONN'],_0x139182),![];}};exports[_0x4ece(0xa)]=deleteCredentials;const updateCredentials=async _0x3c20f4=>{const _0x44a7f6={'OLmjz':function(_0x38671b,_0x1f0c54){return _0x38671b(_0x1f0c54);}};return _0x44a7f6[_0x4ece(0x67)](storeCredentials,_0x3c20f4);};exports['updateCredentials']=updateCredentials;const generateDeviceUsername=()=>{const _0x47adc6=Math[_0x4ece(0x68)]()[_0x4ece(0x69)](0x24)[_0x4ece(0x6a)](0x2,0xa);return'dev_'+_0x47adc6;};exports[_0x4ece(0x9)]=generateDeviceUsername;const verifyCredentials=async _0x449e15=>{const _0x5dfabf={'TWNCl':_0x4ece(0x6b),'IUnoN':function(_0x2774d4,_0x57e752){return _0x2774d4===_0x57e752;},'ujNpH':_0x4ece(0x6c),'osVfE':function(_0x61df58){return _0x61df58();},'eYXjS':function(_0x3ecef7,_0x395697){return _0x3ecef7!==_0x395697;},'WEWVZ':_0x4ece(0x6d),'TSsxv':_0x4ece(0x46)};try{if(_0x5dfabf['IUnoN'](_0x5dfabf[_0x4ece(0x6e)],_0x4ece(0x6f)))return _0x1118e7[_0x4ece(0x28)](_0x5dfabf[_0x4ece(0x70)],_0x5004f7),![];else{if(!_0x5dfabf[_0x4ece(0x71)](isKeychainAvailable))return _0x5dfabf[_0x4ece(0x72)](_0x5dfabf[_0x4ece(0x73)],_0x5dfabf['WEWVZ'])?![]:!![];return!![];}}catch(_0x8e5183){return console['error'](_0x5dfabf[_0x4ece(0x74)],_0x8e5183),![];}};exports[_0x4ece(0x1)]=verifyCredentials;const getJWT=async()=>{const _0x577440={'LxbkH':_0x4ece(0x75)};try{const _0x541d06=await _asyncStorage[_0x4ece(0x2e)]['getItem'](JWT_TOKEN_KEY);return _0x541d06;}catch(_0x57ed3e){return console[_0x4ece(0x28)](_0x577440['LxbkH'],_0x57ed3e),null;}};exports[_0x4ece(0x7)]=getJWT;const hasJWT=async()=>{const _0x1b8777={'scqyF':_0x4ece(0x6b)};try{const _0x5c2086=await _asyncStorage[_0x4ece(0x2e)][_0x4ece(0x76)](JWT_TOKEN_KEY);return!!_0x5c2086;}catch(_0x43ca98){return console[_0x4ece(0x28)](_0x1b8777[_0x4ece(0x77)],_0x43ca98),![];}};exports['hasJWT']=hasJWT;const clearJWT=async()=>{const _0x57ee5c={'QyLiY':function(_0x55d032,_0x2ad8af){return _0x55d032===_0x2ad8af;},'sjFoA':function(_0x2b30cb,_0x3af79f){return _0x2b30cb===_0x3af79f;},'AVwLe':_0x4ece(0x2e),'mawzL':function(_0xb0ffb1,_0x93107){return _0xb0ffb1===_0x93107;},'rdKdi':'Qqpdu','keEji':'fMajU'};try{if(_0x57ee5c[_0x4ece(0x78)](_0x57ee5c[_0x4ece(0x79)],_0x57ee5c['keEji'])){_0x1c8cd9[_0x4ece(0xe)](_0x4ece(0x1f),_0x5aad42);const _0x246fd0=(_0x57ee5c[_0x4ece(0x7a)](_0x223778,null)||_0x57ee5c['sjFoA'](_0x3289cb,void 0x0)?void 0x0:_0x1a2c3c[_0x4ece(0x18)])||_0x57ee5c[_0x4ece(0x7b)];return _0x1eca06[_0x246fd0]={'username':_0x256019,'password':_0x4a40b0},!![];}else return await _asyncStorage[_0x4ece(0x2e)][_0x4ece(0x7c)](JWT_TOKEN_KEY),console['log'](_0x4ece(0x7d)),!![];}catch(_0x2d5382){return console[_0x4ece(0x28)](_0x4ece(0x7e),_0x2d5382),![];}};exports[_0x4ece(0xb)]=clearJWT;const base64Decode=_0x586f94=>{const _0x630782={'PGgFz':function(_0xff7f73,_0x309d4b){return _0xff7f73===_0x309d4b;},'zROgH':_0x4ece(0x7f),'vUtQr':function(_0x29529d,_0xb58422){return _0x29529d<_0xb58422;},'DeLJd':function(_0x340c3d,_0x29e862){return _0x340c3d+_0x29e862;},'PzSJM':function(_0x1b7d0e,_0xa32a99){return _0x1b7d0e+_0xa32a99;},'qLPpH':function(_0x302042,_0x5fcab3){return _0x302042|_0x5fcab3;},'xDZdo':function(_0x58d10e,_0x44045a){return _0x58d10e<<_0x44045a;},'alRiK':function(_0x59b12e,_0xb08c9b){return _0x59b12e<<_0xb08c9b;},'REtXS':function(_0x192042,_0x37b336){return _0x192042&_0x37b336;},'VpTib':function(_0x51959b,_0x3687a8){return _0x51959b!==_0x3687a8;},'VpiGP':function(_0x3b9610,_0x396ccf){return _0x3b9610!==_0x396ccf;},'LQKZq':function(_0x3a72d6,_0x4402ba){return _0x3a72d6&_0x4402ba;}};while(_0x586f94['length']%0x4){if(_0x630782[_0x4ece(0x80)](_0x4ece(0x7f),_0x630782[_0x4ece(0x81)]))_0x586f94+='=';else return _0x4bf9c4[_0x4ece(0x28)]('Error\x20getting\x20credentials:',_0x2655f0),null;}const _0x5806a0=_0x4ece(0x52);let _0x172e66='';for(let _0x194ab5=0x0;_0x630782[_0x4ece(0x82)](_0x194ab5,_0x586f94[_0x4ece(0x55)]);_0x194ab5+=0x4){const _0x5d02c1=_0x5806a0['indexOf'](_0x586f94[_0x4ece(0x58)](_0x194ab5)),_0xc5fe5b=_0x5806a0[_0x4ece(0x57)](_0x586f94[_0x4ece(0x58)](_0x630782[_0x4ece(0x83)](_0x194ab5,0x1))),_0x309cb1=_0x5806a0[_0x4ece(0x57)](_0x586f94[_0x4ece(0x58)](_0x630782[_0x4ece(0x83)](_0x194ab5,0x2))),_0x5b714b=_0x5806a0['indexOf'](_0x586f94['charAt'](_0x630782[_0x4ece(0x84)](_0x194ab5,0x3))),_0x354a58=_0x630782[_0x4ece(0x85)](_0x630782['qLPpH'](_0x5d02c1<<0x12,_0x630782[_0x4ece(0x86)](_0xc5fe5b,0xc))|_0x630782['alRiK'](_0x309cb1,0x6),_0x5b714b);_0x172e66+=String[_0x4ece(0x5e)](_0x630782[_0x4ece(0x87)](_0x354a58>>0x10,0xff));if(_0x630782[_0x4ece(0x88)](_0x309cb1,0x40))_0x172e66+=String[_0x4ece(0x5e)](_0x630782[_0x4ece(0x87)](_0x354a58>>0x8,0xff));if(_0x630782['VpiGP'](_0x5b714b,0x40))_0x172e66+=String[_0x4ece(0x5e)](_0x630782[_0x4ece(0x89)](_0x354a58,0xff));}return _0x172e66;},getJWTPayload=async()=>{const _0x46c6ff={'FcFlz':_0x4ece(0x46),'IktVL':function(_0x592d17){return _0x592d17();},'MZJiy':function(_0x4d0415,_0x3a7872){return _0x4d0415!==_0x3a7872;},'LhDpn':function(_0x43be8d,_0x47e0ef){return _0x43be8d(_0x47e0ef);},'ScjhA':function(_0x38e897,_0x370f8b){return _0x38e897===_0x370f8b;},'aEiQQ':_0x4ece(0x8a),'RYkch':_0x4ece(0x8b)};try{const _0x254a7d=await _0x46c6ff[_0x4ece(0x8c)](getJWT);if(!_0x254a7d)return null;const _0x301ceb=_0x254a7d[_0x4ece(0x8d)]('.');if(_0x46c6ff[_0x4ece(0x8e)](_0x301ceb[_0x4ece(0x55)],0x3))return null;const _0xa4f4c7=_0x46c6ff['LhDpn'](base64Decode,_0x301ceb[0x1]),_0x36bc07=JSON[_0x4ece(0x15)](_0xa4f4c7);return _0x36bc07;}catch(_0x5511d9){return _0x46c6ff[_0x4ece(0x8f)](_0x46c6ff['aEiQQ'],_0x46c6ff[_0x4ece(0x90)])?(console[_0x4ece(0x28)](_0x46c6ff[_0x4ece(0x91)],_0x5511d9),null):(_0x2fe9b9[_0x4ece(0x28)](_0x46c6ff[_0x4ece(0x92)],_0xa07e9e),![]);}};exports['getJWTPayload']=getJWTPayload;const isJWTExpired=async()=>{const _0x54fe68={'eCXoW':function(_0x924a16,_0x2ba4a4){return _0x924a16===_0x2ba4a4;},'EfMWV':'dlNff','TZWBc':function(_0xb18c12){return _0xb18c12();},'ioglz':function(_0x7e6cd,_0x302aeb){return _0x7e6cd/_0x302aeb;}};try{if(_0x54fe68['eCXoW'](_0x54fe68[_0x4ece(0x93)],_0x54fe68['EfMWV'])){const _0x62c45a=await _0x54fe68[_0x4ece(0x94)](getJWTPayload);if(!_0x62c45a||!_0x62c45a['exp'])return!![];const _0x1ca56c=Math[_0x4ece(0x95)](_0x54fe68[_0x4ece(0x96)](Date[_0x4ece(0x38)](),0x3e8));return _0x62c45a['exp']<_0x1ca56c;}else return!![];}catch(_0x3a6998){return console[_0x4ece(0x28)](_0x4ece(0x97),_0x3a6998),!![];}};exports[_0x4ece(0x3)]=isJWTExpired;
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function _0x1ca7(_0xeaba08,_0x1ca7f1){_0xeaba08=_0xeaba08-0x0;const _0x4778bb=_0xeaba();let _0x358c63=_0x4778bb[_0xeaba08];return _0x358c63;}function _0xeaba(){const _0x137c6b=['defineProperty','__esModule','CHATGPT_SUCCESS_SCRIPT','CHATGPT_FETCH_MEMORIES_SCRIPT','CHATGPT_EXPORT_SCRIPT','CHATGPT_ERROR_SCRIPT','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','\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'];_0xeaba=function(){return _0x137c6b;};return _0xeaba();}Object[_0x1ca7(0x0)](exports,_0x1ca7(0x1),{'value':!![]}),exports[_0x1ca7(0x2)]=exports[_0x1ca7(0x3)]=exports[_0x1ca7(0x4)]=exports[_0x1ca7(0x5)]=exports['CHATGPT_CONSENT_POPUP_SCRIPT']=void 0x0;const CHATGPT_CONSENT_POPUP_SCRIPT=exports[_0x1ca7(0x6)]=_0x1ca7(0x7),CHATGPT_EXPORT_SCRIPT=exports['CHATGPT_EXPORT_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=exports[_0x1ca7(0x2)]=_0x1ca7(0x8),CHATGPT_ERROR_SCRIPT=exports[_0x1ca7(0x5)]=_0x1ca7(0x9),CHATGPT_FETCH_MEMORIES_SCRIPT=exports[_0x1ca7(0x3)]=_0x1ca7(0xa);
|
|
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);
|