k2-im 0.1.46 → 0.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +10 -4
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +2 -2
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-ELGE657I.js +7 -0
- package/dist/chunk-FMEZINTJ.js +2 -0
- package/dist/chunk-HPS3TBSB.js +2 -0
- package/dist/{chunk-EQWMFGJV.js → chunk-ICG32ESA.js} +1 -1
- package/dist/{chunk-7DVPMFWS.js → chunk-PAEBGHDI.js} +1 -1
- package/dist/chunk-RDTT34ZF.js +1 -0
- package/dist/{chunk-KPQGF42Z.js → chunk-ZAX3Q5WO.js} +1 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +18 -6
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +18 -6
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7PCBQBZL.js +0 -2
- package/dist/chunk-R3MSZLO6.js +0 -7
- package/dist/chunk-XFFQNPCY.js +0 -1
- package/dist/chunk-YISLBQ34.js +0 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {Fa as Fa$1,O as O$1,R,f,g,h,ea as ea$1,fa as fa$1,ja as ja$1,ka as ka$1,ca as ca$1,da as da$1,T,U,N,Q as Q$1,S,n,e,P,V as V$1,ha as ha$1,X as X$1,Z as Z$1,Y as Y$1,_,$ as $$1,aa as aa$1,ba as ba$1,ra as ra$1,sa as sa$1,Gb,Fb,Eb,J as J$1,I,H as H$1,pa as pa$1,ta as ta$1,na as na$1,G,ga as ga$1,ia as ia$1,m,v,La as La$1,Ka as Ka$1,Na as Na$1,la as la$1,ma as ma$1}from'./chunk-FMEZINTJ.js';import*as Q from'node-forge';import Q__default from'node-forge';import {deleteDB,openDB}from'idb';import {createSHA256}from'hash-wasm';function zi(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)}function dt(){return typeof navigator<"u"&&typeof ClipboardItem=="function"&&typeof navigator.clipboard?.write=="function"}function ne(e){if(!e.isCurrent())throw new DOMException("Image copy is no longer active","AbortError")}async function ct(e,n){if(ne(n),e.size===0)throw new Error("Empty clipboard image");let t=URL.createObjectURL(e),r=new Image,o;try{if(await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Clipboard image decode failed")),r.src=t;}),ne(n),r.naturalWidth<=0||r.naturalHeight<=0)throw new Error("Invalid clipboard image dimensions");if(e.type==="image/png")return e;if(r.naturalWidth*r.naturalHeight>16777216)throw new Error("Clipboard image exceeds canvas pixel limit");o=document.createElement("canvas"),o.width=r.naturalWidth,o.height=r.naturalHeight;let i=o.getContext("2d");if(i===null)throw new Error("Clipboard canvas unavailable");i.drawImage(r,0,0);let a=await new Promise((s,d)=>{o.toBlob(c=>c===null?d(new Error("Clipboard PNG encoding failed")):s(c),"image/png");});return ne(n),a}finally{r.onload=null,r.onerror=null,r.src="",URL.revokeObjectURL(t),o!==void 0&&(o.width=o.height=0);}}async function Wi(e,n){if(n!==void 0&&n!==""){ne(e);let s=false,d={...e,isCurrent:()=>!s&&e.isCurrent()};try{if(!dt())throw new Error("Image Clipboard API unavailable");let c=(async()=>ct(await e.loadOriginal(),d))();return c.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":c,"text/plain":new Blob([n],{type:"text/plain"})})]),ne(e),"original"}catch{return s=true,ne(e),await navigator.clipboard.writeText(n),ne(e),"text"}finally{s=true;}}if(!dt())throw new Error("Image Clipboard API unavailable");ne(e);let t=false,r={...e,isCurrent:()=>!t&&e.isCurrent()},o={quality:"original"},i=async()=>(ne(r),o.quality="thumbnail",ct(await e.loadThumbnail(),r)),a=(async()=>{try{return await ct(await e.loadOriginal(),r)}catch(s){ne(r);try{return await i()}catch(d){throw ne(r),new AggregateError([s,d],"Original and thumbnail copy failed")}}})();a.catch(()=>{});try{try{await navigator.clipboard.write([new ClipboardItem({"image/png":a})]);}catch(s){if(ne(r),typeof s=="object"&&s!==null&&"name"in s&&(s.name==="NotAllowedError"||s.name==="SecurityError")||(await a,ne(r),o.quality==="thumbnail"))throw s;let d=i();d.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":d})]);}return ne(r),o.quality}finally{t=true;}}var K=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function Yi(e){return e instanceof K?e.code:void 0}function De(e){if(e instanceof K)return e.code==="upload-timeout"?"timeout":e.code!=="multipart-upload-failed"?void 0:De(e.cause);if(!(e instanceof Error))return;let n=e;if(["ExpiredToken","ExpiredTokenException","RequestExpired","TokenRefreshRequired"].includes(n.Code??n.name))return "credentials-expired";let t=n.$metadata?.httpStatusCode;if(t===429||t!==void 0&&t>=500&&t<=599||n.message.startsWith("XHR_HTTP_HANDLER_ERROR:")||n.name==="NetworkError")return "network"}var Qi=3600*1e3,Xi=300*1e3;function be(...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 Zi(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function ea(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Kr(e){if(e===null||typeof e!="object")throw new K("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=be(n.access_key_id,n.accessKeyId),r=be(n.secret_key,n.secretKey,n.secretAccessKey),o=be(n.session_token,n.sessionToken).replace(/\s+/g,""),i=be(n.bucket),a=be(n.region),s=ea(be(n.dns_point,n.dnsPoint)),d=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",s===""?"dns_point":""].filter(h=>h!=="");if(d.length>0)throw new K("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${d.join("\u3001")}`);let c=Zi(n.expiration??n.expiresAtSeconds),y=be(n.key_prefix,n.keyPrefix),P=be(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:s,...c===void 0?{}:{expiresAtSeconds:c},...y===""?{}:{keyPrefix:y},...P===""?{}:{identityId:P}}}function na(e,n){if(n-e.fetchedAtMs>=Qi)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-Xi>n}function Gr(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(d){let c=d instanceof Error?d.message:String(d);throw new K("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${c}`,{cause:d})}let s=Kr(a);return n.set(o,{credential:s,fetchedAtMs:Date.now()}),s}return {resolve(o,i){if(e===void 0)return Promise.reject(new K("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,s=a?void 0:n.get(o);if(s!==void 0&&na(s,Date.now()))return Promise.resolve(s.credential);n.delete(o);let d=t.get(o);if(d!==void 0)return d;let c=r(o,a).finally(()=>{t.get(o)===c&&t.delete(o);});return t.set(o,c),c}}}function ta(){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 F=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function An(e){return e instanceof F?e.code:void 0}function Lr(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new F("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new F("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new F("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new F("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var se=16e3,ra=new URL("./speex-runtime.txt",import.meta.url).href,lt=null,oa=15e3;async function ia(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),oa),t;try{t=await fetch(ra,{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 ut(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(lt??=(async()=>{if(e===void 0||typeof document>"u")throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await ia(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw lt=null,n instanceof F?n:new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),lt)}function Hr(){ut().catch(()=>{});}function we(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function aa(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let s=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,s<0?s*32768:s*32767,true),i+=2;}return r}function pt(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 sa=40,ft=120,ca=40,mt=80;function da(e,n){let t=Math.min(Math.floor(n*sa/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 gt(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*ft/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*ca/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let s=a/i;o[a]=(o[a]??0)*s;let d=o.length-1-a;o[d]=(o[d]??0)*s;}return o}function Sn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function la(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 ua(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 Fr(e,n){let t=await ut(),r=Math.floor(n*mt/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=aa(o,n);try{return la(t.encodeFile(i))}catch(a){throw new F("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function jr(e){let n=await ut();try{let[t,r]=n.decodeFile(ua(e));if(t.length===0)throw new Error("decoded empty pcm");let o=da(pt(t),r.rate>0?r.rate:se),i=r.rate>0?r.rate:se;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof F?t:new F("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function $r(e){let n=await jr(e);return {wavData:Sn(n.samples,n.sampleRate),durationMs:n.durationMs}}var pa=.5,fa=2;function qr(e){if(typeof e!="number"||!Number.isFinite(e))throw new F("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,pa),fa)}function ma(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:qr(e.playbackRate)},r=new Set;function o(){for(let u of r)u(t);}let i=null,a=new Map,s=0,d=false,c=false;function y(u){let m=a.get(u);return m!==void 0&&(a.delete(u),a.set(u,m)),m}function P(u,m){if(d)return URL.revokeObjectURL(m.url),m;let v=a.get(u);if(v!==void 0)return URL.revokeObjectURL(m.url),a.delete(u),a.set(u,v),v;for(a.set(u,m);a.size>n;){let S;for(let I of a.keys())if(I!==t.activeId){S=I;break}if(S===void 0)break;let x=a.get(S);a.delete(S),x!==void 0&&URL.revokeObjectURL(x.url);}return m}function h(u){u.paused||u.pause(),u.removeAttribute("src");try{u.load();}catch{}}function p(u,m){return !d&&u===s&&t.activeId===m}function w(u){u.defaultPlaybackRate=t.playbackRate,u.playbackRate=t.playbackRate;}function C(){if(i!==null)return i;let u=new Audio;return u.preload="auto",w(u),u.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=u.currentTime*1e3,t.progress=u.duration>0?Math.min(1,u.currentTime/u.duration):0,o());}),u.addEventListener("ended",()=>{M(),h(u),o();}),u.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=u,u}function M(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function _(){s+=1,c=false,t.loadingId="",M(),i!==null&&h(i),o();}function D(u){t.errorIds=new Set([...t.errorIds,u]);}function E(u){if(!t.errorIds.has(u))return;let m=new Set(t.errorIds);m.delete(u),t.errorIds=m;}async function A(u,m){let v=y(u);if(v!==void 0)return {entry:v};let S;try{S=await m();}catch(x){return {entry:null,error:{code:An(x),cause:x}}}if(S===null)return {entry:null};try{let{wavData:x,durationMs:I}=await $r(S),R={url:URL.createObjectURL(new Blob([x],{type:"audio/wav"})),durationMs:I};return {entry:P(u,R)}}catch(x){return {entry:null,error:{code:An(x),cause:x}}}}async function T(u,m){if(d)return;let v=C();if(E(u),t.activeId===u){if(t.isPlaying){v.pause();return}let I=++s;try{await v.play();}catch{if(!p(I,u))return;D(u),o();return}if(!p(I,u))return;t.isPlaying=true,o(),m.onPlayStart?.();return}if(t.loadingId===u)return;_();let S=++s;t.loadingId=u,o();let x=await A(u,m.load);if(S===s){if(t.loadingId="",x.entry===null){D(u),o(),x.error!==void 0&&m.onDecodeError?.(x.error.code,x.error.cause);return}v.src=x.entry.url,w(v),t.activeId=u,t.progress=0,t.currentTimeMs=0,o();try{await v.play();}catch(I){if(!p(S,u))return;M(),h(v),D(u),o(),m.onDecodeError?.(void 0,I);return}p(S,u)&&(t.isPlaying=true,o(),m.onPlayStart?.());}}function B(u,m){i===null||t.activeId!==u||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(m,0),.999)*i.duration);}function l(u){i===null||t.activeId!==u||t.isPlaying&&(c=true,i.pause());}function f(u){if(i===null||t.activeId!==u||!c)return;c=false;let m=++s;i.play().then(()=>{p(m,u)&&(t.isPlaying=true,o());}).catch(()=>{p(m,u)&&(D(u),o());});}function g(u){let m=qr(u);m!==t.playbackRate&&(t.playbackRate=m,i!==null&&w(i),o());}function b(){if(!d){d=true,_();for(let u of a.values())URL.revokeObjectURL(u.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:u=>(r.add(u),()=>r.delete(u)),toggle:T,seek:B,beginScrub:l,endScrub:f,setPlaybackRate:g,stop:_,dispose:b}}function ga(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 ya(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 s=a*r,d=.2;s<200?d=.15:s<300?d=.4:s<=3400?d=1:s<=6e3&&(d=.45),o+=(e[a]??0)/255*d,i+=d;}return i>0?o/i:0}function Jr(e){let n=ga(e.timeDomain),t=ya(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var Mn=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 ha=5e3,yt=15e3,ba=25e3,wa=25e3;function We(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);});})}async function Ca(){if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new F("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");let e=navigator.mediaDevices.getUserMedia({audio:Pa()});try{return await We(e,wa,"\u9EA6\u514B\u98CE\u6388\u6743\u8BF7\u6C42\u8D85\u65F6")}catch(n){throw e.then(t=>t.getTracks().forEach(r=>r.stop())).catch(()=>{}),Lr(n)}}function Pa(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var Ia=50,va=.12,Aa=2.6,Sa=.06,Ma=256;function _a(){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 xa(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 F("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await We(i.resume(),yt,"audioContext.resume timeout").catch(()=>{});let s=await We(i.decodeAudioData(await e.arrayBuffer()),yt,"decodeAudioData timeout"),d=Math.max(1,Math.ceil(s.duration*n)),c=new o(1,d,n),y=c.createBufferSource();return y.buffer=s,y.connect(c.destination),y.start(0),(await We(c.startRendering(),yt,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(s){throw s instanceof F?s:new F("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:s})}finally{a&&i.close().catch(()=>{});}}function Vr(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 Ra(e={}){if(typeof MediaRecorder>"u")throw new F("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;e.stream!==void 0?n=e.stream:n=await Ca(),Hr();let t=_a(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,s=[],d=null,c=null,y=null,P=[],h=0,p=false;function w(){try{let u;try{u=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{u=new MediaRecorder(n);}return P=[],u.ondataavailable=m=>{m.data.size>0&&P.push(m.data);},u.start(250),h=Date.now(),u}catch(u){throw u instanceof F?u:new F("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:u})}}let C=e.amplitude?.intervalMs??Ia,M=e.amplitude?.boost??Aa,_=e.amplitude?.smoothing??va,D=e.amplitude?.minVolume??Sa;function E(){let u=Math.floor(r/1e3*se),m=0;for(let S of i)m+=S.length;if(m>u){let S=u,x=[];for(let I of i){if(S<=0)break;I.length<=S?(x.push(I),S-=I.length):(x.push(I.slice(0,S)),S=0);}i.length=0,i.push(...x);}a=Math.min(a,r);let v=Math.max(0,Math.ceil(r/C));s.length>v&&(s.length=v);}async function A(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let u=b().then(()=>E());y=u;try{await u;}catch(m){console.warn("[im-browser] pauseAtMaxDuration settle failed",m);}}let T=setInterval(()=>{!p&&o==="recording"&&f()>=r&&(p=true,A());},250),B=null,l=null;try{let u=window.AudioContext??window.webkitAudioContext;if(u!==void 0){B=new u,B.state==="suspended"&&B.resume().catch(()=>{});let m=B.createMediaStreamSource(n),v=B.createAnalyser();v.fftSize=Ma,v.smoothingTimeConstant=_,m.connect(v);let S=new Uint8Array(v.frequencyBinCount),x=new Uint8Array(v.fftSize),I=new Mn;l=setInterval(()=>{if(o!=="recording"||d===null)return;v.getByteFrequencyData(S),v.getByteTimeDomainData(x);let R=Jr({timeDomain:x,frequency:S,sampleRate:B.sampleRate,fftSize:v.fftSize,boost:M}),k=I.next(R),U=k<D?0:k;s.push(Math.round(U*255)),e.onAmplitude?.(U);},C);}}catch(u){console.warn("[im-browser] amplitude analyser setup failed",u);}function f(){let u=o==="recording"&&d!==null?Date.now()-h:0;return a+u}function g(){T!==null&&(clearInterval(T),T=null),l!==null&&(clearInterval(l),l=null),B?.close().catch(()=>{}),B=null;for(let u of n.getTracks())u.stop();}function b(){if(c!==null)return c;let u=d;return u===null?Promise.resolve():(d=null,c=(async()=>{await new Promise(S=>{if(u.state==="inactive"){S();return}let x=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),S();},ha);u.onstop=()=>{clearTimeout(x),S();},u.stop();});let m=new Blob(P,{type:u.mimeType||t||"audio/webm"});if(P=[],m.size===0)return;let v=await xa(m,se,B);v.length!==0&&(i.push(v),a+=v.length/se*1e3);})().finally(()=>{c=null;}),c)}try{d=w();}catch(u){throw o="closed",g(),u}return {getState:()=>o,recordedMs:f,async pause(){o==="recording"&&(o="paused",await b(),(p||a>=r)&&E());},async resume(){o!=="paused"||p||(d=w(),o="recording");},async finish(){if(o==="closed")throw new F("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let u=async()=>{try{y!==null?await y:await b(),E();}finally{g();}let m=Vr(i);if(m.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let v=gt(m,se);if(v.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let S=Math.min(s.length,Math.ceil(ft/C));return {data:await Fr(v,se),durationMs:Math.round(v.length/se*1e3)+mt,waveform:s.slice(S),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await We(u(),ba,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(m){throw g(),m instanceof F?m:new F("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:m})}},cancel(){o="closed";let u=d;if(d=null,u!==null&&(u.ondataavailable=null,u.onstop=null,u.state!=="inactive"))try{u.stop();}catch{}i.length=0,g();},async previewWav(){y!==null?await y:c!==null&&await c,E();let u=Vr(i),m=gt(u,se);if(m.length===0)throw new F("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:Sn(pt(m),se),durationMs:Math.round(m.length/se*1e3)}}}}function Ue(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 zr(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var ce=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function Wr(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 ce("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(c){throw new ce("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:c})}let a=Uint8Array.from(i,c=>c.charCodeAt(0)&255);if(a.length===0)throw new ce("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let s=new Uint8Array(16);s.set(a.subarray(0,s.length));let d=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,c=>c.charCodeAt(0)):void 0;return {canonical:s,...d===void 0?{}:{legacyAscii:d},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:d!==void 0}}}function Ea(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Ue(zr);function a(A){return {canonical:A.canonical.slice(),...A.legacyAscii===void 0?{}:{legacyAscii:A.legacyAscii.slice()},metadata:{...A.metadata}}}function s(A){return [{strategy:"canonical-base64-pad",key:A.canonical.slice()},...A.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:A.legacyAscii.slice()}]]}function d(A){n.delete(A),t.delete(A),r.delete(A),o.set(A,(o.get(A)??0)+1);}function c(A){let T=o.get(A)??0,B=(async()=>{try{let l=await e.loadSecretKey(A);if(l===null||l.trim()==="")throw new ce(`channel secret_key \u7F3A\u5931\uFF08channelId=${A}\uFF09`);let f=Wr(l);return (o.get(A)??0)===T&&n.set(A,a(f)),f}catch(l){let f=l instanceof ce?l:new ce(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${A}\uFF09`,{cause:l});throw e.onError?.(f.message,l),f}})().finally(()=>{t.get(A)===B&&t.delete(A);});return t.set(A,B),B}function y(A,T){let B=t.get(A);if(B!==void 0)return B;i.shouldRenegotiate(A,T.staleKey,n.get(A)?.canonical)&&d(A);}function P(A,T){let B=A.trim();if(B===""){let f=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(f.message),Promise.reject(f)}if(T!==void 0){let f=y(B,T);if(f!==void 0)return f.then(a)}let l=n.get(B);return l!==void 0?Promise.resolve(a(l)):t.get(B)??c(B)}function h(A,T){let B=A.trim();if(B===""){let b=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(b.message),Promise.reject(b)}if(T!==void 0){let b=y(B,T);if(b!==void 0)return b.then(u=>u.canonical.slice())}let l=n.get(B);if(l!==void 0)return Promise.resolve(l.canonical.slice());let f=r.get(B);if(f!==void 0)return f;let g=(t.get(B)??c(B)).then(b=>b.canonical.slice()).finally(()=>{r.get(B)===g&&r.delete(B);});return r.set(B,g),g}function p(A){return n.get(A.trim())?.canonical.slice()??null}async function w(A,T){let B=await P(A,T);return s(B)}function C(A){let T=n.get(A.trim());return T===void 0?[]:s(T)}function M(A){let T=n.get(A.trim());return T===void 0?null:{...T.metadata}}function _(A,T){let B=A.trim();if(B==="")throw new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");let l=Wr(T);d(B),i.reset(B),n.set(B,a(l));}function D(A){let T=A.trim();T!==""&&(d(T),i.reset(T));}function E(){let A=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let T of A)o.set(T,(o.get(T)??0)+1),i.reset(T);n.clear(),t.clear(),r.clear();}return {getChannelKey:h,getCachedChannelKey:p,getChannelKeyCandidates:w,getCachedChannelKeyCandidates:C,getCachedChannelKeyMetadata:M,primeChannelKey:_,clearChannelKey:D,clearAll:E}}function ht(){let e=globalThis.scheduler;return typeof e?.yield=="function"?e.yield():new Promise(n=>setTimeout(n,0))}var Ct=2654435769,Yr=16,Oe=8,bt=16,Qr=32;function Xr(e){if(e.length<bt)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 ${bt} \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,bt);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function Pt([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=Math.imul(Ct,16)>>>0;for(let c=0;c<Yr;c++)s=s-(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0,a=a-(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,d=d-Ct>>>0;return [a,s]}function It([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=0;for(let c=0;c<Yr;c++)d=d+Ct>>>0,a=a+(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,s=s+(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0;return [a,s]}function Ye(e,n,t,r){let o=Xr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/Oe),s=r===void 0?a:Math.min(a,Math.floor(r/Oe)),d=new DataView(e.buffer,e.byteOffset,e.byteLength),c=new DataView(i.buffer);for(let P=0;P<s;P++){let h=P*Oe,[p,w]=t([d.getUint32(h,true),d.getUint32(h+4,true)],o);c.setUint32(h,p,true),c.setUint32(h+4,w,true);}let y=s*Oe;return y<e.length&&i.set(e.subarray(y),y),i}function Qe(e,n){return Ye(n,e,Pt)}function Xe(e,n){return Ye(n,e,It)}function Zr(e,n){return Ye(n,e,It,Qr)}function eo(e,n){return Ye(n,e,Pt,Qr)}var ka=1024*1024;function Ta(){return ht()}function wt(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function vt(e,n,t,r=ka,o={}){if(!Number.isInteger(r)||r<=0||r%Oe!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F ${Oe} \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);Xr(e);let i=t==="encrypt"?It:Pt,a=o.yieldToMain??Ta,s=n.size,d=[],c=0;for(;c<s;){wt(o.signal);let y=Math.min(c+r,s),P=new Uint8Array(await n.slice(c,y).arrayBuffer());wt(o.signal),d.push(new Blob([Ye(P,e,i)])),c=y,o.onProgress?.(c,s),c<s&&await a();}return wt(o.signal),new Blob(d)}var no=8,_n=16;function Da(e){let n=Q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function ro(e){return new TextEncoder().encode(e)}function Ua(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function Oa(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 Ba(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Na(e){let n=Math.ceil(e.length/no)*no;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function oo(e,n=Da){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<_n)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=ro(r.slice(0,_n).toUpperCase());if(o.length<_n)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,_n)}function io(e,n,t){return Ba(Xe(oo(n,t),Na(ro(e))))}function Ka(e,n,t){return Ua(Qe(oo(n,t),Oa(e)))}function Ga(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function At(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return Ga(JSON.parse(n))}catch{return null}}function La(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function ao(e,n,t){let r=At(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=Ka(e,n,t);return At(o)??At(La(o))}catch{return null}}var Ha="core";var Ze=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";}},Y=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 O(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ha,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 Ze(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 Ze(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 so(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 O(e,"/user/encrypt_info/info",t,r)}function Fa(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 ja(e){let n=e.clientType,t=new Map,r=new Map,o=Ue((h,p)=>h===p),i=null,a=null;function s(h,p){e.onError?.(h,p);}function d(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let h=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(p=>(i=p,p)).finally(()=>{a===h&&(a=null);});return a=h,h}async function c(h){let p;try{p=await d();}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${h}\uFF09`,_),null}let w;try{w=await so(e.client,{publicKey:p.publicKeyBase64,clientType:n});}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${h}\uFF09`,_),null}if(w.data===null)return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${h}\uFF0Ccode=${w.code}\uFF09`),null;let C=w.data.prv_key??w.data.prvKey??"",M=String(w.data.version??"").trim();if(C==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${h}\uFF09`),null;try{let _=e.crypto.rsaDecryptPkcs1({data:Fa(C),privateKey:p.privateKey}),D=new TextDecoder().decode(_).trim();if(D==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${h}\uFF09`),null;let E={privateKey:D,version:M};return t.set(h,E),E}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${h}\uFF09`,_),null}}function y(h,p){let w=h.trim();if(w==="")return Promise.resolve(null);if(p!==void 0){let D=r.get(w);if(D!==void 0)return D;o.shouldRenegotiate(w,p.staleKey,t.get(w)?.privateKey)&&t.delete(w);}let C=t.get(w);if(C!==void 0)return Promise.resolve(C);let M=r.get(w);if(M!==void 0)return M;let _=c(w).finally(()=>{r.get(w)===_&&r.delete(w);});return r.set(w,_),_}function P(h){return t.get(h.trim())??null}return {getUserPrivateKey:y,getCachedPrivateKey:P}}function co(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 O(e,"/user_group/encrypt_info",t,r)}function $a(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 qa(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Ue((p,w)=>p===w),a=null,s=null;function d(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let p=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(w=>(a=w,w)).finally(()=>{s===p&&(s=null);});return s=p,p}async function c(p){let w=o.get(p)??0,C;try{C=await d();}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}let M;try{M=await co(e.client,{groupId:p,publicKey:C.publicKeyBase64,clientType:n});}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${p}\uFF09`,T),null}if(M.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${p}\uFF0Ccode=${M.code}\uFF09`),null;let _=M.data,D=String(_.prv_key??_.prvKey??_.private_key??"").trim(),E=String(_.pub_key??_.pubKey??_.public_key??"").trim(),A=String(_.version??"").trim();if(D==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${p}\uFF09`),null;try{let T=e.crypto.rsaDecryptPkcs1({data:$a(D),privateKey:C.privateKey}),B=new TextDecoder().decode(T).trim();if(B==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${p}\uFF09`),null;let l={privateKey:B,publicKey:E,version:A};return (o.get(p)??0)===w&&t.set(p,l),l}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}}function y(p,w){let C=p.trim();if(C==="")return Promise.resolve(null);if(w!==void 0){let E=r.get(C);if(E!==void 0)return E;i.shouldRenegotiate(C,w.staleKey,t.get(C)?.privateKey)&&t.delete(C);}let M=t.get(C);if(M!==void 0)return Promise.resolve(M);let _=r.get(C);if(_!==void 0)return _;let D=c(C).finally(()=>{r.get(C)===D&&r.delete(C);});return r.set(C,D),D}function P(p){return t.get(p.trim())??null}function h(p){let w=p.trim();t.delete(w),r.delete(w),o.set(w,(o.get(w)??0)+1),i.reset(w);}return {getGroupKeys:y,getCachedGroupKeys:P,getCachedGroupKeyVersion:p=>t.get(p.trim())?.version??null,clearGroupKeys:h}}async function en(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 O(e,"/user/info/other",t,r)).data}function Ja(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let d=((await en(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return d===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,d),d)}catch(s){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,s),null}}function i(a,s){let d=a.trim();if(d==="")return Promise.resolve(null);s?.force===true&&t.delete(d);let c=t.get(d);if(c!==void 0)return Promise.resolve(c);let y=r.get(d);if(y!==void 0)return y;let P=o(d).finally(()=>{r.get(d)===P&&r.delete(d);});return r.set(d,P),P}return {getPeerPublicKey:i}}var Ae=16;function lo(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function uo(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function po(e){return e.replace(/(.{64})/g,`$1
|
|
2
|
+
`).trim()}function Va(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function za(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=po(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return Q.pki.privateKeyFromPem(`-----BEGIN ${i}-----
|
|
3
|
+
${o}
|
|
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 fo(e){let n=za(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 d=0;d<r.length;d+=t){let c=Math.min(d+t,r.length);try{let y=n.decrypt(lo(r.subarray(d,c)),"RSAES-PKCS1-V1_5");o.push(uo(y));}catch(y){let P=y instanceof Error?y.message:String(y);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${d}..${c}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${P}`)}}let i=o.reduce((d,c)=>d+c.length,0),a=new Uint8Array(i),s=0;for(let d of o)a.set(d,s),s+=d.length;return a}function Wa(e){let n=fo({data:e.secretKey,privateKey:e.privateKey});if(n.length<Ae)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${Ae}`);return Qe(n,e.cipherData)}function Ya(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=po(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return Q.pki.publicKeyFromPem(`-----BEGIN ${i}-----
|
|
5
|
+
${o}
|
|
6
|
+
-----END ${i}-----`)}catch(a){r.push(a);}throw new Error(`RSA \u516C\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 SPKI-DER / SPKI-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function mo(){let e=new Uint8Array(Ae),n=new Uint8Array(1);for(let t=0;t<Ae;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function Qa(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=Ya(e),r=Math.ceil(t.n.bitLength()/8)-11;if(r<=0)throw new Error(`RSA \u52A0\u5BC6\uFF1A\u516C\u94A5\u4F4D\u6570\u8FC7\u5C0F\uFF08${t.n.bitLength()}bit\uFF09`);let o=[];for(let d=0;d<n.length;d+=r){let c=Math.min(d+r,n.length),y=t.encrypt(lo(n.subarray(d,c)),"RSAES-PKCS1-V1_5");o.push(uo(y));}let i=o.reduce((d,c)=>d+c.length,0),a=new Uint8Array(i),s=0;for(let d of o)a.set(d,s),s+=d.length;return a}function Xa(e){let n=e.teaKey??mo();if(n.length<Ae)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${Ae}`);let t=n.subarray(0,Ae),r=Xe(t,e.plain);return {secretKey:Qa(e.publicKey,t),cipherData:r}}function Za(e){return Qe(e.teaKey,e.cipherData)}function es(e){return Xe(e.teaKey,e.plain)}function ns(e){return vt(e.teaKey,e.plain,"encrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function ts(e){return vt(e.teaKey,e.cipherData,"decrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function rs(e){return Zr(e.teaKey,e.plain)}function os(e){return eo(e.teaKey,e.cipherData)}function is(){return new Promise((e,n)=>{Q.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Va(Q.pki.publicKeyToPem(r.publicKey)),privateKey:Q.pki.privateKeyToPem(r.privateKey)});});})}function as(){return {decryptEndToEnd:Wa,encryptEndToEnd:Xa,decryptSymmetric:Za,encryptSymmetric:es,encryptSymmetricChunked:ns,decryptSymmetricChunked:ts,encryptFileSimple:rs,decryptFileSimple:os,randomTeaKey:mo,generateTempKeyPair:is,rsaDecryptPkcs1:fo}}function St(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function nn(e,n){return O(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},St(n.clientType,"GET"))}function tn(e,n){return O(e,"/friend/apply/agree",{id:n.applicationId},St(n.clientType,"POST"))}function rn(e,n){return O(e,"/friend/apply/del",{id:n.applicationId},St(n.clientType,"POST"))}var go=50,yo=20,ho=1,Mt=2,_t=3,ss=4,cs=5,bo=0,ds=1,ls=2;function us(e){switch(e){case bo:case ds:case ls:return e;default:return}}var Be=class extends Error{constructor(t,r){super(`application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ApplicationHttpError";}code},Z=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function $(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function wo(e){let n=$(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function Co(e){let n=$(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=us(t);if(r===void 0)throw new Z(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===bo}function ps(e){let n=$(e.type);if(n==="")return true;if(Number(n)!==ho)throw new Z(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function fs(e){let n=Number($(e.type));if(n!==Mt&&n!==_t&&n!==ss&&n!==cs)throw new Z(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${$(e.type)||"<empty>"}`);return n}function xn(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>go)throw new Z(`limit \u5FC5\u987B\u4E3A 1-${go}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new Z("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Z("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Po(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new Z("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function xt(e){let n=e.trim();if(n==="")throw new Z("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function ms(e){let n=xt($(e.id)||$(e.aid)),t=$(e.user_id)||$(e.user_info?.user_id),r=$(e.nick_name??e.nickname??e.name)||$(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new Z(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=$(e.head_img_url??e.avatar)||$(e.user_info?.head_img_url??e.user_info?.avatar),i=$(e.user_info?.mid),a=wo(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...i===""?{}:{applicantDisplayId:i},message:$(e.remarks??e.introduce_self),...a===void 0?{}:{createdAt:a}}}function gs(e){let n=xt($(e.id)||$(e.aid)),t=$(e.group_id)||$(e.group_info?.group_id);if(t==="")throw new Z(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=$(e.user_id)||$(e.user_info?.user_id),o=$(e.nick_name??e.nickname??e.name)||$(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new Z(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=$(e.head_img_url??e.avatar)||$(e.user_info?.head_img_url??e.user_info?.avatar),a=$(e.user_info?.mid),s=$(e.group_info?.name??e.group_info?.group_name);if(s==="")throw new Z(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let d=$(e.group_info?.head_img_url??e.group_info?.avatar),c=wo(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===_t?"invite":"request",actor:{id:r,name:o,...i===""?{}:{avatarUrl:i},...a===""?{}:{displayId:a}},target:{id:t,name:s,...d===""?{}:{avatarUrl:d}},message:$(e.remarks??e.introduce_self),...c===void 0?{}:{createdAt:c}}}async function Rn(e,n,t){let r=await t(e.client,{applicationId:xt(n),clientType:e.clientType});if(!r.ok)throw new Be(r.code,r.message)}function ys(e){async function n(t){let{pageSize:r}=xn(t),{page:o}=xn(t);for(let i=0;i<yo;i+=1){let a=await nn(e.client,{listType:ho,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Be(a.code,a.message);let s=Po(a.data),d=s.filter(P=>ps(P)&&Co(P)).map(ms),c=s.length<r,y=o+1;if(d.length>0||c)return {items:d,exhausted:c,...c?{}:{nextCursor:String(y)}};o=y;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>Rn(e,t,tn),ignoreApplication:t=>Rn(e,t,rn)}}function hs(e){async function n(t){let{pageSize:r}=xn(t),{page:o}=xn(t);for(let i=0;i<yo;i+=1){let a=await nn(e.client,{listType:Mt,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Be(a.code,a.message);let s=Po(a.data),d=s.filter(P=>{let h=fs(P);return (h===Mt||h===_t)&&Co(P)}).map(gs),c=s.length<r,y=o+1;if(d.length>0||c)return {items:d,exhausted:c,...c?{}:{nextCursor:String(y)}};o=y;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>Rn(e,t,tn),ignoreApplication:t=>Rn(e,t,rn)}}function H(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function bs(e){if(typeof e=="boolean")return e;if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0"||n.toLowerCase()==="false")return false;if(n==="1"||n.toLowerCase()==="true")return true}}function ws(e){let n=Number(e);return n===1?{configType:"pinned-game"}:n===2?{configType:"float-link"}:n===3?{configType:"float-game"}:Number.isInteger(n)&&n>=0?{configType:"unknown",rawConfigType:n}:{configType:"unknown"}}function Cs(e){let n=Number(e.product_id),t=bs(e.is_dynamic);return {...ws(e.config_type),...H(e.appid)===void 0?{}:{appId:H(e.appid)},...Number.isInteger(n)?{productId:n}:{},...H(e.domain)===void 0?{}:{domain:H(e.domain)},...H(e.suffix_address)===void 0?{}:{suffixAddress:H(e.suffix_address)},...H(e.developer_id)===void 0?{}:{developerId:H(e.developer_id)},...H(e.introduction)===void 0?{}:{introduction:H(e.introduction)},...H(e.icon)===void 0?{}:{icon:H(e.icon)},...H(e.icon_small)===void 0?{}:{iconSmall:H(e.icon_small)},...H(e.icon_medium)===void 0?{}:{iconMedium:H(e.icon_medium)},...H(e.icon_large)===void 0?{}:{iconLarge:H(e.icon_large)},...t===void 0?{}:{isDynamic:t},...H(e.lang_types)===void 0?{}:{langTypes:H(e.lang_types)},...H(e.currency_types)===void 0?{}:{currencyTypes:H(e.currency_types)},...H(e.simple_chinese_name)===void 0?{}:{nameZhHans:H(e.simple_chinese_name)},...H(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:H(e.unsimplified_chinese_name)},...H(e.english_name)===void 0?{}:{nameEn:H(e.english_name)},...H(e.vietnamese_name)===void 0?{}:{nameVi:H(e.vietnamese_name)},...H(e.thai_name)===void 0?{}:{nameTh:H(e.thai_name)},...H(e.h5_url)===void 0?{}:{h5Url:H(e.h5_url)}}}function Io(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>Cs(t)):n.source==="info"?[]:void 0}function vo(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Ao(e,n){return O(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},vo(n.clientType,"GET"))}function So(e,n){return O(e,"/user_radio/info",{radio_id:n.channelId},vo(n.clientType,"POST"))}var Mo=500,on=class extends Error{constructor(t,r){super(`CHANNEL HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelHttpError";}code},fe=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function _o(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new fe(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Se(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Ne(e){return Number(e)===1}function Ps(e){if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0")return false;if(n==="1")return true}}function Is(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function vs(e){let n=e.is_in===void 0?void 0:Ne(e.is_in),t=Ne(e.radio_user?.is_del),r=Ne(e.radio_user?.is_black);return Number(e.status)===3?"dismissed":t&&r?"removed":r?"blacklisted":t?"left":n===false?"guest":e.status!==void 0&&Number(e.status)!==2?"unknown_restricted":"active"}function As(e,n,t){let r=Se(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,i=Se(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:Ne(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...i===void 0?{}:{mutePeriod:i}}}function Ss(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function Ms(e){let n=Se(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function _s(e,n){let t=e.replace(/^0+(?=\d)/,""),r=n.replace(/^0+(?=\d)/,"");return t.length!==r.length?t.length>r.length?t:r:t>=r?t:r}function xo(e,n,t){let r=_o(e.radio_id??e.id,"id"),o=_o(e.name,"name"),i=e.is_in===void 0?void 0:Ne(e.is_in),a=Is(e.radio_user?.role_id,i),s=vs(e),d=As(e,a,s),c=La$1({channelState:s,snapshot:d,nowMs:n}),y={...d,resolvedState:c.channelState},P=Ms(e.update_version),h=Se(e.head_img_url),p=Se(e.desc),w=Se(e.user_id),C=Number(e.total_users),M=Ss(e.type),_=Ps(e.radio_setting?.is_unvisit_other),D=e.verify_way===void 0?void 0:Number(e.verify_way),E=D!==void 0&&Number.isSafeInteger(D)?D:void 0,A=Se(e.invite_code),T=Io(e,{source:t});return {id:r,name:o,...h===void 0?{}:{avatar:h},...p===void 0?{}:{description:p},...w===void 0?{}:{ownerId:w},...Number.isFinite(C)&&C>=0?{memberCount:C}:{},...E===void 0?{}:{verifyType:E},...A===void 0?{}:{inviteCode:A},role:a,permissions:c.permissions,channelState:c.channelState,allMembersMuted:y.allMembersMuted,..._===void 0?{}:{memberPrivateChatDisabled:_},accessSnapshot:y,...e.radio_user?.is_undisturb===void 0?{}:{muted:Ne(e.radio_user.is_undisturb)},...M===void 0?{}:{channelKind:M},...P===void 0?{}:{updateVersion:P},...T===void 0?{}:{miniProgramRels:T}}}function Ro(e){return {...e,updatedAt:Date.now()}}function Eo(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:Ka$1(e.role,e.channelState)};let t=La$1({channelState:e.channelState,snapshot:e.accessSnapshot,permissions:e.permissions,nowMs:n});return {...e,channelState:t.channelState,permissions:t.permissions,allMembersMuted:e.allMembersMuted??e.accessSnapshot.allMembersMuted,accessSnapshot:{...e.accessSnapshot,resolvedState:t.channelState}}}function Rt(e,n){let{updatedAt:t,...r}=Eo(e,n);return r}function xs(e){let n=new Map,t=new Map,r=new Map,o="0",i=false,a=null,s=0,d=null,c=0;function y(){if(i)return Promise.resolve();if(a!==null)return a;let p=s;return a=(async()=>{if(e.storage!==void 0){let[w,C]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(p!==s)return;for(let M of w)n.set(M.id,Eo(M,e.now?.()??Date.now()));o=/^\d+$/.test(C)?C:"0";}i=true;})().finally(()=>{a=null;}),a}function P(p){if(p?.forceRefresh!==true&&d!==null)return d;let w=++c,C=(async()=>{await y();let M=(await e.getUserId()).trim();if(M==="")throw new fe("user_id \u4E0D\u80FD\u4E3A\u7A7A");let _=p?.forceRefresh===true?"0":o,D=[];for(let A=1;;A+=1){let T=await Ao(e.client,{userId:M,updateVersion:_,page:A,pageSize:Mo,clientType:e.clientType});if(!T.ok)throw new on(T.code,T.message);if(T.data===null)break;if(!Array.isArray(T.data))throw new fe("list data \u5FC5\u987B\u662F\u6570\u7EC4");let B=e.now?.()??Date.now(),l=T.data.map(f=>xo(f,B,"list"));if(D.push(...l),l.length<Mo)break}if(w!==c)return [...n.values()].map(A=>Rt(A,e.now?.()??Date.now()));let E=o;for(let A of D)n.set(A.id,Ro(A)),A.updateVersion!==void 0&&(E=_s(E,A.updateVersion));return o=E,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(A=>Rt(A,e.now?.()??Date.now()))})();return d=C,C.finally(()=>{d===C&&(d=null);}).catch(()=>{}),C}function h(p,w){let C=p.trim();if(C==="")return Promise.reject(new fe("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let M=w?.forceRefresh===true;if(!M){let E=t.get(C);if(E!==void 0)return E}let _=(r.get(C)??0)+1;M&&r.set(C,_);let D=(async()=>{await y();let E=n.get(C);if(!M&&E!==void 0&&E.miniProgramRels!==void 0)return Rt(E,e.now?.()??Date.now());let A=await So(e.client,{channelId:C,clientType:e.clientType});if(!A.ok)throw new on(A.code,A.message);if(A.data===null||A.data===void 0)throw new fe("info data \u4E0D\u80FD\u4E3A\u7A7A");let T=xo(A.data,e.now?.()??Date.now(),"info");if(T.id!==C)throw new fe(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${C}\uFF0C\u54CD\u5E94 ${T.id}`);if((r.get(C)??_)===_){let B=Ro(T);n.set(C,B),await e.storage?.saveChannelProfiles([B]);}return T})().finally(()=>{t.get(C)===D&&t.delete(C);});return r.set(C,_),t.set(C,D),D}return {listProfiles:P,getProfile:h,clearCache(){s+=1,c+=1;for(let p of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(p,(r.get(p)??0)+1);n.clear(),t.clear(),d=null,o="0",i=true,a=null;}}}function ko(e,n){return nn(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function To(e,n){return tn(e,n)}function Do(e,n){return rn(e,n)}var Rs=20,Uo=50,Es=20,ks=2,Ts=3,Bo=4,Ds=5,No=0,Us=1,Os=2;function Bs(e){switch(e){case No:case Us:case Os:return e;default:return}}var an=class extends Error{constructor(t,r){super(`CHANNEL join application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelJoinApplicationHttpError";}code},re=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function q(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ns(e){let n=q(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function Ks(e){let n=q(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Bs(t);if(r===void 0)throw new re(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===No}function Gs(e){let n=Number(q(e.type));if(n!==ks&&n!==Ts&&n!==Bo&&n!==Ds)throw new re(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${q(e.type)||"<empty>"}`);return n}function Ls(e){let n=q(e.id)||q(e.aid),t=q(e.user_id)||q(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=q(e.radio_id)||q(e.channel_id)||q(r?.radio_id)||q(r?.channel_id);if(n==="")throw new re("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new re(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new re(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=q(e.user_info?.nick_name)||q(e.user_info?.nickname)||q(e.user_info?.name)||t,a=q(e.user_info?.head_img_url)||q(e.user_info?.avatar),s=q(e.user_info?.mid),d=q(r?.name)||q(r?.radio_name)||q(r?.channel_name)||o,c=q(r?.head_img_url)||q(r?.avatar),y=Ns(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:i,...a===""?{}:{applicantAvatar:a},...s===""?{}:{applicantDisplayId:s},channelId:o,channelName:d,...c===""?{}:{channelAvatar:c},message:q(e.remarks)||q(e.introduce_self),...y===void 0?{}:{createdAt:y}}}function Oo(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Uo)throw new re(`limit \u5FC5\u987B\u4E3A 1-${Uo}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||Rs};if(!/^[1-9]\d*$/.test(e.cursor))throw new re("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new re("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Hs(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new re("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function Fs(e){let n=e.trim();if(n==="")throw new re("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function js(e){async function n(r){let{pageSize:o}=Oo(r),{page:i}=Oo(r);for(let a=0;a<Es;a+=1){let s=await ko(e.client,{page:i,pageSize:o,clientType:e.clientType});if(!s.ok)throw new an(s.code,s.message);let d=Hs(s.data),c=d.filter(h=>Gs(h)===Bo&&Ks(h)).map(Ls),y=d.length<o,P=i+1;if(c.length>0||y)return {items:c,exhausted:y,...y?{}:{nextCursor:String(P)}};i=P;}return {items:[],exhausted:false,nextCursor:String(i)}}async function t(r,o){let i=await o(e.client,{applicationId:Fs(r),clientType:e.clientType});if(!i.ok)throw new an(i.code,i.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,To),ignoreJoinApplication:r=>t(r,Do)}}function En(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Et(e,n){return O(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},En(n.clientType,"GET"))}function kt(e,n){return O(e,"/user_radio/search_user",{radio_id:n.channelId,nick_name:n.query,page:n.page,page_size:n.pageSize,update_version:n.updateVersion??"0"},En(n.clientType,"POST"))}function Ko(e,n){return O(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},En(n.clientType,"GET"))}function Go(e,n){return O(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},En(n.clientType,"POST"))}var kn=18,$s=12,qs=300*1e3,Js=32,sn=class extends Error{constructor(t,r){super(`CHANNEL member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMemberHttpError";}code},z=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function me(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Vs(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function zs(e){let n=me(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function Tt(e,n){return e===void 0?n===void 0?0:-1:n===void 0?1:e.length!==n.length?e.length>n.length?1:-1:e===n?0:e>n?1:-1}function Lo(e,n){let t=me(e.radio_id);if(t==="")throw new z("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new z(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=me(e.user_id)||me(e.user_info?.user_id);if(r==="")throw new z("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let c=Number(e.is_master);if(c!==0&&c!==1)throw new z(`is_master \u975E\u6CD5\uFF1A${me(e.is_master)}`)}let o=me(e.nick_name),i=me(e.user_info?.nick_name)||me(e.user_info?.name),a=me(e.user_info?.head_img_url),s=zs(e.update_version),d=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||i||r,...a===""?{}:{avatar:a},role:Vs(e.role_id),...Number.isInteger(d)?{joinType:d}:{},...s===void 0?{}:{updateVersion:s}}}function Ws(e){if(e.channelId.trim()==="")throw new z("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>kn)throw new z(`limit \u5FC5\u987B\u4E3A 1-${kn}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new z("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new z("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Ho(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Ys(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??qs,o=new Map,i=new Map,a=new Map,s=new Map,d=new Map,c=new Set,y=new Set,P=(f,g)=>`${f}:${g}`;function h(f){let g=d.get(f);return g!==void 0?g:(d.set(f,0),0)}function p(f){let g=f.trim();if(g==="")throw new z("channelId \u4E0D\u80FD\u4E3A\u7A7A");return g}function w(f){for(i.delete(f.channelId),i.set(f.channelId,f);i.size>Js;){let g=i.keys().next().value;if(g===void 0)break;i.delete(g);}}function C(f){let g=i.get(f);if(g!==void 0)return w(g),Promise.resolve(g);if(y.has(f)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let b=a.get(f);if(b!==void 0)return b;let u=h(f),m=e.storage.getChannelMemberSnapshot(f).then(v=>!t()||v===null||v.channelId!==f||u!==h(f)||y.has(f)?null:(w(v),v)).finally(()=>{a.get(f)===m&&a.delete(f);});return a.set(f,m),m}function M(f,g){let b=f.map(m=>m.userId),u=new Map(f.map(m=>[m.userId,m]));for(let m of g){u.has(m.userId)||b.push(m.userId);let v=u.get(m.userId);(v===void 0||Tt(m.updateVersion,v.updateVersion)>=0)&&u.set(m.userId,m);}return b.map(m=>u.get(m))}async function _(f,g){let b=await pa$1(g);return f.filter(u=>b.match(u.displayName)!==null||b.match(u.userId,{pinyin:false})!==null)}async function D(f,g,b={}){if(!t()||g!==h(f.channelId))return;let u=f.channelId,m=y.has(u),v=b.allowPersistentRebuild===true&&m&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!m||v)&&await e.storage?.saveChannelMemberSnapshot?.(f),t()&&g===h(u)&&(w(f),b.allowPersistentRebuild===true&&(!m||e.storage?.deleteChannelMemberSnapshot===void 0)&&y.delete(u));}async function E(f,g,b,u,m=false,v){let S=await C(f);if(!t()||b!==h(f))return;let x=n(),I=v!==void 0&&S?.nextCursor===v,R=m&&S!==null&&!I,k=u!==void 0&&!R?u.nextCursor:S?.nextCursor,U={channelId:f,items:M(S?.items??[],g),...k===void 0?{}:{nextCursor:k},exhausted:R?S.exhausted:u?.exhausted??S?.exhausted??false,updatedAt:x};await D(U,b);}async function A(f,g,b){if(!t()||b!==h(f))return [...g];let u=n(),m=u+r,v=[],S=[],x=new Map;for(let I of g){let R=P(f,I.userId),k=o.get(R)?.member;if(k!==void 0&&Tt(I.updateVersion,k.updateVersion)<0){S.push(k);continue}v.push({channelId:f,...I,updatedAt:u}),S.push(I),x.set(R,{member:I,expiresAt:m});}if(v.length>0&&t()&&b===h(f)&&!c.has(f)&&(await e.storage?.saveChannelMembers?.(v),e.storage?.getChannelMembers!==void 0&&t()&&b===h(f))){let I=await e.storage.getChannelMembers(f,v.map(k=>k.userId)),R=new Map(I.map(k=>{let{channelId:U,updatedAt:N,...j}=k;return [j.userId,{member:j,updatedAt:N}]}));for(let k=0;k<S.length;k+=1){let U=S[k];if(U===void 0)continue;let N=R.get(U.userId);N===void 0||Tt(N.member.updateVersion,U.updateVersion)<=0||(S[k]=N.member,x.set(P(f,U.userId),{member:N.member,expiresAt:N.updatedAt+r}));}}if(t()&&b===h(f))for(let[I,R]of x)o.set(I,R);return S}async function T(f,g){let b=p(f.channelId),{page:u,pageSize:m}=Ws({...f,channelId:b}),v=h(b),S=await g(b,u,m);if(!S.ok)throw new sn(S.code,S.message);if(S.data!==null&&!Array.isArray(S.data))throw new z("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let x=Ho((S.data??[]).map(k=>Lo(k,b))),I=await A(b,x,v),R=(S.data??[]).length<m;return {items:I,exhausted:R,...R?{}:{nextCursor:String(u+1)}}}function B(f){let g=p(f),b=s.get(g);if(b!==void 0)return b;let u=h(g),m=(async()=>{let v,S=false,x=[];for(let R=0;R<$s&&!S;R+=1){let k=await T({channelId:g,limit:kn,...v===void 0?{}:{cursor:v}},(U,N,j)=>Et(e.client,{channelId:U,page:N,pageSize:j,clientType:e.clientType}));if(!t()||u!==h(g))throw new z("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");x=M(x,k.items),v=k.nextCursor,S=k.exhausted;}let I={channelId:g,items:x,...v===void 0?{}:{nextCursor:v},exhausted:S,updatedAt:n()};return await D(I,u,{allowPersistentRebuild:true}),{items:I.items,...I.nextCursor===void 0?{}:{nextCursor:I.nextCursor},exhausted:I.exhausted}})().finally(()=>{s.get(g)===m&&s.delete(g);});return s.set(g,m),m}async function l(f){let g=p(f),b=h(g)+1;d.set(g,b),c.add(g),y.add(g),i.delete(g),a.delete(g),s.delete(g);let u=`${g}:`;for(let m of o.keys())m.startsWith(u)&&o.delete(m);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(g),e.storage.deleteChannelMemberSnapshot?.(g)]),b===h(g)&&(e.storage?.deleteChannelMembers!==void 0&&c.delete(g),e.storage?.deleteChannelMemberSnapshot!==void 0&&y.delete(g)));}return {async prefetchMembers(f){let g=p(f),b=await C(g),u=y.has(g);b!==null&&!u&&b.updatedAt+r>n()||await B(g);},async getCachedMembers(f){let g=p(f.channelId),b=await C(g);if(b===null)return null;let u=f.query?.trim()??"";return u===""&&y.has(g)?null:u===""?{items:[...b.items],...b.nextCursor===void 0?{}:{nextCursor:b.nextCursor},exhausted:b.exhausted}:{items:await _(b.items,u),exhausted:true}},async refreshMembers(f){let g=p(f.channelId),b=f.query?.trim()??"";if(b==="")return B(g);let u=h(g),[m,v]=await Promise.all([T({channelId:g,query:b,limit:kn},(x,I,R)=>kt(e.client,{channelId:x,query:b,page:I,pageSize:R,updateVersion:"0",clientType:e.clientType})),C(g)]),S=v===null?[]:await _(v.items,b);return await E(g,m.items,u),{...m,items:M(m.items,S)}},async listMembers(f){let g=p(f.channelId),b={...f,channelId:g},u=h(g),m=await T(b,(v,S,x)=>Et(e.client,{channelId:v,page:S,pageSize:x,clientType:e.clientType}));return await E(g,m.items,u,m,b.cursor!==void 0,b.cursor),m},async searchMembers(f){let g=f.query.trim();if(g==="")return Promise.reject(new z("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let b=p(f.channelId),u={...f,channelId:b},m=h(b),v=await T(u,(S,x,I)=>kt(e.client,{channelId:S,query:g,page:x,pageSize:I,updateVersion:"0",clientType:e.clientType}));return await E(b,v.items,m),v},listAdmins:f=>T(f,(g,b,u)=>Ko(e.client,{channelId:g,page:b,pageSize:u,clientType:e.clientType})),async getMembersByIds(f,g,b){let u=f.trim();if(u==="")throw new z("channelId \u4E0D\u80FD\u4E3A\u7A7A");let m=[...new Set(g.map(I=>I.trim()).filter(Boolean))];if(m.length===0)return [];let v=b?.forceRefresh===true,S=new Map,x=[];for(let I of m){let R=o.get(P(u,I));!v&&R!==void 0&&R.expiresAt>n()?S.set(I,R.member):x.push(I);}if(!v&&x.length>0&&!c.has(u)&&e.storage?.getChannelMembers!==void 0){let I=h(u),R=await e.storage.getChannelMembers(u,x);if(t()&&I===h(u))for(let{channelId:k,updatedAt:U,...N}of R)k===u&&(o.set(P(u,N.userId),{member:N,expiresAt:U+r}),U+r>n()&&S.set(N.userId,N));x=x.filter(k=>!S.has(k));}if(!t())return m.flatMap(I=>S.has(I)?[S.get(I)]:[]);if(x.length>0){let I=h(u),R=await Go(e.client,{channelId:u,userIds:x,clientType:e.clientType});if(!R.ok)throw new sn(R.code,R.message);if(R.data!==null&&!Array.isArray(R.data))throw new z("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let k=Ho((R.data??[]).map(G=>Lo(G,u))),U=x.filter(G=>!k.some(W=>W.userId===G)),N=v&&U.length>0&&I===h(u),j;N?(await l(u),j=k):j=await A(u,k,I);for(let G of j)S.set(G.userId,G);}return m.flatMap(I=>S.has(I)?[S.get(I)]:[])},invalidateChannelMembers:l,clearCache(){let f=new Set(d.keys());for(let g of o.keys())f.add(g.slice(0,g.indexOf(":")));for(let g of i.keys())f.add(g);for(let g of a.keys())f.add(g);for(let g of s.keys())f.add(g);for(let g of c)f.add(g);for(let g of y)f.add(g);for(let g of f)d.set(g,h(g)+1);o.clear(),i.clear(),a.clear(),s.clear(),c.clear(),y.clear();}}}function Fo(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function jo(e,n){return O(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Fo(n.clientType))}function $o(e,n){return O(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},Fo(n.clientType))}var qo=18,Tn=class extends Error{constructor(t,r){super(`CHANNEL @ member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMentionMemberHttpError";}code},le=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function Ke(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Qs(e){let n=Ke(e.user_id);if(n==="")throw new le("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=Ke(e.radio_user_nickname)||Ke(e.nick_name)||Ke(e.name)||Ke(e.mid)||n,r=Ke(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function Xs(e){let n=e.channelId.trim();if(n==="")throw new le("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>qo)throw new le(`limit \u5FC5\u987B\u4E3A 1-${qo}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new le("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new le("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function Zs(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function ec(e){async function n(t,r){let{channelId:o,page:i,pageSize:a}=Xs(t),s=await r({channelId:o,page:i,pageSize:a,clientType:e.clientType});if(!s.ok)throw new Tn(s.code,s.message);if(s.data!==null&&!Array.isArray(s.data))throw new le("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let d=s.data??[],c=Zs(d.map(Qs)),y=d.length<a;return {items:c,exhausted:y,...y?{}:{nextCursor:String(i+1)}}}return {listMentionMembers:t=>n(t,r=>jo(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new le("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>$o(e.client,{...o,query:r}))}}}function nc(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:i}){let a=await e.getBaseUrl();if(!a)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let s={"Content-Type":"application/octet-stream"},d=e.getClientType?.();d!==void 0&&(s["Client-type"]=String(d)),Object.assign(s,o);let c=await e.getAuth();c!==null&&c.token!==""&&c.userId!==""&&(s.Authorization=`${c.token}:${c.userId}`);let y=await n(`${a}${t}`,{method:"POST",body:r,headers:s,signal:i});if(!y.ok)throw new Fa$1({path:t,status:y.status,statusText:y.statusText});let P=await y.arrayBuffer();return new Uint8Array(P)}}}var ue=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function Dn(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new ue(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function te(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function cn(e){let n=te(e);return n===""?void 0:n}function tc(e){let n=Dn(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:Dn(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=te(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new ue("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=te(n.remark_name)||te(n.contact_name)||te(t.nick_name)||te(t.username)||te(t.mid)||r,i=te(t.nick_name)||te(t.username)||te(t.mid)||r,a=cn(t.head_img_url),s=cn(t.username)??cn(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:i,...a===void 0?{}:{avatarUrl:a},...s===void 0?{}:{username:s}}}function rc(e){let n=Dn(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=te(n.group_id);if(t==="")throw new ue("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=cn(n.head_img_url),o=te(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function oc(e){let n=Dn(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=te(n.radio_id??n.id);if(t==="")throw new ue("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=cn(n.head_img_url),o=te(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function ic(e,n){if(!Number.isSafeInteger(e)||e<1)throw new ue("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new ue("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function ac(e){return {async list(n){ic(n.page,n.pageSize);let t=n.kind==="individual"?"/friend/list":n.kind==="group"?"/user_group/list":"/user_radio/list",r=n.kind==="channel"&&e.getUserId!==void 0?String(await e.getUserId()).trim():"",i=(await O(e.client,t,{...r===""?{}:{user_id:r},update_version:0,page:n.page,page_size:n.pageSize},{responseMode:"strict",method:"GET",...e.clientType===void 0?{}:{headers:{"Client-type":String(e.clientType)}}})).data??[];if(!Array.isArray(i))throw new ue(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let a=n.kind==="individual"?tc:n.kind==="group"?rc:oc,s=new Map;for(let c of i){let y=a(c);s.set(y.id,y);}let d=i.length<n.pageSize;return {items:[...s.values()],...d?{}:{nextPage:n.page+1},exhausted:d}}}}var sc="https://api.giphy.com/v1/gifs",Ge=class extends Error{constructor(t){super(t==="core"?"\u8868\u60C5 Core API \u672A\u914D\u7F6E":"Giphy API key \u672A\u914D\u7F6E");this.provider=t;this.name="ExpressionProviderUnavailableError";}provider},V=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},Me=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function ie(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new V(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function oe(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ce(e,n){let t=oe(e);if(t==="")throw new V(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function He(e){let n=oe(e);return n===""?void 0:n}function Le(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new V(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function cc(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new V(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function Jo(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new V(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function _e(e,n){let t=Ce(e,n),r;try{r=new URL(t);}catch(o){throw new V(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new V(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new V(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function Dt(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=ie(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new V(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function dn(e){return e==="sticker"?1:e==="gif"?2:3}function Vo(e){let n=ie(e,"\u8D34\u56FE\u5305"),t=He(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:Ce(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:oe(n.nameZh??n.name_zh),nameEn:oe(n.nameEn??n.name_en),nameTh:oe(n.nameTh??n.name_th),nameTw:oe(n.nameTw??n.name_tw),nameVi:oe(n.nameVi??n.name_vi),publisher:oe(n.publisher),trayIconUrl:_e(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:cc(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:Le(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function Ut(e,n,t,r){let o=ie(e,t),i=He(o.id),a={...i===void 0?{}:{recordId:i},url:_e(o.imgUrl??o.img_url,`${t} imgUrl`),width:Le(o.width??0,`${t} width`),height:Le(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...a,packageId:Ce(r??o.packId??o.pack_id,`${t} packageId`),resourceId:Ce(o.fileName??o.file_name,`${t} resourceId`)};let s=He(o.fileName??o.file_name);return {kind:n,...a,...s===void 0?{}:{resourceId:s}}}function dc(e,n){if(n!=="emoji")return Ut(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=ie(e,"\u6700\u8FD1 emoji"),r=He(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:Ce(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:Ce(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function zo(e,n,t){let r=dn(n);return Dt(e,t).filter(o=>{let i=ie(o,`${t} item`),a=i.favType??i.fav_type;if(a==null)return true;let s=Number(a);if(s!==1&&s!==2&&s!==3)throw new V(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return s===r})}function Yo(e){return {fav_type:dn(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:_e(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function lc(e){return e.kind!=="emoji"?Yo(e):{fav_type:dn(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function Wo(e){let n=[...new Set(e.map(t=>t.trim()).filter(Boolean))];if(n.length===0||n.length>30||n.some(t=>t.includes("|")))throw new V("\u6279\u91CF\u5220\u9664 recordIds \u5FC5\u987B\u5305\u542B 1-30 \u4E2A\u4E0D\u542B\u7AD6\u7EBF\u7684\u552F\u4E00\u975E\u7A7A id");return n.join("|")}function uc(e){let n=ie(e,"Giphy item"),t=ie(n.images,"Giphy item.images"),r=ie(t.original,"Giphy item.images.original"),o=t.fixed_width,i=o==null?void 0:ie(o,"Giphy item.images.fixed_width"),a=_e(r.url,"Giphy original.url"),s=i===void 0?void 0:He(i.url),d=i===void 0?void 0:He(i.webp),c=d===void 0?s===void 0?a:_e(s,"Giphy fixed_width.url"):_e(d,"Giphy fixed_width.webp"),y=d!==void 0&&s!==void 0&&s!==d?_e(s,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:Ce(n.id,"Giphy item.id"),title:oe(n.title)||"GIF",url:a,previewUrl:c,...y===void 0?{}:{fallbackPreviewUrl:y},width:Jo(r.width,"Giphy original.width"),height:Jo(r.height,"Giphy original.height")}}function pc(e,n){let t=ie(e,"Giphy response");if(!Array.isArray(t.data))throw new V("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=ie(t.pagination,"Giphy response.pagination"),o=Le(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new V("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let i=Le(r.count??t.data.length,"Giphy pagination.count"),a=Le(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),s=new Map;for(let c of t.data){let y=uc(c);s.set(y.resourceId,y);}let d=o+i;return {items:[...s.values()],offset:o,totalCount:a,...i>0&&d<a?{nextOffset:d}:{}}}function fc(e){async function n(r,o,i){if(e.coreClient===void 0)throw new Ge("core");let a=await O(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!a.ok)throw new Y(i,a.code,a.message);return a.data}async function t(r,o){let i=e.giphyApiKey?.trim()??"";if(i==="")throw new Ge("giphy");let a=e.fetcher??globalThis.fetch;if(typeof a!="function")throw new Ge("giphy");let s=new URLSearchParams({api_key:i,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),d;try{d=await a(`${sc}/${r}?${s.toString()}`);}catch{throw new Me(0,"network failure")}let c;try{c=await d.json();}catch(P){throw d.ok?new V(`Giphy response \u4E0D\u662F JSON\uFF1A${P instanceof Error?P.message:String(P)}`):new Me(d.status,"")}if(!d.ok){let P=c!==null&&typeof c=="object"&&!Array.isArray(c)?c.meta:void 0,h=P!==null&&typeof P=="object"&&!Array.isArray(P)?oe(P.msg):"";throw new Me(d.status,h)}let y=c!==null&&typeof c=="object"&&!Array.isArray(c)?c.meta:void 0;if(y!==null&&typeof y=="object"&&!Array.isArray(y)){let P=y,h=Number(P.status);if(Number.isFinite(h)&&h!==200)throw new Me(h,oe(P.msg))}return pc(c,o.offset)}return {async listStickerPacks(r){let o=await n("/user/sticker/pack_list",r===void 0?{}:{version:r},"\u8D34\u56FE\u5305\u5217\u8868");if(Array.isArray(o))return {version:"",items:o.map(Vo)};if(o==null)return {version:"",items:[]};let i=ie(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),a=i.list??i.packs;if(a==null)return {version:oe(i.version),items:[]};if(!Array.isArray(a))throw new V("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:oe(i.version),items:a.map(Vo)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return Dt(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(i=>Ut(i,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:dn(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return zo(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(i=>Ut(i,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",Yo(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:Wo(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:dn(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return zo(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(i=>dc(i,r))},async reportRecent(r){await n("/user/sticker/recent/report",lc(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:Wo(r)},"\u5220\u9664\u6700\u8FD1\u4F7F\u7528");},async listReactionTop(r){let o=await n("/user/reaction/emoji/top",r===void 0?{}:{limit:r},"\u5FEB\u6377\u56DE\u5E94 Top \u5217\u8868");return Dt(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(i=>{let a=ie(i,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return Ce(a.emoji,"\u5FEB\u6377\u56DE\u5E94 emoji")})},async reportReaction(r){await n("/user/reaction/emoji/report",{emoji:r},"\u4E0A\u62A5\u5FEB\u6377\u56DE\u5E94");},listGiphyTrending:r=>t("trending",r),searchGiphy:r=>t("search",r)}}async function Qo(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await O(e,"/user_group/info",{group_id:n.groupId},t)).data}function mc(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return [];let n=e,t=["list","users","user_list","members","member_list","members_list"];for(let r of t)if(Array.isArray(n[r]))return n[r];if(Array.isArray(n.data))return n.data;if(typeof n.data=="object"&&n.data!==null){let r=n.data;for(let o of t)if(Array.isArray(r[o]))return r[o]}return []}function gc(e){if(typeof e=="number")return e;if(typeof e=="string"&&e.trim()!==""){let n=Number(e);return Number.isNaN(n)?void 0:n}}var Xo=200,yc=50;async function Zo(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let i=1;i<=yc;i++){let a={group_id:n.groupId,update_version:t,page:String(i),page_size:String(Xo)},{data:s}=await O(e,"/user_group/user/list",a,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(s===null)break;let d=mc(s);if(d.length===0)break;for(let y of d){let P=String(y.user_id??y.userId??"").trim();if(P==="")continue;let h={userId:P,nickName:String(y.nick_name??y.nickName??"").trim()},p=gc(y.join_type??y.joinType);p!==void 0&&(h.joinType=p),r.push(h);}let c=s.update_version;if(typeof c=="number"&&(o=c),d.length<Xo)break}return {members:r,updateVersion:o}}async function ei(e,n){return (await O(e,"/user/info/friend",{friend_user_id:n.userId})).data}var hc=1440*60*1e3;function Ot(e,n,t=hc){let r=new Map,o=new Map,i=new Map;function a(y){let P=(i.get(y)??0)+1;i.set(y,P);let h=e(y).then(p=>(p!==null&&i.get(y)===P&&(r.set(y,p),n?.save(y,p).catch(()=>{})),p)).finally(()=>{o.get(y)===h&&o.delete(y);});return o.set(y,h),h}return {get:async(y,P)=>{if(P?.forceRefresh===true)return a(y);let h=r.get(y);if(h!==void 0)return h;let p=o.get(y);if(p!==void 0)return p;if(n!==void 0)try{let w=i.get(y)??0,C=await n.get(y);if(C!==null)return (i.get(y)??0)===w&&(r.set(y,C.value),Date.now()-C.updatedAt>t&&a(y)),C.value}catch{}return a(y)},peek:async y=>{let P=r.get(y);if(P!==void 0)return {value:P,stale:false};if(n===void 0)return null;try{let h=i.get(y)??0,p=await n.get(y);if(p!==null)return (i.get(y)??0)===h&&r.set(y,p.value),{value:p.value,stale:Date.now()-p.updatedAt>t}}catch{}return null},clear:()=>{for(let y of new Set([...r.keys(),...o.keys(),...i.keys()]))i.set(y,(i.get(y)??0)+1);r.clear(),o.clear();}}}function bc(e){async function n(h){let p=await ei(e.client,{userId:h})??await en(e.client,{userId:h});return p===null?null:la$1(p)}async function t(h){let p=await Qo(e.client,{groupId:h,clientType:e.clientType});return p===null?null:ma$1(p)}async function r(h){let{members:p}=await Zo(e.client,{groupId:h,clientType:e.clientType});return p.length===0?null:p}function o(h){let p={};for(let w of h)w.nickName!==""&&(p[w.userId]=w.nickName);return p}let{storage:i}=e,a=i===void 0?void 0:{get:async h=>{let p=await i.getUserProfile(h);return p===null?null:{value:p,updatedAt:p.updatedAt}},save:async(h,p)=>{await i.saveUserProfile({...p,updatedAt:Date.now()});}},s=i===void 0?void 0:{get:async h=>{let p=await i.getGroupMembers(h);return p===null?null:{value:p.members.map(w=>({userId:w.userId,nickName:w.groupNick,...w.joinType===void 0?{}:{joinType:w.joinType}})),updatedAt:p.updatedAt}},save:async(h,p)=>{let w=p.map(C=>({userId:C.userId,groupNick:C.nickName,...C.joinType===void 0?{}:{joinType:C.joinType}}));await i.saveGroupMembers({groupId:h,members:w,updatedAt:Date.now()});}},d=i===void 0?void 0:{get:async h=>{let p=await i.getGroupProfile(h);return p===null?null:{value:p,updatedAt:p.updatedAt}},save:async(h,p)=>{await i.saveGroupProfile({...p,updatedAt:Date.now()});}},c=Ot(n,a),y=Ot(t,d),P=Ot(r,s);return {getUserProfile:(h,p)=>c.get(h,p),getGroupProfile:(h,p)=>y.get(h,p),getGroupMemberNames:async(h,p)=>{let w=await P.get(h,p);return w===null?null:o(w)},listGroupMembers:(h,p)=>P.get(h,p),peekUserProfile:h=>c.peek(h),peekGroupMemberNames:async h=>{let p=await P.peek(h);return p===null?null:{value:o(p.value),stale:p.stale}},peekGroupMembers:h=>P.peek(h),peekGroupProfile:h=>y.peek(h),clearCache:()=>{c.clear(),y.clear(),P.clear();}}}var Un=class extends Error{responseCode;operation;constructor(n,t,r){let o=n==="bind"?"\u7ED1\u5B9A":"\u89E3\u7ED1";super(`${o}\u673A\u5668\u4EBA\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="RobotConversationBindError",this.responseCode=t,this.operation=n;}},Fe=class extends Error{constructor(n){super(n),this.name="RobotConversationBindMappingError";}};function wc(e){let n=e.robotId.trim(),t=e.conversationId.trim();if(n==="")throw new Fe("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new Fe("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.groupType!==1&&e.groupType!==2)throw new Fe("\u7ED1\u5B9A\u673A\u5668\u4EBA groupType \u5FC5\u987B\u662F 1 \u6216 2");return {robotId:n,conversationId:t,groupType:e.groupType,...e.clientType===void 0?{}:{clientType:e.clientType}}}async function ni(e,n,t){let r=wc(t),i=await O(e,n==="bind"?"/robot/bind_group":"/robot/un_bind_group",{robot_id:r.robotId,object_id:r.conversationId,relation_type:r.groupType},{responseMode:"strict",method:"POST",...r.clientType===void 0?{}:{headers:{"Client-type":String(r.clientType)}}});if(!i.ok)throw new Un(n,i.code,i.message)}function Cc(e,n){return ni(e,"bind",n)}function Pc(e,n){return ni(e,"unbind",n)}function Ic(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function ae(e,n,t,r){let o=await O(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Y(r,o.code,o.message)}function vc(e){return ae(e.client,"/user_radio/edit",{radio_id:e.channelId,...e.name===void 0?{}:{name:e.name},...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl},...e.description===void 0?{}:{desc:e.description}},"\u4FEE\u6539\u793E\u7FA4\u8D44\u6599")}function Ac(e){return ae(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Sc(e){return ae(e.client,"/user_radio/member/edit",{radio_id:e.channelId,radio_user_id:e.userId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Mc(e){let n=e.userIds.map(t=>({user_id:Ic(t)}));return ae(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function _c(e){return ae(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function xc(e){return ae(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function Rc(e){return ae(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function Ec(e){return ae(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function kc(e){return ae(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function Tc(e){return ae(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,verify_way:e.verifyType,...e.verifyType===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}function Dc(e){return ae(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unspeeking_all:e.muted?"1":"0"},e.muted?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u8A00":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u8A00")}function Uc(e){return ae(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unvisit_other:e.disabled?"1":"0"},e.disabled?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A")}function Oc(e){return ae(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function Bc(e){e.signal?.throwIfAborted(),Nc(e.channelId,"channel");let n=e.index.trim();if(n==="")throw new Error("CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 index \u7F3A\u5931");e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId),e.signal?.throwIfAborted();let t=e.containAnchor??true,r=O$1({userId:e.userId,clientType:e.clientType,pulls:[{channelId:e.channelId,baseIndex:n,direction:0,count:20,contain:t?1:0}]}),o=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:r,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted();let i=R(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let s=i.messages.filter(d=>d.extensions?.historyCursor===n);if(s.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${s.length}\uFF09`)}let a=i.nextBaseIndexes[e.channelId];return {messages:i.messages,hasNewer:(i.messageCounts[e.channelId]??0)===20&&a!==void 0&&a!==n,...a===void 0?{}:{nextCursor:a}}}function Nc(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function Kc(e){let n=Gc(e.indexes),t=f.encode(f.create({sUserId:Bt(e.userId,"user"),lsIndex:n.map(i=>({sChnnId:Bt(i.channelId,"channel"),sIndex:i.readCursor}))})),r=await e.http.postProtobuf({path:"/channel/v1/readIndexes/edit",body:t}),o=g.decode(r);if(o.errcode!==0)throw new Error(`CHANNEL readIndexes/edit \u5931\u8D25\uFF1Aerrcode=${o.errcode}`)}function Gc(e){if(e.length===0)throw new Error("CHANNEL readIndexes/edit \u81F3\u5C11\u9700\u8981\u4E00\u4E2A index");let n=new Set;return e.map(t=>{Bt(t.channelId,"channel");let r=t.readCursor.trim();if(r==="")throw new Error(`CHANNEL readIndexes/edit cursor \u7F3A\u5931\uFF08channelId=${t.channelId}\uFF09`);if(n.has(t.channelId))throw new Error(`CHANNEL readIndexes/edit \u9891\u9053\u91CD\u590D\uFF08channelId=${t.channelId}\uFF09`);return n.add(t.channelId),{channelId:t.channelId,readCursor:r}})}function Bt(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);return t}function ln(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ti(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}async function Lc(e){let n=await O(e,"/friend/black/list",{},{responseMode:"strict",method:"POST"});if(!n.ok)throw new Error(`\u52A0\u8F7D\u9ED1\u540D\u5355\u5931\u8D25\uFF08${n.code}\uFF09\uFF1A${n.message||"unknown error"}`);if(n.data===null||n.data===void 0)return Object.freeze([]);if(!Array.isArray(n.data))throw new Error("\u52A0\u8F7D\u9ED1\u540D\u5355\uFF1A\u54CD\u5E94 data \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(n.data.map(t=>{let r=ti(t),o=ti(r?.user_info);if(r===void 0||o===void 0)throw new Error("\u52A0\u8F7D\u9ED1\u540D\u5355\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_info");let i=ln(r.user_id),a=ln(o.user_id),s=a||i;if(s==="")throw new Error("\u52A0\u8F7D\u9ED1\u540D\u5355\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");if(i!==""&&a!==""&&i!==a)throw new Error("\u52A0\u8F7D\u9ED1\u540D\u5355\uFF1A\u5173\u7CFB\u8BB0\u5F55\u4E0E user_info \u8EAB\u4EFD\u4E0D\u4E00\u81F4");let d=ln(o.nick_name??o.nickname)||s,c=ln(r.remark_name),y=ln(o.head_img_url??o.avatar);return Object.freeze({userId:s,displayName:c||d,nickname:d,...c===""?{}:{remark:c},...y===""?{}:{avatarUrl:y}})}))}async function Hc(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u8BBE\u7F6E\u9ED1\u540D\u5355\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await O(e,"/user/black/set",{friend_user_id:t,status:n.blocked?2:1},{responseMode:"strict",method:"POST"});if(!r.ok)throw new Error(`${n.blocked?"\u52A0\u5165":"\u79FB\u51FA"}\u9ED1\u540D\u5355\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}var On=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u7528\u6237\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="ContactUserSearchError",this.responseCode=n;}},Bn=class extends Error{kind;responseCode;constructor(n,t,r){super(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="ContactFriendshipRequestError",this.kind=n,this.responseCode=t;}},Nt={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},Fc=36875,jc=40113;function Kt(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ge(e){let n=Kt(e);return n===""?void 0:n}function ri(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function $c(e){switch(e){case Nt.HIDDEN_CONTACT:return "hidden-contact";case Nt.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case Nt.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function qc(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await O(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new On(r.code,r.message);let o=ri(r.data);if(o===void 0)return null;let i=Kt(o.user_id??o.userId);if(i==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let a=Kt(o.nick_name??o.nickname??o.name)||i,s=o.friend_status??o.friendStatus,d=s===void 0?void 0:Number(s);if(d!==void 0&&!Number.isInteger(d))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:i,nickname:a,...ge(o.username)===void 0?{}:{username:ge(o.username)},...ge(o.mid)===void 0?{}:{miCallId:ge(o.mid)},...ge(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:ge(o.head_img_url??o.avatar)},...ge(o.per_signature??o.signature)===void 0?{}:{signature:ge(o.per_signature??o.signature)},...d===void 0?{}:{friendStatus:d}}}async function Jc(e,n){let t=n.userId.trim(),r=n.message.trim(),o=n.remark?.trim();if(t===""||r==="")throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1AuserId \u548C message \u4E0D\u80FD\u4E3A\u7A7A");let i=await O(e,"/friend/apply/do",{to_user_id:t,remarks:r,...o===void 0||o===""?{}:{remark_nick_name:o}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!i.ok)throw new Bn($c(i.code),i.code,i.message);let a=ri(i.data),s=Number(a?.status??0);if(s!==0&&s!==1&&s!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${s}`);let d=ge(a?.message??a?.msg??i.message);return {status:s,...d===void 0?{}:{message:d}}}async function Vc(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await O(e,"/friend/del",{friend_user_id:t},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok&&r.code!==jc)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function zc(e,n){let t=n.reporterUserId.trim(),r=n.targetUserId.trim(),o=n.problem.trim();if(t===""||r===""||o==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1AreporterUserId\u3001targetUserId \u548C problem \u4E0D\u80FD\u4E3A\u7A7A");let i=await O(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!i.ok)throw new Y("\u4E3E\u62A5\u8054\u7CFB\u4EBA",i.code,i.message)}function Wc(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Yc(e){let n=e.memberIds.map(t=>({user_id:Wc(t)}));return O(e.client,"/user_radio/create",{name:e.name,secret_key:e.secretKey,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function Qc(e){return O(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function Xc(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Zc(e){let n=e.memberIds.map(t=>({user_id:Xc(t)}));return O(e.client,"/user_group/create",{name:e.name,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function je(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function $e(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function oi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function ed(e){je(e.groupId);let n=await O(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!oi(n.data))throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.groupId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u7FA4\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 groupId");if(!oi(t)||t.group_id!==e.groupId||t.group_type!==2||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=h(r.msg_content);if(o.envelope.convType!==2)throw new Error("board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(o.envelope.receiverId!==e.groupId)throw new Error("board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 groupId \u4E0D\u4E00\u81F4");return {...n,data:{groupId:r.group_id,groupType:2,messageContent:r.msg_content}}}function ii(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function nd(e){$e(e.channelId);let n=await O(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!ii(n.data))throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.channelId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u9891\u9053\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 channelId");if(!ii(t)||t.group_id!==e.channelId||t.group_type!==1||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=h(r.msg_content);if(o.envelope.convType!==3)throw new Error("channel board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(o.envelope.receiverId!==e.channelId)throw new Error("channel board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 channelId \u4E0D\u4E00\u81F4");return {...n,data:{channelId:r.group_id,groupType:1,messageContent:r.msg_content}}}async function td(e,n){let r=(await O(e,"/user_radio/info",{radio_id:n.channelId},{...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}})).data?.secret_key;return typeof r=="string"&&r.trim()!==""?r:null}function rd(e){if(typeof e!="string"||e.length===0)return false;try{let n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return false}}async function od(e){let n=await e("/system/background/list",{target:"core",method:"POST",data:{}});if(n.code!==200)throw new Error(`\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u8BF7\u6C42\u5931\u8D25\uFF1A${n.code}${n.msg?` ${n.msg}`:""}`);if(!Array.isArray(n.data?.lists))throw new Error("\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u54CD\u5E94\u7F3A\u5C11 lists");let t=[],r=new Set;for(let o of n.data.lists){let i=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";i.length===0||o.is_enabled!==1||!rd(o.img_url)||r.has(i)||(r.add(i),t.push({id:i,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function id(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function un(e,n,t,r){let o=await O(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Y(r,o.code,o.message)}function ad(e){let n=e.userIds.map(t=>({user_id:id(t)}));return un(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function sd(e){return un(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function cd(e){return un(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function dd(e){return un(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function ld(e){return un(e.client,"/user_group/edit",{group_id:e.groupId,verify_way:e.verifyWay,...e.verifyWay===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}var ud=new Set([200,32768]);async function pd(e){let n=ea$1({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=fa$1(t);if(!ud.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var pn=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function fd(e,n){if(e===true||e===1||e==="1")return Object.freeze({outcome:"waiting"});if(e==null||e===false||e===0||e==="0")return Object.freeze({outcome:"joined"});throw new pn(n)}async function ai(e,n,t,r){let o=await O(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Y(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new pn(r);return fd(o.data.is_waitting,r)}async function si(e,n,t,r){let o=await O(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Y(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function md(e){return ai(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function gd(e){return si(e.client,"/user_group/enter_by_invite_code",{group_id:e.groupId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u666E\u901A\u7FA4")}function yd(e){return ai(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function hd(e){return si(e.client,"/user_radio/enter_by_invite_code",{radio_id:e.channelId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u793E\u7FA4")}async function bd(e){if(je(e.groupId),e.messageContent.trim()==="")throw new Error("board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=h(e.messageContent);if(n.envelope.convType!==2)throw new Error("board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(n.envelope.receiverId!==e.groupId)throw new Error("board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 groupId \u4E0D\u4E00\u81F4");let t=await O(e.client,"/api/v1/board/board_msg_top",{group_id:e.groupId,group_type:2,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function wd(e){if($e(e.channelId),e.messageContent.trim()==="")throw new Error("channel board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=h(e.messageContent);if(n.envelope.convType!==3)throw new Error("channel board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(n.envelope.receiverId!==e.channelId)throw new Error("channel board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 channelId \u4E0D\u4E00\u81F4");let t=await O(e.client,"/api/v1/board/board_msg_top",{group_id:e.channelId,group_type:1,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("channel board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function Cd(e){let n=ja$1({userId:e.userId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/chat/msg/by_id",body:n});return ka$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps,e.messageIds)}async function Pd(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=ca$1({userId:e.userId,groupId:e.groupId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/msg/by_id",body:n});return da$1(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps,e.messageIds)}async function Id(e){e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let n=T({userId:e.userId,channelId:e.channelId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/channel/v1/msg/by_id",body:n});return U(t,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],diagnostic:{endpoint:"msgById",surface:"msg-by-id",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps,e.messageIds)}var vd=20,ci=10,Gt=30,Ad=100;async function Sd(e){let n=[];for(let t of li(e.channels,vd)){let r=N({userId:e.userId,clientType:e.clientType,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),i={selfId:e.userId,keepRaw:e.keepRaw??true,expectedChannelIds:t.map(s=>s.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType}},a=Q$1(o,i);await di(e,a.sessions.filter(s=>s.channelState==="active"||s.raw?.status===0).map(s=>s.channelId)),n.push(...Q$1(o,{...i,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function Md(e){let n$1=Rd(e.channelBatchSize),t=e.messageCount??Gt,r=Ed(e.maxPagesPerBatch),o=new Map;for(let i of li(e.pulls,n$1)){let a=i.map(c=>({...c})),s=new Map(a.map(c=>[c.channelId,new Set([c.baseIndex])])),d=0;for(;a.length>0;){e.signal?.throwIfAborted(),await e.beforePage?.(),e.signal?.throwIfAborted();let c=e.isChannelCurrent;if(c!==void 0&&(a=a.filter(C=>c(C.channelId))),a.length===0)break;if(d>=r){let C=a.map(({channelId:M,baseIndex:_})=>`${M}@${_}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${C}\uFF09`)}d+=1;let y=O$1({userId:e.userId,clientType:e.clientType,pulls:a.map(C=>({channelId:C.channelId,baseIndex:C.baseIndex,direction:0,count:t,contain:0}))});e.signal?.throwIfAborted();let P=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:y,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted(),await di(e,a.map(C=>C.channelId)),e.signal?.throwIfAborted();let h={selfId:e.userId,keepRaw:e.keepRaw??true,expectedChannelIds:a.map(C=>C.channelId),diagnostic:{endpoint:"offlineMessages",surface:"offline-batch",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},p=e.yieldToEventLoop===void 0?R(P,h,e.decryptDeps):await S(P,h,e.decryptDeps,{yieldToEventLoop:e.yieldToEventLoop,signal:e.signal});e.signal?.throwIfAborted();let w=[];for(let C of a){let M=p.nextBaseIndexes[C.channelId],_=p.messageCounts[C.channelId]??0;if(M===void 0)continue;let D=s.get(C.channelId);if(D.has(M))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${C.channelId}, baseIndex=${M}\uFF09`);_<t||(D.add(M),w.push({channelId:C.channelId,baseIndex:M}));}await e.onPage?.(p.messages,{pulls:a.map(C=>({...C})),nextBaseIndexes:{...p.nextBaseIndexes},messageCounts:{...p.messageCounts}}),e.signal?.throwIfAborted();for(let C of p.messages)o.has(C.id)||o.set(C.id,C);a=w;}}return [...o.values()].sort(n)}async function _d(e$1){e$1.signal?.throwIfAborted();let n=e$1.count??Gt;if(!Number.isInteger(n)||n<=0)throw new Error("channel latest: count \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");e$1.decryptDeps!==void 0&&e$1.prepareKey!==void 0&&await e$1.prepareKey(e$1.channelId);let t=O$1({userId:e$1.userId,clientType:e$1.clientType,pulls:[{channelId:e$1.channelId,baseIndex:"",direction:1,count:n,contain:0}]});e$1.signal?.throwIfAborted();let r=await e$1.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t,...e$1.signal===void 0?{}:{signal:e$1.signal}});e$1.signal?.throwIfAborted();let o={selfId:e$1.userId,keepRaw:e$1.keepRaw??true,expectedChannelIds:[e$1.channelId],diagnostic:{endpoint:"offlineMessages",surface:"history-page",...e$1.operationId===void 0?{}:{operationId:e$1.operationId},clientTypeHeader:e$1.clientType,clientTypeBody:e$1.clientType},onContentDecodeError:e$1.onContentDecodeError,onReaction:e$1.onReaction},i=e$1.yieldToEventLoop===void 0?{...R(r,o,e$1.decryptDeps),firstBaseIndex:e.decode(r).lsMessage[0]?.sIndex}:await S(r,o,e$1.decryptDeps,{yieldToEventLoop:e$1.yieldToEventLoop,signal:e$1.signal}),a=i.batchSize===n,s=i.firstBaseIndex;if(a&&(typeof s!="string"||s.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:i.messages,hasOlder:a,...a?{nextCursor:s}:{}}}async function xd(e){e.signal?.throwIfAborted();let n=e.count??Gt;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=P({userId:e.userId,clientType:e.clientType,channelId:e.channelId,baseIndex:e.baseIndex,count:n,contain:e.contain??0});e.signal?.throwIfAborted();let r=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t,...e.signal===void 0?{}:{signal:e.signal}});return e.signal?.throwIfAborted(),V$1(r,{selfId:e.userId,channelId:e.channelId,requestedBaseIndex:e.baseIndex,requestedCount:n,keepRaw:e.keepRaw??true,diagnostic:{endpoint:"history",surface:"history-page",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}async function di(e,n){if(e.decryptDeps===void 0||e.prepareKeys===void 0)return;let t=[...new Set(n.filter(Boolean))];t.length>0&&await e.prepareKeys(t);}function Rd(e){if(e===void 0)return ci;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,ci)}function Ed(e){if(e===void 0)return Ad;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function li(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function ui(e,n){let t=ga$1({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return ia$1(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function pi(e){return ui("/offline/v1/chat",e)}function fi(e){return ui("/offline/v1/owner_chat",e)}function kd(e){return pi(e).then(n=>(ha$1(n),n.messages))}function Td(e){return fi(e).then(n=>(ha$1(n),n.messages))}function mi(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function Dd(e){let n=X$1({userId:e.userId,clientType:e.clientType,limit:e.limit,deliveredMsgIds:e.deliveredMsgInfos?.map(r=>r.msgId)}),t=await e.http.postProtobuf({path:"/offline/v1/group",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=Z$1(t,{selfId:e.userId}),o=mi(r.messages.map(i=>i.conversationId));o.length>0&&await e.prepareKeys(o);}return Z$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Ud(e){let n=Y$1({userId:e.userId,clientType:e.clientType,size:e.size}),t=await e.http.postProtobuf({path:"/offline/v1/group/session",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=_(t,{selfId:e.userId}),o=mi([...r.unreads.map(i=>i.groupId),...r.messages.map(i=>i.conversationId)]);o.length>0&&await e.prepareKeys(o);}return _(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Od(e){e.signal?.throwIfAborted(),e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=$$1({userId:e.userId,groupId:e.groupId,baseTime:e.baseTime,direct:e.direct,limit:e.limit,clientType:e.clientType});e.signal?.throwIfAborted();let t=await e.http.postProtobuf({path:"/offline/v1/group/history_msg",body:n,...e.signal===void 0?{}:{signal:e.signal}});e.signal?.throwIfAborted();let r={selfId:e.userId,keepRaw:e.keepRaw??true,source:"history",onReaction:e.onReaction};return e.yieldToEventLoop===void 0?aa$1(t,r,e.decryptDeps):ba$1(t,{...r,expectedGroupId:e.groupId},e.decryptDeps,{yieldToEventLoop:e.yieldToEventLoop,signal:e.signal})}async function Bd(e){let n=ra$1({userId:e.userId,clientType:e.clientType,limit:e.limit??100,msgId:String(Date.now()),deliveredMsgIds:e.deliveredMsgIds}),t=await e.http.postProtobuf({path:"/offline/v1/signal",body:n});return sa$1(t)}var Nn=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u673A\u5668\u4EBA\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="RobotDirectoryError",this.responseCode=n;}},de=class extends Error{constructor(n){super(n),this.name="RobotDirectoryMappingError";}};function Lt(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function gi(e){let n=Lt(e);return n===""?void 0:n}function Ht(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Nd(e){if(e===true||e===1||e==="1")return true;if(e===false||e===0||e==="0")return false}function Kd(e){let n=Ht(e);if(n===void 0)throw new de("\u673A\u5668\u4EBA\u76EE\u5F55\u9879\u5FC5\u987B\u662F\u5BF9\u8C61");let t=Lt(n.robot_id??n.robotId);if(t==="")throw new de("\u673A\u5668\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A robot_id");let r=Lt(n.robot_name??n.robotName)||t,o=gi(n.mid??n.botMid??n.bot_mid),i=gi(n.img_url??n.imgUrl),a=Nd(n.bind);return {id:t,displayName:r,...o===void 0?{}:{username:o},...i===void 0?{}:{avatarUrl:i},...a===void 0?{}:{bound:a}}}function Gd(e){if(Array.isArray(e))return e;let n=Ht(e);if(n===void 0)throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 data \u5FC5\u987B\u662F\u5BF9\u8C61\u6216\u6570\u7EC4");let t=n.data??n.list;if(!Array.isArray(t))throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 data.data \u5FC5\u987B\u662F\u6570\u7EC4");return t}function Ld(e){let n=Ht(e);if(n===void 0)return;let t=n.total_count??n.totalCount;if(t===void 0)return;let r=typeof t=="number"?t:Number(t);if(!Number.isSafeInteger(r)||r<0)throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 total_count \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");return r}async function Hd(e,n){if(!Number.isSafeInteger(n.page)||n.page<1)throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n.pageSize)||n.pageSize<1||n.pageSize>100)throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");let t=n.keyword?.trim()??"",r=n.groupId?.trim()??"";if(r===""!=(n.groupType===void 0))throw new de("\u673A\u5668\u4EBA\u76EE\u5F55 groupId \u4E0E groupType \u5FC5\u987B\u540C\u65F6\u63D0\u4F9B\u6216\u540C\u65F6\u7701\u7565");let o=await O(e,"/robot/search_robot",{page:n.page,page_size:n.pageSize,...t===""?{}:{keyword:t},...r===""||n.groupType===void 0?{}:{group_id:r,group_type:n.groupType},...n.boundOnly===true?{search_type:1}:{}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!o.ok)throw new Nn(o.code,o.message);let a=Gd(o.data).map(Kd),s=Ld(o.data),d=s===void 0?a.length<n.pageSize:n.page*n.pageSize>=s;return {items:a,exhausted:d}}var Fd={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting",robot:"/friend/undisturb/set"},jd={direct:"friend_user_id",group:"group_id",channel:"radio_id",robot:"friend_user_id"};async function $d(e){let n=Fd[e.conversationType],t=jd[e.conversationType];if(n===void 0||t===void 0)throw new Error(`\u514D\u6253\u6270\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${e.conversationType}`);let{code:r}=await O(e.client,n,{[t]:e.targetId,is_undisturb:e.muted?"1":"0"},{method:"POST"});if(r!==200)throw new Error(`\u514D\u6253\u6270\u8BBE\u7F6E\u5931\u8D25\uFF1Acode=${r}\uFF08${e.conversationType} ${e.targetId}\uFF09`)}async function qd(e){let n={friend_user_id:e.userId};e.name!==void 0&&(n.nick_name=e.name),e.email!==void 0&&(n.ext_email=JSON.stringify(e.email)),e.phones!==void 0&&(n.ext_mobile=JSON.stringify(e.phones.map(r=>({country_code:r.countryCode,mobile:r.mobile}))));let{code:t}=await O(e.client,"/friend/remarks/update",n,{method:"POST"});if(t!==200)throw new Error(`\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u5931\u8D25\uFF1Acode=${t}\uFF08userId=${e.userId}\uFF09`)}async function Jd(e){let{code:n}=await O(e.client,"/user_group/user/edit",{group_id:e.groupId,nick_name:e.nickname},{method:"POST"});if(n!==200)throw new Error(`\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u5931\u8D25\uFF1Acode=${n}\uFF08groupId=${e.groupId}\uFF09`)}async function Vd(e){je(e.groupId);let n=await O(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function zd(e){$e(e.channelId);let n=await O(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("channel board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function Wd(e){let n={group_id:e.groupId};e.name!==void 0&&(n.name=e.name),e.avatarUrl!==void 0&&(n.head_img_url=e.avatarUrl);let{code:t}=await O(e.client,"/user_group/edit",n,{method:"POST"});if(t!==200)throw new Error(`\u4FEE\u6539\u7FA4\u8D44\u6599\u5931\u8D25\uFF1Acode=${t}\uFF08groupId=${e.groupId}\uFF09`)}var Yd="1970-01-01 08:00:00",Qd="2000",Xd="",Kn=class extends Error{constructor(){super("\u4F1A\u8BDD\u6536\u85CF Core API \u672A\u914D\u7F6E"),this.name="SessionFavoriteProviderUnavailableError";}},Pe=class extends Error{constructor(n){super(n),this.name="SessionFavoriteMappingError";}};function X(e){return typeof e=="string"?e:e==null?"":String(e)}function fn(e,n){let t=X(e).trim();if(t==="")throw new Pe(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Zd(e){let n=typeof e=="number"?e:Number(String(e??"").trim());return n===1?"text":n===2?"image":n===3?"video":n===4?"voice":n===5?"location":n===11?"file":n===28?"mediaAlbum":n===29?"filesAlbum":null}function el(e){return e==="text"?1:e==="image"?2:e==="video"?3:e==="voice"?4:e==="location"?5:e==="mediaAlbum"?28:e==="filesAlbum"?29:11}function nl(e){if(e==="direct")return 0;if(e==="group")return 1;if(e==="channel")return 2;throw new Pe(`favorite conversation type ${e}`)}function Gn(e,n){return n==="text"||n==="location"?X(e.content).trim():n==="file"?X(e.fileName||e.file_name||e.name).trim():n==="mediaAlbum"||n==="filesAlbum"?X(e.caption).trim():""}function tl(e,n){let t=X(e.group_id).trim(),r=X(e.radio_id).trim(),o=Number(X(e.msg_type).trim());if(o===1&&t!=="")return {conversationType:"group",conversationId:t};if(o===2&&r!=="")return {conversationType:"channel",conversationId:r};if(t!=="")return {conversationType:"group",conversationId:t};if(r!=="")return {conversationType:"channel",conversationId:r};if(o===0){let i=X(e.from_id).trim(),a=X(e.to_id).trim(),s=i===n.trim()?a:i;if(s!=="")return {conversationType:"direct",conversationId:s}}return null}function rl(e,n){let t=e.from_user,r=X(t?.nick_name||t?.nickname||t?.name).trim();return r===""?n:r}function ol(e,n){let t=X(e.uu_id).trim(),r=Zd(e.content_type),o=ao(X(e.msg_body),n);if(t===""||r===null||o===null)return null;let i=X(e.from_id).trim();return Object.freeze({collectId:t,msgId:X(e.msg_id).trim(),kind:r,senderId:i,senderName:rl(e,i),avatarUrl:X(e.from_user?.avatar).trim(),createdAt:X(e.create_time||e.update_time||e.msg_time).trim(),text:Gn(o,r),imageUrl:Eb(r,o),fileName:r==="filesAlbum"?Fb(o).map(a=>a.fileName).join(" "):r==="file"?Gn(o,"file"):"",body:r==="filesAlbum"?Gb(o):Object.freeze({...o}),conversation:tl(e,n)})}function il(e){if(e==null)return [];if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null&&"list"in e){let n=e.list;if(n==null)return [];if(Array.isArray(n))return n}throw new Pe("favorite list data \u5FC5\u987B\u662F\u6570\u7EC4\u6216 { list }")}function al(){if(typeof crypto>"u"||typeof crypto.randomUUID!="function")throw new Pe("collect uuid \u4E0D\u53EF\u7528");return crypto.randomUUID()}function sl(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function cl(e){async function n(t,r,o){if(e.coreClient===void 0)throw new Kn;let i=await O(e.coreClient,t,r,{method:"POST",responseMode:"strict",prefix:Xd});if(!i.ok)throw new Y(o,i.code,i.message);return i.data}return {async list(){let t=fn(e.getUserId(),"favorite userId"),r=await n("/api/v1/user/favorite/list",{start_time:Yd,page_size:Qd},"\u4F1A\u8BDD\u6536\u85CF\u5217\u8868");return Object.freeze(il(r).flatMap(o=>{let i=ol(o,t);return i===null?[]:[i]}))},async add(t){let r=fn(e.getUserId(),"favorite userId"),o=(e.createCollectId??al)(),i={msg_id:fn(t.messageId,"favorite msgId"),content_type:el(t.kind),msg_type:nl(t.conversation.conversationType),msg_time:String(t.createdAt),from_id:fn(t.senderId,"favorite fromId"),to_id:fn(t.peerId,"favorite toId"),is_hide:t.hide===true?"1":"0",uu_id:o,msg_body:io(JSON.stringify(t.plainBody),r)};return t.conversation.conversationType==="group"&&(i.group_id=t.conversation.conversationId),t.conversation.conversationType==="channel"&&(i.radio_id=t.conversation.conversationId),await n("/api/v1/user/favorite/add",i,"\u6DFB\u52A0\u4F1A\u8BDD\u6536\u85CF"),sl({collectId:o,msgId:t.messageId.trim(),kind:t.kind,senderId:t.senderId.trim(),senderName:t.senderId.trim(),avatarUrl:"",createdAt:String(t.createdAt),text:Gn(t.plainBody,t.kind),imageUrl:Eb(t.kind,t.plainBody),fileName:t.kind==="filesAlbum"?Fb(t.plainBody).map(a=>a.fileName).join(" "):t.kind==="file"?Gn(t.plainBody,"file"):"",body:t.kind==="filesAlbum"?Gb(t.plainBody):t.plainBody,conversation:t.conversation})},async delete(t){let r=[...new Set(t.map(o=>o.trim()).filter(o=>o!==""))];if(r.length===0)throw new Pe("favorite ids \u4E0D\u80FD\u4E3A\u7A7A");await n("/api/v1/user/favorite/del",{ids:r.join("|")},"\u5220\u9664\u4F1A\u8BDD\u6536\u85CF");}}}async function yi(e,n){let t=Q__default.md.md5.create();for(let r=0;r<e.size;r+=1024*1024){n?.throwIfAborted();let o=new Uint8Array(await e.slice(r,r+1024*1024).arrayBuffer());n?.throwIfAborted();for(let i=0;i<o.length;i+=8192)t.update(String.fromCharCode(...o.subarray(i,i+8192)));}return n?.throwIfAborted(),t.digest().toHex()}var hi="image/jpeg";function Ft(e,n){return e.type!==""||n===void 0||n===""?e:new Blob([e],{type:n})}function ll(e){let n=0;return {fileMd5:yi,async imageDimensions(t,r,o){let i=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Ft(t,r),includePoster:false},o);return {width:i.width,height:i.height}},async imageThumbnail(t,r,o){let i=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Ft(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality}},o);if(i.posterData===void 0)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(i.posterData),width:i.width,height:i.height,mimeType:hi}},async videoPoster(t,r,o){let i=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Ft(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality},...r?.atTime===void 0?{}:{atTime:r.atTime}},o);if(i.posterData===void 0)throw new Error("\u89C6\u9891\u5C01\u9762\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(i.posterData),width:i.width,height:i.height,duration:Math.round(i.duration??0),mimeType:hi}}}}function ul(e){return e>=192&&e<=207&&e!==196&&e!==200&&e!==204}function pl(e){return e!==void 0&&e>=5&&e<=8}function fl(e,n,t){return pl(t)?{width:n,height:e}:{width:e,height:n}}function ml(e,n,t){if(n+6>t)return;for(let[d,c]of [69,120,105,102,0,0].entries())if(e.getUint8(n+d)!==c)return;let r=n+6;if(r+8>t)return;let o=e.getUint16(r,false);if(o!==19789&&o!==18761)return;let i=o===18761;if(e.getUint16(r+2,i)!==42)return;let a=r+e.getUint32(r+4,i);if(a+2>t)return;let s=e.getUint16(a,i);for(let d=0;d<s;d++){let c=a+2+d*12;if(c+12>t)return;if(e.getUint16(c,i)===274)return e.getUint16(c+8,i)}}function gl(e,n){let t,r=2;for(;r+4<=n;){if(e.getUint8(r)!==255)return;let o=e.getUint8(r+1);if(o===255){r+=1;continue}if(o===218||o===217)return;let i=e.getUint16(r+2,false);if(i<2)return;let a=r+4,s=r+2+i;if(s>n)return;if(ul(o)){if(a+5>n)return;let d=e.getUint16(a+1,false),c=e.getUint16(a+3,false);return c<=0||d<=0?void 0:fl(c,d,t)}o===225&&t===void 0&&(t=ml(e,a,s)),r=s;}}function yl(e,n){if(n<24)return;let t=e.getUint32(16,false),r=e.getUint32(20,false);return t>0&&r>0?{width:t,height:r}:void 0}function hl(e,n){if(n<10)return;let t=e.getUint16(6,true),r=e.getUint16(8,true);return t>0&&r>0?{width:t,height:r}:void 0}function bl(e,n){if(n<30)return;let t=e.getUint32(12,false);if(t===1448097824){let r=e.getUint16(26,true)&16383,o=e.getUint16(28,true)&16383;return r>0&&o>0?{width:r,height:o}:void 0}if(t===1448097868){let r=e.getUint32(21,true),o=(r&16383)+1,i=(r>>>14&16383)+1;return {width:o,height:i}}if(t===1448097880){let r=(e.getUint16(24,true)|e.getUint8(26)<<16)+1,o=(e.getUint16(27,true)|e.getUint8(29)<<16)+1;return {width:r,height:o}}}function Ln(e,n,t){return n<t.length?false:t.every((r,o)=>e.getUint8(o)===r)}async function bi(e){if(e.size===0)return;let n=new Uint8Array(await e.slice(0,Math.min(e.size,262144)).arrayBuffer()),t=new DataView(n.buffer,n.byteOffset,n.byteLength),r=n.byteLength;if(Ln(t,r,[255,216,255]))return gl(t,r);if(Ln(t,r,[137,80,78,71,13,10,26,10]))return yl(t,r);if(Ln(t,r,[71,73,70,56]))return hl(t,r);if(Ln(t,r,[82,73,70,70])&&r>=12&&t.getUint32(8,false)===1464156752)return bl(t,r)}var Ai=320,wl=12*1024,Si=20*1024,Cl=.9,Pl=.72,Il=320,vl=10*1024,Al=16*1024,Sl=.84,Ml=.68,Mi=15e3,_l=1;function xl(){if(typeof navigator>"u")return 2;let e=navigator.userAgent;if(/iPad|iPhone|iPod/.test(e)||/Macintosh/.test(e)&&(navigator.maxTouchPoints??0)>1)return 1;let t=navigator.deviceMemory;return t!==void 0&&t<=2?1:2}function wi(e){let n={active:0,disposed:false},t=[];function r(){for(;!n.disposed&&n.active<e&&t.length>0;){let o=t.shift();if(o.signal?.aborted){o.reject(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));continue}o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),n.active+=1;let i=false;o.resolve(()=>{i||(i=true,n.active-=1,r());});}}return {acquire(o){return n.disposed?Promise.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E")):new Promise((i,a)=>{let s={resolve:i,reject:a,...o===void 0?{}:{signal:o}};o!==void 0&&(s.onAbort=()=>{let d=t.indexOf(s);d>=0&&t.splice(d,1),a(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",s.onAbort,{once:true})),t.push(s),r();})},dispose(){n.disposed=true;for(let o of t.splice(0))o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),o.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E"));}}}function mn(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}var Ci=16777216,Rl=4096;function El(e,n){let t=Math.min(1,Rl/Math.max(e,n)),r=Math.max(1,Math.round(e*t)),o=Math.max(1,Math.round(n*t)),i=r*o;if(i>Ci){let a=Math.sqrt(Ci/i);r=Math.max(1,Math.floor(r*a)),o=Math.max(1,Math.floor(o*a));}return {width:r,height:o}}function $t(e,n,t){let r=Math.min(1,t/Math.max(e,n));return El(Math.max(1,Math.round(e*r)),Math.max(1,Math.round(n*r)))}async function Pi(e,n,t,r,o){mn(o);let i=document.createElement("canvas");i.width=n,i.height=t;let a=i.getContext("2d");if(a===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");a.drawImage(e,0,0,n,t);let s=await new Promise(d=>i.toBlob(d,"image/jpeg",r));if(mn(o),s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await s.arrayBuffer()}function jt(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function Ii(e,n){if(!Number.isFinite(e)||e<=0||e>1)throw new RangeError(`${n}\u5FC5\u987B\u5927\u4E8E 0 \u4E14\u4E0D\u8D85\u8FC7 1`)}async function qt(e,n,t,r,o){let i=r.kind==="video",a=i?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",s=r.maxSize??(i?Il:Ai),d=r.targetBytes??(i?vl:wl),c=r.maxBytes??(i?Al:Si),y=r.quality??(i?Sl:Cl),P=r.minQuality??(i?Ml:Pl);if(jt(s,`${a}\u6700\u5927\u8FB9\u957F`),jt(d,`${a}\u76EE\u6807\u5B57\u8282\u6570`),jt(c,`${a}\u6700\u5927\u5B57\u8282\u6570`),Ii(y,`${a}\u521D\u59CB\u8D28\u91CF`),Ii(P,`${a}\u6700\u4F4E\u8D28\u91CF`),d>c)throw new RangeError(`${a}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(P>y)throw new RangeError(`${a}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let h=$t(n,t,s),p=Math.min(200,Math.max(h.width,h.height)),w,C=[...new Set([y,Math.max(P,y-.12),P])];for(let _ of C){let D=await Pi(e,h.width,h.height,_,o);if((w===void 0||D.byteLength<w.byteLength)&&(w=D),D.byteLength<=d)return D}let M=Math.max(h.width,h.height);if(M>p&&w!==void 0){let _=Math.sqrt(d/w.byteLength),D=Math.max(p,Math.floor(M*Math.min(.9,Math.max(.5,_))));h=$t(n,t,D);for(let E of [y,P]){let A=await Pi(e,h.width,h.height,E,o);if(A.byteLength<w.byteLength&&(w=A),A.byteLength<=d)return A}}if(w!==void 0&&w.byteLength<=c)return w;throw new Error(`${a}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${c} \u5B57\u8282\u786C\u4E0A\u9650`)}function vi(e,n,t){return new Promise((r,o)=>{let i,a,s,d,c=()=>{i!==void 0&&clearTimeout(i),e.removeEventListener(n,a),e.removeEventListener("error",s),t?.removeEventListener("abort",d);};a=()=>{c(),r();},s=()=>{c(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},d=()=>{c(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},i=setTimeout(()=>{c(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},Mi),e.addEventListener(n,a,{once:true}),e.addEventListener("error",s,{once:true}),t?.addEventListener("abort",d,{once:true});})}async function kl(e,n){mn(n);let t=e.maxSize??Ai,r=e.maxBytes??Si,o=await bi(e.file);mn(n);function i(y,P){return e.file.type==="image/jpeg"&&e.file.size<=r&&Math.max(y,P)<=t}if(o!==void 0){if(e.includePoster===false)return o;if(i(o.width,o.height))return {...o,posterData:await e.file.arrayBuffer()}}let a=o===void 0?void 0:$t(o.width,o.height,t),s;try{s=a===void 0?await createImageBitmap(e.file):await createImageBitmap(e.file,{resizeWidth:a.width,resizeHeight:a.height,resizeQuality:"high"});}catch(y){if(n?.aborted)throw y}if(s!==void 0)try{mn(n);let y=o??{width:s.width,height:s.height};return e.includePoster===!1?y:o===void 0&&i(s.width,s.height)?{...y,posterData:await e.file.arrayBuffer()}:{...y,posterData:await qt(s,s.width,s.height,e,n)}}finally{s.close();}let d=URL.createObjectURL(e.file),c=new Image;try{await new Promise((P,h)=>{let p,w,C=()=>{p!==void 0&&clearTimeout(p),c.onload=null,c.onerror=null,n?.removeEventListener("abort",w);};w=()=>{C(),h(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},c.onload=()=>{C(),P();},c.onerror=()=>{C(),h(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},p=setTimeout(()=>{C(),h(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},Mi),n?.addEventListener("abort",w,{once:!0}),c.src=d;});let y=o??{width:c.naturalWidth,height:c.naturalHeight};return e.includePoster===!1?y:i(c.naturalWidth,c.naturalHeight)?{...y,posterData:await e.file.arrayBuffer()}:{...y,posterData:await qt(c,c.naturalWidth,c.naturalHeight,e,n)}}finally{c.removeAttribute("src"),URL.revokeObjectURL(d);}}async function Tl(e,n){let t=URL.createObjectURL(e.file),r=document.createElement("video");r.muted=true,r.preload="metadata",r.playsInline=true;try{r.src=t,r.load(),await vi(r,"loadeddata",n);let o=r.videoWidth,i=r.videoHeight;if(o<=0||i<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let a=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,s=e.atTime===void 0?a===void 0?0:Math.min(1,a/2):Math.max(0,Math.min(e.atTime,a??e.atTime));s>0&&(r.currentTime=s,await vi(r,"seeked",n));let d=a===void 0?void 0:a,c;try{c=await qt(r,o,i,e,n);}catch(y){if(n?.aborted||y instanceof RangeError)throw y}return {width:o,height:i,...d===void 0?{}:{duration:d},...c===void 0?{}:{posterData:c}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function Dl(e={}){let n=e.maxConcurrency??xl();if(!Number.isInteger(n)||n<1||n>4)throw new RangeError("\u5A92\u4F53\u9884\u89C8\u5E76\u53D1\u6570\u5FC5\u987B\u662F 1-4 \u7684\u6574\u6570");let t=wi(n),r=wi(_l),o=false;return {async prepare(i,a){if(o)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=i.kind==="video",d=await(s?r:t).acquire(a);try{return s?await Tl(i,a):await kl(i,a)}finally{d();}},dispose(){o||(o=true,t.dispose(),r.dispose());}}}function Hn(e=6){if(!Number.isSafeInteger(e)||e<1)throw new RangeError("\u5A92\u4F53\u8BF7\u6C42\u5E76\u53D1\u4E0A\u9650\u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let n=0,t=[];function r(){for(;n<e&&t.length>0;){let o=0,i=t[0].getPriority?.()??0;for(let s=1;s<t.length;s+=1){let d=t[s].getPriority?.()??0;d>i&&(o=s,i=d);}let a=t.splice(o,1)[0];if(a.signal?.removeEventListener("abort",a.cancel),a.signal?.aborted){a.cancel();continue}n+=1,a.start();}}return async function(i,a,s){if(i?.aborted)throw new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError");await new Promise((d,c)=>{let y={signal:i,getPriority:s,start:d,cancel:()=>{let P=t.indexOf(y);P>=0&&t.splice(P,1),c(new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError"));}};i?.addEventListener("abort",y.cancel,{once:true}),t.push(y),r();});try{if(i?.aborted)throw new DOMException("\u5A92\u4F53\u4F20\u8F93\u5DF2\u53D6\u6D88","AbortError");return await a()}finally{n-=1,r();}}}var gn=16*1024*1024,yn=3,Jt=3,Fn=6,Ul=5*1024**3,jn=1e4;function $n(e,n){if(!Number.isSafeInteger(e)||e<0)throw new K("upload-source-invalid","\u5A92\u4F53\u4E0A\u4F20\u5927\u5C0F\u5FC5\u987B\u4E3A\u975E\u8D1F\u5B89\u5168\u6574\u6570\u5B57\u8282\u6570");let t=n&&e>gn,r=t?Math.ceil(e/gn):1;if(!t&&e>Ul)throw new K("upload-size-exceeded","\u5355\u6B21 PUT \u6700\u591A\u652F\u6301 5 GiB\uFF1B\u66F4\u5927\u5BF9\u8C61\u9700\u8981\u663E\u5F0F\u542F\u7528\u5E76\u914D\u7F6E\u5206\u7247\u4E0A\u4F20");if(r>jn)throw new K("upload-size-exceeded","\u5F53\u524D 16 MiB \u5206\u7247\u7B56\u7565\u6700\u591A\u652F\u6301 10,000 \u7247\uFF08156.25 GiB\uFF09");return {multipart:t,partSize:gn,partCount:r}}function Ol(e,n,t,r){let o=/^bytes (\d+)-(\d+)\/(\d+)$/.exec(e.headers.get("content-range")??""),i=e.headers.get("etag")??"",a=e.headers.get("content-length"),s=Number(o?.[1]),d=Number(o?.[2]),c=Number(o?.[3]);if(e.status!==206||o===null||![s,d,c].every(Number.isSafeInteger)||c<=0||s!==n||d!==Math.min(t,c-1)||d<s||!/^"[\x21\x23-\x7E\x80-\xFF]*"$/.test(i)||a!==null&&(!/^\d+$/.test(a)||Number(a)!==d-s+1)||e.headers.get("content-encoding")!==null&&e.headers.get("content-encoding")!=="identity")throw new K("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u54CD\u5E94\u65E0\u6548\uFF1A\u9700\u8981 206\u3001\u6B63\u786E Content-Range\u3001\u5F3A ETag \u548C\u672A\u538B\u7F29\u5B57\u8282\uFF1B\u8BF7\u68C0\u67E5\u4E0B\u8F7D\u57DF\u540D\u7684 CORS ExposeHeaders");if(r!==void 0&&(c!==r.total||i!==r.etag))throw new K("download-object-changed","\u5206\u6BB5\u4E0B\u8F7D\u671F\u95F4\u6587\u4EF6\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u4E0B\u8F7D");return {end:d,total:c,etag:i}}function _i(e=true,n,t=gn){if(!Number.isSafeInteger(t)||t<=0)throw new RangeError("\u4E0B\u8F7D\u5206\u6BB5\u5927\u5C0F\u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let r=Hn(Fn),o=new WeakMap;async function i(s,d){if(!s.ok)throw new K("download-range-failed",`\u5A92\u4F53\u4E0B\u8F7D\u5931\u8D25\uFF1AHTTP ${s.status}`);return d.onProgress===void 0||s.body===null?d.preferBlob===true?await s.blob():new Uint8Array(await s.arrayBuffer()):Nl(s,d.onProgress,d.expectedBytes,d.preferBlob===true)}async function a(s){let d=s.resume?.transport,c=typeof d=="object"&&d!==null?o.get(d):void 0;if(s.resume!==void 0&&(c===void 0||c.url!==s.url))throw s.onResumeInvalidated?.(),new K("download-range-invalid","\u4E0B\u8F7D\u65AD\u70B9\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D44\u6E90\u6216\u4F20\u8F93\u5B9E\u4F8B\uFF0C\u8BF7\u91CD\u65B0\u4E0B\u8F7D");let y=new AbortController,P=()=>y.abort(s.signal?.reason);s.signal?.aborted?P():s.signal?.addEventListener("abort",P,{once:true});let h=y.signal,p=c===void 0?[]:[...c.blobs],w=p.reduce((u,m)=>u+(m?.size??0),0),C=c?.object,M=c?.mimeType??"",_=0,D,E=false,A=false,T=u=>{!A&&u instanceof K&&(u.code==="download-range-invalid"||u.code==="download-object-changed")&&(A=true,D=u),E||(E=true,D=u,y.abort());};function B(){if(s.onResumable===void 0||C===void 0||w===0)return;let u=Object.freeze({});o.set(u,Object.freeze({url:s.url,object:Object.freeze({...C}),mimeType:M,blobs:Object.freeze([...p])}));let m=Object.freeze({bytesDownloaded:w,bytesTotal:C.total,transport:u});s.onResumable(m);}function l(){let u=C.total;s.onProgress?.({percent:Math.min(99,Math.round(w/u*100)),bytesTransferred:w,bytesTotal:u});}function f(u){return C!==void 0&&p[u]?.size===Math.min(t,C.total-u*t)}async function g(u,m,v){let S=u.body?.getReader();if(S===void 0)throw new K("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u6CA1\u6709\u54CD\u5E94\u5B57\u8282\u6D41");let x=()=>{S.cancel().catch(()=>{});};h.addEventListener("abort",x,{once:true});let I=0;try{for(;;){if(h.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");let R=await S.read();if(h.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");if(R.done)break;if(I+=R.value.byteLength,I>v)throw new K("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u5B57\u8282\u6570\u8D85\u8FC7 Content-Range");let k=p[m];p[m]=new Blob(k===void 0?[R.value]:[k,R.value]),w+=R.value.byteLength,B(),l();}if(I!==v)throw new K("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u5B57\u8282\u6570\u4E0E Content-Range \u4E0D\u4E00\u81F4");l();}finally{h.removeEventListener("abort",x),await S.cancel().catch(()=>{}),S.releaseLock();}}async function b(u,m=false){let v=m?0:u*t+(p[u]?.size??0),S=m?0:C===void 0?v+t-1:Math.min((u+1)*t-1,C.total-1);return r(h,async()=>{let x=await fetch(s.url,{signal:h,cache:"no-store",headers:{Range:`bytes=${v}-${S}`}});if(c===void 0&&C===void 0&&u===0&&x.status===200)return n?.record("info","sdk","media","download-range-unavailable",()=>({data:{reason:"server-returned-full-response"}})),p[0]=await i(x,{...s,preferBlob:true}),"single";if(x.status===429||x.status>=500)throw await x.body?.cancel().catch(()=>{}),new K("download-range-failed",`\u5A92\u4F53\u4E0B\u8F7D\u5931\u8D25\uFF1AHTTP ${x.status}`);let I;try{I=Ol(x,v,S,C);}catch(R){throw await x.body?.cancel().catch(()=>{}),R}if(C===void 0&&(C=I,M=x.headers.get("content-type")??"",n?.record("debug","sdk","media","download-range-started",()=>({data:{bytesTotal:I.total,partSizeBytes:t,concurrency:Jt}}))),m){if((await x.arrayBuffer()).byteLength!==1)throw new K("download-range-invalid","\u4E0B\u8F7D\u5BF9\u8C61\u6821\u9A8C\u54CD\u5E94\u957F\u5EA6\u65E0\u6548")}else await g(x,u,I.end-v+1);return "range"},s.getPriority)}try{if(C!==void 0)for(;_<Math.ceil(C.total/t)&&f(_);)_+=1;let u=C!==void 0&&_===Math.ceil(C.total/t),m=await b(_++,u);if(m==="range"){let S=Math.ceil(C.total/t),x=Array.from({length:Math.min(Jt,Math.max(0,S-_))},async()=>{try{for(;!h.aborted&&_<S;){let I=_++;f(I)||await b(I);}}catch(I){T(I);}});if(await Promise.allSettled(x),E)throw D}if(h.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");let v=[];if(m==="range")for(let S=0;S<Math.ceil(C.total/t);S+=1){if(!f(S))throw new K("download-range-invalid","\u4E0B\u8F7D\u4ECD\u7F3A\u5C11\u5206\u6BB5\uFF0C\u4E0D\u80FD\u4EA4\u4ED8\u5B8C\u6574\u6587\u4EF6");v.push(p[S]);}return m==="single"?p[0]:new Blob(v,{type:M})}catch(u){throw y.abort(),A||u instanceof K&&(u.code==="download-range-invalid"||u.code==="download-object-changed")?s.onResumeInvalidated?.():B(),n?.record("warn","sdk","media","download-range-failed",()=>({data:{code:u instanceof K?u.code:"download-failed"}})),u}finally{s.signal?.removeEventListener("abort",P);}}return async function(d){if(d.resume!==void 0&&!e)throw d.onResumeInvalidated?.(),new K("download-range-invalid","\u5F53\u524D\u4E0B\u8F7D\u5668\u672A\u5F00\u542F\u65AD\u70B9\u4E0B\u8F7D\uFF0C\u8BF7\u91CD\u65B0\u4E0B\u8F7D");if(e&&(d.resume!==void 0||d.onResumable!==void 0||d.preferBlob===true&&Number.isFinite(d.expectedBytes)&&d.expectedBytes>t)){let c=await a(d);return d.preferBlob===true?c:new Uint8Array(await c.arrayBuffer())}return r(d.signal,async()=>{if(d.onProgress!==void 0&&typeof XMLHttpRequest<"u")return Bl(d);let c=await fetch(d.url,d.signal===void 0?{}:{signal:d.signal});return i(c,d)},d.getPriority)}}function Bl(e){let n=e.preferBlob===true;return new Promise((t,r)=>{let o=new XMLHttpRequest,i=false,a=()=>{},s=()=>{e.signal?.removeEventListener("abort",a),o.onprogress=null,o.onload=null,o.onerror=null,o.onabort=null;},d=c=>{i||(i=true,s(),c());};if(a=()=>{o.abort(),d(()=>r(new DOMException("media download canceled","AbortError")));},o.open("GET",e.url,true),o.responseType=n?"blob":"arraybuffer",o.onprogress=c=>{let y=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,P=c.lengthComputable&&c.total>0?c.total:y,h=P>0?Math.min(99,Math.round(c.loaded/P*100)):0;e.onProgress?.({percent:h,bytesTransferred:c.loaded,bytesTotal:P});},o.onload=()=>{if(o.status<200||o.status>=300){d(()=>r(new Error(`media download \u5931\u8D25\uFF1AHTTP ${o.status}`)));return}let c=o.response;if(n){if(!(typeof Blob<"u"&&c instanceof Blob)){d(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE Blob")));return}d(()=>t(c));return}if(!(c instanceof ArrayBuffer)){d(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}d(()=>t(new Uint8Array(c)));},o.onerror=()=>d(()=>r(new Error("media download \u5931\u8D25\uFF1Anetwork"))),o.onabort=()=>d(()=>r(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){a();return}e.signal?.addEventListener("abort",a,{once:true}),o.send();})}async function Nl(e,n,t,r=false){let o=Number(e.headers.get("content-length")??0),i=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,a=Number.isFinite(o)&&o>0?o:i,s=0,d=e.body.pipeThrough(new TransformStream({transform(y,P){s+=y.byteLength;let h=a>0?Math.min(99,Math.round(s/a*100)):0;n({percent:h,bytesTransferred:s,bytesTotal:a}),P.enqueue(y);}})),c=new Response(d,{headers:e.headers});return r?await c.blob():new Uint8Array(await c.arrayBuffer())}var xi=async(e,n)=>{if(e?.aborted)throw new DOMException("media upload canceled","AbortError");return await n()},Vt="is missing ETag in UploadPart response";function zt(e){if(typeof e!="object"||e===null)return false;let n=e;return n.name==="NoSuchUpload"||n.Code==="NoSuchUpload"}function Kl(e,n,t){return e instanceof Uint8Array?e.subarray(n,t):e.slice(n,t)}async function Ri(e,n,t){return e.transformPart===void 0?n:await e.transformPart(n instanceof Blob?n:new Blob([n]),t)}function Ei(e,n){let t=new Map,r=n,o=n;function i(){if(e.onProgress===void 0)return;let a=r;for(let c of t.values())a+=c;o=Math.max(o,a);let s=e.sourceBytes,d=s>0?Math.min(99,Math.round(o/s*100)):0;e.onProgress({percent:d,bytesTransferred:o,bytesTotal:s,phase:s>0&&o>=s?"finalizing":"transferring"});}return {trackPart(a,s){t.set(a,s),i();},completePart(a,s){t.delete(a),r+=s,i();},report:i}}function ki(e,n){let t=(o,i)=>{if(i.query?.uploadId!==void 0&&i.query.partNumber===void 0)return;let a=i.query?.partNumber,s=a===void 0?0:Number(a);Number.isFinite(s)&&n.trackPart(s,o.loaded);},r=e;return r.on("xhr.upload.progress",t),()=>{r.off?.("xhr.upload.progress",t),r.removeListener?.("xhr.upload.progress",t);}}async function Ti(e,n,t=xi){let r=Ei(n,0),o=ki(e.handler,r);try{await t(n.signal,async()=>{let i=await Ri(n,n.data,1);if(n.signal?.aborted)throw new DOMException("media upload canceled","AbortError");await e.client.send(new e.commands.PutObjectCommand({Bucket:e.bucket,Key:e.key,Body:i,...e.mimeType!==void 0&&e.mimeType!==""?{ContentType:e.mimeType}:{}}),n.signal===void 0?{}:{abortSignal:n.signal});});}finally{o();}}function Wt(e,n,t,r){if(e!==void 0&&!(e.bucket!==n.bucket||e.key!==n.key)&&!(e.partSize!==r||e.sourceBytes!==t)&&e.uploadId!=="")return e.parts}async function Yt(e){let{target:n,content:t,partSize:r,queueSize:o,runUpload:i=xi}=e;if(t.signal?.aborted===true)throw new DOMException("media upload canceled","AbortError");let a=Math.max(1,Math.ceil(t.sourceBytes/r));if(a>jn)throw new Error(`media upload: \u5206\u7247\u6570 ${a} \u8D85\u8FC7 S3 \u4E0A\u9650 ${jn}\uFF0C\u9700\u8981\u653E\u5927\u5206\u7247\u5927\u5C0F`);let s=Wt(e.resume,n,t.sourceBytes,r),d=new Map;if(s!==void 0)for(let E of s)d.set(E.partNumber,E);let c=s===void 0?"":e.resume.uploadId;if(c===""){let E=await n.client.send(new n.commands.CreateMultipartUploadCommand({Bucket:n.bucket,Key:n.key,...n.mimeType!==void 0&&n.mimeType!==""?{ContentType:n.mimeType}:{}}));if(E.UploadId===void 0||E.UploadId==="")throw new Error("media upload: CreateMultipartUpload \u672A\u8FD4\u56DE UploadId");c=E.UploadId,d.clear();}let y=E=>Math.min(r,t.sourceBytes-(E-1)*r),P=0;for(let E of d.keys())P+=y(E);let h=Ei(t,P),p=ki(n.handler,h),w=()=>({bucket:n.bucket,key:n.key,uploadId:c,partSize:r,sourceBytes:t.sourceBytes,parts:[...d.values()].sort((E,A)=>E.partNumber-A.partNumber)});e.onResumable?.(w()),h.report();let C=new AbortController,M=()=>C.abort();t.signal?.addEventListener("abort",M,{once:true}),t.signal?.aborted&&M();let _=1;async function D(){for(;;){if(C.signal.aborted)return;let E=_;if(_+=1,E>a)return;if(d.has(E))continue;let A=(E-1)*r,T=Math.min(A+r,t.sourceBytes),B=await i(C.signal,async()=>{let l=await Ri(t,Kl(t.data,A,T),E);if(C.signal.aborted)throw new DOMException("media upload canceled","AbortError");return await n.client.send(new n.commands.UploadPartCommand({Bucket:n.bucket,Key:n.key,UploadId:c,PartNumber:E,Body:l}),{abortSignal:C.signal})});if(B.ETag===void 0||B.ETag==="")throw new Error(`media upload: Part ${E} ${Vt}`);d.set(E,{partNumber:E,etag:B.ETag}),h.completePart(E,T-A),e.onResumable?.(w());}}try{let E;if(await Promise.allSettled(Array.from({length:Math.min(yn,a,Math.max(1,o))},async()=>{try{await D();}catch(A){let T=A instanceof Error&&A.name==="AbortError";(E===void 0||!T&&De(E.cause)!==void 0&&De(A)===void 0)&&(E={cause:A}),M();}})),E!==void 0)throw E.cause;if(t.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(await n.client.send(new n.commands.CompleteMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:c,MultipartUpload:{Parts:[...d.values()].sort((A,T)=>A.partNumber-T.partNumber).map(A=>({PartNumber:A.partNumber,ETag:A.etag}))}}),t.signal===void 0?{}:{abortSignal:t.signal}),e.onCompleted?.(),t.signal?.aborted)throw new DOMException("media upload canceled","AbortError")}finally{t.signal?.removeEventListener("abort",M),p();}}async function hn(e,n){try{await e.client.send(new e.commands.AbortMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:n.uploadId}));}catch(t){if(!zt(t))throw t}}var Gl=3e4;function Di(e,n){e.handle=async(t,r={})=>{let o=new n({}),i=r.abortSignal,a=new AbortController,s,d=false,c,y=0,P=0,h=()=>{clearTimeout(s),s=setTimeout(()=>{d=true,a.abort();},Gl);},p=()=>a.abort(i?.reason),w=_=>{_.loaded>y&&(y=_.loaded,h()),e.emit("xhr.upload.progress",_,t);},C=_=>{_.loaded>P&&(P=_.loaded,h()),e.emit("xhr.progress",_,t);},M=()=>{c?.readyState===2&&h();};o.on("before.xhr.send",_=>{c=_,c.addEventListener("readystatechange",M),h();}),o.on("xhr.upload.progress",w),o.on("xhr.progress",C),i?.addEventListener("abort",p,{once:true}),i?.aborted&&p();try{let _=await o.handle(t,{...r,abortSignal:a.signal,requestTimeout:0});if(d)throw new K("upload-timeout");if(a.signal.aborted)throw new DOMException("Request aborted","AbortError");if(_.response.statusCode===0)throw new Error("XHR_HTTP_HANDLER_ERROR: Network request failed before receiving an HTTP response");return _}catch(_){throw d?new K("upload-timeout","media upload: \u7F51\u7EDC\u8FDE\u7EED 30 \u79D2\u6CA1\u6709\u63A8\u8FDB",{cause:_}):_}finally{clearTimeout(s),i?.removeEventListener("abort",p),c?.removeEventListener("readystatechange",M),o.removeAllListeners(),o.destroy();}};}function Ll(e){if(e instanceof Uint8Array)return e.byteLength;if(typeof Blob<"u"&&e instanceof Blob)return e.size}var Ui="\u5206\u7247\u4E0A\u4F20\u8981\u6C42\u8BE5 bucket \u7684 CORS \u653E\u884C POST\uFF08Create/CompleteMultipartUpload\uFF09\u3001DELETE\uFF08AbortMultipartUpload\uFF09\u5E76 ExposeHeaders: ETag";function Hl(e){return e instanceof Error&&e.message.includes(Vt)}function Fl(e,n,t){return t!==void 0?new K("multipart-abort-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\u540E\u7684 AbortMultipartUpload \u6E05\u7406\u672A\u6210\u529F\uFF0C\u5DF2\u4E0A\u4F20\u5206\u7247\u53EF\u80FD\u6B8B\u7559\u5728 bucket \u4E2D\u5E76\u7EE7\u7EED\u8BA1\u8D39\uFF08\u5EFA\u8BAE\u6876\u4FA7\u914D\u7F6E AbortIncompleteMultipartUpload \u751F\u547D\u5468\u671F\u89C4\u5219\uFF09\uFF1B${Ui}`,{cause:t}):e instanceof K?e:Hl(e)?new K("multipart-etag-missing","media upload: \u5206\u7247\u54CD\u5E94\u8BFB\u4E0D\u5230 ETag\uFF0C\u8FD9\u662F bucket CORS \u7F3A\u5C11 ExposeHeaders: ETag \u7684\u914D\u7F6E\u95EE\u9898\uFF0C\u4E0D\u662F\u7F51\u7EDC\u95EE\u9898",{cause:e}):n&&!(e instanceof Error&&e.name==="AbortError")?new K("multipart-upload-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\uFF1B${Ui}`,{cause:e}):e}var jl=new Set(["upload-source-invalid","upload-resume-unavailable","multipart-etag-missing","multipart-abort-failed"]);function Qt(e,n){let t=e?.transport;if(t==null||typeof t!="object"||typeof t.logicalBucket!="string"||t.logicalBucket===""||typeof t.objectName!="string"||t.objectName===""||n!==void 0&&t.logicalBucket!==n)return;let r=t.session;if(r==null||typeof r!="object"||typeof r.bucket!="string"||r.bucket===""||typeof r.key!="string"||r.key===""||typeof r.uploadId!="string"||r.uploadId===""||!Number.isSafeInteger(r.partSize)||r.partSize<=0||!Number.isSafeInteger(r.sourceBytes)||r.sourceBytes<0||!Array.isArray(r.parts))return;let o=new Set;for(let i of r.parts){if(i===null||typeof i!="object"||!Number.isSafeInteger(i.partNumber)||i.partNumber<1||i.partNumber>Math.ceil(r.sourceBytes/r.partSize)||o.has(i.partNumber)||typeof i.etag!="string"||i.etag==="")return;o.add(i.partNumber);}return t}var bn;function Oi(){if(bn!==void 0)return bn;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/xhr-http-handler')]).then(([t,r])=>({S3Client:t.S3Client,commands:{PutObjectCommand:t.PutObjectCommand,CreateMultipartUploadCommand:t.CreateMultipartUploadCommand,UploadPartCommand:t.UploadPartCommand,CompleteMultipartUploadCommand:t.CompleteMultipartUploadCommand,AbortMultipartUploadCommand:t.AbortMultipartUploadCommand},XhrHttpHandler:r.XhrHttpHandler})).catch(t=>{throw bn===n&&(bn=void 0),t});return bn=n,n}function Bi(e,n){return new K("multipart-abort-failed","Resource upload failed and incomplete parts could not be removed",{cause:new AggregateError([e,n],"Resource upload and multipart cleanup both failed")})}function $l(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function ql(e){return globalThis.crypto.randomUUID()+$l(e)}function Ni(e,n){let t=e.keyPrefix??"";return t===""||n.startsWith(t)?n:`${t}${n}`}function Jl(e,n){let t=Gr(e.getUploadCredentials),r=Hn(Fn);function o(p,w){if(p==="avatar")return e.avatarBucket??"";if(w==="channel"){let C=e.channelBuckets?.[p]??"";if(C!=="")return C}return e.buckets[p]??""}function i(p,w,C,M=false){let{region:_}=w;return Di(C,p.XhrHttpHandler),new p.S3Client({region:_,maxAttempts:M?1:3,credentials:{accessKeyId:w.accessKeyId,secretAccessKey:w.secretAccessKey,sessionToken:w.sessionToken,...w.expiresAtSeconds===void 0?{}:{expiration:new Date(w.expiresAtSeconds*1e3)}},useAccelerateEndpoint:(e.useAccelerateEndpoint??true)&&!_.toLowerCase().startsWith("cn-"),requestChecksumCalculation:"WHEN_REQUIRED",requestHandler:C})}async function a(p,w,C,M,_,D,E,A){let{multipart:T,partSize:B}=$n(E,e.multipartTransfer===true&&e.multipartUpload!==false),l=new p.XhrHttpHandler({}),f=i(p,_,l,w.recoveryManaged===true),g={client:f,handler:l,commands:p.commands,bucket:_.bucket,key:D,...w.mimeType!==void 0&&w.mimeType!==""?{mimeType:w.mimeType}:{}},b={data:w.data,sourceBytes:E,...w.onProgress===void 0?{}:{onProgress:w.onProgress},...w.signal===void 0?{}:{signal:w.signal},...w.transformPart===void 0?{}:{transformPart:w.transformPart}},u=w.resume,m=Qt(u),v=T&&m?.logicalBucket===C&&Wt(m.session,g,E,B)!==void 0,S=v?m?.session:void 0,x=k=>{S=k;let U=0;for(let N of k.parts)U+=Math.min(k.partSize,k.sourceBytes-(N.partNumber-1)*k.partSize);w.onResumable?.({bytesUploaded:U,transport:{logicalBucket:C,objectName:M,session:k}});},I=()=>{S=void 0,delete w.resume,w.onResumeInvalidated?.();},R;try{if(A.mode==="retain"&&u!==void 0&&!v)throw new K("upload-resume-unavailable","media upload: \u4E0A\u6B21\u4E0A\u4F20\u76EE\u6807\u6216\u7EED\u4F20\u8BB0\u5F55\u5DF2\u5931\u6548\uFF0C\u9700\u8981\u786E\u8BA4\u540E\u91CD\u65B0\u5B8C\u6574\u4E0A\u4F20");if(m!==void 0&&!v){try{m.logicalBucket===C?await hn(g,m.session):await P(u);}catch(U){throw A.cleanupFailed=!0,Bi(A.retryCause,U)}delete w.resume;}if(w.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(!T){await Ti(g,b,r);return}let k=S;try{await Yt({target:g,content:b,partSize:B,queueSize:yn,runUpload:r,...k===void 0?{}:{resume:k},onResumable:x,onCompleted:I});}catch(U){if(w.signal?.aborted||!zt(U)||A.mode==="discard"&&k===void 0)throw U;if(A.mode==="retain")throw new K("upload-resume-unavailable","media upload: \u4E0A\u6B21\u4E0A\u4F20\u5DF2\u65E0\u6CD5\u7EE7\u7EED\uFF0C\u9700\u8981\u786E\u8BA4\u540E\u91CD\u65B0\u5B8C\u6574\u4E0A\u4F20",{cause:U});S=void 0,await Yt({target:g,content:b,partSize:B,queueSize:yn,runUpload:r,onResumable:x,onCompleted:I});}}catch(k){if(A.mode==="retain"&&w.signal?.aborted===true&&!["offline","paused","page-preserve","cancelled-preserve"].includes(w.signal.reason)&&S!==void 0)try{await hn(g,S),I();}catch(U){R=U;}throw A.cleanupFailed?k:Fl(k,T,R)}finally{f.destroy();}}async function s(p,w,C,M={mode:"retain"}){let _=o(w,C);if(_==="")throw new K("bucket-unconfigured",`media upload: kind=${w} \u7684\u903B\u8F91\u6876\u540D\u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let D=Ll(p.data);if(D===void 0)throw new K("upload-source-invalid","media upload: \u4E0A\u4F20\u5185\u5BB9\u5FC5\u987B\u662F Uint8Array \u6216 Blob");$n(D,e.multipartTransfer===true&&e.multipartUpload!==false);let E=await Oi();if(M.mode==="discard"&&p.signal?.aborted)throw new DOMException("media upload canceled","AbortError");let A=Qt(p.resume,_)?.objectName??ql(p.filename),T={...p,onResumable:l=>{T.resume=l,p.onResumable?.(l);},onResumeInvalidated:()=>{delete T.resume,p.onResumeInvalidated?.();}},B;try{B=await t.resolve(_,p.forceRefreshCredentials===!0?{forceRefresh:!0}:void 0);let l=Ni(B,A);try{await a(E,T,_,A,B,l,D,M);}catch(f){if(p.signal?.aborted||p.recoveryManaged===!0||f instanceof K&&jl.has(f.code))throw f;M.retryCause=f,B=await t.resolve(_,{forceRefresh:!0}),l=Ni(B,A),await a(E,T,_,A,B,l,D,M);}if(p.signal?.aborted)throw new DOMException("media upload canceled","AbortError");return p.onProgress?.({percent:100,bytesTransferred:D,bytesTotal:D,phase:"finalizing"}),{url:`${B.dnsPoint}/${l}`}}catch(l){let f=Qt(T.resume);if(M.mode==="discard"&&!M.cleanupFailed&&f!==void 0&&B!==void 0){let b=new E.XhrHttpHandler({}),u=i(E,B,b);try{await hn({client:u,commands:E.commands},f.session);}catch(m){throw Bi(l,m)}finally{u.destroy();}}let g=De(l);throw g!==void 0&&p.onFailure?.(g),l instanceof K&&(l.code==="upload-resume-unavailable"?p.onFailure?.("resume-unavailable"):l.code==="multipart-abort-failed"&&p.onFailure?.("cleanup-unconfirmed")),l}}function d(p){return s(p,p.kind,p.conversationType)}function c(p){return s({data:p.data,...p.filename===void 0?{}:{filename:p.filename},...p.mimeType===void 0?{}:{mimeType:p.mimeType},...p.signal===void 0?{}:{signal:p.signal},...p.onProgress===void 0?{}:{onProgress:p.onProgress}},p.kind,void 0,{mode:"discard"})}function y(p){return s(p,"avatar")}async function P(p){let w=p.transport;if(w?.session===void 0||w.session.uploadId==="")return;let C=await Oi(),M=await t.resolve(w.logicalBucket),_=new C.XhrHttpHandler({}),D=i(C,M,_);try{await hn({client:D,commands:C.commands},w.session);}finally{D.destroy();}}let h=_i(e.multipartTransfer===true&&e.rangeDownload!==false,n);return {upload:d,uploadAvatar:y,uploadResource:c,download:h,abandonUpload:P}}var J=class extends Error{constructor(t,r){super(`Media upload recovery ${t}`,r);this.reason=t;this.name="MediaUploadRecoveryError",this.code=`IM_MEDIA_UPLOAD_RECOVERY_${t.toUpperCase()}`;}reason;code};function ee(){throw new J("invalid")}function Ie(e){return typeof e!="object"||e===null||Array.isArray(e)?ee():e}function ye(e,n=4096){return typeof e!="string"||e.length===0||e.length>n?ee():e}function Re(e,n=0){return typeof e!="number"||!Number.isSafeInteger(e)||e<n?ee():e}function Xt(e){return typeof e!="number"||!Number.isFinite(e)||e<0?ee():e}function qn(e,n=4096){if(e!==void 0)return typeof e!="string"||e.length>n?ee():e}function Jn(e){let n=Ie(e);if(n.version!==1||n.kind!=="video"&&n.kind!=="file"||typeof n.encrypted!="boolean")return ee();let t=Ie(n.ref);if(t.conversationType!=="direct"&&t.conversationType!=="group"&&t.conversationType!=="channel")return ee();let r=Ie(n.source),o=Re(r.size,1),i=ye(r.sha256,64);if(!/^[a-f0-9]{64}$/.test(i))return ee();let a=Ie(n.resume),s=Ie(a.transport),d=Ie(s.session),c=Re(d.partSize,8);if(c%8!==0||Re(d.sourceBytes,1)!==o||!Array.isArray(d.parts)||d.parts.length>1e4)return ee();let y=new Set,P=0,h=d.parts.map(E=>{let A=Ie(E),T=Re(A.partNumber,1);return T>Math.ceil(o/c)||y.has(T)?ee():(y.add(T),P+=Math.min(c,o-(T-1)*c),{partNumber:T,etag:ye(A.etag,1024)})});if(Re(a.bytesUploaded)!==P)return ee();let p;if(n.encrypted){if(!(n.teaKey instanceof Uint8Array)||n.teaKey.length!==16)return ee();p=new Uint8Array(n.teaKey);}else if(n.teaKey!==void 0)return ee();let w;if(n.preview!==void 0){let E=Ie(n.preview),A;if(E.thumbData!==void 0){if(!(E.thumbData instanceof Uint8Array)||E.thumbData.byteLength>16*1024)return ee();A=new Uint8Array(E.thumbData);}w={width:Xt(E.width),height:Xt(E.height),...E.duration===void 0?{}:{duration:Xt(E.duration)},...A===void 0?{}:{thumbData:A}};}if(n.filesAlbum!==void 0&&typeof n.filesAlbum!="boolean")return ee();let C=qn(r.filename),M=qn(r.mimeType,256),_=qn(n.caption,16384),D=qn(n.refMessageId);return {version:1,ref:{conversationType:t.conversationType,conversationId:ye(t.conversationId)},messageId:ye(n.messageId),kind:n.kind,createdAt:Re(n.createdAt),savedAt:Re(n.savedAt),encrypted:n.encrypted,source:{size:o,sha256:i,...C===void 0?{}:{filename:C},...M===void 0?{}:{mimeType:M}},...p===void 0?{}:{teaKey:p},...w===void 0?{}:{preview:w},..._===void 0?{}:{caption:_},...D===void 0?{}:{refMessageId:D},...n.filesAlbum===void 0?{}:{filesAlbum:n.filesAlbum},resume:{bytesUploaded:P,transport:{logicalBucket:ye(s.logicalBucket),objectName:ye(s.objectName),session:{bucket:ye(d.bucket),key:ye(d.key),uploadId:ye(d.uploadId),partSize:c,sourceBytes:o,parts:h}}}}}function qe(e){if(e?.aborted)throw new DOMException("Source fingerprint cancelled","AbortError")}async function Ki(e,n){qe(n);let t=e instanceof Uint8Array?e.byteLength:e.size,r=await createSHA256();qe(n);let o=1024*1024,i=performance.now();for(let a=0;a<t;a+=o){qe(n);let s=e instanceof Uint8Array?e.subarray(a,a+o):new Uint8Array(await e.slice(a,a+o).arrayBuffer());qe(n),r.update(s),performance.now()-i>=8&&(await new Promise(d=>setTimeout(d,0)),qe(n),i=performance.now());}return qe(n),{size:t,sha256:r.digest("hex")}}var Wl=1440*60*1e3,Yl=3;function ve(e,n){if(!e.conversationId||!n||!["direct","group","channel"].includes(e.conversationType))throw new J("invalid");return JSON.stringify([e.conversationType,e.conversationId,n])}function Ql(e){let n=e.namespaceFactory.forAccount(e.accountId),t=n.name("ephemeral","media-upload-recovery","indexed-db"),r=n.name("ephemeral","media-upload-recovery","owner"),o=e.locks===void 0?globalThis.navigator?.locks:e.locks,i=e.now??Date.now,a,s=Promise.resolve(),d=false,c,y=false,P=false,h=0,p=0,w,C,M,_=new Map,D=new WeakMap,E=0;function A(){if(d)throw new J("unavailable")}function T(){D=new WeakMap,E+=1;}function B(I,R){if(A(),I?.aborted)throw new DOMException("Source fingerprint cancelled","AbortError");if(R!==E)throw new J("unavailable")}function l(){return a??=openDB(t,1,{upgrade(I){I.createObjectStore("uploads");},blocking(){x();},terminated(){d=true,T(),g();}}),a}function f(I,R=false){try{if(A(),R&&(!y||P))throw new J("unavailable")}catch(N){return Promise.reject(N)}let k=p,U=s.then(async()=>{if(R&&(!y||k!==p))throw new J("unavailable");try{return await I()}catch(N){throw N instanceof J?N:new J("storage",{cause:N})}});return s=U.then(()=>{},()=>{}),U}function g(){!y||P||(P=true,s.then(()=>{y=false,h=0,p+=1,w?.(),w=void 0;}));}async function b(I){if(A(),I?.aborted)throw new DOMException("Recovery lease cancelled","AbortError");if(!o||P)throw new J("unavailable");if(y||(C===void 0&&(C=new Promise((U,N)=>{try{M=o.request(r,{mode:"exclusive",ifAvailable:!0},async j=>{if(!j||d){N(new J("unavailable"));return}y=!0,p+=1;let G=new Promise(W=>{w=W;});U(),await G;}),M.catch(()=>N(new J("unavailable"))).finally(()=>{C=void 0,P=!1;});}catch{N(new J("unavailable"));}})),await C),d||P||I?.aborted)throw h===0&&g(),I?.aborted?new DOMException("Recovery lease cancelled","AbortError"):new J("unavailable");h+=1;let R=p,k=false;return {release(){k||R!==p||(k=true,h-=1,h===0&&g());}}}function u(I){return i()-I.savedAt>=Wl}function m(I){let R=ve(I.ref,I.messageId),k=Math.min(_.get(R)??I.savedAt,I.savedAt);return _.set(R,k),k}async function v(){let R=(await l()).transaction("uploads",y&&!P?"readwrite":"readonly");try{let k=await R.store.getAll(),U=[];for(let N of k){let j=Jn(N);m(j),u(j)?R.mode==="readwrite"&&await R.store.delete(ve(j.ref,j.messageId)):U.push(j);}return await R.done,U}catch(k){try{R.abort();}catch{}throw await R.done.catch(()=>{}),k}}function S(I){let R;try{R=Jn(I);}catch(k){return Promise.reject(k)}return f(async()=>{let U=(await l()).transaction("uploads","readwrite");try{let N=ve(R.ref,R.messageId),j=await U.store.getAll(),G=0,W;for(let Wn of j){let pe=Jn(Wn);m(pe),u(pe)?await U.store.delete(ve(pe.ref,pe.messageId)):(G+=1,ve(pe.ref,pe.messageId)===N&&(W=pe));}if(W){if(W.source.sha256!==R.source.sha256||W.source.size!==R.source.size||W.kind!==R.kind||W.encrypted!==R.encrypted||W.teaKey?.some((Wn,pe)=>Wn!==R.teaKey?.[pe]))throw new J("invalid");R.savedAt=W.savedAt;}else if(G>=Yl)throw new J("capacity");let ar=_.get(N);if(ar!==void 0&&(R.savedAt=Math.min(ar,R.savedAt)),u(R)||R.savedAt>i())throw new J("invalid");await U.store.put(R,N),await U.done,m(R);}catch(N){try{U.abort();}catch{}throw await U.done.catch(()=>{}),N}},true)}async function x(){return c||(d=true,T(),c=(async()=>{await s;try{a&&(await a).close();}finally{g(),await M;}})(),c)}return {get:(I,R)=>f(async()=>{let k=ve(I,R);return (await v()).find(U=>ve(U.ref,U.messageId)===k)}),list:()=>f(v),save:S,remove:(I,R)=>f(async()=>{let k=ve(I,R);await(await l()).delete("uploads",k),_.delete(k);},true),clear:()=>(T(),f(async()=>{await(await l()).clear("uploads"),_.clear();},true)),drain:()=>s,fingerprint:async(I,R)=>{let k=E;B(R,k);let U=I instanceof Blob?I:void 0,N=U===void 0?void 0:D.get(U);if(N!==void 0)return {...N};let j=await Ki(I,R);B(R,k);let G={size:j.size,sha256:j.sha256};return U!==void 0&&D.set(U,G),{...G}},acquireLease:b,close:x}}function Xl(e,n={}){let t=n.locks!==void 0?n.locks:globalThis.navigator?.locks,r=n.createChannel!==void 0?n.createChannel:typeof globalThis.BroadcastChannel=="function"?P=>new BroadcastChannel(P):void 0,o=typeof globalThis.addEventListener=="function"?globalThis:void 0,i=n.pageLifecycleTarget!==void 0?n.pageLifecycleTarget:o,a,s=0;function d(P){try{e.onError(P);}catch{}}function c(P,h=false,p="stopped"){if(a===P&&!h&&(a=void 0),P.resolveReady(false),P.closed)return;P.closed=true,P.controller.abort();let w=[],C=D=>{try{D();}catch(E){w.push(E);}};for(let D of P.cleanups.splice(0))C(D);C(()=>P.channel.close());let M=P.release;P.release=void 0;let _=P.owned;P.owned=false;try{let D=_?e.onChange(!1,p):void 0;Promise.resolve(D).then(()=>M?.(),d);}catch(D){d(D);}for(let D of w)d(D);}function y(P,h){c(P,true),d(h);}return {start(P){if(a?.key===P)return a.ready;let h=++s;if(a&&c(a),h!==s)return Promise.resolve(false);if(!P||!t||!r)return d(new Error("Browser connection ownership requires a key, Web Locks and BroadcastChannel")),Promise.resolve(false);let p;try{p=r(`im-connection:${P}`);}catch(E){return d(E),Promise.resolve(false)}let w,C=new Promise(E=>{w=E;}),M={key:P,channel:p,cleanups:[],owned:false,closed:false,ready:C,resolveReady:w,controller:new AbortController,claim:{startedAt:Date.now(),id:globalThis.crypto.randomUUID()}};a=M;let _=E=>{if(a!==M||M.closed||typeof E.data!="object"||E.data===null)return;let A=E.data;A.type==="session-ended"?c(M):A.type==="takeover"&&typeof A.startedAt=="number"&&Number.isFinite(A.startedAt)&&typeof A.id=="string"&&A.id!==M.claim.id&&(A.startedAt>M.claim.startedAt||A.startedAt===M.claim.startedAt&&A.id>M.claim.id?c(M,true,"replaced"):p.postMessage({type:"takeover",...M.claim}));},D=E=>{a===M&&E.persisted===true&&c(M);};try{i&&(M.cleanups.push(()=>i.removeEventListener("pagehide",D)),i.addEventListener("pagehide",D)),M.cleanups.push(()=>p.removeEventListener("message",_)),p.addEventListener("message",_);let E=setTimeout(()=>y(M,new Error("Browser IM takeover timed out while waiting for the previous page to close")),15e3);M.cleanups.push(()=>clearTimeout(E)),t.request(`im-connection:${P}`,{mode:"exclusive",signal:M.controller.signal},async T=>{if(a!==M||M.closed||!T){M.resolveReady(!1);return}let B=new Promise(l=>{M.release=l;});M.owned=!0,clearTimeout(E);try{await e.onChange(!0);}catch(l){y(M,l);}M.resolveReady(a===M&&M.owned),await B;}).catch(T=>{a===M&&!M.closed&&y(M,T);}),p.postMessage({type:"takeover",...M.claim});}catch(E){y(M,E);}return M.ready},stop(){s++,a&&c(a);},terminate(){s++;let P=a;if(P)try{P.closed||P.channel.postMessage({type:"session-ended"});}catch(h){d(h);}finally{c(P);}},get owned(){return a?.owned??false}}}function Zl(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function eu(e,n={}){let t=n.target!==void 0?n.target:Zl(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,i=false,a=()=>e.onOnline?.(),s=()=>e.onOffline?.(),d=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},c=()=>e.onPageHide?.(),y=()=>e.onPageShow?.();return {start(){i||(i=true,t!=null&&(t.addEventListener("online",a),t.addEventListener("offline",s)),r?.addEventListener("visibilitychange",d),o!=null&&(o.addEventListener("pagehide",c),o.addEventListener("pageshow",y)));},stop(){i&&(i=false,t!=null&&(t.removeEventListener("online",a),t.removeEventListener("offline",s)),r?.removeEventListener("visibilitychange",d),o!=null&&(o.removeEventListener("pagehide",c),o.removeEventListener("pageshow",y)));},get running(){return i}}}var ru=16,Gi=128,ou=20,iu=8*1024*1024,au=2*1024*1024,su=1440*60*1e3,cu=2*1024*1024*1024,Li=1024*1024*1024,du=512*1024*1024,lu=256*1024*1024,uu=64*1024,Zt="channel:list-version",Hi="schema:conversation-key-v1",Fi="schema:message-server-order-v1",ji="schema:mini-program-game-preview-v1",$i="im:membership-reset-sort-keys",er="default",Ee="\uFFFF";function qi(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function pu(e,n){let t=qi(e),r=qi(n);return t===void 0?r===void 0?0:-1:r===void 0?1:t.length!==r.length?t.length>r.length?1:-1:t===r?0:t>r?1:-1}function wn(e){return `conversation:${J$1(e)}`}function tr(e,n){return `${J$1(e)}\0${n}`}function fu(e){let n=J$1(e.conversation);return {...e,key:tr(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function mu(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function Pn(e,n){return JSON.stringify([J$1(e),n])}function Ji(e){let n=G(e);return {...e,messageKey:Pn(n,e.id),conversationKey:J$1(n)}}function ke(e){let{messageKey:n,conversationKey:t,...r}=e;return r}function Vn(e){return {...e,id:J$1(H$1(e)),conversationId:e.id}}function rr(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function or(e){return e.conversationType===void 0?e:{...e,conversationId:J$1(e),storageConversationId:e.conversationId}}function zn(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Vi(e){return {...e,conversationId:J$1(I(e)),storageConversationId:e.conversationId}}function ir(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function gu(e){return {...e,conversationKey:J$1(e.ref)}}function yu(e){let{conversationKey:n,...t}=e;return t}function hu(e){return typeof e=="string"?e:e.conversationId}function Cn(e,n){if(new Set(n.map(t=>t.conversationType)).size>1)throw new Error(`\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF1A${e}`)}async function bu(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(Hi))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let d of await r.getAll())d.conversationKey===void 0&&await r.put(Ji(d));let o=n.objectStore("sessions"),i=new Map;for(let d of await o.getAll()){if(d.conversationId!==void 0)continue;let c=rr(d);i.set(c.id,c.type),await o.put(Vn(c)),await o.delete(d.id);}let a=n.objectStore("readStates");for(let d of await a.getAll()){if(d.storageConversationId!==void 0)continue;let c=d.conversationType??i.get(d.conversationId);if(c===void 0)continue;let y={...d,conversationType:c};await a.put(or(y)),await a.delete(d.conversationId);}let s=n.objectStore("pinnedMessages");for(let d of await s.getAll()){if(d.storageConversationId!==void 0)continue;let c=ir(d);await s.put(Vi(c)),await s.delete(d.conversationId);}await t.put({key:Hi,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}async function wu(e){let n=e.transaction(["messages","readStates","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(Fi))?.value===!0){await n.done;return}let r=n.objectStore("readStates"),o=await r.getAll(),i=new Map;for(let y of o){let P=zn(y);P.conversationType==="channel"&&P.readCursorSortKey!==void 0&&P.readCursor!==""&&i.set(J$1(P),{cursor:P.readCursor});}let a=new Map,s=n.objectStore("messages"),d=await s.openCursor();for(;d!==null;){let y=d.value,P=J$1(G(y)),h=m(y),p=i.get(P);if(p!==void 0&&y.extensions?.historyCursor===p.cursor&&(p.sortKey=h),h!==y.sortKey){let w=a.get(P);w===void 0&&(w=new Map,a.set(P,w)),w.set(y.sortKey,h),await d.update({...y,sortKey:h});}d=await d.continue();}for(let y of o){let P=zn(y);if(P.conversationType===void 0)continue;let h=J$1(P),p=i.get(h)?.sortKey??(P.readCursorSortKey===void 0?void 0:a.get(h)?.get(P.readCursorSortKey));if(p===void 0&&P.readCursorSortKey!==void 0&&P.conversationType!=="channel"&&P.readCursor!==""){let w=await s.get(Pn(P,P.readCursor));w!==void 0&&J$1(G(w))===h&&(p=w.sortKey);}p!==void 0&&p!==P.readCursorSortKey&&await r.put({...y,readCursorSortKey:p});}let c=await t.get($i);if(Array.isArray(c?.value)){let y=!1,P=c.value.map(h=>{if(!Array.isArray(h)||h.length!==2||typeof h[0]!="string"||typeof h[1]!="string")return h;let p=a.get(h[0])?.get(h[1]);return p===void 0?h:(y=!0,[h[0],p])});y&&await t.put({key:$i,value:P});}await t.put({key:Fi,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}async function Cu(e){let n=e.transaction(["messages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(ji))?.value===!0){await n.done;return}let o=await n.objectStore("messages").openCursor();for(;o!==null;){let i=o.value.body?.miniProgram;o.value.contentType==="miniProgram"&&i!==void 0&&v(i)&&await o.delete(),o=await o.continue();}await t.put({key:ji,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function nr(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function Je(e,n){let t=e.done;t.catch(()=>{});try{let r=await n();return await t,r}catch(r){try{e.abort();}catch{}throw await t.catch(()=>{}),r}}async function Pu(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function Iu(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,i=Promise.resolve(),a=Promise.resolve(),s=0,d=e.mediaAssetCache?.maxPendingWriteBytes??lu;if(!Number.isSafeInteger(d)||d<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function c(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}function y(l){let f=o,g=r,b=()=>{if(f!==o||g!==r)throw new Error("\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u64CD\u4F5C\u5DF2\u5931\u6548\uFF1A\u8D26\u53F7\u6216\u5B58\u50A8\u5DF2\u6539\u53D8");c();},u=i.then(async()=>{b();let m=await l();return b(),m});return i=u.then(()=>{},()=>{}),u}function P(l,f){return l.version!==2||!Number.isFinite(l.fetchedAt)||l.fetchedAt<0||f-l.fetchedAt>=su}async function h(l){if(!Number.isSafeInteger(l.byteLength)||l.byteLength<0)throw new Error("\u6700\u8FD1\u5386\u53F2\u7F13\u5B58 byteLength \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570");let f=Date.now();if(l.byteLength>au||P(l,f))return false;let g=J$1(l.conversation),b=c().transaction("recentHistoryPages","readwrite");return Je(b,async()=>{let u=await b.store.getAll(),m=[];for(let I of u)P(I,f)?await b.store.delete(I.conversationKey):I.conversationKey!==g&&m.push(I);let v={...l,conversationKey:g};m.push(v),m.sort((I,R)=>I.fetchedAt-R.fetchedAt||I.conversationKey.localeCompare(R.conversationKey));let S=m.reduce((I,R)=>I+R.byteLength,0),x=[];for(;m.length>ou||S>iu;){let I=m.shift();x.push(I),S-=I.byteLength;}if(x.includes(v))return !1;await b.store.put(v);for(let I of x)await b.store.delete(I.conversationKey);return !0})}async function p(l){if(typeof l!="string")return;let f=IDBKeyRange.bound([l,""],[l,Ee]),g=(await c().transaction("messages").store.index("by_conv_sort").getAll(f)).map(ke);Cn(l,g);}function w(l){let f=a.then(l,l);return a=f.then(()=>{},()=>{}),f}function C(l,f){if(l!==o||f===null||f!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function M(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}function _(l,f){let g=e.mediaAssetCache?.strategies.resolve(l.kind)?.maxIdleMs;return g!==void 0&&(!Number.isSafeInteger(l.lastAccessedAt)||l.lastAccessedAt<0||f-l.lastAccessedAt>=g)}async function D(l,f){C(l,f);let g=await c().getAll("mediaAssetMeta");C(l,f);let b=M(),u=g.filter(v=>_(v,b));await A(u.map(v=>v.key),l,f),C(l,f);let m=new Set(u.map(v=>v.key));return g.filter(v=>!m.has(v.key))}async function E(l){let f=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:g,usage:b}=await f();if(g===void 0||!Number.isFinite(g)||g<=0)return Li;let u=l.reduce((S,x)=>S+x.byteLength,0),m=Math.max(0,(b??0)-u),v=Math.max(du,Math.floor(g*.2));return Math.max(0,Math.min(cu,Math.floor(g-m-v)))}catch{return Li}}async function A(l,f,g){if(l.length===0)return;C(f,g);let b=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(l.flatMap(u=>[b.objectStore("mediaAssets").delete(u),b.objectStore("mediaAssetMeta").delete(u)])),await b.done;}async function T(l,f,g,b){C(l,f);let u=c(),m=e.mediaAssetCache?.strategies;if(m===void 0)return;let v=b??await u.getAll("mediaAssetMeta");C(l,f);let S=new Set;for(let k of m.list()){let U=v.filter(G=>G.kind===k.kind).sort((G,W)=>G.lastAccessedAt-W.lastAccessedAt),N=U.reduce((G,W)=>G+W.byteLength,0),j=U.length;for(let G of U){if(N<=k.softMaxBytes&&j<=k.maxEntries)break;S.add(G.key),N-=G.byteLength,j-=1;}}let x=v.filter(k=>!S.has(k.key)).sort((k,U)=>k.lastAccessedAt-U.lastAccessedAt),I=Math.max(0,Math.min(await E(v),g??Number.POSITIVE_INFINITY)),R=x.reduce((k,U)=>k+U.byteLength,0);for(let k of x){if(R<=I)break;S.add(k.key),R-=k.byteLength;}await A([...S],l,f);}async function B(l,f,g){C(f,g);let b=e.mediaAssetCache?.strategies.resolve(l.kind);if(b===void 0)return "skipped";let u=l.blob,m=u.size,v=await D(f,g),S=await E(v);if(C(f,g),m===0||m>b.maxEntryBytes||S<=0||m>Math.floor(S/2))return "skipped";let x=nr(l),I=M(),R=v.find(G=>G.key===x),k={key:x,kind:l.kind,messageId:l.messageId,resourceVersion:l.resourceVersion,byteLength:m,...l.mimeType===void 0?{}:{mimeType:l.mimeType},createdAt:R?.createdAt??I,lastAccessedAt:I},U=async()=>{C(f,g);let G=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([G.objectStore("mediaAssets").put({key:x,blob:u}),G.objectStore("mediaAssetMeta").put(k)]),await G.done;},N=false;try{await U();}catch(G){if(!(G instanceof DOMException)||G.name!=="QuotaExceededError")throw G;N=true,await T(f,g,Math.max(0,S-m)),await U();}let j=R===void 0?[...v,k]:v.map(G=>G.key===x?k:G);return await T(f,g,void 0,N?void 0:j),C(f,g),await c().get("mediaAssets",x)===void 0?"skipped":"stored"}return {supportsChannelSyncCheckpoint:true,recentHistoryCache:{get:l=>y(async()=>{let f=J$1(l),g=c().transaction("recentHistoryPages","readwrite");return Je(g,async()=>{let b=await g.store.get(f);if(b===void 0)return null;if(P(b,Date.now()))return await g.store.delete(f),null;let{conversationKey:u,...m}=b;return m})}),async put(l){let f=structuredClone(l);return y(()=>h(f))},delete:l=>y(async()=>{await c().delete("recentHistoryPages",J$1(l));}),clear:()=>y(async()=>{await c().clear("recentHistoryPages");})},async open({namespace:l}){if(t!==null&&r===l)return;t!==null&&(t.close(),t=null),r=l;let f=++o,g=n.forAccount(l).name("durable","storage","indexed-db"),b,u=await openDB(g,ru,{upgrade(m,v,S,x){if(m.objectStoreNames.contains("messages"))x.objectStore("messages").indexNames.contains("by_conversation_key_sort")||x.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let I=m.createObjectStore("messages",{keyPath:"messageKey"});I.createIndex("by_conv_sort",["conversationId","sortKey"]),I.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(m.objectStoreNames.contains("sessions")||m.createObjectStore("sessions",{keyPath:"id"}),m.objectStoreNames.contains("readStates")||m.createObjectStore("readStates",{keyPath:"conversationId"}),m.objectStoreNames.contains("drafts")||m.createObjectStore("drafts",{keyPath:"conversationKey"}),m.objectStoreNames.contains("outbox")||m.createObjectStore("outbox",{keyPath:"id"}),m.objectStoreNames.contains("meta")||m.createObjectStore("meta",{keyPath:"key"}),m.objectStoreNames.contains("userProfiles")||m.createObjectStore("userProfiles",{keyPath:"id"}),m.objectStoreNames.contains("groupMembers")||m.createObjectStore("groupMembers",{keyPath:"groupId"}),m.objectStoreNames.contains("groupProfiles")||m.createObjectStore("groupProfiles",{keyPath:"id"}),m.objectStoreNames.contains("pinnedMessages")||m.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),m.objectStoreNames.contains("channelProfiles")||m.createObjectStore("channelProfiles",{keyPath:"id"}),m.objectStoreNames.contains("channelMembers")||m.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),m.objectStoreNames.contains("channelMemberSnapshots")||m.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),m.objectStoreNames.contains("channelMentionCandidateSnapshots")||m.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),m.objectStoreNames.contains("conversationBackgrounds")||m.createObjectStore("conversationBackgrounds",{keyPath:"key"}),m.objectStoreNames.contains("mediaAssets")||m.createObjectStore("mediaAssets",{keyPath:"key"}),!m.objectStoreNames.contains("mediaAssetMeta")){let I=m.createObjectStore("mediaAssetMeta",{keyPath:"key"});I.createIndex("by_kind_access",["kind","lastAccessedAt"]),I.createIndex("by_access","lastAccessedAt");}m.objectStoreNames.contains("decryptRecoveries")||m.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey"),v>0&&v<13&&(x.objectStore("mediaAssets").clear(),x.objectStore("mediaAssetMeta").clear()),m.objectStoreNames.contains("recentHistoryPages")||m.createObjectStore("recentHistoryPages",{keyPath:"conversationKey"}),v>0&&v<16&&x.objectStore("messages").keyPath!=="messageKey"&&(async()=>{let R=await x.objectStore("messages").getAll();for(let U of R)U.messageKey=Pn(G(U),U.id);m.deleteObjectStore("messages");let k=m.createObjectStore("messages",{keyPath:"messageKey"});k.createIndex("by_conv_sort",["conversationId","sortKey"]),k.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);for(let U=0;U<R.length;U+=Gi){let N=R.slice(U,U+Gi);await Promise.all(N.map(async j=>k.put(j)));}})().catch(R=>{b=R,x.done.catch(()=>{});try{x.abort();}catch{}});}}).catch(m=>{throw b??m});if(f!==o){u.close();return}try{await bu(u),await wu(u),await Cu(u);}catch(m){throw u.close(),m}if(f!==o){u.close();return}t=u;try{await w(()=>D(f,l));}catch(m){if(u.close(),f!==o)return;throw t===u&&(t=null),m}},async close(){let l=a;o+=1,r=null,t!==null&&(t.close(),t=null),await l;},async clearRebuildableCaches(){return y(async()=>{let l=o,f=r;await w(async()=>{C(l,f);let b=c().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta","recentHistoryPages"],"readwrite");await Promise.all([b.objectStore("userProfiles").clear(),b.objectStore("groupMembers").clear(),b.objectStore("groupProfiles").clear(),b.objectStore("channelProfiles").clear(),b.objectStore("channelMembers").clear(),b.objectStore("channelMemberSnapshots").clear(),b.objectStore("channelMentionCandidateSnapshots").clear(),b.objectStore("mediaAssets").clear(),b.objectStore("mediaAssetMeta").clear(),b.objectStore("meta").delete(Zt),b.objectStore("recentHistoryPages").clear(),b.done]);});})},async hasMany(l){let f=o,g=r,b=l.map(u=>({...u}));return await w(async()=>{if(C(f,g),b.length===0)return Object.freeze([]);let u=c().transaction(["mediaAssets","mediaAssetMeta"],"readonly"),m=M(),v=await Je(u,async()=>{let S=new Map;return await Promise.all(b.map(x=>{if(e.mediaAssetCache?.strategies.resolve(x.kind)===void 0)return !1;let I=nr(x),R=S.get(I);return R===void 0&&(R=Promise.all([u.objectStore("mediaAssets").getKey(I),u.objectStore("mediaAssetMeta").get(I)]).then(([k,U])=>k!==void 0&&U!==void 0&&U.kind===x.kind&&U.messageId===x.messageId&&U.resourceVersion===x.resourceVersion&&Number.isSafeInteger(U.byteLength)&&U.byteLength>0&&!_(U,m)),S.set(I,R)),R}))});return C(f,g),Object.freeze(v)})},async get(l){let f=o,g=r;return await w(async()=>{if(C(f,g),e.mediaAssetCache?.strategies.resolve(l.kind)===void 0)return null;let b=nr(l),u=c(),[m,v]=await Promise.all([u.get("mediaAssets",b),u.get("mediaAssetMeta",b)]);C(f,g);let S=M();return m===void 0||v===void 0||_(v,S)?(await A([b],f,g),null):(await u.put("mediaAssetMeta",{...v,lastAccessedAt:S}),C(f,g),{kind:v.kind,messageId:v.messageId,resourceVersion:v.resourceVersion,blob:m.blob,...v.mimeType===void 0?{}:{mimeType:v.mimeType}})})},async put(l){let f=o,g=r;C(f,g);let b=l.blob.size;if(b>d||s+b>d)return "skipped";s+=b;try{return await w(()=>B(l,f,g))}finally{s=Math.max(0,s-b);}},async clear(){let l=o,f=r;await w(async()=>{C(l,f);let g=c().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([g.objectStore("mediaAssets").clear(),g.objectStore("mediaAssetMeta").clear(),g.done]);});},async prune(){let l=o,f=r;await w(()=>D(l,f));},async getMessage(l,f){let g=await c().get("messages",Pn(l,f));if(g===void 0)return null;let b=ke(g);return J$1(G(b))===J$1(l)?b:null},async getMessages(l,f){let g=typeof l=="string"?"by_conv_sort":"by_conversation_key_sort",b=typeof l=="string"?l:J$1(l);if(await p(l),f.beforeSortKey===void 0&&f.afterSortKey!==void 0){let S=IDBKeyRange.bound([b,f.afterSortKey],[b,Ee]),x=[],I=await c().transaction("messages").store.index(g).openCursor(S,"next");for(;I!==null&&x.length<f.limit;)x.push(I.value),I=await I.continue();return x.map(ke)}let u=f.beforeSortKey===void 0?IDBKeyRange.bound([b,""],[b,Ee]):IDBKeyRange.bound([b,""],[b,f.beforeSortKey],false,true),m=[],v=await c().transaction("messages").store.index(g).openCursor(u,"prev");for(;v!==null&&m.length<f.limit;)m.push(v.value),v=await v.continue();return m.reverse().map(ke)},async saveMessages(l){if(l.length===0)return;let f=c().transaction("messages","readwrite");await Promise.all([...l.map(g=>f.store.put(Ji(g))),f.done]);},async searchMessages(l,f){let g=J$1(l),b=f.keyword?.trim()??"",u=f.contentTypes;if(b===""&&(u===void 0||u.length===0))return {items:[],exhausted:true};let m=b===""?void 0:await pa$1(b),v=f.beforeSortKey===void 0?IDBKeyRange.bound([g,""],[g,Ee]):IDBKeyRange.bound([g,""],[g,f.beforeSortKey],false,true),S=2e3,x=[],I=0,R,k=await c().transaction("messages").store.index("by_conversation_key_sort").openCursor(v,"prev");for(;k!==null&&x.length<f.limit&&I<S;){let N=ta$1(ke(k.value));I+=1,R=N.sortKey;let j=u===void 0||u.includes(N.contentType),G=m===void 0||m.match(na$1(N))!==null;j&&G&&x.push(N),k=await k.continue();}let U=k===null;return {items:x,exhausted:U,...U?{}:{nextBeforeSortKey:R}}},async getDecryptRecoveries(l){let f=J$1(l);return (await c().getAllFromIndex("decryptRecoveries","by_conversation",f)).map(mu)},async saveDecryptRecovery(l){if(l.sContent.byteLength===0||l.sContent.byteLength>uu)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${l.sContent.byteLength}`);await c().put("decryptRecoveries",fu(l));},async deleteDecryptRecovery(l,f){await c().delete("decryptRecoveries",tr(l,f));},async deleteConversationDecryptRecoveries(l){let f=J$1(l),g=c().transaction("decryptRecoveries","readwrite"),b=await g.store.index("by_conversation").openCursor(IDBKeyRange.only(f));for(;b!==null;)await b.delete(),b=await b.continue();await g.done;},async getSessions(){return (await c().getAll("sessions")).map(rr)},async saveSessions(l){if(l.length===0)return;let f=c().transaction("sessions","readwrite");for(let g of l)await f.store.put(Vn(g)),await f.store.delete(g.id);await f.done;},async deleteSession(l){if(typeof l!="string"){let b=c().transaction(["sessions","conversationBackgrounds"],"readwrite");await b.objectStore("sessions").delete(J$1(l)),await b.objectStore("conversationBackgrounds").delete(wn(l)),await b.done;return}let f=(await c().getAll("sessions")).map(rr).filter(b=>b.id===l);Cn(l,f.map(b=>({conversationType:b.type})));let g=c().transaction(["sessions","conversationBackgrounds"],"readwrite");if(f[0]!==void 0){let b=H$1(f[0]);await g.objectStore("sessions").delete(J$1(b)),await g.objectStore("conversationBackgrounds").delete(wn(b));}await g.objectStore("sessions").delete(l),await g.done;},async deleteReadState(l){if(typeof l!="string"){await c().delete("readStates",J$1(l));return}let g=(await c().getAll("readStates")).map(zn).filter(b=>b.conversationId===l).filter(b=>b.conversationType!==void 0);Cn(l,g),g[0]!==void 0&&await c().delete("readStates",J$1(g[0])),await c().delete("readStates",l);},async deleteMessage(l,f,g){return y(async()=>{if(g!==void 0&&(g.id!==l.conversationId||g.type!==l.conversationType))throw new Error("\u5220\u9664\u540E\u7684\u4F1A\u8BDD\u6458\u8981\u5FC5\u987B\u5339\u914D\u76EE\u6807\u4F1A\u8BDD");let b=c().transaction(["messages","sessions","decryptRecoveries","recentHistoryPages"],"readwrite");return Je(b,async()=>{let u=b.objectStore("messages"),m=Pn(l,f),v=await u.get(m);if(v!==void 0){let S=ke(v);if(S.conversationType!==l.conversationType||S.conversationId!==l.conversationId)return !1;await u.delete(m);}return await b.objectStore("decryptRecoveries").delete(tr(l,f)),await b.objectStore("recentHistoryPages").delete(J$1(l)),g!==void 0&&await b.objectStore("sessions").put(Vn(g)),v!==void 0})})},async deleteConversationMessages(l){return y(async()=>{let f=hu(l),g=typeof l=="string"?"by_conv_sort":"by_conversation_key_sort",b=typeof l=="string"?l:J$1(l),u=IDBKeyRange.bound([b,""],[b,Ee]),m=c().transaction(["messages","decryptRecoveries","recentHistoryPages","meta"],"readwrite");return Je(m,async()=>{let v=m.objectStore("messages"),S=m.objectStore("decryptRecoveries"),x=[],I=[];if(typeof l=="string"){let k=(await v.index("by_conv_sort").getAll(u)).map(ke);x=(await S.getAll()).filter(N=>N.conversation.conversationId===l),I=(await m.objectStore("recentHistoryPages").getAll()).filter(N=>N.conversation.conversationId===f);let U=await m.objectStore("meta").get(Na$1({conversationType:"channel",conversationId:f}));Cn(f,[...U===void 0?[]:[{conversationType:"channel"}],...k,...I.map(N=>({conversationType:N.conversation.conversationType})),...x.map(N=>({conversationType:N.conversation.conversationType}))]);}await m.objectStore("meta").delete(Na$1(typeof l=="string"?{conversationType:"channel",conversationId:f}:l));let R=await v.index(g).openCursor(u);for(;R!==null;)await R.delete(),R=await R.continue();if(typeof l=="string"){for(let k of x)await S.delete(k.key);for(let k of I)await m.objectStore("recentHistoryPages").delete(k.conversationKey);}else {await m.objectStore("recentHistoryPages").delete(J$1(l));let k=await S.index("by_conversation").openCursor(IDBKeyRange.only(J$1(l)));for(;k!==null;)await k.delete(),k=await k.continue();}})})},async clearConversationHistory(l,f,g){return y(async()=>{let b=J$1(l),u=IDBKeyRange.bound([b,""],[b,Ee]),m=c().transaction(["messages","sessions","readStates","decryptRecoveries","recentHistoryPages","meta"],"readwrite");return Je(m,async()=>{await m.objectStore("meta").delete(Na$1(l)),await m.objectStore("recentHistoryPages").delete(b);let v=await m.objectStore("messages").index("by_conversation_key_sort").openCursor(u);for(;v!==null;)await v.delete(),v=await v.continue();let S=await m.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(b));for(;S!==null;)await S.delete(),S=await S.continue();f!==void 0&&await m.objectStore("sessions").put(Vn(f)),g!==void 0&&(await m.objectStore("readStates").put(or(g)),await m.objectStore("readStates").delete(g.conversationId));})})},async getReadStates(){return (await c().getAll("readStates")).map(zn)},async saveReadState(l){let f=c().transaction("readStates","readwrite");await f.store.put(or(l)),l.conversationType!==void 0&&await f.store.delete(l.conversationId),await f.done;},async getDrafts(){return (await c().getAll("drafts")).map(yu)},async saveDraft(l){await c().put("drafts",gu(l));},async deleteDraft(l){await c().delete("drafts",J$1(l));},async getConversationBackground(l){return (await c().get("conversationBackgrounds",wn(l)))?.background??null},async saveConversationBackground(l,f){let g=wn(l);await c().put("conversationBackgrounds",{key:g,background:f});},async deleteConversationBackground(l){await c().delete("conversationBackgrounds",wn(l));},async getDefaultConversationBackground(){return (await c().get("conversationBackgrounds",er))?.background??null},async saveDefaultConversationBackground(l){await c().put("conversationBackgrounds",{key:er,background:l});},async deleteDefaultConversationBackground(){await c().delete("conversationBackgrounds",er);},async getOutbox(){return c().getAll("outbox")},async saveOutboxMessage(l){await c().put("outbox",l);},async removeOutboxMessage(l){await c().delete("outbox",l);},async getPinnedMessages(){return (await c().getAll("pinnedMessages")).map(ir)},async savePinnedMessage(l){let f=c().transaction("pinnedMessages","readwrite");await f.store.put(Vi(l)),await f.store.delete(l.conversationId),await f.done;},async removePinnedMessage(l){if(typeof l!="string"){await c().delete("pinnedMessages",J$1(l));return}let f=(await c().getAll("pinnedMessages")).map(ir).filter(g=>g.conversationId===l);Cn(l,f),f[0]!==void 0&&await c().delete("pinnedMessages",J$1(I(f[0]))),await c().delete("pinnedMessages",l);},async getMeta(l){let f=await c().get("meta",l);return f===void 0?null:f.value},async setMeta(l,f){await c().put("meta",{key:l,value:f});},async getUserProfile(l){return await c().get("userProfiles",l)??null},async saveUserProfile(l){await c().put("userProfiles",l);},async getGroupMembers(l){return await c().get("groupMembers",l)??null},async saveGroupMembers(l){await c().put("groupMembers",l);},async getGroupProfile(l){return await c().get("groupProfiles",l)??null},async saveGroupProfile(l){await c().put("groupProfiles",l);},async getChannelProfile(l){return await c().get("channelProfiles",l)??null},async getChannelProfiles(){return c().getAll("channelProfiles")},async saveChannelProfiles(l){if(l.length===0)return;let f=c().transaction("channelProfiles","readwrite");await Promise.all([...l.map(g=>f.store.put(g)),f.done]);},async getChannelListVersion(){let l=await c().get("meta",Zt);return typeof l?.value=="string"&&/^\d+$/.test(l.value)?l.value:"0"},async saveChannelListVersion(l){if(!/^\d+$/.test(l))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${l}`);await c().put("meta",{key:Zt,value:l});},async getChannelMembers(l,f){if(f.length===0)return [];let g=c().transaction("channelMembers"),b=await Promise.all(f.map(u=>g.store.get([l,u])));return await g.done,b.filter(u=>u!==void 0)},async saveChannelMembers(l){if(l.length===0)return;let f=c().transaction("channelMembers","readwrite");for(let g of l){let b=await f.store.get([g.channelId,g.userId]);b!==void 0&&pu(g.updateVersion,b.updateVersion)<0||await f.store.put(g);}await f.done;},async deleteChannelMembers(l){let f=IDBKeyRange.bound([l,""],[l,Ee]),g=c().transaction("channelMembers","readwrite"),b=await g.store.openCursor(f);for(;b!==null;)await b.delete(),b=await b.continue();await g.done;},async getChannelMemberSnapshot(l){return await c().get("channelMemberSnapshots",l)??null},async saveChannelMemberSnapshot(l){await c().put("channelMemberSnapshots",l);},async deleteChannelMemberSnapshot(l){await c().delete("channelMemberSnapshots",l);},async getChannelMentionCandidateSnapshot(l){return await c().get("channelMentionCandidateSnapshots",l)??null},async saveChannelMentionCandidateSnapshot(l){await c().put("channelMentionCandidateSnapshots",l);},async deleteChannelMentionCandidateSnapshot(l){await c().delete("channelMentionCandidateSnapshots",l);}}}function vu(e={}){let n=e.createSocket??(p=>new globalThis.WebSocket(p)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,i,a="idle",s;function d(p,w){for(let C of [...r[p]])C(w);}function c(){s!==void 0&&(clearTimeout(s),s=void 0);}function y(p,w){w!==void 0&&(p.removeEventListener("open",w.onOpen),p.removeEventListener("message",w.onMessage),p.removeEventListener("error",w.onError),p.removeEventListener("close",w.onClose));}function P(){if(c(),o!==void 0){y(o,i);try{o.close(1e3);}catch{}o=void 0;}i=void 0;}function h(p,w,C){let M={onOpen:()=>{p===o&&(c(),a="open",d("open",{endpoint:w}));},onMessage:_=>{if(p!==o||a!=="open")return;let D=_?.data;if(D instanceof ArrayBuffer){d("message",{data:D});return}d("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof D}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:_=>{p===o&&d("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${_ instanceof Event?_.type:typeof _}\uFF09`)});},onClose:_=>{p===o&&(c(),y(p,M),o=void 0,i=void 0,a="closed",d("close",{code:_?.code??1006,reason:_?.reason??"",wasClean:_?.wasClean??false}));}};if(i=M,p.addEventListener("open",M.onOpen),p.addEventListener("message",M.onMessage),p.addEventListener("error",M.onError),p.addEventListener("close",M.onClose),C>0){let _=setTimeout(()=>{if(!(p!==o||a!=="connecting")){d("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${C}ms \u672A open\uFF09`)});try{p.close();}catch{}}},C);_.unref?.(),s=_;}}return {get state(){return a},async connect(p,w){let C=p[0];if(C===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");P(),a="connecting";let M;try{M=n(C.url);}catch(_){throw a="closed",_}M.binaryType="arraybuffer",o=M,h(M,C,w?.connectTimeoutMs??t);},async send(p){if(o===void 0||a!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${a}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(p);},async close(p=1e3,w){c(),o!==void 0&&(a==="connecting"||a==="open")&&(a="closing",o.close(p,w));},on(p,w){return r[p].add(w),()=>{r[p].delete(w);}}}}
|
|
7
|
+
export{Vc as $,Kr as $a,fc as A,_d as Aa,zi as B,xd as Ba,bc as C,pi as Ca,Cc as D,fi as Da,Pc as E,kd as Ea,vc as F,Td as Fa,Ac as G,Dd as Ga,Sc as H,Ud as Ha,Mc as I,Od as Ia,_c as J,Bd as Ja,xc as K,Hd as Ka,Rc as L,$d as La,Ec as M,qd as Ma,kc as N,Jd as Na,Tc as O,Vd as Oa,Dc as P,zd as Pa,Uc as Q,Wd as Qa,Oc as R,Kn as Ra,Bc as S,Pe as Sa,Kc as T,cl as Ta,Lc as U,dt as Ua,Hc as V,Wi as Va,On as W,ll as Wa,Bn as X,Dl as Xa,Fc as Y,K as Ya,qc as Z,Yi as Za,Jc as _,$n as _a,Ea as a,zc as aa,Jl as ab,ht as b,Yc as ba,J as bb,Ze as c,Qc as ca,Ql as cb,Y as d,Zc as da,Xl as db,ja as e,ed as ea,eu as eb,qa as f,nd as fa,Pu as fb,en as g,td as ga,Iu as gb,Ja as h,od as ha,vu as hb,as as i,ad as ia,ta as ib,Be as j,sd as ja,An as jb,Z as k,cd as ka,ma as kb,ys as l,dd as la,Ra as lb,hs as m,ld as ma,on as n,pd as na,fe as o,pn as oa,xs as p,md as pa,an as q,gd as qa,re as r,yd as ra,js as s,hd as sa,Ys as t,bd as ta,ec as u,wd as ua,nc as v,Cd as va,ac as w,Pd as wa,Ge as x,Id as xa,V as y,Sd as ya,Me as z,Md as za};
|