import{j2 as u,hm as d,e7 as g,i_ as I,t as A,k9 as B,bb as U,lM as b,lQ as S,lO as _}from"./BQCsJfSh.js";import{c as v,a as p,f as M}from"./yjcpNk9y.js";import{b6 as z,ao as x,b3 as H,ar as h,bK as w,bC as P}from"./DURqPrI0.js";import{p as k,i as C}from"./DM3z28FY.js";const N=({action:s,server:t,hashes:e=[],expiration:n=B()+60,content:r=`Authorization for ${s} at ${t}`})=>{const o=[["t",s],["expiration",n.toString()]];if(t&&o.push(["u",t]),e)for(const a of e)o.push(["x",a]);return I(A,{content:r,tags:o})},f=(s,t,e)=>{const n=new URL(s),r=e?`${t}.${e}`:t;return`${n.origin}/${r}`},Z=async(s,t,{headers:e={},authEvent:n}={})=>{const r=f(s,t);n&&(e.Authorization=u(n));try{const o=await fetch(r,{method:"HEAD",headers:e});if(o.status===200){const a=o.headers.get("content-length");return{exists:!0,size:a?parseInt(a,10):void 0}}return{exists:!1}}catch(o){throw new Error(`Failed to check blob existence: ${o}`)}},D=async(s,t,{headers:e={},authEvent:n,range:r}={})=>{const o=f(s,t);if(n&&(e.Authorization=u(n)),r){const{end:a,start:i}=r;e.Range=a!==void 0?`bytes=${i}-${a}`:`bytes=${i}-`}return fetch(o,{headers:e})},K=async(s,{headers:t={},authEvent:e}={})=>{const r=`${new URL(s).origin}/upload`;return e&&(t.Authorization=u(e)),fetch(r,{method:"HEAD",headers:t})},O=async(s,t,{headers:e={},authEvent:n}={})=>{const o=`${new URL(s).origin}/upload`,a=t instanceof Blob?t:new Blob([t]);return n&&(e.Authorization=u(n)),fetch(o,{method:"PUT",headers:e,body:a})},F=async(s,t,{headers:e={},authEvent:n}={})=>{const r=f(s,t);return n&&(e.Authorization=u(n)),fetch(r,{method:"DELETE",headers:e})},W=async(s,t,{headers:e={},authEvent:n,since:r,until:o}={})=>{const i=`${new URL(s).origin}/list/${t}`,c=new URLSearchParams;r!==void 0&&c.append("since",r.toString()),o!==void 0&&c.append("until",o.toString());const m=c.toString()?`${i}?${c.toString()}`:i;return n&&(e.Authorization=u(n)),fetch(m,{headers:e})};async function J(s){const t=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),e=crypto.getRandomValues(new Uint8Array(12)),n=await s.arrayBuffer(),r=await crypto.subtle.encrypt({name:"AES-GCM",iv:e},t,n),o=await crypto.subtle.exportKey("raw",t);return{ciphertext:new Uint8Array(r),key:g(o),nonce:g(e),algorithm:"aes-gcm"}}async function V({key:s,nonce:t,ciphertext:e,algorithm:n}){if(n!=="aes-gcm")throw new Error(`Unknown algorithm ${n}`);const r=d(s),o=d(t),a=await crypto.subtle.importKey("raw",r,{name:"AES-GCM"},!1,["decrypt"]),i=await crypto.subtle.decrypt({name:"AES-GCM",iv:o},a,e);return new Uint8Array(i)}const R="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI2IiByPSI0IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS41Ii8+PGVsbGlwc2UgY3g9IjEyIiBjeT0iMTciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHJ4PSI3IiByeT0iNCIvPjwvc3ZnPg==",X=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));var j=M("<img/>");function q(s,t){z(t,!0);const e=k(t,"size",3,5),n=e()*.25,r=w(()=>`width: ${n}rem; height: ${n}rem; min-width: ${n}rem; min-height: ${n}rem${t.style?`; ${t.style}`:""}`);var o=v(),a=x(o);{var i=l=>{U(l,{get icon(){return t.src},get size(){return e()},get style(){return t.style},get class(){return t.class}})},c=w(()=>t.src.includes("image/svg")||t.src.endsWith(".svg")),m=l=>{var y=j();P(()=>{b(y,"src",t.src),b(y,"alt",t.alt),S(y,h(r)),_(y,1,`aspect-square object-cover ${t.class??""}`)}),p(l,y)};C(a,l=>{h(c)?l(i):l(m,-1)})}p(s,o),H()}export{q as I,R as U,X as _,Z as a,f as b,K as c,V as d,F as e,J as f,D as g,W as l,N as m,O as u};
//# sourceMappingURL=r_eeToVa.js.map
