jugglechat-websdk 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +8 -8
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * JuggleChat.js v1.6.0
2
+ * JuggleChat.js v1.6.1
3
3
  * (c) 2022-2024 JuggleChat
4
4
  * Released under the MIT License.
5
5
  */const noop=()=>{},isObject=e=>"[object Object]"===Object.prototype.toString.call(e),isArray=e=>"[object Array]"===Object.prototype.toString.call(e),isFunction=e=>"[object Function]"===Object.prototype.toString.call(e),isString=e=>"[object String]"===Object.prototype.toString.call(e),isBoolean=e=>"[object Boolean]"===Object.prototype.toString.call(e),isUndefined=e=>"[object Undefined]"===Object.prototype.toString.call(e),isNull=e=>"[object Null]"===Object.prototype.toString.call(e),isNumber=e=>"[object Number]"===Object.prototype.toString.call(e),stringify=e=>JSON.stringify(e),parse=t=>{let n={};try{n=JSON.parse(t)}catch(s){n=t}return n},forEach=(e,t)=>{t=t||noop;isObject(e)&&(()=>{for(var n in e)t(e[n],n,e)})(),isArray(e)&&(()=>{for(var n=0,s=e.length;n<s;n++)t(e[n],n,e)})()},isEmpty=e=>{let t=!0;return isObject(e)&&forEach(e,()=>{t=!1}),(isString(e)||isArray(e))&&(t=0===e.length),isNumber(e)&&(t=-1===e),t},rename=(e,t)=>{var n=isObject(e);n&&(e=[e]),e=parse(stringify(e));var s=function(e,n,s){delete s[n],n=t[n],s[n]=e};return forEach(e,e=>{forEach(e,(e,n,o)=>{var i=(n in t);(i?s:noop)(e,n,o)})}),isObject?e[0]:e},extend=(e,t)=>(t=isArray(t)?t:[t],forEach(t,t=>{for(let n in t){let s=t[n];isUndefined(s)||(e[n]=s)}}),e),Defer=Promise,deferred=e=>new Defer(e),templateFormat=(e,t,n)=>{isArray(t)||(t=[t]);let s=[],o=t=>e.replace(n||/\\?\{([^}]+)\}/g,(e,n)=>"\\"===e.charAt(0)?e.slice(1):void 0===t[n]?"{"+n+"}":t[n]);for(let r=0,i=t.length;r<i;r++)s.push(o(t[r]));return s.join("")},isContain=(e,t)=>-1<e.indexOf(t),isEqual=(e,t)=>e===t,Cache$1=e=>{isObject(e)||(e={});let t=(t,n)=>{e[t]=n},n=t=>e[t],s=t=>{delete e[t]},o=()=>{let t=[];for(let n in e)t.push(n);return t},i=()=>{e={}};return{set:t,get:n,remove:s,getKeys:o,clear:i}},request=(e,t)=>deferred((n,s)=>{requestNormal(e,t,{success:n,fail:s})}),requestNormal=(e,t,n)=>{t=t||{},n=n||{success:noop,fail:noop,progress:noop};let s=new XMLHttpRequest,o=t.method||"GET";s.open(o,e,!0);let i=t.headers||{};forEach(i,(e,t)=>{s.setRequestHeader(t,e)});let r=t.body||{},a=()=>/^(200|202)$/.test(s.status),d=t.timeout;return d&&(s.timeout=d),s.onreadystatechange=function(){if(isEqual(s.readyState,4)){let{responseText:e}=s;e=e||"{}";let t=parse(e);if(a())n.success(t,s);else{let{status:e}=s,o={status:e,result:t};n.fail(o)}}},s.upload.onprogress=function(e){e.lengthComputable&&n.progress(e)},s.onerror=e=>{n.fail(e)},s.send(r),s},map=(e,t)=>e.map(t),filter=(e,t)=>e.filter(t),uniq=(e,t)=>{let n=[],s={};return e.forEach(e=>{let n=t(e);s[n.key]=n.value}),forEach(s,e=>{n.push(e)}),n},some=(e,t)=>e.some(t),toJSON=e=>JSON.stringify(e),toArray=e=>{let t=[];return forEach(e,(e,n)=>{t.push([n,e])}),t},isInclude=(e,t)=>-1<e.indexOf(t),clone$1=e=>JSON.parse(JSON.stringify(e));// 暂时支持 String
