@eryxenx/insta-chat 2.0.0 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +95 -8
  2. package/index.js +105 -1
  3. package/module/login.js +51 -1
  4. package/package.json +9 -2
  5. package/src/api/action/getAppState.js +19 -1
  6. package/src/api/action/getCookies.js +7 -1
  7. package/src/api/action/getCurrentUserID.js +7 -1
  8. package/src/api/action/setOptions.js +8 -1
  9. package/src/api/messaging/editMessage.js +19 -1
  10. package/src/api/messaging/markAsRead.js +7 -1
  11. package/src/api/messaging/resolvePhotoUrl.js +8 -1
  12. package/src/api/messaging/sendMessage.js +45 -1
  13. package/src/api/messaging/sendMessageSync.js +8 -1
  14. package/src/api/messaging/sendTypingIndicator.js +7 -1
  15. package/src/api/messaging/setMessageReaction.js +19 -1
  16. package/src/api/messaging/shareContact.js +19 -1
  17. package/src/api/messaging/unsendMessage.js +16 -1
  18. package/src/api/realtime/getInbox.js +7 -1
  19. package/src/api/realtime/listen.js +7 -1
  20. package/src/api/realtime/stopListening.js +7 -1
  21. package/src/api/threads/getThreadHistory.js +16 -1
  22. package/src/api/threads/getThreadInfo.js +59 -1
  23. package/src/api/threads/getThreadList.js +22 -1
  24. package/src/api/users/getUID.js +12 -1
  25. package/src/api/users/getUserInfo.js +37 -1
  26. package/src/api.js +253 -1
  27. package/src/app/InstaClient.js +352 -1
  28. package/src/app/InstaContext.js +46 -1
  29. package/src/app/createFcaClient.js +59 -1
  30. package/src/app/loadApiMethods.js +30 -1
  31. package/src/constants.js +53 -1
  32. package/src/cookies.js +41 -1
  33. package/src/deviceIdentity.js +31 -1
  34. package/src/events/normalizeEvent.js +142 -1
  35. package/src/http.js +381 -1
  36. package/src/messageContent.js +73 -1
  37. package/src/methods/inbox.js +464 -1
  38. package/src/methods/media.js +218 -1
  39. package/src/methods/message.js +115 -1
  40. package/src/methods/reactions.js +52 -1
  41. package/src/methods/thread.js +96 -1
  42. package/src/methods/typing.js +35 -1
  43. package/src/methods/user.js +33 -1
  44. package/src/session.js +94 -1
  45. package/src/threadDetail.js +36 -1
  46. package/src/utils/antiSuspension.js +269 -0
  47. package/src/utils/dataDir.js +11 -0
  48. package/src/utils/errors.js +106 -0
  49. package/src/utils/format.js +38 -1
  50. package/src/utils/messageStyle.js +57 -1
  51. package/src/utils/sessionGuard.js +93 -0
@@ -4,4 +4,467 @@
4
4
  * Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
5
5
  * Original author credit must be retained in all copies and derivatives.
6
6
  */
