@rongcloud/engine 5.14.1 → 5.16.0-c-rtc-alpha.2

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/index.cjs ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */
16
+ function e(e,t,n,r){var s,o=arguments.length,i=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,n,i):s(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function t(e,t,n,r){return new(n||(n=Promise))((function(s,o){function i(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}l((r=r.apply(e,t||[])).next())}))}function n(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function r(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n}var s,o,i,a,l,d,u,c,h,p,_,E,I,T,f,C,R,S,m,y,v,A,N,O,M,L,U,P,b,x,D,w,V,G,F,B,k,H,q,Y,K,j,Q,W,$,J,X,Z,z,ee,te,ne,re,se,oe,ie,ae,le,de,ue,ce,he,pe,_e,ge,Ee,Ie,Te;Object.defineProperty(exports,"__esModule",{value:!0}),exports.UploadMethod=void 0,(s=exports.UploadMethod||(exports.UploadMethod={}))[s.QINIU=1]="QINIU",s[s.ALI=2]="ALI",s[s.AWS=3]="AWS",s[s.STC=4]="STC",s[s.MINIO=5]="MINIO",exports.LogTagId=void 0,(o=exports.LogTagId||(exports.LogTagId={})).L_IMSDK_VER_O="L-imsdk_ver-O",o.A_INIT_REPEAT_O="A_INIT_REPEAT_O",o.L_INIT_O="L-init-O",o.A_DESTROY_O="A_DESTROY_O",o.L_DESTROY_O="L_DESTROY_O",o.A_CONNECT_T="A-connect-T",o.A_CONNECT_R="A-connect-R",o.A_CONNECT_S="A-connect-S",o.A_DISCONNECT_O="A-disconnect-O",o.A_RECONNECT_T="A-reconnect-T",o.A_RECONNECT_R="A_RECONNECT_R",o.L_CONNECT_T="L-connect-T",o.L_CONNECT_R="L-connect-R",o.L_CONNECT_S="L-connect-S",o.L_DB_UPGRATE_START_S="L-db_upgrate_start-S",o.L_DB_UPGRATING_S="L-db_upgrating-S",o.L_DB_UPGRATE_COMPLETE_S="L-db_upgrate_complete-S",o.L_NOTIFY_ULTRA_ONLINE_S="L-notify-ultra-online-S",o.L_ULTRA_SYNC_DONE_S="L-ultra-sync-done-S",o.L_BATCH_MESSAGE_O="L-BATCH_MESSAGE-O",o.A_MSG_LISTENER_E="A-MSG_LISTENER-E",o.O="L-original-O",o.T="L-TEST-O",o.L_INSTALL_PLUGIN_T="L-INSTALL_PLUGIN-T",o.L_INSTALL_PLUGIN_R="L-INSTALL_PLUGIN-R",o.L_NAVI_CONF_E="L-NAVI_CONF_ERROR-E",o.L_NAVI_CMP_R="L-NAVI_CPM-R",o.A_SEND_MSG_T="A-send_msg-T",o.A_SEND_MSG_R="A-send_msg-R",o.L_SEND_MSG_T="L-send_msg-T",o.L_SEND_MSG_R="L-send_msg-R",o.L_PULL_MSG_T="L-pull_msg-T",o.L_PULL_MSG_R="L-pull_msg-R",o.L_PULL_MSG_E="L-pull_msg-E",o.L_PULL_MSG_O="L-pull_msg-O",o.L_PULL_ULTRA_MSG_T="L-pull_ultra_msg-T",o.L_PULL_ULTRA_MSG_R="L-pull_ultra_msg-R",o.L_PULL_CHATROOM_KV_T="L-pull_chatroom_kv-T",o.L_PULL_CHATROOM_KV_R="L-pull_chatroom_kv-R",o.L_PULL_CHATROOM_MSG_T="L-pull_chatroom_msg-T",o.L_PULL_CHATROOM_MSG_R="L-pull_chatroom_msg-R",o.L_RECV_MULTI_SYNC_MSG_O="L-recv_multi_sync_msg-O",o.L_RECV_S_MSG_O="L-recv_s_msg-O",o.A_DELETE_MESSAGES_S="A-delete_messages-S",o.P_DELETE_MSG_S="P-delete_msg-S",o.L_PULL_CONVERSATION_S="L-pull_conversation-S",o.A_RECALL_MESSAGE_T="A-recall_msg-T",o.A_RECALL_MESSAGE_R="A-recall_msg-R",o.A_RECALL_MESSAGE_E="A-recall_msg-E",o.A_REGTYP_O="A-regtyp-O",o.P_REGTYP_E="P-regtype-E",o.L_GET_NAVI_T="L-get_navi-T",o.L_GET_NAVI_R="L-get_navi-R",o.L_REQUEST_T="L-request-T",o.L_REQUEST_R="L-request-R",o.L_PARSE_NAVI_E="L-parse_navi-E",o.L_ENV_S="L-Env-S",o.L_GET_INDEX_NAVI_S="L-get_index_navi-S",o.A_JOIN_CHATROOM_T="A-join_chatroom-T",o.A_JOIN_CHATROOM_R="A-join_chatroom-R",o.L_JOIN_CHATROOM_T="L-join_chatroom-T",o.L_JOIN_CHATROOM_R="L-join_chatroom-R",o.A_QUIT_CHATROOM_T="A-quit_chatroom-T",o.A_QUIT_CHATROOM_R="A-quit_chatroom-R",o.L_REJOIN_CHATROOM_T="L-rejoin_chatroom-T",o.L_REJOIN_CHATROOM_R="L-rejoin_chatroom-R",o.L_REJOIN_CHATROOM_S="L-rejoin_chatroom-S",o.L_MEDIA_S="L-media-S",o.L_MEDIA_UPLOAD_T="L-media_upload-T",o.L_MEDIA_UPLOAD_R="L-media_upload-R",o.G_UPLOAD_LOG_S="G-upload_log-S",o.G_REPORT_LOG_S="G-report_log-S",o.G_UPLOAD_LOG_E="G-upload_log-E",o.G_GET_REAL_TIMELOG_COMMAND_S="G-get_real_timelog_command-S",o.L_CHECK_ALIVE_IM_T="L-check_alive_im-T",o.L_CHECK_ALIVE_IM_R="L-check_alive_im-R",o.L_CHECK_ALIVE_IM_S="L-check_alive_im-S",o.A_GET_LOCAL_MESSAGE_T="A-get_local_message-T",o.A_GET_LOCAL_MESSAGE_R="A-get_local_message-R",o.A_GET_HISTORY_MSG_T="A-get_history_msg-T",o.A_GET_HISTORY_MSG_R="A-get_history_msg-R",o.L_GET_HISTORY_MSG_T="L-get_history_msg-T",o.L_GET_HISTORY_MSG_R="L-get_history_msg-R",o.A_GET_PRIVATE_MESSAGE_DELIVER_TIME_E="A-get_privage_message_deliver_time-E",o.A_GET_GROUP_MESSAGE_DELIVER_LIST_E="A-get_group_message_deliver_list-E",o.A_CALLBACK_O="A-callback-O",o.A_CALLBACK_E="A-callback-E",o.L_CALLBACK_E="L-callback-E",o.A_SEND_MESSAGE_READ_RECEIPT_V4_T="A-send_message_read_receipt_V4-T",o.A_SEND_MESSAGE_READ_RECEIPT_V4_R="A-send_message_read_receipt_V4-R",o.A_GET_MESSAGE_READ_RECEIPT_V4_T="A-get_message_read_receipt_V4-T",o.A_GET_MESSAGE_READ_RECEIPT_V4_R="A-get_message_read_receipt_V4-R",o.A_BATCH_GET_MESSAGE_READ_RECEIPT_INFO_V4_T="A-batch_get_message_read_receipt_info_V4-T",o.A_BATCH_GET_MESSAGE_READ_RECEIPT_INFO_V4_R="A-batch_get_message_read_receipt_info_V4-R",o.A_SYNC_READ_STATUS_T="A-sync_read_status-T",o.A_SYNC_READ_STATUS_R="A-sync_read_status-R",o.A_GET_TOP_CONVERSATION_LIST_E="A-get_top_conversation_list-E",o.L_PB_ENCODE_E="L-pb-encode-E",o.L_PB_DECODE_E="L-pb-decode-E",o.L_NOTIFY_NAVI_CHANGE_E="L-notify_navi_change-E",o.L_REPORT_FULL_LOG_O="L-report_full_log-O",o.L_REPORT_FULL_LOG_T="L-report_full_log-T",o.L_REPORT_FULL_LOG_R="L-report_full_log-R",o.L_REPORT_LOG_POLICY_E="L-parse_navi_logpolicy-E",o.L_UNSUPPORT_INDEXDB_O="L-unsupport_IndexDB-O",o.L_LOGDB_OPEN_FAILED_E="L-logDB_open_failed-E",o.L_LOGDB_CLOSED_S="L-logDB_closed-S",o.L_LOGDB_ERROR_E="L-logDB_error-S",o.L_LOGDB_ABORT_S="L-logDB_abort-S",o.L_REALTIME_LOG_R="L_REALTIME_LOG_R",o.L_REALTIME_LOG_O="L_REALTIME_LOG_O",o.L_REALTIME_LOG_T="L_REALTIME_LOG_T",o.L_STATISTIC_LOG_R="L_STATISTIC_LOG_R",o.L_STATISTIC_LOG_O="L_STATISTIC_LOG_O",o.L_STATISTIC_LOG_T="L_STATISTIC_LOG_T",o.L_UNKNOWN_TOPIC_E="L_UNKNOWN_TOPIC_E",o.L_RECV_RMTP_O="L_RECV_RMTP_O",o.L_RECV_RMTP_E="L_RECV_RMTP_E",o.L_RECV_S_NTF_O="L-recv_s_ntf_O",o.L_VER_REPORT_T="L-VER_REPORT-T",o.L_VER_REPORT_R="L-VER_REPORT-R",o.L_CALL_MAIN_SYNC_O="L_CALL_MAIN_SYNC_O",o.L_UNSUPPORT_NTF_FROM_MAIN_E="L_UNSUPPORT_NTF_FROM_MAIN_E",o.A_SET_MSG_CONTENT_O="A_SET_MSG_CONTENT_O",o.A_REMOVE_PROXY_O="A-remove_proxy-O",o.A_SET_PROXY_O="A-set_proxy-O",o.A_TEST_PROXY_O="A-test_proxy-O",o.L_WEBSOCKET_DISACCORD_E="L-websocket_disaccord-e",o.A_SEARCH_MESSAGE_BY_USER_T="A-search_messages_by_user-T",o.A_SEARCH_MESSAGE_BY_USER_R="A-search_messages_by_user-R",o.L_GET_STATIC_CONF_T="L-get_static_conf-T",o.L_GET_STATIC_CONF_R="L-get_static_conf-R",o.L_GET_STATIC_CONF_E="L-get_static_conf-E",o.L_CLOUD_DISABLED="L-cloud_disabled",o.L_CLOUD_EXPIRE="L-cloud_expire",o.L_CLOUD_OVERCLOCK="L-cloud_overclock",o.L_CLOUD_APPKEY_REGION_E="L-cloud_appkey_region_error",o.L_CLOUD_CONFIG_DATA_E="L-cloud_config_data_error",o.L_CLOUD_SET_CACHE_O="L-cloud_set_cache-O",o.L_CLOUD_GET_CACHE_O="L-cloud_get_cache-O",o.L_CLOUD_MSG_NTF_O="L-cloud_msg_ntf-O",o.L_CLOUD_SET_AREA_CODE_O="L-cloud_set_area_code-O",o.L_CLOUD_SET_MRTR_O="L-cloud_set_mrtr-O",o.L_SYNC_SUBSCRIBED_USER_STATUS_FINISHED_S="L-sync_subscribed_user_status_finished-S",o.L_PULL_SUBSCRIBED_USER_RELATION_T="L-pull_subscribed_user_relation-T",o.L_PULL_SUBSCRIBED_USER_RELATION_R="L-pull_subscribed_user_relation-R",o.L_PULL_SUBSCRIBED_USER_STATUS_T="L-pull_subscribed_user_status-T",o.L_PULL_SUBSCRIBED_USER_STATUS_R="L-pull_subscribed_user_status-R",o.L_OWN_USER_PROFILE_CHANGED_S="L-own_user_profile_changed-S",o.L_QUERY_SUBSCRIBE_DATA_T="L-query_subscribe_data-T",o.L_QUERY_SUBSCRIBE_DATA_R="L-query_subscribe_data-R",o.L_PULL_USER_PROFILE_T="L-pull_user_profile-T",o.L_PULL_USER_PROFILE_R="L-pull_user_profile-R",o.L_PULL_OWN_PROFILE_T="L-pull_own_profile-T",o.L_PULL_OWN_PROFILE_R="L-pull_own_profile-R",o.L_QUERY_FRIEND_LIST_T="L-query_friend_list-T",o.L_QUERY_FRIEND_LIST_R="L-query_friend_list-R",o.L_PULL_USER_PROFILE_REQ_T="L-pull_user_profile_req-T",o.L_PULL_USER_PROFILE_REQ_R="L-pull_user_profile_req-R",o.L_PULL_EVENT_CHANGE_NOTIFY_ULTRA_ONLINE_S="L-pull_event_change_notify_ultra_online-S",o.L_PULL_EVENT_CHANGE_T="L-pull_event_change-T",o.L_PULL_EVENT_CHANGE_R="L-pull_event_change-R",o.L_PARSE_JSON_E="L-parse_json-E",o.L_REQ_STREAM_MSG_CONTENT_T="L-req_stream_msg_content-T",o.L_REQ_STREAM_MSG_CONTENT_R="L-req_stream_msg_content-R",o.L_REQ_STREAM_MSG_CONTENT_O="L-req_stream_msg_content-O",o.L_REQ_STREAM_MSG_CONTENT_E="L-req_stream_msg_content-E",exports.DirectionType=void 0,(i=exports.DirectionType||(exports.DirectionType={}))[i.BOTH=2]="BOTH",exports.QueryFriendsDirectionType=void 0,(a=exports.QueryFriendsDirectionType||(exports.QueryFriendsDirectionType={}))[a.BOTH=2]="BOTH",exports.FriendAddPermission=void 0,(l=exports.FriendAddPermission||(exports.FriendAddPermission={}))[l.FREE=1]="FREE",l[l.NEED_VERIFY=2]="NEED_VERIFY",l[l.NO_ONE_ALLOWED=3]="NO_ONE_ALLOWED",exports.FriendRelationType=void 0,(d=exports.FriendRelationType||(exports.FriendRelationType={}))[d.NONE=0]="NONE",d[d.IN_MY_FRIEND_LIST=1]="IN_MY_FRIEND_LIST",d[d.IN_OTHER_FRIEND_LIST=2]="IN_OTHER_FRIEND_LIST",d[d.BOTH_WAY=3]="BOTH_WAY",exports.FriendApplicationType=void 0,(u=exports.FriendApplicationType||(exports.FriendApplicationType={}))[u.SENT=1]="SENT",u[u.RECEIVED=2]="RECEIVED",exports.FriendApplicationStatus=void 0,(c=exports.FriendApplicationStatus||(exports.FriendApplicationStatus={}))[c.UNHANDLED=0]="UNHANDLED",c[c.ACCEPTED=1]="ACCEPTED",c[c.REFUSED=2]="REFUSED",c[c.EXPIRED=3]="EXPIRED",function(e){e[e.FRIEND_APPLICATION=31]="FRIEND_APPLICATION"}(h||(h={})),function(e){e[e.FRIEND_APPLY=0]="FRIEND_APPLY",e[e.FRIEND_REFUSE=1]="FRIEND_REFUSE",e[e.FRIEND_USER_INFO=2]="FRIEND_USER_INFO",e[e.FRIENDS_INPUT=3]="FRIENDS_INPUT",e[e.FRIEND_CLEAR=4]="FRIEND_CLEAR",e[e.FRIEND_INFO_CHANGE=5]="FRIEND_INFO_CHANGE",e[e.FRIEND_INFO_CHANGE_SYNC=6]="FRIEND_INFO_CHANGE_SYNC"}(p||(p={})),exports.GroupJoinPermission=void 0,(_=exports.GroupJoinPermission||(exports.GroupJoinPermission={}))[_.OWNER_VERIFY=0]="OWNER_VERIFY",_[_.FREE=1]="FREE",_[_.OWNER_OR_MANAGER_VERIFY=2]="OWNER_OR_MANAGER_VERIFY",_[_.NO_ONE_ALLOWED=3]="NO_ONE_ALLOWED",exports.GroupOperationPermission=void 0,(E=exports.GroupOperationPermission||(exports.GroupOperationPermission={}))[E.OWNER=0]="OWNER",E[E.OWNER_OR_MANAGER=1]="OWNER_OR_MANAGER",E[E.EVERYONE=2]="EVERYONE",exports.GroupMemberInfoEditPermission=void 0,(I=exports.GroupMemberInfoEditPermission||(exports.GroupMemberInfoEditPermission={}))[I.OWNER_OR_MANAGER_OR_SELF=0]="OWNER_OR_MANAGER_OR_SELF",I[I.OWNER_OR_SELF=1]="OWNER_OR_SELF",I[I.SELF=2]="SELF",exports.GroupInviteHandlePermission=void 0,(T=exports.GroupInviteHandlePermission||(exports.GroupInviteHandlePermission={}))[T.FREE=0]="FREE",T[T.INVITEE_VERIFY=1]="INVITEE_VERIFY",exports.GroupMemberRole=void 0,(f=exports.GroupMemberRole||(exports.GroupMemberRole={}))[f.UNDEF=0]="UNDEF",f[f.NORMAL=1]="NORMAL",f[f.MANAGER=2]="MANAGER",f[f.OWNER=3]="OWNER",exports.GroupOperation=void 0,(C=exports.GroupOperation||(exports.GroupOperation={}))[C.CREATE=0]="CREATE",C[C.JOIN=1]="JOIN",C[C.KICK=2]="KICK",C[C.QUIT=3]="QUIT",C[C.DISMISS=4]="DISMISS",C[C.ADD_MANAGER=5]="ADD_MANAGER",C[C.REMOVE_MANAGER=6]="REMOVE_MANAGER",C[C.TRANSFER_GROUP_OWNER=7]="TRANSFER_GROUP_OWNER",function(e){e[e.GROUP_INFO_CHANGE=0]="GROUP_INFO_CHANGE",e[e.MEMBER_PROFILE_CHANGE=1]="MEMBER_PROFILE_CHANGE",e[e.GROUP_REMARK_SET=2]="GROUP_REMARK_SET",e[e.GROUP_REMARK_DELETE=3]="GROUP_REMARK_DELETE"}(R||(R={})),exports.GroupOperationType=void 0,(S=exports.GroupOperationType||(exports.GroupOperationType={}))[S.ADD=1]="ADD",S[S.REMOVE=2]="REMOVE",exports.GroupApplicationStatus=void 0,(m=exports.GroupApplicationStatus||(exports.GroupApplicationStatus={}))[m.MANAGER_UNHANDLED=0]="MANAGER_UNHANDLED",m[m.MANAGER_REFUSED=1]="MANAGER_REFUSED",m[m.INVITEE_UNHANDLED=2]="INVITEE_UNHANDLED",m[m.INVITEE_REFUSED=3]="INVITEE_REFUSED",m[m.JOINED=4]="JOINED",m[m.EXPIRED=5]="EXPIRED",exports.GroupOperationStatus=void 0,(y=exports.GroupOperationStatus||(exports.GroupOperationStatus={}))[y.REFUSE=0]="REFUSE",y[y.ACCEPT=1]="ACCEPT",exports.GroupOperationRole=void 0,(v=exports.GroupOperationRole||(exports.GroupOperationRole={}))[v.APPLICANT=0]="APPLICANT",v[v.MANAGER=1]="MANAGER",function(e){e[e.GROUP_OPERATION=11]="GROUP_OPERATION",e[e.GROUP_PROFILE_CHANGE=12]="GROUP_PROFILE_CHANGE",e[e.GROUP_APPLICATION_INVITATION=13]="GROUP_APPLICATION_INVITATION",e[e.GROUP_FOLLOW_USER_CHANGE=14]="GROUP_FOLLOW_USER_CHANGE"}(A||(A={})),exports.GroupApplicationType=void 0,(N=exports.GroupApplicationType||(exports.GroupApplicationType={}))[N.APPLICATION=0]="APPLICATION",N[N.INVITATION=1]="INVITATION",exports.GroupApplicationDirection=void 0,(O=exports.GroupApplicationDirection||(exports.GroupApplicationDirection={}))[O.APPLICATION_SENT=0]="APPLICATION_SENT",O[O.INVITATION_SENT=1]="INVITATION_SENT",O[O.INVITATION_RECEIVED=2]="INVITATION_RECEIVED",O[O.APPLICATION_RECEIVED=3]="APPLICATION_RECEIVED",exports.ChatroomEntryType=void 0,(M=exports.ChatroomEntryType||(exports.ChatroomEntryType={}))[M.UPDATE=1]="UPDATE",M[M.DELETE=2]="DELETE",exports.ChrmSyncStatus=void 0,(L=exports.ChrmSyncStatus||(exports.ChrmSyncStatus={}))[L.QUIT=0]="QUIT",L[L.JOIN=1]="JOIN",exports.ChatroomSyncStatusReason=void 0,(U=exports.ChatroomSyncStatusReason||(exports.ChatroomSyncStatusReason={}))[U.LeaveOnMyOwn=0]="LeaveOnMyOwn",U[U.OtherDeviceLogin=1]="OtherDeviceLogin",exports.ChatroomUserChangeType=void 0,(P=exports.ChatroomUserChangeType||(exports.ChatroomUserChangeType={}))[P.QUIT=0]="QUIT",P[P.JOIN=1]="JOIN",exports.ChrmMemBanType=void 0,(b=exports.ChrmMemBanType||(exports.ChrmMemBanType={}))[b.UnmuteUsers=0]="UnmuteUsers",b[b.MuteUsers=1]="MuteUsers",b[b.UnmuteAll=2]="UnmuteAll",b[b.MuteAll=3]="MuteAll",b[b.RemoveWhitelist=4]="RemoveWhitelist",b[b.AddWhitelist=5]="AddWhitelist",b[b.UnmuteGloble=6]="UnmuteGloble",b[b.MuteGloble=7]="MuteGloble",exports.ChrmMemOperateType=void 0,(x=exports.ChrmMemOperateType||(exports.ChrmMemOperateType={}))[x.Deblock=0]="Deblock",x[x.Blocked=1]="Blocked",exports.ErrorCode=void 0,(D=exports.ErrorCode||(exports.ErrorCode={}))[D.SUCCESS=0]="SUCCESS",D[D.ACTIVE_DISCONNECT=2]="ACTIVE_DISCONNECT",D[D.REJECTED_BY_BLACKLIST=405]="REJECTED_BY_BLACKLIST",D[D.FORBIDDEN_IN_PRIVATE=20106]="FORBIDDEN_IN_PRIVATE",D[D.SYS_CONVERSATION_NOT_SUPPORT_MESSAGE=20109]="SYS_CONVERSATION_NOT_SUPPORT_MESSAGE",D[D.CLOUD_DATA_CENTER_INVALID=20512]="CLOUD_DATA_CENTER_INVALID",D[D.SEND_FREQUENCY_TOO_FAST=20604]="SEND_FREQUENCY_TOO_FAST",D[D.OPERATION_BLOCKED=20605]="OPERATION_BLOCKED",D[D.OPERATION_NOT_SUPPORT=20606]="OPERATION_NOT_SUPPORT",D[D.REQUEST_OVER_FREQUENCY=20607]="REQUEST_OVER_FREQUENCY",D[D.NOT_IN_DISCUSSION=21406]="NOT_IN_DISCUSSION",D[D.SENSITIVE_SHIELD=21501]="SENSITIVE_SHIELD",D[D.SENSITIVE_REPLACE=21502]="SENSITIVE_REPLACE",D[D.MESSAGE_EXPAND_NOT_EXIST=22201]="MESSAGE_EXPAND_NOT_EXIST",D[D.MESSAGE_EXPAND_NOT_SUPPORT=22202]="MESSAGE_EXPAND_NOT_SUPPORT",D[D.MESSAGE_EXPAND_FORMAT_ERROR=22203]="MESSAGE_EXPAND_FORMAT_ERROR",D[D.MESSAGE_EXPAND_NOT_AUTHORIZED=22204]="MESSAGE_EXPAND_NOT_AUTHORIZED",D[D.NOT_IN_GROUP=22406]="NOT_IN_GROUP",D[D.FORBIDDEN_IN_GROUP=22408]="FORBIDDEN_IN_GROUP",D[D.NOT_IN_CHATROOM=23406]="NOT_IN_CHATROOM",D[D.GET_USERINFO_ERROR=23407]="GET_USERINFO_ERROR",D[D.FORBIDDEN_IN_CHATROOM=23408]="FORBIDDEN_IN_CHATROOM",D[D.RC_CHATROOM_USER_KICKED=23409]="RC_CHATROOM_USER_KICKED",D[D.RC_CHATROOM_NOT_EXIST=23410]="RC_CHATROOM_NOT_EXIST",D[D.RC_CHATROOM_IS_FULL=23411]="RC_CHATROOM_IS_FULL",D[D.RC_CHATROOM_PATAMETER_INVALID=23412]="RC_CHATROOM_PATAMETER_INVALID",D[D.CHATROOM_GET_HISTORYMSG_ERROR=23413]="CHATROOM_GET_HISTORYMSG_ERROR",D[D.CHATROOM_NOT_OPEN_HISTORYMSG_STORE=23414]="CHATROOM_NOT_OPEN_HISTORYMSG_STORE",D[D.CHATROOM_KV_EXCEED=23423]="CHATROOM_KV_EXCEED",D[D.CHATROOM_KV_OVERWRITE_INVALID=23424]="CHATROOM_KV_OVERWRITE_INVALID",D[D.CHATROOM_SET_PROPERTY_OVER_FREQUENCY=23425]="CHATROOM_SET_PROPERTY_OVER_FREQUENCY",D[D.CHATROOM_KV_STORE_NOT_OPEN=23426]="CHATROOM_KV_STORE_NOT_OPEN",D[D.CHATROOM_KEY_NOT_EXIST=23427]="CHATROOM_KEY_NOT_EXIST",D[D.CHATROOM_KV_STORE_NOT_ALL_SUCCESS=23428]="CHATROOM_KV_STORE_NOT_ALL_SUCCESS",D[D.CHATROOM_KV_STORE_OUT_LIMIT=23429]="CHATROOM_KV_STORE_OUT_LIMIT",D[D.CHATROOM_KV_SET_ERROR=23431]="CHATROOM_KV_SET_ERROR",D[D.HAVNODEVICEID=24001]="HAVNODEVICEID",D[D.DEVICEIDISHAVE=24002]="DEVICEIDISHAVE",D[D.FEILD=24009]="FEILD",D[D.INTERNALERRROR=24015]="INTERNALERRROR",D[D.RC_USER_PROFILE_KEY_NOT_ALLOW_SDK_SET=24360]="RC_USER_PROFILE_KEY_NOT_ALLOW_SDK_SET",D[D.RC_USER_PROFILE_KEY_NOT_EXIST=24361]="RC_USER_PROFILE_KEY_NOT_EXIST",D[D.RC_USER_PROFILE_EXT_KEY_NOT_EXIST=24362]="RC_USER_PROFILE_EXT_KEY_NOT_EXIST",D[D.RC_USER_PROFILE_EXT_KV_COUNT_EXCEED_LIMIT=24363]="RC_USER_PROFILE_EXT_KV_COUNT_EXCEED_LIMIT",D[D.RC_USER_PROFILE_VALUE_LENGTH_EXCEED_LIMIT=24364]="RC_USER_PROFILE_VALUE_LENGTH_EXCEED_LIMIT",D[D.RC_USER_PROFILE_QUERY_COUNT_EXCEED_LIMIT=24365]="RC_USER_PROFILE_QUERY_COUNT_EXCEED_LIMIT",D[D.RC_USER_PROFILE_USER_NOT_EXIST=24366]="RC_USER_PROFILE_USER_NOT_EXIST",D[D.RC_USER_PROFILE_VALUE_CAN_ONLY_BE_NUMBERS=24367]="RC_USER_PROFILE_VALUE_CAN_ONLY_BE_NUMBERS",D[D.RC_USER_PROFILE_VALUE_EXCEED_RANGE=24368]="RC_USER_PROFILE_VALUE_EXCEED_RANGE",D[D.RC_USER_PROFILE_SERVICE_UNAVAILABLE=24369]="RC_USER_PROFILE_SERVICE_UNAVAILABLE",D[D.ULTRA_GROUP_SERVICE_UNAVAILABLE=24401]="ULTRA_GROUP_SERVICE_UNAVAILABLE",D[D.ULTRA_GROUP_SERVICE_ERROR=24402]="ULTRA_GROUP_SERVICE_ERROR",D[D.ULTRA_GROUP_PARAMETER_ERROR=24403]="ULTRA_GROUP_PARAMETER_ERROR",D[D.ULTRA_GROUP_UNKNOWN_ERROR=24404]="ULTRA_GROUP_UNKNOWN_ERROR",D[D.NOT_IN_ULTRA_GROUP=24406]="NOT_IN_ULTRA_GROUP",D[D.FORBIDDEN_IN_ULTRA_GROUP=24408]="FORBIDDEN_IN_ULTRA_GROUP",D[D.ULTRA_GROUP_NOT_EXIST=24410]="ULTRA_GROUP_NOT_EXIST",D[D.ULTRA_GROUP_MEMBERS_OVERSIZE=24411]="ULTRA_GROUP_MEMBERS_OVERSIZE",D[D.ULTRA_GROUP_JOINED_OVERSIZE=24412]="ULTRA_GROUP_JOINED_OVERSIZE",D[D.ULTRA_GROUP_CHANNELS_OVERSIZE=24413]="ULTRA_GROUP_CHANNELS_OVERSIZE",D[D.ULTRA_GROUP_CHANNEL_ID_NOT_EXIST=24414]="ULTRA_GROUP_CHANNEL_ID_NOT_EXIST",D[D.ULTRA_GROUP_MESSAGE_SENT_OVER_FREQUENCY=24415]="ULTRA_GROUP_MESSAGE_SENT_OVER_FREQUENCY",D[D.ULTRA_GROUP_USER_NOT_IN_PRIVATE_CHANNEL=24416]="ULTRA_GROUP_USER_NOT_IN_PRIVATE_CHANNEL",D[D.RECALL_MESSAGE=25101]="RECALL_MESSAGE",D[D.MESSAGE_STORAGE_SERVICE_UNAVAILABLE=25102]="MESSAGE_STORAGE_SERVICE_UNAVAILABLE",D[D.RC_SERVER_UNKOWN_ERROR=25104]="RC_SERVER_UNKOWN_ERROR",D[D.RECALL_MESSAGE_USER_INVALID=25107]="RECALL_MESSAGE_USER_INVALID",D[D.RC_ENTRUST_SERVER_ERROR=25402]="RC_ENTRUST_SERVER_ERROR",D[D.RC_ENTRUST_SERVER_PARAMETER_ERROR=25403]="RC_ENTRUST_SERVER_PARAMETER_ERROR",D[D.RC_GROUP_ILLEGAL_ERROR=25404]="RC_GROUP_ILLEGAL_ERROR",D[D.RC_GROUP_AUTHORITY_ERROR=25405]="RC_GROUP_AUTHORITY_ERROR",D[D.RC_GROUP_PARAMETER_LENGTH_EXCEED_LIMIT=25406]="RC_GROUP_PARAMETER_LENGTH_EXCEED_LIMIT",D[D.RC_GROUP_PARAMETER_FORMAT_ERROR=25407]="RC_GROUP_PARAMETER_FORMAT_ERROR",D[D.RC_GROUP_PARAMETER_VALUE_CAN_ONLY_BE_NUMBERS=25408]="RC_GROUP_PARAMETER_VALUE_CAN_ONLY_BE_NUMBERS",D[D.RC_GROUP_ID_ALREADY_EXIST=25409]="RC_GROUP_ID_ALREADY_EXIST",D[D.RC_GROUP_ID_NOT_EXIST=25410]="RC_GROUP_ID_NOT_EXIST",D[D.RC_GROUP_MEMBERS_COUNT_EXCEED_LIMIT=25411]="RC_GROUP_MEMBERS_COUNT_EXCEED_LIMIT",D[D.RC_GROUP_MEMBERS_ALREADY_IN_GROUP=25412]="RC_GROUP_MEMBERS_ALREADY_IN_GROUP",D[D.RC_GROUP_NOT_ALLOW_SDK_OPERATION=25413]="RC_GROUP_NOT_ALLOW_SDK_OPERATION",D[D.RC_GROUP_NOT_ALLOW_JOIN=25414]="RC_GROUP_NOT_ALLOW_JOIN",D[D.RC_GROUP_EXT_KEY_NOT_EXIST=25415]="RC_GROUP_EXT_KEY_NOT_EXIST",D[D.RC_GROUP_REQUEST_OVERFREQUENCY=25416]="RC_GROUP_REQUEST_OVERFREQUENCY",D[D.RC_GROUP_OWNER_NOT_ALLOW_QUIT_OR_KICK=25417]="RC_GROUP_OWNER_NOT_ALLOW_QUIT_OR_KICK",D[D.RC_GROUP_USER_NOT_IN_GROUP=25418]="RC_GROUP_USER_NOT_IN_GROUP",D[D.RC_GROUP_MANAGER_OR_FOLLOW_COUNT_EXCEED_LIMIT=25419]="RC_GROUP_MANAGER_OR_FOLLOW_COUNT_EXCEED_LIMIT",D[D.RC_GROUP_USER_IS_NOT_MANAGER_IN_GROUP=25420]="RC_GROUP_USER_IS_NOT_MANAGER_IN_GROUP",D[D.RC_GROUP_APPLICATION_NOT_EXIST=25421]="RC_GROUP_APPLICATION_NOT_EXIST",D[D.RC_GROUP_QUERY_GROUP_COUNT_EXCEED_LIMIT=25422]="RC_GROUP_QUERY_GROUP_COUNT_EXCEED_LIMIT",D[D.RC_GROUP_NAME_INVALID=25423]="RC_GROUP_NAME_INVALID",D[D.RC_GROUP_JOIN_GROUP_NEED_MANAGER_ACCEPT=25424]="RC_GROUP_JOIN_GROUP_NEED_MANAGER_ACCEPT",D[D.RC_GROUP_OWNER_NOT_ALLOW_BE_MANAGER=25425]="RC_GROUP_OWNER_NOT_ALLOW_BE_MANAGER",D[D.RC_GROUP_NO_INVITE_PERMISSION=25426]="RC_GROUP_NO_INVITE_PERMISSION",D[D.RC_GROUP_NEED_INVITEE_ACCEPT=25427]="RC_GROUP_NEED_INVITEE_ACCEPT",D[D.RC_GROUP_APPLICATION_ALREADY_HANDLE=25428]="RC_GROUP_APPLICATION_ALREADY_HANDLE",D[D.RC_GROUP_OLD_GROUP_NOT_ENTRUST=25429]="RC_GROUP_OLD_GROUP_NOT_ENTRUST",D[D.RC_GROUP_ID_INVALID=25430]="RC_GROUP_ID_INVALID",D[D.RC_PAGE_TOKEN_PARSING_FAILED=25432]="RC_PAGE_TOKEN_PARSING_FAILED",D[D.RC_FRIEND_ALREADY_FRIEND=25460]="RC_FRIEND_ALREADY_FRIEND",D[D.RC_FRIEND_NEED_ACCEPT=25461]="RC_FRIEND_NEED_ACCEPT",D[D.RC_FRIEND_IN_OTHER_BLACK_LIST=25462]="RC_FRIEND_IN_OTHER_BLACK_LIST",D[D.RC_FRIEND_NOT_IN_OTHER_WHITE_LIST=25463]="RC_FRIEND_NOT_IN_OTHER_WHITE_LIST",D[D.RC_FRIEND_IN_MY_BLACK_LIST=25464]="RC_FRIEND_IN_MY_BLACK_LIST",D[D.RC_FRIEND_NOT_IN_MY_WHITE_LIST=25465]="RC_FRIEND_NOT_IN_MY_WHITE_LIST",D[D.RC_FRIEND_APPLICATION_NOT_EXIST=25466]="RC_FRIEND_APPLICATION_NOT_EXIST",D[D.RC_FRIEND_MY_FRIEND_COUNT_EXCEED_LIMIT=25467]="RC_FRIEND_MY_FRIEND_COUNT_EXCEED_LIMIT",D[D.RC_FRIEND_OTHER_FRIEND_COUNT_EXCEED_LIMIT=25468]="RC_FRIEND_OTHER_FRIEND_COUNT_EXCEED_LIMIT",D[D.RC_FRIEND_NOT_FRIEND=25469]="RC_FRIEND_NOT_FRIEND",D[D.RC_FRIEND_FIELDS_LENGTH_EXCEED_LIMIT=25470]="RC_FRIEND_FIELDS_LENGTH_EXCEED_LIMIT",D[D.RC_FRIEND_OTHER_NOT_ALLOW_ADD_FRIEND=25471]="RC_FRIEND_OTHER_NOT_ALLOW_ADD_FRIEND",D[D.RC_FRIEND_NOT_EXIST=25472]="RC_FRIEND_NOT_EXIST",D[D.RC_FRIEND_NOT_ALLOW_ADD_SELF=25473]="RC_FRIEND_NOT_ALLOW_ADD_SELF",D[D.SERVICE_INFORMATION_AUDIT_FAILED=25480]="SERVICE_INFORMATION_AUDIT_FAILED",D[D.PUSH_PARAMETER_INVALID=26001]="PUSH_PARAMETER_INVALID",D[D.USER_SETTING_SYNCED_ERROR=26002]="USER_SETTING_SYNCED_ERROR",D[D.CONVERSATION_TAG_OVERSIZE=26004]="CONVERSATION_TAG_OVERSIZE",D[D.RC_READ_RECEIPT_V4_INVALID=26005]="RC_READ_RECEIPT_V4_INVALID",D[D.RC_SERVER_DRIVE_UNREAD_COUNT_INVALID=26006]="RC_SERVER_DRIVE_UNREAD_COUNT_INVALID",D[D.RC_SERVER_PARAMETER_MESSAGEUIDS_CONFUSED=26007]="RC_SERVER_PARAMETER_MESSAGEUIDS_CONFUSED",D[D.RC_SERVER_PARAMETER_MESSAGEUID_INVALID=26009]="RC_SERVER_PARAMETER_MESSAGEUID_INVALID",D[D.RC_SERVER_PARAMETER_INVALID=26010]="RC_SERVER_PARAMETER_INVALID",D[D.RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE=26020]="RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE",D[D.RC_BESUBSCRIBED_USERIDS_COUNT_EXCEED_LIMIT=26021]="RC_BESUBSCRIBED_USERIDS_COUNT_EXCEED_LIMIT",D[D.RC_SUBSCRIBED_USERIDS_EXCEED_LIMIT=26022]="RC_SUBSCRIBED_USERIDS_EXCEED_LIMIT",D[D.RC_FILE_SIZE_EXCEED_LIMIT=26106]="RC_FILE_SIZE_EXCEED_LIMIT",D[D.INVALID_PARAMETER_SIZE_NOT_FOUND=26107]="INVALID_PARAMETER_SIZE_NOT_FOUND",D[D.RC_NET_CHANNEL_INVALID=30001]="RC_NET_CHANNEL_INVALID",D[D.RC_NET_UNAVAILABLE=30002]="RC_NET_UNAVAILABLE",D[D.RC_MSG_RESP_TIMEOUT=30003]="RC_MSG_RESP_TIMEOUT",D[D.RC_HTTP_SEND_FAIL=30004]="RC_HTTP_SEND_FAIL",D[D.RC_HTTP_REQ_FAIL=30005]="RC_HTTP_REQ_FAIL",D[D.RC_HTTP_RECV_FAIL=30006]="RC_HTTP_RECV_FAIL",D[D.RC_NAVI_REQ_FAILED=30007]="RC_NAVI_REQ_FAILED",D[D.RC_NODE_NOT_FOUND=30008]="RC_NODE_NOT_FOUND",D[D.RC_DOMAIN_NOT_RESOLVE=30009]="RC_DOMAIN_NOT_RESOLVE",D[D.RC_SOCKET_NOT_CREATED=30010]="RC_SOCKET_NOT_CREATED",D[D.RC_SOCKET_DISCONNECTED=30011]="RC_SOCKET_DISCONNECTED",D[D.RC_PING_EXCEED_LIMIT=30012]="RC_PING_EXCEED_LIMIT",D[D.PONG_RECEIVED_ERROR=30013]="PONG_RECEIVED_ERROR",D[D.RC_MSG_SEND_FAIL=30014]="RC_MSG_SEND_FAIL",D[D.CONNECT_OVER_FREQUENCY=30015]="CONNECT_OVER_FREQUENCY",D[D.RC_MSG_CONTENT_EXCEED_LIMIT=30016]="RC_MSG_CONTENT_EXCEED_LIMIT",D[D.MESSAGE_NOT_SUPPORT_SENDING=30017]="MESSAGE_NOT_SUPPORT_SENDING",D[D.RC_NETWORK_DOWN=30019]="RC_NETWORK_DOWN",D[D.RC_TCP_DISCONNECTED_NO_RMTP=30021]="RC_TCP_DISCONNECTED_NO_RMTP",D[D.RC_CONN_ACK_TIMEOUT=31e3]="RC_CONN_ACK_TIMEOUT",D[D.RC_CONN_PROTO_VERSION_ERROR=31001]="RC_CONN_PROTO_VERSION_ERROR",D[D.RC_CONN_IDENTIFIER_REJECTED=31002]="RC_CONN_IDENTIFIER_REJECTED",D[D.RC_CONN_SERVER_UNAVAILABLE=31003]="RC_CONN_SERVER_UNAVAILABLE",D[D.RC_CONN_TOKEN_INCORRECT=31004]="RC_CONN_TOKEN_INCORRECT",D[D.RC_CONN_NOT_AUTHRORIZED=31005]="RC_CONN_NOT_AUTHRORIZED",D[D.RC_CONN_REDIRECTED=31006]="RC_CONN_REDIRECTED",D[D.RC_CONN_PACKAGE_NAME_INVALID=31007]="RC_CONN_PACKAGE_NAME_INVALID",D[D.RC_CONN_APP_BLOCKED_OR_DELETED=31008]="RC_CONN_APP_BLOCKED_OR_DELETED",D[D.RC_CONN_USER_BLOCKED=31009]="RC_CONN_USER_BLOCKED",D[D.RC_DISCONN_KICK=31010]="RC_DISCONN_KICK",D[D.RC_DISCONN_EXCEPTION=31011]="RC_DISCONN_EXCEPTION",D[D.CONNECTION_ENCRYPT_AUTHORIZED_ERROR=31012]="CONNECTION_ENCRYPT_AUTHORIZED_ERROR",D[D.RC_CONN_TOKEN_EXPIRED=31020]="RC_CONN_TOKEN_EXPIRED",D[D.RC_CONN_DEVICE_ERROR=31021]="RC_CONN_DEVICE_ERROR",D[D.RC_CONN_HOSTNAME_ERROR=31022]="RC_CONN_HOSTNAME_ERROR",D[D.RC_DISCONN_SAME_CLIENT_ON_LINE=31023]="RC_DISCONN_SAME_CLIENT_ON_LINE",D[D.RC_LISCENSE_COUNT_OUT_OF_LIMIT=31024]="RC_LISCENSE_COUNT_OUT_OF_LIMIT",D[D.RC_CONN_WRONG_CLUSTER=31025]="RC_CONN_WRONG_CLUSTER",D[D.RC_APP_AUTH_NOT_PASS=31026]="RC_APP_AUTH_NOT_PASS",D[D.RC_OTP_USED=31027]="RC_OTP_USED",D[D.RC_PLATFORM_ERROR=31028]="RC_PLATFORM_ERROR",D[D.RC_ACCOUNT_CANCELLATION=31029]="RC_ACCOUNT_CANCELLATION",D[D.RC_LICENSE_EXPIRED=31030]="RC_LICENSE_EXPIRED",D[D.RC_QUERY_ACK_NO_DATA=32001]="RC_QUERY_ACK_NO_DATA",D[D.RC_MSG_DATA_INCOMPLETE=32002]="RC_MSG_DATA_INCOMPLETE",D[D.RC_UDP_DISCONNECTED=32011]="RC_UDP_DISCONNECTED",D[D.RC_TCP_RESET=32054]="RC_TCP_RESET",D[D.CONNECTION_REFUSED=32061]="CONNECTION_REFUSED",D[D.PROTOCOL_MESSAGE_SAVED_ERROR=33e3]="PROTOCOL_MESSAGE_SAVED_ERROR",D[D.BIZ_ERROR_CLIENT_NOT_INIT=33001]="BIZ_ERROR_CLIENT_NOT_INIT",D[D.BIZ_ERROR_DATABASE_ERROR=33002]="BIZ_ERROR_DATABASE_ERROR",D[D.BIZ_ERROR_INVALID_PARAMETER=33003]="BIZ_ERROR_INVALID_PARAMETER",D[D.BIZ_ERROR_NO_CHANNEL=33004]="BIZ_ERROR_NO_CHANNEL",D[D.BIZ_ERROR_RECONNECT_SUCCESS=33005]="BIZ_ERROR_RECONNECT_SUCCESS",D[D.BIZ_ERROR_CONNECTING=33006]="BIZ_ERROR_CONNECTING",D[D.MSG_ROAMING_SERVICE_UNAVAILABLE=33007]="MSG_ROAMING_SERVICE_UNAVAILABLE",D[D.MSG_INSERT_ERROR=33008]="MSG_INSERT_ERROR",D[D.MSG_DEL_ERROR=33009]="MSG_DEL_ERROR",D[D.TAG_NOT_EXIST=33100]="TAG_NOT_EXIST",D[D.TAG_EXISTS=33101]="TAG_EXISTS",D[D.NO_TAG_IN_CONVER=33102]="NO_TAG_IN_CONVER",D[D.RC_CONNECTION_EXIST=34001]="RC_CONNECTION_EXIST",D[D.PACKAGE_ENVIRONMENT_ERROR=34005]="PACKAGE_ENVIRONMENT_ERROR",D[D.CONNECTION_TIMEOUT=34006]="CONNECTION_TIMEOUT",D[D.MESSAGE_KV_NOT_SUPPORT=34008]="MESSAGE_KV_NOT_SUPPORT",D[D.MESSAGE_EXPANDED_ERROR=34009]="MESSAGE_EXPANDED_ERROR",D[D.EXPANSION_LIMIT_EXCEET=34010]="EXPANSION_LIMIT_EXCEET",D[D.UPLOAD_FAIL=34011]="UPLOAD_FAIL",D[D.CONVER_OUT_LIMIT_ERROR=34013]="CONVER_OUT_LIMIT_ERROR",D[D.READ_RECEIPT_ERROR=34014]="READ_RECEIPT_ERROR",D[D.PUSH_CONTENT_CONFIG_SERVICE_UNAVAILABLE=34016]="PUSH_CONTENT_CONFIG_SERVICE_UNAVAILABLE",D[D.MESSAGE_INTERCEPTION_PRODUCED_NULL_MESSAGE=34017]="MESSAGE_INTERCEPTION_PRODUCED_NULL_MESSAGE",D[D.MEDIA_EXCEPTION=34018]="MEDIA_EXCEPTION",D[D.MESSAGE_NOT_REGISTERED=34021]="MESSAGE_NOT_REGISTERED",D[D.METHOD_NOT_SUPPORT=34022]="METHOD_NOT_SUPPORT",D[D.ULTRA_GROUP_CHANNEL_NOT_EXIST=34024]="ULTRA_GROUP_CHANNEL_NOT_EXIST",D[D.INCONSISTENT_CONVERSATION_TYPE=34025]="INCONSISTENT_CONVERSATION_TYPE",D[D.CONVERSATION_TYPE_NOT_SUPPORT=34201]="CONVERSATION_TYPE_NOT_SUPPORT",D[D.INVALID_PARAMETER_TIMESTAMP=34202]="INVALID_PARAMETER_TIMESTAMP",D[D.INVALID_PARAMETER_MESSAGE_UID=34203]="INVALID_PARAMETER_MESSAGE_UID",D[D.INVALID_PARAMETER_MESSAGE_ID=34204]="INVALID_PARAMETER_MESSAGE_ID",D[D.INVALID_PARAMETER_MESSAGE_CONTENT=34205]="INVALID_PARAMETER_MESSAGE_CONTENT",D[D.MSG_LIMIT_ERROR=34206]="MSG_LIMIT_ERROR",D[D.INVALID_PARAMETER_MEDIA_TYPE=34207]="INVALID_PARAMETER_MEDIA_TYPE",D[D.INVALID_PARAMETER_CONVERSATION_TYPE=34209]="INVALID_PARAMETER_CONVERSATION_TYPE",D[D.INVALID_PARAMETER_TARGET_ID=34210]="INVALID_PARAMETER_TARGET_ID",D[D.INVALID_PARAMETER_CHANNEL_ID=34211]="INVALID_PARAMETER_CHANNEL_ID",D[D.INVALID_PARAMETER_TAG_ID=34212]="INVALID_PARAMETER_TAG_ID",D[D.INVALID_PARAMETER_TAG_NAME=34213]="INVALID_PARAMETER_TAG_NAME",D[D.INVALID_PARAMETER_USER_ID=34214]="INVALID_PARAMETER_USER_ID",D[D.INVALID_PARAMETER_USERIDLIST=34215]="INVALID_PARAMETER_USERIDLIST",D[D.INVALID_PARAMETER_DOWNLOADMEDIAFILENAME=34217]="INVALID_PARAMETER_DOWNLOADMEDIAFILENAME",D[D.INVALID_PARAMETER_MESSAGE_EXPANSION=34220]="INVALID_PARAMETER_MESSAGE_EXPANSION",D[D.INVALID_PARAMETER_TIMESTRING=34224]="INVALID_PARAMETER_TIMESTRING",D[D.INVALID_PARAMETER_CONVERSATION=34225]="INVALID_PARAMETER_CONVERSATION",D[D.INVALID_PARAMETER_NOTIFICATION_LEVEL=34228]="INVALID_PARAMETER_NOTIFICATION_LEVEL",D[D.INVALID_PARAMETER_MESSAGE_ARRAY=34229]="INVALID_PARAMETER_MESSAGE_ARRAY",D[D.INVALID_PARAMETER_RECEIVED_STATUS=34230]="INVALID_PARAMETER_RECEIVED_STATUS",D[D.INVALID_PARAMETER_CHANNEL_TYPE=34231]="INVALID_PARAMETER_CHANNEL_TYPE",D[D.INVALID_PARAMETER_COUNT=34232]="INVALID_PARAMETER_COUNT",D[D.INVALID_PARAMETER_MEDIA_URL=34235]="INVALID_PARAMETER_MEDIA_URL",D[D.INVALID_PARAMETER_UNIQUE_ID=34236]="INVALID_PARAMETER_UNIQUE_ID",D[D.INVALID_PARAMETER_PROXY=34238]="INVALID_PARAMETER_PROXY",D[D.INVALID_PARAMETER_TESTHOST=34239]="INVALID_PARAMETER_TESTHOST",D[D.INVALID_CONNECT_TESTHOST_FAILED=34240]="INVALID_CONNECT_TESTHOST_FAILED",D[D.INVALID_PARAMETER_CONVERSATIONS=34242]="INVALID_PARAMETER_CONVERSATIONS",D[D.INVALID_PARAMETER_SENT_STATUS=34244]="INVALID_PARAMETER_SENT_STATUS",D[D.RC_CONN_PROXY_UNAVAILABLE=34245]="RC_CONN_PROXY_UNAVAILABLE",D[D.INVALID_PARAMETER_RTCROOMID=34259]="INVALID_PARAMETER_RTCROOMID",D[D.INVALID_PARAMETER_KEY=34260]="INVALID_PARAMETER_KEY",D[D.INVALID_PARAMETER_KEYS=34261]="INVALID_PARAMETER_KEYS",D[D.INVALID_PARAMETER_VALUE=34262]="INVALID_PARAMETER_VALUE",D[D.INVALID_PARAMETER_ENTRIES=34263]="INVALID_PARAMETER_ENTRIES",D[D.INVALID_PARAMETER_NOTIFICATION_EXTRA=34264]="INVALID_PARAMETER_NOTIFICATION_EXTRA",D[D.INVALID_PARAMETER_MESSAGE_OBJECT_NAME=34271]="INVALID_PARAMETER_MESSAGE_OBJECT_NAME",D[D.INVALID_PARAMETER_BEFORE=34272]="INVALID_PARAMETER_BEFORE",D[D.INVALID_PARAMETER_AFTER=34273]="INVALID_PARAMETER_AFTER",D[D.INVALID_PARAMETER_KEYWORD=34274]="INVALID_PARAMETER_KEYWORD",D[D.INVALID_PARAMETER_MESSAGE_OBJECT_NAME_LIST=34275]="INVALID_PARAMETER_MESSAGE_OBJECT_NAME_LIST",D[D.INVALID_PARAMETER_OFFSET=34276]="INVALID_PARAMETER_OFFSET",D[D.INVALID_PARAMETER_START_TIME=34277]="INVALID_PARAMETER_START_TIME",D[D.INVALID_PARAMETER_END_TIME=34278]="INVALID_PARAMETER_END_TIME",D[D.INVALID_PARAMETER_LIMIT=34279]="INVALID_PARAMETER_LIMIT",D[D.INVALID_MESSAGE_DIRECTION=34280]="INVALID_MESSAGE_DIRECTION",D[D.INVALID_MESSAGE_SENT_STATUS=34281]="INVALID_MESSAGE_SENT_STATUS",D[D.INVALID_PARAMETER_TARGETID_LIST=34282]="INVALID_PARAMETER_TARGETID_LIST",D[D.INVALID_PARAMETER_SPAN_MINUTES=34283]="INVALID_PARAMETER_SPAN_MINUTES",D[D.INVALID_PARAMETER_CONVERSATION_TYPE_LIST=34284]="INVALID_PARAMETER_CONVERSATION_TYPE_LIST",D[D.INVALID_PARAMETER_CONVERSATION_LIST=34287]="INVALID_PARAMETER_CONVERSATION_LIST",D[D.INVALID_PARAMETER_CLEAR_MESSAGE_OPTION_LIST=34288]="INVALID_PARAMETER_CLEAR_MESSAGE_OPTION_LIST",D[D.INVALID_PARAMETER_START_MESSAGE_UID=34289]="INVALID_PARAMETER_START_MESSAGE_UID",D[D.INVALID_PARAMETER_END_MESSAGE_UID=34290]="INVALID_PARAMETER_END_MESSAGE_UID",D[D.READ_RECEIPT_V4_NOT_SUPPORT=34291]="READ_RECEIPT_V4_NOT_SUPPORT",D[D.READ_RECEIPT_V4_UPDATE_NOT_SUPPORT=34292]="READ_RECEIPT_V4_UPDATE_NOT_SUPPORT",D[D.RC_DIRECTIONAL_MESSAGE_INVALID_CONVERSATION_TYPE=34296]="RC_DIRECTIONAL_MESSAGE_INVALID_CONVERSATION_TYPE",D[D.RC_DB_NOT_INIT=34301]="RC_DB_NOT_INIT",D[D.RC_DB_CORRUPT=34302]="RC_DB_CORRUPT",D[D.RC_DB_SQL_ERROR=34303]="RC_DB_SQL_ERROR",D[D.RC_DB_DATA_NOT_FOUND=34304]="RC_DB_DATA_NOT_FOUND",D[D.RC_NET_DATA_ERROR=34305]="RC_NET_DATA_ERROR",D[D.INVALID_PARAMETER_SUBSCRIBE_TYPE=34306]="INVALID_PARAMETER_SUBSCRIBE_TYPE",D[D.INVALID_PARAMETER_SUBSCRIBE_EXPIRY=34307]="INVALID_PARAMETER_SUBSCRIBE_EXPIRY",D[D.INVALID_PARAMETER_SUBSCRIBE_PUBLISHER_USERIDS=34308]="INVALID_PARAMETER_SUBSCRIBE_PUBLISHER_USERIDS",D[D.INVALID_PARAMETER_SUBSCRIBE_PAGESIZE=34309]="INVALID_PARAMETER_SUBSCRIBE_PAGESIZE",D[D.SUB_PROCESS_EXIT=34310]="SUB_PROCESS_EXIT",D[D.ADDON_NOT_EXIST=34311]="ADDON_NOT_EXIST",D[D.INVALID_PARAMETER_USER_PROFILE=34312]="INVALID_PARAMETER_USER_PROFILE",D[D.INVALID_PARAMETER_USER_PROFILE_VISIBILITY=34313]="INVALID_PARAMETER_USER_PROFILE_VISIBILITY",D[D.INVALID_PARAMETER_EXTRA=34314]="INVALID_PARAMETER_EXTRA",D[D.DB_UPGRADE_FAILED=34315]="DB_UPGRADE_FAILED",D[D.INVALID_PARAMETER_GROUP_INFO=34318]="INVALID_PARAMETER_GROUP_INFO",D[D.INVALID_PARAMETER_GROUP_ID=34319]="INVALID_PARAMETER_GROUP_ID",D[D.INVALID_PARAMETER_GROUP_NAME=34320]="INVALID_PARAMETER_GROUP_NAME",D[D.INVALID_PARAMETER_GROUP_IDS=34321]="INVALID_PARAMETER_GROUP_IDS",D[D.INVALID_PARAMETER_GROUP_MEMBER_ROLE=34322]="INVALID_PARAMETER_GROUP_MEMBER_ROLE",D[D.INVALID_PARAMETER_GROUP_APPLICATION_STATUS=34323]="INVALID_PARAMETER_GROUP_APPLICATION_STATUS",D[D.INVALID_PARAMETER_GROUP_APPLICATION_DIRECTION=34324]="INVALID_PARAMETER_GROUP_APPLICATION_DIRECTION",D[D.INVALID_PARAMETER_NICK_NAME=34325]="INVALID_PARAMETER_NICK_NAME",D[D.INVALID_PARAMETER_REASON=34326]="INVALID_PARAMETER_REASON",D[D.INVALID_PARAMETER_REMARK=34327]="INVALID_PARAMETER_REMARK",D[D.INVALID_PARAMETER_PAGING_QUERY_OPTION=34328]="INVALID_PARAMETER_PAGING_QUERY_OPTION",D[D.NET_DATA_IS_SYNCHRONIZING=34329]="NET_DATA_IS_SYNCHRONIZING",D[D.INVALID_PARAMETER_QUERY_FRIENDS_DIRECTION_TYPE=34330]="INVALID_PARAMETER_QUERY_FRIENDS_DIRECTION_TYPE",D[D.INVALID_PARAMETER_DIRECTION_TYPE=34331]="INVALID_PARAMETER_DIRECTION_TYPE",D[D.INVALID_PARAMETER_FRIEND_APPLICATION_TYPE=34332]="INVALID_PARAMETER_FRIEND_APPLICATION_TYPE",D[D.INVALID_PARAMETER_FRIEND_APPLICATION_STATUS=34333]="INVALID_PARAMETER_FRIEND_APPLICATION_STATUS",D[D.INVALID_PARAMETER_FRIEND_ADD_PERMISSION=34334]="INVALID_PARAMETER_FRIEND_ADD_PERMISSION",D[D.INVALID_PARAMETER_FRIEND_INFO_EXT_FIELDS=34335]="INVALID_PARAMETER_FRIEND_INFO_EXT_FIELDS",D[D.RC_REAL_TIME_CONVERSATION_UNAVAILABLE=34336]="RC_REAL_TIME_CONVERSATION_UNAVAILABLE",D[D.GROUP_SYNC_ERROR=35001]="GROUP_SYNC_ERROR",D[D.GROUP_MATCH_ERROR=35002]="GROUP_MATCH_ERROR",D[D.NOT_SUPPORT=35004]="NOT_SUPPORT",D[D.MAIN_PROCESS_ERROR=35005]="MAIN_PROCESS_ERROR",D[D.CAN_NOT_RECONNECT=35007]="CAN_NOT_RECONNECT",D[D.SERVER_UNAVAILABLE=35008]="SERVER_UNAVAILABLE",D[D.HOSTNAME_ERROR=35009]="HOSTNAME_ERROR",D[D.HAS_OHTER_SAME_CLIENT_ON_LINE=35010]="HAS_OHTER_SAME_CLIENT_ON_LINE",D[D.METHOD_NOT_AVAILABLE=35011]="METHOD_NOT_AVAILABLE",D[D.METHOD_ONLY_SUPPORT_ULTRA_GROUP=35014]="METHOD_ONLY_SUPPORT_ULTRA_GROUP",D[D.DRAFT_SAVE_ERROR=35015]="DRAFT_SAVE_ERROR",D[D.DRAFT_REMOVE_ERROR=35016]="DRAFT_REMOVE_ERROR",D[D.CONVER_REMOVE_ERROR=35020]="CONVER_REMOVE_ERROR",D[D.CONVER_GET_ERROR=35021]="CONVER_GET_ERROR",D[D.SEARCH_PROPS_LIMIT_ERROR=35022]="SEARCH_PROPS_LIMIT_ERROR",D[D.INVALID_PARAMETER_MESSAGE_TYPE=35024]="INVALID_PARAMETER_MESSAGE_TYPE",D[D.INVALID_PARAMETER_ORDER=35025]="INVALID_PARAMETER_ORDER",D[D.INVALID_PARAMETER_DRAFT=35028]="INVALID_PARAMETER_DRAFT",D[D.INVALID_PARAMETER_MESSAGE=35029]="INVALID_PARAMETER_MESSAGE",D[D.INVALID_PARAMETER_PUSH_CONTENT=35030]="INVALID_PARAMETER_PUSH_CONTENT",D[D.INVALID_PARAMETER_SENDOPTIONS=35031]="INVALID_PARAMETER_SENDOPTIONS",D[D.INVALID_PARAMETER_CONTENT_DISPOSITION=35032]="INVALID_PARAMETER_CONTENT_DISPOSITION",D[D.INVALID_PARAMETER_SAVE_NAME=35033]="INVALID_PARAMETER_SAVE_NAME",D[D.INVALID_PARAMETER_SERVER_TYPE=35034]="INVALID_PARAMETER_SERVER_TYPE",D[D.INVALID_PARAMETER_CLEAN_SPACE=35035]="INVALID_PARAMETER_CLEAN_SPACE",D[D.INVALID_PARAMETER_CAN_INCLUDE_EXPANSION=35036]="INVALID_PARAMETER_CAN_INCLUDE_EXPANSION",D[D.INVALID_PARAMETER_DISABLE_NOTIFICATION=35037]="INVALID_PARAMETER_DISABLE_NOTIFICATION",D[D.INVALID_PARAMETER_CHECK_DUPLICATE=35038]="INVALID_PARAMETER_CHECK_DUPLICATE",D[D.INVALID_PARAMETER_IS_AUTO_DELETE=35039]="INVALID_PARAMETER_IS_AUTO_DELETE",D[D.INVALID_PARAMETER_IS_SEND_NOTIFICATION=35040]="INVALID_PARAMETER_IS_SEND_NOTIFICATION",D[D.INVALID_PARAMETER_IS_FORCE=35041]="INVALID_PARAMETER_IS_FORCE",D[D.INVALID_PARAMETER_IS_TOP=35042]="INVALID_PARAMETER_IS_TOP",D[D.INVALID_PARAMETER_IS_UPDATE_TIME=35043]="INVALID_PARAMETER_IS_UPDATE_TIME",D[D.INVALID_PARAMETER_CONTAIN_MUTED=35044]="INVALID_PARAMETER_CONTAIN_MUTED",D[D.INVALID_PARAMETER_IS_STATUS_MESSAGE=35045]="INVALID_PARAMETER_IS_STATUS_MESSAGE",D[D.INVALID_PARAMETER_IS_MENTIONED=35046]="INVALID_PARAMETER_IS_MENTIONED",D[D.INVALID_PARAMETER_IS_VOIP_PUSH=35047]="INVALID_PARAMETER_IS_VOIP_PUSH",D[D.INVALID_PARAMETER_MENTIONED_TYPE=35048]="INVALID_PARAMETER_MENTIONED_TYPE",D[D.INVALID_PARAMETER_PUSH_CONFIG=35049]="INVALID_PARAMETER_PUSH_CONFIG",D[D.INVALID_PARAMETER_PUSH_DATA=35050]="INVALID_PARAMETER_PUSH_DATA",D[D.DNS_PROXY_TIMEOUT=35051]="DNS_PROXY_TIMEOUT",D[D.DNS_PROXY_ERROR=35052]="DNS_PROXY_ERROR",D[D.DNS_PROXY_DATA_DESTRUCTUR_ERROR=35053]="DNS_PROXY_DATA_DESTRUCTUR_ERROR",D[D.INVALID_DISABLE_UPDATE_LAST_MESSAGE=35054]="INVALID_DISABLE_UPDATE_LAST_MESSAGE",D[D.CHATROOM_ID_ISNULL=36001]="CHATROOM_ID_ISNULL",D[D.CHARTOOM_JOIN_ERROR=36002]="CHARTOOM_JOIN_ERROR",D[D.CHATROOM_HISMESSAGE_ERROR=36003]="CHATROOM_HISMESSAGE_ERROR",D[D.CHATROOM_KV_NOT_FOUND=36004]="CHATROOM_KV_NOT_FOUND",D[D.BLACK_ADD_ERROR=37001]="BLACK_ADD_ERROR",D[D.BLACK_GETSTATUS_ERROR=37002]="BLACK_GETSTATUS_ERROR",D[D.BLACK_REMOVE_ERROR=37003]="BLACK_REMOVE_ERROR",D[D.DRAF_GET_ERROR=38001]="DRAF_GET_ERROR",D[D.STREAM_MESSAGE_DISABLE=39001]="STREAM_MESSAGE_DISABLE",D[D.STREAM_MESSAGE_REQUEST_COUNT_LIMIT_EXCEEDED=39002]="STREAM_MESSAGE_REQUEST_COUNT_LIMIT_EXCEEDED",D[D.STREAM_MESSAGE_EXPANSION_KEY_ERROR=39003]="STREAM_MESSAGE_EXPANSION_KEY_ERROR",D[D.STREAM_MESSAGE_REQUEST_FAIL=39005]="STREAM_MESSAGE_REQUEST_FAIL",D[D.STREAM_MESSAGE_REQUEST_IN_PROCESS=39006]="STREAM_MESSAGE_REQUEST_IN_PROCESS",D[D.STREAM_MESSAGE_SYNCED=39007]="STREAM_MESSAGE_SYNCED",D[D.QNTKN_GET_ERROR=41002]="QNTKN_GET_ERROR",D[D.TIMEOUT=-1]="TIMEOUT",exports.ConversationType=void 0,(w=exports.ConversationType||(exports.ConversationType={}))[w.NONE=0]="NONE",w[w.PRIVATE=1]="PRIVATE",w[w.DISCUSSION=2]="DISCUSSION",w[w.GROUP=3]="GROUP",w[w.CHATROOM=4]="CHATROOM",w[w.CUSTOMER_SERVICE=5]="CUSTOMER_SERVICE",w[w.SYSTEM=6]="SYSTEM",w[w.APP_PUBLIC_SERVICE=7]="APP_PUBLIC_SERVICE",w[w.PUBLIC_SERVICE=8]="PUBLIC_SERVICE",w[w.ULTRA_GROUP=10]="ULTRA_GROUP",w[w.RTC_ROOM=12]="RTC_ROOM",function(e){e[e.RMTP=1]="RMTP",e[e.TLS=2]="TLS",e[e.RPP=3]="RPP",e[e.QUIC=4]="QUIC",e[e.WS=5]="WS",e[e.WSS=6]="WSS",e[e.HTTP=11]="HTTP",e[e.HTTPS=12]="HTTPS"}(V||(V={})),exports.FileType=void 0,(G=exports.FileType||(exports.FileType={}))[G.IMAGE=1]="IMAGE",G[G.AUDIO=2]="AUDIO",G[G.VIDEO=3]="VIDEO",G[G.FILE=4]="FILE",G[G.SIGHT=5]="SIGHT",G[G.COMBINE_HTML=6]="COMBINE_HTML",exports.MentionedType=void 0,(F=exports.MentionedType||(exports.MentionedType={}))[F.ALL=1]="ALL",F[F.SINGAL=2]="SINGAL",exports.MessageType=void 0,(B=exports.MessageType||(exports.MessageType={})).TextMessage="RC:TxtMsg",B.VOICE="RC:VcMsg",B.HQ_VOICE="RC:HQVCMsg",B.IMAGE="RC:ImgMsg",B.GIF="RC:GIFMsg",B.RICH_CONTENT="RC:ImgTextMsg",B.LOCATION="RC:LBSMsg",B.FILE="RC:FileMsg",B.SIGHT="RC:SightMsg",B.COMBINE="RC:CombineMsg",B.COMBINE_V2="RC:CombineV2Msg",B.CHRM_KV_NOTIFY="RC:chrmKVNotiMsg",B.LOG_COMMAND="RC:LogCmdMsg",B.EXPANSION_NOTIFY="RC:MsgExMsg",B.REFERENCE="RC:ReferenceMsg",B.RECALL="RC:RcCmd",B.RECALL_NOTIFICATION_MESSAGE="RC:RcNtf",B.READ_RECEIPT="RC:ReadNtf",B.READ_RECEIPT_REQUEST="RC:RRReqMsg",B.READ_RECEIPT_RESPONSE="RC:RRRspMsg",B.SYNC_READ_STATUS="RC:SRSMsg",B.GROUP_READ_RECEIPT_REQUEST="RC:RRMsg",B.READ_STATE="RC:RSMsg",B.DELIVERED="RC:Delivered",B.DELIVERED_MSG="RC:DRMsg",B.CHATROOM_MERGE_CHANGE="RC:ChrmMemChange",B.CHATROOM_SYNC_MSG="RC:ChrmSyncMsg",B.CHATROOM_MERGE_BLOCK="RC:ChrmBlockMsg",B.CHATROOM_MERGE_BAN="RC:ChrmBanMsg",B.TYPING_STATUS="RC:TypSts",B.INTERCEPT="RC:InterceptMsg",B.CLOUD_CONTROL="RC:CCConfigChangeRequestMsg",B.STREAM_MESSAGE="RC:StreamMsg",exports.UltraGroupChannelType=void 0,(k=exports.UltraGroupChannelType||(exports.UltraGroupChannelType={}))[k.PUBLIC=0]="PUBLIC",k[k.PRIVATE=1]="PRIVATE",exports.UltraGroupChannelChangeType=void 0,(H=exports.UltraGroupChannelChangeType||(exports.UltraGroupChannelChangeType={}))[H.PUBLIC_TO_PRIVATE=2]="PUBLIC_TO_PRIVATE",H[H.PRIVATE_TO_PUBLIC=3]="PRIVATE_TO_PUBLIC",H[H.PUBLIC_TO_PRIVATE_USER_NOT_IN=6]="PUBLIC_TO_PRIVATE_USER_NOT_IN",function(e){e[e.MSG_EXPANSION=1]="MSG_EXPANSION",e[e.MSG_MODIFY=2]="MSG_MODIFY",e[e.MSG_RECALL=3]="MSG_RECALL",e[e.CHANNEL_CHANGE=4]="CHANNEL_CHANGE",e[e.USER_GROUP_CHANGE=5]="USER_GROUP_CHANGE"}(q||(q={})),function(e){e[e.CHANNEL_DELETE=1]="CHANNEL_DELETE",e[e.PUBLIC_TO_PRIVATE=2]="PUBLIC_TO_PRIVATE",e[e.PRIVATE_TO_PUBLIC=3]="PRIVATE_TO_PUBLIC",e[e.PRIVATE_CHANNEL_USER_JOIN_PUBLIC=4]="PRIVATE_CHANNEL_USER_JOIN_PUBLIC",e[e.CHANNEL_USER_KICKED=5]="CHANNEL_USER_KICKED",e[e.PUBLIC_TO_PRIVATE_USER_NOT_IN=6]="PUBLIC_TO_PRIVATE_USER_NOT_IN"}(Y||(Y={})),function(e){e[e.REMOVE_USER_GROUP=1]="REMOVE_USER_GROUP",e[e.JOIN_USER_GROUP=2]="JOIN_USER_GROUP",e[e.EXIT_USER_GROUP=3]="EXIT_USER_GROUP",e[e.CHANNEL_BIND_USER_GROUP=4]="CHANNEL_BIND_USER_GROUP",e[e.CHANNEL_UNBIND_USER_GROUP=5]="CHANNEL_UNBIND_USER_GROUP"}(K||(K={})),function(e){e[e.NOT_MENTIONED=0]="NOT_MENTIONED",e[e.ALL=1]="ALL",e[e.ME=2]="ME"}(j||(j={})),exports.SentStatus=void 0,(Q=exports.SentStatus||(exports.SentStatus={}))[Q.SENDING=10]="SENDING",Q[Q.FAILED=20]="FAILED",Q[Q.SENT=30]="SENT",Q[Q.RECEIVED=40]="RECEIVED",Q[Q.READ=50]="READ",Q[Q.DESTROYED=60]="DESTROYED",exports.OperateStatus=void 0,(W=exports.OperateStatus||(exports.OperateStatus={}))[W.typing=0]="typing",exports.OnlineStatus=void 0,($=exports.OnlineStatus||(exports.OnlineStatus={}))[$.ONLINE=1]="ONLINE",$[$.OFFLINE=0]="OFFLINE",exports.PlatformInfo=void 0,(J=exports.PlatformInfo||(exports.PlatformInfo={}))[J.Other=0]="Other",J[J.iOS=1]="iOS",J[J.Android=2]="Android",J[J.Web=3]="Web",J[J.PC=4]="PC",J[J.Mini=5]="Mini",J[J.HarmonyOS=6]="HarmonyOS",exports.SubscribeType=void 0,(X=exports.SubscribeType||(exports.SubscribeType={}))[X.ONLINE_STATUS=1]="ONLINE_STATUS",X[X.USER_PROFILE=2]="USER_PROFILE",X[X.FRIEND_ONLINE_STATUS=3]="FRIEND_ONLINE_STATUS",X[X.FRIEND_USER_PROFILE=4]="FRIEND_USER_PROFILE",exports.SubscribeOperationType=void 0,(Z=exports.SubscribeOperationType||(exports.SubscribeOperationType={}))[Z.SUBSCRIBE=0]="SUBSCRIBE",Z[Z.UNSUBSCRIBE=1]="UNSUBSCRIBE",exports.UserProfileVisibility=void 0,(z=exports.UserProfileVisibility||(exports.UserProfileVisibility={}))[z.NOT_SET=0]="NOT_SET",z[z.INVISIBLE=1]="INVISIBLE",z[z.EVERYONE=2]="EVERYONE",z[z.FriendVisible=3]="FriendVisible",exports.RCConnectionStatus=void 0,(ee=exports.RCConnectionStatus||(exports.RCConnectionStatus={}))[ee.CONNECTED=0]="CONNECTED",ee[ee.CONNECTING=1]="CONNECTING",ee[ee.DISCONNECTED=2]="DISCONNECTED",ee[ee.SUSPENDED=3]="SUSPENDED",exports.MessageBlockType=void 0,(te=exports.MessageBlockType||(exports.MessageBlockType={}))[te.GLOBAL=1]="GLOBAL",te[te.CUSTOM=2]="CUSTOM",te[te.THIRD_PARTY=3]="THIRD_PARTY",exports.MessageBlockSourceType=void 0,(ne=exports.MessageBlockSourceType||(exports.MessageBlockSourceType={}))[ne.MSG_ORIGINAL=0]="MSG_ORIGINAL",ne[ne.MSG_EXPANSION=1]="MSG_EXPANSION",ne[ne.MSG_MODIFY=2]="MSG_MODIFY",exports.MessageDirection=void 0,(re=exports.MessageDirection||(exports.MessageDirection={}))[re.SEND=1]="SEND",re[re.RECEIVE=2]="RECEIVE",exports.PushImportanceHonor=void 0,(se=exports.PushImportanceHonor||(exports.PushImportanceHonor={})).NORMAL="NORMAL",se.LOW="LOW",function(e){e.IM_NAVI="IM-stats_navi-S",e.IM_WEBSOCKET="IM-stats_websocket-S",e.IM_CONNECTION_DURATION="IM-stats_con_dur-S",e.IM_CMP="IM-stats_cmp-S",e.IM_CMP_RMTP="IM-stats_cmp_rmtp-S",e.IM_STATS_CS="IM-stats_cs-S",e.IM_NETWORK_CHANGE="IM-stats_network_change-S",e.L_CLOUD_INFO_FETCH_T="L-cloud_info_fetch-T",e.L_CLOUD_INFO_FETCH_R="L-cloud_info_fetch-R",e.IM_MSG_SEND="IM-msg_send-S",e.IM_MSG_RECEIVE="IM-msg_receive-S"}(oe||(oe={})),exports.NotificationStatus=void 0,(ie=exports.NotificationStatus||(exports.NotificationStatus={}))[ie.OPEN=1]="OPEN",ie[ie.CLOSE=2]="CLOSE",exports.NotificationLevel=void 0,(ae=exports.NotificationLevel||(exports.NotificationLevel={}))[ae.ALL_MESSAGE=-1]="ALL_MESSAGE",ae[ae.NOT_SET=0]="NOT_SET",ae[ae.AT_MESSAGE_NOTIFICATION=1]="AT_MESSAGE_NOTIFICATION",ae[ae.AT_USER_NOTIFICATION=2]="AT_USER_NOTIFICATION",ae[ae.AT_GROUP_ALL_USER_NOTIFICATION=4]="AT_GROUP_ALL_USER_NOTIFICATION",ae[ae.NOT_MESSAGE_NOTIFICATION=5]="NOT_MESSAGE_NOTIFICATION",exports.ReceivedStatus=void 0,(le=exports.ReceivedStatus||(exports.ReceivedStatus={}))[le.READ=1]="READ",le[le.LISTENED=2]="LISTENED",le[le.DOWNLOADED=4]="DOWNLOADED",le[le.RETRIEVED=8]="RETRIEVED",le[le.UNREAD=0]="UNREAD",function(e){e[e.PRIVATE=1]="PRIVATE",e[e.OPEN=0]="OPEN"}(de||(de={})),function(e){e[e.NAVI=1]="NAVI",e[e.TCP=2]="TCP",e[e.WS=3]="WS"}(ue||(ue={})),function(e){e[e.REQUEST=0]="REQUEST",e[e.LOCAL=1]="LOCAL"}(ce||(ce={})),function(e){e[e.CURRENT=2]="CURRENT"}(he||(he={})),function(e){e[e.CONNECT=0]="CONNECT",e[e.RECONNECT=1]="RECONNECT"}(pe||(pe={})),function(e){e[e.CONNECT=0]="CONNECT",e[e.RECONNECT=1]="RECONNECT",e[e.REDIRECTED=3]="REDIRECTED",e[e.TIMEOUT=4]="TIMEOUT"}(_e||(_e={})),exports.InterruptionLevel=void 0,(ge=exports.InterruptionLevel||(exports.InterruptionLevel={})).PASSIVE="passive",ge.ACTIVE="active",ge.TIME_SENSITIVE="time-sensitive",ge.CRITICAL="critical",exports.PushNotificationQuietHoursLevel=void 0,(Ee=exports.PushNotificationQuietHoursLevel||(exports.PushNotificationQuietHoursLevel={}))[Ee.PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_DEFAULT=0]="PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_DEFAULT",Ee[Ee.PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_MENTION_MESSAGE=1]="PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_MENTION_MESSAGE",Ee[Ee.PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_BLOCKED=5]="PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_BLOCKED",function(e){e.WIFI="wifi",e.FOUR_G="4g",e.THREE_G="3g",e.TWO_G="2g",e.FIVE_G="2g",e.THREE_GENT="3gnet",e.UNKONWN="unknown"}(Ie||(Ie={})),exports.HttpMethod=void 0,(Te=exports.HttpMethod||(exports.HttpMethod={})).GET="GET",Te.POST="POST",Te.PUT="PUT";const fe=72e5,Ce=6e4,Re=131072,Se={"RC:TxtMsg":{isCounted:!0,isPersited:!0},"RC:ImgMsg":{isCounted:!0,isPersited:!0},"RC:VcMsg":{isCounted:!0,isPersited:!0},"RC:ImgTextMsg":{isCounted:!0,isPersited:!0,searchProps:["content","title"]},"RC:FileMsg":{isCounted:!0,isPersited:!0,searchProps:["name"]},"RC:HQVCMsg":{isCounted:!0,isPersited:!0},"RC:LBSMsg":{isCounted:!0,isPersited:!0},"RC:PSImgTxtMsg":{isCounted:!0,isPersited:!0},"RC:PSMultiImgTxtMsg":{isCounted:!0,isPersited:!0},"RCJrmf:RpMsg":{isCounted:!0,isPersited:!0},"RCJrmf:RpOpendMsg":{isCounted:!0,isPersited:!0},"RC:CombineMsg":{isCounted:!0,isPersited:!0},"RC:CombineV2Msg":{isCounted:!0,isPersited:!0},"RC:ReferenceMsg":{isCounted:!0,isPersited:!0,searchProps:["content"]},"RC:SightMsg":{isCounted:!0,isPersited:!0},"RC:GIFMsg":{isCounted:!0,isPersited:!0},"RC:RLStart":{isCounted:!0,isPersited:!0},"RC:RLEnd":{isCounted:!0,isPersited:!0},"RC:StreamMsg":{isCounted:!0,isPersited:!0},"RC:InfoNtf":{isCounted:!1,isPersited:!0},"RC:ContactNtf":{isCounted:!1,isPersited:!0},"RC:ProfileNtf":{isCounted:!1,isPersited:!0},"RC:CmdNtf":{isCounted:!1,isPersited:!0},"RC:GrpNtf":{isCounted:!1,isPersited:!0},"RC:RcNtf":{isCounted:!1,isPersited:!0},"RC:CmdMsg":{isCounted:!1,isPersited:!1},"RC:TypSts":{isCounted:!1,isPersited:!1},"RC:PSCmd":{isCounted:!1,isPersited:!1},"RC:SRSMsg":{isCounted:!1,isPersited:!1},"RC:RcCmd":{isCounted:!1,isPersited:!1},"RC:RRReqMsg":{isCounted:!1,isPersited:!1},"RC:RRRspMsg":{isCounted:!1,isPersited:!1},"RC:CsChaR":{isCounted:!1,isPersited:!1},"RC:CSCha":{isCounted:!1,isPersited:!1},"RC:CsEva":{isCounted:!1,isPersited:!1},"RC:CsContact":{isCounted:!1,isPersited:!1},"RC:CsHs":{isCounted:!1,isPersited:!1},"RC:CsHsR":{isCounted:!1,isPersited:!1},"RC:CsSp":{isCounted:!1,isPersited:!1},"RC:CsEnd":{isCounted:!1,isPersited:!1},"RC:CsUpdate":{isCounted:!1,isPersited:!1},"RC:ReadNtf":{isCounted:!1,isPersited:!1},"RC:chrmKVNotiMsg":{isCounted:!1,isPersited:!1},"RC:VCAccept":{isCounted:!1,isPersited:!1},"RC:VCRinging":{isCounted:!1,isPersited:!1},"RC:VCSummary":{isCounted:!1,isPersited:!1},"RC:VCHangup":{isCounted:!1,isPersited:!1},"RC:VCInvite":{isCounted:!1,isPersited:!1},"RC:VCModifyMedia":{isCounted:!1,isPersited:!1},"RC:VCModifyMem":{isCounted:!1,isPersited:!1},"RC:MsgExMsg":{isCounted:!1,isPersited:!1},"RC:Delivered":{isCounted:!1,isPersited:!1},"RC:RRMsg":{isCounted:!1,isPersited:!1},"RC:LogCmdMsg":{isCounted:!1,isPersited:!1},"RC:InterceptMsg":{isCounted:!1,isPersited:!1},"RC:RLJoin":{isCounted:!1,isPersited:!1},"RC:RLQuit":{isCounted:!1,isPersited:!1},"RC:RL":{isCounted:!1,isPersited:!1},"RC:CCConfigChangeRequestMsg":{isCounted:!1,isPersited:!1}},me="5.16.0-c-rtc-alpha.2".replace(/-.+$/,""),ye="rongcloudsystem",ve=864e5,Ae=e=>`navi_${e}`,Ne=(e,t)=>`RCV4-con-s-${e}-${t}`,Oe=(e,t)=>`RCV4-con-${e}-${t}`,Me=(e,t)=>`RCV4-CONVER-${e}-${t}`,Le=(e,t)=>`RCV4-ultragroupconversation-${e}-${t}`,Ue=(e,t)=>`outbox_${e}_${t}`,Pe=(e,t)=>`inbox_${e}_${t}`,be=(e,t)=>`broadcastbox_${e}_${t}`,xe=(e,t)=>`send_msg_${e}_${t}`,De=(e,t)=>`RC-us-${e}-${t}`,we=e=>`rc-static-config-${e}`,Ve=e=>`RC-cc-${e}`,Ge=(e,t)=>`RC-RR-${e}-${t}`,Fe=(e,t)=>`RC-PEC-${e}-${t}`,Be="undefined"!=typeof window&&window?(window.__RCVersionInfo||(window.__RCVersionInfo={}),window.__RCVersionInfo):{};Be.engine="5.16.0-c-rtc-alpha.2";class ke{static add(e,t){Be[e]=t}static validEngine(e){const t=e.match(/\d+\.\d+\.\d+/);if(!t)return!1;const n=t[0].split(".").map((e=>e.padStart(3,"0"))).join("");return Be.engine.match(/\d+\.\d+\.\d+/)[0].split(".").map((e=>e.padStart(3,"0"))).join("")>=n}static getInfo(){return Be}}const He={gen:()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=Math.floor(36*Math.random());return("x"===e?t:3&t|8).toString(36)})),genWithLen(e=22){const t=Date.now(),n=t.toString(36),r=Math.floor(Math.random()*t).toString(36),s=e-n.length-r.length;var o;return[r,n,s>0?(o=s,Array.from({length:o}).map((()=>Math.floor(36*Math.random()).toString(36))).join("")):""].join("").slice(0,e)}},qe=He.genWithLen(22),Ye=Date.now();class Ke extends Error{constructor(e){super(e),this.name="CMSYError"}static InvalidParameters(e){return(null==e?void 0:e.length)?new Ke(`Invalid parameter -> ${e}`):new Ke("Invalid parameters.")}static ParameterTypeError(){return new Ke("Wrong parameter type")}}class je{constructor(){this._map=new Map,this._piped=new Set}_addItem(e,t,n,r,s=0){const o=Symbol(),i=this._map.get(e)||this._map.set(e,[]).get(e),a={symbol:o,priority:Math.min(s,100),listener:t.bind(r),once:n},l=i.findIndex((e=>e.priority>s));return-1===l?i.push(a):i.splice(l,0,a),o}on(e,t,n,r=0){return this._addItem(e,t,!1,n,r)}once(e,t,n,r=0){return this._addItem(e,t,!0,n,r)}off(e){for(let[t,n]of this._map){const t=n.findIndex((t=>t.symbol===e));if(-1!==t)return void n.splice(t,1)}}emit(e,...t){const n=this._map.get(e);if(n&&n.length>0)for(let e=n.length-1;e>=0;e-=1){const{once:r,listener:s}=n[e];r&&n.splice(e,1);try{s(...t)}catch(e){null===console||void 0===console||console.error(e)}}[...this._piped.values()].forEach((n=>n.emit(e,...t)))}removeAll(e){this._map.delete(e)}clear(){this._piped.clear(),this._map.clear()}pipe(e){this._piped.add(e)}}class Qe{constructor(e,t){this._promise=new Promise((t=>{this._resolve=t,e(this._onResolve.bind(this))})),this._onCancel=t}_onResolve(e){this._resolve(e)}result(){return this._promise}abort(){this._onCancel(this._onResolve.bind(this))}}class We{constructor(e,t,n){this.code=e,this.msg=t,this.data=n,this.isOk=0===e}next(e){return t(this,void 0,void 0,(function*(){return this.isOk?e(this.data):this.wipe()}))}or(e){return t(this,void 0,void 0,(function*(){return this.isOk?this:e(this.code)}))}trans(e){return this.isOk?$e(e(this.data)):this.wipe()}tryTrans(e){return this.isOk?e(this.data):this.wipe()}errmsg(){return JSON.stringify({code:this.code,msg:this.msg})}wipe(){return this.isOk?$e(void 0,this.msg):Je(this.code,this.msg)}}const $e=(e,t)=>new We(0,t||"success",e),Je=(e,t,n)=>new We(e,t||`fail: ${e}`,n);class Xe{constructor(e){this._apiName=e,this._isValid=!0,this._code=0}static create(e){return new Xe(e)}fail(e,t){return this._isValid||0!==this._code||(this._code=e,this._errmsg=t||this._errmsg),this}result(){if(!this._isValid&&0===this._code)throw new Error("Validator: result() should not be called without fail()");return this._isValid?$e():Je(this._code,this._errmsg)}validate(e,t,n,r=!1){if(!this._isValid)return this;const s=r?n(t):null==t||n(t);return this._isValid=s,s||(this._errmsg=`param '${e}' is invalid`),this}assert(e,t,n,r=!1){if(!this._isValid)return this;if(this.validate(e,t,n,r),!this._isValid)throw Ke.InvalidParameters(`'${e}' at '${this._apiName}'`);return this}isString(e,t,n=!1){return this.validate(e,t,(()=>"string"==typeof t),n)}assertString(e,t,n=!1){return this.assert(e,t,(()=>"string"==typeof t),n)}isNotEmptyString(e,t,n=!1){return this.isString(e,t,n).validate(e,t,(e=>e.trim().length>0),n)}assertNotEmptyString(e,t,n=!1){return this.assertString(e,t,n),this.assert(e,t,(e=>e.trim().length>0),n)}isLimitedString(e,t,n,r,s=!1){return this.isString(e,t,s).validate(e,t,(e=>e.length>=n&&e.length<=r),s)}assertLimitedString(e,t,n,r,s=!1){return this.assertString(e,t,s),this.assert(e,t,(e=>e.length>=n&&e.length<=r),s)}isBoolean(e,t,n=!1){return this.validate(e,t,(e=>"boolean"==typeof e),n)}assertBoolean(e,t,n=!1){return this.assert(e,t,(e=>"boolean"==typeof e),n)}isNumber(e,t,n=!1){return this.validate(e,t,(e=>"number"==typeof e&&!Number.isNaN(e)),n)}assertNumber(e,t,n=!1){return this.assert(e,t,(e=>"number"==typeof e&&!Number.isNaN(e)),n)}isLimitedNumber(e,t,n,r,s=!1){return this.isNumber(e,t,s).validate(e,t,(e=>e>=n&&e<=r),s)}assertLimitedNumber(e,t,n,r,s=!1){return this.assertNumber(e,t,s),this.assert(e,t,(e=>e>=n&&e<=r),s)}isInteger(e,t,n=!1){return this.validate(e,t,(e=>Number.isInteger(e)),n)}assertInteger(e,t,n=!1){return this.assert(e,t,(e=>Number.isInteger(e)),n)}isLimitedInteger(e,t,n,r,s=!1){return this.isInteger(e,t,s).validate(e,t,(e=>e>=n&&e<=r),s)}assertLimitedInteger(e,t,n,r,s=!1){return this.assertInteger(e,t,s),this.assert(e,t,(e=>e>=n&&e<=r),s)}isArray(e,t,n=!1){return this.validate(e,t,(e=>-1!==Object.prototype.toString.call(e).indexOf("Array")),n)}assertArray(e,t,n=!1){return this.assert(e,t,(e=>-1!==Object.prototype.toString.call(e).indexOf("Array")),n)}isLimitedArray(e,t,n,r=!1,s=1){return this.isArray(e,t,r).validate(e,t,(e=>e.length>=s&&e.length<=n),r)}assertLimitedArray(e,t,n,r=!1,s=1){return this.assertArray(e,t,r),this.assert(e,t,(e=>e.length>=s&&e.length<=n),r)}isTypedArray(e,t,n,r=!1){return this.isArray(e,t,r).validate(e,t,(e=>e.every(n)),r)}assertTypedArray(e,t,n,r=!1){return this.assertArray(e,t,r),this.assert(e,t,(e=>e.every(n)),r)}isLimitedTypedArray(e,t,n,r,s=!1,o=1){return this.isLimitedArray(e,t,n,s,o).validate(e,t,(e=>e.every(r)),s)}assertLimitedTypedArray(e,t,n,r,s=!1,o=1){return this.assertLimitedArray(e,t,n,s,o),this.assert(e,t,(e=>e.every(r)),s)}isObject(e,t,n=!1){return this.validate(e,t,(e=>"[object Object]"===Object.prototype.toString.call(e)),n)}assertObject(e,t,n=!1){return this.assert(e,t,(e=>"[object Object]"===Object.prototype.toString.call(e)),n)}isValueOf(e,t,n,r=!1){return this.validate(e,t,(()=>Object.values(n).includes(t)),r)}assertValueOf(e,t,n,r=!1){return this.assert(e,t,(()=>Object.values(n).includes(t)),r)}isFunction(e,t,n=!1){return this.validate(e,t,(e=>"[object Function]"===Object.prototype.toString.call(e)),n)}assertFunction(e,t,n=!1){return this.assert(e,t,(e=>"[object Function]"===Object.prototype.toString.call(e)),n)}}const Ze="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ze(e){let t,n,r,s,o,i,a,l="",d=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");d<e.length;)s=Ze.indexOf(e.charAt(d++)),o=Ze.indexOf(e.charAt(d++)),i=Ze.indexOf(e.charAt(d++)),a=Ze.indexOf(e.charAt(d++)),t=s<<2|o>>4,n=(15&o)<<4|i>>2,r=(3&i)<<6|a,l+=String.fromCharCode(t),64!==i&&(l+=String.fromCharCode(n)),64!==a&&(l+=String.fromCharCode(r));return l}const et=e=>"string"==typeof e,nt=e=>"number"==typeof e&&!Number.isNaN(e),rt=e=>-1!==Object.prototype.toString.call(e).indexOf("Array"),st=e=>t=>et(t)&&(void 0===e.isTrim||0===t.length||t.trim().length>0)&&(void 0===e.minLength||t.length>=e.minLength)&&(void 0===e.maxLength||t.length<=e.maxLength)&&(void 0===e.validator||e.validator(t)),ot=e=>et(e)&&e.length>0,it=e=>"[object Object]"===Object.prototype.toString.call(e),at=e=>"[object Function]"===Object.prototype.toString.call(e),lt=e=>void 0===e||"[object Undefined]"===Object.prototype.toString.call(e),dt=e=>et(e)&&/https?:\/\//.test(e),ut=e=>{for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1},ct=e=>nt(e)&&Object.prototype.hasOwnProperty.call(exports.ConversationType,e),ht=e=>{let t=!1;return et(e)&&!/_/g.test(e)&&e.length<=20&&(t=!0),t},pt=e=>st({minLength:1,maxLength:64})(e),_t=e=>{let t=!1,n=!1,r=!1;if(it(e)){t=Object.keys(e).length>20;for(const t in e)if(n||(n=et(t)&&!/^[A-Za-z0-9_=+-]+$/.test(t)),!r){const n=e[t];r=t.length>32||n.length>4096}}return{isExceedLimit:t,isIllgalEx:n,isExKeyOrValLengthExceedLimit:r}},gt=e=>{if(!it(e)||void 0===e.low||void 0===e.high)return e;let{low:t}=e;t<0&&(t+=4294967296),t=t.toString(16);return parseInt(e.high.toString(16)+"00000000".replace(new RegExp(`0{${t.length}}$`),t),16)},Et=(e,t,n)=>{const r=null==n?void 0:n.isReverse;it(e)&&(()=>{for(const n in e)t(e[n],n,e)})(),(rt(e)||et(e))&&(()=>{if(r)for(let n=e.length-1;n>=0;n--)t(e[n],n);else for(let n=0,r=e.length;n<r;n++)t(e[n],n)})()},It=(e,t)=>(Et(e,((n,r)=>{e[r]=t(n,r)})),e),Tt=e=>JSON.parse(JSON.stringify(e)),ft=()=>"undefined"!=typeof RCCppEngine,Ct=e=>{let t;if("object"==typeof e&&null!==e)if(Array.isArray(e)){t=[];for(let n in e)t.push(Ct(e[n]))}else{t={};for(let n in e)t[n]=Ct(e[n])}else t=e;return t},Rt=e=>{let t;try{t=Ct(e)}catch(n){t=JSON.parse(JSON.stringify(e))}return t},St=e=>({isRead:(e&exports.ReceivedStatus.READ)===exports.ReceivedStatus.READ,isListened:(e&exports.ReceivedStatus.LISTENED)===exports.ReceivedStatus.LISTENED,isDownload:(e&exports.ReceivedStatus.DOWNLOADED)===exports.ReceivedStatus.DOWNLOADED,isRetrieved:(e&exports.ReceivedStatus.RETRIEVED)===exports.ReceivedStatus.RETRIEVED}),mt=e=>[exports.PlatformInfo.Android,exports.PlatformInfo.iOS,exports.PlatformInfo.Web,exports.PlatformInfo.PC,exports.PlatformInfo.Mini,exports.PlatformInfo.HarmonyOS].map((t=>{const n=e.findIndex((e=>e.platform===t));return-1===n?{platform:t,changeTime:0,eventValue:0}:e[n]})),yt=(e,t,n)=>{const r=t.reduce(((e,t)=>(["gender","role","level"].includes(t.key)?e[t.key]=Number(t.value):e[t.key]=t.value,e)),{});return r.userId=e,n.forEach((e=>{r.extraProfile=r.extraProfile||{},r.extraProfile[e.key]=e.value})),r},vt=(e,t,n)=>t?1===n?V.TLS:V.RMTP:"http"===e?V.WS:V.WSS,At=(e,t)=>{const{server:n,backupServer:r,bs:s,serverAddr:o,protocol:i,openTLS:a}=e;if(o){return[...o.filter((e=>e.addr))]}const l=[],d=[];return n&&d.push(n),(r||s||"").split(",").forEach((e=>{d.indexOf(e)<0&&d.push(e)})),d.forEach(((e,r)=>{e&&l.push({addr:e,protocol:vt(i,t,a),weight:n.length-r,race:!1})})),[...l]},Nt=(e=[])=>e.map((e=>{var t,n,r,s,o,i,a,l,d;const u=Pt(e.settingProfile)||{},c=e.extProfile||[],{targetId:h,baseInfo:p,userInfo:_}=e;return{groupId:h,groupName:null!==(t=u.name)&&void 0!==t?t:"",portraitUri:null!==(n=u.portraitUrl)&&void 0!==n?n:"",introduction:null!==(r=u.introduction)&&void 0!==r?r:"",notice:null!==(s=u.announcement)&&void 0!==s?s:"",extProfile:Pt(c),joinPermission:~~u.joinPerm,removeMemberPermission:~~u.removePerm,invitePermission:~~u.memInvitePerm,inviteHandlePermission:~~u.invitePerm,groupInfoEditPermission:~~u.profilePerm,memberInfoEditPermission:~~u.memProfilePerm,creatorId:null!==(o=null==p?void 0:p.creatorId)&&void 0!==o?o:"",ownerId:null!==(i=null==p?void 0:p.ownerId)&&void 0!==i?i:"",createTime:(null==p?void 0:p.createTime)?gt(p.createTime):0,membersCount:null!==(a=null==p?void 0:p.memberCount)&&void 0!==a?a:0,remark:null!==(l=null==_?void 0:_.remarkName)&&void 0!==l?l:"",joinedTime:(null==_?void 0:_.joinTime)?gt(_.joinTime):0,role:null!==(d=null==_?void 0:_.role)&&void 0!==d?d:exports.GroupMemberRole.UNDEF}})),Ot=(e=[])=>e.map((e=>{const t=Pt(e.settingProfile),n=e.extProfile||[],{targetId:r,baseInfo:s,userInfo:o}=e;return JSON.parse(JSON.stringify(Object.assign(Object.assign({groupId:r},Lt(t)),{extProfile:n.length>0?Pt(n):void 0,creatorId:null==s?void 0:s.creatorId,ownerId:null==s?void 0:s.ownerId,createTime:(null==s?void 0:s.createTime)?gt(s.createTime):void 0,membersCount:null==s?void 0:s.memberCount,remark:null==o?void 0:o.remarkName})))})),Mt=e=>{if(void 0===e)return;const t=Number(e);return Number.isNaN(t)?void 0:t},Lt=e=>JSON.parse(JSON.stringify({groupName:e.name,portraitUri:e.portraitUrl,introduction:e.introduction,notice:e.announcement,joinPermission:Mt(e.joinPerm),removeMemberPermission:Mt(e.removePerm),invitePermission:Mt(e.memInvitePerm),inviteHandlePermission:Mt(e.invitePerm),groupInfoEditPermission:Mt(e.profilePerm),memberInfoEditPermission:Mt(e.memProfilePerm)})),Ut=(e=[])=>e.map((e=>{const{ext:t,userId:n,name:r,portraitUrl:s}=e||{},{role:o,joinTime:i,channelNickName:a,additional:l}=t||{};return{userId:n,name:r||"",portraitUri:s||"",nickname:a||"",role:o||exports.GroupMemberRole.UNDEF,joinedTime:gt(i)||0,extra:l||""}})),Pt=e=>{let t={};return e&&0!==e.length?(e.forEach((e=>{t[e.key]=e.value})),t):t},bt=e=>e.map((e=>{const{targetId:t,joinUserInfo:n,inviterInfo:r,status:s,directionType:o,detail:i,joinType:a,processInfo:l,processTime:d}=e;return Object.assign(Object.assign(Object.assign(Object.assign({groupId:t},n&&{joinMemberInfo:Ut([n])[0]}),r&&{inviterInfo:Ut([r])[0]}),l&&{operatorInfo:Ut([l])[0]}),{status:s,direction:o,type:a,operationTime:gt(d),reason:i})})),xt=(e,t)=>{if(e=e.replace(/\?$/,""),!t)return e;const n=Object.keys(t).map((e=>`${e}=${t[e]}`)).filter((e=>!!e));return n.length?[e,n.join("&")].join("?"):e};const Dt=(e,t)=>{const n=Math.floor(1e3*Math.random()%1e4),r=He.gen(),s=(e=>{e=e||"-";const t=new Date;return`${t.getFullYear()}${e}${t.getMonth()+1}${e}${t.getDate()}`})(),o=(new Date).getTime();let i="";if(t){const e=t.split(".");i=`.${e[e.length-1]}`}return`${e}__RC-${s}_${n}_${o}${r}${i}`},wt=e=>{const t=/^[A-Za-z0-9_=+-]+$/.test(e),n=e.length;return t&&(n<=128&&n>=1)},Vt=e=>{const{length:t}=e;return t<=4096&&t>=1},Gt=(()=>{let e=0;return()=>{const t=((4294967295&Date.now())>>>0).toString(2),n=Math.floor(1048575*Math.random()),r=t+e.toString(2).padStart(11,"0")+n.toString(2).padStart(20,"0");return e=2047&++e,parseInt(r,2)}})(),Ft=()=>{const e=ke.getInfo();let t="electron";for(let n in e)"engine"!==n&&(t=["imlib-v2-adapter","imlib-v4-adapter","imlib-next"].includes(n)?n:"electron");return t},Bt=(e,n,r)=>t(void 0,void 0,void 0,(function*(){const t=yield window.crypto.subtle.importKey("raw",(new TextEncoder).encode(n),"AES-CBC",!0,["decrypt"]),s=yield window.crypto.subtle.decrypt({name:"AES-CBC",iv:(new TextEncoder).encode(r)},t,function(e){const t=null===window||void 0===window?void 0:window.atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n.buffer}(e));return(new TextDecoder).decode(s)}));function kt(e,t){var n;if(!e)return"";const r="undefined"!=typeof window&&"https:"===(null===(n=null===window||void 0===window?void 0:window.location)||void 0===n?void 0:n.protocol);return/^https?:\/\//.test(e)?r?e.replace(/^https?:\/\//i,"https://"):e:t!==V.HTTP||r?`https://${e}`:`http://${e}`}const Ht=(e,t)=>{if(!e)return"";const{ossConfig:n=""}=e;let r="";try{const e=JSON.parse(n);if(e.length>0){const t=e.find((e=>e.minio));t&&(r=t.minio)}}catch(e){t.warn(exports.LogTagId.L_PARSE_JSON_E,JSON.stringify({ossConfig:n,error:e}))}return r};function qt(e){const t=e.method||exports.HttpMethod.GET,n=e.timeout||Ce,{headers:r,query:s,body:o,onProgress:i}=e,a=xt(e.url,s),l=new XMLHttpRequest;if(l.open(t,a),r&&l.setRequestHeader)for(const e in r)l.setRequestHeader(e,r[e]);return function(e,t,n,r){return new Qe((s=>{e.onreadystatechange=()=>{4===e.readyState&&s({data:e.responseText,status:e.status,xhr:e})},e.onerror=()=>{s({status:e.status})},r&&(e.upload.onprogress=e=>r(e)),0!==t&&setTimeout((()=>{e.abort(),s({status:e.status})}),t),e.send(n)}),(t=>{e.abort(),t({status:-1})}))}(l,n,o,i)}var Yt,Kt;!function(e){e[e.add=1]="add",e[e.update=2]="update",e[e.delete=3]="delete"}(Yt||(Yt={})),exports.AreaCode=void 0,(Kt=exports.AreaCode||(exports.AreaCode={}))[Kt.BJ=1]="BJ",Kt[Kt.SG=2]="SG",Kt[Kt.NA=3]="NA",Kt[Kt.SG_A=4]="SG_A",Kt[Kt.SG_B=4]="SG_B",Kt[Kt.SA=5]="SA";const jt={[exports.AreaCode.BJ]:{naviUrlBase64:["ZHVhbHN0YWNrLW5hdi5yb25nLWVkZ2UuY29t","bmF2LWIucm9uZy1lZGdlLmNvbQ=="],logUrlBase64:[{addr:"ZHVhbHN0YWNrLWNvbGxlY3Rpb24ucm9uZy1lZGdlLmNvbQ==",protocol:V.HTTPS,weight:-1}],miniCmpBase64:["ZHVhbHN0YWNrLXdzLnJvbmctZWRnZS5jb20=","d3MtYi5yb25nLWVkZ2UuY29t"],staticConfigUrlBase64:["aHR0cHM6Ly9ib290c3RyYXBwcm9maWxlLWMtMS5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20="],cloudControllerUrlBase64:["ZHVhbHN0YWNrLWNsb3VkY29udHJvbC5yb25nLWVkZ2UuY29t","Y2xvdWRjb250cm9sLWIucm9uZy1lZGdlLmNvbQ=="]},[exports.AreaCode.SG]:{naviUrlBase64:["ZHVhbHN0YWNrLW5hdi5zZy1saWdodC1lZGdlLmNvbQ==","bmF2LWIuc2ctbGlnaHQtZWRnZS5jb20="],logUrlBase64:[{addr:"ZHVhbHN0YWNrLWNvbGxlY3Rpb24uc2ctbGlnaHQtZWRnZS5jb20=",protocol:V.HTTPS,weight:-1}],miniCmpBase64:["ZHVhbHN0YWNrLXdzLnNnLWxpZ2h0LWVkZ2UuY29t","d3MtYi5zZy1saWdodC1lZGdlLmNvbQ=="],staticConfigUrlBase64:["aHR0cHM6Ly9ib290c3RyYXBwcm9maWxlLWItMi5zMy5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29t"],cloudControllerUrlBase64:["ZHVhbHN0YWNrLWNsb3VkY29udHJvbC5zZy1saWdodC1lZGdlLmNvbQ==","Y2xvdWRjb250cm9sLWIuc2ctbGlnaHQtZWRnZS5jb20="]},[exports.AreaCode.NA]:{naviUrlBase64:["ZHVhbHN0YWNrLW5hdi51cy1saWdodC1lZGdlLmNvbQ==","bmF2LWIudXMtbGlnaHQtZWRnZS5jb20="],logUrlBase64:[{addr:"ZHVhbHN0YWNrLWNvbGxlY3Rpb24udXMtbGlnaHQtZWRnZS5jb20=",protocol:V.HTTPS,weight:-1}],miniCmpBase64:["ZHVhbHN0YWNrLXdzLnVzLWxpZ2h0LWVkZ2UuY29t","d3MtYi51cy1saWdodC1lZGdlLmNvbQ=="],staticConfigUrlBase64:[],cloudControllerUrlBase64:["ZHVhbHN0YWNrLWNsb3VkY29udHJvbC51cy1saWdodC1lZGdlLmNvbQ==","Y2xvdWRjb250cm9sLWIudXMtbGlnaHQtZWRnZS5jb20="]},[exports.AreaCode.SG_B]:{naviUrlBase64:["bmF2LnNnLWItbGlnaHQtZWRnZS5jb20=","bmF2LWIuc2ctYi1saWdodC1lZGdlLmNvbQ=="],logUrlBase64:[{addr:"Y29sbGVjdGlvbi5zZy1iLWxpZ2h0LWVkZ2UuY29t",protocol:V.HTTPS,weight:-1}],miniCmpBase64:["ZHVhbHN0YWNrLXdzLnNnLWItbGlnaHQtZWRnZS5jb20=","d3MtYi5zZy1iLWxpZ2h0LWVkZ2UuY29t"],staticConfigUrlBase64:[],cloudControllerUrlBase64:["ZHVhbHN0YWNrLWNsb3VkY29udHJvbC5zZy1iLWxpZ2h0LWVkZ2UuY29t","Y2xvdWRjb250cm9sLWIuc2ctYi1saWdodC1lZGdlLmNvbQ=="]},[exports.AreaCode.SA]:{naviUrlBase64:["ZHVhbHN0YWNrLW5hdi5zYXUtbGlnaHQtZWRnZS5jb20=","bmF2LWIuc2F1LWxpZ2h0LWVkZ2UuY29t"],logUrlBase64:[{addr:"ZHVhbHN0YWNrLWNvbGxlY3Rpb24uc2F1LWxpZ2h0LWVkZ2UuY29t",protocol:V.HTTPS,weight:-1}],miniCmpBase64:["ZHVhbHN0YWNrLXdzLnNhdS1saWdodC1lZGdlLmNvbQ==","d3MtYi5zYXUtbGlnaHQtZWRnZS5jb20="],staticConfigUrlBase64:[],cloudControllerUrlBase64:["ZHVhbHN0YWNrLWNsb3VkY29udHJvbC5zYXUtbGlnaHQtZWRnZS5jb20=","Y2xvdWRjb250cm9sLWIuc2F1LWxpZ2h0LWVkZ2UuY29t"]}};function Qt(e){return exports.AreaCode[e]?e:exports.AreaCode.BJ}const Wt=new class{constructor(){this.initOption={}}init(e){this.initOption=e}getNaviUrlList(e,t){const{areaCode:n,navigators:r}=this.initOption||{},s=function(e=exports.AreaCode.BJ){return jt[Qt(e)].naviUrlBase64}(n).map((e=>ze(e)));let o=[];const[,i]=e.split("@");t&&(o=i?i.split(";"):[]);const a=r&&r.length>0?[...o,...r]:[...o,...s];return a.filter(((e,t)=>a.indexOf(e)===t)).map((e=>kt(e)))}getLogUrlPolicyList(e,t){const{log:n,logPolicy:r}=e||{},{areaCode:s,logServerUrl:o}=this.initOption||{},i=function(e=exports.AreaCode.BJ){return jt[Qt(e)].logUrlBase64}(s).map((e=>Object.assign(Object.assign({},e),{addr:ze(e.addr)}))),a=[],l={level:1,itv:6,times:5};if(n)a.push(...n.addrs),Object.assign(l,n.policy);else if(r)try{const e=JSON.parse(r);a.push({addr:e.url,protocol:V.HTTPS,weight:1}),l.level=e.level,l.itv=e.itv,l.times=e.times}catch(n){t.warn(exports.LogTagId.L_REPORT_LOG_POLICY_E,JSON.stringify({policy:e.logPolicy}))}const d=o?[{addr:o,protocol:V.HTTPS,weight:101},...a]:[...a,...i];return{policy:l,addrs:d.filter(((e,t)=>d.findIndex((t=>t.addr===e.addr&&t.protocol===e.protocol))===t)).map((e=>Object.assign(Object.assign({},e),{addr:kt(e.addr,e.protocol)}))).sort(((e,t)=>t.weight-e.weight))}}getMiniCmpUrlList(){var e;const t=function(e=exports.AreaCode.BJ){return jt[Qt(e)].miniCmpBase64}(null===(e=this.initOption)||void 0===e?void 0:e.areaCode).map((e=>ze(e))),{miniCMPProxy:n}=this.initOption||{};return n&&n.length>0?n:t}getStaticConfigUrl(){var e;return function(e=exports.AreaCode.BJ){return jt[Qt(e)].staticConfigUrlBase64}(null===(e=this.initOption)||void 0===e?void 0:e.areaCode).map((e=>ze(e)))}getCloudControllerUrl(e){var t;return function(e=exports.AreaCode.BJ){return jt[Qt(e)].cloudControllerUrlBase64}(null!=e?e:null===(t=this.initOption)||void 0===t?void 0:t.areaCode).map((e=>ze(e)))}getAreaCode(){var e,t;return null!==(t=null===(e=this.initOption)||void 0===e?void 0:e.areaCode)&&void 0!==t?t:exports.AreaCode.BJ}setAreaCode(e){return!(!e||!exports.AreaCode[e]||e===this.initOption.areaCode)&&(this.initOption.areaCode=e,!0)}};class $t{constructor(e,t){this.appkey=e,this.logger=t,this.staticUrls=[]}getStaticConfig(){var e;return t(this,void 0,void 0,(function*(){const t=this.getCache();if(t){try{const e=JSON.parse(t);if(Date.now()-(null==e?void 0:e.time)<18e5){const t=(yield this.decryptData(e.val)).resources.navi.slice();return t.sort(((e,t)=>t.weight-e.weight)),{navi:t.map((e=>kt(e.addr,e.protocol)))||[]}}}catch(e){this.logger.error(exports.LogTagId.L_GET_STATIC_CONF_E,JSON.stringify({error:null==e?void 0:e.stack}))}this.clearCache()}const n=yield this._requestHandle();if(!n)return;const r=yield this.decryptData(n);if((null==r?void 0:r.areaCode)!==Wt.getAreaCode())return;this.setCache(JSON.stringify({time:Date.now(),val:n})),this.staticUrls=(null==r?void 0:r.bootstrap)||[];const s=null===(e=null==r?void 0:r.resources)||void 0===e?void 0:e.navi.slice();return s.sort(((e,t)=>t.weight-e.weight)),{navi:s.map((e=>kt(e.addr,e.protocol)))||[]}}))}_requestHandle(){return t(this,void 0,void 0,(function*(){let e=[...this.staticUrls,...Wt.getStaticConfigUrl()].map((e=>kt(e)));e=e.filter(((t,n)=>e.indexOf(t)===n));for(let t of e){this.logger.info(exports.LogTagId.L_GET_STATIC_CONF_T,JSON.stringify({url:t}));const e=Date.now(),{code:n,data:r}=yield this.sendRequest(`${t}/${this.appkey}`);if(200===n)return this.logger.info(exports.LogTagId.L_GET_STATIC_CONF_R,JSON.stringify({url:t,code:n,duration:Date.now()-e})),r;this.logger.warn(exports.LogTagId.L_GET_STATIC_CONF_R,JSON.stringify({url:t,code:n,duration:Date.now()-e}))}}))}}var Jt;exports.LogL=void 0,(Jt=exports.LogL||(exports.LogL={}))[Jt.STATISTICS=-2]="STATISTICS",Jt[Jt.RECORD=-1]="RECORD",Jt[Jt.FATAL=0]="FATAL",Jt[Jt.ERROR=1]="ERROR",Jt[Jt.WARN=2]="WARN",Jt[Jt.INFO=3]="INFO",Jt[Jt.DEBUG=4]="DEBUG";class Xt{constructor(e,t,n){this._appkey=e,this._id=t,this._type=n,this.outputLevel=exports.LogL.WARN,this.debug=this._log.bind(this,exports.LogL.DEBUG),this.info=this._log.bind(this,exports.LogL.INFO),this.warn=this._log.bind(this,exports.LogL.WARN),this.error=this._log.bind(this,exports.LogL.ERROR),this.__statistics=this._log.bind(this,exports.LogL.STATISTICS),this.record=this.__statistics}_write(e){const{tag:t,level:n,content:r,traceId:s}=e;/^[\w-]+$/.test(t)?n!==exports.LogL.DEBUG&&this._handleWrite(e):console.error(`${(new Date).toISOString()}[${this._id}]['ERROR']: ${t} | ${r} | ${s}`)}createTraceId(){return""+ ++Xt._traceIdCount}getSessionId(){return qe}_stdout(e){const{time:t,tag:n,content:r,traceId:s,level:o,loggerId:i}=e;if(!console)return;if(o<=exports.LogL.FATAL)return;if(o>this.outputLevel)return;const a=["error","warn","info","debug"][o-1],l=`${new Date(t).toISOString()}[${null!=i?i:this._id}][${(a||"stat").toUpperCase()}]: ${n} | ${r} | ${s}`;console[a||"warn"](l)}setOutputLevel(e){(e=>[exports.LogL.DEBUG,exports.LogL.INFO,exports.LogL.WARN,exports.LogL.ERROR].some((t=>t===e)))(e)&&(this.outputLevel=e)}_log(e,t,n,r){const s={time:Date.now(),level:e,tag:t,content:n,traceId:r,loggerId:this._id,sessionId:this.getSessionId(),type:this._type};this._stdout(s),this._write(s)}summary(e,t,n,r={},s,o){var i,a;t.isOk?this.info(e,null!==(i=null==s?void 0:s())&&void 0!==i?i:JSON.stringify(Object.assign({isOk:!0},r)),n):this.warn(e,null!==(a=null==o?void 0:o())&&void 0!==a?a:JSON.stringify(Object.assign({code:t.code,msg:t.msg},r)),n)}}Xt._traceIdCount=0;class Zt{constructor(e,t,n,r,s,o=!1){this.appkey=e,this.deviceId=t,this.deviceInfo=n,this.logDB=r,this.logger=s,this.disableLogReport=o,this.userId="",this.timer=null,this.started=!1,this.reportFailedNumber=0,this.itvByNavi=6,this.timesByNavi=5}checkStart(e,n){return t(this,void 0,void 0,(function*(){if(this.started)return;if(this.userId=e.userId,!e.logSwitch||this.disableLogReport)return;const{policy:t,addrs:r}=Wt.getLogUrlPolicyList(e,this.logger);this.started=!0,this.itvByNavi=t.itv,this.timesByNavi=t.times,r.length>0&&this.realtimeReport(r[0].addr,t.level,t.itv,n)}))}_sendLogs2Realtime(e,n,r,s){return t(this,void 0,void 0,(function*(){this.logger.debug(exports.LogTagId.L_REALTIME_LOG_O,`compress logs: ${e.length}`);const{success:t,data:o}=yield this.compressLogs(e);if(!t)return this.logger.warn(exports.LogTagId.L_REALTIME_LOG_R,"compress failed",n),{isOk:!1,itv:s};this.logger.debug(exports.LogTagId.L_REALTIME_LOG_O,"compress done",n);let i=dt(r)?r:`https://${r}`;i+=`?version=5.16.0-c-rtc-alpha.2&appkey=${this.appkey}&userId=${encodeURIComponent(this.userId)}&deviceId=${this.deviceId}&deviceInfo=${this.deviceInfo}&platform=Web`;const{status:a,data:l}=yield this.send({url:i,body:o,method:"POST"});if(this.logger.debug(exports.LogTagId.L_REALTIME_LOG_R,JSON.stringify({status:a,data:l}),n),200!==a)return this.reportFailedNumber>this.timesByNavi&&this.itvByNavi<60&&(s+=s),this.reportFailedNumber++,{isOk:!1,itv:s};let d,u;if(this.reportFailedNumber=0,l)try{const e=JSON.parse(l);e.nextTime&&(s=e.nextTime),d=e.level,u=e.logSwitch}catch(e){this.logger.warn(exports.LogTagId.L_PARSE_JSON_E,JSON.stringify({error:null==e?void 0:e.stack}),n)}return{isOk:!0,itv:s,level:d,logSwitch:u}}))}realtimeReport(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=Date.now(),o=this.logDB.getTimestamp4RealtimeLog()||Ye,i=Math.max(t-3e4,o+1),a=this.logger.createTraceId();this.logger.debug(exports.LogTagId.L_REALTIME_LOG_T,JSON.stringify({startTime:o,endTime:i,level:n,itv:r}),a);const{dbReady:l,logs:d}=yield this.logDB.getLogs(o,i,n,!0,s);if(l){if(0===d.length)this.logger.debug(exports.LogTagId.L_REALTIME_LOG_R,"no logs",a);else if(d.length>0){const{itv:t,level:s,logSwitch:o,isOk:i}=yield this._sendLogs2Realtime(d,a,e,r);if(i){const e=Math.max(...d.map((e=>e.time)));this.logDB.setTimestamp4RealtimeLog(e+1),0===o&&(this.started=!1),void 0!==s&&(n=s)}r=t}}else this.logger.warn(exports.LogTagId.L_REALTIME_LOG_R,"get logs failed",a);this.started&&(r>=60&&this.itvByNavi<60&&(r=60),this.timer=setTimeout((()=>this.realtimeReport(e,n,r,s)),1e3*r))}))}report(e,n,r,s,o,i,a=!1){return t(this,void 0,void 0,(function*(){if("web"!==r.toLowerCase()||this.disableLogReport)return;const t=this.logger.createTraceId();this.logger.info(exports.LogTagId.L_REPORT_FULL_LOG_T,JSON.stringify({startTime:e,endTime:n,logId:o,messageUId:i,isCloudControl:a}),t);const{dbReady:l,logs:d}=yield this.logDB.getLogs(e,n,exports.LogL.DEBUG,!1);this.logger.info(exports.LogTagId.L_REPORT_FULL_LOG_O,JSON.stringify({count:d.length}),t);let u,c=dt(s)?s:`https://${s}`;if(c+=`?version=5.16.0-c-rtc-alpha.2&appkey=${this.appkey}&userId=${encodeURIComponent(this.userId)}&deviceId=${this.deviceId}&deviceInfo=${this.deviceInfo}&platform=Web&logId=${o}`,l)if(d.length>0){const{success:e,data:t}=yield this.compressLogs(d);u=e?t:"compress failed"}else u="no data";else u="no database";this.logger.debug(exports.LogTagId.L_REPORT_FULL_LOG_O,"compress done",t),a&&(c+="&source=cloud");const{status:h}=yield this.send({url:c,body:u,method:"POST"});this.logger.info(exports.LogTagId.L_REPORT_FULL_LOG_R,JSON.stringify({status:h}),t)}))}stop(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.started=!1}}const zt=e=>{const{sessionId:t,level:n,loggerId:r,traceId:s,time:o,tag:i,type:a}=e;let{content:l}=e;et(l)||(l=JSON.stringify(l));let d=n<0?l||"":JSON.stringify({content:l,traceId:s,from:r});return d=`"${d.replace(/"/g,'""')}"`,`${t},${o},${a},${n},${i},${d}\n`};var en,tn,nn,rn;!function(e){e[e.init=1]="init",e[e.newWorkChange=2]="newWorkChange",e[e.other=3]="other"}(en||(en={}));class sn{constructor(e){this.reporter=e,this.logId="",this.uploadTask=[],this.taskLock=!0}uploadLogCmdTask(e){this.uploadTask.push(e),this.enqueueTask()}reportLogCmdTask(e){var t,n,r,s;this.taskLock=!1;const o=null!==(t=e.startTime)&&void 0!==t?t:0,i=null!==(n=e.endTime)&&void 0!==n?n:0,a=null!==(r=e.platform)&&void 0!==r?r:"",l=null!==(s=e.uri)&&void 0!==s?s:"";e.logId!==this.logId&&""!==l&&(this.logId=e.logId,this.reporter.report(o,i,a,l,e.logId,"",!0).finally((()=>{this.taskLock=!0,this.uploadTask.length>0&&this.enqueueTask()})))}enqueueTask(){if(!this.taskLock)return;const e=this.uploadTask.shift();e&&this.reportLogCmdTask(e)}}class on{constructor(e,t,n){this.logger=e,this.appkey=t,this.reporter=n,this.isEable=!0,this.expire=0,this.interval=0,this.timestamp=0,this.lastRequestTime=0,this.changeAreaCode=0,this._cache=null,this.uploadTaskManage=new sn(n)}init(){try{const e=this.getLocalCloudControllerCache();this._cache=e?JSON.parse(e):{timestamp:0,lastRequestTime:0,cc:{temporary:!1,enable:!0,expire:72e5,interval:6e5},uploadLog:{temporary:!0,tasks:[]},mrtr:{chatroom:0,group:0,private:0,ultraGroup:0,temporary:!1}}}catch(e){this._cache={timestamp:0,lastRequestTime:0,cc:{temporary:!1,enable:!0,expire:72e5,interval:6e5},uploadLog:{temporary:!0,tasks:[]},mrtr:{chatroom:0,group:0,private:0,ultraGroup:0,temporary:!1}}}this._cache&&(this.interval=this._cache.cc.interval,this.expire=this._cache.cc.expire,this.timestamp=this._cache.timestamp||0,this.isEable=this._cache.cc.enable,this.lastRequestTime=this._cache.lastRequestTime,this.logCmdMsgTasks(this._cache),this.setMRTRConfig(this._handleMrtrData(this._cache.mrtr)))}isExire(){return(new Date).getTime()-this.timestamp<this.expire}isOverclock(){return(new Date).getTime()-this.lastRequestTime<this.interval}logCmdMsgTasks(e){if(e.uploadLog){const{tasks:t}=e.uploadLog;t.forEach((e=>{e.objectName===exports.MessageType.LOG_COMMAND&&this.uploadTaskManage.uploadLogCmdTask(e)}))}}dataHandle(e){const t=this._cache;t.lastRequestTime=this.lastRequestTime,ut(e)&&(t.timestamp=e.timestamp,e.uploadLog&&!e.uploadLog.temporary&&(t.uploadLog=e.uploadLog),e.cc&&!e.cc.temporary&&(t.cc=e.cc),e.mrtr&&!e.mrtr.temporary&&(t.mrtr=this._handleMrtrData(e.mrtr)),e.mrtr&&this.setMRTRConfig(this._handleMrtrData(e.mrtr))),this.setCloudControllerCache(t),this.expire=t.cc.expire,this.interval=t.cc.interval,this.timestamp=t.timestamp,this.logCmdMsgTasks(e)}request(e,n,r){return t(this,void 0,void 0,(function*(){if(!this.isEable&&n===en.init&&this.isExire())return this.logger.info(exports.LogTagId.L_CLOUD_DISABLED,JSON.stringify({msg:"cloud controller is disabled"})),this.timestamp;if(!this.isEable&&n===en.newWorkChange&&this.isOverclock())return this.logger.info(exports.LogTagId.L_CLOUD_OVERCLOCK,JSON.stringify({msg:"cloud controller is overclock"})),this.timestamp;const t=kt(e);this.lastRequestTime=(new Date).getTime();const s=`${t}/v1/config`,o={"Content-Type":"application/json","RC-App-Key":this.appkey};r&&(o["RC-Token"]=r);const i={platform:"web",version:"5.16.0-c-rtc-alpha.2",timestamp:this.timestamp};this.logger.record(oe.L_CLOUD_INFO_FETCH_T,JSON.stringify({appKey:this.appkey,timestamp:this.timestamp,token:!!r,uri:s}));const{code:a,data:l}=yield this.httpRequest(s,exports.HttpMethod.POST,o,i);if(this.logger.record(oe.L_CLOUD_INFO_FETCH_R,JSON.stringify({appkey:this.appkey,info:l})),a===exports.ErrorCode.CLOUD_DATA_CENTER_INVALID&&l&&l.targetRegion){const e=l.targetRegion;if(this.changeAreaCode===e)return this.timestamp;const t=Wt.setAreaCode(e);this.logger.info(exports.LogTagId.L_CLOUD_SET_AREA_CODE_O,JSON.stringify({isChangeSuccess:t,originAreaCode:Wt.getAreaCode(),newAreaCode:e})),this.changeAreaCode=e;const n=Wt.getCloudControllerUrl(e);return n[0]?this.request(n[0],en.other):(this.logger.info(exports.LogTagId.L_CLOUD_APPKEY_REGION_E,JSON.stringify({appkey:this.appkey,uri:s,msg:"appkey region error"})),this.timestamp)}return l&&this.dataHandle(l),this.timestamp||this.lastRequestTime}))}_handleMrtrData(e){return{chatroom:(null==e?void 0:e.chatroom)||0,group:(null==e?void 0:e.group)||0,private:(null==e?void 0:e.private)||0,ultraGroup:(null==e?void 0:e.ultraGroup)||0,temporary:!!(null==e?void 0:e.temporary)}}}const an=e=>e===exports.ErrorCode.RC_CONN_REDIRECTED;class ln{constructor(e,t,n,r){this.appkey=e,this.navi=t,this.logger=n,this.listener=r,tn.add(this),this.token="",this.curCmpUrl="",this.retryCount=0,this.uuid="",rn.set(this,0),this._doConnectReason=0,this._network={status:!0,type:Ie.UNKONWN},this._checkAliveTimer=null,this._crtConnectionStatus=exports.RCConnectionStatus.DISCONNECTED,this._crtUserId="",this._openCallPlus=!1,this._crtConnectionTask=null,this.reconnectTimer=null,this._failedCount=0,this.ALLOW_FAILED_TIMES=2}getToken(){return this.token}get cid(){return`${this.uuid}_${this.retryCount}`}getCurrentUserId(){return this._crtUserId}setConnectionStatus(e,t){if(this._crtConnectionStatus!==e){if(this._crtConnectionStatus===exports.RCConnectionStatus.DISCONNECTED&&e===exports.RCConnectionStatus.CONNECTING&&(this._doConnectReason=_e.CONNECT,n(this,tn,"m",nn).call(this)),this._crtConnectionStatus===exports.RCConnectionStatus.CONNECTED&&e===exports.RCConnectionStatus.SUSPENDED&&(t===exports.ErrorCode.RC_PING_EXCEED_LIMIT?this._doConnectReason=_e.TIMEOUT:t===exports.ErrorCode.RC_CONN_REDIRECTED?this._doConnectReason=_e.REDIRECTED:this._doConnectReason=_e.RECONNECT),this._crtConnectionStatus===exports.RCConnectionStatus.CONNECTED){const r={bid:Ft(),cod:t,net:this.getNetwork().type,dur:Date.now()-n(this,rn,"f"),cid:this.cid};this.logger.record(oe.IM_CONNECTION_DURATION,JSON.stringify(r)),e===exports.RCConnectionStatus.SUSPENDED&&n(this,tn,"m",nn).call(this)}switch(this._crtConnectionStatus=e,e){case exports.RCConnectionStatus.CONNECTED:this.logger.info(exports.LogTagId.L_CONNECT_S,`status: ${e}`),this.checkAlive(),this.listener.onConnected();break;case exports.RCConnectionStatus.CONNECTING:this.logger.warn(exports.LogTagId.L_CONNECT_S,`status: ${e}`),this.listener.onConnecting();break;case exports.RCConnectionStatus.SUSPENDED:this.logger.warn(exports.LogTagId.L_CONNECT_S,`status: ${e}, code: ${t}`),an(t)&&this.clearCmpWeightCache(),this._checkAliveTimer&&clearTimeout(this._checkAliveTimer),this.listener.onSuspend(t);break;default:this.logger.warn(exports.LogTagId.L_CONNECT_S,`status: ${e}, code: ${t}`),this.clearCmpWeightCache(),this._checkAliveTimer&&clearTimeout(this._checkAliveTimer),this.listener.onDisconnected(t)}}}getConnectionStatus(){return this._crtConnectionStatus}setNetwork(e,t){if(!t){const t={cid:this.cid,cn:e.type,on:this._network.type};this.logger.record(oe.IM_NETWORK_CHANGE,JSON.stringify(t))}this._network=e}getNetwork(){return this._network}connect(e,n,r,s){return t(this,void 0,void 0,(function*(){if(this._crtConnectionStatus===exports.RCConnectionStatus.CONNECTED)return $e(this._crtUserId);if(this._crtConnectionTask)return this._crtConnectionTask;this._openCallPlus=r,this.token=e,this.setConnectionStatus(exports.RCConnectionStatus.CONNECTING);const{code:t,data:o}=yield this.try2Connect(e,n,!1,s,!0);return t!==exports.ErrorCode.SUCCESS?(this.setConnectionStatus(exports.RCConnectionStatus.DISCONNECTED,t),Je(t)):(this.setConnectionStatus(exports.RCConnectionStatus.CONNECTED),$e(o))}))}try2Connect(e,n,r,s,o){return t(this,void 0,void 0,(function*(){if(this._crtConnectionTask)return this._crtConnectionTask;this._crtConnectionTask=this.createConnectionTask(e,n,r,s,o);const t=yield this._crtConnectionTask;return this._crtConnectionTask=null,t}))}createConnectionTask(e,n,s,o,i){return t(this,void 0,void 0,(function*(){const t={cid:this.cid,reason:this._doConnectReason,net:this.getNetwork().type,spr:0,sts:Date.now(),timelimit:0};this.logger.record(oe.IM_STATS_CS,JSON.stringify(t));const a={retryCount:this.retryCount,uuid:this.uuid,type:this.getNetwork().type,reason:this._doConnectReason},{code:l,data:d}=yield this.navi.request(e,s,!1,o,a);if(l!==exports.ErrorCode.SUCCESS)return Je(l);const u=d;if(1===u.type)return Je(exports.ErrorCode.PACKAGE_ENVIRONMENT_ERROR);this.logger.info(exports.LogTagId.L_CONNECT_T,JSON.stringify({token:e,reconnectKickEnable:n}),o);const{code:c,data:h}=yield this.connectWithToken(e.replace(/@.+$/,"@"),u,n,o);if(i||c===exports.ErrorCode.SUCCESS||(this.retryCount+=1),an(c))return this.logger.warn(exports.LogTagId.L_CONNECT_R,`redirect code: ${c}`,o),this.clearCmpWeightCache(),this.createConnectionTask(e,n,!0,o,i);if([exports.ErrorCode.RC_TCP_RESET,exports.ErrorCode.RC_CONN_ACK_TIMEOUT,exports.ErrorCode.RC_TCP_DISCONNECTED_NO_RMTP].includes(c)&&this.cmpWeightCache&&this.cmpWeightCache.length>1){this.updateCmpWeight(this.curCmpUrl,!1);const t=this.cmpWeightCache.every((e=>e.failed));return i&&t?(this.logger.warn(exports.LogTagId.L_CONNECT_R,`cpp code:${c},reture code:${exports.ErrorCode.SERVER_UNAVAILABLE}`,o),Je(exports.ErrorCode.SERVER_UNAVAILABLE)):(this.logger.warn(exports.LogTagId.L_CONNECT_R,`cmp ack timeout, code: ${c}`,o),this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,c),this.setConnectionStatus(exports.RCConnectionStatus.CONNECTING),this.createConnectionTask(e,n,!1,o,i))}return c!==exports.ErrorCode.SUCCESS?(this.logger.warn(exports.LogTagId.L_CONNECT_R,`code: ${c}`,o),Je(c)):(this.logger.info(exports.LogTagId.L_CONNECT_R,`userId: ${h}`,o),r(this,rn,Date.now(),"f"),this._crtUserId=h,$e(h))}))}try2Reconnect(e,n){return t(this,void 0,void 0,(function*(){const r=this.logger.createTraceId();this.logger.debug(exports.LogTagId.T,`try2Reconnect -> ignoreNaviCache: ${e}, reason: ${n}`,r),this.stopReconnectTimer();const s=()=>t(this,void 0,void 0,(function*(){if(this._crtConnectionStatus!==exports.RCConnectionStatus.SUSPENDED)return;this.setConnectionStatus(exports.RCConnectionStatus.CONNECTING,n);const{code:t}=yield this.try2Connect(this.token,!0,e,r,!1);this.reconnectTimer=null,t!==exports.ErrorCode.SUCCESS?[exports.ErrorCode.SERVER_UNAVAILABLE,exports.ErrorCode.TIMEOUT,exports.ErrorCode.RC_SOCKET_DISCONNECTED,exports.ErrorCode.RC_SOCKET_NOT_CREATED,exports.ErrorCode.RC_CONN_ACK_TIMEOUT,exports.ErrorCode.RC_TCP_RESET,exports.ErrorCode.RC_NAVI_REQ_FAILED,exports.ErrorCode.RC_NETWORK_DOWN,exports.ErrorCode.RC_TCP_DISCONNECTED_NO_RMTP].includes(t)?this._crtConnectionStatus===exports.RCConnectionStatus.CONNECTING&&(this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,t),this.reconnectTimer=setTimeout(s,5e3)):this.setConnectionStatus(exports.RCConnectionStatus.DISCONNECTED,t):this.setConnectionStatus(exports.RCConnectionStatus.CONNECTED)}));s()}))}onDisconnectByServer(e,t){return an(e)?(this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,e),void this.try2Reconnect(!0,e)):e===exports.ErrorCode.RC_UDP_DISCONNECTED?(this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,e),void setTimeout((()=>{this.try2Reconnect(!0,e)}),1e3*(t||0))):void this.setConnectionStatus(exports.RCConnectionStatus.DISCONNECTED,e)}onDisconenctUnusual(e){this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,e),this.try2Reconnect(!1,e)}checkAlive(){return t(this,void 0,void 0,(function*(){if(this._crtConnectionStatus!==exports.RCConnectionStatus.CONNECTED)return this._failedCount=0,void this.logger.debug(exports.LogTagId.L_CHECK_ALIVE_IM_S,"stop ping because of no connection");const e=this.logger.createTraceId();this.logger.debug(exports.LogTagId.L_CHECK_ALIVE_IM_T,null,e);const t=yield this.sendPing(15e3);if(t===exports.ErrorCode.SUCCESS)return this.logger.debug(exports.LogTagId.L_CHECK_ALIVE_IM_R,t,e),this._failedCount=0,void(this._checkAliveTimer=setTimeout((()=>this.checkAlive()),15e3));if(this._crtConnectionStatus===exports.RCConnectionStatus.CONNECTED){if(this._failedCount+=1,this.logger.debug(exports.LogTagId.L_CHECK_ALIVE_IM_R,`code: ${t}, count: ${this._failedCount}`,e),this._failedCount<this.ALLOW_FAILED_TIMES)return this.checkAlive();this._failedCount=0,this.logger.warn(exports.LogTagId.L_CHECK_ALIVE_IM_S,"ping timeout, close connection to reconnect!"),this.close(!0,!1),this.setConnectionStatus(exports.RCConnectionStatus.SUSPENDED,exports.ErrorCode.RC_PING_EXCEED_LIMIT),this.try2Reconnect(!1,exports.ErrorCode.RC_PING_EXCEED_LIMIT)}}))}disconnect(e){return t(this,void 0,void 0,(function*(){this.stopReconnectTimer(),this._crtConnectionTask&&(yield this._crtConnectionTask),this.setConnectionStatus(exports.RCConnectionStatus.DISCONNECTED,exports.ErrorCode.ACTIVE_DISCONNECT),this.close(!1,e)}))}stopReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}getCmpList(e,t){if(this.cmpWeightCache&&this.cmpWeightCache.length>0)return[...this.cmpWeightCache];const n=At(e,t);return this.cmpWeightCache=[...n],[...n]}updateCmpWeight(e,t,n){if(!this.cmpWeightCache)return;const r=this.cmpWeightCache.find((t=>n?t.addr===e&&t.protocol===V.QUIC:t.addr===e));if(r)if(t){const e=Math.max(...this.cmpWeightCache.map((e=>e.weight)));r.weight!==e&&(r.weight=e+1)}else{const e=Math.min(...this.cmpWeightCache.map((e=>e.weight)));r.weight!==e&&(r.weight=e-1),r.failed=!0}}clearCmpWeightCache(){this.cmpWeightCache=void 0}reconnect(e,t,n,r){this.token=e,this._openCallPlus=n,this.onDisconenctUnusual(r)}}rn=new WeakMap,tn=new WeakSet,nn=function(){this.uuid=He.gen(),this.retryCount=0};const dn=e=>e.replace(/@.+$/,"@");class un{constructor(e,t,n,r=!0,s=!0){this.appkey=e,this.logger=t,this.staticConfigManager=n,this.isRequestProfile=r,this.isUseDynamicNaviUrl=s,this.crtRequest=null,this._environment="default"}getCatchKey(e){return e+(this._environment?`-${this._environment}`:"")}request(e,n,r,s,o){return t(this,void 0,void 0,(function*(){if(this.crtRequest)return this.crtRequest;this.crtRequest=this.sendRequest(e,n,r,s,o);const t=yield this.crtRequest;return this.crtRequest=null,t}))}sendRequest(e,n,r,s,o){var i;return t(this,void 0,void 0,(function*(){const t=dn(e),a=this.getNaviCache(t);if(!n&&a){const{timestamp:e,naviInfo:t}=a;if(r||Date.now()-e<fe){if(this.logger.info(exports.LogTagId.L_REQUEST_T,JSON.stringify({fromCache:!0,naviInfo:t}),s),o){const{uuid:e,retryCount:n,reason:r}=o,a={bid:Ft(),ptc:ue.NAVI,cod:exports.ErrorCode.SUCCESS,net:o.type,dur:0,spr:0,pr:null!==(i=t.type)&&void 0!==i?i:0,hos:"",cache:ce.LOCAL,v:he.CURRENT,rsn:r,cid:`${e}_${n}`,count:n};this.logger.record(oe.IM_NAVI,JSON.stringify(a),s)}return $e(t)}}const l=Wt.getNaviUrlList(e,this.isUseDynamicNaviUrl);this.logger.info(exports.LogTagId.L_GET_NAVI_T,JSON.stringify({token:e,uris:l}),s);let{code:d,data:u}=yield this.requestHandler(l,e,s,o);if(d===exports.ErrorCode.RC_NAVI_REQ_FAILED&&this.isRequestProfile){const t=yield this.staticConfigManager.getStaticConfig();if((null==t?void 0:t.navi)&&(null==t?void 0:t.navi.length)>0){const{navi:n}=t,r=yield this.requestHandler(n,e,s,o);d=r.code,u=r.data}}if(d!==exports.ErrorCode.SUCCESS)return this.logger.warn(exports.LogTagId.L_GET_NAVI_R,d,s),Je(d);const c=u;if(c.code&&200!==c.code)return this.logger.warn(exports.LogTagId.L_GET_NAVI_R,c.code,s),Je(this.transHttpCode(c.code));if(!(At(c).length>0)){const e={server:c.server,backupServer:c.backupServer,serverAddr:c.serverAddr,bs:c.bs};return this.logger.warn(exports.LogTagId.L_GET_NAVI_R,`navi server address invalid: ${JSON.stringify(e)}`,s),Je(exports.ErrorCode.SERVER_UNAVAILABLE)}return this.logger.info(exports.LogTagId.L_GET_NAVI_R,JSON.stringify({naviInfo:c}),s),this.setNaviCache(t,c),$e(c)}))}requestHandler(e,n,r,s){return t(this,void 0,void 0,(function*(){for(let t=0,o=e.length;t<o;t+=1){const o=t===e.length-1,i=this.useV2Navi()?this.httpRequestV2:this.httpRequest,a=Date.now(),{code:l,data:d}=yield i.call(this,e[t],this.appkey,n,r,o),u={bid:Ft(),ptc:ue.NAVI,cod:l,net:null==s?void 0:s.type,dur:Date.now()-a,spr:0,pr:(null==d?void 0:d.type)||0,hos:e[t],cache:ce.REQUEST,v:he.CURRENT,rsn:null==s?void 0:s.reason,cid:`${null==s?void 0:s.uuid}_${null==s?void 0:s.retryCount}`,count:null==s?void 0:s.retryCount};if(this.logger.record(oe.IM_NAVI,JSON.stringify(u),r),[exports.ErrorCode.SUCCESS,exports.ErrorCode.RC_CONN_TOKEN_INCORRECT,exports.ErrorCode.RC_LICENSE_EXPIRED].includes(l))return l===exports.ErrorCode.SUCCESS?$e(d):Je(l)}return Je(exports.ErrorCode.RC_NAVI_REQ_FAILED)}))}transHttpCode(e){switch(e){case 401:case 403:return exports.ErrorCode.RC_CONN_TOKEN_INCORRECT;case 416:return exports.ErrorCode.RC_LICENSE_EXPIRED;default:return exports.ErrorCode.RC_NAVI_REQ_FAILED}}getNaviInfoFromCache(e){const t=this.getNaviCache(dn(e));return t?t.naviInfo:null}updateVoipCallInfo(e,t){const n=this.getNaviInfoFromCache(e);n&&this.setNaviCache(dn(e),Object.assign(Object.assign({},n),{voipCallInfo:t}))}getNaviV2RequestOption(e){const{uri:t,token:n,platform:r,protocol:s,mac:o}=e;let i="";i=`${t}/v2/navi.json?cloud=0`;let a=`token=${encodeURIComponent(n)}&version=5.16.0-c-rtc-alpha.2&platfrom=${r}`;return o&&(a+=`&m=${o}`),{method:"POST",headers:{"RC-Appkey":this.appkey,"Content-Type":"Application/x-www-form-urlencoded","RC-Negotiate":`conn=${s};rtc=4;log=2;iptype=v4,v6`},body:a,url:i,timeout:1e4}}useV2Navi(){return!0}}const cn=()=>!("undefined"==typeof uni||!(e=>{const t=["request","getSystemInfo"];for(let n=0,r=t.length;n<r;n++)if(!e[t[n]])return!1;return!0})(uni));var hn,pn,_n;class gn{constructor(e){hn.add(this),pn.set(this,void 0),r(this,pn,e,"f"),this._logger=e.logger}open(e){return t(this,void 0,void 0,(function*(){return e=e.sort(((e,t)=>t.weight-e.weight)),n(this,hn,"m",_n).call(this,e,n(this,pn,"f"))}))}}pn=new WeakMap,hn=new WeakSet,_n=function e(r,s){return t(this,void 0,void 0,(function*(){if(0===r.length)return Je(exports.ErrorCode.STREAM_MESSAGE_REQUEST_FAIL,"All addrs failed");const o=r.shift();let i=kt(o.addr,o.protocol);i=`${i}/v3/message/get_stream.json?sdkVersion=5.16.0-c-rtc-alpha.2&platform=${this._platform}&messageUID=${s.msgUId}`;const a=yield this._openHandler(i,s);return a.or((o=>t(this,void 0,void 0,(function*(){return-1===o?n(this,hn,"m",e).call(this,r,s):a}))))}))};const En=cn();let In=null;const Tn=e=>t(void 0,void 0,void 0,(function*(){const t=yield Cn.getNetworkType();In({status:"online"===e.type,type:t})}));class fn extends gn{constructor(){super(...arguments),this._platform="Websocket"}_openHandler(e,n){return t(this,void 0,void 0,(function*(){return new Promise((t=>{this._logger.debug(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_O,`try open -> ${e}`);const r=new XMLHttpRequest;r.open("GET",e,!0),r.timeout=n.timeout,r.ontimeout=()=>{this._logger.warn(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_E,`timeout -> ${e}`),t(Je(-1,"timeout"))},r.onreadystatechange=s=>{if(r.readyState!==XMLHttpRequest.HEADERS_RECEIVED)return;const o=r.getResponseHeader("Content-Type"),i=null==o?void 0:o.startsWith("text/event-stream");if(200!==r.status||!i)return void(r.onloadend=()=>{const e=JSON.parse(r.response);t(Je(e.code,e.message))});t($e());let a=0;r.onprogress=e=>{const t=r.response.slice(a);a=r.response.length,n.onRawContent(t)},r.onerror=t=>{this._logger.warn(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_E,`network error in transit -> ${e}`),r.onprogress=null,r.abort(),n.onNetworkError(exports.ErrorCode.STREAM_MESSAGE_REQUEST_FAIL)}},r.onerror=n=>{this._logger.warn(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_E,`req fail -> ${e}`),t(Je(-1))},r.setRequestHeader("Content-Type","application/json;charset=UTF-8"),r.setRequestHeader("App-Key",n.appkey),r.setRequestHeader("Authorization",`Bearer ${n.token}`),r.send()}))}))}}const Cn={tag:"browser",httpReq:e=>qt(e).result(),localStorage:null===window||void 0===window?void 0:window.localStorage,sessionStorage:null===window||void 0===window?void 0:window.sessionStorage,useNavi:!0,connectPlatform:"",isFromUniapp:En,createWebSocket:function(e,t){const n=new WebSocket(e,t);return n.binaryType="arraybuffer",{id:Date.now(),onClose(e){n.onclose=t=>{const{code:n,reason:r}=t;e(n,r)}},onError(e){n.onerror=e},onMessage(e){n.onmessage=t=>{e(t.data)}},onOpen(e){n.onopen=e},send(e){n.send(e)},close(e,t){n.close()}}},getNetworkType(){const{type:e,effectiveType:t}=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{effectiveType:Ie.UNKONWN},n=e||t||Ie.UNKONWN;return Promise.resolve(n)},setNetworkStatusListener:function(e){In=e,"undefined"!=typeof window&&window&&(window.addEventListener("offline",Tn),window.addEventListener("online",Tn))},removeNetworkStatusListener:function(){"undefined"!=typeof window&&window&&(window.removeEventListener("offline",Tn),window.removeEventListener("online",Tn)),In=null},createSSEClient:e=>$e(new fn(e))},Rn=cn(),Sn=e=>(...t)=>{try{return wx[e](...t)}catch(e){null===console||void 0===console||console.error(e)}},mn={setItem:Sn("setStorageSync"),getItem:Sn("getStorageSync"),removeItem:Sn("removeStorageSync"),clear:Sn("clearStorageSync")};let yn=null;const vn=e=>{const{isConnected:t,networkType:n}=e;yn({status:t,type:n})};const An={tag:"wechat",httpReq(e){const t=e.method||exports.HttpMethod.GET,n=e.timeout||Ce,{headers:r,query:s,body:o}=e,i=xt(e.url,s);return new Promise((e=>{wx.request({url:i,method:t,header:r,timeout:n,data:o,success:t=>{e({data:t.data,status:t.statusCode})},fail:()=>{e({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})}))},localStorage:mn,sessionStorage:mn,useNavi:!1,connectPlatform:"MiniProgram",isFromUniapp:Rn,createWebSocket(e,t){const n=wx.connectSocket({url:e,protocols:t});return{id:Date.now(),onClose(e){n.onClose((t=>{e(t.code,t.reason)}))},onError(e){n.onError((t=>{e(t.errMsg)}))},onMessage(e){n.onMessage((t=>{e(t.data)}))},onOpen(e){n.onOpen(e)},send(e){n.send({data:e})},close(e,t){n.close({code:e,reason:t})}}},getNetworkType:()=>new Promise((e=>{wx.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})})),setNetworkStatusListener:function(e){yn=e,wx.onNetworkStatusChange(vn)},removeNetworkStatusListener:function(){wx.offNetworkStatusChange(vn),yn=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT)},Nn=cn(),On=e=>(...t)=>{try{if("setStorageSync"===e)return my[e]({key:t[0],data:JSON.parse(t[1])});if("clearStorageSync"===e)return my[e]();if("removeStorageSync"===e)return my[e]({key:t[0]});const{data:n}=my[e]({key:t[0]});return n?JSON.stringify(n):n}catch(e){}},Mn={setItem:On("setStorageSync"),getItem:On("getStorageSync"),removeItem:On("removeStorageSync"),clear:On("clearStorageSync")};let Ln=null;const Un=e=>{const{isConnected:t,networkType:n}=e;Ln({status:t,type:n})};const Pn={tag:"alipay",httpReq(e){const t=e.method||exports.HttpMethod.GET,n=e.timeout||Ce,{headers:r,query:s,body:o}=e,i=xt(e.url,s),a=e.dataType||"json";return new Promise((e=>{my.request({url:i,method:t,headers:r,timeout:n,data:o,dataType:a,success:t=>{e({data:t.data,status:t.status})},fail:()=>{e({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})}))},localStorage:Mn,sessionStorage:Mn,useNavi:!1,connectPlatform:"MiniProgram",isFromUniapp:Nn,createWebSocket(e){const t=my.connectSocket({url:e,multiple:!0});return{id:Date.now(),onClose(e){t.onClose(e)},onError(e){t.onError((t=>{e(t.errMsg)}))},onMessage(e){t.onMessage((t=>{t.data.isBuffer?e(my.base64ToArrayBuffer(t.data.data)):e(t.data.data)}))},onOpen(e){t.onOpen(e)},send(e){t.send({data:my.arrayBufferToBase64(e),isBuffer:!0})},close(){t.close()}}},getNetworkType:()=>new Promise((e=>{my.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})})),setNetworkStatusListener:function(e){Ln=e,my.onNetworkStatusChange(Un)},removeNetworkStatusListener:function(){my.offNetworkStatusChange(Un),Ln=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT,"Not supported yet")},bn=cn(),xn=e=>(...t)=>{try{return tt[e](...t)}catch(e){}},Dn={setItem:xn("setStorageSync"),getItem:xn("getStorageSync"),removeItem:xn("removeStorageSync"),clear:xn("clearStorageSync")};let wn=null;const Vn=e=>{const{isConnected:t,networkType:n}=e;wn({status:t,type:n})};const Gn={tag:"toutiao",useNavi:!1,connectPlatform:"MiniProgram",isFromUniapp:bn,localStorage:Dn,sessionStorage:Dn,httpReq:e=>new Promise((t=>{tt.request({url:e.url,data:e.body,header:e.headers,method:e.method,success(e){const n=(null==e?void 0:e.data)||{},r={data:JSON.stringify(n),status:e.statusCode};t(r)},fail(e){t({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})})),createWebSocket(e,t){const n=tt.connectSocket({url:e,protocols:t});return{id:Date.now(),onOpen(e){n.onOpen(e)},onClose(e){n.onClose((t=>e(t.code,t.reason)))},onError(e){n.onError((t=>e(t.errMsg)))},onMessage(e){n.onMessage((t=>e(t.data)))},send(e){n.send({data:e})},close(e,t){n.close({code:e,reason:t})}}},getNetworkType:()=>new Promise((e=>{tt.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})})),setNetworkStatusListener:function(e){wn=e,tt.onNetworkStatusChange(Vn)},removeNetworkStatusListener:function(){tt.offNetworkStatusChange(Vn),wn=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT)},Fn=cn(),Bn=e=>(...t)=>{try{return swan[e](...t)}catch(e){}},kn={setItem:Bn("setStorageSync"),getItem:Bn("getStorageSync"),removeItem:Bn("removeStorageSync"),clear:Bn("clearStorageSync")};let Hn=null;const qn=e=>{const{isConnected:t,networkType:n}=e;Hn({status:t,type:n})};const Yn={tag:"baidu",useNavi:!1,connectPlatform:"MiniProgram",isFromUniapp:Fn,localStorage:kn,sessionStorage:kn,httpReq:e=>new Promise((t=>{swan.request({url:e.url,data:e.body,header:e.headers,method:e.method,success(e){const n=(null==e?void 0:e.data)||{},r={data:JSON.stringify(n),status:e.statusCode};t(r)},fail(e){t({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})})),createWebSocket(e,t){const n=swan.connectSocket({url:e,protocols:t});return{id:Date.now(),onOpen(e){n.onOpen(e)},onClose(e){n.onClose((t=>e(t.code,t.reason)))},onError(e){n.onError((t=>e(t.errMsg)))},onMessage(e){n.onMessage((t=>e(t.data)))},send(e){n.send({data:e})},close(e,t){n.close({code:e,reason:t})}}},getNetworkType(){return t(this,void 0,void 0,(function*(){return new Promise((e=>{swan.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})}))}))},setNetworkStatusListener:function(e){Hn=e,swan.onNetworkStatusChange(qn)},removeNetworkStatusListener:function(){swan.offNetworkStatusChange(qn),Hn=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT)},Kn=cn(),jn=e=>(...t)=>{try{return jd[e](...t)}catch(e){null===console||void 0===console||console.error(e)}},Qn={setItem:jn("setStorageSync"),getItem:jn("getStorageSync"),removeItem:jn("removeStorageSync"),clear:jn("clearStorageSync")};let Wn=null;const $n=e=>{const{isConnected:t,networkType:n}=e;Wn({status:t,type:n})};const Jn={tag:"jingdong",httpReq(e){const t=e.method||exports.HttpMethod.GET,n=e.timeout||Ce,{headers:r,query:s,body:o}=e,i=xt(e.url,s);return new Promise((e=>{jd.request({url:i,method:t,header:r,timeout:n,data:o,success:t=>{e({data:t.data,status:t.statusCode})},fail:()=>{e({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})}))},localStorage:Qn,sessionStorage:Qn,useNavi:!1,connectPlatform:"MiniProgram",isFromUniapp:Kn,createWebSocket:(e,t)=>(jd.connectSocket({url:e,protocols:t}),{id:Date.now(),onClose(e){jd.onSocketClose((t=>{e(t.code,t.reason)}))},onError(e){jd.onSocketError((t=>{e(t.errMsg)}))},onMessage(e){jd.onSocketMessage((t=>{e(t.data)}))},onOpen(e){jd.onSocketOpen(e)},send(e){jd.sendSocketMessage({data:e})},close(e,t){jd.closeSocket({code:e,reason:t})}}),getNetworkType:()=>new Promise((e=>{jd.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})})),setNetworkStatusListener:function(e){Wn=e,jd.onNetworkStatusChange($n)},removeNetworkStatusListener:function(){jd.offNetworkStatusChange($n),Wn=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT)},Xn=e=>(...t)=>{try{return uni[e](...t)}catch(e){null===console||void 0===console||console.error(e)}},Zn={setItem:Xn("setStorageSync"),getItem:Xn("getStorageSync"),removeItem:Xn("removeStorageSync"),clear:Xn("clearStorageSync")};let zn=null;const er=e=>{const{isConnected:t,networkType:n}=e;zn({status:t,type:n})};const tr={tag:"uniapp",httpReq(e){const t=e.method||exports.HttpMethod.GET,n=e.timeout||Ce,{headers:r,query:s,body:o}=e,i=xt(e.url,s);return new Promise((e=>{uni.request({url:i,method:t,header:r,timeout:n,data:o,success:t=>{e({data:t.data,status:t.statusCode})},fail:()=>{e({status:exports.ErrorCode.RC_HTTP_REQ_FAIL})}})}))},localStorage:Zn,sessionStorage:Zn,useNavi:!0,connectPlatform:"",isFromUniapp:!0,createWebSocket(e,t){const n={complete(){},url:e,protocols:t},r=uni.connectSocket(n);return{id:Date.now(),onClose(e){r.onClose((t=>{e(t.code,t.reason)}))},onError(e){r.onError((t=>{e(t.errMsg)}))},onMessage(e){r.onMessage((t=>{e(t.data)}))},onOpen(e){r.onOpen(e)},send(e){r.send({data:e})},close(e,t){r.close({code:e,reason:t})}}},getNetworkType:()=>new Promise((e=>{uni.getNetworkType({success:({networkType:t})=>{e(t)},fail:()=>{e(Ie.UNKONWN)}})})),setNetworkStatusListener:function(e){zn=e,uni.onNetworkStatusChange(er)},removeNetworkStatusListener:function(){uni.offNetworkStatusChange(er),zn=null},createSSEClient:e=>Je(exports.ErrorCode.NOT_SUPPORT)},nr=e=>e&&e.request&&e.getSystemInfo,rr="undefined"!=typeof uni&&nr(uni)?(()=>{switch(process.env.VUE_APP_PLATFORM){case"app-plus":case"app":return tr;case"mp-jd":return Jn;case"mp-baidu":return Yn;case"mp-toutiao":return Gn;case"mp-alipay":return Pn;case"mp-weixin":return An;default:return Cn}})():"undefined"!=typeof jd&&nr(jd)?Jn:"undefined"!=typeof my&&nr(my)?Pn:"undefined"!=typeof tt&&nr(tt)?Gn:"undefined"!=typeof swan&&nr(swan)?Yn:"undefined"!=typeof wx&&nr(wx)?An:Cn;function sr(e){var t=function(){function e(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function t(e){return!0===(e&&e.__isLong__)}function n(e,t){var n,r,o;return t?(o=(e>>>=0)>=0&&e<256)&&(r=l[e])?r:(n=s(e,(0|e)<0?-1:0,!0),o&&(l[e]=n),n):(o=(e|=0)>=-128&&e<128)&&(r=a[e])?r:(n=s(e,e<0?-1:0,!1),o&&(a[e]=n),n)}function r(e,t){if(isNaN(e)||!isFinite(e))return t?g:_;if(t){if(e<0)return g;if(e>=c)return C}else{if(-h>=e)return R;if(e+1>=h)return f}return e<0?r(-e,t).neg():s(0|e%u,0|e/u,t)}function s(t,n,r){return new e(t,n,r)}function o(e,t,n){var s,i,a,l,u,c,h;if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return _;if("number"==typeof t?(n=t,t=!1):t=!!t,(n=n||10)<2||n>36)throw RangeError("radix");if((s=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===s)return o(e.substring(1),t,n).neg();for(i=r(d(n,8)),a=_,l=0;l<e.length;l+=8)u=Math.min(8,e.length-l),c=parseInt(e.substring(l,l+u),n),u<8?(h=r(d(n,u)),a=a.mul(h).add(r(c))):a=(a=a.mul(i)).add(r(c));return a.unsigned=t,a}function i(t){return t instanceof e?t:"number"==typeof t?r(t):"string"==typeof t?o(t):s(t.low,t.high,t.unsigned)}var a,l,d,u,c,h,p,_,g,E,I,T,f,C,R,S;return e.prototype.__isLong__,Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),e.isLong=t,a={},l={},e.fromInt=n,e.fromNumber=r,e.fromBits=s,d=Math.pow,e.fromString=o,e.fromValue=i,h=(c=(u=4294967296)*u)/2,p=n(16777216),_=n(0),e.ZERO=_,g=n(0,!0),e.UZERO=g,E=n(1),e.ONE=E,I=n(1,!0),e.UONE=I,T=n(-1),e.NEG_ONE=T,f=s(-1,2147483647,!1),e.MAX_VALUE=f,C=s(-1,-1,!0),e.MAX_UNSIGNED_VALUE=C,R=s(0,-2147483648,!1),e.MIN_VALUE=R,(S=e.prototype).toInt=function(){return this.unsigned?this.low>>>0:this.low},S.toNumber=function(){return this.unsigned?(this.high>>>0)*u+(this.low>>>0):this.high*u+(this.low>>>0)},S.toString=function(e){var t,n,s,o,i,a,l,u;if((e=e||10)<2||e>36)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())return this.eq(R)?(t=r(e),s=(n=this.div(t)).mul(t).sub(this),n.toString(e)+s.toInt().toString(e)):"-"+this.neg().toString(e);for(o=r(d(e,6),this.unsigned),i=this,a="";;){if(l=i.div(o),u=(i.sub(l.mul(o)).toInt()>>>0).toString(e),(i=l).isZero())return u+a;for(;u.length<6;)u="0"+u;a=""+u+a}},S.getHighBits=function(){return this.high},S.getHighBitsUnsigned=function(){return this.high>>>0},S.getLowBits=function(){return this.low},S.getLowBitsUnsigned=function(){return this.low>>>0},S.getNumBitsAbs=function(){var e,t;if(this.isNegative())return this.eq(R)?64:this.neg().getNumBitsAbs();for(e=0!=this.high?this.high:this.low,t=31;t>0&&!(e&1<<t);t--);return 0!=this.high?t+33:t+1},S.isZero=function(){return 0===this.high&&0===this.low},S.isNegative=function(){return!this.unsigned&&this.high<0},S.isPositive=function(){return this.unsigned||this.high>=0},S.isOdd=function(){return!(1&~this.low)},S.isEven=function(){return!(1&this.low)},S.equals=function(e){return t(e)||(e=i(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&(this.high===e.high&&this.low===e.low)},S.eq=S.equals,S.notEquals=function(e){return!this.eq(e)},S.neq=S.notEquals,S.lessThan=function(e){return this.comp(e)<0},S.lt=S.lessThan,S.lessThanOrEqual=function(e){return this.comp(e)<=0},S.lte=S.lessThanOrEqual,S.greaterThan=function(e){return this.comp(e)>0},S.gt=S.greaterThan,S.greaterThanOrEqual=function(e){return this.comp(e)>=0},S.gte=S.greaterThanOrEqual,S.compare=function(e){if(t(e)||(e=i(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},S.comp=S.compare,S.negate=function(){return!this.unsigned&&this.eq(R)?R:this.not().add(E)},S.neg=S.negate,S.add=function(e){var n,r,o,a,l,d,u,c,h,p,_;return t(e)||(e=i(e)),n=this.high>>>16,r=65535&this.high,o=this.low>>>16,a=65535&this.low,l=e.high>>>16,d=65535&e.high,u=e.low>>>16,c=0,h=0,p=0,_=0,p+=(_+=a+(65535&e.low))>>>16,h+=(p+=o+u)>>>16,c+=(h+=r+d)>>>16,c+=n+l,s((p&=65535)<<16|(_&=65535),(c&=65535)<<16|(h&=65535),this.unsigned)},S.subtract=function(e){return t(e)||(e=i(e)),this.add(e.neg())},S.sub=S.subtract,S.multiply=function(e){var n,o,a,l,d,u,c,h,g,E,I,T;return this.isZero()?_:(t(e)||(e=i(e)),e.isZero()?_:this.eq(R)?e.isOdd()?R:_:e.eq(R)?this.isOdd()?R:_:this.isNegative()?e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg():e.isNegative()?this.mul(e.neg()).neg():this.lt(p)&&e.lt(p)?r(this.toNumber()*e.toNumber(),this.unsigned):(n=this.high>>>16,o=65535&this.high,a=this.low>>>16,l=65535&this.low,d=e.high>>>16,u=65535&e.high,c=e.low>>>16,g=0,E=0,I=0,T=0,I+=(T+=l*(h=65535&e.low))>>>16,E+=(I+=a*h)>>>16,I&=65535,E+=(I+=l*c)>>>16,g+=(E+=o*h)>>>16,E&=65535,g+=(E+=a*c)>>>16,E&=65535,g+=(E+=l*u)>>>16,g+=n*h+o*c+a*u+l*d,s((I&=65535)<<16|(T&=65535),(g&=65535)<<16|(E&=65535),this.unsigned)))},S.mul=S.multiply,S.divide=function(e){var n,s,o,a,l,u,c;if(t(e)||(e=i(e)),e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?g:_;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return g;if(e.gt(this.shru(1)))return I;o=g}else{if(this.eq(R))return e.eq(E)||e.eq(T)?R:e.eq(R)?E:(n=this.shr(1).div(e).shl(1)).eq(_)?e.isNegative()?E:T:(s=this.sub(e.mul(n)),o=n.add(s.div(e)));if(e.eq(R))return this.unsigned?g:_;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=_}for(s=this;s.gte(e);){for(n=Math.max(1,Math.floor(s.toNumber()/e.toNumber())),l=(a=Math.ceil(Math.log(n)/Math.LN2))<=48?1:d(2,a-48),c=(u=r(n)).mul(e);c.isNegative()||c.gt(s);)c=(u=r(n-=l,this.unsigned)).mul(e);u.isZero()&&(u=E),o=o.add(u),s=s.sub(c)}return o},S.div=S.divide,S.modulo=function(e){return t(e)||(e=i(e)),this.sub(this.div(e).mul(e))},S.mod=S.modulo,S.not=function(){return s(~this.low,~this.high,this.unsigned)},S.and=function(e){return t(e)||(e=i(e)),s(this.low&e.low,this.high&e.high,this.unsigned)},S.or=function(e){return t(e)||(e=i(e)),s(this.low|e.low,this.high|e.high,this.unsigned)},S.xor=function(e){return t(e)||(e=i(e)),s(this.low^e.low,this.high^e.high,this.unsigned)},S.shiftLeft=function(e){return t(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?s(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):s(0,this.low<<e-32,this.unsigned)},S.shl=S.shiftLeft,S.shiftRight=function(e){return t(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?s(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):s(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},S.shr=S.shiftRight,S.shiftRightUnsigned=function(e){var n;return t(e)&&(e=e.toInt()),0===(e&=63)?this:(n=this.high,e<32?s(this.low>>>e|n<<32-e,n>>>e,this.unsigned):s(32===e?n:n>>>e-32,0,this.unsigned))},S.shru=S.shiftRightUnsigned,S.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},S.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},S.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},S.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,255&t>>>8,255&t>>>16,255&t>>>24,255&e,255&e>>>8,255&e>>>16,255&e>>>24]},S.toBytesBE=function(){var e=this.high,t=this.low;return[255&e>>>24,255&e>>>16,255&e>>>8,255&e,255&t>>>24,255&t>>>16,255&t>>>8,255&t]},e}(),n=function(e){function t(e){var t=0;return function(){return t<e.length?e.charCodeAt(t++):null}}function n(){var e=[],t=[];return function(){return 0===arguments.length?t.join("")+a.apply(String,e):(e.length+arguments.length>1024&&(t.push(a.apply(String,e)),e.length=0),void Array.prototype.push.apply(e,arguments))}}function r(e,t,n,r,s){var o,i,a=8*s-r-1,l=(1<<a)-1,d=l>>1,u=-7,c=n?s-1:0,h=n?-1:1,p=e[t+c];for(c+=h,o=p&(1<<-u)-1,p>>=-u,u+=a;u>0;o=256*o+e[t+c],c+=h,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=r;u>0;i=256*i+e[t+c],c+=h,u-=8);if(0===o)o=1-d;else{if(o===l)return i?NaN:1/0*(p?-1:1);i+=Math.pow(2,r),o-=d}return(p?-1:1)*i*Math.pow(2,o-r)}function s(e,t,n,r,s,o){var i,a,l,d=8*o-s-1,u=(1<<d)-1,c=u>>1,h=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,_=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||1/0===t?(a=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+c>=1?h/l:h*Math.pow(2,1-c))*l>=2&&(i++,l/=2),i+c>=u?(a=0,i=u):i+c>=1?(a=(t*l-1)*Math.pow(2,s),i+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,s),i=0));s>=8;e[n+p]=255&a,p+=_,a/=256,s-=8);for(i=i<<s|a,d+=s;d>0;e[n+p]=255&i,p+=_,i/=256,d-=8);e[n+p-_]|=128*g}var o,i,a,l,d,u=function(e,t,n){if(void 0===e&&(e=u.DEFAULT_CAPACITY),void 0===t&&(t=u.DEFAULT_ENDIAN),void 0===n&&(n=u.DEFAULT_NOASSERT),!n){if((e|=0)<0)throw RangeError("Illegal capacity");t=!!t,n=!!n}this.buffer=0===e?i:new ArrayBuffer(e),this.view=0===e?null:new Uint8Array(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=e,this.littleEndian=t,this.noAssert=n};return u.VERSION="5.0.1",u.LITTLE_ENDIAN=!0,u.BIG_ENDIAN=!1,u.DEFAULT_CAPACITY=16,u.DEFAULT_ENDIAN=u.BIG_ENDIAN,u.DEFAULT_NOASSERT=!1,u.Long=e||null,(o=u.prototype).__isByteBuffer__,Object.defineProperty(o,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1}),i=new ArrayBuffer(0),a=String.fromCharCode,u.accessor=function(){return Uint8Array},u.allocate=function(e,t,n){return new u(e,t,n)},u.concat=function(e,t,n,r){var s,o,i,a,l,d;for(("boolean"==typeof t||"string"!=typeof t)&&(r=n,n=t,t=void 0),s=0,i=0,a=e.length;a>i;++i)u.isByteBuffer(e[i])||(e[i]=u.wrap(e[i],t)),(o=e[i].limit-e[i].offset)>0&&(s+=o);if(0===s)return new u(0,n,r);for(d=new u(s,n,r),i=0;a>i;)(o=(l=e[i++]).limit-l.offset)<=0||(d.view.set(l.view.subarray(l.offset,l.limit),d.offset),d.offset+=o);return d.limit=d.offset,d.offset=0,d},u.isByteBuffer=function(e){return!0===(e&&e.__isByteBuffer__)},u.type=function(){return ArrayBuffer},u.wrap=function(e,t,n,r){var s,i;if("string"!=typeof t&&(r=n,n=t,t=void 0),"string"==typeof e)switch(void 0===t&&(t="utf8"),t){case"base64":return u.fromBase64(e,n);case"hex":return u.fromHex(e,n);case"binary":return u.fromBinary(e,n);case"utf8":return u.fromUTF8(e,n);case"debug":return u.fromDebug(e,n);default:throw Error("Unsupported encoding: "+t)}if(null===e||"object"!=typeof e)throw TypeError("Illegal buffer");if(u.isByteBuffer(e))return(s=o.clone.call(e)).markedOffset=-1,s;if(e instanceof Uint8Array)s=new u(0,n,r),e.length>0&&(s.buffer=e.buffer,s.offset=e.byteOffset,s.limit=e.byteOffset+e.byteLength,s.view=new Uint8Array(e.buffer));else if(e instanceof ArrayBuffer)s=new u(0,n,r),e.byteLength>0&&(s.buffer=e,s.offset=0,s.limit=e.byteLength,s.view=e.byteLength>0?new Uint8Array(e):null);else{if("[object Array]"!==Object.prototype.toString.call(e))throw TypeError("Illegal buffer");for((s=new u(e.length,n,r)).limit=e.length,i=0;i<e.length;++i)s.view[i]=e[i]}return s},o.writeBitSet=function(e,t){var n,r,s,o,i,a,l=void 0===t;if(l&&(t=this.offset),!this.noAssert){if(!(e instanceof Array))throw TypeError("Illegal BitSet: Not an array");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}for(r=t,o=(s=e.length)>>3,i=0,t+=this.writeVarint32(s,t);o--;)n=1&!!e[i++]|(1&!!e[i++])<<1|(1&!!e[i++])<<2|(1&!!e[i++])<<3|(1&!!e[i++])<<4|(1&!!e[i++])<<5|(1&!!e[i++])<<6|(1&!!e[i++])<<7,this.writeByte(n,t++);if(s>i){for(a=0,n=0;s>i;)n|=(1&!!e[i++])<<a++;this.writeByte(n,t++)}return l?(this.offset=t,this):t-r},o.readBitSet=function(e){var t,n,r,s,o,i,a,l=void 0===e;for(l&&(e=this.offset),s=(r=(n=this.readVarint32(e)).value)>>3,o=0,i=[],e+=n.length;s--;)t=this.readByte(e++),i[o++]=!!(1&t),i[o++]=!!(2&t),i[o++]=!!(4&t),i[o++]=!!(8&t),i[o++]=!!(16&t),i[o++]=!!(32&t),i[o++]=!!(64&t),i[o++]=!!(128&t);if(r>o)for(a=0,t=this.readByte(e++);r>o;)i[o++]=!!(1&t>>a++);return l&&(this.offset=e),i},o.readBytes=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+e+") <= "+this.buffer.byteLength)}return n=this.slice(t,t+e),r&&(this.offset+=e),n},o.writeBytes=o.append,o.writeInt8=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=1)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=1,this.view[t]=e,r&&(this.offset+=1),this},o.writeByte=o.writeInt8,o.readInt8=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}return!(128&~(t=this.view[e]))&&(t=-(255-t+1)),n&&(this.offset+=1),t},o.readByte=o.readInt8,o.writeUint8=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=1)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=1,this.view[t]=e,r&&(this.offset+=1),this},o.writeUInt8=o.writeUint8,o.readUint8=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}return t=this.view[e],n&&(this.offset+=1),t},o.readUInt8=o.readUint8,o.writeInt16=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=2)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),r&&(this.offset+=2),this},o.writeShort=o.writeInt16,o.readInt16=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}return t=0,this.littleEndian?(t=this.view[e],t|=this.view[e+1]<<8):(t=this.view[e]<<8,t|=this.view[e+1]),!(32768&~t)&&(t=-(65535-t+1)),n&&(this.offset+=2),t},o.readShort=o.readInt16,o.writeUint16=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=2)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),r&&(this.offset+=2),this},o.writeUInt16=o.writeUint16,o.readUint16=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}return t=0,this.littleEndian?(t=this.view[e],t|=this.view[e+1]<<8):(t=this.view[e]<<8,t|=this.view[e+1]),n&&(this.offset+=2),t},o.readUInt16=o.readUint16,o.writeInt32=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=4)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=4,this.littleEndian?(this.view[t+3]=255&e>>>24,this.view[t+2]=255&e>>>16,this.view[t+1]=255&e>>>8,this.view[t]=255&e):(this.view[t]=255&e>>>24,this.view[t+1]=255&e>>>16,this.view[t+2]=255&e>>>8,this.view[t+3]=255&e),r&&(this.offset+=4),this},o.writeInt=o.writeInt32,o.readInt32=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}return t=0,this.littleEndian?(t=this.view[e+2]<<16,t|=this.view[e+1]<<8,t|=this.view[e],t+=this.view[e+3]<<24>>>0):(t=this.view[e+1]<<16,t|=this.view[e+2]<<8,t|=this.view[e+3],t+=this.view[e]<<24>>>0),t|=0,n&&(this.offset+=4),t},o.readInt=o.readInt32,o.writeUint32=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=4)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=4,this.littleEndian?(this.view[t+3]=255&e>>>24,this.view[t+2]=255&e>>>16,this.view[t+1]=255&e>>>8,this.view[t]=255&e):(this.view[t]=255&e>>>24,this.view[t+1]=255&e>>>16,this.view[t+2]=255&e>>>8,this.view[t+3]=255&e),r&&(this.offset+=4),this},o.writeUInt32=o.writeUint32,o.readUint32=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}return t=0,this.littleEndian?(t=this.view[e+2]<<16,t|=this.view[e+1]<<8,t|=this.view[e],t+=this.view[e+3]<<24>>>0):(t=this.view[e+1]<<16,t|=this.view[e+2]<<8,t|=this.view[e+3],t+=this.view[e]<<24>>>0),n&&(this.offset+=4),t},o.readUInt32=o.readUint32,e&&(o.writeInt64=function(t,n){var r,s,o,i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),(n+=8)>(r=this.buffer.byteLength)&&this.resize((r*=2)>n?r:n),n-=8,s=t.low,o=t.high,this.littleEndian?(this.view[n+3]=255&s>>>24,this.view[n+2]=255&s>>>16,this.view[n+1]=255&s>>>8,this.view[n]=255&s,n+=4,this.view[n+3]=255&o>>>24,this.view[n+2]=255&o>>>16,this.view[n+1]=255&o>>>8,this.view[n]=255&o):(this.view[n]=255&o>>>24,this.view[n+1]=255&o>>>16,this.view[n+2]=255&o>>>8,this.view[n+3]=255&o,n+=4,this.view[n]=255&s>>>24,this.view[n+1]=255&s>>>16,this.view[n+2]=255&s>>>8,this.view[n+3]=255&s),i&&(this.offset+=8),this},o.writeLong=o.writeInt64,o.readInt64=function(t){var n,r,s,o=void 0===t;if(o&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}return n=0,r=0,this.littleEndian?(n=this.view[t+2]<<16,n|=this.view[t+1]<<8,n|=this.view[t],n+=this.view[t+3]<<24>>>0,t+=4,r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0):(r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0,t+=4,n=this.view[t+1]<<16,n|=this.view[t+2]<<8,n|=this.view[t+3],n+=this.view[t]<<24>>>0),s=new e(n,r,!1),o&&(this.offset+=8),s},o.readLong=o.readInt64,o.writeUint64=function(t,n){var r,s,o,i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),(n+=8)>(r=this.buffer.byteLength)&&this.resize((r*=2)>n?r:n),n-=8,s=t.low,o=t.high,this.littleEndian?(this.view[n+3]=255&s>>>24,this.view[n+2]=255&s>>>16,this.view[n+1]=255&s>>>8,this.view[n]=255&s,n+=4,this.view[n+3]=255&o>>>24,this.view[n+2]=255&o>>>16,this.view[n+1]=255&o>>>8,this.view[n]=255&o):(this.view[n]=255&o>>>24,this.view[n+1]=255&o>>>16,this.view[n+2]=255&o>>>8,this.view[n+3]=255&o,n+=4,this.view[n]=255&s>>>24,this.view[n+1]=255&s>>>16,this.view[n+2]=255&s>>>8,this.view[n+3]=255&s),i&&(this.offset+=8),this},o.writeUInt64=o.writeUint64,o.readUint64=function(t){var n,r,s,o=void 0===t;if(o&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}return n=0,r=0,this.littleEndian?(n=this.view[t+2]<<16,n|=this.view[t+1]<<8,n|=this.view[t],n+=this.view[t+3]<<24>>>0,t+=4,r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0):(r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0,t+=4,n=this.view[t+1]<<16,n|=this.view[t+2]<<8,n|=this.view[t+3],n+=this.view[t]<<24>>>0),s=new e(n,r,!0),o&&(this.offset+=8),s},o.readUInt64=o.readUint64),o.writeFloat32=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=4)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=4,s(this.view,e,t,this.littleEndian,23,4),r&&(this.offset+=4),this},o.writeFloat=o.writeFloat32,o.readFloat32=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}return t=r(this.view,e,this.littleEndian,23,4),n&&(this.offset+=4),t},o.readFloat=o.readFloat32,o.writeFloat64=function(e,t){var n,r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return(t+=8)>(n=this.buffer.byteLength)&&this.resize((n*=2)>t?n:t),t-=8,s(this.view,e,t,this.littleEndian,52,8),r&&(this.offset+=8),this},o.writeDouble=o.writeFloat64,o.readFloat64=function(e){var t,n=void 0===e;if(n&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+8) <= "+this.buffer.byteLength)}return t=r(this.view,e,this.littleEndian,52,8),n&&(this.offset+=8),t},o.readDouble=o.readFloat64,u.MAX_VARINT32_BYTES=5,u.calculateVarint32=function(e){return(e>>>=0)<128?1:e<16384?2:1<<21>e?3:1<<28>e?4:5},u.zigZagEncode32=function(e){return((e|=0)<<1^e>>31)>>>0},u.zigZagDecode32=function(e){return e>>>1^-(1&e)},o.writeVarint32=function(e,t){var n,r,s,o=void 0===t;if(o&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}for((t+=r=u.calculateVarint32(e))>(s=this.buffer.byteLength)&&this.resize((s*=2)>t?s:t),t-=r,e>>>=0;e>=128;)n=128|127&e,this.view[t++]=n,e>>>=7;return this.view[t++]=e,o?(this.offset=t,this):r},o.writeVarint32ZigZag=function(e,t){return this.writeVarint32(u.zigZagEncode32(e),t)},o.readVarint32=function(e){var t,n,r,s,o=void 0===e;if(o&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}n=0,r=0;do{if(!this.noAssert&&e>this.limit)throw(s=Error("Truncated")).truncated=!0,s;t=this.view[e++],n<5&&(r|=(127&t)<<7*n),++n}while(128&t);return r|=0,o?(this.offset=e,r):{value:r,length:n}},o.readVarint32ZigZag=function(e){var t=this.readVarint32(e);return"object"==typeof t?t.value=u.zigZagDecode32(t.value):t=u.zigZagDecode32(t),t},e&&(u.MAX_VARINT64_BYTES=10,u.calculateVarint64=function(t){"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t));var n=t.toInt()>>>0,r=t.shiftRightUnsigned(28).toInt()>>>0,s=t.shiftRightUnsigned(56).toInt()>>>0;return 0==s?0==r?n<16384?n<128?1:2:1<<21>n?3:4:r<16384?r<128?5:6:1<<21>r?7:8:s<128?9:10},u.zigZagEncode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned()},u.zigZagDecode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned()},o.writeVarint64=function(t,n){var r,s,o,i,a,l=void 0===n;if(l&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}switch("number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),r=u.calculateVarint64(t),s=t.toInt()>>>0,o=t.shiftRightUnsigned(28).toInt()>>>0,i=t.shiftRightUnsigned(56).toInt()>>>0,(n+=r)>(a=this.buffer.byteLength)&&this.resize((a*=2)>n?a:n),n-=r,r){case 10:this.view[n+9]=1&i>>>7;case 9:this.view[n+8]=9!==r?128|i:127&i;case 8:this.view[n+7]=8!==r?128|o>>>21:127&o>>>21;case 7:this.view[n+6]=7!==r?128|o>>>14:127&o>>>14;case 6:this.view[n+5]=6!==r?128|o>>>7:127&o>>>7;case 5:this.view[n+4]=5!==r?128|o:127&o;case 4:this.view[n+3]=4!==r?128|s>>>21:127&s>>>21;case 3:this.view[n+2]=3!==r?128|s>>>14:127&s>>>14;case 2:this.view[n+1]=2!==r?128|s>>>7:127&s>>>7;case 1:this.view[n]=1!==r?128|s:127&s}return l?(this.offset+=r,this):r},o.writeVarint64ZigZag=function(e,t){return this.writeVarint64(u.zigZagEncode64(e),t)},o.readVarint64=function(t){var n,r,s,o,i,a,l=void 0===t;if(l&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}if(n=t,r=0,s=0,o=0,i=0,r=127&(i=this.view[t++]),128&i&&(r|=(127&(i=this.view[t++]))<<7,(128&i||this.noAssert&&void 0===i)&&(r|=(127&(i=this.view[t++]))<<14,(128&i||this.noAssert&&void 0===i)&&(r|=(127&(i=this.view[t++]))<<21,(128&i||this.noAssert&&void 0===i)&&(s=127&(i=this.view[t++]),(128&i||this.noAssert&&void 0===i)&&(s|=(127&(i=this.view[t++]))<<7,(128&i||this.noAssert&&void 0===i)&&(s|=(127&(i=this.view[t++]))<<14,(128&i||this.noAssert&&void 0===i)&&(s|=(127&(i=this.view[t++]))<<21,(128&i||this.noAssert&&void 0===i)&&(o=127&(i=this.view[t++]),(128&i||this.noAssert&&void 0===i)&&(o|=(127&(i=this.view[t++]))<<7,128&i||this.noAssert&&void 0===i))))))))))throw Error("Buffer overrun");return a=e.fromBits(r|s<<28,s>>>4|o<<24,!1),l?(this.offset=t,a):{value:a,length:t-n}},o.readVarint64ZigZag=function(t){var n=this.readVarint64(t);return n&&n.value instanceof e?n.value=u.zigZagDecode64(n.value):n=u.zigZagDecode64(n),n}),o.writeCString=function(e,n){var r,s,o,i=void 0===n;if(i&&(n=this.offset),s=e.length,!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");for(r=0;s>r;++r)if(0===e.charCodeAt(r))throw RangeError("Illegal str: Contains NULL-characters");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return s=d.calculateUTF16asUTF8(t(e))[1],n+=s+1,o=this.buffer.byteLength,n>o&&this.resize((o*=2)>n?o:n),n-=s+1,d.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),this.view[n++]=0,i?(this.offset=n,this):s},o.readCString=function(e){var t,r,s,o=void 0===e;if(o&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}return t=e,s=-1,d.decodeUTF8toUTF16(function(){if(0===s)return null;if(e>=this.limit)throw RangeError("Illegal range: Truncated data, "+e+" < "+this.limit);return 0===(s=this.view[e++])?null:s}.bind(this),r=n(),!0),o?(this.offset=e,r()):{string:r(),length:e-t}},o.writeIString=function(e,n){var r,s,o,i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}if(s=n,r=d.calculateUTF16asUTF8(t(e),this.noAssert)[1],n+=4+r,o=this.buffer.byteLength,n>o&&this.resize((o*=2)>n?o:n),n-=4+r,this.littleEndian?(this.view[n+3]=255&r>>>24,this.view[n+2]=255&r>>>16,this.view[n+1]=255&r>>>8,this.view[n]=255&r):(this.view[n]=255&r>>>24,this.view[n+1]=255&r>>>16,this.view[n+2]=255&r>>>8,this.view[n+3]=255&r),n+=4,d.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),n!==s+4+r)throw RangeError("Illegal range: Truncated data, "+n+" == "+(n+4+r));return i?(this.offset=n,this):n-s},o.readIString=function(e){var t,n,r,s=void 0===e;if(s&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}return t=e,n=this.readUint32(e),r=this.readUTF8String(n,u.METRICS_BYTES,e+=4),e+=r.length,s?(this.offset=e,r.string):{string:r.string,length:e-t}},u.METRICS_CHARS="c",u.METRICS_BYTES="b",o.writeUTF8String=function(e,n){var r,s,o,i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return s=n,r=d.calculateUTF16asUTF8(t(e))[1],n+=r,o=this.buffer.byteLength,n>o&&this.resize((o*=2)>n?o:n),n-=r,d.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),i?(this.offset=n,this):n-s},o.writeString=o.writeUTF8String,u.calculateUTF8Chars=function(e){return d.calculateUTF16asUTF8(t(e))[0]},u.calculateUTF8Bytes=function(e){return d.calculateUTF16asUTF8(t(e))[1]},u.calculateString=u.calculateUTF8Bytes,o.readUTF8String=function(e,t,r){var s,o,i,a,l;if("number"==typeof t&&(r=t,t=void 0),(s=void 0===r)&&(r=this.offset),void 0===t&&(t=u.METRICS_CHARS),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");if(e|=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}if(i=0,a=r,t===u.METRICS_CHARS){if(o=n(),d.decodeUTF8(function(){return e>i&&r<this.limit?this.view[r++]:null}.bind(this),(function(e){++i,d.UTF8toUTF16(e,o)})),i!==e)throw RangeError("Illegal range: Truncated data, "+i+" == "+e);return s?(this.offset=r,o()):{string:o(),length:r-a}}if(t===u.METRICS_BYTES){if(!this.noAssert){if("number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+"+e+") <= "+this.buffer.byteLength)}if(l=r+e,d.decodeUTF8toUTF16(function(){return l>r?this.view[r++]:null}.bind(this),o=n(),this.noAssert),r!==l)throw RangeError("Illegal range: Truncated data, "+r+" == "+l);return s?(this.offset=r,o()):{string:o(),length:r-a}}throw TypeError("Unsupported metrics: "+t)},o.readString=o.readUTF8String,o.writeVString=function(e,n){var r,s,o,i,a=void 0===n;if(a&&(n=this.offset),!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}if(o=n,r=d.calculateUTF16asUTF8(t(e),this.noAssert)[1],s=u.calculateVarint32(r),n+=s+r,i=this.buffer.byteLength,n>i&&this.resize((i*=2)>n?i:n),n-=s+r,n+=this.writeVarint32(r,n),d.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),n!==o+r+s)throw RangeError("Illegal range: Truncated data, "+n+" == "+(n+r+s));return a?(this.offset=n,this):n-o},o.readVString=function(e){var t,n,r,s=void 0===e;if(s&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}return t=e,n=this.readVarint32(e),r=this.readUTF8String(n.value,u.METRICS_BYTES,e+=n.length),e+=r.length,s?(this.offset=e,r.string):{string:r.string,length:e-t}},o.append=function(e,t,n){var r,s,o;if(("number"==typeof t||"string"!=typeof t)&&(n=t,t=void 0),(r=void 0===n)&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return e instanceof u||(e=u.wrap(e,t)),(s=e.limit-e.offset)<=0||((n+=s)>(o=this.buffer.byteLength)&&this.resize((o*=2)>n?o:n),n-=s,this.view.set(e.view.subarray(e.offset,e.limit),n),e.offset+=s,r&&(this.offset+=s)),this},o.appendTo=function(e,t){return e.append(this,t),this},o.assert=function(e){return this.noAssert=!e,this},o.capacity=function(){return this.buffer.byteLength},o.clear=function(){return this.offset=0,this.limit=this.buffer.byteLength,this.markedOffset=-1,this},o.clone=function(e){var t=new u(0,this.littleEndian,this.noAssert);return e?(t.buffer=new ArrayBuffer(this.buffer.byteLength),t.view=new Uint8Array(t.buffer)):(t.buffer=this.buffer,t.view=this.view),t.offset=this.offset,t.markedOffset=this.markedOffset,t.limit=this.limit,t},o.compact=function(e,t){var n,r,s;if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}return 0===e&&t===this.buffer.byteLength?this:0===(n=t-e)?(this.buffer=i,this.view=null,this.markedOffset>=0&&(this.markedOffset-=e),this.offset=0,this.limit=0,this):(r=new ArrayBuffer(n),(s=new Uint8Array(r)).set(this.view.subarray(e,t)),this.buffer=r,this.view=s,this.markedOffset>=0&&(this.markedOffset-=e),this.offset=0,this.limit=n,this)},o.copy=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return new u(0,this.littleEndian,this.noAssert);var n=t-e,r=new u(n,this.littleEndian,this.noAssert);return r.offset=0,r.limit=n,r.markedOffset>=0&&(r.markedOffset-=e),this.copyTo(r,0,e,t),r},o.copyTo=function(e,t,n,r){var s,o,i;if(!this.noAssert&&!u.isByteBuffer(e))throw TypeError("Illegal target: Not a ByteBuffer");if(t=(o=void 0===t)?e.offset:0|t,n=(s=void 0===n)?this.offset:0|n,r=void 0===r?this.limit:0|r,t<0||t>e.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+t+" <= "+e.buffer.byteLength);if(n<0||r>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+n+" <= "+this.buffer.byteLength);return 0===(i=r-n)?e:(e.ensureCapacity(t+i),e.view.set(this.view.subarray(n,r),t),s&&(this.offset+=i),o&&(e.offset+=i),this)},o.ensureCapacity=function(e){var t=this.buffer.byteLength;return e>t?this.resize((t*=2)>e?t:e):this},o.fill=function(e,t,n){var r=void 0===t;if(r&&(t=this.offset),"string"==typeof e&&e.length>0&&(e=e.charCodeAt(0)),void 0===t&&(t=this.offset),void 0===n&&(n=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof n||n%1!=0)throw TypeError("Illegal end: Not an integer");if(n>>>=0,t<0||t>n||n>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+n+" <= "+this.buffer.byteLength)}if(t>=n)return this;for(;n>t;)this.view[t++]=e;return r&&(this.offset=t),this},o.flip=function(){return this.limit=this.offset,this.offset=0,this},o.mark=function(e){if(e=void 0===e?this.offset:e,!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}return this.markedOffset=e,this},o.order=function(e){if(!this.noAssert&&"boolean"!=typeof e)throw TypeError("Illegal littleEndian: Not a boolean");return this.littleEndian=!!e,this},o.LE=function(e){return this.littleEndian=void 0===e||!!e,this},o.BE=function(e){return this.littleEndian=void 0!==e&&!e,this},o.prepend=function(e,t,n){var r,s,o,i,a;if(("number"==typeof t||"string"!=typeof t)&&(n=t,t=void 0),(r=void 0===n)&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}return e instanceof u||(e=u.wrap(e,t)),(s=e.limit-e.offset)<=0||((o=s-n)>0?(i=new ArrayBuffer(this.buffer.byteLength+o),(a=new Uint8Array(i)).set(this.view.subarray(n,this.buffer.byteLength),s),this.buffer=i,this.view=a,this.offset+=o,this.markedOffset>=0&&(this.markedOffset+=o),this.limit+=o,n+=o):new Uint8Array(this.buffer),this.view.set(e.view.subarray(e.offset,e.limit),n-s),e.offset=e.limit,r&&(this.offset-=s)),this},o.prependTo=function(e,t){return e.prepend(this,t),this},o.printDebug=function(e){"function"!=typeof e&&(e=console.log.bind(console)),e(this.toString()+"\n-------------------------------------------------------------------\n"+this.toDebug(!0))},o.remaining=function(){return this.limit-this.offset},o.reset=function(){return this.markedOffset>=0?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0,this},o.resize=function(e){var t,n;if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal capacity: "+e+" (not an integer)");if((e|=0)<0)throw RangeError("Illegal capacity: 0 <= "+e)}return this.buffer.byteLength<e&&(t=new ArrayBuffer(e),(n=new Uint8Array(t)).set(this.view),this.buffer=t,this.view=n),this},o.reverse=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}return e===t||Array.prototype.reverse.call(this.view.subarray(e,t)),this},o.skip=function(e){if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");e|=0}var t=this.offset+e;if(!this.noAssert&&(t<0||t>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+e+" <= "+this.buffer.byteLength);return this.offset=t,this},o.slice=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var n=this.clone();return n.offset=e,n.limit=t,n},o.toBuffer=function(e){var t,n=this.offset,r=this.limit;if(!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: Not an integer");if(n>>>=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal limit: Not an integer");if(r>>>=0,n<0||n>r||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+n+" <= "+r+" <= "+this.buffer.byteLength)}return e||0!==n||r!==this.buffer.byteLength?n===r?i:(t=new ArrayBuffer(r-n),new Uint8Array(t).set(new Uint8Array(this.buffer).subarray(n,r),0),t):this.buffer},o.toArrayBuffer=o.toBuffer,o.toString=function(e,t,n){if(void 0===e)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch("number"==typeof e&&(n=t=e="utf8"),e){case"utf8":return this.toUTF8(t,n);case"base64":return this.toBase64(t,n);case"hex":return this.toHex(t,n);case"binary":return this.toBinary(t,n);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+e)}},l=function(){var e,t,n={},r=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],s=[];for(e=0,t=r.length;t>e;++e)s[r[e]]=e;return n.encode=function(e,t){for(var n,s;null!==(n=e());)t(r[63&n>>2]),s=(3&n)<<4,null!==(n=e())?(t(r[63&((s|=15&n>>4)|15&n>>4)]),s=(15&n)<<2,null!==(n=e())?(t(r[63&(s|3&n>>6)]),t(r[63&n])):(t(r[63&s]),t(61))):(t(r[63&s]),t(61),t(61))},n.decode=function(e,t){function n(e){throw Error("Illegal character code: "+e)}for(var r,o,i;null!==(r=e());)if(void 0===(o=s[r])&&n(r),null!==(r=e())&&(void 0===(i=s[r])&&n(r),t(o<<2>>>0|(48&i)>>4),null!==(r=e()))){if(void 0===(o=s[r])){if(61===r)break;n(r)}if(t((15&i)<<4>>>0|(60&o)>>2),null!==(r=e())){if(void 0===(i=s[r])){if(61===r)break;n(r)}t((3&o)<<6>>>0|i)}}},n.test=function(e){return/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e)},n}(),o.toBase64=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),t|=0,(e|=0)<0||t>this.capacity||e>t)throw RangeError("begin, end");var r;return l.encode(function(){return t>e?this.view[e++]:null}.bind(this),r=n()),r()},u.fromBase64=function(e,n){if("string"!=typeof e)throw TypeError("str");var r=new u(e.length/4*3,n),s=0;return l.decode(t(e),(function(e){r.view[s++]=e})),r.limit=s,r},u.btoa=function(e){return u.fromBinary(e).toBase64()},u.atob=function(e){return u.fromBase64(e).toBinary()},o.toBinary=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),t|=0,(e|=0)<0||t>this.capacity()||e>t)throw RangeError("begin, end");if(e===t)return"";for(var n=[],r=[];t>e;)n.push(this.view[e++]),n.length>=1024&&(r.push(String.fromCharCode.apply(String,n)),n=[]);return r.join("")+String.fromCharCode.apply(String,n)},u.fromBinary=function(e,t){if("string"!=typeof e)throw TypeError("str");for(var n,r=0,s=e.length,o=new u(s,t);s>r;){if((n=e.charCodeAt(r))>255)throw RangeError("illegal char code: "+n);o.view[r++]=n}return o.limit=s,o},o.toDebug=function(e){for(var t,n=-1,r=this.buffer.byteLength,s="",o="",i="";r>n;){if(-1!==n&&(s+=(t=this.view[n])<16?"0"+t.toString(16).toUpperCase():t.toString(16).toUpperCase(),e&&(o+=t>32&&t<127?String.fromCharCode(t):".")),++n,e&&n>0&&n%16==0&&n!==r){for(;s.length<51;)s+=" ";i+=s+o+"\n",s=o=""}s+=n===this.offset&&n===this.limit?n===this.markedOffset?"!":"|":n===this.offset?n===this.markedOffset?"[":"<":n===this.limit?n===this.markedOffset?"]":">":n===this.markedOffset?"'":e||0!==n&&n!==r?" ":""}if(e&&" "!==s){for(;s.length<51;)s+=" ";i+=s+o+"\n"}return e?i:s},u.fromDebug=function(e,t,n){for(var r,s,o=e.length,i=new u(0|(o+1)/3,t,n),a=0,l=0,d=!1,c=!1,h=!1,p=!1,_=!1;o>a;){switch(r=e.charAt(a++)){case"!":if(!n){if(c||h||p){_=!0;break}c=h=p=!0}i.offset=i.markedOffset=i.limit=l,d=!1;break;case"|":if(!n){if(c||p){_=!0;break}c=p=!0}i.offset=i.limit=l,d=!1;break;case"[":if(!n){if(c||h){_=!0;break}c=h=!0}i.offset=i.markedOffset=l,d=!1;break;case"<":if(!n){if(c){_=!0;break}c=!0}i.offset=l,d=!1;break;case"]":if(!n){if(p||h){_=!0;break}p=h=!0}i.limit=i.markedOffset=l,d=!1;break;case">":if(!n){if(p){_=!0;break}p=!0}i.limit=l,d=!1;break;case"'":if(!n){if(h){_=!0;break}h=!0}i.markedOffset=l,d=!1;break;case" ":d=!1;break;default:if(!n&&d){_=!0;break}if(s=parseInt(r+e.charAt(a++),16),!n&&(isNaN(s)||s<0||s>255))throw TypeError("Illegal str: Not a debug encoded string");i.view[l++]=s,d=!0}if(_)throw TypeError("Illegal str: Invalid symbol at "+a)}if(!n){if(!c||!p)throw TypeError("Illegal str: Missing offset or limit");if(l<i.buffer.byteLength)throw TypeError("Illegal str: Not a debug encoded string (is it hex?) "+l+" < "+o)}return i},o.toHex=function(e,t){if(e=void 0===e?this.offset:e,t=void 0===t?this.limit:t,!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}for(var n,r=new Array(t-e);t>e;)(n=this.view[e++])<16?r.push("0",n.toString(16)):r.push(n.toString(16));return r.join("")},u.fromHex=function(e,t,n){var r,s,o,i,a;if(!n){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if(e.length%2!=0)throw TypeError("Illegal str: Length not a multiple of 2")}for(s=e.length,o=new u(0|s/2,t),i=0,a=0;s>i;i+=2){if(r=parseInt(e.substring(i,i+2),16),!n&&(!isFinite(r)||r<0||r>255))throw TypeError("Illegal str: Contains non-hex characters");o.view[a++]=r}return o.limit=a,o},d=function(){var e={MAX_CODEPOINT:1114111,encodeUTF8:function(e,t){var n=null;for("number"==typeof e&&(n=e,e=function(){return null});null!==n||null!==(n=e());)n<128?t(127&n):n<2048?(t(192|31&n>>6),t(128|63&n)):n<65536?(t(224|15&n>>12),t(128|63&n>>6),t(128|63&n)):(t(240|7&n>>18),t(128|63&n>>12),t(128|63&n>>6),t(128|63&n)),n=null},decodeUTF8:function(e,t){for(var n,r,s,o,i=function(e){e=e.slice(0,e.indexOf(null));var t=Error(e.toString());throw t.name="TruncatedError",t.bytes=e,t};null!==(n=e());)if(128&n)if(192==(224&n))null===(r=e())&&i([n,r]),t((31&n)<<6|63&r);else if(224==(240&n))(null===(r=e())||null===(s=e()))&&i([n,r,s]),t((15&n)<<12|(63&r)<<6|63&s);else{if(240!=(248&n))throw RangeError("Illegal starting byte: "+n);(null===(r=e())||null===(s=e())||null===(o=e()))&&i([n,r,s,o]),t((7&n)<<18|(63&r)<<12|(63&s)<<6|63&o)}else t(n)},UTF16toUTF8:function(e,t){for(var n,r=null;null!==(n=null!==r?r:e());)n>=55296&&n<=57343&&null!==(r=e())&&r>=56320&&r<=57343?(t(1024*(n-55296)+r-56320+65536),r=null):t(n);null!==r&&t(r)},UTF8toUTF16:function(e,t){var n=null;for("number"==typeof e&&(n=e,e=function(){return null});null!==n||null!==(n=e());)n<=65535?t(n):(t(55296+((n-=65536)>>10)),t(n%1024+56320)),n=null},encodeUTF16toUTF8:function(t,n){e.UTF16toUTF8(t,(function(t){e.encodeUTF8(t,n)}))},decodeUTF8toUTF16:function(t,n){e.decodeUTF8(t,(function(t){e.UTF8toUTF16(t,n)}))},calculateCodePoint:function(e){return e<128?1:e<2048?2:e<65536?3:4},calculateUTF8:function(e){for(var t,n=0;null!==(t=e());)n+=t<128?1:t<2048?2:t<65536?3:4;return n},calculateUTF16asUTF8:function(t){var n=0,r=0;return e.UTF16toUTF8(t,(function(e){++n,r+=e<128?1:e<2048?2:e<65536?3:4})),[n,r]}};return e}(),o.toUTF8=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var r;try{d.decodeUTF8toUTF16(function(){return t>e?this.view[e++]:null}.bind(this),r=n())}catch(n){if(e!==t)throw RangeError("Illegal range: Truncated data, "+e+" != "+t)}return r()},u.fromUTF8=function(e,n,r){if(!r&&"string"!=typeof e)throw TypeError("Illegal str: Not a string");var s=new u(d.calculateUTF16asUTF8(t(e),!0)[1],n,r),o=0;return d.encodeUTF16toUTF8(t(e),(function(e){s.view[o++]=e})),s.limit=o,s},u}(t),r=function(t,n){var r,s,o={};return o.ByteBuffer=t,o.c=t,r=t,o.Long=n||null,o.VERSION="5.0.1",o.WIRE_TYPES={},o.WIRE_TYPES.VARINT=0,o.WIRE_TYPES.BITS64=1,o.WIRE_TYPES.LDELIM=2,o.WIRE_TYPES.STARTGROUP=3,o.WIRE_TYPES.ENDGROUP=4,o.WIRE_TYPES.BITS32=5,o.PACKABLE_WIRE_TYPES=[o.WIRE_TYPES.VARINT,o.WIRE_TYPES.BITS64,o.WIRE_TYPES.BITS32],o.TYPES={int32:{name:"int32",wireType:o.WIRE_TYPES.VARINT,defaultValue:0},uint32:{name:"uint32",wireType:o.WIRE_TYPES.VARINT,defaultValue:0},sint32:{name:"sint32",wireType:o.WIRE_TYPES.VARINT,defaultValue:0},int64:{name:"int64",wireType:o.WIRE_TYPES.VARINT,defaultValue:o.Long?o.Long.ZERO:void 0},uint64:{name:"uint64",wireType:o.WIRE_TYPES.VARINT,defaultValue:o.Long?o.Long.UZERO:void 0},sint64:{name:"sint64",wireType:o.WIRE_TYPES.VARINT,defaultValue:o.Long?o.Long.ZERO:void 0},bool:{name:"bool",wireType:o.WIRE_TYPES.VARINT,defaultValue:!1},double:{name:"double",wireType:o.WIRE_TYPES.BITS64,defaultValue:0},string:{name:"string",wireType:o.WIRE_TYPES.LDELIM,defaultValue:""},bytes:{name:"bytes",wireType:o.WIRE_TYPES.LDELIM,defaultValue:null},fixed32:{name:"fixed32",wireType:o.WIRE_TYPES.BITS32,defaultValue:0},sfixed32:{name:"sfixed32",wireType:o.WIRE_TYPES.BITS32,defaultValue:0},fixed64:{name:"fixed64",wireType:o.WIRE_TYPES.BITS64,defaultValue:o.Long?o.Long.UZERO:void 0},sfixed64:{name:"sfixed64",wireType:o.WIRE_TYPES.BITS64,defaultValue:o.Long?o.Long.ZERO:void 0},float:{name:"float",wireType:o.WIRE_TYPES.BITS32,defaultValue:0},enum:{name:"enum",wireType:o.WIRE_TYPES.VARINT,defaultValue:0},message:{name:"message",wireType:o.WIRE_TYPES.LDELIM,defaultValue:null},group:{name:"group",wireType:o.WIRE_TYPES.STARTGROUP,defaultValue:null}},o.MAP_KEY_TYPES=[o.TYPES.int32,o.TYPES.sint32,o.TYPES.sfixed32,o.TYPES.uint32,o.TYPES.fixed32,o.TYPES.int64,o.TYPES.sint64,o.TYPES.sfixed64,o.TYPES.uint64,o.TYPES.fixed64,o.TYPES.bool,o.TYPES.string,o.TYPES.bytes],o.ID_MIN=1,o.ID_MAX=536870911,o.convertFieldsToCamelCase=!1,o.populateAccessors=!0,o.populateDefaults=!0,o.Util=function(){var e={};return e.IS_NODE=!("object"!=typeof process||process+""!="[object process]"||process.browser),e.XHR=function(){var e,t=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],n=null;for(e=0;e<t.length;e++){try{n=t[e]()}catch(e){continue}break}if(!n)throw Error("XMLHttpRequest is not supported");return n},e.fetch=function(t,n){if(n&&"function"!=typeof n&&(n=null),e.IS_NODE)if(n)g.readFile(t,(function(e,t){n(e?null:""+t)}));else try{return g.readFileSync(t)}catch(e){return null}else{var r=e.XHR();if(r.open("GET",t,!!n),r.setRequestHeader("Accept","text/plain"),"function"==typeof r.overrideMimeType&&r.overrideMimeType("text/plain"),!n)return r.send(null),200==r.status||0==r.status&&"string"==typeof r.responseText?r.responseText:null;if(r.onreadystatechange=function(){4==r.readyState&&(200==r.status||0==r.status&&"string"==typeof r.responseText?n(r.responseText):n(null))},4==r.readyState)return;r.send(null)}},e.toCamelCase=function(e){return e.replace(/_([a-zA-Z])/g,(function(e,t){return t.toUpperCase()}))},e}(),o.Lang={DELIM:/[\s\{\}=;:\[\],'"\(\)<>]/g,RULE:/^(?:required|optional|repeated|map)$/,TYPE:/^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,NAME:/^[a-zA-Z_][a-zA-Z_0-9]*$/,TYPEDEF:/^[a-zA-Z][a-zA-Z_0-9]*$/,TYPEREF:/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,FQTYPEREF:/^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,NUMBER:/^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,NUMBER_DEC:/^(?:[1-9][0-9]*|0)$/,NUMBER_HEX:/^0[xX][0-9a-fA-F]+$/,NUMBER_OCT:/^0[0-7]+$/,NUMBER_FLT:/^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,BOOL:/^(?:true|false)$/i,ID:/^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,NEGID:/^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,WHITESPACE:/\s/,STRING:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,STRING_DQ:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,STRING_SQ:/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g},o.DotProto=function(e,t){function n(e,n){var r=-1,s=1;if("-"==e.charAt(0)&&(s=-1,e=e.substring(1)),t.NUMBER_DEC.test(e))r=parseInt(e);else if(t.NUMBER_HEX.test(e))r=parseInt(e.substring(2),16);else{if(!t.NUMBER_OCT.test(e))throw Error("illegal id value: "+(s<0?"-":"")+e);r=parseInt(e.substring(1),8)}if(r=0|s*r,!n&&r<0)throw Error("illegal id value: "+(s<0?"-":"")+e);return r}function r(e){var n=1;if("-"==e.charAt(0)&&(n=-1,e=e.substring(1)),t.NUMBER_DEC.test(e))return n*parseInt(e,10);if(t.NUMBER_HEX.test(e))return n*parseInt(e.substring(2),16);if(t.NUMBER_OCT.test(e))return n*parseInt(e.substring(1),8);if("inf"===e)return 1/0*n;if("nan"===e)return NaN;if(t.NUMBER_FLT.test(e))return n*parseFloat(e);throw Error("illegal number value: "+(n<0?"-":"")+e)}function s(e,t,n){void 0===e[t]?e[t]=n:(Array.isArray(e[t])||(e[t]=[e[t]]),e[t].push(n))}var o,i,a={},l=function(e){this.source=e+"",this.index=0,this.line=1,this.stack=[],this._stringOpen=null},d=l.prototype;return d._readString=function(){var e,n='"'===this._stringOpen?t.STRING_DQ:t.STRING_SQ;if(n.lastIndex=this.index-1,!(e=n.exec(this.source)))throw Error("unterminated string");return this.index=n.lastIndex,this.stack.push(this._stringOpen),this._stringOpen=null,e[1]},d.next=function(){var e,n,r,s,o;if(this.stack.length>0)return this.stack.shift();if(this.index>=this.source.length)return null;if(null!==this._stringOpen)return this._readString();do{for(e=!1;t.WHITESPACE.test(r=this.source.charAt(this.index));)if("\n"===r&&++this.line,++this.index===this.source.length)return null;if("/"===this.source.charAt(this.index))if(++this.index,"/"===this.source.charAt(this.index)){for(;"\n"!==this.source.charAt(++this.index);)if(this.index==this.source.length)return null;++this.index,++this.line,e=!0}else{if("*"!==(r=this.source.charAt(this.index)))return"/";do{if("\n"===r&&++this.line,++this.index===this.source.length)return null;n=r,r=this.source.charAt(this.index)}while("*"!==n||"/"!==r);++this.index,e=!0}}while(e);if(this.index===this.source.length)return null;if(s=this.index,t.DELIM.lastIndex=0,!t.DELIM.test(this.source.charAt(s++)))for(;s<this.source.length&&!t.DELIM.test(this.source.charAt(s));)++s;return('"'===(o=this.source.substring(this.index,this.index=s))||"'"===o)&&(this._stringOpen=o),o},d.peek=function(){if(0===this.stack.length){var e=this.next();if(null===e)return null;this.stack.push(e)}return this.stack[0]},d.skip=function(e){var t=this.next();if(t!==e)throw Error("illegal '"+t+"', '"+e+"' expected")},d.omit=function(e){return this.peek()===e&&(this.next(),!0)},d.toString=function(){return"Tokenizer ("+this.index+"/"+this.source.length+" at line "+this.line+")"},a.Tokenizer=l,o=function(e){this.tn=new l(e),this.proto3=!1},(i=o.prototype).parse=function(){var e,n={name:"[ROOT]",package:null,messages:[],enums:[],imports:[],options:{},services:[]},r=!0;try{for(;e=this.tn.next();)switch(e){case"package":if(!r||null!==n.package)throw Error("unexpected 'package'");if(e=this.tn.next(),!t.TYPEREF.test(e))throw Error("illegal package name: "+e);this.tn.skip(";"),n.package=e;break;case"import":if(!r)throw Error("unexpected 'import'");"public"===(e=this.tn.peek())&&this.tn.next(),e=this._readString(),this.tn.skip(";"),n.imports.push(e);break;case"syntax":if(!r)throw Error("unexpected 'syntax'");this.tn.skip("="),"proto3"===(n.syntax=this._readString())&&(this.proto3=!0),this.tn.skip(";");break;case"message":this._parseMessage(n,null),r=!1;break;case"enum":this._parseEnum(n),r=!1;break;case"option":this._parseOption(n);break;case"service":this._parseService(n);break;case"extend":this._parseExtend(n);break;default:throw Error("unexpected '"+e+"'")}}catch(e){throw e.message="Parse error at line "+this.tn.line+": "+e.message,e}return delete n.name,n},o.parse=function(e){return new o(e).parse()},i._readString=function(){var e,t,n="";do{if("'"!==(t=this.tn.next())&&'"'!==t)throw Error("illegal string delimiter: "+t);n+=this.tn.next(),this.tn.skip(t),e=this.tn.peek()}while('"'===e||'"'===e);return n},i._readValue=function(e){var n=this.tn.peek();if('"'===n||"'"===n)return this._readString();if(this.tn.next(),t.NUMBER.test(n))return r(n);if(t.BOOL.test(n))return"true"===n.toLowerCase();if(e&&t.TYPEREF.test(n))return n;throw Error("illegal value: "+n)},i._parseOption=function(e,n){var r,s=this.tn.next(),o=!1;if("("===s&&(o=!0,s=this.tn.next()),!t.TYPEREF.test(s))throw Error("illegal option name: "+s);r=s,o&&(this.tn.skip(")"),r="("+r+")",s=this.tn.peek(),t.FQTYPEREF.test(s)&&(r+=s,this.tn.next())),this.tn.skip("="),this._parseOptionValue(e,r),n||this.tn.skip(";")},i._parseOptionValue=function(e,n){var r=this.tn.peek();if("{"!==r)s(e.options,n,this._readValue(!0));else for(this.tn.skip("{");"}"!==(r=this.tn.next());){if(!t.NAME.test(r))throw Error("illegal option name: "+n+"."+r);this.tn.omit(":")?s(e.options,n+"."+r,this._readValue(!0)):this._parseOptionValue(e,n+"."+r)}},i._parseService=function(e){var n,r=this.tn.next();if(!t.NAME.test(r))throw Error("illegal service name at line "+this.tn.line+": "+r);for(n={name:r,rpc:{},options:{}},this.tn.skip("{");"}"!==(r=this.tn.next());)if("option"===r)this._parseOption(n);else{if("rpc"!==r)throw Error("illegal service token: "+r);this._parseServiceRPC(n)}this.tn.omit(";"),e.services.push(n)},i._parseServiceRPC=function(e){var n,r,s="rpc",o=this.tn.next();if(!t.NAME.test(o))throw Error("illegal rpc service method name: "+o);if(n=o,r={request:null,response:null,request_stream:!1,response_stream:!1,options:{}},this.tn.skip("("),"stream"===(o=this.tn.next()).toLowerCase()&&(r.request_stream=!0,o=this.tn.next()),!t.TYPEREF.test(o))throw Error("illegal rpc service request type: "+o);if(r.request=o,this.tn.skip(")"),"returns"!==(o=this.tn.next()).toLowerCase())throw Error("illegal rpc service request type delimiter: "+o);if(this.tn.skip("("),"stream"===(o=this.tn.next()).toLowerCase()&&(r.response_stream=!0,o=this.tn.next()),r.response=o,this.tn.skip(")"),"{"===(o=this.tn.peek())){for(this.tn.next();"}"!==(o=this.tn.next());){if("option"!==o)throw Error("illegal rpc service token: "+o);this._parseOption(r)}this.tn.omit(";")}else this.tn.skip(";");void 0===e[s]&&(e[s]={}),e[s][n]=r},i._parseMessage=function(e,r){var s=!!r,o=this.tn.next(),i={name:"",fields:[],enums:[],messages:[],options:{},services:[],oneofs:{}};if(!t.NAME.test(o))throw Error("illegal "+(s?"group":"message")+" name: "+o);for(i.name=o,s&&(this.tn.skip("="),r.id=n(this.tn.next()),i.isGroup=!0),"["===(o=this.tn.peek())&&r&&this._parseFieldOptions(r),this.tn.skip("{");"}"!==(o=this.tn.next());)if(t.RULE.test(o))this._parseMessageField(i,o);else if("oneof"===o)this._parseMessageOneOf(i);else if("enum"===o)this._parseEnum(i);else if("message"===o)this._parseMessage(i);else if("option"===o)this._parseOption(i);else if("service"===o)this._parseService(i);else if("extensions"===o)i.extensions=this._parseExtensionRanges();else if("reserved"===o)this._parseIgnored();else if("extend"===o)this._parseExtend(i);else{if(!t.TYPEREF.test(o))throw Error("illegal message token: "+o);if(!this.proto3)throw Error("illegal field rule: "+o);this._parseMessageField(i,"optional",o)}return this.tn.omit(";"),e.messages.push(i),i},i._parseIgnored=function(){for(;";"!==this.tn.peek();)this.tn.next();this.tn.skip(";")},i._parseMessageField=function(e,r,s){var o,i,a;if(!t.RULE.test(r))throw Error("illegal message field rule: "+r);if(o={rule:r,type:"",name:"",options:{},id:0},"map"===r){if(s)throw Error("illegal type: "+s);if(this.tn.skip("<"),i=this.tn.next(),!t.TYPE.test(i)&&!t.TYPEREF.test(i))throw Error("illegal message field type: "+i);if(o.keytype=i,this.tn.skip(","),i=this.tn.next(),!t.TYPE.test(i)&&!t.TYPEREF.test(i))throw Error("illegal message field: "+i);if(o.type=i,this.tn.skip(">"),i=this.tn.next(),!t.NAME.test(i))throw Error("illegal message field name: "+i);o.name=i,this.tn.skip("="),o.id=n(this.tn.next()),"["===(i=this.tn.peek())&&this._parseFieldOptions(o),this.tn.skip(";")}else if("group"===(s=void 0!==s?s:this.tn.next())){if(a=this._parseMessage(e,o),!/^[A-Z]/.test(a.name))throw Error("illegal group name: "+a.name);o.type=a.name,o.name=a.name.toLowerCase(),this.tn.omit(";")}else{if(!t.TYPE.test(s)&&!t.TYPEREF.test(s))throw Error("illegal message field type: "+s);if(o.type=s,i=this.tn.next(),!t.NAME.test(i))throw Error("illegal message field name: "+i);o.name=i,this.tn.skip("="),o.id=n(this.tn.next()),"["===(i=this.tn.peek())&&this._parseFieldOptions(o),this.tn.skip(";")}return e.fields.push(o),o},i._parseMessageOneOf=function(e){var n,r,s,o=this.tn.next();if(!t.NAME.test(o))throw Error("illegal oneof name: "+o);for(r=o,s=[],this.tn.skip("{");"}"!==(o=this.tn.next());)(n=this._parseMessageField(e,"optional",o)).oneof=r,s.push(n.id);this.tn.omit(";"),e.oneofs[r]=s},i._parseFieldOptions=function(e){this.tn.skip("[");for(var t=!0;"]"!==this.tn.peek();)t||this.tn.skip(","),this._parseOption(e,!0),t=!1;this.tn.next()},i._parseEnum=function(e){var r,s={name:"",values:[],options:{}},o=this.tn.next();if(!t.NAME.test(o))throw Error("illegal name: "+o);for(s.name=o,this.tn.skip("{");"}"!==(o=this.tn.next());)if("option"===o)this._parseOption(s);else{if(!t.NAME.test(o))throw Error("illegal name: "+o);this.tn.skip("="),r={name:o,id:n(this.tn.next(),!0)},"["===(o=this.tn.peek())&&this._parseFieldOptions({options:{}}),this.tn.skip(";"),s.values.push(r)}this.tn.omit(";"),e.enums.push(s)},i._parseExtensionRanges=function(){var t,n,s,o=[];do{for(n=[];;){switch(t=this.tn.next()){case"min":s=e.ID_MIN;break;case"max":s=e.ID_MAX;break;default:s=r(t)}if(n.push(s),2===n.length)break;if("to"!==this.tn.peek()){n.push(s);break}this.tn.next()}o.push(n)}while(this.tn.omit(","));return this.tn.skip(";"),o},i._parseExtend=function(e){var n,r=this.tn.next();if(!t.TYPEREF.test(r))throw Error("illegal extend reference: "+r);for(n={ref:r,fields:[]},this.tn.skip("{");"}"!==(r=this.tn.next());)if(t.RULE.test(r))this._parseMessageField(n,r);else{if(!t.TYPEREF.test(r))throw Error("illegal extend token: "+r);if(!this.proto3)throw Error("illegal field rule: "+r);this._parseMessageField(n,"optional",r)}return this.tn.omit(";"),e.messages.push(n),n},i.toString=function(){return"Parser at line "+this.tn.line},a.Parser=o,a}(o,o.Lang),o.Reflect=function(e){function n(t,n){if(t&&"number"==typeof t.low&&"number"==typeof t.high&&"boolean"==typeof t.unsigned&&t.low==t.low&&t.high==t.high)return new e.Long(t.low,t.high,void 0===n?t.unsigned:n);if("string"==typeof t)return e.Long.fromString(t,n||!1,10);if("number"==typeof t)return e.Long.fromNumber(t,n||!1);throw Error("not convertible to Long")}function s(t,n){var r=n.readVarint32(),o=7&r,i=r>>>3;switch(o){case e.WIRE_TYPES.VARINT:do{r=n.readUint8()}while(!(128&~r));break;case e.WIRE_TYPES.BITS64:n.offset+=8;break;case e.WIRE_TYPES.LDELIM:r=n.readVarint32(),n.offset+=r;break;case e.WIRE_TYPES.STARTGROUP:s(i,n);break;case e.WIRE_TYPES.ENDGROUP:if(i===t)return!1;throw Error("Illegal GROUPEND after unknown group: "+i+" ("+t+" expected)");case e.WIRE_TYPES.BITS32:n.offset+=4;break;default:throw Error("Illegal wire type in unknown group "+t+": "+o)}return!0}var o,i,a,l,d,u,c,h,p,_,g,E,I,T,f,C,R={},S=function(e,t,n){this.builder=e,this.parent=t,this.name=n,this.className},m=S.prototype;return m.fqn=function(){for(var e=this.name,t=this;null!=(t=t.parent);)e=t.name+"."+e;return e},m.toString=function(e){return(e?this.className+" ":"")+this.fqn()},m.build=function(){throw Error(this.toString(!0)+" cannot be built directly")},R.T=S,o=function(e,t,n,r,s){S.call(this,e,t,n),this.className="Namespace",this.children=[],this.options=r||{},this.syntax=s||"proto2"},(i=o.prototype=Object.create(S.prototype)).getChildren=function(e){var t,n,r;if(null==(e=e||null))return this.children.slice();for(t=[],n=0,r=this.children.length;r>n;++n)this.children[n]instanceof e&&t.push(this.children[n]);return t},i.addChild=function(e){var t;if(t=this.getChild(e.name))if(t instanceof d.Field&&t.name!==t.originalName&&null===this.getChild(t.originalName))t.name=t.originalName;else{if(!(e instanceof d.Field&&e.name!==e.originalName&&null===this.getChild(e.originalName)))throw Error("Duplicate name in namespace "+this.toString(!0)+": "+e.name);e.name=e.originalName}this.children.push(e)},i.getChild=function(e){var t,n,r="number"==typeof e?"id":"name";for(t=0,n=this.children.length;n>t;++t)if(this.children[t][r]===e)return this.children[t];return null},i.resolve=function(e,t){var n,r="string"==typeof e?e.split("."):e,s=this,o=0;if(""===r[o]){for(;null!==s.parent;)s=s.parent;o++}do{do{if(!(s instanceof R.Namespace)){s=null;break}if(!((n=s.getChild(r[o]))&&n instanceof R.T&&(!t||n instanceof R.Namespace))){s=null;break}s=n,o++}while(o<r.length);if(null!=s)break;if(null!==this.parent)return this.parent.resolve(e,t)}while(null!=s);return s},i.qn=function(e){var t,n,r=[],s=e;do{r.unshift(s.name),s=s.parent}while(null!==s);for(t=1;t<=r.length;t++)if(n=r.slice(r.length-t),e===this.resolve(n,e instanceof R.Namespace))return n.join(".");return e.fqn()},i.build=function(){var e,t,n,r={},s=this.children;for(t=0,n=s.length;n>t;++t)(e=s[t])instanceof o&&(r[e.name]=e.build());return Object.defineProperty&&Object.defineProperty(r,"$options",{value:this.buildOpt()}),r},i.buildOpt=function(){var e,t,n,r,s={},o=Object.keys(this.options);for(e=0,t=o.length;t>e;++e)n=o[e],r=this.options[o[e]],s[n]=r;return s},i.getOption=function(e){return void 0===e?this.options:void 0!==this.options[e]?this.options[e]:null},R.Namespace=o,a=function(t,n,r,s){if(this.type=t,this.resolvedType=n,this.isMapKey=r,this.syntax=s,r&&e.MAP_KEY_TYPES.indexOf(t)<0)throw Error("Invalid map key type: "+t.name)},l=a.prototype,a.defaultFieldValue=function(t){if("string"==typeof t&&(t=e.TYPES[t]),void 0===t.defaultValue)throw Error("default value for type "+t.name+" is not supported");return t==e.TYPES.bytes?new r(0):t.defaultValue},l.verifyValue=function(r){var s,o,i,a=function(e,t){throw Error("Illegal value for "+this.toString(!0)+" of type "+this.type.name+": "+e+" ("+t+")")}.bind(this);switch(this.type){case e.TYPES.int32:case e.TYPES.sint32:case e.TYPES.sfixed32:return("number"!=typeof r||r==r&&r%1!=0)&&a(typeof r,"not an integer"),r>4294967295?0|r:r;case e.TYPES.uint32:case e.TYPES.fixed32:return("number"!=typeof r||r==r&&r%1!=0)&&a(typeof r,"not an integer"),r<0?r>>>0:r;case e.TYPES.int64:case e.TYPES.sint64:case e.TYPES.sfixed64:if(e.Long)try{return n(r,!1)}catch(e){a(typeof r,e.message)}else a(typeof r,"requires Long.js");case e.TYPES.uint64:case e.TYPES.fixed64:if(e.Long)try{return n(r,!0)}catch(e){a(typeof r,e.message)}else a(typeof r,"requires Long.js");case e.TYPES.bool:return"boolean"!=typeof r&&a(typeof r,"not a boolean"),r;case e.TYPES.float:case e.TYPES.double:return"number"!=typeof r&&a(typeof r,"not a number"),r;case e.TYPES.string:return"string"==typeof r||r&&r instanceof String||a(typeof r,"not a string"),""+r;case e.TYPES.bytes:return t.isByteBuffer(r)?r:t.wrap(r);case e.TYPES.enum:for(s=this.resolvedType.getChildren(e.Reflect.Enum.Value),i=0;i<s.length;i++){if(s[i].name==r)return s[i].id;if(s[i].id==r)return s[i].id}if("proto3"===this.syntax)return("number"!=typeof r||r==r&&r%1!=0)&&a(typeof r,"not an integer"),(r>4294967295||r<0)&&a(typeof r,"not in range for uint32"),r;a(r,"not a valid enum value");case e.TYPES.group:case e.TYPES.message:if(r&&"object"==typeof r||a(typeof r,"object expected"),r instanceof this.resolvedType.clazz)return r;if(r instanceof e.Builder.Message){for(i in o={},r)r.hasOwnProperty(i)&&(o[i]=r[i]);r=o}return new this.resolvedType.clazz(r)}throw Error("[INTERNAL] Illegal value for "+this.toString(!0)+": "+r+" (undefined type "+this.type+")")},l.calculateLength=function(t,n){if(null===n)return 0;var s;switch(this.type){case e.TYPES.int32:return n<0?r.calculateVarint64(n):r.calculateVarint32(n);case e.TYPES.uint32:return r.calculateVarint32(n);case e.TYPES.sint32:return r.calculateVarint32(r.zigZagEncode32(n));case e.TYPES.fixed32:case e.TYPES.sfixed32:case e.TYPES.float:return 4;case e.TYPES.int64:case e.TYPES.uint64:return r.calculateVarint64(n);case e.TYPES.sint64:return r.calculateVarint64(r.zigZagEncode64(n));case e.TYPES.fixed64:case e.TYPES.sfixed64:return 8;case e.TYPES.bool:return 1;case e.TYPES.enum:return r.calculateVarint32(n);case e.TYPES.double:return 8;case e.TYPES.string:return s=r.calculateUTF8Bytes(n),r.calculateVarint32(s)+s;case e.TYPES.bytes:if(n.remaining()<0)throw Error("Illegal value for "+this.toString(!0)+": "+n.remaining()+" bytes remaining");return r.calculateVarint32(n.remaining())+n.remaining();case e.TYPES.message:return s=this.resolvedType.calculate(n),r.calculateVarint32(s)+s;case e.TYPES.group:return(s=this.resolvedType.calculate(n))+r.calculateVarint32(t<<3|e.WIRE_TYPES.ENDGROUP)}throw Error("[INTERNAL] Illegal value to encode in "+this.toString(!0)+": "+n+" (unknown type)")},l.encodeValue=function(t,n,s){var o,i;if(null===n)return s;switch(this.type){case e.TYPES.int32:n<0?s.writeVarint64(n):s.writeVarint32(n);break;case e.TYPES.uint32:s.writeVarint32(n);break;case e.TYPES.sint32:s.writeVarint32ZigZag(n);break;case e.TYPES.fixed32:s.writeUint32(n);break;case e.TYPES.sfixed32:s.writeInt32(n);break;case e.TYPES.int64:case e.TYPES.uint64:s.writeVarint64(n);break;case e.TYPES.sint64:s.writeVarint64ZigZag(n);break;case e.TYPES.fixed64:s.writeUint64(n);break;case e.TYPES.sfixed64:s.writeInt64(n);break;case e.TYPES.bool:"string"==typeof n?s.writeVarint32("false"===n.toLowerCase()?0:!!n):s.writeVarint32(n?1:0);break;case e.TYPES.enum:s.writeVarint32(n);break;case e.TYPES.float:s.writeFloat32(n);break;case e.TYPES.double:s.writeFloat64(n);break;case e.TYPES.string:s.writeVString(n);break;case e.TYPES.bytes:if(n.remaining()<0)throw Error("Illegal value for "+this.toString(!0)+": "+n.remaining()+" bytes remaining");o=n.offset,s.writeVarint32(n.remaining()),s.append(n),n.offset=o;break;case e.TYPES.message:i=(new r).LE(),this.resolvedType.encode(n,i),s.writeVarint32(i.offset),s.append(i.flip());break;case e.TYPES.group:this.resolvedType.encode(n,s),s.writeVarint32(t<<3|e.WIRE_TYPES.ENDGROUP);break;default:throw Error("[INTERNAL] Illegal value to encode in "+this.toString(!0)+": "+n+" (unknown type)")}return s},l.decode=function(t,n,r){if(n!=this.type.wireType)throw Error("Unexpected wire type for element");var s,o;switch(this.type){case e.TYPES.int32:return 0|t.readVarint32();case e.TYPES.uint32:return t.readVarint32()>>>0;case e.TYPES.sint32:return 0|t.readVarint32ZigZag();case e.TYPES.fixed32:return t.readUint32()>>>0;case e.TYPES.sfixed32:return 0|t.readInt32();case e.TYPES.int64:return t.readVarint64();case e.TYPES.uint64:return t.readVarint64().toUnsigned();case e.TYPES.sint64:return t.readVarint64ZigZag();case e.TYPES.fixed64:return t.readUint64();case e.TYPES.sfixed64:return t.readInt64();case e.TYPES.bool:return!!t.readVarint32();case e.TYPES.enum:return t.readVarint32();case e.TYPES.float:return t.readFloat();case e.TYPES.double:return t.readDouble();case e.TYPES.string:return t.readVString();case e.TYPES.bytes:if(o=t.readVarint32(),t.remaining()<o)throw Error("Illegal number of bytes for "+this.toString(!0)+": "+o+" required but got only "+t.remaining());return(s=t.clone()).limit=s.offset+o,t.offset+=o,s;case e.TYPES.message:return o=t.readVarint32(),this.resolvedType.decode(t,o);case e.TYPES.group:return this.resolvedType.decode(t,-1,r)}throw Error("[INTERNAL] Illegal decode type")},l.valueFromString=function(t){if(!this.isMapKey)throw Error("valueFromString() called on non-map-key element");switch(this.type){case e.TYPES.int32:case e.TYPES.sint32:case e.TYPES.sfixed32:case e.TYPES.uint32:case e.TYPES.fixed32:return this.verifyValue(parseInt(t));case e.TYPES.int64:case e.TYPES.sint64:case e.TYPES.sfixed64:case e.TYPES.uint64:case e.TYPES.fixed64:return this.verifyValue(t);case e.TYPES.bool:return"true"===t;case e.TYPES.string:return this.verifyValue(t);case e.TYPES.bytes:return r.fromBinary(t)}},l.valueToString=function(t){if(!this.isMapKey)throw Error("valueToString() called on non-map-key element");return this.type===e.TYPES.bytes?t.toString("binary"):t.toString()},R.Element=a,d=function(e,t,n,r,s,i){o.call(this,e,t,n,r,i),this.className="Message",this.extensions=void 0,this.clazz=null,this.isGroup=!!s,this._fields=null,this._fieldsById=null,this._fieldsByName=null},(u=d.prototype=Object.create(o.prototype)).build=function(n){var s,o,i,a;if(this.clazz&&!n)return this.clazz;for(s=function(e,n){function s(t,n,o,i){var a,l,d,u,c,h,p;if(null===t||"object"!=typeof t)return i&&i instanceof e.Reflect.Enum&&null!==(a=e.Reflect.Enum.getName(i.object,t))?a:t;if(r.isByteBuffer(t))return n?t.toBase64():t.toBuffer();if(e.Long.isLong(t))return o?t.toString():e.Long.fromValue(t);if(Array.isArray(t))return l=[],t.forEach((function(e,t){l[t]=s(e,n,o,i)})),l;if(l={},t instanceof e.Map){for(u=(d=t.entries()).next();!u.done;u=d.next())l[t.keyElem.valueToString(u.value[0])]=s(u.value[1],n,o,t.valueElem.resolvedType);return l}for(p in c=t.$type,h=void 0,t)t.hasOwnProperty(p)&&(l[p]=c&&(h=c.getChild(p))?s(t[p],n,o,h.resolvedType):s(t[p],n,o));return l}var o,i,a=n.getChildren(e.Reflect.Message.Field),l=n.getChildren(e.Reflect.Message.OneOf),d=function(t){var s,o,i,u;for(e.Builder.Message.call(this),s=0,o=l.length;o>s;++s)this[l[s].name]=null;for(s=0,o=a.length;o>s;++s)this[(i=a[s]).name]=i.repeated?[]:i.map?new e.Map(i):null,!i.required&&"proto3"!==n.syntax||null===i.defaultValue||(this[i.name]=i.defaultValue);if(arguments.length>0)if(1!==arguments.length||null===t||"object"!=typeof t||!("function"!=typeof t.encode||t instanceof d)||Array.isArray(t)||t instanceof e.Map||r.isByteBuffer(t)||t instanceof ArrayBuffer||e.Long&&t instanceof e.Long)for(s=0,o=arguments.length;o>s;++s)void 0!==(u=arguments[s])&&this.$set(a[s].name,u);else this.$set(t)},u=d.prototype=Object.create(e.Builder.Message.prototype);for(u.add=function(t,r,s){var o=n._fieldsByName[t];if(!s){if(!o)throw Error(this+"#"+t+" is undefined");if(!(o instanceof e.Reflect.Message.Field))throw Error(this+"#"+t+" is not a field: "+o.toString(!0));if(!o.repeated)throw Error(this+"#"+t+" is not a repeated field");r=o.verifyValue(r,!0)}return null===this[t]&&(this[t]=[]),this[t].push(r),this},u.$add=u.add,u.set=function(t,r,s){var o,i,a;if(t&&"object"==typeof t){for(o in s=r,t)t.hasOwnProperty(o)&&void 0!==(r=t[o])&&this.$set(o,r,s);return this}if(i=n._fieldsByName[t],s)this[t]=r;else{if(!i)throw Error(this+"#"+t+" is not a field: undefined");if(!(i instanceof e.Reflect.Message.Field))throw Error(this+"#"+t+" is not a field: "+i.toString(!0));this[i.name]=r=i.verifyValue(r)}return i&&i.oneof&&(a=this[i.oneof.name],null!==r?(null!==a&&a!==i.name&&(this[a]=null),this[i.oneof.name]=i.name):a===t&&(this[i.oneof.name]=null)),this},u.$set=u.set,u.get=function(t,r){if(r)return this[t];var s=n._fieldsByName[t];if(!(s&&s instanceof e.Reflect.Message.Field))throw Error(this+"#"+t+" is not a field: undefined");if(!(s instanceof e.Reflect.Message.Field))throw Error(this+"#"+t+" is not a field: "+s.toString(!0));return this[s.name]},u.$get=u.get,o=0;o<a.length;o++)(i=a[o])instanceof e.Reflect.Message.ExtensionField||n.builder.options.populateAccessors&&function(e){var t,r,s,o=e.originalName.replace(/(_[a-zA-Z])/g,(function(e){return e.toUpperCase().replace("_","")}));o=o.substring(0,1).toUpperCase()+o.substring(1),t=e.originalName.replace(/([A-Z])/g,(function(e){return"_"+e})),r=function(t,n){return this[e.name]=n?t:e.verifyValue(t),this},s=function(){return this[e.name]},null===n.getChild("set"+o)&&(u["set"+o]=r),null===n.getChild("set_"+t)&&(u["set_"+t]=r),null===n.getChild("get"+o)&&(u["get"+o]=s),null===n.getChild("get_"+t)&&(u["get_"+t]=s)}(i);return u.encode=function(e,r){var s,o;"boolean"==typeof e&&(r=e,e=void 0),s=!1,e||(e=new t,s=!0),o=e.littleEndian;try{return n.encode(this,e.LE(),r),(s?e.flip():e).LE(o)}catch(t){throw e.LE(o),t}},d.encode=function(e,t,n){return new d(e).encode(t,n)},u.calculate=function(){return n.calculate(this)},u.encodeDelimited=function(e){var t,s=!1;return e||(e=new r,s=!0),t=(new r).LE(),n.encode(this,t).flip(),e.writeVarint32(t.remaining()),e.append(t),s?e.flip():e},u.encodeAB=function(){try{return this.encode().toArrayBuffer()}catch(e){throw e.encoded&&(e.encoded=e.encoded.toArrayBuffer()),e}},u.toArrayBuffer=u.encodeAB,u.encodeNB=function(){try{return this.encode().toBuffer()}catch(e){throw e.encoded&&(e.encoded=e.encoded.toBuffer()),e}},u.toBuffer=u.encodeNB,u.encode64=function(){try{return this.encode().toBase64()}catch(e){throw e.encoded&&(e.encoded=e.encoded.toBase64()),e}},u.toBase64=u.encode64,u.encodeHex=function(){try{return this.encode().toHex()}catch(e){throw e.encoded&&(e.encoded=e.encoded.toHex()),e}},u.toHex=u.encodeHex,u.toRaw=function(e,t){return s(this,!!e,!!t,this.$type)},u.encodeJSON=function(){return JSON.stringify(s(this,!0,!0,this.$type))},d.decode=function(e,t){var s,o;"string"==typeof e&&(e=r.wrap(e,t||"base64")),s=(e=r.isByteBuffer(e)?e:r.wrap(e)).littleEndian;try{return o=n.decode(e.LE()),e.LE(s),o}catch(t){throw e.LE(s),t}},d.decodeDelimited=function(e,t){var s,o,i;if("string"==typeof e&&(e=r.wrap(e,t||"base64")),(e=r.isByteBuffer(e)?e:r.wrap(e)).remaining()<1)return null;if(s=e.offset,o=e.readVarint32(),e.remaining()<o)return e.offset=s,null;try{return i=n.decode(e.slice(e.offset,e.offset+o).LE()),e.offset+=o,i}catch(t){throw e.offset+=o,t}},d.decode64=function(e){return d.decode(e,"base64")},d.decodeHex=function(e){return d.decode(e,"hex")},d.decodeJSON=function(e){return new d(JSON.parse(e))},u.toString=function(){return n.toString()},Object.defineProperty&&(Object.defineProperty(d,"$options",{value:n.buildOpt()}),Object.defineProperty(u,"$options",{value:d.$options}),Object.defineProperty(d,"$type",{value:n}),Object.defineProperty(u,"$type",{value:n})),d}(e,this),this._fields=[],this._fieldsById={},this._fieldsByName={},i=0,a=this.children.length;a>i;i++)if((o=this.children[i])instanceof g||o instanceof d||o instanceof T){if(s.hasOwnProperty(o.name))throw Error("Illegal reflect child of "+this.toString(!0)+": "+o.toString(!0)+" cannot override static property '"+o.name+"'");s[o.name]=o.build()}else if(o instanceof d.Field)o.build(),this._fields.push(o),this._fieldsById[o.id]=o,this._fieldsByName[o.name]=o;else if(!(o instanceof d.OneOf||o instanceof I))throw Error("Illegal reflect child of "+this.toString(!0)+": "+this.children[i].toString(!0));return this.clazz=s},u.encode=function(e,t,n){var r,s,o,i,a,l=null;for(o=0,i=this._fields.length;i>o;++o)s=e[(r=this._fields[o]).name],r.required&&null===s?null===l&&(l=r):r.encode(n?s:r.verifyValue(s),t,e);if(null!==l)throw(a=Error("Missing at least one required field for "+this.toString(!0)+": "+l)).encoded=t,a;return t},u.calculate=function(e){for(var t,n,r=0,s=0,o=this._fields.length;o>s;++s){if(n=e[(t=this._fields[s]).name],t.required&&null===n)throw Error("Missing at least one required field for "+this.toString(!0)+": "+t);r+=t.calculate(n,e)}return r},u.decode=function(t,n,r){var o,i,a,l,d,u,c,h,p,_,g,E;for(n="number"==typeof n?n:-1,d=t.offset,u=new this.clazz;t.offset<d+n||-1===n&&t.remaining()>0;){if(a=(o=t.readVarint32())>>>3,(i=7&o)===e.WIRE_TYPES.ENDGROUP){if(a!==r)throw Error("Illegal group end indicator for "+this.toString(!0)+": "+a+" ("+(r?r+" expected":"not a group")+")");break}if(l=this._fieldsById[a])l.repeated&&!l.options.packed?u[l.name].push(l.decode(i,t)):l.map?(h=l.decode(i,t),u[l.name].set(h[0],h[1])):(u[l.name]=l.decode(i,t),l.oneof&&(null!==(p=u[l.oneof.name])&&p!==l.name&&(u[p]=null),u[l.oneof.name]=l.name));else switch(i){case e.WIRE_TYPES.VARINT:t.readVarint32();break;case e.WIRE_TYPES.BITS32:t.offset+=4;break;case e.WIRE_TYPES.BITS64:t.offset+=8;break;case e.WIRE_TYPES.LDELIM:c=t.readVarint32(),t.offset+=c;break;case e.WIRE_TYPES.STARTGROUP:for(;s(a,t););break;default:throw Error("Illegal wire type for unknown field "+a+" in "+this.toString(!0)+"#decode: "+i)}}for(_=0,g=this._fields.length;g>_;++_)if(null===u[(l=this._fields[_]).name])if("proto3"===this.syntax)u[l.name]=l.defaultValue;else{if(l.required)throw(E=Error("Missing at least one required field for "+this.toString(!0)+": "+l.name)).decoded=u,E;e.populateDefaults&&null!==l.defaultValue&&(u[l.name]=l.defaultValue)}return u},R.Message=d,c=function(t,n,r,s,o,i,a,l,u,c){S.call(this,t,n,i),this.className="Message.Field",this.required="required"===r,this.repeated="repeated"===r,this.map="map"===r,this.keyType=s||null,this.type=o,this.resolvedType=null,this.id=a,this.options=l||{},this.defaultValue=null,this.oneof=u||null,this.syntax=c||"proto2",this.originalName=this.name,this.element=null,this.keyElement=null,!this.builder.options.convertFieldsToCamelCase||this instanceof d.ExtensionField||(this.name=e.Util.toCamelCase(this.name))},(h=c.prototype=Object.create(S.prototype)).build=function(){this.element=new a(this.type,this.resolvedType,!1,this.syntax),this.map&&(this.keyElement=new a(this.keyType,void 0,!0,this.syntax)),"proto3"!==this.syntax||this.repeated||this.map?void 0!==this.options.default&&(this.defaultValue=this.verifyValue(this.options.default)):this.defaultValue=a.defaultFieldValue(this.type)},h.verifyValue=function(t,n){var r,s,o;if(n=n||!1,r=function(e,t){throw Error("Illegal value for "+this.toString(!0)+" of type "+this.type.name+": "+e+" ("+t+")")}.bind(this),null===t)return this.required&&r(typeof t,"required"),"proto3"===this.syntax&&this.type!==e.TYPES.message&&r(typeof t,"proto3 field without field presence cannot be null"),null;if(this.repeated&&!n){for(Array.isArray(t)||(t=[t]),o=[],s=0;s<t.length;s++)o.push(this.element.verifyValue(t[s]));return o}return this.map&&!n?t instanceof e.Map?t:(t instanceof Object||r(typeof t,"expected ProtoBuf.Map or raw object for map field"),new e.Map(this,t)):(!this.repeated&&Array.isArray(t)&&r(typeof t,"no array expected"),this.element.verifyValue(t))},h.hasWirePresence=function(t,n){if("proto3"!==this.syntax)return null!==t;if(this.oneof&&n[this.oneof.name]===this.name)return!0;switch(this.type){case e.TYPES.int32:case e.TYPES.sint32:case e.TYPES.sfixed32:case e.TYPES.uint32:case e.TYPES.fixed32:return 0!==t;case e.TYPES.int64:case e.TYPES.sint64:case e.TYPES.sfixed64:case e.TYPES.uint64:case e.TYPES.fixed64:return 0!==t.low||0!==t.high;case e.TYPES.bool:return t;case e.TYPES.float:case e.TYPES.double:return 0!==t;case e.TYPES.string:return t.length>0;case e.TYPES.bytes:return t.remaining()>0;case e.TYPES.enum:return 0!==t;case e.TYPES.message:return null!==t;default:return!0}},h.encode=function(t,n,s){var o,i,a,l,d;if(null===this.type||"object"!=typeof this.type)throw Error("[INTERNAL] Unresolved type in "+this.toString(!0)+": "+this.type);if(null===t||this.repeated&&0==t.length)return n;try{if(this.repeated)if(this.options.packed&&e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){for(n.writeVarint32(this.id<<3|e.WIRE_TYPES.LDELIM),n.ensureCapacity(n.offset+=1),i=n.offset,o=0;o<t.length;o++)this.element.encodeValue(this.id,t[o],n);a=n.offset-i,(l=r.calculateVarint32(a))>1&&(d=n.slice(i,n.offset),i+=l-1,n.offset=i,n.append(d)),n.writeVarint32(a,i-l)}else for(o=0;o<t.length;o++)n.writeVarint32(this.id<<3|this.type.wireType),this.element.encodeValue(this.id,t[o],n);else this.map?t.forEach((function(t,s){var o=r.calculateVarint32(8|this.keyType.wireType)+this.keyElement.calculateLength(1,s)+r.calculateVarint32(16|this.type.wireType)+this.element.calculateLength(2,t);n.writeVarint32(this.id<<3|e.WIRE_TYPES.LDELIM),n.writeVarint32(o),n.writeVarint32(8|this.keyType.wireType),this.keyElement.encodeValue(1,s,n),n.writeVarint32(16|this.type.wireType),this.element.encodeValue(2,t,n)}),this):this.hasWirePresence(t,s)&&(n.writeVarint32(this.id<<3|this.type.wireType),this.element.encodeValue(this.id,t,n))}catch(e){throw Error("Illegal value for "+this.toString(!0)+": "+t+" ("+e+")")}return n},h.calculate=function(t,n){var s,o,i;if(t=this.verifyValue(t),null===this.type||"object"!=typeof this.type)throw Error("[INTERNAL] Unresolved type in "+this.toString(!0)+": "+this.type);if(null===t||this.repeated&&0==t.length)return 0;s=0;try{if(this.repeated)if(this.options.packed&&e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){for(s+=r.calculateVarint32(this.id<<3|e.WIRE_TYPES.LDELIM),i=0,o=0;o<t.length;o++)i+=this.element.calculateLength(this.id,t[o]);s+=r.calculateVarint32(i),s+=i}else for(o=0;o<t.length;o++)s+=r.calculateVarint32(this.id<<3|this.type.wireType),s+=this.element.calculateLength(this.id,t[o]);else this.map?t.forEach((function(t,n){var o=r.calculateVarint32(8|this.keyType.wireType)+this.keyElement.calculateLength(1,n)+r.calculateVarint32(16|this.type.wireType)+this.element.calculateLength(2,t);s+=r.calculateVarint32(this.id<<3|e.WIRE_TYPES.LDELIM),s+=r.calculateVarint32(o),s+=o}),this):this.hasWirePresence(t,n)&&(s+=r.calculateVarint32(this.id<<3|this.type.wireType),s+=this.element.calculateLength(this.id,t))}catch(e){throw Error("Illegal value for "+this.toString(!0)+": "+t+" ("+e+")")}return s},h.decode=function(t,n,r){var s,o,i,l,d,u,c;if(!(!this.map&&t==this.type.wireType||!r&&this.repeated&&this.options.packed&&t==e.WIRE_TYPES.LDELIM||this.map&&t==e.WIRE_TYPES.LDELIM))throw Error("Illegal wire type for field "+this.toString(!0)+": "+t+" ("+this.type.wireType+" expected)");if(t==e.WIRE_TYPES.LDELIM&&this.repeated&&this.options.packed&&e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0&&!r){for(o=n.readVarint32(),o=n.offset+o,i=[];n.offset<o;)i.push(this.decode(this.type.wireType,n,!0));return i}if(this.map){if(l=a.defaultFieldValue(this.keyType),s=a.defaultFieldValue(this.type),o=n.readVarint32(),n.remaining()<o)throw Error("Illegal number of bytes for "+this.toString(!0)+": "+o+" required but got only "+n.remaining());for((d=n.clone()).limit=d.offset+o,n.offset+=o;d.remaining()>0;)if(t=7&(u=d.readVarint32()),1===(c=u>>>3))l=this.keyElement.decode(d,t,c);else{if(2!==c)throw Error("Unexpected tag in map field key/value submessage");s=this.element.decode(d,t,c)}return[l,s]}return this.element.decode(n,t,this.id)},R.Message.Field=c,p=function(e,t,n,r,s,o,i){c.call(this,e,t,n,null,r,s,o,i),this.extension},p.prototype=Object.create(c.prototype),R.Message.ExtensionField=p,_=function(e,t,n){S.call(this,e,t,n),this.fields=[]},R.Message.OneOf=_,g=function(e,t,n,r,s){o.call(this,e,t,n,r,s),this.className="Enum",this.object=null},g.getName=function(e,t){var n,r,s=Object.keys(e);for(r=0;r<s.length;++r)if(e[n=s[r]]===t)return n;return null},(g.prototype=Object.create(o.prototype)).build=function(t){var n,r,s,o;if(this.object&&!t)return this.object;for(n=new e.Builder.Enum,s=0,o=(r=this.getChildren(g.Value)).length;o>s;++s)n[r[s].name]=r[s].id;return Object.defineProperty&&Object.defineProperty(n,"$options",{value:this.buildOpt(),enumerable:!1}),this.object=n},R.Enum=g,E=function(e,t,n,r){S.call(this,e,t,n),this.className="Enum.Value",this.id=r},E.prototype=Object.create(S.prototype),R.Enum.Value=E,I=function(e,t,n,r){S.call(this,e,t,n),this.field=r},I.prototype=Object.create(S.prototype),R.Extension=I,T=function(e,t,n,r){o.call(this,e,t,n,r),this.className="Service",this.clazz=null},(T.prototype=Object.create(o.prototype)).build=function(t){return this.clazz&&!t?this.clazz:this.clazz=function(e,t){var n,s=function(t){e.Builder.Service.call(this),this.rpcImpl=t||function(e,t,n){setTimeout(n.bind(this,Error("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")),0)}},o=s.prototype=Object.create(e.Builder.Service.prototype),i=t.getChildren(e.Reflect.Service.RPCMethod);for(n=0;n<i.length;n++)!function(e){o[e.name]=function(n,s){try{try{n=e.resolvedRequestType.clazz.decode(r.wrap(n))}catch(e){if(!(e instanceof TypeError))throw e}if(null===n||"object"!=typeof n)throw Error("Illegal arguments");n instanceof e.resolvedRequestType.clazz||(n=new e.resolvedRequestType.clazz(n)),this.rpcImpl(e.fqn(),n,(function(n,r){if(!n){try{r=e.resolvedResponseType.clazz.decode(r)}catch(e){}return r&&r instanceof e.resolvedResponseType.clazz?void s(null,r):void s(Error("Illegal response type received in service method "+t.name+"#"+e.name))}s(n)}))}catch(e){setTimeout(s.bind(this,e),0)}},s[e.name]=function(t,n,r){new s(t)[e.name](n,r)},Object.defineProperty&&(Object.defineProperty(s[e.name],"$options",{value:e.buildOpt()}),Object.defineProperty(o[e.name],"$options",{value:s[e.name].$options}))}(i[n]);return Object.defineProperty&&(Object.defineProperty(s,"$options",{value:t.buildOpt()}),Object.defineProperty(o,"$options",{value:s.$options}),Object.defineProperty(s,"$type",{value:t}),Object.defineProperty(o,"$type",{value:t})),s}(e,this)},R.Service=T,f=function(e,t,n,r){S.call(this,e,t,n),this.className="Service.Method",this.options=r||{}},(f.prototype=Object.create(S.prototype)).buildOpt=i.buildOpt,R.Service.Method=f,C=function(e,t,n,r,s,o,i,a){f.call(this,e,t,n,a),this.className="Service.RPCMethod",this.requestName=r,this.responseName=s,this.requestStream=o,this.responseStream=i,this.resolvedRequestType=null,this.resolvedResponseType=null},C.prototype=Object.create(f.prototype),R.Service.RPCMethod=C,R}(o),o.Builder=function(e,t,n){function r(e){e.messages&&e.messages.forEach((function(t){t.syntax=e.syntax,r(t)})),e.enums&&e.enums.forEach((function(t){t.syntax=e.syntax}))}var s=function(e){this.ns=new n.Namespace(this,null,""),this.ptr=this.ns,this.resolved=!1,this.result=null,this.files={},this.importRoot=null,this.options=e||{}},o=s.prototype;return s.isMessage=function(e){return"string"==typeof e.name&&(void 0===e.values&&void 0===e.rpc)},s.isMessageField=function(e){return"string"==typeof e.rule&&"string"==typeof e.name&&"string"==typeof e.type&&void 0!==e.id},s.isEnum=function(e){return"string"==typeof e.name&&!(void 0===e.values||!Array.isArray(e.values)||0===e.values.length)},s.isService=function(e){return!("string"!=typeof e.name||"object"!=typeof e.rpc||!e.rpc)},s.isExtend=function(e){return"string"==typeof e.ref},o.reset=function(){return this.ptr=this.ns,this},o.define=function(e){if("string"!=typeof e||!t.TYPEREF.test(e))throw Error("illegal namespace: "+e);return e.split(".").forEach((function(e){var t=this.ptr.getChild(e);null===t&&this.ptr.addChild(t=new n.Namespace(this,this.ptr,e)),this.ptr=t}),this),this},o.create=function(t){var r,o,i,a,l;if(!t)return this;if(Array.isArray(t)){if(0===t.length)return this;t=t.slice()}else t=[t];for(r=[t];r.length>0;){if(t=r.pop(),!Array.isArray(t))throw Error("not a valid namespace: "+JSON.stringify(t));for(;t.length>0;){if(o=t.shift(),s.isMessage(o)){if(i=new n.Message(this,this.ptr,o.name,o.options,o.isGroup,o.syntax),a={},o.oneofs&&Object.keys(o.oneofs).forEach((function(e){i.addChild(a[e]=new n.Message.OneOf(this,i,e))}),this),o.fields&&o.fields.forEach((function(e){if(null!==i.getChild(0|e.id))throw Error("duplicate or invalid field id in "+i.name+": "+e.id);if(e.options&&"object"!=typeof e.options)throw Error("illegal field options in "+i.name+"#"+e.name);var t=null;if("string"==typeof e.oneof&&!(t=a[e.oneof]))throw Error("illegal oneof in "+i.name+"#"+e.name+": "+e.oneof);e=new n.Message.Field(this,i,e.rule,e.keytype,e.type,e.name,e.id,e.options,t,o.syntax),t&&t.fields.push(e),i.addChild(e)}),this),l=[],o.enums&&o.enums.forEach((function(e){l.push(e)})),o.messages&&o.messages.forEach((function(e){l.push(e)})),o.services&&o.services.forEach((function(e){l.push(e)})),o.extensions&&(i.extensions="number"==typeof o.extensions[0]?[o.extensions]:o.extensions),this.ptr.addChild(i),l.length>0){r.push(t),t=l,l=null,this.ptr=i,i=null;continue}l=null}else if(s.isEnum(o))i=new n.Enum(this,this.ptr,o.name,o.options,o.syntax),o.values.forEach((function(e){i.addChild(new n.Enum.Value(this,i,e.name,e.id))}),this),this.ptr.addChild(i);else if(s.isService(o))i=new n.Service(this,this.ptr,o.name,o.options),Object.keys(o.rpc).forEach((function(e){var t=o.rpc[e];i.addChild(new n.Service.RPCMethod(this,i,e,t.request,t.response,!!t.request_stream,!!t.response_stream,t.options))}),this),this.ptr.addChild(i);else{if(!s.isExtend(o))throw Error("not a valid definition: "+JSON.stringify(o));if(i=this.ptr.resolve(o.ref,!0))o.fields.forEach((function(t){var r,s,o,a;if(null!==i.getChild(0|t.id))throw Error("duplicate extended field id in "+i.name+": "+t.id);if(i.extensions&&(r=!1,i.extensions.forEach((function(e){t.id>=e[0]&&t.id<=e[1]&&(r=!0)})),!r))throw Error("illegal extended field id in "+i.name+": "+t.id+" (not within valid ranges)");s=t.name,this.options.convertFieldsToCamelCase&&(s=e.Util.toCamelCase(s)),o=new n.Message.ExtensionField(this,i,t.rule,t.type,this.ptr.fqn()+"."+s,t.id,t.options),a=new n.Extension(this,this.ptr,t.name,o),o.extension=a,this.ptr.addChild(a),i.addChild(o)}),this);else if(!/\.?google\.protobuf\./.test(o.ref))throw Error("extended message "+o.ref+" is not defined")}o=null,i=null}t=null,this.ptr=this.ptr.parent}return this.resolved=!1,this.result=null,this},o.import=function(t,n){var s,o,i,a,l,d,u,c,h="/";if("string"==typeof n){if(e.Util.IS_NODE,!0===this.files[n])return this.reset();this.files[n]=!0}else if("object"==typeof n){if(s=n.root,e.Util.IS_NODE,(s.indexOf("\\")>=0||n.file.indexOf("\\")>=0)&&(h="\\"),o=s+h+n.file,!0===this.files[o])return this.reset();this.files[o]=!0}if(t.imports&&t.imports.length>0){for(a=!1,"object"==typeof n?(this.importRoot=n.root,a=!0,i=this.importRoot,n=n.file,(i.indexOf("\\")>=0||n.indexOf("\\")>=0)&&(h="\\")):"string"==typeof n?this.importRoot?i=this.importRoot:n.indexOf("/")>=0?""===(i=n.replace(/\/[^\/]*$/,""))&&(i="/"):n.indexOf("\\")>=0?(i=n.replace(/\\[^\\]*$/,""),h="\\"):i=".":i=null,l=0;l<t.imports.length;l++)if("string"==typeof t.imports[l]){if(!i)throw Error("cannot determine import root");if("google/protobuf/descriptor.proto"===(d=t.imports[l]))continue;if(d=i+h+d,!0===this.files[d])continue;if(/\.proto$/i.test(d)&&!e.DotProto&&(d=d.replace(/\.proto$/,".json")),null===(u=e.Util.fetch(d)))throw Error("failed to import '"+d+"' in '"+n+"': file not found");/\.json$/i.test(d)?this.import(JSON.parse(u+""),d):this.import(e.DotProto.Parser.parse(u),d)}else n?/\.(\w+)$/.test(n)?this.import(t.imports[l],n.replace(/^(.+)\.(\w+)$/,(function(e,t,n){return t+"_import"+l+"."+n}))):this.import(t.imports[l],n+"_import"+l):this.import(t.imports[l]);a&&(this.importRoot=null)}return t.package&&this.define(t.package),t.syntax&&r(t),c=this.ptr,t.options&&Object.keys(t.options).forEach((function(e){c.options[e]=t.options[e]})),t.messages&&(this.create(t.messages),this.ptr=c),t.enums&&(this.create(t.enums),this.ptr=c),t.services&&(this.create(t.services),this.ptr=c),t.extends&&this.create(t.extends),this.reset()},o.resolveAll=function(){var r;if(null==this.ptr||"object"==typeof this.ptr.type)return this;if(this.ptr instanceof n.Namespace)this.ptr.children.forEach((function(e){this.ptr=e,this.resolveAll()}),this);else if(this.ptr instanceof n.Message.Field){if(t.TYPE.test(this.ptr.type))this.ptr.type=e.TYPES[this.ptr.type];else{if(!t.TYPEREF.test(this.ptr.type))throw Error("illegal type reference in "+this.ptr.toString(!0)+": "+this.ptr.type);if(!(r=(this.ptr instanceof n.Message.ExtensionField?this.ptr.extension.parent:this.ptr.parent).resolve(this.ptr.type,!0)))throw Error("unresolvable type reference in "+this.ptr.toString(!0)+": "+this.ptr.type);if(this.ptr.resolvedType=r,r instanceof n.Enum){if(this.ptr.type=e.TYPES.enum,"proto3"===this.ptr.syntax&&"proto3"!==r.syntax)throw Error("proto3 message cannot reference proto2 enum")}else{if(!(r instanceof n.Message))throw Error("illegal type reference in "+this.ptr.toString(!0)+": "+this.ptr.type);this.ptr.type=r.isGroup?e.TYPES.group:e.TYPES.message}}if(this.ptr.map){if(!t.TYPE.test(this.ptr.keyType))throw Error("illegal key type for map field in "+this.ptr.toString(!0)+": "+this.ptr.keyType);this.ptr.keyType=e.TYPES[this.ptr.keyType]}}else if(this.ptr instanceof e.Reflect.Service.Method){if(!(this.ptr instanceof e.Reflect.Service.RPCMethod))throw Error("illegal service type in "+this.ptr.toString(!0));if(!((r=this.ptr.parent.resolve(this.ptr.requestName,!0))&&r instanceof e.Reflect.Message))throw Error("Illegal type reference in "+this.ptr.toString(!0)+": "+this.ptr.requestName);if(this.ptr.resolvedRequestType=r,!((r=this.ptr.parent.resolve(this.ptr.responseName,!0))&&r instanceof e.Reflect.Message))throw Error("Illegal type reference in "+this.ptr.toString(!0)+": "+this.ptr.responseName);this.ptr.resolvedResponseType=r}else if(!(this.ptr instanceof e.Reflect.Message.OneOf||this.ptr instanceof e.Reflect.Extension||this.ptr instanceof e.Reflect.Enum.Value))throw Error("illegal object in namespace: "+typeof this.ptr+": "+this.ptr);return this.reset()},o.build=function(e){var t,n,r;if(this.reset(),this.resolved||(this.resolveAll(),this.resolved=!0,this.result=null),null===this.result&&(this.result=this.ns.build()),!e)return this.result;for(t="string"==typeof e?e.split("."):e,n=this.result,r=0;r<t.length;r++){if(!n[t[r]]){n=null;break}n=n[t[r]]}return n},o.lookup=function(e,t){return e?this.ns.resolve(e,t):this.ns},o.toString=function(){return"Builder"},s.Message=function(){},s.Enum=function(){},s.Service=function(){},s}(o,o.Lang,o.Reflect),o.Map=function(e,t){function n(e){var t=0;return{next:function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}}var r=function(e,n){var r,s,o,i;if(!e.map)throw Error("field is not a map");if(this.field=e,this.keyElem=new t.Element(e.keyType,null,!0,e.syntax),this.valueElem=new t.Element(e.type,e.resolvedType,!1,e.syntax),this.map={},Object.defineProperty(this,"size",{get:function(){return Object.keys(this.map).length}}),n)for(r=Object.keys(n),s=0;s<r.length;s++)o=this.keyElem.valueFromString(r[s]),i=this.valueElem.verifyValue(n[r[s]]),this.map[this.keyElem.valueToString(o)]={key:o,value:i}},s=r.prototype;return s.clear=function(){this.map={}},s.delete=function(e){var t=this.keyElem.valueToString(this.keyElem.verifyValue(e)),n=t in this.map;return delete this.map[t],n},s.entries=function(){var e,t,r=[],s=Object.keys(this.map);for(t=0;t<s.length;t++)r.push([(e=this.map[s[t]]).key,e.value]);return n(r)},s.keys=function(){var e,t=[],r=Object.keys(this.map);for(e=0;e<r.length;e++)t.push(this.map[r[e]].key);return n(t)},s.values=function(){var e,t=[],r=Object.keys(this.map);for(e=0;e<r.length;e++)t.push(this.map[r[e]].value);return n(t)},s.forEach=function(e,t){var n,r,s=Object.keys(this.map);for(r=0;r<s.length;r++)e.call(t,(n=this.map[s[r]]).value,n.key,this)},s.set=function(e,t){var n=this.keyElem.verifyValue(e),r=this.valueElem.verifyValue(t);return this.map[this.keyElem.valueToString(n)]={key:n,value:r},this},s.get=function(e){var t=this.keyElem.valueToString(this.keyElem.verifyValue(e));return t in this.map?this.map[t].value:void 0},s.has=function(e){return this.keyElem.valueToString(this.keyElem.verifyValue(e))in this.map},r}(0,o.Reflect),o.loadProto=function(e,t,n){return("string"==typeof t||t&&"string"==typeof t.file&&"string"==typeof t.root)&&(n=t,t=void 0),o.loadJson(o.DotProto.Parser.parse(e),t,n)},o.protoFromString=o.loadProto,o.loadProtoFile=function(e,t,n){if(t&&"object"==typeof t?(n=t,t=null):t&&"function"==typeof t||(t=null),t)return o.Util.fetch("string"==typeof e?e:e.root+"/"+e.file,(function(r){if(null!==r)try{t(null,o.loadProto(r,n,e))}catch(e){t(e)}else t(Error("Failed to fetch file"))}));var r=o.Util.fetch("object"==typeof e?e.root+"/"+e.file:e);return null===r?null:o.loadProto(r,n,e)},o.protoFromFile=o.loadProtoFile,o.newBuilder=function(e){return void 0===(e=e||{}).convertFieldsToCamelCase&&(e.convertFieldsToCamelCase=o.convertFieldsToCamelCase),void 0===e.populateAccessors&&(e.populateAccessors=o.populateAccessors),new o.Builder(e)},o.loadJson=function(e,t,n){return("string"==typeof t||t&&"string"==typeof t.file&&"string"==typeof t.root)&&(n=t,t=null),t&&"object"==typeof t||(t=o.newBuilder()),"string"==typeof e&&(e=JSON.parse(e)),t.import(e,n),t.resolveAll(),t},o.loadJsonFile=function(e,t,n){if(t&&"object"==typeof t?(n=t,t=null):t&&"function"==typeof t||(t=null),t)return o.Util.fetch("string"==typeof e?e:e.root+"/"+e.file,(function(r){if(null!==r)try{t(null,o.loadJson(JSON.parse(r),n,e))}catch(e){t(e)}else t(Error("Failed to fetch file"))}));var r=o.Util.fetch("object"==typeof e?e.root+"/"+e.file:e);return null===r?null:o.loadJson(JSON.parse(r),n,e)},s=e,o.loadProto(s,void 0,"").build("Modules").probuf}(n,t);return r}var or,ir;const ar=(e,t,n)=>{if(void 0===t||void 0===n)return e.toUpperCase();const r=e.slice(t,n);return e=e.replace(r,(e=>e.toUpperCase()))};class lr{constructor(e,t){this.nestedMap=t,or.add(this),this.pbModules=sr(e)}_encode(e,t,n){const r=new this.pbModules[e];if(t)try{Object.keys(t).forEach((n=>{const s=t[n];if(void 0===s)return;const o=this.nestedMap.get(`${e}_${n}`);if(o){const e=s instanceof Array?s.map((e=>this._encode(o,e,!0))):this._encode(o,s,!0);r[`set${ar(n,0,1)}`](e)}else r[`set${ar(n,0,1)}`](s)}))}catch(t){const n=`name: ${e}, stack: ${t.stack}`;null===console||void 0===console||console.error("pb encode error!",n)}return n?r:r.toArrayBuffer()}encode(e,t){return this._encode(e,t)}decode(e,t){const r=this.pbModules[e].decode(t);return n(this,or,"m",ir).call(this,r)}getModule(e){return new this.pbModules[e]}}or=new WeakSet,ir=function e(t){if(t instanceof Array)return t.map((t=>n(this,or,"m",e).call(this,t)));if(r=t,"[object Object]"!==Object.prototype.toString.call(r))return t;var r;if(void 0!==t.low&&void 0!==t.high&&Object.prototype.hasOwnProperty.call(t,"unsigned")){let{low:e}=t;e<0&&(e+=4294967296),e=e.toString(16);return parseInt(t.high.toString(16)+"00000000".replace(new RegExp(`0{${e.length}}$`),e),16)}const s=t;return Object.keys(t).forEach((r=>{s[r]=n(this,or,"m",e).call(this,t[r])})),s};const dr="NotifyMsg",ur="SyncRequestMsg",cr="UpStreamMessage",hr="PushExtra",pr="DownStreamMessages",_r="DownStreamMessage",gr="GetQNupTokenInput",Er="GetDownloadUrlInput",Ir="GetQNupTokenOutput",Tr="GetDownloadUrlOutput",fr="ChrmInput",Cr="ChrmOutput",Rr="ChrmPullMsg",Sr="RelationQryInput",mr="RelationsInput",yr="RelationsOutput",vr="QryRemindListReq",Ar="QryRemindListResp",Nr="CleanHisMsgInput",Or="CleanMsgBatchReq",Mr="QueryChatRoomInfoInput",Lr="QueryChatRoomInfoOutput",Ur="HistoryMsgInput",Pr="HistoryMsgOuput",br="SessionsAttQryInput",xr="SessionsAttOutput",Dr="SessionMsgReadInput",wr="DeleteSessionsInput",Vr="SessionInfo",Gr="QuerySessionsInput",Fr="QuerySessionsOutPut",Br="RelationDelBatchReq",kr="RelationOpInput",Hr="DeleteMsgInput",qr="SetChrmKV",Yr="SetChrmKVS",Kr="ChrmKVOutput",jr="ChrmKVSOutput",Qr="QueryChrmKV",Wr="SetUserSettingOutput",$r="PullUserSettingInput",Jr="PullUserSettingOutput",Xr="SessionReq",Zr="SessionStates",zr="SessionState",es="SessionStateItem",ts="SessionStateModifyReq",ns="GroupUnpushQuery",rs="GroupUnpushSet",ss="GroupUnpushResult",os="SessionStateModifyResp",is="TypeUnpushInput",as="TypeUnpushOutput",ls="GrpReadReceiptMsg",ds="GrpReadReceiptQryResp",us="SessionTagAddInput",cs="SessionTagItem",hs="SessionTagDelInput",ps="SessionDisTagReq",_s="UserSettingNotification",gs="ReportSDKInput",Es="UltraGrpPullSes",Is="UltraGrpPullMsg",Ts="MsgChangeReq",fs="QueryMsgChange",Cs="EventChangeList",Rs="MsgChangeList",Ss="MsgQuery",ms="MsgQueryAck",ys="OperateStatus",vs="OperateStatusNotify",As="SetRtcRoomIdInput",Ns="CallInfoUpStream",Os="CallInfoDownStream",Ms="KvInput",Ls="KvOutput",Us="ReadReceiptMsg",Ps="ReceiptQryReq",bs="QueryReceiptResp",xs="ReceiptCntQryReq",Ds="ReceiptCntQryResp",ws="UpdateUserSubReq",Vs="UserSubDetail",Gs="UpdateUserSubResp",Fs="PullUserSubReq",Bs="PUllUserSubResp",ks="PullSubDataReq",Hs="PullSubDataResp",qs="SubDataDetail",Ys="QrySubDataReq",Ks="UserProfile",js="ProfileInfo",Qs="SetUserProfileResp",Ws="PullUserProfileReq",$s="UserProfiles",Js="UserProfileInput",Xs="UserProfilePermission",Zs="SearchUserProfile",zs="ChannelsInput",eo="ChannelsOutput",to="MultiChannels",no="ModifyChannelsInput",ro="QuitChannelsSetting",so="ChannelsQueryInput",oo="ChannelsPageParam",io="ChannelsListResult",ao="ChannelsMemberUpdateInput",lo="ChannelsMemberResponseInput",uo="ChannelsMembersInput",co="FriendInput",ho="FriendsInput",po="FriendsCheckOutput",_o="FriendProfileInput",go="FriendProfileOutput",Eo="FriendQueryInput",Io="FriendsListInput",To="FriendLevelSet",fo="FriendUserInfos",Co="AddUnpushPeriodInput",Ro="DeleteUnpushPeriodInput",So="QueryUnpushPeriodInput",mo="QueryUnpushPeriodOutput",yo=new Map([["UpStreamMessage_pushExt","PushExtra"],["DownStreamMessages_list","DownStreamMessage"],["DownStreamMessage_pushExt","PushExtra"],["ChannelInfosOutput_channels","ChannelInfoOutput"],["GroupMembersOutput_members","MemberInfo"],["GroupInput_groupInfo","GroupInfo"],["RelationsInput_msg","DownStreamMessage"],["RelationsOutput_info","RelationInfo"],["RelationInfo_msg","DownStreamMessage"],["RelationInfo_msgInfo","UnreadMsgInfo"],["QryRemindListResp_msgInfo","UnreadMsgInfo"],["CleanMsgBatchReq_input","CleanHisMsgInput"],["HistoryMessagesOuput_list","DownStreamMessage"],["QueryChatRoomInfoOutput_userInfos","ChrmMember"],["MPFollowOutput_info","MpInfo"],["MCFollowOutput_info","MpInfo"],["SearchMpOutput_info","MpInfo"],["PullMpOutput_info","MpInfo"],["HistoryMsgOuput_list","DownStreamMessage"],["DeleteSessionsInput_sessions","SessionInfo"],["QuerySessionsInput_sessions","SessionInfo"],["QuerySessionsOutPut_sessions","SessionInfo"],["RelationDelBatchReq_relation","RelationOpInput"],["DeleteMsgInput_msgs","DeleteMsg"],["SetChrmKV_entry","ChrmKVEntity"],["SetChrmKV_notification","UpStreamMessage"],["SetChrmKVS_entry","ChrmKVEntity"],["SetChrmKVS_notification","UpStreamMessage"],["DeleteChrmKVS_entry","ChrmKVEntity"],["DeleteChrmKVS_notification","UpStreamMessage"],["ChrmKVOutput_entries","ChrmKVEntity"],["ChrmKVSOutput_errorKeys","ChrmKVSOutputEntity"],["ChrmKVSOutput_keysVersion","ChrmKVSVersionEntity"],["PullUserSettingOutput_items","UserSettingItem"],["UserSettingItem_tags","SessionTagItem"],["SessionStates_state","SessionState"],["SessionState_stateItem","SessionStateItem"],["SessionStateItem_tags","SessionTagItem"],["SessionStateModifyReq_state","SessionState"],["GrpReadReceiptQryResp_list","GrpMsgReadUser"],["SessionTagAddInput_tags","SessionTagItem"],["SessionTagDelInput_tags","SessionTagItem"],["EventChangeList_list","EventChange"],["MsgChangeList_list","MsgChange"],["MsgQuery_query","MessageQueryInfo"],["MsgQueryAck_list","DownStreamMessage"],["OperateStatusNotify_info","OperateInfo"],["OperateStatusNotify_summary","OperateSummary"],["KvOutput_info","KvInfo"],["QueryReceiptResp_list","ReceiptUser"],["ReceiptCntQryResp_result","MsgReadCnt"],["UpdateUserSubReq_subUsers","UserSubDetail"],["UpdateUserSubResp_subUsers","UserSubDetail"],["PUllUserSubResp_list","UserSubList"],["UserSubList_subUsers","UserSubDetail"],["PullSubDataResp_list","SubDataDetail"],["SubDataDetail_data","SubData"],["QrySubDataReq_subUsers","UserSubDetail"],["UserProfile_userProfile","ProfileInfo"],["UserProfile_userExtProfile","ProfileInfo"],["UserProfiles_UserProfile","UserProfile"],["ChannelsInput_settingProfile","ProfileInfo"],["ChannelsInput_extProfile","ProfileInfo"],["ChannelsInput_baseInfo","ChannelBaseInfo"],["ChannelsOutput_channelInfo","ChannelsJoinedInfo"],["ChannelsOutput_userInfos","ChannelsUserInfo"],["ChannelsOutput_friendInviteInfo","FriendInviteInfo"],["ChannelsOutput_friendUserInfo","FriendUserInfo"],["MultiChannels_list","ChannelsInput"],["ModifyChannelsInput_settingInfo","QuitChannelsSetting"],["ChannelsQueryInput_page","ChannelsPageParam"],["ChannelsListResult_page","ChannelsPageParam"],["ChannelsInviteStatusInfos_list","ChannelsInviteStatusInfo"],["ChannelsUserInfos_list","ChannelsUserInfo"],["ChannelsJoinedInfos_list","ChannelsJoinedInfo"],["ChannelsUserInfo_ext","ChannelsUserExtInfo"],["ChannelsJoinedInfo_settingProfile","ProfileInfo"],["ChannelsJoinedInfo_extProfile","ProfileInfo"],["ChannelsJoinedInfo_baseInfo","ChannelBaseInfo"],["ChannelsJoinedInfo_userInfo","ChannelsUserExtInfo"],["ChannelsInviteStatusInfo_joinUserInfo","ChannelsUserInfo"],["ChannelsInviteStatusInfo_inviterInfo","ChannelsUserInfo"],["ChannelsInviteStatusInfo_processInfo","ChannelsUserInfo"],["FriendsOutput_list","FriendOutput"],["FriendsCheckOutput_list","FriendCheckOutput"],["FriendProfileInput_extProfile","ProfileInfo"],["FriendQueryInput_page","ChannelsPageParam"],["FriendUserInfo_extProfile","ProfileInfo"],["FriendUserInfos_list","FriendUserInfo"],["FriendInviteInfos_list","FriendInviteInfo"],["UpdateChannnelInfo_channelInfo","ChannelsJoinedInfo"],["UpdateChannnelInfo_userInfo","ChannelsUserInfo"],["UpdateUserInfo_updatedUserInfo","ChannelsUserInfo"],["UpdateUserInfo_optUserInfo","ChannelsUserInfo"],["ChannelApplyInfo_statusInfo","ChannelsInviteStatusInfo"],["ChannelEventData_optUserInfo","ChannelsUserInfo"],["ChannelEventData_channelInfo","ChannelsJoinedInfo"],["ChannelEventData_userInfos","ChannelsUserInfo"],["ChannelEventData_channelFullInfo","ChannelsJoinedInfo"],["FriendUpdateEvent_extProfile","ProfileInfo"]]);var vo,Ao,No,Oo;!function(e){e[e.PERSON=1]="PERSON",e[e.PERSONS=2]="PERSONS",e[e.GROUP=3]="GROUP",e[e.TEMPGROUP=4]="TEMPGROUP",e[e.CUSTOMERSERVICE=5]="CUSTOMERSERVICE",e[e.NOTIFY=6]="NOTIFY",e[e.MC=7]="MC",e[e.MP=8]="MP",e[e.ULTRAGROUP=10]="ULTRAGROUP"}(vo||(vo={})),function(e){e[e.IMAGE=1]="IMAGE",e[e.AUDIO=2]="AUDIO",e[e.VIDEO=3]="VIDEO",e[e.FILE=4]="FILE",e[e.SIGHT=5]="SIGHT",e[e.COMBINE_HTML=6]="COMBINE_HTML"}(Ao||(Ao={})),function(e){e[e.GROUP_SUCCESS=0]="GROUP_SUCCESS",e[e.GROUP_FAILURE=1]="GROUP_FAILURE"}(No||(No={})),function(e){e[e.IsSilent=1]="IsSilent",e[e.IsTop=2]="IsTop",e[e.Tags=3]="Tags"}(Oo||(Oo={}));const Mo=new lr("package Modules;\nmessage probuf {\n message SetUserStatusOutput {\n optional int32 nothing=1;\n }\n message GetUserStatusInput {\n optional int32 nothing=1;\n }\n message GetUserStatusOutput {\n optional string status=1;\n optional string subUserId=2;\n }\n message SubUserStatusInput {\n repeated string userid =1;\n }\n message SubUserStatusOutput {\n optional int32 nothing=1;\n }\n message VoipDynamicInput {\n required int32 engineType = 1;\n required string channelName = 2;\n optional string channelExtra = 3;\n }\n message VoipDynamicOutput {\n required string dynamicKey=1;\n }\n message NotifyMsg {\n required int32 type = 1;\n optional int64 time = 2;\n optional string chrmId=3;\n }\n message SyncRequestMsg {\n required int64 syncTime = 1;\n required bool ispolling = 2;\n optional bool isweb=3;\n optional bool isPullSend=4;\n optional bool isKeeping=5;\n optional int64 sendBoxSyncTime=6;\n optional int64 broadcastSyncTime=7;\n }\n message UpStreamMessage {\n required int32 sessionId = 1;\n required string classname = 2;\n required bytes content = 3;\n optional string pushText = 4;\n optional string appData = 5;\n repeated string toUserIds = 6;\n optional int64 delMsgTime = 7;\n optional string delMsgId = 8;\n optional int32 configFlag = 9;\n optional int64 clientUniqueId = 10;\n optional string extraContent = 11;\n optional PushExtra pushExt = 12;\n optional string busChannel = 13;\n optional string systemId = 16;\n optional string senderPortrait = 21;\n optional int64 optionBits = 22;\n }\n message PushExtra {\n optional string title = 1;\n optional int32 templateIdNoUse= 2;\n optional string pushId = 3;\n optional string pushConfigs = 4;\n optional string templateId = 5;\n }\n message DownStreamMessages {\n repeated DownStreamMessage list = 1;\n required int64 syncTime = 2;\n optional bool finished = 3;\n optional int64 broadcastSyncTime = 4;\n }\n message DownStreamMessage {\n required string fromUserId = 1;\n required ChannelType type = 2;\n optional string groupId = 3;\n required string classname = 4;\n required bytes content = 5;\n required int64 dataTime = 6;\n required int64 status = 7;\n optional int64 extra = 8;\n optional string msgId = 9;\n optional int32 direction = 10;\n optional int32 plantform =11;\n optional int32 isRemoved = 12;\n optional string source = 13;\n optional int64 clientUniqueId = 14;\n optional string extraContent = 15;\n optional string pushContent = 16;\n optional int32 configFlag = 17;\n optional PushExtra pushExt = 18;\n optional string busChannel = 19;\n optional int64 extStatus = 20;\n repeated string toUserIds = 21;\n optional int32 groupUnpush = 22;\n optional int64 optionBits = 23;\n }\n enum ChannelType {\n PERSON = 1;\n PERSONS = 2;\n GROUP = 3;\n TEMPGROUP = 4;\n CUSTOMERSERVICE = 5;\n NOTIFY = 6;\n MC=7;\n MP=8;\n ULTRAGROUP = 10;\n }\n message CreateDiscussionInput {\n optional string name = 1;\n }\n message CreateDiscussionOutput {\n required string id = 1;\n }\n message ChannelInvitationInput {\n repeated string users = 1;\n }\n message LeaveChannelInput {\n required int32 nothing = 1;\n }\n message ChannelEvictionInput {\n required string user = 1;\n }\n message RenameChannelInput {\n required string name = 1;\n }\n message ChannelInfoInput {\n required int32 nothing = 1;\n }\n message ChannelInfoOutput {\n required ChannelType type = 1;\n required string channelId = 2;\n required string channelName = 3;\n required string adminUserId = 4;\n repeated string firstTenUserIds = 5;\n required int32 openStatus = 6;\n }\n message ChannelInfosInput {\n required int32 page = 1;\n optional int32 number = 2;\n }\n message ChannelInfosOutput {\n repeated ChannelInfoOutput channels = 1;\n required int32 total = 2;\n }\n message MemberInfo {\n required string userId = 1;\n required string userName = 2;\n required string userPortrait = 3;\n required string extension = 4;\n }\n message GroupMembersInput {\n required int32 page = 1;\n optional int32 number = 2;\n }\n message GroupMembersOutput {\n repeated MemberInfo members = 1;\n required int32 total = 2;\n }\n message GetUserInfoInput {\n required int32 nothing = 1;\n }\n message GetUserInfoOutput {\n required string userId = 1;\n required string userName = 2;\n required string userPortrait = 3;\n }\n message GetSessionIdInput {\n required int32 nothing = 1;\n }\n message GetSessionIdOutput {\n required int32 sessionId = 1;\n }\n enum FileType {\n IMAGE = 1;\n AUDIO = 2;\n VIDEO = 3;\n FILE = 4;\n SIGHT = 5;\n COMBINE_HTML = 6;\n }\n message GetQNupTokenInput {\n required FileType type = 1;\n optional string key = 2;\n optional string httpMethod = 3;\n optional string queryString = 4;\n optional string url = 5;\n optional string ext = 6;\n optional int64 size = 7;\n optional int32 ipType = 8;\n }\n message GetQNdownloadUrlInput {\n required FileType type = 1;\n required string key = 2;\n optional string fileName = 3;\n }\n message GetDownloadUrlInput {\n required FileType type = 1;\n required string key = 2;\n optional string fileName = 3;\n optional string ext = 4;\n optional int64 size = 5;\n optional int32 ipType = 6;\n }\n message GetQNupTokenOutput {\n required int64 deadline = 1;\n required string token = 2;\n optional string bosToken = 3;\n optional string bosDate = 4;\n optional string path = 5;\n\n optional string osskeyId = 6;\n optional string ossPolicy = 7;\n optional string ossSign = 8;\n optional string ossBucketName = 9;\n\n optional string s3Credential = 10;\n optional string s3Algorithm = 11;\n optional string s3Date = 12;\n optional string s3Policy = 13;\n optional string s3Signature = 14;\n optional string s3BucketName = 15;\n\n optional string stcAuthorization = 16;\n optional string stcContentSha256 = 17;\n optional string stcDate = 18;\n optional string stcBucketName = 19;\n\n optional string minioAuthorization = 20;\n optional string minioContentSha256 = 21;\n optional string minioDate = 22;\n optional string minioBucketName = 23;\n\n optional string downloadAuthInfo = 24;\n optional string ossConfig = 25;\n }\n message GetQNdownloadUrlOutput {\n required string downloadUrl = 1;\n }\n message GetDownloadUrlOutput {\n required string downloadUrl = 1;\n }\n message Add2BlackListInput {\n required string userId = 1;\n }\n message RemoveFromBlackListInput {\n required string userId = 1;\n }\n message QueryBlackListInput {\n required int32 nothing = 1;\n }\n message QueryBlackListOutput {\n repeated string userIds = 1;\n }\n message BlackListStatusInput {\n required string userId = 1;\n }\n message BlockPushInput {\n required string blockeeId = 1;\n }\n message ModifyPermissionInput {\n required int32 openStatus = 1;\n }\n message GroupInput {\n repeated GroupInfo groupInfo = 1;\n }\n message GroupOutput {\n required int32 nothing = 1;\n }\n message GroupInfo {\n required string id = 1;\n required string name = 2;\n }\n message GroupHashInput {\n required string userId = 1;\n required string groupHashCode = 2;\n }\n message GroupHashOutput {\n required GroupHashType result = 1;\n }\n enum GroupHashType {\n GROUP_SUCCESS = 0x00;\n GROUP_FAILURE = 0x01;\n }\n message ChrmInput {\n required int32 nothing = 1;\n optional string extra = 2;\n }\n message ChrmOutput {\n required int32 nothing = 1;\n optional string sessionId = 2;\n optional int64 joinTime = 3;\n optional int64 createTime = 4;\n optional int32 memberCount = 5;\n optional int32 chatroomBanState = 6;\n optional int32 whiteListState = 7;\n }\n message ChrmPullMsg {\n required int64 syncTime = 1;\n required int32 count = 2;\n }\n message ChrmPullMsgNew {\n required int32 count = 1;\n required int64 syncTime = 2;\n optional string chrmId=3;\n }\n message RelationQryInput {\n optional ChannelType type = 1;\n optional int32 count = 2;\n optional int64 startTime = 3;\n optional int32 order = 4;\n }\n message RelationsInput {\n required ChannelType type = 1;\n optional DownStreamMessage msg =2;\n optional int32 count = 3;\n repeated string busChannel = 4;\n optional int64 startTime = 5;\n optional int64 endTime = 6;\n }\n message RelationsOutput {\n repeated RelationInfo info = 1;\n optional bool isFinished = 2;\n }\n message RelationInfo {\n required ChannelType type = 1;\n required string userId = 2;\n optional DownStreamMessage msg =3;\n optional int64 readMsgTime= 4;\n optional int64 unreadCount= 5;\n optional string busChannel = 6;\n optional int64 versionTime = 7;\n optional int64 remindCount = 8;\n optional int32 busChannelType = 9;\n optional UnreadMsgInfo msgInfo = 10;\n optional int32 remindMeCount = 11;\n }\n message UnreadMsgInfo {\n required string msgId = 1;\n required int64 msgTime= 2;\n optional int32 remindType= 3;\n optional string className = 4;\n }\n message QryRemindListReq {\n required string groupId = 1;\n optional string busChannel = 2;\n optional int64 msgTime = 3;\n optional int32 size = 4;\n }\n message QryRemindListResp {\n repeated UnreadMsgInfo msgInfo = 1;\n }\n message RelationInfoReadTime {\n required ChannelType type = 1;\n required int64 readMsgTime= 2;\n required string targetId = 3;\n }\n message CleanHisMsgInput {\n required string targetId = 1;\n required int64 dataTime = 2;\n optional int32 conversationType= 3;\n optional string busChannel = 4;\n }\n message CleanMsgBatchReq {\n repeated CleanHisMsgInput input = 1;\n }\n message HistoryMessageInput {\n required string targetId = 1;\n required int64 dataTime =2;\n required int32 size = 3;\n }\n\n message HistoryMessagesOuput {\n repeated DownStreamMessage list = 1;\n required int64 syncTime = 2;\n required int32 hasMsg = 3;\n }\n message QueryChatRoomInfoInput {\n required int32 count= 1;\n optional int32 order= 2;\n }\n\n message QueryChatRoomInfoOutput {\n optional int32 userTotalNums = 1;\n repeated ChrmMember userInfos = 2;\n }\n message ChrmMember {\n required int64 time = 1;\n required string id = 2;\n }\n message MPFollowInput {\n required string id = 1;\n }\n\n message MPFollowOutput {\n required int32 nothing = 1;\n optional MpInfo info =2;\n }\n\n message MCFollowOutput {\n required int32 nothing = 1;\n optional MpInfo info =2;\n }\n\n message MpInfo {\n required string mpid=1;\n required string name = 2;\n required string type = 3;\n required int64 time=4;\n optional string portraitUrl=5;\n optional string extra =6;\n }\n\n message SearchMpInput {\n required int32 type=1;\n required string id=2;\n }\n\n message SearchMpOutput {\n required int32 nothing=1;\n repeated MpInfo info = 2;\n }\n\n message PullMpInput {\n required int64 time=1;\n required string mpid=2;\n }\n\n message PullMpOutput {\n required int32 status=1;\n repeated MpInfo info = 2;\n }\n message HistoryMsgInput {\n optional string targetId = 1;\n optional int64 time = 2;\n optional int32 count = 3;\n optional int32 order = 4;\n optional string busChannel = 5;\n }\n\n message HistoryMsgOuput {\n repeated DownStreamMessage list=1;\n required int64 syncTime=2;\n required int32 hasMsg=3;\n }\n message SessionsAttQryInput {\n required int32 nothing = 1;\n }\n message SessionsAttOutput {\n required int64 inboxTime = 1;\n required int64 sendboxTime = 2;\n required int64 totalUnreadCount = 3;\n }\n message SessionMsgReadInput {\n required ChannelType type = 1;\n required int64 msgTime = 2;\n required string channelId = 3;\n optional string busChannel = 4;\n }\n message SessionMsgReadOutput {\n optional int32 nothing=1;\n }\n message DeleteSessionsInput {\n repeated SessionInfo sessions = 1;\n }\n message SessionInfo {\n required ChannelType type = 1;\n required string channelId = 2;\n optional int64 unreadCount = 3;\n optional string busChannel = 4;\n }\n message QuerySessionsInput {\n repeated SessionInfo sessions = 1;\n }\n message QuerySessionsOutPut {\n repeated SessionInfo sessions = 1;\n }\n message DeleteSessionsOutput {\n optional int32 nothing=1;\n }\n message RelationDelBatchReq {\n repeated RelationOpInput relation = 1;\n }\n message RelationOpInput {\n required string conversationId = 1;\n required ChannelType conversationType = 2;\n optional string busChannel = 3;\n }\n message DeleteMsgInput {\n optional ChannelType type = 1;\n optional string conversationId = 2;\n repeated DeleteMsg msgs = 3;\n optional string busChannel = 4;\n }\n message DeleteMsg {\n optional string msgId = 1;\n optional int64 msgDataTime = 2;\n optional int32 direct = 3;\n }\n message ChrmKVEntity {\n required string key = 1;\n required string value = 2;\n optional int32 status = 3;\n optional int64 timestamp = 4;\n optional string uid = 5;\n optional int64 version = 6;\n }\n message SetChrmKV {\n required ChrmKVEntity entry = 1;\n optional bool bNotify = 2;\n optional UpStreamMessage notification = 3;\n optional ChannelType type = 4;\n }\n message SetChrmKVS {\n repeated ChrmKVEntity entry = 1;\n optional bool bNotify = 2;\n optional UpStreamMessage notification = 3;\n optional ChannelType type = 4;\n }\n message DeleteChrmKVS {\n repeated ChrmKVEntity entry = 1;\n optional bool bNotify = 2;\n optional UpStreamMessage notification = 3;\n optional ChannelType type = 4;\n }\n message ChrmKVOutput {\n repeated ChrmKVEntity entries = 1;\n optional bool bFullUpdate = 2;\n optional int64 syncTime = 3;\n }\n message ChrmKVSVersionEntity {\n optional int64 version = 1;\n optional string key = 2;\n }\n\n message ChrmKVSOutput {\n repeated ChrmKVSOutputEntity errorKeys = 1;\n repeated ChrmKVSVersionEntity keysVersion = 2;\n }\n message ChrmKVSOutputEntity {\n optional string key = 1;\n optional int32 errorCode = 2;\n }\n message QueryChrmKV {\n required int64 timestamp = 1;\n }\n message SetUserSettingInput {\n required int64 version=1;\n required string value=2;\n }\n message SetUserSettingOutput {\n required int64 version=1;\n required bool reserve=2;\n }\n message PullUserSettingInput {\n required int64 version=1;\n optional bool reserve=2;\n optional int32 ipType = 3;\n }\n message PullUserSettingOutput {\n repeated UserSettingItem items = 1;\n required int64 version=2;\n }\n message UserSettingItem {\n required string targetId= 1;\n required ChannelType type = 2;\n required string key = 4;\n required bytes value = 5;\n required int64 version=6;\n required int32 status=7;\n repeated SessionTagItem tags= 8;\n }\n message SessionReq {\n required int64 time = 1;\n }\n message SessionStates {\n required int64 version=1;\n repeated SessionState state= 2;\n }\n message SessionState {\n required ChannelType type = 1;\n required string channelId = 2;\n optional int64 time = 3;\n repeated SessionStateItem stateItem = 4;\n optional string busChannel = 5;\n }\n message SessionStateItem {\n required SessionStateType sessionStateType = 1;\n required string value = 2;\n repeated SessionTagItem tags = 3;\n }\n enum SessionStateType {\n IsSilent = 1;\n IsTop = 2;\n Tags = 3;\n }\n message SessionStateModifyReq {\n required int64 version=1;\n repeated SessionState state= 2;\n }\n message GroupUnpushQuery {\n optional string busChannel = 1;\n }\n message GroupUnpushSet{\n optional string busChannel = 1;\n required int32 unpushLevel = 2;\n }\n message GroupUnpushResult {\n required string groupId = 1;\n optional string busChannel = 2;\n required int32 unpushLevel = 3;\n }\n message SessionStateModifyResp {\n required int64 version=1;\n }\n message TypeUnpushInput {\n required ChannelType type = 1;\n required int64 version = 2;\n required int32 unpushLevel = 3;\n }\n message TypeUnpushOutput {\n required int64 version = 1;\n }\n message GrpReadReceiptMsg {\n repeated string msgId=1;\n optional string channelId = 2;\n }\n message GrpReadReceiptQryReq {\n repeated string msgId=1;\n optional string channelId = 2;\n }\n message GrpReadReceiptQryResp {\n required int32 totalMemberNum = 1;\n repeated GrpMsgReadUser list = 2;\n }\n message GrpMsgReadUser {\n required int64 readTime = 1;\n required string userId = 2;\n }\n message SessionTagAddInput {\n required int64 version=1;\n repeated SessionTagItem tags=2;\n }\n message SessionTagItem {\n required string tagId=1;\n optional string name=2;\n optional int64 createdTime=3;\n optional bool isTop=4;\n }\n message SessionTagDelInput {\n required int64 version=1;\n repeated SessionTagItem tags=2;\n }\n message SessionDisTagReq {\n repeated string tagId=1;\n }\n message UserSettingNotification {\n required int64 version=1;\n required bool reserve=2;\n }\n message ReportSDKInput {\n required string sdkInfo=1;\n }\n message ReportSDKOutput {\n optional int32 nothing=1;\n }\n message UltraGrpPullSes {\n required int64 syncTime = 1;\n optional bool isEraseMsgContent = 2;\n }\n message UltraGrpPullMsg {\n required int64 syncTime = 1;\n }\n message MsgChangeReq {\n required string fromUserId = 1;\n required string targetId = 2;\n required ChannelType type = 3;\n required string msgUID = 4;\n required int64 msgTime = 5;\n optional string busChannel = 6;\n optional string content = 7;\n }\n message QueryMsgChange {\n required int64 syncTime = 1;\n optional int32 needCompress = 2;\n optional int64 onlineTime = 3;\n optional string targetId = 4;\n }\n message EventChangeList {\n repeated EventChange list = 1;\n required int64 syncTime = 2;\n optional bool hasNext = 3 ;\n optional string targetId = 4;\n optional bool isCompress = 5 ;\n }\n message EventChange {\n optional string businessId = 1;\n optional ChannelType channelType = 2;\n optional int64 time = 3;\n optional int32 changeType = 4;\n optional string originalId = 5;\n optional int64 originalTime = 6;\n optional string secondaryId = 7;\n optional bool isAdmin = 8;\n optional bool additionalMark = 9; \n optional string operatorId = 10;\n optional int32 subChangeType = 11;\n optional int32 secondaryType = 12;\n optional bool isRemindMe = 13;\n repeated string extIds = 14;\n optional int32 remindType = 15;\n optional bytes eventData = 16;\n }\n message MsgChangeList {\n repeated MsgChange list = 1;\n required int64 syncTime = 2;\n optional bool hasNext = 3 ;\n }\n message MsgChange {\n required string targetId = 1;\n required ChannelType type = 2;\n required int64 time = 3;\n required int32 changeType = 4;\n required string msgUID = 5;\n required int64 msgTime = 6;\n optional string busChannel = 7;\n optional bool isAdmin = 8;\n optional bool isDel = 9;\n optional string operatorId = 10;\n optional int32 subChangeType = 11;\n optional int32 busChannelType = 12;\n optional bool isRemindMe = 13;\n repeated string userGroupIds = 14;\n optional int32 remindType = 15;\n }\n message MsgQuery {\n required string targetId = 1;\n required ChannelType type = 2;\n repeated MessageQueryInfo query = 3; //\n }\n message MessageQueryInfo {\n required int64 msgTime = 1;\n required string msgUID = 2;\n optional string busChannel = 3;\n }\n message MsgQueryAck {\n repeated DownStreamMessage list = 1;\n }\n message OperateStatus {\n optional string targetId = 1;\n optional ChannelType type = 2;\n optional int32 opType = 3;\n optional string busChannel = 4;\n }\n message OperateStatusNotify {\n optional ChannelType type = 1;\n optional int64 notifyType = 2;\n repeated OperateInfo info = 3 ;\n repeated OperateSummary summary = 4 ;\n }\n message OperateInfo {\n optional string targetId = 1;\n optional string busChannel = 2;\n optional string userId = 3;\n optional int32 opType = 4;\n optional int64 optime = 5;\n }\n \n message OperateSummary {\n optional string targetId = 1;\n optional string busChannel = 2;\n optional int32 count = 3;\n optional int32 opType = 4;\n }\n\n message SetRtcRoomIdInput {\n required string rtcRoomId= 1;\n }\n message SetRtcRoomIdOutput {\n required int32 nothing = 1;\n }\n message CallInfoUpStream {\n required string key= 1;\n required string dataContent=2;\n }\n message CallInfoDownStream {\n required string key= 1;\n required string dataContent=2;\n required int64 maxTime=3;\n }\n message KvInput {\n required int64 syncTime = 1;\n }\n message KvOutput {\n required int64 maxTime = 1;\n repeated KvInfo info = 2;\n }\n message KvInfo {\n required string key =1;\n required string value =2;\n }\n message ReadReceiptMsg {\n required string targetId = 1;\n required ChannelType type = 2;\n optional string busChannel = 3;\n optional string startMsgId = 4;\n optional string endMsgId = 5;\n }\n message ReceiptQryReq {\n required string msgId = 1;\n optional string busChannel = 2;\n required string targetId = 3;\n }\n message QueryReceiptResp {\n optional int32 num = 1;\n repeated ReceiptUser list = 2;\n optional int32 readCnt = 3;\n }\n message ReceiptUser {\n required int64 receiptTime = 1;\n required string userId = 2;\n }\n message ReceiptCntQryReq {\n optional ChannelType type = 1;\n optional string channelId = 2;\n optional string busChannel = 3;\n repeated string msgId = 4;\n }\n message ReceiptCntQryResp {\n repeated MsgReadCnt result= 1;\n }\n\n message MsgReadCnt {\n optional string msgId = 1;\n optional int32 cnt = 2;\n optional int32 tmn = 3;\n }\n message UpdateUserSubReq {\n optional int32 subType = 1;\n repeated UserSubDetail subUsers = 2;\n optional int32 opType = 3;\n optional int32 expiry = 4;\n }\n message UserSubDetail {\n optional string subUserId = 1;\n }\n message UpdateUserSubResp {\n repeated UserSubDetail subUsers = 1;\n optional int64 subTime = 2;\n }\n message PullUserSubReq {\n optional int64 version = 1;\n optional string pageToken = 2;\n }\n message PUllUserSubResp {\n repeated UserSubList list = 1;\n optional int64 version = 2;\n optional bool hasNext = 3;\n optional string pageToken = 4;\n optional bool isFull = 5;\n }\n message UserSubList {\n repeated UserSubDetail subUsers = 1;\n optional int32 subType = 2;\n optional int64 subTime = 3;\n optional int32 expiry = 4;\n optional int32 opType = 5;\n }\n message PullSubDataReq {\n optional int64 versionTime = 1;\n optional bool needAllData = 2;\n optional string pageToken = 3;\n }\n message PullSubDataResp {\n repeated SubDataDetail list = 1;\n optional int64 versionTime = 2;\n optional bool hasNext = 3;\n optional string pageToken = 4;\n optional bool isFull = 5;\n }\n message SubDataDetail {\n optional string statusStr = 1;\n optional string subUserId = 2;\n repeated SubData data = 3;\n optional int32 subType = 4;\n }\n\n message SubData {\n optional int32 platformInfo = 1;\n optional int32 value = 2;\n optional int64 versionTime = 3;\n }\n message QrySubDataReq {\n optional int32 subType = 1;\n repeated UserSubDetail subUsers = 2;\n }\n message UserProfile {\n optional int64 version = 1;\n optional string userId = 2;\n repeated ProfileInfo userProfile = 3;\n repeated ProfileInfo userExtProfile = 4;\n }\n message ProfileInfo {\n optional string key = 1;\n optional string value = 2;\n }\n message SetUserProfileResp {\n optional int64 version = 1;\n optional string key = 2;\n repeated string censorFailedFields = 3;\n }\n message PullUserProfileReq {\n repeated string userId = 1;\n }\n message UserProfiles {\n repeated UserProfile UserProfile = 1;\n }\n message UserProfileInput {\n required int32 nothing = 1;\n }\n message UserProfilePermission {\n optional int32 permission = 1;\n }\n message UserProfileOutput {\n required int32 nothing = 1;\n }\n message SearchUserProfile {\n optional string uniqueId = 1;\n }\n message ChannelsInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n repeated ProfileInfo settingProfile = 3;\n repeated ProfileInfo extProfile = 4;\n optional ChannelBaseInfo baseInfo = 5;\n repeated string users = 6;\n }\n\n message ChannelBaseInfo {\n optional string creatorId = 1;\n optional string ownerId = 2;\n optional int64 createTime = 3;\n optional int32 memberCount = 4;\n }\n\n message ChannelsOutput {\n optional int64 operateTime = 1;\n optional int32 flag = 2;\n optional string msg = 3;\n optional int32 processCode = 4;\n optional ChannelsJoinedInfo channelInfo = 5;\n repeated ChannelsUserInfo userInfos = 6;\n optional FriendInviteInfo friendInviteInfo = 7;\n optional FriendUserInfo friendUserInfo = 8;\n repeated string censorFailedFields = 9;\n }\n\n message MultiChannels {\n optional ChannelType type = 1;\n repeated ChannelsInput list = 2;\n }\n\n message ModifyChannelsInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n optional QuitChannelsSetting settingInfo = 3;\n repeated string users = 4;\n optional int32 operateType = 5;\n }\n\n message QuitChannelsSetting {\n optional bool isQuit = 1;\n optional bool isDelBan = 2;\n optional bool isDelWhite = 3;\n optional bool isDelAttention = 4;\n }\n\n message ChannelsQueryInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n optional ChannelsPageParam page = 3;\n repeated string ids = 4;\n optional int32 roleType = 5;\n }\n\n message ChannelsPageParam {\n optional int32 size = 1;\n optional string pageToken = 2;\n optional bool hasNext = 3 ;\n optional int32 total = 4 ;\n optional int32 order = 5 ;\n }\n\n message ChannelsListResult {\n optional int32 listType = 1;\n optional bytes result = 2;\n optional ChannelsPageParam page = 3;\n }\n \n message ChannelsInviteStatusInfos {\n repeated ChannelsInviteStatusInfo list = 1;\n }\n \n message ChannelsUserInfos {\n repeated ChannelsUserInfo list = 1;\n }\n \n message ChannelsJoinedInfos {\n repeated ChannelsJoinedInfo list = 1;\n }\n\n message ChannelsUserInfo {\n optional string userId = 1;\n optional ChannelsUserExtInfo ext = 2;\n optional int64 opTime = 3;\n optional string name = 4;\n optional string portraitUrl = 5;\n }\n\n message ChannelsUserExtInfo {\n optional int32 role = 1;\n optional int64 joinTime = 2;\n optional string channelNickName = 3;\n optional string additional = 4;\n optional string remarkName = 5;\n }\n\n message ChannelsMemberUpdateInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n optional string userId = 3;\n optional string channelNickName = 4;\n optional string additional = 5;\n optional int32 operateType = 6;\n }\n message ChannelsJoinedInfo {\n optional string targetId = 1;\n repeated ProfileInfo settingProfile = 2;\n repeated ProfileInfo extProfile = 3;\n optional ChannelBaseInfo baseInfo = 4;\n optional ChannelsUserExtInfo userInfo = 5;\n }\n message ChannelsInviteStatusInfo {\n optional string targetId = 1;\n optional ChannelsUserInfo joinUserInfo = 2;\n optional ChannelsUserInfo inviterInfo = 3;\n optional int32 status = 4;\n optional int32 directionType = 5;\n optional int32 joinType = 6;\n optional string detail = 7;\n optional int64 applyTime = 8;\n optional ChannelsUserInfo processInfo = 9;\n optional int64 processTime = 10;\n }\n message ChannelsMemberResponseInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n optional int32 optType = 3;\n optional int32 optResult = 4;\n optional string joinUserId = 5;\n optional string inviterId = 6;\n optional string detail = 7;\n }\n message ChannelsMembersInput {\n optional string targetId = 1;\n optional ChannelType type = 2;\n repeated string userIds = 3;\n }\n message FriendInput {\n optional string targetId = 1;\n optional int32 type = 2;\n optional string info = 3;\n }\n message FriendsOutput {\n repeated FriendOutput list = 1;\n }\n message FriendOutput {\n optional string userId = 1;\n optional int64 operateTime = 2;\n optional string flag = 3;\n }\n message FriendsInput {\n repeated string targetId = 1;\n optional int32 type = 2;\n }\n message FriendsCheckOutput {\n repeated FriendCheckOutput list = 1;\n }\n\n message FriendCheckOutput {\n optional string targetId = 1;\n optional int32 status = 2;\n }\n message FriendProfileInput {\n optional string targetId = 1;\n optional string remarkName = 2;\n repeated ProfileInfo extProfile = 3;\n }\n message FriendProfileOutput {\n repeated string censorFailedFields = 1;\n }\n message FriendQueryInput {\n optional int32 queryType = 1;\n optional ChannelsPageParam page = 2;\n optional int32 friendType= 3;\n }\n message FriendUserInfo {\n optional string userId = 1;\n optional int64 relationTime = 2;\n optional int32 friendType = 3;\n optional int32 flag = 4;\n optional string remarkName = 5;\n optional string name = 6;\n optional string portraitUrl = 7;\n repeated ProfileInfo extProfile = 8;\n \n }\n message FriendInviteInfo {\n optional string userId = 1;\n optional string name = 2;\n optional string portraitUrl = 3;\n optional int32 type = 4;\n optional int32 status = 5;\n optional int64 operateTime = 6;\n optional string info = 7;\n optional int32 friendType = 8;\n }\n message FriendsListInput {\n repeated string targetId = 1;\n optional int32 type = 2;\n }\n message FriendLevelSet {\n optional int32 level = 1;\n }\n\n message FriendPageParam {\n optional int32 size = 1;\n optional string pageToken = 2;\n }\n message FriendUserInfos {\n repeated FriendUserInfo list = 1;\n }\n\n message FriendInviteInfos {\n repeated FriendInviteInfo list = 1;\n }\n \n message FriendApplyEvent {\n optional int32 applyType = 1;\n optional int32 friendType = 2;\n optional string info = 3;\n optional string name = 4;\n optional string portraitUrl = 5;\n }\n message UpdateChannnelInfo {\n optional ChannelsJoinedInfo channelInfo = 1;\n optional ChannelsUserInfo userInfo = 2;\n }\n message UpdateUserInfo {\n optional ChannelsUserInfo updatedUserInfo = 1;\n optional ChannelsUserInfo optUserInfo = 2;\n }\n message ChannelApplyInfo {\n repeated ChannelsInviteStatusInfo statusInfo = 1;\n }\n message ChannelEventData {\n optional ChannelsUserInfo optUserInfo = 1;\n optional ChannelsJoinedInfo channelInfo = 2;\n repeated ChannelsUserInfo userInfos = 3;\n optional ChannelsJoinedInfo channelFullInfo = 4;\n }\n message FriendTypeChangeEvent {\n optional string friendId = 1;\n optional int32 friendType = 2;\n }\n message FriendUpdateEvent {\n optional string remarkname = 1;\n repeated ProfileInfo extProfile = 2;\n }\n message AddUnpushPeriodInput {\n required string startTime = 1;\n required int32 spanMinutes = 2;\n optional int32 level = 3;\n optional string timezone = 4;\n }\n message DeleteUnpushPeriodInput {\n required int32 nothing = 1;\n }\n message QueryUnpushPeriodInput {\n required int32 nothing = 1;\n }\n message QueryUnpushPeriodOutput {\n required int32 isUnpush = 1;\n optional string startTime = 2;\n optional int32 spanMinutes = 3;\n optional int32 level = 4;\n optional string timezone = 5;\n }\n}\n",yo);var Lo,Uo,Po,bo,xo,Do,wo,Vo,Go;exports.LogLevel=void 0,(Lo=exports.LogLevel||(exports.LogLevel={}))[Lo.LOG=0]="LOG",Lo[Lo.DEBUG=0]="DEBUG",Lo[Lo.INFO=1]="INFO",Lo[Lo.WARN=2]="WARN",Lo[Lo.ERROR=3]="ERROR",Lo[Lo.FATAL=4]="FATAL",Lo[Lo.STATISTICS=6]="STATISTICS",Lo[Lo.NONE=1e3]="NONE",exports.LogSource=void 0,(Uo=exports.LogSource||(exports.LogSource={})).IM="IM",Uo.RTC="RTC",exports.ConnectionStatus=void 0,(Po=exports.ConnectionStatus||(exports.ConnectionStatus={}))[Po.CONNECTED=0]="CONNECTED",Po[Po.CONNECTING=1]="CONNECTING",Po[Po.DISCONNECTED=2]="DISCONNECTED",Po[Po.NETWORK_UNAVAILABLE=3]="NETWORK_UNAVAILABLE",Po[Po.CONNECTION_CLOSED=4]="CONNECTION_CLOSED",Po[Po.KICKED_OFFLINE_BY_OTHER_CLIENT=6]="KICKED_OFFLINE_BY_OTHER_CLIENT",Po[Po.WEBSOCKET_UNAVAILABLE=7]="WEBSOCKET_UNAVAILABLE",Po[Po.WEBSOCKET_ERROR=8]="WEBSOCKET_ERROR",Po[Po.BLOCKED=9]="BLOCKED",Po[Po.DOMAIN_INCORRECT=12]="DOMAIN_INCORRECT",Po[Po.DISCONNECT_BY_SERVER=13]="DISCONNECT_BY_SERVER",Po[Po.REDIRECT=14]="REDIRECT",Po[Po.USER_LOGOUT=19]="USER_LOGOUT",Po[Po.APPKEY_IS_FAKE=20]="APPKEY_IS_FAKE",Po[Po.FORBID_RECONNECT_BY_OTHER_SAME_CLIENT=31023]="FORBID_RECONNECT_BY_OTHER_SAME_CLIENT",Po[Po.ULTRALIMIT=1101]="ULTRALIMIT",Po[Po.REQUEST_NAVI=201]="REQUEST_NAVI",Po[Po.RESPONSE_NAVI=202]="RESPONSE_NAVI",Po[Po.RESPONSE_NAVI_ERROR=203]="RESPONSE_NAVI_ERROR",Po[Po.RESPONSE_NAVI_TIMEOUT=204]="RESPONSE_NAVI_TIMEOUT",Po[Po.RC_LICENSE_EXPIRED=31030]="RC_LICENSE_EXPIRED",Po[Po.RC_CONN_USER_OR_PASSWD_ERROR=31004]="RC_CONN_USER_OR_PASSWD_ERROR",exports.RTCMode=void 0,(bo=exports.RTCMode||(exports.RTCMode={}))[bo.RTC=0]="RTC",bo[bo.LIVE=2]="LIVE",bo[bo.SIP=4]="SIP",bo[bo.CALL=5]="CALL",bo[bo.MEETING=6]="MEETING",bo[bo.CROSS_MUTI=7]="CROSS_MUTI",bo[bo.CROSS_LIVE=8]="CROSS_LIVE",function(e){e[e.AUDIO_AND_VIDEO=0]="AUDIO_AND_VIDEO",e[e.AUDIO=1]="AUDIO"}(xo||(xo={})),function(e){e[e.ANCHOR=1]="ANCHOR",e[e.AUDIENCE=2]="AUDIENCE"}(Do||(Do={})),exports.RTCApiType=void 0,(wo=exports.RTCApiType||(exports.RTCApiType={}))[wo.ROOM=1]="ROOM",wo[wo.PERSON=2]="PERSON",function(e){e[e.AnchorToViewer=1]="AnchorToViewer",e[e.ViewerToAnchor=2]="ViewerToAnchor"}(Vo||(Vo={})),exports.RTCJoinType=void 0,(Go=exports.RTCJoinType||(exports.RTCJoinType={}))[Go.KICK=0]="KICK",Go[Go.REFUSE=1]="REFUSE",Go[Go.COEXIST=2]="COEXIST";let Fo=null;function Bo(e,t,n={},r={}){const s=["error","warn","info","debug"][3-e];if(Fo&&e<exports.LogLevel.FATAL)try{const e=JSON.stringify(n);Fo[s](t,e)}catch(e){console.error(e)}}const ko=Bo.bind(null,exports.LogLevel.DEBUG),Ho={init:function(e){Fo=e},info:Bo.bind(null,exports.LogLevel.INFO),debug:ko,warn:Bo.bind(null,exports.LogLevel.WARN),error:Bo.bind(null,exports.LogLevel.ERROR),fatal:Bo.bind(null,exports.LogLevel.FATAL)};class qo{constructor(){this._map={}}on(e,t,n){const r=this._map[e]||(this._map[e]=[]);r.some((e=>e.listener===t&&e.target===n))||r.push({listener:t,target:n})}once(e,t,n){const r=this._map[e]||(this._map[e]=[]);r.some((e=>e.listener===t&&e.target===n))||r.push({listener:t,target:n,once:!0})}off(e,t,n){let r=this._map[e];r&&(r=r.filter((e=>e.listener!==t||e.target!==n)),r.length?this._map[e]=r:delete this._map[e])}emit(e,...t){const n=this._map[e];if(n)for(let e=n.length-1;e>=0;e-=1){const{target:r,once:s,listener:o}=n[e];s&&n.splice(e,1);try{o.call(r,...t)}catch(e){null===console||void 0===console||console.error(e)}}}removeAll(e){delete this._map[e]}clear(){Object.keys(this._map).forEach(this.removeAll,this)}}class Yo{constructor(e,t,n){this.pbmaps=e,this.logger=n,this.pbModules=sr(t)}getModule(e){return new this.pbModules[e]}encode(e,t,n){const r=new this.pbModules[e];if(t)try{this.pbmaps[e].forEach((e=>{const n=t[e];void 0!==n&&r[`set${((e,t,n)=>{if(void 0===t||void 0===n)return e.toUpperCase();const r=e.slice(t,n);return e.replace(r,(e=>e.toUpperCase()))})(e,0,1)}`](n)}))}catch(t){const n=`pbname: ${e}, stack: ${t.stack}`;this.logger?this.logger.error(exports.LogTagId.L_PB_ENCODE_E,n):null===console||void 0===console||console.error(exports.LogTagId.L_PB_ENCODE_E,n)}return n?r:r.toArrayBuffer()}decode(e,t){const n=this.pbModules[e].decode(t);return this.fixInt64Values(n)}fixInt64Values(e){if(e instanceof Array)return e.map((e=>this.fixInt64Values(e)));if(!it(e))return e;if(void 0!==e.low&&void 0!==e.high&&Object.prototype.hasOwnProperty.call(e,"unsigned")){let{low:t}=e;t<0&&(t+=4294967296),t=t.toString(16);return parseInt(e.high.toString(16)+"00000000".replace(new RegExp(`0{${t.length}}$`),t),16)}for(const t in e)e[t]=this.fixInt64Values(e[t]);return e}}var Ko;!function(e){e.RtcInput="RtcInput",e.RtcUserListOutput="RtcUserListOutput",e.SetUserStatusInput="SetUserStatusInput",e.RtcSetDataInput="RtcSetDataInput",e.RtcUserSetDataInput="RtcUserSetDataInput",e.RtcDataInput="RtcDataInput",e.RtcSetOutDataInput="RtcSetOutDataInput",e.MCFollowInput="MCFollowInput",e.RtcTokenOutput="RtcTokenOutput",e.RtcQryOutput="RtcQryOutput",e.RtcQryUserOutDataInput="RtcQryUserOutDataInput",e.RtcUserOutDataOutput="RtcUserOutDataOutput",e.RtcQueryListInput="RtcQueryListInput",e.RtcRoomInfoOutput="RtcRoomInfoOutput",e.RtcValueInfo="RtcValueInfo",e.RtcKeyDeleteInput="RtcKeyDeleteInput",e.RtcNotifyMsg="RtcNotifyMsg",e.RtcPullKV="RtcPullKV",e.RtcKVOutput="RtcKVOutput",e.RtcQueryUserJoinedInput="RtcQueryUserJoinedInput",e.RtcQueryUserJoinedOutput="RtcQueryUserJoinedOutput",e.RtcViewerJoinedOutput="RtcViewerJoinedOutput",e.RtcInviteInput="RtcInviteInput",e.RtcCancelInviteInput="RtcCancelInviteInput",e.RtcInviteAnswerInput="RtcInviteAnswerInput",e.RtcEndInviteInput="RtcEndInviteInput",e.RtcOutput="RtcOutput"}(Ko||(Ko={}));const jo={[Ko.RtcInput]:["roomType","broadcastType","extraInnerData","needSysChatroom","identityChangeType","joinType","innerDatas","outerDatas"],[Ko.RtcUserListOutput]:["users","token","sessionId","roomInfo"],[Ko.SetUserStatusInput]:["status"],[Ko.RtcSetDataInput]:["interior","target","key","value","objectName","content"],[Ko.RtcUserSetDataInput]:["valueInfo","objectName","content"],[Ko.RtcDataInput]:["interior","target","key","objectName","content"],[Ko.RtcSetOutDataInput]:["target","valueInfo","objectName","content"],[Ko.MCFollowInput]:["state"],[Ko.RtcTokenOutput]:["rtcToken"],[Ko.RtcQryOutput]:["outInfo"],[Ko.RtcQryUserOutDataInput]:["userId"],[Ko.RtcUserOutDataOutput]:["user"],[Ko.RtcQueryListInput]:["order"],[Ko.RtcRoomInfoOutput]:["roomId","roomData","userCount","list"],[Ko.RtcValueInfo]:["key","value"],[Ko.RtcKeyDeleteInput]:["key"],[Ko.RtcNotifyMsg]:["type","time","roomId"],[Ko.RtcPullKV]:["timestamp","roomId"],[Ko.RtcKVOutput]:["entries","bFullUpdate","syncTime"],[Ko.RtcQueryUserJoinedInput]:["userId"],[Ko.RtcQueryUserJoinedOutput]:["info"],[Ko.RtcInviteInput]:["invitedUserId","timeoutTime","invitedRoomId","inviteInfo","inviteSessionId"],[Ko.RtcCancelInviteInput]:["invitedUserId","invitedRoomId","inviteInfo","inviteSessionId"],[Ko.RtcInviteAnswerInput]:["inviteUserId","answerCode","inviteRoomId","inviteSessionId","content","key","value"],[Ko.RtcEndInviteInput]:["inviteRoomId","inviteSessionId","inviteContent","inviteRoomKeys"]},Qo=`\npackage Modules;\nmessage probuf {\n enum JoinType {\n KICK = 0; //踢前一个设备\n REFUSE = 1; //当前加入拒绝\n COEXIST = 2; //两个设备共存\n }\n enum targetType {\n ROOM =1 ;\n PERSON = 2;\n }\n message ${Ko.SetUserStatusInput}\n {\n optional int32 status=1;\n }\n message ${Ko.MCFollowInput}\n {\n required string state = 1;\n }\n message ${Ko.RtcQueryListInput}{\n optional int32 order=1;\n }\n message ${Ko.RtcKeyDeleteInput}{\n repeated string key=1;\n }\n message ${Ko.RtcValueInfo}{\n required string key=1;\n required string value=2;\n }\n message RtcUserInfo{\n required string userId=1;\n repeated ${Ko.RtcValueInfo} userData=2; //用户资源信息\n }\n message ${Ko.RtcUserListOutput}{\n repeated RtcUserInfo users=1;\n optional string token=2;\n optional string sessionId=3;\n repeated RtcValueInfo roomInfo = 4; //房间key value\n repeated RtcKVEntity entries = 5;//直播KV属性对象集合\n optional int64 syncTime = 6;//所有属性的最大时间戳(下次拉取KV时用)。\n optional int32 offlineKickTime = 7;//server超时踢人时间,默认60s\n }\n message RtcRoomInfoOutput{\n optional string roomId = 1;\n repeated ${Ko.RtcValueInfo} roomData = 2;\n optional int32 userCount = 3;\n repeated RtcUserInfo list=4;\n }\n message ${Ko.RtcInput}{\n required int32 roomType=1;\n optional int32 broadcastType=2;\n optional RtcValueInfo extraInnerData = 3;\n optional bool needSysChatroom = 4; //是否需要同步聊天室\n optional IdentityChangeType identityChangeType = 5; //身份变更类型\n optional JoinType joinType = 6; // 加入房间类型\n repeated ${Ko.RtcValueInfo} innerDatas = 7; //用户内部inner数据,角色或者连麦信息等\n repeated ${Ko.RtcValueInfo} outerDatas = 8; //用户内部outer数据,自定义数据结构RtcInput。\n }\n message ${Ko.RtcQryOutput}{\n repeated ${Ko.RtcValueInfo} outInfo=1;\n }\n message ${Ko.RtcDataInput}{\n required bool interior=1;\n required targetType target=2;\n repeated string key=3;\n optional string objectName=4;\n optional string content=5;\n }\n message ${Ko.RtcSetDataInput}{\n required bool interior=1;\n required targetType target=2;\n required string key=3;\n required string value=4;\n optional string objectName=5;\n optional string content=6;\n }\n message ${Ko.RtcUserSetDataInput} {\n repeated ${Ko.RtcValueInfo} valueInfo = 1;\n required string objectName = 2;\n repeated ${Ko.RtcValueInfo} content = 3;\n }\n message RtcQryInput{\n required bool isInterior=1;\n required targetType target=2;\n repeated string key=3;\n }\n message RtcDelDataInput{\n repeated string key=1;\n required bool isInterior=2;\n required targetType target=3;\n }\n message RtcOutput\n {\n optional int32 nothing=1;\n optional int64 version=2;\n }\n message ${Ko.RtcTokenOutput}{\n required string rtcToken=1;\n }\n message ${Ko.RtcSetOutDataInput}{\n required targetType target=1;\n repeated ${Ko.RtcValueInfo} valueInfo=2;\n optional string objectName=3;\n optional string content=4;\n }\n message ${Ko.RtcQryUserOutDataInput}{\n repeated string userId = 1;\n }\n message ${Ko.RtcUserOutDataOutput}{\n repeated RtcUserInfo user = 1;\n }\n message ${Ko.RtcNotifyMsg} \n {\n required int32 type= 1; //(通知类型 1:rtc房间状态KV变更通知)\n optional int64 time= 2; //消息产生时间\n optional string roomId=3; //主播房间id\n }\n message ${Ko.RtcPullKV}\n {\n required int64 timestamp = 1;\n required string roomId = 2;\n }\n message RtcKVEntity \n {\n required string key = 1;\n required string value = 2;\n optional int32 status = 3;\n optional int64 timestamp = 4;\n optional string uid = 5;\n }\n message ${Ko.RtcKVOutput}\n {\n repeated RtcKVEntity entries = 1;\n optional bool bFullUpdate = 2;\n optional int64 syncTime = 3; \n }\n enum IdentityChangeType \n {\n AnchorToViewer = 1; //1为主播变观众\n ViewerToAnchor = 2; //2为观众变主播\n }\n message ${Ko.RtcQueryUserJoinedInput}\n {\n required string userId = 1;\n }\n message RtcJoinedInfo\n {\n required string deviceId = 1; //设备ID\n required string roomId = 2; //加入的房间ID\n optional int64 joinTime = 3; //加入的时间\n }\n message ${Ko.RtcQueryUserJoinedOutput}\n {\n repeated RtcJoinedInfo info = 1;\n }\n message ${Ko.RtcViewerJoinedOutput}\n {\n required string rtcToken=1;\n repeated RtcKVEntity entries = 2;//KV属性对象集合\n optional int64 syncTime = 3;//所有属性的最大时间戳(下次拉取KV时用)。\n }\n message ${Ko.RtcInviteInput}\n {\n required string invitedUserId=1; //被邀请的人的uid\n optional int32 timeoutTime=2; //邀请超时时间(秒),默认三十秒\n required string invitedRoomId=3; //被邀请的房间\n required string inviteInfo=4; //邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId= 5; //客户端保证唯一性(建议roomid_userid_时间戳_随机数)\n }\n message ${Ko.RtcCancelInviteInput}\n {\n required string invitedUserId=1; //被邀请的人的uid\n required string invitedRoomId=2; //被邀请的房间\n required string inviteInfo=3; //取消邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId=4; //邀请的sessionId,客户端发起邀请时产生\n }\n message ${Ko.RtcInviteAnswerInput}\n {\n required string inviteUserId=1; //邀请的人的uid\n required int32 answerCode=2; //是否接受连麦邀请.0为拒绝,1为接受\n required string inviteRoomId=3; //邀请的房间\n required string inviteSessionId=4; //邀请的sessionId\n required string content=5; //需要转发的content\n optional string key=6; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n optional string value=7; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n }\n message ${Ko.RtcEndInviteInput}\n {\n required string inviteRoomId=1; //邀请的房间\n required string inviteSessionId=2; //邀请的sessionId\n required string inviteContent=3; //结束连麦的信息(需要透传给房间内其他人)\n repeated string inviteRoomKeys=4; //需要删除连麦的信息的key\n }\n}\n`,Wo=(e,t,n,r,s,o)=>{const i=s?Object.keys(s).map((t=>e.encode(Ko.RtcValueInfo,{key:t,value:s[t]},!0))):void 0,a=o?Object.keys(o).map((t=>e.encode(Ko.RtcValueInfo,{key:t,value:o[t]},!0))):void 0;return e.encode(Ko.RtcInput,{roomType:t,broadcastType:n,joinType:r,innerDatas:i,outerDatas:a})},$o=(e,t)=>{const n=e.decode(Ko.RtcUserListOutput,t),{users:r,token:s,sessionId:o,roomInfo:i,entries:a,offlineKickTime:l}=n,d={};return Et(r,(e=>{const{userId:t,userData:n}=e,r={};Et(n,(e=>{const{key:t,value:n}=e;r[t]=n})),d[t]=r})),{users:d,token:s,sessionId:o,roomInfo:i,kvEntries:a,offlineKickTime:l}};var Jo;!function(e){e[e.ppMsgP=1]="ppMsgP",e[e.ppMsgN=2]="ppMsgN",e[e.ppMsgS=3]="ppMsgS",e[e.pgMsgP=4]="pgMsgP",e[e.chatMsg=5]="chatMsg",e[e.pcMsgP=6]="pcMsgP",e[e.prMsgS=7]="prMsgS",e[e.pbMsgP=8]="pbMsgP",e[e.qryPMsg=9]="qryPMsg",e[e.qryGMsg=10]="qryGMsg",e[e.qryCHMsg=11]="qryCHMsg",e[e.qryCMsg=12]="qryCMsg",e[e.qrySMsg=13]="qrySMsg",e[e.qryMCMsg=14]="qryMCMsg",e[e.qryMPMsg=15]="qryMPMsg",e[e.recallMsg=16]="recallMsg",e[e.rrMsg=17]="rrMsg",e[e.rrList=18]="rrList",e[e.s_ntf=19]="s_ntf",e[e.s_msg=20]="s_msg",e[e.s_stat=21]="s_stat",e[e.s_cmd=22]="s_cmd",e[e.s_us=23]="s_us",e[e.pullUS=24]="pullUS",e[e.sendMsgRead=25]="sendMsgRead",e[e.qryMsgRead=26]="qryMsgRead",e[e.qryMsgReadCntBatch=27]="qryMsgReadCntBatch",e[e.updRTime=28]="updRTime",e[e.pgMsgS=29]="pgMsgS",e[e.chatMsgS=30]="chatMsgS",e[e.qrySessionsAtt=31]="qrySessionsAtt",e[e.pullMsg=32]="pullMsg",e[e.qrySessions=33]="qrySessions",e[e.delSessions=34]="delSessions",e[e.delMsg=35]="delMsg",e[e.delUgMsg=36]="delUgMsg",e[e.updRRTime=37]="updRRTime",e[e.qrySessionsUnread=38]="qrySessionsUnread",e[e.setTypeUnpush=39]="setTypeUnpush",e[e.chrmPull=40]="chrmPull",e[e.joinChrm=41]="joinChrm",e[e.joinChrmR=42]="joinChrmR",e[e.exitChrm=43]="exitChrm",e[e.queryChrmI=44]="queryChrmI",e[e.setKV=45]="setKV",e[e.delKV=46]="delKV",e[e.setKVS=47]="setKVS",e[e.delKVS=48]="delKVS",e[e.pullKV=49]="pullKV",e[e.qryRelation=50]="qryRelation",e[e.qryRelationR=51]="qryRelationR",e[e.delRelation=52]="delRelation",e[e.delRelationBatch=53]="delRelationBatch",e[e.pullSeAtts=54]="pullSeAtts",e[e.setSeAtt=55]="setSeAtt",e[e.qnTkn=56]="qnTkn",e[e.qnUrl=57]="qnUrl",e[e.aliUrl=58]="aliUrl",e[e.s3Url=59]="s3Url",e[e.stcUrl=60]="stcUrl",e[e.minioUrl=61]="minioUrl",e[e.cleanPMsg=62]="cleanPMsg",e[e.cleanGMsg=63]="cleanGMsg",e[e.cleanCMsg=64]="cleanCMsg",e[e.cleanSMsg=65]="cleanSMsg",e[e.cleanMCMsg=66]="cleanMCMsg",e[e.cleanMPMsg=67]="cleanMPMsg",e[e.cleanMsgBatch=68]="cleanMsgBatch",e[e.rtcPing=69]="rtcPing",e[e.rtc_ntf=70]="rtc_ntf",e[e.rtcSetOutData=71]="rtcSetOutData",e[e.rtcQryUserOutData=72]="rtcQryUserOutData",e[e.addSeTag=73]="addSeTag",e[e.delSeTag=74]="delSeTag",e[e.addTag=75]="addTag",e[e.delTag=76]="delTag",e[e.disTag=77]="disTag",e[e.reportsdk=78]="reportsdk",e[e.pullUgSes=79]="pullUgSes",e[e.pullUgMsg=80]="pullUgMsg",e[e.ugMsg=81]="ugMsg",e[e.qryUgMsg=82]="qryUgMsg",e[e.updUgRTime=83]="updUgRTime",e[e.upMsgEx=84]="upMsgEx",e[e.modifyMsg=85]="modifyMsg",e[e.qryMsgChange=86]="qryMsgChange",e[e.qryMsg=87]="qryMsg",e[e.operate=88]="operate",e[e.s_opNtf=89]="s_opNtf",e[e.ugUnpushQuery=90]="ugUnpushQuery",e[e.ugUnpushSet=91]="ugUnpushSet",e[e.setRtcRoomId=92]="setRtcRoomId",e[e.qryUgUal=93]="qryUgUal",e[e.updUserSub=94]="updUserSub",e[e.pullUserSub=95]="pullUserSub",e[e.pullSubData=96]="pullSubData",e[e.qrySubData=97]="qrySubData",e[e.pullUserProfile=98]="pullUserProfile",e[e.pullOwnProfile=99]="pullOwnProfile",e[e.updProfilePermiss=100]="updProfilePermiss",e[e.qProfilePermiss=101]="qProfilePermiss",e[e.searchUserProfile=102]="searchUserProfile",e[e.updUserProfile=103]="updUserProfile",e[e.pullEventChange=104]="pullEventChange",e[e.channelCreate=105]="channelCreate",e[e.upChannelInfo=106]="upChannelInfo",e[e.qChannelInfo=107]="qChannelInfo",e[e.channelMemKick=108]="channelMemKick",e[e.channelMemQuit=109]="channelMemQuit",e[e.channelDismiss=110]="channelDismiss",e[e.channelTransfer=111]="channelTransfer",e[e.upChannelManager=112]="upChannelManager",e[e.qChannelMem=113]="qChannelMem",e[e.qChannelSpeMem=114]="qChannelSpeMem",e[e.upChannelMem=115]="upChannelMem",e[e.channelMemJoin=116]="channelMemJoin",e[e.channelMemInvite=117]="channelMemInvite",e[e.channelApplyResp=118]="channelApplyResp",e[e.qChannelApplyList=119]="qChannelApplyList",e[e.qChannelMemJoin=120]="qChannelMemJoin",e[e.qChannelMemSpeJoin=121]="qChannelMemSpeJoin",e[e.upChannelRemark=122]="upChannelRemark",e[e.qChannelRemark=123]="qChannelRemark",e[e.upChannelFollow=124]="upChannelFollow",e[e.qChannelFollow=125]="qChannelFollow",e[e.qSimpleUserProfile=126]="qSimpleUserProfile",e[e.friendAdd=127]="friendAdd",e[e.friendDel=128]="friendDel",e[e.friendHandle=129]="friendHandle",e[e.friendSetPf=130]="friendSetPf",e[e.friendCheck=131]="friendCheck",e[e.friendsQuery=132]="friendsQuery",e[e.friendApplyDel=133]="friendApplyDel",e[e.friendsInfoQry=134]="friendsInfoQry",e[e.friendAuthSet=135]="friendAuthSet",e[e.friendAuthGet=136]="friendAuthGet",e[e.addUnpush=137]="addUnpush",e[e.qryUnpush=138]="qryUnpush",e[e.delUnpush=139]="delUnpush",e[e.s_pubCall=140]="s_pubCall",e[e.reqCall=141]="reqCall",e[e.pullKvMsg=142]="pullKvMsg"}(Jo||(Jo={}));const Xo=e=>{const t=Jo[e];if(void 0===t)throw new Error(`topic ${e} not found`);return t},Zo=e=>Jo[e];var zo,ei,ti;!function(e){e[e.AT_MOST_ONCE=0]="AT_MOST_ONCE",e[e.AT_LEAST_ONCE=1]="AT_LEAST_ONCE",e[e.EXACTLY_ONCE=2]="EXACTLY_ONCE",e[e.DEFAULT=3]="DEFAULT"}(zo||(zo={})),function(e){e[e.SYMMETRIC=0]="SYMMETRIC",e[e.CONNECT=1]="CONNECT",e[e.CONN_ACK=2]="CONN_ACK",e[e.PUBLISH=3]="PUBLISH",e[e.PUB_ACK=4]="PUB_ACK",e[e.QUERY=5]="QUERY",e[e.QUERY_ACK=6]="QUERY_ACK",e[e.QUERY_CONFIRM=7]="QUERY_CONFIRM",e[e.PING=12]="PING",e[e.PONG=13]="PONG",e[e.DISCONNECT=14]="DISCONNECT",e[e.PCONNECT=8]="PCONNECT",e[e.PCONNECT_ACK=9]="PCONNECT_ACK",e[e.RESERVED=10]="RESERVED",e[e.RESERVED_2=11]="RESERVED_2",e[e.RESERVED_3=15]="RESERVED_3"}(ei||(ei={})),function(e){e[e.V4=4]="V4",e[e.V3=3]="V3"}(ti||(ti={}));const ni="rtcRJoin_data",ri="rtcRExit",si="rtcRInfo",oi="rtcUData",ii="rtcUPut",ai="rtcUDel",li="rtcSetData",di="userSetData",ui="rtcQryData",ci="rtcDelData",hi="rtcToken",pi="rtcUserState",_i="rtcUList",gi="viewerJoinR",Ei="viewerExitR",Ii="rtcPullKv",Ti="rtcIdentityChange",fi="rtcInvite",Ci="rtcCancelInvite",Ri="rtcInviteAnswer",Si="rtcEndInvite",mi="rtcQueryJoined";class yi{static writeUTF(e,t){let{back:n,byteSize:r}=this._getBackAndByteSize(e);for(let e=0,t=n.length;e<t;e++)n[e]>255&&(n[e]&=255);return t?n:r<=255?[0,r].concat(n):[r>>8,255&r].concat(n)}static _getBackAndByteSize(e){const t=[];let n=0;if("string"==typeof e)for(let r=0,s=e.length;r<s;r++){const s=e.charCodeAt(r);s>=0&&s<=127?(n+=1,t.push(s)):s>=128&&s<=2047?(n+=2,t.push(192|31&s>>6),t.push(128|63&s)):s>=2048&&s<=65535&&(n+=3,t.push(224|15&s>>12),t.push(128|63&s>>6),t.push(128|63&s))}return{byteSize:n,back:t}}static readUTF(e){const t=[];let n,r,s=-1;const o=e;let i="";for(;++s<o.length;){let e=Number(o[s]);if(e===(127&e)||(240&~e?224&~e?192&~e||(e^=192,e=e<<6|128^o[++s]):(e^=224,e=e<<6|128^o[++s],e=e<<6|128^o[++s]):(e^=240,e=e<<6|128^o[++s],e=e<<6|128^o[++s],e=e<<6|128^o[++s])),!Number.isFinite(e)||e<0||e>1114111||Math.floor(e)!==e)throw RangeError(`Invalid code point: ${e}`);e<=65535?t.push(e):(e-=65536,n=e>>10|55296,r=e%1024|56320,t.push(n,r)),(s+1===o.length||t.length>16384)&&(i+=String.fromCharCode.apply(null,t),t.length=0)}return i}}class vi{constructor(e){this._position=0,this._poolLen=0,this._pool=e,this._poolLen=e.length}check(){return this._position>=this._pool.length}read2Byte(){const e=this;if(e.check())return-1;let t="";for(let n=0;n<2;n++){let n=e._pool[e._position++].toString(16);1===n.length&&(n=`0${n}`),t+=n.toString()}return parseInt(t,16)}readInt32(){return(this.readByte()<<24)+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()}readLong(){const e=this;if(e.check())return-1;let t="";for(let n=0;n<8;n++){let n=e._pool[e._position++].toString(16);1===n.length&&(n=`0${n}`),t+=n}return parseInt(t,16)}readByte(){if(this.check())return-1;let e=this._pool[this._position++];return e>255&&(e&=255),e}readUTF(){if(this.check())return"";const e=this.readByte()<<8|this.readByte(),t=this._position;this._position+=e;const n=this._pool.subarray(t,this._position);return yi.readUTF(n)}readAll(){return this._pool.subarray(this._position,this._poolLen)}}class Ai{constructor(){this._pool=[]}writeByte(e){e>=0&&(e>255&&(e&=255),this._pool.push(e))}writeBuffer(e){this._pool=this._pool.concat([...new Int8Array(e)])}writeArr(e){this._pool=this._pool.concat(e)}writeUTF(e){const t=yi.writeUTF(e);this._pool=this._pool.concat(t)}getBytesArray(){return this._pool}}class Ni{constructor(e,t=zo.AT_LEAST_ONCE,n=!1,r=!1,s=!1){this.command=e,this.qos=t,this._retain=n,this._dup=r,this.syncMsg=s}static parse(e){return new Ni(e>>4&15,(6&e)>>1,(1&e)>0,(8&e)>0,!(8&~e))}encode(){let e=this.command<<4;return e|=this._retain?1:0,e|=this.qos<<1,e|=this._dup?8:0,e}}class Oi{constructor(e){this.header=e,this.timestamp=0}read(e,t,n){this.readMessage(e,t,n)}readMessage(e,t,n){return{stream:e,length:t}}}class Mi{constructor(e){this.messageId=0,this._header=new Ni(e,zo.AT_MOST_ONCE)}write(e){const t=this.getHeaderFlag();e.writeByte(t),this.writeMessage(e)}setHeaderQos(e){this._header.qos=e}getHeaderFlag(){return this._header.encode()}getArrayBuffer(){const e=new Ai;this.write(e);const t=e.getBytesArray();return new Int8Array(t).buffer}}class Li extends Oi{constructor(){super(...arguments),this.status=null,this.userId=null,this.timestamp=0,this.messageId=0,this.sessionId=""}readMessage(e,t,n){if(e.readByte(),this.status=e.readByte(),t<=Li.MESSAGE_LENGTH)return{stream:e,length:t};if(n===ti.V4){const t=e.readByte();1&t&&(this.userId=e.readUTF()),2&t&&(this.sessionId=e.readUTF()),4&t&&(this.timestamp=e.readLong()),8&t&&(this.messageId=e.read2Byte())}else this.userId=e.readUTF(),this.sessionId=e.readUTF(),this.timestamp=e.readLong();return{stream:e,length:t}}}Li.MESSAGE_LENGTH=2;class Ui extends Oi{constructor(){super(...arguments),this.status=0}readMessage(e,t){return e.readByte(),this.status=e.readByte(),this.data=e.readAll(),{stream:e,length:t}}}Ui.MESSAGE_LENGTH=2;class Pi extends Mi{constructor(){super(ei.PING)}writeMessage(e){}}class bi extends Oi{constructor(e){super(e)}}class xi extends Oi{constructor(){super(...arguments),this.messageId=0}readMessage(e,t){const n=256*e.readByte()+e.readByte();return this.messageId=parseInt(n.toString(),10),{stream:e,length:t}}}class Di extends Mi{writeMessage(e){const t=this.messageId,n=255&t,r=(65280&t)>>8;e.writeByte(r),e.writeByte(n)}}class wi extends xi{constructor(e){super(e),this.topic="",this.targetId="",this.date=0,this.syncMsg=!1,this.syncMsg=e.syncMsg}readMessage(e,t){return this.date=e.readInt32(),this.topic=e.readUTF(),this.targetId=e.readUTF(),super.readMessage(e,t),this.pbData=e.readAll(),{stream:e,length:t}}}class Vi extends Di{constructor(e,t,n,r){super(e),this.targetId=n,this.pbData=r,this.topic="string"==typeof t?t:Zo(t)}writeMessage(e){e.writeUTF(this.topic),e.writeUTF(this.targetId),super.writeMessage(e),e.writeBuffer(this.pbData)}}class Gi extends Vi{constructor(e,t,n){super(ei.QUERY,e,n,t)}}class Fi extends Vi{constructor(e,t,n){super(ei.PUBLISH,e,n,t)}}class Bi extends xi{constructor(){super(...arguments),this.status=0,this.date=0,this.millisecond=0,this.messageUId="",this.timestamp=0}readMessage(e,t){return super.readMessage(e,t),this.date=e.readInt32(),this.status=256*e.readByte()+e.readByte(),this.millisecond=256*e.readByte()+e.readByte(),this.timestamp=1e3*this.date+this.millisecond,this.messageUId=e.readUTF(),{stream:e,length:t}}}class ki extends Di{constructor(e){super(ei.PUB_ACK),this.messageId=e}}class Hi extends Di{constructor(e){super(ei.QUERY_CONFIRM),this.messageId=e}}class qi extends xi{constructor(){super(...arguments),this.status=0,this.date=0}readMessage(e,t){return super.readMessage(e,t),this.date=e.readInt32(),this.status=256*e.readByte()+e.readByte(),this.pbData=e.readAll(),{stream:e,length:t}}}const Yi=(e,t)=>{const n=new Uint8Array(e),r=new vi(n),s=r.readByte(),o=(e=>{const{command:t}=e;let n;switch(t){case ei.CONN_ACK:n=new Li(e);break;case ei.PUBLISH:n=new wi(e);break;case ei.PUB_ACK:n=new Bi(e);break;case ei.QUERY_ACK:n=new qi(e);break;case ei.PONG:n=new bi(e);break;case ei.DISCONNECT:n=new Ui(e);break;default:console.error(`No support for deserializing ${t} messages`)}return n})(Ni.parse(s));return o&&o.read(r,n.length-1,t),o};class Ki{constructor(e){this._pullQueue=[],this._isPulling=!1,this._pullTime=0,this._engine=e}_startPull(){return t(this,void 0,void 0,(function*(){if(this._isPulling||0===this._pullQueue.length)return;this._isPulling=!0;const{roomId:e,timestamp:t}=this._pullQueue.splice(0,1)[0],n=this._pullTime;if(n>t)return this._isPulling=!1,void this._startPull();const{code:r,data:s}=yield this._engine.pullRTCRoomEntry(e,n);r===exports.ErrorCode.SUCCESS?(this._isPulling=!1,this._pullTime=s||0,this._startPull()):this._startPull()}))}pullEntry(e,t){this._pullQueue.push({roomId:e,timestamp:t}),this._startPull()}reset(){this._pullTime=0,this._isPulling=!1}}class ji{constructor(e,t,n,r){this.rtcCodec=e,this._watcher=t,this._options=n,this.logger=r,this._appkey=this._options.appkey,this._rtcKVManager=new Ki(this)}registerRTCSignalingListener(e){this._rtcSignalingListener=e}getInnerLogger(){return this.logger}pullRTCRoomEntry(e,n){return t(this,void 0,void 0,(function*(){const t=this.rtcCodec.encode(Ko.RtcPullKV,{timestamp:0,roomId:e}),{code:n,buffer:r}=yield this.rtcSignaling(e,Ii,!0,t);if(n!==exports.ErrorCode.SUCCESS)return{code:n};const s=this.rtcCodec.decode(Ko.RtcKVOutput,r);let{entries:o,syncTime:i}=s;return o=(o||[]).map((e=>Object.assign(Object.assign({},e),{timestamp:gt(e.timestamp)}))),this._watcher.onRTCDataChange(o,e),{code:n,data:i}}))}_receiveRtcKv(e){if(this._rtcSignalingListener)return void this._rtcSignalingListener(e);const{time:t,type:n,roomId:r}=this.rtcCodec.decode(Ko.RtcNotifyMsg,e);1===n&&this._rtcKVManager.pullEntry(r,gt(t))}destroy(){}}class Qi{constructor(){this._callerQueue=[],this._isCalling=!1,this._retryCount=0}pushTask(e){return new Promise((t=>{this._callerQueue.push({task:e,resolve:t}),this._startCall()}))}_startCall(){return t(this,void 0,void 0,(function*(){if(this._isCalling||0===this._callerQueue.length)return;this._isCalling=!0;const e=this._callerQueue.shift(),t=yield this._callHandler(e);e.resolve(t),this._isCalling=!1,this._startCall()}))}_callHandler(e){return t(this,void 0,void 0,(function*(){const{task:t}=e,n=this.getVersion(),r=yield t(n);return r.code===exports.ErrorCode.USER_SETTING_SYNCED_ERROR&&this._retryCount<5?(this._retryCount++,yield this._triggerPull(n),this._callHandler(e)):(this._retryCount=0,r)}))}stopAllTask(){this._callerQueue.forEach((e=>{e.resolve({code:exports.ErrorCode.RC_NET_UNAVAILABLE})})),this._callerQueue=[]}}const Wi={"set.proxy":exports.ErrorCode.INVALID_PARAMETER_PROXY,"test.proxy":exports.ErrorCode.INVALID_PARAMETER_TESTHOST,"test.proxy.socksHost":exports.ErrorCode.INVALID_PARAMETER_TESTHOST,"test.proxy.socksPort":exports.ErrorCode.INVALID_PARAMETER_TESTHOST,channelId:exports.ErrorCode.INVALID_PARAMETER_CHANNEL_ID,count:exports.ErrorCode.INVALID_PARAMETER_COUNT,startTime:exports.ErrorCode.INVALID_PARAMETER_START_TIME,endTime:exports.ErrorCode.INVALID_PARAMETER_END_TIME,offset:exports.ErrorCode.INVALID_PARAMETER_OFFSET,limit:exports.ErrorCode.INVALID_PARAMETER_LIMIT,keyword:exports.ErrorCode.INVALID_PARAMETER_KEYWORD,messageTypes:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_TYPE,messageType:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_TYPE,typingContentType:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_TYPE,conversation:exports.ErrorCode.INVALID_PARAMETER_CONVERSATION,conversationType:exports.ErrorCode.INVALID_PARAMETER_CONVERSATION_TYPE,targetId:exports.ErrorCode.INVALID_PARAMETER_TARGET_ID,targetIds:exports.ErrorCode.INVALID_PARAMETER_TARGET_ID,userId:exports.ErrorCode.INVALID_PARAMETER_USER_ID,senderUserId:exports.ErrorCode.INVALID_PARAMETER_USER_ID,timestamp:exports.ErrorCode.INVALID_PARAMETER_TIMESTAMP,order:exports.ErrorCode.INVALID_PARAMETER_ORDER,messageId:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_ID,receivedStatus:exports.ErrorCode.INVALID_PARAMETER_RECEIVED_STATUS,receivedStatusInfo:exports.ErrorCode.INVALID_PARAMETER_RECEIVED_STATUS,sentStatus:exports.ErrorCode.INVALID_PARAMETER_SENT_STATUS,content:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_CONTENT,messageIds:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_ARRAY,cleanSpace:exports.ErrorCode.INVALID_PARAMETER_CLEAN_SPACE,messageDirection:exports.ErrorCode.INVALID_MESSAGE_DIRECTION,canIncludeExpansion:exports.ErrorCode.INVALID_PARAMETER_CAN_INCLUDE_EXPANSION,expansion:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_EXPANSION,disableNotification:exports.ErrorCode.INVALID_PARAMETER_DISABLE_NOTIFICATION,messages:exports.ErrorCode.MSG_LIMIT_ERROR,checkDuplicate:exports.ErrorCode.INVALID_PARAMETER_CHECK_DUPLICATE,messageUId:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_UID,key:exports.ErrorCode.INVALID_PARAMETER_KEY,keys:exports.ErrorCode.INVALID_PARAMETER_KEYS,value:exports.ErrorCode.INVALID_PARAMETER_VALUE,isAutoDelete:exports.ErrorCode.INVALID_PARAMETER_IS_AUTO_DELETE,isSendNotification:exports.ErrorCode.INVALID_PARAMETER_IS_SEND_NOTIFICATION,notificationExtra:exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_EXTRA,entries:exports.ErrorCode.INVALID_PARAMETER_ENTRIES,isForce:exports.ErrorCode.INVALID_PARAMETER_IS_FORCE,rtcRoomId:exports.ErrorCode.INVALID_PARAMETER_RTCROOMID,token:exports.ErrorCode.RC_CONN_TOKEN_INCORRECT,conversations:exports.ErrorCode.INVALID_PARAMETER_CONVERSATIONS,draft:exports.ErrorCode.INVALID_PARAMETER_DRAFT,conversationTypes:exports.ErrorCode.INVALID_PARAMETER_CONVERSATION_TYPE_LIST,levels:exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_LEVEL,notificationLevel:exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_LEVEL,notificationLevels:exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_LEVEL,notificationStatus:exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_LEVEL,isTop:exports.ErrorCode.INVALID_PARAMETER_IS_TOP,isUpdateTime:exports.ErrorCode.INVALID_PARAMETER_IS_UPDATE_TIME,message:exports.ErrorCode.INVALID_PARAMETER_MESSAGE,mentionedUserIdList:exports.ErrorCode.INVALID_PARAMETER_USERIDLIST,directionalUserIdList:exports.ErrorCode.INVALID_PARAMETER_USERIDLIST,directedUserIds:exports.ErrorCode.INVALID_PARAMETER_USERIDLIST,isStatusMessage:exports.ErrorCode.INVALID_PARAMETER_IS_STATUS_MESSAGE,pushContent:exports.ErrorCode.INVALID_PARAMETER_PUSH_CONTENT,pushData:exports.ErrorCode.INVALID_PARAMETER_PUSH_DATA,isMentioned:exports.ErrorCode.INVALID_PARAMETER_IS_MENTIONED,mentionedType:exports.ErrorCode.INVALID_PARAMETER_MENTIONED_TYPE,isVoipPush:exports.ErrorCode.INVALID_PARAMETER_IS_VOIP_PUSH,pushConfig:exports.ErrorCode.INVALID_PARAMETER_PUSH_CONFIG,startMsgUId:exports.ErrorCode.INVALID_PARAMETER_START_MESSAGE_UID,endMsgUId:exports.ErrorCode.INVALID_PARAMETER_END_MESSAGE_UID,sentTime:exports.ErrorCode.INVALID_PARAMETER_TIMESTAMP,clearMessageOption:exports.ErrorCode.INVALID_PARAMETER_CLEAR_MESSAGE_OPTION_LIST,searchContent:exports.ErrorCode.SEARCH_PROPS_LIMIT_ERROR,tagId:exports.ErrorCode.INVALID_PARAMETER_TAG_ID,tagIds:exports.ErrorCode.INVALID_PARAMETER_TAG_ID,tagName:exports.ErrorCode.INVALID_PARAMETER_TAG_NAME,containMuted:exports.ErrorCode.INVALID_PARAMETER_CONTAIN_MUTED,channelType:exports.ErrorCode.INVALID_PARAMETER_CHANNEL_TYPE,file:exports.ErrorCode.MEDIA_EXCEPTION,fileType:exports.ErrorCode.INVALID_PARAMETER_MEDIA_TYPE,contentDisposition:exports.ErrorCode.INVALID_PARAMETER_CONTENT_DISPOSITION,mediaUrl:exports.ErrorCode.INVALID_PARAMETER_MEDIA_URL,filename:exports.ErrorCode.INVALID_PARAMETER_DOWNLOADMEDIAFILENAME,saveName:exports.ErrorCode.INVALID_PARAMETER_SAVE_NAME,serverType:exports.ErrorCode.INVALID_PARAMETER_SERVER_TYPE,subscribeType:exports.ErrorCode.INVALID_PARAMETER_SUBSCRIBE_TYPE,expiry:exports.ErrorCode.INVALID_PARAMETER_SUBSCRIBE_EXPIRY,subscribeUserIds:exports.ErrorCode.INVALID_PARAMETER_SUBSCRIBE_PUBLISHER_USERIDS,subscribePageSize:exports.ErrorCode.INVALID_PARAMETER_SUBSCRIBE_PAGESIZE,beforeCount:exports.ErrorCode.INVALID_PARAMETER_BEFORE,afterCount:exports.ErrorCode.INVALID_PARAMETER_AFTER,conversationList:exports.ErrorCode.INVALID_PARAMETER_CONVERSATION_LIST,conversationTypeNotSupport:exports.ErrorCode.CONVERSATION_TYPE_NOT_SUPPORT,profile:exports.ErrorCode.INVALID_PARAMETER_USER_PROFILE,userProfileVisibility:exports.ErrorCode.INVALID_PARAMETER_USER_PROFILE_VISIBILITY,uniqueId:exports.ErrorCode.INVALID_PARAMETER_UNIQUE_ID,extra:exports.ErrorCode.INVALID_PARAMETER_EXTRA,disableUpdateLastMessage:exports.ErrorCode.INVALID_DISABLE_UPDATE_LAST_MESSAGE};var $i;exports.AssertRules=void 0,($i=exports.AssertRules||(exports.AssertRules={}))[$i.STRING=0]="STRING",$i[$i.ONLY_STRING=1]="ONLY_STRING",$i[$i.NUMBER=2]="NUMBER",$i[$i.BOOLEAN=3]="BOOLEAN",$i[$i.OBJECT=4]="OBJECT",$i[$i.ARRAY=5]="ARRAY",$i[$i.CALLBACK=6]="CALLBACK",$i[$i.CHANNEL_ID=7]="CHANNEL_ID",$i[$i.CONVERSATION=8]="CONVERSATION",$i[$i.CONVERSATION_TYPE=9]="CONVERSATION_TYPE";const Ji={[exports.AssertRules.STRING]:ot,[exports.AssertRules.ONLY_STRING]:et,[exports.AssertRules.NUMBER]:nt,[exports.AssertRules.BOOLEAN]:e=>"boolean"==typeof e,[exports.AssertRules.OBJECT]:it,[exports.AssertRules.ARRAY]:rt,[exports.AssertRules.CALLBACK]:e=>{let t=!0;return it(e)||(t=!1),(e=e||{}).onSuccess&&!at(e.onSuccess)&&(t=!1),e.onError&&!at(e.onError)&&(t=!1),t},[exports.AssertRules.CHANNEL_ID]:ht,[exports.AssertRules.CONVERSATION]:e=>{let t=!0;return it(e)||(t=!1),et(e.targetId)||(t=!1),ct(e.conversationType)||(t=!1),lt(e.channelId)||ht(e.channelId)||(t=!1),t},[exports.AssertRules.CONVERSATION_TYPE]:ct};class Xi extends Error{constructor(e){super(e),this.name="RCAssertError"}}const Zi=(e,t,n,r=!1)=>{n=Ji[n]||n;const s=r?n(t):lt(t)||null==t||n(t);return s||null===console||void 0===console||console.error(`'${e}' is invalid: ${JSON.stringify(t)}`),s};class zi{constructor(e){this._context=e}__getContext(){return this._context}createCodec(e,t){return new Yo(e,t)}createPBCodec(e,t){return new lr(e,t)}refetchNaviInfo(){return t(this,void 0,void 0,(function*(){return this._context.refetchNaviInfo()}))}getNaviInfo(){return this._context.getNaviInfoFromCache()}getCoreVersion(){return"5.16.0-c-rtc-alpha.2"}getAPIVersion(){return"5.16.0-c-rtc-alpha.2"}getAppkey(){return this._context.appkey}getCurrentId(){return this._context.getCurrentUserId()}getConnectionStatus(){return this._context.getConnectionStatus()}getDeviceId(){return this._context.getDeviceId()}sendMessage(e,t,n){return this._context.sendMessage(e,t,n)}registerMessageType(e,t,n,r=[]){this._context.registerMessageType(e,t,n,r)}getServerTime(){return this._context.getServerTime()}getOSInfo(){return this._context.getOSInfo()}getProcessInfo(){return this._context.getProcessInfo()}getMainProcessInfo(){return this._context.getMainProcessInfo()}setCallInfo(e,t,n){return this._context.setCallInfo(e,t,n)}createLogger(e,t){return this._context.createLogger(e,t)}}class ea extends zi{joinRTCRoom(e,n,r,s,o,i){return t(this,void 0,void 0,(function*(){const t=Wo(this._context.rtcCodec,n,r,s,o,i),{code:a,buffer:l}=yield this.rtcSignaling(e,ni,!0,t);let d;return a===exports.ErrorCode.SUCCESS&&l&&(d=$o(this._context.rtcCodec,l)),{code:a,data:d}}))}quitRTCRoom(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.SetUserStatusInput,{status:0}),{code:n}=yield this.rtcSignaling(e,ri,!0,t);return n}))}rtcPing(e,n,r){return t(this,void 0,void 0,(function*(){const{code:t}=yield this._context.rtcPing(e,n,r);return t}))}rtcPingResVersion(e,t,n){return this._context.rtcPing(e,t,n)}getRTCRoomInfo(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcQueryListInput,{order:2}),{code:n,buffer:r}=yield this.rtcSignaling(e,si,!0,t);let s;return n===exports.ErrorCode.SUCCESS&&r&&(s=this._context.rtcCodec.decode(Ko.RtcRoomInfoOutput,r)),{code:n,data:s}}))}getRTCUserInfoList(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcQueryListInput,{order:2}),{code:n,buffer:r}=yield this.rtcSignaling(e,oi,!0,t);let s;if(n===exports.ErrorCode.SUCCESS&&r){s={users:$o(this._context.rtcCodec,r).users}}return{code:n,data:s}}))}getRTCUserInfo(e){throw new Error("Method not implemented.")}setRTCUserInfo(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcValueInfo,{key:n,value:r}),{code:s}=yield this.rtcSignaling(e,ii,!0,t);return s}))}removeRTCUserInfo(e,n){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcKeyDeleteInput,{key:n}),{code:r}=yield this.rtcSignaling(e,ai,!1,t);return r}))}setRTCData(e,n,r,s,o,i){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcSetDataInput,{interior:s,target:o,key:n,value:r,objectName:null==i?void 0:i.name,content:null==i?void 0:i.content}),{code:a}=yield this.rtcSignaling(e,li,!1,t);return a}))}setRTCTotalRes(e,n,r,s,o=""){return t(this,void 0,void 0,(function*(){const t={objectName:s,content:this._context.rtcCodec.encode(Ko.RtcValueInfo,{key:n.name,value:n.content},!0),valueInfo:[this._context.rtcCodec.encode(Ko.RtcValueInfo,{key:"uris",value:r},!0),this._context.rtcCodec.encode(Ko.RtcValueInfo,{key:"mcu_uris",value:o},!0)]},i=this._context.rtcCodec.encode(Ko.RtcUserSetDataInput,t),{code:a}=yield this.rtcSignaling(e,di,!0,i);return a}))}setRTCCDNUris(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcUserSetDataInput,{objectName:n,valueInfo:this._context.rtcCodec.encode(Ko.RtcValueInfo,{key:"cdn_uris",value:r},!0)}),{code:s}=yield this.rtcSignaling(e,di,!0,t);return s}))}getRTCData(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcDataInput,{interior:r,target:s,key:n}),{code:o,buffer:i}=yield this.rtcSignaling(e,ui,!0,t);if(o!==exports.ErrorCode.SUCCESS||!i)return{code:o};const{outInfo:a}=this._context.rtcCodec.decode(Ko.RtcQryOutput,i),l={};return a.forEach((e=>{l[e.key]=e.value})),{code:o,data:l}}))}removeRTCData(e,n,r,s,o){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcDataInput,{interior:r,target:s,key:n,objectName:null==o?void 0:o.name,content:null==o?void 0:o.content}),{code:i}=yield this.rtcSignaling(e,ci,!1,t);return i}))}setRTCOutData(e,n,r,s){return t(this,void 0,void 0,(function*(){throw new Error("JSEngine's method not implemented.")}))}getRTCOutData(e,n){return t(this,void 0,void 0,(function*(){throw new Error("JSEngine's method not implemented.")}))}getRTCToken(e,n,r){return t(this,void 0,void 0,(function*(){const t=Wo(this._context.rtcCodec,n,r),{code:s,buffer:o}=yield this.rtcSignaling(e,hi,!0,t);if(s!==exports.ErrorCode.SUCCESS||!o)return{code:s};const{rtcToken:i}=this._context.rtcCodec.decode(Ko.RtcTokenOutput,o);return{code:s,data:{rtcToken:i}}}))}setRTCState(e,n){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.MCFollowInput,{state:n}),{code:r}=yield this.rtcSignaling(e,pi,!0,t);return r}))}getRTCUserList(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcQueryListInput,{order:2}),{code:n,buffer:r}=yield this.rtcSignaling(e,_i,!0,t);if(n!==exports.ErrorCode.SUCCESS||!r)return{code:n};return{code:n,data:$o(this._context.rtcCodec,r)}}))}joinLivingRoomAsAudience(e,n,r){return t(this,void 0,void 0,(function*(){const t=Wo(this._context.rtcCodec,n,r),{code:s,buffer:o}=yield this.rtcSignaling(e,gi,!0,t);if(s!==exports.ErrorCode.SUCCESS||!o)return{code:s};const{rtcToken:i,entries:a}=this._context.rtcCodec.decode(Ko.RtcViewerJoinedOutput,o);return{code:s,data:{token:i,kvEntries:a}}}))}quitLivingRoomAsAudience(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.SetUserStatusInput,{status:0}),{code:n}=yield this.rtcSignaling(e,Ei,!0,t);return n}))}rtcIdentityChange(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcInput,{roomType:exports.RTCMode.LIVE,broadcastType:r,identityChangeType:n,needSysChatroom:!1}),{code:s,buffer:o}=yield this.rtcSignaling(e,Ti,!0,t);if(s!==exports.ErrorCode.SUCCESS||!o)return{code:s};return{code:s,data:$o(this._context.rtcCodec,o)}}))}requestRoomPK(e){return t(this,void 0,void 0,(function*(){const{invitedRoomId:t,invitedUserId:n,inviteSessionId:r,inviteTimeout:s,inviteInfo:o,roomId:i}=e,a=this._context.rtcCodec.encode(Ko.RtcInviteInput,{invitedRoomId:t,invitedUserId:n,inviteSessionId:r,timeoutTime:s,inviteInfo:o}),{code:l}=yield this.rtcSignaling(i,fi,!0,a);return l}))}cancelRoomPK(e){return t(this,void 0,void 0,(function*(){const{invitedRoomId:t,invitedUserId:n,inviteSessionId:r,inviteInfo:s,roomId:o}=e,i=this._context.rtcCodec.encode(Ko.RtcCancelInviteInput,{invitedRoomId:t,invitedUserId:n,inviteSessionId:r,inviteInfo:s}),{code:a}=yield this.rtcSignaling(o,Ci,!0,i);return a}))}responseRoomPK(e){return t(this,void 0,void 0,(function*(){const{inviteUserId:t,inviteRoomId:n,inviteSessionId:r,content:s,key:o,value:i,agree:a,roomId:l}=e,d=this._context.rtcCodec.encode(Ko.RtcInviteAnswerInput,{inviteUserId:t,inviteRoomId:n,inviteSessionId:r,content:s,key:o,value:i,answerCode:a?1:0}),{code:u}=yield this.rtcSignaling(l,Ri,!0,d);return u}))}endRoomPK(e){return t(this,void 0,void 0,(function*(){const{endRoomId:t,sessionId:n,content:r,keys:s,roomId:o}=e,i=this._context.rtcCodec.encode(Ko.RtcEndInviteInput,{inviteRoomId:t,inviteSessionId:n,inviteContent:r,inviteRoomKeys:s}),{code:a}=yield this.rtcSignaling(o,Si,!0,i);return a}))}registerRTCSignalListener(e){this._context.registerRTCSignalingListener(e)}rtcSignaling(e,t,n,r){return this._context.rtcSignaling(e,t,n,r)}getRTCJoinedUserInfo(e){return t(this,void 0,void 0,(function*(){const t=this._context.rtcCodec.encode(Ko.RtcQueryUserJoinedInput,{userId:e}),{code:n,buffer:r}=yield this.rtcSignaling("",mi,!0,t);if(n!==exports.ErrorCode.SUCCESS||!r)return{code:n};return{code:n,data:(this._context.rtcCodec.decode(Ko.RtcQueryUserJoinedOutput,r).info||[]).map((e=>({deviceId:e.deviceId,roomId:e.roomId,joinTime:e.joinTime})))}}))}}var ta,na,ra,sa,oa,ia,aa,la,da,ua,ca;exports.StreamMessageResponseEventType=void 0,(ta=exports.StreamMessageResponseEventType||(exports.StreamMessageResponseEventType={})).INIT="INIT",ta.DATA="DATA",ta.END="END";class ha extends je{constructor(e,t){super(),na.add(this),ra.set(this,void 0),sa.set(this,new Map),oa.set(this,void 0),r(this,ra,e,"f"),r(this,oa,t,"f")}requestStreamMessageContent(e){return t(this,void 0,void 0,(function*(){const t=n(this,na,"a",ia).createTraceId();n(this,na,"a",ia).info(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_T,`messageUId: ${e}`,t);const r=yield Xe.create("requestStreamMessageContent").isLimitedString("messageUId",e,1,64,!0).fail(exports.ErrorCode.INVALID_PARAMETER_MESSAGE_UID,"messageUId is invalid.").result().tryTrans(n(this,ra,"f").validatorConnected).tryTrans((e=>{var t,n;return(null===(n=null===(t=null==e?void 0:e.streamServer)||void 0===t?void 0:t.addrs)||void 0===n?void 0:n.length)?$e(e.streamServer.addrs):Je(exports.ErrorCode.STREAM_MESSAGE_DISABLE)})).next((t=>n(this,na,"m",ca).call(this,e,t)));return n(this,na,"a",ia).summary(exports.LogTagId.L_REQ_STREAM_MSG_CONTENT_R,r,t,{messageUId:e}),r.wipe()}))}}function pa(e){return Object.assign({},e)}function _a(e,t,n){const r=n.value;n.value=function(...e){var t;if(1!==(null===(t=this.getNaviInfoFromCache())||void 0===t?void 0:t.userProfile))return Promise.resolve({code:exports.ErrorCode.RC_USER_PROFILE_SERVICE_UNAVAILABLE});return r.call(this,...e)}}function ga(e,t,n){const r=n.value;n.value=function(...e){if(!ma(this.getNaviInfoFromCache()))return Promise.resolve({code:exports.ErrorCode.RC_REAL_TIME_CONVERSATION_UNAVAILABLE});return r.call(this,...e)}}ra=new WeakMap,sa=new WeakMap,oa=new WeakMap,na=new WeakSet,ia=function(){return n(this,ra,"f").logger},aa=function(e,t,r){const s=n(this,sa,"f").get(e);s&&(n(this,sa,"f").delete(e),n(this,na,"m",la).call(this,e,exports.StreamMessageResponseEventType.END,t,s.msg))},la=function(e,t,n,r,s){this.emit("message",{code:n,messageUId:e,type:t,chunk:s,message:r})},da=function(e,t){e.content=Object.assign(Object.assign({},e.content),t),n(this,ra,"f").setMessageContent(e.messageId,e.content,e.messageType)},ua=function(e,t,r){const s=n(this,sa,"f").get(t);let o,i;switch(e){case"init":s.msg&&n(this,na,"m",da).call(this,s.msg,{content:"",stopReason:0,completeReason:0,isSynced:!1}),n(this,na,"m",la).call(this,t,exports.StreamMessageResponseEventType.INIT,exports.ErrorCode.SUCCESS,s.msg);break;case"complete":o=r.length?JSON.parse(r):{},i=o.complete||!1,s.msg&&n(this,na,"m",da).call(this,s.msg,{stopReason:o.stopReason||0,completeReason:o.completeReason||0,complete:i,isSynced:i}),n(this,na,"m",aa).call(this,t,o.stopReason||0,i);break;default:o=JSON.parse(r),s.cached+=o.content,s.msg&&n(this,na,"m",da).call(this,s.msg,{content:s.cached}),n(this,na,"m",la).call(this,t,exports.StreamMessageResponseEventType.DATA,exports.ErrorCode.SUCCESS,s.msg,{content:o.content,fullContent:s.cached})}},ca=function(e,r){return t(this,void 0,void 0,(function*(){if(n(this,sa,"f").has(e))return Je(exports.ErrorCode.STREAM_MESSAGE_REQUEST_IN_PROCESS,`Request in process, msgUId: ${e}`);if(n(this,sa,"f").size>=3)return Je(exports.ErrorCode.STREAM_MESSAGE_REQUEST_COUNT_LIMIT_EXCEEDED,"The request queue is full");const t=rr.createSSEClient({logger:n(this,na,"a",ia),msgUId:e,appkey:n(this,ra,"f").appkey,token:n(this,ra,"f").token,timeout:3e4,onRawContent:t=>{const r=t.split("\n\n");console.log("recv events ->",r),r.forEach((t=>{if(0===t.length)return;t.startsWith("data:")&&(t=`event:delta\n${t}`);const r=t.indexOf("\n"),s=t.slice(0,r).replace("event:",""),o=t.slice(r+1+5);n(this,na,"m",ua).call(this,s,e,o.trim())}))},onNetworkError:t=>{n(this,na,"m",aa).call(this,e,t,!1)}});if(!t.isOk)return t.wipe();const s=t.data,o={client:s,cached:"",msg:void 0};if(n(this,sa,"f").set(e,o),n(this,oa,"f")){const{code:t,data:r}=yield n(this,ra,"f").getLocalMessage(e);if(!r)return n(this,sa,"f").delete(e),Je(t,`message not found, msgUId: ${e}`);if(r.content.isSynced)return n(this,sa,"f").delete(e),Je(exports.ErrorCode.STREAM_MESSAGE_SYNCED,"synced");o.msg=r}const i=yield s.open(r.slice());return i.isOk||n(this,sa,"f").delete(e),i.wipe()}))};class Ea{constructor(e){this._token="",this._pluginContextQueue=[],this._pluginInstanseMap={},this._versionInfo={},this._typingInfo={},this._compatibleMessageProccessor={[exports.MessageType.CHATROOM_MERGE_CHANGE]:this._processChrmMemChangeMessage.bind(this),[exports.MessageType.TYPING_STATUS]:this._processTypingStatusMessage.bind(this),[exports.MessageType.INTERCEPT]:this._processInterceptMessage.bind(this),[exports.MessageType.CHATROOM_SYNC_MSG]:this._processChrmSyncMessage.bind(this),[exports.MessageType.CHATROOM_MERGE_BLOCK]:this._processChrmMemBlockMessage.bind(this),[exports.MessageType.CHATROOM_MERGE_BAN]:this._processChrmMemBanMessage.bind(this)},this._messageProccessor={[exports.MessageType.READ_RECEIPT]:this._processReadReceiptMessage.bind(this),[exports.MessageType.READ_RECEIPT_REQUEST]:this._processReadReceiptRequestMessage.bind(this),[exports.MessageType.READ_RECEIPT_RESPONSE]:this._processReadReceiptResponseMessage.bind(this)},this._watcher={message:void 0,batchMessage:void 0,conversationState:void 0,chatroomState:void 0,connection:void 0,expansion:void 0,tag:void 0,conversationTagChanged:void 0,pullFinished:void 0,readReceiptReceived:void 0,messageReceiptRequest:void 0,messageReceiptResponse:void 0,typingState:void 0,messageBlocked:void 0,ultraGroupEnable:void 0,operateStatus:void 0,ultraGroupMessageExpansionUpdated:void 0,ultraGroupMessageModified:void 0,ultraGroupMessageRecalled:void 0,messageDelivered:void 0,groupMessageDeliveredStatus:void 0,ultraGroupChannelChangeType:void 0,ultraGroupChannelUserKicked:void 0,ultraGroupChannelDelete:void 0,userGroupStatus:void 0,messageReadReceipt:void 0,syncReadStatus:void 0,subscribedUserStatusChange:void 0,subscribedRelationChange:void 0,syncSubscribedUserStatusFinished:void 0,ownUserProfileChanged:void 0,groupOperation:void 0,groupInfoChanged:void 0,groupMemberInfoChanged:void 0,groupApplicationEvent:void 0,groupRemarkChangedSync:void 0,groupFollowsChangedSync:void 0,friendAdd:void 0,friendDelete:void 0,friendApplicationStatusChanged:void 0,friendCleared:void 0,friendInfoChangedSync:void 0,databaseUpgradeWillStart:void 0,databaseUpgrading:void 0,databaseUpgradeDidComplete:void 0},this._typingInternalTimer=-1,this._typingExpireTime=2e3,this._typingChangedList=[],this._registerMessageSearchPropsMapping={},this.getChatRoomHistoryMessages=this.getChatroomHistoryMessages,this._options=Object.assign({},e),this.appkey=this._options.appkey,this._options.typingExpireTime&&(this._options.typingExpireTime<2e3?this._typingExpireTime=2e3:this._options.typingExpireTime>6e3?this._typingExpireTime=6e3:this._typingExpireTime=this._options.typingExpireTime),this._options.navigators=this._options.navigators.map((e=>e.replace(/\/$/g,"")));const t={onConnected:this._onConnectionStatusChange.bind(this,exports.RCConnectionStatus.CONNECTED),onConnecting:this._onConnectionStatusChange.bind(this,exports.RCConnectionStatus.CONNECTING),onSuspend:this._onConnectionStatusChange.bind(this,exports.RCConnectionStatus.SUSPENDED),onDisconnected:this._onConnectionStatusChange.bind(this,exports.RCConnectionStatus.DISCONNECTED),batchMessage:this._batchMessageReceiver.bind(this),chatroom:this._chatroomInfoListener.bind(this),conversation:this._conversationInfoListener.bind(this),expansion:this._expansionInfoListener.bind(this),tag:this._tagListener.bind(this),conversationTag:this._conversationTagListener.bind(this),onRTCDataChange:this._rtcDataChange.bind(this),pullFinished:this._pullFinishedListener.bind(this),ultraGroupEnable:this._ultraGroupEnableListener.bind(this),operateStatus:this._operateStatusListener.bind(this),ultraGroupMessageExpansionUpdated:this._ultraGroupMessageExpansionUpdatedListener.bind(this),ultraGroupMessageModified:this._ultraGroupMessageModifiedListener.bind(this),ultraGroupMessageRecalled:this._ultraGroupMessageRecalledListener.bind(this),messageDelivered:this._messageDeliveredListerer.bind(this),groupMessageDeliveredStatus:this._groupMessageDeliveredStatusListerer.bind(this),callInfo:this._callInfoListener.bind(this),ultraGroupChannelChangeType:this._ultraGroupChannelChangeTypeListener.bind(this),ultraGroupChannelUserKicked:this._ultraGroupChannelUserKickedListener.bind(this),ultraGroupChannelDelete:this._ultraGroupChannelDeleteListener.bind(this),onNaviDataChange:this._naviDataChange.bind(this),userGroupStatus:this._userGroupStatusListener.bind(this),messageReadReceipt:this._messageReadReceipt.bind(this),syncReadStatus:this._syncReadStatus.bind(this),subscribedUserStatusChange:this._subscribedUserStatusChange.bind(this),subscribedRelationChange:this._subscribedRelationChange.bind(this),syncSubscribedUserStatusFinished:this._syncSubscribedUserStatusFinished.bind(this),ownUserProfileChanged:this._ownUserProfileChanged.bind(this),groupOperation:this._groupOperation.bind(this),groupInfoChanged:this._groupInfoChanged.bind(this),groupMemberInfoChanged:this._groupMemberInfoChanged.bind(this),groupApplicationEvent:this._groupApplicationEvent.bind(this),groupRemarkChangedSync:this._groupRemarkChangedSync.bind(this),groupFollowsChangedSync:this._groupFollowsChangedSync.bind(this),friendAdd:this._friendAdd.bind(this),friendDelete:this._friendDelete.bind(this),friendApplicationStatusChanged:this._friendApplicationStatusChanged.bind(this),friendCleared:this._friendCleared.bind(this),friendInfoChangedSync:this._friendInfoChangedSync.bind(this),databaseUpgradeWillStart:this._databaseUpgradeWillStart.bind(this),databaseUpgrading:this._databaseUpgrading.bind(this),databaseUpgradeDidComplete:this._databaseUpgradeDidComplete.bind(this)};this.rtcCodec=new Yo(jo,Qo);const n=ft();this._engine=n?new RCCppEngine(this.rtcCodec,t,this._options):new hd(this.rtcCodec,t,this._options),this.logger=this._engine.getInnerLogger(),this.sse=new ha(this,n)}static init(e){if(this._context)return this._context.logger.warn(exports.LogTagId.A_INIT_REPEAT_O),this._context;this._context=new Ea(e),this._context.logger.info(exports.LogTagId.L_INIT_O,JSON.stringify({appkey:e.appkey,navigators:e.navigators,typingExpireTime:e.typingExpireTime})),this._context.logger.warn(exports.LogTagId.L_IMSDK_VER_O,JSON.stringify({commitId:"9c0e8c0961368f1def21261305314c8406ca410e",version:"5.16.0-c-rtc-alpha.2"}));const t=this._context._engine;return rr.setNetworkStatusListener(t.setNetwork.bind(t)),this._context}static getContext(){return this._context}getOptions(){return this._options}static destroy(){return t(this,void 0,void 0,(function*(){this._context&&(this._context.logger.info(exports.LogTagId.L_DESTROY_O),yield this._context._destroy(),this._context=void 0)}))}get chatroom(){return this._engine.chatroom}install(e,t){const n=this.logger.createTraceId();if(this.logger.info(exports.LogTagId.L_INSTALL_PLUGIN_T,JSON.stringify({tag:e.tag}),n),this._pluginInstanseMap[e.tag])return this.logger.warn(exports.LogTagId.L_INSTALL_PLUGIN_R,"repeat install",n),this._pluginInstanseMap[e.tag];const r="RCRTC"===e.tag?new ea(this):new zi(this);let s=null;try{if(!e.verify(rr))return null;s=e.setup(r,rr,t)}catch(e){this.logger.error(exports.LogTagId.L_INSTALL_PLUGIN_R,null==e?void 0:e.stack,n)}return["RCRTC","RCCall"].includes(e.tag)&&e.version&&e.name&&(this._versionInfo[e.name]=e.version),s&&(this._pluginContextQueue.push(r),this._pluginInstanseMap[e.tag]=s),s}_onConnectionStatusChange(e,t){var n,r;this.logger.warn(exports.LogTagId.A_CONNECT_S,`status: ${e}, code: ${t}`),null===(r=(n=this._watcher).connection)||void 0===r||r.call(n,e,t),this._pluginContextQueue.forEach((n=>{var r;null===(r=n.onconnectionstatechange)||void 0===r||r.call(n,e,t)}))}_processChrmMemChangeMessage(e){if("function"==typeof this._watcher.chatroomState){const t={},n=[];let{memberCount:r=0}=e.content;Array.isArray(e.content.userList)&&e.content.userList.forEach((e=>{t[e.userId]=e.status,n.push({userId:e.userId,action:e.status,extra:e.extra})})),this._watcher.chatroomState({userChange:{users:t,chatroomId:e.targetId,memberCount:r,userList:n}})}return!0}_processTypingStatusMessage(e){if(this._addTypingInfo(pa(e)),this._watcher.typingState)return!0}_processInterceptMessage(e){const t={conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId||"",blockType:e.content.interceptType,blockedMessageUId:e.content.msgUId,extra:e.content.extra};if(e.conversationType===exports.ConversationType.ULTRA_GROUP){const{sourceType:n}=e.content;if(t.sourceType=n,(n===exports.MessageBlockSourceType.MSG_EXPANSION||n===exports.MessageBlockSourceType.MSG_MODIFY)&&e.content.sourceContent)try{t.sourceContent=JSON.parse(e.content.sourceContent)}catch(e){this.logger.warn(exports.LogTagId.L_CALLBACK_E,JSON.stringify({source:"message.content.sourceContent",msg:e.message}))}}return this._MessageBlockedListener(t),!0}_processChrmSyncMessage(e){return"function"==typeof this._watcher.chatroomState&&this._watcher.chatroomState({chatroomNotifyMultiLoginSync:{chatroomId:e.content.chatroomId,status:e.content.status,reason:e.content.reason,time:e.content.time,extra:e.content.extra||null}}),!0}_processChrmMemBlockMessage(e){var t;const{content:n}=e;return n.operateType===exports.ChrmMemOperateType.Blocked&&(null===(t=n.userList)||void 0===t?void 0:t.includes(this.getCurrentUserId()))&&this._engine.removeChatroomFromCatch(n.chatroomId),"function"==typeof this._watcher.chatroomState&&this._watcher.chatroomState({chatroomNotifyBlock:{chatroomId:n.chatroomId,operateType:n.operateType,durationTime:n.durationTime,operateTime:n.operateTime,userIdList:n.userList,extra:n.extra||null}}),!0}_processChrmMemBanMessage(e){return"function"==typeof this._watcher.chatroomState&&this._watcher.chatroomState({chatroomNotifyBan:{chatroomId:e.content.chatroomId,banType:e.content.operateType,durationTime:e.content.durationTime,operateTime:e.content.operateTime,userIdList:e.content.userList,extra:e.content.extra||null}}),!0}_processReadReceiptMessage(e){"function"==typeof this._watcher.readReceiptReceived&&this._watcher.readReceiptReceived({conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId},e.content.messageUId,e.content.lastMessageSendTime,e.senderUserId)}_processReadReceiptRequestMessage(e){"function"==typeof this._watcher.messageReceiptRequest&&this._watcher.messageReceiptRequest({conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId},e.content.messageUId,e.senderUserId)}_processReadReceiptResponseMessage(e){var t;const n=null===(t=e.content)||void 0===t?void 0:t.receiptMessageDic,r=this._engine.getCurrentUserId();n&&Array.isArray(n[r])&&"function"==typeof this._watcher.messageReceiptResponse&&this._watcher.messageReceiptResponse({conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId},e.senderUserId,n[r])}_messageReceiver(e,t,n){var r,s,o,i;if(!(null===(s=(r=this._compatibleMessageProccessor)[e.messageType])||void 0===s?void 0:s.call(r,e))&&!this._pluginContextQueue.some((t=>{if(!t.onmessage)return!1;try{return t.onmessage(pa(e))}catch(e){return this.logger.error(exports.LogTagId.A_MSG_LISTENER_E,null==e?void 0:e.stack),!1}})))return null===(i=(o=this._watcher).message)||void 0===i||i.call(o,pa(e),t,n),e}_batchMessageReceiver(e,t,n){const r=[],s=[],o=[exports.MessageType.READ_RECEIPT,exports.MessageType.READ_RECEIPT_REQUEST,exports.MessageType.READ_RECEIPT_RESPONSE];e.forEach((e=>{const i=this._messageReceiver(e,t,n);i&&o.includes(i.messageType)?s.push(i):i&&r.push(i)})),r.length&&this._watcher.batchMessage&&(this.logger.debug(exports.LogTagId.L_BATCH_MESSAGE_O,r.map((e=>e.messageUId)).join(",")),this._watcher.batchMessage(r)),s.length&&s.forEach((e=>{this._messageProccessor[e.messageType]&&this._messageProccessor[e.messageType](e)}))}_chatroomInfoListener(e){var t,n;null===(n=(t=this._watcher).chatroomState)||void 0===n||n.call(t,e)}_conversationInfoListener(e){var t,n;null===(n=(t=this._watcher).conversationState)||void 0===n||n.call(t,e)}_expansionInfoListener(e){var t,n;null===(n=(t=this._watcher).expansion)||void 0===n||n.call(t,e)}_tagListener(){var e,t;null===(t=(e=this._watcher).tag)||void 0===t||t.call(e)}_conversationTagListener(){var e,t;null===(t=(e=this._watcher).conversationTagChanged)||void 0===t||t.call(e)}_typingStatusListener(e){var t,n;null===(n=(t=this._watcher).typingState)||void 0===n||n.call(t,e)}_pullFinishedListener(){var e,t;null===(t=(e=this._watcher).pullFinished)||void 0===t||t.call(e)}_MessageBlockedListener(e){var t,n;null===(n=(t=this._watcher).messageBlocked)||void 0===n||n.call(t,e)}_messageDeliveredListerer(e){var t,n;null===(n=(t=this._watcher).messageDelivered)||void 0===n||n.call(t,e)}_groupMessageDeliveredStatusListerer(e){var t,n;null===(n=(t=this._watcher).groupMessageDeliveredStatus)||void 0===n||n.call(t,e)}_callInfoListener(e){this._pluginContextQueue.forEach((t=>{try{t.onCallInfo&&t.onCallInfo(e)}catch(e){this.logger.warn(exports.LogTagId.L_CALLBACK_E,null==e?void 0:e.stack)}}))}_ultraGroupEnableListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupEnable)||void 0===n||n.call(t,e)}_operateStatusListener(e){var t,n;null===(n=(t=this._watcher).operateStatus)||void 0===n||n.call(t,e)}_ultraGroupMessageExpansionUpdatedListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupMessageExpansionUpdated)||void 0===n||n.call(t,e)}_ultraGroupMessageModifiedListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupMessageModified)||void 0===n||n.call(t,e)}_ultraGroupMessageRecalledListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupMessageRecalled)||void 0===n||n.call(t,e)}_ultraGroupChannelChangeTypeListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupChannelChangeType)||void 0===n||n.call(t,e)}_ultraGroupChannelUserKickedListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupChannelUserKicked)||void 0===n||n.call(t,e)}_ultraGroupChannelDeleteListener(e){var t,n;null===(n=(t=this._watcher).ultraGroupChannelDelete)||void 0===n||n.call(t,e)}_userGroupStatusListener(e){var t,n;null===(n=(t=this._watcher).userGroupStatus)||void 0===n||n.call(t,e)}_messageReadReceipt(e){var t,n;null===(n=(t=this._watcher).messageReadReceipt)||void 0===n||n.call(t,e)}_syncReadStatus(e){var t,n;null===(n=(t=this._watcher).syncReadStatus)||void 0===n||n.call(t,e)}_subscribedUserStatusChange(e){var t,n;null===(n=(t=this._watcher).subscribedUserStatusChange)||void 0===n||n.call(t,e)}_subscribedRelationChange(e){var t,n;null===(n=(t=this._watcher).subscribedRelationChange)||void 0===n||n.call(t,e)}_syncSubscribedUserStatusFinished(e){var t,n;this.logger.info(exports.LogTagId.L_SYNC_SUBSCRIBED_USER_STATUS_FINISHED_S),null===(n=(t=this._watcher).syncSubscribedUserStatusFinished)||void 0===n||n.call(t,e)}_ownUserProfileChanged(e){var t,n;this.logger.info(exports.LogTagId.L_OWN_USER_PROFILE_CHANGED_S),null===(n=(t=this._watcher).ownUserProfileChanged)||void 0===n||n.call(t,e)}_groupOperation(e){var t,n;null===(n=(t=this._watcher).groupOperation)||void 0===n||n.call(t,e)}_groupInfoChanged(e){var t,n;null===(n=(t=this._watcher).groupInfoChanged)||void 0===n||n.call(t,e)}_groupMemberInfoChanged(e){var t,n;null===(n=(t=this._watcher).groupMemberInfoChanged)||void 0===n||n.call(t,e)}_groupApplicationEvent(e){var t,n;null===(n=(t=this._watcher).groupApplicationEvent)||void 0===n||n.call(t,e)}_groupRemarkChangedSync(e){var t,n;null===(n=(t=this._watcher).groupRemarkChangedSync)||void 0===n||n.call(t,e)}_groupFollowsChangedSync(e){var t,n;null===(n=(t=this._watcher).groupFollowsChangedSync)||void 0===n||n.call(t,e)}_friendAdd(e){var t,n;null===(n=(t=this._watcher).friendAdd)||void 0===n||n.call(t,e)}_friendDelete(e){var t,n;null===(n=(t=this._watcher).friendDelete)||void 0===n||n.call(t,e)}_friendApplicationStatusChanged(e){var t,n;null===(n=(t=this._watcher).friendApplicationStatusChanged)||void 0===n||n.call(t,e)}_friendCleared(e){var t,n;null===(n=(t=this._watcher).friendCleared)||void 0===n||n.call(t,e)}_friendInfoChangedSync(e){var t,n;null===(n=(t=this._watcher).friendInfoChangedSync)||void 0===n||n.call(t,e)}_rtcDataChange(e,t){this._pluginContextQueue.forEach((n=>{var r;null===(r=n.onrtcdatachange)||void 0===r||r.call(n,e,t)}))}_naviDataChange(e){this._pluginContextQueue.forEach((t=>{var n;null===(n=t.onnavidatachange)||void 0===n||n.call(t,e)}))}_databaseUpgradeWillStart(){var e,t;this.logger.info(exports.LogTagId.L_DB_UPGRATE_START_S),null===(t=(e=this._watcher).databaseUpgradeWillStart)||void 0===t||t.call(e)}_databaseUpgrading(e){var t,n;this.logger.info(exports.LogTagId.L_DB_UPGRATING_S,e),null===(n=(t=this._watcher).databaseUpgrading)||void 0===n||n.call(t,e)}_databaseUpgradeDidComplete(e){var t,n;this.logger.info(exports.LogTagId.L_DB_UPGRATE_COMPLETE_S),null===(n=(t=this._watcher).databaseUpgradeDidComplete)||void 0===n||n.call(t,e)}assignWatcher(e){Object.keys(this._watcher).forEach((t=>{if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];this._watcher[t]=at(n)||it(n)?n:void 0}}))}_resetWatcher(){Object.keys(this._watcher).forEach((e=>{this._watcher[e]=void 0}))}_addTypingInfo(e){const{senderUserId:t,conversationType:n,targetId:r,content:s,channelId:o}=e,{typingContentType:i}=s,a=`${n}#${r}#${o||""}`;this._typingInfo[a]||(this._typingInfo[a]=[]);const l=this._typingInfo[a].findIndex((e=>e.userId===t));l>=0&&this._typingInfo[a][l].messageType===i?this._typingInfo[a][l].timestamp=Date.now():(l>=0&&this._typingInfo[a].splice(l,1),this._typingInfo[a].push({userId:t,messageType:i,timestamp:Date.now()}),this._typingChangedList.includes(a)||this._typingChangedList.push(a),this._startCheckTypingInfo())}_startCheckTypingInfo(){-1===this._typingInternalTimer&&0!==Object.keys(this._typingInfo).length&&(this._typingInternalTimer=setInterval((()=>{for(const e in this._typingInfo){const t=this._typingInfo[e].length;this._typingInfo[e]=this._typingInfo[e].filter((e=>Date.now()-e.timestamp<this._typingExpireTime)),this._typingInfo[e].length===t||this._typingChangedList.includes(e)||this._typingChangedList.push(e),0===this._typingInfo[e].length&&delete this._typingInfo[e]}this._notifyTypingChanged()}),500))}_notifyTypingChanged(){if(this._typingChangedList.length>0){const e=this._typingChangedList.map((e=>({conversationType:Number(e.split("#")[0]),targetId:e.split("#")[1],channelId:e.split("#")[2],list:this._typingInfo[e]||[]})));this._typingStatusListener(e),this._typingChangedList=[]}0===Object.keys(this._typingInfo).length&&(clearInterval(this._typingInternalTimer),this._typingInternalTimer=-1)}getConnectedTime(){return this._engine.getConnectedTime()}getServerTime(){return this._engine.getServerTime()}getDeviceId(){return this._engine.getDeviceId()}getCurrentUserId(){return this._engine.getCurrentUserId()}getConnectionStatus(){return this._engine.getConnectionStatus()}get validatorConnected(){return()=>this._engine.getConnectionStatus()===exports.RCConnectionStatus.CONNECTED?$e(this._engine.getNaviInfoFromCache()):Je(exports.ErrorCode.RC_NET_UNAVAILABLE)}get token(){return this._token}refetchNaviInfo(){return t(this,void 0,void 0,(function*(){return this._engine.refetchNaviInfo()}))}connect(e,n,r){var s,o;return t(this,void 0,void 0,(function*(){this._token=e;const t=yield rr.getNetworkType();this._engine.setNetwork({status:!0,type:t},!0);const i=!!this._pluginInstanseMap.RCCallPlus,{code:a,data:l}=yield this._engine.connect(e,n,i,r);if(a!==exports.ErrorCode.SUCCESS)return{code:a};if(1!==this._engine.getNaviInfoFromCache().type){const e=ke.getInfo();null===(o=(s=this._engine).reportSDKInfo)||void 0===o||o.call(s,e)}return{code:a,userId:l}}))}disconnect(e){return t(this,void 0,void 0,(function*(){return clearInterval(this._typingInternalTimer),this._typingInternalTimer=-1,this._typingInfo={},yield this._engine.disconnect(e),this._pluginContextQueue.forEach((e=>{if(e.ondisconnect)try{e.ondisconnect()}catch(e){this.logger.error(exports.LogTagId.L_CALLBACK_E,null==e?void 0:e.stack)}})),Promise.resolve()}))}reconnect(e){return this.connect(this.token,!!e,this.logger.createTraceId())}_getTokenWithoutNavi(){return this._token.replace(/@.+$/,"@")}_channelIdConvert(e,t){if(e!==exports.ConversationType.ULTRA_GROUP)return t;const n=this.getNaviInfoFromCache();return!!(2&((null==n?void 0:n.ugDriven)||0))&&!t?"RCDefault":t}getNaviInfoFromCache(){return this._engine.getNaviInfoFromCache()}registerMessageType(e,t,n,r=[],s=!1){rt(r)&&r.length>0&&(this._registerMessageSearchPropsMapping[e]=r),this._engine.registerMessageType(e,t,n,r,s)}registerRTCSignalingListener(e){this._engine.registerRTCSignalingListener(e)}checkSearchPropsMsg(e,t){const n=this._registerMessageSearchPropsMapping[e],r={};return n&&it(t)&&Object.keys(t).forEach((e=>{if(!n.includes(e))return;const s=t[e];nt(s)&&(s>-(2**64)&&s<2**64&&Number.isInteger(s)||(r[e]=s))})),Object.keys(r).length>0?{msg:JSON.stringify(r),code:exports.ErrorCode.SEARCH_PROPS_LIMIT_ERROR}:{code:exports.ErrorCode.SUCCESS}}_handleExpansioResult(e,t){if(!t)return;const{isIllgalEx:n,isExKeyOrValLengthExceedLimit:r,isExceedLimit:s}=_t(e);return s||r?exports.ErrorCode.EXPANSION_LIMIT_EXCEET:n?exports.ErrorCode.INVALID_PARAMETER_MESSAGE_EXPANSION:void 0}sendMessage(e,t,n,r,s){const{code:o,msg:i}=this.checkSearchPropsMsg(n.messageType,n.content);if(o!==exports.ErrorCode.SUCCESS)return Promise.resolve({code:o,msg:i});if(e===exports.ConversationType.SYSTEM&&n.messageType!==exports.MessageType.SYNC_READ_STATUS)return Promise.resolve({code:exports.ErrorCode.SYS_CONVERSATION_NOT_SUPPORT_MESSAGE});if(n.messageType===exports.MessageType.STREAM_MESSAGE)return Promise.resolve({code:exports.ErrorCode.MESSAGE_NOT_SUPPORT_SENDING});const{canIncludeExpansion:a=!1,expansion:l}=n,d=this._handleExpansioResult(l,a);if(d)return Promise.resolve({code:d});const{isMentioned:u,mentionedUserIdList:c,mentionedType:h}=n;u&&[exports.ConversationType.GROUP,exports.ConversationType.ULTRA_GROUP].includes(e)?n.content.mentionedInfo=function(e,t,n){var r,s,o;return{userIdList:(null===(r=e.mentionedInfo)||void 0===r?void 0:r.userIdList)||t,type:(null===(s=e.mentionedInfo)||void 0===s?void 0:s.type)||n||exports.MentionedType.ALL,mentionedContent:(null===(o=e.mentionedInfo)||void 0===o?void 0:o.mentionedContent)||""}}(n.content,c,h):delete n.content.mentionedInfo;const p=JSON.stringify(n.content);if((e=>{let t,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),n+=t<127?1:t<=2047?2:t<=65535?3:4;return n})(p)>Re)return Promise.resolve({code:exports.ErrorCode.RC_MSG_CONTENT_EXCEED_LIMIT});if(e===exports.ConversationType.ULTRA_GROUP)return n.channelId=this._channelIdConvert(e,n.channelId),this._engine.sendUltraMessage(t,n,r,s);const _=this.getNaviInfoFromCache();return(null==_?void 0:_.grpRRVer)&&n.messageType===exports.MessageType.READ_RECEIPT_RESPONSE?Promise.resolve({code:exports.ErrorCode.READ_RECEIPT_ERROR}):this._engine.sendMessage(e,t,n,r,s)}sendExpansionMessage(e){return t(this,void 0,void 0,(function*(){const{channelId:t,conversationType:n,targetId:r,messageUId:s,keys:o,expansion:i,removeAll:a,canIncludeExpansion:l,messageType:d}=e;if(d===exports.MessageType.STREAM_MESSAGE&&((null==o?void 0:o.includes("RC_Ext_StreamMsgSummary"))||(null==i?void 0:i.RC_Ext_StreamMsgSummary)))return{code:exports.ErrorCode.STREAM_MESSAGE_EXPANSION_KEY_ERROR};if(!l)return{code:exports.ErrorCode.MESSAGE_KV_NOT_SUPPORT};const{isIllgalEx:u,isExKeyOrValLengthExceedLimit:c,isExceedLimit:h}=_t(i);if(h||c)return Promise.resolve({code:exports.ErrorCode.EXPANSION_LIMIT_EXCEET});if(u)return Promise.resolve({code:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_EXPANSION});const p={mid:s};i&&(p.put=i),o&&(p.del=o),a&&(p.removeAll=1);const{code:_}=yield this._engine.sendMessage(n,r,{content:p,messageType:exports.MessageType.EXPANSION_NOTIFY,channelId:t});return{code:_}}))}sendReadReceiptMessage(e,n,r){return t(this,void 0,void 0,(function*(){const t=this.getNaviInfoFromCache();return 1!==((null==t?void 0:t.grpRRVer)||0)?{code:exports.ErrorCode.READ_RECEIPT_ERROR,msg:"The read receipt switch is not on, please call the sendMessage method!"}:this._engine.sendReadReceiptMessage(e,n,r)}))}getMessageReader(e,n,r){return t(this,void 0,void 0,(function*(){const t=this.getNaviInfoFromCache();return 1!==((null==t?void 0:t.grpRRVer)||0)?{code:exports.ErrorCode.READ_RECEIPT_ERROR}:this._engine.getMessageReader(e,n,r||"")}))}sendReadReceiptMessageV4(e,n,r){return t(this,void 0,void 0,(function*(){return this._engine.sendReadReceiptMessageV4(e,n,r)}))}getMessageReadReceiptV4(e,n){return t(this,void 0,void 0,(function*(){return this._engine.getMessageReadReceiptV4(e,n)}))}batchGetMessageReadReceiptInfoV4(e,n){return t(this,void 0,void 0,(function*(){return this._engine.batchGetMessageReadReceiptInfoV4(e,n)}))}updateConversationReadTime(e,n){return t(this,void 0,void 0,(function*(){return this._engine.updateConversationReadTime(e,n)}))}_destroy(){return t(this,void 0,void 0,(function*(){this._resetWatcher(),this._engine.destroy(),rr.removeNetworkStatusListener(),yield this.disconnect(),this._pluginContextQueue.forEach((e=>{if(e.ondestroy)try{e.ondestroy()}catch(e){this.logger.error(exports.LogTagId.L_CALLBACK_E,null==e?void 0:e.stack)}})),this._pluginContextQueue.length=0,this._pluginInstanseMap={}}))}getHistoryMessage(e,t,n,r,s,o,i,a){const l={timestamp:n||0,count:r||20,order:s||0,channelId:o||""};if(e===exports.ConversationType.ULTRA_GROUP){const n=this._channelIdConvert(e,l.channelId);return l.channelId=n,this._engine.getUltraHistoryMsg(t,l,a)}return this._engine.getHistoryMessage(e,t,l.timestamp,l.count,l.order,l.channelId,i||"",a)}getMessages(e,t,n,r,s,o,i){const a={timestamp:n||0,count:r||20,order:s||0,channelId:o||""};if(e===exports.ConversationType.ULTRA_GROUP){const n=this._channelIdConvert(e,a.channelId);return a.channelId=n,this._engine.getUltraHistoryMsg(t,a,i)}return this._engine.getMessages(e,t,a.timestamp,a.count,a.order,a.channelId,i)}getContinuousMessages(e,t,n=0,r=20,s=0,o=""){return this._engine.getContinuousMessages(e,t,n,r,s,o)}getHistoryMessagesByObjectNames(e,t,n,r,s,o,i){return this._engine.getHistoryMessagesByObjectNames(e,t,n,r,s,o,i)}getConversationList(e,t,n,r,s){if(t===exports.ConversationType.ULTRA_GROUP){const e=exports.ErrorCode.METHOD_NOT_SUPPORT;return Promise.resolve({code:e,msg:exports.ErrorCode[e]})}return this._engine.getConversationList(e||300,t,n,r,s||"")}getConversationsByPage(e,t,n,r,s){return this._engine.getConversationsByPage(e,t,n,r,s)}getConversation(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.getConversation(e,t,r||"")}removeConversation(e,t,n){return e===exports.ConversationType.ULTRA_GROUP?Promise.resolve(exports.ErrorCode.METHOD_NOT_SUPPORT):this._engine.removeConversation(e,t,n||"")}batchRemoveConversation(e){return this._engine.batchRemoveConversation(e)}getUltraGroupList(e){return this._engine.getUltraGroupList(e)}getBlockUltraGroupList(){return this._engine.getBlockUltraGroupList()}getTopUltraGroupList(){return this._engine.getTopUltraGroupList()}clearUnreadCount(e,t,n){if(e===exports.ConversationType.ULTRA_GROUP){const r=this._channelIdConvert(e,n);return this._engine.clearUltraUnreadcount(t,r||"")}return this._engine.clearConversationUnreadCount(e,t,n||"")}clearAllUnreadCount(){return this._engine.clearAllUnreadCount()}getUnreadCount(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.getConversationUnreadCount(e,t,r||"")}getTotalUnreadCount(e,t,n){if(t&&t.includes(exports.ConversationType.ULTRA_GROUP)){const e=exports.ErrorCode.METHOD_NOT_SUPPORT;return Promise.resolve({code:e,msg:exports.ErrorCode[e]})}return this._engine.getAllConversationUnreadCount(e,t&&t.length>0?t:[exports.ConversationType.PRIVATE,exports.ConversationType.GROUP,exports.ConversationType.SYSTEM,exports.ConversationType.PUBLIC_SERVICE],!!n)}getTotalUnreadCountByLevels(e,t,n){return this._engine.getTotalUnreadCountByLevels(e,t,n)}getFirstUnreadMessage(e,t,n){return this._engine.getFirstUnreadMessage(e,t,n||"")}getFirstUnreadMessageInfo(e,t,n){return this._engine.getFirstUnreadMessageInfo(e,t,n)}setConversationNotificationLevel(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=this._channelIdConvert(e,s);return this._engine.setConversationNotificationLevel(e,n,r,t||"")}))}batchSetConversationNotificationLevel(e,t){return this._engine.batchSetConversationNotificationLevel(e,t)}setConversationStatus(e,t,n,r,s,o=!0){if(e===exports.ConversationType.ULTRA_GROUP&&void 0!==n)return Promise.resolve(exports.ErrorCode.METHOD_NOT_SUPPORT);const i=[{conversationType:e,targetId:t,isTop:n,notificationStatus:r,channelId:this._channelIdConvert(e,s)||"",isUpdateTime:o}];return this._engine.batchSetConversationStatus(i)}setConversationToTop(e,t,n,r,s){return this._engine.setConversationToTop(e,t,n,r,s)}batchSetConversationToTop(e,t,n){return this._engine.batchSetConversationToTop(e,t,!!n)}saveConversationMessageDraft(e,t,n,r){const s=this._channelIdConvert(e,r);return this._engine.saveConversationMessageDraft(e,t,n,s||"")}getConversationMessageDraft(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.getConversationMessageDraft(e,t,r||"")}clearConversationMessageDraft(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.clearConversationMessageDraft(e,t,r||"")}recallMessage(e,n){return t(this,void 0,void 0,(function*(){const t=((e,t)=>Xe.create(e).isObject("conversatino",t,!0).fail(exports.ErrorCode.INVALID_PARAMETER_CONVERSATION).isValueOf("conversationType",t.conversationType,exports.ConversationType,!0).fail(exports.ErrorCode.INVALID_PARAMETER_CONVERSATION_TYPE).validate("targetId",t.targetId,pt,!0).fail(exports.ErrorCode.INVALID_PARAMETER_TARGET_ID).validate("channelId",t.channelId,ht).fail(exports.ErrorCode.INVALID_PARAMETER_CHANNEL_ID))("recallMessage",e).isString("messageUId",n.messageUId,!0).fail(exports.ErrorCode.INVALID_PARAMETER_MESSAGE_UID).isInteger("sentTime",n.sentTime,!1).fail(exports.ErrorCode.INVALID_PARAMETER_TIMESTAMP).isBoolean("disableNotification",n.disableNotification).fail(exports.ErrorCode.INVALID_PARAMETER_DISABLE_NOTIFICATION).isObject("pushConfig",n.pushConfig).fail(exports.ErrorCode.INVALID_PARAMETER_PUSH_CONFIG).isBoolean("disableUpdateLastMessage",n.disableUpdateLastMessage).fail(exports.ErrorCode.INVALID_DISABLE_UPDATE_LAST_MESSAGE).isLimitedTypedArray("directionalUserIdList",n.directionalUserIdList,300,pt,!1,1).fail(exports.ErrorCode.INVALID_PARAMETER_USERIDLIST).result().tryTrans(this.validatorConnected);if(!t.isOk)return this.logger.warn(exports.LogTagId.A_RECALL_MESSAGE_E,t.errmsg()),t.wipe();const{messageUId:r}=n,s=this.logger.createTraceId();this.logger.info(exports.LogTagId.A_RECALL_MESSAGE_T,JSON.stringify({messageUId:r}),s);const{conversationType:o,channelId:i}=e;e.channelId=this._channelIdConvert(o,i)||"";const a=yield this._engine.recallMsg(e,n);return this.logger.summary(exports.LogTagId.A_RECALL_MESSAGE_R,a,s,{messageUId:r}),a}))}deleteRemoteMessage(e,t,n,r){if(e===exports.ConversationType.ULTRA_GROUP&&ft())return Promise.resolve(exports.ErrorCode.METHOD_NOT_SUPPORT);const s=this._channelIdConvert(e,r);return this._engine.deleteRemoteMessage(e,t,n,s||"")}deleteRemoteMessageByTimestamp(e,t,n,r){const s=this._channelIdConvert(e,r);return this._engine.deleteRemoteMessageByTimestamp(e,t,n,s||"")}joinChatroom(e,t=10,n,r){return this._engine.joinChatroom(e,t,r,n)}joinExistChatroom(e,t=10,n,r){return this._engine.joinExistChatroom(e,t,r,n)}quitChatroom(e){return this._engine.quitChatroom(e)}getChatroomInfo(e,t,n){return this._engine.getChatroomInfo(e,t||0,n||0)}setChatroomEntry(e,t){const{key:n,value:r}=t;return wt(n)?Vt(r)?this._engine.setChatroomEntry(e,t):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_VALUE):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_KEY)}setChatroomEntries(e,t){for(let e=0;e<t.entries.length;e++){const n=t.entries[e],{key:r,value:s}=n;if(!wt(r))return Promise.resolve({code:exports.ErrorCode.INVALID_PARAMETER_KEY});if(!Vt(s))return Promise.resolve({code:exports.ErrorCode.INVALID_PARAMETER_VALUE})}const n=Object.assign(Object.assign({},t),{isOverwrite:t.isForce});return this._engine.setChatroomEntries(e,n)}forceSetChatroomEntry(e,t){const{key:n,value:r}=t;return wt(n)?Vt(r)?this._engine.forceSetChatroomEntry(e,t):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_VALUE):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_KEY)}removeChatroomEntry(e,t){const{key:n}=t;return wt(n)?this._engine.removeChatroomEntry(e,t):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_KEY)}removeChatroomEntries(e,t){for(let e=0;e<t.entries.length;e++){const n=t.entries[e],{key:r}=n;if(!wt(r))return Promise.resolve({code:exports.ErrorCode.INVALID_PARAMETER_KEY})}return this._engine.removeChatroomEntries(e,t)}forceRemoveChatroomEntry(e,t){const{key:n}=t;return wt(n)?this._engine.forceRemoveChatroomEntry(e,t):Promise.resolve(exports.ErrorCode.INVALID_PARAMETER_KEY)}getChatroomEntry(e,t){return this._engine.getChatroomEntry(e,t)}getAllChatroomEntries(e){return this._engine.getAllChatroomEntry(e)}getChatroomHistoryMessages(e,t,n,r){return this._engine.getChatroomHistoryMessages(e,r||0,t||20,n||0)}getFileToken(e,n,r,s,o,i){return t(this,void 0,void 0,(function*(){const t=this.getNaviInfoFromCache(),a=(null==t?void 0:t.uploadServer)||"",l=(null==t?void 0:t.ossConfig)||"",{code:d,data:u}=yield this._engine.getFileToken(e,n,r,s,o,i);return d===exports.ErrorCode.SUCCESS&&u?Promise.resolve(Object.assign(u,{qiniu:a,ossConfig:u.ossConfig||l})):Promise.reject(d)}))}getFileUrl(e,n,r,s){return t(this,void 0,void 0,(function*(){const{code:t,data:o}=yield this._engine.getFileUrl(e,r,n,s);return t===exports.ErrorCode.SUCCESS?Promise.resolve(o):Promise.reject(t)}))}createTag(e){return t(this,void 0,void 0,(function*(){return this._engine.createTag(e)}))}removeTag(e){return t(this,void 0,void 0,(function*(){return this._engine.removeTag(e)}))}updateTag(e){return t(this,void 0,void 0,(function*(){return this._engine.updateTag(e)}))}getTagList(){return t(this,void 0,void 0,(function*(){return this._engine.getTagList()}))}addTagForConversations(e,n){return t(this,void 0,void 0,(function*(){if(n.length>1e3)return Promise.resolve({code:exports.ErrorCode.CONVER_OUT_LIMIT_ERROR});const t=n.map((e=>{const{conversationType:t,targetId:n,channelId:r}=e;return{conversationType:t,targetId:n,channelId:this._channelIdConvert(t,r)}}));return this._engine.addTagForConversations(e,t)}))}removeTagForConversations(e,n){return t(this,void 0,void 0,(function*(){const t=n.map((e=>{const{conversationType:t,targetId:n,channelId:r}=e;return{conversationType:t,targetId:n,channelId:this._channelIdConvert(t,r)}}));return this._engine.removeTagForConversations(e,t)}))}removeTagsForConversation(e,n){return t(this,void 0,void 0,(function*(){const t=this._channelIdConvert(e.conversationType,e.channelId);return e.channelId=t,this._engine.removeTagsForConversation(e,n)}))}getConversationListByTag(e,n,r,s){return t(this,void 0,void 0,(function*(){return this._engine.getConversationListByTag(e,n,r,s)}))}getUnreadCountByTag(e,n){return t(this,void 0,void 0,(function*(){return this._engine.getUnreadCountByTag(e,n)}))}setConversationStatusInTag(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._channelIdConvert(n.conversationType,n.channelId);return n.channelId=t,this._engine.setConversationStatusInTag(e,n,r)}))}getTagsForConversation(e){return t(this,void 0,void 0,(function*(){const t=this._channelIdConvert(e.conversationType,e.channelId);return e.channelId=t,this._engine.getTagsForConversation(e)}))}getBlockConversationList(){return this._engine.getBlockConversationList()}getTopConversationList(e,t){return e&&0!==e.length||(e=[exports.ConversationType.PRIVATE,exports.ConversationType.CHATROOM,exports.ConversationType.GROUP,exports.ConversationType.SYSTEM,exports.ConversationType.APP_PUBLIC_SERVICE,exports.ConversationType.PUBLIC_SERVICE]),this._engine.getTopConversationList(e,t||"")}getUnreadConversationList(e){return e&&0!==e.length||(e=[exports.ConversationType.PRIVATE,exports.ConversationType.CHATROOM,exports.ConversationType.GROUP,exports.ConversationType.SYSTEM,exports.ConversationType.APP_PUBLIC_SERVICE,exports.ConversationType.PUBLIC_SERVICE]),this._engine.getUnreadConversationList(e)}getUnreadMentionedCount(e){const t=this._channelIdConvert(e.conversationType,e.channelId);return e.channelId=t,this._engine.getUnreadMentionedCount(e)}getAllUnreadMentionedCount(){return this._engine.getAllUnreadMentionedCount()}sendUltraGroupTypingStatus(e){if(e.conversationType!==exports.ConversationType.ULTRA_GROUP){const e=exports.ErrorCode.CONVERSATION_TYPE_NOT_SUPPORT;return Promise.resolve({code:e,msg:exports.ErrorCode[e]})}const t=this._channelIdConvert(e.conversationType,e.channelId);return e.channelId=t,this._engine.sendUltraGroupTypingStatus(e)}getUltraGroupMessageListByMessageUId(e){const t=e.messages.map((t=>{const{sendTime:n,messageUId:r,channelId:s}=t;return{sendTime:n,messageUId:r,channelId:this._channelIdConvert(e.conversationType,s)}}));return e.messages=t,this._engine.getUltraGroupMessageListByMessageUId(e)}expandUltraMessage(e){return t(this,void 0,void 0,(function*(){const{conversationType:t,expansion:n,canIncludeExpansion:r}=e;if(t!==exports.ConversationType.ULTRA_GROUP){const e=exports.ErrorCode.CONVERSATION_TYPE_NOT_SUPPORT;return{code:e,msg:exports.ErrorCode[e]}}if(!r)return{code:exports.ErrorCode.MESSAGE_KV_NOT_SUPPORT};const{isIllgalEx:s,isExKeyOrValLengthExceedLimit:o,isExceedLimit:i}=_t(n);if(i||o)return{code:exports.ErrorCode.EXPANSION_LIMIT_EXCEET};if(s)return{code:exports.ErrorCode.INVALID_PARAMETER_MESSAGE_EXPANSION};const{code:a}=yield this._engine.expandUltraMessage(e);return{code:a}}))}modifyMessage(e){return t(this,void 0,void 0,(function*(){if(e.conversationType!==exports.ConversationType.ULTRA_GROUP){const e=exports.ErrorCode.CONVERSATION_TYPE_NOT_SUPPORT;return{code:e,msg:exports.ErrorCode[e]}}const{code:t}=yield this._engine.modifyMessage(e);return{code:t}}))}getUltraGroupUnreadMentionedCountByTargetId(e,t){return this._engine.getUltraGroupUnreadMentionedCountByTargetId(e,t)}getUltraGroupUnreadCountByTargetId(e,t){return this._engine.getUltraGroupUnreadCountByTargetId(e,t)}getAllUltraGroupUnreadCount(e=!1){return this._engine.getAllUltraGroupUnreadCount(e)}getAllConversationState(){return this._engine.getAllConversationState()}getUltraGroupUnreadMentionedMessages(e){const t=this._channelIdConvert(exports.ConversationType.ULTRA_GROUP,e.channelId);return e.channelId=t,this._engine.getUltraGroupUnreadMentionedMessages(e)}getUltraGroupFirstUnreadMessageTimestamp(e){const t=this._channelIdConvert(exports.ConversationType.ULTRA_GROUP,e.channelId);return e.channelId=t,this._engine.getUltraGroupFirstUnreadMessageTimestamp(e)}getUltraGroupUnreadInfoList(e){return this._engine.getUltraGroupUnreadInfoList(e)}callExtra(e,...t){return this._engine.callExtra(e,...t)}getOSInfo(){return this._engine.getOSInfo()}getProcessInfo(){return this._engine.getProcessInfo()}getMainProcessInfo(){return this._engine.getMainProcessInfo()}setCallInfo(e,t,n){return this._engine.setCallInfo(e,t,n)}getGroupMessageDeliverList(e,t,n=""){return this._engine.getGroupMessageDeliverList(e,t,n)}getPrivateMessageDeliverTime(e,t=""){return this._engine.getPrivateMessageDeliverTime(e,t)}_isEnableSubDriven(e){const{subDriven:t=0}=this.getNaviInfoFromCache()||{};switch(e){case exports.SubscribeType.ONLINE_STATUS:return 1&t;case exports.SubscribeType.USER_PROFILE:return 2&t;default:return!1}}subscribeUser(e,t,n){return this._isEnableSubDriven(t)?this._engine.subscribeUser(e,t,n):Promise.resolve({code:exports.ErrorCode.RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE})}unSubscribeUser(e,t){return this._isEnableSubDriven(t)?this._engine.unSubscribeUser(e,t):Promise.resolve({code:exports.ErrorCode.RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE})}getSubscribeUserList(e,t,n){return this._isEnableSubDriven(e)?this._engine.getSubscribeUserList(e,t,n):Promise.resolve({code:exports.ErrorCode.RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE})}getSubscribeUserStatus(e,t){return this._isEnableSubDriven(e)?this._engine.getSubscribeUserStatus(e,t):Promise.resolve({code:exports.ErrorCode.RC_SUBSCRIBE_ONLINE_SERVICE_UNAVAILABLE})}updateMyUserProfile(e){return this._engine.updateMyUserProfile(e)}getUserProfiles(e){return this._engine.getUserProfiles(e)}getMyUserProfile(){return this._engine.getMyUserProfile()}updateMyUserProfileVisibility(e){return this._engine.updateMyUserProfileVisibility(e)}getMyUserProfileVisibility(){return this._engine.getMyUserProfileVisibility()}searchUserProfileByUniqueId(e){return this._engine.searchUserProfileByUniqueId(e)}clearConversations(e,n){return t(this,void 0,void 0,(function*(){return this._engine.clearConversations(e,n)}))}setUserStatusListener(e,t){return this._engine.setUserStatusListener(e,(e=>{try{t(e)}catch(e){this.logger.error(exports.LogTagId.L_CALLBACK_E,null==e?void 0:e.stack)}}))}addToBlacklist(e){return t(this,void 0,void 0,(function*(){return this._engine.addToBlacklist(e)}))}removeFromBlacklist(e){return t(this,void 0,void 0,(function*(){return this._engine.removeFromBlacklist(e)}))}getBlacklist(){return t(this,void 0,void 0,(function*(){return this._engine.getBlacklist()}))}getBlacklistStatus(e){return t(this,void 0,void 0,(function*(){return this._engine.getBlacklistStatus(e)}))}insertMessage(e,n,r){return t(this,void 0,void 0,(function*(){const{code:t,msg:s}=this.checkSearchPropsMsg(r.messageType,r.content);return t!==exports.ErrorCode.SUCCESS?Promise.resolve({code:t,msg:s}):this._engine.insertMessage(e,n,r)}))}batchInsertMessage(e,t){return this._engine.batchInsertMessage(e,t)}getMessageCount(e,n,r=""){return t(this,void 0,void 0,(function*(){return this._engine.getMessageCount(e,n,r)}))}deleteMessages(e){return t(this,void 0,void 0,(function*(){return this._engine.deleteMessages(e)}))}deleteMessagesByTimestamp(e,n,r,s,o=""){return t(this,void 0,void 0,(function*(){return this._engine.deleteMessagesByTimestamp(e,n,r,!!s,o)}))}batchClearMessagesByTimestamp(e){return t(this,void 0,void 0,(function*(){return this._engine.batchClearMessagesByTimestamp(e)}))}batchClearRemoteHistoryMessages(e,n){return t(this,void 0,void 0,(function*(){return this._engine.batchClearRemoteHistoryMessages(e,n)}))}clearMessages(e,n,r=""){return t(this,void 0,void 0,(function*(){return this._engine.clearMessages(e,n,r)}))}getLocalMessage(e){return t(this,void 0,void 0,(function*(){const t=Xe.create("getLocalMessage").validate("messageId",e,(()=>et(e)||nt(e)),!0).fail(exports.ErrorCode.INVALID_PARAMETER_MESSAGE_ID).result(),n=this.logger.createTraceId();this.logger.info(exports.LogTagId.A_GET_LOCAL_MESSAGE_T,JSON.stringify({messageId:e}),n);const r=yield t.next((()=>this._engine.getMessage(e)));return this.logger.summary(exports.LogTagId.A_GET_LOCAL_MESSAGE_R,r,n,{messageId:e}),r}))}setMessageContent(e,n,r){return t(this,void 0,void 0,(function*(){return this._engine.setMessageContent(e,n,r)}))}setMessageSearchField(e,n,r){return t(this,void 0,void 0,(function*(){return this._engine.setMessageSearchField(e,n,r)}))}setMessageSentStatus(e,n){return t(this,void 0,void 0,(function*(){return this._engine.setMessageSentStatus(e,n)}))}setMessageReceivedStatus(e,n){return t(this,void 0,void 0,(function*(){return this._engine.setMessageReceivedStatus(e,n)}))}setMessageStatusToRead(e,n,r,s){return t(this,void 0,void 0,(function*(){return this._engine.updateMessageReceiptStatus(e,n,r,s)}))}setUserStatus(e){return t(this,void 0,void 0,(function*(){return this._engine.setUserStatus(e)}))}subscribeUserStatus(e){return t(this,void 0,void 0,(function*(){return this._engine.subscribeUserStatus(e)}))}getUserStatus(e){return t(this,void 0,void 0,(function*(){return this._engine.getUserStatus(e)}))}searchConversationByContent(e,n=[],r,s){return t(this,void 0,void 0,(function*(){return this._engine.searchConversationByContent(e,n,r||"",s)}))}searchConversationByContentWithAllChannel(e,n=[],r){return t(this,void 0,void 0,(function*(){return this._engine.searchConversationByContentWithAllChannel(e,n,r)}))}searchMessageByContent(e,n,r,s,o,i,a=""){return t(this,void 0,void 0,(function*(){return this._engine.searchMessageByContent(e,n,r,s,o,i,a)}))}searchMessageByContentAndMessageType(e,n,r,s,o,i,a){return t(this,void 0,void 0,(function*(){return this._engine.searchMessageByContentAndMessageType(e,n,r,s,o,i,a)}))}searchMessagesByUser(e,n,r,s,o=5,i=""){return t(this,void 0,void 0,(function*(){return this._engine.searchMessagesByUser(e,n,r,s,o,i)}))}getMessagesByTimestamp(e,n,r,s){return t(this,void 0,void 0,(function*(){return this._engine.getMessagesByTimestamp(e,n,r,s)}))}searchMessageByContentWithAllChannel(e,n,r,s,o){return t(this,void 0,void 0,(function*(){return this._engine.searchMessageByContentWithAllChannel(e,n,r,s,o)}))}searchMessageByContentInTimeRangeWithAllChannel(e,n,r,s,o,i,a){return t(this,void 0,void 0,(function*(){return this._engine.searchMessageByContentInTimeRangeWithAllChannel(e,n,r,s,o,i,a)}))}getUnreadMentionedMessages(e,t,n=""){return this._engine.getUnreadMentionedMessages(e,t,n)}clearUnreadCountByTimestamp(e,t,n,r=""){return this._engine.clearUnreadCountByTimestamp(e,t,n,r)}getUltraGroupDefaultNotificationLevel(e,t){const n=this._channelIdConvert(exports.ConversationType.ULTRA_GROUP,t);return this._engine.getUltraGroupDefaultNotificationLevel(e,n||"")}setUltraGroupDefaultNotificationLevel(e,t,n){const r=this._channelIdConvert(exports.ConversationType.ULTRA_GROUP,n);return this._engine.setUltraGroupDefaultNotificationLevel(e,t,r||"")}getConversationNotificationLevel(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.getConversationNotificationLevel(e,t,r||"")}setConversationTypeNotificationLevel(e,t){return this._engine.setConversationTypeNotificationLevel(e,t)}getConversationTypeNotificationLevel(e){return this._engine.getConversationTypeNotificationLevel(e)}getConversationNotificationStatus(e,t,n){const r=this._channelIdConvert(e,n);return this._engine.getConversationNotificationStatus(e,t,r||"")}getRemoteHistoryMessages(e,t,n,r,s,o){return this._engine.getRemoteHistoryMessages(e,t,n,r,s,o)}getConversationListWithAllChannel(){return this._engine.getConversationListWithAllChannel()}getConversationListWithAllChannelByPage(e,t){return this._engine.getConversationListWithAllChannelByPage(e,t)}clearData(){return t(this,void 0,void 0,(function*(){return this._engine.clearData()}))}createLogger(e,t){return this._engine.createLogger(e,t)}getConversations(e){return this._engine.getConversations(e)}setCheckDuplicateMessage(e){return this._engine.setCheckDuplicateMessage(e)}setCheckChatRoomDuplicateMessage(e){return this._engine.setCheckChatRoomDuplicateMessage(e)}rtcSignaling(e,t,n,r){return this._engine.rtcSignaling(e,t,n,r)}rtcPing(e,t,n){return this._engine.rtcPing(e,t,n)}bindRTCRoomForChatroom(e){return this._engine.bindRTCRoomForChatroom(e)}setProxy(e){return this._engine.setProxy(e)}getProxy(){return this._engine.getProxy()}testProxy(e,t){return this._engine.testProxy(e,t)}createGroup(e,t,n,r=[]){return this._engine.createGroup(e,t,n,r)}updateGroupInfo(e,t,n){return this._engine.updateGroupInfo(e,t,n)}getGroupsInfo(e){return this._engine.getGroupsInfo(e)}kickGroupMembers(e,t,n){return this._engine.kickGroupMembers(e,t,n)}quitGroup(e,t){return this._engine.quitGroup(e,t)}dismissGroup(e){return this._engine.dismissGroup(e)}transferGroupOwner(e,t,n,r=!1){return this._engine.transferGroupOwner(e,t,r,n)}setGroupManagers(e,t,n){return this._engine.setGroupManagers(e,t,n)}getGroupMembersByRole(e,t,n){return this._engine.getGroupMembersByRole(e,t,n)}getGroupMembers(e,t){return this._engine.getGroupMembers(e,t)}setGroupMemberInfo(e,t,n,r){return this._engine.setGroupMemberInfo(e,t,n,r)}searchGroupMembers(e,t,n){return this._engine.searchGroupMembers(e,t,n)}joinGroup(e){return this._engine.joinGroup(e)}inviteUsersToGroup(e,t){return this._engine.inviteUsersToGroup(e,t)}acceptGroupInvite(e,t){return this._engine.memberInviteResponse({groupId:e,inviterId:t,optType:0,optResult:exports.GroupOperationStatus.ACCEPT})}refuseGroupInvite(e,t,n){return this._engine.memberInviteResponse({groupId:e,inviterId:t,optType:0,optResult:exports.GroupOperationStatus.REFUSE,reason:n})}acceptGroupApplication(e,t,n){return this._engine.memberInviteResponse({groupId:e,joinUserId:t,inviterId:n,optType:1,optResult:exports.GroupOperationStatus.ACCEPT})}refuseGroupApplication(e,t,n,r){return this._engine.memberInviteResponse({groupId:e,joinUserId:t,inviterId:n,optType:1,optResult:exports.GroupOperationStatus.REFUSE,reason:r})}getGroupApplications(e,t,n){return this._engine.getGroupApplications(e,t,n)}getJoinedGroupsByRole(e,t){return this._engine.getJoinedGroupsByRole(e,t)}searchJoinedGroups(e,t){return this._engine.searchJoinedGroups(e,t)}getJoinedGroups(e){return this._engine.getJoinedGroups(e)}setGroupRemark(e,t){return this._engine.setGroupRemark(e,t)}addGroupFollows(e,t){return this._engine.setGroupFollows(exports.GroupOperationType.ADD,e,t)}removeGroupFollows(e,t){return this._engine.setGroupFollows(exports.GroupOperationType.REMOVE,e,t)}getGroupFollows(e){return this._engine.getGroupFollows(e)}addFriend(e,t,n){return this._engine.addFriend(e,t,n)}deleteFriends(e,t){return this._engine.deleteFriends(e,t)}acceptFriendApplication(e){return this._engine.acceptFriendApplication(e)}refuseFriendApplication(e,t){return this._engine.refuseFriendApplication(e,t)}setFriendInfo(e,t,n){return this._engine.setFriendInfo(e,t,n)}checkFriends(e,t){return this._engine.checkFriends(e,t)}getFriends(e,t){return this._engine.getFriends(e,t)}getFriendApplications(e,t,n){return this._engine.getFriendApplications(e,t,n)}getFriendsInfo(e){return this._engine.getFriendsInfo(e)}searchFriendsInfo(e){return this._engine.searchFriendsInfo(e)}setFriendAddPermission(e){return this._engine.setFriendAddPermission(e)}getFriendAddPermission(){return this._engine.getFriendAddPermission()}getRealtimeConversations(e,t,n){return this._engine.getRealtimeConversations(e,t,n)}getRealtimeConTotalUnreadCount(){return this._engine.getRealtimeConTotalUnreadCount()}clearRealtimeConUnreadCount(e){return this._engine.clearRealtimeConUnreadCount(e)}removeRealtimeConversations(e){return this._engine.removeRealtimeConversations(e)}getRealtimeConUnreadCounts(e){return this._engine.getRealtimeConUnreadCounts(e)}setNotificationQuietHoursWithSetting(e){return Xe.create("setNotificationQuietHoursWithSetting").isObject("opts",e,!0).isString("timezone",e.timezone).fail(exports.ErrorCode.BIZ_ERROR_INVALID_PARAMETER).validate("startTime",e.startTime,(e=>/^\d{2}(:\d{2}){2}$/.test(e)),!0).fail(exports.ErrorCode.INVALID_PARAMETER_TIMESTRING).isLimitedNumber("spanMinutes",e.spanMinutes,1,1439,!0).fail(exports.ErrorCode.INVALID_PARAMETER_SPAN_MINUTES).isValueOf("level",e.level,exports.PushNotificationQuietHoursLevel,!0).fail(exports.ErrorCode.INVALID_PARAMETER_NOTIFICATION_LEVEL).result().next((()=>this._engine.setNotificationQuietHoursWithSetting(e)))}removeNotificationQuietHoursSetting(){return this._engine.removeNotificationQuietHoursSetting()}getNotificationQuietHoursSetting(){return this._engine.getNotificationQuietHoursSetting()}}e([_a],Ea.prototype,"updateMyUserProfile",null),e([_a],Ea.prototype,"getUserProfiles",null),e([_a],Ea.prototype,"getMyUserProfile",null),e([_a],Ea.prototype,"updateMyUserProfileVisibility",null),e([_a],Ea.prototype,"getMyUserProfileVisibility",null),e([_a],Ea.prototype,"searchUserProfileByUniqueId",null),e([_a],Ea.prototype,"createGroup",null),e([_a],Ea.prototype,"updateGroupInfo",null),e([_a],Ea.prototype,"getGroupsInfo",null),e([_a],Ea.prototype,"kickGroupMembers",null),e([_a],Ea.prototype,"quitGroup",null),e([_a],Ea.prototype,"dismissGroup",null),e([_a],Ea.prototype,"transferGroupOwner",null),e([_a],Ea.prototype,"setGroupManagers",null),e([_a],Ea.prototype,"getGroupMembersByRole",null),e([_a],Ea.prototype,"getGroupMembers",null),e([_a],Ea.prototype,"setGroupMemberInfo",null),e([_a],Ea.prototype,"searchGroupMembers",null),e([_a],Ea.prototype,"joinGroup",null),e([_a],Ea.prototype,"inviteUsersToGroup",null),e([_a],Ea.prototype,"acceptGroupInvite",null),e([_a],Ea.prototype,"refuseGroupInvite",null),e([_a],Ea.prototype,"acceptGroupApplication",null),e([_a],Ea.prototype,"refuseGroupApplication",null),e([_a],Ea.prototype,"getGroupApplications",null),e([_a],Ea.prototype,"getJoinedGroupsByRole",null),e([_a],Ea.prototype,"searchJoinedGroups",null),e([_a],Ea.prototype,"getJoinedGroups",null),e([_a],Ea.prototype,"setGroupRemark",null),e([_a],Ea.prototype,"addGroupFollows",null),e([_a],Ea.prototype,"removeGroupFollows",null),e([_a],Ea.prototype,"getGroupFollows",null),e([_a],Ea.prototype,"addFriend",null),e([_a],Ea.prototype,"deleteFriends",null),e([_a],Ea.prototype,"acceptFriendApplication",null),e([_a],Ea.prototype,"refuseFriendApplication",null),e([_a],Ea.prototype,"setFriendInfo",null),e([_a],Ea.prototype,"checkFriends",null),e([_a],Ea.prototype,"getFriends",null),e([_a],Ea.prototype,"getFriendApplications",null),e([_a],Ea.prototype,"getFriendsInfo",null),e([_a],Ea.prototype,"searchFriendsInfo",null),e([_a],Ea.prototype,"setFriendAddPermission",null),e([_a],Ea.prototype,"getFriendAddPermission",null),e([ga],Ea.prototype,"getRealtimeConversations",null),e([ga],Ea.prototype,"getRealtimeConTotalUnreadCount",null),e([ga],Ea.prototype,"clearRealtimeConUnreadCount",null),e([ga],Ea.prototype,"removeRealtimeConversations",null),e([ga],Ea.prototype,"getRealtimeConUnreadCounts",null);let Ia;const Ta=()=>(Ia||(Ia={set:(e,t)=>{rr.localStorage.setItem(e,JSON.stringify(t))},get:e=>{let t;try{t=JSON.parse(rr.localStorage.getItem(e))}catch(e){t=null}return t},remove:e=>rr.localStorage.removeItem(e),getKeys:()=>{const e=[];for(const t in rr.localStorage)e.push(t);return e}}),Ia);class fa{constructor(e){this._caches={},e&&(this._caches=e)}set(e,t){this._caches[e]=t}remove(e){const t=this.get(e);return delete this._caches[e],t}get(e){return this._caches[e]}getKeys(){const e=[];for(const t in this._caches)e.push(t);return e}}class Ca{constructor(e){this._rootStorage=Ta();const t=this._rootStorage.get(e)||{};this._cache=new fa({[e]:t}),this._storageKey=e}_get(){const e=this._storageKey;return this._cache.get(e)||{}}_set(e){const t=this._storageKey;e=e||{},this._cache.set(t,e),this._rootStorage.set(t,e)}set(e,t){const n=this._get();n[e]=t,this._set(n)}remove(e){const t=this._get();delete t[e],this._set(t)}clear(){const e=this._storageKey;this._rootStorage.remove(e),this._cache.remove(e)}get(e){return this._get()[e]}getKeys(){const e=this._get(),t=[];for(const n in e)t.push(n);return t}getValues(){return this._get()||{}}update(e={}){const t=this._storageKey;this._cache.set(t,e),this._rootStorage.set(t,e)}}const Ra=()=>{let e="",{tag:t}=rr;if("browser"===t)return qe;const n="RCDeviceId",r=Ta(),s=r.get(n);return s?e=s:(e=He.genWithLen(22),r.set(n,e)),e},Sa=()=>{if("browser"!==rr.tag)return{type:rr.tag,version:"UnKonw"};const{userAgent:e}=navigator;let t,n;const r={IE:/rv:([\d.]+)\) like Gecko|MSIE ([\d.]+)/,Edge:/Edge\/([\d.]+)/,Firefox:/Firefox\/([\d.]+)/,Opera:/(?:OPERA|OPR).([\d.]+)/,WeChat:/MicroMessenger\/([\d.]+)/,QQBrowser:/QQBrowser\/([\d.]+)/,Chrome:/Chrome\/([\d.]+)/,Safari:/Version\/([\d.]+).*Safari/,iOSChrome:/Mobile\/([\d.]+).*Safari/};for(const s in r){if(!r.hasOwnProperty(s))continue;let o=e.match(r[s]);if(o){n=s,t=o[1]||o[2];break}}return{type:n||"UnKonw",version:t||"UnKonw"}};function ma(e){return Boolean(1&((null==e?void 0:e.sessionMode)||0))}const ya="converStatusChanged";class va extends Qi{constructor(e,t,n){super(),this._eventEmitter=new qo,this._pullQueue=[],this._isPulling=!1,this._pullPromise=null,this._storagePullTimeKey=`con-s-${t}-${n}`,this._oldStorage=Ta(),this._storage=new Ca(Ne(t,n)),this._engine=e,this.adaptOldStatus()}adaptOldStatus(){try{if(this._storage.get(this._storagePullTimeKey)||0)return;const e=this._oldStorage.get(this._storagePullTimeKey)||0;if(!e)return;this._storage.set(this._storagePullTimeKey,e),this._oldStorage.remove(this._storagePullTimeKey)}catch(e){this._engine.getInnerLogger().error(exports.LogTagId.A_CALLBACK_E,`adaptOldStatus error: ${e.message}`)}}_set(e){if(lt(e)||!Array.isArray(e))return;let t=this._storage.get(this._storagePullTimeKey)||0;const n=e.length;e.forEach(((e,r)=>{const s=e.updatedTime||0;t=s>t?s:t,e.conversationType=e.type,this._eventEmitter.emit(ya,{statusItem:e,isLastPull:r===n-1})})),this._storage.set(this._storagePullTimeKey,t),this._pullQueue=this._pullQueue.filter((e=>e>t))}_startPull(){return t(this,void 0,void 0,(function*(){if(this._isPulling||0===this._pullQueue.length)return this._pullPromise;this._isPulling=!0,this._pullQueue.shift();const e=this.getVersion();this._pullPromise=this._engine.pullConversationStatus(e);const{code:t,data:n}=yield this._pullPromise;this._isPulling=!1,this._pullPromise=null,t===exports.ErrorCode.SUCCESS&&this._set(n),0===this._pullQueue.length?this._startCall():this._startPull()}))}_startCall(){const e=Object.create(null,{_startCall:{get:()=>super._startCall}});return t(this,void 0,void 0,(function*(){this._isPulling||e._startCall.call(this)}))}pull(e){const t=this.getVersion();(e>t||0===e)&&(this._pullQueue.push(t),this._startPull())}_triggerPull(e){return t(this,void 0,void 0,(function*(){this._pullQueue.push(e),yield this._startPull()}))}watch(e){this._eventEmitter.on(ya,(t=>{e(t)}))}setConversationUpdatedTime(e){const t=this._storage.get(this._storagePullTimeKey)||0;return e&&e>t?(this._storage.set(this._storagePullTimeKey,e),e):t}getVersion(){return this._storage.get(this._storagePullTimeKey)||0}}const Aa={c:{keyName:"unreadMessageCount",defaultVal:0},hm:{keyName:"hasMentioned",defaultVal:!1},m:{keyName:"mentionedInfo",defaultVal:null},t:{keyName:"lastUnreadTime",defaultVal:0},lt:{keyName:"lastReadTime",defaultVal:0},fut:{keyName:"firstUnreadTime",defaultVal:0},fuid:{keyName:"firstUnreadMessageUid",defaultVal:""},nc:{keyName:"notificationStatus",defaultVal:2},nl:{keyName:"notificationLevel",defaultVal:0},to:{keyName:"isTop",defaultVal:!1},tg:{keyName:"tags",defaultVal:{}},mc:{keyName:"unreadMentionedCount",defaultVal:0},st:{keyName:"lastMessageSentTime",defaultVal:0}},Na={};for(const e in Aa){const{keyName:t}=Aa[e];Na[t]=e}class Oa{constructor(e,t,n){this._currentUserId=t,this.logger=n,this.storage=new Ca(Oe(e,t)),this._localStore=new Ca(Me(e,t))}_getStoreKey(e,t,n){return`${n||""}_${e}_${t}`}_getConOptionByKey(e){const t=(e=e||"").split("_");if(t.length>=2){const e=t.shift(),n=t.shift(),r=t.join("_");return{conversationType:Number(n),targetId:r,channelId:e}}return{conversationType:exports.ConversationType.PRIVATE,targetId:"",channelId:""}}_updateMentionedUserList(e,t,n){const{conversationType:r,messageType:s,isMentioned:o,senderUserId:i}=e;if(o&&r===exports.ConversationType.GROUP){(n.userIdList||[]).forEach((e=>{e===this._currentUserId&&t.indexOf(i)<0&&t.push(i)})),n.type===exports.MentionedType.ALL&&t.indexOf(i)<0&&t.push(i)}if(s===exports.MessageType.RECALL&&r===exports.ConversationType.GROUP){const e=t.indexOf(i);e>=0&&t.splice(e,1)}return t}updateMentionedData(e){const{conversationType:t,targetId:n,content:r,channelId:s,senderUserId:o}=e;let i=r.mentionedInfo;if(!i||o===this._currentUserId)return;const a=this._getStoreKey(t,n,s),l=this._localStore.get(a)||{},d=Na.mentionedInfo,u=Na.hasMentioned,c=l[d]||{};let h=c.userIdList||[];h=this._updateMentionedUserList(e,h,i),i={userIdList:h,type:(null==i?void 0:i.type)||c.type},0!==h.length?(l[d]=i,l[u]=!0):(delete l[d],delete l[u]),ut(l)?this._localStore.set(a,l):this._localStore.remove(a)}_setLocal(e,t){if("tags"===e)for(const e in t)t[e].isTop||delete t[e].isTop;return t}set(e,t,n,r){const s=this._getStoreKey(e,t,r),o=this._localStore.get(s)||{};for(const e in n){const t=Na[e],r=n[e];if(lt(t)||lt(r)||"hasMentioned"===e||"MentionedInfo"===e)continue;const{defaultVal:s}=Aa[t];r===s||"tags"===e&&!ut(r)?delete o[t]:o[t]=this._setLocal(e,r),o.c||(delete o.t,delete o.fut,delete o.fuid,delete o.hm,delete o.m,delete o.mc)}const i=Object.keys(o);1===i.length&&i.includes("st")&&delete o.st,ut(o)?this._localStore.set(s,o):this._localStore.remove(s)}get(e,t,n=""){const r=this._getStoreKey(e,t,n),s=this._localStore.get(r)||{},o={};for(const e in Aa){const{keyName:t,defaultVal:n}=Aa[e];o[t]=s[e]||Tt(n)}return o}getValue(e){const t=this._localStore.getValues()||{},n=[];for(const r in t){const{conversationType:s,targetId:o,channelId:i}=this._getConOptionByKey(r);let a={conversationType:s,targetId:o,channelId:i};const l=t[r];for(const e in l)if(Aa[e]){const{keyName:t,defaultVal:n}=Aa[e];a[t]=l[e]||Tt(n)}a=e?e(a):a,n.push(a)}return n}getValueForTag(){const e=this._localStore.getValues()||{},t={};for(const n in e){const{conversationType:r,targetId:s}=this._getConOptionByKey(n),o={},i=e[n];for(const e in i){const{keyName:t,defaultVal:n}=Aa[e];o[t]=i[e]||Tt(n)}for(const e in o.tags){lt(t[e])&&(t[e]=[]);const n=Object.assign(Object.assign({},o),{conversationType:r,targetId:s});delete n.tags,t[e].push(n)}}return t}adaptOldStore(){try{const e=this.storage.getValues();if(0===Object.keys(e).length)return;for(const t in e){const n=`_${t}`;this._localStore.set(n,e[t])}this.storage.clear()}catch(e){this.logger.error(exports.LogTagId.O,`adaptOldStore error: ${e.message}`)}}remove(e,t,n){const r=this._getStoreKey(e,t,n);this._localStore.remove(r)}}const Ma=[exports.ConversationType.PRIVATE,exports.ConversationType.GROUP,exports.ConversationType.SYSTEM,exports.ConversationType.PUBLIC_SERVICE,exports.ConversationType.APP_PUBLIC_SERVICE],La="conversationChanged",Ua="conTagStatusChanged";class Pa{constructor(e,t,n,r,s,o){this.isEnableRealtimeSession=o,this._updatedConversations={},this._conTagStatusChanged=!1,this._eventEmitter=new qo,this._draftMap={},this._recallMsgTimeMap={},this._appkey=t,this._loginUserId=n,this._store=new Oa(t,n,e.getInnerLogger()),this._statusManager=new va(e,t,n),this._statusManager.watch((e=>{const{statusItem:t,isLastPull:n}=e;this.addStatus(t,n)})),this._eventEmitter.on(La,(e=>{r(e)})),this._eventEmitter.on(Ua,(()=>{s()}));let i=this._store.getValue();if(i.length>1e3){i=i.sort(((e,t)=>{const{lastMessageSentTime:n=0}=e,{lastMessageSentTime:r=0}=t;return r-n})),i.splice(1e3,i.length).forEach((e=>{this._store.remove(e.conversationType,e.targetId,e.channelId)}))}}_calcMsg(e,t,n,r){const s=!this._recallMsgTimeMap[e]||this._recallMsgTimeMap[e]&&!this._recallMsgTimeMap[e].find((e=>e===r.sentTime));let o=t>=r.sentTime;return n&&(o=n<r.sentTime),{isNotRead:o,isNotRepeadRecallSendTime:s}}_calcUnreadCount(e,t){if(this.isEnableRealtimeSession)return{hasChanged:!1,localConversation:t,updateItems:{}};const{content:n,messageType:r,sentTime:s,isCounted:o,messageDirection:i,senderUserId:a,messageUId:l}=e,d=i===exports.MessageDirection.SEND&&a===this._loginUserId,u=r===exports.MessageType.RECALL,c=it(n);let h=!1;const p={},_=t.lastUnreadTime,g=t.lastReadTime,E=t.unreadMessageCount;if(_>s||d)return{hasChanged:h,localConversation:t,updateItems:p};if(o&&(0===t.unreadMessageCount&&(t.firstUnreadMessageUid=l,t.firstUnreadTime=s),t.unreadMessageCount=E+1,t.lastUnreadTime=s,h=!0),u&&c){const{unreadMessageCount:n,hasChanged:r}=this._handleRecall2UnreadCount(e,_,g,E,h);t.unreadMessageCount=n,h=r,0===t.unreadMessageCount&&(t.firstUnreadMessageUid="",t.firstUnreadTime=0)}return h&&(p.unreadMessageCount={val:t.unreadMessageCount||0,time:s}),{hasChanged:h,localConversation:t,updateItems:p}}_handleRecall2UnreadCount(e,t,n,r,s){const o=`${e.conversationType}_${e.channelId}_${e.targetId}`,{isNotRead:i,isNotRepeadRecallSendTime:a}=this._calcMsg(o,t,n,e.content);return i&&r&&a?(this._recallMsgTimeMap[o]||(this._recallMsgTimeMap[o]=[]),this._recallMsgTimeMap[o].push(e.content.sentTime),{unreadMessageCount:r-1,hasChanged:!0}):{unreadMessageCount:r,hasChanged:s}}_calcMentionedInfo(e,t){const{content:n,messageDirection:r,isMentioned:s,sentTime:o}=e,i=r===exports.MessageDirection.SEND,a=it(n);let l=!1;const d={};return!i&&s&&a&&n.mentionedInfo&&(t.hasMentioned=!0,l=!0,d.hasMentioned={val:!0,time:o},d.mentionedInfo={val:n.mentionedInfo,time:o}),{hasChanged:l,localConversation:t,updateItems:d}}_calcMentionedCount(e,t){const{content:n,messageDirection:r,isMentioned:s}=e;let o=!1;if(s&&r===exports.MessageDirection.RECEIVE&&(null==n?void 0:n.mentionedInfo)){const{mentionedInfo:{type:e,userIdList:r}}=n;if(e===exports.MentionedType.ALL||(r||[]).includes(this._loginUserId)){o=!0;const e=t.unreadMentionedCount||0;t.unreadMentionedCount=e+1}}return{hasChanged:o,localConversation:t}}_setUpdatedConversation(e){if(it(e)){const{conversationType:t,targetId:n,channelId:r}=e,s=`${t}_${n}`,o=this._store.get(t,n,r)||{};this._updatedConversations[s]=Object.assign(o,e)}}_setConTagStatusChanged(e,t,n,r){const s=(this._store.get(e,t,r)||{}).tags||{};if(Object.keys(s).length===Object.keys(n).length){for(const e in s)if(!n[e]||!!s[e].isTop!=!!n[e].isTop)return void(this._conTagStatusChanged=!0)}else this._conTagStatusChanged=!0}addStatus(e,t){const{conversationType:n,targetId:r,updatedTime:s,notificationStatus:o,notificationLevel:i,isTop:a,tags:l,channelId:d}=e,u={},c={};if(n===exports.ConversationType.ULTRA_GROUP)return;lt(o)||(c.notificationStatus={time:s,val:o}),lt(i)||(c.notificationLevel={time:s,val:i}),lt(a)||(c.isTop={time:s,val:a}),lt(l)||(c.tags={time:s,val:l},null==l||l.forEach((e=>{u[e.tagId]={isTop:e.isTop}}))),this._setConTagStatusChanged(n,r,u,d);const h=this._store.get(n,r,d).lastMessageSentTime||(new Date).getTime();this._store.set(n,r,{notificationStatus:o,notificationLevel:i,isTop:a,tags:u,lastMessageSentTime:h},d),r&&(this._setUpdatedConversation({conversationType:n,targetId:r,updatedItems:c,channelId:d}),t&&this._notifyConversationChanged())}_notifyConversationChanged(){const e=[];for(const t in this._updatedConversations)e.push(this._updatedConversations[t]);0!==e.length&&(this._eventEmitter.emit(La,e),this._updatedConversations={},this._conTagStatusChanged&&(this._eventEmitter.emit(Ua),this._conTagStatusChanged=!1))}setConversationCacheByMessage(e,t){const{conversationType:n,isPersited:r,targetId:s,channelId:o,sentTime:i,disableUpdateLastMessage:a}=e;if(!(Ma.indexOf(n)>=0))return;let l=!1,d=this._store.get(n,s,o),u={};d.lastMessageSentTime=i;if([this._calcUnreadCount,this._calcMentionedInfo,this._calcMentionedCount].forEach((t=>{const{hasChanged:n,localConversation:r,updateItems:s}=t.call(this,e,d);l=l||n,u=Object.assign(Object.assign({},u),s),d=Tt(r)})),this._store.set(n,s,d,o),this._store.updateMentionedData(e),r&&!a){const t=this._store.get(n,s,o);t.updatedItems=Object.assign({latestMessage:{time:e.sentTime,val:e}},u),t.latestMessage=e;const r=Object.assign(t,{conversationType:n,targetId:s,channelId:o});this._setUpdatedConversation(r)}(l||r&&!a)&&this._notifyConversationChanged()}get(e,t,n=""){return this._store.get(e,t,n)}getAllUnreadCount(e,t,n){const r=this._store.getValue();let s=0;return r.forEach((({unreadMessageCount:e,notificationStatus:r,notificationLevel:o,conversationType:i})=>{e=e||0,(n||void 0!==o&&o<=0||void 0===o&&r!==exports.NotificationStatus.OPEN)&&(t.length>0?t.includes(Number(i))&&(s+=Number(e)):s+=Number(e))})),s}getTotalUnreadCountByLevels(e,t,n){const r=this._store.getValue();let s=0;return r.forEach((({unreadMessageCount:r,notificationLevel:o=0,conversationType:i,unreadMentionedCount:a})=>{e.includes(i)&&(0===t.length||t.includes(o))&&(s+=(n?a:r)||0)})),s}getUnreadCountByTag(e,t){const n=this._store.getValueForTag()[e]||[];let r=0;return n.forEach((({unreadMessageCount:e,notificationStatus:n,notificationLevel:s})=>{(t||1!==n||-1===s||0===s)&&(e=e||0,r+=Number(e))})),r}getUnreadCount(e,t,n){return this._store.get(e,t,n).unreadMessageCount||0}clearUnreadCount(e,t,n,r,s=!0){const o=this._store.get(e,t,n);o.lastReadTime=o.lastUnreadTime,this._recallMsgTimeMap[`${e}_${n}_${t}`]=[];const{unreadMessageCount:i,hasMentioned:a}=o,l={};if(i&&(o.unreadMessageCount=0,l.unreadMessageCount={val:0,time:r}),a&&(o.hasMentioned=!1,o.unreadMentionedCount=0,o.mentionedInfo=void 0,l.hasMentioned={val:!1,time:r},l.mentionedInfo={val:void 0,time:r}),this._store.set(e,t,o,n),!s)return;if(0===Object.keys(l).length)return;const d=Object.assign(o,{conversationType:e,targetId:t,channelId:n,updatedItems:l});this._setUpdatedConversation(d),this._notifyConversationChanged()}clearAllUnreadCount(){this._store.getValue().forEach((e=>{e.unreadMessageCount&&(e.unreadMessageCount=0,e.lastReadTime=e.lastUnreadTime,this._recallMsgTimeMap={},this._store.set(e.conversationType,e.targetId,e,e.channelId))}))}startPullConversationStatus(e){this._statusManager.pull(e)}setDraft(e,t,n,r){const s=`${e}_${t}_${r}`;this._draftMap[s]=n}getDraft(e,t,n){const r=`${e}_${t}_${n}`;return this._draftMap[r]}clearDraft(e,t,n){const r=`${e}_${t}_${n}`;delete this._draftMap[r]}addTagStatus(e,t,n,r=""){const s=this._store.get(e,t,r);let{tags:o}=s;o=Object.assign(o,n);const i=s.lastMessageSentTime||(new Date).getTime();this._store.set(e,t,{tags:o,lastMessageSentTime:i},r)}deleteTagStatus(e,t,n,r=""){const{tags:s}=this._store.get(e,t,r);n.forEach((e=>{delete s[e]})),this._store.set(e,t,{tags:s},r)}getConversationListForTag(){return this._store.getValueForTag()}getBlockConversationList(){return this._store.getValue().filter((e=>e.notificationStatus===exports.NotificationStatus.OPEN||e.notificationLevel&&e.notificationLevel>0)).map((e=>({conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId,notificationLevel:e.notificationLevel||0,notificationStatus:e.notificationStatus||2})))}getTopConversationList(e,t){return(this._store.getValue()||{}).filter((n=>e.includes(n.conversationType)&&(lt(t)||t===n.channelId)&&n.isTop)).map((e=>this._buildConversation(e)))}adaptOldStore(){this._store.adaptOldStore()}getUnreadMentionedCount(e,t,n=""){return this.get(e,t,n).unreadMentionedCount||0}getAllUnreadMentionedCount(){const e=this._store.getValue();let t=0;return e.forEach((({unreadMentionedCount:e})=>{e=e||0,t+=Number(e)})),t}getAllConversationState(){return this._store.getValue().filter((e=>e.unreadMessageCount||e.unreadMentionedCount)).map((e=>({conversationType:e.conversationType,targetId:e.targetId,channelId:e.channelId,unreadCount:e.unreadMessageCount||0,unreadMentionedCount:e.unreadMentionedCount||0})))}getUnreadConversationList(e){return(this._store.getValue()||{}).filter((t=>e.includes(t.conversationType)&&t.unreadMessageCount&&t.unreadMessageCount>0)).map((e=>this._buildConversation(e)))}_buildConversation(e){const t=this.getDraft(e.conversationType,e.targetId,e.channelId);return{channelId:e.channelId,conversationType:e.conversationType,targetId:e.targetId,unreadMessageCount:e.unreadMessageCount||0,latestMessage:null,hasMentioned:e.hasMentioned||!1,mentionedInfo:e.mentionedInfo,notificationStatus:e.notificationStatus||0,notificationLevel:e.notificationLevel||0,isTop:e.isTop||!1,lastUnreadTime:e.lastUnreadTime||0,unreadMentionedCount:e.unreadMentionedCount||0,draft:t}}setConversationUpdatedTime(e){return this._statusManager.setConversationUpdatedTime(e)}getConversationUpdatedTime(){return this._statusManager.getVersion()}pushTask(e){return this._statusManager.pushTask(e)}stopAllTask(){this._statusManager.stopAllTask()}}class ba{constructor(e,t){this._localStore=new Ca(Le(e,t))}set(e,t,n,r){const s=this._getStoreKey(e,t,r),o=this._localStore.get(s)||{};for(const e in n){const t=Da[e],r=n[e];if(lt(t)||lt(r))continue;const{defaultVal:s}=xa[t];r===s?delete o[t]:o[t]=r}ut(o)?this._localStore.set(s,o):this._localStore.remove(s)}get(e,t,n=""){const r=this._getStoreKey(e,t,n),s=this._localStore.get(r)||{},o={};for(const e in xa){const{keyName:t,defaultVal:n}=xa[e];o[t]=s[e]||Tt(n)}return o}_getStoreKey(e,t,n){return`${n}_${e}_${t}`}}const xa={nc:{keyName:"notificationStatus",defaultVal:2},nl:{keyName:"notificationLevel",defaultVal:0}},Da={};for(const e in xa){const{keyName:t}=xa[e];Da[t]=e}class wa{constructor(e,t){this._store=new ba(e,t)}addUltraGroupStatus(e){const{conversationType:t,targetId:n,notificationStatus:r,notificationLevel:s,channelId:o}=e;t===exports.ConversationType.ULTRA_GROUP&&this._store.set(t,n,{notificationStatus:r,notificationLevel:s},o)}get(e,t,n=""){return this._store.get(e,t,n)}}const Va={_caches:{},set(e,t){this._caches[e]=t},get(e){return this._caches[e]||0},clear(e){this._caches[e]=0}};class Ga{constructor(e,t,n){this.logger=e,this._kvCaches={},this._chatroomId=t,this._currentUserId=n}_add(e){const{key:t}=e;e.isDeleted=!1,this._kvCaches[t]=e}_remove(e){const{key:t}=e,n=this._kvCaches[t];n&&(n.isDeleted=!0,this._kvCaches[t]=n)}_setEntry(e,t){const{key:n,type:r,isOverwrite:s,userId:o}=e,i=this._getSetUserId(n),a=r===exports.ChatroomEntryType.DELETE,l=i===o,d=!this._isExisted(n),u=a?this._remove:this._add;(t||s||l||d)&&u.call(this,e)}getValue(e){const t=this._kvCaches[e]||{},{isDeleted:n}=t;return n?null:t.value}getVersion(e){const t=this._kvCaches[e]||{},{isDeleted:n}=t;return n?null:t.version}getAllValue(){const e={};for(const t in this._kvCaches)this._kvCaches[t].isDeleted||(e[t]=this._kvCaches[t].value);return e}_getSetUserId(e){return(this._kvCaches[e]||{}).userId}_isExisted(e){const t=this._kvCaches[e]||{},{value:n,isDeleted:r}=t;return n&&!r}setEntries(e){let{kvEntries:t,isFullUpdate:n}=e;t=t||[],n=n||!1,n&&this.clear(),t.forEach((e=>{this._setEntry(e,n)}))}clear(){this._kvCaches={}}}class Fa{constructor(e){this._pullQueue=[],this._isPulling=!1,this._storeCaches={},this._engine=e}_startPull(){return t(this,void 0,void 0,(function*(){if(this._isPulling||0===this._pullQueue.length)return;this._isPulling=!0;const{chrmId:e,timestamp:t}=this._pullQueue.splice(0,1)[0],n=Va.get(e);if(n>t)return this._isPulling=!1,void this._startPull();const{code:r,data:s}=yield this._engine.pullChatroomEntry(e,n);this._isPulling=!1,r===exports.ErrorCode.SUCCESS?(Va.set(e,s.syncTime||0),this._startPull()):this._startPull()}))}reset(e){Va.clear(e);const t=this._storeCaches[e];null==t||t.clear()}pullEntry(e,t){this._pullQueue.push({chrmId:e,timestamp:t}),this._startPull()}setLocal(e,t,n){let r=this._storeCaches[e];ut(r)||(r=new Ga(this._engine.getInnerLogger(),e,n)),r.setEntries(t),this._storeCaches[e]=r}getValue(e,t){const n=this._storeCaches[e];return n?n.getValue(t):null}getVersion(e,t){const n=this._storeCaches[e];return n?n.getVersion(t):null}getAll(e){const t=this._storeCaches[e];let n={};return t&&(n=t.getAllValue()),n}}class Ba{constructor(e){this._canJoinMulipleChrm=e,this._joinedChrmsInfo={}}set(e,t=10,n=""){this._canJoinMulipleChrm||(this._joinedChrmsInfo={}),this._joinedChrmsInfo[e]={count:t,extra:n}}get(){return JSON.parse(JSON.stringify(this._joinedChrmsInfo))}remove(e){delete this._joinedChrmsInfo[e]}clear(){this._joinedChrmsInfo={}}}class ka extends Qi{constructor(e,t,n,r){super(),this._tagKey="tags",this._versionKey="version",this._pullQueue=[],this._isPulling=!1,this._pullPromise=null,this._storageKey=De(t,n),this._storage=new Ca(this._storageKey),this._engine=e,this._tagWatcherFunc=r}_updateTag(e){const{tags:t}=e,n={};t.forEach((e=>{n[e.tagId]={tagName:e.tagName,createdTime:e.createdTime}})),this._storage.set(this._tagKey,n),this._tagWatcherFunc()}addTag(e,t){const n=this._storage.get(this._tagKey)||{};e.forEach((e=>{var t;const r=(null===(t=n[e.tagId])||void 0===t?void 0:t.createdTime)||e.createdTime||0;n[e.tagId]={tagName:e.tagName,createdTime:r}})),this._storage.update({[this._tagKey]:n,[this._versionKey]:t})}deleteTag(e,t){const n=this._storage.get(this._tagKey)||{};e.forEach((e=>{delete n[e]})),this._storage.update({[this._tagKey]:n,[this._versionKey]:t})}getTagsInfo(){return this._storage.get(this._tagKey)||{}}getTags(){const e=this._storage.get(this._tagKey)||{},t=[];for(const n in e)t.push({tagId:n,tagName:e[n].tagName,createdTime:e[n].createdTime,conversationCount:0});return t.sort((function(e,t){return(e.createdTime||0)-(t.createdTime||0)}))}getTagById(e){const t=this._storage.get(this._tagKey)||{};return t[e]?{tagId:e,tagName:t[e].tagName,createdTime:t[e].createdTime,conversationCount:0}:null}_startPull(){return t(this,void 0,void 0,(function*(){if(this._isPulling||0===this._pullQueue.length)return this._pullPromise;this._isPulling=!0,this._pullQueue.shift();const e=this.getVersion();this._pullPromise=this._engine.pullUserSettings(e);const{code:t,data:n}=yield this._pullPromise;if(this._isPulling=!1,this._pullPromise=null,t===exports.ErrorCode.SUCCESS&&!lt(n)){const{settings:e,version:t}=n,r=e.Tag;lt(r)||this._updateTag(r),this._storage.set(this._versionKey,t),this._pullQueue=this._pullQueue.filter((e=>e>t))}0===this._pullQueue.length?this._startCall():this._startPull()}))}_startCall(){const e=Object.create(null,{_startCall:{get:()=>super._startCall}});return t(this,void 0,void 0,(function*(){this._isPulling||e._startCall.call(this)}))}pullUserSettings(e){const t=this.getVersion();(e>t||0===e)&&(this._pullQueue.push(t),this._startPull())}_triggerPull(e){return t(this,void 0,void 0,(function*(){this._pullQueue.push(e),yield this._startPull()}))}getVersion(){return this._storage.get(this._versionKey)||0}updateVersion(e){this._storage.set(this._versionKey,e)}}const Ha={};function qa(){return{code:200,protocol:"https",server:"",voipCallInfo:"",kvStorage:0,openHttpDNS:!1,historyMsg:!1,chatroomMsg:!1,location:"",monitor:0,joinMChrm:!1,openMp:0,openUS:0,grpMsgLimit:0,isFormatted:0,gifSize:2048,logSwitch:0,logPolicy:"",compDays:0,msgAck:"",activeServer:"",qnAddr:"",extkitSwitch:0,alone:!1,voipServer:"",offlinelogserver:"",backupServer:Wt.getMiniCmpUrlList().join(",")}}class Ya extends un{constructor(e,t,n,r="default"){super(e,t,n,rr.useNavi&&"https:"===(null===window||void 0===window?void 0:window.location.protocol),rr.useNavi),this._environment=r}httpRequest(e,n,r,s,o){return t(this,void 0,void 0,(function*(){const t=`${e}/navi.js?appId=${n}&token=${encodeURIComponent(r)}&callBack=x&v=${me}&r=${Date.now()}&env=${this._environment}`;this.logger.debug(exports.LogTagId.L_REQUEST_T,`req navi => ${t}`,s);const i=yield rr.httpReq({url:t,timeout:1e4,dataType:"text"});if(200!==i.status)return this.logger.debug(exports.LogTagId.L_REQUEST_R,`request navi failed: ${i.status}`,s),!rr.useNavi&&o?$e(qa()):Je(this.transHttpCode(i.status));try{let e=i.data.match(/{[\d\D]+}/)[0];0===e.indexOf('{\\"code\\":')&&(e=JSON.parse(`"${e}"`));const n=JSON.parse(e);return n.protocol=/^https/.test(t)?"https":"http",n.code&&200!==n.code?Je(this.transHttpCode(n.code)):(rr.useNavi||(n.server="",n.backupServer=Wt.getMiniCmpUrlList().join(","),n.logSwitch=0),$e(n))}catch(e){this.logger.error(exports.LogTagId.L_PARSE_NAVI_E,i.data,s)}return Je(exports.ErrorCode.RC_NAVI_REQ_FAILED)}))}httpRequestV2(e,n,r,s,o){return t(this,void 0,void 0,(function*(){const t=this.getNaviV2RequestOption({appkey:n,token:r,uri:e,platform:rr.tag,protocol:(/^https/.test(e)?V.WSS:V.WS).toString()});this.logger.debug(exports.LogTagId.L_REQUEST_T,`req navi => ${t.url}`,s);const i=yield rr.httpReq(t);if(200!==i.status)return this.logger.debug(exports.LogTagId.L_REQUEST_R,`request navi failed: ${i.status}`,s),!rr.useNavi&&o?$e(qa()):Je(this.transHttpCode(i.status));try{let e=i.data;const n="object"!=typeof e?JSON.parse(e):e;if(n.protocol=/^https/.test(t.url)?"https":"http",!rr.useNavi){n.logSwitch=0;const e=Wt.getMiniCmpUrlList();n.serverAddr=e.map(((n,r)=>({addr:n,protocol:/^https/.test(t.url)?V.WSS:V.WS,weight:e.length-r})))}return $e(n)}catch(e){this.logger.error(exports.LogTagId.L_PARSE_NAVI_E,i.data,s)}return Je(exports.ErrorCode.RC_NAVI_REQ_FAILED)}))}getNaviCache(e){const t=this.getCatchKey(e);if(Ha[t])return Ha[t];const n=Ae(this.appkey),r=rr.localStorage;let s;try{const e=r.getItem(n);s=e?JSON.parse(e):[]}catch(e){s=[]}if(0===s.length)return null;const o=s.find((t=>t.token===e&&t.environment===this._environment))||null;return Ha[t]=o,o}setNaviCache(e,t){const n=Ae(this.appkey),r=rr.localStorage;let s;try{const e=r.getItem(n);s=e?JSON.parse(e):[]}catch(e){s=[]}const o=Date.now();s.length>0&&(s=s.filter((t=>o-t.timestamp<fe&&(e!==t.token||this._environment!==t.environment))));const i={timestamp:o,naviInfo:t,token:e,environment:this._environment};s.push(i),r.setItem(n,JSON.stringify(s)),Ha[this.getCatchKey(e)]=i}}class Ka{constructor(e){this._appkey=e,this._users={}}_getMemData(e){return this._users[e]=this._users[e]||{inboxTime:0,outboxTime:0,broadcastSyncTime:0},this._users[e]}setInboxTime(e,t){const n=this._getMemData(t);if(n.inboxTime>e)return;n.inboxTime=e;const r=Pe(this._appkey,t);rr.localStorage.setItem(r,e.toString())}getInboxTime(e){const t=this._getMemData(e);if(0===t.inboxTime){const n=Pe(this._appkey,e);t.inboxTime=parseInt(rr.localStorage.getItem(n),10)||0}return t.inboxTime}setBroadcastSyncTime(e,t){const n=this._getMemData(t);if(n.broadcastSyncTime>=e||lt(e))return;n.broadcastSyncTime=e;const r=be(this._appkey,t);rr.localStorage.setItem(r,e.toString())}getBroadcastSyncTime(e){const t=this._getMemData(e);if(!t||0===t.broadcastSyncTime){const n=be(this._appkey,e);t.broadcastSyncTime=parseInt(rr.localStorage.getItem(n),10)||1}return t.broadcastSyncTime}setOutboxTime(e,t){const n=this._getMemData(t);if(n.outboxTime>=e)return;n.outboxTime=e;const r=Ue(this._appkey,t);rr.localStorage.setItem(r,e.toString())}getOutboxTime(e){const t=this._getMemData(e);if(0===t.outboxTime){const n=Ue(this._appkey,e);t.outboxTime=parseInt(rr.localStorage.getItem(n),10)||0}return t.outboxTime}}class ja{constructor(e){this._appkey=e,this._sendMessageMap={},this._userId=""}init(e){this._userId=e;const t=xe(this._appkey,e);this._sendMessageMap=this._getLocalInfo(t)}_getLocalInfo(e){const t=rr.localStorage.getItem(e);try{return t?JSON.parse(t):{}}catch(e){return{}}}setMessage(e,t){this._sendMessageMap[e]=t;const n=xe(this._appkey,this._userId),r=this._getLocalInfo(n);r[e]=t,rr.localStorage.setItem(n,JSON.stringify(r))}getSendMessageMap(){return this._sendMessageMap}removeByUID(e){delete this._sendMessageMap[e]}removeByTimestamp(e){const t=xe(this._appkey,this._userId),n=this._getLocalInfo(t);Object.keys(n).forEach((t=>{n[t]<e&&delete n[t]})),rr.localStorage.setItem(t,JSON.stringify(n))}}class Qa{constructor(e){this._delayTime=e,this.subscribeData={[exports.SubscribeType.ONLINE_STATUS]:{},[exports.SubscribeType.USER_PROFILE]:{}},this._ownProfile=null}clearSubscribeRelation(){this.subscribeData={[exports.SubscribeType.ONLINE_STATUS]:{},[exports.SubscribeType.USER_PROFILE]:{}}}clearSubscribeStatusData(e){e===exports.SubscribeType.ONLINE_STATUS?Object.keys(this.subscribeData[e]).forEach((t=>{this.subscribeData[e][t].statusMap={}})):e===exports.SubscribeType.USER_PROFILE&&Object.keys(this.subscribeData[e]).forEach((t=>{this.subscribeData[e][t].profile=void 0}))}getSubscribeUserData(e,t){const n=this.subscribeData[e][t];return n?Object.assign({},n):void 0}removeSubscribeUserData(e,t){delete this.subscribeData[e][t]}updateSubscribeUserData(e,t,n){this.subscribeData[e][t]=n}clearExpiredData(e){for(const t in this.subscribeData[e]){const n=this.subscribeData[e][t];n.expiry<(Date.now()+this._delayTime-n.subscribeTime)/1e3&&delete this.subscribeData[e][t]}}getSubscribeUserList(e,t,n){return[...Object.values(this.subscribeData[e])].sort(((e,t)=>e.subscribeTime-t.subscribeTime)).slice(n,n+t)}updateOwnProfile(e){this._ownProfile=Object.assign(Object.assign({},e),{extraProfile:Object.assign({},e.extraProfile)})}getOwnProfile(){return this._ownProfile?Object.assign(Object.assign({},this._ownProfile),{extraProfile:Object.assign({},this._ownProfile.extraProfile)}):null}}class Wa{constructor(e){this._delayTime=e,this._relationshipStatusVersion=0,this._subUserStatusVersion=0,this._ownProfileVersion=0,this._subStore=new Qa(e)}updateRelationshipStatusVersion(e){e>this._relationshipStatusVersion&&(this._relationshipStatusVersion=e)}getRelationshipStatusVersion(){return this._relationshipStatusVersion}updateSubscribeUserStatusVersion(e){e>this._subUserStatusVersion&&(this._subUserStatusVersion=e)}getSubscribeUserStatusVersion(){return this._subUserStatusVersion}_filterSubscribeRelationData(e){return e.reduce(((e,t)=>(t.subUsers.forEach((n=>{let r=e.find((e=>e.subscribeType===t.subType&&e.userId===n.subUserId));r?r.subscribeTime<t.subTime&&(r.expiry=t.expiry,r.operationType=t.opType,r.subscribeTime=t.subTime):e.push({userId:n.subUserId,subscribeTime:t.subTime,subscribeType:t.subType,expiry:t.expiry,operationType:t.opType})})),e)),[])}updateSubscribeRelation(e,t=!1){const n=[],r=[],s=[];t&&this._subStore.clearSubscribeRelation();return this._filterSubscribeRelationData(e).forEach((e=>{var t,o;const{userId:i,subscribeTime:a,subscribeType:l,expiry:d,operationType:u}=e;if(u===exports.SubscribeOperationType.UNSUBSCRIBE)return this._subStore.removeSubscribeUserData(l,i),void s.push(e);const c=this._subStore.getSubscribeUserData(l,i);if(!(c&&c.subscribeTime>=a)){if(l===exports.SubscribeType.ONLINE_STATUS){n.push(i);const e=(null===(t=c)||void 0===t?void 0:t.statusMap)||{};this._subStore.updateSubscribeUserData(l,i,{subscribeTime:a,expiry:d,userId:i,subscribeType:l,statusMap:e})}else{r.push(i);const e=null===(o=c)||void 0===o?void 0:o.profile;this._subStore.updateSubscribeUserData(l,i,{subscribeTime:a,expiry:d,userId:i,subscribeType:l,profile:e,isSubscribed:!0})}s.push(e)}})),{newSubscribeOnlineStatusList:n,newSubscribeUserProfileList:r,subscribeUserChangeList:s}}clearSubscribeStatus(){this._subStore.clearSubscribeStatusData(exports.SubscribeType.ONLINE_STATUS),this._subStore.clearSubscribeStatusData(exports.SubscribeType.USER_PROFILE)}updateSubscribeUserOnlineStatus(e){const t=[];return e.forEach((e=>{const{subUserId:n,data:r}=e,s=this._subStore.getSubscribeUserData(exports.SubscribeType.ONLINE_STATUS,n);if(!s)return;const o=[],i=Object.assign({},s.statusMap);r.forEach((e=>{const t=i[e.platformInfo];if(t&&t.changeTime>e.versionTime)return;const n={eventValue:e.value,changeTime:e.versionTime};i[e.platformInfo]=n,o.push(Object.assign(Object.assign({},n),{platform:e.platformInfo}))})),this._subStore.updateSubscribeUserData(exports.SubscribeType.ONLINE_STATUS,n,{subscribeTime:s.subscribeTime,expiry:s.expiry,userId:n,subscribeType:exports.SubscribeType.ONLINE_STATUS,statusMap:i}),t.push({userId:n,subscribeType:exports.SubscribeType.ONLINE_STATUS,subscribeTime:s.subscribeTime,expiry:s.expiry,details:o})})),t}updateSubscribeUserProfile(e){const t=[];return e.forEach((e=>{const{userId:n,version:r,userProfile:s,userExtProfile:o}=e,i=this._subStore.getSubscribeUserData(exports.SubscribeType.USER_PROFILE,n),a=yt(n,s,o);i?i.profile&&i.profile.version>=r||(this._subStore.updateSubscribeUserData(exports.SubscribeType.USER_PROFILE,n,{subscribeTime:i.subscribeTime,expiry:i.expiry,userId:n,subscribeType:exports.SubscribeType.USER_PROFILE,profile:{info:a,version:r},isSubscribed:i.isSubscribed}),i.isSubscribed&&t.push({userId:n,subscribeType:exports.SubscribeType.USER_PROFILE,subscribeTime:i.subscribeTime,expiry:i.expiry,userProfile:Object.assign({},a)})):this._subStore.updateSubscribeUserData(exports.SubscribeType.USER_PROFILE,n,{subscribeTime:0,expiry:0,userId:n,subscribeType:exports.SubscribeType.USER_PROFILE,profile:{info:a,version:r},isSubscribed:!1})})),t}getSubscribeUserStatus(e,t){const n=[];return t.forEach((t=>{const r=this._subStore.getSubscribeUserData(e,t);if(!r||r.expiry<(Date.now()+this._delayTime-r.subscribeTime)/1e3)this._subStore.removeSubscribeUserData(e,t);else{const t={subscribeTime:r.subscribeTime,expiry:r.expiry,userId:r.userId,subscribeType:r.subscribeType};if(e===exports.SubscribeType.ONLINE_STATUS){const{statusMap:e}=r,n=Object.keys(e).map((t=>Object.assign({platform:~~t},e[~~t])));t.details=mt(n)}else if(e===exports.SubscribeType.USER_PROFILE&&!r.isSubscribed)return;n.push(t)}})),n}getUserProfiles(e){const t=[],n=[];return e.forEach((e=>{const r=this._subStore.getSubscribeUserData(exports.SubscribeType.USER_PROFILE,e);if(!r||!r.profile)return void n.push(e);const{version:s,info:o}=r.profile;if(r.isSubscribed)return this._delayTime+Date.now()-s>6048e5?void n.push(e):void t.push(Object.assign(Object.assign({},o),{extraProfile:Object.assign({},o.extraProfile)}));this._delayTime+Date.now()-s>6e5?n.push(e):t.push(Object.assign(Object.assign({},o),{extraProfile:Object.assign({},o.extraProfile)}))})),{list:t,needQueryUserIds:n}}getSubscribeUserList(e,t,n){this._subStore.clearExpiredData(e);return this._subStore.getSubscribeUserList(e,t,n).map((t=>{const n={subscribeTime:t.subscribeTime,expiry:t.expiry,userId:t.userId,subscribeType:t.subscribeType};if(e===exports.SubscribeType.ONLINE_STATUS){const e=Object.keys(t.statusMap).map((e=>Object.assign({platform:~~e},t.statusMap[~~e])));n.details=mt(e)}return n}))}updateOwnProfile(e,t){this._ownProfileVersion>t||this._subStore.updateOwnProfile(e)}getOwnProfile(){return this._subStore.getOwnProfile()}}class $a{constructor(e,t,n,r,s,o,i){this._connectManager=e,this._event=t,this._currentUserId=n,this._delayTime=r,this._logger=s,this._isOpenUserProfile=o,this._subDriven=i,this._isPullingRelationship=!1,this._pullRelationshipQueue=[],this._pullRelationshipFailTime=0,this._isPullingSubUserStatus=!1,this._pullSubUserStatusQueue=[],this._pullSubUserStatusFailTime=0,this._subscribeService=new Wa(r)}syncData(){return t(this,void 0,void 0,(function*(){this._subDriven&&(yield this._syncSubscribeRelationship(!1),yield this._syncSubscribeUserStatus(!0)),this._isOpenUserProfile&&(yield this.syncOwnProfile()),1&this._subDriven&&this._event.syncSubscribeUserStatusFinished(exports.SubscribeType.ONLINE_STATUS),2&this._subDriven&&this._event.syncSubscribeUserStatusFinished(exports.SubscribeType.USER_PROFILE),3&this._subDriven&&this._event.syncSubscribeUserStatusFinished(exports.SubscribeType.FRIEND_ONLINE_STATUS),4&this._subDriven&&this._event.syncSubscribeUserStatusFinished(exports.SubscribeType.FRIEND_USER_PROFILE)}))}startSyncSubscribeRelationship(e){return t(this,void 0,void 0,(function*(){this._pullRelationshipQueue.push(e),this._syncSubscribeRelationship()}))}_syncSubscribeRelationship(e=!0){return t(this,void 0,void 0,(function*(){this._isPullingRelationship||(this._isPullingRelationship=!0,yield this._pullSubscribeRelationship(e),this._isPullingRelationship=!1,this._pullRelationshipQueue.length>0&&(this._pullRelationshipQueue.length=0,yield this._syncSubscribeRelationship(e)))}))}_pullSubscribeRelationship(e,n=""){return t(this,void 0,void 0,(function*(){const t=this._subscribeService.getRelationshipStatusVersion(),r=this._logger.createTraceId();this._logger.info(exports.LogTagId.L_PULL_SUBSCRIBED_USER_RELATION_T,JSON.stringify({version:t,_pageToken:n}),r);const s=this._connectManager.codec.encodePullUserSubReq({version:t,pageToken:n}),o=new Gi(Jo.pullUserSub,s,this._currentUserId),{code:i,data:a}=yield this._connectManager.send(o,Bs);if(i!==exports.ErrorCode.SUCCESS||!a)return this._logger.error(exports.LogTagId.L_PULL_SUBSCRIBED_USER_RELATION_R,JSON.stringify({code:i,failTime:this._pullRelationshipFailTime}),r),this._pullRelationshipFailTime++,this._pullRelationshipFailTime>5?void(this._pullRelationshipFailTime=0):this._pullSubscribeRelationship(e,n);this._pullRelationshipFailTime=0;let{list:l,version:d,hasNext:u,pageToken:c}=a;if(d=gt(d),l.forEach((e=>{e.subTime=gt(e.subTime)})),this._logger.info(exports.LogTagId.L_PULL_SUBSCRIBED_USER_RELATION_R,JSON.stringify({code:i,data:a}),r),e){const{newSubscribeOnlineStatusList:e,newSubscribeUserProfileList:t,subscribeUserChangeList:n}=this._subscribeService.updateSubscribeRelation(l);this._event.subscribeRelationChanged(n),e.length>0&&this._queryAndUpdateUserOnlineStatus(e),t.length>0&&this._queryAndUpdateUserProfile(t)}else this._subscribeService.updateSubscribeRelation(l,!n);this._subscribeService.updateRelationshipStatusVersion(d),this._pullRelationshipQueue=this._pullRelationshipQueue.filter((e=>e>d)),u&&(yield this._pullSubscribeRelationship(e,c))}))}startsyncSubscribeUserStatus(e){return t(this,void 0,void 0,(function*(){this._pullSubUserStatusQueue.push(e),this._syncSubscribeUserStatus()}))}_syncSubscribeUserStatus(e=!1){return t(this,void 0,void 0,(function*(){this._isPullingSubUserStatus||(this._isPullingSubUserStatus=!0,yield this._pullSubscribeUserStatus(e),this._isPullingSubUserStatus=!1,this._pullSubUserStatusQueue.length>0&&(this._pullSubUserStatusQueue.length=0,yield this._syncSubscribeUserStatus(e)))}))}_pullSubscribeUserStatus(e=!1,n=""){return t(this,void 0,void 0,(function*(){const t=this._subscribeService.getSubscribeUserStatusVersion(),r=this._logger.createTraceId();this._logger.info(exports.LogTagId.L_PULL_SUBSCRIBED_USER_STATUS_T,JSON.stringify({version:t,_pageToken:n,needAllData:e}),r);const s=this._connectManager.codec.encodePullSubDataReq({version:t,needAllData:e,pageToken:n}),o=new Gi(Jo.pullSubData,s,this._currentUserId),{code:i,data:a}=yield this._connectManager.send(o,Hs);if(i!==exports.ErrorCode.SUCCESS||!a)return this._logger.warn(exports.LogTagId.L_PULL_SUBSCRIBED_USER_STATUS_R,JSON.stringify({code:i,failTime:this._pullSubUserStatusFailTime}),r),this._pullSubUserStatusFailTime++,this._pullSubUserStatusFailTime>5?void(this._pullSubUserStatusFailTime=0):this._pullSubscribeUserStatus(e,n);this._pullSubUserStatusFailTime=0;let{list:l,versionTime:d,hasNext:u,pageToken:c,isFull:h}=a;d=gt(d),this._logger.info(exports.LogTagId.L_PULL_SUBSCRIBED_USER_STATUS_R,JSON.stringify({code:i,data:a}),r),l.forEach((e=>{e.data.forEach((e=>{e.versionTime=gt(e.versionTime)}))})),this._pullSubUserStatusQueue=this._pullSubUserStatusQueue.filter((e=>e>d)),this._subscribeService.updateSubscribeUserStatusVersion(d);const p=[],_=[];l.forEach((e=>{e.subType===exports.SubscribeType.ONLINE_STATUS?p.push(e):e.subType===exports.SubscribeType.USER_PROFILE&&_.push(e.subUserId)})),h&&""===n&&this._subscribeService.clearSubscribeStatus(),p.length>0&&this._updateUserOnlineStatus(p,!h),_.length>0&&(yield this._queryAndUpdateUserProfile(_,!h)),u&&(yield this._pullSubscribeUserStatus(e,c))}))}_queryAndUpdateUserOnlineStatus(e){return t(this,void 0,void 0,(function*(){const t=this._logger.createTraceId();this._logger.info(exports.LogTagId.L_QUERY_SUBSCRIBE_DATA_T,JSON.stringify(e),t);const n=this._connectManager.codec.encodeQrySubDataReq(exports.SubscribeType.ONLINE_STATUS,e),r=new Gi(Jo.qrySubData,n,this._currentUserId),{code:s,data:o}=yield this._connectManager.send(r,Hs);this._logger.info(exports.LogTagId.L_QUERY_SUBSCRIBE_DATA_R,JSON.stringify({code:s,data:o}),t),s===exports.ErrorCode.SUCCESS&&o&&this._updateUserOnlineStatus(o.list)}))}_updateUserOnlineStatus(e,t=!0){e.forEach((e=>{e.data.forEach((e=>{e.versionTime=gt(e.versionTime)}))}));let n=this._subscribeService.updateSubscribeUserOnlineStatus(e);n=n.filter((e=>e.details&&e.details.length>0)),t&&n.length>0&&this._event.subscribeUserStatusChanged(n)}_queryAndUpdateUserProfile(e,n=!0){return t(this,void 0,void 0,(function*(){const t=this._logger.createTraceId();this._logger.info(exports.LogTagId.L_PULL_USER_PROFILE_T,JSON.stringify(e),t);const r=this._connectManager.codec.encodePullUserProfileReq(e),s=new Gi(Jo.pullUserProfile,r,this._currentUserId),{code:o,data:i}=yield this._connectManager.send(s,$s);if(this._logger.info(exports.LogTagId.L_PULL_USER_PROFILE_R,JSON.stringify({code:o,data:i}),t),o!==exports.ErrorCode.SUCCESS||!i)return{code:o};i.UserProfile.forEach((e=>{e.version=gt(e.version)}));const a=this._subscribeService.updateSubscribeUserProfile(i.UserProfile);return n&&a.length>0&&this._event.subscribeUserStatusChanged(a),{code:o,data:i.UserProfile}}))}updateUserStatus(e){return t(this,void 0,void 0,(function*(){const t=this._connectManager.codec.decodeByPBName(e.pbData,qs);if(t.subType===exports.SubscribeType.ONLINE_STATUS)this._updateUserOnlineStatus([t]);else if(t.subType===exports.SubscribeType.USER_PROFILE)this._queryAndUpdateUserProfile([t.subUserId]);else if(t.subType===exports.SubscribeType.FRIEND_ONLINE_STATUS){const e=t.data.map((e=>({changeTime:gt(e.versionTime),eventValue:e.value,platform:e.platformInfo})));this._event.subscribeUserStatusChanged([{userId:t.subUserId,subscribeType:t.subType,subscribeTime:0,expiry:0,details:e}])}else if(t.subType===exports.SubscribeType.FRIEND_USER_PROFILE){const e=yield this._queryAndUpdateUserProfile([t.subUserId]),{data:n}=e;n&&this._event.subscribeUserStatusChanged([{userId:t.subUserId,subscribeType:t.subType,subscribeTime:0,expiry:0,userProfile:yt(t.subUserId,n[0].userProfile,n[0].userExtProfile)}])}}))}getSubscribeUserStatus(e,t){return this._subscribeService.getSubscribeUserStatus(e,t)}getSubscribeUserList(e,t,n){return this._subscribeService.getSubscribeUserList(e,t,n)}updateSubscribeRelation(e,n,r,s=0){return t(this,void 0,void 0,(function*(){const t=this._connectManager.codec.encodeUpdateUserSubReq(n,e,r,s),o=new Gi(Jo.updUserSub,t,this._currentUserId),{code:i,data:a}=yield this._connectManager.send(o,Gs);if(i===exports.ErrorCode.RC_BESUBSCRIBED_USERIDS_COUNT_EXCEED_LIMIT&&a)return{code:i,data:a.subUsers.map((e=>e.subUserId))};if(i!==exports.ErrorCode.SUCCESS||!a)return{code:i};const{subTime:l}=a;return this._subscribeService.updateSubscribeRelation([{subType:n,subTime:l,expiry:s,opType:r,subUsers:e.map((e=>({subUserId:e})))}]),r===exports.SubscribeOperationType.SUBSCRIBE&&(n===exports.SubscribeType.ONLINE_STATUS?this._queryAndUpdateUserOnlineStatus(e):n===exports.SubscribeType.USER_PROFILE&&this._queryAndUpdateUserProfile(e,!1)),{code:i}}))}getUserProfiles(e){return t(this,void 0,void 0,(function*(){const{needQueryUserIds:t,list:n}=this._subscribeService.getUserProfiles(e);if(0===t.length)return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:n});const{code:r,data:s}=yield this._queryAndUpdateUserProfile(t,!1);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r,data:[...n]};const o=s.map((e=>yt(e.userId,e.userProfile,e.userExtProfile)));return{code:r,data:[...n,...o]}}))}syncOwnProfile(e=!1){return t(this,void 0,void 0,(function*(){if(!this._isOpenUserProfile)return Promise.resolve({code:exports.ErrorCode.RC_USER_PROFILE_SERVICE_UNAVAILABLE});const t=this._logger.createTraceId();this._logger.info(exports.LogTagId.L_PULL_OWN_PROFILE_T,"",t);const n=this._connectManager.codec.encodeUserProfileInput(),r=new Gi(Jo.pullOwnProfile,n,this._currentUserId),{code:s,data:o}=yield this._connectManager.send(r,Ks);if(this._logger.info(exports.LogTagId.L_PULL_OWN_PROFILE_R,JSON.stringify({code:s,data:o}),t),s!==exports.ErrorCode.SUCCESS||!o)return{code:s};const{userExtProfile:i,userProfile:a,version:l,userId:d}=o,u=gt(l),c=yt(d,a,i);return this._subscribeService.updateOwnProfile(c,u),e&&this._event.ownUserProfileChanged(c),{code:s,data:c}}))}getOwnProfile(){return t(this,void 0,void 0,(function*(){const e=this._subscribeService.getOwnProfile();return e?{code:exports.ErrorCode.SUCCESS,data:e}:this.syncOwnProfile()}))}updateOwnProfile(e,n){return t(this,void 0,void 0,(function*(){this._subscribeService.updateOwnProfile(e,n)}))}}class Ja{constructor(e,t,n){this._storage=new Ca(Ge(e,t)),this._delayTime=n,this.clear()}_getConversationKey(e){return`${e.targetId}_${e.channelId}`}_removeExcessData(e){let t=Object.keys(e).map((t=>({key:t,value:e[t]}))).sort(((e,t)=>e.value.t-t.value.t)).slice(-30);const n={};for(let e of t)n[e.key]=e.value;return n}insert(e,t,n,r,s){if(r<Date.now()-this._delayTime-ve)return;const o=this._getConversationKey(e),i=this._storage.get(o)||{};if(i[t])return;const a={t:r,d:n};s&&(a.sId=s);let l=Object.assign(Object.assign({},i),{[t]:a});Object.keys(l).length>30&&(l=this._removeExcessData(l)),this._storage.set(o,l)}addReadedUser(e,t,n){const r=this._getConversationKey(e),s=this._storage.get(r)||{},o=s[t];if(o){if(o.us){if(o.us.includes(n))return}else o.us=[];o.us.push(n),this._storage.set(r,Object.assign(Object.assign({},s),{[t]:o}))}}getReadReceiptInfo(e,t){const n=this._getConversationKey(e),r=(this._storage.get(n)||{})[t];return r?{time:r.t,direction:r.d,users:r.us||[],senderId:r.sId}:null}getReceiptMessageDic(e){const t=this._getConversationKey(e),n=this._storage.get(t)||{},r={};for(const e in n){const t=n[e];t.d===exports.MessageDirection.RECEIVE&&(r[t.sId]||(r[t.sId]=[]),r[t.sId].push(e))}return r}remove(e,t){const n=this._getConversationKey(e),r=this._storage.get(n)||{};r[t]&&(delete r[t],0===Object.keys(r).length?this._storage.remove(n):this._storage.set(n,r))}clear(){const e=this._storage.getValues(),t={};for(const n in e){const r=e[n],s={};for(const e in r){const t=r[e];Date.now()-this._delayTime-t.t<ve&&(s[e]=t)}Object.keys(s).length&&(t[n]=s)}this._storage.update(t)}}class Xa extends $t{constructor(e,t){super(e,t),this.appkey=e,this.logger=t,this._storageKey="",this._storageKey=we(e)}getCache(){return rr.localStorage.getItem(this._storageKey)}setCache(e){rr.localStorage.setItem(this._storageKey,e)}clearCache(){rr.localStorage.removeItem(this._storageKey)}sendRequest(e){return t(this,void 0,void 0,(function*(){const{status:t,data:n}=yield rr.httpReq({url:e});return{code:t,data:n}}))}decryptData(e){return t(this,void 0,void 0,(function*(){try{const t=yield Bt(e,"cd4936151214ce45dc1d12673a59d94c","51ad078e5eb17a91");return JSON.parse(t)}catch(e){this.logger.error(exports.LogTagId.L_GET_STATIC_CONF_E,JSON.stringify({error:null==e?void 0:e.stack}))}}))}}class Za extends Qi{constructor(){super(...arguments),this._pullQueue=[],this._isPulling=!1}startPull(){return t(this,void 0,void 0,(function*(){if(this._isPulling)return;this._isPulling=!0;const{code:e,data:t}=yield this.pullQueueConsumption();this._isPulling=!1;let n=t&&t.hasNext||!1;if(e===exports.ErrorCode.SUCCESS&&!lt(t)){this.pullDataHandler(t);const e=this.getVersion(),n=this._pullQueue.filter((t=>t>e));this._pullQueue.length=0,this._pullQueue.push(...n)}n?this.startPull():this._pullQueue.length>0&&(this._pullQueue.length=0,this.startPull())}))}_triggerPull(e){return t(this,void 0,void 0,(function*(){this._pullQueue.push(e),yield this.startPull()}))}}class za extends Za{constructor(e,t,n,r,s){super(),this._connectManager=e,this._currentUserId=t,this._logger=n,this._appkey=r,this._callBack=s,this._lastPullingChangeMessageTime=0,this._lastPullingChangeMessageTimeLocal=(new Date).getTime(),this._duration=18e4,this._pullEventChangeIntervalTimer=-1,this._localStorageKey=Fe(r,t),this._storage=new Ca(this._localStorageKey),this._lastPullingChangeMessageTime=this._storage.get(t)||0}get _isConnected(){return this._connectManager.getConnectionStatus()===exports.RCConnectionStatus.CONNECTED}_setLastPullingChangeMessageTime(e){this._lastPullingChangeMessageTime=e,this._storage.set(this._currentUserId,e)}_startPullEventChangeInterval(){const e=()=>{this._pullEventChangeIntervalTimer=setTimeout((()=>{const t=Date.now();t-this._lastPullingChangeMessageTimeLocal>=this._duration&&(this.startPullEventChange(this._lastPullingChangeMessageTime,!0),this._lastPullingChangeMessageTimeLocal=t),this._stopUltraSyncInterval(),e()}),3e4)};e()}_stopUltraSyncInterval(){-1!==this._pullEventChangeIntervalTimer&&(clearTimeout(this._pullEventChangeIntervalTimer),this._pullEventChangeIntervalTimer=-1)}startPullEventChange(e,t=!1){const n=this.getVersion();(e>n||0===e||t)&&this._triggerPull(n)}pullQueueConsumption(){if(!this._isConnected)return Promise.resolve({code:exports.ErrorCode.CONNECTION_TIMEOUT});this._logger.info(exports.LogTagId.L_PULL_EVENT_CHANGE_T,`PullEventChange time: ${this._lastPullingChangeMessageTime}`);const e=this._connectManager.codec.encodeQueryMsgChange(this._lastPullingChangeMessageTime),t=new Gi(Jo.pullEventChange,e,this._currentUserId);return t.setHeaderQos(zo.AT_LEAST_ONCE),this._connectManager.send(t,Cs)}pullDataHandler(e){this._logger.info(exports.LogTagId.L_PULL_EVENT_CHANGE_R,`PullEventChange data: ${JSON.stringify(e)}`);const{list:t}=e,n=(null==e?void 0:e.syncTime)||0;this._callBack(t),this._setLastPullingChangeMessageTime(n)}getVersion(){return this._lastPullingChangeMessageTime||0}notificationOnline(){return t(this,void 0,void 0,(function*(){this._isConnected&&(this.startPullEventChange(this._lastPullingChangeMessageTime,!0),this._startPullEventChangeInterval(),this._logger.info(exports.LogTagId.L_PULL_EVENT_CHANGE_NOTIFY_ULTRA_ONLINE_S,"PullEventChange notify online"))}))}}var el,tl;!function(e){e[e.ACCEPTED=0]="ACCEPTED",e[e.UNACCEPTABLE_PROTOCOL_VERSION=1]="UNACCEPTABLE_PROTOCOL_VERSION",e[e.IDENTIFIER_REJECTED=2]="IDENTIFIER_REJECTED",e[e.SERVER_UNAVAILABLE=3]="SERVER_UNAVAILABLE",e[e.TOKEN_INCORRECT=4]="TOKEN_INCORRECT",e[e.NOT_AUTHORIZED=5]="NOT_AUTHORIZED",e[e.REDIRECT=6]="REDIRECT",e[e.PACKAGE_ERROR=7]="PACKAGE_ERROR",e[e.APP_BLOCK_OR_DELETE=8]="APP_BLOCK_OR_DELETE",e[e.BLOCK=9]="BLOCK",e[e.TOKEN_EXPIRE=10]="TOKEN_EXPIRE",e[e.DEVICE_ERROR=11]="DEVICE_ERROR",e[e.HOSTNAME_ERROR=12]="HOSTNAME_ERROR",e[e.HASOHTERSAMECLIENTONLINE=13]="HASOHTERSAMECLIENTONLINE",e[e.OUT_OF_LIMIT=14]="OUT_OF_LIMIT",e[e.IN_OTHER_CLUSTER=15]="IN_OTHER_CLUSTER",e[e.APP_AUTH_NOT_PASS=16]="APP_AUTH_NOT_PASS",e[e.OTP_USED=17]="OTP_USED",e[e.PLATFORM_ERROR=18]="PLATFORM_ERROR",e[e.ACCOUNT_CANCELLATION=19]="ACCOUNT_CANCELLATION",e[e.LICENSE_EXPIRED=20]="LICENSE_EXPIRED"}(el||(el={})),function(e){e[e.OTHER_DEVICE_LOGIN=1]="OTHER_DEVICE_LOGIN",e[e.BLOCK=2]="BLOCK",e[e.BLOCK_NEW=5]="BLOCK_NEW",e[e.REDIRECT_NEW=6]="REDIRECT_NEW",e[e.TOKEN_EXPIRED=7]="TOKEN_EXPIRED",e[e.ILLEGAL_PROTOCOL_VERSION=8]="ILLEGAL_PROTOCOL_VERSION",e[e.ACCOUNT_CANCELLATION=9]="ACCOUNT_CANCELLATION"}(tl||(tl={}));const nl={[tl.OTHER_DEVICE_LOGIN]:exports.ErrorCode.RC_DISCONN_KICK,[tl.BLOCK]:exports.ErrorCode.RC_DISCONN_EXCEPTION,[tl.BLOCK_NEW]:exports.ErrorCode.RC_DISCONN_EXCEPTION,[tl.REDIRECT_NEW]:exports.ErrorCode.RC_CONN_REDIRECTED,[tl.TOKEN_EXPIRED]:exports.ErrorCode.RC_CONN_TOKEN_EXPIRED,[tl.ILLEGAL_PROTOCOL_VERSION]:exports.ErrorCode.RC_CONN_PROTO_VERSION_ERROR,[tl.ACCOUNT_CANCELLATION]:exports.ErrorCode.RC_ACCOUNT_CANCELLATION},rl={[el.ACCEPTED]:exports.ErrorCode.SUCCESS,[el.UNACCEPTABLE_PROTOCOL_VERSION]:exports.ErrorCode.RC_CONN_PROTO_VERSION_ERROR,[el.IDENTIFIER_REJECTED]:exports.ErrorCode.RC_CONN_IDENTIFIER_REJECTED,[el.SERVER_UNAVAILABLE]:exports.ErrorCode.RC_CONN_SERVER_UNAVAILABLE,[el.TOKEN_INCORRECT]:exports.ErrorCode.RC_CONN_TOKEN_INCORRECT,[el.NOT_AUTHORIZED]:exports.ErrorCode.RC_CONN_NOT_AUTHRORIZED,[el.REDIRECT]:exports.ErrorCode.RC_CONN_REDIRECTED,[el.PACKAGE_ERROR]:exports.ErrorCode.RC_CONN_PACKAGE_NAME_INVALID,[el.APP_BLOCK_OR_DELETE]:exports.ErrorCode.RC_CONN_APP_BLOCKED_OR_DELETED,[el.BLOCK]:exports.ErrorCode.RC_CONN_USER_BLOCKED,[el.TOKEN_EXPIRE]:exports.ErrorCode.RC_CONN_TOKEN_EXPIRED,[el.DEVICE_ERROR]:exports.ErrorCode.RC_CONN_DEVICE_ERROR,[el.HOSTNAME_ERROR]:exports.ErrorCode.RC_CONN_HOSTNAME_ERROR,[el.HASOHTERSAMECLIENTONLINE]:exports.ErrorCode.RC_DISCONN_SAME_CLIENT_ON_LINE,[el.OUT_OF_LIMIT]:exports.ErrorCode.RC_LISCENSE_COUNT_OUT_OF_LIMIT,[el.IN_OTHER_CLUSTER]:exports.ErrorCode.RC_CONN_WRONG_CLUSTER,[el.APP_AUTH_NOT_PASS]:exports.ErrorCode.RC_APP_AUTH_NOT_PASS,[el.OTP_USED]:exports.ErrorCode.RC_OTP_USED,[el.PLATFORM_ERROR]:exports.ErrorCode.RC_PLATFORM_ERROR,[el.ACCOUNT_CANCELLATION]:exports.ErrorCode.RC_ACCOUNT_CANCELLATION,[el.LICENSE_EXPIRED]:exports.ErrorCode.RC_LICENSE_EXPIRED},sl=e=>[Jo.ppMsgS,Jo.pgMsgS,Jo.chatMsgS].includes(Xo(e)),ol=(e,t)=>{let n=0;return e.isAutoDelete&&(n|=1),e.isOverwrite&&(n|=2),2===t&&(n|=4),n};function il(e){return Object.keys(e).map((t=>{let n=e[t];return"string"!=typeof n&&(n=`${n}`),{key:t,value:n}}))}function al(e,t,n,r){return Mo.encode(zs,{targetId:e,type:exports.ConversationType.GROUP,users:r,extProfile:n?il(n):void 0,settingProfile:il(t)})}const ll={[Zo(Jo.ppMsgP)]:exports.ConversationType.PRIVATE,[Zo(Jo.pgMsgP)]:exports.ConversationType.GROUP,[Zo(Jo.chatMsg)]:exports.ConversationType.CHATROOM,[Zo(Jo.pcMsgP)]:exports.ConversationType.CUSTOMER_SERVICE,[Zo(Jo.pbMsgP)]:exports.ConversationType.SYSTEM},dl="1",ul="0",cl=1,hl=2,pl=3,_l={1:"ChannelsUserInfos",2:"ChannelsInviteStatusInfos",3:"ChannelsJoinedInfos",11:"FriendUserInfos",12:"FriendInviteInfos"},gl={[A.GROUP_OPERATION]:e=>"ChannelEventData",[A.GROUP_PROFILE_CHANGE]:e=>"ChannelEventData",[A.GROUP_APPLICATION_INVITATION]:e=>"ChannelApplyInfo",[h.FRIEND_APPLICATION]:e=>({0:"FriendApplyEvent",1:"FriendApplyEvent",2:"FriendUserInfo",3:"FriendsInput",5:"FriendTypeChangeEvent",6:"FriendUpdateEvent"}[e])};class El{constructor(e){this.logger=e}decodeByPBName(e,t,n){const r=this;let s=e;const o={[pr]:r._formatSyncMessages,[_r]:r._formatReceivedMessage,[cr]:r._formatSentMessage,[Pr]:r._formatHistoryMessages,[yr]:r._formatConversationList,[Lr]:r._formatChatRoomInfos,[Kr]:r._formatChatRoomKVList,[Jr]:r._formatUserSetting,[Zr]:r._formatConversationStatus,[ds]:r._formatGrpReadReceiptQryResp,[bs]:r._formatQueryReceiptResp,[Wr]:r._formatSetUserSettingOutput,[_s]:r._formatUserSettingNotification,[Cs]:r._formatEventChangeList,[Rs]:r._formatUltraMsgChangeList,[vs]:r._formatUltraOperateStatusNotifyList,[ms]:r._formatUltraMsgList,[Ar]:r._formatUltraGroupUnreadMentionedList,[Cr]:r._formatChrmKVVersion,[Ls]:r._formatCallKVInfo,[Os]:r._fromatCallInfoDownStream,[Dr]:r._formateSessionMsgReadInput,[io]:r._formateChannelsListResult}[t];try{s=e.length>0&&Mo.decode(t,e),at(o)&&(s=o.call(this,s,n))}catch(e){this.logger.error(exports.LogTagId.L_PB_DECODE_E,t)}return s}_readBytes(e){const{offset:t,buffer:n,limit:r}=e;if(t)try{const e=(s=n,"[object ArrayBuffer]"===Object.prototype.toString.call(s)?new Uint8Array(n):n);return yi.readUTF(e.subarray(t,r))}catch(e){this.logger.error(exports.LogTagId.O,null==e?void 0:e.stack)}var s;return e}_formatBytes(e){if(!e)return e;let t=this._readBytes(e);try{t=t?JSON.parse(t):t}catch(e){this.logger.error(exports.LogTagId.O,null==e?void 0:e.stack)}return t||e}_formatSyncMessages(e,t){t=t||{};const n=this,{list:r,syncTime:s,finished:o}=e;return(lt(o)||null===o)&&(e.finished=!0),e.syncTime=gt(s),e.list=It(r,(e=>n._formatReceivedMessage(e,t))),e}_getUtfContent(e){if(e.user){const{portrait:t,portraitUri:n}=e.user,r=t||n;r&&(e.user.portrait=e.user.portraitUri=r)}return e}_setExpansion(e){let t;return e&&(t=(e=>{const t={},n=JSON.parse(e);return Et(n,((e,n)=>{t[n]=e.v})),t})(e)),t}_setPushConfig(e,t){const{pushContent:n,pushExt:r,configFlag:s}=e;let o={};r&&(o=((e,t,n)=>{const r={},s={notificationId:n||""},o={};if(!t)return{iOSConfig:r,androidConfig:s,harmonyOSConfig:o};try{const e=JSON.parse(t);null==e||e.forEach((e=>{var t,n,i,a,l,d,u,c,h,p,_,g;const E=Object.keys(e);if(0===E.length)return;const I=E[0];switch(I){case"HW":return s.channelIdHW=null===(t=e[I])||void 0===t?void 0:t.channelId,s.importanceHW=null===(n=e[I])||void 0===n?void 0:n.importance,s.imageUrlHW=null===(i=e[I])||void 0===i?void 0:i.image,void(s.categoryHW=null===(a=e[I])||void 0===a?void 0:a.category);case"MI":return void(s.channelIdMi=null===(l=e[I])||void 0===l?void 0:l.channelId);case"OPPO":return void(s.channelIdOPPO=null===(d=e[I])||void 0===d?void 0:d.channelId);case"VIVO":return s.typeVivo=null===(u=e[I])||void 0===u?void 0:u.classification,void(s.categoryVivo=null===(c=e[I])||void 0===c?void 0:c.category);case"APNS":return r.threadId=e[I]["thread-id"],r.apnsCollapseId=e[I]["apns-collapse-id"],r.category=e[I].category,r.richMediaUri=e[I].richMediaUri,void(r.interruptionLevel=e[I]["interruption-level"]);case"FCM":return void(s.googleConfig={collapseKey:e[I].collapse_key||"",imageUrl:e[I].imageUrl||"",priority:e[I].priority||""});case"HONOR":return s.importanceHonor=null===(h=e[I])||void 0===h?void 0:h.importance,void(s.imageUrlHonor=null===(p=e[I])||void 0===p?void 0:p.image);case"OHOS":o.category=null===(_=e[I])||void 0===_?void 0:_.category,o.image=null===(g=e[I])||void 0===g?void 0:g.image}}))}catch(n){e.error(exports.LogTagId.O,`Wrong format for pushConfigs field! content: ${t}`)}return{iOSConfig:r,androidConfig:s,harmonyOSConfig:o}})(t,r.pushConfigs,r.pushId));return Object.assign(Object.assign({},o),{pushTitle:null==r?void 0:r.title,pushContent:n,pushData:"",disablePushTitle:!!s&&Boolean(4&s),forceShowDetailContent:!!s&&Boolean(8&s),templateId:null==r?void 0:r.templateId})}_formatReceivedMessage(e,t){var n;if(!e)return e;const r=this,{currentUserId:s,connectedTime:o,afterDecode:i,customMessageTypes:a={}}=t||{},{content:l,fromUserId:d,type:u,groupId:c,status:h,dataTime:p,extraContent:_,extStatus:g,clientUniqueId:E,busChannel:I,msgId:T,classname:f,toUserIds:C,optionBits:R}=e,S=e.direction||exports.MessageDirection.RECEIVE,{isPersited:m,isCounted:y,isMentioned:v,disableNotification:A,receivedStatus:N,canIncludeExpansion:O}=(e=>{let t=!0,n=!0,r=!1,s=!1,o=exports.ReceivedStatus.READ,i=!1,a=!1;return t=!!(16&e),n=!!(32&e),r=!!(64&e),s=!!(512&e),i=!!(2&e),o=i?exports.ReceivedStatus.RETRIEVED:o,a=!!(1024&e),{isPersited:t,isCounted:n,isMentioned:r,disableNotification:s,receivedStatus:o,canIncludeExpansion:a}})(h),M=!!(2&(g||0)),L=!!(4&(g||0)),U=!!(8&(g||0))?exports.UltraGroupChannelType.PRIVATE:exports.UltraGroupChannelType.PUBLIC,P=[exports.ConversationType.GROUP,exports.ConversationType.CHATROOM,exports.ConversationType.RTC_ROOM,exports.ConversationType.ULTRA_GROUP].indexOf(u)>-1?c:d;let b=d,x=exports.MessageDirection.RECEIVE;S===exports.MessageDirection.SEND&&(b=s,x=exports.MessageDirection.SEND);const D=gt(p),w=D<o,V=u===exports.ConversationType.CHATROOM;let G=r._setExpansion(_),F=r._formatBytes(l);F=r._getUtfContent(F);const B=r._setPushConfig(e,this.logger);V&&d===s&&(x=exports.MessageDirection.SEND);const k={conversationType:u,targetId:P,senderUserId:b,messageType:f,messageUId:T,isPersited:m,isCounted:y,isMentioned:v,sentTime:D,messageDirection:x,receivedTime:Date.now(),disableNotification:A,receivedStatus:N,receivedStatusInfo:St(N),canIncludeExpansion:O,content:F,expansion:G,pushConfig:B,channelId:I||"",isInterrupt:M,isModifyMessage:L,messageId:gt(E)||0,sentStatus:exports.SentStatus.SENT,isOffLineMessage:w,channelType:U,isStatusMessage:(null===(n=a[f])||void 0===n?void 0:n.isStatusMessage)||!1,readReceiptInfo:void 0,directedUserIds:C,disableUpdateLastMessage:!!(1&(R||0))};return(null==i?void 0:i(k))||k}_formatSentMessage(e,t){const n=this,{content:r,classname:s,sessionId:o,msgId:i,extraContent:a,pushExt:l,pushContent:d,configFlag:u,extStatus:c,clientUniqueId:h,systemId:p,toUserIds:_,optionBits:g}=e,{signal:E,currentUserId:I}=t,{date:T,topic:f,targetId:C}=E,R=!!(2&(c||0)),{isPersited:S,isCounted:m,disableNotification:y,canIncludeExpansion:v,isMentioned:A}=(e=>{let t=!1,n=!1,r=!1,s=!1,o=!1;return t=!!(1&e),n=!!(2&e),o=!!(4&e),r=!!(32&e),s=!!(64&e),{isPersited:t,isCounted:n,disableNotification:r,canIncludeExpansion:s,isMentioned:o}})(o);let N=ll[f]||exports.ConversationType.PRIVATE;const O=sl(f),M=n._formatBytes(r);let L=p||C;s===exports.MessageType.RECALL&&(N=M.conversationType||N,L=M.targetId||C);let U=n._setExpansion(a),P=n._setPushConfig(e,this.logger);const b=Object.assign(Object.assign({},P),{pushTitle:null==l?void 0:l.title,pushContent:d,pushData:d,disablePushTitle:!!u&&Boolean(4&u),forceShowDetailContent:!!u&&Boolean(8&u),templateId:null==l?void 0:l.templateId});return{conversationType:N,targetId:L,messageType:s,messageUId:i,isPersited:S,isCounted:m,isStatusMessage:O,senderUserId:I,content:n._formatBytes(r),sentTime:1e3*T,receivedTime:Date.now(),messageDirection:exports.MessageDirection.SEND,isOffLineMessage:!1,disableNotification:y,canIncludeExpansion:v,expansion:U,pushConfig:b,channelId:e.busChannel||"",isInterrupt:R,messageId:gt(h)||0,receivedStatus:exports.ReceivedStatus.UNREAD,receivedStatusInfo:St(exports.ReceivedStatus.UNREAD),isMentioned:A,directedUserIds:_,disableUpdateLastMessage:!!(1&(g||0))}}_formatHistoryMessages(e,t){const n=t.conversation||{},{list:r,hasMsg:s}=e,{targetId:o}=n,i=gt(e.syncTime),a=[];return Et(r,(e=>{const r=this._formatReceivedMessage(e,t);n.conversationType===exports.ConversationType.ULTRA_GROUP?r.targetId=e.groupId||n.targetId:r.targetId=o,a.push(r)}),{isReverse:!0}),{syncTime:i,list:a,hasMore:!!s}}_formatUltraMsgChangeList(e){const{list:t,syncTime:n,hasNext:r}=e;return{syncTime:n,list:t&&t.map((e=>{const{targetId:t,type:n,time:r,changeType:s,msgUID:o,msgTime:i,busChannel:a,isAdmin:l,isDel:d,operatorId:u,subChangeType:c,userGroupIds:h,busChannelType:p,remindType:_}=e;return{targetId:t,conversationType:n,changeType:s,messageUId:o,changeTime:gt(r),sendTime:gt(i),channelId:a||"",isAdmin:l,isDel:d,operatorId:u,subChangeType:c,userGroupIds:h,busChannelType:p,mentionedType:_}})),hasNext:r}}_formatEventChangeList(e){const{list:t,syncTime:n,hasNext:r}=e;return{syncTime:n,list:t&&t.map((e=>{const{businessId:t,type:n,time:r,changeType:s,originalId:o,originalTime:i,secondaryId:a,isAdmin:l,additionalMark:d,operatorId:u,subChangeType:c,secondaryType:h,remindType:p,isRemindMe:_,extIds:g,eventData:E}=e;let I;return E&&(I=this._formatEventData(E,s,c)),{businessId:t,conversationType:n,changeType:s,originalId:o,time:gt(r),originalTime:gt(i),secondaryId:a||"",isAdmin:l,additionalMark:d,operatorId:u,subChangeType:c,userGroupIds:g,secondaryType:h,remindType:p,isRemindMe:_,eventData:I}})),hasNext:r}}_formatEventData(e,t,n){let r={};return e&&gl[t]&&gl[t](n)&&(r=Mo.decode(gl[t](n),e)||{}),r}_formatUltraOperateStatusNotifyList(e){const{type:t,notifyType:n,info:r,summary:s}=e,o=[],i=[],a=!(2&~n),l=!(1&~n);return l&&Array.isArray(r)&&r.forEach((e=>{const{targetId:t,busChannel:n,userId:r,opType:s,optime:i}=e,a=gt(i);o.push({targetId:t,channelId:n,userId:r,operationType:s,operationTime:a})})),a&&Array.isArray(s)&&s.forEach((e=>{const{targetId:t,busChannel:n,count:r,opType:s}=e;i.push({targetId:t,channelId:n,count:r,operationType:s})})),{conversationType:t,info:o,summary:i,hasInfo:l,hasSummary:a}}_formatUltraMsgList(e,t){const{list:n}=e;return{list:n&&n.map((e=>this._formatReceivedMessage(e,t)))}}_formatUltraGroupUnreadMentionedList(e){const{msgInfo:t=[]}=e;return t.map((e=>({messageUId:e.msgId,sentTime:gt(e.msgTime),mentionedType:e.remindType,messageType:e.className||""})))}_getUltraGroupConversationInfo(e,t){const{versionTime:n,unreadCount:r,remindCount:s,busChannelType:o,msgInfo:i,remindMeCount:a}=t;return e.versionTime=gt(n)||0,e.unreadMessageCount=this._getUnreadCount(gt(r)||0),e.unreadMentionedCount=this._getUnreadCount(gt(s)||0),e.unreadMentionedMeCount=this._getUnreadCount(gt(a)||0),e.channelType=o||exports.UltraGroupChannelType.PUBLIC,e.lastReadTime=0,i&&(e.firstUnreadMessage={sentTime:gt(i.msgTime)},e.lastReadTime=gt(i.msgTime)-1),e}_getUnreadCount(e){return e>999?999:e}_formatConversationList(e,t){const n=this;let{info:r}=e;const{afterDecode:s}=t;r=It(r,(e=>{const{msg:r,userId:o,type:i,unreadCount:a,busChannel:l,versionTime:d}=e;let u=null;r&&(u=n._formatReceivedMessage(r,t),u.targetId=o);let c={targetId:o,conversationType:i,unreadMessageCount:gt(a)||0,latestMessage:u,channelId:l||"",operationTime:gt(d)||0};return i===exports.ConversationType.ULTRA_GROUP&&(c=this._getUltraGroupConversationInfo(c,e)),(null==s?void 0:s(c))||c}));const o={list:r||[]};return((null==t?void 0:t.conversationType)||exports.ConversationType.NONE)===exports.ConversationType.ULTRA_GROUP&&(o.isFinished=e.isFinished),o}_formatSetUserSettingOutput(e){return e}_formatChatRoomInfos(e){const{userTotalNums:t,userInfos:n}=e;return{userCount:t,userInfos:It(n,(e=>{const{id:t,time:n}=e;return{id:t,time:gt(n)}}))}}_formatChatRoomKVList(e){let{entries:t,bFullUpdate:n,syncTime:r}=e;return t=t||[],t=It(t,(e=>{const{key:t,value:n,status:r,timestamp:s,uid:o,version:i}=e,{isAutoDelete:a,isOverwrite:l,type:d}=(e=>({isAutoDelete:!!(1&e),isOverwrite:!!(2&e),type:4&e?exports.ChatroomEntryType.DELETE:exports.ChatroomEntryType.UPDATE}))(r);return{key:t,value:n,isAutoDelete:a,isOverwrite:l,type:d,userId:o,timestamp:gt(s),version:gt(i)}})),{kvEntries:t,isFullUpdate:n,syncTime:r}}_formatUserSetting(e){const{items:t,version:n}=e,r={};return Et(t||[],(e=>{const{key:t,version:n,value:s}=e;e.version=gt(n),e.value=this._readBytes(s),"Tag"===t&&e.tags.forEach((e=>{e.createdTime=gt(e.createdTime),e.tagName=e.name})),r[t]=e})),{settings:r,version:n}}_formatConversationStatus(e){const{state:t}=e,n=[];return Et(t,(e=>{const{type:t,channelId:r,time:s,stateItem:o,busChannel:i}=e;let a=exports.NotificationStatus.CLOSE,l=exports.NotificationLevel.NOT_SET,d=!1,u=[];Et(o,(e=>{const{sessionStateType:t,value:n,tags:r}=e;switch(t){case cl:a=n===dl?exports.NotificationStatus.OPEN:exports.NotificationStatus.CLOSE,l=Number(n)||exports.NotificationLevel.NOT_SET;break;case hl:d=n===dl;break;case pl:u=r}})),n.push({conversationType:t,type:t,targetId:r,notificationStatus:a,notificationLevel:l,isTop:d,updatedTime:gt(s),tags:u,channelId:i||""})})),n}_formatGrpReadReceiptQryResp(e){const{totalMemberNum:t,list:n}=e;return n.forEach((e=>{e.readTime=gt(e.readTime)})),{totalMemberCount:t,list:n}}_formatQueryReceiptResp(e){const{list:t=[],num:n,readCnt:r}=e;return{list:t.map((e=>({readTime:gt(e.receiptTime),userId:e.userId}))),totalCount:n,readCount:r}}_formatUserSettingNotification(e){return e}_formatChrmKVVersion(e){const{joinTime:t,createTime:n,memberCount:r,chatroomBanState:s,whiteListState:o}=e;return{joinTime:t,createTime:n||0,memberCount:r||0,isAllChatroomBanned:!!(1&s),isCurrentUserBanned:!!(2&s),isCurrentChatroomBanned:!!(4&s),isCurrentChatroomInWhitelist:!!(1&o)}}_formatRTCJoinedUserInfo(e){return(e.info||[]).map((e=>({deviceId:e.deviceId,roomId:e.roomId,joinTime:gt(e.joinTime)})))}_formatCallKVInfo(e){return e}_fromatCallInfoDownStream(e){return e}_formateSessionMsgReadInput(e){const{busChannel:t,channelId:n,msgTime:r,type:s}=e;return{conversationType:s,targetId:n,channelId:t||"",timestamp:r}}_formateChannelsListResult(e){if(!e)return{result:{list:[]}};const{listType:t,result:n,page:r}=e;if(!n)return{listType:t,result:{list:[]},page:r};return{listType:t,result:Mo.decode(_l[t],n)||[],page:r}}encodeSessionAttInput(){const e=Mo.getModule(br);return e.setNothing(1),e.toArrayBuffer()}_calculateFlag(e){const{isFilerWhiteBlacklist:t,isVoipPush:n,pushConfig:r}=e,{disablePushTitle:s,forceShowDetailContent:o}=r||{};let i=0;return i|=n?1:0,i|=t?2:0,i|=s?4:0,i|=o?8:0,i}_getPushExtraModule(e){const{pushTitle:t,iOSConfig:n,androidConfig:r,templateId:s="",harmonyOSConfig:o}=e,i=Mo.getModule(hr);if(t&&i.setTitle(t),n||r||o){const e=((e={},t={},n={})=>{const{channelIdMi:r,channelIdHW:s,channelIdOPPO:o,typeVivo:i,importanceHW:a,categoryHW:l,imageUrlHW:d,categoryVivo:u,importanceHonor:c,imageUrlHonor:h}=t,{APNS:p,FCM:_}=((e={},t={})=>{const{threadId:n,apnsCollapseId:r,category:s,richMediaUri:o,interruptionLevel:i}=e,{googleConfig:a}=t,l={};l["thread-id"]=n||"",l["apns-collapse-id"]=r||"",l.category=s||"",l.richMediaUri=o||"",l["interruption-level"]=i||"active";const d={};d.collapse_key=null==a?void 0:a.collapseKey,d.imageUrl=null==a?void 0:a.imageUrl;let u=null==a?void 0:a.priority;return u&&!["high","normal"].includes(u)&&(u="normal"),d.priority=u,{APNS:l,FCM:d}})(e,t),g=[{HW:{channelId:s||"",importance:a||"NORMAL",image:d||"",category:l||""}},{MI:{channelId:r||""}},{OPPO:{channelId:o||""}},{VIVO:{classification:i||"",category:u||""}},{APNS:p},{FCM:_},{HONOR:{importance:c||exports.PushImportanceHonor.NORMAL,image:h||""}},{OHOS:{category:n.category||null,image:n.image||""}}];return JSON.stringify(g)})(n,r,o);i.setPushConfigs(e)}return(null==r?void 0:r.notificationId)&&i.setPushId(null==r?void 0:r.notificationId),i.setTemplateId(s),i}_getUpMsgModule(e,t){const{messageType:n,content:r,directionalUserIdList:s,canIncludeExpansion:o,expansion:i,pushConfig:a,channelId:l,pushData:d="",pushContent:u="",messageId:c=0,disableUpdateLastMessage:h=!1,isPersited:p}=t,{conversationType:_,targetId:g}=e,E=Mo.getModule(cr),I=(e=>{const{isStatusMessage:t}=e;let{isPersited:n,isCounted:r,isMentioned:s,disableNotification:o,canIncludeExpansion:i}=e;t&&(n=r=!1);let a=0;return n&&(a|=1),r&&(a|=2),s&&(a|=4),o&&(a|=32),i&&(a|=64),a})(t),{pushContent:T=u,pushData:f=d}=a||{};E.setSessionId(I),T&&E.setPushText(T),f&&E.setAppData(f),s&&E.setToUserIds(s);let C=this._calculateFlag(t);if(E.setConfigFlag(C),E.setClassname(n),r.user&&r.user.portraitUri&&(r.user.portrait=r.user.portraitUri),E.setContent(JSON.stringify(r)),o&&i){const e={};Et(i,((t,n)=>{e[n]={v:t}})),E.setExtraContent(JSON.stringify(e))}if(a){const e=this._getPushExtraModule(a);E.setPushExt(e)}E.setClientUniqueId(c),lt(l)||E.setBusChannel(l),_===exports.ConversationType.SYSTEM&&E.setSystemId(g);let R=0;return p&&h&&(R|=1),E.setOptionBits(R),E}encodeUpMsg(e,t){return this._getUpMsgModule(e,t).toArrayBuffer()}encodeGetHistoryMsg(e,t){const{count:n,order:r,timestamp:s,channelId:o}=t,i=Mo.getModule(Ur);return i.setTargetId(e),i.setTime(s),i.setCount(n),i.setOrder(r),i.setBusChannel(o||""),i.toArrayBuffer()}encodeSuperSyncMsg(e){const t=Mo.getModule(Is);return t.setSyncTime(e),t.toArrayBuffer()}encodeOldConversationList(e){e=e||{};let{count:t,type:n,startTime:r,order:s}=e;t=t||0,r=r||0,s=s||0;const o=Mo.getModule(Sr);return o.setType(n),o.setCount(t),o.setStartTime(r),o.setOrder(s),o.toArrayBuffer()}encodeRemoveOldConversationList(e){e=e||{};const{conversationType:t,channelId:n}=e,r=Mo.getModule(mr);return r.setType(t),n&&r.setBusChannel([n]),r.toArrayBuffer()}encodeBatchDeleteConversation(e){const t=Mo.getModule(Br),n=[];return e.forEach((e=>{const{conversationType:t,targetId:r,channelId:s}=e,o=Mo.getModule(kr);o.setConversationType(t),o.setConversationId(r),o.setBusChannel(s||""),n.push(o)})),t.setRelation(n),t.toArrayBuffer()}_encodeSessions(e){return e.map((e=>{const{conversationType:t,targetId:n}=e,r=Mo.getModule(Vr);return r.setType(t),r.setChannelId(n),r}))}encodeRemoveConversationList(e){const t=Mo.getModule(wr);return t.setSessions(this._encodeSessions(e)),t.toArrayBuffer()}encodeDeleteMessages(e,t,n,r){const s=Mo.getModule(Hr),o=[];return Et(n,(e=>{o.push({msgId:e.messageUId,msgDataTime:e.sentTime,direct:e.messageDirection})})),s.setType(e),s.setConversationId(t),s.setMsgs(o),s.setBusChannel(r),s.toArrayBuffer()}encodeClearMessages(e,t,n,r){const s=Mo.getModule(Nr);return t=t||(new Date).getTime(),s.setDataTime(t),s.setTargetId(e),s.setBusChannel(n),s.setConversationType(r),s.toArrayBuffer()}encodeBatchClearRemoteMessages(e){const t=Mo.getModule(Or),n=e.map((e=>{const t=Mo.getModule(Nr);return t.setTargetId(e.targetId),t.setConversationType(e.conversationType),t.setBusChannel(e.channelId),t.setDataTime(e.timestamp),t}));return t.setInput(n),t.toArrayBuffer()}encodeClearUnreadCount(e,t){const{conversationType:n,targetId:r,channelId:s}=e;let{timestamp:o}=t;const i=Mo.getModule(Dr);return o=o||+new Date,i.setType(n),i.setChannelId(r),i.setMsgTime(o),i.setBusChannel(s),i.toArrayBuffer()}encodeExpandUltraMessage(e,t){const{targetId:n,conversationType:r,channelId:s,messageUId:o,sendTime:i,keys:a,expansion:l,removeAll:d}=e,u={mid:o,put:l,del:a,clear:d?1:0},c=Mo.getModule(Ts);return c.setFromUserId(t),c.setTargetId(n),c.setType(r),c.setBusChannel(s||""),c.setMsgUID(o),c.setMsgTime(i),c.setContent(JSON.stringify(u)),c.toArrayBuffer()}encodemodifyMessage(e,t){const{targetId:n,conversationType:r,channelId:s,messageUId:o,sendTime:i,content:a}=e,l=Mo.getModule(Ts);return l.setFromUserId(t),l.setTargetId(n),l.setType(r),l.setBusChannel(s||""),l.setMsgUID(o),l.setMsgTime(i),l.setContent(JSON.stringify(a)),l.toArrayBuffer()}encodeQueryMsgChange(e){const t=Mo.getModule(fs);return t.setSyncTime(e),t.toArrayBuffer()}encodeMsgQuery(e){const{targetId:t,conversationType:n,messages:r}=e,s=Mo.getModule(Ss),o=r.map((e=>{const{sendTime:t,messageUId:n,channelId:r}=e;return{msgTime:t,msgUID:n,busChannel:r}}));return s.setTargetId(t),s.setType(n),s.setQuery(o),s.toArrayBuffer()}encodeUnreadMentionedMsgQuery(e){const{targetId:t,channelId:n,sentTime:r,count:s}=e,o=Mo.getModule(vr);return o.setGroupId(t),o.setBusChannel(n),o.setMsgTime(r),o.setSize(s),o.toArrayBuffer()}encodeOperateStatus(e,t,n,r){const s=Mo.getModule(ys);return s.setTargetId(e),s.setType(t),s.setBusChannel(n),s.setOpType(r),s.toArrayBuffer()}encodeGetChatRoomInfo(e,t){const n=Mo.getModule(Mr);return n.setCount(e),n.setOrder(t),n.toArrayBuffer()}encodeSetUltraGroupDefaultNotificationLevel(e,t){const n=Mo.getModule(rs);return n.setUnpushLevel(e),n.setBusChannel(t),n.toArrayBuffer()}encodeGetUltraGroupDefaultNotificationLevel(e){const t=Mo.getModule(ns);return t.setBusChannel(e),t.toArrayBuffer()}encodeModifyChatRoomKV(e,t,n){const r=Mo.getModule(qr),{key:s,value:o,notificationExtra:i,isSendNotification:a,type:l,timestamp:d}=t,u=l||exports.ChatroomEntryType.UPDATE,c=ol(t,u),h={key:s,value:o||"",uid:n,version:d};if(lt(c)||(h.status=c),r.setEntry(h),a){const t={conversationType:exports.ConversationType.CHATROOM,targetId:e},n={key:s,value:o,extra:i,type:u},a=this._getUpMsgModule(t,{messageType:exports.MessageType.CHRM_KV_NOTIFY,content:n,isPersited:!1,isCounted:!1});r.setNotification(a),r.setBNotify(!0),r.setType(exports.ConversationType.CHATROOM)}return r.toArrayBuffer()}encodeModifyChatRoomKVS(e,t,n){const r=Mo.getModule(Yr),{entries:s,type:o}=t,i=o||exports.ChatroomEntryType.UPDATE,a=ol(t,i),l=[];return s.forEach((e=>{const t={key:e.key,value:e.value||"",uid:n,version:e.timestamp};lt(a)||(t.status=a),l.push(t)})),r.setEntry(l),r.toArrayBuffer()}encodePullChatRoomKV(e){const t=Mo.getModule(Qr);return t.setTimestamp(e),t.toArrayBuffer()}encodeGetConversationStatus(e){const t=Mo.getModule(Xr);return t.setTime(e),t.toArrayBuffer()}encodeSetConversationStatus(e,t){const n=Mo.getModule(ts),r=Date.now(),s=[];return Et(e,(e=>{const t=Mo.getModule(zr),{conversationType:n,targetId:o,notificationStatus:i,isTop:a,channelId:l,notificationLevel:d}=e,u=[];t.setType(n),t.setChannelId(o),t.setTime(r),t.setBusChannel(l);const c=i===exports.NotificationStatus.OPEN,h={};lt(i)||(h[cl]=c),lt(d)||(h[cl]=d),lt(a)||(h[hl]=a),Et(h,((e,t)=>{if(!lt(e)){const n=Mo.getModule(es);e=e?dl:ul,lt(d)||Number(t)!==cl||(e=String(d)),n.setSessionStateType(Number(t)),n.setValue(e),u.push(n)}})),t.setStateItem(u),s.push(t)})),n.setVersion(t||r),n.setState(s),n.toArrayBuffer()}encodeSetConversationTypeLevel(e,t,n){const r=Mo.getModule(is);return r.setType(e),r.setVersion(t),r.setUnpushLevel(n),r.toArrayBuffer()}encodeReadReceipt(e,t){const n=Mo.getModule(ls);return n.setMsgId(e),t&&n.setChannelId(t),n.toArrayBuffer()}encodeCreateTag(e,t){const n=Mo.getModule(us),r=[];return e.forEach((e=>{const t=Mo.getModule(cs);t.setTagId(e.tagId),t.setName(e.tagName),r.push(t)})),n.setTags(r),n.setVersion(t),n.toArrayBuffer()}encodeMessageReader(e,t){const n=Mo.getModule(ls);return n.setMsgId(e),t&&n.setChannelId(t),n.toArrayBuffer()}encodeReadReceiptMsg(e,t,n){const r=Mo.getModule(Us),{conversationType:s,targetId:o,channelId:i=""}=e;return r.setType(s),r.setTargetId(o),r.setBusChannel(i),r.setStartMsgId(t),r.setEndMsgId(n),r.toArrayBuffer()}encodeReceiptQryReq(e,t){const n=Mo.getModule(Ps),{targetId:r,channelId:s=""}=e;return n.setTargetId(r),n.setBusChannel(s),n.setMsgId(t),n.toArrayBuffer()}encodeReceiptCntQryReq(e,t){const n=Mo.getModule(xs),{targetId:r,conversationType:s,channelId:o=""}=e;return n.setChannelId(r),n.setBusChannel(o),n.setType(s),n.setMsgId(t),n.toArrayBuffer()}encodeSessionMsgReadInput(e,t){const n=Mo.getModule(Dr),{conversationType:r,targetId:s,channelId:o=""}=e;return n.setType(r),n.setChannelId(s),n.setBusChannel(o),n.setMsgTime(t),n.toArrayBuffer()}encodeRemoveTag(e,t){const n=Mo.getModule(hs),r=[];return e.forEach((e=>{const t=Mo.getModule(cs);t.setTagId(e),r.push(t)})),n.setTags(r),n.setVersion(t),n.toArrayBuffer()}encodeDisConversationTag(e){const t=Mo.getModule(ps);return t.setTagId(e),t.toArrayBuffer()}encodeUpdateConversationTag(e,t,n){const r=Mo.getModule(ts),s=[];return t.forEach((t=>{const n=Mo.getModule(zr),r=Mo.getModule(es),o=[];e.forEach((e=>{const t=Mo.getModule(cs);t.setTagId(e.tagId),lt(e.isTop)||t.setIsTop(e.isTop),o.push(t)})),r.setSessionStateType(pl),r.setValue(JSON.stringify(o)),r.setTags(o),n.setType(t.conversationType),n.setChannelId(t.targetId),n.setTime(Date.now()),n.setStateItem([r]),s.push(n)})),r.setState(s),r.setVersion(n),r.toArrayBuffer()}encodeReportSDKInfo(e){const t=Mo.getModule(gs);return t.setSdkInfo(e),t.toArrayBuffer()}encodeUltraGroup(e,t){const n=Mo.getModule(Es);return n.setSyncTime(e),n.setIsEraseMsgContent(t),n.toArrayBuffer()}encodebindRTCRoomForChatroom(e){const t=Mo.getModule(As);return t.setRtcRoomId(e.rtcRoomId),t.toArrayBuffer()}encodeSetCallInfo(e,t){const n=Mo.getModule(Ns);return n.setKey(e),n.setDataContent(t),n.toArrayBuffer()}encodePullKVMsg(e){const t=Mo.getModule(Ms);return t.setSyncTime(e),t.toArrayBuffer()}encodeUpdateUserSubReq(e,t,n,r){const s=Mo.getModule(ws);s.setSubType(e),s.setOpType(n),s.setExpiry(r);const o=[];return t.forEach((e=>{const t=Mo.getModule(Vs);t.setSubUserId(e),o.push(t)})),s.setSubUsers(o),s.toArrayBuffer()}encodePullUserSubReq(e){const{version:t,pageToken:n}=e,r=Mo.getModule(Fs);return r.setVersion(t),r.setPageToken(n),r.toArrayBuffer()}encodePullSubDataReq(e){const{version:t,needAllData:n,pageToken:r}=e,s=Mo.getModule(ks);return s.setVersionTime(t),s.setNeedAllData(n),s.setPageToken(r),s.toArrayBuffer()}encodeQrySubDataReq(e,t){const n=Mo.getModule(Ys);n.setSubType(e);const r=[];return t.forEach((e=>{const t=Mo.getModule(Vs);t.setSubUserId(e),r.push(t)})),n.setSubUsers(r),n.toArrayBuffer()}encodePullUserProfileReq(e){const t=Mo.getModule(Ws);return t.setUserId(e),t.toArrayBuffer()}encodeUserProfileInput(){const e=Mo.getModule(Js);return e.setNothing(1),e.toArrayBuffer()}encodeUserProfilePermission(e){const t=Mo.getModule(Xs);return t.setPermission(e),t.toArrayBuffer()}encodeSearchUserProfile(e){const t=Mo.getModule(Zs);return t.setUniqueId(e),t.toArrayBuffer()}encodeUserProfile(e){const t=Mo.getModule(Ks),n=[],r=[];return Object.keys(e).forEach((t=>{if("extraProfile"===t){if(e.extraProfile){const{extraProfile:t}=e;Object.keys(t).forEach((e=>{const n=t[e],s=Mo.getModule(js);s.setKey(e),s.setValue(n.toString()||""),r.push(s)}))}return}const s=e[t],o=Mo.getModule(js);o.setKey(t),o.setValue((null==s?void 0:s.toString())||""),n.push(o)})),t.setUserProfile(n),t.setUserExtProfile(r),t.toArrayBuffer()}encodeMultiChannels(e){const t=Mo.getModule(to),n=[];return e.forEach((e=>{const t=Mo.getModule(zs);t.setTargetId(e),n.push(t)})),t.setType(exports.ConversationType.GROUP),t.setList(n),t.toArrayBuffer()}encodeQuitGroup(e,t,n=[],r=!0,s){const o=Mo.getModule(no);if(o.setTargetId(t),o.setType(exports.ConversationType.GROUP),"dismiss"!==e&&s){const e=this.encodeQuitChannelsSetting(s,r);o.setSettingInfo(e)}return"quit"!==e&&"dismiss"!==e&&o.setUsers(n),o.toArrayBuffer()}encodeQuitChannelsSetting(e,t){const n=Mo.getModule(ro);return n.setIsQuit(t),n.setIsDelBan(!!(null==e?void 0:e.removeMuteStatus)),n.setIsDelWhite(!!(null==e?void 0:e.removeWhiteList)),n.setIsDelAttention(!!(null==e?void 0:e.removeFollow)),n}encodeModifyChannelsInput(e,t,n){const r=Mo.getModule(no);return r.setTargetId(t),r.setType(exports.ConversationType.GROUP),r.setUsers(n),r.setOperateType(e),r.toArrayBuffer()}encodeChannelsQueryInput(e){const{type:t,groupId:n,option:r,ids:s}=e,o=Mo.getModule(so);if(n&&o.setTargetId(n),o.setType(exports.ConversationType.GROUP),["getGroupMembersByRole","getGroupApplications","getJoinedGroupsByRole"].includes(t)&&r){const e=this.encodePagingQuery(r);o.setPage(e)}return["getGroupMembers","getJoinedGroups"].includes(t)&&o.setIds(null!=s?s:[]),e.roleType&&o.setRoleType(e.roleType),o.toArrayBuffer()}encodePagingQuery(e){const t=Mo.getModule(oo),{count:n,order:r,pageToken:s}=e;return t.setSize(n),t.setOrder(r?0:1),t.setPageToken(s),t}encodeJoinGroup(e,t,n=[]){const r=Mo.getModule(uo);return r.setTargetId(t),r.setType(exports.ConversationType.GROUP),"invite"===e&&r.setUserIds(n),r.toArrayBuffer()}encodeMemberResponseInput(e){const{groupId:t,inviterId:n,optType:r,optResult:s,joinUserId:o,reason:i}=e,a=Mo.getModule(lo);return a.setTargetId(t),a.setType(exports.ConversationType.GROUP),a.setOptType(r),a.setOptResult(s),a.setInviterId(n),r===exports.GroupOperationRole.MANAGER&&a.setJoinUserId(o),s||a.setDetail(null!=i?i:""),a.toArrayBuffer()}encodeSetGroupRemark(e,t){const n=Mo.getModule(ao);let r=exports.GroupOperationType.ADD;return n.setTargetId(e),n.setType(exports.ConversationType.GROUP),t||(r=exports.GroupOperationType.REMOVE),n.setOperateType(r),n.setChannelNickName(t),n.toArrayBuffer()}encodeSetGroupFollows(e,t,n){const r=Mo.getModule(no);return r.setTargetId(t),r.setType(exports.ConversationType.GROUP),r.setUsers(n),r.setOperateType(e),r.toArrayBuffer()}encodeFriendInput(e){const t=Mo.getModule(co);return t.setTargetId(e.targetId),e.type&&t.setType(e.type),e.info&&t.setInfo(e.info),t.toArrayBuffer()}encodeFriendsInput(e,t){return Mo.encode(ho,{targetId:e,type:t})}encodeFriendQueryInput(e,t,n){const{count:r=200,pageToken:s="",order:o=!1}=null!=t?t:{},i=Mo.getModule(Eo);i.setQueryType(e),11===e&&i.setFriendType(n);const a=Mo.getModule(oo);return a.setSize(r),a.setOrder(o?0:1),a.setPageToken(s),i.setPage(a),i.toArrayBuffer()}encodeFriendsListInput(e,t){return Mo.encode(Io,{targetId:e,type:t})}encodeFriendLevelSet(e){return Mo.encode(To,{level:e})}encodeQuerySessionsInput(e){const t=Mo.getModule(Gr);return t.setSessions(this._encodeSessions(e)),t.toArrayBuffer()}}const Il=(e,t,n,r,s,o)=>{const{type:i,version:a}=Sa(),l="browser"===rr.tag?`|${i}|${a}`:"||",d=o?`&protocolVer=${o}`:"",u=Ra();return`${e}://${t}/websocket?appId=${n}&token=${encodeURIComponent(r)}&sdkVer=${me}&pid=${s}&deviceId=${u}&apiVer=${rr.isFromUniapp?"uniapp":rr.tag+encodeURIComponent(l)}${rr.connectPlatform?`&platform=${rr.connectPlatform}`:""}${d}`};class Tl extends ln{constructor(e,t,n,r){super(e,t,n,r),this.wsListener=r,this._socket=null,this._connectedTime=0,this._socketIndex=0,this._serverSessionId="",this._localConnectedTime=0,this._idCount=0,this._generateMessageId=()=>(this._idCount>=65535&&(this._idCount=0),++this._idCount),this._messageIds={},this._syncMessageIds={},this.codec=new El(this.logger)}getConnectedTime(){return this._connectedTime}getLocalConnectedTime(){return this._localConnectedTime}getCrtServerTime(){return Date.now()-this._localConnectedTime+this._connectedTime}getDelayTime(){return this._localConnectedTime-this._connectedTime}connectWithToken(e,n,r,s){return t(this,void 0,void 0,(function*(){const{openAnti:t,type:r}=n,o=this.getCmpList(n);this.logger.debug(exports.LogTagId.L_NAVI_CMP_R,JSON.stringify(o),s);const i=o.filter(((e,t)=>o.findIndex((t=>t.addr===e.addr))===t)).sort(((e,t)=>e.weight>t.weight?-1:1));if(0===i.length)return this.logger.error(exports.LogTagId.L_NAVI_CONF_E,"no service available",s),Je(exports.ErrorCode.SERVER_UNAVAILABLE);const a=1===t?ti.V4:ti.V3;for(let t=0;t<i.length;t+=1){const{protocol:n,addr:o,weight:l}=i[t],d=Il(n===V.WS?"ws":"wss",o,this.appkey,e,"",a),u=Date.now(),{code:c,data:h}=yield this.connectWebSocket(d,a,s),p=this.cmpWeightCache.findIndex((e=>e.addr===o)),_={bid:Ft(),ptc:ue.WS,cod:c,net:this.getNetwork().type,dur:Date.now()-u,spr:0,pr:r||0,hos:o,idx:p,rct:this.retryCount?pe.RECONNECT:pe.CONNECT,cid:this.cid,v:he.CURRENT,rsn:this._doConnectReason,count:this.retryCount,weight:l,ssid:this._serverSessionId};if(this.logger.record(oe.IM_WEBSOCKET,JSON.stringify(_),s),c!==exports.ErrorCode.RC_SOCKET_DISCONNECTED&&c!==exports.ErrorCode.TIMEOUT)return c!==exports.ErrorCode.SUCCESS?Je(c):(this._localConnectedTime=Math.floor((Date.now()+u)/2),this._socket=h.socket,this.updateCmpWeight(i[t].addr,!0),this.curCmpUrl=i[t].addr,$e(h.userId))}return Je(exports.ErrorCode.SERVER_UNAVAILABLE)}))}connectWebSocket(e,n,r){return t(this,void 0,void 0,(function*(){return this.logger.info(exports.LogTagId.T,`connect start: ${e}`,r),new Promise((t=>{const s=rr.createWebSocket(e);this._socketIndex=s.id;const o=setTimeout((()=>{this.logger.info(exports.LogTagId.T,`connect timeout: ${e}`,r),t(Je(exports.ErrorCode.TIMEOUT)),s&&s.close()}),5e3);s.onOpen((()=>{clearTimeout(o),this.logger.info(exports.LogTagId.T,"socket open",r)})),s.onMessage((e=>{if(this._socketIndex!==s.id)return void this.logger.warn(exports.LogTagId.L_WEBSOCKET_DISACCORD_E,JSON.stringify({msg:"WebSocket id disaccord",_socketIndex:this._socketIndex,curSocketId:s.id}));if("[object ArrayBuffer]"!==Object.prototype.toString.call(e))return;const o=Yi(e,n);if(o){if(o instanceof Li){const e=o.status;if(e!==el.ACCEPTED)return this.logger.info(exports.LogTagId.T,`connect failed: ${e}`,r),void t(Je((e=>rl[e])(e)));this.logger.info(exports.LogTagId.T,"connect success",r);const{timestamp:n,userId:i,messageId:a,sessionId:l}=o;return this._serverSessionId=l,this._connectedTime=n,this._idCount=a,void t($e({userId:i,socket:s}))}if(o instanceof Ui){const e=o.status;return this.logger.info(exports.LogTagId.T,`recv disconnect signal -> status: ${e}`),void this.onRecvDisconnect(e,s)}this._onReceiveSignal(o)}})),s.onClose((()=>{this.logger.info(exports.LogTagId.T,"socket close",r);const e=exports.ErrorCode.RC_SOCKET_DISCONNECTED;t(Je(e)),this.onSocketEnd(s,e)})),s.onError((e=>{this.logger.info(exports.LogTagId.T,"socket error",r);const n=exports.ErrorCode.RC_SOCKET_DISCONNECTED;t(Je(n)),this.onSocketEnd(s,n)}))}))}))}_qosNeedAck(e){e.header.qos!==zo.AT_MOST_ONCE&&(e instanceof wi&&!e.syncMsg&&(this.logger.debug(exports.LogTagId.O,`send pubAck -> ${e.messageId} ${e.topic}`),this.sendOnly(new ki(e.messageId))),e instanceof qi&&(this.logger.debug(exports.LogTagId.O,`send queryCon -> ${e.messageId}`),this.sendOnly(new Hi(e.messageId))))}_publishReader(e){return t(this,void 0,void 0,(function*(){const{syncMsg:t,topic:n,messageId:r}=e;if(this.logger.debug(exports.LogTagId.O,`recv PublishReader -> messageId: ${r} ${n}`),n===di)return;if(!t||sl(n))return void this.wsListener.signal(e);const s=yield new Promise((e=>{this._syncMessageIds[r]=e}));delete this._syncMessageIds[r],this.wsListener.signal(e,s)}))}_onReceiveSignal(e){return t(this,void 0,void 0,(function*(){if(e instanceof bi&&this._pingResolve)return this._pingResolve(exports.ErrorCode.SUCCESS),void(this._pingResolve=void 0);if(this._qosNeedAck(e),e instanceof Bi||e instanceof qi){const{messageId:t}=e;this.logger.debug(exports.LogTagId.O,`recv ack -> messageId: ${t}`);const n=this._messageIds[t];n&&(n(e),delete this._messageIds[t]);const r=this._syncMessageIds[t];r&&(delete this._syncMessageIds[t],r(e))}e instanceof wi&&(yield this._publishReader(e))}))}onRecvDisconnect(e,t){this._socket&&this._socket===t&&(this._socket=null,this.clearResolves(),this.onDisconnectByServer((e=>nl[e])(e)))}onSocketEnd(e,t){this._socket&&this._socket===e&&(this._socket=null,this.clearResolves(),this.onDisconenctUnusual(t),this._pingResolve&&(this._pingResolve(t),this._pingResolve=void 0))}clearResolves(){for(const e in this._messageIds){const t=this._messageIds[e];delete this._messageIds[e],t(exports.ErrorCode.RC_SOCKET_DISCONNECTED)}}sendPing(e){return new Promise((t=>{this._pingResolve=t,setTimeout((()=>t(exports.ErrorCode.TIMEOUT)),e),this.sendOnly(new Pi)}))}sendOnly(e){this._socket&&((e instanceof Fi||e instanceof Gi)&&(e.messageId=this._generateMessageId()),this._socket.send(e.getArrayBuffer()))}_sendHandler(e){return t(this,void 0,void 0,(function*(){if(!this._socket)return Je(exports.ErrorCode.RC_NET_CHANNEL_INVALID);const t=this._generateMessageId();e.messageId=t,this._socket.send(e.getArrayBuffer());const n=yield new Promise((e=>{this._messageIds[t]=e,setTimeout((()=>{this._messageIds[t]&&delete this._messageIds[t],e(exports.ErrorCode.TIMEOUT)}),3e4)})),r="number"==typeof n?n:n.status;return r!==exports.ErrorCode.SUCCESS&&this.logger.warn(exports.LogTagId.O,`send rmtp fail -> messageId: ${t}, code: ${r}, topic: ${e.topic}`),"number"==typeof n?Je(n):r===exports.ErrorCode.SUCCESS?$e(n):Je(r,"",n)}))}query(e,n,r,s,o){return t(this,void 0,void 0,(function*(){const t=this.logger.createTraceId();this.logger.debug(exports.LogTagId.O,`send query -> topic: ${Zo(e)}, targetId: ${n}`,t);const i=new Gi(e,r,n);o&&i.setHeaderQos(o);const{code:a,data:l,isOk:d,msg:u}=yield this._sendHandler(i),c=l&&s?Mo.decode(s,l.pbData):void 0;return d?(this.logger.info(exports.LogTagId.O,"send query success",t),$e(c)):(this.logger.warn(exports.LogTagId.O,`send query fail -> ${a}`,t),Je(a,u,c))}))}send(e,n,r){return t(this,void 0,void 0,(function*(){const t=yield this._sendHandler(e);if(!t.data)return t.wipe();if(t.data instanceof Bi)return t;const s=t.data,o=n&&s.pbData&&[exports.ErrorCode.SUCCESS,exports.ErrorCode.CHATROOM_KV_STORE_NOT_ALL_SUCCESS,exports.ErrorCode.RC_BESUBSCRIBED_USERIDS_COUNT_EXCEED_LIMIT,exports.ErrorCode.RC_USER_PROFILE_KEY_NOT_EXIST,exports.ErrorCode.RC_USER_PROFILE_EXT_KEY_NOT_EXIST,exports.ErrorCode.RC_USER_PROFILE_VALUE_CAN_ONLY_BE_NUMBERS,exports.ErrorCode.RC_USER_PROFILE_VALUE_EXCEED_RANGE,exports.ErrorCode.RC_GROUP_PARAMETER_FORMAT_ERROR].indexOf(s.status)>=0?this.codec.decodeByPBName(s.pbData,n,r):s;return 0!==s.status?(this.logger.warn(exports.LogTagId.O,`send failed -> messageId: ${s.messageId}, respPBName: ${n}, status: ${s.status}`),Je(s.status,void 0,n&&s.pbData?o:null)):$e(o)}))}close(e){this._socket&&(this._socket.close(),this._socket=null),this.clearResolves()}}class fl{}class Cl extends on{constructor(e,t,n){super(t,e,n),this._mrtr={chatroom:0,group:0,private:0,ultraGroup:0,temporary:!1};const r=Sa();this.deviceId=Ra(),this.model=`Web|${r.type}|${r.version}`,this.init()}httpRequest(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=s;t.deviceId=this.deviceId,t.model=this.model;const o={url:e,method:n,headers:r,body:JSON.stringify(t)};this.logger.info(exports.LogTagId.L_REQUEST_T,JSON.stringify(o));const{status:i,data:a=""}=yield rr.httpReq(o);this.logger.info(exports.LogTagId.L_REQUEST_R,JSON.stringify({status:i,data:a}));try{const e=JSON.parse(a),t=e.data;return{code:parseInt(e.code,10),data:t}}catch(e){return this.logger.warn(exports.LogTagId.L_CLOUD_CONFIG_DATA_E,JSON.stringify({status:i,data:a,error:e})),{code:i,msg:e}}}))}setCloudControllerCache(e){const t=Ve(this.appkey);rr.localStorage.setItem(t,JSON.stringify(e)),this.logger.info(exports.LogTagId.L_CLOUD_SET_CACHE_O,JSON.stringify(e))}getLocalCloudControllerCache(){const e=Ve(this.appkey),t=rr.localStorage.getItem(e);return this.logger.info(exports.LogTagId.L_CLOUD_SET_CACHE_O,JSON.stringify({appkey:this.appkey,key:e,data:t})),t}setMRTRConfig(e){this.logger.info(exports.LogTagId.L_CLOUD_SET_MRTR_O,JSON.stringify(e)),this._mrtr=e}getMRTRConfig(){return this._mrtr}}let Rl=null;const Sl="RC_LOGS",ml="RC_STATISTICS",yl="RC_CONF",vl={[Sl]:["level","time"],[yl]:["key"],[ml]:["level","time"]},Al=(e,t,n)=>new Promise((r=>{const s=e.transaction(t,"readwrite").objectStore(t).index("time"),o=IDBKeyRange.upperBound(Date.now()-n),i=s.openCursor(o);i.onsuccess=e=>{const t=e.target.result;t?(t.delete(),t.continue()):r()},i.onerror=()=>{r()}}));let Nl=null;const Ol=e=>t(void 0,void 0,void 0,(function*(){const t=yield Rl;if(!t)return;const{db:n}=t;yield Al(n,Sl,e),yield Al(n,ml,e),Nl=setTimeout((()=>Ol(e)),6e5)})),Ml=(e,t,n=168)=>{Rl||("undefined"!=typeof window&&window&&window.indexedDB&&"IE"!==Sa().type?Rl=new Promise((r=>{const s=window.indexedDB;(e=>{const t=window.indexedDB;t.databases&&t.databases().then((n=>{n.forEach((n=>{n.name&&e.includes(n.name)&&t.deleteDatabase(n.name)}))}))})(["RC_ENGINE_DB",`RC_STATISTIC_${e}`]);const o=`RC_LOGS_${e}`,i=s.open(o,2);i.onerror=e=>{t.error(exports.LogTagId.L_LOGDB_OPEN_FAILED_E,e.target.error),r(null)},i.onsuccess=s=>{const o=s.target.result;o?(o.onclose=e=>{Rl=null,t.warn(exports.LogTagId.L_LOGDB_CLOSED_S)},o.onerror=e=>{Rl=null,t.error(exports.LogTagId.L_LOGDB_ERROR_E,e.target.error)},o.onabort=e=>{t.info(exports.LogTagId.L_LOGDB_ABORT_S,e.target.error)},Ol(3600*Math.max(24,Math.min(168,n))*1e3),r({appkey:e,db:o})):r(null)},i.onupgradeneeded=e=>{const t=e.target.result;Object.keys(vl).forEach((e=>{t.objectStoreNames.contains(e)&&t.deleteObjectStore(e);const n=e===yl?{keyPath:"key"}:{autoIncrement:!0},r=t.createObjectStore(e,n);vl[e].forEach((e=>r.createIndex(e,e,{unique:!1})))}))}})):t.warn(exports.LogTagId.L_UNSUPPORT_INDEXDB_O))},Ll=[],Ul=(e,t,n)=>new Promise((r=>{const s=e.transaction(t,"readwrite");s.oncomplete=r,s.onabort=r;const o=s.objectStore(t);n.forEach((e=>{try{o.add(e)}catch(t){null===console||void 0===console||console.error("write failed ->",e,t)}}))})),Pl=[];let bl=!1;const xl=e=>t(void 0,void 0,void 0,(function*(){if(bl||0===Pl.length)return;bl=!0;const t=Pl.filter((e=>e.level<exports.LogL.FATAL)),n=Pl.filter((e=>e.level>=exports.LogL.FATAL));Pl.length=0,yield Ul(e,Sl,n),yield Ul(e,ml,t),bl=!1,0===Pl.length&&Ll.length>0&&(Ll.forEach((e=>e.close())),Ll.length=0),setTimeout((()=>xl(e)))}));function Dl(e){return t(this,void 0,void 0,(function*(){const t=yield Rl;return t?new Promise((n=>{const{db:r}=t,s=r.transaction(yl,"readonly").objectStore(yl).get(e);s.onsuccess=e=>{var t;n({value:null===(t=s.result)||void 0===t?void 0:t.value,success:!0})},s.onerror=e=>{n({success:!1})}})):{success:!1}}))}let wl=Ye;const Vl=()=>({setTimestamp4RealtimeLog(e){wl=e},getTimestamp4RealtimeLog:()=>wl,getLogs(e,n,r,s,o=Sl){return t(this,void 0,void 0,(function*(){const t=yield Rl;return t?new Promise((i=>{const{db:a}=t,l=a.transaction(o,"readonly").objectStore(o),d=[],u=IDBKeyRange.bound(e,n),c=l.index("time").openCursor(u);c.onsuccess=e=>{const t=e.target.result;if(t){const e=t.value;e.level<=r&&(s?e.sessionId===qe:e.level>=0)&&d.push(e),t.continue()}else i({dbReady:!0,logs:d})},c.onerror=e=>{i({dbReady:!1,logs:[]})}})):{dbReady:!1,logs:[]}}))}}),Gl="REPORT_SESSION",Fl=(e,n)=>t(void 0,void 0,void 0,(function*(){const r=`${Gl}_${e}`,{success:s,value:o}=yield Dl(`${Gl}_${e}`);s&&n!==(null==o?void 0:o.sessionId)&&function(e,n){t(this,void 0,void 0,(function*(){const t=yield Rl;if(!t)return!1;const{db:r}=t;return r.transaction(yl,"readwrite").objectStore(yl).put({key:e,value:n}),!0}))}(r,{sessionId:n})}));class Bl extends Xt{_handleWrite(e){(e=>{t(void 0,void 0,void 0,(function*(){const t=yield Rl;if(t){if(e.content&&et(e.content))try{e.content=JSON.parse(e.content)}catch(e){}Pl.push(e),xl(t.db)}}))})(e)}}const kl=144e5;if("undefined"!=typeof window){const e=(e,t)=>{const n=t.map((({sessionId:e,time:t,type:n,level:r,tag:s,traceId:o,loggerId:i,content:a})=>`${e},${t},${n},${r},${s},${o},${i},"${a}"\n`)),r=new Blob(n,{type:"text/csv"}),s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=`${e}.csv`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(s)};window.__rongcloud_devtools__={logger:{get(n,r=Date.now()-kl,s=Date.now()){return t(this,void 0,void 0,(function*(){r=r<0?Date.now()+r:r,(s=s<=0?Date.now():s)-r>kl&&(r=s-kl);const t=new Bl(n,"RC-IM","IM");t.debug(exports.LogTagId.T,`get logs: startTime ${r} endTime ${s}`),Ml(n,t);const o=Vl(),{logs:i}=yield o.getLogs(r,s,exports.LogL.DEBUG,!1);t.debug(exports.LogTagId.T,`get logs ${i.length}`),e(`${n}-${r}-${s}`,i)}))}}}}const Hl=48,ql=64,Yl=80,Kl=96,jl="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ql=e=>{const t={};for(let n=0;n<e.length-1;n++){const r=e.charAt(n)+e.charAt(n+1);t.hasOwnProperty(r)?t[r].push(n):t[r]=[n]}const n=[];let r=[];const s=function(){if(r.length>0){const e=r.join("");if(r=[],e.length>26){const t=$l(e.length),r=String.fromCharCode(Yl|t.length);n.push(r+t)}else{const t=String.fromCharCode(Kl|e.length);n.push(t)}n.push(e)}};let o=0;for(;o<e.length;){const i=Wl(t,e,o);if(i.length<2){r.push(e.charAt(o++));continue}if(i.length<4){r.push(e.substr(o,i.length)),o+=i.length;continue}const a=$l(o-i.offset),l=$l(i.length);if(a.length+l.length>=i.length){r.push(e.substr(o,i.length)),o+=i.length;continue}s();const d=String.fromCharCode(ql|a.length<<2|l.length);n.push(d+a+l),o+=i.length}s();const i=$l(e.length),a=String.fromCharCode(Hl|i.length);return n.push(a+i),n.join("")},Wl=(e,t,n)=>{const r={length:0,offset:-1};if(t.length,n>=t.length-1)return r;const s=e[t.charAt(n)+t.charAt(n+1)];if(s[0]===n)return r;const o=t.length-n;for(let e=0,i=s.length;e<i;e++){const i=s[e],a=n-i;if(a>238327)continue;const l=Math.min(o,a);if(l<=r.length)break;if(r.length>2&&t.charAt(i+r.length-1)!==t.charAt(n+r.length-1))continue;let d=2;for(let e=d;e<l&&t.charAt(i+e)===t.charAt(n+e);e++)d++;d>=r.length&&(r.length=d,r.offset=i)}return r},$l=e=>{const t=[];let n=0;do{n=e%62,t.push(jl.charAt(n)),e=(e-n)/62}while(e>0);return t.join("")};class Jl extends Zt{constructor(e,t,n){const r=Ra(),s=Sa();super(e,r,`${s.type}|${s.version}|${t.getSessionId()}`,Vl(),t),this.tableName=n}send(e){return rr.httpReq(e)}checkStart(e){const n=Object.create(null,{checkStart:{get:()=>super.checkStart}});return t(this,void 0,void 0,(function*(){return yield Fl(e.userId,this.logger.getSessionId()),n.checkStart.call(this,e,this.tableName)}))}compressLogs(e){return t(this,void 0,void 0,(function*(){return{success:!0,data:Ql(e.map(zt).join(""))}}))}realtimeReport(e,n,r){const s=Object.create(null,{realtimeReport:{get:()=>super.realtimeReport}});return t(this,void 0,void 0,(function*(){return s.realtimeReport.call(this,e,n,r,this.tableName)}))}}class Xl extends Jl{constructor(e,t){super(e,t,Sl)}isReporter(){return t(this,void 0,void 0,(function*(){var e,n;return yield(e=this.userId,n=this.logger.getSessionId(),t(void 0,void 0,void 0,(function*(){const{success:t,value:r}=yield Dl(`${Gl}_${e}`);return t&&(null==r?void 0:r.sessionId)===n})))}))}report(e,n,r,s,o,i,a=!1){const l=Object.create(null,{report:{get:()=>super.report}});return t(this,void 0,void 0,(function*(){const t=yield this.isReporter();if(!this.userId||t)return l.report.call(this,e,n,r,s,o,i,a)}))}}class Zl extends Jl{constructor(e,t){super(e,t,ml)}}var zl,ed;const td={[exports.ConversationType.PRIVATE]:Jo.qryPMsg,[exports.ConversationType.GROUP]:Jo.qryGMsg,[exports.ConversationType.CHATROOM]:Jo.qryCHMsg,[exports.ConversationType.CUSTOMER_SERVICE]:Jo.qryCMsg,[exports.ConversationType.SYSTEM]:Jo.qrySMsg,[exports.ConversationType.APP_PUBLIC_SERVICE]:Jo.qryMCMsg,[exports.ConversationType.PUBLIC_SERVICE]:Jo.qryMPMsg},nd={[exports.ConversationType.PRIVATE]:Jo.cleanPMsg,[exports.ConversationType.GROUP]:Jo.cleanGMsg,[exports.ConversationType.ULTRA_GROUP]:Jo.cleanGMsg,[exports.ConversationType.CUSTOMER_SERVICE]:Jo.cleanCMsg,[exports.ConversationType.SYSTEM]:Jo.cleanSMsg,[exports.ConversationType.APP_PUBLIC_SERVICE]:Jo.cleanMCMsg,[exports.ConversationType.PUBLIC_SERVICE]:Jo.cleanMPMsg},rd=(e,t,n,r,s,o,i)=>({conversationType:e,targetId:t,senderUserId:o,messageDirection:exports.MessageDirection.SEND,isCounted:!!n.isCounted,isMentioned:!!n.isMentioned,content:n.content,messageType:n.messageType,isOffLineMessage:!1,isPersited:!!n.isPersited,messageUId:r,sentTime:s,receivedTime:0,disableNotification:!!n.disableNotification,isStatusMessage:!!n.isStatusMessage,canIncludeExpansion:!!n.canIncludeExpansion,expansion:n.canIncludeExpansion?n.expansion:null,receivedStatus:exports.ReceivedStatus.UNREAD,receivedStatusInfo:St(exports.ReceivedStatus.UNREAD),pushConfig:n.pushConfig,channelId:n.channelId,isInterrupt:n.isInterrupt,messageId:i||0,sentStatus:exports.SentStatus.SENT,directedUserIds:n.directionalUserIdList,disableUpdateLastMessage:n.disableUpdateLastMessage}),sd=e=>(e.sort(((e,t)=>{var n,r;const s=(null===(n=e.latestMessage)||void 0===n?void 0:n.sentTime)||0;return((null===(r=t.latestMessage)||void 0===r?void 0:r.sentTime)||0)-s})),e),od=[A.GROUP_OPERATION,A.GROUP_PROFILE_CHANGE,A.GROUP_APPLICATION_INVITATION,A.GROUP_FOLLOW_USER_CHANGE],id=[h.FRIEND_APPLICATION],ad=["RC:TypSts","RC:InterceptMsg","RC:RL"];function ld(){return(e,n,r)=>{const s=r.value;return r.value=function(...e){return t(this,void 0,void 0,(function*(){return this._isConnected?s.apply(this,e):Promise.resolve({code:exports.ErrorCode.RC_NET_UNAVAILABLE})}))},r}}function dd(){return(e,n,r)=>{const s=r.value;return r.value=function(...e){return t(this,void 0,void 0,(function*(){return this._isConnected?s.apply(this,e):Promise.resolve(Je(exports.ErrorCode.RC_NET_UNAVAILABLE))}))},r}}function ud(e){return e?e.map((e=>{var t;return{userId:e.userId,name:e.name,portraitUri:e.portraitUrl,remark:null!==(t=e.remarkName)&&void 0!==t?t:"",directionType:e.friendType,extProfile:e.extProfile,addTime:gt(e.relationTime),inBlackList:!!e.flag}})):[]}function cd(e){return e&&e.list?e.list.map((e=>({userId:e.userId,name:e.name||"",portraitUri:e.portraitUrl||"",applicationType:e.type,applicationStatus:e.status,operationTime:gt(e.operateTime),extra:e.info||"",friendType:e.friendType}))):[]}class hd extends ji{constructor(e,t,n){super(e,t,n,new Bl(n.appkey,"IMLib","IM")),zl.add(this),this._customMessageType={},this._reconnectTimer=-1,this._pullOfflineFinished=!1,this.currentUserId="",this._openCallPlus=!1,this.cloudControllerUri="",this._pullingMsg=!1,this._pullQueue=[],this._chrmsQueue={},this._latestSyncTimestamp=0,this._intervalTimer=-1,this._latestPullKVMsgTimestamp=0,this._intervalTimerForChrmPull=-1,this._handleInnerMsgOptions=(e,t,n)=>{var r;const{messageType:s}=n;if(s===exports.MessageType.SYNC_READ_STATUS&&(e=>[exports.ConversationType.GROUP,exports.ConversationType.DISCUSSION,exports.ConversationType.ULTRA_GROUP,exports.ConversationType.PUBLIC_SERVICE,exports.ConversationType.APP_PUBLIC_SERVICE].includes(e))(e)&&Object.assign(n,{directionalUserIdList:[this.currentUserId]}),s===exports.MessageType.READ_RECEIPT_RESPONSE){if(!n.content.receiptMessageDic||0===Object.keys(n.content.receiptMessageDic).length){const s=null===(r=this._readReceiptManager)||void 0===r?void 0:r.getReceiptMessageDic({conversationType:e,targetId:t,channelId:n.channelId});n.content.receiptMessageDic=s||{}}n.directionalUserIdList=[];for(const e in n.content.receiptMessageDic)n.directionalUserIdList.push(e)}return n},this._lastSyncUltraMsgTimeStamp=0,this._lastSyncUltraMsgLocalTimeStamp=0,this._ultraGroupTimer=-1,this._isUltraPulling=!1,this._ultraGroupTimeQue=[],this._isUltraGroupListExist=!1,this._ultraGroupMap={},this._ultraMsgMap={},this._pullUltraChangeMessageQue=[],this._isPullingUltraChangeMessage=!1,this._lastPullingUltraChangeMessageTime=0;const{appkey:r,logOutputLevel:s,logExpireTime:o,navigators:i,areaCode:a,logServerUrl:l,miniCMPProxy:d,environment:u}=n;this._environment=u||"default",this.logger.setOutputLevel(s),Wt.init({areaCode:a,navigators:i,logServerUrl:l,miniCMPProxy:d}),Ml(r,this.logger,o),this.reporter=new Xl(r,this.logger),this.navi=new Ya(r,this.logger,new Xa(r,this.logger),this._environment),this.reporterStatistic=new Zl(r,this.logger),this._letterbox=new Ka(r),this._sendMessageStore=new ja(r),this._chrmEntryHandler=new Fa(this),this._connMgr=new Tl(r,this.navi,this.logger,{signal:this._signalHandler.bind(this),onConnected:this.onConnected.bind(this),onDisconnected:this.onDisconnected.bind(this),onConnecting:this._watcher.onConnecting,onSuspend:this.onSuspend.bind(this)}),"browser"===rr.tag&&this._initCloudController(),this._chatroom=new fl}get chatroom(){return this._chatroom}_initCloudController(){const e=Wt.getCloudControllerUrl();[this.cloudControllerUri]=e,this.cloudController=new Cl(this._appkey,this.logger,this.reporter),this.cloudControllerUri&&this.cloudController.request(this.cloudControllerUri,en.init)}onConnected(){var e;const t=this.navi.getNaviInfoFromCache(this._connMgr.getToken()),n=this._connMgr.getCurrentUserId();this.currentUserId=n,this._pullOfflineFinished=!1,this._EventChangeManager||(this._EventChangeManager=new za(this._connMgr,this.currentUserId,this.logger,this._appkey,this._handleEventChangeList.bind(this))),this._joinedChrmManager||(this._joinedChrmManager=new Ba(t.joinMChrm)),this._conversationManager||(this._conversationManager=new Pa(this,this._appkey,this.currentUserId,this._watcher.conversation,this._watcher.conversationTag,ma(t))),this._ultraGroupManager||(this._ultraGroupManager=new wa(this._appkey,this.currentUserId)),this._userSettingManager||(this._userSettingManager=new ka(this,this._appkey,this.currentUserId,this._watcher.tag)),this._readReceiptManager||(this._readReceiptManager=new Ja(this._appkey,this.currentUserId,this._connMgr.getDelayTime())),this._initSubscribeManager(t),this._conversationManager.startPullConversationStatus(0),this._conversationManager.adaptOldStore(),this._userSettingManager.pullUserSettings(0),this._sendMessageStore.init(this.currentUserId),this._rejoinChrm(),this._startSyncInterval(),this._openCallPlus&&this._syncCallPullKVMsg(),1===t.ugMsg&&this._notificationOnline(),1&~(t.eventDriven||0)||null===(e=this._EventChangeManager)||void 0===e||e.notificationOnline(),this._watcher.onConnected(),this.reporter.checkStart(t),this.reporterStatistic.checkStart(t)}onDisconnected(e){var t,n,r;this._resetMemoryState(),null===(t=this._userSettingManager)||void 0===t||t.stopAllTask(),null===(n=this._conversationManager)||void 0===n||n.stopAllTask(),null===(r=this._EventChangeManager)||void 0===r||r.stopAllTask(),this._watcher.onDisconnected(e)}onSuspend(e){var t,n,r;null===(t=this._userSettingManager)||void 0===t||t.stopAllTask(),null===(n=this._conversationManager)||void 0===n||n.stopAllTask(),null===(r=this._EventChangeManager)||void 0===r||r.stopAllTask(),this._watcher.onSuspend(e)}_initSubscribeManager(e){(e.subDriven||e.userProfile)&&(this._subscribeManager||(this._subscribeManager=new $a(this._connMgr,{syncSubscribeUserStatusFinished:e=>{var t,n;null===(n=(t=this._watcher).syncSubscribedUserStatusFinished)||void 0===n||n.call(t,e)},subscribeUserStatusChanged:e=>{var t,n;null===(n=(t=this._watcher).subscribedUserStatusChange)||void 0===n||n.call(t,e)},subscribeRelationChanged:e=>{var t,n;null===(n=(t=this._watcher).subscribedRelationChange)||void 0===n||n.call(t,e)},ownUserProfileChanged:e=>{var t,n;null===(n=(t=this._watcher).ownUserProfileChanged)||void 0===n||n.call(t,e)}},this.currentUserId,this._connMgr.getDelayTime(),this.logger,!!e.userProfile,e.subDriven||0)),this._subscribeManager.syncData())}createLogger(e,t){return new Bl(this._appkey,e,t)}refetchNaviInfo(){return this.navi.request(this._connMgr.getToken(),!0,!0,this.logger.createTraceId())}getNaviInfoFromCache(){return this.navi.getNaviInfoFromCache(this._connMgr.getToken())}getConnectedTime(){return this._connMgr.getConnectedTime()}getConnectionStatus(){return this._connMgr.getConnectionStatus()}connect(e,n,r,s){return t(this,void 0,void 0,(function*(){return this._openCallPlus=r,this._connMgr.connect(e,n,r,s)}))}_signalHandler(e,t){var n;const{syncMsg:r,topic:s}=e;if(r)return void this._receiveSyncMsg(e,t);const o=this.logger.createTraceId();this.logger.debug(exports.LogTagId.L_RECV_RMTP_O,s,o);const i=Xo(s);if(i)switch(i){case Jo.s_ntf:this._pullMsg(e);break;case Jo.s_msg:this._receiveMsg(e);break;case Jo.s_cmd:this._receiveStateNotify(e);break;case Jo.s_us:this._receiveSettingNotify(e);break;case Jo.rtc_ntf:this._receiveRtcKv(e.pbData);break;case Jo.s_opNtf:this._pullOperateStatusNotify(e);break;case Jo.s_pubCall:this._pubCallInfo(e);break;case Jo.s_stat:null===(n=this._subscribeManager)||void 0===n||n.updateUserStatus(e)}else this.logger.error(exports.LogTagId.L_RECV_RMTP_E,s,o)}_receiveStateNotify(e){var t,n,r;const{time:s,type:o,chrmId:i}=this._connMgr.codec.decodeByPBName(e.pbData,dr);switch(o){case 2:if(!this._chrmsQueue[i])return;this._chrmEntryHandler.pullEntry(i,s);break;case 3:this._conversationManager.startPullConversationStatus(s);break;case 4:this._chrmEntryHandler.reset(i),this._watcher.chatroom({chatroomDestroyed:e.targetId});break;case 6:this._ultraGroupTimeQue.push(s),this._syncUltraMsg(this._lastSyncUltraMsgTimeStamp);break;case 7:this._pullUltraChangeMessageQue.push(s),this._pullUltraChangeMessageList(this._lastPullingUltraChangeMessageTime);break;case 8:null===(t=this._subscribeManager)||void 0===t||t.startsyncSubscribeUserStatus(s);break;case 9:null===(n=this._subscribeManager)||void 0===n||n.startSyncSubscribeRelationship(s);break;case 10:null===(r=this._subscribeManager)||void 0===r||r.syncOwnProfile(!0);break;case 11:this._EventChangeManager.startPullEventChange(s)}}_receiveSettingNotify(e){const{version:t}=this._connMgr.codec.decodeByPBName(e.pbData,_s);this._userSettingManager.pullUserSettings(t)}_receiveMessageExpansion(e){const{content:t,channelId:n="",conversationType:r,targetId:s}=e,{put:o,del:i,mid:a}=t;o&&this._watcher.expansion({updatedExpansion:{messageUId:a,expansion:o,channelId:n,conversationType:r,targetId:s}}),i&&this._watcher.expansion({deletedExpansion:{messageUId:a,deletedKeys:i,channelId:n,conversationType:r,targetId:s}})}_clearUltraGroupUnreadCount(e,t){const{targetId:n,channelId:r,timestamp:s}=this._connMgr.codec.decodeByPBName(e.pbData,Dr),o=this._ultraGroupMap[`${r}_${n}`];o&&(o.unreadMessageCount=0,o.unreadMentionedCount=0,o.unreadMentionedMeCount=0,o.firstUnreadMessage&&(o.firstUnreadMessage=null),o.lastReadTime=s,this._watcher.conversation(Rt([o]))),t&&(this._ultraMsgMap[t.messageUId]=t.timestamp)}_receiveSyncMsg(e,t){const n=Xo(e.topic),r={[Jo.ugMsg]:()=>{this._ultraGroupTimeQue.push(t.timestamp),this._syncUltraMsg(this._lastSyncUltraMsgTimeStamp)},[Jo.updRTime]:()=>{this._receivesyncReadStatus(e)},[Jo.updUgRTime]:()=>{this._clearUltraGroupUnreadCount(e,t)},[Jo.updUserSub]:()=>{var e;null===(e=this._subscribeManager)||void 0===e||e.startSyncSubscribeRelationship(t.timestamp)}};if(r[n])return void r[n]();if(![Jo.recallMsg,Jo.ppMsgS,Jo.pgMsgS,Jo.ppMsgP,Jo.pgMsgP,Jo.chatMsg,Jo.pcMsgP,Jo.prMsgS,Jo.pbMsgP].includes(n))return;let s=this._connMgr.codec.decodeByPBName(e.pbData,cr,{currentUserId:this.currentUserId,signal:e});s=this._handleMsgProperties(s),(s.conversationType!==exports.ConversationType.CHATROOM||this._chrmsQueue[s.targetId])&&(this._pullingMsg?this._pullQueue.push((null==t?void 0:t.timestamp)||s.sentTime):(t&&(s.sentTime=t.timestamp,s.messageUId=t.messageUId,this._sendMessageStore.setMessage(t.messageUId,t.timestamp)),this.logger.info(exports.LogTagId.L_RECV_MULTI_SYNC_MSG_O,JSON.stringify({messageUId:s.messageUId,messgeId:s.messageId,sentTime:s.sentTime})),s.messageType!==exports.MessageType.EXPANSION_NOTIFY?((s.messageType===exports.MessageType.SYNC_READ_STATUS||s.messageType===exports.MessageType.READ_RECEIPT&&s.senderUserId===this.currentUserId)&&this._conversationManager.clearUnreadCount(s.conversationType,s.targetId,s.channelId,s.sentTime),s.messageType===exports.MessageType.READ_RECEIPT_REQUEST&&this._processRRReqMsg(s),s.messageType===exports.MessageType.READ_RECEIPT_RESPONSE&&this._processRRRspMsg(s),this._conversationManager.setConversationCacheByMessage(s,!0),this._batchMessage([s])):this._receiveMessageExpansion(s)))}_batchMessage(e){const t=[],n=[],r=[];for(let s=e.length-1;s>=0;s-=1){const o=e[s];o.messageType===exports.MessageType.LOG_COMMAND&&o.senderUserId===ye?n.unshift(o):o.messageType===exports.MessageType.CLOUD_CONTROL&&o.senderUserId===ye?r.push(o):t.unshift(o)}this._watcher.batchMessage(t),n.forEach((e=>{const{startTime:t,endTime:n,platform:r,logId:s,uri:o}=e.content;this.reporter.report(parseInt(t,10),parseInt(n,10),r,o,s,e.messageUId)})),r.length>0&&this._ccMsgHandler(r)}_ccMsgHandler(e){var n;return t(this,void 0,void 0,(function*(){if(e.shift()){const t=this._connMgr.getToken(),r=(yield null===(n=this.cloudController)||void 0===n?void 0:n.request(this.cloudControllerUri,en.other,t))||0,s=e.filter((e=>e.sentTime>r));s.length>0&&this._ccMsgHandler(s)}}))}_pubCallInfo(e){const{key:t,dataContent:n,maxTime:r}=this._connMgr.codec.decodeByPBName(e.pbData,Os);this._latestPullKVMsgTimestamp=r,this._watcher.callInfo(JSON.stringify({list:[{key:t,value:n}]}))}_pullMsg(e){const{type:t,chrmId:n,time:r}=this._connMgr.codec.decodeByPBName(e.pbData,dr);if(this.logger.info(exports.LogTagId.L_RECV_S_NTF_O,`type: ${t}, chrmId: ${t}, time: ${r}`),2===t){const e=this._chrmsQueue[n];if(!e)return;e.queue.push(r),this._pullChrmMsg(n)}else this._pullQueue.push(r),this._syncMsg()}_receivesyncReadStatus(e){const t=this._connMgr.codec.decodeByPBName(e.pbData,Dr),{conversationType:n,targetId:r,channelId:s,timestamp:o,sentTime:i}=t;this._conversationManager.clearUnreadCount(n,r,s,i),this._watcher.syncReadStatus({conversationType:n,targetId:r,channelId:s,timestamp:o})}_startSyncInterval(){this._stopSyncInterval();this._intervalTimer=setInterval((()=>{Date.now()-this._latestSyncTimestamp>=18e4&&this._syncMsg()}),3e4),this._latestSyncTimestamp=Date.now(),this._syncMsg()}_stopSyncInterval(){-1!==this._intervalTimer&&(clearInterval(this._intervalTimer),this._intervalTimer=-1)}_syncCallPullKVMsg(){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;const e=this._connMgr.codec.encodePullKVMsg(this._latestPullKVMsgTimestamp),t=new Gi(Jo.pullKvMsg,e,this.currentUserId),{code:n,data:r}=yield this._connMgr.send(t,Ls);n===exports.ErrorCode.SUCCESS&&r&&(this._latestPullKVMsgTimestamp=r.maxTime,this._watcher.callInfo(JSON.stringify({list:r.info})))}))}get _isConnected(){return this._connMgr.getConnectionStatus()===exports.RCConnectionStatus.CONNECTED}_filterMessage(e){const{messageType:t}=e;return t===exports.MessageType.DELIVERED||t===exports.MessageType.DELIVERED_MSG||t===exports.MessageType.SYNC_READ_STATUS&&!this._processSRSMsg(e)}_messageProcessor(e){let t=0;const n=[],r=[],s=[],o=[],i=[];return e.forEach((e=>{const{conversationType:a,targetId:l,channelId:d,messageDirection:u,messageUId:c,messageType:h,sentTime:p,senderUserId:_,content:g}=e;if(n.push(c),u===exports.MessageDirection.SEND){t=Math.max(p,t);const e=this._sendMessageStore.getSendMessageMap(),n=h===exports.MessageType.RECALL?`Cmd:${g.messageUId}`:c;if(e[n])return void this._sendMessageStore.removeByUID(n)}if(this._filterMessage(e))return;if(h===exports.MessageType.EXPANSION_NOTIFY)return void s.push(e);if(p>=this._connMgr.getConnectedTime()&&this._writeMessagesLog(a,c)&&i.push(c),h===exports.MessageType.READ_RECEIPT&&_===this.currentUserId&&this._conversationManager.clearUnreadCount(a,l,d,p),h===exports.MessageType.READ_STATE)return void o.push(e);h===exports.MessageType.READ_RECEIPT_REQUEST&&this._processRRReqMsg(e),h===exports.MessageType.READ_RECEIPT_RESPONSE&&this._processRRRspMsg(e);const E=this._handleMsgProperties(e);this._conversationManager.setConversationCacheByMessage(E,!0),r.push(E)})),{newOutboxTime:t,messageUIds:n,messages:r,messageExpansionList:s,RSMsgList:o,msgUIds2Statistic:i}}_processSRSMsg(e){const{conversationType:t,targetId:n,channelId:r,content:s,senderUserId:o,sentTime:i}=e;if(o!==this.currentUserId)return!1;const a=this.getNaviInfoFromCache();return this._conversationManager.clearUnreadCount(t,n,r,i),1!==a.sesDriven||(i>this.getConnectedTime()||this._watcher.syncReadStatus({conversationType:t,targetId:n,channelId:r,timestamp:s.lastMessageSendTime}),!1)}_processRSMsg(e){const{conversationType:t,targetId:n,channelId:r,content:s}=e,o={conversationType:t,targetId:n,channelId:r};this._watcher.messageReadReceipt(t===exports.ConversationType.PRIVATE?{privateReadReceipt:Object.assign(Object.assign({},o),{endMsgTime:s.endMsgTime})}:{groupReadReceipt:Object.assign(Object.assign({},o),{totalCount:s.tmn,readedCount:s.rrn,messageUId:s.msgId})})}_processRRReqMsg(e){var t;const{conversationType:n,channelId:r,targetId:s,content:o,sentTime:i,messageDirection:a,senderUserId:l}=e;null===(t=this._readReceiptManager)||void 0===t||t.insert({conversationType:n,channelId:r,targetId:s},o.messageUId,a,i,l)}_processRRRspMsg(e){var t;const{conversationType:n,channelId:r,targetId:s,content:o,senderUserId:i}=e,{receiptMessageDic:a={}}=o;if(i===this.currentUserId)for(const e in a){const o=a[e];for(const e of o)null===(t=this._readReceiptManager)||void 0===t||t.remove({conversationType:n,channelId:r,targetId:s},e)}else{(a[this.currentUserId]||[]).forEach((e=>{var t;null===(t=this._readReceiptManager)||void 0===t||t.addReadedUser({conversationType:n,channelId:r,targetId:s},e,i)}))}}_syncMsg(){return t(this,void 0,void 0,(function*(){if(this._pullingMsg)return;if(!this._isConnected)return void(this._pullingMsg=!1);this._pullingMsg=!0;const e=this._letterbox.getOutboxTime(this.currentUserId),t=this._letterbox.getInboxTime(this.currentUserId),n=this._letterbox.getBroadcastSyncTime(this.currentUserId),r=Mo.encode(ur,{ispolling:!1,isPullSend:!0,sendBoxSyncTime:e,syncTime:t,broadcastSyncTime:n}),s=new Gi(Jo[Jo.pullMsg],r,this.currentUserId),o=this.logger.createTraceId();this.logger.info(exports.LogTagId.L_PULL_MSG_T,JSON.stringify({outboxTime:e,inboxTime:t,broadcastSyncTime:n}),o);const{code:i,data:a}=yield this._connMgr.send(s,pr,{connectedTime:this._connMgr.getConnectedTime(),currentUserId:this.currentUserId,customMessageTypes:this._customMessageType});if(this._latestSyncTimestamp=Date.now(),this._pullingMsg=!1,i!==exports.ErrorCode.SUCCESS||!a||lt(a.finished)||lt(a.list)||lt(a.syncTime))return void this.logger.warn(exports.LogTagId.L_PULL_MSG_R,JSON.stringify({code:i,timestamp:this._latestSyncTimestamp}),o);const{list:l,finished:d,syncTime:u,broadcastSyncTime:c=1}=a;this.logger.info(exports.LogTagId.L_PULL_MSG_R,JSON.stringify({syncTime:u,finished:d,messages:l.map((e=>({messageUId:e.messageUId,messageId:e.messageId,sentTime:e.sentTime})))}),o);try{let{newOutboxTime:e,messageUIds:t,messages:n,messageExpansionList:r,RSMsgList:s,msgUIds2Statistic:a}=this._messageProcessor(l);a.length>0&&this.logger.record(oe.IM_MSG_RECEIVE,JSON.stringify({client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),msg_ids:a.join(",")})),this._batchMessage(n),r.forEach((e=>{this._receiveMessageExpansion(e)})),s.forEach((e=>{this._processRSMsg(e)})),this._letterbox.setInboxTime(u,this.currentUserId),this._letterbox.setOutboxTime(e,this.currentUserId),this._letterbox.setBroadcastSyncTime(c,this.currentUserId),this._sendMessageStore.removeByTimestamp(e);const h=this._pullQueue.filter((e=>e>u));if(this._pullQueue.length=0,this._pullQueue.push(...h),d&&!this._pullOfflineFinished&&(this._pullOfflineFinished=!0,this._watcher.pullFinished()),this.logger.info(exports.LogTagId.L_PULL_MSG_R,JSON.stringify({code:i,messageUIds:t.join(","),timestamp:this._latestSyncTimestamp,hasmore:!d,tmpPullQueue:h}),o),!d)return void this._syncMsg();this._pullQueue.length>0&&(this._pullQueue.length=0,this._syncMsg())}catch(e){this.logger.error(exports.LogTagId.L_PULL_MSG_E,null==e?void 0:e.stack,o)}}))}_receiveMsg(e){if(!this._isConnected)return;let t=this._connMgr.codec.decodeByPBName(e.pbData,_r,{currentUserId:this.currentUserId,connectedTime:this._connMgr.getConnectedTime()});t=this._handleMsgProperties(t);const{conversationType:n,messageType:r,senderUserId:s,messageUId:o,sentTime:i,isStatusMessage:a}=t;if(this.logger.info(exports.LogTagId.L_RECV_S_MSG_O,JSON.stringify({messageUId:t.messageUId,messgeId:t.messageId,sentTime:t.sentTime})),this._writeMessagesLog(n,o)&&this.logger.record(oe.IM_MSG_RECEIVE,JSON.stringify({client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),msg_ids:o})),n!==exports.ConversationType.RTC_ROOM&&r!==exports.MessageType.INTERCEPT){if(this._pullingMsg)return;if(this._pullQueue.length>0)return void this._syncMsg()}s===this.currentUserId&&this._sendMessageStore.setMessage(o,i),a||s===this.currentUserId||this._letterbox.setInboxTime(i,this.currentUserId),this._handleNotNotifyMsg(t)||(r===exports.MessageType.READ_RECEIPT_REQUEST&&this._processRRReqMsg(t),r===exports.MessageType.READ_RECEIPT_RESPONSE&&this._processRRRspMsg(t),this._conversationManager.setConversationCacheByMessage(t,!0),this._batchMessage([t]))}_handleNotNotifyMsg(e){const{messageType:t,senderUserId:n}=e;return t===exports.MessageType.DELIVERED||(t===exports.MessageType.DELIVERED_MSG||(t===exports.MessageType.EXPANSION_NOTIFY?(this._receiveMessageExpansion(e),!0):t===exports.MessageType.SYNC_READ_STATUS&&n!==this.currentUserId||t===exports.MessageType.READ_STATE&&(this._processRSMsg(e),!0)))}_handleMsgProperties(e,t=!1){const{messageType:n,isStatusMessage:r,isCounted:s=!1,isPersited:o=!1}=e;let i;const a=n in Se,l=n in this._customMessageType;if(i=a?Object.assign(Object.assign({},Se[n]),{isStatusMessage:ad.includes(n)}):l?this._customMessageType[n]:{isCounted:s,isPersited:o,isStatusMessage:!1},Object.assign(e,i),t&&!lt(r)&&(e.isStatusMessage=r),!t){const t=e.content.user;if(t){const{portrait:e,portraitUri:n}=t,r=e||n;r&&(t.portrait=t.portraitUri=r)}}return e}_fixDownstreamData(e,t,n){return e&&2===t.list.length&&(t.hasMore=!0,0===n?t.list.shift():t.list.pop()),t}getHistoryMessage(e,n,r,s,o,i="",a="",l){var d;return t(this,void 0,void 0,(function*(){const{currentUserId:t,_connMgr:a}=this,u=td[e]||Jo.qryPMsg,c=1===s&&0===r;if(a){const h=a.codec.encodeGetHistoryMsg(n,{timestamp:r,count:c?2:s,order:o,channelId:i});this.logger.info(exports.LogTagId.L_GET_HISTORY_MSG_T,JSON.stringify({targetId:n,conversationType:e,channelId:i,timestamp:r,count:s,order:o}),l);const p=yield a.send(new Gi(u,h,t),Pr,{currentUserId:t,connectedTime:a.getConnectedTime(),conversation:{targetId:n},afterDecode:t=>{var r;const s=null===(r=this._readReceiptManager)||void 0===r?void 0:r.getReadReceiptInfo({conversationType:e,channelId:i,targetId:n},t.messageUId);if(s){const{users:e}=s;t.readReceiptInfo={isReceiptRequestMessage:!0,readerList:e}}return t}}),{code:_,data:g}=p;if(_!==exports.ErrorCode.SUCCESS||!g)return this.logger.warn(exports.LogTagId.L_GET_HISTORY_MSG_R,JSON.stringify({code:_,messageUIds:""}),l),{code:_};const E=this._fixDownstreamData(c,g,o),I=[];return null===(d=E.list)||void 0===d||d.forEach((e=>{e&&I.push(e.messageUId)})),this.logger.info(exports.LogTagId.L_GET_HISTORY_MSG_R,JSON.stringify({code:_,messageUIds:I.join(",")}),l),{code:_,data:{list:E.list,hasMore:E.hasMore}}}return{code:exports.ErrorCode.RC_NET_CHANNEL_INVALID}}))}getMessages(e,t,n,r,s,o,i){return this.getHistoryMessage(e,t,n,r,s,o,i)}reportSDKInfo(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;const{currentUserId:t,_connMgr:n}=this,r=this.logger.createTraceId(),s=JSON.stringify(e);this.logger.debug(exports.LogTagId.L_VER_REPORT_T,s,r);const o=n.codec.encodeReportSDKInfo(s),i=new Gi(Jo[Jo.reportsdk],o,t),{code:a}=yield n.send(i);a!==exports.ErrorCode.SUCCESS&&this.logger.warn(exports.LogTagId.L_VER_REPORT_R,a,r)}))}deleteRemoteMessage(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{currentUserId:t,_connMgr:o}=this,i=o.codec.encodeDeleteMessages(e,n,r,s);let a=Jo.delMsg;e===exports.ConversationType.ULTRA_GROUP&&(a=Jo.delUgMsg);const l=new Gi(a,i,t),d=yield o.send(l),{code:u}=d;return u}))}deleteRemoteMessageByTimestamp(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{currentUserId:t,_connMgr:o}=this,i=o.codec.encodeClearMessages(n,r,s,e),a=new Gi(nd[e],i,t),l=yield o.send(a),{code:d}=l;return d}))}batchClearRemoteHistoryMessages(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{currentUserId:t,_connMgr:n}=this,r=n.codec.encodeBatchClearRemoteMessages(e),s=new Gi(Jo.cleanMsgBatch,r,t),o=yield n.send(s),{code:i}=o;return i}))}getConversationList(e=300,n,r,s,o){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{currentUserId:t,_connMgr:o}=this;n=n||exports.ConversationType.PRIVATE;const i=o.codec.encodeOldConversationList({count:e,type:n,startTime:r,order:s}),a=new Gi(Jo.qryRelationR,i,t),l=yield o.send(a,yr,{currentUserId:t,connectedTime:o.getConnectedTime(),afterDecode:e=>{const{conversationType:t,targetId:n,channelId:r}=e,s=this._conversationManager.get(t,n,r);Object.assign(e,s);const o=this._conversationManager.getDraft(t,n,r);return e.draft=o,e}}),{code:d,data:u}=l;return d!==exports.ErrorCode.SUCCESS?{code:d}:{code:d,data:null==u?void 0:u.list}}))}removeConversation(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{_connMgr:t}=this,s=t.codec.encodeRemoveOldConversationList({conversationType:e,channelId:r,targetId:n}),o=new Gi(Jo.delRelation,s,n);return(yield t.send(o)).code}))}batchRemoveConversation(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{_connMgr:t}=this,n=t.codec.encodeBatchDeleteConversation(e),r=new Gi(Jo.delRelationBatch,n,this.getCurrentUserId());return(yield t.send(r)).code}))}getConversation(e,n,r){return t(this,void 0,void 0,(function*(){let t;if(e===exports.ConversationType.ULTRA_GROUP){if(t=this._ultraGroupMap[`${r}_${n}`],!t)return{code:exports.ErrorCode.CONVER_GET_ERROR}}else{const s=this._conversationManager.get(e,n,r);if(!s)return{code:exports.ErrorCode.CONVER_GET_ERROR};const{code:o,data:i}=yield this.getHistoryMessage(e,n,0,1,0);if(o!==exports.ErrorCode.SUCCESS)return{code:exports.ErrorCode.CONVER_GET_ERROR};const a=this._conversationManager.getDraft(e,n,r),l=(null==i?void 0:i.list[0])||null;t={conversationType:e,targetId:n,channelId:r,unreadMessageCount:s.unreadMessageCount||0,latestMessage:l,notificationStatus:s.notificationStatus||exports.NotificationStatus.CLOSE,notificationLevel:s.notificationLevel||exports.NotificationLevel.NOT_SET,isTop:s.isTop||!1,lastUnreadTime:s.lastUnreadTime||0,unreadMentionedCount:s.unreadMentionedCount||0,draft:a}}return{code:exports.ErrorCode.SUCCESS,data:t}}))}getAllConversationUnreadCount(e,t,n){const r=this._conversationManager.getAllUnreadCount(e,t,n);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:r})}getTotalUnreadCountByLevels(e,t,n=!1){let r=0;if(e.includes(exports.ConversationType.ULTRA_GROUP)){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});for(const e in this._ultraGroupMap){const s=this._ultraGroupMap[e];(0===t.length||t.includes(s.notificationLevel))&&(r+=n?s.unreadMentionedCount:s.unreadMessageCount)}}return r+=this._conversationManager.getTotalUnreadCountByLevels(e,t,n),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:r})}getConversationUnreadCount(e,t,n){var r;let s;return e===exports.ConversationType.ULTRA_GROUP?(s=(null===(r=this._ultraGroupMap[`${n}_${t}`])||void 0===r?void 0:r.unreadMessageCount)||0,s=this._getUnreadCount(s)):s=this._conversationManager.getUnreadCount(e,t,n),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:s})}clearConversationUnreadCount(e,t,n){return this._conversationManager.clearUnreadCount(e,t,n,this.getServerTime(),!1),Promise.resolve(exports.ErrorCode.SUCCESS)}clearAllUnreadCount(){return this._conversationManager.clearAllUnreadCount(),Promise.resolve(exports.ErrorCode.SUCCESS)}getFirstUnreadMessage(e,t){throw new Error("Method not implemented.")}getFirstUnreadMessageInfo(e,t,n){const{firstUnreadMessageUid:r,firstUnreadTime:s}=this._conversationManager.get(e,t,n);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:s&&r?{messageUId:r,sentTime:s}:null})}saveConversationMessageDraft(e,t,n,r){return this._conversationManager.setDraft(e,t,n,r),Promise.resolve(exports.ErrorCode.SUCCESS)}getConversationMessageDraft(e,t,n){const r=this._conversationManager.getDraft(e,t,n);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:r})}clearConversationMessageDraft(e,t,n){return this._conversationManager.clearDraft(e,t,n),Promise.resolve(exports.ErrorCode.SUCCESS)}pullConversationStatus(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t,currentUserId:n}=this,r=t.codec.encodeGetConversationStatus(e),s=new Gi(Jo[Jo.pullSeAtts],r,n),o=yield t.send(s,Zr),{code:i,data:a}=o;if(this.logger.info(exports.LogTagId.L_PULL_CONVERSATION_S,JSON.stringify({timestamp:e,userId:n})),i!==exports.ErrorCode.SUCCESS)return{code:i};const l=[];return Array.isArray(a)&&a.forEach((e=>{const{conversationType:t,updatedTime:n}=e;n&&this._conversationManager.setConversationUpdatedTime(n),t===exports.ConversationType.ULTRA_GROUP?this._setUltraConversationStatus(e):l.push(e)})),{code:i,data:l}}))}_setUltraConversationStatus(e){const{targetId:t,notificationStatus:n,notificationLevel:r,channelId:s,isTop:o,conversationType:i}=e;if(""===t&&void 0!==r)return void this._ultraGroupManager.addUltraGroupStatus({conversationType:i,targetId:"",channelId:"",notificationLevel:r});const a=this._ultraGroupMap[`${s}_${t}`];return a&&void 0!==r&&(a.notificationLevel=r,this._ultraGroupManager.addUltraGroupStatus(a)),a&&void 0!==n&&(a.notificationStatus=n,this._ultraGroupManager.addUltraGroupStatus(a)),a&&void 0!==o&&(a.isTop=o),a}batchSetConversationStatus(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{currentUserId:n,_connMgr:r}=this,{code:s}=yield this._conversationManager.pushTask((s=>t(this,void 0,void 0,(function*(){const t=r.codec.encodeSetConversationStatus(e,s),o=new Gi(Jo.setSeAtt,t,n),i=yield r.send(o,os),{code:a,data:l}=i;if(a!==exports.ErrorCode.SUCCESS)return{code:a};const d=l;this._conversationManager.setConversationUpdatedTime(d.version);const u=[];if(e.forEach((e=>{const{conversationType:t}=e;if(t!==exports.ConversationType.ULTRA_GROUP)this._conversationManager.addStatus(Object.assign(Object.assign({},e),{updatedTime:d.version}),!0);else{const t=this._setUltraConversationStatus(e);t&&u.push(t)}})),u.length>0){let e=Rt(u);e=sd(e),this._watcher.conversation(e)}return{code:a}}))));return s}))}setConversationToTop(e,n,r,s,o){return t(this,void 0,void 0,(function*(){return this.batchSetConversationStatus([{conversationType:e,targetId:n,isTop:r,channelId:s}])}))}batchSetConversationToTop(e,n,r){return t(this,void 0,void 0,(function*(){return this.batchSetConversationStatus(e.map((e=>Object.assign(Object.assign({},e),{isTop:n}))))}))}setConversationNotificationLevel(e,n,r,s=""){return t(this,void 0,void 0,(function*(){return this.batchSetConversationStatus([{conversationType:e,targetId:n,notificationLevel:r,channelId:s}])}))}batchSetConversationNotificationLevel(e,n){return t(this,void 0,void 0,(function*(){return this.batchSetConversationStatus(e.map((e=>Object.assign(Object.assign({},e),{notificationLevel:n}))))}))}_joinChrm(e,n,r,s,o){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t}=this,i=Mo.encode(fr,{nothing:1,extra:s}),a=r?Jo.joinChrmR:Jo.joinChrm,l=new Gi(a,i,e);this.logger.info(exports.LogTagId.L_JOIN_CHATROOM_T,JSON.stringify({chatroomId:e,count:n,topic:Jo[a]}),o);const{code:d,data:u}=yield t.send(l,Cr),c=d===exports.ErrorCode.SUCCESS?"info":"warn";if(this.logger[c](exports.LogTagId.L_JOIN_CHATROOM_R,JSON.stringify({code:d,timestamp:(new Date).getTime()}),o),d===exports.ErrorCode.SUCCESS){const{joinTime:t,createTime:r,memberCount:o,isAllChatroomBanned:i,isCurrentUserBanned:a,isCurrentChatroomBanned:l,isCurrentChatroomInWhitelist:c}=u;this._chrmsQueue[e]||(this._chrmsQueue[e]={pulling:!1,queue:[],timestamp:0}),this._pullChrmMsg(e,n,t);const{kvStorage:h}=this.getNaviInfoFromCache();return h&&this._chrmEntryHandler.pullEntry(e,0),this._joinedChrmManager.set(e,n,s),this._startSyncIntervalForChrmPull(),{code:d,data:{joinTime:t,createTime:r,memberCount:o,isAllChatroomBanned:i,isCurrentUserBanned:a,isCurrentChatroomBanned:l,isCurrentChatroomInWhitelist:c}}}return{code:d}}))}_rejoinChrm(){return t(this,void 0,void 0,(function*(){const e=this._joinedChrmManager.get();for(const t in e){const{count:n=10,extra:r}=e[t];this.logger.info(exports.LogTagId.L_REJOIN_CHATROOM_T,JSON.stringify({chatroomId:t,count:n,extra:r}));const s=this.logger.createTraceId(),{code:o,data:i}=yield this._joinChrm(t,n,!0,r,s),a=o===exports.ErrorCode.SUCCESS?"info":"warn";if(this.logger[a](exports.LogTagId.L_REJOIN_CHATROOM_R,JSON.stringify({code:o,timestamp:(new Date).getTime()}),s),o===exports.ErrorCode.SUCCESS)return void this._watcher.chatroom({rejoinedRoom:Object.assign({chatroomId:t,count:n},i)});o===exports.ErrorCode.RC_CHATROOM_USER_KICKED&&(this._joinedChrmManager.remove(t),delete this._chrmsQueue[t]),this._watcher.chatroom({rejoinedRoom:{chatroomId:t,errorCode:o}})}}))}_pullChrmMsg(e,n=10,r=0){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;const t=this._chrmsQueue[e],{pulling:s,timestamp:o}=t;if(s)return;t.pulling=!0;const i=r?0:o,a=Mo.encode(Rr,{count:n,syncTime:i});this.logger.info(exports.LogTagId.L_PULL_CHATROOM_MSG_T,JSON.stringify({chatroomId:e,syncTime:i}));const l=new Gi(Jo[Jo.chrmPull],a,e),{code:d,data:u}=yield this._connMgr.send(l,pr,{connectedTime:this._connMgr.getConnectedTime(),currentUserId:this.currentUserId});if(t.pulling=!1,d!==exports.ErrorCode.SUCCESS||!u)return void this.logger.warn(exports.LogTagId.L_PULL_CHATROOM_MSG_R,JSON.stringify({code:d,timestamp:o,messageUIds:""}));const{list:c,syncTime:h,finished:p}=u;t.timestamp=r?Math.max(h,r):h,t.queue=t.queue.filter((e=>e>h));const _=[],g=[],E=[];c.forEach((e=>{e.sentTime<o||(e.sentTime>=this._connMgr.getConnectedTime()&&this._writeMessagesLog(exports.ConversationType.CHATROOM,e.messageUId)&&g.push(e.messageUId),_.push(e.messageUId),E.push(e))})),this._batchMessage(E),this.logger.info(exports.LogTagId.L_PULL_CHATROOM_MSG_R,JSON.stringify({code:d,timestamp:o,messageUIds:_.join(",")})),g.length>0&&this.logger.record(oe.IM_MSG_RECEIVE,JSON.stringify({client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),msg_ids:g.join(",")})),p?t.queue.length>0&&(t.queue.length=0,this._pullChrmMsg(e)):this._pullChrmMsg(e)}))}joinChatroom(e,n,r,s){return t(this,void 0,void 0,(function*(){const{code:t}=yield this._joinChrm(e,n,!1,r,s);return t}))}joinExistChatroom(e,n,r,s){return t(this,void 0,void 0,(function*(){return this._joinChrm(e,n,!0,r,s)}))}quitChatroom(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{_connMgr:t}=this;delete this._chrmsQueue[e],this._chrmEntryHandler.reset(e),this._joinedChrmManager.remove(e);const n=Mo.encode(fr,{nothing:1}),{code:r}=yield t.query(Jo.exitChrm,e,n);return r}))}getChatroomInfo(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t}=this,s=t.codec.encodeGetChatRoomInfo(n,r),o=new Gi(Jo[Jo.queryChrmI],s,e),i=yield t.send(o,Lr),{code:a,data:l}=i;return a!==exports.ErrorCode.SUCCESS?{code:a}:{code:a,data:l}}))}getChatroomHistoryMessages(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t}=this,o=t.codec.encodeGetHistoryMsg(e,{timestamp:n,count:r,order:s}),i=new Gi(Jo.qryCHMsg,o,e),a=yield t.send(i,Pr,{conversation:{targetId:e}}),{code:l}=a,d=a.data;return l!==exports.ErrorCode.SUCCESS?{code:l}:{code:l,data:{list:d.list,hasMore:d.hasMore}}}))}_modifyChatroomKV(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{_connMgr:t,currentUserId:r}=this,s=this._chrmEntryHandler.getVersion(e,n.key);n.version=null==s?this.getServerTime():s;const o=t.codec.encodeModifyChatRoomKV(e,n,r),i=n.type===exports.ChatroomEntryType.UPDATE?Jo.setKV:Jo.delKV,a=new Gi(i,o,e),l=yield t.send(a,Cr),{code:d}=l;return d===exports.ErrorCode.SUCCESS?(this._chrmEntryHandler.setLocal(e,{kvEntries:[n],syncTime:this.getServerTime()},r),d):d}))}_chatroomKVStoreNotAllSuccess(e,t){const n=t.data;let r=e;return n&&Array.isArray(n.errorKeys)&&n.errorKeys.forEach((e=>{const t=r.findIndex((t=>e.key===t.key));-1!==t&&r.splice(t,1)})),r}_modifyChatroomKVS(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t,currentUserId:r}=this,{entries:s}=n;s.forEach((t=>{const n=this._chrmEntryHandler.getVersion(e,t.key);t.version=null==n?this.getServerTime():n}));const o=t.codec.encodeModifyChatRoomKVS(e,n,r),i=n.type===exports.ChatroomEntryType.UPDATE?Jo.setKVS:Jo.delKVS,a=new Gi(i,o,e),l=yield t.send(a,jr),{code:d}=l;let u;if(-1!==[exports.ErrorCode.SUCCESS,exports.ErrorCode.CHATROOM_KV_STORE_NOT_ALL_SUCCESS].indexOf(d)){let t=[];const s=Object.assign({},n);if(delete s.entries,n.entries.forEach((e=>{t.push(Object.assign(Object.assign({},e),s))})),d===exports.ErrorCode.CHATROOM_KV_STORE_NOT_ALL_SUCCESS){u=l.data.errorKeys,t=this._chatroomKVStoreNotAllSuccess(t,l)}this._chrmEntryHandler.setLocal(e,{kvEntries:t,syncTime:(new Date).getTime()},r)}return{code:d,data:u}}))}setChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.UPDATE,n.userId=n.userId||this.currentUserId,this._modifyChatroomKV(e,n)}))}setChatroomEntries(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.UPDATE,n.userId=n.userId||this.currentUserId,this._modifyChatroomKVS(e,n)}))}forceSetChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.UPDATE,n.isOverwrite=!0,n.userId=n.userId||this.currentUserId,this._modifyChatroomKV(e,n)}))}removeChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.DELETE,n.userId=n.userId||this.currentUserId,this._modifyChatroomKV(e,n)}))}removeChatroomEntries(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.DELETE,n.userId=n.userId||this.currentUserId,this._modifyChatroomKVS(e,n)}))}forceRemoveChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){return n.type=exports.ChatroomEntryType.DELETE,n.isOverwrite=!0,n.userId=n.userId||this.currentUserId,this._modifyChatroomKV(e,n)}))}getChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){const t=this._chrmEntryHandler.getValue(e,n);if(t)return{code:exports.ErrorCode.SUCCESS,data:t};if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:r}=this,s=r.codec.encodePullChatRoomKV(0),o=new Gi(Jo[Jo.pullKV],s,e),i=yield r.send(o,Kr),{data:a}=i;if(a&&a.kvEntries&&a.kvEntries.length){const e=a.kvEntries.find((e=>e.key===n));if(void 0!==e)return{code:exports.ErrorCode.SUCCESS,data:null==e?void 0:e.value}}return{code:exports.ErrorCode.CHATROOM_KEY_NOT_EXIST}}))}getAllChatroomEntry(e){return t(this,void 0,void 0,(function*(){let t=this._chrmEntryHandler.getAll(e);if(t&&Object.keys(t).length)return{code:exports.ErrorCode.SUCCESS,data:t};if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:n}=this;t={};const r=n.codec.encodePullChatRoomKV(0),s=new Gi(Jo[Jo.pullKV],r,e),o=yield n.send(s,Kr),{data:i}=o;return i&&i.kvEntries&&i.kvEntries.length&&i.kvEntries.forEach((e=>{e.key&&(t[e.key]=e.value||"")})),{code:exports.ErrorCode.SUCCESS,data:t}}))}pullChatroomEntry(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t,currentUserId:r}=this;if(!this._chrmsQueue[e])return{code:exports.ErrorCode.RC_CHATROOM_NOT_EXIST};const s=t.codec.encodePullChatRoomKV(n),o=new Gi(Jo[Jo.pullKV],s,e);this.logger.info(exports.LogTagId.L_PULL_CHATROOM_KV_T,JSON.stringify({chatroomId:e,timestamp:n}));const{code:i,data:a}=yield t.send(o,Kr);if(!this._chrmsQueue[e])return{code:exports.ErrorCode.RC_CHATROOM_NOT_EXIST};const l=i===exports.ErrorCode.SUCCESS?"info":"warn";if(this.logger[l](exports.LogTagId.L_PULL_CHATROOM_KV_R,JSON.stringify({code:i,timestamp:n})),i===exports.ErrorCode.SUCCESS&&a){const{kvEntries:t}=a,n=[];return t.length>0&&(t.forEach((t=>{const{key:r,value:s,type:o,timestamp:i,userId:a}=t;this._chrmEntryHandler.getValue(e,r)===s&&a===this.getCurrentUserId()||n.push({key:r,value:s,type:o,timestamp:i,chatroomId:e})})),this._chrmEntryHandler.setLocal(e,a,r),n.length>0&&this._watcher.chatroom({updatedEntries:n})),{code:i,data:a}}return{code:i}}))}_startSyncIntervalForChrmPull(){this._stopSyncIntervalForChrmPull(),this._intervalTimerForChrmPull=setInterval((()=>{const e=Object.keys(this._chrmsQueue);0!==e.length&&this._isConnected?e.forEach((e=>{this._pullChrmMsg(e);const{kvStorage:t}=this.getNaviInfoFromCache();t&&this._chrmEntryHandler.pullEntry(e,0)})):this._stopSyncIntervalForChrmPull()}),18e4)}_stopSyncIntervalForChrmPull(){"number"!=typeof this._intervalTimerForChrmPull&&(clearInterval(this._intervalTimerForChrmPull),this._intervalTimerForChrmPull=-1)}removeChatroomFromCatch(e){var t;null===(t=this._joinedChrmManager)||void 0===t||t.remove(e)}_writeMessagesLog(e,t){var n;const r=null===(n=this.cloudController)||void 0===n?void 0:n.getMRTRConfig();if(!r)return!1;const s=function(e){if(!e)return Math.floor(4294967296*Math.random());let t=0;if(0===e.length)return t;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)}(t);let o=0;switch(e){case exports.ConversationType.PRIVATE:o=r.private;break;case exports.ConversationType.GROUP:o=r.group;break;case exports.ConversationType.CHATROOM:o=r.chatroom;break;case exports.ConversationType.ULTRA_GROUP:o=r.ultraGroup}return!!o&&s%(1/o)==0}sendMessage(e,n,r,s,o){var i;return t(this,void 0,void 0,(function*(){r=this._handleInnerMsgOptions(e,n,r),r=this._handleMsgProperties(r,!0);let t=!1;[exports.ConversationType.PRIVATE,exports.ConversationType.GROUP].includes(e)&&(r.isStatusMessage||(null===(i=this._customMessageType[r.messageType])||void 0===i?void 0:i.isStatusMessage))&&(t=!0);const a=t?(l=e,{[exports.ConversationType.PRIVATE]:Jo.ppMsgS,[exports.ConversationType.GROUP]:Jo.pgMsgS}[l]):(e=>({[exports.ConversationType.PRIVATE]:Jo.ppMsgP,[exports.ConversationType.GROUP]:Jo.pgMsgP,[exports.ConversationType.CHATROOM]:Jo.chatMsg,[exports.ConversationType.CUSTOMER_SERVICE]:Jo.pcMsgP,[exports.ConversationType.RTC_ROOM]:Jo.prMsgS,[exports.ConversationType.SYSTEM]:Jo.pbMsgP}[e]))(e)||Jo.ppMsgP;var l;t&&(r.isPersited=!1,r.isCounted=!1);const d=r.messageId?r.messageId:Gt();r.messageId=d;const u=this._connMgr.codec.encodeUpMsg({conversationType:e,targetId:n},r),c=new Fi(Jo[a],u,e===exports.ConversationType.SYSTEM?this.currentUserId:n);if(c.setHeaderQos(zo.AT_LEAST_ONCE),t)return this._connMgr.sendOnly(c),{code:exports.ErrorCode.SUCCESS,data:rd(e,n,Object.assign({},r),"",0,this.currentUserId,d)};const h=this._connMgr.getCrtServerTime(),p=rd(e,n,Object.assign(Object.assign({},r),{isStatusMessage:t}),"",h,this.currentUserId,d);null==s||s(d),this.logger.info(exports.LogTagId.L_SEND_MSG_T,JSON.stringify({messageType:r.messageType,conversationType:e,targetId:n,channelId:r.channelId}),o);const _=Date.now(),{code:g,data:E}=yield this._connMgr.send(c);if(g!==exports.ErrorCode.SUCCESS)return this.logger.warn(exports.LogTagId.L_SEND_MSG_R,JSON.stringify({code:g,messageUId:p.messageUId,messageId:p.messageId}),o),this._writeMessagesLog(e)&&this.logger.record(oe.IM_MSG_SEND,JSON.stringify({channel:e,start_ts:_,client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),cod:g})),p.sentStatus=exports.SentStatus.FAILED,{code:g,data:p};this.logger.info(exports.LogTagId.L_SEND_MSG_R,JSON.stringify({code:g,messageUId:null==E?void 0:E.messageUId,messageId:null==E?void 0:E.messageId}),o);const I=E;return this._sendMessageSuccessHandle(p,I),this._writeMessagesLog(e,I.messageUId)&&this.logger.record(oe.IM_MSG_SEND,JSON.stringify({msg_id:I.messageUId,channel:e,start_ts:_,client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),cod:g})),{code:exports.ErrorCode.SUCCESS,data:p}}))}_sendMessageSuccessHandle(e,t){var n;this._sendMessageStore.setMessage(t.messageUId,t.timestamp),e.sentTime=t.timestamp,e.messageUId=t.messageUId,this._conversationManager.setConversationCacheByMessage(e,!0);const{messageType:r,conversationType:s,targetId:o,channelId:i,sentTime:a,content:l,messageDirection:d}=e;if(r===exports.MessageType.READ_RECEIPT_REQUEST){const{messageUId:e}=l;null===(n=this._readReceiptManager)||void 0===n||n.insert({conversationType:s,targetId:o,channelId:i},e,d,a)}if(r===exports.MessageType.READ_RECEIPT_RESPONSE){const{receiptMessageDic:e}=l;if(!e)return;for(const t in e)e[t].forEach((e=>{var t;null===(t=this._readReceiptManager)||void 0===t||t.remove({conversationType:s,targetId:o,channelId:i},e)}))}}recallMsg(e,n){var r;return t(this,void 0,void 0,(function*(){const{targetId:t,conversationType:s}=e,o=e.channelId||"",{user:i,extra:a,isDelete:l,directionalUserIdList:d,disableUpdateLastMessage:u,messageUId:c,sentTime:h}=n,p={conversationType:s,targetId:t,messageUId:c,sentTime:h,channelId:o,isDelete:l||!1,isAdmin:n.isAdmin};i&&(p.user=i),a&&(p.extra=a);const _={content:p,messageType:"RC:RcCmd",disableNotification:null==n?void 0:n.disableNotification,pushConfig:null==n?void 0:n.pushConfig,pushContent:(null===(r=n.pushConfig)||void 0===r?void 0:r.pushContent)||n.pushContent||"",channelId:o,disableUpdateLastMessage:u};[exports.ConversationType.GROUP,exports.ConversationType.ULTRA_GROUP].includes(s)&&d&&(_.directionalUserIdList=d);const g=this._connMgr.codec.encodeUpMsg({conversationType:s,targetId:t},_),E=new Fi(Jo.recallMsg,g,this.currentUserId);E.setHeaderQos(zo.AT_LEAST_ONCE);const I=yield this._connMgr.send(E);if(!I.isOk)return I.wipe();const T=I.data;if(s!==exports.ConversationType.ULTRA_GROUP){const e=`Cmd:${c}`;T.messageUId=e}const f=rd(s,t,Object.assign(Object.assign({},_),{isPersited:!0}),T.messageUId,T.timestamp,this.currentUserId);return s===exports.ConversationType.ULTRA_GROUP?(this._ultraMsgMap[T.messageUId]=T.timestamp,this._updateUltraGroupWhenRecallMsg(t,o,c)):(this._sendMessageStore.setMessage(T.messageUId,T.timestamp),this._conversationManager.setConversationCacheByMessage(f,!0)),$e(f)}))}sendReadReceiptMessage(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeReadReceipt(n,r),s=new Gi(Jo[Jo.rrMsg],t,e);return this._connMgr.send(s)}))}getMessageReader(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeMessageReader(n,r),s=new Gi(Jo[Jo.rrList],t,e);return this._connMgr.send(s,ds)}))}sendReadReceiptMessageV4(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeReadReceiptMsg(e,n,r),s=new Fi(Jo[Jo.sendMsgRead],t,e.targetId);return this._connMgr.send(s)}))}getMessageReadReceiptV4(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeReceiptQryReq(e,n),r=new Gi(Jo[Jo.qryMsgRead],t,e.targetId);return this._connMgr.send(r,bs)}))}batchGetMessageReadReceiptInfoV4(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeReceiptCntQryReq(e,n),r=new Gi(Jo[Jo.qryMsgReadCntBatch],t,e.targetId),{code:s,data:o}=yield this._connMgr.send(r,Ds),{result:i}=o||{result:[]};return s===exports.ErrorCode.SUCCESS&&i?{code:s,data:i.map((t=>Object.assign({messageUId:t.msgId,readedCount:t.cnt,totalCount:t.tmn},e)))}:{code:s}}))}updateConversationReadTime(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeSessionMsgReadInput(e,n),r=new Fi(Jo[Jo.updRTime],t,this.currentUserId);return this._connMgr.send(r)}))}pullUserSettings(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this.getNaviInfoFromCache(),n=Mo.encode($r,{version:e,ipType:t.ipType||0}),r=new Gi(Jo.pullUS,n,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,Jr);return s===exports.ErrorCode.SUCCESS&&this._naviChangeHandler(o),{code:s,data:o}}))}_naviChangeHandler(e){var t;if(!e)return void this.logger.warn(exports.LogTagId.L_NOTIFY_NAVI_CHANGE_E,JSON.stringify({data:e}));const{settings:n}=e,r=null===(t=null==n?void 0:n.VoipInfo)||void 0===t?void 0:t.value;if(!r)return;const s=this._connMgr.getToken();this.navi.updateVoipCallInfo(s,r);const o=this.navi.getNaviInfoFromCache(s);this._watcher.onNaviDataChange(Object.assign({},o))}getFileToken(e,n,r,s,o,i){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};let t;t=s&&"uploads"!==s?n||"":Dt(e,n);const a=this.getNaviInfoFromCache(),l=Ht(a,this.logger);let d="";l||(d=JSON.stringify({uploadDomain:l}));const u=Mo.encode(gr,{type:e,key:t,httpMethod:r||"",queryString:s||"",url:o||"",ext:d,size:i?Math.ceil(i):0,ipType:a.ipType||0});return(yield this._connMgr.query(Jo.qnTkn,this.currentUserId,u,Ir)).trans((e=>Object.assign(Object.assign({},e),{fileName:t,downloadAuthInfo:e.downloadAuthInfo?JSON.parse(e.downloadAuthInfo):null})))}))}getFileUrl(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this.getNaviInfoFromCache();let o,i="",a="";n===exports.UploadMethod.QINIU?o=Jo.qnUrl:n===exports.UploadMethod.AWS?o=Jo.s3Url:n===exports.UploadMethod.STC?o=Jo.stcUrl:n===exports.UploadMethod.MINIO?(o=Jo.minioUrl,i=Ht(t,this.logger),a=JSON.stringify({url:i})):o=Jo.aliUrl;const l=Mo.encode(Er,{type:e,key:r,fileName:s,ext:a,size:-1,ipType:t.ipType||0});return(yield this._connMgr.query(o,this.currentUserId,l,Tr)).trans((({downloadUrl:e})=>({downloadUrl:e})))}))}disconnect(){return t(this,void 0,void 0,(function*(){this.reporter.stop(),this.reporterStatistic.stop(),yield this._connMgr.disconnect(),this._resetMemoryState()}))}_resetMemoryState(){-1!==this._reconnectTimer&&(clearTimeout(this._reconnectTimer),this._reconnectTimer=-1),this._pullQueue.length=0,this._stopSyncInterval(),this.resetUltraGroupData(),this._joinedChrmManager&&(this._joinedChrmManager.clear(),delete this._joinedChrmManager),this._conversationManager&&delete this._conversationManager,this._ultraGroupManager&&delete this._ultraGroupManager,this._userSettingManager&&delete this._userSettingManager,this._readReceiptManager&&delete this._readReceiptManager,this._subscribeManager&&delete this._subscribeManager,this._chrmsQueue={}}resetUltraGroupData(){this._stopUltraSyncInterval(),this._lastSyncUltraMsgTimeStamp=0,this._lastSyncUltraMsgLocalTimeStamp=0,this._isUltraPulling=!1,this._ultraGroupTimeQue=[],this._isUltraGroupListExist=!1,this._ultraGroupMap={}}registerMessageType(e,t,n,r,s){this._customMessageType[e]={isPersited:t,isCounted:n,isStatusMessage:s}}getServerTime(){return this._connMgr.getCrtServerTime()}getCurrentUserId(){return this.currentUserId}createTag(e){return t(this,void 0,void 0,(function*(){return this._isConnected?this._userSettingManager.pushTask((n=>t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeCreateTag([e],n),r=new Gi(Jo[Jo.addSeTag],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,Wr);if(s===exports.ErrorCode.SUCCESS&&o){const{version:t}=o;this._userSettingManager.addTag([Object.assign(Object.assign({},e),{createdTime:t})],t)}return{code:s}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}removeTag(e){return t(this,void 0,void 0,(function*(){return this._isConnected?this._userSettingManager.pushTask((n=>t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeRemoveTag([e],n),r=new Gi(Jo[Jo.delSeTag],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,Wr);if(s===exports.ErrorCode.SUCCESS&&o){const{version:t}=o;this._userSettingManager.deleteTag([e],t)}return{code:s}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}updateTag(e){return t(this,void 0,void 0,(function*(){return this._isConnected?this._userSettingManager.pushTask((n=>t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeCreateTag([e],n),r=new Gi(Jo[Jo.addSeTag],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,Wr);if(s===exports.ErrorCode.SUCCESS){const{version:t}=o;this._userSettingManager.addTag([e],t)}return{code:s}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}getTagList(){return t(this,void 0,void 0,(function*(){const e=this._userSettingManager.getTags(),t=this._conversationManager.getConversationListForTag();return e.forEach((e=>{e.conversationCount=t[e.tagId]?t[e.tagId].length:0})),{code:exports.ErrorCode.SUCCESS,data:e}}))}addTagForConversations(e,n){return t(this,void 0,void 0,(function*(){return this._isConnected?this._conversationManager.pushTask((r=>t(this,void 0,void 0,(function*(){if(!this._userSettingManager.getTagById(e))return{code:exports.ErrorCode.TAG_NOT_EXIST};const t=this._connMgr.codec.encodeUpdateConversationTag([{tagId:e}],n,r),s=new Gi(Jo[Jo.addTag],t,this.currentUserId),{code:o,data:i}=yield this._connMgr.send(s,os);if(o===exports.ErrorCode.SUCCESS&&i){const t={};t[e]={},n.forEach((e=>{this._conversationManager.addTagStatus(e.conversationType,e.targetId,t,e.channelId)})),this._conversationManager.setConversationUpdatedTime(i.version)}return{code:o}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}removeTagForConversations(e,n){return t(this,void 0,void 0,(function*(){return this._isConnected?this._conversationManager.pushTask((r=>t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeUpdateConversationTag([{tagId:e}],n,r),s=new Gi(Jo[Jo.delTag],t,this.currentUserId),{code:o,data:i}=yield this._connMgr.send(s,os);return o===exports.ErrorCode.SUCCESS&&i&&(n.forEach((t=>{this._conversationManager.deleteTagStatus(t.conversationType,t.targetId,[e],t.channelId)})),this._conversationManager.setConversationUpdatedTime(i.version)),{code:o}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}removeTagsForConversation(e,n){return t(this,void 0,void 0,(function*(){return this._isConnected?this._conversationManager.pushTask((r=>t(this,void 0,void 0,(function*(){const{conversationType:t,targetId:s,channelId:o}=e,i=n.map((e=>({tagId:e}))),a=this._connMgr.codec.encodeUpdateConversationTag(i,[e],r),l=new Gi(Jo[Jo.delTag],a,this.currentUserId),{code:d,data:u}=yield this._connMgr.send(l,os);return d===exports.ErrorCode.SUCCESS&&u&&(this._conversationManager.deleteTagStatus(t,s,n,o),this._conversationManager.setConversationUpdatedTime(u.version)),{code:d}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}getConversationListByTag(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{currentUserId:t,_connMgr:s}=this,o=s.codec.encodeOldConversationList({count:r,type:exports.ConversationType.PRIVATE,startTime:n}),i=new Gi(Jo.qryRelationR,o,t),a=yield s.send(i,yr,{currentUserId:t,connectedTime:s.getConnectedTime()}),{code:l,data:d}=a;if(l!==exports.ErrorCode.SUCCESS)return{code:l};return{code:l,data:this._conversationHasTagFilter(e,null==d?void 0:d.list)}}))}_conversationHasTagFilter(e,t){let n=[],r=[];function s(e,t){return e.latestMessage&&t.latestMessage?e.latestMessage.sentTime-t.latestMessage.sentTime:0}t.forEach((t=>{const{conversationType:s,targetId:o,channelId:i}=t,{hasMentioned:a,mentionedInfo:l,lastUnreadTime:d,notificationStatus:u,isTop:c,tags:h,unreadMessageCount:p}=this._conversationManager.get(s,o,i),_=h&&h[e];if(_){const e=Object.assign(Object.assign({},t),{hasMentioned:a,mentionedInfo:l,lastUnreadTime:d,notificationStatus:u,isTop:c,unreadMessageCount:p});_.isTop?n.push(Object.assign(Object.assign({},e),{isTopInTag:!0})):r.push(Object.assign(Object.assign({},e),{isTopInTag:!1}))}})),n.sort(s),r.sort(s);return[...n,...r]}getUnreadCountByTag(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._conversationManager.getUnreadCountByTag(e,n);return{code:exports.ErrorCode.SUCCESS,data:t}}))}setConversationStatusInTag(e,n,r){return t(this,void 0,void 0,(function*(){return this._isConnected?this._conversationManager.pushTask((s=>t(this,void 0,void 0,(function*(){const{targetId:t,conversationType:o,channelId:i}=n,{isTop:a}=r,l=[{tagId:e,isTop:a}],d=this._conversationManager.get(o,t,i);if(!d.tags||!Object.hasOwnProperty.call(d.tags,e))return{code:exports.ErrorCode.NO_TAG_IN_CONVER};const u=this._connMgr.codec.encodeUpdateConversationTag(l,[n],s),c=new Gi(Jo[Jo.addTag],u,this.currentUserId),{code:h,data:p}=yield this._connMgr.send(c,os);if(h===exports.ErrorCode.SUCCESS&&p){const n={};n[e]={},a&&(n[e].isTop=!0),this._conversationManager.addTagStatus(o,t,n,i),this._conversationManager.setConversationUpdatedTime(p.version)}return{code:h}})))):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}getTagsForConversation(e){var n;return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._conversationManager.get(e.conversationType,e.targetId,e.channelId),r=this._userSettingManager.getTagsInfo(),s=[];if(t.tags)for(const e in t.tags)s.push({tagId:e,tagName:null===(n=r[e])||void 0===n?void 0:n.tagName});return{code:exports.ErrorCode.SUCCESS,data:s}}))}getBlockConversationList(){const e=this._conversationManager.getBlockConversationList();return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:e})}getTopConversationList(e,t){const n=this._conversationManager.getTopConversationList(e,t);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:n})}getUnreadConversationList(e){return t(this,void 0,void 0,(function*(){const t=this._conversationManager.getUnreadConversationList(e);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}))}getUnreadMentionedCount(e){var t;let n;return n=e.conversationType===exports.ConversationType.ULTRA_GROUP?(null===(t=this._ultraGroupMap[`${e.channelId}_${e.targetId}`])||void 0===t?void 0:t.unreadMentionedCount)||0:this._conversationManager.getUnreadMentionedCount(e.conversationType,e.targetId,e.channelId),n=this._getUnreadCount(n),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:n})}getAllUnreadMentionedCount(){const e=this._conversationManager.getAllUnreadMentionedCount();return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:e})}getConversationNotificationLevel(e,t,n){if(!this._isUltraGroupListExist&&e===exports.ConversationType.ULTRA_GROUP)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});let r;if(r=e===exports.ConversationType.ULTRA_GROUP?this._ultraGroupManager.get(exports.ConversationType.ULTRA_GROUP,t,n):this._conversationManager.get(e,t,n),!r)return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:exports.NotificationLevel.NOT_SET});let s=r.notificationLevel;return lt(r.notificationLevel)&&!lt(r.notificationStatus)&&(s=exports.NotificationStatus.OPEN===r.notificationStatus?1:0),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:s})}getConversationNotificationStatus(e,t,n){let r;return r=e===exports.ConversationType.ULTRA_GROUP?this._ultraGroupManager.get(exports.ConversationType.ULTRA_GROUP,t,n):this._conversationManager.get(e,t,n),r?Promise.resolve({code:exports.ErrorCode.SUCCESS,data:r.notificationStatus}):Promise.resolve({code:exports.ErrorCode.SUCCESS,data:exports.NotificationStatus.CLOSE})}setConversationTypeNotificationLevel(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{currentUserId:t,_connMgr:r}=this,s=this._conversationManager.getConversationUpdatedTime();return(yield r.query(Jo.setTypeUnpush,t,Mo.encode(is,{type:e,unpushLevel:n,version:s}),as)).trans((t=>{var r;const{version:s}=t;this._conversationManager.setConversationUpdatedTime(s),e===exports.ConversationType.ULTRA_GROUP?null===(r=this._ultraGroupManager)||void 0===r||r.addUltraGroupStatus({conversationType:e,targetId:"",notificationLevel:n,channelId:""}):this._conversationManager.addStatus({conversationType:e,targetId:"",channelId:"",updatedTime:s,notificationLevel:n},!0)}))}))}getConversationTypeNotificationLevel(e){if(e===exports.ConversationType.ULTRA_GROUP){const t=this._ultraGroupManager.get(e,"","");return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t.notificationLevel||0})}const t=this._conversationManager.get(e,"","");return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t.notificationLevel||0})}getRemoteHistoryMessages(e,t,n,r,s,o){return this.getHistoryMessage(e,t,n,r,s,o)}getUltraGroupList(e){return t(this,void 0,void 0,(function*(){const{targetId:t,channelType:n}=e;if(!this._isUltraGroupListExist)return{code:exports.ErrorCode.METHOD_NOT_AVAILABLE};let r=Object.values(this._ultraGroupMap).filter((e=>!(e.targetId!==t&&t||e.channelType!==n&&nt(n))));r=r.map((e=>{let{unreadMessageCount:t,unreadMentionedCount:n,unreadMentionedMeCount:r}=e;return t=this._getUnreadCount(t),n=this._getUnreadCount(n),r=this._getUnreadCount(r),Object.assign(Object.assign({},e),{unreadMessageCount:t,unreadMentionedCount:n,unreadMentionedMeCount:r})})),r=sd(r);const s=Rt(r);return{code:exports.ErrorCode.SUCCESS,data:s}}))}_getUnreadCount(e){return e>999?999:e}getBlockUltraGroupList(){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});const e=Object.values(this._ultraGroupMap),t=[];return e.forEach((e=>{(e.notificationStatus===exports.NotificationStatus.OPEN||e.notificationLevel>0)&&t.push({conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e.targetId,channelId:e.channelId})})),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}getTopUltraGroupList(){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});const e=Object.values(this._ultraGroupMap),t=[];return e.forEach((e=>{!0===e.isTop&&t.push({conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e.targetId,channelId:e.channelId})})),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}getUltraGroupUnreadMentionedCountByTargetId(e,t){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});let n=0;for(const r in this._ultraGroupMap){r.match(/_.*/g)[0].substring(1)!==e||t&&0!==t.length&&!t.includes(this._ultraGroupMap[r].notificationLevel)||(n+=this._ultraGroupMap[r].unreadMentionedCount)}return n=this._getUnreadCount(n),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:n})}getUltraGroupUnreadCountByTargetId(e,t){let n=0;for(const r in this._ultraGroupMap){const s=this._ultraGroupMap[r];s.targetId!==e||t&&0!==t.length&&!t.includes(this._ultraGroupMap[r].notificationLevel)||(n+=s.unreadMessageCount||0)}return n=this._getUnreadCount(n),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:n})}getUltraGroupUnreadInfoList(e){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});const t=[];return Object.keys(this._ultraGroupMap).forEach((n=>{const r=this._ultraGroupMap[n];e.includes(r.targetId)&&t.push({type:r.conversationType,targetId:r.targetId,channelId:r.channelId,unreadMessageCount:this._getUnreadCount(r.unreadMessageCount),mentionedCount:this._getUnreadCount(r.unreadMentionedCount),mentionedMeCount:this._getUnreadCount(r.unreadMentionedMeCount),notificationLevel:r.notificationLevel})})),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}getAllUltraGroupUnreadCount(e=!1){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});let t=0;for(const n in this._ultraGroupMap)t+=e?this._ultraGroupMap[n].unreadMentionedCount||0:this._ultraGroupMap[n].unreadMessageCount||0;return t=this._getUnreadCount(t),Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}clearUltraUnreadcount(e,n=""){return t(this,void 0,void 0,(function*(){if(!this._isUltraGroupListExist)return Promise.resolve(exports.ErrorCode.METHOD_NOT_AVAILABLE);if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const t=this.getServerTime(),r=this._connMgr.codec.encodeClearUnreadCount({conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e,channelId:n},{timestamp:t}),s=new Fi(Jo[Jo.updUgRTime],r,this.currentUserId);s.setHeaderQos(zo.AT_LEAST_ONCE);const{code:o}=yield this._connMgr.send(s);if(o===exports.ErrorCode.SUCCESS){const r=this._ultraGroupMap[`${n}_${e}`];r&&(r.unreadMessageCount=0,r.unreadMentionedCount=0,r.unreadMentionedMeCount=0,r.lastReadTime=t),r&&r.firstUnreadMessage&&(r.firstUnreadMessage=null)}return o}))}_getUltraGroupList(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;const t=this._connMgr.codec.encodeUltraGroup(e,!1),n=new Gi(Jo[Jo.pullUgSes],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,yr,{currentUserId:this.currentUserId,conversationType:exports.ConversationType.ULTRA_GROUP});if(r!==exports.ErrorCode.SUCCESS||!s){this.logger.warn(exports.LogTagId.L_ULTRA_SYNC_DONE_S,`Pull ultra group conversation failured, code: ${r}, try again`);const t=setTimeout((()=>{this._getUltraGroupList(e),clearTimeout(t)}),3e3);return}const{list:o,isFinished:i}=s;if(o.forEach((e=>{e.notificationStatus=exports.NotificationStatus.CLOSE,e.notificationLevel=exports.NotificationLevel.NOT_SET,e.isTop=!1,this._ultraGroupMap[`${e.channelId}_${e.targetId}`]=e,this._ultraGroupManager.addUltraGroupStatus(e)})),!1===i){const e=o.length>0&&o[o.length-1].versionTime||0;this._getUltraGroupList(e)}else{this.logger.info(exports.LogTagId.L_ULTRA_SYNC_DONE_S,"Pull ultra group conversation success");const{code:e,data:t}=yield this.pullConversationStatus(0);e!==exports.ErrorCode.SUCCESS&&this.logger.warn(exports.LogTagId.O,`pullConversationStatus fail code: ${e}, data: ${t}`);let n=Object.values(this._ultraGroupMap);n=sd(n),this._isUltraGroupListExist=!0,this._watcher.ultraGroupEnable(Rt(n)),this._syncUltraMsg(this._lastSyncUltraMsgTimeStamp)}}))}_startUltraSyncInterval(){const e=()=>{this._ultraGroupTimer=setTimeout((()=>{Date.now()-this._lastSyncUltraMsgLocalTimeStamp>=18e4&&this._syncUltraMsg(this._lastSyncUltraMsgTimeStamp),this._stopUltraSyncInterval(),e()}),3e4)};this._lastSyncUltraMsgLocalTimeStamp=Date.now(),e()}_stopUltraSyncInterval(){-1!==this._ultraGroupTimer&&(clearTimeout(this._ultraGroupTimer),this._ultraGroupTimer=-1)}_notificationOnline(){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;const{code:e,data:t}=yield this._fetchUltraMsg(0);if(e!==exports.ErrorCode.SUCCESS||!t)return this.logger.warn(exports.LogTagId.L_NOTIFY_ULTRA_ONLINE_S,"Notify ultra group online failured, try again."),void setTimeout((()=>{this._notificationOnline()}),3e3);this.logger.info(exports.LogTagId.L_NOTIFY_ULTRA_ONLINE_S,"Notify ultra group online success."),this._getUltraGroupList(0),-1===this._ultraGroupTimer&&this._startUltraSyncInterval()}))}_fetchUltraMsg(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeSuperSyncMsg(e),n=new Gi(Jo[Jo.pullUgMsg],t,this.currentUserId),r=this.logger.createTraceId();this.logger.info(exports.LogTagId.L_PULL_ULTRA_MSG_T,JSON.stringify({timestamp:e}),r);const{code:s,data:o}=yield this._connMgr.send(n,pr,{currentUserId:this.currentUserId,conversation:{conversationType:exports.ConversationType.ULTRA_GROUP}});if(s===exports.ErrorCode.SUCCESS&&o){const{list:t,syncTime:n}=o,i=t.map((e=>e.messageUId)).join(",");this.logger.info(exports.LogTagId.L_PULL_ULTRA_MSG_R,JSON.stringify({code:s,messageUIds:i,timestamp:e,syncTime:n}),r)}else this.logger.warn(exports.LogTagId.L_PULL_ULTRA_MSG_R,JSON.stringify({code:s,timestamp:e}),r);return{code:s,data:o}}))}_getUltraGroup(e,t,n){var r,s,o;const{targetId:i,messageType:a,channelId:l,isCounted:d,channelType:u,sentTime:c,senderUserId:h,content:p,isMentioned:_}=e,g=this._ultraGroupMap[`${l}_${i}`],E=g||{conversationType:exports.ConversationType.ULTRA_GROUP,targetId:i,channelId:l,unreadMessageCount:0,unreadMentionedCount:0,unreadMentionedMeCount:0,notificationStatus:exports.NotificationStatus.CLOSE,notificationLevel:exports.NotificationLevel.NOT_SET,isTop:!1};return d&&h!==this.currentUserId&&a!==exports.MessageType.RECALL&&(E.unreadMessageCount+=1,E.unreadMentionedCount+=t,E.firstUnreadMessage||(E.firstUnreadMessage={sentTime:c}),_&&(null===(r=null==p?void 0:p.mentionedInfo)||void 0===r?void 0:r.type)!==exports.MentionedType.ALL&&(null===(o=null===(s=null==p?void 0:p.mentionedInfo)||void 0===s?void 0:s.userIdList)||void 0===o?void 0:o.includes(this.currentUserId))&&(E.unreadMentionedMeCount+=1)),E.versionTime=n,E.latestMessage=e,E.channelType=u,g||(this._ultraGroupMap[`${l}_${i}`]=E),E}_syncUltraMsg(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected||this._isUltraPulling)return;this._isUltraPulling=!0;const{code:t,data:n}=yield this._fetchUltraMsg(e);if(this._lastSyncUltraMsgLocalTimeStamp=Date.now(),this._isUltraPulling=!1,t!==exports.ErrorCode.SUCCESS||!n)return;const{list:r,syncTime:s,finished:o}=n,i={},a=[];if(r.forEach((e=>{var t,n,r;const{targetId:o,content:l,messageUId:d,channelId:u,isMentioned:c}=e;if(this._ultraMsgMap[d])return void delete this._ultraMsgMap[d];let h=0;c&&((null===(t=null==l?void 0:l.mentionedInfo)||void 0===t?void 0:t.type)===exports.MentionedType.ALL||(null===(r=null===(n=null==l?void 0:l.mentionedInfo)||void 0===n?void 0:n.userIdList)||void 0===r?void 0:r.includes(this.currentUserId)))&&(h=1);const p=this._getUltraGroup(e,h,s);i[`${u}_${o}`]=p,this._ultraGroupManager.addUltraGroupStatus(p),a.push(e)})),Object.keys(i).length>0){this.logger.debug(exports.LogTagId.O,"notice ultragroups");let e=Object.values(i);e=sd(e),this._watcher.conversation(Rt(e))}this.logger.debug(exports.LogTagId.O,"notice ultragroup message"),this._batchMessage(a),this._ultraGroupTimeQue=this._ultraGroupTimeQue.filter((e=>e>s)),this._lastSyncUltraMsgTimeStamp=s,o?this._ultraGroupTimeQue.length>0&&(this._ultraGroupTimeQue.length=0,this._syncUltraMsg(s)):this._syncUltraMsg(s)}))}sendUltraMessage(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};"RC:SRSMsg"===n.messageType&&this.logger.warn(exports.LogTagId.O,"ultra group -> direction message convert to message");const t=(n=this._handleMsgProperties(n,!0)).messageId?n.messageId:Gt();n.messageId=t;const o=this._connMgr.codec.encodeUpMsg({conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e},n),i=new Fi(Jo[Jo.ugMsg],o,e);i.setHeaderQos(zo.AT_LEAST_ONCE);const a=this._connMgr.getCrtServerTime(),l=rd(exports.ConversationType.ULTRA_GROUP,e,Object.assign({},n),"",a,this.currentUserId,t);r&&r(t),this.logger.info(exports.LogTagId.L_SEND_MSG_T,JSON.stringify({messageType:n.messageType,conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e,channelId:n.channelId}),s);const d=Date.now(),{code:u,data:c}=yield this._connMgr.send(i);if(u!==exports.ErrorCode.SUCCESS)return this.logger.warn(exports.LogTagId.L_SEND_MSG_R,JSON.stringify({code:u,messageUId:l.messageUId,messageId:l.messageId}),s),this._writeMessagesLog(exports.ConversationType.ULTRA_GROUP)&&this.logger.record(oe.IM_MSG_SEND,JSON.stringify({channel:exports.ConversationType.ULTRA_GROUP,start_ts:d,client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),cod:u})),l.sentStatus=exports.SentStatus.FAILED,{code:u,data:l};this.logger.info(exports.LogTagId.L_SEND_MSG_R,JSON.stringify({code:u,messageUId:null==c?void 0:c.messageUId,messageId:null==c?void 0:c.messageId}),s);const h=c;this._writeMessagesLog(exports.ConversationType.ULTRA_GROUP,h.messageUId)&&this.logger.record(oe.IM_MSG_SEND,JSON.stringify({msg_id:h.messageUId,channel:exports.ConversationType.ULTRA_GROUP,start_ts:d,client_ts:Date.now(),server_deltatime:Date.now()-this._connMgr.getCrtServerTime(),cod:u})),l.sentTime=h.timestamp,l.messageUId=h.messageUId,this._ultraMsgMap[h.messageUId]=h.timestamp;const p=n.channelId||"";let _=this._ultraGroupMap[`${p}_${e}`];return _?(_.latestMessage=l,nt(_.channelType)&&(l.channelType=_.channelType)):(_={conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e,channelId:p,unreadMessageCount:0,unreadMentionedCount:0,versionTime:l.sentTime,latestMessage:l,notificationStatus:exports.NotificationStatus.CLOSE,notificationLevel:exports.NotificationLevel.NOT_SET,isTop:!1},this._ultraGroupMap[`${p}_${e}`]=_,this._ultraGroupManager.addUltraGroupStatus(_)),this._watcher.conversation(Rt([_])),{code:u,data:l}}))}sendUltraGroupTypingStatus(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{conversationType:t,channelId:r,targetId:s}=e,o=this._connMgr.codec.encodeOperateStatus(s,t,r||"",n||0),i=new Fi(Jo[Jo.operate],o,s);i.setHeaderQos(zo.AT_LEAST_ONCE);const{code:a}=yield this._connMgr.send(i);return a!==exports.ErrorCode.SUCCESS?{code:a,msg:exports.ErrorCode[a]}:{code:a}}))}getUltraGroupMessageListByMessageUId(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};if(e.messages&&e.messages.length<1)return{code:exports.ErrorCode.MSG_LIMIT_ERROR};if(e.messages&&e.messages.length>20)return{code:exports.ErrorCode.MSG_LIMIT_ERROR};const t={};e.messages.forEach((e=>{t[e.messageUId]=void 0}));const n=this._connMgr.codec.encodeMsgQuery(e),r=new Gi(Jo[Jo.qryMsg],n,this.currentUserId);r.setHeaderQos(zo.AT_LEAST_ONCE);const{code:s,data:o}=yield this._connMgr.send(r,ms,{connectedTime:this._connMgr.getConnectedTime(),currentUserId:this.currentUserId});if(s!==exports.ErrorCode.SUCCESS)return{code:s,msg:exports.ErrorCode[s]};const{list:i}=o||{};return Array.isArray(i)&&i.forEach((e=>{const{messageUId:n}=e;t[n]=e})),{code:0,data:t}}))}_pullOperateStatusNotify(e){if(!this._isConnected)return;const t=this._connMgr.codec.decodeByPBName(e.pbData,vs),{conversationType:n,info:r,summary:s}=t;this.logger.debug(exports.LogTagId.O,`s_opNtf -> type: ${n}, info: ${r}, summary: ${s}`),this._watcher.operateStatus(t)}expandUltraMessage(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeExpandUltraMessage(e,this.currentUserId),n=new Gi(Jo[Jo.upMsgEx],t,e.targetId);n.setHeaderQos(zo.AT_LEAST_ONCE);const{code:r}=yield this._connMgr.send(n);return r!==exports.ErrorCode.SUCCESS?{code:r,msg:exports.ErrorCode[r]}:{code:r}}))}modifyMessage(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodemodifyMessage(e,this.currentUserId),n=new Gi(Jo[Jo.modifyMsg],t,e.targetId);n.setHeaderQos(zo.AT_LEAST_ONCE);const{code:r,data:s}=yield this._connMgr.send(n);if(r!==exports.ErrorCode.SUCCESS)return{code:r,msg:exports.ErrorCode[r]};const o=s;return this._ultraMsgMap[o.messageUId]=o.timestamp,{code:r}}))}_handleEventChangeList(e){const t={Group:{map:{},types:od},Friend:{map:{},types:id}},n=(e,t,n)=>{e[t]||(e[t]=[]),e[t].push(n)};e.forEach((e=>{const{changeType:r}=e;for(const s in t)if(t[s].types.includes(r)){n(t[s].map,r,e);break}}));const r={Group:this._processChangeMapGroup.bind(this),Friend:this._processChangeMapFriend.bind(this)};for(const e in t)Object.keys(t[e].map).length>0&&r[e](t[e].map)}_pullUltraChangeMessageList(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return;if(this._isPullingUltraChangeMessage)return;this._isPullingUltraChangeMessage=!0;const t=this._connMgr.codec.encodeQueryMsgChange(e),n=new Gi(Jo[Jo.qryMsgChange],t,this.currentUserId);n.setHeaderQos(zo.AT_LEAST_ONCE);const{code:r,data:s}=yield this._connMgr.send(n,Rs);if(this._isPullingUltraChangeMessage=!1,r!==exports.ErrorCode.SUCCESS||!s)return;const{hasNext:o,list:i}=s,a=(null==s?void 0:s.syncTime)||0;this._handleUltraChangeList(i);const l=this._pullUltraChangeMessageQue.filter((e=>e>a));this._pullUltraChangeMessageQue.length=0,this._pullUltraChangeMessageQue.push(...l),o?this._pullUltraChangeMessageList(a):this._lastPullingUltraChangeMessageTime=a}))}_handleUltraChangeList(e){const t={};e.forEach((e=>{const{changeType:n}=e;t[n]||(t[n]=[]),t[n].push(e)}));const{CHANNEL_CHANGE:n,MSG_RECALL:r,MSG_EXPANSION:s,MSG_MODIFY:o,USER_GROUP_CHANGE:i}=q;t[n]&&this._handleUltraChannelChange(t[n]),t[r]&&this._handleMsgRecall(t[r]),t[s]&&this._handleMsgUpdate(t[s]),t[o]&&this._handleMsgUpdate(t[o]),t[i]&&this._handleUserGroupStatus(t[i])}_processChangeMapGroup(e){const{GROUP_OPERATION:t,GROUP_PROFILE_CHANGE:n,GROUP_APPLICATION_INVITATION:r,GROUP_FOLLOW_USER_CHANGE:s}=A;e[t]&&this._handleGroupOperation(e[t]),e[n]&&this._handleGroupProfileChange(e[n]),e[r]&&this._handleApplication(e[r]),e[s]&&this._handleFollowUserChange(e[s])}_processChangeMapFriend(e){(e[h.FRIEND_APPLICATION]||[]).forEach((e=>{var t,n,r,s,o,i,a,l,d,u;const{subChangeType:c,businessId:h,time:_,eventData:g}=e,{FRIEND_APPLY:E,FRIEND_REFUSE:I,FRIEND_USER_INFO:T,FRIENDS_INPUT:f,FRIEND_CLEAR:C,FRIEND_INFO_CHANGE:R,FRIEND_INFO_CHANGE_SYNC:S}=p;switch(c){case E:case I:{const e=c===E?exports.FriendApplicationStatus.UNHANDLED:exports.FriendApplicationStatus.REFUSED;null===(n=(t=this._watcher).friendApplicationStatusChanged)||void 0===n||n.call(t,{userId:h,applicationType:g.applyType,applicationStatus:e,directionType:g.friendType,operationTime:_,extra:g.info||""});break}case T:null===(s=(r=this._watcher).friendAdd)||void 0===s||s.call(r,{userId:h,name:g.name,portraitUri:g.portraitUrl,directionType:g.friendType,operationTime:_});break;case f:null===(i=(o=this._watcher).friendDelete)||void 0===i||i.call(o,{userIds:g.targetId,directionType:g.type,operationTime:_});break;case C:null===(l=(a=this._watcher).friendCleared)||void 0===l||l.call(a,_);break;case R:break;case S:null===(u=(d=this._watcher).friendInfoChangedSync)||void 0===u||u.call(d,{userId:h,remark:g.remarkname,extProfile:g.extProfile,operationTime:_})}}))}_handleGroupOperation(e){e.forEach((e=>{var t,n;const{subChangeType:r,businessId:s,time:o,eventData:i}=e,{optUserInfo:a,channelInfo:l,userInfos:d}=i;let u={groupId:s,operation:r,operationTime:o};a&&([u.operatorInfo]=Ut([a])),r===exports.GroupOperation.CREATE&&([u.groupInfo]=Nt([l])),[exports.GroupOperation.CREATE,exports.GroupOperation.DISMISS].includes(r)||(u.memberInfos=Ut(d)),null===(n=(t=this._watcher).groupOperation)||void 0===n||n.call(t,u)}))}_handleGroupProfileChange(e){e.forEach((e=>{var t,n,r,s,o,i;const{businessId:a,time:l,eventData:d,subChangeType:u,secondaryId:c}=e;switch(u){case R.GROUP_INFO_CHANGE:{const[e]=Ut([d.optUserInfo]),[r]=Ot([d.channelInfo]),[s]=d.channelFullInfo?Ot([d.channelFullInfo]):[void 0];null===(n=(t=this._watcher).groupInfoChanged)||void 0===n||n.call(t,{operatorInfo:e,groupInfo:r,changedGroupInfo:r,operationTime:l,fullGroupInfo:s});break}case R.MEMBER_PROFILE_CHANGE:{const[e]=Ut([d.optUserInfo]),t=Ut(d.userInfos)[0];null===(s=(r=this._watcher).groupMemberInfoChanged)||void 0===s||s.call(r,{groupId:a,operatorInfo:e,memberInfo:t,operationTime:l});break}case R.GROUP_REMARK_DELETE:case R.GROUP_REMARK_SET:{const e=u===R.GROUP_REMARK_SET?exports.GroupOperationType.ADD:exports.GroupOperationType.REMOVE;null===(i=(o=this._watcher).groupRemarkChangedSync)||void 0===i||i.call(o,{groupId:a,operationType:e,operationTime:l,groupRemark:c});break}}}))}_handleApplication(e){let t=[];e.forEach((e=>{const{eventData:n}=e,{statusInfo:r}=n;t=bt(r),t.forEach((e=>{var t,n;null===(n=(t=this._watcher).groupApplicationEvent)||void 0===n||n.call(t,e)}))}))}_handleFollowUserChange(e){e.forEach((e=>{var t,n;const{subChangeType:r,businessId:s,time:o,userGroupIds:i}=e,a=1===r?exports.GroupOperationType.ADD:exports.GroupOperationType.REMOVE;null===(n=(t=this._watcher).groupFollowsChangedSync)||void 0===n||n.call(t,{groupId:s,operationType:a,operationTime:o,userIds:i})}))}_handleUltraChannelChange(e){const t=[],n=[],r=[];e.forEach((e=>{const{subChangeType:s,targetId:o,channelId:i,sendTime:a,operatorId:l}=e,d=`${i}_${o}`,u=this._ultraGroupMap[d];if(!u)return;const{PUBLIC_TO_PRIVATE:c,PRIVATE_TO_PUBLIC:h,PUBLIC_TO_PRIVATE_USER_NOT_IN:p,CHANNEL_DELETE:_,CHANNEL_USER_KICKED:g}=Y;switch(s){case h:u.channelType=exports.UltraGroupChannelType.PUBLIC,t.push({targetId:o,channelId:i,changeType:exports.UltraGroupChannelChangeType.PRIVATE_TO_PUBLIC,channelType:u.channelType});break;case c:u.channelType=exports.UltraGroupChannelType.PRIVATE,t.push({targetId:o,channelId:i,changeType:exports.UltraGroupChannelChangeType.PUBLIC_TO_PRIVATE,channelType:u.channelType});break;case p:t.push({targetId:o,channelId:i,changeType:exports.UltraGroupChannelChangeType.PUBLIC_TO_PRIVATE_USER_NOT_IN,channelType:u.channelType}),delete this._ultraGroupMap[d];break;case _:n.push({targetId:o,channelId:i,channelType:u.channelType,deleteTime:a}),delete this._ultraGroupMap[d];break;case g:r.push({targetId:o,channelId:i,userId:l,channelType:exports.UltraGroupChannelType.PRIVATE}),l===this.currentUserId&&delete this._ultraGroupMap[d]}})),t.length>0&&this._watcher.ultraGroupChannelChangeType(t),n.length>0&&this._watcher.ultraGroupChannelDelete(n),r.length>0&&this._watcher.ultraGroupChannelUserKicked(r)}_handleMsgRecall(e){const t=[];e.forEach((({targetId:e,channelId:n,messageUId:r,sendTime:s,conversationType:o,operatorId:i,mentionedType:a})=>{this._updateUltraGroupWhenRecallMsg(e,n,r,s,a),t.push({targetId:e,conversationType:o,sentTime:s,messageUId:r,senderUserId:i,channelId:n,content:{conversationType:o,targetId:e,messageUId:r,channelId:n},messageDirection:1,messageType:exports.MessageType.RECALL,isOffLineMessage:!1,receivedTime:Date.now(),isPersited:!1,isCounted:!1,isMentioned:!1,disableNotification:!1,isStatusMessage:!1,canIncludeExpansion:!1,expansion:null,receivedStatus:exports.ReceivedStatus.UNREAD,receivedStatusInfo:St(exports.ReceivedStatus.UNREAD)})})),this._watcher.ultraGroupMessageRecalled(t)}_handleMsgUpdate(e){const t={};e.forEach((({targetId:e,conversationType:n,sendTime:r,messageUId:s,channelId:o})=>{const i=`${n}_${e}`;t[i]||(t[i]=[]),t[i].push({messageUId:s,channelId:o,sendTime:r})}));for(const n in t){const r=n.split("_"),s=r.shift(),o=r.join("_");this._pullUltraMessageList(e[0].changeType,{targetId:o,conversationType:Number(s),messages:[...t[n]]})}}_pullUltraMessageList(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeMsgQuery(n),r=new Gi(Jo[Jo.qryMsg],t,this.currentUserId);r.setHeaderQos(zo.AT_LEAST_ONCE);const{code:s,data:o}=yield this._connMgr.send(r,ms,{connectedTime:this._connMgr.getConnectedTime(),currentUserId:this.currentUserId});if(s!==exports.ErrorCode.SUCCESS)return{code:s,msg:exports.ErrorCode[s]};const{list:i}=o||{},a=[];Array.isArray(i)&&i.forEach((e=>{const{targetId:t,channelId:n,messageUId:r}=e,s=this._ultraGroupMap[`${n}_${t}`];s&&s.latestMessage.messageUId===r&&(s.latestMessage=e),a.push(e)})),e===q.MSG_EXPANSION&&this._watcher.ultraGroupMessageExpansionUpdated(a),e===q.MSG_MODIFY&&this._watcher.ultraGroupMessageModified(a)}))}_handleUserGroupStatus(e){return t(this,void 0,void 0,(function*(){const{REMOVE_USER_GROUP:t,JOIN_USER_GROUP:n,EXIT_USER_GROUP:r,CHANNEL_BIND_USER_GROUP:s,CHANNEL_UNBIND_USER_GROUP:o}=K,i=[],a=[],l=[],d=[],u=[];e.forEach((e=>{const{conversationType:c,targetId:h,userGroupIds:p,busChannelType:_,channelId:g}=e;switch(e.subChangeType){case t:i.push({conversation:{conversationType:c,targetId:h},userGroupIds:p});break;case n:a.push({conversation:{conversationType:c,targetId:h},userGroupIds:p});break;case r:l.push({conversation:{conversationType:c,targetId:h},userGroupIds:p});break;case s:d.push({conversation:{conversationType:c,targetId:h,channelId:g},channelType:_,userGroupIds:p});break;case o:u.push({conversation:{conversationType:c,targetId:h,channelId:g},channelType:_,userGroupIds:p})}}));const c={};i.length>0&&(c.userGroupDisband=i),a.length>0&&(c.userAdded=a),l.length>0&&(c.userRemoved=l),d.length>0&&(c.userGroupBindChannel=d),u.length>0&&(c.userGroupUnBindChannel=u),this._watcher.userGroupStatus(c)}))}getUltraHistoryMsg(e,n,r){var s;return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeGetHistoryMsg(e,n),o=new Gi(Jo[Jo.qryUgMsg],t,this.currentUserId);this.logger.info(exports.LogTagId.L_GET_HISTORY_MSG_T,JSON.stringify({targetId:e,conversationType:exports.ConversationType.ULTRA_GROUP,channelId:n.channelId,timestamp:null==n?void 0:n.timestamp,count:null==n?void 0:n.count}),r);const{code:i,data:a}=yield this._connMgr.send(o,Pr,{currentUserId:this.currentUserId,conversation:{conversationType:exports.ConversationType.ULTRA_GROUP,targetId:e}});if(i!==exports.ErrorCode.SUCCESS||!a)return this.logger.warn(exports.LogTagId.L_GET_HISTORY_MSG_R,JSON.stringify({code:i,messageUIds:""}),r),{code:i};const l=[];return null===(s=a.list)||void 0===s||s.forEach((e=>{e&&l.push(e.messageUId)})),this.logger.info(exports.LogTagId.L_GET_HISTORY_MSG_R,JSON.stringify({code:i,messageUIds:l.join(",")}),r),{code:i,data:a}}))}setUltraGroupDefaultNotificationLevel(e,n,r){return t(this,void 0,void 0,(function*(){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeSetUltraGroupDefaultNotificationLevel(n,r),s=new Gi(Jo[Jo.ugUnpushSet],t,e),o=yield this._connMgr.send(s),{code:i}=o;return exports.ErrorCode.SUCCESS,{code:i}}))}getUltraGroupDefaultNotificationLevel(e,n){return t(this,void 0,void 0,(function*(){if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{_connMgr:t}=this,r=t.codec.encodeGetUltraGroupDefaultNotificationLevel(n),s=new Gi(Jo[Jo.ugUnpushQuery],r,e),o=yield t.send(s,ss),{code:i,data:a}=o;if(i!==exports.ErrorCode.SUCCESS||!a)return{code:i};const{unpushLevel:l}=a;return{code:i,data:l}}))}_updateUltraGroupWhenRecallMsg(e,t,n,r,s){const o=`${t}_${e}`;if(!this._ultraGroupMap[o])return;const i=this._ultraGroupMap[o],{latestMessage:a,lastReadTime:l}=i;a&&a.messageUId===n&&(i.latestMessage=null),r&&l<r&&i.unreadMessageCount>0&&(--i.unreadMessageCount,(s===j.ALL||s===j.ME)&&i.unreadMentionedCount>0&&--i.unreadMentionedCount,s===j.ME&&i.unreadMentionedCount>0&&--i.unreadMentionedMeCount,this._watcher.conversation(Rt([i])))}getAllConversationState(){return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:this._conversationManager.getAllConversationState()})}getUltraGroupUnreadMentionedMessages(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});const t=this._connMgr.codec.encodeUnreadMentionedMsgQuery(e),n=new Gi(Jo[Jo.qryUgUal],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,Ar);return r===exports.ErrorCode.SUCCESS&&s?{code:r,data:s}:{code:r}}))}getUltraGroupFirstUnreadMessageTimestamp(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};if(!this._isUltraGroupListExist)return Promise.resolve({code:exports.ErrorCode.METHOD_NOT_AVAILABLE});const{targetId:t,channelId:n}=e,r=(this._ultraGroupMap[`${n}_${t}`]||{}).firstUnreadMessage||null;return{code:exports.ErrorCode.SUCCESS,data:r}}))}subscribeUser(e,n,r){return t(this,void 0,void 0,(function*(){return this._isConnected?this._subscribeManager.updateSubscribeRelation(e,n,exports.SubscribeOperationType.SUBSCRIBE,r):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}unSubscribeUser(e,n){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const{code:t}=yield this._subscribeManager.updateSubscribeRelation(e,n,exports.SubscribeOperationType.UNSUBSCRIBE);return{code:t}}))}getSubscribeUserList(e,n,r){var s;return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=null===(s=this._subscribeManager)||void 0===s?void 0:s.getSubscribeUserList(e,n,r);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}))}getSubscribeUserStatus(e,n){var r;return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=null===(r=this._subscribeManager)||void 0===r?void 0:r.getSubscribeUserStatus(e,n);return Promise.resolve({code:exports.ErrorCode.SUCCESS,data:t})}))}updateMyUserProfile(e){var r;return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=Mo.encode(Ks,n(this,zl,"m",ed).call(this,e)),s=yield this._connMgr.query(Jo.updUserProfile,this.currentUserId,t,Qs);if(s.isOk){const{version:t}=s.data;return null===(r=this._subscribeManager)||void 0===r||r.updateOwnProfile(e,t),s.wipe()}const o=s.data.censorFailedFields;return Je(s.code,"",o&&0!==o.length?{errorKeys:o,errorKey:o[0]}:void 0)}))}getMyUserProfile(){return this._isConnected?this._subscribeManager.getOwnProfile():Promise.resolve({code:exports.ErrorCode.RC_NET_UNAVAILABLE})}getUserProfiles(e){return t(this,void 0,void 0,(function*(){return this._isConnected?this._subscribeManager.getUserProfiles(e):{code:exports.ErrorCode.RC_NET_UNAVAILABLE}}))}updateMyUserProfileVisibility(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeUserProfilePermission(e),n=new Gi(Jo[Jo.updProfilePermiss],t,this.currentUserId),{code:r}=yield this._connMgr.send(n);return{code:r}}))}getMyUserProfileVisibility(){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const e=this._connMgr.codec.encodeUserProfileInput(),t=new Gi(Jo[Jo.qProfilePermiss],e,this.currentUserId),{code:n,data:r}=yield this._connMgr.send(t,Xs);return n!==exports.ErrorCode.SUCCESS?{code:n}:{code:n,data:null==r?void 0:r.permission}}))}searchUserProfileByUniqueId(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=this._connMgr.codec.encodeSearchUserProfile(e),n=new Gi(Jo[Jo.searchUserProfile],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,Ks);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r};return{code:r,data:yt(s.userId,s.userProfile,s.userExtProfile)}}))}bindRTCRoomForChatroom(e){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return exports.ErrorCode.RC_NET_UNAVAILABLE;const{chatRoomId:t}=e,n=this._connMgr.codec.encodebindRTCRoomForChatroom(e),r=new Gi(Jo[Jo.setRtcRoomId],n,t),s=yield this._connMgr.send(r),{code:o}=s;return o}))}rtcSignaling(e,n,r,s){return t(this,void 0,void 0,(function*(){if(!this._isConnected)return{code:exports.ErrorCode.RC_NET_UNAVAILABLE};const t=r?new Gi(n,s,e):new Fi(n,s,e),{code:o,data:i}=yield this._connMgr.send(t);return{code:o,buffer:i instanceof Bi||null==i?void 0:i.pbData}}))}rtcPing(e,n,r){return t(this,void 0,void 0,(function*(){const t=Wo(this.rtcCodec,n,r),{code:s,buffer:o}=yield this.rtcSignaling(e,Jo[Jo.rtcPing],!0,t);if(s!==exports.ErrorCode.SUCCESS)return{code:s};const i=this.rtcCodec.decode(Ko.RtcOutput,o);return i.version=gt(i.version),{code:s,data:i}}))}getDeviceId(){return Ra()}getOSInfo(){return t(this,void 0,void 0,(function*(){return{code:exports.ErrorCode.NOT_SUPPORT}}))}getProcessInfo(){return t(this,void 0,void 0,(function*(){return{code:exports.ErrorCode.NOT_SUPPORT}}))}getMainProcessInfo(){return t(this,void 0,void 0,(function*(){return{code:exports.ErrorCode.NOT_SUPPORT}}))}destroy(){t(void 0,void 0,void 0,(function*(){if(!Rl)return;Nl&&(clearTimeout(Nl),Nl=null);const e=yield Rl;if(e){const{db:t}=e;Ll.push(t)}Rl=null}))}callExtra(e,...t){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}setProxy(e){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}getProxy(){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}testProxy(e,t){return Promise.resolve({status:exports.ErrorCode.NOT_SUPPORT})}setNetwork(e,t){var n;if(this._connMgr.setNetwork(e,t),e.status&&this.cloudControllerUri){const e=this._connMgr.getToken();null===(n=this.cloudController)||void 0===n||n.request(this.cloudControllerUri,en.newWorkChange,e)}}createGroup(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=al(e,n,r,s),o=yield this._connMgr.query(Jo.channelCreate,e,t,eo);if(!o.data)return o.wipe();const i={errorKeys:o.data.censorFailedFields,processCode:o.data.processCode||0};return o.isOk?$e():Je(o.code,o.msg,i)}))}updateGroupInfo(e,n,r){return t(this,void 0,void 0,(function*(){const t=al(e,n,r),s=yield this._connMgr.query(Jo.upChannelInfo,e,t,eo);return s.data?s.isOk?$e():Je(s.code,s.msg,{errorKeys:s.data.censorFailedFields}):s.wipe()}))}getGroupsInfo(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeMultiChannels(e),n=new Gi(Jo[Jo.qChannelInfo],t,e[0]),{code:r,data:s}=yield this._connMgr.send(n,io);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r};const{list:o=[]}=s.result;return{code:r,data:Nt(o)}}))}kickGroupMembers(e,n,r){var s;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeQuitGroup("kick",e,n,!0,r),o=new Gi(Jo[Jo.channelMemKick],t,e),{code:i,data:a}=yield this._connMgr.send(o,eo);return i!==exports.ErrorCode.SUCCESS?{code:i,msg:null!==(s=null==a?void 0:a.msg)&&void 0!==s?s:""}:{code:i}}))}quitGroup(e,n){var r;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeQuitGroup("quit",e,[],!0,n),s=new Gi(Jo[Jo.channelMemQuit],t,e),{code:o,data:i}=yield this._connMgr.send(s,eo);return o!==exports.ErrorCode.SUCCESS?{code:o,msg:null!==(r=null==i?void 0:i.msg)&&void 0!==r?r:""}:{code:o}}))}dismissGroup(e){var n;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeQuitGroup("dismiss",e),r=new Gi(Jo[Jo.channelDismiss],t,e),{code:s,data:o}=yield this._connMgr.send(r,eo);return s!==exports.ErrorCode.SUCCESS?{code:s,msg:null!==(n=null==o?void 0:o.msg)&&void 0!==n?n:""}:{code:s}}))}transferGroupOwner(e,n,r,s){var o;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeQuitGroup("transfer",e,[n],r,s),i=new Gi(Jo[Jo.channelTransfer],t,e),{code:a,data:l}=yield this._connMgr.send(i,eo);return a!==exports.ErrorCode.SUCCESS?{code:a,msg:null!==(o=null==l?void 0:l.msg)&&void 0!==o?o:""}:{code:a}}))}setGroupManagers(e,n,r){var s;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeModifyChannelsInput(e,n,r),o=new Gi(Jo[Jo.upChannelManager],t,n),{code:i,data:a}=yield this._connMgr.send(o,eo);return i!==exports.ErrorCode.SUCCESS?{code:i,msg:null!==(s=null==a?void 0:a.msg)&&void 0!==s?s:""}:{code:i}}))}getGroupMembersByRole(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getGroupMembersByRole",groupId:e,option:r,roleType:n}),s=new Gi(Jo[Jo.qChannelMem],t,e),{code:o,data:i}=yield this._connMgr.send(s,io);if(o!==exports.ErrorCode.SUCCESS||!i)return{code:o};const{result:a,page:l}=i,{pageToken:d,hasNext:u}=l||{};let c=[];return c=Ut(a.list),{code:o,data:{data:c,pageToken:u&&d?d:""}}}))}getGroupMembers(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getGroupMembers",groupId:e,ids:n}),r=new Gi(Jo[Jo.qChannelSpeMem],t,e),{code:s,data:o}=yield this._connMgr.send(r,io);if(s!==exports.ErrorCode.SUCCESS)return{code:s};if(!o)return{code:s,data:[]};const{result:i}=o;let a=[];return a=Ut(i.list),{code:s,data:a}}))}setGroupMemberInfo(e,n,r,s){return t(this,void 0,void 0,(function*(){const t=Mo.encode(ao,{targetId:e,type:exports.ConversationType.GROUP,userId:n,channelNickName:r,additional:s}),o=yield this._connMgr.query(Jo.upChannelMem,e,t,eo);return o.data?o.isOk?$e():Je(o.code,o.msg,{errorKeys:o.data.censorFailedFields}):o.wipe()}))}searchGroupMembers(e,t,n){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}joinGroup(e){var n;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeJoinGroup("join",e),r=new Gi(Jo[Jo.channelMemJoin],t,e),{code:s,data:o}=yield this._connMgr.send(r,eo);return{code:s,data:{processCode:null!==(n=null==o?void 0:o.processCode)&&void 0!==n?n:0}}}))}inviteUsersToGroup(e,n){var r,s;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeJoinGroup("invite",e,n),o=new Gi(Jo[Jo.channelMemInvite],t,e),{code:i,data:a}=yield this._connMgr.send(o,eo);return i!==exports.ErrorCode.SUCCESS?{code:i,msg:null!==(r=null==a?void 0:a.msg)&&void 0!==r?r:""}:{code:i,data:{processCode:null!==(s=null==a?void 0:a.processCode)&&void 0!==s?s:0}}}))}memberInviteResponse(e){var n,r;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeMemberResponseInput(e),s=new Gi(Jo[Jo.channelApplyResp],t,e.groupId),{code:o,data:i}=yield this._connMgr.send(s,eo);return o!==exports.ErrorCode.SUCCESS?{code:o,msg:null!==(n=null==i?void 0:i.msg)&&void 0!==n?n:""}:{code:o,data:{processCode:null!==(r=null==i?void 0:i.processCode)&&void 0!==r?r:0}}}))}getGroupApplications(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getGroupApplications",option:e}),n=new Gi(Jo[Jo.qChannelApplyList],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,io);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r};const{result:o,page:i}=s;let{pageToken:a,hasNext:l}=i||{};return{code:r,data:{data:bt(null==o?void 0:o.list)||[],pageToken:l&&a?a:""}}}))}getJoinedGroupsByRole(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getJoinedGroupsByRole",option:n,roleType:e}),r=new Gi(Jo[Jo.qChannelMemJoin],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,io);if(s!==exports.ErrorCode.SUCCESS||!o)return{code:s};const{result:i,page:a}=o;let{pageToken:l,hasNext:d}=a||{};return{code:s,data:{data:Nt(i.list),pageToken:d&&l?l:""}}}))}searchJoinedGroups(e,t){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}getJoinedGroups(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getJoinedGroups",ids:e}),n=new Gi(Jo[Jo.qChannelMemSpeJoin],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,io);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r};const{list:o}=s.result;return{code:r,data:Nt(o)}}))}setGroupRemark(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeSetGroupRemark(e,n),r=new Gi(Jo[Jo.upChannelRemark],t,e),{code:s}=yield this._connMgr.send(r);return{code:s}}))}setGroupFollows(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeSetGroupFollows(e,n,r),s=new Gi(Jo[Jo.upChannelFollow],t,n),{code:o}=yield this._connMgr.send(s);return{code:o}}))}getGroupFollows(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeChannelsQueryInput({type:"getGroupFollows",groupId:e}),n=new Gi(Jo[Jo.qChannelFollow],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,io);if(r!==exports.ErrorCode.SUCCESS||!s)return{code:r};const{result:o}=s;return{code:r,data:o.list.map((e=>{const{userId:t,opTime:n}=e;return{userId:t,time:gt(n)}}))}}))}addFriend(e,n,r){var s;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendInput({targetId:e,type:n,info:r}),o=new Gi(Jo[Jo.friendAdd],t,this.currentUserId),{code:i,data:a}=yield this._connMgr.send(o,eo);return i===exports.ErrorCode.SUCCESS&&a?{code:i,data:{processCode:null!==(s=null==a?void 0:a.processCode)&&void 0!==s?s:0}}:{code:i}}))}deleteFriends(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendsInput(e,n),r=new Gi(Jo[Jo.friendDel],t,this.currentUserId),{code:s}=yield this._connMgr.send(r);return{code:s}}))}acceptFriendApplication(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendInput({targetId:e,type:1}),n=new Gi(Jo[Jo.friendHandle],t,this.currentUserId),{code:r}=yield this._connMgr.send(n);return{code:r}}))}refuseFriendApplication(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendInput({targetId:e,type:2,info:n}),r=new Gi(Jo[Jo.friendHandle],t,this.currentUserId),{code:s}=yield this._connMgr.send(r);return{code:s}}))}setFriendInfo(e,n,r){return t(this,void 0,void 0,(function*(){const t=Mo.encode(_o,{targetId:e,remarkName:n,extProfile:il(r)}),s=yield this._connMgr.query(Jo.friendSetPf,this.currentUserId,t,go);return s.isOk?s.wipe():Je(s.code,"",{errorKeys:s.data.censorFailedFields})}))}checkFriends(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendsInput(e,n),r=new Gi(Jo[Jo.friendCheck],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,po);if(s!==exports.ErrorCode.SUCCESS)return{code:s};if(!o)return{code:s,data:[]};return{code:s,data:o.list.map((e=>({userId:e.targetId,relationType:e.status})))}}))}getFriends(e,n){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendQueryInput(11,n,e),r=new Gi(Jo[Jo.friendsQuery],t,this.currentUserId),{code:s,data:o}=yield this._connMgr.send(r,io);if(s!==exports.ErrorCode.SUCCESS||!o)return{code:s};const{result:i,page:a}=o,{pageToken:l,hasNext:d}=a||{};return i&&i.list?{code:s,data:{data:ud(i.list),pageToken:d&&l?l:""}}:{code:s,data:{data:[],pageToken:d&&l?l:""}}}))}getFriendApplications(e,n,r){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendQueryInput(12,e),n=new Gi(Jo[Jo.friendsQuery],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,io);if(r!==exports.ErrorCode.SUCCESS)return{code:r};if(!s)return{code:r,data:{data:[],pageToken:""}};const{result:o,page:i}=s,{pageToken:a,hasNext:l}=i||{};return{code:r,data:{data:cd(o),pageToken:l&&a?a:""}}}))}deleteFriendApplication(e,n){return t(this,void 0,void 0,(function*(){return{code:exports.ErrorCode.NOT_SUPPORT}}))}getFriendsInfo(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendsListInput(e),n=new Gi(Jo[Jo.friendsInfoQry],t,this.currentUserId),{code:r,data:s}=yield this._connMgr.send(n,fo);return r!==exports.ErrorCode.SUCCESS?{code:r}:s?{code:r,data:ud(s.list)}:{code:r,data:[]}}))}searchFriendsInfo(e){return t(this,void 0,void 0,(function*(){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}))}setFriendAddPermission(e){return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeFriendLevelSet(e),n=new Gi(Jo[Jo.friendAuthSet],t,this.currentUserId),{code:r}=yield this._connMgr.send(n);return{code:r}}))}getFriendAddPermission(){return t(this,void 0,void 0,(function*(){const e=this._connMgr.codec.encodeFriendInput({targetId:this.currentUserId}),t=new Gi(Jo.friendAuthGet,e,this.currentUserId),{code:n,data:r}=yield this._connMgr.send(t,To);return n===exports.ErrorCode.SUCCESS&&r?{code:n,data:r}:{code:n}}))}getConversationListWithAllChannel(){throw new Error("Method not implemented.")}getConversationListWithAllChannelByPage(e,t){throw new Error("Method not implemented.")}getConversationsByPage(e,t,n,r,s){throw new Error("Method not implemented.")}getContinuousMessages(e,t,n,r,s,o){throw new Error("Method not implemented.")}getHistoryMessagesByObjectNames(e,t,n,r,s,o,i){throw new Error("Method not implemented.")}clearConversations(){throw new Error("Method not implemented.")}setUserStatusListener(e,t){throw new Error("Method not implemented.")}setUserStatus(e){throw new Error("Method not implemented.")}subscribeUserStatus(e){throw new Error("Method not implemented.")}getUserStatus(e){throw new Error("Method not implemented.")}addToBlacklist(e){return Promise.resolve(exports.ErrorCode.NOT_SUPPORT)}removeFromBlacklist(e){return Promise.resolve(exports.ErrorCode.NOT_SUPPORT)}getBlacklist(){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}getBlacklistStatus(e){return Promise.resolve({code:exports.ErrorCode.NOT_SUPPORT})}insertMessage(e,t,n){throw new Error("Method not implemented.")}batchInsertMessage(e,t){throw new Error("Method not implemented.")}getMessageCount(e,t,n){throw new Error("Method not implemented.")}deleteMessages(e){throw new Error("Method not implemented.")}deleteMessagesByTimestamp(e,t,n,r,s){throw new Error("Method not implemented.")}batchClearMessagesByTimestamp(e){throw new Error("Method not implemented.")}clearMessages(e,t,n){throw new Error("Method not implemented.")}getMessage(e){return t(this,void 0,void 0,(function*(){return Je(exports.ErrorCode.NOT_SUPPORT,"Not support")}))}setMessageContent(e,t,n){throw new Error("Method not implemented.")}setMessageSearchField(e,t,n){throw new Error("Method not implemented.")}searchConversationByContent(e,t,n,r){throw new Error("Method not implemented.")}searchConversationByContentWithAllChannel(e,t,n){throw new Error("Method not implemented.")}searchMessageByContent(e,t,n,r,s,o){throw new Error("Method not implemented.")}searchMessageByContentAndMessageType(e,t,n,r,s,o,i){throw new Error("Method not implemented.")}searchMessagesByUser(e,t,n,r,s,o){throw new Error("Method not implemented.")}getMessagesByTimestamp(e,t,n,r){throw new Error("Method not implemented.")}searchMessageByContentWithAllChannel(e,t,n,r,s){throw new Error("Method not implemented.")}searchMessageByContentInTimeRangeWithAllChannel(e,t,n,r,s,o,i){throw new Error("Method not implemented.")}getUnreadMentionedMessages(e,t){throw new Error("Method not implemented.")}setMessageSentStatus(e,t){throw new Error("Method not implemented.")}updateMessageReceiptStatus(e,t,n,r){throw new Error("Method not implemented.")}setMessageReceivedStatus(e,t){throw new Error("Method not implemented.")}clearData(){throw new Error("Method not implemented.")}clearUnreadCountByTimestamp(e,t,n,r){throw new Error("Method not implemented.")}setCallInfo(e,n,r){return t(this,void 0,void 0,(function*(){const{_connMgr:t}=this;if(t){const s=t.codec.encodeSetCallInfo(n,r),o=yield t.send(new Gi(Jo.reqCall,s,e),Ns),{code:i}=o;let a=o.data;return i===exports.ErrorCode.SUCCESS&&a?Promise.resolve({code:i,data:{key:a.key,value:a.dataContent}}):Promise.resolve({code:i})}return Promise.resolve({code:exports.ErrorCode.RC_NET_CHANNEL_INVALID})}))}getGroupMessageDeliverList(e,t,n){throw new Error("Method not implemented.")}getPrivateMessageDeliverTime(e,t){throw new Error("Method not implemented.")}setCheckDuplicateMessage(e){throw new Error("Method not implemented.")}setCheckChatRoomDuplicateMessage(e){throw new Error("Method not implemented.")}getConversations(e){throw new Error("Method not implemented.")}getRealtimeConversations(e,n,r){return t(this,void 0,void 0,(function*(){const{currentUserId:t,_connMgr:s}=this,o=exports.ConversationType.PRIVATE,i=s.codec.encodeOldConversationList({count:e,type:o,startTime:n,order:r}),a=new Gi(Jo.qrySessions,i,t),l=yield s.send(a,yr,{currentUserId:t,connectedTime:s.getConnectedTime(),afterDecode:e=>{const{conversationType:t,targetId:n,channelId:r,unreadMessageCount:s}=e,o=this._conversationManager.get(t,n,r);Object.assign(e,o,{unreadMessageCount:s});const i=this._conversationManager.getDraft(t,n,r);return e.draft=i,e}}),{code:d,data:u}=l;return d!==exports.ErrorCode.SUCCESS?{code:d}:{code:d,data:null==u?void 0:u.list.sort(((e,t)=>{var n,s;const o=(null===(n=e.latestMessage)||void 0===n?void 0:n.sentTime)||0,i=(null===(s=t.latestMessage)||void 0===s?void 0:s.sentTime)||0;return 0===r?i-o:o-i}))}}))}getRealtimeConTotalUnreadCount(){return t(this,void 0,void 0,(function*(){const e=this._connMgr.codec.encodeSessionAttInput(),t=new Gi(Jo.qrySessionsAtt,e,this.getCurrentUserId()),{code:n,data:r}=yield this._connMgr.send(t,xr);return{code:n,data:(null==r?void 0:r.totalUnreadCount)||0}}))}clearRealtimeConUnreadCount(e){return t(this,void 0,void 0,(function*(){const{conversationType:t,targetId:n}=e;this._conversationManager.clearUnreadCount(t,n,"",this.getServerTime(),!1);const r=this._connMgr.codec.encodeSessionMsgReadInput(e,this.getServerTime()),s=new Fi(Jo[Jo.updRRTime],r,this.currentUserId),{code:o}=yield this._connMgr.send(s);return{code:o}}))}removeRealtimeConversations(e){return t(this,void 0,void 0,(function*(){const{_connMgr:t}=this,n=new Gi(Jo.delSessions,t.codec.encodeRemoveConversationList(e),this.getCurrentUserId()),{code:r}=yield t.send(n);return{code:r}}))}getRealtimeConUnreadCounts(e){var n,r;return t(this,void 0,void 0,(function*(){const t=this._connMgr.codec.encodeQuerySessionsInput(e),s=new Gi(Jo[Jo.qrySessionsUnread],t,this.currentUserId),o=yield this._connMgr.send(s,Fr);return o.code===exports.ErrorCode.SUCCESS&&o.data?{code:o.code,data:null===(r=null===(n=o.data)||void 0===n?void 0:n.sessions)||void 0===r?void 0:r.map((e=>({conversationType:e.type,targetId:e.channelId,channelId:e.busChannel||"",unreadCount:gt(e.unreadCount)})))}:{code:o.code}}))}setNotificationQuietHoursWithSetting(e){return t(this,void 0,void 0,(function*(){const t=Mo.encode(Co,e);return(yield this._connMgr.query(Jo.addUnpush,this.currentUserId,t)).wipe()}))}removeNotificationQuietHoursSetting(){return t(this,void 0,void 0,(function*(){const e=Mo.encode(Ro,{nothing:0});return(yield this._connMgr.query(Jo.delUnpush,this.currentUserId,e)).wipe()}))}getNotificationQuietHoursSetting(){return t(this,void 0,void 0,(function*(){const e=Mo.encode(So,{nothing:0});return(yield this._connMgr.query(Jo.qryUnpush,this.currentUserId,e,mo)).trans((({isUnpush:e,spanMinutes:t,startTime:n,level:r,timezone:s})=>e?{spanMinutes:t,startTime:n,level:r,timezone:s}:{spanMinutes:0,startTime:"",level:exports.PushNotificationQuietHoursLevel.PUSH_NOTIFICATION_QUIET_HOURS_LEVEL_DEFAULT}))}))}}zl=new WeakSet,ed=function(e){const t={},{extraProfile:n}=e;return n&&(delete e.extraProfile,t.userExtProfile=il(n)),t.userProfile=il(e),t},e([ld()],hd.prototype,"createGroup",null),e([ld()],hd.prototype,"updateGroupInfo",null),e([ld()],hd.prototype,"getGroupsInfo",null),e([ld()],hd.prototype,"kickGroupMembers",null),e([ld()],hd.prototype,"quitGroup",null),e([ld()],hd.prototype,"dismissGroup",null),e([ld()],hd.prototype,"transferGroupOwner",null),e([ld()],hd.prototype,"setGroupManagers",null),e([ld()],hd.prototype,"getGroupMembersByRole",null),e([ld()],hd.prototype,"getGroupMembers",null),e([ld()],hd.prototype,"setGroupMemberInfo",null),e([ld()],hd.prototype,"joinGroup",null),e([ld()],hd.prototype,"inviteUsersToGroup",null),e([ld()],hd.prototype,"memberInviteResponse",null),e([ld()],hd.prototype,"getGroupApplications",null),e([ld()],hd.prototype,"getJoinedGroupsByRole",null),e([ld()],hd.prototype,"getJoinedGroups",null),e([ld()],hd.prototype,"setGroupRemark",null),e([ld()],hd.prototype,"setGroupFollows",null),e([ld()],hd.prototype,"getGroupFollows",null),e([ld()],hd.prototype,"addFriend",null),e([ld()],hd.prototype,"deleteFriends",null),e([ld()],hd.prototype,"acceptFriendApplication",null),e([ld()],hd.prototype,"refuseFriendApplication",null),e([ld()],hd.prototype,"setFriendInfo",null),e([ld()],hd.prototype,"checkFriends",null),e([ld()],hd.prototype,"getFriends",null),e([ld()],hd.prototype,"getFriendApplications",null),e([ld()],hd.prototype,"deleteFriendApplication",null),e([ld()],hd.prototype,"getFriendsInfo",null),e([ld()],hd.prototype,"searchFriendsInfo",null),e([ld()],hd.prototype,"setFriendAddPermission",null),e([ld()],hd.prototype,"getFriendAddPermission",null),e([ld()],hd.prototype,"getRealtimeConversations",null),e([ld()],hd.prototype,"getRealtimeConTotalUnreadCount",null),e([ld()],hd.prototype,"clearRealtimeConUnreadCount",null),e([ld()],hd.prototype,"removeRealtimeConversations",null),e([ld()],hd.prototype,"getRealtimeConUnreadCounts",null),e([dd()],hd.prototype,"setNotificationQuietHoursWithSetting",null),e([dd()],hd.prototype,"removeNotificationQuietHoursSetting",null),e([dd()],hd.prototype,"getNotificationQuietHoursSetting",null),exports.AEngine=ji,exports.APIContext=Ea,exports.AppStorage=Ca,exports.BasicLogger=Xt,exports.Codec=Yo,exports.EventEmitter=qo,exports.MAX_MESSAGE_CONTENT_BYTES=Re,exports.MAX_UPLOAD_FILE_SIZE=5368709120,exports.PBCodec=lr,exports.PluginContext=zi,exports.RCResult=We,exports.RTCPluginContext=ea,exports.SEND_MESSAGE_TYPE_OPTION=Se,exports.SuspendablePromise=Qe,exports.UPLOAD_FILE_CHUNK_SIZE=10485760,exports.UUId=He,exports.Validator=Xe,exports.ValidatorManage=class{constructor(e,t){var n,r;this._logTagT=e,this._logTagR=t,this.verificationFaileList=[],this.context=Ea.getContext(),this.logger=null===(n=this.context)||void 0===n?void 0:n.logger,this.option=null===(r=this.context)||void 0===r?void 0:r.getOptions()}validate(e,t,n,r=!1,s){if(this.verificationFaileList.length>0)return this;n=Ji[n]||n;const o=r?n(t):lt(t)||null==t||n(t);if("object"==typeof o){const{valid:e,errorKey:n}=o;return!e&&n&&this.verificationFaileList.push({key:n,value:t,isValid:!1,message:s,code:Wi[n]}),this}return o||this.verificationFaileList.push({key:e,value:t,isValid:o,message:s,code:Wi[e]}),this}validateParameters(e,t,n,r,s=!1,o){if(this.verificationFaileList.length>0)return this;n=Ji[n]||n;const i=s?n(t):lt(t)||null==t||n(t);if("object"==typeof i){const{valid:e,errorKey:n,errorCode:s}=i;return!e&&n&&this.verificationFaileList.push({key:n,value:t,code:s||r,message:o,isValid:!1}),this}return i||this.verificationFaileList.push({key:e,value:t,code:r,message:o,isValid:!1}),this}_getValidationResult(){if(this.verificationFaileList.length>0)return this.verificationFaileList[0]}ifReady(e){var t;if(!this.context)return Promise.resolve({code:exports.ErrorCode.BIZ_ERROR_CLIENT_NOT_INIT});const n=this._getValidationResult();if(n){const{code:e,value:r,message:s,key:o}=n;return null===(t=this.logger)||void 0===t||t.error(this._logTagR,JSON.stringify({code:e})),Promise.resolve({code:e,msg:`'${o}' is invalid: ${s||JSON.stringify(r)}`})}const r=this.logger.createTraceId();return e(this.context,this.logger,this.option,r)}try2do(e){if(!this.context)throw new Error("Not initialized yet!");return e(this.context,this.logger,this.option)}ifReadySync(e){var t;if(!this.context)return{code:exports.ErrorCode.BIZ_ERROR_CLIENT_NOT_INIT};const n=this._getValidationResult();if(!n)return e(this.context,this.logger,this.option);const{code:r,value:s,message:o,key:i}=n;return null===(t=this.logger)||void 0===t||t.warn(this._logTagR,JSON.stringify({code:r})),{code:r,msg:`'${i}' is invalid: ${o||s}`}}},exports.VersionManage=ke,exports.assert=(e,t,n,r=!1)=>{if(!Zi(e,t,n,r))throw new Xi(`'${e}' is invalid: ${JSON.stringify(t)}`)},exports.fail=Je,exports.fixUrlProtocol=kt,exports.forEach=Et,exports.getUUID=()=>He.gen(),exports.getUUID22=()=>He.genWithLen(22),exports.httpRequest=qt,exports.isArray=rt,exports.isBoolean=e=>"boolean"==typeof e,exports.isFunction=at,exports.isHttpUrl=dt,exports.isInteger=e=>t=>Number.isInteger(t)&&(void 0===e.min||t>=e.min)&&(void 0===e.max||t<=e.max),exports.isLimitedArray=e=>t=>{if(!rt(t)||void 0!==e.minLength&&t.length<e.minLength||void 0!==e.maxLength&&t.length>e.maxLength)return!1;if(!e.itemValidator)return!0;let n=!0;return t.every((t=>{const r=e.itemValidator&&e.itemValidator(t);return"object"==typeof r?r.errorKey?(n={errorKey:r.errorKey,valid:r.valid},!1):(n=r.valid,r.valid):(n=!!r,r)})),n},exports.isLimitedString=st,exports.isNull=e=>"[object Null]"===Object.prototype.toString.call(e),exports.isNumber=nt,exports.isObject=it,exports.isString=et,exports.isUndefined=lt,exports.isValidConversation=(e,t)=>{let n;return it(e)?(t&&!t.includes(e.conversationType)&&(n="conversationTypeNotSupport"),pt(e.targetId)||(n="targetId"),ct(e.conversationType)||(n="conversationType"),lt(e.channelId)||ht(e.channelId)||(n="channelId"),lt(n)?{valid:!0}:{valid:lt(n),errorKey:n}):{valid:!1,errorKey:"conversation"}},exports.isValidConversationType=ct,exports.isValidEnum=e=>Object.values(e.type).includes(e.value),exports.isValidFileType=e=>nt(e)&&Object.prototype.hasOwnProperty.call(exports.FileType,e),exports.isValidGroupId=e=>st({minLength:1,maxLength:64})(e)&&/^[a-zA-Z0-9+=\-_|:]*$/.test(e),exports.isValidNotificationLevel=e=>nt(e)&&Object.prototype.hasOwnProperty.call(exports.NotificationLevel,e),exports.isValidTargetId=pt,exports.logger=Ho,exports.map=It,exports.notEmptyArray=e=>rt(e)&&e.length>0,exports.notEmptyObject=ut,exports.notEmptyString=ot,exports.ok=$e,exports.runtime=rr,exports.transformReceivedStatusFlag=e=>{let t=exports.ReceivedStatus.UNREAD;return(null==e?void 0:e.isRead)&&(t|=exports.ReceivedStatus.READ),(null==e?void 0:e.isListened)&&(t|=exports.ReceivedStatus.LISTENED),(null==e?void 0:e.isDownload)&&(t|=exports.ReceivedStatus.DOWNLOADED),(null==e?void 0:e.isRetrieved)&&(t|=exports.ReceivedStatus.RETRIEVED),t},exports.transformReceivedStatusInfo=St,exports.usingCppEngine=ft,exports.validate=Zi;