const{c:e,RPC:a,RPCStream:o,RPCRequestStream:r}=require("hrpc/runtime"),{getEncoding:i}=require("./messages.js"),t=new Map([["@api/self-destruct",0],[0,"@api/self-destruct"],["@api/boot",1],[1,"@api/boot"],["@api/core-create-room",2],[2,"@api/core-create-room"],["@api/core-activate-room",3],[3,"@api/core-activate-room"],["@api/core-deactivate-room",4],[4,"@api/core-deactivate-room"],["@api/core-leave-room",5],[5,"@api/core-leave-room"],["@api/core-update-room-config",6],[6,"@api/core-update-room-config"],["@api/core-update-room-settings",7],[7,"@api/core-update-room-settings"],["@api/core-update-room-status",8],[8,"@api/core-update-room-status"],["@api/core-update-profile",9],[9,"@api/core-update-profile"],["@api/core-create-room-invitation",10],[10,"@api/core-create-room-invitation"],["@api/core-create-identity-invitation",11],[11,"@api/core-create-identity-invitation"],["@api/core-start-pairing",12],[12,"@api/core-start-pairing"],["@api/core-accept-join-request",13],[13,"@api/core-accept-join-request"],["@api/core-reject-join-request",14],[14,"@api/core-reject-join-request"],["@api/core-stop-pairing",15],[15,"@api/core-stop-pairing"],["@api/core-add-chat-message",16],[16,"@api/core-add-chat-message"],["@api/core-edit-chat-message",17],[17,"@api/core-edit-chat-message"],["@api/core-remove-chat-message",18],[18,"@api/core-remove-chat-message"],["@api/core-add-chat-reaction",19],[19,"@api/core-add-chat-reaction"],["@api/core-remove-chat-reaction",20],[20,"@api/core-remove-chat-reaction"],["@api/core-want-identity",21],[21,"@api/core-want-identity"],["@api/core-unwant-identity",22],[22,"@api/core-unwant-identity"],["@api/core-have-identity",23],[23,"@api/core-have-identity"],["@api/core-identity-reset",24],[24,"@api/core-identity-reset"],["@api/core-identity-member",25],[25,"@api/core-identity-member"],["@api/core-identity-device",26],[26,"@api/core-identity-device"],["@api/core-want-pairing",27],[27,"@api/core-want-pairing"],["@api/core-unwant-pairing",28],[28,"@api/core-unwant-pairing"],["@api/core-have-pairing",29],[29,"@api/core-have-pairing"],["@api/core-pairing-reset",30],[30,"@api/core-pairing-reset"],["@api/core-want-lobby",31],[31,"@api/core-want-lobby"],["@api/core-unwant-lobby",32],[32,"@api/core-unwant-lobby"],["@api/core-have-lobby",33],[33,"@api/core-have-lobby"],["@api/core-lobby-reset",34],[34,"@api/core-lobby-reset"],["@api/core-lobby-room",35],[35,"@api/core-lobby-room"],["@api/core-want-room-info",36],[36,"@api/core-want-room-info"],["@api/core-have-room-info",37],[37,"@api/core-have-room-info"],["@api/core-room-info",38],[38,"@api/core-room-info"],["@api/core-room-info-digest",39],[39,"@api/core-room-info-digest"],["@api/core-room-info-config",40],[40,"@api/core-room-info-config"],["@api/core-room-info-role",41],[41,"@api/core-room-info-role"],["@api/core-room-info-last-message",42],[42,"@api/core-room-info-last-message"],["@api/core-want-chat",43],[43,"@api/core-want-chat"],["@api/core-unwant-chat",44],[44,"@api/core-unwant-chat"],["@api/core-have-chat",45],[45,"@api/core-have-chat"],["@api/core-chat-reset",46],[46,"@api/core-chat-reset"],["@api/core-message-info",47],[47,"@api/core-message-info"],["@api/core-message-info-chat",48],[48,"@api/core-message-info-chat"],["@api/core-message-info-member",49],[49,"@api/core-message-info-member"],["@api/core-message-info-role",50],[50,"@api/core-message-info-role"],["@api/core-message-info-reactions",51],[51,"@api/core-message-info-reactions"],["@api/core-want-members",52],[52,"@api/core-want-members"],["@api/core-unwant-members",53],[53,"@api/core-unwant-members"],["@api/core-have-members",54],[54,"@api/core-have-members"],["@api/core-member-list-add",55],[55,"@api/core-member-list-add"],["@api/core-member-list-remove",56],[56,"@api/core-member-list-remove"],["@api/core-member",57],[57,"@api/core-member"],["@api/core-device",58],[58,"@api/core-device"],["@api/debug-enable",59],[59,"@api/debug-enable"],["@api/debug-disable",60],[60,"@api/debug-disable"],["@api/send-legacy",61],[61,"@api/send-legacy"]]);module.exports=class{constructor(c){this._stream=c,this._handlers=[],this._requestEncodings=new Map([["@api/self-destruct",i("@api/self-destruct-request")],["@api/boot",i("@api/boot-request")],["@api/core-create-room",i("@api/core/create-room-request")],["@api/core-activate-room",i("@api/core/activate-room-request")],["@api/core-deactivate-room",i("@api/core/deactivate-room-request")],["@api/core-leave-room",i("@api/core/leave-room-request")],["@api/core-update-room-config",i("@api/core/update-room-config-request")],["@api/core-update-room-settings",i("@api/core/update-room-settings-request")],["@api/core-update-room-status",i("@api/core/update-room-status-request")],["@api/core-update-profile",i("@api/core/update-profile-request")],["@api/core-create-room-invitation",i("@api/core/create-room-invitation-request")],["@api/core-create-identity-invitation",i("@api/core/create-identity-invitation-request")],["@api/core-start-pairing",i("@api/core/start-pairing-request")],["@api/core-accept-join-request",i("@api/core/accept-join-request-request")],["@api/core-reject-join-request",i("@api/core/reject-join-request-request")],["@api/core-stop-pairing",i("@api/core/stop-pairing-request")],["@api/core-add-chat-message",i("@api/core/add-chat-message-request")],["@api/core-edit-chat-message",i("@api/core/edit-chat-message-request")],["@api/core-remove-chat-message",i("@api/core/remove-chat-message-request")],["@api/core-add-chat-reaction",i("@api/core/add-chat-reaction-request")],["@api/core-remove-chat-reaction",i("@api/core/remove-chat-reaction-request")],["@api/core-want-identity",i("@api/core/want-identity")],["@api/core-unwant-identity",i("@api/core/unwant-identity")],["@api/core-have-identity",i("@api/core/have")],["@api/core-identity-reset",i("@api/core/identity")],["@api/core-identity-member",i("@api/core/identity-member")],["@api/core-identity-device",i("@api/core/identity-device")],["@api/core-want-pairing",i("@api/core/want-pairing")],["@api/core-unwant-pairing",i("@api/core/unwant-pairing")],["@api/core-have-pairing",i("@api/core/have")],["@api/core-pairing-reset",i("@api/core/pairing")],["@api/core-want-lobby",i("@api/core/want-lobby")],["@api/core-unwant-lobby",i("@api/core/unwant-lobby")],["@api/core-have-lobby",i("@api/core/have")],["@api/core-lobby-reset",i("@api/core/lobby")],["@api/core-lobby-room",i("@api/core/lobby-room")],["@api/core-want-room-info",i("@api/core/want-room-info")],["@api/core-have-room-info",i("@api/core/have")],["@api/core-room-info",i("@api/core/room-info")],["@api/core-room-info-digest",i("@api/core/room-info-digest")],["@api/core-room-info-config",i("@api/core/room-info-config")],["@api/core-room-info-role",i("@api/core/room-info-role")],["@api/core-room-info-last-message",i("@api/core/room-info-last-message")],["@api/core-want-chat",i("@api/core/want-chat")],["@api/core-unwant-chat",i("@api/core/unwant-chat")],["@api/core-have-chat",i("@api/core/have")],["@api/core-chat-reset",i("@api/core/chat-reset")],["@api/core-message-info",i("@api/core/message-info")],["@api/core-message-info-chat",i("@api/core/message-info-chat")],["@api/core-message-info-member",i("@api/core/message-info-member")],["@api/core-message-info-role",i("@api/core/message-info-role")],["@api/core-message-info-reactions",i("@api/core/message-info-reactions")],["@api/core-want-members",i("@api/core/want-members")],["@api/core-unwant-members",i("@api/core/unwant-members")],["@api/core-have-members",i("@api/core/have")],["@api/core-member-list-add",i("@api/core/member-list-add")],["@api/core-member-list-remove",i("@api/core/member-list-remove")],["@api/core-member",i("@api/core/member")],["@api/core-device",i("@api/core/device")],["@api/debug-enable",i("@api/debug/enable-request")],["@api/debug-disable",i("@api/debug/disable-request")],["@api/send-legacy",e.buffer]]),this._responseEncodings=new Map([["@api/boot",i("@api/boot-response")],["@api/core-create-room",i("@api/core/create-room-response")],["@api/core-leave-room",i("@api/core/leave-room-response")],["@api/core-create-room-invitation",i("@api/core/create-room-invitation-response")],["@api/core-create-identity-invitation",i("@api/core/create-identity-invitation-response")],["@api/core-start-pairing",i("@api/core/start-pairing-response")],["@api/core-accept-join-request",i("@api/core/accept-join-request-response")],["@api/core-reject-join-request",i("@api/core/reject-join-request-response")],["@api/core-stop-pairing",i("@api/core/stop-pairing-response")],["@api/core-add-chat-message",i("@api/core/add-chat-message-response")],["@api/core-edit-chat-message",i("@api/core/edit-chat-message-response")],["@api/core-remove-chat-message",i("@api/core/remove-chat-message-response")],["@api/core-add-chat-reaction",i("@api/core/add-chat-reaction-response")],["@api/core-remove-chat-reaction",i("@api/core/remove-chat-reaction-response")],["@api/debug-enable",i("@api/debug/enable-response")],["@api/debug-disable",i("@api/debug/disable-response")]]),this._rpc=new a(c,async a=>{const i=t.get(a.command),c=this._responseEncodings.get(i),n=this._requestEncodings.get(i);if(this._requestIsSend(i)){const o=a.data&&a.data.byteLength>0?e.decode(n,a.data):null;return void await this._handlers[i](o)}if(!this._requestIsStream(i)&&!this._responseIsStream(i)){const o=a.data&&a.data.byteLength>0?e.decode(n,a.data):null,r=await this._handlers[i](o);a.reply(e.encode(c,r))}if(!this._requestIsStream(i)&&this._responseIsStream(i)){const r=a.data&&a.data.byteLength>0?e.decode(n,a.data):null,t=new o(null,null,a.createResponseStream(),c);t.data=r,await this._handlers[i](t)}if(this._requestIsStream(i)&&!this._responseIsStream(i)){const o=new r(a,c,a.createRequestStream(),n),t=await this._handlers[i](o);a.reply(e.encode(c,t))}if(this._requestIsStream(i)&&this._responseIsStream(i)){const e=new r(a,c,a.createRequestStream(),n,a.createResponseStream(),c);await this._handlers[i](e)}})}async _call(a,o){const r=this._requestEncodings.get(a),i=this._responseEncodings.get(a),c=this._rpc.request(t.get(a)),n=e.encode(r,o);return c.send(n),e.decode(i,await c.reply())}_callSync(a,i){const c=this._requestEncodings.get(a),n=this._responseEncodings.get(a);if(this._requestIsSend(a)){const o=e.encode(c,i);this._rpc.event(t.get(a)).send(o)}const s=this._rpc.request(t.get(a));if(!this._requestIsStream(a)&&this._responseIsStream(a)){const a=e.encode(c,i);return s.send(a),new o(s.createResponseStream(),n)}return this._requestIsStream(a)&&!this._responseIsStream(a)?new r(s,n,null,null,s.createRequestStream(),c):this._requestIsStream(a)&&this._responseIsStream(a)?new r(s,n,s.createResponseStream(),n,s.createRequestStream(),c):void 0}async selfDestruct(e){return this._call("@api/self-destruct",e)}async boot(e){return this._call("@api/boot",e)}async coreCreateRoom(e){return this._call("@api/core-create-room",e)}coreActivateRoom(e){return this._callSync("@api/core-activate-room",e)}coreDeactivateRoom(e){return this._callSync("@api/core-deactivate-room",e)}async coreLeaveRoom(e){return this._call("@api/core-leave-room",e)}coreUpdateRoomConfig(e){return this._callSync("@api/core-update-room-config",e)}coreUpdateRoomSettings(e){return this._callSync("@api/core-update-room-settings",e)}coreUpdateRoomStatus(e){return this._callSync("@api/core-update-room-status",e)}coreUpdateProfile(e){return this._callSync("@api/core-update-profile",e)}async coreCreateRoomInvitation(e){return this._call("@api/core-create-room-invitation",e)}async coreCreateIdentityInvitation(e){return this._call("@api/core-create-identity-invitation",e)}async coreStartPairing(e){return this._call("@api/core-start-pairing",e)}async coreAcceptJoinRequest(e){return this._call("@api/core-accept-join-request",e)}async coreRejectJoinRequest(e){return this._call("@api/core-reject-join-request",e)}async coreStopPairing(e){return this._call("@api/core-stop-pairing",e)}async coreAddChatMessage(e){return this._call("@api/core-add-chat-message",e)}async coreEditChatMessage(e){return this._call("@api/core-edit-chat-message",e)}async coreRemoveChatMessage(e){return this._call("@api/core-remove-chat-message",e)}async coreAddChatReaction(e){return this._call("@api/core-add-chat-reaction",e)}async coreRemoveChatReaction(e){return this._call("@api/core-remove-chat-reaction",e)}coreWantIdentity(e){return this._callSync("@api/core-want-identity",e)}coreUnwantIdentity(e){return this._callSync("@api/core-unwant-identity",e)}coreHaveIdentity(e){return this._callSync("@api/core-have-identity",e)}coreIdentityReset(e){return this._callSync("@api/core-identity-reset",e)}coreIdentityMember(e){return this._callSync("@api/core-identity-member",e)}coreIdentityDevice(e){return this._callSync("@api/core-identity-device",e)}coreWantPairing(e){return this._callSync("@api/core-want-pairing",e)}coreUnwantPairing(e){return this._callSync("@api/core-unwant-pairing",e)}coreHavePairing(e){return this._callSync("@api/core-have-pairing",e)}corePairingReset(e){return this._callSync("@api/core-pairing-reset",e)}coreWantLobby(e){return this._callSync("@api/core-want-lobby",e)}coreUnwantLobby(e){return this._callSync("@api/core-unwant-lobby",e)}coreHaveLobby(e){return this._callSync("@api/core-have-lobby",e)}coreLobbyReset(e){return this._callSync("@api/core-lobby-reset",e)}coreLobbyRoom(e){return this._callSync("@api/core-lobby-room",e)}coreWantRoomInfo(e){return this._callSync("@api/core-want-room-info",e)}coreHaveRoomInfo(e){return this._callSync("@api/core-have-room-info",e)}coreRoomInfo(e){return this._callSync("@api/core-room-info",e)}coreRoomInfoDigest(e){return this._callSync("@api/core-room-info-digest",e)}coreRoomInfoConfig(e){return this._callSync("@api/core-room-info-config",e)}coreRoomInfoRole(e){return this._callSync("@api/core-room-info-role",e)}coreRoomInfoLastMessage(e){return this._callSync("@api/core-room-info-last-message",e)}coreWantChat(e){return this._callSync("@api/core-want-chat",e)}coreUnwantChat(e){return this._callSync("@api/core-unwant-chat",e)}coreHaveChat(e){return this._callSync("@api/core-have-chat",e)}coreChatReset(e){return this._callSync("@api/core-chat-reset",e)}coreMessageInfo(e){return this._callSync("@api/core-message-info",e)}coreMessageInfoChat(e){return this._callSync("@api/core-message-info-chat",e)}coreMessageInfoMember(e){return this._callSync("@api/core-message-info-member",e)}coreMessageInfoRole(e){return this._callSync("@api/core-message-info-role",e)}coreMessageInfoReactions(e){return this._callSync("@api/core-message-info-reactions",e)}coreWantMembers(e){return this._callSync("@api/core-want-members",e)}coreUnwantMembers(e){return this._callSync("@api/core-unwant-members",e)}coreHaveMembers(e){return this._callSync("@api/core-have-members",e)}coreMemberListAdd(e){return this._callSync("@api/core-member-list-add",e)}coreMemberListRemove(e){return this._callSync("@api/core-member-list-remove",e)}coreMember(e){return this._callSync("@api/core-member",e)}coreDevice(e){return this._callSync("@api/core-device",e)}async debugEnable(e){return this._call("@api/debug-enable",e)}async debugDisable(e){return this._call("@api/debug-disable",e)}sendLegacy(e){return this._callSync("@api/send-legacy",e)}onSelfDestruct(e){this._handlers["@api/self-destruct"]=e}onBoot(e){this._handlers["@api/boot"]=e}onCoreCreateRoom(e){this._handlers["@api/core-create-room"]=e}onCoreActivateRoom(e){this._handlers["@api/core-activate-room"]=e}onCoreDeactivateRoom(e){this._handlers["@api/core-deactivate-room"]=e}onCoreLeaveRoom(e){this._handlers["@api/core-leave-room"]=e}onCoreUpdateRoomConfig(e){this._handlers["@api/core-update-room-config"]=e}onCoreUpdateRoomSettings(e){this._handlers["@api/core-update-room-settings"]=e}onCoreUpdateRoomStatus(e){this._handlers["@api/core-update-room-status"]=e}onCoreUpdateProfile(e){this._handlers["@api/core-update-profile"]=e}onCoreCreateRoomInvitation(e){this._handlers["@api/core-create-room-invitation"]=e}onCoreCreateIdentityInvitation(e){this._handlers["@api/core-create-identity-invitation"]=e}onCoreStartPairing(e){this._handlers["@api/core-start-pairing"]=e}onCoreAcceptJoinRequest(e){this._handlers["@api/core-accept-join-request"]=e}onCoreRejectJoinRequest(e){this._handlers["@api/core-reject-join-request"]=e}onCoreStopPairing(e){this._handlers["@api/core-stop-pairing"]=e}onCoreAddChatMessage(e){this._handlers["@api/core-add-chat-message"]=e}onCoreEditChatMessage(e){this._handlers["@api/core-edit-chat-message"]=e}onCoreRemoveChatMessage(e){this._handlers["@api/core-remove-chat-message"]=e}onCoreAddChatReaction(e){this._handlers["@api/core-add-chat-reaction"]=e}onCoreRemoveChatReaction(e){this._handlers["@api/core-remove-chat-reaction"]=e}onCoreWantIdentity(e){this._handlers["@api/core-want-identity"]=e}onCoreUnwantIdentity(e){this._handlers["@api/core-unwant-identity"]=e}onCoreHaveIdentity(e){this._handlers["@api/core-have-identity"]=e}onCoreIdentityReset(e){this._handlers["@api/core-identity-reset"]=e}onCoreIdentityMember(e){this._handlers["@api/core-identity-member"]=e}onCoreIdentityDevice(e){this._handlers["@api/core-identity-device"]=e}onCoreWantPairing(e){this._handlers["@api/core-want-pairing"]=e}onCoreUnwantPairing(e){this._handlers["@api/core-unwant-pairing"]=e}onCoreHavePairing(e){this._handlers["@api/core-have-pairing"]=e}onCorePairingReset(e){this._handlers["@api/core-pairing-reset"]=e}onCoreWantLobby(e){this._handlers["@api/core-want-lobby"]=e}onCoreUnwantLobby(e){this._handlers["@api/core-unwant-lobby"]=e}onCoreHaveLobby(e){this._handlers["@api/core-have-lobby"]=e}onCoreLobbyReset(e){this._handlers["@api/core-lobby-reset"]=e}onCoreLobbyRoom(e){this._handlers["@api/core-lobby-room"]=e}onCoreWantRoomInfo(e){this._handlers["@api/core-want-room-info"]=e}onCoreHaveRoomInfo(e){this._handlers["@api/core-have-room-info"]=e}onCoreRoomInfo(e){this._handlers["@api/core-room-info"]=e}onCoreRoomInfoDigest(e){this._handlers["@api/core-room-info-digest"]=e}onCoreRoomInfoConfig(e){this._handlers["@api/core-room-info-config"]=e}onCoreRoomInfoRole(e){this._handlers["@api/core-room-info-role"]=e}onCoreRoomInfoLastMessage(e){this._handlers["@api/core-room-info-last-message"]=e}onCoreWantChat(e){this._handlers["@api/core-want-chat"]=e}onCoreUnwantChat(e){this._handlers["@api/core-unwant-chat"]=e}onCoreHaveChat(e){this._handlers["@api/core-have-chat"]=e}onCoreChatReset(e){this._handlers["@api/core-chat-reset"]=e}onCoreMessageInfo(e){this._handlers["@api/core-message-info"]=e}onCoreMessageInfoChat(e){this._handlers["@api/core-message-info-chat"]=e}onCoreMessageInfoMember(e){this._handlers["@api/core-message-info-member"]=e}onCoreMessageInfoRole(e){this._handlers["@api/core-message-info-role"]=e}onCoreMessageInfoReactions(e){this._handlers["@api/core-message-info-reactions"]=e}onCoreWantMembers(e){this._handlers["@api/core-want-members"]=e}onCoreUnwantMembers(e){this._handlers["@api/core-unwant-members"]=e}onCoreHaveMembers(e){this._handlers["@api/core-have-members"]=e}onCoreMemberListAdd(e){this._handlers["@api/core-member-list-add"]=e}onCoreMemberListRemove(e){this._handlers["@api/core-member-list-remove"]=e}onCoreMember(e){this._handlers["@api/core-member"]=e}onCoreDevice(e){this._handlers["@api/core-device"]=e}onDebugEnable(e){this._handlers["@api/debug-enable"]=e}onDebugDisable(e){this._handlers["@api/debug-disable"]=e}onSendLegacy(e){this._handlers["@api/send-legacy"]=e}_requestIsStream(e){return[].includes(e)}_responseIsStream(e){return[].includes(e)}_requestIsSend(e){return["@api/core-activate-room","@api/core-deactivate-room","@api/core-update-room-config","@api/core-update-room-settings","@api/core-update-room-status","@api/core-update-profile","@api/core-want-identity","@api/core-unwant-identity","@api/core-have-identity","@api/core-identity-reset","@api/core-identity-member","@api/core-identity-device","@api/core-want-pairing","@api/core-unwant-pairing","@api/core-have-pairing","@api/core-pairing-reset","@api/core-want-lobby","@api/core-unwant-lobby","@api/core-have-lobby","@api/core-lobby-reset","@api/core-lobby-room","@api/core-want-room-info","@api/core-have-room-info","@api/core-room-info","@api/core-room-info-digest","@api/core-room-info-config","@api/core-room-info-role","@api/core-room-info-last-message","@api/core-want-chat","@api/core-unwant-chat","@api/core-have-chat","@api/core-chat-reset","@api/core-message-info","@api/core-message-info-chat","@api/core-message-info-member","@api/core-message-info-role","@api/core-message-info-reactions","@api/core-want-members","@api/core-unwant-members","@api/core-have-members","@api/core-member-list-add","@api/core-member-list-remove","@api/core-member","@api/core-device","@api/send-legacy"].includes(e)}};