k2-im 0.1.26 → 0.1.27

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.
@@ -1 +1 @@
1
- import {c as c$1}from'./chunk-VMKTMZ3K.js';import {s}from'./chunk-LX7YEO5G.js';var w=864e5,P=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function u(e){return e!=null&&Number.isFinite(e)&&e>0&&!Number.isNaN(new Date(e).getTime())}function v(e,n){if(u(e))return e;if(u(n))return n}function b(e,n){return v(n,e)}function m(e){if(!u(e))return "";let n=new Date(e);return `${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`}function h(e,n){return u(e)?u(n)?m(e)!==m(n):true:false}function F(e,n){return T(e,n,"conversation")}function L(e,n){return T(e,n,"separator")}function T(e,n,r){if(!u(e))return "";let t=n.now??new Date;if(Number.isNaN(t.getTime()))return "";let o=new Date(e),a=y(t)-y(o),i=c$1(n.locale);return o.getFullYear()!==t.getFullYear()?A(o):a===0?r==="conversation"?k(o):i.today:a===1?i.yesterday:a>=2&&a<=6?x(o,i):D(o)}function y(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/w}function x(e,n){return n.weekdays[P[e.getDay()]]}function k(e){return `${c(e.getHours())}:${c(e.getMinutes())}`}function A(e){return `${e.getFullYear()}/${c(e.getMonth()+1)}/${c(e.getDate())}`}function D(e){return `${c(e.getMonth()+1)}/${c(e.getDate())}`}function c(e){return String(e).padStart(2,"0")}function O(e){if(e.markers.length===0)return null;let n=e.viewportTop+e.overlayTop;if(e.markers[0].top>n+1)return null;let r=0;for(let d=0;d<e.markers.length&&!(e.markers[d].top>n+1);d+=1)r=d;let t=e.markers[r],o=n+e.overlayHeight,a=e.markers.filter(d=>d.top<o+1&&d.top+d.height>n-1).at(-1),i=a===void 0?0:Math.max(0,Math.min(a.top+a.height,o)-Math.max(a.top,n)),s=a===void 0?1:Math.max(1,Math.min(a.height,e.overlayHeight)),l=Math.min(1,i/s);return {key:t.key,label:t.label,inlineOpacity:1-l,...a===void 0?{}:{inlineDateKey:a.key}}}var C={text:"text",image:"image",video:"video",voice:"voice",file:"file",sticker:"sticker",contact:"contact",miniProgram:"miniProgram",game:"game",transfer:"transfer",redPacket:"redPacket",call:"call",mediaAlbum:"mediaAlbum",system:"system",unknown:"unknown"};function S(e){switch(e.contentType){case "text":return typeof e.body.text=="string";case "image":return e.body.image!==void 0&&typeof e.body.image.url=="string";case "video":return e.body.video!==void 0&&typeof e.body.video.url=="string";case "voice":return e.body.voice!==void 0;case "file":return e.body.file!==void 0;case "sticker":return e.body.sticker!==void 0;case "contact":return e.body.contact!==void 0;case "miniProgram":return e.body.miniProgram!==void 0&&typeof e.body.miniProgram.appId=="string";case "transfer":return e.body.transfer!==void 0&&typeof e.body.transfer.serialNumber=="string";case "redPacket":{let n=e.body.redPacket;return n!==void 0&&n.packetId.trim()!==""&&(n.packetType===1||n.packetType===2||n.packetType===3||n.packetType===4)}case "call":return e.body.call!==void 0&&(e.body.call.callKind==="audio"||e.body.call.callKind==="video")&&typeof e.body.call.durationMs=="number";case "game":{let n=e.body.game;return n?.gameType==="dice"?Number.isInteger(n.value)&&n.value>=1&&n.value<=6:n?.gameType==="rock-paper-scissors"&&Number.isInteger(n.value)&&n.value>=1&&n.value<=3}case "mediaAlbum":{let n=e.body.mediaAlbum;return n!==void 0&&n.items.length>0&&n.items.every(r=>typeof r.url=="string"&&r.url!=="")}case "system":return e.body.system!==void 0;case "unknown":return e.body.unknown!==void 0}}function I(e){return e.encryption.decryptFailed===true?"decrypt-failed":S(e)?e.contentType==="sticker"?s(e.body.sticker.imageType):C[e.contentType]:"unknown"}function _(e){let n=[...e.leadingItems??[]],r=e.entryUnread.state==="located"?e.entryUnread:null,t,o=null,a=false;for(let i of e.messages){let s=b(i.createdAt,i.serverTime),l=s!==void 0&&h(s,t);s!==void 0&&l&&n.push({kind:"date-separator",key:`date-${m(s)}-${i.id}`,label:e.formatDate(s)}),t=s,!a&&r!==null&&i.id===r.firstMessageId&&(n.push({kind:"entry-unread",key:`entry-unread-${i.id}`,...r.count===void 0?{}:{count:r.count}}),a=true);let d=e.beforeMessageItems?.(i)??[];if(n.push(...d),I(i)==="system"){n.push({kind:"system",key:i.id,message:i}),o=null;continue}n.push({kind:"message",key:`message-${i.id}`,message:i,firstOfRun:l||i.senderId!==o}),o=i.senderId;}return n}function U(e){let n=e.targetTop-e.viewportTop,r=e.currentScrollTop+n-(e.viewportHeight-e.targetHeight)/2,t=Math.max(0,e.scrollHeight-e.viewportHeight);return Math.min(t,Math.max(0,r))}function j(e){return e!==null&&e.clientWidth>0&&e.clientHeight>0}function G(e){return e.locatedAt<=0||e.duration<0||e.now<e.locatedAt?false:e.now-e.locatedAt<=e.duration}function q(e){return !Number.isFinite(e.topThreshold)||e.topThreshold<0?false:e.currentScrollTop<e.previousScrollTop&&e.currentScrollTop<=e.topThreshold}function H(e,n){return e.find(r=>r.bottom>n.top&&r.top<n.bottom)??e[0]}function f(e){return e.anchorTop??e.top}function B(e,n){let r=H(e,n);return r===void 0?void 0:{id:r.id,offset:f(r)-n.top}}function J(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t!==void 0&&t.bottom>r.top&&t.top<r.bottom?{id:e.id,offset:f(t)-r.top}:B(n,r)??e}function V(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t===void 0?void 0:f(t)-r.top-e.offset}function Q(e,n,r=3){return !Number.isFinite(r)||r<=0?[]:e.filter(t=>t.bottom>n.top&&t.top<n.bottom).slice(0,Math.floor(r)).map(t=>({id:t.id,offset:f(t)-n.top}))}function X(e,n,r){for(let t of e){let o=V(t,n,r);if(o!==void 0)return o}}function Z(e){return e.sameConversation&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&e.userKeptLatestIntent}function ee(e){return e.isPageVisible&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&(e.isOwnMessage||e.isAtBottom)}function ne(e){return e.isLoadingOlder&&e.previousTailId!==void 0&&e.previousTailId!==e.currentTailId&&e.previousMessageIds.includes(e.currentTailId)}function re(e,n){return e!==void 0&&!n.has(e)}async function te(e,n){let r=0;for(;e()&&!(await n()<=0);)r+=1;return r}function oe(e){return e.hasMoreHistory&&Number.isFinite(e.scrollHeight)&&Number.isFinite(e.clientHeight)&&e.scrollHeight>0&&e.clientHeight>0&&e.scrollHeight<=e.clientHeight}function ie(e){return e.isHistoryWindow&&!e.isPageSettling&&e.isAtBottom&&(e.currentScrollTop>e.previousScrollTop||e.allowStationaryBoundary===true)}function M(e){return !e.isPageVisible||!e.isAtBottom||e.isHistoryWindow}function ae(e){let n=Math.max(0,e.margin);return e.messageTop<e.viewportBottom-n&&e.messageBottom>e.viewportTop+n}function le(e){let n=new Set;function r(s){return s===n.size?false:(e?.(n.size),true)}function t(s){let l=n.size;for(let d of s)d!==""&&n.add(d);return r(l)}function o(s,l){return M(l)&&t(s)}function a(s){let l=n.size;for(let d of s)n.delete(d);return r(l)}function i(){let s=n.size;return n.clear(),r(s)}return {get count(){return n.size},add:t,trackRemote:o,acknowledgeVisible:a,clear:i}}export{M as A,ae as B,le as C,v as a,b,m as c,h as d,F as e,L as f,O as g,I as h,_ as i,U as j,j as k,G as l,q as m,H as n,B as o,J as p,V as q,Q as r,X as s,Z as t,ee as u,ne as v,re as w,te as x,oe as y,ie as z};
1
+ import {c as c$1}from'./chunk-HGVJTQKD.js';import {s}from'./chunk-PY2CC436.js';var w=864e5,P=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function u(e){return e!=null&&Number.isFinite(e)&&e>0&&!Number.isNaN(new Date(e).getTime())}function v(e,n){if(u(e))return e;if(u(n))return n}function b(e,n){return v(n,e)}function m(e){if(!u(e))return "";let n=new Date(e);return `${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`}function h(e,n){return u(e)?u(n)?m(e)!==m(n):true:false}function F(e,n){return T(e,n,"conversation")}function L(e,n){return T(e,n,"separator")}function T(e,n,r){if(!u(e))return "";let t=n.now??new Date;if(Number.isNaN(t.getTime()))return "";let o=new Date(e),a=y(t)-y(o),i=c$1(n.locale);return o.getFullYear()!==t.getFullYear()?A(o):a===0?r==="conversation"?k(o):i.today:a===1?i.yesterday:a>=2&&a<=6?x(o,i):D(o)}function y(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/w}function x(e,n){return n.weekdays[P[e.getDay()]]}function k(e){return `${c(e.getHours())}:${c(e.getMinutes())}`}function A(e){return `${e.getFullYear()}/${c(e.getMonth()+1)}/${c(e.getDate())}`}function D(e){return `${c(e.getMonth()+1)}/${c(e.getDate())}`}function c(e){return String(e).padStart(2,"0")}function O(e){if(e.markers.length===0)return null;let n=e.viewportTop+e.overlayTop;if(e.markers[0].top>n+1)return null;let r=0;for(let d=0;d<e.markers.length&&!(e.markers[d].top>n+1);d+=1)r=d;let t=e.markers[r],o=n+e.overlayHeight,a=e.markers.filter(d=>d.top<o+1&&d.top+d.height>n-1).at(-1),i=a===void 0?0:Math.max(0,Math.min(a.top+a.height,o)-Math.max(a.top,n)),s=a===void 0?1:Math.max(1,Math.min(a.height,e.overlayHeight)),l=Math.min(1,i/s);return {key:t.key,label:t.label,inlineOpacity:1-l,...a===void 0?{}:{inlineDateKey:a.key}}}var C={text:"text",image:"image",video:"video",voice:"voice",file:"file",sticker:"sticker",contact:"contact",miniProgram:"miniProgram",game:"game",transfer:"transfer",redPacket:"redPacket",call:"call",mediaAlbum:"mediaAlbum",system:"system",unknown:"unknown"};function S(e){switch(e.contentType){case "text":return typeof e.body.text=="string";case "image":return e.body.image!==void 0&&typeof e.body.image.url=="string";case "video":return e.body.video!==void 0&&typeof e.body.video.url=="string";case "voice":return e.body.voice!==void 0;case "file":return e.body.file!==void 0;case "sticker":return e.body.sticker!==void 0;case "contact":return e.body.contact!==void 0;case "miniProgram":return e.body.miniProgram!==void 0&&typeof e.body.miniProgram.appId=="string";case "transfer":return e.body.transfer!==void 0&&typeof e.body.transfer.serialNumber=="string";case "redPacket":{let n=e.body.redPacket;return n!==void 0&&n.packetId.trim()!==""&&(n.packetType===1||n.packetType===2||n.packetType===3||n.packetType===4)}case "call":return e.body.call!==void 0&&(e.body.call.callKind==="audio"||e.body.call.callKind==="video")&&typeof e.body.call.durationMs=="number";case "game":{let n=e.body.game;return n?.gameType==="dice"?Number.isInteger(n.value)&&n.value>=1&&n.value<=6:n?.gameType==="rock-paper-scissors"&&Number.isInteger(n.value)&&n.value>=1&&n.value<=3}case "mediaAlbum":{let n=e.body.mediaAlbum;return n!==void 0&&n.items.length>0&&n.items.every(r=>typeof r.url=="string"&&r.url!=="")}case "system":return e.body.system!==void 0;case "unknown":return e.body.unknown!==void 0}}function I(e){return e.encryption.decryptFailed===true?"decrypt-failed":S(e)?e.contentType==="sticker"?s(e.body.sticker.imageType):C[e.contentType]:"unknown"}function _(e){let n=[...e.leadingItems??[]],r=e.entryUnread.state==="located"?e.entryUnread:null,t,o=null,a=false;for(let i of e.messages){let s=b(i.createdAt,i.serverTime),l=s!==void 0&&h(s,t);s!==void 0&&l&&n.push({kind:"date-separator",key:`date-${m(s)}-${i.id}`,label:e.formatDate(s)}),t=s,!a&&r!==null&&i.id===r.firstMessageId&&(n.push({kind:"entry-unread",key:`entry-unread-${i.id}`,...r.count===void 0?{}:{count:r.count}}),a=true);let d=e.beforeMessageItems?.(i)??[];if(n.push(...d),I(i)==="system"){n.push({kind:"system",key:i.id,message:i}),o=null;continue}n.push({kind:"message",key:`message-${i.id}`,message:i,firstOfRun:l||i.senderId!==o}),o=i.senderId;}return n}function U(e){let n=e.targetTop-e.viewportTop,r=e.currentScrollTop+n-(e.viewportHeight-e.targetHeight)/2,t=Math.max(0,e.scrollHeight-e.viewportHeight);return Math.min(t,Math.max(0,r))}function j(e){return e!==null&&e.clientWidth>0&&e.clientHeight>0}function G(e){return e.locatedAt<=0||e.duration<0||e.now<e.locatedAt?false:e.now-e.locatedAt<=e.duration}function q(e){return !Number.isFinite(e.topThreshold)||e.topThreshold<0?false:e.currentScrollTop<e.previousScrollTop&&e.currentScrollTop<=e.topThreshold}function H(e,n){return e.find(r=>r.bottom>n.top&&r.top<n.bottom)??e[0]}function f(e){return e.anchorTop??e.top}function B(e,n){let r=H(e,n);return r===void 0?void 0:{id:r.id,offset:f(r)-n.top}}function J(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t!==void 0&&t.bottom>r.top&&t.top<r.bottom?{id:e.id,offset:f(t)-r.top}:B(n,r)??e}function V(e,n,r){if(e===void 0)return;let t=n.find(o=>o.id===e.id);return t===void 0?void 0:f(t)-r.top-e.offset}function Q(e,n,r=3){return !Number.isFinite(r)||r<=0?[]:e.filter(t=>t.bottom>n.top&&t.top<n.bottom).slice(0,Math.floor(r)).map(t=>({id:t.id,offset:f(t)-n.top}))}function X(e,n,r){for(let t of e){let o=V(t,n,r);if(o!==void 0)return o}}function Z(e){return e.sameConversation&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&e.userKeptLatestIntent}function ee(e){return e.isPageVisible&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&(e.isOwnMessage||e.isAtBottom)}function ne(e){return e.isLoadingOlder&&e.previousTailId!==void 0&&e.previousTailId!==e.currentTailId&&e.previousMessageIds.includes(e.currentTailId)}function re(e,n){return e!==void 0&&!n.has(e)}async function te(e,n){let r=0;for(;e()&&!(await n()<=0);)r+=1;return r}function oe(e){return e.hasMoreHistory&&Number.isFinite(e.scrollHeight)&&Number.isFinite(e.clientHeight)&&e.scrollHeight>0&&e.clientHeight>0&&e.scrollHeight<=e.clientHeight}function ie(e){return e.isHistoryWindow&&!e.isPageSettling&&e.isAtBottom&&(e.currentScrollTop>e.previousScrollTop||e.allowStationaryBoundary===true)}function M(e){return !e.isPageVisible||!e.isAtBottom||e.isHistoryWindow}function ae(e){let n=Math.max(0,e.margin);return e.messageTop<e.viewportBottom-n&&e.messageBottom>e.viewportTop+n}function le(e){let n=new Set;function r(s){return s===n.size?false:(e?.(n.size),true)}function t(s){let l=n.size;for(let d of s)d!==""&&n.add(d);return r(l)}function o(s,l){return M(l)&&t(s)}function a(s){let l=n.size;for(let d of s)n.delete(d);return r(l)}function i(){let s=n.size;return n.clear(),r(s)}return {get count(){return n.size},add:t,trackRemote:o,acknowledgeVisible:a,clear:i}}export{M as A,ae as B,le as C,v as a,b,m as c,h as d,F as e,L as f,O as g,I as h,_ as i,U as j,j as k,G as l,q as m,H as n,B as o,J as p,V as q,Q as r,X as s,Z as t,ee as u,ne as v,re as w,te as x,oe as y,ie as z};
@@ -1,4 +1,4 @@
1
- import {sa as sa$1,E,H as H$1,f,g,i,U,V as V$1,Y as Y$1,Z as Z$1,S,T,I,J as J$1,D,G as G$1,m,e,F,K,M,O as O$1,N as N$1,P,Q as Q$1,R as R$1,ea as ea$1,fa as fa$1,qb,Da as Da$1,Ca as Ca$1,Ba as Ba$1,ca as ca$1,ga as ga$1,aa as aa$1,Aa as Aa$1,W as W$1,X as X$1,l,ya as ya$1,xa as xa$1,_,$ as $$1}from'./chunk-LX7YEO5G.js';import*as q from'node-forge';import {deleteDB,openDB}from'idb';function qo(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-YLMJKRLM.js');return r(t)}){let t=null;function r(){if(t!==null)return t;let o=n(e);return t=o,o.catch(()=>{t===o&&(t=null);}),o}return async(o,i)=>(await r())(o,i)}var H=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function zo(e){return e instanceof H?e.code:void 0}var Wo=3600*1e3,Yo=300*1e3;function ue(...e){for(let n of e){if(typeof n!="string"&&typeof n!="number")continue;let t=String(n).trim();if(t!=="")return t}return ""}function Qo(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Xo(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Jt(e){if(e===null||typeof e!="object")throw new H("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=ue(n.access_key_id,n.accessKeyId),r=ue(n.secret_key,n.secretKey,n.secretAccessKey),o=ue(n.session_token,n.sessionToken).replace(/\s+/g,""),i=ue(n.bucket),a=ue(n.region),c=Xo(ue(n.dns_point,n.dnsPoint)),s=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",c===""?"dns_point":""].filter(y=>y!=="");if(s.length>0)throw new H("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${s.join("\u3001")}`);let l=Qo(n.expiration??n.expiresAtSeconds),m=ue(n.key_prefix,n.keyPrefix),w=ue(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:c,...l===void 0?{}:{expiresAtSeconds:l},...m===""?{}:{keyPrefix:m},...w===""?{}:{identityId:w}}}function Zo(e,n){if(n-e.fetchedAtMs>=Wo)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-Yo>n}function jt(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(s){let l=s instanceof Error?s.message:String(s);throw new H("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${l}`,{cause:s})}let c=Jt(a);return n.set(o,{credential:c,fetchedAtMs:Date.now()}),c}return {resolve(o,i){if(e===void 0)return Promise.reject(new H("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,c=a?void 0:n.get(o);if(c!==void 0&&Zo(c,Date.now()))return Promise.resolve(c.credential);n.delete(o);let s=t.get(o);if(s!==void 0)return s;let l=r(o,a).finally(()=>{t.get(o)===l&&t.delete(o);});return t.set(o,l),l}}}function ei(){if(typeof window>"u"||typeof document>"u")return {recordingSupported:false,recordingBlockers:["no-media-devices"],playbackSupported:false};let e=[];window.isSecureContext===false&&e.push("insecure-context"),(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)&&e.push("no-media-devices"),typeof MediaRecorder>"u"&&e.push("no-media-recorder");let n=window,t=window.AudioContext!==void 0||n.webkitAudioContext!==void 0,r=window.OfflineAudioContext!==void 0||n.webkitOfflineAudioContext!==void 0;return (!t||!r)&&e.push("audio-context-blocked"),{recordingSupported:e.length===0,recordingBlockers:e,playbackSupported:typeof Audio<"u"}}var N=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function nn(e){return e instanceof N?e.code:void 0}function Vt(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new N("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new N("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new N("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new N("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var ne=16e3,ni=new URL("./speex-runtime.txt",import.meta.url).href,En=null,ti=15e3;async function ri(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),ti),t;try{t=await fetch(ni,{signal:e.signal});}finally{clearTimeout(n);}if(!t.ok)throw new Error(`Speex runtime fetch failed: ${t.status}`);let r=await t.text();if(r.trimStart().startsWith("<"))throw new Error("Speex runtime fetch returned HTML instead of script");let o=document.createElement("script");o.dataset.speexRuntime="true",o.text=r,document.head.appendChild(o);}async function kn(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(En??=(async()=>{if(e===void 0||typeof document>"u")throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await ri(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw En=null,n instanceof N?n:new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),En)}function qt(){kn().catch(()=>{});}function le(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function oi(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let c=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,c<0?c*32768:c*32767,true),i+=2;}return r}function Tn(e){if(e instanceof Int16Array)return e;let n=new Int16Array(e.length);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0));n[t]=r<0?r*32768:r*32767;}return n}var ii=40,Rn=120,ai=40,Dn=80;function si(e,n){let t=Math.min(Math.floor(n*ii/1e3),Math.floor(e.length/2));for(let r=0;r<t;r+=1){let o=r/t;e[r]=Math.round((e[r]??0)*o);let i=e.length-1-r;e[i]=Math.round((e[i]??0)*o);}return e}function Un(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*Rn/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*ai/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let c=a/i;o[a]=(o[a]??0)*c;let s=o.length-1-a;o[s]=(o[s]??0)*c;}return o}function tn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function ci(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)n[t]=e.charCodeAt(t)&255;return n}function di(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,Math.min(r+32768,e.length)));return t}async function zt(e,n){let t=await kn(),r=Math.floor(n*Dn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=oi(o,n);try{return ci(t.encodeFile(i))}catch(a){throw new N("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function Wt(e){let n=await kn();try{let[t,r]=n.decodeFile(di(e));if(t.length===0)throw new Error("decoded empty pcm");let o=si(Tn(t),r.rate>0?r.rate:ne),i=r.rate>0?r.rate:ne;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof N?t:new N("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Yt(e){let n=await Wt(e);return {wavData:tn(n.samples,n.sampleRate),durationMs:n.durationMs}}var ui=.5,li=2;function Qt(e){if(typeof e!="number"||!Number.isFinite(e))throw new N("invalid-playback-rate",`\u64AD\u653E\u901F\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57\uFF0C\u6536\u5230 ${String(e)}`);return Math.min(Math.max(e,ui),li)}function pi(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:Qt(e.playbackRate)},r=new Set;function o(){for(let g of r)g(t);}let i=null,a=new Map,c=0,s=false,l=false;function m(g){let S=a.get(g);return S!==void 0&&(a.delete(g),a.set(g,S)),S}function w(g,S){if(s)return URL.revokeObjectURL(S.url),S;let x=a.get(g);if(x!==void 0)return URL.revokeObjectURL(S.url),a.delete(g),a.set(g,x),x;for(a.set(g,S);a.size>n;){let E;for(let k of a.keys())if(k!==t.activeId){E=k;break}if(E===void 0)break;let D=a.get(E);a.delete(E),D!==void 0&&URL.revokeObjectURL(D.url);}return S}function y(g){g.paused||g.pause(),g.removeAttribute("src");try{g.load();}catch{}}function u(g,S){return !s&&g===c&&t.activeId===S}function h(g){g.defaultPlaybackRate=t.playbackRate,g.playbackRate=t.playbackRate;}function v(){if(i!==null)return i;let g=new Audio;return g.preload="auto",h(g),g.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=g.currentTime*1e3,t.progress=g.duration>0?Math.min(1,g.currentTime/g.duration):0,o());}),g.addEventListener("ended",()=>{T(),y(g),o();}),g.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=g,g}function T(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function d(){c+=1,l=false,t.loadingId="",T(),i!==null&&y(i),o();}function f(g){t.errorIds=new Set([...t.errorIds,g]);}function C(g){if(!t.errorIds.has(g))return;let S=new Set(t.errorIds);S.delete(g),t.errorIds=S;}async function p(g,S){let x=m(g);if(x!==void 0)return {entry:x};let E;try{E=await S();}catch(D){return {entry:null,error:{code:nn(D),cause:D}}}if(E===null)return {entry:null};try{let{wavData:D,durationMs:k}=await Yt(E),U={url:URL.createObjectURL(new Blob([D],{type:"audio/wav"})),durationMs:k};return {entry:w(g,U)}}catch(D){return {entry:null,error:{code:nn(D),cause:D}}}}async function b(g,S){if(s)return;let x=v();if(C(g),t.activeId===g){if(t.isPlaying){x.pause();return}let k=++c;try{await x.play();}catch{if(!u(k,g))return;f(g),o();return}if(!u(k,g))return;t.isPlaying=true,o(),S.onPlayStart?.();return}if(t.loadingId===g)return;d();let E=++c;t.loadingId=g,o();let D=await p(g,S.load);if(E===c){if(t.loadingId="",D.entry===null){f(g),o(),D.error!==void 0&&S.onDecodeError?.(D.error.code,D.error.cause);return}x.src=D.entry.url,h(x),t.activeId=g,t.progress=0,t.currentTimeMs=0,o();try{await x.play();}catch(k){if(!u(E,g))return;T(),y(x),f(g),o(),S.onDecodeError?.(void 0,k);return}u(E,g)&&(t.isPlaying=true,o(),S.onPlayStart?.());}}function M(g,S){i===null||t.activeId!==g||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(S,0),.999)*i.duration);}function _(g){i===null||t.activeId!==g||t.isPlaying&&(l=true,i.pause());}function I(g){if(i===null||t.activeId!==g||!l)return;l=false;let S=++c;i.play().then(()=>{u(S,g)&&(t.isPlaying=true,o());}).catch(()=>{u(S,g)&&(f(g),o());});}function P(g){let S=Qt(g);S!==t.playbackRate&&(t.playbackRate=S,i!==null&&h(i),o());}function A(){if(!s){s=true,d();for(let g of a.values())URL.revokeObjectURL(g.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:g=>(r.add(g),()=>r.delete(g)),toggle:b,seek:M,beginScrub:_,endScrub:I,setPlaybackRate:P,stop:d,dispose:A}}function fi(e){if(e.length===0)return 0;let n=0;for(let t=0;t<e.length;t+=1){let r=((e[t]??128)-128)/128;n+=r*r;}return Math.min(1,Math.sqrt(n/e.length)*Math.SQRT2)}function mi(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let c=a*r,s=.2;c<200?s=.15:c<300?s=.4:c<=3400?s=1:c<=6e3&&(s=.45),o+=(e[a]??0)/255*s,i+=s;}return i>0?o/i:0}function Xt(e){let n=fi(e.timeDomain),t=mi(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var rn=class{constructor(n=.45,t=.18){this.attack=n;this.release=t;}attack;release;value=0;next(n){let t=Math.min(1,Math.max(0,n));return t>this.value?this.value+=(t-this.value)*this.attack:this.value+=(t-this.value)*this.release,this.value}};var gi=5e3,Bn=15e3,yi=25e3;function on(e,n,t){return new Promise((r,o)=>{let i=setTimeout(()=>o(new Error(t)),n);e.then(a=>{clearTimeout(i),r(a);},a=>{clearTimeout(i),o(a);});})}function hi(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var bi=50,Ci=.12,wi=2.6,Pi=.06,Ii=256;function Si(){return typeof MediaRecorder>"u"?"":["audio/webm","audio/webm;codecs=opus","audio/mp4","audio/aac","audio/ogg;codecs=opus"].find(n=>MediaRecorder.isTypeSupported(n))??""}async function vi(e,n,t){let r=window.AudioContext??window.webkitAudioContext,o=window.OfflineAudioContext??window.webkitOfflineAudioContext;if(o===void 0||t==null&&r===void 0)throw new N("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await on(i.resume(),Bn,"audioContext.resume timeout").catch(()=>{});let c=await on(i.decodeAudioData(await e.arrayBuffer()),Bn,"decodeAudioData timeout"),s=Math.max(1,Math.ceil(c.duration*n)),l=new o(1,s,n),m=l.createBufferSource();return m.buffer=c,m.connect(l.destination),m.start(0),(await on(l.startRendering(),Bn,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(c){throw c instanceof N?c:new N("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:c})}finally{a&&i.close().catch(()=>{});}}function Zt(e){let n=0;for(let o of e)n+=o.length;let t=new Float32Array(n),r=0;for(let o of e)t.set(o,r),r+=o.length;return t}async function Mi(e={}){if(typeof MediaRecorder>"u")throw new N("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;if(e.stream!==void 0)n=e.stream;else {if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new N("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:hi()});}catch(g){throw Vt(g)}}qt();let t=Si(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,c=[],s=null,l=null,m=null,w=[],y=0,u=false;function h(){try{let g;try{g=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{g=new MediaRecorder(n);}return w=[],g.ondataavailable=S=>{S.data.size>0&&w.push(S.data);},g.start(250),y=Date.now(),g}catch(g){throw g instanceof N?g:new N("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:g})}}let v=e.amplitude?.intervalMs??bi,T=e.amplitude?.boost??wi,d=e.amplitude?.smoothing??Ci,f=e.amplitude?.minVolume??Pi;function C(){let g=Math.floor(r/1e3*ne),S=0;for(let E of i)S+=E.length;if(S>g){let E=g,D=[];for(let k of i){if(E<=0)break;k.length<=E?(D.push(k),E-=k.length):(D.push(k.slice(0,E)),E=0);}i.length=0,i.push(...D);}a=Math.min(a,r);let x=Math.max(0,Math.ceil(r/v));c.length>x&&(c.length=x);}async function p(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let g=A().then(()=>C());m=g;try{await g;}catch(S){console.warn("[im-browser] pauseAtMaxDuration settle failed",S);}}let b=setInterval(()=>{!u&&o==="recording"&&I()>=r&&(u=true,p());},250),M=null,_=null;try{let g=window.AudioContext??window.webkitAudioContext;if(g!==void 0){M=new g,M.state==="suspended"&&M.resume().catch(()=>{});let S=M.createMediaStreamSource(n),x=M.createAnalyser();x.fftSize=Ii,x.smoothingTimeConstant=d,S.connect(x);let E=new Uint8Array(x.frequencyBinCount),D=new Uint8Array(x.fftSize),k=new rn;_=setInterval(()=>{if(o!=="recording"||s===null)return;x.getByteFrequencyData(E),x.getByteTimeDomainData(D);let U=Xt({timeDomain:D,frequency:E,sampleRate:M.sampleRate,fftSize:x.fftSize,boost:T}),B=k.next(U),F=B<f?0:B;c.push(Math.round(F*255)),e.onAmplitude?.(F);},v);}}catch(g){console.warn("[im-browser] amplitude analyser setup failed",g);}function I(){let g=o==="recording"&&s!==null?Date.now()-y:0;return a+g}function P(){b!==null&&(clearInterval(b),b=null),_!==null&&(clearInterval(_),_=null),M?.close().catch(()=>{}),M=null;for(let g of n.getTracks())g.stop();}function A(){if(l!==null)return l;let g=s;return g===null?Promise.resolve():(s=null,l=(async()=>{await new Promise(E=>{if(g.state==="inactive"){E();return}let D=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),E();},gi);g.onstop=()=>{clearTimeout(D),E();},g.stop();});let S=new Blob(w,{type:g.mimeType||t||"audio/webm"});if(w=[],S.size===0)return;let x=await vi(S,ne,M);x.length!==0&&(i.push(x),a+=x.length/ne*1e3);})().finally(()=>{l=null;}),l)}try{s=h();}catch(g){throw o="closed",P(),g}return {getState:()=>o,recordedMs:I,async pause(){o==="recording"&&(o="paused",await A(),(u||a>=r)&&C());},async resume(){o!=="paused"||u||(s=h(),o="recording");},async finish(){if(o==="closed")throw new N("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let g=async()=>{try{m!==null?await m:await A(),C();}finally{P();}let S=Zt(i);if(S.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let x=Un(S,ne);if(x.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let E=Math.min(c.length,Math.ceil(Rn/v));return {data:await zt(x,ne),durationMs:Math.round(x.length/ne*1e3)+Dn,waveform:c.slice(E),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await on(g(),yi,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(S){throw P(),S instanceof N?S:new N("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:S})}},cancel(){o="closed";let g=s;if(s=null,g!==null&&(g.ondataavailable=null,g.onstop=null,g.state!=="inactive"))try{g.stop();}catch{}i.length=0,P();},async previewWav(){m!==null?await m:l!==null&&await l,C();let g=Zt(i),S=Un(g,ne);if(S.length===0)throw new N("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:tn(Tn(S),ne),durationMs:Math.round(S.length/ne*1e3)}}}}function Ie(e){let n=new Map;return {shouldRenegotiate(t,r,o){if(r===void 0)return true;if(o!==void 0&&!e(o,r))return false;let i=n.get(t);return i!==void 0&&e(i,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function er(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var te=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function nr(e){let n=e.trim(),t=n.replace(/-/g,"+").replace(/_/g,"/");if(t===""||!/^[A-Z0-9+/]*={0,2}$/i.test(t)||t.length%4===1)throw new te("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),i;try{i=atob(o);}catch(l){throw new te("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:l})}let a=Uint8Array.from(i,l=>l.charCodeAt(0)&255);if(a.length===0)throw new te("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let c=new Uint8Array(16);c.set(a.subarray(0,c.length));let s=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,l=>l.charCodeAt(0)):void 0;return {canonical:c,...s===void 0?{}:{legacyAscii:s},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:s!==void 0}}}function Ai(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Ie(er);function a(p){return {canonical:p.canonical.slice(),...p.legacyAscii===void 0?{}:{legacyAscii:p.legacyAscii.slice()},metadata:{...p.metadata}}}function c(p){return [{strategy:"canonical-base64-pad",key:p.canonical.slice()},...p.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:p.legacyAscii.slice()}]]}function s(p){n.delete(p),t.delete(p),r.delete(p),o.set(p,(o.get(p)??0)+1);}function l(p){let b=o.get(p)??0,M=(async()=>{try{let _=await e.loadSecretKey(p);if(_===null||_.trim()==="")throw new te(`channel secret_key \u7F3A\u5931\uFF08channelId=${p}\uFF09`);let I=nr(_);return (o.get(p)??0)===b&&n.set(p,a(I)),I}catch(_){let I=_ instanceof te?_:new te(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${p}\uFF09`,{cause:_});throw e.onError?.(I.message,_),I}})().finally(()=>{t.get(p)===M&&t.delete(p);});return t.set(p,M),M}function m(p,b){let M=t.get(p);if(M!==void 0)return M;i.shouldRenegotiate(p,b.staleKey,n.get(p)?.canonical)&&s(p);}function w(p,b){let M=p.trim();if(M===""){let I=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(I.message),Promise.reject(I)}if(b!==void 0){let I=m(M,b);if(I!==void 0)return I.then(a)}let _=n.get(M);return _!==void 0?Promise.resolve(a(_)):t.get(M)??l(M)}function y(p,b){let M=p.trim();if(M===""){let A=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(A.message),Promise.reject(A)}if(b!==void 0){let A=m(M,b);if(A!==void 0)return A.then(g=>g.canonical.slice())}let _=n.get(M);if(_!==void 0)return Promise.resolve(_.canonical.slice());let I=r.get(M);if(I!==void 0)return I;let P=(t.get(M)??l(M)).then(A=>A.canonical.slice()).finally(()=>{r.get(M)===P&&r.delete(M);});return r.set(M,P),P}function u(p){return n.get(p.trim())?.canonical.slice()??null}async function h(p,b){let M=await w(p,b);return c(M)}function v(p){let b=n.get(p.trim());return b===void 0?[]:c(b)}function T(p){let b=n.get(p.trim());return b===void 0?null:{...b.metadata}}function d(p,b){let M=p.trim();if(M==="")throw new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");let _=nr(b);s(M),i.reset(M),n.set(M,a(_));}function f(p){let b=p.trim();b!==""&&(s(b),i.reset(b));}function C(){let p=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let b of p)o.set(b,(o.get(b)??0)+1),i.reset(b);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:u,getChannelKeyCandidates:h,getCachedChannelKeyCandidates:v,getCachedChannelKeyMetadata:T,primeChannelKey:d,clearChannelKey:f,clearAll:C}}function rr(e){if(e.length<16)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 16 \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,16);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function On([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=Math.imul(2654435769,16)>>>0;for(let l=0;l<16;l++)c=c-(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0,a=a-(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,s=s-2654435769>>>0;return [a,c]}function Nn([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=0;for(let l=0;l<16;l++)s=s+2654435769>>>0,a=a+(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,c=c+(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0;return [a,c]}function Ue(e,n,t,r){let o=rr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/8),c=r===void 0?a:Math.min(a,Math.floor(r/8)),s=new DataView(e.buffer,e.byteOffset,e.byteLength),l=new DataView(i.buffer);for(let w=0;w<c;w++){let y=w*8,[u,h]=t([s.getUint32(y,true),s.getUint32(y+4,true)],o);l.setUint32(y,u,true),l.setUint32(y+4,h,true);}let m=c*8;return m<e.length&&i.set(e.subarray(m),m),i}function Be(e,n){return Ue(n,e,On)}function Oe(e,n){return Ue(n,e,Nn)}function or(e,n){return Ue(n,e,Nn,32)}function ir(e,n){return Ue(n,e,On,32)}var _i=1024*1024;function xi(){let n=globalThis.scheduler;return typeof n?.yield=="function"?n.yield():new Promise(t=>{setTimeout(t,0);})}function tr(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function Kn(e,n,t,r=_i,o={}){if(!Number.isInteger(r)||r<=0||r%8!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F 8 \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);rr(e);let i=t==="encrypt"?Nn:On,a=o.yieldToMain??xi,c=n.size,s=[],l=0;for(;l<c;){tr(o.signal);let m=Math.min(l+r,c),w=new Uint8Array(await n.slice(l,m).arrayBuffer());tr(o.signal),s.push(Ue(w,e,i)),l=m,o.onProgress?.(l,c),l<c&&await a();}return new Blob(s)}var ar=8,an=16;function Ei(e){let n=q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function cr(e){return new TextEncoder().encode(e)}function ki(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function Ti(e){let n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t}function Ri(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Di(e){let n=Math.ceil(e.length/ar)*ar;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function dr(e,n=Ei){let t=e.trim();if(t==="")throw new Error("collect TEA key: userId \u4E3A\u7A7A");let r=n(t).replace(/[^0-9a-f]/gi,"");if(r.length<an)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=cr(r.slice(0,an).toUpperCase());if(o.length<an)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,an)}function ur(e,n,t){return Ri(Oe(dr(n,t),Di(cr(e))))}function Ui(e,n,t){return ki(Be(dr(n,t),Ti(e)))}function Bi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function Gn(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return Bi(JSON.parse(n))}catch{return null}}function Oi(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function lr(e,n,t){let r=Gn(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=Ui(e,n,t);return Gn(o)??Gn(Oi(o))}catch{return null}}var Ni="core";var Ne=class extends Error{code=502;constructor(n,t){super(`core JSON \u4F20\u8F93\u5931\u8D25\uFF1A${n||"unknown transport error"}`,t===void 0?void 0:{cause:t}),this.name="CoreJsonTransportError";}},V=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function R(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ni,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Ne(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Ne(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function pr(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return R(e,"/user/encrypt_info/info",t,r)}function Ki(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Gi(e){let n=e.clientType,t=new Map,r=new Map,o=Ie((y,u)=>y===u),i=null,a=null;function c(y,u){e.onError?.(y,u);}function s(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(i=u,u)).finally(()=>{a===y&&(a=null);});return a=y,y}async function l(y){let u;try{u=await s();}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}let h;try{h=await pr(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,d),null}if(h.data===null)return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${h.code}\uFF09`),null;let v=h.data.prv_key??h.data.prvKey??"",T=String(h.data.version??"").trim();if(v==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let d=e.crypto.rsaDecryptPkcs1({data:Ki(v),privateKey:u.privateKey}),f=new TextDecoder().decode(d).trim();if(f==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let C={privateKey:f,version:T};return t.set(y,C),C}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}}function m(y,u){let h=y.trim();if(h==="")return Promise.resolve(null);if(u!==void 0){let f=r.get(h);if(f!==void 0)return f;o.shouldRenegotiate(h,u.staleKey,t.get(h)?.privateKey)&&t.delete(h);}let v=t.get(h);if(v!==void 0)return Promise.resolve(v);let T=r.get(h);if(T!==void 0)return T;let d=l(h).finally(()=>{r.get(h)===d&&r.delete(h);});return r.set(h,d),d}function w(y){return t.get(y.trim())??null}return {getUserPrivateKey:m,getCachedPrivateKey:w}}function fr(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return R(e,"/user_group/encrypt_info",t,r)}function Li(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Hi(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Ie((u,h)=>u===h),a=null,c=null;function s(){if(a!==null)return Promise.resolve(a);if(c!==null)return c;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(h=>(a=h,h)).finally(()=>{c===u&&(c=null);});return c=u,u}async function l(u){let h=o.get(u)??0,v;try{v=await s();}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}let T;try{T=await fr(e.client,{groupId:u,publicKey:v.publicKeyBase64,clientType:n});}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,b),null}if(T.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${u}\uFF0Ccode=${T.code}\uFF09`),null;let d=T.data,f=String(d.prv_key??d.prvKey??d.private_key??"").trim(),C=String(d.pub_key??d.pubKey??d.public_key??"").trim(),p=String(d.version??"").trim();if(f==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let b=e.crypto.rsaDecryptPkcs1({data:Li(f),privateKey:v.privateKey}),M=new TextDecoder().decode(b).trim();if(M==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${u}\uFF09`),null;let _={privateKey:M,publicKey:C,version:p};return (o.get(u)??0)===h&&t.set(u,_),_}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}}function m(u,h){let v=u.trim();if(v==="")return Promise.resolve(null);if(h!==void 0){let C=r.get(v);if(C!==void 0)return C;i.shouldRenegotiate(v,h.staleKey,t.get(v)?.privateKey)&&t.delete(v);}let T=t.get(v);if(T!==void 0)return Promise.resolve(T);let d=r.get(v);if(d!==void 0)return d;let f=l(v).finally(()=>{r.get(v)===f&&r.delete(v);});return r.set(v,f),f}function w(u){return t.get(u.trim())??null}function y(u){let h=u.trim();t.delete(h),r.delete(h),o.set(h,(o.get(h)??0)+1),i.reset(h);}return {getGroupKeys:m,getCachedGroupKeys:w,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:y}}async function Ke(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await R(e,"/user/info/other",t,r)).data}function Fi(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let s=((await Ke(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return s===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,s),s)}catch(c){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,c),null}}function i(a,c){let s=a.trim();if(s==="")return Promise.resolve(null);c?.force===true&&t.delete(s);let l=t.get(s);if(l!==void 0)return Promise.resolve(l);let m=r.get(s);if(m!==void 0)return m;let w=o(s).finally(()=>{r.get(s)===w&&r.delete(s);});return r.set(s,w),w}return {getPeerPublicKey:i}}var me=16;function mr(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function gr(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function yr(e){return e.replace(/(.{64})/g,`$1
1
+ import {sa as sa$1,E,H as H$1,f,g,i,U,V as V$1,Y as Y$1,Z as Z$1,S,T,I,J as J$1,D,G as G$1,m,e,F,K,M,O as O$1,N as N$1,P,Q as Q$1,R as R$1,ea as ea$1,fa as fa$1,qb,Da as Da$1,Ca as Ca$1,Ba as Ba$1,ca as ca$1,ga as ga$1,aa as aa$1,Aa as Aa$1,W as W$1,X as X$1,l,ya as ya$1,xa as xa$1,_,$ as $$1}from'./chunk-PY2CC436.js';import*as q from'node-forge';import {deleteDB,openDB}from'idb';function qo(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-YLMJKRLM.js');return r(t)}){let t=null;function r(){if(t!==null)return t;let o=n(e);return t=o,o.catch(()=>{t===o&&(t=null);}),o}return async(o,i)=>(await r())(o,i)}var H=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function zo(e){return e instanceof H?e.code:void 0}var Wo=3600*1e3,Yo=300*1e3;function ue(...e){for(let n of e){if(typeof n!="string"&&typeof n!="number")continue;let t=String(n).trim();if(t!=="")return t}return ""}function Qo(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Xo(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Jt(e){if(e===null||typeof e!="object")throw new H("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=ue(n.access_key_id,n.accessKeyId),r=ue(n.secret_key,n.secretKey,n.secretAccessKey),o=ue(n.session_token,n.sessionToken).replace(/\s+/g,""),i=ue(n.bucket),a=ue(n.region),c=Xo(ue(n.dns_point,n.dnsPoint)),s=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",c===""?"dns_point":""].filter(y=>y!=="");if(s.length>0)throw new H("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${s.join("\u3001")}`);let l=Qo(n.expiration??n.expiresAtSeconds),m=ue(n.key_prefix,n.keyPrefix),w=ue(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:c,...l===void 0?{}:{expiresAtSeconds:l},...m===""?{}:{keyPrefix:m},...w===""?{}:{identityId:w}}}function Zo(e,n){if(n-e.fetchedAtMs>=Wo)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-Yo>n}function jt(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(s){let l=s instanceof Error?s.message:String(s);throw new H("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${l}`,{cause:s})}let c=Jt(a);return n.set(o,{credential:c,fetchedAtMs:Date.now()}),c}return {resolve(o,i){if(e===void 0)return Promise.reject(new H("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,c=a?void 0:n.get(o);if(c!==void 0&&Zo(c,Date.now()))return Promise.resolve(c.credential);n.delete(o);let s=t.get(o);if(s!==void 0)return s;let l=r(o,a).finally(()=>{t.get(o)===l&&t.delete(o);});return t.set(o,l),l}}}function ei(){if(typeof window>"u"||typeof document>"u")return {recordingSupported:false,recordingBlockers:["no-media-devices"],playbackSupported:false};let e=[];window.isSecureContext===false&&e.push("insecure-context"),(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)&&e.push("no-media-devices"),typeof MediaRecorder>"u"&&e.push("no-media-recorder");let n=window,t=window.AudioContext!==void 0||n.webkitAudioContext!==void 0,r=window.OfflineAudioContext!==void 0||n.webkitOfflineAudioContext!==void 0;return (!t||!r)&&e.push("audio-context-blocked"),{recordingSupported:e.length===0,recordingBlockers:e,playbackSupported:typeof Audio<"u"}}var N=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function nn(e){return e instanceof N?e.code:void 0}function Vt(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new N("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new N("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new N("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new N("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var ne=16e3,ni=new URL("./speex-runtime.txt",import.meta.url).href,En=null,ti=15e3;async function ri(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),ti),t;try{t=await fetch(ni,{signal:e.signal});}finally{clearTimeout(n);}if(!t.ok)throw new Error(`Speex runtime fetch failed: ${t.status}`);let r=await t.text();if(r.trimStart().startsWith("<"))throw new Error("Speex runtime fetch returned HTML instead of script");let o=document.createElement("script");o.dataset.speexRuntime="true",o.text=r,document.head.appendChild(o);}async function kn(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(En??=(async()=>{if(e===void 0||typeof document>"u")throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await ri(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw En=null,n instanceof N?n:new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),En)}function qt(){kn().catch(()=>{});}function le(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function oi(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let c=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,c<0?c*32768:c*32767,true),i+=2;}return r}function Tn(e){if(e instanceof Int16Array)return e;let n=new Int16Array(e.length);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0));n[t]=r<0?r*32768:r*32767;}return n}var ii=40,Rn=120,ai=40,Dn=80;function si(e,n){let t=Math.min(Math.floor(n*ii/1e3),Math.floor(e.length/2));for(let r=0;r<t;r+=1){let o=r/t;e[r]=Math.round((e[r]??0)*o);let i=e.length-1-r;e[i]=Math.round((e[i]??0)*o);}return e}function Un(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*Rn/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*ai/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let c=a/i;o[a]=(o[a]??0)*c;let s=o.length-1-a;o[s]=(o[s]??0)*c;}return o}function tn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function ci(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)n[t]=e.charCodeAt(t)&255;return n}function di(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,Math.min(r+32768,e.length)));return t}async function zt(e,n){let t=await kn(),r=Math.floor(n*Dn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=oi(o,n);try{return ci(t.encodeFile(i))}catch(a){throw new N("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function Wt(e){let n=await kn();try{let[t,r]=n.decodeFile(di(e));if(t.length===0)throw new Error("decoded empty pcm");let o=si(Tn(t),r.rate>0?r.rate:ne),i=r.rate>0?r.rate:ne;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof N?t:new N("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Yt(e){let n=await Wt(e);return {wavData:tn(n.samples,n.sampleRate),durationMs:n.durationMs}}var ui=.5,li=2;function Qt(e){if(typeof e!="number"||!Number.isFinite(e))throw new N("invalid-playback-rate",`\u64AD\u653E\u901F\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57\uFF0C\u6536\u5230 ${String(e)}`);return Math.min(Math.max(e,ui),li)}function pi(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:Qt(e.playbackRate)},r=new Set;function o(){for(let g of r)g(t);}let i=null,a=new Map,c=0,s=false,l=false;function m(g){let S=a.get(g);return S!==void 0&&(a.delete(g),a.set(g,S)),S}function w(g,S){if(s)return URL.revokeObjectURL(S.url),S;let x=a.get(g);if(x!==void 0)return URL.revokeObjectURL(S.url),a.delete(g),a.set(g,x),x;for(a.set(g,S);a.size>n;){let E;for(let k of a.keys())if(k!==t.activeId){E=k;break}if(E===void 0)break;let D=a.get(E);a.delete(E),D!==void 0&&URL.revokeObjectURL(D.url);}return S}function y(g){g.paused||g.pause(),g.removeAttribute("src");try{g.load();}catch{}}function u(g,S){return !s&&g===c&&t.activeId===S}function h(g){g.defaultPlaybackRate=t.playbackRate,g.playbackRate=t.playbackRate;}function v(){if(i!==null)return i;let g=new Audio;return g.preload="auto",h(g),g.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=g.currentTime*1e3,t.progress=g.duration>0?Math.min(1,g.currentTime/g.duration):0,o());}),g.addEventListener("ended",()=>{T(),y(g),o();}),g.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=g,g}function T(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function d(){c+=1,l=false,t.loadingId="",T(),i!==null&&y(i),o();}function f(g){t.errorIds=new Set([...t.errorIds,g]);}function C(g){if(!t.errorIds.has(g))return;let S=new Set(t.errorIds);S.delete(g),t.errorIds=S;}async function p(g,S){let x=m(g);if(x!==void 0)return {entry:x};let E;try{E=await S();}catch(D){return {entry:null,error:{code:nn(D),cause:D}}}if(E===null)return {entry:null};try{let{wavData:D,durationMs:k}=await Yt(E),U={url:URL.createObjectURL(new Blob([D],{type:"audio/wav"})),durationMs:k};return {entry:w(g,U)}}catch(D){return {entry:null,error:{code:nn(D),cause:D}}}}async function b(g,S){if(s)return;let x=v();if(C(g),t.activeId===g){if(t.isPlaying){x.pause();return}let k=++c;try{await x.play();}catch{if(!u(k,g))return;f(g),o();return}if(!u(k,g))return;t.isPlaying=true,o(),S.onPlayStart?.();return}if(t.loadingId===g)return;d();let E=++c;t.loadingId=g,o();let D=await p(g,S.load);if(E===c){if(t.loadingId="",D.entry===null){f(g),o(),D.error!==void 0&&S.onDecodeError?.(D.error.code,D.error.cause);return}x.src=D.entry.url,h(x),t.activeId=g,t.progress=0,t.currentTimeMs=0,o();try{await x.play();}catch(k){if(!u(E,g))return;T(),y(x),f(g),o(),S.onDecodeError?.(void 0,k);return}u(E,g)&&(t.isPlaying=true,o(),S.onPlayStart?.());}}function M(g,S){i===null||t.activeId!==g||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(S,0),.999)*i.duration);}function _(g){i===null||t.activeId!==g||t.isPlaying&&(l=true,i.pause());}function I(g){if(i===null||t.activeId!==g||!l)return;l=false;let S=++c;i.play().then(()=>{u(S,g)&&(t.isPlaying=true,o());}).catch(()=>{u(S,g)&&(f(g),o());});}function P(g){let S=Qt(g);S!==t.playbackRate&&(t.playbackRate=S,i!==null&&h(i),o());}function A(){if(!s){s=true,d();for(let g of a.values())URL.revokeObjectURL(g.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:g=>(r.add(g),()=>r.delete(g)),toggle:b,seek:M,beginScrub:_,endScrub:I,setPlaybackRate:P,stop:d,dispose:A}}function fi(e){if(e.length===0)return 0;let n=0;for(let t=0;t<e.length;t+=1){let r=((e[t]??128)-128)/128;n+=r*r;}return Math.min(1,Math.sqrt(n/e.length)*Math.SQRT2)}function mi(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let c=a*r,s=.2;c<200?s=.15:c<300?s=.4:c<=3400?s=1:c<=6e3&&(s=.45),o+=(e[a]??0)/255*s,i+=s;}return i>0?o/i:0}function Xt(e){let n=fi(e.timeDomain),t=mi(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var rn=class{constructor(n=.45,t=.18){this.attack=n;this.release=t;}attack;release;value=0;next(n){let t=Math.min(1,Math.max(0,n));return t>this.value?this.value+=(t-this.value)*this.attack:this.value+=(t-this.value)*this.release,this.value}};var gi=5e3,Bn=15e3,yi=25e3;function on(e,n,t){return new Promise((r,o)=>{let i=setTimeout(()=>o(new Error(t)),n);e.then(a=>{clearTimeout(i),r(a);},a=>{clearTimeout(i),o(a);});})}function hi(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var bi=50,Ci=.12,wi=2.6,Pi=.06,Ii=256;function Si(){return typeof MediaRecorder>"u"?"":["audio/webm","audio/webm;codecs=opus","audio/mp4","audio/aac","audio/ogg;codecs=opus"].find(n=>MediaRecorder.isTypeSupported(n))??""}async function vi(e,n,t){let r=window.AudioContext??window.webkitAudioContext,o=window.OfflineAudioContext??window.webkitOfflineAudioContext;if(o===void 0||t==null&&r===void 0)throw new N("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await on(i.resume(),Bn,"audioContext.resume timeout").catch(()=>{});let c=await on(i.decodeAudioData(await e.arrayBuffer()),Bn,"decodeAudioData timeout"),s=Math.max(1,Math.ceil(c.duration*n)),l=new o(1,s,n),m=l.createBufferSource();return m.buffer=c,m.connect(l.destination),m.start(0),(await on(l.startRendering(),Bn,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(c){throw c instanceof N?c:new N("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:c})}finally{a&&i.close().catch(()=>{});}}function Zt(e){let n=0;for(let o of e)n+=o.length;let t=new Float32Array(n),r=0;for(let o of e)t.set(o,r),r+=o.length;return t}async function Mi(e={}){if(typeof MediaRecorder>"u")throw new N("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;if(e.stream!==void 0)n=e.stream;else {if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new N("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:hi()});}catch(g){throw Vt(g)}}qt();let t=Si(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,c=[],s=null,l=null,m=null,w=[],y=0,u=false;function h(){try{let g;try{g=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{g=new MediaRecorder(n);}return w=[],g.ondataavailable=S=>{S.data.size>0&&w.push(S.data);},g.start(250),y=Date.now(),g}catch(g){throw g instanceof N?g:new N("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:g})}}let v=e.amplitude?.intervalMs??bi,T=e.amplitude?.boost??wi,d=e.amplitude?.smoothing??Ci,f=e.amplitude?.minVolume??Pi;function C(){let g=Math.floor(r/1e3*ne),S=0;for(let E of i)S+=E.length;if(S>g){let E=g,D=[];for(let k of i){if(E<=0)break;k.length<=E?(D.push(k),E-=k.length):(D.push(k.slice(0,E)),E=0);}i.length=0,i.push(...D);}a=Math.min(a,r);let x=Math.max(0,Math.ceil(r/v));c.length>x&&(c.length=x);}async function p(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let g=A().then(()=>C());m=g;try{await g;}catch(S){console.warn("[im-browser] pauseAtMaxDuration settle failed",S);}}let b=setInterval(()=>{!u&&o==="recording"&&I()>=r&&(u=true,p());},250),M=null,_=null;try{let g=window.AudioContext??window.webkitAudioContext;if(g!==void 0){M=new g,M.state==="suspended"&&M.resume().catch(()=>{});let S=M.createMediaStreamSource(n),x=M.createAnalyser();x.fftSize=Ii,x.smoothingTimeConstant=d,S.connect(x);let E=new Uint8Array(x.frequencyBinCount),D=new Uint8Array(x.fftSize),k=new rn;_=setInterval(()=>{if(o!=="recording"||s===null)return;x.getByteFrequencyData(E),x.getByteTimeDomainData(D);let U=Xt({timeDomain:D,frequency:E,sampleRate:M.sampleRate,fftSize:x.fftSize,boost:T}),B=k.next(U),F=B<f?0:B;c.push(Math.round(F*255)),e.onAmplitude?.(F);},v);}}catch(g){console.warn("[im-browser] amplitude analyser setup failed",g);}function I(){let g=o==="recording"&&s!==null?Date.now()-y:0;return a+g}function P(){b!==null&&(clearInterval(b),b=null),_!==null&&(clearInterval(_),_=null),M?.close().catch(()=>{}),M=null;for(let g of n.getTracks())g.stop();}function A(){if(l!==null)return l;let g=s;return g===null?Promise.resolve():(s=null,l=(async()=>{await new Promise(E=>{if(g.state==="inactive"){E();return}let D=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),E();},gi);g.onstop=()=>{clearTimeout(D),E();},g.stop();});let S=new Blob(w,{type:g.mimeType||t||"audio/webm"});if(w=[],S.size===0)return;let x=await vi(S,ne,M);x.length!==0&&(i.push(x),a+=x.length/ne*1e3);})().finally(()=>{l=null;}),l)}try{s=h();}catch(g){throw o="closed",P(),g}return {getState:()=>o,recordedMs:I,async pause(){o==="recording"&&(o="paused",await A(),(u||a>=r)&&C());},async resume(){o!=="paused"||u||(s=h(),o="recording");},async finish(){if(o==="closed")throw new N("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let g=async()=>{try{m!==null?await m:await A(),C();}finally{P();}let S=Zt(i);if(S.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let x=Un(S,ne);if(x.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let E=Math.min(c.length,Math.ceil(Rn/v));return {data:await zt(x,ne),durationMs:Math.round(x.length/ne*1e3)+Dn,waveform:c.slice(E),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await on(g(),yi,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(S){throw P(),S instanceof N?S:new N("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:S})}},cancel(){o="closed";let g=s;if(s=null,g!==null&&(g.ondataavailable=null,g.onstop=null,g.state!=="inactive"))try{g.stop();}catch{}i.length=0,P();},async previewWav(){m!==null?await m:l!==null&&await l,C();let g=Zt(i),S=Un(g,ne);if(S.length===0)throw new N("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:tn(Tn(S),ne),durationMs:Math.round(S.length/ne*1e3)}}}}function Ie(e){let n=new Map;return {shouldRenegotiate(t,r,o){if(r===void 0)return true;if(o!==void 0&&!e(o,r))return false;let i=n.get(t);return i!==void 0&&e(i,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function er(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var te=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function nr(e){let n=e.trim(),t=n.replace(/-/g,"+").replace(/_/g,"/");if(t===""||!/^[A-Z0-9+/]*={0,2}$/i.test(t)||t.length%4===1)throw new te("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),i;try{i=atob(o);}catch(l){throw new te("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:l})}let a=Uint8Array.from(i,l=>l.charCodeAt(0)&255);if(a.length===0)throw new te("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let c=new Uint8Array(16);c.set(a.subarray(0,c.length));let s=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,l=>l.charCodeAt(0)):void 0;return {canonical:c,...s===void 0?{}:{legacyAscii:s},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:s!==void 0}}}function Ai(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Ie(er);function a(p){return {canonical:p.canonical.slice(),...p.legacyAscii===void 0?{}:{legacyAscii:p.legacyAscii.slice()},metadata:{...p.metadata}}}function c(p){return [{strategy:"canonical-base64-pad",key:p.canonical.slice()},...p.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:p.legacyAscii.slice()}]]}function s(p){n.delete(p),t.delete(p),r.delete(p),o.set(p,(o.get(p)??0)+1);}function l(p){let b=o.get(p)??0,M=(async()=>{try{let _=await e.loadSecretKey(p);if(_===null||_.trim()==="")throw new te(`channel secret_key \u7F3A\u5931\uFF08channelId=${p}\uFF09`);let I=nr(_);return (o.get(p)??0)===b&&n.set(p,a(I)),I}catch(_){let I=_ instanceof te?_:new te(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${p}\uFF09`,{cause:_});throw e.onError?.(I.message,_),I}})().finally(()=>{t.get(p)===M&&t.delete(p);});return t.set(p,M),M}function m(p,b){let M=t.get(p);if(M!==void 0)return M;i.shouldRenegotiate(p,b.staleKey,n.get(p)?.canonical)&&s(p);}function w(p,b){let M=p.trim();if(M===""){let I=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(I.message),Promise.reject(I)}if(b!==void 0){let I=m(M,b);if(I!==void 0)return I.then(a)}let _=n.get(M);return _!==void 0?Promise.resolve(a(_)):t.get(M)??l(M)}function y(p,b){let M=p.trim();if(M===""){let A=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(A.message),Promise.reject(A)}if(b!==void 0){let A=m(M,b);if(A!==void 0)return A.then(g=>g.canonical.slice())}let _=n.get(M);if(_!==void 0)return Promise.resolve(_.canonical.slice());let I=r.get(M);if(I!==void 0)return I;let P=(t.get(M)??l(M)).then(A=>A.canonical.slice()).finally(()=>{r.get(M)===P&&r.delete(M);});return r.set(M,P),P}function u(p){return n.get(p.trim())?.canonical.slice()??null}async function h(p,b){let M=await w(p,b);return c(M)}function v(p){let b=n.get(p.trim());return b===void 0?[]:c(b)}function T(p){let b=n.get(p.trim());return b===void 0?null:{...b.metadata}}function d(p,b){let M=p.trim();if(M==="")throw new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");let _=nr(b);s(M),i.reset(M),n.set(M,a(_));}function f(p){let b=p.trim();b!==""&&(s(b),i.reset(b));}function C(){let p=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let b of p)o.set(b,(o.get(b)??0)+1),i.reset(b);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:u,getChannelKeyCandidates:h,getCachedChannelKeyCandidates:v,getCachedChannelKeyMetadata:T,primeChannelKey:d,clearChannelKey:f,clearAll:C}}function rr(e){if(e.length<16)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 16 \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,16);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function On([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=Math.imul(2654435769,16)>>>0;for(let l=0;l<16;l++)c=c-(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0,a=a-(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,s=s-2654435769>>>0;return [a,c]}function Nn([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=0;for(let l=0;l<16;l++)s=s+2654435769>>>0,a=a+(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,c=c+(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0;return [a,c]}function Ue(e,n,t,r){let o=rr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/8),c=r===void 0?a:Math.min(a,Math.floor(r/8)),s=new DataView(e.buffer,e.byteOffset,e.byteLength),l=new DataView(i.buffer);for(let w=0;w<c;w++){let y=w*8,[u,h]=t([s.getUint32(y,true),s.getUint32(y+4,true)],o);l.setUint32(y,u,true),l.setUint32(y+4,h,true);}let m=c*8;return m<e.length&&i.set(e.subarray(m),m),i}function Be(e,n){return Ue(n,e,On)}function Oe(e,n){return Ue(n,e,Nn)}function or(e,n){return Ue(n,e,Nn,32)}function ir(e,n){return Ue(n,e,On,32)}var _i=1024*1024;function xi(){let n=globalThis.scheduler;return typeof n?.yield=="function"?n.yield():new Promise(t=>{setTimeout(t,0);})}function tr(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function Kn(e,n,t,r=_i,o={}){if(!Number.isInteger(r)||r<=0||r%8!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F 8 \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);rr(e);let i=t==="encrypt"?Nn:On,a=o.yieldToMain??xi,c=n.size,s=[],l=0;for(;l<c;){tr(o.signal);let m=Math.min(l+r,c),w=new Uint8Array(await n.slice(l,m).arrayBuffer());tr(o.signal),s.push(Ue(w,e,i)),l=m,o.onProgress?.(l,c),l<c&&await a();}return new Blob(s)}var ar=8,an=16;function Ei(e){let n=q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function cr(e){return new TextEncoder().encode(e)}function ki(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function Ti(e){let n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t}function Ri(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Di(e){let n=Math.ceil(e.length/ar)*ar;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function dr(e,n=Ei){let t=e.trim();if(t==="")throw new Error("collect TEA key: userId \u4E3A\u7A7A");let r=n(t).replace(/[^0-9a-f]/gi,"");if(r.length<an)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=cr(r.slice(0,an).toUpperCase());if(o.length<an)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,an)}function ur(e,n,t){return Ri(Oe(dr(n,t),Di(cr(e))))}function Ui(e,n,t){return ki(Be(dr(n,t),Ti(e)))}function Bi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function Gn(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return Bi(JSON.parse(n))}catch{return null}}function Oi(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function lr(e,n,t){let r=Gn(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=Ui(e,n,t);return Gn(o)??Gn(Oi(o))}catch{return null}}var Ni="core";var Ne=class extends Error{code=502;constructor(n,t){super(`core JSON \u4F20\u8F93\u5931\u8D25\uFF1A${n||"unknown transport error"}`,t===void 0?void 0:{cause:t}),this.name="CoreJsonTransportError";}},V=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function R(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ni,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Ne(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Ne(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function pr(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return R(e,"/user/encrypt_info/info",t,r)}function Ki(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Gi(e){let n=e.clientType,t=new Map,r=new Map,o=Ie((y,u)=>y===u),i=null,a=null;function c(y,u){e.onError?.(y,u);}function s(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(i=u,u)).finally(()=>{a===y&&(a=null);});return a=y,y}async function l(y){let u;try{u=await s();}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}let h;try{h=await pr(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,d),null}if(h.data===null)return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${h.code}\uFF09`),null;let v=h.data.prv_key??h.data.prvKey??"",T=String(h.data.version??"").trim();if(v==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let d=e.crypto.rsaDecryptPkcs1({data:Ki(v),privateKey:u.privateKey}),f=new TextDecoder().decode(d).trim();if(f==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let C={privateKey:f,version:T};return t.set(y,C),C}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}}function m(y,u){let h=y.trim();if(h==="")return Promise.resolve(null);if(u!==void 0){let f=r.get(h);if(f!==void 0)return f;o.shouldRenegotiate(h,u.staleKey,t.get(h)?.privateKey)&&t.delete(h);}let v=t.get(h);if(v!==void 0)return Promise.resolve(v);let T=r.get(h);if(T!==void 0)return T;let d=l(h).finally(()=>{r.get(h)===d&&r.delete(h);});return r.set(h,d),d}function w(y){return t.get(y.trim())??null}return {getUserPrivateKey:m,getCachedPrivateKey:w}}function fr(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return R(e,"/user_group/encrypt_info",t,r)}function Li(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Hi(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Ie((u,h)=>u===h),a=null,c=null;function s(){if(a!==null)return Promise.resolve(a);if(c!==null)return c;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(h=>(a=h,h)).finally(()=>{c===u&&(c=null);});return c=u,u}async function l(u){let h=o.get(u)??0,v;try{v=await s();}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}let T;try{T=await fr(e.client,{groupId:u,publicKey:v.publicKeyBase64,clientType:n});}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,b),null}if(T.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${u}\uFF0Ccode=${T.code}\uFF09`),null;let d=T.data,f=String(d.prv_key??d.prvKey??d.private_key??"").trim(),C=String(d.pub_key??d.pubKey??d.public_key??"").trim(),p=String(d.version??"").trim();if(f==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let b=e.crypto.rsaDecryptPkcs1({data:Li(f),privateKey:v.privateKey}),M=new TextDecoder().decode(b).trim();if(M==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${u}\uFF09`),null;let _={privateKey:M,publicKey:C,version:p};return (o.get(u)??0)===h&&t.set(u,_),_}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}}function m(u,h){let v=u.trim();if(v==="")return Promise.resolve(null);if(h!==void 0){let C=r.get(v);if(C!==void 0)return C;i.shouldRenegotiate(v,h.staleKey,t.get(v)?.privateKey)&&t.delete(v);}let T=t.get(v);if(T!==void 0)return Promise.resolve(T);let d=r.get(v);if(d!==void 0)return d;let f=l(v).finally(()=>{r.get(v)===f&&r.delete(v);});return r.set(v,f),f}function w(u){return t.get(u.trim())??null}function y(u){let h=u.trim();t.delete(h),r.delete(h),o.set(h,(o.get(h)??0)+1),i.reset(h);}return {getGroupKeys:m,getCachedGroupKeys:w,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:y}}async function Ke(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await R(e,"/user/info/other",t,r)).data}function Fi(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let s=((await Ke(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return s===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,s),s)}catch(c){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,c),null}}function i(a,c){let s=a.trim();if(s==="")return Promise.resolve(null);c?.force===true&&t.delete(s);let l=t.get(s);if(l!==void 0)return Promise.resolve(l);let m=r.get(s);if(m!==void 0)return m;let w=o(s).finally(()=>{r.get(s)===w&&r.delete(s);});return r.set(s,w),w}return {getPeerPublicKey:i}}var me=16;function mr(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function gr(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function yr(e){return e.replace(/(.{64})/g,`$1
2
2
  `).trim()}function $i(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Ji(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return q.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return q.pki.privateKeyFromAsn1(q.asn1.fromDer(q.util.decode64(t)))}catch(i){r.push(i);}let o=yr(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return q.pki.privateKeyFromPem(`-----BEGIN ${i}-----
3
3
  ${o}
4
4
  -----END ${i}-----`)}catch(a){r.push(a);}throw new Error(`RSA \u79C1\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 PKCS1-DER / PKCS8-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function hr(e){let n=Ji(e.privateKey),t=Math.ceil(n.n.bitLength()/8),{data:r}=e;if(r.length===0)throw new Error("RSA \u89E3\u5BC6\uFF1A\u5BC6\u6587\u4E3A\u7A7A");let o=[];for(let s=0;s<r.length;s+=t){let l=Math.min(s+t,r.length);try{let m=n.decrypt(mr(r.subarray(s,l)),"RSAES-PKCS1-V1_5");o.push(gr(m));}catch(m){let w=m instanceof Error?m.message:String(m);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${s}..${l}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${w}`)}}let i=o.reduce((s,l)=>s+l.length,0),a=new Uint8Array(i),c=0;for(let s of o)a.set(s,c),c+=s.length;return a}function ji(e){let n=hr({data:e.secretKey,privateKey:e.privateKey});if(n.length<me)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${me}`);return Be(n,e.cipherData)}function Vi(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return q.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return q.pki.publicKeyFromAsn1(q.asn1.fromDer(q.util.decode64(t)))}catch(i){r.push(i);}let o=yr(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return q.pki.publicKeyFromPem(`-----BEGIN ${i}-----
@@ -1,2 +1,2 @@
1
- import {p}from'./chunk-V7ULSSTZ.js';import {e,a as a$1}from'./chunk-UNGWXAYA.js';import {j as j$1,h}from'./chunk-VMKTMZ3K.js';import {ha}from'./chunk-LX7YEO5G.js';import {a}from'./chunk-WOT6VMZA.js';function E(e){return e===""||e.startsWith("/")||e.startsWith("?")||e.startsWith("&")?false:e.includes(".")}function X(e){return e===""?"":/^https?:\/\//i.test(e)?e:`https://${e}`}function y(e){let t=e.domain?.trim()??"",n=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";if(t!==""){if(n==="")return t;if(n.startsWith("/"))return t.replace(/\/$/,"")+n;let r=n.replace(/^&/,""),o=t.includes("?")?"&":n.includes("?")?"":"?";return t+o+r}return /^https?:\/\//i.test(n)?n:E(n)?`https://${n}`:i}function x(e){let t=e.domain?.trim()??"",n=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";return /^https?:\/\//i.test(n)?n:E(n)?`https://${n}`:t!==""?X(y({domain:t,suffixAddress:n,h5Url:i})):/^https?:\/\//i.test(i)?i:E(i)?`https://${i}`:""}function Z(e,t){return {id:e.appId??t,name:t,cover:"",...e.appId===void 0?{}:{appId:e.appId},...e.developerId===void 0?{}:{developerId:e.developerId},...e.domain===void 0?{}:{domain:e.domain},...e.suffixAddress===void 0?{}:{suffixAddress:e.suffixAddress},...e.h5Url===void 0?{}:{h5Url:e.h5Url},...e.isDynamic===void 0?{}:{isDynamic:e.isDynamic},...e.productId===void 0?{}:{productId:e.productId}}}function ee(e,t){if(e.configType==="float-link"){let r=x({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return r===""?{kind:"refuse"}:{kind:"open-link",url:r}}if(e.configType!=="pinned-game"&&e.configType!=="float-game")return {kind:"refuse"};let n=e.appId?.trim()??"",i=y({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return n===""||i===""?{kind:"refuse"}:{kind:"open-game",game:Z(e,t.name),currencyType:t.currentCurrencyType??""}}var N={"zh-CN":1,"zh-TW":2,"en-US":3,"vi-VN":4,"th-TH":5};function O(e,t){let n=String(t).trim();return n===""||n==="0"?false:(e??"").split(",").map(i=>i.trim()).filter(i=>i!=="").includes(n)}function G(e){return e in N?e:"en-US"}function V(e,t){let i={"zh-CN":e.nameZhHans,"zh-TW":e.nameZhHant,"en-US":e.nameEn,"vi-VN":e.nameVi,"th-TH":e.nameTh}[G(t)]?.trim()??"";return i!==""?i:[e.nameEn,e.nameZhHans,e.nameZhHant,e.nameVi,e.nameTh].map(r=>r?.trim()??"").find(r=>r!=="")??""}function ne(e){return e.icon?.trim()||e.iconSmall?.trim()||e.iconMedium?.trim()||e.iconLarge?.trim()||""}function B(e){return y({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})}function H(e){return (e.appId?.trim()??"")!==""}function te(e){return e.configType==="float-game"?H(e)&&B(e)!=="":e.configType==="float-link"?x({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})!=="":false}function re(e){return e.configType==="float-game"?"half":"page"}function ie(e){let t=V(e.rel,e.locale);return {title:e.channelDescription?.trim()??"",tag:t,name:t}}function j(e){return [...e].sort((t,n)=>t.configType===n.configType?0:t.configType==="float-game"?1:n.configType==="float-game"?-1:0)}function oe(e,t){if(e===void 0)return {pinnedGame:null,floatingItems:[]};let n=N[G(t.locale)],i=e.filter(r=>r.configType!=="unknown"&&O(r.langTypes,n)&&O(r.currencyTypes,t.currencyType??""));return {pinnedGame:i.find(r=>r.configType==="pinned-game"&&H(r))??null,floatingItems:j(i.filter(r=>(r.configType==="float-link"||r.configType==="float-game")&&te(r)))}}function ae(e,t){return [e,t.configType,t.appId??"",t.suffixAddress??t.h5Url??""].join("|")}var W=p();function se(e$1,t){let n=t.suppressDraft===true?null:e$1.draft,i=n?.text.trim()??"",r,o="",s="";return n!==null?r=i===""?[]:de(e$1,i,t.locale):me(e$1)?r=I(ue(e$1,t)):e$1.lastMessageSummary?.kind==="channel-moderation-deleted"||e$1.lastMessageDeletedForEveryone!==void 0?r=I(C(e$1,e$1.lastMessageSummary?.kind==="channel-moderation-deleted"?e$1.lastMessageSummary:{kind:"channel-moderation-deleted",by:e$1.lastMessageDeletedForEveryone?.by??""},t)):e$1.lastMessageSummary?.kind==="recalled"||e$1.lastMessageRecalled!==void 0?r=I(C(e$1,e$1.lastMessageSummary?.kind==="recalled"?e$1.lastMessageSummary:{kind:"recalled",by:e$1.lastMessageRecalled?.by??""},t)):(o=fe(e$1,t),s=e$1.mentionUnreadCount>0?t.labels.mentionBadge:"",r=ce(e$1,t)),{preview:`${s}${o}${r.map(l=>l.text).join("")}`||(n===null?t.labels.emptyPreview:""),previewSegments:r,...le(e$1,n!==null),senderPrefix:o,mentionBadge:s,time:e(a$1(n?.updatedAt,e$1.timestamp),{locale:t.locale,...t.now===void 0?{}:{now:t.now}}),hasDraft:n!==null}}function I(e){return [{kind:"text",text:e}]}function le(e,t){let n=e.lastMessageSummary;if(t||e.lastMessageDeletedForEveryone!==void 0||e.lastMessageRecalled!==void 0||e.lastMessageSystemEvent!==void 0||n===void 0)return {};if(n.kind==="mediaAlbum"){let{imageCount:i,videoCount:r,caption:o,firstItemKind:s}=n;return i<=0&&r<=0?{}:o!==void 0&&o!==""&&s!==void 0?{previewMediaKind:s}:i>0&&r>0?{previewMediaKind:"mediaAlbum"}:{previewMediaKind:r>0?"video":"image"}}return n.kind==="image"||n.kind==="video"||n.kind==="gif"||n.kind==="sticker"?{previewMediaKind:n.kind}:{}}function $(e){return e.map(t=>t.kind==="emoji"?{kind:"emoji",text:t.text,code:t.code}:{kind:t.kind,text:t.text})}function de(e,t,n){let i=e.draft?.mentions??[],r=[],o={},s=false;for(let l of i){if(l.userId==="0"){s=true;continue}r.includes(l.userId)||r.push(l.userId),l.displayName.trim()!==""&&(o[l.userId]=l.displayName);}let a=s||r.length>0?{atAll:s,atUserIds:r,...Object.keys(o).length===0?{}:{atUsersName:o}}:void 0;return $(ha(t,{mention:a,resolveName:l=>o[l]??l,atAllDisplay:j$1(n),matchers:[W]}))}function ce(e,t){let n=e.lastMessageSummary;if(n!==void 0&&n.kind!=="text")return I(C(e,n,t));let i=(n?.kind==="text"?n.text:e.lastMessagePreview).trim();if(i==="")return I(t.labels.emptyPreview);let r=e.lastMessageMention?.atUsersName;return $(ha(i,{mention:e.lastMessageMention===void 0?void 0:{...e.lastMessageMention,atUserIds:[...e.lastMessageMention.atUserIds]},resolveName:o=>t.resolveName(e.ref,o,r?.[o]),selfId:t.accountId,atAllDisplay:j$1(t.locale),matchers:[W]}))}function C(e,t,n){return h(pe(t),{locale:n.locale,selfId:n.accountId,resolveName:i=>n.resolveName(e.ref,i)})}function me(e){return e.lastMessageSummary?.kind==="system"||e.lastMessageSenderId==="system"||e.lastMessageSystemEvent!==void 0}function ue(e,t){return e.lastMessageSummary?.kind==="system"?C(e,e.lastMessageSummary,t):e.lastMessageSystemEvent===void 0?e.lastMessagePreview.trim()||t.labels.emptyPreview:C(e,{kind:"system",system:{eventType:e.lastMessageSystemEvent,...e.lastMessageSystemTargetsSelf===true?{targetUserIds:[t.accountId]}:{},...e.lastMessagePreview.trim()===""?{}:{fallbackText:e.lastMessagePreview.trim()}}},t)}function fe(e,t){let n=e.lastMessageSenderId;return e.ref.conversationType!=="group"&&e.ref.conversationType!=="channel"||n===void 0||n===""||n==="system"?"":`${n===t.accountId?t.labels.selfSender:t.resolveName(e.ref,n)}: `}function pe(e){return e.kind!=="system"?e:{kind:"system",system:{eventType:e.system.eventType,...e.system.operatorId===void 0?{}:{operatorId:e.system.operatorId},...e.system.targetUserIds===void 0?{}:{targetUserIds:[...e.system.targetUserIds]},...e.system.fallbackText===void 0?{}:{fallbackText:e.system.fallbackText}}}}var ge=160,he=220;function Me(e){let t=Math.max(0,e.showDelayMs??160),n=Math.max(0,e.minimumVisibleMs??220),i=e.now??Date.now,r=e.setTimer??((c,v)=>setTimeout(c,v)),o=e.clearTimer??(c=>clearTimeout(c)),s="",a=false,l=false,d=0,m,f,p=false;function h(){m!==void 0&&o(m),m=void 0;}function u(){f!==void 0&&o(f),f=void 0;}function M(c){l!==c&&(l=c,d=c?i():0,e.onVisibleChange(c));}function R(c){h(),m=r(()=>{m=void 0,!(p||!a||s!==c)&&M(true);},t);}function Y(){if(h(),!l)return;let c=n-Math.max(0,i()-d);if(c<=0){M(false);return}u(),f=r(()=>{f=void 0,!(p||a)&&M(false);},c);}return {update(c,v){if(p)return;if(s!==v){s=v,a=c,h(),u(),M(false),c&&R(v);return}if(a=c,c){u(),!l&&m===void 0&&R(v);return}Y();},dispose(){p||(p=true,a=false,h(),u(),M(false));}}}var b={placeholder:0,thumbnail:1,local:2,original:3};function ve(e){let t;for(let n of e)n.value!==void 0&&(t===void 0||b[n.quality]>b[t.quality])&&(t=n);return t}function ye(e,t){return b[t]>=b[e]}function xe(e){let t=e.getGeneration();return Object.freeze({isCurrent:()=>e.getGeneration()===t})}function D(e){let t=e.getClient();if(t===null)return null;let n=e.getGeneration();return Object.freeze({client:t,isCurrent:()=>e.getGeneration()===n&&e.getClient()===t})}var Q={};a(Q,{acquireMediaBlob:()=>Pe,detectImageMime:()=>K,detectVideoMime:()=>z,loadCachedImageObjectUrl:()=>Te,loadCachedMediaAlbumItemObjectUrl:()=>Le,loadCachedVideoObjectUrl:()=>Se,loadFileObjectUrl:()=>ke,loadImageObjectUrl:()=>Ae,loadMediaAlbumItemObjectUrl:()=>we,loadVideoObjectUrl:()=>be,loadVoiceBytes:()=>Re,prepareLocalMediaPreview:()=>Ce});function S(e,t){if(e.conversationType!=="supergroup")return {conversation:{conversationType:e.conversationType,conversationId:e.conversationId},messageId:e.id,...t===void 0?{}:{itemIndex:t}}}async function P(e,t,n,i){let r=e.getClient(),o=S(t,i);if(r===null||o===void 0)throw new Error("media download unavailable");let s=n===void 0?void 0:r.media.subscribe(a=>{let l=a.find(d=>d.direction==="download"&&d.messageId===o.messageId&&d.itemIndex===i&&d.ref.conversationType===o.conversation.conversationType&&d.ref.conversationId===o.conversation.conversationId);l!==void 0&&n(l.percent);});try{return await r.media.download(o)}finally{s?.();}}function Ie(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"}async function Ce(e,t){let n=e.getClient();if(n===null)return null;let i=e.getGeneration(),r=await n.media.prepareLocalPreview(t);return r===null||e.getGeneration()!==i?null:r}function K(e){return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?"image/jpeg":e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"image/png":e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?"image/gif":e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"image/webp":null}async function w(e){let t=new Uint8Array(await e.slice(0,12).arrayBuffer()),n=K(t);return n===null?null:URL.createObjectURL(e.type===n?e:e.slice(0,e.size,n))}function z(e){return e.length>=4&&e[0]===26&&e[1]===69&&e[2]===223&&e[3]===163?"video/webm":(e.length>=8&&e[4]===102&&e[5]===116&&e[6]===121&&e[7]===112,"video/mp4")}function Pe(e,t,n){return e.acquireMediaBlob({conversationType:t.conversationType,conversationId:t.conversationId,messageId:t.id,...n===void 0?{}:{itemIndex:n}})}async function Re(e,t,n){let i=e.getClient(),r=t.body.voice;if(i===null||r===void 0)return null;let o=e.getSelfVoiceBytes(t.id);if(o!==void 0)return o;let s=e.getGeneration();try{let a=new Uint8Array(await(await P(e,t)).arrayBuffer());return a.length===0?(e.getGeneration()===s&&n.setNote(n.t("media.voiceLoadEmpty")),null):a}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.voiceLoadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}async function be(e,t,n,i){let r=e.getClient(),o=t.body.video;if(r===null||o===void 0)return null;let s=e.getGeneration();try{let a=await P(e,t,i);if(a.size===0)return e.getGeneration()===s&&n.setNote(n.t("media.videoOpenEmpty")),null;let l=URL.createObjectURL(a);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.videoLoadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}async function Se(e,t){let n=e.getClient(),i=S(t);if(n===null||i===void 0||t.body.video===void 0)return null;let r=e.getGeneration();try{let o=await n.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let s=new Uint8Array(await o.slice(0,12).arrayBuffer()),a=o.type||z(s);return e.getGeneration()!==r?null:URL.createObjectURL(o.type===a?o:o.slice(0,o.size,a))}catch{return null}}async function we(e,t,n,i,r){let o=e.getClient(),s=t.body.mediaAlbum?.items[n];if(o===null||s===void 0)return null;let a=s.kind==="video",l=e.getGeneration();try{let d=await P(e,t,r,n);if(a&&d.size===0)return e.getGeneration()===l&&i.setNote(i.t("media.videoOpenEmpty")),null;let m=a?URL.createObjectURL(d):await w(d);return m===null?(e.getGeneration()===l&&i.setNote(i.t("media.imageInvalid",{size:d.size})),null):e.getGeneration()!==l?(URL.revokeObjectURL(m),null):m}catch(d){return e.getGeneration()===l&&!Ie(d)&&i.setNote(i.t(a?"media.videoLoadFailed":"media.imageLoadFailed",{reason:d instanceof Error?d.message:String(d)})),null}}async function Le(e,t,n){let i=e.getClient(),r=t.body.mediaAlbum?.items[n],o=S(t,n);if(i===null||o===void 0||r===void 0||!/^https?:\/\//i.test(r.url))return null;let s=e.getGeneration();try{let a=await i.media.getCached(o);if(a===null||a.size===0||e.getGeneration()!==s)return null;let l=r.kind==="video"?URL.createObjectURL(a):await w(a);return l===null?null:e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch{return null}}async function Ae(e,t,n){let i=e.getClient(),r=t.body.image;if(i===null||r===void 0)return null;let o=e.getGeneration();try{let s=await P(e,t),a=await w(s);return a===null?(e.getGeneration()===o&&n.setNote(n.t("media.imageInvalid",{size:s.size})),null):e.getGeneration()!==o?(URL.revokeObjectURL(a),null):a}catch(s){return e.getGeneration()===o&&n.setNote(n.t("media.imageLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function Te(e,t){let n=e.getClient(),i=S(t);if(n===null||i===void 0||t.body.image===void 0)return null;let r=e.getGeneration();try{let o=await n.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let s=await w(o);return s===null?null:e.getGeneration()!==r?(URL.revokeObjectURL(s),null):s}catch{return null}}async function ke(e,t,n,i){let r=e.getClient(),o=t.body.file;if(r===null||o===void 0)return null;let s=e.getGeneration();try{let a=await P(e,t,i);if(a.size===0)return e.getGeneration()===s&&n.setNote(n.t("media.fileDownloadEmpty")),null;let l=URL.createObjectURL(a);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.fileDownloadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}var q={};a(q,{markReadUpTo:()=>Ue});function Ue(e,t,n,i){let r=D(e);if(r===null||t.conversationId===""||n==="")return;let o=r.client.conversations.list().find(a=>a.id===t.conversationId&&a.type===t.conversationType);if(o?.manuallyUnread===true&&o.unreadCount<=0){r.client.conversations.markConversationRead(t).catch(a=>{r.isCurrent()&&e.getDiagnostics().record("warn","chat-kit","conversation","clear-manual-unread-skipped",()=>({conversation:t,error:{message:"\u6E05\u9664\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u5931\u8D25",data:a}}));});return}if(o?.type==="group"&&o.unreadCount<=0)return;let s=i.getConversationHandle();s===void 0||s.ref.conversationId!==t.conversationId||s.ref.conversationType!==t.conversationType||s.markRead(n).catch(a=>{r.isCurrent()&&i.getConversationHandle()===s&&e.getDiagnostics().record("warn","chat-kit","message","mark-read-skipped",()=>({conversation:t,data:{messageId:n},error:{message:"markRead \u8DF3\u8FC7",data:a}}));});}function Ee(e){return e.deletedForEveryone!==void 0?"hidden":e.recalled!==void 0?"recalled":"content"}function Oe(e,t){if(t.length===0)return [{text:e,hit:false}];let n=[],i=0;for(let[r,o]of t)r>i&&n.push({text:e.slice(i,r),hit:false}),n.push({text:e.slice(r,o),hit:true}),i=o;return i<e.length&&n.push({text:e.slice(i),hit:false}),n}var Ne=/\b(?:https?:\/\/|www\.)[^\s<>"')】]+/gi,De=/\b(?:https?:\/\/|www\.)/i,Fe=/[),.!?;:,。!?;:、)】]+$/u;function J(e){let t=/^www\./i.test(e)?`https://${e}`:e;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"?n.href:void 0}catch{return}}function _e(e){return De.test(e)}function Ge(){return e=>{let t=[];for(let n of e.matchAll(Ne)){if(n.index===void 0)continue;let i=n[0].replace(Fe,"");if(i==="")continue;let r=J(i);r!==void 0&&t.push({start:n.index,end:n.index+i.length-1,segment:{kind:"link",text:i,href:r}});}return t}}function g(e,t){if(!Number.isFinite(e)||e<=0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${t} \u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6709\u9650\u6570`)}function Ve(e){if(g(e.fallbackAspectRatio,"fallbackAspectRatio"),!Array.isArray(e.rules)||e.rules.length===0)throw new Error("\u5A92\u4F53\u5C55\u793A\u7B56\u7565 rules \u4E0D\u80FD\u4E3A\u7A7A");let t=new Set;e.rules.forEach((n,i)=>{let r=`rules[${i}]`;if(n.id.trim()==="")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.id \u4E0D\u80FD\u4E3A\u7A7A`);if(t.has(n.id))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u89C4\u5219 id \u91CD\u590D\uFF1A${n.id}`);if(t.add(n.id),n.minAspectRatio!==void 0&&(!Number.isFinite(n.minAspectRatio)||n.minAspectRatio<0))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minAspectRatio \u5FC5\u987B\u662F\u5927\u4E8E\u7B49\u4E8E 0 \u7684\u6709\u9650\u6570`);if(n.maxAspectRatio!==void 0&&g(n.maxAspectRatio,`${r}.maxAspectRatio`),n.minAspectRatio!==void 0&&n.maxAspectRatio!==void 0&&n.minAspectRatio>=n.maxAspectRatio)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r} \u7684\u5BBD\u9AD8\u6BD4\u4E0B\u754C\u5FC5\u987B\u5C0F\u4E8E\u4E0A\u754C`);if(g(n.preferredWidth,`${r}.preferredWidth`),g(n.minWidth,`${r}.minWidth`),g(n.maxWidth,`${r}.maxWidth`),g(n.minHeight,`${r}.minHeight`),g(n.maxHeight,`${r}.maxHeight`),n.minWidth>n.preferredWidth||n.preferredWidth>n.maxWidth)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.preferredWidth \u5FC5\u987B\u4F4D\u4E8E minWidth \u548C maxWidth \u4E4B\u95F4`);if(n.minHeight>n.maxHeight)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minHeight \u4E0D\u80FD\u5927\u4E8E maxHeight`);if(typeof n.allowUpscale!="boolean")throw new TypeError(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.allowUpscale \u5FC5\u987B\u662F boolean`);if(n.fit!=="cover"&&n.fit!=="contain")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.fit \u53EA\u652F\u6301 cover \u6216 contain`)});}function Be(e){let{intrinsicWidth:t,intrinsicHeight:n,availableWidth:i,policy:r}=e;g(i,"availableWidth"),Ve(r);let o=Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0,s=o?t/n:r.fallbackAspectRatio,a=r.rules.find(u=>{let M=u.minAspectRatio===void 0||s>=u.minAspectRatio,R=u.maxAspectRatio===void 0||s<u.maxAspectRatio;return M&&R});if(a===void 0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u6CA1\u6709\u5339\u914D\u5BBD\u9AD8\u6BD4 ${s}`);let l=!a.allowUpscale&&o?Math.min(a.preferredWidth,t):a.preferredWidth,d=Math.min(i,a.maxWidth,Math.max(a.minWidth,l)),m=Math.max(1,Math.round(d)),f=m/s,p=Math.min(a.maxHeight,Math.max(a.minHeight,f)),h=Math.max(1,Math.round(p));return {width:m,height:h,aspectRatio:m/h,sourceAspectRatio:s,ruleId:a.id,fit:a.fit,aspectClamped:p!==f}}function He(e,t,n,i){if(!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return null;let r=Math.min(n/e,i/t,1);return {width:`${Math.max(1,Math.round(e*r))}px`,aspectRatio:`${e} / ${t}`}}function je(e){if(!Number.isFinite(e)||e<=0)return "0:00";let t=Math.floor(e),n=Math.floor(t/3600),i=Math.floor(t%3600/60),r=t%60,o=s=>s.toString().padStart(2,"0");return n>0?`${n}:${o(i)}:${o(r)}`:`${i}:${o(r)}`}function We(e){if(!Number.isFinite(e)||e<=0)return "0 B";let t=["B","KB","MB","GB","TB"],n=Math.min(t.length-1,Math.floor(Math.log(e)/Math.log(1024))),i=e/1024**n;return `${n===0?i:Math.round(i*10)/10} ${t[n]}`}function $e(e){let t=e.lastIndexOf(".");return t>-1&&t<e.length-1?e.slice(t+1).toLowerCase():""}var Ke=4;function ze(e){let t=Math.min(Math.max(e/1e3,0)/10,1);return Math.round(22+24*t)}function Qe(e,t){if(e.length===0)return Array.from({length:t},()=>0);let n=[],i=(e.length-1)/Math.max(1,t-1);for(let r=0;r<t;r+=1){let o=r*i,s=Math.round(o),a=e[Math.max(0,s-1)]??0,l=e[Math.min(e.length-1,s)]??0,d=e[Math.min(e.length-1,s+1)]??0;n.push((a+l+d)/3);}return n}function qe(e,t){let n=2166136261;for(let r=0;r<e.length;r+=1)n^=e.charCodeAt(r),n=Math.imul(n,16777619);let i=[];for(let r=0;r<t;r+=1)n=Math.imul(n^n>>>15,2246822519)>>>0,i.push(90+n%111);return i}
1
+ import {p}from'./chunk-7M4QHJTF.js';import {e,a as a$1}from'./chunk-JOWVWU35.js';import {j as j$1,h}from'./chunk-HGVJTQKD.js';import {ha}from'./chunk-PY2CC436.js';import {a}from'./chunk-WOT6VMZA.js';function E(e){return e===""||e.startsWith("/")||e.startsWith("?")||e.startsWith("&")?false:e.includes(".")}function X(e){return e===""?"":/^https?:\/\//i.test(e)?e:`https://${e}`}function y(e){let t=e.domain?.trim()??"",n=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";if(t!==""){if(n==="")return t;if(n.startsWith("/"))return t.replace(/\/$/,"")+n;let r=n.replace(/^&/,""),o=t.includes("?")?"&":n.includes("?")?"":"?";return t+o+r}return /^https?:\/\//i.test(n)?n:E(n)?`https://${n}`:i}function x(e){let t=e.domain?.trim()??"",n=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";return /^https?:\/\//i.test(n)?n:E(n)?`https://${n}`:t!==""?X(y({domain:t,suffixAddress:n,h5Url:i})):/^https?:\/\//i.test(i)?i:E(i)?`https://${i}`:""}function Z(e,t){return {id:e.appId??t,name:t,cover:"",...e.appId===void 0?{}:{appId:e.appId},...e.developerId===void 0?{}:{developerId:e.developerId},...e.domain===void 0?{}:{domain:e.domain},...e.suffixAddress===void 0?{}:{suffixAddress:e.suffixAddress},...e.h5Url===void 0?{}:{h5Url:e.h5Url},...e.isDynamic===void 0?{}:{isDynamic:e.isDynamic},...e.productId===void 0?{}:{productId:e.productId}}}function ee(e,t){if(e.configType==="float-link"){let r=x({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return r===""?{kind:"refuse"}:{kind:"open-link",url:r}}if(e.configType!=="pinned-game"&&e.configType!=="float-game")return {kind:"refuse"};let n=e.appId?.trim()??"",i=y({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return n===""||i===""?{kind:"refuse"}:{kind:"open-game",game:Z(e,t.name),currencyType:t.currentCurrencyType??""}}var N={"zh-CN":1,"zh-TW":2,"en-US":3,"vi-VN":4,"th-TH":5};function O(e,t){let n=String(t).trim();return n===""||n==="0"?false:(e??"").split(",").map(i=>i.trim()).filter(i=>i!=="").includes(n)}function G(e){return e in N?e:"en-US"}function V(e,t){let i={"zh-CN":e.nameZhHans,"zh-TW":e.nameZhHant,"en-US":e.nameEn,"vi-VN":e.nameVi,"th-TH":e.nameTh}[G(t)]?.trim()??"";return i!==""?i:[e.nameEn,e.nameZhHans,e.nameZhHant,e.nameVi,e.nameTh].map(r=>r?.trim()??"").find(r=>r!=="")??""}function ne(e){return e.icon?.trim()||e.iconSmall?.trim()||e.iconMedium?.trim()||e.iconLarge?.trim()||""}function B(e){return y({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})}function H(e){return (e.appId?.trim()??"")!==""}function te(e){return e.configType==="float-game"?H(e)&&B(e)!=="":e.configType==="float-link"?x({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})!=="":false}function re(e){return e.configType==="float-game"?"half":"page"}function ie(e){let t=V(e.rel,e.locale);return {title:e.channelDescription?.trim()??"",tag:t,name:t}}function j(e){return [...e].sort((t,n)=>t.configType===n.configType?0:t.configType==="float-game"?1:n.configType==="float-game"?-1:0)}function oe(e,t){if(e===void 0)return {pinnedGame:null,floatingItems:[]};let n=N[G(t.locale)],i=e.filter(r=>r.configType!=="unknown"&&O(r.langTypes,n)&&O(r.currencyTypes,t.currencyType??""));return {pinnedGame:i.find(r=>r.configType==="pinned-game"&&H(r))??null,floatingItems:j(i.filter(r=>(r.configType==="float-link"||r.configType==="float-game")&&te(r)))}}function ae(e,t){return [e,t.configType,t.appId??"",t.suffixAddress??t.h5Url??""].join("|")}var W=p();function se(e$1,t){let n=t.suppressDraft===true?null:e$1.draft,i=n?.text.trim()??"",r,o="",s="";return n!==null?r=i===""?[]:de(e$1,i,t.locale):me(e$1)?r=I(ue(e$1,t)):e$1.lastMessageSummary?.kind==="channel-moderation-deleted"||e$1.lastMessageDeletedForEveryone!==void 0?r=I(C(e$1,e$1.lastMessageSummary?.kind==="channel-moderation-deleted"?e$1.lastMessageSummary:{kind:"channel-moderation-deleted",by:e$1.lastMessageDeletedForEveryone?.by??""},t)):e$1.lastMessageSummary?.kind==="recalled"||e$1.lastMessageRecalled!==void 0?r=I(C(e$1,e$1.lastMessageSummary?.kind==="recalled"?e$1.lastMessageSummary:{kind:"recalled",by:e$1.lastMessageRecalled?.by??""},t)):(o=fe(e$1,t),s=e$1.mentionUnreadCount>0?t.labels.mentionBadge:"",r=ce(e$1,t)),{preview:`${s}${o}${r.map(l=>l.text).join("")}`||(n===null?t.labels.emptyPreview:""),previewSegments:r,...le(e$1,n!==null),senderPrefix:o,mentionBadge:s,time:e(a$1(n?.updatedAt,e$1.timestamp),{locale:t.locale,...t.now===void 0?{}:{now:t.now}}),hasDraft:n!==null}}function I(e){return [{kind:"text",text:e}]}function le(e,t){let n=e.lastMessageSummary;if(t||e.lastMessageDeletedForEveryone!==void 0||e.lastMessageRecalled!==void 0||e.lastMessageSystemEvent!==void 0||n===void 0)return {};if(n.kind==="mediaAlbum"){let{imageCount:i,videoCount:r,caption:o,firstItemKind:s}=n;return i<=0&&r<=0?{}:o!==void 0&&o!==""&&s!==void 0?{previewMediaKind:s}:i>0&&r>0?{previewMediaKind:"mediaAlbum"}:{previewMediaKind:r>0?"video":"image"}}return n.kind==="image"||n.kind==="video"||n.kind==="gif"||n.kind==="sticker"?{previewMediaKind:n.kind}:{}}function $(e){return e.map(t=>t.kind==="emoji"?{kind:"emoji",text:t.text,code:t.code}:{kind:t.kind,text:t.text})}function de(e,t,n){let i=e.draft?.mentions??[],r=[],o={},s=false;for(let l of i){if(l.userId==="0"){s=true;continue}r.includes(l.userId)||r.push(l.userId),l.displayName.trim()!==""&&(o[l.userId]=l.displayName);}let a=s||r.length>0?{atAll:s,atUserIds:r,...Object.keys(o).length===0?{}:{atUsersName:o}}:void 0;return $(ha(t,{mention:a,resolveName:l=>o[l]??l,atAllDisplay:j$1(n),matchers:[W]}))}function ce(e,t){let n=e.lastMessageSummary;if(n!==void 0&&n.kind!=="text")return I(C(e,n,t));let i=(n?.kind==="text"?n.text:e.lastMessagePreview).trim();if(i==="")return I(t.labels.emptyPreview);let r=e.lastMessageMention?.atUsersName;return $(ha(i,{mention:e.lastMessageMention===void 0?void 0:{...e.lastMessageMention,atUserIds:[...e.lastMessageMention.atUserIds]},resolveName:o=>t.resolveName(e.ref,o,r?.[o]),selfId:t.accountId,atAllDisplay:j$1(t.locale),matchers:[W]}))}function C(e,t,n){return h(pe(t),{locale:n.locale,selfId:n.accountId,resolveName:i=>n.resolveName(e.ref,i)})}function me(e){return e.lastMessageSummary?.kind==="system"||e.lastMessageSenderId==="system"||e.lastMessageSystemEvent!==void 0}function ue(e,t){return e.lastMessageSummary?.kind==="system"?C(e,e.lastMessageSummary,t):e.lastMessageSystemEvent===void 0?e.lastMessagePreview.trim()||t.labels.emptyPreview:C(e,{kind:"system",system:{eventType:e.lastMessageSystemEvent,...e.lastMessageSystemTargetsSelf===true?{targetUserIds:[t.accountId]}:{},...e.lastMessagePreview.trim()===""?{}:{fallbackText:e.lastMessagePreview.trim()}}},t)}function fe(e,t){let n=e.lastMessageSenderId;return e.ref.conversationType!=="group"&&e.ref.conversationType!=="channel"||n===void 0||n===""||n==="system"?"":`${n===t.accountId?t.labels.selfSender:t.resolveName(e.ref,n)}: `}function pe(e){return e.kind!=="system"?e:{kind:"system",system:{eventType:e.system.eventType,...e.system.operatorId===void 0?{}:{operatorId:e.system.operatorId},...e.system.targetUserIds===void 0?{}:{targetUserIds:[...e.system.targetUserIds]},...e.system.fallbackText===void 0?{}:{fallbackText:e.system.fallbackText}}}}var ge=160,he=220;function Me(e){let t=Math.max(0,e.showDelayMs??160),n=Math.max(0,e.minimumVisibleMs??220),i=e.now??Date.now,r=e.setTimer??((c,v)=>setTimeout(c,v)),o=e.clearTimer??(c=>clearTimeout(c)),s="",a=false,l=false,d=0,m,f,p=false;function h(){m!==void 0&&o(m),m=void 0;}function u(){f!==void 0&&o(f),f=void 0;}function M(c){l!==c&&(l=c,d=c?i():0,e.onVisibleChange(c));}function R(c){h(),m=r(()=>{m=void 0,!(p||!a||s!==c)&&M(true);},t);}function Y(){if(h(),!l)return;let c=n-Math.max(0,i()-d);if(c<=0){M(false);return}u(),f=r(()=>{f=void 0,!(p||a)&&M(false);},c);}return {update(c,v){if(p)return;if(s!==v){s=v,a=c,h(),u(),M(false),c&&R(v);return}if(a=c,c){u(),!l&&m===void 0&&R(v);return}Y();},dispose(){p||(p=true,a=false,h(),u(),M(false));}}}var b={placeholder:0,thumbnail:1,local:2,original:3};function ve(e){let t;for(let n of e)n.value!==void 0&&(t===void 0||b[n.quality]>b[t.quality])&&(t=n);return t}function ye(e,t){return b[t]>=b[e]}function xe(e){let t=e.getGeneration();return Object.freeze({isCurrent:()=>e.getGeneration()===t})}function D(e){let t=e.getClient();if(t===null)return null;let n=e.getGeneration();return Object.freeze({client:t,isCurrent:()=>e.getGeneration()===n&&e.getClient()===t})}var Q={};a(Q,{acquireMediaBlob:()=>Pe,detectImageMime:()=>K,detectVideoMime:()=>z,loadCachedImageObjectUrl:()=>Te,loadCachedMediaAlbumItemObjectUrl:()=>Le,loadCachedVideoObjectUrl:()=>Se,loadFileObjectUrl:()=>ke,loadImageObjectUrl:()=>Ae,loadMediaAlbumItemObjectUrl:()=>we,loadVideoObjectUrl:()=>be,loadVoiceBytes:()=>Re,prepareLocalMediaPreview:()=>Ce});function S(e,t){if(e.conversationType!=="supergroup")return {conversation:{conversationType:e.conversationType,conversationId:e.conversationId},messageId:e.id,...t===void 0?{}:{itemIndex:t}}}async function P(e,t,n,i){let r=e.getClient(),o=S(t,i);if(r===null||o===void 0)throw new Error("media download unavailable");let s=n===void 0?void 0:r.media.subscribe(a=>{let l=a.find(d=>d.direction==="download"&&d.messageId===o.messageId&&d.itemIndex===i&&d.ref.conversationType===o.conversation.conversationType&&d.ref.conversationId===o.conversation.conversationId);l!==void 0&&n(l.percent);});try{return await r.media.download(o)}finally{s?.();}}function Ie(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"}async function Ce(e,t){let n=e.getClient();if(n===null)return null;let i=e.getGeneration(),r=await n.media.prepareLocalPreview(t);return r===null||e.getGeneration()!==i?null:r}function K(e){return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?"image/jpeg":e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"image/png":e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?"image/gif":e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"image/webp":null}async function w(e){let t=new Uint8Array(await e.slice(0,12).arrayBuffer()),n=K(t);return n===null?null:URL.createObjectURL(e.type===n?e:e.slice(0,e.size,n))}function z(e){return e.length>=4&&e[0]===26&&e[1]===69&&e[2]===223&&e[3]===163?"video/webm":(e.length>=8&&e[4]===102&&e[5]===116&&e[6]===121&&e[7]===112,"video/mp4")}function Pe(e,t,n){return e.acquireMediaBlob({conversationType:t.conversationType,conversationId:t.conversationId,messageId:t.id,...n===void 0?{}:{itemIndex:n}})}async function Re(e,t,n){let i=e.getClient(),r=t.body.voice;if(i===null||r===void 0)return null;let o=e.getSelfVoiceBytes(t.id);if(o!==void 0)return o;let s=e.getGeneration();try{let a=new Uint8Array(await(await P(e,t)).arrayBuffer());return a.length===0?(e.getGeneration()===s&&n.setNote(n.t("media.voiceLoadEmpty")),null):a}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.voiceLoadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}async function be(e,t,n,i){let r=e.getClient(),o=t.body.video;if(r===null||o===void 0)return null;let s=e.getGeneration();try{let a=await P(e,t,i);if(a.size===0)return e.getGeneration()===s&&n.setNote(n.t("media.videoOpenEmpty")),null;let l=URL.createObjectURL(a);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.videoLoadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}async function Se(e,t){let n=e.getClient(),i=S(t);if(n===null||i===void 0||t.body.video===void 0)return null;let r=e.getGeneration();try{let o=await n.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let s=new Uint8Array(await o.slice(0,12).arrayBuffer()),a=o.type||z(s);return e.getGeneration()!==r?null:URL.createObjectURL(o.type===a?o:o.slice(0,o.size,a))}catch{return null}}async function we(e,t,n,i,r){let o=e.getClient(),s=t.body.mediaAlbum?.items[n];if(o===null||s===void 0)return null;let a=s.kind==="video",l=e.getGeneration();try{let d=await P(e,t,r,n);if(a&&d.size===0)return e.getGeneration()===l&&i.setNote(i.t("media.videoOpenEmpty")),null;let m=a?URL.createObjectURL(d):await w(d);return m===null?(e.getGeneration()===l&&i.setNote(i.t("media.imageInvalid",{size:d.size})),null):e.getGeneration()!==l?(URL.revokeObjectURL(m),null):m}catch(d){return e.getGeneration()===l&&!Ie(d)&&i.setNote(i.t(a?"media.videoLoadFailed":"media.imageLoadFailed",{reason:d instanceof Error?d.message:String(d)})),null}}async function Le(e,t,n){let i=e.getClient(),r=t.body.mediaAlbum?.items[n],o=S(t,n);if(i===null||o===void 0||r===void 0||!/^https?:\/\//i.test(r.url))return null;let s=e.getGeneration();try{let a=await i.media.getCached(o);if(a===null||a.size===0||e.getGeneration()!==s)return null;let l=r.kind==="video"?URL.createObjectURL(a):await w(a);return l===null?null:e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch{return null}}async function Ae(e,t,n){let i=e.getClient(),r=t.body.image;if(i===null||r===void 0)return null;let o=e.getGeneration();try{let s=await P(e,t),a=await w(s);return a===null?(e.getGeneration()===o&&n.setNote(n.t("media.imageInvalid",{size:s.size})),null):e.getGeneration()!==o?(URL.revokeObjectURL(a),null):a}catch(s){return e.getGeneration()===o&&n.setNote(n.t("media.imageLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function Te(e,t){let n=e.getClient(),i=S(t);if(n===null||i===void 0||t.body.image===void 0)return null;let r=e.getGeneration();try{let o=await n.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let s=await w(o);return s===null?null:e.getGeneration()!==r?(URL.revokeObjectURL(s),null):s}catch{return null}}async function ke(e,t,n,i){let r=e.getClient(),o=t.body.file;if(r===null||o===void 0)return null;let s=e.getGeneration();try{let a=await P(e,t,i);if(a.size===0)return e.getGeneration()===s&&n.setNote(n.t("media.fileDownloadEmpty")),null;let l=URL.createObjectURL(a);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(a){return e.getGeneration()===s&&n.setNote(n.t("media.fileDownloadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}var q={};a(q,{markReadUpTo:()=>Ue});function Ue(e,t,n,i){let r=D(e);if(r===null||t.conversationId===""||n==="")return;let o=r.client.conversations.list().find(a=>a.id===t.conversationId&&a.type===t.conversationType);if(o?.manuallyUnread===true&&o.unreadCount<=0){r.client.conversations.markConversationRead(t).catch(a=>{r.isCurrent()&&e.getDiagnostics().record("warn","chat-kit","conversation","clear-manual-unread-skipped",()=>({conversation:t,error:{message:"\u6E05\u9664\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u5931\u8D25",data:a}}));});return}if(o?.type==="group"&&o.unreadCount<=0)return;let s=i.getConversationHandle();s===void 0||s.ref.conversationId!==t.conversationId||s.ref.conversationType!==t.conversationType||s.markRead(n).catch(a=>{r.isCurrent()&&i.getConversationHandle()===s&&e.getDiagnostics().record("warn","chat-kit","message","mark-read-skipped",()=>({conversation:t,data:{messageId:n},error:{message:"markRead \u8DF3\u8FC7",data:a}}));});}function Ee(e){return e.deletedForEveryone!==void 0?"hidden":e.recalled!==void 0?"recalled":"content"}function Oe(e,t){if(t.length===0)return [{text:e,hit:false}];let n=[],i=0;for(let[r,o]of t)r>i&&n.push({text:e.slice(i,r),hit:false}),n.push({text:e.slice(r,o),hit:true}),i=o;return i<e.length&&n.push({text:e.slice(i),hit:false}),n}var Ne=/\b(?:https?:\/\/|www\.)[^\s<>"')】]+/gi,De=/\b(?:https?:\/\/|www\.)/i,Fe=/[),.!?;:,。!?;:、)】]+$/u;function J(e){let t=/^www\./i.test(e)?`https://${e}`:e;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"?n.href:void 0}catch{return}}function _e(e){return De.test(e)}function Ge(){return e=>{let t=[];for(let n of e.matchAll(Ne)){if(n.index===void 0)continue;let i=n[0].replace(Fe,"");if(i==="")continue;let r=J(i);r!==void 0&&t.push({start:n.index,end:n.index+i.length-1,segment:{kind:"link",text:i,href:r}});}return t}}function g(e,t){if(!Number.isFinite(e)||e<=0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${t} \u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6709\u9650\u6570`)}function Ve(e){if(g(e.fallbackAspectRatio,"fallbackAspectRatio"),!Array.isArray(e.rules)||e.rules.length===0)throw new Error("\u5A92\u4F53\u5C55\u793A\u7B56\u7565 rules \u4E0D\u80FD\u4E3A\u7A7A");let t=new Set;e.rules.forEach((n,i)=>{let r=`rules[${i}]`;if(n.id.trim()==="")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.id \u4E0D\u80FD\u4E3A\u7A7A`);if(t.has(n.id))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u89C4\u5219 id \u91CD\u590D\uFF1A${n.id}`);if(t.add(n.id),n.minAspectRatio!==void 0&&(!Number.isFinite(n.minAspectRatio)||n.minAspectRatio<0))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minAspectRatio \u5FC5\u987B\u662F\u5927\u4E8E\u7B49\u4E8E 0 \u7684\u6709\u9650\u6570`);if(n.maxAspectRatio!==void 0&&g(n.maxAspectRatio,`${r}.maxAspectRatio`),n.minAspectRatio!==void 0&&n.maxAspectRatio!==void 0&&n.minAspectRatio>=n.maxAspectRatio)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r} \u7684\u5BBD\u9AD8\u6BD4\u4E0B\u754C\u5FC5\u987B\u5C0F\u4E8E\u4E0A\u754C`);if(g(n.preferredWidth,`${r}.preferredWidth`),g(n.minWidth,`${r}.minWidth`),g(n.maxWidth,`${r}.maxWidth`),g(n.minHeight,`${r}.minHeight`),g(n.maxHeight,`${r}.maxHeight`),n.minWidth>n.preferredWidth||n.preferredWidth>n.maxWidth)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.preferredWidth \u5FC5\u987B\u4F4D\u4E8E minWidth \u548C maxWidth \u4E4B\u95F4`);if(n.minHeight>n.maxHeight)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minHeight \u4E0D\u80FD\u5927\u4E8E maxHeight`);if(typeof n.allowUpscale!="boolean")throw new TypeError(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.allowUpscale \u5FC5\u987B\u662F boolean`);if(n.fit!=="cover"&&n.fit!=="contain")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.fit \u53EA\u652F\u6301 cover \u6216 contain`)});}function Be(e){let{intrinsicWidth:t,intrinsicHeight:n,availableWidth:i,policy:r}=e;g(i,"availableWidth"),Ve(r);let o=Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0,s=o?t/n:r.fallbackAspectRatio,a=r.rules.find(u=>{let M=u.minAspectRatio===void 0||s>=u.minAspectRatio,R=u.maxAspectRatio===void 0||s<u.maxAspectRatio;return M&&R});if(a===void 0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u6CA1\u6709\u5339\u914D\u5BBD\u9AD8\u6BD4 ${s}`);let l=!a.allowUpscale&&o?Math.min(a.preferredWidth,t):a.preferredWidth,d=Math.min(i,a.maxWidth,Math.max(a.minWidth,l)),m=Math.max(1,Math.round(d)),f=m/s,p=Math.min(a.maxHeight,Math.max(a.minHeight,f)),h=Math.max(1,Math.round(p));return {width:m,height:h,aspectRatio:m/h,sourceAspectRatio:s,ruleId:a.id,fit:a.fit,aspectClamped:p!==f}}function He(e,t,n,i){if(!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return null;let r=Math.min(n/e,i/t,1);return {width:`${Math.max(1,Math.round(e*r))}px`,aspectRatio:`${e} / ${t}`}}function je(e){if(!Number.isFinite(e)||e<=0)return "0:00";let t=Math.floor(e),n=Math.floor(t/3600),i=Math.floor(t%3600/60),r=t%60,o=s=>s.toString().padStart(2,"0");return n>0?`${n}:${o(i)}:${o(r)}`:`${i}:${o(r)}`}function We(e){if(!Number.isFinite(e)||e<=0)return "0 B";let t=["B","KB","MB","GB","TB"],n=Math.min(t.length-1,Math.floor(Math.log(e)/Math.log(1024))),i=e/1024**n;return `${n===0?i:Math.round(i*10)/10} ${t[n]}`}function $e(e){let t=e.lastIndexOf(".");return t>-1&&t<e.length-1?e.slice(t+1).toLowerCase():""}var Ke=4;function ze(e){let t=Math.min(Math.max(e/1e3,0)/10,1);return Math.round(22+24*t)}function Qe(e,t){if(e.length===0)return Array.from({length:t},()=>0);let n=[],i=(e.length-1)/Math.max(1,t-1);for(let r=0;r<t;r+=1){let o=r*i,s=Math.round(o),a=e[Math.max(0,s-1)]??0,l=e[Math.min(e.length-1,s)]??0,d=e[Math.min(e.length-1,s+1)]??0;n.push((a+l+d)/3);}return n}function qe(e,t){let n=2166136261;for(let r=0;r<e.length;r+=1)n^=e.charCodeAt(r),n=Math.imul(n,16777619);let i=[];for(let r=0;r<t;r+=1)n=Math.imul(n^n>>>15,2246822519)>>>0,i.push(90+n%111);return i}
2
2
  export{_e as A,Ge as B,Be as C,He as D,je as E,We as F,$e as G,Ke as H,ze as I,Qe as J,qe as K,y as a,x as b,ee as c,N as d,O as e,V as f,ne as g,B as h,re as i,ie as j,j as k,oe as l,ae as m,se as n,ge as o,he as p,Me as q,ve as r,ye as s,xe as t,D as u,Q as v,q as w,Ee as x,Oe as y,J as z};