@@ -17,7 +17,7 @@ S:s.getMilliseconds()// 毫秒
17
17
  */let e={},t={},n=(t,n)=>{let s=e[t]||[];s.push(n);let o={};o[t]=s,utils.extend(e,o)},s=(e,n)=>{t[e]=n},o=n=>{delete e[n],delete t[n]},i=(n,s)=>{let o=e[n]||[];s=utils.isArray(s)?s:[s],utils.forEach(o,e=>{e(...s)});let i=t[n]||utils.noop;i(...s)},r=()=>{utils.forEach(e,(t,n)=>{delete e[n]})};return{on:n,off:o,emit:i,clear:r,once:s}}let STORAGE={PREFIX:"suprjj_im",NAVI:"navi",SYNC_CHATROOM_RECEIVED_MSG_TIME:"sync_chatroom_received_msg_time",SYNC_CHATROOM_ATTR_TIME:"sync_chatroom_attr_time",CLIENT_SESSION:"jgim_client_session",CRYPTO_RANDOM:"jg_crypto_randowm",//PC 端有同样的 KEY,如果修改 VALUE,需要一起修改
18
18
  SYNC_CONVERSATION_TIME:"sync_conversation_time",SYNC_RECEIVED_MSG_TIME:"sync_received_msg_time",SYNC_SENT_MSG_TIME:"sync_sent_msg_time"},HEART_TIMEOUT=30000,SYNC_MESSAGE_TIME=180000,CONNECT_ACK_INDEX="c_conn_ack_index",PONG_INDEX="c_pong_index",SIGNAL_NAME={CMD_RECEIVED:"cmd_inner_receive",CMD_CHATROOM_ATTR_RECEIVED:"cmd_inner_chatroom_attr_receive",CMD_SYNC_CONVERSATIONS_PROGRESS:"cmd_inner_sync_conversations_progress",CMD_SYNC_CONVERSATION_FINISHED:"cmd_inner_sync_conversations_finished",CMD_CONVERSATION_CHANGED:"cmd_inner_conversation_changed",CONN_CHANGED:"conn_inner_changed",CHATROOM_EVENT:"cmd_inner_chatroom_event",// 与下行信令进行匹配,在 io.js 中进行派发
19
19
  S_CONNECT_ACK:"s_connect_ack",S_DISCONNECT:"s_disconnect",S_PUBLICH_ACK:"s_publish_ack",S_QUERY_ACK:"s_query_ack",S_NTF:"s_ntf",// PC 端自定义通知
20
- S_SYNC_CONVERSATION_NTF:"s_sync_conversation_ntf",S_PONG:"s_pong",CLIENT_CLEAR_MEMORY_CACHE:"cmd_clear_memory_cache"},PLATFORM={WEB:"Web",DESKTOP:"PC"},SIGNAL_CMD={CONNECT:0,CONNECT_ACK:1,DISCONNECT:2,PUBLISH:3,PUBLISH_ACK:4,QUERY:5,QUERY_ACK:6,QUERY_CONFIRM:7,PING:8,PONG:9},QOS={YES:1,NO:0},FUNC_PARAM_CHECKER={CONNECT:[{name:"token"}],SENDMSG:[{name:"conversationType"},{name:"conversationId"},{name:"content"},{name:"name"}],INSERT_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"content"},{name:"name"},{name:"sentState"},{name:"sender",type:"Object"}],GETMSGS:[{name:"conversationType"},{name:"conversationId"}],GETMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageIds",type:"Array"}],REMOVEMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"}],CLEARMSG:[{name:"conversationType"},{name:"conversationId"},{name:"time",type:"Number"}],REMOVE_MSGS:[{name:"conversationType"},{name:"conversationId"},{name:"sentTime",type:"Number"},{name:"tid"},{name:"messageIndex"}],RECALLMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"},{name:"sentTime"}],READMESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"sentTime",type:"Number"},{name:"unreadIndex"}],GET_MESSAGE_READ_DETAILS:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"}],UPDATEMESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"tid"}],GET_MENTIOIN_MESSAGES:[{name:"conversationType"},{name:"conversationId"}],SEARCH_MESSAGES:[{name:"keywords",type:"Array"}],UPDATE_MESSAGE_ATTR:[{name:"tid"},{name:"attribute",type:"String"}],GET_FILE_TOKEN:[{name:"type"}],SEND_FILE_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"content",type:"Object"}],SEND_MERGE_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"title"},{name:"previewList",type:"Array"},{name:"messages",type:"Array",children:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"},{name:"sentTime"},{name:"messageIndex"}]}],GET_MERGE_MESSAGES:[{name:"messageId"}],GETCONVERSATIONS:[{name:"limit"}],GETCONVERSATION:[{name:"conversationType"},{name:"conversationId"}],MARK_UNREAD:[{name:"conversationType"},{name:"conversationId"},{name:"unreadTag",type:"Number"}],GET_TOTAL_UNREADCOUNT:[{name:"ignoreConversations",type:"Array",children:[{name:"conversationType"},{name:"conversationId"}]}],SET_ALL_DISTURB:[{name:"type"}// { name: 'timezone' },
20
+ S_SYNC_CONVERSATION_NTF:"s_sync_conversation_ntf",S_PONG:"s_pong",CLIENT_CLEAR_MEMORY_CACHE:"cmd_clear_memory_cache"},PLATFORM={WEB:"Web",DESKTOP:"PC"},SIGNAL_CMD={CONNECT:0,CONNECT_ACK:1,DISCONNECT:2,PUBLISH:3,PUBLISH_ACK:4,QUERY:5,QUERY_ACK:6,QUERY_CONFIRM:7,PING:8,PONG:9},QOS={YES:1,NO:0},FUNC_PARAM_CHECKER={CONNECT:[{name:"token"}],SENDMSG:[{name:"conversationType"},{name:"conversationId"},{name:"content"},{name:"name"}],INSERT_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"content"},{name:"name"},{name:"sentState"},{name:"sender",type:"Object"}],GETMSGS:[{name:"conversationType"},{name:"conversationId"}],GETMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageIds",type:"Array"}],REMOVEMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"}],CLEARMSG:[{name:"conversationType"},{name:"conversationId"},{name:"time",type:"Number"}],REMOVE_MSGS:[{name:"conversationType"},{name:"conversationId"},{name:"sentTime",type:"Number"},{name:"tid"},{name:"messageIndex"}],RECALLMSG:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"},{name:"sentTime"}],READMESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"sentTime",type:"Number"},{name:"unreadIndex"}],GET_MESSAGE_READ_DETAILS:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"}],UPDATEMESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"tid"}],GET_MENTIOIN_MESSAGES:[{name:"conversationType"},{name:"conversationId"}],SEARCH_MESSAGES:[{name:"keywords",type:"Array"}],UPDATE_MESSAGE_ATTR:[{name:"tid"},{name:"attribute",type:"String"}],SET_MESSAGE_SEARCH_CONTENT:[{name:"tid"},{name:"content",type:"String"}],GET_FILE_TOKEN:[{name:"type"}],SEND_FILE_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"content",type:"Object"}],SEND_MERGE_MESSAGE:[{name:"conversationType"},{name:"conversationId"},{name:"title"},{name:"previewList",type:"Array"},{name:"messages",type:"Array",children:[{name:"conversationType"},{name:"conversationId"},{name:"messageId"},{name:"sentTime"},{name:"messageIndex"}]}],GET_MERGE_MESSAGES:[{name:"messageId"}],GETCONVERSATIONS:[{name:"limit"}],GETCONVERSATION:[{name:"conversationType"},{name:"conversationId"}],MARK_UNREAD:[{name:"conversationType"},{name:"conversationId"},{name:"unreadTag",type:"Number"}],GET_TOTAL_UNREADCOUNT:[{name:"ignoreConversations",type:"Array",children:[{name:"conversationType"},{name:"conversationId"}]}],SET_ALL_DISTURB:[{name:"type"}// { name: 'timezone' },
21
21
  // {
22
22
  // name: 'times',
23
23
  // type: 'Array',
@@ -28,9 +28,9 @@ S_SYNC_CONVERSATION_NTF:"s_sync_conversation_ntf",S_PONG:"s_pong",CLIENT_CLEAR_M
28
28
  // }
29
29
  ],CLEARUNREADCOUNT:[{name:"conversationType"},{name:"conversationId"},{name:"unreadIndex"}],SET_DRAFT:[{name:"conversationType"},{name:"conversationId"},{name:"draft"}],GET_DRAFT:[{name:"conversationType"},{name:"conversationId"}],REMOVECONVERSATION:[{name:"conversationType"},{name:"conversationId"}],INSERTCONVERSATION:[{name:"conversationType"},{name:"conversationId"}],GET_CONVERSATION:[{name:"conversationType"},{name:"conversationId"}],MUTE_CONVERSATION:[{name:"conversationType"},{name:"conversationId"},{name:"undisturbType"}],SET_TOP_CONVERSATION:[{name:"conversationType"},{name:"conversationId"},{name:"isTop"}],UNTOP_CONVERSATION:[{name:"conversationType"},{name:"conversationId"}],JOINCHATROOM:[{name:"id",type:"String"}],QUITCHATROOM:[{name:"id",type:"String"}],SET_CHATROOM_ATTRS:[{name:"id",type:"String"},{name:"attributes",type:"Array",children:[{name:"key"},{name:"value"}]}],REMOVE_CHATROOM_ATTRS:[{name:"id",type:"String"},{name:"attributes",type:"Array",children:[{name:"key"}]}],GET_CHATROOM_ATTRS:[{name:"id",type:"String"},{name:"attributes",type:"Array",children:[{name:"key"}]}],GET_ALL_CHATROOM_ATTRS:[{name:"id",type:"String"}]},COMMAND_TOPICS={HISTORY_MESSAGES:"qry_hismsgs",CONVERSATIONS:"qry_convers",QUERY_TOP_CONVERSATIONS:"qry_top_convers",SYNC_CONVERSATIONS:"sync_convers",SYNC_MESSAGES:"sync_msgs",RECALL:"recall_msg",GET_MENTION_MSGS:"qry_mention_msgs",NTF:"ntf",SEND_GROUP:"g_msg",SEND_PRIVATE:"p_msg",SEND_CHATROOM:"c_msg",GET_MERGE_MSGS:"qry_merged_msgs",CLEAR_UNREAD:"clear_unread",REMOVE_CONVERSATION:"del_convers",INSERT_CONVERSATION:"add_conver",GET_CONVERSATION:"qry_conver",MUTE_CONVERSATION:"undisturb_convers",TOP_CONVERSATION:"top_convers",GET_UNREAD_TOTLAL_CONVERSATION:"qry_total_unread_count",CLEAR_UNREAD_TOTLAL_CONVERSATION:"clear_total_unread",MARK_CONVERSATION_UNREAD:"mark_unread",SET_ALL_DISTURB:"set_user_undisturb",GET_ALL_DISTURB:"get_user_undisturb",READ_MESSAGE:"mark_read",GET_READ_MESSAGE_DETAIL:"qry_read_detail",UPDATE_MESSAGE:"modify_msg",CLEAR_MESSAGE:"clean_hismsg",REMOVE_MESSAGE:"del_hismsg",GET_MSG_BY_IDS:"qry_hismsg_by_ids",GET_FILE_TOKEN:"file_cred",GET_USER_INFO:"qry_user_info",JOIN_CHATROOM:"c_join",QUIT_CHATROOM:"c_quit",SYNC_CHATROOM_MESSAGES:"c_sync_msgs",SYNC_CHATROOM_ATTRS:"c_sync_atts",SET_CHATROOM_ATTRIBUTES:"c_batch_add_att",REMOVE_CHATROOM_ATTRIBUTES:"c_batch_del_att",GET_CHATROOM_ATTRIBUTES:"fake_c_get_one",GET_ALL_CHATROOM_ATTRIBUTES:"fake_c_get_all"},NOTIFY_TYPE={DEFAULT:0,MSG:1,CHATROOM:2,CHATROOM_ATTR:3},CONNECT_TOOL={START_TIME:"connect_start_time",RECONNECT_FREQUENCY:"reconnect_frequency",RECONNECT_COUNT:"reconnect_count"},LOG_LEVEL={NONE:0,FATAL:1,ERROR:2,WARN:3,INFO:4,DEBUG:5,VERBOSE:6},LOG_MODULE={INIT:"J-Init",DB_OPEN:"DB-Open",DB_CLOSE:"DB-Close",PB_PARSE:"PB-Parse",PB_MATCH:"PB-Match",WS_RECEIVE:"WS-Receive",WS_SEND:"WS-Send",WS_CONNECT:"WS-Connect",NAV_START:"Nav-Start",NAV_REQEST:"Nav-Request",HB_START:"HB-Start",HB_STOP:"HB-Stop",CON_CONNECT:"CON-Connect",CON_STATUS:"CON-Status",CON_DISCONNECT:"CON-Disconnect",CON_TOKEN:"CON-Token",CON_RECONNECT:"CON-Reconnect",MSG_SYNC:"MSG-Sync",MSG_DELETE:"MSG-Delete",MSG_RECALL:"MSG-Recall",MSG_CLEAR:"MSG-Clear",MSG_GROUP_READ_DETAIL:"MSG-GroupReadDetail",MSG_GET_LIST:"MSG-Get",MSG_GET_MERGE:"MSG-GetMerge",MSG_GET_MENTION:"MSG-GetMention",MSG_REGISTER:"MSG-Register",MSG_SEND:"MSG-ST",MSG_SEND_MASS:"MSG-ST-MASS",MSG_SEND_MERGE:"MSG-ST-MERGE",MSG_SEND_FILE:"MSG-ST-FILE",MSG_RECEIVE:"MSG-ST-RECEIVE",MSG_UPDATE:"MSG-UPDATE",CONV_SYNC:"CONV-Sync",CONV_DELETE:"CONV-Delete",CONV_CLEAR_UNREAD:"CONV-ClearUnread",CONV_CLEAR_TOTAL:"CONV-ClearTotal",CONV_MUTE:"CONV-Mute",CONV_TOP:"CONV-Top"},CHATROOM_ATTR_OP_TYPE={NONE:0,ADD:1,DEL:2},EVENT={STATE_CHANGED:"state_changed",MESSAGE_RECEIVED:"message_received",MESSAGE_RECALLED:"message_recalled",MESSAGE_UPDATED:"message_updated",MESSAGE_READ:"message_read",MESSAGE_REMOVED:"message_removed",MESSAGE_CLEAN:"message_clean",MESSAGE_CLEAN_SOMEONE:"message_clean_someone",CONVERSATION_SYNC_FINISHED:"conversation_sync_finished",CONVERSATION_UNDISTURBED:"conversation_undisturb",CONVERSATION_TOP:"conversation_top",CONVERSATION_CLEARUNREAD:"conversation_clearunead",CLEAR_TOTAL_UNREADCOUNT:"conversation_total_unreadcount",CONVERSATION_CHANGED:"conversation_changed",CONVERSATION_ADDED:"conversation_added",CONVERSATION_REMOVED:"conversation_removed",CHATROOM_ATTRIBUTE_UPDATED:"chatroom_attr_updated",CHATROOM_ATTRIBUTE_DELETED:"chatroom_attr_deleted"},CONNECT_STATE={CONNECTED:0,CONNECTING:1,DISCONNECTED:2,CONNECT_FAILED:3,DB_OPENED:4,DB_CLOSED:5,RECONNECTING:6},CONVERATION_TYPE={PRIVATE:1,GROUP:2,CHATROOM:3,SYSTEM:4},MESSAGE_ORDER={// 获取新的历史消息
30
30
  FORWARD:1,// 获取旧的历史消息
31
- BACKWARD:0},CONVERSATION_ORDER={FORWARD:0,BACKWARD:1},MENTION_ORDER={FORWARD:1,BACKWARD:0},UPLOAD_TYPE={NONE:0,QINIU:1,ALI:4},UNDISTURB_TYPE={DISTURB:1,UNDISTURB:0},ErrorMessages=[{code:0,msg:"\u94FE\u63A5\u6210\u529F",name:"CONNECT_SUCCESS"},{code:11e3,msg:"\u9ED8\u8BA4\u9519\u8BEF",name:"CONNECT_ERROR"},{code:11001,msg:"\u672A\u4F20 Appkey",name:"CONNECT_APPKEY_IS_REQUIRE"},{code:11002,msg:"\u672A\u4F20 Token",name:"CONNECT_TOKEN_NOT_EXISTS"},{code:11003,msg:"Appkey \u4E0D\u5B58\u5728",name:"CONNECT_APPKEY_NOT_EXISTS"},{code:11004,msg:"Token \u4E0D\u5408\u6CD5",name:"CONNECT_TOKEN_ILLEGAL"},{code:11005,msg:"Token \u672A\u6388\u6743",name:"CONNECT_TOKEN_UNAUTHORIZED"},{code:11006,msg:"Token \u5DF2\u8FC7\u671F",name:"CONNECT_TOKEN_EXPIRE"},{code:11007,msg:"\u9700\u8981\u91CD\u5B9A\u5411",name:"CONNECT_REDIRECT"},{code:11008,msg:"\u4E0D\u652F\u6301\u7684\u5E73\u53F0\u7C7B\u578B",name:"CONNECT_UNSUPPORT_PLATFORM"},{code:11009,msg:"App\u5DF2\u5C01\u7981",name:"CONNECT_APP_BLOCKED"},{code:11010,msg:"\u7528\u6237\u5DF2\u5C01\u7981",name:"CONNECT_USER_BLOCKED"},{code:11011,msg:"\u88AB\u8E22\u4E0B\u7EBF",name:"CONNECT_USER_KICKED"},{code:11012,msg:"\u6CE8\u9500\u4E0B\u7EBF",name:"CONNECT_USER_LOGOUT"},{code:14001,msg:"\u672A\u52A0\u5165\u804A\u5929\u5BA4",name:"CHATROOM_NOT_JOIN"},{code:14002,msg:"\u804A\u5929\u5BA4\u5C5E\u6027\u4E2A\u6570\u8D85\u9650\u5236",name:"CHATROOM_ATTR_EXCEED_LIMIT"},{code:14003,msg:"\u804A\u5929\u5BA4\u5C5E\u6027\u5DF2\u5B58\u5728\uFF0C\u5982\u9700\u8986\u76D6\u8BBE\u7F6E\u8BF7\u8BBE\u7F6E isForce \u4E3A true",name:"CHATROOM_ATTR_EXISTS"},{code:14005,msg:"\u804A\u5929\u5BA4\u4E0D\u5B58\u5728",name:"CHATROOM_NOT_EXISTS"},{code:11100,msg:"\u5165\u53C2pb\u89E3\u6790\u5931\u8D25",name:"PB_ERROR"},{code:13001,msg:"\u7FA4\u7EC4\u4E0D\u5B58\u5728",name:"GROUP_NOT_EXISTS"},{code:25e3,msg:"\u53C2\u6570\u7F3A\u5931\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u53C2\u6570",name:"ILLEGAL_PARAMS"},{code:25001,msg:"\u8FDE\u63A5\u5DF2\u5B58\u5728",name:"CONNECTION_EXISTS"},{code:25002,msg:"\u8FDE\u63A5\u4E0D\u5B58\u5728",name:"CONNECTION_NOT_READY"},{code:25003,msg:"\u53C2\u6570\u7C7B\u578B\u4E0D\u6B63\u786E",name:"ILLEGAL_TYPE_PARAMS"},{code:25004,msg:"\u53D1\u9001\u8D85\u65F6\uFF0C\u8FDE\u63A5\u5F02\u5E38",name:"COMMAND_FAILED"},{code:25005,msg:"\u4E0A\u4F20\u6587\u4EF6\u7EC4\u4EF6\u4E3A\u7A7A",name:"UPLOAD_PLUGIN_ERROR"},{code:25006,msg:"\u4E0A\u4F20\u6587\u4EF6\u7EC4\u4EF6\u4E0E OSS \u5B58\u50A8\u4E0D\u4E00\u81F4",name:"UPLOAD_PLUGIN_NOTMATCH"},{code:25007,msg:"\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",name:"UPLOADING_FILE_ERROR"},{code:25008,msg:"\u5355\u6B21\u5408\u5E76\u8F6C\u53D1\u6D88\u606F\u6761\u6570\u4E0A\u9650\u4E3A 20 \u6761",name:"TRANSFER_MESSAGE_COUNT_EXCEED"},{code:25009,msg:"\u672A\u5EFA\u7ACB\u672C\u5730\u6570\u636E\u5E93\u8FDE\u63A5\uFF0C\u8BF7\u4F18\u5148\u8C03\u7528\u8FDE\u63A5\u65B9\u6CD5",name:"DATABASE_NOT_OPENED"},{code:25010,msg:"\u65B9\u6CD5\u672A\u5B9E\u73B0\uFF0C\u8BF7\u786E\u5B9A SDK \u7248\u672C",name:"SDK_FUNC_NOT_DEFINED"},{code:25011,msg:"\u5F15\u7528\u6D88\u606F\u5FC5\u987B\u4F20\u5165\u5B8C\u6210\u7684 Message \u5BF9\u8C61",name:"SEND_REFER_MESSAGE_ERROR"},{code:25012,msg:"IM \u670D\u52A1\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5F53\u524D\u8BBE\u5907\u7F51\u7EDC\u662F\u5426\u53EF\u7528",name:"IM_SERVER_CONNECT_ERROR"},{code:25013,msg:"\u53C2\u6570\u4E0D\u53EF\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u53C2\u6570",name:"ILLEGAL_PARAMS_EMPTY"},{code:21200,msg:"\u6D88\u606F\u64A4\u56DE\u6210\u529F",name:"MESSAGE_RECALL_SUCCESS"},{code:0,msg:"\u5185\u90E8\u4E1A\u52A1\u8C03\u7528\u6210\u529F",name:"COMMAND_SUCCESS"}];// 以下是对外暴露枚举
31
+ BACKWARD:0},CONVERSATION_ORDER={FORWARD:0,BACKWARD:1},MENTION_ORDER={FORWARD:1,BACKWARD:0},UPLOAD_TYPE={NONE:0,QINIU:1,ALI:4},UNDISTURB_TYPE={DISTURB:1,UNDISTURB:0},ErrorMessages=[{code:0,msg:"\u94FE\u63A5\u6210\u529F",name:"CONNECT_SUCCESS"},{code:11e3,msg:"\u9ED8\u8BA4\u9519\u8BEF",name:"CONNECT_ERROR"},{code:11001,msg:"\u672A\u4F20 Appkey",name:"CONNECT_APPKEY_IS_REQUIRE"},{code:11002,msg:"\u672A\u4F20 Token",name:"CONNECT_TOKEN_NOT_EXISTS"},{code:11003,msg:"Appkey \u4E0D\u5B58\u5728",name:"CONNECT_APPKEY_NOT_EXISTS"},{code:11004,msg:"Token \u4E0D\u5408\u6CD5",name:"CONNECT_TOKEN_ILLEGAL"},{code:11005,msg:"Token \u672A\u6388\u6743",name:"CONNECT_TOKEN_UNAUTHORIZED"},{code:11006,msg:"Token \u5DF2\u8FC7\u671F",name:"CONNECT_TOKEN_EXPIRE"},{code:11007,msg:"\u9700\u8981\u91CD\u5B9A\u5411",name:"CONNECT_REDIRECT"},{code:11008,msg:"\u4E0D\u652F\u6301\u7684\u5E73\u53F0\u7C7B\u578B",name:"CONNECT_UNSUPPORT_PLATFORM"},{code:11009,msg:"App\u5DF2\u5C01\u7981",name:"CONNECT_APP_BLOCKED"},{code:11010,msg:"\u7528\u6237\u5DF2\u5C01\u7981",name:"CONNECT_USER_BLOCKED"},{code:11011,msg:"\u88AB\u8E22\u4E0B\u7EBF",name:"CONNECT_USER_KICKED"},{code:11012,msg:"\u6CE8\u9500\u4E0B\u7EBF",name:"CONNECT_USER_LOGOUT"},{code:14001,msg:"\u672A\u52A0\u5165\u804A\u5929\u5BA4",name:"CHATROOM_NOT_JOIN"},{code:14002,msg:"\u804A\u5929\u5BA4\u5C5E\u6027\u4E2A\u6570\u8D85\u9650\u5236",name:"CHATROOM_ATTR_EXCEED_LIMIT"},{code:14003,msg:"\u804A\u5929\u5BA4\u5C5E\u6027\u5DF2\u5B58\u5728\uFF0C\u5982\u9700\u8986\u76D6\u8BBE\u7F6E\u8BF7\u8BBE\u7F6E isForce \u4E3A true",name:"CHATROOM_ATTR_EXISTS"},{code:14005,msg:"\u804A\u5929\u5BA4\u4E0D\u5B58\u5728",name:"CHATROOM_NOT_EXISTS"},{code:11100,msg:"\u5165\u53C2pb\u89E3\u6790\u5931\u8D25",name:"PB_ERROR"},{code:13001,msg:"\u7FA4\u7EC4\u4E0D\u5B58\u5728",name:"GROUP_NOT_EXISTS"},{code:25e3,msg:"\u53C2\u6570\u7F3A\u5931\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u53C2\u6570",name:"ILLEGAL_PARAMS"},{code:25001,msg:"\u8FDE\u63A5\u5DF2\u5B58\u5728",name:"CONNECTION_EXISTS"},{code:25002,msg:"\u8FDE\u63A5\u4E0D\u5B58\u5728",name:"CONNECTION_NOT_READY"},{code:25003,msg:"\u53C2\u6570\u7C7B\u578B\u4E0D\u6B63\u786E",name:"ILLEGAL_TYPE_PARAMS"},{code:25004,msg:"\u53D1\u9001\u8D85\u65F6\uFF0C\u8FDE\u63A5\u5F02\u5E38",name:"COMMAND_FAILED"},{code:25005,msg:"\u4E0A\u4F20\u6587\u4EF6\u7EC4\u4EF6\u4E3A\u7A7A",name:"UPLOAD_PLUGIN_ERROR"},{code:25006,msg:"\u4E0A\u4F20\u6587\u4EF6\u7EC4\u4EF6\u4E0E OSS \u5B58\u50A8\u4E0D\u4E00\u81F4",name:"UPLOAD_PLUGIN_NOTMATCH"},{code:25007,msg:"\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",name:"UPLOADING_FILE_ERROR"},{code:25008,msg:"\u5355\u6B21\u5408\u5E76\u8F6C\u53D1\u6D88\u606F\u6761\u6570\u4E0A\u9650\u4E3A 20 \u6761",name:"TRANSFER_MESSAGE_COUNT_EXCEED"},{code:25009,msg:"\u672A\u5EFA\u7ACB\u672C\u5730\u6570\u636E\u5E93\u8FDE\u63A5\uFF0C\u8BF7\u4F18\u5148\u8C03\u7528\u8FDE\u63A5\u65B9\u6CD5",name:"DATABASE_NOT_OPENED"},{code:25010,msg:"Web SDK \u65B9\u6CD5\u672A\u5B9E\u73B0\uFF0C\u8BF7\u786E\u5B9A\u4F7F\u7528 PC SDK \u8C03\u7528",name:"SDK_FUNC_NOT_DEFINED"},{code:25011,msg:"\u5F15\u7528\u6D88\u606F\u5FC5\u987B\u4F20\u5165\u5B8C\u6210\u7684 Message \u5BF9\u8C61",name:"SEND_REFER_MESSAGE_ERROR"},{code:25012,msg:"IM \u670D\u52A1\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5F53\u524D\u8BBE\u5907\u7F51\u7EDC\u662F\u5426\u53EF\u7528",name:"IM_SERVER_CONNECT_ERROR"},{code:25013,msg:"\u53C2\u6570\u4E0D\u53EF\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u53C2\u6570",name:"ILLEGAL_PARAMS_EMPTY"},{code:21200,msg:"\u6D88\u606F\u64A4\u56DE\u6210\u529F",name:"MESSAGE_RECALL_SUCCESS"},{code:0,msg:"\u5185\u90E8\u4E1A\u52A1\u8C03\u7528\u6210\u529F",name:"COMMAND_SUCCESS"}];// 以下是对外暴露枚举
32
32
  function getErrorType(){let e={};return utils.forEach(ErrorMessages,t=>{let{name:n,code:s,msg:o}=t;e[n]={code:s,msg:o}}),e}let ErrorType=getErrorType(),MESSAGE_TYPE={TEXT:"jg:text",IMAGE:"jg:img",VOICE:"jg:voice",VIDEO:"jg:video",FILE:"jg:file",MERGE:"jg:merge",RECALL:"jg:recall",RECALL_INFO:"jg:recallinfo",READ_MSG:"jg:readntf",READ_GROUP_MSG:"jg:grpreadntf",MODIFY:"jg:modify",CLEAR_MSG:"jg:cleanmsg",CLEAR_UNREAD:"jg:clearunread",COMMAND_DELETE_MSGS:"jg:delmsgs",COMMAND_UNDISTURB:"jg:undisturb",COMMAND_TOPCONVERS:"jg:topconvers",COMMAND_REMOVE_CONVERS:"jg:delconvers",COMMAND_ADD_CONVER:"jg:addconver",COMMAND_CLEAR_TOTALUNREAD:"jg:cleartotalunread",COMMAND_MARK_UNREAD:"jg:markunread",// CLIENT_* 约定为客户端定义适用
33
- CLIENT_REMOVE_MSGS:"jgc:removemsgs",CLIENT_REMOVE_CONVERS:"jgc:removeconvers",CLIENT_RECALL_MSG:"jgc:recallmsg",CLIENT_MARK_UNREAD:"jgc:markunread"},MENTION_TYPE={ALL:1,SOMEONE:2,ALL_SOMEONE:3},FILE_TYPE={IMAGE:1,AUDIO:2,VIDEO:3,FILE:4},MESSAGE_SENT_STATE={NONE:0,SENDING:1,SUCCESS:2,FAILED:3,UPLOADING:4},DISCONNECT_TYPE={DISCONNECT:1,CLOSE:2,ERROR:3,SERVER:4},UNREAD_TAG={READ:0,UNREAD:1};var ENUM=/*#__PURE__*/Object.freeze({__proto__:null,STORAGE:STORAGE,HEART_TIMEOUT:HEART_TIMEOUT,SYNC_MESSAGE_TIME:SYNC_MESSAGE_TIME,CONNECT_ACK_INDEX:CONNECT_ACK_INDEX,PONG_INDEX:PONG_INDEX,SIGNAL_NAME:SIGNAL_NAME,PLATFORM:PLATFORM,SIGNAL_CMD:SIGNAL_CMD,QOS:QOS,FUNC_PARAM_CHECKER:FUNC_PARAM_CHECKER,COMMAND_TOPICS:COMMAND_TOPICS,NOTIFY_TYPE:NOTIFY_TYPE,CONNECT_TOOL:CONNECT_TOOL,LOG_LEVEL:LOG_LEVEL,LOG_MODULE:LOG_MODULE,CHATROOM_ATTR_OP_TYPE:CHATROOM_ATTR_OP_TYPE,EVENT:EVENT,CONNECT_STATE:CONNECT_STATE,CONVERATION_TYPE:CONVERATION_TYPE,MESSAGE_ORDER:MESSAGE_ORDER,CONVERSATION_ORDER:CONVERSATION_ORDER,MENTION_ORDER:MENTION_ORDER,UPLOAD_TYPE:UPLOAD_TYPE,UNDISTURB_TYPE:UNDISTURB_TYPE,ErrorMessages:ErrorMessages,ErrorType:ErrorType,MESSAGE_TYPE:MESSAGE_TYPE,MENTION_TYPE:MENTION_TYPE,FILE_TYPE:FILE_TYPE,MESSAGE_SENT_STATE:MESSAGE_SENT_STATE,DISCONNECT_TYPE:DISCONNECT_TYPE,UNREAD_TAG:UNREAD_TAG});function Cache(){let e={},t=(t,n)=>{e[t]=n},n=t=>e[t]||{},s=t=>{delete e[t]},o=()=>{e={}};return{set:t,get:n,remove:s,clear:o}}let storageCacher=Cache(),_storage_private_prefix_="",getKey=e=>`${STORAGE.PREFIX}_${_storage_private_prefix_}_${e}`,set=(e,t)=>{let n=getKey(e),s={data:t};storageCacher.set(n,s),localStorage.setItem(n,utils.toJSON(s))},get=e=>{let t=getKey(e),n=storageCacher.get(t),s=n.data;if(!utils.isUndefined(s))return s;let o=localStorage.getItem(t);o=utils.parse(o)||{data:{}},storageCacher.set(t,o);let i=o.data;return i},remove=e=>{let t=getKey(e);storageCacher.remove(e),localStorage.removeItem(t)},setPrefix=e=>{_storage_private_prefix_=e};// 动态设置 storage key 前缀,例如 _appkey_userid_
33
+ CLIENT_REMOVE_MSGS:"jgc:removemsgs",CLIENT_REMOVE_CONVERS:"jgc:removeconvers",CLIENT_RECALL_MSG:"jgc:recallmsg",CLIENT_MARK_UNREAD:"jgc:markunread"},MENTION_TYPE={ALL:1,SOMEONE:2,ALL_SOMEONE:3},FILE_TYPE={IMAGE:1,AUDIO:2,VIDEO:3,FILE:4},MESSAGE_SENT_STATE={NONE:0,SENDING:1,SUCCESS:2,FAILED:3,UPLOADING:4},DISCONNECT_TYPE={DISCONNECT:1,CLOSE:2,ERROR:3,SERVER:4},UNREAD_TAG={READ:0,UNREAD:1},SET_SEARCH_CONTENT_TYPE={APPEND:1,REPLACE:2};var ENUM=/*#__PURE__*/Object.freeze({__proto__:null,STORAGE:STORAGE,HEART_TIMEOUT:HEART_TIMEOUT,SYNC_MESSAGE_TIME:SYNC_MESSAGE_TIME,CONNECT_ACK_INDEX:CONNECT_ACK_INDEX,PONG_INDEX:PONG_INDEX,SIGNAL_NAME:SIGNAL_NAME,PLATFORM:PLATFORM,SIGNAL_CMD:SIGNAL_CMD,QOS:QOS,FUNC_PARAM_CHECKER:FUNC_PARAM_CHECKER,COMMAND_TOPICS:COMMAND_TOPICS,NOTIFY_TYPE:NOTIFY_TYPE,CONNECT_TOOL:CONNECT_TOOL,LOG_LEVEL:LOG_LEVEL,LOG_MODULE:LOG_MODULE,CHATROOM_ATTR_OP_TYPE:CHATROOM_ATTR_OP_TYPE,EVENT:EVENT,CONNECT_STATE:CONNECT_STATE,CONVERATION_TYPE:CONVERATION_TYPE,MESSAGE_ORDER:MESSAGE_ORDER,CONVERSATION_ORDER:CONVERSATION_ORDER,MENTION_ORDER:MENTION_ORDER,UPLOAD_TYPE:UPLOAD_TYPE,UNDISTURB_TYPE:UNDISTURB_TYPE,ErrorMessages:ErrorMessages,ErrorType:ErrorType,MESSAGE_TYPE:MESSAGE_TYPE,MENTION_TYPE:MENTION_TYPE,FILE_TYPE:FILE_TYPE,MESSAGE_SENT_STATE:MESSAGE_SENT_STATE,DISCONNECT_TYPE:DISCONNECT_TYPE,UNREAD_TAG:UNREAD_TAG,SET_SEARCH_CONTENT_TYPE:SET_SEARCH_CONTENT_TYPE});function Cache(){let e={},t=(t,n)=>{e[t]=n},n=t=>e[t]||{},s=t=>{delete e[t]},o=()=>{e={}};return{set:t,get:n,remove:s,clear:o}}let storageCacher=Cache(),_storage_private_prefix_="",getKey=e=>`${STORAGE.PREFIX}_${_storage_private_prefix_}_${e}`,set=(e,t)=>{let n=getKey(e),s={data:t};storageCacher.set(n,s),localStorage.setItem(n,utils.toJSON(s))},get=e=>{let t=getKey(e),n=storageCacher.get(t),s=n.data;if(!utils.isUndefined(s))return s;let o=localStorage.getItem(t);o=utils.parse(o)||{data:{}},storageCacher.set(t,o);let i=o.data;return i},remove=e=>{let t=getKey(e);storageCacher.remove(e),localStorage.removeItem(t)},setPrefix=e=>{_storage_private_prefix_=e};// 动态设置 storage key 前缀,例如 _appkey_userid_
34
34
  var Storage={get,set,remove,setPrefix};/*!
35
35
  * protobuf.js v7.2.6 (c) 2016, daniel wirtz
36
36
  * compiled tue, 16 jan 2024 22:54:38 utc
@@ -41,7 +41,7 @@ var Storage={get,set,remove,setPrefix};/*!
41
41
  更新版本需要修改:
42
42
  1、对外暴露方式,i.util.global.protobuf 直接修改为了 JProtobuf
43
43
  2、eval 替换成 new Function
44
- */let JProtobuf={};!function(C){var e=Math.min,a=Math.pow,d=Math.floor,p=String.fromCharCode;!function(s,o,e){var n=function i(e){var t=o[e];return t||s[e][0].call(t=o[e]={exports:{}},i,t,t.exports),t.exports}(e[0]);JProtobuf=n,"function"==typeof define&&define.amd&&define(["long"],function(e){return e&&e.isLong&&(n.util.Long=e,n.configure()),n}),"object"==typeof module&&module&&module.exports&&(module.exports=n)}({1:[function(e,t,s){t.exports=function(e,t){for(var i=Array(arguments.length-1),n=0,a=2,d=!0;a<arguments.length;)i[n++]=arguments[a++];return new Promise(function(s,o){i[n]=function(e){if(d)if(d=!1,e)o(e);else{for(var t=Array(arguments.length-1),i=0;i<t.length;)t[i++]=arguments[i];s.apply(null,t)}};try{e.apply(t||null,i)}catch(e){d&&(d=!1,o(e))}})}},{}],2:[function(e,t,s){s.length=function(e){var t=e.length;if(!t)return 0;for(var s=0;1<--t%4&&"="==(e[0|t]||"");)++s;return Math.ceil(3*e.length)/4-s};for(var d=Array(64),o=Array(123),n=0;64>n;)o[d[n]=26>n?n+65:52>n?n+71:62>n?n-4:43|n-59]=n++;s.encode=function(a,t,c){for(var n=null,l=[],s=0,m=0,E,y;t<c;)y=a[t++],0===m?(l[s++]=d[y>>2],E=(3&y)<<4,m=1):1===m?(l[s++]=d[E|y>>4],E=(15&y)<<2,m=2):2===m?(l[s++]=d[E|y>>6],l[s++]=d[63&y],m=0):void 0,8191<s&&((n=n||[]).push(p.apply(String,l)),s=0);return m&&(l[s++]=d[E],l[s++]=61,1===m&&(l[s++]=61)),n?(s&&n.push(p.apply(String,l.slice(0,s))),n.join("")):p.apply(String,l.slice(0,s))};var i="invalid encoding";s.decode=function(a,t,i){for(var d=i,e=0,p=0,c,l;p<a.length&&(l=a.charCodeAt(p++),!(61==l&&1<e));){if((l=o[l])===C)throw Error("invalid encoding");0===e?(c=l,e=1):1===e?(t[i++]=c<<2|(48&l)>>4,c=l,e=2):2===e?(t[i++]=(15&c)<<4|(60&l)>>2,c=l,e=3):3===e?(t[i++]=(3&c)<<6|l,e=0):void 0}if(1===e)throw Error("invalid encoding");return i-d},s.test=function(e){return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},{}],3:[function(e,t,s){function o(e,s){function p(l){if("string"!=typeof l){var m=c();if(o.verbose&&void 0,m="return "+m,l){for(var E=Object.keys(l),n=Array(E.length+1),r=Array(E.length),e=0;e<E.length;)n[e]=E[e],r[e]=l[E[e++]];return n[e]=m,Function.apply(null,n).apply(null,r)}return Function(m)()}for(var y=Array(arguments.length-1),g=0;g<y.length;)y[g]=arguments[++g];if(g=0,l=l.replace(/%([%dfijs])/g,function(e,t){var s=y[g++];return"d"===t||"f"===t?""+ +(""+s):"i"===t?""+d(s):"j"===t?JSON.stringify(s):"s"===t?""+s:"%"}),g!==y.length)throw Error("parameter count mismatch");return a.push(l),p}function c(n){return"function "+(n||s||"")+"("+(e&&e.join(",")||"")+"){\n "+a.join("\n ")+"\n}"}"string"==typeof e&&(s=e,e=C);var a=[];return p.toString=c,p}(t.exports=o).verbose=!1},{}],4:[function(e,t,s){function n(){this.i={}}(t.exports=n).prototype.on=function(e,t,s){return(this.i[e]||(this.i[e]=[])).push({fn:t,ctx:s||this}),this},n.prototype.off=function(e,t){if(e===C)this.i={};else if(t===C)this.i[e]=[];else for(var s=this.i[e],n=0;n<s.length;)s[n].fn===t?s.splice(n,1):++n;return this},n.prototype.emit=function(e){var t=this.i[e];if(t){for(var s=[],n=1;n<arguments.length;)s.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,s)}return this}},{}],5:[function(e,t,i){function a(o,n,p){return n="function"==typeof n?(p=n,{}):n||{},p?!n.xhr&&s&&s.readFile?s.readFile(o,function(e,t){return e&&"undefined"!=typeof XMLHttpRequest?a.xhr(o,n,p):e?p(e):p(null,n.binary?t:t.toString("utf8"))}):a.xhr(o,n,p):d(a,this,o,n)}t.exports=a;var d=e(1),s=e(7)("fs");a.xhr=function(s,o,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4!==r.readyState)return C;if(0!==r.status&&200!==r.status)return n(Error("status "+r.status));if(o.binary){if(!(e=r.response))for(var e=[],s=0;s<r.responseText.length;++s)e.push(255&r.responseText.charCodeAt(s));return n(null,"undefined"==typeof Uint8Array?e:new Uint8Array(e))}return n(null,r.responseText)},o.binary&&("overrideMimeType"in r&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.responseType="arraybuffer"),r.open("GET",s),r.send()}},{1:1,7:7}],6:[function(e,t,s){function n(C){var S=Math.LN2,_=Math.log;function I(s,o,p,n){var r=Math.round,c=0>o?1:0;s(0===(o=c?-o:o)?0<1/o?0:2147483648:isNaN(o)?2143289344:34028234663852886e22<o?(2139095040|c<<31)>>>0:11754943508222875e-54>o?(c<<31|r(o/1401298464324817e-60))>>>0:(c<<31|127+(s=d(_(o)/S))<<23|8388607&r(8388608*(o*a(2,-s))))>>>0,p,n)}function t(e,s,o){return e=e(s,o),s=2*(e>>31)+1,o=255&e>>>23,e&=8388607,255==o?e?NaN:1/0*s:0==o?1401298464324817e-60*s*e:s*a(2,o-150)*(8388608+e)}function n(e,t,s){y[0]=e,t[s]=A[0],t[s+1]=A[1],t[s+2]=A[2],t[s+3]=A[3]}function i(e,t,s){y[0]=e,t[s]=A[3],t[s+1]=A[2],t[s+2]=A[1],t[s+3]=A[0]}function e(e,t){return A[0]=e[t],A[1]=e[t+1],A[2]=e[t+2],A[3]=e[t+3],y[0]}function s(e,t){return A[3]=e[t],A[2]=e[t+1],A[1]=e[t+2],A[0]=e[t+3],y[0]}function o(p,t,i,n,c,e){var s=0>n?1:0,l;0===(n=s?-n:n)?(p(0,c,e+t),p(0<1/n?0:2147483648,c,e+i)):isNaN(n)?(p(0,c,e+t),p(2146959360,c,e+i)):17976931348623157e292<n?(p(0,c,e+t),p((2146435072|s<<31)>>>0,c,e+i)):22250738585072014e-324>n?(p((l=n/5e-324)>>>0,c,e+t),p((s<<31|l/4294967296)>>>0,c,e+i)):(p(4503599627370496*(l=n*a(2,-(n=1024===(n=d(_(n)/S))?1023:n)))>>>0,c,e+t),p((s<<31|n+1023<<20|1048575&1048576*l)>>>0,c,e+i))}function r(s,o,d,p,c){return o=s(p,c+o),s=s(p,c+d),p=2*(s>>31)+1,c=2047&s>>>20,d=4294967296*(1048575&s)+o,2047==c?d?NaN:1/0*p:0==c?5e-324*p*d:p*a(2,c-1075)*(d+4503599627370496)}function l(e,t,s){R[0]=e,t[s]=v[0],t[s+1]=v[1],t[s+2]=v[2],t[s+3]=v[3],t[s+4]=v[4],t[s+5]=v[5],t[s+6]=v[6],t[s+7]=v[7]}function p(e,t,s){R[0]=e,t[s]=v[7],t[s+1]=v[6],t[s+2]=v[5],t[s+3]=v[4],t[s+4]=v[3],t[s+5]=v[2],t[s+6]=v[1],t[s+7]=v[0]}function O(e,t){return v[0]=e[t],v[1]=e[t+1],v[2]=e[t+2],v[3]=e[t+3],v[4]=e[t+4],v[5]=e[t+5],v[6]=e[t+6],v[7]=e[t+7],R[0]}function N(e,t){return v[7]=e[t],v[6]=e[t+1],v[5]=e[t+2],v[4]=e[t+3],v[3]=e[t+4],v[2]=e[t+5],v[1]=e[t+6],v[0]=e[t+7],R[0]}var y,A,R,v,M;return"undefined"==typeof Float32Array?(C.writeFloatLE=I.bind(null,E),C.writeFloatBE=I.bind(null,T),C.readFloatLE=t.bind(null,m),C.readFloatBE=t.bind(null,g)):(y=new Float32Array([-0]),A=new Uint8Array(y.buffer),M=128===A[3],C.writeFloatLE=M?n:i,C.writeFloatBE=M?i:n,C.readFloatLE=M?e:s,C.readFloatBE=M?s:e),"undefined"==typeof Float64Array?(C.writeDoubleLE=o.bind(null,E,0,4),C.writeDoubleBE=o.bind(null,T,4,0),C.readDoubleLE=r.bind(null,m,0,4),C.readDoubleBE=r.bind(null,g,4,0)):(R=new Float64Array([-0]),v=new Uint8Array(R.buffer),M=128===v[7],C.writeDoubleLE=M?l:p,C.writeDoubleBE=M?p:l,C.readDoubleLE=M?O:N,C.readDoubleBE=M?N:O),C}function E(e,t,s){t[s]=255&e,t[s+1]=255&e>>>8,t[s+2]=255&e>>>16,t[s+3]=e>>>24}function T(e,t,s){t[s]=e>>>24,t[s+1]=255&e>>>16,t[s+2]=255&e>>>8,t[s+3]=255&e}function m(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function g(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}t.exports=n(n)},{}],7:[function(e,t,s){function n(e){try{var t=new Function("require")(e);if(t&&(t.length||Object.keys(t).length))return t}catch(e){}return null}t.exports=n},{}],8:[function(s,t,o){var a=o.isAbsolute=function(e){return /^(?:\/|\w+:)/.test(e)},e=o.normalize=function(e){var s=(e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),o=a(e),e="";o&&(e=s.shift()+"/");for(var n=0;n<s.length;)".."===s[n]?0<n&&".."!==s[n-1]?s.splice(--n,2):o?s.splice(n,1):++n:"."===s[n]?s.splice(n,1):++n;return e+s.join("/")};o.resolve=function(s,o,r){return r||(o=e(o)),!a(o)&&(s=(s=r?s:e(s)).replace(/(?:\/|^)[^/]+$/,"")).length?e(s+"/"+o):o}},{}],9:[function(e,t,s){t.exports=function(a,i,n){var d=n||8192,r=d>>>1,e=null,p=d;return function(n){return 1>n||r<n?a(n):(d<p+n&&(e=a(d),p=0),n=i.call(e,p,p+=n),(7&p&&(p=1+(7|p)),n))}}},{}],10:[function(e,t,s){s.length=function(e){for(var t=0,s=0,o;s<e.length;++s)128>(o=e.charCodeAt(s))?t+=1:2048>o?t+=2:55296==(64512&o)&&56320==(64512&e.charCodeAt(s+1))?(++s,t+=4):t+=3;return t},s.read=function(a,t,d){if(1>d-t)return"";for(var n=null,c=[],s=0,l;t<d;)128>(l=a[t++])?c[s++]=l:191<l&&224>l?c[s++]=(31&l)<<6|63&a[t++]:239<l&&365>l?(l=((7&l)<<18|(63&a[t++])<<12|(63&a[t++])<<6|63&a[t++])-65536,c[s++]=55296+(l>>10),c[s++]=56320+(1023&l)):c[s++]=(15&l)<<12|(63&a[t++])<<6|63&a[t++],8191<s&&((n=n||[]).push(p.apply(String,c)),s=0);return n?(s&&n.push(p.apply(String,c.slice(0,s))),n.join("")):p.apply(String,c.slice(0,s))},s.write=function(a,t,i){for(var d=i,s=0,p,c;s<a.length;++s)128>(p=a.charCodeAt(s))?t[i++]=p:(2048>p?t[i++]=192|p>>6:(55296==(64512&p)&&56320==(64512&(c=a.charCodeAt(s+1)))?(++s,t[i++]=240|(p=65536+((1023&p)<<10)+(1023&c))>>18,t[i++]=128|63&p>>12):t[i++]=224|p>>12,t[i++]=128|63&p>>6),t[i++]=128|63&p);return i-d}},{}],11:[function(s,t,o){function n(s,o){e.test(s)||(s="google/protobuf/"+s+".proto",o={nested:{google:{nested:{protobuf:{nested:o}}}}}),n[s]=o}t.exports=n;var e=/\/|\./;n("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),n("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),n("timestamp",{Timestamp:t}),n("empty",{Empty:{fields:{}}}),n("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),n("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),n("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),n.get=function(e){return n[e]||null}},{}],12:[function(e,t,s){function a(a,t,i,n){var r=!1;if(!t.resolvedType){var d=!1;switch(t.type){case"double":case"float":a("m%s=Number(d%s)",n,n);break;case"uint32":case"fixed32":a("m%s=d%s>>>0",n,n);break;case"int32":case"sint32":case"sfixed32":a("m%s=d%s|0",n,n);break;case"uint64":d=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":a("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",n,n,d)("else if(typeof d%s===\"string\")",n)("m%s=parseInt(d%s,10)",n,n)("else if(typeof d%s===\"number\")",n)("m%s=d%s",n,n)("else if(typeof d%s===\"object\")",n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,d?"true":"");break;case"bytes":a("if(typeof d%s===\"string\")",n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length >= 0)",n)("m%s=d%s",n,n);break;case"string":a("m%s=String(d%s)",n,n);break;case"bool":a("m%s=Boolean(d%s)",n,n)}}else if(t.resolvedType instanceof c){a("switch(d%s){",n);for(var p=t.resolvedType.values,s=Object.keys(p),o=0;o<s.length;++o)p[s[o]]!==t.typeDefault||r||(a("default:")("if(typeof(d%s)===\"number\"){m%s=d%s;break}",n,n,n),t.repeated||a("break"),r=!0),a("case%j:",s[o])("case %i:",p[s[o]])("m%s=%j",n,p[s[o]])("break");a("}")}else a("if(typeof d%s!==\"object\")",n)("throw TypeError(%j)",t.fullName+": object expected")("m%s=types[%i].fromObject(d%s)",n,i,n);return a}function r(s,t,o,n){if(t.resolvedType)t.resolvedType instanceof c?s("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",n,o,n,n,o,n,n):s("d%s=types[%i].toObject(m%s,o)",n,o,n);else{var i=!1;switch(t.type){case"double":case"float":s("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,n,n,n);break;case"uint64":i=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":s("if(typeof m%s===\"number\")",n)("d%s=o.longs===String?String(m%s):m%s",n,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,n,n,n,i?"true":"",n);break;case"bytes":s("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,n,n,n,n);break;default:s("d%s=m%s",n,n)}}return s}var c=e(15),l=e(37);s.fromObject=function(o){var t=o.fieldsArray,i=l.codegen(["d"],o.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return i("return new this.ctor");i("var m=new this.ctor");for(var n=0;n<t.length;++n){var d=t[n].resolve(),p=l.safeProp(d.name);d.map?(i("if(d%s){",p)("if(typeof d%s!==\"object\")",p)("throw TypeError(%j)",d.fullName+": object expected")("m%s={}",p)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",p),a(i,d,n,p+"[ks[i]]")("}")("}")):d.repeated?(i("if(d%s){",p)("if(!Array.isArray(d%s))",p)("throw TypeError(%j)",d.fullName+": array expected")("m%s=[]",p)("for(var i=0;i<d%s.length;++i){",p),a(i,d,n,p+"[i]")("}")("}")):(d.resolvedType instanceof c||i("if(d%s!=null){",p),a(i,d,n,p),d.resolvedType instanceof c||i("}"))}return i("return m")},s.toObject=function(d){var t=d.fieldsArray.slice().sort(l.compareFieldsById);if(!t.length)return l.codegen()("return {}");for(var i=l.codegen(["m","o"],d.name+"$toObject")("if(!o)")("o={}")("var d={}"),n=[],m=[],e=[],s=0;s<t.length;++s)t[s].partOf||(t[s].resolve().repeated?n:t[s].map?m:e).push(t[s]);if(n.length){for(i("if(o.arrays||o.defaults){"),s=0;s<n.length;++s)i("d%s=[]",l.safeProp(n[s].name));i("}")}if(m.length){for(i("if(o.objects||o.defaults){"),s=0;s<m.length;++s)i("d%s={}",l.safeProp(m[s].name));i("}")}if(e.length){for(i("if(o.defaults){"),s=0;s<e.length;++s){var E=e[s],y=l.safeProp(E.name),g;E.resolvedType instanceof c?i("d%s=o.enums===String?%j:%j",y,E.resolvedType.valuesById[E.typeDefault],E.typeDefault):E.long?i("if(util.Long){")("var n=new util.Long(%i,%i,%j)",E.typeDefault.low,E.typeDefault.high,E.typeDefault.unsigned)("d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n",y)("}else")("d%s=o.longs===String?%j:%i",y,E.typeDefault.toString(),E.typeDefault.toNumber()):E.bytes?(g="["+Array.prototype.slice.call(E.typeDefault).join(",")+"]",i("if(o.bytes===String)d%s=%j",y,p.apply(String,E.typeDefault))("else{")("d%s=%s",y,g)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",y,y)("}")):i("d%s=%j",y,E.typeDefault)}i("}")}for(var T=!1,s=0;s<t.length;++s){var E=t[s],C=d.e.indexOf(E),y=l.safeProp(E.name);E.map?(T||(T=!0,i("var ks2")),i("if(m%s&&(ks2=Object.keys(m%s)).length){",y,y)("d%s={}",y)("for(var j=0;j<ks2.length;++j){"),r(i,E,C,y+"[ks2[j]]")("}")):E.repeated?(i("if(m%s&&m%s.length){",y,y)("d%s=[]",y)("for(var j=0;j<m%s.length;++j){",y),r(i,E,C,y+"[j]")("}")):(i("if(m%s!=null&&m.hasOwnProperty(%j)){",y,E.name),r(i,E,C,y),E.partOf&&i("if(o.oneofs)")("d%s=%j",l.safeProp(E.partOf.name),E.name)),i("}")}return i("return d")}},{15:15,37:37}],13:[function(e,t,s){t.exports=function(p){var t=d.codegen(["r","l"],p.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(p.fieldsArray.filter(function(e){return e.map}).length?",k,value":""))("while(r.pos<c){")("var t=r.uint32()");p.group&&t("if((t&7)===4)")("break"),t("switch(t>>>3){");for(var i=0;i<p.fieldsArray.length;++i){var c=p.e[i].resolve(),l=c.resolvedType instanceof o?"int32":c.type,m="m"+d.safeProp(c.name);t("case %i: {",c.id),c.map?(t("if(%s===util.emptyObject)",m)("%s={}",m)("var c2 = r.uint32()+r.pos"),a.defaults[c.keyType]===C?t("k=null"):t("k=%j",a.defaults[c.keyType]),a.defaults[l]===C?t("value=null"):t("value=%j",a.defaults[l]),t("while(r.pos<c2){")("var tag2=r.uint32()")("switch(tag2>>>3){")("case 1: k=r.%s(); break",c.keyType)("case 2:"),a.basic[l]===C?t("value=types[%i].decode(r,r.uint32())",i):t("value=r.%s()",l),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),a.long[c.keyType]===C?t("%s[k]=value",m):t("%s[typeof k===\"object\"?util.longToHash(k):k]=value",m)):c.repeated?(t("if(!(%s&&%s.length))",m,m)("%s=[]",m),a.packed[l]!==C&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos<c2)")("%s.push(r.%s())",m,l)("}else"),a.basic[l]===C?t(c.resolvedType.group?"%s.push(types[%i].decode(r))":"%s.push(types[%i].decode(r,r.uint32()))",m,i):t("%s.push(r.%s())",m,l)):a.basic[l]===C?t(c.resolvedType.group?"%s=types[%i].decode(r)":"%s=types[%i].decode(r,r.uint32())",m,i):t("%s=r.%s()",m,l),t("break")("}")}for(t("default:")("r.skipType(t&7)")("break")("}")("}"),i=0;i<p.e.length;++i){var u=p.e[i];u.required&&t("if(!m.hasOwnProperty(%j))",u.name)("throw util.ProtocolError(%j,{instance:m})","missing required '"+u.name+"'")}return t("return m")};var o=e(15),a=e(36),d=e(37)},{15:15,36:36,37:37}],14:[function(e,t,s){function d(e,t,s,n){t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",s,n,(3|t.id<<3)>>>0,(4|t.id<<3)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",s,n,(2|t.id<<3)>>>0)}t.exports=function(c){for(var t=a.codegen(["m","w"],c.name+"$encode")("if(!w)")("w=Writer.create()"),n=c.fieldsArray.slice().sort(a.compareFieldsById),r=0,m;r<n.length;++r){var E=n[r].resolve(),y=c.e.indexOf(E),g=E.resolvedType instanceof p?"int32":E.type,T=l.basic[g];m="m"+a.safeProp(E.name),E.map?(t("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",m,E.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",m)("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(2|E.id<<3)>>>0,8|l.mapKey[E.keyType],E.keyType),T===C?t("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",y,m):t(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|T,g,m),t("}")("}")):E.repeated?(t("if(%s!=null&&%s.length){",m,m),E.packed&&l.packed[g]!==C?t("w.uint32(%i).fork()",(2|E.id<<3)>>>0)("for(var i=0;i<%s.length;++i)",m)("w.%s(%s[i])",g,m)("w.ldelim()"):(t("for(var i=0;i<%s.length;++i)",m),T===C?d(t,E,y,m+"[i]"):t("w.uint32(%i).%s(%s[i])",(E.id<<3|T)>>>0,g,m)),t("}")):(E.optional&&t("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",m,E.name),T===C?d(t,E,y,m):t("w.uint32(%i).%s(%s)",(E.id<<3|T)>>>0,g,m))}return t("return w")};var p=e(15),l=e(36),a=e(37)},{15:15,36:36,37:37}],15:[function(o,t,i){function n(d,t,i,n,r,e){if(a.call(this,d,i),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=n,this.comments=r||{},this.valuesOptions=e,this.reserved=C,t)for(var s=Object.keys(t),o=0;o<s.length;++o)"number"==typeof t[s[o]]&&(this.valuesById[this.values[s[o]]=t[s[o]]]=s[o])}t.exports=n;var a=o(24),s=(((n.prototype=Object.create(a.prototype)).constructor=n).className="Enum",o(23)),d=o(37);n.fromJSON=function(e,s){return e=new n(e,s.values,s.options,s.comment,s.comments),e.reserved=s.reserved,e},n.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,d.toObject(["options",this.options,"valuesOptions",this.valuesOptions,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:C,"comment",e?this.comment:C,"comments",e?this.comments:C])},n.prototype.add=function(e,t,s,n){if(!d.isString(e))throw TypeError("name must be a string");if(!d.isInteger(t))throw TypeError("id must be an integer");if(this.values[e]!==C)throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(t))throw Error("id "+t+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(this.valuesById[t]!==C){if(!this.options||!this.options.allow_alias)throw Error("duplicate id "+t+" in "+this);this.values[e]=t}else this.valuesById[this.values[e]=t]=e;return n&&(this.valuesOptions===C&&(this.valuesOptions={}),this.valuesOptions[e]=n||null),this.comments[e]=s||null,this},n.prototype.remove=function(e){if(!d.isString(e))throw TypeError("name must be a string");var t=this.values[e];if(null==t)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[t],delete this.values[e],delete this.comments[e],this.valuesOptions&&delete this.valuesOptions[e],this},n.prototype.isReservedId=function(e){return s.isReservedId(this.reserved,e)},n.prototype.isReservedName=function(e){return s.isReservedName(this.reserved,e)}},{23:23,24:24,37:37}],16:[function(s,t,i){function d(a,t,i,n,d,u,E){if(l.isObject(n)?(E=d,u=n,n=d=C):l.isObject(d)&&(E=u,u=d,d=C),p.call(this,a,u),!l.isInteger(t)||0>t)throw TypeError("id must be a non-negative integer");if(!l.isString(i))throw TypeError("type must be a string");if(n!==C&&!m.test(n=n.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(d!==C&&!l.isString(d))throw TypeError("extend must be a string");this.rule=(n="proto3_optional"===n?"optional":n)&&"optional"!==n?n:C,this.type=i,this.id=t,this.extend=d||C,this.required="required"===n,this.optional=!this.required,this.repeated="repeated"===n,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!l.Long&&c.long[i]!==C,this.bytes="bytes"===i,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this.o=null,this.comment=E}t.exports=d;var p=s(24),n=(((d.prototype=Object.create(p.prototype)).constructor=d).className="Field",s(15)),c=s(36),l=s(37),m=/^required|optional|repeated$/,e;d.fromJSON=function(e,t){return new d(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(d.prototype,"packed",{get:function(){return null===this.o&&(this.o=!1!==this.getOption("packed")),this.o}}),d.prototype.setOption=function(e,t,s){return"packed"===e&&(this.o=null),p.prototype.setOption.call(this,e,t,s)},d.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,l.toObject(["rule","optional"!==this.rule&&this.rule||C,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:C])},d.prototype.resolve=function(){var s;return this.resolved?this:((this.typeDefault=c.defaults[this.type])===C?(this.resolvedType=(this.declaringField||this).parent.lookupTypeOrEnum(this.type),this.typeDefault=this.resolvedType instanceof e?null:this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof n&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(this.options.packed===C||!this.resolvedType||this.resolvedType instanceof n)||delete this.options.packed,Object.keys(this.options).length||(this.options=C)),this.long?(this.typeDefault=l.Long.fromNumber(this.typeDefault,"u"==(this.type[0]||"")),Object.freeze&&Object.freeze(this.typeDefault)):this.bytes&&"string"==typeof this.typeDefault&&(l.base64.test(this.typeDefault)?l.base64.decode(this.typeDefault,s=l.newBuffer(l.base64.length(this.typeDefault)),0):l.utf8.write(this.typeDefault,s=l.newBuffer(l.utf8.length(this.typeDefault)),0),this.typeDefault=s),this.defaultValue=this.map?l.emptyObject:this.repeated?l.emptyArray:this.typeDefault,this.parent instanceof e&&(this.parent.ctor.prototype[this.name]=this.defaultValue),p.prototype.resolve.call(this))},d.d=function(o,n,a,e){return"function"==typeof n?n=l.decorateType(n).name:n&&"object"==typeof n&&(n=l.decorateEnum(n).name),function(s,t){l.decorateType(s.constructor).add(new d(t,o,n,a,{default:e}))}},d.u=function(n){e=n}},{15:15,24:24,36:36,37:37}],17:[function(e,t,s){var o=t.exports=e(18);o.build="light",o.load=function(e,t,s){return(t="function"==typeof t?(s=t,new o.Root):t||new o.Root).load(e,s)},o.loadSync=function(e,t){return(t=t||new o.Root).loadSync(e)},o.encoder=e(14),o.decoder=e(13),o.verifier=e(40),o.converter=e(12),o.ReflectionObject=e(24),o.Namespace=e(23),o.Root=e(29),o.Enum=e(15),o.Type=e(35),o.Field=e(16),o.OneOf=e(25),o.MapField=e(20),o.Service=e(33),o.Method=e(22),o.Message=e(21),o.wrappers=e(41),o.types=e(36),o.util=e(37),o.ReflectionObject.u(o.Root),o.Namespace.u(o.Type,o.Service,o.Enum),o.Root.u(o.Type),o.Field.u(o.Type)},{12:12,13:13,14:14,15:15,16:16,18:18,20:20,21:21,22:22,23:23,24:24,25:25,29:29,33:33,35:35,36:36,37:37,40:40,41:41}],18:[function(s,t,o){function n(){e.util.u(),e.Writer.u(e.BufferWriter),e.Reader.u(e.BufferReader)}var e=o;e.build="minimal",e.Writer=s(42),e.BufferWriter=s(43),e.Reader=s(27),e.BufferReader=s(28),e.util=s(39),e.rpc=s(31),e.roots=s(30),e.configure=n,n()},{27:27,28:28,30:30,31:31,39:39,42:42,43:43}],19:[function(e,t,s){t=t.exports=e(17),t.build="full",t.tokenize=e(34),t.parse=e(26),t.common=e(11),t.Root.u(t.Type,t.parse,t.common)},{11:11,17:17,26:26,34:34}],20:[function(e,t,i){function a(a,t,i,n,r,e){if(d.call(this,a,t,n,C,C,r,e),!o.isString(i))throw TypeError("keyType must be a string");this.keyType=i,this.resolvedKeyType=null,this.map=!0}t.exports=a;var d=e(16),n=(((a.prototype=Object.create(d.prototype)).constructor=a).className="MapField",e(36)),o=e(37);a.fromJSON=function(e,t){return new a(e,t.id,t.keyType,t.type,t.options,t.comment)},a.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:C])},a.prototype.resolve=function(){if(this.resolved)return this;if(n.mapKey[this.keyType]===C)throw Error("invalid key type: "+this.keyType);return d.prototype.resolve.call(this)},a.d=function(s,n,r){return"function"==typeof r?r=o.decorateType(r).name:r&&"object"==typeof r&&(r=o.decorateEnum(r).name),function(e,t){o.decorateType(e.constructor).add(new a(t,s,n,r))}}},{16:16,36:36,37:37}],21:[function(s,t,o){function n(e){if(e)for(var t=Object.keys(e),s=0;s<t.length;++s)this[t[s]]=e[t[s]]}t.exports=n;var e=s(39);n.create=function(e){return this.$type.create(e)},n.encode=function(e,t){return this.$type.encode(e,t)},n.encodeDelimited=function(e,t){return this.$type.encodeDelimited(e,t)},n.decode=function(e){return this.$type.decode(e)},n.decodeDelimited=function(e){return this.$type.decodeDelimited(e)},n.verify=function(e){return this.$type.verify(e)},n.fromObject=function(e){return this.$type.fromObject(e)},n.toObject=function(e,t){return this.$type.toObject(e,t)},n.prototype.toJSON=function(){return this.$type.toObject(this,e.toJSONOptions)}},{39:39}],22:[function(e,t,s){function n(a,t,i,n,r,c,l,m,u){if(p.isObject(r)?(l=r,r=c=C):p.isObject(c)&&(l=c,c=C),t!==C&&!p.isString(t))throw TypeError("type must be a string");if(!p.isString(i))throw TypeError("requestType must be a string");if(!p.isString(n))throw TypeError("responseType must be a string");d.call(this,a,l),this.type=t||"rpc",this.requestType=i,this.requestStream=!!r||C,this.responseType=n,this.responseStream=!!c||C,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=m,this.parsedOptions=u}t.exports=n;var d=e(24),p=(((n.prototype=Object.create(d.prototype)).constructor=n).className="Method",e(37));n.fromJSON=function(e,t){return new n(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},n.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,p.toObject(["type","rpc"!==this.type&&this.type||C,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",e?this.comment:C,"parsedOptions",this.parsedOptions])},n.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),d.prototype.resolve.call(this))}},{24:24,37:37}],23:[function(d,t,i){function n(e,t){if(!e||!e.length)return C;for(var s={},n=0;n<e.length;++n)s[e[n].name]=e[n].toJSON(t);return s}function a(e,t){c.call(this,e,t),this.nested=C,this.f=null}function p(e){return e.f=null,e}t.exports=a;var c=d(24),l=(((a.prototype=Object.create(c.prototype)).constructor=a).className="Namespace",d(16)),m=d(37),u=d(25),E,y,g;a.fromJSON=function(e,t){return new a(e,t.options).addJSON(t.nested)},a.arrayToJSON=n,a.isReservedId=function(e,t){if(e)for(var s=0;s<e.length;++s)if("string"!=typeof e[s]&&e[s][0]<=t&&e[s][1]>t)return!0;return!1},a.isReservedName=function(e,t){if(e)for(var s=0;s<e.length;++s)if(e[s]===t)return!0;return!1},Object.defineProperty(a.prototype,"nestedArray",{get:function(){return this.f||(this.f=m.toArray(this.nested))}}),a.prototype.toJSON=function(e){return m.toObject(["options",this.options,"nested",n(this.nestedArray,e)])},a.prototype.addJSON=function(e){if(e)for(var t=Object.keys(e),n=0,s;n<t.length;++n)s=e[t[n]],this.add((s.fields===C?s.values===C?s.methods===C?s.id===C?a:l:y:g:E).fromJSON(t[n],s));return this},a.prototype.get=function(e){return this.nested&&this.nested[e]||null},a.prototype.getEnum=function(e){if(this.nested&&this.nested[e]instanceof g)return this.nested[e].values;throw Error("no such enum: "+e)},a.prototype.add=function(e){if(!(e instanceof l&&e.extend!==C||e instanceof E||e instanceof u||e instanceof g||e instanceof y||e instanceof a))throw TypeError("object must be a valid nested object");if(this.nested){var t=this.get(e.name);if(t){if(!(t instanceof a&&e instanceof a)||t instanceof E||t instanceof y)throw Error("duplicate name '"+e.name+"' in "+this);for(var s=t.nestedArray,n=0;n<s.length;++n)e.add(s[n]);this.remove(t),this.nested||(this.nested={}),e.setOptions(t.options,!0)}}else this.nested={};return(this.nested[e.name]=e).onAdd(this),p(this)},a.prototype.remove=function(e){if(!(e instanceof c))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);return delete this.nested[e.name],Object.keys(this.nested).length||(this.nested=C),e.onRemove(this),p(this)},a.prototype.define=function(e,s){if(m.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&""===e[0])throw Error("path must be relative");for(var o=this,i;0<e.length;)if(i=e.shift(),!(o.nested&&o.nested[i]))o.add(o=new a(i));else if(!((o=o.nested[i])instanceof a))throw Error("path conflicts with non-namespace objects");return s&&o.addJSON(s),o},a.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t<e.length;)e[t]instanceof a?e[t++].resolveAll():e[t++].resolve();return this.resolve()},a.prototype.lookup=function(s,o,d){if("boolean"==typeof o?(d=o,o=C):o&&!Array.isArray(o)&&(o=[o]),m.isString(s)&&s.length){if("."===s)return this.root;s=s.split(".")}else if(!s.length)return this;if(""===s[0])return this.root.lookup(s.slice(1),o);var p=this.get(s[0]);if(!p){for(var c=0;c<this.nestedArray.length;++c)if(this.f[c]instanceof a&&(p=this.f[c].lookup(s,o,!0)))return p;}else if(1===s.length){if(!o||~o.indexOf(p.constructor))return p;}else if(p instanceof a&&(p=p.lookup(s.slice(1),o,!0)))return p;return null===this.parent||d?null:this.parent.lookup(s,o)},a.prototype.lookupType=function(e){var t=this.lookup(e,[E]);if(t)return t;throw Error("no such type: "+e)},a.prototype.lookupEnum=function(e){var t=this.lookup(e,[g]);if(t)return t;throw Error("no such Enum '"+e+"' in "+this)},a.prototype.lookupTypeOrEnum=function(e){var t=this.lookup(e,[E,g]);if(t)return t;throw Error("no such Type or Enum '"+e+"' in "+this)},a.prototype.lookupService=function(e){var t=this.lookup(e,[y]);if(t)return t;throw Error("no such Service '"+e+"' in "+this)},a.u=function(e,t,s){E=e,y=t,g=s}},{16:16,24:24,25:25,37:37}],24:[function(s,t,i){function n(e,t){if(!a.isString(e))throw TypeError("name must be a string");if(t&&!a.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}(t.exports=n).className="ReflectionObject";var a=s(37),e;Object.defineProperties(n.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),n.prototype.toJSON=function(){throw Error()},n.prototype.onAdd=function(n){this.parent&&this.parent!==n&&this.parent.remove(this),this.parent=n,this.resolved=!1,n=n.root,n instanceof e&&n.h(this)},n.prototype.onRemove=function(n){n=n.root,n instanceof e&&n.a(this),this.parent=null,this.resolved=!1},n.prototype.resolve=function(){return this.resolved||this.root instanceof e&&(this.resolved=!0),this},n.prototype.getOption=function(e){return this.options?this.options[e]:C},n.prototype.setOption=function(e,t,s){return s&&this.options&&this.options[e]!==C||((this.options||(this.options={}))[e]=t),this},n.prototype.setParsedOption=function(o,i,t){this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions,s,d;return t?(s=n.find(function(e){return Object.prototype.hasOwnProperty.call(e,o)}))?(d=s[o],a.setProperty(d,t,i)):((s={})[o]=a.setProperty({},t,i),n.push(s)):((d={})[o]=i,n.push(d)),this},n.prototype.setOptions=function(e,t){if(e)for(var s=Object.keys(e),n=0;n<s.length;++n)this.setOption(s[n],e[s[n]],t);return this},n.prototype.toString=function(){var e=this.constructor.className,t=this.fullName;return t.length?e+" "+t:e},n.u=function(n){e=n}},{37:37}],25:[function(a,t,i){function d(e,t,s,o){if(Array.isArray(t)||(s=t,t=C),p.call(this,e,s),t!==C&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=o}function o(e){if(e.parent)for(var t=0;t<e.fieldsArray.length;++t)e.fieldsArray[t].parent||e.parent.add(e.fieldsArray[t])}t.exports=d;var p=a(24),e=(((d.prototype=Object.create(p.prototype)).constructor=d).className="OneOf",a(16)),r=a(37);d.fromJSON=function(e,t){return new d(e,t.oneof,t.options,t.comment)},d.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,r.toObject(["options",this.options,"oneof",this.oneof,"comment",e?this.comment:C])},d.prototype.add=function(n){if(n instanceof e)return n.parent&&n.parent!==this.parent&&n.parent.remove(n),this.oneof.push(n.name),this.fieldsArray.push(n),o(n.partOf=this),this;throw TypeError("field must be a Field")},d.prototype.remove=function(n){if(!(n instanceof e))throw TypeError("field must be a Field");var t=this.fieldsArray.indexOf(n);if(0>t)throw Error(n+" is not a member of "+this);return this.fieldsArray.splice(t,1),-1<(t=this.oneof.indexOf(n.name))&&this.oneof.splice(t,1),n.partOf=null,this},d.prototype.onAdd=function(e){p.prototype.onAdd.call(this,e);for(var t=0,s;t<this.oneof.length;++t)s=e.get(this.oneof[t]),s&&!s.partOf&&(s.partOf=this).fieldsArray.push(s);o(this)},d.prototype.onRemove=function(e){for(var t=0,s;t<this.fieldsArray.length;++t)(s=this.fieldsArray[t]).parent&&s.parent.remove(s);p.prototype.onRemove.call(this,e)},d.d=function(){for(var e=Array(arguments.length),n=0;n<arguments.length;)e[n]=arguments[n++];return function(n,t){r.decorateType(n.constructor).add(new d(t,e)),Object.defineProperty(n,t,{get:r.oneOfGetter(e),set:r.oneOfSetter(e)})}}},{16:16,24:24,37:37}],26:[function(e,t,s){function ee(U,t,L){function G(e,t,s){var n=ee.filename;return s||(ee.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(n?n+", ":"")+"line "+Y.line+")")}function q(){var e=[],n;do if("\""!==(n=Q())&&"'"!==n)throw G(n);while((e.push(Q()),$(n),"\""===(n=J())||"'"===n));return e.join("")}function k(s){var o=Q();switch(o){case"'":case"\"":return K(o),q();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{var n=o,a=!0,r=1;switch("-"==(n[0]||"")&&(r=-1,n=n.substring(1)),n){case"inf":case"INF":case"Inf":return r*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(i.test(n))return r*parseInt(n,10);if(l.test(n))return r*parseInt(n,16);if(T.test(n))return r*parseInt(n,8);if(S.test(n))return r*parseFloat(n);throw G(n,"number",!0)}catch(e){if(s&&D.test(o))return o;throw G(o,"value")}}function O(e,t){for(var s;t&&("\""===(s=J())||"'"===s)?e.push(q()):e.push([s=P(Q()),$("to",!0)?P(Q()):s]),$(",",!0););$(";")}function P(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(t||"-"!=(e[0]||"")){if(r.test(e))return parseInt(e,10);if(u.test(e))return parseInt(e,16);if(f.test(e))return parseInt(e,8)}throw G(e,"id")}function A(o,t){switch(t){case"option":return V(o,t),$(";"),1;case"message":return B(o),1;case"enum":return j(o),1;case"service":var i=o,a=t,d;if(R.test(a=Q()))return x(d=new m(a),function(a){if(!A(d,a)){if("rpc"!==a)throw G(a);var p=d,i=v(),n=a;if(!R.test(a=Q()))throw G(a,"name");var r=a,c,l,m;if($("("),$("stream",!0)&&(l=!0),!D.test(a=Q()))throw G(a);if(c=a,$(")"),$("returns"),$("("),$("stream",!0)&&(m=!0),!D.test(a=Q()))throw G(a);a=a,$(")");var u=new E(r,n,c,a,l,m);u.comment=i,x(u,function(e){if("option"!==e)throw G(e);V(u,e),$(";")}),p.add(u)}}),i.add(d),1;throw G(a,"service name");case"extend":var p=o,i=t,s;if(D.test(i=Q()))return s=i,x(null,function(e){switch(e){case"required":case"repeated":F(p,e,s);break;case"optional":F(p,z?"proto3_optional":"optional",s);break;default:if(!z||!D.test(e))throw G(e);K(e),F(p,"optional",s)}}),1;throw G(i,"reference")}}function x(s,t,o){var n=Y.line,e;if(s&&("string"!=typeof s.comment&&(s.comment=v()),s.filename=ee.filename),$("{",!0)){for(;"}"!==(e=Q());)t(e);$(";",!0)}else o&&o(),$(";"),s&&("string"!=typeof s.comment||M)&&(s.comment=v(n)||s.comment)}function B(e,t){if(!R.test(t=Q()))throw G(t,"type name");var a=new n(t);x(a,function(d){if(!A(a,d))switch(d){case"map":var t=a,i=($("<"),Q());if(y.mapKey[i]===C)throw G(i,"type");$(",");var l=Q();if(!D.test(l))throw G(l,"type");$(">");var r=Q();if(!R.test(r))throw G(r,"name");$("=");var m=new p(X(r),P(Q()),i,l);x(m,function(e){if("option"!==e)throw G(e);V(m,e),$(";")},function(){_(m)}),t.add(m);break;case"required":case"repeated":F(a,d);break;case"optional":F(a,z?"proto3_optional":"optional");break;case"oneof":if(r=a,i=d,!R.test(i=Q()))throw G(i,"name");var s=new c(X(i));x(s,function(e){"option"===e?(V(s,e),$(";")):(K(e),F(s,"optional"))}),r.add(s);break;case"extensions":O(a.extensions||(a.extensions=[]));break;case"reserved":O(a.reserved||(a.reserved=[]),!0);break;default:if(!z||!D.test(d))throw G(d);K(d),F(a,"optional")}}),e.add(a)}function F(p,t,i){var l=Q();if("group"===l){var m=p,o=t,E=Q(),T,S;if(R.test(E))return S=g.lcFirst(E),E===S&&(E=g.ucFirst(E)),$("="),I=P(Q()),(T=new n(E)).group=!0,(S=new d(S,I,E,o)).filename=ee.filename,x(T,function(e){switch(e){case"option":V(T,e),$(";");break;case"required":case"repeated":F(T,e);break;case"optional":F(T,z?"proto3_optional":"optional");break;case"message":B(T);break;case"enum":j(T);break;default:throw G(e)}}),void m.add(T).add(S);throw G(E,"name")}for(;l.endsWith(".")||J().startsWith(".");)l+=Q();if(!D.test(l))throw G(l,"type");var I=Q();if(!R.test(I))throw G(I,"name");I=X(I),$("=");var O=new d(I,P(Q()),l,t,i);x(O,function(e){if("option"!==e)throw G(e);V(O,e),$(";")},function(){_(O)}),"proto3_optional"===t?(o=new c("_"+I),O.setOption("proto3_optional",!0),o.add(O),p.add(o)):p.add(O),z||!O.repeated||y.packed[l]===C&&y.basic[l]!==C||O.setOption("packed",!1,!0)}function j(e,t){if(!R.test(t=Q()))throw G(t,"name");var a=new o(t);x(a,function(s){switch(s){case"option":V(a,s),$(";");break;case"reserved":O(a.reserved||(a.reserved=[]),!0);break;default:var t=a,o=s;if(!R.test(o))throw G(o,"name");$("=");var n=P(Q(),!0),i={options:C,setOption:function(e,t){this.options===C&&(this.options={}),this.options[e]=t}};return x(i,function(e){if("option"!==e)throw G(e);V(i,e),$(";")},function(){_(i)}),void t.add(o,n,i.comment,i.options)}}),e.add(a)}function V(o,t){var a=$("(",!0);if(!D.test(t=Q()))throw G(t,"name");var d=t,p=d,a=(a&&($(")"),p=d="("+d+")",t=J(),N.test(t)&&(c=t.slice(1),d+=t,Q())),$("="),function n(a,i){if($("{",!0)){for(var t={};!$("}",!0);){if(!R.test(oe=Q()))throw G(oe,"name");if(null===oe)throw G(oe,"end of input");var r=oe,d,p;if($(":",!0),"{"===J())d=n(a,i+"."+oe);else if("["!==J())d=k(!0),H(a,i+"."+oe,d);else if(d=[],$("[",!0)){for(;p=k(!0),d.push(p),$(",",!0););$("]"),void 0!==p&&H(a,i+"."+oe,p)}var c=t[r];c&&(d=[].concat(c).concat(d)),t[r]=d,$(",",!0),$(";",!0)}return t}var l=k(!0);return H(a,i,l),l}(o,d)),c;t=p,d=a,p=c,(a=o).setParsedOption&&a.setParsedOption(t,d,p)}function H(e,t,s){e.setOption&&e.setOption(t,s)}function _(e){if($("[",!0)){for(;V(e,"option"),$(",",!0););$("]")}}t instanceof I||(L=t,t=new I);for(var M=(L=L||ee.defaults).preferTrailingComment||!1,Y=a(U,L.alternateCommentMode||!1),Q=Y.next,K=Y.push,J=Y.peek,$=Y.skip,v=Y.cmnt,b=!0,z=!1,W=t,X=L.keepCase?function(e){return e}:g.camelCase,Z,te,ne,se,oe,ie,re;null!==(oe=Q());)switch(oe){case"package":if(!b)throw G(oe);if(Z!==C)throw G("package");if(Z=Q(),!D.test(Z))throw G(Z,"name");W=W.define(Z),$(";");break;case"import":if(!b)throw G(oe);switch(re=ie=void 0,J()){case"weak":re=ne=ne||[],Q();break;case"public":Q();default:re=te=te||[]}ie=q(),$(";"),re.push(ie);break;case"syntax":if(!b)throw G(oe);if($("="),se=q(),!(z="proto3"===se)&&"proto2"!==se)throw G(se,"syntax");$(";");break;case"option":V(W,oe),$(";");break;default:if(A(W,oe)){b=!1;continue}throw G(oe)}return ee.filename=null,{package:Z,imports:te,weakImports:ne,syntax:se,root:t}}(t.exports=ee).filename=null,ee.defaults={keepCase:!1};var a=e(34),I=e(29),n=e(35),d=e(16),p=e(20),c=e(25),o=e(15),m=e(33),E=e(22),y=e(36),g=e(37),i=/^[1-9][0-9]*$/,r=/^-?[1-9][0-9]*$/,l=/^0[x][0-9a-fA-F]+$/,u=/^-?0[x][0-9a-fA-F]+$/,T=/^0[0-7]+$/,f=/^-?0[0-7]+$/,S=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,R=/^[a-zA-Z_][a-zA-Z_0-9]*$/,D=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,N=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/},{15:15,16:16,20:20,22:22,25:25,29:29,33:33,34:34,35:35,36:36,37:37}],27:[function(m,t,i){function E(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function n(e){this.buf=e,this.pos=0,this.len=e.length}function u(){return p.Buffer?function(e){return(n.create=function(e){return p.Buffer.isBuffer(e)?new c(e):o(e)})(e)}:o}function y(){var n=new e(0,0),t=0;if(!(4<this.len-this.pos)){for(;3>t;++t){if(this.pos>=this.len)throw E(this);if(n.lo=(n.lo|(127&this.buf[this.pos])<<7*t)>>>0,128>this.buf[this.pos++])return n}return n.lo=(n.lo|(127&this.buf[this.pos++])<<7*t)>>>0,n}for(;4>t;++t)if(n.lo=(n.lo|(127&this.buf[this.pos])<<7*t)>>>0,128>this.buf[this.pos++])return n;if(n.lo=(n.lo|(127&this.buf[this.pos])<<28)>>>0,n.hi=(n.hi|(127&this.buf[this.pos])>>4)>>>0,128>this.buf[this.pos++])return n;if(t=0,4<this.len-this.pos){for(;5>t;++t)if(n.hi=(n.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,128>this.buf[this.pos++])return n;}else for(;5>t;++t){if(this.pos>=this.len)throw E(this);if(n.hi=(n.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,128>this.buf[this.pos++])return n}throw Error("invalid varint encoding")}function l(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function d(){if(this.pos+8>this.len)throw E(this,8);return new e(l(this.buf,this.pos+=4),l(this.buf,this.pos+=4))}t.exports=n;var p=m(39),e=p.LongBits,s=p.utf8,o="undefined"==typeof Uint8Array?function(e){if(Array.isArray(e))return new n(e);throw Error("illegal buffer")}:function(e){if(e instanceof Uint8Array||Array.isArray(e))return new n(e);throw Error("illegal buffer")},c,g;n.create=u(),n.prototype.c=p.Array.prototype.subarray||p.Array.prototype.slice,n.prototype.uint32=(g=4294967295,function(){if(g=(127&this.buf[this.pos])>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<7)>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<14)>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<21)>>>0,128>this.buf[this.pos++]||(g=(g|(15&this.buf[this.pos])<<28)>>>0,128>this.buf[this.pos++]||!((this.pos+=5)>this.len))))))return g;throw this.pos=this.len,E(this,10)}),n.prototype.int32=function(){return 0|this.uint32()},n.prototype.sint32=function(){var e=this.uint32();return 0|e>>>1^-(1&e)},n.prototype.bool=function(){return 0!==this.uint32()},n.prototype.fixed32=function(){if(this.pos+4>this.len)throw E(this,4);return l(this.buf,this.pos+=4)},n.prototype.sfixed32=function(){if(this.pos+4>this.len)throw E(this,4);return 0|l(this.buf,this.pos+=4)},n.prototype.float=function(){if(this.pos+4>this.len)throw E(this,4);var e=p.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},n.prototype.double=function(){if(this.pos+8>this.len)throw E(this,4);var e=p.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},n.prototype.bytes=function(){var e=this.uint32(),s=this.pos,o=this.pos+e;if(o>this.len)throw E(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(s,o):s===o?(e=p.Buffer)?e.alloc(0):new this.buf.constructor(0):this.c.call(this.buf,s,o)},n.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},n.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw E(this,e);this.pos+=e}else do if(this.pos>=this.len)throw E(this);while(128&this.buf[this.pos++]);return this},n.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},n.u=function(e){c=e,n.create=u(),c.u();var t=p.Long?"toLong":"toNumber";p.merge(n.prototype,{int64:function(){return y.call(this)[t](!1)},uint64:function(){return y.call(this)[t](!0)},sint64:function(){return y.call(this).zzDecode()[t](!1)},fixed64:function(){return d.call(this)[t](!0)},sfixed64:function(){return d.call(this)[t](!1)}})}},{39:39}],28:[function(o,t,i){function n(e){s.call(this,e)}t.exports=n;var s=o(27),r=((n.prototype=Object.create(s.prototype)).constructor=n,o(39));n.u=function(){r.Buffer&&(n.prototype.c=r.Buffer.prototype.slice)},n.prototype.string=function(){var n=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=e(this.pos+n,this.len)):this.buf.toString("utf-8",this.pos,this.pos=e(this.pos+n,this.len))},n.u()},{27:27,39:39}],29:[function(c,t,i){function n(e){a.call(this,"",e),this.deferred=[],this.files=[]}function m(){}function l(s,t){var o=t.parent.lookup(t.extend),i;if(o)return i=new e(t.fullName,t.id,t.type,t.rule,C,t.options),o.get(i.name)||((i.declaringField=t).extensionField=i,o.add(i)),1}t.exports=n;var a=c(23),e=(((n.prototype=Object.create(a.prototype)).constructor=n).className="Root",c(16)),s=c(15),o=c(25),E=c(37),u,y,g;n.fromJSON=function(e,t){return t=t||new n,e.options&&t.setOptions(e.options),t.addJSON(e.nested)},n.prototype.resolvePath=E.path.resolve,n.prototype.fetch=E.fetch,n.prototype.load=function S(d,p,T){function _(e,t){if(T){if(o)throw e;var s=T;T=null,s(e,t)}}function f(e){var n=e.lastIndexOf("google/protobuf/");return-1<n&&(e=e.substring(n),e in g)?e:null}function I(s,t){try{if(E.isString(t)&&"{"==(t[0]||"")&&(t=JSON.parse(t)),E.isString(t)){y.filename=s;var d=y(t,c,p),r=0,l;if(d.imports)for(;r<d.imports.length;++r)(l=f(d.imports[r])||c.resolvePath(s,d.imports[r]))&&a(l);if(d.weakImports)for(r=0;r<d.weakImports.length;++r)(l=f(d.weakImports[r])||c.resolvePath(s,d.weakImports[r]))&&a(l,!0)}else c.setOptions(t.options).addJSON(t.nested)}catch(e){_(e)}o||u||_(null,c)}function a(e,s){if(e=f(e)||e,!~c.files.indexOf(e))if(c.files.push(e),e in g)o?I(e,g[e]):(++u,setTimeout(function(){--u,I(e,g[e])}));else if(o){var i;try{i=E.fs.readFileSync(e).toString("utf8")}catch(e){return void(s||_(e))}I(e,i)}else++u,c.fetch(e,function(n,t){--u,T&&(n?s?u||_(null,c):_(n):I(e,t))})}"function"==typeof p&&(T=p,p=C);var c=this;if(!T)return E.asPromise(S,c,d,p);var o=T===m,u=0;E.isString(d)&&(d=[d]);for(var t=0,O;t<d.length;++t)(O=c.resolvePath("",d[t]))&&a(O);return o?c:(u||_(null,c),C)},n.prototype.loadSync=function(e,t){if(E.isNode)return this.load(e,t,m);throw Error("not supported")},n.prototype.resolveAll=function(){if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map(function(e){return"'extend "+e.extend+"' in "+e.parent.fullName}).join(", "));return a.prototype.resolveAll.call(this)};var T=/^[A-Z]/;n.prototype.h=function(r){if(r instanceof e)r.extend===C||r.extensionField||l(0,r)||this.deferred.push(r);else if(r instanceof s)T.test(r.name)&&(r.parent[r.name]=r.values);else if(!(r instanceof o)){if(r instanceof u)for(var t=0;t<this.deferred.length;)l(0,this.deferred[t])?this.deferred.splice(t,1):++t;for(var a=0;a<r.nestedArray.length;++a)this.h(r.f[a]);T.test(r.name)&&(r.parent[r.name]=r)}},n.prototype.a=function(o){var t;if(o instanceof e)o.extend!==C&&(o.extensionField?(o.extensionField.parent.remove(o.extensionField),o.extensionField=null):-1<(t=this.deferred.indexOf(o))&&this.deferred.splice(t,1));else if(o instanceof s)T.test(o.name)&&delete o.parent[o.name];else if(o instanceof a){for(var r=0;r<o.nestedArray.length;++r)this.a(o.f[r]);T.test(o.name)&&delete o.parent[o.name]}},n.u=function(e,t,s){u=e,y=t,g=s}},{15:15,16:16,23:23,25:25,37:37}],30:[function(e,t,s){t.exports={}},{}],31:[function(e,t,s){s.Service=e(32)},{32:32}],32:[function(e,t,s){function n(e,t,s){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");a.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=!!t,this.responseDelimited=!!s}t.exports=n;var a=e(39);((n.prototype=Object.create(a.EventEmitter.prototype)).constructor=n).prototype.rpcCall=function s(d,n,p,i,e){if(!i)throw TypeError("request must be specified");var r=this;if(!e)return a.asPromise(s,r,d,n,p,i);if(!r.rpcImpl)return setTimeout(function(){e(Error("already ended"))},0),C;try{return r.rpcImpl(d,n[r.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(n,t){if(n)return r.emit("error",n,d),e(n);if(null===t)return r.end(!0),C;if(!(t instanceof p))try{t=p[r.responseDelimited?"decodeDelimited":"decode"](t)}catch(n){return r.emit("error",n,d),e(n)}return r.emit("data",t,d),e(null,t)})}catch(n){return r.emit("error",n,d),setTimeout(function(){e(n)},0),C}},n.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{39:39}],33:[function(a,t,i){function d(n,t){e.call(this,n,t),this.methods={},this.l=null}function n(e){return e.l=null,e}t.exports=d;var e=a(23),o=(((d.prototype=Object.create(e.prototype)).constructor=d).className="Service",a(22)),p=a(37),c=a(31);d.fromJSON=function(s,t){var i=new d(s,t.options);if(t.methods)for(var n=Object.keys(t.methods),r=0;r<n.length;++r)i.add(o.fromJSON(n[r],t.methods[n[r]]));return t.nested&&i.addJSON(t.nested),i.comment=t.comment,i},d.prototype.toJSON=function(s){var t=e.prototype.toJSON.call(this,s),o=!!s&&!!s.keepComments;return p.toObject(["options",t&&t.options||C,"methods",e.arrayToJSON(this.methodsArray,s)||{},"nested",t&&t.nested||C,"comment",o?this.comment:C])},Object.defineProperty(d.prototype,"methodsArray",{get:function(){return this.l||(this.l=p.toArray(this.methods))}}),d.prototype.get=function(n){return this.methods[n]||e.prototype.get.call(this,n)},d.prototype.resolveAll=function(){for(var n=this.methodsArray,t=0;t<n.length;++t)n[t].resolve();return e.prototype.resolve.call(this)},d.prototype.add=function(s){if(this.get(s.name))throw Error("duplicate name '"+s.name+"' in "+this);return s instanceof o?n((this.methods[s.name]=s).parent=this):e.prototype.add.call(this,s)},d.prototype.remove=function(s){if(s instanceof o){if(this.methods[s.name]!==s)throw Error(s+" is not a member of "+this);return delete this.methods[s.name],s.parent=null,n(this)}return e.prototype.remove.call(this,s)},d.prototype.create=function(a,t,i){for(var n=new c.Service(a,t,i),e=0,d,l;e<this.methodsArray.length;++e)l=p.lcFirst((d=this.l[e]).resolve().name).replace(/[^$\w_]/g,""),n[l]=p.codegen(["r","c"],p.isReserved(l)?l+"_":l)("return this.rpcCall(m,q,s,r,c)")({m:d,q:d.resolvedRequestType.ctor,s:d.resolvedResponseType.ctor});return n}},{22:22,23:23,31:31,37:37}],34:[function(o,t,i){function n(e){return e.replace(E,function(e,t){return"\\"===t||""===t?t:r[t]||""})}function a(E,T){function a(e){return Error("illegal "+e+" (line "+O+")")}function y(e){return E[0|e]||""}function t(a,d,i){var p={type:E[0|a++]||"",lineEmpty:!1,leading:i},i=T?2:3,e=a-i,y;do if(0>--e||"\n"==(y=E[0|e]||"")){p.lineEmpty=!0;break}while(" "===y||"\t"===y);for(var g=E.substring(a,d).split(m),o=0;o<g.length;++o)g[o]=g[o].replace(T?l:c,"").trim();p.text=g.join("\n").trim(),A[O]=p,N=O}function i(e){var n=g(e),e=E.substring(e,n);return /^\s*\/\//.test(e)}function g(e){for(var t=e;t<I&&"\n"!==y(t);)t++;return t}function o(){if(0<R.length)return R.shift();if(v){var c="'"===v?d:s,l=(c.lastIndex=_-1,c.exec(E));if(l)return _=c.lastIndex,r(v),v=null,n(l[1]);throw a("string")}var d=0===_,m,C,S,N,A;do{if(_===I)return null;for(m=!1;u.test(S=y(_));)if("\n"===S&&(d=!0,++O),++_===I)return null;if("/"===y(_)){if(++_===I)throw a("comment");if("/"!==y(_)){if("*"!==(S=y(_)))return"/";N=_+1,A=T||"*"===y(N);do if("\n"===S&&++O,++_===I)throw a("comment");while((C=S,S=y(_),"*"!==C||"/"!==S));++_,A&&(t(N,_-2,d),d=!0)}else if(T){if(A=!1,i((N=_)-1))for(A=!0;(_=g(_))!==I&&(_++,d&&i(_)););else _=e(I,g(_)+1);A&&(t(N,_,d),d=!0),O++}else{for(A="/"===y(N=_+1);"\n"!==y(++_);)if(_===I)return null;++_,A&&(t(N,_-1,d),d=!0),++O}m=!0}}while(m);var h=_;if(p.lastIndex=0,!p.test(y(h++)))for(;h<I&&!p.test(y(h));)++h;return c=E.substring(_,_=h),"\""!=c&&"'"!=c||(v=c),c}function r(e){R.push(e)}function S(){if(!R.length){var e=o();if(null===e)return null;r(e)}return R[0]}E=E.toString();var _=0,I=E.length,O=1,N=0,A={},R=[],v=null;return Object.defineProperty({next:o,peek:S,push:r,skip:function(e,t){var s=S();if(s===e)return o(),!0;if(t)return!1;throw a("token '"+s+"', '"+e+"' expected")},cmnt:function(e){var t=null,s;return e===C?(s=A[O-1],delete A[O-1],s&&(T||"*"===s.type||s.lineEmpty)&&(t=s.leading?s.text:null)):(N<e&&S(),s=A[e],delete A[e],!s||s.lineEmpty||!T&&"/"!==s.type||(t=s.leading?null:s.text)),t}},"line",{get:function(){return O}})}t.exports=a;var p=/[\s{}=;:[\],'"()<>]/g,s=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,d=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,c=/^ *[*/]+ */,l=/^\s*\*?\/*/,m=/\n/g,u=/\s/,E=/\\(.?)/g,r={0:"\0",r:"\r",n:"\n",t:"\t"};a.unescape=n},{}],35:[function(E,t,i){function g(e,t){m.call(this,e,t),this.fields={},this.oneofs=C,this.extensions=C,this.reserved=C,this.group=C,this.p=null,this.e=null,this.v=null,this.b=null}function n(e){return e.p=e.e=e.v=null,delete e.encode,delete e.decode,delete e.verify,e}t.exports=g;var m=E(23),o=(((g.prototype=Object.create(m.prototype)).constructor=g).className="Type",E(15)),u=E(25),T=E(16),f=E(20),a=E(33),r=E(21),e=E(27),s=E(42),c=E(37),d=E(14),p=E(13),l=E(40),S=E(12),y=E(41);Object.defineProperties(g.prototype,{fieldsById:{get:function(){if(!this.p){this.p={};for(var e=Object.keys(this.fields),t=0;t<e.length;++t){var s=this.fields[e[t]],o=s.id;if(this.p[o])throw Error("duplicate id "+o+" in "+this);this.p[o]=s}}return this.p}},fieldsArray:{get:function(){return this.e||(this.e=c.toArray(this.fields))}},oneofsArray:{get:function(){return this.v||(this.v=c.toArray(this.oneofs))}},ctor:{get:function(){return this.b||(this.ctor=g.generateConstructor(this)())},set:function(e){for(var t=e.prototype,s=(t instanceof r||((e.prototype=new r).constructor=e,c.merge(e.prototype,t)),e.$type=e.prototype.$type=this,c.merge(e,r,!0),this.b=e,0);s<this.fieldsArray.length;++s)this.e[s].resolve();for(var o={},s=0;s<this.oneofsArray.length;++s)o[this.v[s].resolve().name]={get:c.oneOfGetter(this.v[s].oneof),set:c.oneOfSetter(this.v[s].oneof)};s&&Object.defineProperties(e.prototype,o)}}}),g.generateConstructor=function(e){for(var t=c.codegen(["p"],e.name),n=0,s;n<e.fieldsArray.length;++n)(s=e.e[n]).map?t("this%s={}",c.safeProp(s.name)):s.repeated&&t("this%s=[]",c.safeProp(s.name));return t("if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)")("this[ks[i]]=p[ks[i]]")},g.fromJSON=function(d,t){for(var i=new g(d,t.options),n=(i.extensions=t.extensions,i.reserved=t.reserved,Object.keys(t.fields)),p=0;p<n.length;++p)i.add((void 0===t.fields[n[p]].keyType?T:f).fromJSON(n[p],t.fields[n[p]]));if(t.oneofs)for(n=Object.keys(t.oneofs),p=0;p<n.length;++p)i.add(u.fromJSON(n[p],t.oneofs[n[p]]));if(t.nested)for(n=Object.keys(t.nested),p=0;p<n.length;++p){var c=t.nested[n[p]];i.add((c.id===C?c.fields===C?c.values===C?c.methods===C?m:a:o:g:T).fromJSON(n[p],c))}return t.extensions&&t.extensions.length&&(i.extensions=t.extensions),t.reserved&&t.reserved.length&&(i.reserved=t.reserved),t.group&&(i.group=!0),t.comment&&(i.comment=t.comment),i},g.prototype.toJSON=function(e){var t=m.prototype.toJSON.call(this,e),s=!!e&&!!e.keepComments;return c.toObject(["options",t&&t.options||C,"oneofs",m.arrayToJSON(this.oneofsArray,e),"fields",m.arrayToJSON(this.fieldsArray.filter(function(e){return!e.declaringField}),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:C,"reserved",this.reserved&&this.reserved.length?this.reserved:C,"group",this.group||C,"nested",t&&t.nested||C,"comment",s?this.comment:C])},g.prototype.resolveAll=function(){for(var e=this.fieldsArray,t=0;t<e.length;)e[t++].resolve();for(var s=this.oneofsArray,t=0;t<s.length;)s[t++].resolve();return m.prototype.resolveAll.call(this)},g.prototype.get=function(e){return this.fields[e]||this.oneofs&&this.oneofs[e]||this.nested&&this.nested[e]||null},g.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof T&&e.extend===C){if((this.p||this.fieldsById)[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name))throw Error("name '"+e.name+"' is reserved in "+this);return e.parent&&e.parent.remove(e),(this.fields[e.name]=e).message=this,e.onAdd(this),n(this)}return e instanceof u?(this.oneofs||(this.oneofs={}),(this.oneofs[e.name]=e).onAdd(this),n(this)):m.prototype.add.call(this,e)},g.prototype.remove=function(e){if(e instanceof T&&e.extend===C){if(this.fields&&this.fields[e.name]===e)return delete this.fields[e.name],e.parent=null,e.onRemove(this),n(this);throw Error(e+" is not a member of "+this)}if(e instanceof u){if(this.oneofs&&this.oneofs[e.name]===e)return delete this.oneofs[e.name],e.parent=null,e.onRemove(this),n(this);throw Error(e+" is not a member of "+this)}return m.prototype.remove.call(this,e)},g.prototype.isReservedId=function(e){return m.isReservedId(this.reserved,e)},g.prototype.isReservedName=function(e){return m.isReservedName(this.reserved,e)},g.prototype.create=function(e){return new this.ctor(e)},g.prototype.setup=function(){for(var o=this.fullName,a=[],i=0;i<this.fieldsArray.length;++i)a.push(this.e[i].resolve().resolvedType);this.encode=d(this)({Writer:s,types:a,util:c}),this.decode=p(this)({Reader:e,types:a,util:c}),this.verify=l(this)({types:a,util:c}),this.fromObject=S.fromObject(this)({types:a,util:c}),this.toObject=S.toObject(this)({types:a,util:c});var o=y[o],m;return o&&((m=Object.create(this)).fromObject=this.fromObject,this.fromObject=o.fromObject.bind(m),m.toObject=this.toObject,this.toObject=o.toObject.bind(m)),this},g.prototype.encode=function(e,t){return this.setup().encode(e,t)},g.prototype.encodeDelimited=function(e,t){return this.encode(e,t&&t.len?t.fork():t).ldelim()},g.prototype.decode=function(e,t){return this.setup().decode(e,t)},g.prototype.decodeDelimited=function(n){return n instanceof e||(n=e.create(n)),this.decode(n,n.uint32())},g.prototype.verify=function(e){return this.setup().verify(e)},g.prototype.fromObject=function(e){return this.setup().fromObject(e)},g.prototype.toObject=function(e,t){return this.setup().toObject(e,t)},g.d=function(e){return function(n){c.decorateType(n,e)}}},{12:12,13:13,14:14,15:15,16:16,20:20,21:21,23:23,25:25,27:27,33:33,37:37,40:40,41:41,42:42}],36:[function(s,o,i){function n(e,t){var s=0,o={};for(t|=0;s<e.length;)o[a[s+t]]=e[s++];return o}var s=s(37),a=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];i.basic=n([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]),i.defaults=n([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",s.emptyArray,null]),i.long=n([0,0,0,1,1],7),i.mapKey=n([0,0,0,5,5,0,0,0,1,1,0,2],2),i.packed=n([1,5,0,0,0,5,5,0,0,0,1,1,0])},{37:37}],37:[function(d,n,t){var p=n.exports=d(39),s=d(30),o=(p.codegen=d(3),p.fetch=d(5),p.path=d(8),p.fs=p.inquire("fs"),p.toArray=function(e){if(e){for(var t=Object.keys(e),s=Array(t.length),n=0;n<t.length;)s[n]=e[t[n++]];return s}return[]},p.toObject=function(s){for(var t={},o=0;o<s.length;){var i=s[o++],a=s[o++];a!==C&&(t[i]=a)}return t},/\\/g),i=/"/g,c=(p.isReserved=function(e){return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(e)},p.safeProp=function(e){return!/^[$\w_]+$/.test(e)||p.isReserved(e)?"[\""+e.replace(o,"\\\\").replace(i,"\\\"")+"\"]":"."+e},p.ucFirst=function(e){return(e[0]||"").toUpperCase()+e.substring(1)},/_([a-z])/g),l=(p.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(c,function(e,t){return t.toUpperCase()})},p.compareFieldsById=function(e,t){return e.id-t.id},p.decorateType=function(e,t){return e.$type?(t&&e.$type.name!==t&&(p.decorateRoot.remove(e.$type),e.$type.name=t,p.decorateRoot.add(e.$type)),e.$type):(t=new(m=m||d(35))(t||e.name),p.decorateRoot.add(t),t.ctor=e,Object.defineProperty(e,"$type",{value:t,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:t,enumerable:!1}),t)},0),m,u;p.decorateEnum=function(e){var t;return e.$type||(t=new(u=u||d(15))("Enum"+l++,e),p.decorateRoot.add(t),Object.defineProperty(e,"$type",{value:t,enumerable:!1}),t)},p.setProperty=function(e,t,s){if("object"!=typeof e)throw TypeError("dst must be an object");if(t)return function a(s,o,i){var t=o.shift();return"__proto__"!==t&&"prototype"!==t&&(0<o.length?s[t]=a(s[t]||{},o,i):((o=s[t])&&(i=[].concat(o).concat(i)),s[t]=i)),s}(e,t=t.split("."),s);throw TypeError("path must be specified")},Object.defineProperty(p,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(d(29)))}})},{15:15,29:29,3:3,30:30,35:35,39:39,5:5,8:8}],38:[function(a,t,i){function d(e,t){this.lo=e>>>0,this.hi=t>>>0}t.exports=d;var e=a(39),r=d.zero=new d(0,0),n=(r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1},d.zeroHash="\0\0\0\0\0\0\0\0",d.fromNumber=function(e){var s,o;return 0===e?r:(o=(e=(s=0>e)?-e:e)>>>0,e=(e-o)/4294967296>>>0,s&&(e=~e>>>0,o=~o>>>0,4294967295<++o&&(o=0,4294967295<++e&&(e=0))),new d(o,e))},d.from=function(n){if("number"==typeof n)return d.fromNumber(n);if(e.isString(n)){if(!e.Long)return d.fromNumber(parseInt(n,10));n=e.Long.fromString(n)}return n.low||n.high?new d(n.low>>>0,n.high>>>0):r},d.prototype.toNumber=function(e){var n;return!e&&this.hi>>>31?(e=1+~this.lo>>>0,n=~this.hi>>>0,-(e+4294967296*(n=e?n:n+1>>>0))):this.lo+4294967296*this.hi},d.prototype.toLong=function(n){return e.Long?new e.Long(0|this.lo,0|this.hi,!!n):{low:0|this.lo,high:0|this.hi,unsigned:!!n}},String.prototype.charCodeAt);d.fromHash=function(e){return"\0\0\0\0\0\0\0\0"===e?r:new d((n.call(e,0)|n.call(e,1)<<8|n.call(e,2)<<16|n.call(e,3)<<24)>>>0,(n.call(e,4)|n.call(e,5)<<8|n.call(e,6)<<16|n.call(e,7)<<24)>>>0)},d.prototype.toHash=function(){return p(255&this.lo,255&this.lo>>>8,255&this.lo>>>16,this.lo>>>24,255&this.hi,255&this.hi>>>8,255&this.hi>>>16,this.hi>>>24)},d.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},d.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},d.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,s=this.hi>>>24;return 0==s?0==t?16384>e?128>e?1:2:2097152>e?3:4:16384>t?128>t?5:6:2097152>t?7:8:128>s?9:10}},{39:39}],39:[function(o,t,i){function a(s,t,o){for(var n=Object.keys(t),i=0;i<n.length;++i)s[n[i]]!==C&&o||(s[n[i]]=t[n[i]]);return s}function e(e){function s(e,t){return this instanceof s?void(Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:Error().stack||""}),t&&a(this,t)):new s(e,t)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:C,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}var s=i;s.asPromise=o(1),s.base64=o(2),s.EventEmitter=o(4),s.float=o(6),s.inquire=o(7),s.utf8=o(10),s.pool=o(9),s.LongBits=o(38),s.isNode=!!("undefined"!=typeof global&&global&&global.process&&global.process.versions&&global.process.versions.node),s.global=s.isNode&&global||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,s.emptyArray=Object.freeze?Object.freeze([]):[],s.emptyObject=Object.freeze?Object.freeze({}):{},s.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&d(e)===e},s.isString=function(e){return"string"==typeof e||e instanceof String},s.isObject=function(e){return e&&"object"==typeof e},s.isset=s.isSet=function(e,t){var s=e[t];return null!=s&&e.hasOwnProperty(t)&&("object"!=typeof s||0<(Array.isArray(s)?s:Object.keys(s)).length)},s.Buffer=function(){try{var e=s.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),s.y=null,s.w=null,s.newBuffer=function(e){return"number"==typeof e?s.Buffer?s.w(e):new s.Array(e):s.Buffer?s.y(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},s.Array="undefined"==typeof Uint8Array?Array:Uint8Array,s.Long=s.global.dcodeIO&&s.global.dcodeIO.Long||s.global.Long||s.inquire("long"),s.key2Re=/^true|false|0|1$/,s.key32Re=/^-?(?:0|[1-9][0-9]*)$/,s.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,s.longToHash=function(e){return e?s.LongBits.from(e).toHash():s.LongBits.zeroHash},s.longFromHash=function(e,n){return e=s.LongBits.fromHash(e),s.Long?s.Long.fromBits(e.lo,e.hi,n):e.toNumber(!!n)},s.merge=a,s.lcFirst=function(e){return(e[0]||"").toLowerCase()+e.substring(1)},s.newError=e,s.ProtocolError=e("ProtocolError"),s.oneOfGetter=function(e){for(var s={},t=0;t<e.length;++t)s[e[t]]=1;return function(){for(var e=Object.keys(this),t=e.length-1;-1<t;--t)if(1===s[e[t]]&&this[e[t]]!==C&&null!==this[e[t]])return e[t]}},s.oneOfSetter=function(e){return function(n){for(var t=0;t<e.length;++t)e[t]!==n&&delete this[e[t]]}},s.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},s.u=function(){var e=s.Buffer;e?(s.y=e.from!==Uint8Array.from&&e.from||function(n,t){return new e(n,t)},s.w=e.allocUnsafe||function(n){return new e(n)}):s.y=s.w=null}},{1:1,10:10,2:2,38:38,4:4,6:6,7:7,9:9}],40:[function(e,t,s){function d(e,t){return e.name+": "+t+(e.repeated&&"array"!==t?"[]":e.map&&"object"!==t?"{k:"+e.keyType+"}":"")+" expected"}function n(o,t,i,n){if(!t.resolvedType)switch(t.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":o("if(!util.isInteger(%s))",n)("return%j",d(t,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":o("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",n,n,n,n)("return%j",d(t,"integer|Long"));break;case"float":case"double":o("if(typeof %s!==\"number\")",n)("return%j",d(t,"number"));break;case"bool":o("if(typeof %s!==\"boolean\")",n)("return%j",d(t,"boolean"));break;case"string":o("if(!util.isString(%s))",n)("return%j",d(t,"string"));break;case"bytes":o("if(!(%s&&typeof %s.length===\"number\"||util.isString(%s)))",n,n,n)("return%j",d(t,"buffer"))}else if(t.resolvedType instanceof a){o("switch(%s){",n)("default:")("return%j",d(t,"enum value"));for(var r=Object.keys(t.resolvedType.values),e=0;e<r.length;++e)o("case %i:",t.resolvedType.values[r[e]]);o("break")("}")}else o("{")("var e=types[%i].verify(%s);",i,n)("if(e)")("return%j+e",t.name+".")("}");return o}t.exports=function(a){var t=p.codegen(["m"],a.name+"$verify")("if(typeof m!==\"object\"||m===null)")("return%j","object expected"),i=a.oneofsArray,c={};i.length&&t("var p={}");for(var r=0;r<a.fieldsArray.length;++r){var l=a.e[r].resolve(),m="m"+p.safeProp(l.name),E;l.optional&&t("if(%s!=null&&m.hasOwnProperty(%j)){",m,l.name),l.map?(t("if(!util.isObject(%s))",m)("return%j",d(l,"object"))("var k=Object.keys(%s)",m)("for(var i=0;i<k.length;++i){"),function(e,t,s){switch(t.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.key32Re.test(%s))",s)("return%j",d(t,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.key64Re.test(%s))",s)("return%j",d(t,"integer|Long key"));break;case"bool":e("if(!util.key2Re.test(%s))",s)("return%j",d(t,"boolean key"))}}(t,l,"k[i]"),n(t,l,r,m+"[k[i]]")("}")):l.repeated?(t("if(!Array.isArray(%s))",m)("return%j",d(l,"array"))("for(var i=0;i<%s.length;++i){",m),n(t,l,r,m+"[i]")("}")):(l.partOf&&(E=p.safeProp(l.partOf.name),1===c[l.partOf.name]&&t("if(p%s===1)",E)("return%j",l.partOf.name+": multiple values"),c[l.partOf.name]=1,t("p%s=1",E)),n(t,l,r,m)),l.optional&&t("}")}return t("return null")};var a=e(15),p=e(37)},{15:15,37:37}],41:[function(e,t,s){var a=e(21);s[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(1+e["@type"].lastIndexOf("/")),t=this.lookup(t),s;if(t)return~(s="."==(e["@type"][0]||"")?e["@type"].slice(1):e["@type"]).indexOf("/")||(s="/"+s),this.create({type_url:s,value:t.encode(t.fromObject(e)).finish()})}return this.fromObject(e)},toObject:function(o,d){var i="",p="",c,l;return d&&d.json&&o.type_url&&o.value&&(p=o.type_url.substring(1+o.type_url.lastIndexOf("/")),i=o.type_url.substring(0,1+o.type_url.lastIndexOf("/")),(c=this.lookup(p))&&(o=c.decode(o.value))),!(o instanceof this.ctor)&&o instanceof a?(c=o.$type.toObject(o,d),l="."===o.$type.fullName[0]?o.$type.fullName.slice(1):o.$type.fullName,c["@type"]=p=(i=""===i?"type.googleapis.com/":i)+l,c):this.toObject(o,d)}}},{21:21}],42:[function(m,t,i){function E(e,t,s){this.fn=e,this.len=t,this.next=C,this.val=s}function n(){}function g(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new E(n,0,0),this.tail=this.head,this.states=null}function c(){return f.Buffer?function(){return(a.create=function(){return new u})()}:function(){return new a}}function l(e,t,s){t[s]=255&e}function d(e,t){this.len=e,this.next=C,this.val=t}function p(e,t,s){for(;e.hi;)t[s++]=128|127&e.lo,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;127<e.lo;)t[s++]=128|127&e.lo,e.lo>>>=7;t[s++]=e.lo}function T(e,t,s){t[s]=255&e,t[s+1]=255&e>>>8,t[s+2]=255&e>>>16,t[s+3]=e>>>24}t.exports=a;var f=m(39),e=f.LongBits,s=f.base64,o=f.utf8,u;a.create=c(),a.alloc=function(e){return new f.Array(e)},f.Array!==Array&&(a.alloc=f.pool(a.alloc,f.Array.prototype.subarray)),a.prototype.g=function(e,t,s){return this.tail=this.tail.next=new E(e,t,s),this.len+=t,this},(d.prototype=Object.create(E.prototype)).fn=function(e,s,o){for(;127<e;)s[o++]=128|127&e,e>>>=7;s[o]=e},a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new d(128>(e>>>=0)?1:16384>e?2:2097152>e?3:268435456>e?4:5,e)).len,this},a.prototype.int32=function(n){return 0>n?this.g(p,10,e.fromNumber(n)):this.uint32(n)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.int64=a.prototype.uint64=function(n){return n=e.from(n),this.g(p,n.length(),n)},a.prototype.sint64=function(n){return n=e.from(n).zzEncode(),this.g(p,n.length(),n)},a.prototype.bool=function(e){return this.g(l,1,e?1:0)},a.prototype.sfixed32=a.prototype.fixed32=function(e){return this.g(T,4,e>>>0)},a.prototype.sfixed64=a.prototype.fixed64=function(n){return n=e.from(n),this.g(T,4,n.lo).g(T,4,n.hi)},a.prototype.float=function(e){return this.g(f.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this.g(f.float.writeDoubleLE,8,e)};var S=f.Array.prototype.set?function(e,t,s){t.set(e,s)}:function(e,t,s){for(var n=0;n<e.length;++n)t[s+n]=e[n]};a.prototype.bytes=function(e){var o=e.length>>>0,r;return o?(f.isString(e)&&(r=a.alloc(o=s.length(e)),s.decode(e,r,0),e=r),this.uint32(o).g(S,o,e)):this.g(l,1,0)},a.prototype.string=function(e){var t=o.length(e);return t?this.uint32(t).g(o.write,t,e):this.g(l,1,0)},a.prototype.fork=function(){return this.states=new g(this),this.head=this.tail=new E(n,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new E(n,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,s=this.len;return this.reset().uint32(s),s&&(this.tail.next=e.next,this.tail=t,this.len+=s),this},a.prototype.finish=function(){for(var e=this.head.next,s=this.constructor.alloc(this.len),o=0;e;)e.fn(e.val,s,o),o+=e.len,e=e.next;return s},a.u=function(e){u=e,a.create=c(),u.u()}},{39:39}],43:[function(a,t,i){function n(){o.call(this)}function s(e,t,s){40>e.length?r.utf8.write(e,t,s):t.utf8Write?t.utf8Write(e,s):t.write(e,s)}t.exports=n;var o=a(42),r=((n.prototype=Object.create(o.prototype)).constructor=n,a(39));n.u=function(){n.alloc=r.w,n.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,s){t.set(e,s)}:function(e,t,s){if(e.copy)e.copy(t,s,0,e.length);else for(var o=0;o<e.length;)t[s++]=e[o++]}},n.prototype.bytes=function(e){var s=(e=r.isString(e)?r.y(e,"base64"):e).length>>>0;return this.uint32(s),s&&this.g(n.writeBytesBuffer,s,e),this},n.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this.g(s,t,e),this},n.u()},{39:39,42:42}]},{},[19])}();var $protobuf={...JProtobuf};/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/const $root=($protobuf.roots["default"]||($protobuf.roots["default"]=new $protobuf.Root)).addJSON({codec:{nested:{ConnectMsgBody:{fields:{protoId:{type:"string",id:1},sdkVersion:{type:"string",id:2},appkey:{type:"string",id:3},token:{type:"string",id:4},deviceId:{type:"string",id:5},platform:{type:"string",id:6},deviceCompany:{type:"string",id:7},deviceModel:{type:"string",id:8},deviceOsVersion:{type:"string",id:9},pushToken:{type:"string",id:10},networkId:{type:"string",id:11},ispNum:{type:"string",id:12},clientIp:{type:"string",id:13},packageName:{type:"string",id:14},pushChannel:{type:"string",id:15},ext:{type:"string",id:16},clientSession:{type:"string",id:17}}},ConnectAckMsgBody:{fields:{code:{type:"int32",id:1},userId:{type:"string",id:2},session:{type:"string",id:3},timestamp:{type:"int64",id:4},ext:{type:"string",id:5}}},DisconnectMsgBody:{fields:{code:{type:"int32",id:1},timestamp:{type:"int64",id:2},ext:{type:"string",id:3}}},PublishMsgBody:{fields:{index:{type:"int32",id:1},topic:{type:"string",id:2},targetId:{type:"string",id:3},timestamp:{type:"int64",id:4},data:{type:"bytes",id:5}}},PublishAckMsgBody:{fields:{index:{type:"int32",id:1},code:{type:"int32",id:2},msgId:{type:"string",id:3},timestamp:{type:"int64",id:4},msgIndex:{type:"int64",id:5}}},QueryMsgBody:{fields:{index:{type:"int32",id:1},topic:{type:"string",id:2},targetId:{type:"string",id:3},timestamp:{type:"int64",id:4},data:{type:"bytes",id:5}}},QueryAckMsgBody:{fields:{index:{type:"int32",id:1},code:{type:"int32",id:2},timestamp:{type:"int64",id:3},data:{type:"bytes",id:4}}},QueryConfirmMsgBody:{fields:{index:{type:"int32",id:1}}},ImWebsocketMsg:{oneofs:{testof:{oneof:["connectMsgBody","ConnectAckMsgBody","disconnectMsgBody","publishMsgBody","pubAckMsgBody","qryMsgBody","qryAckMsgBody","qryConfirmMsgBody"]}},fields:{version:{type:"int32",id:1},cmd:{type:"int32",id:2},qos:{type:"int32",id:3},payload:{type:"bytes",id:4},connectMsgBody:{type:"ConnectMsgBody",id:11},ConnectAckMsgBody:{type:"ConnectAckMsgBody",id:12},disconnectMsgBody:{type:"DisconnectMsgBody",id:13},publishMsgBody:{type:"PublishMsgBody",id:14},pubAckMsgBody:{type:"PublishAckMsgBody",id:15},qryMsgBody:{type:"QueryMsgBody",id:16},qryAckMsgBody:{type:"QueryAckMsgBody",id:17},qryConfirmMsgBody:{type:"QueryConfirmMsgBody",id:18}}},ChannelType:{values:{Private:1,Group:2,Chatroom:3,System:4}},PushData:{fields:{title:{type:"string",id:1},pushId:{type:"string",id:2},pushText:{type:"string",id:3},pushExtraData:{type:"string",id:4}}},QryHisMsgsReq:{fields:{converId:{type:"string",id:1},type:{type:"ChannelType",id:2},startTime:{type:"int64",id:3},count:{type:"int32",id:4},order:{type:"int32",id:5},msgTypes:{rule:"repeated",type:"string",id:6}}},DownMsgSet:{fields:{msgs:{rule:"repeated",type:"DownMsg",id:1},syncTime:{type:"int64",id:2},isFinished:{type:"bool",id:3},targetUserInfo:{type:"UserInfo",id:4},groupInfo:{type:"GroupInfo",id:5}}},UpMsg:{fields:{msgType:{type:"string",id:1},msgContent:{type:"bytes",id:2},flags:{type:"int32",id:3},clientUid:{type:"string",id:4},pushData:{type:"PushData",id:5},mentionInfo:{type:"MentionInfo",id:6},referMsg:{type:"DownMsg",id:7},toUserIds:{rule:"repeated",type:"string",id:8},mergedMsgs:{type:"MergedMsgs",id:9}}},MentionInfo:{fields:{mentionType:{type:"MentionType",id:1},targetUsers:{rule:"repeated",type:"UserInfo",id:2}}},MentionType:{values:{MentionDefault:0,MentionAll:1,MentionSomeone:2}},DownMsg:{fields:{targetId:{type:"string",id:1},type:{type:"ChannelType",id:2},msgType:{type:"string",id:3},senderId:{type:"string",id:4},msgId:{type:"string",id:5},msgIndex:{type:"int64",id:6},msgContent:{type:"bytes",id:7},msgTime:{type:"int64",id:8},flags:{type:"int32",id:9},isSend:{type:"bool",id:10},platform:{type:"string",id:11},clientUid:{type:"string",id:12},pushData:{type:"PushData",id:13},mentionInfo:{type:"MentionInfo",id:14},isRead:{type:"bool",id:15},referMsg:{type:"DownMsg",id:16},targetUserInfo:{type:"UserInfo",id:17},groupInfo:{type:"GroupInfo",id:18},mergedMsgs:{type:"MergedMsgs",id:19},undisturbType:{type:"int32",id:20},memberCount:{type:"int32",id:21},readCount:{type:"int32",id:22},unreadIndex:{type:"int64",id:23}}},MergedMsgs:{fields:{channelType:{type:"ChannelType",id:1},userId:{type:"string",id:2},targetId:{type:"string",id:3},msgs:{rule:"repeated",type:"SimpleMsg",id:4}}},GroupInfo:{fields:{groupId:{type:"string",id:1},groupName:{type:"string",id:2},groupPortrait:{type:"string",id:3},isMute:{type:"int32",id:4},extFields:{rule:"repeated",type:"KvItem",id:5},updatedTime:{type:"int64",id:6}}},KvItem:{fields:{key:{type:"string",id:1},value:{type:"string",id:2}}},UserIdReq:{fields:{userId:{type:"string",id:1}}},UserInfo:{fields:{userId:{type:"string",id:1},nickname:{type:"string",id:2},userPortrait:{type:"string",id:3},extFields:{rule:"repeated",type:"KvItem",id:4},updatedTime:{type:"int64",id:5}}},SyncConversationsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2}}},QryConversationsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2},order:{type:"int32",id:3},channelType:{type:"ChannelType",id:4}}},QryConversationsResp:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1},isFinished:{type:"bool",id:2}}},ClearUnreadReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},DelConversationReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},ConversationsReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},Conversation:{fields:{userId:{type:"string",id:1},targetId:{type:"string",id:2},channelType:{type:"ChannelType",id:3},sortTime:{type:"int64",id:4},unreadCount:{type:"int64",id:5},msg:{type:"DownMsg",id:6},latestReadIndex:{type:"int64",id:7},mentions:{type:"Mentions",id:8},isTop:{type:"int32",id:9},topUpdatedTime:{type:"int64",id:10},undisturbType:{type:"int32",id:11},targetUserInfo:{type:"UserInfo",id:12},groupInfo:{type:"GroupInfo",id:13},syncTime:{type:"int64",id:14},isDelete:{type:"int32",id:15},latestUnreadIndex:{type:"int64",id:16},unreadTag:{type:"int32",id:17}}},Mentions:{fields:{isMentioned:{type:"bool",id:1},mentionMsgCount:{type:"int32",id:2},senders:{rule:"repeated",type:"UserInfo",id:3},mentionMsgs:{rule:"repeated",type:"MentionMsg",id:4}}},MentionMsg:{fields:{senderId:{type:"string",id:1},msgId:{type:"string",id:2},msgTime:{type:"int64",id:3}}},SyncMsgReq:{fields:{syncTime:{type:"int64",id:1},containsSendBox:{type:"bool",id:2},sendBoxSyncTime:{type:"int64",id:3},chatroomId:{type:"string",id:4}}},SyncChatroomReq:{fields:{chatroomId:{type:"string",id:1},syncTime:{type:"int64",id:2}}},SyncChatroomMsgResp:{fields:{msgs:{rule:"repeated",type:"DownMsg",id:1}}},Notify:{fields:{type:{type:"NotifyType",id:1},syncTime:{type:"int64",id:2},chatroomId:{type:"string",id:3}}},NotifyType:{values:{Default:0,Msg:1}},RecallMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3},msgTime:{type:"int64",id:4},exts:{rule:"repeated",type:"KvItem",id:5}}},MarkReadReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgs:{rule:"repeated",type:"SimpleMsg",id:3},indexScopes:{rule:"repeated",type:"IndexScope",id:4}}},SimpleMsg:{fields:{msgId:{type:"string",id:1},msgTime:{type:"int64",id:2},msgIndex:{type:"int64",id:3}}},IndexScope:{fields:{startIndex:{type:"int64",id:1},endIndex:{type:"int64",id:2}}},ModifyMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3},msgTime:{type:"int64",id:4},msgSeqNo:{type:"int64",id:5},msgContent:{type:"bytes",id:6}}},CleanHisMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},cleanMsgTime:{type:"int64",id:3}}},QryHisMsgByIdsReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgIds:{rule:"repeated",type:"string",id:3}}},ChatRoomReq:{fields:{chatId:{type:"string",id:1}}},QryTotalUnreadCountReq:{fields:{time:{type:"int64",id:1},filter:{type:"ConverFilter",id:2}}},ConverFilter:{fields:{channelTypes:{rule:"repeated",type:"ChannelType",id:1},ignoreConvers:{rule:"repeated",type:"SimpleConversation",id:2}}},SimpleConversation:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2}}},QryTotalUnreadCountResp:{fields:{totalCount:{type:"int64",id:1}}},QryMentionMsgsReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},startIndex:{type:"int64",id:3},count:{type:"int32",id:4},order:{type:"int32",id:5},latestReadIndex:{type:"int64",id:6}}},QryMentionMsgsResp:{fields:{mentionMsgs:{rule:"repeated",type:"QMentionMsg",id:1},isFinished:{type:"bool",id:2}}},QMentionMsg:{fields:{mentionType:{type:"MentionType",id:1},senderInfo:{type:"UserInfo",id:2},msg:{type:"DownMsg",id:3}}},QryUploadTokenResp:{oneofs:{ossOf:{oneof:["qiniuCred","preSignResp"]}},fields:{ossType:{type:"OssType",id:1},qiniuCred:{type:"QiniuCredResp",id:11},preSignResp:{type:"PreSignResp",id:12}}},PreSignResp:{fields:{url:{type:"string",id:1}}},OssType:{values:{DefaultOss:0,QiNiu:1,S3:2,Minio:3,Oss:4}},QiniuCredResp:{fields:{domain:{type:"string",id:1},token:{type:"string",id:2}}},QryUploadTokenReq:{fields:{fileType:{type:"FileType",id:1},ext:{type:"string",id:2}}},FileType:{values:{DefaultFileType:0,Image:1,Audio:2,Video:3,File:4}},QryReadDetailReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3}}},QryReadDetailResp:{fields:{readCount:{type:"int32",id:1},memberCount:{type:"int32",id:2},readMembers:{rule:"repeated",type:"MemberReadDetailItem",id:3},unreadMembers:{rule:"repeated",type:"MemberReadDetailItem",id:4}}},MemberReadDetailItem:{fields:{member:{type:"UserInfo",id:1},time:{type:"int64",id:2}}},QryMergedMsgsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2},order:{type:"int32",id:3}}},UndisturbConversReq:{fields:{userId:{type:"string",id:1},items:{rule:"repeated",type:"UndisturbConverItem",id:2}}},UndisturbConverItem:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},undisturbType:{type:"int32",id:3}}},QryTopConversReq:{fields:{startTime:{type:"int64",id:1}}},DelHisMsgsReq:{fields:{senderId:{type:"string",id:1},targetId:{type:"string",id:2},channelType:{type:"ChannelType",id:3},msgs:{rule:"repeated",type:"SimpleMsg",id:4}}},QryConverReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2}}},SyncChatroomAttResp:{fields:{atts:{rule:"repeated",type:"ChatAttItem",id:1}}},ChatAtts:{fields:{chatId:{type:"string",id:1},atts:{rule:"repeated",type:"ChatAttItem",id:2},isComplete:{type:"bool",id:3},isFinished:{type:"bool",id:4}}},ChatAttItem:{fields:{key:{type:"string",id:1},value:{type:"string",id:2},attTime:{type:"int64",id:3},userId:{type:"string",id:4},optType:{type:"ChatAttOptType",id:5}}},ChatAttOptType:{values:{ChatAttOpt_Default:0,ChatAttOpt_Add:1,ChatAttOpt_Del:2}},UserUndisturb:{fields:{switch:{type:"bool",id:1},timezone:{type:"string",id:2},rules:{rule:"repeated",type:"UserUndisturbItem",id:3}}},UserUndisturbItem:{fields:{start:{type:"string",id:1},end:{type:"string",id:2}}},Nil:{fields:{}},ChatAttBatchReq:{fields:{atts:{rule:"repeated",type:"ChatAttReq",id:1}}},ChatAttBatchResp:{fields:{attResps:{rule:"repeated",type:"ChatAttResp",id:1}}},ChatAttReq:{fields:{key:{type:"string",id:1},value:{type:"string",id:2},isForce:{type:"bool",id:3},isAutoDel:{type:"bool",id:4},msg:{type:"UpMsg",id:5}}},ChatAttResp:{fields:{key:{type:"string",id:1},code:{type:"int32",id:2},attTime:{type:"int64",id:3},msgCode:{type:"int32",id:11},msgId:{type:"string",id:12},msgTime:{type:"int64",id:13},msgSeq:{type:"int64",id:14}}}}}});function Uploder(e,{type:t}){let n=(t,n,s)=>{function o(e){let t=e.split(".");return t[t.length-1]}let{token:i,domain:r}=n,{file:a,name:d}=t,p=`${utils.getUUID()}.${o(a.name)}`;d=d||p;let c={fname:d},l=e.upload(a,p,i,c);l.subscribe({next:e=>{let{total:{percent:t}}=e;s.onprogress({percent:t})},error:e=>{s.onerror(e)},complete:e=>{let{key:t}=e,n=`${r}/${t}?attname=${d}`;s.oncompleted({url:n})}})},s=(e,t,n)=>{let{url:s}=t,{file:o,name:i}=e;utils.requestNormal(s,{method:"PUT",headers:{"Content-Type":""},body:o},{success:()=>{s=s.split("?")[0],n.oncompleted({url:s})},progress:e=>{let t=100*(e.loaded/e.total);n.onprogress({percent:t})},fail:e=>{n.onerror(e)}})},o=(e,o,i)=>utils.isEqual(t,UPLOAD_TYPE.QINIU)?n(e,o,i):utils.isEqual(t,UPLOAD_TYPE.ALI)?s(e,o,i):void 0,i=(e,t,n={})=>{let{scale:s=.4}=n,o=document.createElement("video");o.src=URL.createObjectURL(e),o.preload="auto",o.onloadeddata=function(){i()};var i=function(){var e=document.createElement("canvas");let n=o.videoHeight,i=o.videoWidth,r=o.duration;e.width=i*s,e.height=n*s,e.getContext("2d").drawImage(o,0,0,e.width,e.height),e.toBlob(e=>{var s=new File([e],"frame.png",{type:"image/png"});let o={height:n,width:i,duration:r};t(s,o)})}},r=(e,t,n={})=>{let{scale:s=.4,fileCompressLimit:o=500}=n,i=e.size/1e3,r=new Image;r.src=URL.createObjectURL(e),r.onload=function(){a()};var a=function(){var e=document.createElement("canvas");let n=r.height,a=r.width;i<=o&&(s=1),e.width=a*s,e.height=n*s,e.getContext("2d").drawImage(r,0,0,e.width,e.height),e.toBlob(e=>{var s=new File([e],"tb.png",{type:"image/png"});t(s,{height:n,width:a})})}};/* 视频截取首帧 */ /* 图片压缩缩略图 */return{exec:o,capture:i,compress:r}}/*
44
+ */let JProtobuf={};!function(C){var e=Math.min,a=Math.pow,d=Math.floor,p=String.fromCharCode;!function(s,o,e){var n=function i(e){var t=o[e];return t||s[e][0].call(t=o[e]={exports:{}},i,t,t.exports),t.exports}(e[0]);JProtobuf=n,"function"==typeof define&&define.amd&&define(["long"],function(e){return e&&e.isLong&&(n.util.Long=e,n.configure()),n}),"object"==typeof module&&module&&module.exports&&(module.exports=n)}({1:[function(e,t,s){t.exports=function(e,t){for(var i=Array(arguments.length-1),n=0,a=2,d=!0;a<arguments.length;)i[n++]=arguments[a++];return new Promise(function(s,o){i[n]=function(e){if(d)if(d=!1,e)o(e);else{for(var t=Array(arguments.length-1),i=0;i<t.length;)t[i++]=arguments[i];s.apply(null,t)}};try{e.apply(t||null,i)}catch(e){d&&(d=!1,o(e))}})}},{}],2:[function(e,t,s){s.length=function(e){var t=e.length;if(!t)return 0;for(var s=0;1<--t%4&&"="==(e[0|t]||"");)++s;return Math.ceil(3*e.length)/4-s};for(var d=Array(64),o=Array(123),n=0;64>n;)o[d[n]=26>n?n+65:52>n?n+71:62>n?n-4:43|n-59]=n++;s.encode=function(a,t,c){for(var n=null,l=[],s=0,m=0,E,y;t<c;)y=a[t++],0===m?(l[s++]=d[y>>2],E=(3&y)<<4,m=1):1===m?(l[s++]=d[E|y>>4],E=(15&y)<<2,m=2):2===m?(l[s++]=d[E|y>>6],l[s++]=d[63&y],m=0):void 0,8191<s&&((n=n||[]).push(p.apply(String,l)),s=0);return m&&(l[s++]=d[E],l[s++]=61,1===m&&(l[s++]=61)),n?(s&&n.push(p.apply(String,l.slice(0,s))),n.join("")):p.apply(String,l.slice(0,s))};var i="invalid encoding";s.decode=function(a,t,i){for(var d=i,e=0,p=0,c,l;p<a.length&&(l=a.charCodeAt(p++),!(61==l&&1<e));){if((l=o[l])===C)throw Error("invalid encoding");0===e?(c=l,e=1):1===e?(t[i++]=c<<2|(48&l)>>4,c=l,e=2):2===e?(t[i++]=(15&c)<<4|(60&l)>>2,c=l,e=3):3===e?(t[i++]=(3&c)<<6|l,e=0):void 0}if(1===e)throw Error("invalid encoding");return i-d},s.test=function(e){return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},{}],3:[function(e,t,s){function o(e,s){function p(l){if("string"!=typeof l){var m=c();if(o.verbose&&void 0,m="return "+m,l){for(var E=Object.keys(l),n=Array(E.length+1),r=Array(E.length),e=0;e<E.length;)n[e]=E[e],r[e]=l[E[e++]];return n[e]=m,Function.apply(null,n).apply(null,r)}return Function(m)()}for(var y=Array(arguments.length-1),g=0;g<y.length;)y[g]=arguments[++g];if(g=0,l=l.replace(/%([%dfijs])/g,function(e,t){var s=y[g++];return"d"===t||"f"===t?""+ +(""+s):"i"===t?""+d(s):"j"===t?JSON.stringify(s):"s"===t?""+s:"%"}),g!==y.length)throw Error("parameter count mismatch");return a.push(l),p}function c(n){return"function "+(n||s||"")+"("+(e&&e.join(",")||"")+"){\n "+a.join("\n ")+"\n}"}"string"==typeof e&&(s=e,e=C);var a=[];return p.toString=c,p}(t.exports=o).verbose=!1},{}],4:[function(e,t,s){function n(){this.i={}}(t.exports=n).prototype.on=function(e,t,s){return(this.i[e]||(this.i[e]=[])).push({fn:t,ctx:s||this}),this},n.prototype.off=function(e,t){if(e===C)this.i={};else if(t===C)this.i[e]=[];else for(var s=this.i[e],n=0;n<s.length;)s[n].fn===t?s.splice(n,1):++n;return this},n.prototype.emit=function(e){var t=this.i[e];if(t){for(var s=[],n=1;n<arguments.length;)s.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,s)}return this}},{}],5:[function(e,t,i){function a(o,n,p){return n="function"==typeof n?(p=n,{}):n||{},p?!n.xhr&&s&&s.readFile?s.readFile(o,function(e,t){return e&&"undefined"!=typeof XMLHttpRequest?a.xhr(o,n,p):e?p(e):p(null,n.binary?t:t.toString("utf8"))}):a.xhr(o,n,p):d(a,this,o,n)}t.exports=a;var d=e(1),s=e(7)("fs");a.xhr=function(s,o,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4!==r.readyState)return C;if(0!==r.status&&200!==r.status)return n(Error("status "+r.status));if(o.binary){if(!(e=r.response))for(var e=[],s=0;s<r.responseText.length;++s)e.push(255&r.responseText.charCodeAt(s));return n(null,"undefined"==typeof Uint8Array?e:new Uint8Array(e))}return n(null,r.responseText)},o.binary&&("overrideMimeType"in r&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.responseType="arraybuffer"),r.open("GET",s),r.send()}},{1:1,7:7}],6:[function(e,t,s){function n(C){var S=Math.LN2,_=Math.log;function I(s,o,p,n){var r=Math.round,c=0>o?1:0;s(0===(o=c?-o:o)?0<1/o?0:2147483648:isNaN(o)?2143289344:34028234663852886e22<o?(2139095040|c<<31)>>>0:11754943508222875e-54>o?(c<<31|r(o/1401298464324817e-60))>>>0:(c<<31|127+(s=d(_(o)/S))<<23|8388607&r(8388608*(o*a(2,-s))))>>>0,p,n)}function t(e,s,o){return e=e(s,o),s=2*(e>>31)+1,o=255&e>>>23,e&=8388607,255==o?e?NaN:1/0*s:0==o?1401298464324817e-60*s*e:s*a(2,o-150)*(8388608+e)}function n(e,t,s){y[0]=e,t[s]=A[0],t[s+1]=A[1],t[s+2]=A[2],t[s+3]=A[3]}function i(e,t,s){y[0]=e,t[s]=A[3],t[s+1]=A[2],t[s+2]=A[1],t[s+3]=A[0]}function e(e,t){return A[0]=e[t],A[1]=e[t+1],A[2]=e[t+2],A[3]=e[t+3],y[0]}function s(e,t){return A[3]=e[t],A[2]=e[t+1],A[1]=e[t+2],A[0]=e[t+3],y[0]}function o(p,t,i,n,c,e){var s=0>n?1:0,l;0===(n=s?-n:n)?(p(0,c,e+t),p(0<1/n?0:2147483648,c,e+i)):isNaN(n)?(p(0,c,e+t),p(2146959360,c,e+i)):17976931348623157e292<n?(p(0,c,e+t),p((2146435072|s<<31)>>>0,c,e+i)):22250738585072014e-324>n?(p((l=n/5e-324)>>>0,c,e+t),p((s<<31|l/4294967296)>>>0,c,e+i)):(p(4503599627370496*(l=n*a(2,-(n=1024===(n=d(_(n)/S))?1023:n)))>>>0,c,e+t),p((s<<31|n+1023<<20|1048575&1048576*l)>>>0,c,e+i))}function r(s,o,d,p,c){return o=s(p,c+o),s=s(p,c+d),p=2*(s>>31)+1,c=2047&s>>>20,d=4294967296*(1048575&s)+o,2047==c?d?NaN:1/0*p:0==c?5e-324*p*d:p*a(2,c-1075)*(d+4503599627370496)}function l(e,t,s){R[0]=e,t[s]=v[0],t[s+1]=v[1],t[s+2]=v[2],t[s+3]=v[3],t[s+4]=v[4],t[s+5]=v[5],t[s+6]=v[6],t[s+7]=v[7]}function p(e,t,s){R[0]=e,t[s]=v[7],t[s+1]=v[6],t[s+2]=v[5],t[s+3]=v[4],t[s+4]=v[3],t[s+5]=v[2],t[s+6]=v[1],t[s+7]=v[0]}function O(e,t){return v[0]=e[t],v[1]=e[t+1],v[2]=e[t+2],v[3]=e[t+3],v[4]=e[t+4],v[5]=e[t+5],v[6]=e[t+6],v[7]=e[t+7],R[0]}function N(e,t){return v[7]=e[t],v[6]=e[t+1],v[5]=e[t+2],v[4]=e[t+3],v[3]=e[t+4],v[2]=e[t+5],v[1]=e[t+6],v[0]=e[t+7],R[0]}var y,A,R,v,M;return"undefined"==typeof Float32Array?(C.writeFloatLE=I.bind(null,E),C.writeFloatBE=I.bind(null,T),C.readFloatLE=t.bind(null,m),C.readFloatBE=t.bind(null,g)):(y=new Float32Array([-0]),A=new Uint8Array(y.buffer),M=128===A[3],C.writeFloatLE=M?n:i,C.writeFloatBE=M?i:n,C.readFloatLE=M?e:s,C.readFloatBE=M?s:e),"undefined"==typeof Float64Array?(C.writeDoubleLE=o.bind(null,E,0,4),C.writeDoubleBE=o.bind(null,T,4,0),C.readDoubleLE=r.bind(null,m,0,4),C.readDoubleBE=r.bind(null,g,4,0)):(R=new Float64Array([-0]),v=new Uint8Array(R.buffer),M=128===v[7],C.writeDoubleLE=M?l:p,C.writeDoubleBE=M?p:l,C.readDoubleLE=M?O:N,C.readDoubleBE=M?N:O),C}function E(e,t,s){t[s]=255&e,t[s+1]=255&e>>>8,t[s+2]=255&e>>>16,t[s+3]=e>>>24}function T(e,t,s){t[s]=e>>>24,t[s+1]=255&e>>>16,t[s+2]=255&e>>>8,t[s+3]=255&e}function m(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function g(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}t.exports=n(n)},{}],7:[function(e,t,s){function n(e){try{var t=new Function("require")(e);if(t&&(t.length||Object.keys(t).length))return t}catch(e){}return null}t.exports=n},{}],8:[function(s,t,o){var a=o.isAbsolute=function(e){return /^(?:\/|\w+:)/.test(e)},e=o.normalize=function(e){var s=(e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),o=a(e),e="";o&&(e=s.shift()+"/");for(var n=0;n<s.length;)".."===s[n]?0<n&&".."!==s[n-1]?s.splice(--n,2):o?s.splice(n,1):++n:"."===s[n]?s.splice(n,1):++n;return e+s.join("/")};o.resolve=function(s,o,r){return r||(o=e(o)),!a(o)&&(s=(s=r?s:e(s)).replace(/(?:\/|^)[^/]+$/,"")).length?e(s+"/"+o):o}},{}],9:[function(e,t,s){t.exports=function(a,i,n){var d=n||8192,r=d>>>1,e=null,p=d;return function(n){return 1>n||r<n?a(n):(d<p+n&&(e=a(d),p=0),n=i.call(e,p,p+=n),(7&p&&(p=1+(7|p)),n))}}},{}],10:[function(e,t,s){s.length=function(e){for(var t=0,s=0,o;s<e.length;++s)128>(o=e.charCodeAt(s))?t+=1:2048>o?t+=2:55296==(64512&o)&&56320==(64512&e.charCodeAt(s+1))?(++s,t+=4):t+=3;return t},s.read=function(a,t,d){if(1>d-t)return"";for(var n=null,c=[],s=0,l;t<d;)128>(l=a[t++])?c[s++]=l:191<l&&224>l?c[s++]=(31&l)<<6|63&a[t++]:239<l&&365>l?(l=((7&l)<<18|(63&a[t++])<<12|(63&a[t++])<<6|63&a[t++])-65536,c[s++]=55296+(l>>10),c[s++]=56320+(1023&l)):c[s++]=(15&l)<<12|(63&a[t++])<<6|63&a[t++],8191<s&&((n=n||[]).push(p.apply(String,c)),s=0);return n?(s&&n.push(p.apply(String,c.slice(0,s))),n.join("")):p.apply(String,c.slice(0,s))},s.write=function(a,t,i){for(var d=i,s=0,p,c;s<a.length;++s)128>(p=a.charCodeAt(s))?t[i++]=p:(2048>p?t[i++]=192|p>>6:(55296==(64512&p)&&56320==(64512&(c=a.charCodeAt(s+1)))?(++s,t[i++]=240|(p=65536+((1023&p)<<10)+(1023&c))>>18,t[i++]=128|63&p>>12):t[i++]=224|p>>12,t[i++]=128|63&p>>6),t[i++]=128|63&p);return i-d}},{}],11:[function(s,t,o){function n(s,o){e.test(s)||(s="google/protobuf/"+s+".proto",o={nested:{google:{nested:{protobuf:{nested:o}}}}}),n[s]=o}t.exports=n;var e=/\/|\./;n("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),n("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),n("timestamp",{Timestamp:t}),n("empty",{Empty:{fields:{}}}),n("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),n("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),n("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),n.get=function(e){return n[e]||null}},{}],12:[function(e,t,s){function a(a,t,i,n){var r=!1;if(!t.resolvedType){var d=!1;switch(t.type){case"double":case"float":a("m%s=Number(d%s)",n,n);break;case"uint32":case"fixed32":a("m%s=d%s>>>0",n,n);break;case"int32":case"sint32":case"sfixed32":a("m%s=d%s|0",n,n);break;case"uint64":d=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":a("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",n,n,d)("else if(typeof d%s===\"string\")",n)("m%s=parseInt(d%s,10)",n,n)("else if(typeof d%s===\"number\")",n)("m%s=d%s",n,n)("else if(typeof d%s===\"object\")",n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,d?"true":"");break;case"bytes":a("if(typeof d%s===\"string\")",n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length >= 0)",n)("m%s=d%s",n,n);break;case"string":a("m%s=String(d%s)",n,n);break;case"bool":a("m%s=Boolean(d%s)",n,n)}}else if(t.resolvedType instanceof c){a("switch(d%s){",n);for(var p=t.resolvedType.values,s=Object.keys(p),o=0;o<s.length;++o)p[s[o]]!==t.typeDefault||r||(a("default:")("if(typeof(d%s)===\"number\"){m%s=d%s;break}",n,n,n),t.repeated||a("break"),r=!0),a("case%j:",s[o])("case %i:",p[s[o]])("m%s=%j",n,p[s[o]])("break");a("}")}else a("if(typeof d%s!==\"object\")",n)("throw TypeError(%j)",t.fullName+": object expected")("m%s=types[%i].fromObject(d%s)",n,i,n);return a}function r(s,t,o,n){if(t.resolvedType)t.resolvedType instanceof c?s("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",n,o,n,n,o,n,n):s("d%s=types[%i].toObject(m%s,o)",n,o,n);else{var i=!1;switch(t.type){case"double":case"float":s("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,n,n,n);break;case"uint64":i=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":s("if(typeof m%s===\"number\")",n)("d%s=o.longs===String?String(m%s):m%s",n,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,n,n,n,i?"true":"",n);break;case"bytes":s("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,n,n,n,n);break;default:s("d%s=m%s",n,n)}}return s}var c=e(15),l=e(37);s.fromObject=function(o){var t=o.fieldsArray,i=l.codegen(["d"],o.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return i("return new this.ctor");i("var m=new this.ctor");for(var n=0;n<t.length;++n){var d=t[n].resolve(),p=l.safeProp(d.name);d.map?(i("if(d%s){",p)("if(typeof d%s!==\"object\")",p)("throw TypeError(%j)",d.fullName+": object expected")("m%s={}",p)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",p),a(i,d,n,p+"[ks[i]]")("}")("}")):d.repeated?(i("if(d%s){",p)("if(!Array.isArray(d%s))",p)("throw TypeError(%j)",d.fullName+": array expected")("m%s=[]",p)("for(var i=0;i<d%s.length;++i){",p),a(i,d,n,p+"[i]")("}")("}")):(d.resolvedType instanceof c||i("if(d%s!=null){",p),a(i,d,n,p),d.resolvedType instanceof c||i("}"))}return i("return m")},s.toObject=function(d){var t=d.fieldsArray.slice().sort(l.compareFieldsById);if(!t.length)return l.codegen()("return {}");for(var i=l.codegen(["m","o"],d.name+"$toObject")("if(!o)")("o={}")("var d={}"),n=[],m=[],e=[],s=0;s<t.length;++s)t[s].partOf||(t[s].resolve().repeated?n:t[s].map?m:e).push(t[s]);if(n.length){for(i("if(o.arrays||o.defaults){"),s=0;s<n.length;++s)i("d%s=[]",l.safeProp(n[s].name));i("}")}if(m.length){for(i("if(o.objects||o.defaults){"),s=0;s<m.length;++s)i("d%s={}",l.safeProp(m[s].name));i("}")}if(e.length){for(i("if(o.defaults){"),s=0;s<e.length;++s){var E=e[s],y=l.safeProp(E.name),g;E.resolvedType instanceof c?i("d%s=o.enums===String?%j:%j",y,E.resolvedType.valuesById[E.typeDefault],E.typeDefault):E.long?i("if(util.Long){")("var n=new util.Long(%i,%i,%j)",E.typeDefault.low,E.typeDefault.high,E.typeDefault.unsigned)("d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n",y)("}else")("d%s=o.longs===String?%j:%i",y,E.typeDefault.toString(),E.typeDefault.toNumber()):E.bytes?(g="["+Array.prototype.slice.call(E.typeDefault).join(",")+"]",i("if(o.bytes===String)d%s=%j",y,p.apply(String,E.typeDefault))("else{")("d%s=%s",y,g)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",y,y)("}")):i("d%s=%j",y,E.typeDefault)}i("}")}for(var T=!1,s=0;s<t.length;++s){var E=t[s],C=d.e.indexOf(E),y=l.safeProp(E.name);E.map?(T||(T=!0,i("var ks2")),i("if(m%s&&(ks2=Object.keys(m%s)).length){",y,y)("d%s={}",y)("for(var j=0;j<ks2.length;++j){"),r(i,E,C,y+"[ks2[j]]")("}")):E.repeated?(i("if(m%s&&m%s.length){",y,y)("d%s=[]",y)("for(var j=0;j<m%s.length;++j){",y),r(i,E,C,y+"[j]")("}")):(i("if(m%s!=null&&m.hasOwnProperty(%j)){",y,E.name),r(i,E,C,y),E.partOf&&i("if(o.oneofs)")("d%s=%j",l.safeProp(E.partOf.name),E.name)),i("}")}return i("return d")}},{15:15,37:37}],13:[function(e,t,s){t.exports=function(p){var t=d.codegen(["r","l"],p.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(p.fieldsArray.filter(function(e){return e.map}).length?",k,value":""))("while(r.pos<c){")("var t=r.uint32()");p.group&&t("if((t&7)===4)")("break"),t("switch(t>>>3){");for(var i=0;i<p.fieldsArray.length;++i){var c=p.e[i].resolve(),l=c.resolvedType instanceof o?"int32":c.type,m="m"+d.safeProp(c.name);t("case %i: {",c.id),c.map?(t("if(%s===util.emptyObject)",m)("%s={}",m)("var c2 = r.uint32()+r.pos"),a.defaults[c.keyType]===C?t("k=null"):t("k=%j",a.defaults[c.keyType]),a.defaults[l]===C?t("value=null"):t("value=%j",a.defaults[l]),t("while(r.pos<c2){")("var tag2=r.uint32()")("switch(tag2>>>3){")("case 1: k=r.%s(); break",c.keyType)("case 2:"),a.basic[l]===C?t("value=types[%i].decode(r,r.uint32())",i):t("value=r.%s()",l),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),a.long[c.keyType]===C?t("%s[k]=value",m):t("%s[typeof k===\"object\"?util.longToHash(k):k]=value",m)):c.repeated?(t("if(!(%s&&%s.length))",m,m)("%s=[]",m),a.packed[l]!==C&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos<c2)")("%s.push(r.%s())",m,l)("}else"),a.basic[l]===C?t(c.resolvedType.group?"%s.push(types[%i].decode(r))":"%s.push(types[%i].decode(r,r.uint32()))",m,i):t("%s.push(r.%s())",m,l)):a.basic[l]===C?t(c.resolvedType.group?"%s=types[%i].decode(r)":"%s=types[%i].decode(r,r.uint32())",m,i):t("%s=r.%s()",m,l),t("break")("}")}for(t("default:")("r.skipType(t&7)")("break")("}")("}"),i=0;i<p.e.length;++i){var u=p.e[i];u.required&&t("if(!m.hasOwnProperty(%j))",u.name)("throw util.ProtocolError(%j,{instance:m})","missing required '"+u.name+"'")}return t("return m")};var o=e(15),a=e(36),d=e(37)},{15:15,36:36,37:37}],14:[function(e,t,s){function d(e,t,s,n){t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",s,n,(3|t.id<<3)>>>0,(4|t.id<<3)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",s,n,(2|t.id<<3)>>>0)}t.exports=function(c){for(var t=a.codegen(["m","w"],c.name+"$encode")("if(!w)")("w=Writer.create()"),n=c.fieldsArray.slice().sort(a.compareFieldsById),r=0,m;r<n.length;++r){var E=n[r].resolve(),y=c.e.indexOf(E),g=E.resolvedType instanceof p?"int32":E.type,T=l.basic[g];m="m"+a.safeProp(E.name),E.map?(t("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",m,E.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",m)("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(2|E.id<<3)>>>0,8|l.mapKey[E.keyType],E.keyType),T===C?t("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",y,m):t(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|T,g,m),t("}")("}")):E.repeated?(t("if(%s!=null&&%s.length){",m,m),E.packed&&l.packed[g]!==C?t("w.uint32(%i).fork()",(2|E.id<<3)>>>0)("for(var i=0;i<%s.length;++i)",m)("w.%s(%s[i])",g,m)("w.ldelim()"):(t("for(var i=0;i<%s.length;++i)",m),T===C?d(t,E,y,m+"[i]"):t("w.uint32(%i).%s(%s[i])",(E.id<<3|T)>>>0,g,m)),t("}")):(E.optional&&t("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",m,E.name),T===C?d(t,E,y,m):t("w.uint32(%i).%s(%s)",(E.id<<3|T)>>>0,g,m))}return t("return w")};var p=e(15),l=e(36),a=e(37)},{15:15,36:36,37:37}],15:[function(o,t,i){function n(d,t,i,n,r,e){if(a.call(this,d,i),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=n,this.comments=r||{},this.valuesOptions=e,this.reserved=C,t)for(var s=Object.keys(t),o=0;o<s.length;++o)"number"==typeof t[s[o]]&&(this.valuesById[this.values[s[o]]=t[s[o]]]=s[o])}t.exports=n;var a=o(24),s=(((n.prototype=Object.create(a.prototype)).constructor=n).className="Enum",o(23)),d=o(37);n.fromJSON=function(e,s){return e=new n(e,s.values,s.options,s.comment,s.comments),e.reserved=s.reserved,e},n.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,d.toObject(["options",this.options,"valuesOptions",this.valuesOptions,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:C,"comment",e?this.comment:C,"comments",e?this.comments:C])},n.prototype.add=function(e,t,s,n){if(!d.isString(e))throw TypeError("name must be a string");if(!d.isInteger(t))throw TypeError("id must be an integer");if(this.values[e]!==C)throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(t))throw Error("id "+t+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(this.valuesById[t]!==C){if(!this.options||!this.options.allow_alias)throw Error("duplicate id "+t+" in "+this);this.values[e]=t}else this.valuesById[this.values[e]=t]=e;return n&&(this.valuesOptions===C&&(this.valuesOptions={}),this.valuesOptions[e]=n||null),this.comments[e]=s||null,this},n.prototype.remove=function(e){if(!d.isString(e))throw TypeError("name must be a string");var t=this.values[e];if(null==t)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[t],delete this.values[e],delete this.comments[e],this.valuesOptions&&delete this.valuesOptions[e],this},n.prototype.isReservedId=function(e){return s.isReservedId(this.reserved,e)},n.prototype.isReservedName=function(e){return s.isReservedName(this.reserved,e)}},{23:23,24:24,37:37}],16:[function(s,t,i){function d(a,t,i,n,d,u,E){if(l.isObject(n)?(E=d,u=n,n=d=C):l.isObject(d)&&(E=u,u=d,d=C),p.call(this,a,u),!l.isInteger(t)||0>t)throw TypeError("id must be a non-negative integer");if(!l.isString(i))throw TypeError("type must be a string");if(n!==C&&!m.test(n=n.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(d!==C&&!l.isString(d))throw TypeError("extend must be a string");this.rule=(n="proto3_optional"===n?"optional":n)&&"optional"!==n?n:C,this.type=i,this.id=t,this.extend=d||C,this.required="required"===n,this.optional=!this.required,this.repeated="repeated"===n,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!l.Long&&c.long[i]!==C,this.bytes="bytes"===i,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this.o=null,this.comment=E}t.exports=d;var p=s(24),n=(((d.prototype=Object.create(p.prototype)).constructor=d).className="Field",s(15)),c=s(36),l=s(37),m=/^required|optional|repeated$/,e;d.fromJSON=function(e,t){return new d(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(d.prototype,"packed",{get:function(){return null===this.o&&(this.o=!1!==this.getOption("packed")),this.o}}),d.prototype.setOption=function(e,t,s){return"packed"===e&&(this.o=null),p.prototype.setOption.call(this,e,t,s)},d.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,l.toObject(["rule","optional"!==this.rule&&this.rule||C,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:C])},d.prototype.resolve=function(){var s;return this.resolved?this:((this.typeDefault=c.defaults[this.type])===C?(this.resolvedType=(this.declaringField||this).parent.lookupTypeOrEnum(this.type),this.typeDefault=this.resolvedType instanceof e?null:this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof n&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(this.options.packed===C||!this.resolvedType||this.resolvedType instanceof n)||delete this.options.packed,Object.keys(this.options).length||(this.options=C)),this.long?(this.typeDefault=l.Long.fromNumber(this.typeDefault,"u"==(this.type[0]||"")),Object.freeze&&Object.freeze(this.typeDefault)):this.bytes&&"string"==typeof this.typeDefault&&(l.base64.test(this.typeDefault)?l.base64.decode(this.typeDefault,s=l.newBuffer(l.base64.length(this.typeDefault)),0):l.utf8.write(this.typeDefault,s=l.newBuffer(l.utf8.length(this.typeDefault)),0),this.typeDefault=s),this.defaultValue=this.map?l.emptyObject:this.repeated?l.emptyArray:this.typeDefault,this.parent instanceof e&&(this.parent.ctor.prototype[this.name]=this.defaultValue),p.prototype.resolve.call(this))},d.d=function(o,n,a,e){return"function"==typeof n?n=l.decorateType(n).name:n&&"object"==typeof n&&(n=l.decorateEnum(n).name),function(s,t){l.decorateType(s.constructor).add(new d(t,o,n,a,{default:e}))}},d.u=function(n){e=n}},{15:15,24:24,36:36,37:37}],17:[function(e,t,s){var o=t.exports=e(18);o.build="light",o.load=function(e,t,s){return(t="function"==typeof t?(s=t,new o.Root):t||new o.Root).load(e,s)},o.loadSync=function(e,t){return(t=t||new o.Root).loadSync(e)},o.encoder=e(14),o.decoder=e(13),o.verifier=e(40),o.converter=e(12),o.ReflectionObject=e(24),o.Namespace=e(23),o.Root=e(29),o.Enum=e(15),o.Type=e(35),o.Field=e(16),o.OneOf=e(25),o.MapField=e(20),o.Service=e(33),o.Method=e(22),o.Message=e(21),o.wrappers=e(41),o.types=e(36),o.util=e(37),o.ReflectionObject.u(o.Root),o.Namespace.u(o.Type,o.Service,o.Enum),o.Root.u(o.Type),o.Field.u(o.Type)},{12:12,13:13,14:14,15:15,16:16,18:18,20:20,21:21,22:22,23:23,24:24,25:25,29:29,33:33,35:35,36:36,37:37,40:40,41:41}],18:[function(s,t,o){function n(){e.util.u(),e.Writer.u(e.BufferWriter),e.Reader.u(e.BufferReader)}var e=o;e.build="minimal",e.Writer=s(42),e.BufferWriter=s(43),e.Reader=s(27),e.BufferReader=s(28),e.util=s(39),e.rpc=s(31),e.roots=s(30),e.configure=n,n()},{27:27,28:28,30:30,31:31,39:39,42:42,43:43}],19:[function(e,t,s){t=t.exports=e(17),t.build="full",t.tokenize=e(34),t.parse=e(26),t.common=e(11),t.Root.u(t.Type,t.parse,t.common)},{11:11,17:17,26:26,34:34}],20:[function(e,t,i){function a(a,t,i,n,r,e){if(d.call(this,a,t,n,C,C,r,e),!o.isString(i))throw TypeError("keyType must be a string");this.keyType=i,this.resolvedKeyType=null,this.map=!0}t.exports=a;var d=e(16),n=(((a.prototype=Object.create(d.prototype)).constructor=a).className="MapField",e(36)),o=e(37);a.fromJSON=function(e,t){return new a(e,t.id,t.keyType,t.type,t.options,t.comment)},a.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:C])},a.prototype.resolve=function(){if(this.resolved)return this;if(n.mapKey[this.keyType]===C)throw Error("invalid key type: "+this.keyType);return d.prototype.resolve.call(this)},a.d=function(s,n,r){return"function"==typeof r?r=o.decorateType(r).name:r&&"object"==typeof r&&(r=o.decorateEnum(r).name),function(e,t){o.decorateType(e.constructor).add(new a(t,s,n,r))}}},{16:16,36:36,37:37}],21:[function(s,t,o){function n(e){if(e)for(var t=Object.keys(e),s=0;s<t.length;++s)this[t[s]]=e[t[s]]}t.exports=n;var e=s(39);n.create=function(e){return this.$type.create(e)},n.encode=function(e,t){return this.$type.encode(e,t)},n.encodeDelimited=function(e,t){return this.$type.encodeDelimited(e,t)},n.decode=function(e){return this.$type.decode(e)},n.decodeDelimited=function(e){return this.$type.decodeDelimited(e)},n.verify=function(e){return this.$type.verify(e)},n.fromObject=function(e){return this.$type.fromObject(e)},n.toObject=function(e,t){return this.$type.toObject(e,t)},n.prototype.toJSON=function(){return this.$type.toObject(this,e.toJSONOptions)}},{39:39}],22:[function(e,t,s){function n(a,t,i,n,r,c,l,m,u){if(p.isObject(r)?(l=r,r=c=C):p.isObject(c)&&(l=c,c=C),t!==C&&!p.isString(t))throw TypeError("type must be a string");if(!p.isString(i))throw TypeError("requestType must be a string");if(!p.isString(n))throw TypeError("responseType must be a string");d.call(this,a,l),this.type=t||"rpc",this.requestType=i,this.requestStream=!!r||C,this.responseType=n,this.responseStream=!!c||C,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=m,this.parsedOptions=u}t.exports=n;var d=e(24),p=(((n.prototype=Object.create(d.prototype)).constructor=n).className="Method",e(37));n.fromJSON=function(e,t){return new n(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},n.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,p.toObject(["type","rpc"!==this.type&&this.type||C,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",e?this.comment:C,"parsedOptions",this.parsedOptions])},n.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),d.prototype.resolve.call(this))}},{24:24,37:37}],23:[function(d,t,i){function n(e,t){if(!e||!e.length)return C;for(var s={},n=0;n<e.length;++n)s[e[n].name]=e[n].toJSON(t);return s}function a(e,t){c.call(this,e,t),this.nested=C,this.f=null}function p(e){return e.f=null,e}t.exports=a;var c=d(24),l=(((a.prototype=Object.create(c.prototype)).constructor=a).className="Namespace",d(16)),m=d(37),u=d(25),E,y,g;a.fromJSON=function(e,t){return new a(e,t.options).addJSON(t.nested)},a.arrayToJSON=n,a.isReservedId=function(e,t){if(e)for(var s=0;s<e.length;++s)if("string"!=typeof e[s]&&e[s][0]<=t&&e[s][1]>t)return!0;return!1},a.isReservedName=function(e,t){if(e)for(var s=0;s<e.length;++s)if(e[s]===t)return!0;return!1},Object.defineProperty(a.prototype,"nestedArray",{get:function(){return this.f||(this.f=m.toArray(this.nested))}}),a.prototype.toJSON=function(e){return m.toObject(["options",this.options,"nested",n(this.nestedArray,e)])},a.prototype.addJSON=function(e){if(e)for(var t=Object.keys(e),n=0,s;n<t.length;++n)s=e[t[n]],this.add((s.fields===C?s.values===C?s.methods===C?s.id===C?a:l:y:g:E).fromJSON(t[n],s));return this},a.prototype.get=function(e){return this.nested&&this.nested[e]||null},a.prototype.getEnum=function(e){if(this.nested&&this.nested[e]instanceof g)return this.nested[e].values;throw Error("no such enum: "+e)},a.prototype.add=function(e){if(!(e instanceof l&&e.extend!==C||e instanceof E||e instanceof u||e instanceof g||e instanceof y||e instanceof a))throw TypeError("object must be a valid nested object");if(this.nested){var t=this.get(e.name);if(t){if(!(t instanceof a&&e instanceof a)||t instanceof E||t instanceof y)throw Error("duplicate name '"+e.name+"' in "+this);for(var s=t.nestedArray,n=0;n<s.length;++n)e.add(s[n]);this.remove(t),this.nested||(this.nested={}),e.setOptions(t.options,!0)}}else this.nested={};return(this.nested[e.name]=e).onAdd(this),p(this)},a.prototype.remove=function(e){if(!(e instanceof c))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);return delete this.nested[e.name],Object.keys(this.nested).length||(this.nested=C),e.onRemove(this),p(this)},a.prototype.define=function(e,s){if(m.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&""===e[0])throw Error("path must be relative");for(var o=this,i;0<e.length;)if(i=e.shift(),!(o.nested&&o.nested[i]))o.add(o=new a(i));else if(!((o=o.nested[i])instanceof a))throw Error("path conflicts with non-namespace objects");return s&&o.addJSON(s),o},a.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t<e.length;)e[t]instanceof a?e[t++].resolveAll():e[t++].resolve();return this.resolve()},a.prototype.lookup=function(s,o,d){if("boolean"==typeof o?(d=o,o=C):o&&!Array.isArray(o)&&(o=[o]),m.isString(s)&&s.length){if("."===s)return this.root;s=s.split(".")}else if(!s.length)return this;if(""===s[0])return this.root.lookup(s.slice(1),o);var p=this.get(s[0]);if(!p){for(var c=0;c<this.nestedArray.length;++c)if(this.f[c]instanceof a&&(p=this.f[c].lookup(s,o,!0)))return p;}else if(1===s.length){if(!o||~o.indexOf(p.constructor))return p;}else if(p instanceof a&&(p=p.lookup(s.slice(1),o,!0)))return p;return null===this.parent||d?null:this.parent.lookup(s,o)},a.prototype.lookupType=function(e){var t=this.lookup(e,[E]);if(t)return t;throw Error("no such type: "+e)},a.prototype.lookupEnum=function(e){var t=this.lookup(e,[g]);if(t)return t;throw Error("no such Enum '"+e+"' in "+this)},a.prototype.lookupTypeOrEnum=function(e){var t=this.lookup(e,[E,g]);if(t)return t;throw Error("no such Type or Enum '"+e+"' in "+this)},a.prototype.lookupService=function(e){var t=this.lookup(e,[y]);if(t)return t;throw Error("no such Service '"+e+"' in "+this)},a.u=function(e,t,s){E=e,y=t,g=s}},{16:16,24:24,25:25,37:37}],24:[function(s,t,i){function n(e,t){if(!a.isString(e))throw TypeError("name must be a string");if(t&&!a.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}(t.exports=n).className="ReflectionObject";var a=s(37),e;Object.defineProperties(n.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),n.prototype.toJSON=function(){throw Error()},n.prototype.onAdd=function(n){this.parent&&this.parent!==n&&this.parent.remove(this),this.parent=n,this.resolved=!1,n=n.root,n instanceof e&&n.h(this)},n.prototype.onRemove=function(n){n=n.root,n instanceof e&&n.a(this),this.parent=null,this.resolved=!1},n.prototype.resolve=function(){return this.resolved||this.root instanceof e&&(this.resolved=!0),this},n.prototype.getOption=function(e){return this.options?this.options[e]:C},n.prototype.setOption=function(e,t,s){return s&&this.options&&this.options[e]!==C||((this.options||(this.options={}))[e]=t),this},n.prototype.setParsedOption=function(o,i,t){this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions,s,d;return t?(s=n.find(function(e){return Object.prototype.hasOwnProperty.call(e,o)}))?(d=s[o],a.setProperty(d,t,i)):((s={})[o]=a.setProperty({},t,i),n.push(s)):((d={})[o]=i,n.push(d)),this},n.prototype.setOptions=function(e,t){if(e)for(var s=Object.keys(e),n=0;n<s.length;++n)this.setOption(s[n],e[s[n]],t);return this},n.prototype.toString=function(){var e=this.constructor.className,t=this.fullName;return t.length?e+" "+t:e},n.u=function(n){e=n}},{37:37}],25:[function(a,t,i){function d(e,t,s,o){if(Array.isArray(t)||(s=t,t=C),p.call(this,e,s),t!==C&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=o}function o(e){if(e.parent)for(var t=0;t<e.fieldsArray.length;++t)e.fieldsArray[t].parent||e.parent.add(e.fieldsArray[t])}t.exports=d;var p=a(24),e=(((d.prototype=Object.create(p.prototype)).constructor=d).className="OneOf",a(16)),r=a(37);d.fromJSON=function(e,t){return new d(e,t.oneof,t.options,t.comment)},d.prototype.toJSON=function(e){return e=!!e&&!!e.keepComments,r.toObject(["options",this.options,"oneof",this.oneof,"comment",e?this.comment:C])},d.prototype.add=function(n){if(n instanceof e)return n.parent&&n.parent!==this.parent&&n.parent.remove(n),this.oneof.push(n.name),this.fieldsArray.push(n),o(n.partOf=this),this;throw TypeError("field must be a Field")},d.prototype.remove=function(n){if(!(n instanceof e))throw TypeError("field must be a Field");var t=this.fieldsArray.indexOf(n);if(0>t)throw Error(n+" is not a member of "+this);return this.fieldsArray.splice(t,1),-1<(t=this.oneof.indexOf(n.name))&&this.oneof.splice(t,1),n.partOf=null,this},d.prototype.onAdd=function(e){p.prototype.onAdd.call(this,e);for(var t=0,s;t<this.oneof.length;++t)s=e.get(this.oneof[t]),s&&!s.partOf&&(s.partOf=this).fieldsArray.push(s);o(this)},d.prototype.onRemove=function(e){for(var t=0,s;t<this.fieldsArray.length;++t)(s=this.fieldsArray[t]).parent&&s.parent.remove(s);p.prototype.onRemove.call(this,e)},d.d=function(){for(var e=Array(arguments.length),n=0;n<arguments.length;)e[n]=arguments[n++];return function(n,t){r.decorateType(n.constructor).add(new d(t,e)),Object.defineProperty(n,t,{get:r.oneOfGetter(e),set:r.oneOfSetter(e)})}}},{16:16,24:24,37:37}],26:[function(e,t,s){function ee(U,t,L){function G(e,t,s){var n=ee.filename;return s||(ee.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(n?n+", ":"")+"line "+Y.line+")")}function q(){var e=[],n;do if("\""!==(n=Q())&&"'"!==n)throw G(n);while((e.push(Q()),$(n),"\""===(n=J())||"'"===n));return e.join("")}function k(s){var o=Q();switch(o){case"'":case"\"":return K(o),q();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{var n=o,a=!0,r=1;switch("-"==(n[0]||"")&&(r=-1,n=n.substring(1)),n){case"inf":case"INF":case"Inf":return r*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(i.test(n))return r*parseInt(n,10);if(l.test(n))return r*parseInt(n,16);if(T.test(n))return r*parseInt(n,8);if(S.test(n))return r*parseFloat(n);throw G(n,"number",!0)}catch(e){if(s&&D.test(o))return o;throw G(o,"value")}}function O(e,t){for(var s;t&&("\""===(s=J())||"'"===s)?e.push(q()):e.push([s=P(Q()),$("to",!0)?P(Q()):s]),$(",",!0););$(";")}function P(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(t||"-"!=(e[0]||"")){if(r.test(e))return parseInt(e,10);if(u.test(e))return parseInt(e,16);if(f.test(e))return parseInt(e,8)}throw G(e,"id")}function A(o,t){switch(t){case"option":return V(o,t),$(";"),1;case"message":return B(o),1;case"enum":return j(o),1;case"service":var i=o,a=t,d;if(R.test(a=Q()))return x(d=new m(a),function(a){if(!A(d,a)){if("rpc"!==a)throw G(a);var p=d,i=v(),n=a;if(!R.test(a=Q()))throw G(a,"name");var r=a,c,l,m;if($("("),$("stream",!0)&&(l=!0),!D.test(a=Q()))throw G(a);if(c=a,$(")"),$("returns"),$("("),$("stream",!0)&&(m=!0),!D.test(a=Q()))throw G(a);a=a,$(")");var u=new E(r,n,c,a,l,m);u.comment=i,x(u,function(e){if("option"!==e)throw G(e);V(u,e),$(";")}),p.add(u)}}),i.add(d),1;throw G(a,"service name");case"extend":var p=o,i=t,s;if(D.test(i=Q()))return s=i,x(null,function(e){switch(e){case"required":case"repeated":F(p,e,s);break;case"optional":F(p,W?"proto3_optional":"optional",s);break;default:if(!W||!D.test(e))throw G(e);K(e),F(p,"optional",s)}}),1;throw G(i,"reference")}}function x(s,t,o){var n=Y.line,e;if(s&&("string"!=typeof s.comment&&(s.comment=v()),s.filename=ee.filename),$("{",!0)){for(;"}"!==(e=Q());)t(e);$(";",!0)}else o&&o(),$(";"),s&&("string"!=typeof s.comment||M)&&(s.comment=v(n)||s.comment)}function B(e,t){if(!R.test(t=Q()))throw G(t,"type name");var a=new n(t);x(a,function(d){if(!A(a,d))switch(d){case"map":var t=a,i=($("<"),Q());if(y.mapKey[i]===C)throw G(i,"type");$(",");var l=Q();if(!D.test(l))throw G(l,"type");$(">");var r=Q();if(!R.test(r))throw G(r,"name");$("=");var m=new p(X(r),P(Q()),i,l);x(m,function(e){if("option"!==e)throw G(e);V(m,e),$(";")},function(){_(m)}),t.add(m);break;case"required":case"repeated":F(a,d);break;case"optional":F(a,W?"proto3_optional":"optional");break;case"oneof":if(r=a,i=d,!R.test(i=Q()))throw G(i,"name");var s=new c(X(i));x(s,function(e){"option"===e?(V(s,e),$(";")):(K(e),F(s,"optional"))}),r.add(s);break;case"extensions":O(a.extensions||(a.extensions=[]));break;case"reserved":O(a.reserved||(a.reserved=[]),!0);break;default:if(!W||!D.test(d))throw G(d);K(d),F(a,"optional")}}),e.add(a)}function F(p,t,i){var l=Q();if("group"===l){var m=p,o=t,E=Q(),T,S;if(R.test(E))return S=g.lcFirst(E),E===S&&(E=g.ucFirst(E)),$("="),I=P(Q()),(T=new n(E)).group=!0,(S=new d(S,I,E,o)).filename=ee.filename,x(T,function(e){switch(e){case"option":V(T,e),$(";");break;case"required":case"repeated":F(T,e);break;case"optional":F(T,W?"proto3_optional":"optional");break;case"message":B(T);break;case"enum":j(T);break;default:throw G(e)}}),void m.add(T).add(S);throw G(E,"name")}for(;l.endsWith(".")||J().startsWith(".");)l+=Q();if(!D.test(l))throw G(l,"type");var I=Q();if(!R.test(I))throw G(I,"name");I=X(I),$("=");var O=new d(I,P(Q()),l,t,i);x(O,function(e){if("option"!==e)throw G(e);V(O,e),$(";")},function(){_(O)}),"proto3_optional"===t?(o=new c("_"+I),O.setOption("proto3_optional",!0),o.add(O),p.add(o)):p.add(O),W||!O.repeated||y.packed[l]===C&&y.basic[l]!==C||O.setOption("packed",!1,!0)}function j(e,t){if(!R.test(t=Q()))throw G(t,"name");var a=new o(t);x(a,function(s){switch(s){case"option":V(a,s),$(";");break;case"reserved":O(a.reserved||(a.reserved=[]),!0);break;default:var t=a,o=s;if(!R.test(o))throw G(o,"name");$("=");var n=P(Q(),!0),i={options:C,setOption:function(e,t){this.options===C&&(this.options={}),this.options[e]=t}};return x(i,function(e){if("option"!==e)throw G(e);V(i,e),$(";")},function(){_(i)}),void t.add(o,n,i.comment,i.options)}}),e.add(a)}function V(o,t){var a=$("(",!0);if(!D.test(t=Q()))throw G(t,"name");var d=t,p=d,a=(a&&($(")"),p=d="("+d+")",t=J(),N.test(t)&&(c=t.slice(1),d+=t,Q())),$("="),function n(a,i){if($("{",!0)){for(var t={};!$("}",!0);){if(!R.test(oe=Q()))throw G(oe,"name");if(null===oe)throw G(oe,"end of input");var r=oe,d,p;if($(":",!0),"{"===J())d=n(a,i+"."+oe);else if("["!==J())d=k(!0),H(a,i+"."+oe,d);else if(d=[],$("[",!0)){for(;p=k(!0),d.push(p),$(",",!0););$("]"),void 0!==p&&H(a,i+"."+oe,p)}var c=t[r];c&&(d=[].concat(c).concat(d)),t[r]=d,$(",",!0),$(";",!0)}return t}var l=k(!0);return H(a,i,l),l}(o,d)),c;t=p,d=a,p=c,(a=o).setParsedOption&&a.setParsedOption(t,d,p)}function H(e,t,s){e.setOption&&e.setOption(t,s)}function _(e){if($("[",!0)){for(;V(e,"option"),$(",",!0););$("]")}}t instanceof I||(L=t,t=new I);for(var M=(L=L||ee.defaults).preferTrailingComment||!1,Y=a(U,L.alternateCommentMode||!1),Q=Y.next,K=Y.push,J=Y.peek,$=Y.skip,v=Y.cmnt,b=!0,W=!1,z=t,X=L.keepCase?function(e){return e}:g.camelCase,Z,te,ne,se,oe,ie,re;null!==(oe=Q());)switch(oe){case"package":if(!b)throw G(oe);if(Z!==C)throw G("package");if(Z=Q(),!D.test(Z))throw G(Z,"name");z=z.define(Z),$(";");break;case"import":if(!b)throw G(oe);switch(re=ie=void 0,J()){case"weak":re=ne=ne||[],Q();break;case"public":Q();default:re=te=te||[]}ie=q(),$(";"),re.push(ie);break;case"syntax":if(!b)throw G(oe);if($("="),se=q(),!(W="proto3"===se)&&"proto2"!==se)throw G(se,"syntax");$(";");break;case"option":V(z,oe),$(";");break;default:if(A(z,oe)){b=!1;continue}throw G(oe)}return ee.filename=null,{package:Z,imports:te,weakImports:ne,syntax:se,root:t}}(t.exports=ee).filename=null,ee.defaults={keepCase:!1};var a=e(34),I=e(29),n=e(35),d=e(16),p=e(20),c=e(25),o=e(15),m=e(33),E=e(22),y=e(36),g=e(37),i=/^[1-9][0-9]*$/,r=/^-?[1-9][0-9]*$/,l=/^0[x][0-9a-fA-F]+$/,u=/^-?0[x][0-9a-fA-F]+$/,T=/^0[0-7]+$/,f=/^-?0[0-7]+$/,S=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,R=/^[a-zA-Z_][a-zA-Z_0-9]*$/,D=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,N=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/},{15:15,16:16,20:20,22:22,25:25,29:29,33:33,34:34,35:35,36:36,37:37}],27:[function(m,t,i){function E(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function n(e){this.buf=e,this.pos=0,this.len=e.length}function u(){return p.Buffer?function(e){return(n.create=function(e){return p.Buffer.isBuffer(e)?new c(e):o(e)})(e)}:o}function y(){var n=new e(0,0),t=0;if(!(4<this.len-this.pos)){for(;3>t;++t){if(this.pos>=this.len)throw E(this);if(n.lo=(n.lo|(127&this.buf[this.pos])<<7*t)>>>0,128>this.buf[this.pos++])return n}return n.lo=(n.lo|(127&this.buf[this.pos++])<<7*t)>>>0,n}for(;4>t;++t)if(n.lo=(n.lo|(127&this.buf[this.pos])<<7*t)>>>0,128>this.buf[this.pos++])return n;if(n.lo=(n.lo|(127&this.buf[this.pos])<<28)>>>0,n.hi=(n.hi|(127&this.buf[this.pos])>>4)>>>0,128>this.buf[this.pos++])return n;if(t=0,4<this.len-this.pos){for(;5>t;++t)if(n.hi=(n.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,128>this.buf[this.pos++])return n;}else for(;5>t;++t){if(this.pos>=this.len)throw E(this);if(n.hi=(n.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,128>this.buf[this.pos++])return n}throw Error("invalid varint encoding")}function l(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function d(){if(this.pos+8>this.len)throw E(this,8);return new e(l(this.buf,this.pos+=4),l(this.buf,this.pos+=4))}t.exports=n;var p=m(39),e=p.LongBits,s=p.utf8,o="undefined"==typeof Uint8Array?function(e){if(Array.isArray(e))return new n(e);throw Error("illegal buffer")}:function(e){if(e instanceof Uint8Array||Array.isArray(e))return new n(e);throw Error("illegal buffer")},c,g;n.create=u(),n.prototype.c=p.Array.prototype.subarray||p.Array.prototype.slice,n.prototype.uint32=(g=4294967295,function(){if(g=(127&this.buf[this.pos])>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<7)>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<14)>>>0,128>this.buf[this.pos++]||(g=(g|(127&this.buf[this.pos])<<21)>>>0,128>this.buf[this.pos++]||(g=(g|(15&this.buf[this.pos])<<28)>>>0,128>this.buf[this.pos++]||!((this.pos+=5)>this.len))))))return g;throw this.pos=this.len,E(this,10)}),n.prototype.int32=function(){return 0|this.uint32()},n.prototype.sint32=function(){var e=this.uint32();return 0|e>>>1^-(1&e)},n.prototype.bool=function(){return 0!==this.uint32()},n.prototype.fixed32=function(){if(this.pos+4>this.len)throw E(this,4);return l(this.buf,this.pos+=4)},n.prototype.sfixed32=function(){if(this.pos+4>this.len)throw E(this,4);return 0|l(this.buf,this.pos+=4)},n.prototype.float=function(){if(this.pos+4>this.len)throw E(this,4);var e=p.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},n.prototype.double=function(){if(this.pos+8>this.len)throw E(this,4);var e=p.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},n.prototype.bytes=function(){var e=this.uint32(),s=this.pos,o=this.pos+e;if(o>this.len)throw E(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(s,o):s===o?(e=p.Buffer)?e.alloc(0):new this.buf.constructor(0):this.c.call(this.buf,s,o)},n.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},n.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw E(this,e);this.pos+=e}else do if(this.pos>=this.len)throw E(this);while(128&this.buf[this.pos++]);return this},n.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},n.u=function(e){c=e,n.create=u(),c.u();var t=p.Long?"toLong":"toNumber";p.merge(n.prototype,{int64:function(){return y.call(this)[t](!1)},uint64:function(){return y.call(this)[t](!0)},sint64:function(){return y.call(this).zzDecode()[t](!1)},fixed64:function(){return d.call(this)[t](!0)},sfixed64:function(){return d.call(this)[t](!1)}})}},{39:39}],28:[function(o,t,i){function n(e){s.call(this,e)}t.exports=n;var s=o(27),r=((n.prototype=Object.create(s.prototype)).constructor=n,o(39));n.u=function(){r.Buffer&&(n.prototype.c=r.Buffer.prototype.slice)},n.prototype.string=function(){var n=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=e(this.pos+n,this.len)):this.buf.toString("utf-8",this.pos,this.pos=e(this.pos+n,this.len))},n.u()},{27:27,39:39}],29:[function(c,t,i){function n(e){a.call(this,"",e),this.deferred=[],this.files=[]}function m(){}function l(s,t){var o=t.parent.lookup(t.extend),i;if(o)return i=new e(t.fullName,t.id,t.type,t.rule,C,t.options),o.get(i.name)||((i.declaringField=t).extensionField=i,o.add(i)),1}t.exports=n;var a=c(23),e=(((n.prototype=Object.create(a.prototype)).constructor=n).className="Root",c(16)),s=c(15),o=c(25),E=c(37),u,y,g;n.fromJSON=function(e,t){return t=t||new n,e.options&&t.setOptions(e.options),t.addJSON(e.nested)},n.prototype.resolvePath=E.path.resolve,n.prototype.fetch=E.fetch,n.prototype.load=function S(d,p,T){function _(e,t){if(T){if(o)throw e;var s=T;T=null,s(e,t)}}function f(e){var n=e.lastIndexOf("google/protobuf/");return-1<n&&(e=e.substring(n),e in g)?e:null}function I(s,t){try{if(E.isString(t)&&"{"==(t[0]||"")&&(t=JSON.parse(t)),E.isString(t)){y.filename=s;var d=y(t,c,p),r=0,l;if(d.imports)for(;r<d.imports.length;++r)(l=f(d.imports[r])||c.resolvePath(s,d.imports[r]))&&a(l);if(d.weakImports)for(r=0;r<d.weakImports.length;++r)(l=f(d.weakImports[r])||c.resolvePath(s,d.weakImports[r]))&&a(l,!0)}else c.setOptions(t.options).addJSON(t.nested)}catch(e){_(e)}o||u||_(null,c)}function a(e,s){if(e=f(e)||e,!~c.files.indexOf(e))if(c.files.push(e),e in g)o?I(e,g[e]):(++u,setTimeout(function(){--u,I(e,g[e])}));else if(o){var i;try{i=E.fs.readFileSync(e).toString("utf8")}catch(e){return void(s||_(e))}I(e,i)}else++u,c.fetch(e,function(n,t){--u,T&&(n?s?u||_(null,c):_(n):I(e,t))})}"function"==typeof p&&(T=p,p=C);var c=this;if(!T)return E.asPromise(S,c,d,p);var o=T===m,u=0;E.isString(d)&&(d=[d]);for(var t=0,O;t<d.length;++t)(O=c.resolvePath("",d[t]))&&a(O);return o?c:(u||_(null,c),C)},n.prototype.loadSync=function(e,t){if(E.isNode)return this.load(e,t,m);throw Error("not supported")},n.prototype.resolveAll=function(){if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map(function(e){return"'extend "+e.extend+"' in "+e.parent.fullName}).join(", "));return a.prototype.resolveAll.call(this)};var T=/^[A-Z]/;n.prototype.h=function(r){if(r instanceof e)r.extend===C||r.extensionField||l(0,r)||this.deferred.push(r);else if(r instanceof s)T.test(r.name)&&(r.parent[r.name]=r.values);else if(!(r instanceof o)){if(r instanceof u)for(var t=0;t<this.deferred.length;)l(0,this.deferred[t])?this.deferred.splice(t,1):++t;for(var a=0;a<r.nestedArray.length;++a)this.h(r.f[a]);T.test(r.name)&&(r.parent[r.name]=r)}},n.prototype.a=function(o){var t;if(o instanceof e)o.extend!==C&&(o.extensionField?(o.extensionField.parent.remove(o.extensionField),o.extensionField=null):-1<(t=this.deferred.indexOf(o))&&this.deferred.splice(t,1));else if(o instanceof s)T.test(o.name)&&delete o.parent[o.name];else if(o instanceof a){for(var r=0;r<o.nestedArray.length;++r)this.a(o.f[r]);T.test(o.name)&&delete o.parent[o.name]}},n.u=function(e,t,s){u=e,y=t,g=s}},{15:15,16:16,23:23,25:25,37:37}],30:[function(e,t,s){t.exports={}},{}],31:[function(e,t,s){s.Service=e(32)},{32:32}],32:[function(e,t,s){function n(e,t,s){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");a.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=!!t,this.responseDelimited=!!s}t.exports=n;var a=e(39);((n.prototype=Object.create(a.EventEmitter.prototype)).constructor=n).prototype.rpcCall=function s(d,n,p,i,e){if(!i)throw TypeError("request must be specified");var r=this;if(!e)return a.asPromise(s,r,d,n,p,i);if(!r.rpcImpl)return setTimeout(function(){e(Error("already ended"))},0),C;try{return r.rpcImpl(d,n[r.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(n,t){if(n)return r.emit("error",n,d),e(n);if(null===t)return r.end(!0),C;if(!(t instanceof p))try{t=p[r.responseDelimited?"decodeDelimited":"decode"](t)}catch(n){return r.emit("error",n,d),e(n)}return r.emit("data",t,d),e(null,t)})}catch(n){return r.emit("error",n,d),setTimeout(function(){e(n)},0),C}},n.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{39:39}],33:[function(a,t,i){function d(n,t){e.call(this,n,t),this.methods={},this.l=null}function n(e){return e.l=null,e}t.exports=d;var e=a(23),o=(((d.prototype=Object.create(e.prototype)).constructor=d).className="Service",a(22)),p=a(37),c=a(31);d.fromJSON=function(s,t){var i=new d(s,t.options);if(t.methods)for(var n=Object.keys(t.methods),r=0;r<n.length;++r)i.add(o.fromJSON(n[r],t.methods[n[r]]));return t.nested&&i.addJSON(t.nested),i.comment=t.comment,i},d.prototype.toJSON=function(s){var t=e.prototype.toJSON.call(this,s),o=!!s&&!!s.keepComments;return p.toObject(["options",t&&t.options||C,"methods",e.arrayToJSON(this.methodsArray,s)||{},"nested",t&&t.nested||C,"comment",o?this.comment:C])},Object.defineProperty(d.prototype,"methodsArray",{get:function(){return this.l||(this.l=p.toArray(this.methods))}}),d.prototype.get=function(n){return this.methods[n]||e.prototype.get.call(this,n)},d.prototype.resolveAll=function(){for(var n=this.methodsArray,t=0;t<n.length;++t)n[t].resolve();return e.prototype.resolve.call(this)},d.prototype.add=function(s){if(this.get(s.name))throw Error("duplicate name '"+s.name+"' in "+this);return s instanceof o?n((this.methods[s.name]=s).parent=this):e.prototype.add.call(this,s)},d.prototype.remove=function(s){if(s instanceof o){if(this.methods[s.name]!==s)throw Error(s+" is not a member of "+this);return delete this.methods[s.name],s.parent=null,n(this)}return e.prototype.remove.call(this,s)},d.prototype.create=function(a,t,i){for(var n=new c.Service(a,t,i),e=0,d,l;e<this.methodsArray.length;++e)l=p.lcFirst((d=this.l[e]).resolve().name).replace(/[^$\w_]/g,""),n[l]=p.codegen(["r","c"],p.isReserved(l)?l+"_":l)("return this.rpcCall(m,q,s,r,c)")({m:d,q:d.resolvedRequestType.ctor,s:d.resolvedResponseType.ctor});return n}},{22:22,23:23,31:31,37:37}],34:[function(o,t,i){function n(e){return e.replace(E,function(e,t){return"\\"===t||""===t?t:r[t]||""})}function a(E,T){function a(e){return Error("illegal "+e+" (line "+O+")")}function y(e){return E[0|e]||""}function t(a,d,i){var p={type:E[0|a++]||"",lineEmpty:!1,leading:i},i=T?2:3,e=a-i,y;do if(0>--e||"\n"==(y=E[0|e]||"")){p.lineEmpty=!0;break}while(" "===y||"\t"===y);for(var g=E.substring(a,d).split(m),o=0;o<g.length;++o)g[o]=g[o].replace(T?l:c,"").trim();p.text=g.join("\n").trim(),A[O]=p,N=O}function i(e){var n=g(e),e=E.substring(e,n);return /^\s*\/\//.test(e)}function g(e){for(var t=e;t<I&&"\n"!==y(t);)t++;return t}function o(){if(0<R.length)return R.shift();if(v){var c="'"===v?d:s,l=(c.lastIndex=_-1,c.exec(E));if(l)return _=c.lastIndex,r(v),v=null,n(l[1]);throw a("string")}var d=0===_,m,C,S,N,A;do{if(_===I)return null;for(m=!1;u.test(S=y(_));)if("\n"===S&&(d=!0,++O),++_===I)return null;if("/"===y(_)){if(++_===I)throw a("comment");if("/"!==y(_)){if("*"!==(S=y(_)))return"/";N=_+1,A=T||"*"===y(N);do if("\n"===S&&++O,++_===I)throw a("comment");while((C=S,S=y(_),"*"!==C||"/"!==S));++_,A&&(t(N,_-2,d),d=!0)}else if(T){if(A=!1,i((N=_)-1))for(A=!0;(_=g(_))!==I&&(_++,d&&i(_)););else _=e(I,g(_)+1);A&&(t(N,_,d),d=!0),O++}else{for(A="/"===y(N=_+1);"\n"!==y(++_);)if(_===I)return null;++_,A&&(t(N,_-1,d),d=!0),++O}m=!0}}while(m);var h=_;if(p.lastIndex=0,!p.test(y(h++)))for(;h<I&&!p.test(y(h));)++h;return c=E.substring(_,_=h),"\""!=c&&"'"!=c||(v=c),c}function r(e){R.push(e)}function S(){if(!R.length){var e=o();if(null===e)return null;r(e)}return R[0]}E=E.toString();var _=0,I=E.length,O=1,N=0,A={},R=[],v=null;return Object.defineProperty({next:o,peek:S,push:r,skip:function(e,t){var s=S();if(s===e)return o(),!0;if(t)return!1;throw a("token '"+s+"', '"+e+"' expected")},cmnt:function(e){var t=null,s;return e===C?(s=A[O-1],delete A[O-1],s&&(T||"*"===s.type||s.lineEmpty)&&(t=s.leading?s.text:null)):(N<e&&S(),s=A[e],delete A[e],!s||s.lineEmpty||!T&&"/"!==s.type||(t=s.leading?null:s.text)),t}},"line",{get:function(){return O}})}t.exports=a;var p=/[\s{}=;:[\],'"()<>]/g,s=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,d=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,c=/^ *[*/]+ */,l=/^\s*\*?\/*/,m=/\n/g,u=/\s/,E=/\\(.?)/g,r={0:"\0",r:"\r",n:"\n",t:"\t"};a.unescape=n},{}],35:[function(E,t,i){function g(e,t){m.call(this,e,t),this.fields={},this.oneofs=C,this.extensions=C,this.reserved=C,this.group=C,this.p=null,this.e=null,this.v=null,this.b=null}function n(e){return e.p=e.e=e.v=null,delete e.encode,delete e.decode,delete e.verify,e}t.exports=g;var m=E(23),o=(((g.prototype=Object.create(m.prototype)).constructor=g).className="Type",E(15)),u=E(25),T=E(16),f=E(20),a=E(33),r=E(21),e=E(27),s=E(42),c=E(37),d=E(14),p=E(13),l=E(40),S=E(12),y=E(41);Object.defineProperties(g.prototype,{fieldsById:{get:function(){if(!this.p){this.p={};for(var e=Object.keys(this.fields),t=0;t<e.length;++t){var s=this.fields[e[t]],o=s.id;if(this.p[o])throw Error("duplicate id "+o+" in "+this);this.p[o]=s}}return this.p}},fieldsArray:{get:function(){return this.e||(this.e=c.toArray(this.fields))}},oneofsArray:{get:function(){return this.v||(this.v=c.toArray(this.oneofs))}},ctor:{get:function(){return this.b||(this.ctor=g.generateConstructor(this)())},set:function(e){for(var t=e.prototype,s=(t instanceof r||((e.prototype=new r).constructor=e,c.merge(e.prototype,t)),e.$type=e.prototype.$type=this,c.merge(e,r,!0),this.b=e,0);s<this.fieldsArray.length;++s)this.e[s].resolve();for(var o={},s=0;s<this.oneofsArray.length;++s)o[this.v[s].resolve().name]={get:c.oneOfGetter(this.v[s].oneof),set:c.oneOfSetter(this.v[s].oneof)};s&&Object.defineProperties(e.prototype,o)}}}),g.generateConstructor=function(e){for(var t=c.codegen(["p"],e.name),n=0,s;n<e.fieldsArray.length;++n)(s=e.e[n]).map?t("this%s={}",c.safeProp(s.name)):s.repeated&&t("this%s=[]",c.safeProp(s.name));return t("if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)")("this[ks[i]]=p[ks[i]]")},g.fromJSON=function(d,t){for(var i=new g(d,t.options),n=(i.extensions=t.extensions,i.reserved=t.reserved,Object.keys(t.fields)),p=0;p<n.length;++p)i.add((void 0===t.fields[n[p]].keyType?T:f).fromJSON(n[p],t.fields[n[p]]));if(t.oneofs)for(n=Object.keys(t.oneofs),p=0;p<n.length;++p)i.add(u.fromJSON(n[p],t.oneofs[n[p]]));if(t.nested)for(n=Object.keys(t.nested),p=0;p<n.length;++p){var c=t.nested[n[p]];i.add((c.id===C?c.fields===C?c.values===C?c.methods===C?m:a:o:g:T).fromJSON(n[p],c))}return t.extensions&&t.extensions.length&&(i.extensions=t.extensions),t.reserved&&t.reserved.length&&(i.reserved=t.reserved),t.group&&(i.group=!0),t.comment&&(i.comment=t.comment),i},g.prototype.toJSON=function(e){var t=m.prototype.toJSON.call(this,e),s=!!e&&!!e.keepComments;return c.toObject(["options",t&&t.options||C,"oneofs",m.arrayToJSON(this.oneofsArray,e),"fields",m.arrayToJSON(this.fieldsArray.filter(function(e){return!e.declaringField}),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:C,"reserved",this.reserved&&this.reserved.length?this.reserved:C,"group",this.group||C,"nested",t&&t.nested||C,"comment",s?this.comment:C])},g.prototype.resolveAll=function(){for(var e=this.fieldsArray,t=0;t<e.length;)e[t++].resolve();for(var s=this.oneofsArray,t=0;t<s.length;)s[t++].resolve();return m.prototype.resolveAll.call(this)},g.prototype.get=function(e){return this.fields[e]||this.oneofs&&this.oneofs[e]||this.nested&&this.nested[e]||null},g.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof T&&e.extend===C){if((this.p||this.fieldsById)[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name))throw Error("name '"+e.name+"' is reserved in "+this);return e.parent&&e.parent.remove(e),(this.fields[e.name]=e).message=this,e.onAdd(this),n(this)}return e instanceof u?(this.oneofs||(this.oneofs={}),(this.oneofs[e.name]=e).onAdd(this),n(this)):m.prototype.add.call(this,e)},g.prototype.remove=function(e){if(e instanceof T&&e.extend===C){if(this.fields&&this.fields[e.name]===e)return delete this.fields[e.name],e.parent=null,e.onRemove(this),n(this);throw Error(e+" is not a member of "+this)}if(e instanceof u){if(this.oneofs&&this.oneofs[e.name]===e)return delete this.oneofs[e.name],e.parent=null,e.onRemove(this),n(this);throw Error(e+" is not a member of "+this)}return m.prototype.remove.call(this,e)},g.prototype.isReservedId=function(e){return m.isReservedId(this.reserved,e)},g.prototype.isReservedName=function(e){return m.isReservedName(this.reserved,e)},g.prototype.create=function(e){return new this.ctor(e)},g.prototype.setup=function(){for(var o=this.fullName,a=[],i=0;i<this.fieldsArray.length;++i)a.push(this.e[i].resolve().resolvedType);this.encode=d(this)({Writer:s,types:a,util:c}),this.decode=p(this)({Reader:e,types:a,util:c}),this.verify=l(this)({types:a,util:c}),this.fromObject=S.fromObject(this)({types:a,util:c}),this.toObject=S.toObject(this)({types:a,util:c});var o=y[o],m;return o&&((m=Object.create(this)).fromObject=this.fromObject,this.fromObject=o.fromObject.bind(m),m.toObject=this.toObject,this.toObject=o.toObject.bind(m)),this},g.prototype.encode=function(e,t){return this.setup().encode(e,t)},g.prototype.encodeDelimited=function(e,t){return this.encode(e,t&&t.len?t.fork():t).ldelim()},g.prototype.decode=function(e,t){return this.setup().decode(e,t)},g.prototype.decodeDelimited=function(n){return n instanceof e||(n=e.create(n)),this.decode(n,n.uint32())},g.prototype.verify=function(e){return this.setup().verify(e)},g.prototype.fromObject=function(e){return this.setup().fromObject(e)},g.prototype.toObject=function(e,t){return this.setup().toObject(e,t)},g.d=function(e){return function(n){c.decorateType(n,e)}}},{12:12,13:13,14:14,15:15,16:16,20:20,21:21,23:23,25:25,27:27,33:33,37:37,40:40,41:41,42:42}],36:[function(s,o,i){function n(e,t){var s=0,o={};for(t|=0;s<e.length;)o[a[s+t]]=e[s++];return o}var s=s(37),a=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];i.basic=n([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]),i.defaults=n([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",s.emptyArray,null]),i.long=n([0,0,0,1,1],7),i.mapKey=n([0,0,0,5,5,0,0,0,1,1,0,2],2),i.packed=n([1,5,0,0,0,5,5,0,0,0,1,1,0])},{37:37}],37:[function(d,n,t){var p=n.exports=d(39),s=d(30),o=(p.codegen=d(3),p.fetch=d(5),p.path=d(8),p.fs=p.inquire("fs"),p.toArray=function(e){if(e){for(var t=Object.keys(e),s=Array(t.length),n=0;n<t.length;)s[n]=e[t[n++]];return s}return[]},p.toObject=function(s){for(var t={},o=0;o<s.length;){var i=s[o++],a=s[o++];a!==C&&(t[i]=a)}return t},/\\/g),i=/"/g,c=(p.isReserved=function(e){return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(e)},p.safeProp=function(e){return!/^[$\w_]+$/.test(e)||p.isReserved(e)?"[\""+e.replace(o,"\\\\").replace(i,"\\\"")+"\"]":"."+e},p.ucFirst=function(e){return(e[0]||"").toUpperCase()+e.substring(1)},/_([a-z])/g),l=(p.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(c,function(e,t){return t.toUpperCase()})},p.compareFieldsById=function(e,t){return e.id-t.id},p.decorateType=function(e,t){return e.$type?(t&&e.$type.name!==t&&(p.decorateRoot.remove(e.$type),e.$type.name=t,p.decorateRoot.add(e.$type)),e.$type):(t=new(m=m||d(35))(t||e.name),p.decorateRoot.add(t),t.ctor=e,Object.defineProperty(e,"$type",{value:t,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:t,enumerable:!1}),t)},0),m,u;p.decorateEnum=function(e){var t;return e.$type||(t=new(u=u||d(15))("Enum"+l++,e),p.decorateRoot.add(t),Object.defineProperty(e,"$type",{value:t,enumerable:!1}),t)},p.setProperty=function(e,t,s){if("object"!=typeof e)throw TypeError("dst must be an object");if(t)return function a(s,o,i){var t=o.shift();return"__proto__"!==t&&"prototype"!==t&&(0<o.length?s[t]=a(s[t]||{},o,i):((o=s[t])&&(i=[].concat(o).concat(i)),s[t]=i)),s}(e,t=t.split("."),s);throw TypeError("path must be specified")},Object.defineProperty(p,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(d(29)))}})},{15:15,29:29,3:3,30:30,35:35,39:39,5:5,8:8}],38:[function(a,t,i){function d(e,t){this.lo=e>>>0,this.hi=t>>>0}t.exports=d;var e=a(39),r=d.zero=new d(0,0),n=(r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1},d.zeroHash="\0\0\0\0\0\0\0\0",d.fromNumber=function(e){var s,o;return 0===e?r:(o=(e=(s=0>e)?-e:e)>>>0,e=(e-o)/4294967296>>>0,s&&(e=~e>>>0,o=~o>>>0,4294967295<++o&&(o=0,4294967295<++e&&(e=0))),new d(o,e))},d.from=function(n){if("number"==typeof n)return d.fromNumber(n);if(e.isString(n)){if(!e.Long)return d.fromNumber(parseInt(n,10));n=e.Long.fromString(n)}return n.low||n.high?new d(n.low>>>0,n.high>>>0):r},d.prototype.toNumber=function(e){var n;return!e&&this.hi>>>31?(e=1+~this.lo>>>0,n=~this.hi>>>0,-(e+4294967296*(n=e?n:n+1>>>0))):this.lo+4294967296*this.hi},d.prototype.toLong=function(n){return e.Long?new e.Long(0|this.lo,0|this.hi,!!n):{low:0|this.lo,high:0|this.hi,unsigned:!!n}},String.prototype.charCodeAt);d.fromHash=function(e){return"\0\0\0\0\0\0\0\0"===e?r:new d((n.call(e,0)|n.call(e,1)<<8|n.call(e,2)<<16|n.call(e,3)<<24)>>>0,(n.call(e,4)|n.call(e,5)<<8|n.call(e,6)<<16|n.call(e,7)<<24)>>>0)},d.prototype.toHash=function(){return p(255&this.lo,255&this.lo>>>8,255&this.lo>>>16,this.lo>>>24,255&this.hi,255&this.hi>>>8,255&this.hi>>>16,this.hi>>>24)},d.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},d.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},d.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,s=this.hi>>>24;return 0==s?0==t?16384>e?128>e?1:2:2097152>e?3:4:16384>t?128>t?5:6:2097152>t?7:8:128>s?9:10}},{39:39}],39:[function(o,t,i){function a(s,t,o){for(var n=Object.keys(t),i=0;i<n.length;++i)s[n[i]]!==C&&o||(s[n[i]]=t[n[i]]);return s}function e(e){function s(e,t){return this instanceof s?void(Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:Error().stack||""}),t&&a(this,t)):new s(e,t)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:C,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}var s=i;s.asPromise=o(1),s.base64=o(2),s.EventEmitter=o(4),s.float=o(6),s.inquire=o(7),s.utf8=o(10),s.pool=o(9),s.LongBits=o(38),s.isNode=!!("undefined"!=typeof global&&global&&global.process&&global.process.versions&&global.process.versions.node),s.global=s.isNode&&global||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,s.emptyArray=Object.freeze?Object.freeze([]):[],s.emptyObject=Object.freeze?Object.freeze({}):{},s.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&d(e)===e},s.isString=function(e){return"string"==typeof e||e instanceof String},s.isObject=function(e){return e&&"object"==typeof e},s.isset=s.isSet=function(e,t){var s=e[t];return null!=s&&e.hasOwnProperty(t)&&("object"!=typeof s||0<(Array.isArray(s)?s:Object.keys(s)).length)},s.Buffer=function(){try{var e=s.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),s.y=null,s.w=null,s.newBuffer=function(e){return"number"==typeof e?s.Buffer?s.w(e):new s.Array(e):s.Buffer?s.y(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},s.Array="undefined"==typeof Uint8Array?Array:Uint8Array,s.Long=s.global.dcodeIO&&s.global.dcodeIO.Long||s.global.Long||s.inquire("long"),s.key2Re=/^true|false|0|1$/,s.key32Re=/^-?(?:0|[1-9][0-9]*)$/,s.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,s.longToHash=function(e){return e?s.LongBits.from(e).toHash():s.LongBits.zeroHash},s.longFromHash=function(e,n){return e=s.LongBits.fromHash(e),s.Long?s.Long.fromBits(e.lo,e.hi,n):e.toNumber(!!n)},s.merge=a,s.lcFirst=function(e){return(e[0]||"").toLowerCase()+e.substring(1)},s.newError=e,s.ProtocolError=e("ProtocolError"),s.oneOfGetter=function(e){for(var s={},t=0;t<e.length;++t)s[e[t]]=1;return function(){for(var e=Object.keys(this),t=e.length-1;-1<t;--t)if(1===s[e[t]]&&this[e[t]]!==C&&null!==this[e[t]])return e[t]}},s.oneOfSetter=function(e){return function(n){for(var t=0;t<e.length;++t)e[t]!==n&&delete this[e[t]]}},s.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},s.u=function(){var e=s.Buffer;e?(s.y=e.from!==Uint8Array.from&&e.from||function(n,t){return new e(n,t)},s.w=e.allocUnsafe||function(n){return new e(n)}):s.y=s.w=null}},{1:1,10:10,2:2,38:38,4:4,6:6,7:7,9:9}],40:[function(e,t,s){function d(e,t){return e.name+": "+t+(e.repeated&&"array"!==t?"[]":e.map&&"object"!==t?"{k:"+e.keyType+"}":"")+" expected"}function n(o,t,i,n){if(!t.resolvedType)switch(t.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":o("if(!util.isInteger(%s))",n)("return%j",d(t,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":o("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",n,n,n,n)("return%j",d(t,"integer|Long"));break;case"float":case"double":o("if(typeof %s!==\"number\")",n)("return%j",d(t,"number"));break;case"bool":o("if(typeof %s!==\"boolean\")",n)("return%j",d(t,"boolean"));break;case"string":o("if(!util.isString(%s))",n)("return%j",d(t,"string"));break;case"bytes":o("if(!(%s&&typeof %s.length===\"number\"||util.isString(%s)))",n,n,n)("return%j",d(t,"buffer"))}else if(t.resolvedType instanceof a){o("switch(%s){",n)("default:")("return%j",d(t,"enum value"));for(var r=Object.keys(t.resolvedType.values),e=0;e<r.length;++e)o("case %i:",t.resolvedType.values[r[e]]);o("break")("}")}else o("{")("var e=types[%i].verify(%s);",i,n)("if(e)")("return%j+e",t.name+".")("}");return o}t.exports=function(a){var t=p.codegen(["m"],a.name+"$verify")("if(typeof m!==\"object\"||m===null)")("return%j","object expected"),i=a.oneofsArray,c={};i.length&&t("var p={}");for(var r=0;r<a.fieldsArray.length;++r){var l=a.e[r].resolve(),m="m"+p.safeProp(l.name),E;l.optional&&t("if(%s!=null&&m.hasOwnProperty(%j)){",m,l.name),l.map?(t("if(!util.isObject(%s))",m)("return%j",d(l,"object"))("var k=Object.keys(%s)",m)("for(var i=0;i<k.length;++i){"),function(e,t,s){switch(t.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.key32Re.test(%s))",s)("return%j",d(t,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.key64Re.test(%s))",s)("return%j",d(t,"integer|Long key"));break;case"bool":e("if(!util.key2Re.test(%s))",s)("return%j",d(t,"boolean key"))}}(t,l,"k[i]"),n(t,l,r,m+"[k[i]]")("}")):l.repeated?(t("if(!Array.isArray(%s))",m)("return%j",d(l,"array"))("for(var i=0;i<%s.length;++i){",m),n(t,l,r,m+"[i]")("}")):(l.partOf&&(E=p.safeProp(l.partOf.name),1===c[l.partOf.name]&&t("if(p%s===1)",E)("return%j",l.partOf.name+": multiple values"),c[l.partOf.name]=1,t("p%s=1",E)),n(t,l,r,m)),l.optional&&t("}")}return t("return null")};var a=e(15),p=e(37)},{15:15,37:37}],41:[function(e,t,s){var a=e(21);s[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(1+e["@type"].lastIndexOf("/")),t=this.lookup(t),s;if(t)return~(s="."==(e["@type"][0]||"")?e["@type"].slice(1):e["@type"]).indexOf("/")||(s="/"+s),this.create({type_url:s,value:t.encode(t.fromObject(e)).finish()})}return this.fromObject(e)},toObject:function(o,d){var i="",p="",c,l;return d&&d.json&&o.type_url&&o.value&&(p=o.type_url.substring(1+o.type_url.lastIndexOf("/")),i=o.type_url.substring(0,1+o.type_url.lastIndexOf("/")),(c=this.lookup(p))&&(o=c.decode(o.value))),!(o instanceof this.ctor)&&o instanceof a?(c=o.$type.toObject(o,d),l="."===o.$type.fullName[0]?o.$type.fullName.slice(1):o.$type.fullName,c["@type"]=p=(i=""===i?"type.googleapis.com/":i)+l,c):this.toObject(o,d)}}},{21:21}],42:[function(m,t,i){function E(e,t,s){this.fn=e,this.len=t,this.next=C,this.val=s}function n(){}function g(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new E(n,0,0),this.tail=this.head,this.states=null}function c(){return f.Buffer?function(){return(a.create=function(){return new u})()}:function(){return new a}}function l(e,t,s){t[s]=255&e}function d(e,t){this.len=e,this.next=C,this.val=t}function p(e,t,s){for(;e.hi;)t[s++]=128|127&e.lo,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;127<e.lo;)t[s++]=128|127&e.lo,e.lo>>>=7;t[s++]=e.lo}function T(e,t,s){t[s]=255&e,t[s+1]=255&e>>>8,t[s+2]=255&e>>>16,t[s+3]=e>>>24}t.exports=a;var f=m(39),e=f.LongBits,s=f.base64,o=f.utf8,u;a.create=c(),a.alloc=function(e){return new f.Array(e)},f.Array!==Array&&(a.alloc=f.pool(a.alloc,f.Array.prototype.subarray)),a.prototype.g=function(e,t,s){return this.tail=this.tail.next=new E(e,t,s),this.len+=t,this},(d.prototype=Object.create(E.prototype)).fn=function(e,s,o){for(;127<e;)s[o++]=128|127&e,e>>>=7;s[o]=e},a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new d(128>(e>>>=0)?1:16384>e?2:2097152>e?3:268435456>e?4:5,e)).len,this},a.prototype.int32=function(n){return 0>n?this.g(p,10,e.fromNumber(n)):this.uint32(n)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.int64=a.prototype.uint64=function(n){return n=e.from(n),this.g(p,n.length(),n)},a.prototype.sint64=function(n){return n=e.from(n).zzEncode(),this.g(p,n.length(),n)},a.prototype.bool=function(e){return this.g(l,1,e?1:0)},a.prototype.sfixed32=a.prototype.fixed32=function(e){return this.g(T,4,e>>>0)},a.prototype.sfixed64=a.prototype.fixed64=function(n){return n=e.from(n),this.g(T,4,n.lo).g(T,4,n.hi)},a.prototype.float=function(e){return this.g(f.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this.g(f.float.writeDoubleLE,8,e)};var S=f.Array.prototype.set?function(e,t,s){t.set(e,s)}:function(e,t,s){for(var n=0;n<e.length;++n)t[s+n]=e[n]};a.prototype.bytes=function(e){var o=e.length>>>0,r;return o?(f.isString(e)&&(r=a.alloc(o=s.length(e)),s.decode(e,r,0),e=r),this.uint32(o).g(S,o,e)):this.g(l,1,0)},a.prototype.string=function(e){var t=o.length(e);return t?this.uint32(t).g(o.write,t,e):this.g(l,1,0)},a.prototype.fork=function(){return this.states=new g(this),this.head=this.tail=new E(n,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new E(n,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,s=this.len;return this.reset().uint32(s),s&&(this.tail.next=e.next,this.tail=t,this.len+=s),this},a.prototype.finish=function(){for(var e=this.head.next,s=this.constructor.alloc(this.len),o=0;e;)e.fn(e.val,s,o),o+=e.len,e=e.next;return s},a.u=function(e){u=e,a.create=c(),u.u()}},{39:39}],43:[function(a,t,i){function n(){o.call(this)}function s(e,t,s){40>e.length?r.utf8.write(e,t,s):t.utf8Write?t.utf8Write(e,s):t.write(e,s)}t.exports=n;var o=a(42),r=((n.prototype=Object.create(o.prototype)).constructor=n,a(39));n.u=function(){n.alloc=r.w,n.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,s){t.set(e,s)}:function(e,t,s){if(e.copy)e.copy(t,s,0,e.length);else for(var o=0;o<e.length;)t[s++]=e[o++]}},n.prototype.bytes=function(e){var s=(e=r.isString(e)?r.y(e,"base64"):e).length>>>0;return this.uint32(s),s&&this.g(n.writeBytesBuffer,s,e),this},n.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this.g(s,t,e),this},n.u()},{39:39,42:42}]},{},[19])}();var $protobuf={...JProtobuf};/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/const $root=($protobuf.roots["default"]||($protobuf.roots["default"]=new $protobuf.Root)).addJSON({codec:{nested:{ConnectMsgBody:{fields:{protoId:{type:"string",id:1},sdkVersion:{type:"string",id:2},appkey:{type:"string",id:3},token:{type:"string",id:4},deviceId:{type:"string",id:5},platform:{type:"string",id:6},deviceCompany:{type:"string",id:7},deviceModel:{type:"string",id:8},deviceOsVersion:{type:"string",id:9},pushToken:{type:"string",id:10},networkId:{type:"string",id:11},ispNum:{type:"string",id:12},clientIp:{type:"string",id:13},packageName:{type:"string",id:14},pushChannel:{type:"string",id:15},ext:{type:"string",id:16},clientSession:{type:"string",id:17}}},ConnectAckMsgBody:{fields:{code:{type:"int32",id:1},userId:{type:"string",id:2},session:{type:"string",id:3},timestamp:{type:"int64",id:4},ext:{type:"string",id:5}}},DisconnectMsgBody:{fields:{code:{type:"int32",id:1},timestamp:{type:"int64",id:2},ext:{type:"string",id:3}}},PublishMsgBody:{fields:{index:{type:"int32",id:1},topic:{type:"string",id:2},targetId:{type:"string",id:3},timestamp:{type:"int64",id:4},data:{type:"bytes",id:5}}},PublishAckMsgBody:{fields:{index:{type:"int32",id:1},code:{type:"int32",id:2},msgId:{type:"string",id:3},timestamp:{type:"int64",id:4},msgIndex:{type:"int64",id:5}}},QueryMsgBody:{fields:{index:{type:"int32",id:1},topic:{type:"string",id:2},targetId:{type:"string",id:3},timestamp:{type:"int64",id:4},data:{type:"bytes",id:5}}},QueryAckMsgBody:{fields:{index:{type:"int32",id:1},code:{type:"int32",id:2},timestamp:{type:"int64",id:3},data:{type:"bytes",id:4}}},QueryConfirmMsgBody:{fields:{index:{type:"int32",id:1}}},ImWebsocketMsg:{oneofs:{testof:{oneof:["connectMsgBody","ConnectAckMsgBody","disconnectMsgBody","publishMsgBody","pubAckMsgBody","qryMsgBody","qryAckMsgBody","qryConfirmMsgBody"]}},fields:{version:{type:"int32",id:1},cmd:{type:"int32",id:2},qos:{type:"int32",id:3},payload:{type:"bytes",id:4},connectMsgBody:{type:"ConnectMsgBody",id:11},ConnectAckMsgBody:{type:"ConnectAckMsgBody",id:12},disconnectMsgBody:{type:"DisconnectMsgBody",id:13},publishMsgBody:{type:"PublishMsgBody",id:14},pubAckMsgBody:{type:"PublishAckMsgBody",id:15},qryMsgBody:{type:"QueryMsgBody",id:16},qryAckMsgBody:{type:"QueryAckMsgBody",id:17},qryConfirmMsgBody:{type:"QueryConfirmMsgBody",id:18}}},ChannelType:{values:{Private:1,Group:2,Chatroom:3,System:4}},PushData:{fields:{title:{type:"string",id:1},pushId:{type:"string",id:2},pushText:{type:"string",id:3},pushExtraData:{type:"string",id:4}}},QryHisMsgsReq:{fields:{converId:{type:"string",id:1},type:{type:"ChannelType",id:2},startTime:{type:"int64",id:3},count:{type:"int32",id:4},order:{type:"int32",id:5},msgTypes:{rule:"repeated",type:"string",id:6}}},DownMsgSet:{fields:{msgs:{rule:"repeated",type:"DownMsg",id:1},syncTime:{type:"int64",id:2},isFinished:{type:"bool",id:3},targetUserInfo:{type:"UserInfo",id:4},groupInfo:{type:"GroupInfo",id:5}}},UpMsg:{fields:{msgType:{type:"string",id:1},msgContent:{type:"bytes",id:2},flags:{type:"int32",id:3},clientUid:{type:"string",id:4},pushData:{type:"PushData",id:5},mentionInfo:{type:"MentionInfo",id:6},referMsg:{type:"DownMsg",id:7},toUserIds:{rule:"repeated",type:"string",id:8},mergedMsgs:{type:"MergedMsgs",id:9}}},MentionInfo:{fields:{mentionType:{type:"MentionType",id:1},targetUsers:{rule:"repeated",type:"UserInfo",id:2}}},MentionType:{values:{MentionDefault:0,MentionAll:1,MentionSomeone:2}},DownMsg:{fields:{targetId:{type:"string",id:1},type:{type:"ChannelType",id:2},msgType:{type:"string",id:3},senderId:{type:"string",id:4},msgId:{type:"string",id:5},msgIndex:{type:"int64",id:6},msgContent:{type:"bytes",id:7},msgTime:{type:"int64",id:8},flags:{type:"int32",id:9},isSend:{type:"bool",id:10},platform:{type:"string",id:11},clientUid:{type:"string",id:12},pushData:{type:"PushData",id:13},mentionInfo:{type:"MentionInfo",id:14},isRead:{type:"bool",id:15},referMsg:{type:"DownMsg",id:16},targetUserInfo:{type:"UserInfo",id:17},groupInfo:{type:"GroupInfo",id:18},mergedMsgs:{type:"MergedMsgs",id:19},undisturbType:{type:"int32",id:20},memberCount:{type:"int32",id:21},readCount:{type:"int32",id:22},unreadIndex:{type:"int64",id:23}}},MergedMsgs:{fields:{channelType:{type:"ChannelType",id:1},userId:{type:"string",id:2},targetId:{type:"string",id:3},msgs:{rule:"repeated",type:"SimpleMsg",id:4}}},GroupInfo:{fields:{groupId:{type:"string",id:1},groupName:{type:"string",id:2},groupPortrait:{type:"string",id:3},isMute:{type:"int32",id:4},extFields:{rule:"repeated",type:"KvItem",id:5},updatedTime:{type:"int64",id:6}}},KvItem:{fields:{key:{type:"string",id:1},value:{type:"string",id:2}}},UserIdReq:{fields:{userId:{type:"string",id:1}}},UserInfo:{fields:{userId:{type:"string",id:1},nickname:{type:"string",id:2},userPortrait:{type:"string",id:3},extFields:{rule:"repeated",type:"KvItem",id:4},updatedTime:{type:"int64",id:5}}},SyncConversationsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2}}},QryConversationsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2},order:{type:"int32",id:3},channelType:{type:"ChannelType",id:4}}},QryConversationsResp:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1},isFinished:{type:"bool",id:2}}},ClearUnreadReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},DelConversationReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},ConversationsReq:{fields:{conversations:{rule:"repeated",type:"Conversation",id:1}}},Conversation:{fields:{userId:{type:"string",id:1},targetId:{type:"string",id:2},channelType:{type:"ChannelType",id:3},sortTime:{type:"int64",id:4},unreadCount:{type:"int64",id:5},msg:{type:"DownMsg",id:6},latestReadIndex:{type:"int64",id:7},mentions:{type:"Mentions",id:8},isTop:{type:"int32",id:9},topUpdatedTime:{type:"int64",id:10},undisturbType:{type:"int32",id:11},targetUserInfo:{type:"UserInfo",id:12},groupInfo:{type:"GroupInfo",id:13},syncTime:{type:"int64",id:14},isDelete:{type:"int32",id:15},latestUnreadIndex:{type:"int64",id:16},unreadTag:{type:"int32",id:17}}},Mentions:{fields:{isMentioned:{type:"bool",id:1},mentionMsgCount:{type:"int32",id:2},senders:{rule:"repeated",type:"UserInfo",id:3},mentionMsgs:{rule:"repeated",type:"MentionMsg",id:4}}},MentionMsg:{fields:{senderId:{type:"string",id:1},msgId:{type:"string",id:2},msgTime:{type:"int64",id:3}}},SyncMsgReq:{fields:{syncTime:{type:"int64",id:1},containsSendBox:{type:"bool",id:2},sendBoxSyncTime:{type:"int64",id:3},chatroomId:{type:"string",id:4}}},SyncChatroomReq:{fields:{chatroomId:{type:"string",id:1},syncTime:{type:"int64",id:2}}},SyncChatroomMsgResp:{fields:{msgs:{rule:"repeated",type:"DownMsg",id:1}}},Notify:{fields:{type:{type:"NotifyType",id:1},syncTime:{type:"int64",id:2},chatroomId:{type:"string",id:3}}},NotifyType:{values:{Default:0,Msg:1}},RecallMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3},msgTime:{type:"int64",id:4},exts:{rule:"repeated",type:"KvItem",id:5}}},MarkReadReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgs:{rule:"repeated",type:"SimpleMsg",id:3},indexScopes:{rule:"repeated",type:"IndexScope",id:4}}},SimpleMsg:{fields:{msgId:{type:"string",id:1},msgTime:{type:"int64",id:2},msgIndex:{type:"int64",id:3}}},IndexScope:{fields:{startIndex:{type:"int64",id:1},endIndex:{type:"int64",id:2}}},ModifyMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3},msgTime:{type:"int64",id:4},msgSeqNo:{type:"int64",id:5},msgContent:{type:"bytes",id:6}}},CleanHisMsgReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},cleanMsgTime:{type:"int64",id:3}}},QryHisMsgByIdsReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgIds:{rule:"repeated",type:"string",id:3}}},ChatRoomReq:{fields:{chatId:{type:"string",id:1}}},QryTotalUnreadCountReq:{fields:{time:{type:"int64",id:1},filter:{type:"ConverFilter",id:2}}},ConverFilter:{fields:{channelTypes:{rule:"repeated",type:"ChannelType",id:1},ignoreConvers:{rule:"repeated",type:"SimpleConversation",id:2}}},SimpleConversation:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2}}},QryTotalUnreadCountResp:{fields:{totalCount:{type:"int64",id:1}}},QryMentionMsgsReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},startIndex:{type:"int64",id:3},count:{type:"int32",id:4},order:{type:"int32",id:5},latestReadIndex:{type:"int64",id:6}}},QryMentionMsgsResp:{fields:{mentionMsgs:{rule:"repeated",type:"QMentionMsg",id:1},isFinished:{type:"bool",id:2}}},QMentionMsg:{fields:{mentionType:{type:"MentionType",id:1},senderInfo:{type:"UserInfo",id:2},msg:{type:"DownMsg",id:3}}},QryUploadTokenResp:{oneofs:{ossOf:{oneof:["qiniuCred","preSignResp"]}},fields:{ossType:{type:"OssType",id:1},qiniuCred:{type:"QiniuCredResp",id:11},preSignResp:{type:"PreSignResp",id:12}}},PreSignResp:{fields:{url:{type:"string",id:1}}},OssType:{values:{DefaultOss:0,QiNiu:1,S3:2,Minio:3,Oss:4}},QiniuCredResp:{fields:{domain:{type:"string",id:1},token:{type:"string",id:2}}},QryUploadTokenReq:{fields:{fileType:{type:"FileType",id:1},ext:{type:"string",id:2}}},FileType:{values:{DefaultFileType:0,Image:1,Audio:2,Video:3,File:4}},QryReadDetailReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},msgId:{type:"string",id:3}}},QryReadDetailResp:{fields:{readCount:{type:"int32",id:1},memberCount:{type:"int32",id:2},readMembers:{rule:"repeated",type:"MemberReadDetailItem",id:3},unreadMembers:{rule:"repeated",type:"MemberReadDetailItem",id:4}}},MemberReadDetailItem:{fields:{member:{type:"UserInfo",id:1},time:{type:"int64",id:2}}},QryMergedMsgsReq:{fields:{startTime:{type:"int64",id:1},count:{type:"int32",id:2},order:{type:"int32",id:3}}},UndisturbConversReq:{fields:{userId:{type:"string",id:1},items:{rule:"repeated",type:"UndisturbConverItem",id:2}}},UndisturbConverItem:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2},undisturbType:{type:"int32",id:3}}},QryTopConversReq:{fields:{startTime:{type:"int64",id:1}}},DelHisMsgsReq:{fields:{senderId:{type:"string",id:1},targetId:{type:"string",id:2},channelType:{type:"ChannelType",id:3},msgs:{rule:"repeated",type:"SimpleMsg",id:4}}},QryConverReq:{fields:{targetId:{type:"string",id:1},channelType:{type:"ChannelType",id:2}}},SyncChatroomAttResp:{fields:{atts:{rule:"repeated",type:"ChatAttItem",id:1}}},ChatAtts:{fields:{chatId:{type:"string",id:1},atts:{rule:"repeated",type:"ChatAttItem",id:2},isComplete:{type:"bool",id:3},isFinished:{type:"bool",id:4}}},ChatAttItem:{fields:{key:{type:"string",id:1},value:{type:"string",id:2},attTime:{type:"int64",id:3},userId:{type:"string",id:4},optType:{type:"ChatAttOptType",id:5}}},ChatAttOptType:{values:{ChatAttOpt_Default:0,ChatAttOpt_Add:1,ChatAttOpt_Del:2}},UserUndisturb:{fields:{switch:{type:"bool",id:1},timezone:{type:"string",id:2},rules:{rule:"repeated",type:"UserUndisturbItem",id:3}}},UserUndisturbItem:{fields:{start:{type:"string",id:1},end:{type:"string",id:2}}},Nil:{fields:{}},ChatAttBatchReq:{fields:{atts:{rule:"repeated",type:"ChatAttReq",id:1}}},ChatAttBatchResp:{fields:{attResps:{rule:"repeated",type:"ChatAttResp",id:1}}},ChatAttReq:{fields:{key:{type:"string",id:1},value:{type:"string",id:2},isForce:{type:"bool",id:3},isAutoDel:{type:"bool",id:4},msg:{type:"UpMsg",id:5}}},ChatAttResp:{fields:{key:{type:"string",id:1},code:{type:"int32",id:2},attTime:{type:"int64",id:3},msgCode:{type:"int32",id:11},msgId:{type:"string",id:12},msgTime:{type:"int64",id:13},msgSeq:{type:"int64",id:14}}}}}});function Uploder(e,{type:t}){let n=(t,n,s)=>{function o(e){let t=e.split(".");return t[t.length-1]}let{token:i,domain:r}=n,{file:a,name:d}=t,p=`${utils.getUUID()}.${o(a.name)}`;d=d||p;let c={fname:d},l=e.upload(a,p,i,c);l.subscribe({next:e=>{let{total:{percent:t}}=e;s.onprogress({percent:t})},error:e=>{s.onerror(e)},complete:e=>{let{key:t}=e,n=`${r}/${t}?attname=${d}`;s.oncompleted({url:n})}})},s=(e,t,n)=>{let{url:s}=t,{file:o,name:i}=e;utils.requestNormal(s,{method:"PUT",headers:{"Content-Type":""},body:o},{success:()=>{s=s.split("?")[0],n.oncompleted({url:s})},progress:e=>{let t=100*(e.loaded/e.total);n.onprogress({percent:t})},fail:e=>{n.onerror(e)}})},o=(e,o,i)=>utils.isEqual(t,UPLOAD_TYPE.QINIU)?n(e,o,i):utils.isEqual(t,UPLOAD_TYPE.ALI)?s(e,o,i):void 0,i=(e,t,n={})=>{let{scale:s=.4}=n,o=document.createElement("video");o.src=URL.createObjectURL(e),o.preload="auto",o.onloadeddata=function(){i()};var i=function(){var e=document.createElement("canvas");let n=o.videoHeight,i=o.videoWidth,r=o.duration;e.width=i*s,e.height=n*s,e.getContext("2d").drawImage(o,0,0,e.width,e.height),e.toBlob(e=>{var s=new File([e],"frame.png",{type:"image/png"});let o={height:n,width:i,duration:r};t(s,o)})}},r=(e,t,n={})=>{let{scale:s=.4,fileCompressLimit:o=500}=n,i=e.size/1e3,r=new Image;r.src=URL.createObjectURL(e),r.onload=function(){a()};var a=function(){var e=document.createElement("canvas");let n=r.height,a=r.width;i<=o&&(s=1),e.width=a*s,e.height=n*s,e.getContext("2d").drawImage(r,0,0,e.width,e.height),e.toBlob(e=>{var s=new File([e],"tb.png",{type:"image/png"});t(s,{height:n,width:a})})}};/* 视频截取首帧 */ /* 图片压缩缩略图 */return{exec:o,capture:i,compress:r}}/*
45
45
  let params = { content: 123 }
46
46
  let params = { content: { name: 123 } }
47
47
  let params = [{ content: 123 }]
@@ -110,7 +110,7 @@ if(!utils.isEqual(o.name,MESSAGE_TYPE.COMMAND_MARK_UNREAD)&&!utils.isEqual(o.nam
110
110
  {if(utils.isEqual(o.name,MESSAGE_TYPE.RECALL)){let{conversationId:e,conversationType:n,content:s,sender:i}=o;return t.emit(EVENT.MESSAGE_RECALLED,{conversationId:e,conversationType:n,content:s,sender:i})}if(utils.isEqual(o.name,MESSAGE_TYPE.CLEAR_MSG)){let{content:{conversationType:e,conversationId:n,cleanTime:s,senderId:i}}=o;return utils.isEmpty(i)?t.emit(EVENT.MESSAGE_CLEAN,{conversationType:e,conversationId:n,cleanTime:s}):t.emit(EVENT.MESSAGE_CLEAN_SOMEONE,{conversationType:e,conversationId:n,senderId:i})}if(utils.isEqual(o.name,MESSAGE_TYPE.MODIFY)){let{conversationType:e,conversationId:n,content:s,messageId:i}=o;return t.emit(EVENT.MESSAGE_UPDATED,{conversationType:e,conversationId:n,messageId:i,content:s})}if(utils.isEqual(o.name,MESSAGE_TYPE.READ_MSG)||utils.isEqual(o.name,MESSAGE_TYPE.READ_GROUP_MSG)){let{conversationType:e,conversationId:n,content:{msgs:s}}=o,i={conversationType:e,conversationId:n,messages:s};return t.emit(EVENT.MESSAGE_READ,i)}if(!s.isInclude(o)){t.emit(EVENT.MESSAGE_RECEIVED,[o,i]);let{conversationId:e,conversationType:n}=o;s.add({conversationId:e,conversationType:n},o)}}});let o=[[CONVERATION_TYPE.PRIVATE,"p_msg"],[CONVERATION_TYPE.GROUP,"g_msg"],[CONVERATION_TYPE.CHATROOM,"c_msg"]],i={};utils.forEach(o,e=>{i[e[0]]=e[1]});let r=(t,s={})=>utils.deferred((o,r)=>{let a=common.check(e,t,FUNC_PARAM_CHECKER.SENDMSG);if(!utils.isEmpty(a))return r(a);let{referMsg:d}=t;if(!utils.isUndefined(d)){let{messageIndex:e,messageId:t}=d;if(utils.isUndefined(e)||utils.isUndefined(t))return r(ErrorType.SEND_REFER_MESSAGE_ERROR)}n.info({tag:LOG_MODULE.MSG_SEND});let p={onbefore:()=>{}};utils.extend(p,s);let c=utils.clone(t),{name:l,conversationType:m,conversationId:u,isMass:E}=c,y=common.getMsgFlag(l,{isMass:E});utils.extend(c,{flag:y});let g=i[m];utils.extend(c,{topic:g});let T=t.tid||utils.getUUID();utils.extend(t,{tid:T,sentState:MESSAGE_SENT_STATE.SENDING}),p.onbefore(t),e.sendCommand(SIGNAL_CMD.PUBLISH,c,({messageId:n,sentTime:s,code:i,msg:a,msgIndex:d})=>{let p=e.getCurrentUser()||{};if(utils.extend(t,{sender:p,isSender:!0}),i)return utils.extend(t,{error:{code:i,msg:a},sentState:MESSAGE_SENT_STATE.FAILED}),r(t);utils.extend(t,{sentTime:s,messageId:n,messageIndex:d,sentState:MESSAGE_SENT_STATE.SUCCESS});let c=e.getConfig();c.isPC||utils.isEqual(m,CONVERATION_TYPE.CHATROOM)||e.emit(SIGNAL_NAME.CMD_CONVERSATION_CHANGED,t),o(t)})}),a=(t,s={})=>utils.deferred((o,i)=>{let a=common.check(e,t,FUNC_PARAM_CHECKER.SENDMSG);if(!utils.isEmpty(a))return i(a);n.info({tag:LOG_MODULE.MSG_SEND_MASS});let d={onprogress:()=>{},oncompleted:()=>{}};utils.extend(d,s),t=utils.isArray(t)?t:[t],t=utils.map(t,e=>({isMass:!0,...e}));let p=[],c=t.length;utils.iterator(t,(e,t,n)=>{let i=()=>n?(o(),d.oncompleted({messages:p})):void t(),a=e=>{p.push(e),d.onprogress({message:e,count:p.length,total:c}),i()};r(e,s).then(a,a)})}),d=t=>utils.deferred((n,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.GETMSGS);if(!utils.isEmpty(i))return o(i);let{conversationId:r}=t,{id:a}=e.getCurrentUser(),d={time:0,order:MESSAGE_ORDER.BACKWARD,count:20,userId:a,topic:COMMAND_TOPICS.HISTORY_MESSAGES,targetId:r,names:[]};d=utils.extend(d,t),e.sendCommand(SIGNAL_CMD.QUERY,d,e=>{let{messages:o}=e;s.add(t,o),n(e)})}),p=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GETMSG);if(!utils.isEmpty(o))return s(o);let i=e.getCurrentUser(),r={topic:COMMAND_TOPICS.GET_MSG_BY_IDS,userId:i.id};r=utils.extend(r,t),e.sendCommand(SIGNAL_CMD.QUERY,r,({messages:e})=>{n({messages:e})})}),c=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.CLEARMSG);if(!utils.isEmpty(i))return o(i);n.info({tag:LOG_MODULE.MSG_CLEAR,...t});let r={topic:COMMAND_TOPICS.CLEAR_MESSAGE,time:0};utils.extend(r,t),e.sendCommand(SIGNAL_CMD.PUBLISH,r,({code:t,timestamp:n})=>{utils.isEqual(ErrorType.COMMAND_SUCCESS.code,t)&&common.updateSyncTime({isSender:!0,sentTime:n,io:e});let o=e.getConfig();if(!o.isPC){let t={name:MESSAGE_TYPE.CLEAR_MSG,content:{...r}};e.emit(SIGNAL_NAME.CMD_CONVERSATION_CHANGED,t)}s()})}),l=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.REMOVE_MSGS);if(!utils.isEmpty(i))return o(i);t=utils.isArray(t)?t:[t];let r=utils.quickSort(utils.clone(t),(e,t)=>e.sentTime>t.sentTime),a=r[0]||{sentTime:-10};n.info({tag:LOG_MODULE.MSG_DELETE,time:a.sentTime});let d=e.getCurrentUser(),p={topic:COMMAND_TOPICS.REMOVE_MESSAGE,messages:t,userId:d.id};e.sendCommand(SIGNAL_CMD.PUBLISH,p,({code:n,timestamp:o})=>{utils.isEqual(ErrorType.COMMAND_SUCCESS.code,n)&&common.updateSyncTime({isSender:!0,sentTime:o,io:e});let i=e.getConfig();i.isPC||e.emit(SIGNAL_NAME.CMD_CONVERSATION_CHANGED,{name:MESSAGE_TYPE.CLIENT_REMOVE_MSGS,content:{messages:t}}),s()})}),m=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.RECALLMSG);if(!utils.isEmpty(i))return o(i);let r={topic:COMMAND_TOPICS.RECALL};utils.extend(r,t),n.info({tag:LOG_MODULE.MSG_RECALL,messageId:t.messageId,sentTime:t.sentTime}),e.sendCommand(SIGNAL_CMD.QUERY,r,n=>{let{code:i,timestamp:r}=n;if(utils.isEqual(i,ErrorType.COMMAND_SUCCESS.code)){common.updateSyncTime({isSender:!0,sentTime:r,io:e});let n=utils.clone(t),{messageId:o,sentTime:i,exts:a}=t,d=e.getCurrentUser();utils.extend(n,{name:MESSAGE_TYPE.RECALL,sender:d,isSender:!0,content:{messageId:o,sentTime:i,exts:a}});let p=e.getConfig();return p.isPC||e.emit(SIGNAL_NAME.CMD_RECEIVED,n),utils.clone(n),delete n.exts,utils.extend(n,{name:MESSAGE_TYPE.RECALL_INFO}),s(n)}let{msg:a}=common.getError(i);o({code:i,msg:a})})}),u=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.READMESSAGE);if(!utils.isEmpty(o))return s(o);let i={topic:COMMAND_TOPICS.READ_MESSAGE,messages:t};e.sendCommand(SIGNAL_CMD.QUERY,i,({code:t,timestamp:s})=>{utils.isEqual(ErrorType.COMMAND_SUCCESS.code,t)&&common.updateSyncTime({isSender:!0,sentTime:s,io:e}),n()})}),E=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GET_MESSAGE_READ_DETAILS);if(!utils.isEmpty(o))return s(o);let i={topic:COMMAND_TOPICS.GET_READ_MESSAGE_DETAIL,message:t};e.sendCommand(SIGNAL_CMD.QUERY,i,e=>{delete e.index,n(e)})}),y=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.UPDATEMESSAGE);if(!utils.isEmpty(i))return o(i);n.info({tag:LOG_MODULE.MSG_UPDATE,messageId:t.messageId});let r={...t,name:MESSAGE_TYPE.MODIFY},a=(t={})=>{utils.extend(r,t);let n=e.getConfig();n.isPC||e.emit(SIGNAL_NAME.CMD_CONVERSATION_CHANGED,r)};// 兼容 PC 端修改非 content 属性,保证多端行为一致性,直接返回,PC 端会做本地消息 update
111
111
  if(utils.isUndefined(t.content))return a(),s(r);let d={topic:COMMAND_TOPICS.UPDATE_MESSAGE,...t};e.sendCommand(SIGNAL_CMD.PUBLISH,d,n=>{let o=e.getCurrentUser();a({sender:o,isSender:!0,isUpdated:!0,content:{messageId:t.messageId,...t.content}}),s(r)})}),g=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GET_MENTIOIN_MESSAGES);if(!utils.isEmpty(o))return s(o);let i={count:20,order:MENTION_ORDER.BACKWARD,messageIndex:0},r=e.getCurrentUser();utils.extend(i,t);let a={topic:COMMAND_TOPICS.GET_MENTION_MSGS,userId:r.id,...i};e.sendCommand(SIGNAL_CMD.QUERY,a,({isFinished:e,msgs:t})=>{n({isFinished:e,msgs:t})})}),T=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GET_FILE_TOKEN);if(!utils.isEmpty(o))return s(o);let{id:i}=e.getCurrentUser(),r={topic:COMMAND_TOPICS.GET_FILE_TOKEN,...t,userId:i};e.sendCommand(SIGNAL_CMD.QUERY,r,({cred:{token:e,domain:t,type:s,url:o}})=>{n({token:e,domain:t,type:s,url:o})})}),f=(t,n,s={})=>{function o(e,t){let{content:n}=t,s={onprogress:({percent:e})=>{d.onprogress({percent:e,message:t})},oncompleted:({url:e})=>{let s=n.file.size/1024;utils.extend(t.content,{url:e,size:s.toFixed(2)}),delete t.content.file,d.oncompleted(t)},onerror:e=>{d.onerror(ErrorType.UPLOADING_FILE_ERROR,e)}};l.exec(n,e,s)}let{uploadType:i,upload:r,fileCompressLimit:a}=e.getConfig(),d={onprogress:()=>{},onerror:()=>{}};utils.extend(d,s);let{fileType:p,scale:c}=t,l=Uploder(r,{type:i}),{name:m,content:u}=n,E=u.file,y=E.name.split("."),g=y[y.length-1];T({type:p,ext:g}).then(e=>{let{type:t}=e;if(!utils.isEqual(t,i))return d.onerror(ErrorType.UPLOAD_PLUGIN_NOTMATCH);let s=utils.extend(e,{file:u.file,scale:c,fileCompressLimit:a});if(utils.isEqual(m,MESSAGE_TYPE.IMAGE)){// 业务层设置缩略图,传入优先,不再执行生成缩略图逻辑
112
112
  let{thumbnail:t}=u;if(t)return o(e,n);common.uploadThumbnail(r,s,(t,s,i)=>{let{height:r,width:a}=i;utils.extend(n.content,{thumbnail:s,height:r,width:a,type:u.file.type}),o(e,n)})}if(utils.isEqual(m,MESSAGE_TYPE.VIDEO)){// 业务层设置封面,传入优先,不再执行生成缩略图逻辑
113
- let{snapshotUrl:t}=u;if(t)return o(e,n);common.uploadFrame(r,s,(t,s,i)=>{let{height:r,width:a,duration:d}=i;utils.extend(n.content,{snapshotUrl:s,height:r,width:a,duration:d}),o(e,n)})}utils.isInclude([MESSAGE_TYPE.FILE,MESSAGE_TYPE.VOICE],m)&&o(e,n)})},C=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.FILE});let o={fileType:FILE_TYPE.FILE};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.FILE});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},S=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.IMAGE});let o={fileType:FILE_TYPE.IMAGE,scale:t.scale};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.IMAGE});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},_=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.VOICE});let o={fileType:FILE_TYPE.AUDIO};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.AUDIO});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},I=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.VIDEO});let o={fileType:FILE_TYPE.VIDEO,scale:t.scale};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.VIDEO});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},O=(t,s={})=>utils.deferred((o,i)=>{let a=common.check(e,t,FUNC_PARAM_CHECKER.SEND_MERGE_MESSAGE);if(!utils.isEmpty(a))return i(a);n.info({tag:LOG_MODULE.MSG_SEND_MERGE});let{conversationType:d,conversationId:p,messages:c,previewList:l,title:m}=t;if(20<c.length)return i(ErrorType.TRANSFER_MESSAGE_COUNT_EXCEED);let u={channelType:CONVERATION_TYPE.PRIVATE,targetId:""},E=[];c=utils.map(c,e=>(utils.extend(u,{channelType:e.conversationType,targetId:e.conversationId}),{msgId:e.messageId,msgTime:e.sentTime,msgIndex:e.messageIndex})),utils.forEach(c,({msgId:e})=>{E.push(e)});let y=e.getCurrentUser();utils.extend(u,{userId:y.id,msgs:c});let g={conversationId:p,conversationType:d,name:MESSAGE_TYPE.MERGE,mergeMsg:u,content:{previewList:l,messageIdList:E,title:m}};return r(g,s).then(o,i)}),N=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GET_MERGE_MESSAGES);if(!utils.isEmpty(o))return s(o);let i={time:0,order:MESSAGE_ORDER.FORWARD,count:20,topic:COMMAND_TOPICS.GET_MERGE_MSGS};utils.extend(i,t),e.sendCommand(SIGNAL_CMD.QUERY,i,({isFinished:e,messages:t})=>{n({isFinished:e,messages:t})})}),A=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.SEARCH_MESSAGES);return utils.isEmpty(o)?s(ErrorType.SDK_FUNC_NOT_DEFINED):s(o)}),R=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.UPDATE_MESSAGE_ATTR);return utils.isEmpty(o)?s(ErrorType.SDK_FUNC_NOT_DEFINED):s(o)}),v=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.INSERT_MESSAGE);if(!utils.isEmpty(o))return s(o);let i=e.getCurrentUser(),{sender:r}=t,a=utils.isEqual(i.id,r.id),d=utils.getUUID(),p={tid:d,...t,isSender:a,sender:r};n(p)});/*
113
+ let{snapshotUrl:t}=u;if(t)return o(e,n);common.uploadFrame(r,s,(t,s,i)=>{let{height:r,width:a,duration:d}=i;utils.extend(n.content,{snapshotUrl:s,height:r,width:a,duration:d}),o(e,n)})}utils.isInclude([MESSAGE_TYPE.FILE,MESSAGE_TYPE.VOICE],m)&&o(e,n)})},C=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.FILE});let o={fileType:FILE_TYPE.FILE};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.FILE});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},S=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.IMAGE});let o={fileType:FILE_TYPE.IMAGE,scale:t.scale};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.IMAGE});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},_=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.VOICE});let o={fileType:FILE_TYPE.AUDIO};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.AUDIO});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},I=(t,s={})=>{t=utils.extend(t,{name:MESSAGE_TYPE.VIDEO});let o={fileType:FILE_TYPE.VIDEO,scale:t.scale};return utils.deferred((i,a)=>{let d=common.check(e,t,FUNC_PARAM_CHECKER.SEND_FILE_MESSAGE),{uploadType:p}=e.getConfig();if(utils.isEqual(p,UPLOAD_TYPE.NONE)&&(d=ErrorType.UPLOAD_PLUGIN_ERROR),!utils.isEmpty(d))return a(d);n.info({tag:LOG_MODULE.MSG_SEND_FILE,type:FILE_TYPE.VIDEO});let c=s.onbefore||utils.noop,l=t.tid||utils.getUUID();utils.extend(t,{tid:l,sentState:MESSAGE_SENT_STATE.SENDING}),c(t),f(o,t,{onprogress:s.onprogress,oncompleted:e=>{r(e).then(i,a)},onerror:s.onerror})})},O=(t,s={})=>utils.deferred((o,i)=>{let a=common.check(e,t,FUNC_PARAM_CHECKER.SEND_MERGE_MESSAGE);if(!utils.isEmpty(a))return i(a);n.info({tag:LOG_MODULE.MSG_SEND_MERGE});let{conversationType:d,conversationId:p,messages:c,previewList:l,title:m}=t;if(20<c.length)return i(ErrorType.TRANSFER_MESSAGE_COUNT_EXCEED);let u={channelType:CONVERATION_TYPE.PRIVATE,targetId:""},E=[];c=utils.map(c,e=>(utils.extend(u,{channelType:e.conversationType,targetId:e.conversationId}),{msgId:e.messageId,msgTime:e.sentTime,msgIndex:e.messageIndex})),utils.forEach(c,({msgId:e})=>{E.push(e)});let y=e.getCurrentUser();utils.extend(u,{userId:y.id,msgs:c});let g={conversationId:p,conversationType:d,name:MESSAGE_TYPE.MERGE,mergeMsg:u,content:{previewList:l,messageIdList:E,title:m}};return r(g,s).then(o,i)}),N=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.GET_MERGE_MESSAGES);if(!utils.isEmpty(o))return s(o);let i={time:0,order:MESSAGE_ORDER.FORWARD,count:20,topic:COMMAND_TOPICS.GET_MERGE_MSGS};utils.extend(i,t),e.sendCommand(SIGNAL_CMD.QUERY,i,({isFinished:e,messages:t})=>{n({isFinished:e,messages:t})})}),A=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.SEARCH_MESSAGES);return utils.isEmpty(o)?s(ErrorType.SDK_FUNC_NOT_DEFINED):s(o)}),R=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.UPDATE_MESSAGE_ATTR);return utils.isEmpty(o)?s(ErrorType.SDK_FUNC_NOT_DEFINED):s(o)}),v=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.SET_MESSAGE_SEARCH_CONTENT);return utils.isEmpty(o)?s(ErrorType.SDK_FUNC_NOT_DEFINED):s(o)}),h=t=>utils.deferred((n,s)=>{let o=common.check(e,t,FUNC_PARAM_CHECKER.INSERT_MESSAGE);if(!utils.isEmpty(o))return s(o);let i=e.getCurrentUser(),{sender:r}=t,a=utils.isEqual(i.id,r.id),d=utils.getUUID(),p={tid:d,...t,isSender:a,sender:r};n(p)});/*
114
114
  let messages = [ Message, Message, ... ];
115
115
  let callbacks = {
116
116
  onbefore: () => {},
@@ -125,7 +125,7 @@ let{snapshotUrl:t}=u;if(t)return o(e,n);common.uploadFrame(r,s,(t,s,i)=>{let{hei
125
125
  conversationId,
126
126
  content: { file, name, type, intro }
127
127
  }
128
- */return{sendMessage:r,sendMassMessage:a,getMessages:d,removeMessages:l,getMessagesByIds:p,clearMessage:c,recallMessage:m,readMessage:u,getMessageReadDetails:E,updateMessage:y,insertMessage:v,updateMessageAttr:R,getMentionMessages:g,getFileToken:T,sendFileMessage:C,sendImageMessage:S,sendVoiceMessage:_,sendVideoMessage:I,sendMergeMessage:O,getMergeMessages:N,searchMessages:A,_uploadFile:f}}function Socket$1(e,t,n){CONNECT_STATE.DISCONNECTED,e.on(SIGNAL_NAME.CONN_CHANGED,e=>{let{state:s,code:o="",user:i={}}=e;n.info({tag:LOG_MODULE.CON_STATUS,state:s,code:o,userId:i.id}),t.emit(EVENT.STATE_CHANGED,e)});let s=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.CONNECT,!0);if(!utils.isEmpty(i))return o(i);n.info({tag:LOG_MODULE.CON_CONNECT});// 通过 appkye_userid 隔离本地存储 Key
128
+ */return{sendMessage:r,sendMassMessage:a,getMessages:d,removeMessages:l,getMessagesByIds:p,clearMessage:c,recallMessage:m,readMessage:u,getMessageReadDetails:E,updateMessage:y,insertMessage:h,updateMessageAttr:R,setSearchContent:v,getMentionMessages:g,getFileToken:T,sendFileMessage:C,sendImageMessage:S,sendVoiceMessage:_,sendVideoMessage:I,sendMergeMessage:O,getMergeMessages:N,searchMessages:A,_uploadFile:f}}function Socket$1(e,t,n){CONNECT_STATE.DISCONNECTED,e.on(SIGNAL_NAME.CONN_CHANGED,e=>{let{state:s,code:o="",user:i={}}=e;n.info({tag:LOG_MODULE.CON_STATUS,state:s,code:o,userId:i.id}),t.emit(EVENT.STATE_CHANGED,e)});let s=t=>utils.deferred((s,o)=>{let i=common.check(e,t,FUNC_PARAM_CHECKER.CONNECT,!0);if(!utils.isEmpty(i))return o(i);n.info({tag:LOG_MODULE.CON_CONNECT});// 通过 appkye_userid 隔离本地存储 Key
129
129
  // let config = io.getConfig();
130
130
  // let { appkey, token } = config;
131
131
  // let key = common.getTokenKey(appkey, token);
@@ -163,7 +163,7 @@ let{token:r=""}=t;r=r.trim(),t=utils.extend(t,{token:r}),e.connect(t,({error:t,u
163
163
  id: 'chatroomId',
164
164
  };
165
165
  */return{joinChatroom:o,quitChatroom:i,setChatroomAttributes:r,getChatroomAttributes:d,removeChatroomAttributes:a,getAllChatRoomAttributes:p}}let init$2=({io:e,emitter:t,logger:n})=>{let s=Socket$1(e,t,n),o=Conversation$1(e,t),i=Message$1(e,t,n),r=Chatroom$1(e,t);return e.setConfig({logger:n}),{socket:s,conversation:o,message:i,chatroom:r}};var Web={init:init$2};let isGroup=e=>utils.isEqual(CONVERATION_TYPE.GROUP,e),formatMsg=({message:e,senders:t,groups:n})=>{let{content:p="{}",senderId:s,conversationType:o,conversationId:i,mentionInfo:c="{}",isRead:r,isSender:a,isUpdated:d,referMsg:l="{}",mergeMsg:m="{}",attribute:u=""}=e;p=utils.parse(p),c=utils.parse(c);let E=utils.filter(t,e=>utils.isEqual(e.id,s))[0]||{},y={};return y=isGroup(o)?utils.filter(n,e=>utils.isEqual(e.id,i))[0]||{}:utils.filter(t,e=>utils.isEqual(e.id,i))[0]||{},e=utils.extend(e,{mergeMsg:utils.parse(m),referMsg:utils.parse(l),conversationTitle:y.name,conversationPortrait:y.portrait,conversationExts:y.exts,content:p,sender:E,mentionInfo:c,sentTime:+e.sentTime,isRead:!!r,isSender:!!a,isUpdated:!!d,attribute:u}),e},formatMsgs=({messages:e,senders:t,groups:n})=>{let s=utils.map(e,e=>{let s=formatMsg({message:e,senders:t,groups:n});return s});return s},formatConversation=({conversation:e,users:t,groups:n})=>{if(utils.isEmpty(e))return e;let{id:s,type:o,draft:i,unreadCount:r,isTop:a,undisturbType:d,sortTime:p,mentions:c,latestMessageTid:l,latestMessageId:m,latestMessageName:u,latestMessageIsSender:E,latestMessageIsUpdated:y,latestMessageSentTime:g,latestMessageSenderId:T,latestMessageContent:f,latestMessageMessageIndex:C,latestMessageIsRead:S,latestMessageIsMass:_,latestUnreadCount:I,latestReadCount:O,latestReadIndex:N,latestUnreadIndex:A,latestMentionInfo:R,unreadTag:v}=e;c=c||"{}";let h=utils.filter(t,e=>utils.isEqual(e.id,T))[0]||{id:T},M={};M=isGroup(o)?utils.filter(n,e=>utils.isEqual(e.id,s))[0]||{id:s}:utils.filter(t,e=>utils.isEqual(e.id,s))[0]||{id:s},r=0<r?r:0;let D={conversationId:s,conversationType:o,conversationPortrait:M.portrait,conversationTitle:M.name,conversationExts:M.exts,draft:i||"",isTop:!!a,undisturbType:d,latestReadIndex:+N,latestUnreadIndex:+A,latestMessage:{conversationId:s,conversationType:o,conversationPortrait:M.portrait,conversationTitle:M.name,conversationExts:M.exts,content:utils.parse(f),isRead:!!S,isSender:!!E,isUpdated:!!y,isMass:!!_,messageId:m,tid:l,mentionInfo:utils.parse(R),messageIndex:C,name:u,readCount:+(O||0),unreadCount:+(I||0),sentTime:+g,referMsg:{},sender:h},sortTime:+p||0,unreadCount:r||0,mentions:utils.parse(c),unreadTag:v||UNREAD_TAG.READ};return utils.isEmpty(m)&&(D.latestMessage={}),D},formatConversations=({conversations:e,users:t,groups:n})=>{let s=utils.map(e,e=>{let s=formatConversation({conversation:e,users:t,groups:n});return s});return s},createMentions=(e,t,n)=>{let{mentionInfo:s}=t;if(utils.isEmpty(s))return e;let{members:o,type:i}=s,r=utils.find(o,e=>utils.isEqual(n.id,e.id));if(-1<r||utils.isEqual(i,MENTION_TYPE.ALL)){let{isMentioned:n=!0,senders:s=[],msgs:o=[]}=e;o.push({senderId:t.sender.id,messageId:t.messageId,sentTime:t.sentTime});let i=utils.find(s,e=>utils.isEqual(t.sender.id,e.id));utils.isEqual(i,-1)&&s.push(t.sender),e={isMentioned:n,senders:s,msgs:o,count:o.length}}return e};var tools={isGroup,formatMsg,formatMsgs,formatConversations,formatConversation,createMentions};function Conversation(e,{conversationUtils:t,webAgent:n}){let s=["removeConversation","clearUnreadcount","getTotalUnreadcount","clearTotalUnreadcount","markUnread","setDraft","getDraft","removeDraft","insertConversation","disturbConversation","setTopConversation","getTopConversations","setAllDisturb","getAllDisturb","getAllDisturb","_batchInsertConversations"],o=common.formatProvider(s,e);return o.getConversations=(n={})=>e.getConversations(n).then(({conversations:e,groups:s,users:o,isFinished:i})=>{let r=tools.formatConversations({conversations:e,users:o,groups:s});// 不指定会话类型时向内存中插入数据
166
- return utils.isUndefined(n.conversationType)&&t.add(r),{isFinished:i,conversations:utils.clone(r)}}),o.getConversation=t=>e.getConversation(t).then(e=>{let{conversation:t,groups:n,users:s}=e,o={};return t.isNew||(o=tools.formatConversation({conversation:t,users:s,groups:n})),{conversation:o}}),o}function Message(e,{webAgent:t}){let n=["sendMessage","updateMessageAttr","removeMessages","sendMassMessage","getMessagesByIds","clearMessage","recallMessage","readMessage","getMessageReadDetails","updateMessage","insertMessage","getMentionMessages","getFileToken","sendFileMessage","sendImageMessage","sendVoiceMessage","sendVideoMessage","sendMergeMessage","getMergeMessages"],s=common.formatProvider(n,e);return s.getMessages=n=>utils.deferred((s,o)=>{let{order:i=MESSAGE_ORDER.BACKWARD}=n,r={time:n.time||0,order:i,count:n.count||20,names:n.names||[],conversationType:n.conversationType,conversationId:n.conversationId};return e.getMessages(r).then(({messages:p=[],isFinished:i,groups:a,senders:d})=>{let c=utils.filter(p,e=>utils.isEqual(e.sentState,MESSAGE_SENT_STATE.SUCCESS)),l=()=>{// if(utils.isEqual(order, MESSAGE_ORDER.BACKWARD)){
166
+ return utils.isUndefined(n.conversationType)&&t.add(r),{isFinished:i,conversations:utils.clone(r)}}),o.getConversation=t=>e.getConversation(t).then(e=>{let{conversation:t,groups:n,users:s}=e,o={};return t.isNew||(o=tools.formatConversation({conversation:t,users:s,groups:n})),{conversation:o}}),o}function Message(e,{webAgent:t}){let n=["sendMessage","updateMessageAttr","removeMessages","sendMassMessage","getMessagesByIds","clearMessage","recallMessage","readMessage","getMessageReadDetails","updateMessage","insertMessage","getMentionMessages","getFileToken","sendFileMessage","sendImageMessage","sendVoiceMessage","sendVideoMessage","sendMergeMessage","getMergeMessages","setSearchContent"],s=common.formatProvider(n,e);return s.getMessages=n=>utils.deferred((s,o)=>{let{order:i=MESSAGE_ORDER.BACKWARD}=n,r={time:n.time||0,order:i,count:n.count||20,names:n.names||[],conversationType:n.conversationType,conversationId:n.conversationId};return e.getMessages(r).then(({messages:p=[],isFinished:i,groups:a,senders:d})=>{let c=utils.filter(p,e=>utils.isEqual(e.sentState,MESSAGE_SENT_STATE.SUCCESS)),l=()=>{// if(utils.isEqual(order, MESSAGE_ORDER.BACKWARD)){
167
167
  // messages.reverse();
168
168
  // }
169
169
  let e=tools.formatMsgs({messages:p,senders:d,groups:a});s({isFinished:i,messages:e})},m=utils.isContinuous(c,"messageIndex"),u=p.length,E=i&&r.count>u;return E||!m?utils.isEmpty(r.names)?t.getMessages(n).then(t=>{let n=[],o=[];utils.forEach(t.messages,e=>{let t=utils.find(p,t=>utils.isEqual(t.messageId,e.messageId));if(utils.isEqual(t,-1))n.push(e);else{let e=p[t];o.push(e)}}),e.insertBatchMsgs({msgs:n});let i=tools.formatMsgs({messages:o,senders:d,groups:a}),r=n.concat(i);r=utils.quickSort(r,(e,t)=>e.sentTime<t.sentTime),s({isFinished:t.isFinished,messages:r})},o):l():void l()})}),s.searchMessages=t=>e.searchMessages(t).then(e=>{let{total:t,list:n,groups:s,senders:o,isFinished:i}=e;return n=utils.map(n,e=>{let{matchedList:t,matchedCount:n,conversationType:i,conversationId:r}=e,a=tools.formatMsgs({messages:t,senders:o,groups:s}),d={conversation:{id:r,type:i},users:o,groups:s},p=tools.formatConversation(d),{conversationTitle:c,conversationPortrait:l,conversationExts:m}=p;return{matchedList:a,matchedCount:n,conversationType:i,conversationId:r,conversationTitle:c,conversationPortrait:l,conversationExts:m}}),{total:t,list:n,isFinished:i}}),s}function Socket(e){let t=["connect","disconnect","getDevice","isConnected","getCurrentUser"],n=common.formatProvider(t,e);return n}function Chatroom(e,{io:t,emitter:n}){let s=AttrCacher();t.on(SIGNAL_NAME.CMD_CHATROOM_ATTR_RECEIVED,e=>{let{dels:t,updates:o}=s.heap(e),{chatroomId:i}=e;utils.isEmpty(t)||n.emit(EVENT.CHATROOM_ATTRIBUTE_DELETED,{id:i,attributes:t}),utils.isEmpty(o)||n.emit(EVENT.CHATROOM_ATTRIBUTE_UPDATED,{id:i,attributes:o})});let o=t=>e.joinChatroom(t),i=t=>e.quitChatroom(t),r=t=>e.setChatroomAttributes(t),a=t=>e.getChatroomAttributes(t),d=t=>e.removeChatroomAttributes(t),p=t=>e.getAllChatRoomAttributes(t);return{joinChatroom:o,quitChatroom:i,setChatroomAttributes:r,getChatroomAttributes:a,removeChatroomAttributes:d,getAllChatRoomAttributes:p}}let init$1=({appkey:e,io:t,emitter:n,web:s,client:o,logger:i})=>{let{SIGNAL_NAME:r}=ENUM;// 移除 Web 监听
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  {
3
3
  "name": "jugglechat-websdk",
4
- "version": "1.6.0",
4
+ "version": "1.6.1",
5
5
  "description": "JuggleChat SDK, IM, Chat",
6
6
  "main": "index.js",
7
7
  "scripts": { },