7
- function _0x5253(_0x29848b,_0x11f5f9){_0x29848b=_0x29848b-0xa7;const _0x315d8a=_0x315d();let _0x52532e=_0x315d8a[_0x29848b];if(_0x5253['HgbjBk']===undefined){var _0x1ff066=function(_0x20507f){const _0x3a8a4f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3617ed='',_0x445a9b='';for(let _0xac2da=0x0,_0x1bbef8,_0xc8af4e,_0x3b1410=0x0;_0xc8af4e=_0x20507f['charAt'](_0x3b1410++);~_0xc8af4e&&(_0x1bbef8=_0xac2da%0x4?_0x1bbef8*0x40+_0xc8af4e:_0xc8af4e,_0xac2da++%0x4)?_0x3617ed+=String['fromCharCode'](0xff&_0x1bbef8>>(-0x2*_0xac2da&0x6)):0x0){_0xc8af4e=_0x3a8a4f['indexOf'](_0xc8af4e);}for(let _0x27caff=0x0,_0x59c034=_0x3617ed['length'];_0x27caff<_0x59c034;_0x27caff++){_0x445a9b+='%'+('00'+_0x3617ed['charCodeAt'](_0x27caff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445a9b);};const _0x110596=function(_0x2d011f,_0x3d96fd){let _0x4733f9=[],_0x2de5f5=0x0,_0x3a192d,_0x427037='';_0x2d011f=_0x1ff066(_0x2d011f);let _0x3ef15b;for(_0x3ef15b=0x0;_0x3ef15b<0x100;_0x3ef15b++){_0x4733f9[_0x3ef15b]=_0x3ef15b;}for(_0x3ef15b=0x0;_0x3ef15b<0x100;_0x3ef15b++){_0x2de5f5=(_0x2de5f5+_0x4733f9[_0x3ef15b]+_0x3d96fd['charCodeAt'](_0x3ef15b%_0x3d96fd['length']))%0x100,_0x3a192d=_0x4733f9[_0x3ef15b],_0x4733f9[_0x3ef15b]=_0x4733f9[_0x2de5f5],_0x4733f9[_0x2de5f5]=_0x3a192d;}_0x3ef15b=0x0,_0x2de5f5=0x0;for(let _0x3b9be2=0x0;_0x3b9be2<_0x2d011f['length'];_0x3b9be2++){_0x3ef15b=(_0x3ef15b+0x1)%0x100,_0x2de5f5=(_0x2de5f5+_0x4733f9[_0x3ef15b])%0x100,_0x3a192d=_0x4733f9[_0x3ef15b],_0x4733f9[_0x3ef15b]=_0x4733f9[_0x2de5f5],_0x4733f9[_0x2de5f5]=_0x3a192d,_0x427037+=String['fromCharCode'](_0x2d011f['charCodeAt'](_0x3b9be2)^_0x4733f9[(_0x4733f9[_0x3ef15b]+_0x4733f9[_0x2de5f5])%0x100]);}return _0x427037;};_0x5253['sdLXRt']=_0x110596,_0x5253['GoNLUO']={},_0x5253['HgbjBk']=!![];}const _0x3cdceb=_0x315d8a[0x0],_0x45184d=_0x29848b+_0x3cdceb,_0x19dc2a=_0x5253['GoNLUO'][_0x45184d];return!_0x19dc2a?(_0x5253['SYZvDg']===undefined&&(_0x5253['SYZvDg']=!![]),_0x52532e=_0x5253['sdLXRt'](_0x52532e,_0x11f5f9),_0x5253['GoNLUO'][_0x45184d]=_0x52532e):_0x52532e=_0x19dc2a,_0x52532e;}const _0x4b9799=_0x5253,_0x3cc931=_0x5253;(function(_0x538983,_0x2dc410){const _0x4c118b=_0x5253,_0x13b383=_0x5253,_0x466786=_0x538983();while(!![]){try{const _0x4bdd1f=-parseInt(_0x4c118b(0x218,'eFpp'))/0x1*(-parseInt(_0x4c118b(0x19f,'HcWq'))/0x2)+-parseInt(_0x4c118b(0xe4,'8J4y'))/0x3+parseInt(_0x13b383(0x285,'7fbb'))/0x4+-parseInt(_0x13b383(0x2ca,'VqI@'))/0x5+-parseInt(_0x4c118b(0xba,'7fbb'))/0x6*(-parseInt(_0x4c118b(0x15e,'a3jS'))/0x7)+-parseInt(_0x13b383(0x221,'0AQM'))/0x8+parseInt(_0x4c118b(0x267,'VFW#'))/0x9*(parseInt(_0x13b383(0x177,'6hPd'))/0xa);if(_0x4bdd1f===_0x2dc410)break;else _0x466786['push'](_0x466786['shift']());}catch(_0x2446e7){_0x466786['push'](_0x466786['shift']());}}}(_0x315d,0x18ed4));const {DOC_ID}=require(_0x4b9799(0x295,'s%5u')+_0x4b9799(0x125,'CgLE')),{textOf,attachmentsFromContent,normalizeRepliedMessage}=require(_0x3cc931(0x101,'6hPd')+_0x3cc931(0x224,'W$Oi')+_0x4b9799(0x2b7,'0dyg')),{fetchThreadDetail,threadFbidMap}=require(_0x3cc931(0x214,'KM4c')+_0x3cc931(0x27f,'&^UB')+_0x3cc931(0x24b,'KM4c')),INBOX_VARIABLES={'__relay_internal__pv__IGDIsProfessionalAccountGKrelayprovider':![],'__relay_internal__pv__IGDPinnedThreadsRenderEnabledGKrelayprovider':!![],'__relay_internal__pv__IGDMaxUnreadMessagesCountrelayprovider':0x5,'__relay_internal__pv__IGDThreadListActionsEnabledGKrelayprovider':!![]},SKIP_TYPES=new Set([_0x3cc931(0x191,'7fbb'),_0x4b9799(0x27a,'C)Fa')+_0x4b9799(0x162,'ij9#'),_0x3cc931(0xc0,'%kFD')+_0x4b9799(0x1bd,'ij9#')+_0x3cc931(0x293,'z6M$'),_0x4b9799(0x247,'Z4(4')+_0x4b9799(0x1d7,'@tdc')]);class InboxMethods{constructor(_0x38e423,_0x86c517){const _0xed1244=_0x4b9799,_0x5a62d2=_0x3cc931,_0x1912bc=(_0xed1244(0x1c9,'7fbb')+_0x5a62d2(0xf9,'gvDH')+'1')[_0x5a62d2(0x1e3,'6hPd')]('|');let _0x7caf4b=0x0;while(!![]){switch(_0x1912bc[_0x7caf4b++]){case'0':this[_0xed1244(0x23d,'!b$[')]=_0x38e423;continue;case'1':this[_0xed1244(0x2cf,'RjRa')+_0xed1244(0x28c,'!e@#')]=![];continue;case'2':this[_0x5a62d2(0x2a1,'ij9#')]=new Map();continue;case'3':this[_0xed1244(0x16a,'H*]7')+_0x5a62d2(0x11b,'^2#L')]=null;continue;case'4':this[_0xed1244(0x11d,'Z4(4')+_0xed1244(0x237,'QNA9')]=null;continue;case'5':this[_0xed1244(0x291,'HcWq')+_0xed1244(0x1af,'C)Fa')]=new Map();continue;case'6':this[_0x5a62d2(0xd1,'RjRa')+'rID']=_0x86c517;continue;}break;}}async[_0x4b9799(0x1b2,'8J4y')+'ox'](){const _0x388d00=_0x4b9799,_0x55ab2a=_0x3cc931,_0x49e649={'uVAPM':_0x388d00(0x255,'escu')+_0x55ab2a(0x152,'escu')+_0x388d00(0x146,'&^UB')+_0x55ab2a(0x217,'$Cp&')+_0x55ab2a(0xd5,'$oyM')+_0x55ab2a(0x110,'$oyM')+_0x388d00(0x19a,'$Cp&'),'dhRwC':function(_0xa6a85a,_0x43df04){return _0xa6a85a(_0x43df04);}},_0x522029=this[_0x55ab2a(0x23d,'!b$[')][_0x388d00(0x276,'0dyg')+'n']?.[_0x388d00(0x244,'gvDH')]||this[_0x388d00(0x204,'8NPe')][_0x55ab2a(0x173,'%kFD')](),_0x78e0af=await this[_0x55ab2a(0x13f,'5fBk')][_0x388d00(0xc2,'KM4c')+_0x55ab2a(0x249,'^4aq')](_0x388d00(0xeb,'7fbb')+_0x55ab2a(0x1dd,'$R!G')+_0x388d00(0xc4,'8NPe')+_0x388d00(0x12e,'QNA9'),DOC_ID[_0x388d00(0x1eb,'^4aq')],{...INBOX_VARIABLES,'device_id_for_iris_subscription':_0x522029},_0x49e649[_0x55ab2a(0x1d2,'dfN2')]),_0x274585=this[_0x388d00(0x15c,']OmB')+'p'](_0x78e0af),_0x5c62f4=_0x274585?.[_0x388d00(0x114,'dfN2')+_0x55ab2a(0x2b6,'QNA9')+_0x388d00(0x104,'s%5u')+_0x388d00(0x1a6,'&K]a')+'is_sub'+_0x388d00(0x2bb,'HcWq')+_0x388d00(0xa7,'6hPd')]?.[_0x388d00(0xbe,'ij9#')+_0x388d00(0x17b,'W$Oi')+_0x55ab2a(0xb1,'#O^[')]?.[_0x388d00(0x1b6,'HcWq')]||[],_0x13ce3e=_0x5c62f4[_0x55ab2a(0x200,'8NPe')](_0x1e8f92=>_0x1e8f92[_0x388d00(0xaa,'!e@#')]?.[_0x388d00(0x12b,'7fbb')+_0x388d00(0x223,'ij9#')+_0x55ab2a(0x274,'$R!G')+'d']||{})[_0x388d00(0x29c,'VFW#')](Boolean);for(const _0x54d541 of _0x13ce3e){const _0x11c6e9=_0x54d541[_0x55ab2a(0xf2,'5fBk')]?.[_0x388d00(0x1b4,'z6M$')+_0x388d00(0x20e,'0AQM')+_0x388d00(0x10d,'H*]7')+_0x55ab2a(0x16d,'^2#L')+_0x55ab2a(0x14e,'*MzC')];if(_0x11c6e9&&!this[_0x55ab2a(0xcb,'$oyM')+_0x55ab2a(0x220,'KM4c')])this[_0x388d00(0x187,'dfN2')+_0x388d00(0x270,'z6M$')]=_0x49e649[_0x388d00(0x26c,'a3jS')](String,_0x11c6e9);}return{'threads':_0x13ce3e};}[_0x4b9799(0x2a5,'escu')+_0x4b9799(0x1e6,'*MzC')+_0x4b9799(0x22a,'!e@#')](_0x35e7e2){const _0x248869=_0x4b9799,_0x5d0108=_0x4b9799,_0x57a971=_0x35e7e2[_0x248869(0x21e,'HcWq')+_0x248869(0x103,'eFpp')+'es'];if(Array[_0x5d0108(0x1ed,'8J4y')+'y'](_0x57a971))return _0x57a971[_0x5d0108(0x12a,'ij9#')](_0x3caf53=>_0x3caf53[_0x5d0108(0xac,'&^UB')]||_0x3caf53)[_0x5d0108(0x236,'!b$[')](Boolean);if(_0x57a971&&Array[_0x5d0108(0x21a,'ntC$')+'y'](_0x57a971['edges']))return _0x57a971['edges'][_0x5d0108(0x1a8,'$R!G')](_0x150d12=>_0x150d12[_0x248869(0x15b,'8J4y')])[_0x248869(0x29c,'VFW#')](Boolean);return(_0x35e7e2[_0x248869(0x124,'0dyg')]||[])[_0x248869(0x13e,'HcWq')](_0xbcc66c=>({'id':_0xbcc66c[_0x248869(0x24f,'Z4(4')+'d'],'sender_fbid':_0xbcc66c[_0x248869(0x245,'CgLE')+'d'],'content_type':(_0xbcc66c[_0x248869(0x251,'eFpp')+_0x248869(0x219,'z6M$')]||_0x248869(0x22f,'0dyg'))[_0x248869(0x294,'H*]7')+_0x248869(0x2d0,'escu')](),'text_body':_0xbcc66c[_0x5d0108(0x292,']OmB')],'timestamp_ms':_0xbcc66c[_0x248869(0x20d,'!e@#')+_0x248869(0x1b1,']OmB')],'content':_0xbcc66c}));}[_0x3cc931(0x210,'gvDH')+_0x3cc931(0xf8,'%kFD')+'xt'](_0x28f6d5){return textOf(_0x28f6d5);}[_0x3cc931(0xaf,'d6]^')+_0x3cc931(0xab,'ij9#')+_0x4b9799(0x150,'$Cp&')+_0x3cc931(0x1ab,'H*]7')](_0x5b262a){const _0x4e514a=_0x4b9799,_0x331d1f=_0x3cc931,_0x30c3e8={'CZNSC':function(_0x34488f,_0x405c52){return _0x34488f(_0x405c52);}};return _0x30c3e8[_0x4e514a(0x14a,'(QeB')](attachmentsFromContent,_0x5b262a[_0x4e514a(0x22c,'(QeB')+'t']);}[_0x4b9799(0xd0,'*MzC')+'ap'](_0x38d4c8){const _0x155bf8=_0x3cc931,_0xa178cc={'BaOxP':function(_0x165e51,_0x1e2790){return _0x165e51(_0x1e2790);}};return _0xa178cc[_0x155bf8(0x2a3,'$Cp&')](threadFbidMap,_0x38d4c8);}async[_0x3cc931(0xea,'eFpp')+_0x3cc931(0x21f,'^2#L')+'ts'](_0x3337eb){const _0x57907c=_0x3cc931,_0x2dc068=_0x4b9799,_0x1cc2cb={'fdYJc':function(_0x3e7c64,_0x3b8f17){return _0x3e7c64===_0x3b8f17;},'eVRvu':_0x57907c(0x1a7,'QNA9'),'tWzra':function(_0x245367,_0x1f9573){return _0x245367(_0x1f9573);},'lvQzA':_0x57907c(0xfd,'VFW#')+_0x57907c(0x182,'#O^[')+'5','BBEQk':function(_0x390eeb,_0x376ba0){return _0x390eeb!==_0x376ba0;},'QUdFc':_0x57907c(0x1c8,'8J4y'),'OAamQ':_0x57907c(0x195,'lg^k'),'TMZjD':function(_0x3353c8,_0x3d872a){return _0x3353c8===_0x3d872a;},'xslxs':function(_0x488852,_0x248ff3){return _0x488852(_0x248ff3);},'twXlw':_0x57907c(0x10f,'eFpp'),'SrXFf':function(_0x216219,_0x5ac3c2){return _0x216219!=_0x5ac3c2;},'GuYPp':function(_0x29f4a0,_0x5320ee){return _0x29f4a0(_0x5320ee);},'Ybwct':function(_0x55c59b,_0x42dddb){return _0x55c59b&&_0x42dddb;},'omLAL':_0x57907c(0x2b9,'8J4y'),'rsruF':function(_0x498262,_0x492f65){return _0x498262!==_0x492f65;},'dofVr':_0x2dc068(0x155,'^4aq')+'e','qegnG':function(_0x423681,_0x1c6de3){return _0x423681(_0x1c6de3);}},_0x2045e5=[],_0x2667d7=this[_0x2dc068(0x26e,'%kFD')+_0x57907c(0x1a1,'Uv$x')]?String(this[_0x2dc068(0x209,'lg^k')+_0x2dc068(0x237,'QNA9')]):null;for(const _0x593b92 of _0x3337eb){if(_0x1cc2cb[_0x57907c(0x1c2,'!b$[')](_0x1cc2cb[_0x2dc068(0xdc,'8J4y')],_0x1cc2cb[_0x57907c(0x102,'(QeB')])){const _0x334ef2=String(_0x593b92['id']||_0x593b92['thread'+_0x2dc068(0x227,'$Cp&')]),_0x2a88e8=this[_0x2dc068(0xd0,'*MzC')+'ap'](_0x593b92),_0x8c2d30=this[_0x2dc068(0x1e9,'*MzC')+_0x57907c(0x230,'C)Fa')+_0x2dc068(0x20a,'VqI@')](_0x593b92),_0x3739b0=this['_seen'][_0x57907c(0x178,'VFW#')](_0x334ef2),_0x54e029=[];for(const _0x398d14 of _0x8c2d30){if(_0x3739b0&&_0x1cc2cb[_0x57907c(0x1f4,'(QeB')](_0x1cc2cb[_0x2dc068(0x18f,'z6M$')](String,_0x398d14['id']),String(_0x3739b0)))break;_0x54e029[_0x57907c(0x22b,'*MzC')](_0x398d14);}let _0x330da9=null;if(_0x54e029[_0x2dc068(0x260,'Uv$x')]){if(_0x1cc2cb[_0x2dc068(0x2be,'H*]7')](_0x1cc2cb[_0x2dc068(0x1a5,'@tdc')],_0x1cc2cb[_0x2dc068(0x180,'(QeB')]))_0x330da9=await this[_0x57907c(0x1de,'6hPd')+_0x57907c(0x1ce,'HcWq')](_0x334ef2,_0x2a88e8)[_0x57907c(0x131,'ij9#')](()=>null);else{if(_0x125ed6&&_0x1cc2cb[_0x2dc068(0x28b,'VFW#')](typeof _0x12be48,_0x1cc2cb[_0x2dc068(0x258,'ntC$')]))return _0x5f3e2c[_0x57907c(0x1ef,'&K]a')]||_0x4d9438;const _0x19418d=_0x1cc2cb[_0x57907c(0x2b2,'*MzC')](_0x69dff9,_0x57ad68)[_0x57907c(0xfa,'KM4c')+'e'](/^for \(;;\);/,'');try{return _0x116c56[_0x2dc068(0x21b,'5fBk')](_0x19418d)[_0x57907c(0xfe,'dfN2')];}catch(_0x388cf7){return null;}}}for(const _0x9fdad2 of _0x54e029[_0x57907c(0x25b,']OmB')+'e']()){const _0x3192b5=_0x1cc2cb[_0x2dc068(0x25d,'Z4(4')](_0x9fdad2[_0x57907c(0x2c6,'ntC$')+_0x57907c(0x2a4,'0dyg')],null)?_0x1cc2cb[_0x2dc068(0x1e7,']OmB')](String,_0x9fdad2[_0x57907c(0x186,'d6]^')+_0x57907c(0xdd,'(QeB')]):null;if(_0x1cc2cb[_0x57907c(0x105,'8J4y')](_0x3192b5,_0x2667d7)&&_0x1cc2cb[_0x2dc068(0x2a2,'ij9#')](_0x3192b5,_0x2667d7))continue;const _0x2ffbae=_0x9fdad2[_0x2dc068(0x168,'12PV')+_0x57907c(0x154,'#O^[')]||'';if(/REACTION_LOG|ADMIN_TEXT|ACTION_LOG/i[_0x57907c(0x156,'!b$[')](_0x2ffbae))continue;const _0x1d77f4=this['_conte'+_0x57907c(0x1c6,'!b$[')+'xt'](_0x9fdad2),_0x394ed5=_0x1cc2cb['TMZjD'](_0x2ffbae,_0x1cc2cb[_0x57907c(0xe6,'!e@#')])?[]:this['_conte'+_0x2dc068(0x265,'a3jS')+_0x2dc068(0x19d,'&^UB')+_0x57907c(0xb4,'xh]b')](_0x9fdad2);if(_0x1cc2cb['rsruF'](_0x2ffbae,_0x1cc2cb[_0x57907c(0x28d,'$oyM')])&&_0x394ed5[_0x57907c(0x26b,'ntC$')]===0x0)continue;const _0x43bde3=_0x330da9&&_0x330da9[String(_0x9fdad2['id'])];_0x2045e5[_0x57907c(0x278,'d6]^')]({'type':_0x1cc2cb[_0x57907c(0x15a,'$Cp&')],'threadID':_0x334ef2,'senderID':_0x3192b5&&_0x2a88e8[_0x3192b5]?_0x2a88e8[_0x3192b5]:_0x3192b5,'messageID':_0x9fdad2['id'],'body':_0x1d77f4,'attachments':_0x394ed5,'itemType':_0x2ffbae[_0x2dc068(0x1c4,'q1Pt')+_0x2dc068(0x232,'*MzC')](),'repliedToItemId':_0x43bde3&&_0x43bde3[_0x2dc068(0x24d,'HcWq')+_0x57907c(0x225,'@tdc')+_0x2dc068(0xee,'lg^k')]||_0x9fdad2[_0x2dc068(0x1ac,'&^UB')+_0x2dc068(0x176,'H*$d')+'tem_id']||null,'repliedToMessage':_0x43bde3?_0x43bde3[_0x2dc068(0x1cd,'5fBk')+_0x57907c(0x1fa,'VqI@')+'sage']:null,'clientContext':_0x9fdad2[_0x2dc068(0x239,'a3jS')+_0x57907c(0x280,'HcWq')+'xt']||null,'offlineThreadingId':_0x43bde3&&_0x43bde3[_0x57907c(0x130,'HcWq')+_0x2dc068(0x1cc,'q1Pt')+_0x57907c(0xe1,'8J4y')]||_0x9fdad2[_0x2dc068(0x248,'!e@#')+_0x57907c(0x2c0,'W$Oi')+_0x57907c(0xc5,'H*]7')+'id']||null,'timestamp':_0x1cc2cb[_0x57907c(0x14f,'#O^[')](Number,_0x9fdad2[_0x57907c(0xc6,'d6]^')+_0x57907c(0x297,'5fBk')])||Date[_0x57907c(0x192,'a3jS')]()});}if(_0x8c2d30[0x0])this[_0x2dc068(0x1e2,'&K]a')][_0x57907c(0x286,'5fBk')](_0x334ef2,_0x8c2d30[0x0]['id']);}else{const _0x4aba5b=_0x1cc2cb[_0x57907c(0x212,'Uv$x')][_0x2dc068(0x159,'KM4c')]('|');let _0x281827=0x0;while(!![]){switch(_0x4aba5b[_0x281827++]){case'0':this[_0x57907c(0x193,'12PV')]=_0x1bbef8;continue;case'1':this[_0x2dc068(0x136,'^2#L')]=new _0x3b1410();continue;case'2':this[_0x2dc068(0x175,'0AQM')+'bid']=null;continue;case'3':this[_0x57907c(0xc9,'8NPe')+_0x2dc068(0x261,'^2#L')]=_0xc8af4e;continue;case'4':this[_0x57907c(0x1fd,'gvDH')+_0x57907c(0x2a9,'5fBk')]=null;continue;case'5':this[_0x57907c(0x2a7,'H*$d')+_0x57907c(0x25c,'5fBk')]=![];continue;case'6':this[_0x57907c(0x28f,'lg^k')+_0x57907c(0x241,'s%5u')]=new _0x27caff();continue;}break;}}}return _0x2045e5;}async[_0x4b9799(0x2bc,'gvDH')+_0x3cc931(0x256,'H*$d')](_0x4fb031,_0x2c5e62={}){const _0x544490=_0x3cc931,_0x6d0886=_0x3cc931,_0xb6860c={'PjJrl':function(_0x37fd68,_0x1f0e31,_0x220f9e,_0x4d5446){return _0x37fd68(_0x1f0e31,_0x220f9e,_0x4d5446);},'AKjop':function(_0x120c37,_0x1134f6){return _0x120c37(_0x1134f6);},'vjqoB':function(_0x39f061,_0x12399a,_0x53da18){return _0x39f061(_0x12399a,_0x53da18);},'VWyAO':function(_0x2dcb7c,_0x221854){return _0x2dcb7c!=_0x221854;}},_0x1b072e=await _0xb6860c['PjJrl'](fetchThreadDetail,this[_0x544490(0x288,'&K]a')],_0x4fb031,0x14),_0x39604e={};for(const _0x52b349 of _0x1b072e?.[_0x6d0886(0x296,'(QeB')+_0x544490(0x2ad,'(QeB')+'es']?.[_0x6d0886(0x238,'%kFD')]||[]){const _0x4fcd7c=_0x52b349[_0x544490(0x190,'lg^k')]||_0x52b349;_0x39604e[_0xb6860c['AKjop'](String,_0x4fcd7c['id'])]={'repliedToItemId':_0x4fcd7c[_0x544490(0x29b,'ntC$')+_0x6d0886(0x234,'*MzC')+_0x6d0886(0xd2,'0dyg')+_0x544490(0x206,'VqI@')]||null,'repliedToMessage':_0xb6860c[_0x544490(0x2c5,'&K]a')](normalizeRepliedMessage,_0x4fcd7c[_0x6d0886(0xf5,'@tdc')+_0x6d0886(0x199,'lg^k')+_0x544490(0x1d5,'(QeB')],_0x2c5e62),'offlineThreadingId':_0xb6860c[_0x6d0886(0x1bf,'gvDH')](_0x4fcd7c[_0x6d0886(0x1e4,'8NPe')+_0x6d0886(0x18d,'%kFD')+_0x6d0886(0x26a,'8J4y')+'id'],null)?_0xb6860c[_0x544490(0x229,'6hPd')](String,_0x4fcd7c[_0x544490(0x11a,'ij9#')+_0x544490(0x135,'@tdc')+_0x6d0886(0x142,'#O^[')+'id']):null};}return _0x39604e;}[_0x4b9799(0x1d6,'0dyg')+_0x4b9799(0x2c2,'#O^[')](_0x1e08a2){const _0x162c1b=_0x3cc931,_0x1e3b3a=_0x4b9799,_0x16f16c={'hjIpj':function(_0x284ec5,_0x1af230){return _0x284ec5(_0x1af230);},'ajxMz':function(_0x2e8db2,_0x4ca9d0){return _0x2e8db2||_0x4ca9d0;},'GTKpb':function(_0x3192c0,_0x4aedc1){return _0x3192c0==_0x4aedc1;},'UgyQG':function(_0x2c0f9a,_0x1a747e){return _0x2c0f9a===_0x1a747e;},'cyrsG':_0x162c1b(0x24a,'7fbb'),'jFpEd':function(_0xf4989f,_0x56935f){return _0xf4989f(_0x56935f);}},_0x270922=_0x1e08a2[_0x1e3b3a(0xb6,'!e@#')]||[],_0x450370=new Set(),_0x1a14b1={};for(const _0x2098c5 of _0x270922){const _0x28e154=_0x16f16c[_0x1e3b3a(0x17c,'a3jS')](String,_0x2098c5['id']||_0x2098c5['pk']);_0x450370[_0x1e3b3a(0x2bf,'VqI@')](_0x28e154),_0x1a14b1[_0x28e154]=_0x2098c5[_0x162c1b(0x137,'VqI@')+_0x1e3b3a(0x198,'(QeB')]||_0x2098c5[_0x162c1b(0x1d8,'gvDH')+'me']||_0x28e154;}const _0x277484={},_0x464b0d=_0x1e08a2['nickna'+_0x1e3b3a(0x18e,'!b$[')],_0x49da3c=Array[_0x162c1b(0x189,'s%5u')+'y'](_0x464b0d)?_0x464b0d:Object[_0x162c1b(0x127,'0AQM')](_0x16f16c[_0x1e3b3a(0x1a0,'gvDH')](_0x464b0d,{}));for(const _0x5acafe of _0x49da3c){if(_0x16f16c[_0x162c1b(0x1cb,'eFpp')](_0x5acafe,null))continue;if(_0x16f16c[_0x1e3b3a(0x281,'C)Fa')](typeof _0x5acafe,_0x16f16c[_0x1e3b3a(0x1cf,'xh]b')]))continue;const _0xfa19e1=_0x16f16c[_0x1e3b3a(0x23f,'W$Oi')](String,_0x5acafe[_0x1e3b3a(0x19b,'$oyM')]||_0x5acafe['pk']||_0x5acafe[_0x1e3b3a(0x158,'7fbb')+'d']||_0x5acafe[_0x162c1b(0x23b,'lg^k')+_0x162c1b(0x27e,'KM4c')+'id']||''),_0x4ff5c2=_0x16f16c[_0x1e3b3a(0x179,'&K]a')](typeof _0x5acafe['nickna'+'me'],_0x16f16c[_0x1e3b3a(0x273,'^2#L')])?_0x5acafe[_0x1e3b3a(0x1e1,'VFW#')+'me']:_0x5acafe[_0x1e3b3a(0x16e,'eFpp')+'me']?.[_0x162c1b(0x128,'H*$d')+'me']||null;if(_0xfa19e1&&_0xfa19e1!=='0'&&_0x4ff5c2)_0x277484[_0xfa19e1]=_0x4ff5c2;}for(const [_0x56d622,_0x15906a]of Object[_0x1e3b3a(0x1c0,'HcWq')+'s'](_0x16f16c[_0x162c1b(0x1e0,'@tdc')](_0x464b0d,{}))){if(typeof _0x15906a===_0x16f16c[_0x1e3b3a(0x112,'ij9#')]&&_0x15906a&&/^\d+$/[_0x1e3b3a(0x1f5,'VFW#')](_0x56d622))_0x277484[_0x16f16c[_0x162c1b(0x2a0,'!b$[')](String,_0x56d622)]=_0x15906a;}return{'title':_0x1e08a2[_0x1e3b3a(0x1ca,'Z4(4')+_0x162c1b(0x18a,'Uv$x')]||null,'image':_0x1e08a2[_0x1e3b3a(0x1aa,'(QeB')+'_image'+_0x162c1b(0x108,'8J4y')]||null,'isGroup':!!_0x1e08a2[_0x162c1b(0xf4,'s%5u')+'up'],'members':_0x450370,'names':_0x1a14b1,'adminIDs':new Set((_0x1e08a2['admin_'+_0x1e3b3a(0x250,'q1Pt')+'ds']||[])[_0x1e3b3a(0x11f,'VqI@')](String)),'nicknames':_0x277484,'threadID':_0x16f16c[_0x1e3b3a(0x226,'6hPd')](String,_0x1e08a2['id']||_0x1e08a2[_0x162c1b(0x132,'&K]a')+_0x162c1b(0x233,'d6]^')])};}[_0x3cc931(0x2a6,'QNA9')+_0x3cc931(0x28a,'&^UB')](_0x3d2feb,_0x2f9bfa){const _0x4fa0a6=_0x3cc931,_0x270d2e=_0x4b9799,_0x402739={'wuWcq':function(_0x49ed7e){return _0x49ed7e();},'pglBb':_0x4fa0a6(0xb5,'VqI@')+_0x270d2e(0xc8,'*MzC')+_0x4fa0a6(0x14d,'n6lQ'),'eZbYB':function(_0x12706a,_0x31ecad){return _0x12706a(_0x31ecad);},'sGdMq':function(_0x1deafb,_0x48dcf9){return _0x1deafb(_0x48dcf9);},'ynmqa':_0x270d2e(0x1f8,'8J4y')+_0x4fa0a6(0x264,'(QeB')+_0x270d2e(0x170,'0AQM'),'HlLHE':function(_0x296e48,_0x5918ef){return _0x296e48!==_0x5918ef;},'TMDoD':_0x270d2e(0xbd,'eFpp'),'IvNsQ':_0x270d2e(0x1ff,'&K]a')+_0x270d2e(0xec,'*MzC')+'e','uxRCZ':function(_0x31e40b,_0x2a4182){return _0x31e40b===_0x2a4182;},'uInvM':_0x270d2e(0xff,'$oyM'),'OpmNK':function(_0x3b9e81,_0x579ada){return _0x3b9e81!==_0x579ada;},'fPiWW':_0x270d2e(0x203,'$R!G'),'OJZrI':_0x270d2e(0x1e8,'%kFD'),'EFlZZ':function(_0x726e4b){return _0x726e4b();},'NitTQ':_0x270d2e(0xc7,'^2#L')+'read-a'+_0x270d2e(0x10b,'H*$d'),'xXWGS':_0x4fa0a6(0xc3,'H*]7')+_0x270d2e(0x196,'QNA9'),'xcafy':function(_0x3edd8b){return _0x3edd8b();},'apKBh':_0x270d2e(0x1f2,'ij9#'),'iyysB':function(_0x1c7029,_0xf5cbe2){return _0x1c7029!==_0xf5cbe2;},'RPWgE':_0x270d2e(0x118,'W$Oi')+_0x270d2e(0x115,'ij9#')+_0x270d2e(0x1a3,'^4aq')},_0x147c71=[],_0x4fbec5={'type':_0x270d2e(0x160,'&K]a'),'threadID':_0x2f9bfa[_0x4fa0a6(0x259,'7fbb')+'ID'],'author':'','participantIDs':[..._0x2f9bfa[_0x270d2e(0x282,'#O^[')+'s']],'isGroup':_0x2f9bfa[_0x4fa0a6(0x2ae,'d6]^')+'p'],'timestamp':Date[_0x4fa0a6(0x207,'KM4c')]()},_0x3f3a6b=()=>_0x270d2e(0x213,'s%5u')+_0x2f9bfa[_0x270d2e(0x271,'xh]b')+'ID']+'.'+Date[_0x4fa0a6(0xdb,'ntC$')]()+'.'+Math[_0x270d2e(0x205,'$R!G')]()[_0x4fa0a6(0x19c,'z6M$')+'ng'](0x24)[_0x4fa0a6(0x284,'^4aq')](0x2,0x8);if(_0x3d2feb[_0x270d2e(0x246,'6hPd')+'p']&&_0x2f9bfa[_0x4fa0a6(0x109,'CgLE')+'p']){const _0x29563e=[..._0x2f9bfa[_0x4fa0a6(0x10a,'*MzC')+'s']][_0x4fa0a6(0xd9,'0dyg')](_0x1b6c60=>!_0x3d2feb[_0x270d2e(0xde,'0AQM')+'s'][_0x4fa0a6(0x12d,'eFpp')](_0x1b6c60)),_0x1c59bc=[..._0x3d2feb[_0x4fa0a6(0x216,'6hPd')+'s']][_0x270d2e(0x236,'!b$[')](_0x12e425=>!_0x2f9bfa['member'+'s']['has'](_0x12e425));_0x29563e[_0x4fa0a6(0xf7,'KM4c')]&&(_0x402739[_0x4fa0a6(0x290,'$oyM')](_0x270d2e(0x2a8,'q1Pt'),_0x402739[_0x270d2e(0x235,'s%5u')])?_0x4a747a[_0x4fa0a6(0x17e,'xh]b')]({..._0x280789,'messageID':_0x402739['wuWcq'](_0x15bdb3),'logMessageType':_0x402739[_0x270d2e(0x107,'lg^k')],'logMessageData':{'participant_id':_0x4e4f14,'nickname':_0x7c82c0[_0x4fa0a6(0xd8,'Z4(4')+_0x4fa0a6(0x2b1,'12PV')][_0x37c134]}}):_0x147c71[_0x270d2e(0x16c,'ntC$')]({..._0x4fbec5,'messageID':_0x3f3a6b(),'logMessageType':_0x402739[_0x4fa0a6(0x2ba,'VFW#')],'logMessageData':{'addedParticipants':_0x29563e[_0x4fa0a6(0x243,'8J4y')](_0x18f0ca=>({'userFbId':_0x18f0ca,'fullName':_0x2f9bfa[_0x4fa0a6(0x254,'lg^k')][_0x18f0ca]||_0x18f0ca,'firstName':(_0x2f9bfa[_0x4fa0a6(0x28e,'VqI@')][_0x18f0ca]||'')[_0x4fa0a6(0x1e3,'6hPd')]('\x20')[0x0]||_0x18f0ca}))}}));for(const _0x4dc6c7 of _0x1c59bc){if(_0x402739[_0x4fa0a6(0x111,'KM4c')](_0x270d2e(0x272,'s%5u'),_0x402739[_0x4fa0a6(0x13c,'dfN2')]))_0x147c71[_0x270d2e(0x1d1,'VFW#')]({..._0x4fbec5,'messageID':_0x3f3a6b(),'logMessageType':_0x270d2e(0x27d,'^2#L')+_0x4fa0a6(0x26d,'%kFD')+_0x270d2e(0x22e,'a3jS'),'logMessageData':{'leftParticipantFbId':_0x4dc6c7}});else{for(const _0x57e59c of _0x34f403){const _0x3d4cdb=_0x402739[_0x270d2e(0xe5,'escu')](_0x2c05df,_0x57e59c['id']||_0x57e59c[_0x4fa0a6(0x113,'dfN2')+_0x4fa0a6(0x126,'&^UB')]),_0x4ffa35=this[_0x4fa0a6(0xe9,'!b$[')+_0x4fa0a6(0x1d9,'&K]a')+_0x270d2e(0x166,'eFpp')](_0x57e59c)[0x0];if(_0x4ffa35)this[_0x270d2e(0x11c,'eFpp')][_0x270d2e(0x25f,']OmB')](_0x3d4cdb,_0x4ffa35['id']);}this[_0x4fa0a6(0x2c1,'^4aq')+_0x270d2e(0x2c7,'$oyM')]=_0x4c9d22,this[_0x270d2e(0x25e,'@tdc')+_0x4fa0a6(0xa8,'(QeB')]=!![];return;}}const _0x2e573f=[..._0x2f9bfa[_0x270d2e(0x1ae,'%kFD')+'Ds']][_0x270d2e(0x1ba,'escu')](_0x2adca3=>!_0x3d2feb[_0x4fa0a6(0x181,'RjRa')+'Ds'][_0x4fa0a6(0x253,'12PV')](_0x2adca3)),_0x385b08=[..._0x3d2feb[_0x4fa0a6(0x29f,'lg^k')+'Ds']][_0x4fa0a6(0x194,'z6M$')](_0x40e30e=>!_0x2f9bfa[_0x270d2e(0x1f3,'^4aq')+'Ds'][_0x270d2e(0x1f7,'CgLE')](_0x40e30e));for(const _0x283937 of _0x2e573f){if(_0x402739[_0x4fa0a6(0xcd,'q1Pt')](_0x402739[_0x4fa0a6(0x1dc,'%kFD')],_0x402739[_0x4fa0a6(0x133,'C)Fa')]))_0x147c71['push']({..._0x4fbec5,'messageID':_0x402739[_0x270d2e(0x266,'0dyg')](_0x3f3a6b),'logMessageType':_0x402739['NitTQ'],'logMessageData':{'ADMIN_EVENT':_0x402739[_0x270d2e(0x257,'^4aq')],'TARGET_ID':_0x283937}});else{const _0x548e9d=_0x402739[_0x4fa0a6(0x1b7,'ij9#')](_0x16b6ee,_0x6a1475['id']||_0x402061[_0x4fa0a6(0x1bb,'ntC$')+_0x270d2e(0x20c,'QNA9')]),_0x4ba4d5=this[_0x4fa0a6(0x262,'dfN2')+_0x270d2e(0x139,'eFpp')+_0x270d2e(0x14c,'0AQM')](_0x3ccaed)[0x0];if(_0x4ba4d5)this[_0x4fa0a6(0x17d,'&^UB')]['set'](_0x548e9d,_0x4ba4d5['id']);}}for(const _0xbffe6d of _0x385b08){_0x147c71[_0x270d2e(0xb7,'a3jS')]({..._0x4fbec5,'messageID':_0x402739[_0x4fa0a6(0x23e,'ij9#')](_0x3f3a6b),'logMessageType':_0x402739[_0x4fa0a6(0x240,'^4aq')],'logMessageData':{'ADMIN_EVENT':_0x270d2e(0x16b,'&K]a')+_0x270d2e(0x2c3,'dfN2'),'TARGET_ID':_0xbffe6d}});}for(const _0x51e0f7 of Object[_0x4fa0a6(0x1f1,'d6]^')](_0x2f9bfa[_0x270d2e(0x275,'xh]b')+_0x270d2e(0x147,'QNA9')])){_0x402739[_0x270d2e(0x10e,'@tdc')]!==_0x402739[_0x270d2e(0xd6,'CgLE')]?_0x1beaf6[_0x4fa0a6(0x278,'d6]^')]({..._0x199c08,'messageID':_0x402739[_0x270d2e(0xda,'7fbb')](_0x11b206),'logMessageType':_0x402739[_0x270d2e(0x2cc,'ij9#')],'logMessageData':{'name':_0x280a75['title']}}):_0x3d2feb['nickna'+_0x270d2e(0x185,'escu')][_0x51e0f7]!==_0x2f9bfa[_0x4fa0a6(0x184,'7fbb')+_0x270d2e(0xd3,'a3jS')][_0x51e0f7]&&_0x147c71[_0x4fa0a6(0x17f,']OmB')]({..._0x4fbec5,'messageID':_0x402739[_0x4fa0a6(0x1b5,'escu')](_0x3f3a6b),'logMessageType':_0x402739[_0x270d2e(0xbc,'6hPd')],'logMessageData':{'participant_id':_0x51e0f7,'nickname':_0x2f9bfa[_0x270d2e(0x268,'HcWq')+_0x270d2e(0x119,'q1Pt')][_0x51e0f7]}});}}return _0x402739[_0x4fa0a6(0x1f9,'&^UB')](_0x3d2feb[_0x4fa0a6(0x287,'12PV')],_0x2f9bfa[_0x4fa0a6(0x1f0,'Z4(4')])&&_0x147c71[_0x270d2e(0x197,'$Cp&')]({..._0x4fbec5,'messageID':_0x3f3a6b(),'logMessageType':_0x402739[_0x4fa0a6(0xca,'H*]7')],'logMessageData':{'name':_0x2f9bfa[_0x270d2e(0x12c,'CgLE')]}}),_0x402739[_0x270d2e(0x21c,'ij9#')](_0x3d2feb['image'],_0x2f9bfa[_0x4fa0a6(0x1da,'CgLE')])&&_0x147c71[_0x270d2e(0x1fe,'%kFD')]({..._0x4fbec5,'messageID':_0x3f3a6b(),'logMessageType':_0x402739['RPWgE'],'logMessageData':{'url':_0x2f9bfa[_0x270d2e(0x134,'0dyg')]}}),_0x147c71;}async[_0x4b9799(0x2c4,'!e@#')+_0x3cc931(0x2b3,'8NPe')](_0x24b597){const _0x2d0e92=_0x4b9799,_0x579715=_0x3cc931,_0x3f3531={'lDtrL':function(_0x3f274b,_0x11925c,_0x1c7f4f,_0x35282d){return _0x3f274b(_0x11925c,_0x1c7f4f,_0x35282d);},'UyupP':function(_0x1e5fa5,_0x1ac852){return _0x1e5fa5(_0x1ac852);},'EEgnS':function(_0x79e975,_0x387489){return _0x79e975(_0x387489);},'mKaYW':function(_0x1aa097,_0x466511){return _0x1aa097&&_0x466511;},'wfwXJ':function(_0x3eb611,_0x5bea9b){return _0x3eb611!=_0x5bea9b;},'PALZK':function(_0x4b318b,_0x57bc7d){return _0x4b318b||_0x57bc7d;}},_0x3c9f68=await _0x3f3531[_0x2d0e92(0x1b0,'8NPe')](fetchThreadDetail,this[_0x2d0e92(0x2cb,'ij9#')],_0x24b597,0x14)[_0x579715(0x164,'&K]a')](()=>null);if(!_0x3c9f68)return{};const _0x2a6019=_0x3f3531[_0x579715(0xd4,'7fbb')](threadFbidMap,_0x3c9f68),_0x4db8b6={};for(const _0x2febad of _0x3c9f68[_0x579715(0x1fc,'KM4c')]||[]){const _0x49515e=_0x3f3531[_0x2d0e92(0x122,'VFW#')](String,_0x2febad['id']||_0x2febad['pk']||'');if(_0x49515e)_0x4db8b6[_0x49515e]=_0x2febad;}const _0x13c95e=(_0x3c9f68[_0x579715(0x16f,'xh]b')+_0x579715(0x242,'lg^k')+'es']?.[_0x2d0e92(0x2af,'^4aq')]||[])['map'](_0x2ddb4f=>_0x2ddb4f[_0x2d0e92(0x24c,'7fbb')]||_0x2ddb4f),_0x575448={};for(const _0x2a9b3e of _0x13c95e){const _0x23f9bb=_0x3f3531[_0x579715(0x10c,'escu')](String,_0x2a9b3e[_0x579715(0xe0,'lg^k')+_0x2d0e92(0x1d4,'eFpp')]||''),_0x23fe56=/ADD_PARTICIPANT_XMAT/i[_0x579715(0x1db,'W$Oi')](_0x23f9bb),_0x10240f=/REMOVE_PARTICIPANT_XMAT/i[_0x2d0e92(0x2b0,'C)Fa')](_0x23f9bb);if(_0x3f3531[_0x579715(0x215,'xh]b')](!_0x23fe56,!_0x10240f)||_0x23fe56&&_0x575448[_0x579715(0x1d0,'12PV')]||_0x10240f&&_0x575448[_0x579715(0x17a,'8NPe')])continue;const _0x2ab720=_0x3f3531[_0x579715(0xfc,'Uv$x')](_0x2a9b3e[_0x579715(0x13b,'s%5u')+_0x2d0e92(0x25a,'6hPd')],null)?String(_0x2a9b3e[_0x2d0e92(0x2bd,'a3jS')+_0x2d0e92(0x13d,'!b$[')]):null,_0x5d85aa=_0x2ab720&&_0x2a6019[_0x2ab720]?_0x2a6019[_0x2ab720]:_0x3f3531[_0x2d0e92(0x1d3,'VFW#')](_0x2ab720,''),_0x4793ea=_0x4db8b6[_0x5d85aa]||{},_0x2ffb73=_0x2a9b3e[_0x2d0e92(0xf1,'^2#L')+'t']?.[_0x2d0e92(0x1b9,'5fBk')+_0x2d0e92(0x12f,'VFW#')+'ts']||[],_0x24f89f={'actorID':_0x5d85aa,'actorName':_0x4793ea[_0x579715(0x183,'0AQM')+_0x579715(0x117,'lg^k')]||_0x4793ea['userna'+'me']||_0x2ffb73[0x0]?.[_0x2d0e92(0x1c7,'^4aq')+_0x2d0e92(0x29d,'^4aq')]||null,'targetName':_0x2ffb73[_0x579715(0x1b8,'HcWq')]?_0x2ffb73[_0x2ffb73[_0x579715(0xb2,'@tdc')]-0x1][_0x579715(0xf6,'(QeB')+'ext']:null};if(_0x23fe56)_0x575448[_0x579715(0x228,'W$Oi')]=_0x24f89f;else _0x575448[_0x2d0e92(0x2d2,'s%5u')]=_0x24f89f;}return _0x575448;}[_0x3cc931(0x23a,'z6M$')](_0x4ee518,_0x5d6089=0x3a98){const _0x53f2c1=_0x4b9799,_0x4ab986=_0x3cc931,_0x12a731={'kPONu':function(_0x4c6f62,_0x51de74){return _0x4c6f62(_0x51de74);},'wfBoT':function(_0x52e638,_0x17ba76){return _0x52e638===_0x17ba76;},'NLLli':function(_0x22740d,_0x1be56d,_0x4ab0df){return _0x22740d(_0x1be56d,_0x4ab0df);},'SfAHf':function(_0x598dd0,_0x4e3d2b){return _0x598dd0!==_0x4e3d2b;},'GiTgS':_0x53f2c1(0x1ad,'#O^['),'Ppcnp':function(_0x9e1022,_0x4469c0){return _0x9e1022===_0x4469c0;},'MdOyt':_0x4ab986(0xbf,'C)Fa'),'JGbYz':_0x53f2c1(0x14b,'0dyg'),'BSGHS':function(_0xca1f87){return _0xca1f87();}};let _0x5046b1=![];const _0x2d5e4a=async()=>{const _0x4d4656=_0x4ab986,_0x2a223a=_0x53f2c1,_0x3ac85e={'ftkwu':function(_0x1ae96a,_0x3c51d0){const _0xaa72b4=_0x5253;return _0x12a731[_0xaa72b4(0x143,'H*]7')](_0x1ae96a,_0x3c51d0);}};if(_0x5046b1)return;_0x5046b1=!![];try{const {threads:_0xc1519b}=await this['getInb'+'ox'](),_0x50a6f0=new Map();for(const _0x34e634 of _0xc1519b)_0x50a6f0[_0x4d4656(0xb9,'#O^[')](String(_0x34e634['id']||_0x34e634[_0x2a223a(0x161,'C)Fa')+_0x2a223a(0x2c9,'a3jS')]),this[_0x4d4656(0x201,'7fbb')+_0x4d4656(0x18b,'W$Oi')](_0x34e634));if(_0x12a731[_0x4d4656(0x23c,'7fbb')](this[_0x4d4656(0x298,'VqI@')][_0x2a223a(0x2ac,']OmB')],0x0)){for(const _0x1b35a0 of _0xc1519b){const _0x16ad19=String(_0x1b35a0['id']||_0x1b35a0[_0x2a223a(0x1aa,'(QeB')+_0x4d4656(0x29a,'KM4c')]),_0x56d05f=this[_0x2a223a(0x262,'dfN2')+_0x4d4656(0x2d1,'q1Pt')+_0x4d4656(0x19e,'escu')](_0x1b35a0)[0x0];if(_0x56d05f)this[_0x2a223a(0x18c,'Z4(4')][_0x4d4656(0x1f6,'ij9#')](_0x16ad19,_0x56d05f['id']);}this[_0x2a223a(0x165,'(QeB')+_0x2a223a(0x144,'VFW#')]=_0x50a6f0,this[_0x4d4656(0xbb,'gvDH')+_0x2a223a(0x151,'CgLE')]=!![];return;}for(const _0x24a15f of await this[_0x4d4656(0x167,'0dyg')+_0x4d4656(0xe8,'H*$d')+'ts'](_0xc1519b))_0x12a731[_0x4d4656(0x1ea,'dfN2')](_0x4ee518,null,_0x24a15f);if(this[_0x2a223a(0x202,'C)Fa')+_0x2a223a(0x11e,'$oyM')]){if(_0x12a731[_0x2a223a(0x222,'escu')](_0x2a223a(0x2b4,'8NPe'),_0x12a731[_0x4d4656(0x289,'escu')])){const _0x4bc89c=_0x12a731[_0x4d4656(0x2cd,'0AQM')](_0x5aa2fa,_0x2fe9a3['id']||_0x3aa30e['pk']);_0x470c86[_0x4d4656(0xe3,'^2#L')](_0x4bc89c),_0x30980e[_0x4bc89c]=_0x549442[_0x2a223a(0x148,'%kFD')+_0x2a223a(0x27b,'H*$d')]||_0x416ebf[_0x2a223a(0x123,'%kFD')+'me']||_0x4bc89c;}else for(const [_0x3f7161,_0x30cff6]of _0x50a6f0){const _0x3a76f6=this[_0x2a223a(0x1b3,'8J4y')+_0x2a223a(0xe2,'%kFD')][_0x4d4656(0x188,'!e@#')](_0x3f7161);if(!_0x3a76f6)continue;const _0x1a25a4=this[_0x2a223a(0x145,'Uv$x')+'hread'](_0x3a76f6,_0x30cff6);if(_0x1a25a4[_0x2a223a(0xd7,']OmB')](_0xd566a3=>_0xd566a3[_0x2a223a(0x13a,'VqI@')+'sageTy'+'pe']===_0x2a223a(0x2aa,'12PV')+_0x4d4656(0x22d,'ij9#')+'e'||_0xd566a3[_0x2a223a(0x13a,'VqI@')+_0x2a223a(0x116,'d6]^')+'pe']===_0x2a223a(0x140,'$Cp&')+_0x2a223a(0x174,'8J4y')+_0x4d4656(0x121,'8J4y'))){const _0x5d1e2d=await this[_0x2a223a(0x15f,'d6]^')+_0x4d4656(0x29e,'!e@#')](_0x3f7161);for(const _0x5b30d3 of _0x1a25a4){const _0x455a64=_0x5b30d3[_0x2a223a(0xb3,'12PV')+_0x2a223a(0x2b8,'ntC$')+'pe']===_0x2a223a(0x283,'escu')+_0x4d4656(0x171,'VFW#')+_0x2a223a(0xae,'dfN2')?_0x5d1e2d[_0x2a223a(0x157,'6hPd')]:_0x5d1e2d[_0x4d4656(0xa9,'z6M$')];if(!_0x455a64)continue;_0x5b30d3[_0x4d4656(0x279,'QNA9')]=_0x455a64[_0x4d4656(0x2c8,'$Cp&')+'D']||_0x5b30d3[_0x2a223a(0x1be,'0dyg')],_0x5b30d3[_0x2a223a(0x2ab,'5fBk')+_0x4d4656(0x24e,'H*$d')+'ta']={..._0x5b30d3['logMes'+'sageDa'+'ta'],'actorName':_0x455a64[_0x4d4656(0x1df,'xh]b')+_0x2a223a(0xb0,'Z4(4')],'targetName':_0x455a64[_0x2a223a(0x1fb,'!b$[')+_0x2a223a(0xf3,'$oyM')]};if(_0x455a64[_0x4d4656(0x252,'q1Pt')+'D']&&_0x455a64[_0x2a223a(0x2ce,'^2#L')+_0x4d4656(0x1c5,'@tdc')])try{await global['db'][_0x4d4656(0x21d,'$R!G')+_0x2a223a(0x277,'*MzC')][_0x2a223a(0x26f,'C)Fa')](_0x455a64[_0x4d4656(0x208,'6hPd')+'D'],{'name':_0x455a64[_0x2a223a(0x269,'!b$[')+_0x2a223a(0xb8,'0dyg')]});}catch(_0x1e784f){}}}for(const _0x5dd35b of _0x1a25a4)_0x4ee518(null,_0x5dd35b);}}this['_threa'+_0x4d4656(0xfb,'KM4c')]=_0x50a6f0;}catch(_0x240eb6){_0x12a731[_0x2a223a(0x1ec,'#O^[')](_0x4ee518,_0x240eb6,null);}finally{if(_0x12a731['Ppcnp'](_0x12a731[_0x4d4656(0x169,'7fbb')],_0x12a731[_0x2a223a(0x2b5,'gvDH')]))return _0x3ac85e[_0x4d4656(0x1a2,'H*]7')](_0x42fbcc,_0x2ee943);else _0x5046b1=![];}};return this[_0x4ab986(0xed,'escu')+_0x4ab986(0xcf,'&K]a')]=_0x12a731[_0x53f2c1(0x1a9,'VFW#')](setInterval,_0x2d5e4a,_0x5d6089),_0x12a731[_0x53f2c1(0x27c,'ntC$')](_0x2d5e4a),()=>clearInterval(this[_0x53f2c1(0xf0,'5fBk')+_0x4ab986(0x11b,'^2#L')]);}[_0x4b9799(0xad,'8NPe')+'p'](_0x2459ae){const _0x291dae=_0x3cc931,_0x2b3e10=_0x3cc931,_0x558d2a={'ZkJQq':function(_0x3a825d,_0x308881){return _0x3a825d===_0x308881;},'mbROM':function(_0x3ab844,_0x514529){return _0x3ab844(_0x514529);},'CcvqH':_0x291dae(0x1ee,'s%5u')};if(_0x2459ae&&_0x558d2a['ZkJQq'](typeof _0x2459ae,_0x2b3e10(0x138,'d6]^')))return _0x2459ae[_0x291dae(0xcc,'0dyg')]||_0x2459ae;const _0x2ec9e2=_0x558d2a[_0x291dae(0xce,'n6lQ')](String,_0x2459ae)[_0x2b3e10(0x1a4,'H*]7')+'e'](/^for \(;;\);/,'');try{return JSON[_0x2b3e10(0x15d,'QNA9')](_0x2ec9e2)[_0x291dae(0x20f,'d6]^')];}catch(_0x29a78e){return _0x558d2a[_0x2b3e10(0x129,'ij9#')](_0x558d2a[_0x291dae(0x263,'VFW#')],_0x558d2a[_0x2b3e10(0xe7,'8J4y')])?null:_0x331716[_0x2b3e10(0x1bc,']OmB')](_0x46ab94)[_0x2b3e10(0x172,'$Cp&')];}}[_0x3cc931(0x231,'0AQM')+_0x3cc931(0xef,'C)Fa')+'g'](){const _0x25e80e=_0x3cc931,_0xfc477e=_0x4b9799,_0x59661e={'DcGsY':function(_0x2c09cd,_0xa8899){return _0x2c09cd(_0xa8899);}};if(this[_0x25e80e(0x16a,'H*]7')+_0x25e80e(0x299,'8J4y')])_0x59661e[_0x25e80e(0x153,'q1Pt')](clearInterval,this[_0xfc477e(0x141,'$oyM')+_0x25e80e(0x163,'CgLE')]);}}function _0x315d(){const _0x5c9f9d=['gCkOrSkSFq','WQJcSSo6WQdcOCkz','W6RdUCoDca','WQFcSNVcUCkGWP0','W5veWPm','WQxdIuRcN3rX','W4DaWOqizCox','W6pdVchcMhG','W5brWPDL','W4hdLdxcVNuZ','xwC0','aSk0va','W7ZdNaz1w2C','AHlcGL/dK8kk','zwSJ','W4BcPMVdRCkQW5dcNmkMW4fv','W4S9WRO','WOVdMmoCW7JdVSoj','BN3dJXJcMqW','W5mymqi','WQJcOCo6WQlcUCkO','WRfQe1auW5hdTCkn','WQjUWOhcGmoA','rmkotfO','qSo1dmkQzSov','W6NcRcNdQaa','W7ddMH94tfW','oeztCqFcUW','f8oBpCkyWQ5vWPNcOmkV','EL3cOq','W7ipvmoqWPbU','n8oyW5dcVSkI','l8kXxSorlW','W4BdHJ7cQgKA','W7y2iNaHW74','W6tcUSkod8kRnW','dSkYrW','lXdcM0VdNuTRWQddHevCW5lcKa','WONdQmkWW6ZdNG','iSkHvCohdSog','pCo1kSo5WRfM','WQC1s8kRhYS','W7FdUqjFtq','fu5A','l8oWkq','W5ZdTbH1wq','WPJdLmoc','eXaIWOq','tCk3e8kOFGe','jmk7rmoqbmoq','xx7dTW','sSosWPfY','W7X+WPuAySot','BvBdJq3cPHy','esyWWP9k','W6Gqiq','bZOLWOnWuG','DCk1FbVcRG','W7VdHmojbmo2qG','W7y9WRO','W7/dQmojbte','v3ddUWFdRCox','B0tcTWFcVSkH','rqdcLuFdNmkV','WO3dNgBcKva','W7xdMCoraa','pSkRrSoefa','jSo+bmoSWPG','W5lcJXfZAa','rCkRtbxcNSor','watcLeddLmkR','W5ZcTWO','WQJcNCo9WR/cPa','k8k9nXBcTCop','W7tdJdvOrLS','WRDUW6LmD8ob','WPddL8oxW7hdPmot','W73cLG12Dq','WONdJLBcL2PL','dCkYtW','WPtdLudcMW','W7C/o3GTW4q','W5ldVuv4lYq','WQX/W61cxmob','W40QWPKEz8kx','smkDyCkSWQT1','W5K6WOGdsSk3','W5FdSgC','wWdcILBdHG','WRldUSkfW5tdIX8','W4tdRe50dJy','W6tcVJjGAG','W74Qr8ouWPC','WO7dKLBcM2vM','W4ldMrbZtq','WOBdUI7cVSk6W7q','f8olW4VcOmkIWPK','WPz5W5bPzq','WPWsumkdhYS','WOFdUIW','WQj9WR7cNCoVoG','W7xcH8kp','jmoEW7a3W6/cLW','WPenpuZcQa','xmk9hmk4nGe','wMJdHG3dGSox','E8oXWOvCpq','W6PyEq3dKSoxFCkarf5OWQ0','W6SZkh8QW4a','W7ZdJSorh8oHFG','W5dcSHn6W6FcTW','W7CzE8ofWPzN','uhtdGbxdGa','W6NdUComeYhcLG','W4xdV8oldctcOG','W6TwWOq','yutcOa','W7dcJZRdLdBcMq','DmkiyIlcNG','W6tcT8k5cSkj','W6ZdGtpcQh8/','W6RcJIVdMJNcNa','tCosWPP1dHK','aHeW','W4CmnGS','W7uHWQOGsui','W7LqWOqaFSoC','W4ddSuC','W5KVuSoQWRe','W6VcOCkSq8k7nW','bCkRqSkWESo4','W6qNnMFcLIG','W5O5jhOWW4q','W41uWOK4vG','W5H8hSouiXC','WRBdOCkwWP7dJuS','W6/cIGXexa','W4JcGXFdIgzvd8oBWOhcGa','nmoCW5y','W4VdUgbWyW','WQpcQwJdSW','WP3dP8kLW4pdQW','W6K0n0lcLW','WRqkeNFcGW','WQ/dG8oyW7ddQmoz','W6iDb8kgWOS','Bg89WRyT','AHxcJ0hdKmkT','W4uCb8kpWOi','W5OUi2yHW4a','WOddUIdcRW','DuJcQGC','W45DFI/cJ8kD','d8owfXFcHCoA','xCk0fmk4FJa','jSouW5lcKSkQWO4','xx01WRyW','W5JcUX9M','m8kYrW','W6KzzCooWOTQ','WRqhj0NcHCkv','W7NcNHe','WOVdSmosW6NdOSop','vaxcILRdM8kf','W7FdQ8ovnCo3','gCk7qSohaW','imkSFSoOdG','cezXjZq','yCorWOTVaW','WOxdUSkzW5BdNuq','W4SWWRCUqgq','W77dR1z8hYa','W607WRK1wG','lSouW4FcVW','W5pdVNmMDCox','k8owW4xcGmkIWO4','WOFdTIlcVG','q8k9dSkVEGG','W54kaHhcHrK','W7NcGGjcsG','W6XwWOmD','W5ldTgC','fZiRWP5o','W4XKWObHose','W7D2WOTJmG','WR3cHCo3WPxcTW','W70WWRSxs1e','umodWOXOeW','W6GDCSohWRz2','W6xcKYja','WPSybu7cSq','W7y5ox00W5u','WPhcP8oHWQ/cPCkF','r3NdVaBdPSor','W5XwCHxcNa','y2O0','k8oloCo0WObS','W4pcKG1vxmko','W512bW','jmolW7WOW6pcMa','WQddNCoqW6NdQmoo','WR3cT23dRmkr','W6GzE8ogWOD9','W6KJp8kMWRmv','k0rkmbBcNq','A3xdTG','mZ9GW6zRqmoTWQVcMZFcSmkK','lSk8u8os','p8kMsSotda','DxldRtpcNW','W6BcRCk/fSk8fW','WQdcRJtdPSkArW','WQJdJCkqW5FdNq','W5WuWPKFs8kF','u8kDvrVcNmor','W7tdKbW','FSkQfmkXFGS','yKNcOa','WPhdNSovW7G','kmk8C8onlmog','W68PnKy','W6DqWO1Ijdi','eSoiW70','W6GAkG3cNGK','WQrMW60','W5P1f8otna','WQ8esSkfhYy','W5pdVNnry8or','W6RcKZS','BMe3W6KRbG','WORdGSouW6/dVG','rgNdOqO','x8oAWOW','W4z8bW','W4VcGXhdJJjknSoLWPRcR8kH','WQJcSCoHWQ3cUCkO','W63dMb5ysW','DmklqCkyWPy','mSkGvCohdmow','W6fjWRWZyq','W6ZdPCokbs3cUW','bSkbW5S2vuBcUG7dVgRcVmoM','hmk0umkQsCov','W5TwtWdcNSkC','W4XSWO13osS','W5TwqJhcMmkN','W4mqkaBcMrG','W6VcOCkSq8k6mq','bHD8WOjgxa','W59aWPDajty','W4nCrI7cNG','W5idlSkRWQe2','wSowWP1N','W7CPWPeICW','zmkafbjK','WQlcShNdSq','pamZWOvlCG','WPJcUdtdKSkDrW','w8oeWPPNabm','wxNdOq','WQ/dG1hcJLq','W6bFl8kUWRuv','p8k+gsBcGG','WOFdSdxcVG','WQTIW6TeBCoj','wmoEWOvYaGq','WO3dJ3pcNxu','W7utyG','W6dcGX5sW6m','CCk+h8k1FW','C0FdJX/cJW0','WQ3dLvDvFCkvW7VdVSod','vG7cIuFdKmkI','W5xcVXrZW4NcJa','W77dN8oAatBcGq','W6BcQSkV','WOtdPK4TWRBdKCk3q8kxWOu6BG','WR/dLmktW73dUG','WPddNmo9W5ZdGq','W7lcTqXLW4G','W4ldQgDRdIS','W4ldMConaSo2uq','FSkmFmk1WOzG','WQRdLuJcN3zR','aryYWP5gxq','WOxdVSkEW4JdLhe','wcJcGW','W6ThWPuhEmoC','gmojW43cOCkRWQK','W6tcOCkLdCkRnW','mCoqW4FcUSkIWO8','W4mrjSkI','smklzXpcMmoB','WReevmkoaIS','xSk0hmk1DrS','amk+tCk5ESop','W7tdUmo6dXBcGq','W4tcVSkHWRddUmkX','hSk+u8kYB8oe','cmkiv8k/ESoc','WRL+WQFcOSor','W6isEehdKCkB','h8olW6WK','W5GaeCkrWRm','WQvTW6T4ehG9WO8CW7K6','WRpcKv13tf0','yCkzhmkXsG','tmkmD8kYWPvM','smkuwHVcKSoR','W6JcTa13W7q','DSkiWPldUmoYW4JdKIRdT2ZcRay','rqBcI3hdLW','W67cOWH4','n8k9frBcHCot','dGa8WO5ktq','W4xdSuTZga','WP/dI8kwW4RdQW','W5TvqJhcMmkN','WQirB8kGaW','Amkqz8klWP4','W64ezmkUWQKs','gCkJCCkDva','jCkXvCorkG','d8ocW6OGW6VcKG','hmopW6WAW7NcMG','nmkTrSogqmoB','W4qyiGBcVHu','vaZcGG','iSo7kSkMWOzH','W5u8WO8','kCkUqCoobmoC','W67cO8kUcW','FSkAyCkKWPO','WPP4W61dzCoU','W50ciSkQWQiu','B28G','WOmQgSoLab0bW6i','W5JcTb8','WPCRlfpcSW','W6/dV8oleIZcHq','v8odWOXRfa','lCk6mWRcNSov','W54VnG','AepdJGJcJWW','W4/dTuf2bsq','hmkJBCoZha','k8kPvW','WPVdIxVcL2nD','kSkNjGJcJW','sCkiDW','W4uHWRS6xW','WQaplfdcHCkj','W6O8lxGTW48','jCkPu8obbq','WR/cTw7dPSkYWOW','W5D5WQOBwa','v8oAWOHHaG','WQy+umkkgsS','W5JcVCkUhmkG','zhS8WR8bgW','W5GBlWBcIrG','rCkKyCkYWODG','BMe3WP47bG','uSkDvHdcJ8og','dSoJW7yZW4C','W4ldI8ohgCo3','W6G7oW','l8onW5BcVq','jKHzzrhcUG','W5iajmkRWQSK','W5r9gSoyitO','W5fIzbhcIG','WRy9p1ZcLmkc','WPf8WRNcNmo9bG','W6GOivFcKJS','W7KXWQ0','W7ZdUCocdb3cIG','asZcPLVcTCkAiHaPhSo6wa','BCkcm8kpwa','CSotWO1qna','EuFdKq','ySkmjZbm','aqW1','W4r8fmoyaq','pKzDnWNcSq','dSk8oWNcJ8oc','W7xcOCkgW5pdJWS','W7W6WRSFyq','W4fgb8opnGa','W7hcGXzuwmki','W6NdImowba','W6/dMH91x0S','WO/dIuhcJfTR','h8kRt8k3EG','lKHycry','W5/cUr5X','WQVdQJBcRmk6W6y','W6q1WQW7qW','aI/dUZhdHCoBic8','W6GvjbFcJX8','WQ7cQ3NdRCkN','W6XBWOimCmow','gCkKsmof','n8kJnXy','WQJcVgJdOmk7','CCkSfCkUFG4','rSkmDW','yCosWPfYfrC','W5ZdVNPOy8om','WRFdNMVcH3a','W6vcrdpcK8kS','WRNcUhhdRmkLWO0','W6SjzSok','W7lcVCkUc8krpW','t8kaz8kQWPPG','W7FcIYhdLtlcOG','F0/dHW','WQeBku7cG8kv','lKzkpG','W6/dUCohba','W4lcOXHNW6pcMG','qvhdHXhcJdK','W4xdG1zYncW','WQNcJYPEEv7dSCkT','WRulpW','WP7cUMxdKSku','W4PaWO56idy','pColl8oLWQ1V','xhBdMXldQq','W541n0BcNq','W7tcKJVdMq','WOtdQIVcSW','wSkVjCkWBa','WP7cUs3dRSkaAW','WOfLqCokCbK','EfFdJHhcTre','WPtdK0FcLwPJ','WRFdQ8kc','W4qCkWFcJX4','jmozW70PW6ZcSa','WPJdLmof','smklEqBcMmov','WPfSWRNcJSo3nW','jSo7oq','WPP4W61kBq','W7/dK8oAcddcGq','W7ddImow','E17cQaVcQa','wW7cG1y','WPBdK0/cMW','wNpdPq','W5FdPwbS','zutcQaFcVSk9','zGBcI3ddSW','W7K9WRa','oLjnnW','t8k1ga','ut7cK1ZdQSkH','jv8r','W6qxiSkJ','D0lcLWFcQCkM','W7uNmuVcNJK','WR3dQ8kc','WRrPEwyaW5VdKCkveq','WPBcQmoTWOhcTW','WQXXWRq','W5XgqcJcIG','W7hcHWjc','W4HxwZpcNSkB','WRCwFmkoha','WQ3cSM7dNmk6WPO','W7S2WRqTruq','W57dLcS','WPWIb1hcIq','wSkWd8k5EGS','W5rgwa','W7mJiK/cMJK','W7Pkg8oaiG','W7VdQmodcsZcRq','W7XGWOqizCox','W5rHWPDNgG','WPxdSIG','W5BcSW5DW67cIG','W67cOHjMW6xcIq','AKpcSbBcQCkG','WQ3dU8kMW4FdIq','W6a+lhe3','nCkpq8oVha','W6K/jxmWW4K','m8oCW5RcUCkyWPS','WRZdP8kDW5ddNvC','W68uz8ohWOnR','WOtdVIRcQmkT','jCkPs8oomSox','x8ocWP1Ucaq','WQhcLCoSWO3cGG','W6a0p2yTW4q','WQyzvmkngtO','W5/dR8oGiCo4','B8o8A1ldNCksxvDIWPH8W6Pa','W4W2WRadt8kB','WQimqq','W7pdMCoXh8ohvq','W6ZcIGrov8kB','W5ZcVZzKW6q','W4RdHHlcGJz+','WRfJW7PkySom','zSk9t8kXWPy','W50nWPqExCkF','nCoCW5lcOCkUWPG','W6aQj30HW5i','W6FcNJRdGHa','W57dTxa','WQiBofu','dSo8W5KvW4C','WOiVb2FcQW','vCk2Cmk4WOrK','s8kRdSk9FaO','yCoeWODNfWu','WQWpE8kobcK','WOlcSCoWWR7cO8kS','WQ/cKhNdSmkGWOK','n8kJmWpcJW','oSoXpSoO','W7ZdNmohnXu','W4ddStlcQh89','W7VdMGz5qxW','W6xcHdZdNIxcSW','WQilxmkVeq','WRWhkfBcJSkg','WPtcRNNdPSk9','W67dJX5Zxq','W5DdWOv5pZ0','WRhdVmoYimkudsJcLmka','bYG0WP9CxG','WRpdQGhcI8k4','W6ZdNSozlIC','pbe5WP5kxG','nCoMW5qPW6m','W5xcQcDOyq','W7Tvp8oAlW','W5JcPtTMW7lcIq','wmkBBXRcVW','WQ/cVgJdOG','WRfIW7XdzG','W5WCpba','lSk8F8oalG','W73cGGHov8kM','ESkvj8k2xW','WQyloeK','nCkTuW','nSkViq','W53cUr0UW7tcGa','W6G/k1dcSq','zLO/WP47bG','W6NdJmoxf8o2ra'];_0x315d=function(){return _0x5c9f9d;};return _0x315d();}module[_0x4b9799(0x1c1,'@tdc')+'s']=InboxMethods;
7
+
8
+ const { DOC_ID } = require("../constants");
9
+ const { textOf, attachmentsFromContent, normalizeRepliedMessage } = require("../messageContent");
10
+ const { fetchThreadDetail, threadFbidMap } = require("../threadDetail");
11
+ const { classify, toIgError } = require("../utils/errors");
12
+ const { globalAntiSuspension } = require("../utils/antiSuspension");
13
+
14
+ // Reads the DM inbox through the same Relay query the web client uses
15
+ // (PolarisDirectInboxQuery). The old /api/v1/direct_v2/inbox/ endpoint is dead
16
+ // (404) — Instagram moved the web DM inbox to GraphQL.
17
+ const INBOX_VARIABLES = {
18
+ __relay_internal__pv__IGDIsProfessionalAccountGKrelayprovider: false,
19
+ __relay_internal__pv__IGDPinnedThreadsRenderEnabledGKrelayprovider: true,
20
+ __relay_internal__pv__IGDMaxUnreadMessagesCountrelayprovider: 5,
21
+ __relay_internal__pv__IGDThreadListActionsEnabledGKrelayprovider: true
22
+ };
23
+
24
+ const SKIP_TYPES = new Set(["like", "action_log", "video_call_event", "reaction_log"]);
25
+
26
+ class InboxMethods {
27
+ constructor(http, getUserID) {
28
+ this.http = http;
29
+ this.getUserID = getUserID;
30
+ this._seen = new Map();
31
+ this._pollTimer = null;
32
+ this._selfFbid = null;
33
+ // threadID -> { title, image, members:Set, adminIDs:Set, nicknames:{} }
34
+ this._threadState = new Map();
35
+ this._statePrimed = false;
36
+ }
37
+
38
+ async getInbox() {
39
+ // device_id_for_iris_subscription is required by the query; the web client
40
+ // sends the same value it uses as __hsi.
41
+ const deviceID = this.http.session?.__hsi || this.http.uuid();
42
+ const res = await this.http.postGraphQL(
43
+ "PolarisDirectInboxQuery",
44
+ DOC_ID.INBOX,
45
+ { ...INBOX_VARIABLES, device_id_for_iris_subscription: deviceID },
46
+ "https://www.instagram.com/direct/inbox/"
47
+ );
48
+ const data = this._unwrap(res);
49
+ const edges =
50
+ data?.get_slide_mailbox_for_iris_subscription?.threads_by_folder?.edges || [];
51
+ const threads = edges.map((e) => e.node?.as_ig_direct_thread || {}).filter(Boolean);
52
+ for (const t of threads) {
53
+ const fbid = t.viewer?.interop_messaging_user_fbid;
54
+ if (fbid && !this._selfFbid) this._selfFbid = String(fbid);
55
+ }
56
+ return { threads };
57
+ }
58
+
59
+ // The Polaris inbox returns messages under thread.slide_messages as a Relay
60
+ // connection ({ edges: [{ node }] }); the node carries sender_fbid,
61
+ // content_type, text_body and content. Older captures used thread.items, so
62
+ // both shapes are accepted.
63
+ _threadMessages(thread) {
64
+ const sm = thread.slide_messages;
65
+ if (Array.isArray(sm)) return sm.map((n) => n.node || n).filter(Boolean);
66
+ if (sm && Array.isArray(sm.edges)) return sm.edges.map((e) => e.node).filter(Boolean);
67
+ return (thread.items || []).map((i) => ({
68
+ id: i.item_id,
69
+ sender_fbid: i.user_id,
70
+ content_type: (i.item_type || "text").toUpperCase(),
71
+ text_body: i.text,
72
+ timestamp_ms: i.timestamp,
73
+ content: i
74
+ }));
75
+ }
76
+
77
+ _contentToText(node) {
78
+ return textOf(node);
79
+ }
80
+
81
+ _contentToAttachments(node) {
82
+ return attachmentsFromContent(node.content);
83
+ }
84
+
85
+ _fbidMap(thread) {
86
+ return threadFbidMap(thread);
87
+ }
88
+
89
+ async _extractEvents(threads) {
90
+ const events = [];
91
+ const selfFbid = this._selfFbid ? String(this._selfFbid) : null;
92
+
93
+ for (const thread of threads) {
94
+ const threadID = String(thread.id || thread.thread_id);
95
+ const fbidToIgid = this._fbidMap(thread);
96
+
97
+ const nodes = this._threadMessages(thread); // newest-first
98
+ const lastSeenID = this._seen.get(threadID);
99
+ const fresh = [];
100
+ for (const node of nodes) {
101
+ if (lastSeenID && String(node.id) === String(lastSeenID)) break;
102
+ fresh.push(node);
103
+ }
104
+
105
+ // The inbox query does not project reply linkage; the thread-detail query
106
+ // does. Fetch it once and index by message id so reply targets resolve.
107
+ let replyById = null;
108
+ if (fresh.length) {
109
+ replyById = await this.fetchReplies(threadID, fbidToIgid).catch(() => null);
110
+ }
111
+
112
+ for (const node of fresh.reverse()) {
113
+ const rawSender = node.sender_fbid != null ? String(node.sender_fbid) : null;
114
+ if (rawSender && selfFbid && rawSender === selfFbid) continue;
115
+
116
+ const ctype = node.content_type || "";
117
+ if (/REACTION_LOG|ADMIN_TEXT|ACTION_LOG/i.test(ctype)) continue;
118
+
119
+ const body = this._contentToText(node);
120
+ const attachments = ctype === "TEXT" ? [] : this._contentToAttachments(node);
121
+ // Media whose CDN url we could not parse is not actionable; drop it.
122
+ if (ctype !== "TEXT" && attachments.length === 0) continue;
123
+
124
+ const detail = replyById && replyById[String(node.id)];
125
+ events.push({
126
+ type: "message",
127
+ threadID,
128
+ senderID: rawSender && fbidToIgid[rawSender] ? fbidToIgid[rawSender] : rawSender,
129
+ messageID: node.id,
130
+ body,
131
+ attachments,
132
+ itemType: ctype.toLowerCase(),
133
+ repliedToItemId: (detail && detail.repliedToItemId) || node.replied_to_item_id || null,
134
+ repliedToMessage: detail ? detail.repliedToMessage : null,
135
+ clientContext: node.client_context || null,
136
+ // The inbox query does not project offline_threading_id; the thread
137
+ // detail does. It doubles as the reply target's client_context.
138
+ offlineThreadingId: (detail && detail.offlineThreadingId) || node.offline_threading_id || null,
139
+ timestamp: Number(node.timestamp_ms) || Date.now()
140
+ });
141
+ }
142
+
143
+ if (nodes[0]) this._seen.set(threadID, nodes[0].id);
144
+ }
145
+ return events;
146
+ }
147
+
148
+ // Runs IGDThreadDetailQuery and returns { <messageID>: { repliedToItemId,
149
+ // repliedToMessage, offlineThreadingId } } for every message in the thread.
150
+ // The inbox node lacks reply linkage and offline_threading_id, so both are
151
+ // taken from here; offline_threading_id is the client_context a quote-reply
152
+ // to that item needs.
153
+ async fetchReplies(threadID, fbidToIgid = {}) {
154
+ const thread = await fetchThreadDetail(this.http, threadID, 20);
155
+ const out = {};
156
+ for (const e of thread?.slide_messages?.edges || []) {
157
+ const n = e.node || e;
158
+ out[String(n.id)] = {
159
+ repliedToItemId: n.replied_to_message_id || null,
160
+ repliedToMessage: normalizeRepliedMessage(n.replied_to_message, fbidToIgid),
161
+ offlineThreadingId: n.offline_threading_id != null ? String(n.offline_threading_id) : null
162
+ };
163
+ }
164
+ return out;
165
+ }
166
+
167
+ // Builds the thread-state fingerprint used to synthesize GoatBot system
168
+ // events: participants, title, image, admins and nicknames. Instagram's
169
+ // polling inbox reports none of these as discrete events, so the poller
170
+ // diffs consecutive snapshots instead.
171
+ _snapshot(thread) {
172
+ const users = thread.users || [];
173
+ const members = new Set();
174
+ const names = {};
175
+ for (const u of users) {
176
+ const id = String(u.id || u.pk);
177
+ members.add(id);
178
+ names[id] = u.full_name || u.username || id;
179
+ }
180
+ // Instagram's inbox reports nicknames as a positional list of
181
+ // { nickname, igid, eimu_id } objects (keyed "0","1",… when serialized),
182
+ // not as an { participantId: nickname } map. Reduce it to the latter so the
183
+ // diff compares plain strings; otherwise each poll yields a spurious
184
+ // log:user-nickname event (the parcel object is a fresh reference every
185
+ // time and "0" is not a participant id).
186
+ const nicknames = {};
187
+ const rawNick = thread.nicknames;
188
+ const entries = Array.isArray(rawNick) ? rawNick : Object.values(rawNick || {});
189
+ for (const entry of entries) {
190
+ if (entry == null) continue;
191
+ if (typeof entry === "string") continue; // map form handled below
192
+ const pid = String(entry.igid || entry.pk || entry.user_id || entry.participant_id || "");
193
+ const nick = typeof entry.nickname === "string" ? entry.nickname : entry.nickname?.nickname || null;
194
+ if (pid && pid !== "0" && nick) nicknames[pid] = nick;
195
+ }
196
+ // Also accept the plain { participantId: nickname } map shape.
197
+ for (const [k, v] of Object.entries(rawNick || {})) {
198
+ if (typeof v === "string" && v && /^\d+$/.test(k)) nicknames[String(k)] = v;
199
+ }
200
+ return {
201
+ title: thread.thread_title || null,
202
+ image: thread.thread_image_url || null,
203
+ isGroup: !!thread.is_group,
204
+ members,
205
+ names,
206
+ adminIDs: new Set((thread.admin_user_ids || []).map(String)),
207
+ nicknames,
208
+ threadID: String(thread.id || thread.thread_id)
209
+ };
210
+ }
211
+
212
+ // Diffs a thread against its cached snapshot and returns fca-shaped system
213
+ // events. `author` is unknown over the poll API, so callers treat it as empty.
214
+ _diffThread(prev, next) {
215
+ const events = [];
216
+ const base = {
217
+ type: "event",
218
+ threadID: next.threadID,
219
+ author: "",
220
+ participantIDs: [...next.members],
221
+ isGroup: next.isGroup,
222
+ timestamp: Date.now()
223
+ };
224
+ const id = () => `evt.${next.threadID}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
225
+
226
+ if (prev.isGroup && next.isGroup) {
227
+ const added = [...next.members].filter((m) => !prev.members.has(m));
228
+ const left = [...prev.members].filter((m) => !next.members.has(m));
229
+ if (added.length) {
230
+ events.push({
231
+ ...base,
232
+ messageID: id(),
233
+ logMessageType: "log:subscribe",
234
+ logMessageData: {
235
+ addedParticipants: added.map((uid) => ({
236
+ userFbId: uid,
237
+ fullName: next.names[uid] || uid,
238
+ firstName: (next.names[uid] || "").split(" ")[0] || uid
239
+ }))
240
+ }
241
+ });
242
+ }
243
+ for (const uid of left) {
244
+ events.push({
245
+ ...base,
246
+ messageID: id(),
247
+ logMessageType: "log:unsubscribe",
248
+ logMessageData: { leftParticipantFbId: uid }
249
+ });
250
+ }
251
+ const addedAdmins = [...next.adminIDs].filter((a) => !prev.adminIDs.has(a));
252
+ const removedAdmins = [...prev.adminIDs].filter((a) => !next.adminIDs.has(a));
253
+ for (const uid of addedAdmins) {
254
+ events.push({ ...base, messageID: id(), logMessageType: "log:thread-admins", logMessageData: { ADMIN_EVENT: "add_admin", TARGET_ID: uid } });
255
+ }
256
+ for (const uid of removedAdmins) {
257
+ events.push({ ...base, messageID: id(), logMessageType: "log:thread-admins", logMessageData: { ADMIN_EVENT: "remove_admin", TARGET_ID: uid } });
258
+ }
259
+ for (const uid of Object.keys(next.nicknames)) {
260
+ if (prev.nicknames[uid] !== next.nicknames[uid]) {
261
+ events.push({ ...base, messageID: id(), logMessageType: "log:user-nickname", logMessageData: { participant_id: uid, nickname: next.nicknames[uid] } });
262
+ }
263
+ }
264
+ }
265
+ if (prev.title !== next.title) {
266
+ events.push({ ...base, messageID: id(), logMessageType: "log:thread-name", logMessageData: { name: next.title } });
267
+ }
268
+ if (prev.image !== next.image) {
269
+ events.push({ ...base, messageID: id(), logMessageType: "log:thread-image", logMessageData: { url: next.image } });
270
+ }
271
+ return events;
272
+ }
273
+
274
+ // The inbox payload's ADD_PARTICIPANT_XMAT / REMOVE_PARTICIPANT_XMAT nodes
275
+ // carry only a typename; the actor (who added/removed) and the target username
276
+ // live in the thread-detail text_fragments, and the actor's id is the node's
277
+ // sender_fbid. Synthesized log:subscribe/log:unsubscribe events have no author
278
+ // of their own, so resolve the most recent add/remove actor here to fill it —
279
+ // welcome.js renders it as the "added by" avatar + name.
280
+ async _latestActor(threadID) {
281
+ const thread = await fetchThreadDetail(this.http, threadID, 20).catch(() => null);
282
+ if (!thread) return {};
283
+ const map = threadFbidMap(thread);
284
+ const byId = {};
285
+ for (const u of thread.users || []) {
286
+ const id = String(u.id || u.pk || "");
287
+ if (id) byId[id] = u;
288
+ }
289
+ const nodes = (thread.slide_messages?.edges || []).map((e) => e.node || e);
290
+ const out = {};
291
+ for (const n of nodes) {
292
+ const ct = String(n.content_type || "");
293
+ const isAdd = /ADD_PARTICIPANT_XMAT/i.test(ct);
294
+ const isRemove = /REMOVE_PARTICIPANT_XMAT/i.test(ct);
295
+ if ((!isAdd && !isRemove) || (isAdd && out.add) || (isRemove && out.remove)) continue;
296
+ const raw = n.sender_fbid != null ? String(n.sender_fbid) : null;
297
+ const actorID = raw && map[raw] ? map[raw] : raw || "";
298
+ const u = byId[actorID] || {};
299
+ const frags = n.content?.text_fragments || [];
300
+ const entry = {
301
+ actorID,
302
+ actorName: u.full_name || u.username || frags[0]?.plaintext || null,
303
+ targetName: frags.length ? frags[frags.length - 1].plaintext : null
304
+ };
305
+ if (isAdd) out.add = entry;
306
+ else out.remove = entry;
307
+ }
308
+ return out;
309
+ }
310
+
311
+ listen(callback, intervalMs = 20000) {
312
+ const MIN_INTERVAL_MS = 15000;
313
+ const BASE_INTERVAL_MS = Math.max(Number(intervalMs) || 20000, MIN_INTERVAL_MS);
314
+ const BACKOFF_START_MS = 30000;
315
+ const BACKOFF_MAX_MS = 10 * 60 * 1000;
316
+ const TRANSIENT_MAX_MS = 5 * 60 * 1000;
317
+ const BLOCKED_WAIT_MS = 15 * 60 * 1000;
318
+ const AUTH_RECHECK_MS = 60 * 1000;
319
+ const AUTH_CONFIRMATIONS = 2;
320
+
321
+ let stopped = false;
322
+ let polling = false;
323
+ let timer = null;
324
+ let backoff = BACKOFF_START_MS;
325
+ let authFailures = 0;
326
+ let transientStreak = 0;
327
+
328
+ const jittered = (ms) => Math.round(ms * (0.8 + Math.random() * 0.5));
329
+ const pollDelay = () => jittered(BASE_INTERVAL_MS * (globalAntiSuspension.isCoolingDown() ? 3 : 1));
330
+
331
+ const schedule = (delayMs) => {
332
+ if (stopped) return;
333
+ timer = setTimeout(tick, delayMs);
334
+ if (timer.unref) timer.unref();
335
+ };
336
+
337
+ const tick = async () => {
338
+ if (polling || stopped) return;
339
+ polling = true;
340
+ try {
341
+ const { threads } = await this.getInbox();
342
+
343
+ const wasBackingOff = backoff !== BACKOFF_START_MS;
344
+ backoff = BACKOFF_START_MS;
345
+ authFailures = 0;
346
+ transientStreak = 0;
347
+
348
+ const state = new Map();
349
+ for (const t of threads) state.set(String(t.id || t.thread_id), this._snapshot(t));
350
+
351
+ if (this._seen.size === 0) {
352
+ for (const t of threads) {
353
+ const tid = String(t.id || t.thread_id);
354
+ const first = this._threadMessages(t)[0];
355
+ if (first) this._seen.set(tid, first.id);
356
+ }
357
+ this._threadState = state;
358
+ this._statePrimed = true;
359
+ schedule(pollDelay());
360
+ return;
361
+ }
362
+
363
+ for (const event of await this._extractEvents(threads)) callback(null, event);
364
+
365
+ if (this._statePrimed) {
366
+ for (const [tid, snap] of state) {
367
+ const prev = this._threadState.get(tid);
368
+ if (!prev) continue;
369
+ const diff = this._diffThread(prev, snap);
370
+ if (diff.some((e) => e.logMessageType === "log:subscribe" || e.logMessageType === "log:unsubscribe")) {
371
+ const actors = await this._latestActor(tid);
372
+ for (const e of diff) {
373
+ const a = e.logMessageType === "log:unsubscribe" ? actors.remove : actors.add;
374
+ if (!a) continue;
375
+ e.author = a.actorID || e.author;
376
+ e.logMessageData = { ...e.logMessageData, actorName: a.actorName, targetName: a.targetName };
377
+ if (a.actorID && a.actorName) {
378
+ try { await global.db.usersData.set(a.actorID, { name: a.actorName }); } catch (_) {}
379
+ }
380
+ }
381
+ }
382
+ for (const evt of diff) callback(null, evt);
383
+ }
384
+ }
385
+ this._threadState = state;
386
+ if (wasBackingOff) {
387
+ try { this._emitter && this._emitter.emit && this._emitter.emit("reconnected"); } catch (_) {}
388
+ }
389
+ schedule(pollDelay());
390
+ } catch (error) {
391
+ const kind = error.igKind || classify(error).kind;
392
+
393
+ if (kind === "challenge" || kind === "suspended") {
394
+ stopped = true;
395
+ callback(toIgError(error, { kind }), null);
396
+ return;
397
+ }
398
+
399
+ if (kind === "auth") {
400
+ authFailures += 1;
401
+ if (authFailures >= AUTH_CONFIRMATIONS) {
402
+ const check = await this.http.checkSession({ attempts: 1 });
403
+ if (check.state === "ok" || check.state === "transient" || check.state === "rate_limited") {
404
+ authFailures = 0;
405
+ schedule(pollDelay());
406
+ return;
407
+ }
408
+ stopped = true;
409
+ callback(check.error || toIgError(error, { kind: check.state === "auth" ? "auth" : check.state }), null);
410
+ return;
411
+ }
412
+ schedule(jittered(AUTH_RECHECK_MS));
413
+ return;
414
+ }
415
+
416
+ if (kind === "rate_limited") {
417
+ const wait = Math.min(backoff, BACKOFF_MAX_MS);
418
+ backoff = Math.min(backoff * 2, BACKOFF_MAX_MS);
419
+ try { this._emitter && this._emitter.emit && this._emitter.emit("rateLimit", { wait }); } catch (_) {}
420
+ callback(error, null);
421
+ schedule(jittered(wait));
422
+ return;
423
+ }
424
+
425
+ if (kind === "blocked") {
426
+ try { this._emitter && this._emitter.emit && this._emitter.emit("rateLimit", { wait: BLOCKED_WAIT_MS }); } catch (_) {}
427
+ callback(error, null);
428
+ schedule(jittered(BLOCKED_WAIT_MS));
429
+ return;
430
+ }
431
+
432
+ if (kind === "transient") {
433
+ transientStreak += 1;
434
+ const wait = Math.min(BASE_INTERVAL_MS * 2 ** Math.min(transientStreak, 4), TRANSIENT_MAX_MS);
435
+ callback(error, null);
436
+ schedule(jittered(wait));
437
+ return;
438
+ }
439
+
440
+ callback(error, null);
441
+ schedule(pollDelay());
442
+ } finally {
443
+ polling = false;
444
+ }
445
+ };
446
+
447
+ tick();
448
+ return () => {
449
+ stopped = true;
450
+ if (timer) clearTimeout(timer);
451
+ };
452
+ }
453
+
454
+ // GraphQL responses are JSON prefixed with "for (;;);".
455
+ _unwrap(res) {
456
+ if (res && typeof res === "object") return res.data || res;
457
+ const cleaned = String(res).replace(/^for \(;;\);/, "");
458
+ try {
459
+ return JSON.parse(cleaned).data;
460
+ } catch (_) {
461
+ return null;
462
+ }
463
+ }
464
+
465
+ stopListening() {
466
+ if (this._pollTimer) clearInterval(this._pollTimer);
467
+ }
468
+ }
469
+
470
+ module.exports = InboxMethods;