gemi 0.4.32 → 0.4.34
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/app/App.d.ts.map +1 -1
- package/dist/app/createFlatApiRoutes.d.ts.map +1 -1
- package/dist/app/index.js +21 -21
- package/dist/bin/index.js +2 -1
- package/dist/chunk-01e1579811beb424.js +2 -0
- package/dist/chunk-03227f4a68e038f4.js +2 -0
- package/dist/chunk-073f5b81e98d91fe.js +3 -0
- package/dist/chunk-0a6614fbd65524af.js +2 -0
- package/dist/chunk-0b46ec66d2c3d5f3.js +2 -0
- package/dist/chunk-0b5fb4e0c7de8316.js +2 -0
- package/dist/chunk-0b99ba34351bde91.js +3 -0
- package/dist/chunk-0e99fe5c976c8ea2.js +6 -0
- package/dist/chunk-0ffc38ed09847e35.js +2 -0
- package/dist/chunk-100b76ab0ca3e14d.js +1 -0
- package/dist/chunk-1109657ed53fbdc9.js +2 -0
- package/dist/chunk-11fb7f7f30378785.js +2 -0
- package/dist/chunk-12b4f44a2beae19b.js +2 -0
- package/dist/chunk-12ca7224eb6ccf72.js +9 -0
- package/dist/chunk-159f5b922269aef1.js +2 -0
- package/dist/chunk-16a63b2fee0ce9e2.js +2 -0
- package/dist/chunk-176e5ded5ed33d4d.js +2 -0
- package/dist/chunk-1875b98b6a064557.js +2 -0
- package/dist/chunk-1cc0d1072ee4a92b.js +2 -0
- package/dist/chunk-1efe790f8b4ad86d.js +2 -0
- package/dist/chunk-1fab30ab853c48cc.js +2 -0
- package/dist/chunk-223b0aac9e62386a.js +2 -0
- package/dist/chunk-23c287376e277e1d.js +6 -0
- package/dist/chunk-241584e48397dda8.js +2 -0
- package/dist/chunk-26d58ddc3a89234f.js +2 -0
- package/dist/chunk-2a0d1475ac05027d.js +2 -0
- package/dist/chunk-2cf271e24c26b0ee.js +2 -0
- package/dist/chunk-2ec287222364c6b6.js +2 -0
- package/dist/chunk-2f7091b9e4f728c7.js +2 -0
- package/dist/chunk-2f7aac67f16768a5.js +1 -0
- package/dist/chunk-328c98321c6ba3d6.js +2 -0
- package/dist/chunk-34786cd9bc9be20b.js +18 -0
- package/dist/chunk-35ab4be8ca6c67ee.js +2 -0
- package/dist/chunk-36b8e37ca93fcc67.js +2 -0
- package/dist/chunk-370389a68668658a.js +2 -0
- package/dist/chunk-3728fa21e6931333.js +2 -0
- package/dist/chunk-382a513747a9aa52.js +6 -0
- package/dist/chunk-3afa6cad1106f55a.js +2 -0
- package/dist/chunk-3bd48fb5397a155b.js +5 -0
- package/dist/chunk-3bf6f8c8e8589e3d.js +2 -0
- package/dist/chunk-4432f8d8567e682b.js +9 -0
- package/dist/chunk-46528bdbb2218772.js +2 -0
- package/dist/chunk-47c4cec992af0689.js +2 -0
- package/dist/chunk-4b201cccdf6d290f.js +2 -0
- package/dist/chunk-4d19e16340534ed0.js +2 -0
- package/dist/chunk-4e023976eb557258.js +2 -0
- package/dist/chunk-4ffecff075e73d43.js +2 -0
- package/dist/chunk-50b440397d41ab5a.js +2 -0
- package/dist/chunk-50ea27a13eb62b5e.js +2 -0
- package/dist/chunk-514f8554fb446139.js +9 -0
- package/dist/chunk-51c21d2a3c45fbe1.js +2 -0
- package/dist/chunk-5656abf3151c8fa2.js +2 -0
- package/dist/chunk-57a61e580c4adf80.js +2 -0
- package/dist/chunk-596024c880387c2f.js +2 -0
- package/dist/chunk-5a9fa677066f72ac.js +2 -0
- package/dist/chunk-5b836c769c5dad2a.js +2 -0
- package/dist/chunk-5cd0a98345a5d57a.js +2 -0
- package/dist/chunk-62144f9c5008bd47.js +1 -0
- package/dist/chunk-62b2777c629d5157.js +2 -0
- package/dist/chunk-62c0f9a87ad8a46b.js +2 -0
- package/dist/chunk-63ad0436d3d896b5.js +3 -0
- package/dist/chunk-640e4bdae1671873.js +1 -0
- package/dist/chunk-6605e290c4de1f0e.js +6 -0
- package/dist/chunk-6766e66417809e1a.js +2 -0
- package/dist/chunk-6821bb0ff6ed2452.js +18 -0
- package/dist/chunk-6921ba2fa2e1adea.js +2 -0
- package/dist/chunk-6afe097e13ebdf55.js +2 -0
- package/dist/chunk-70bb003c03f21dad.js +2 -0
- package/dist/chunk-711f86b9d50d45fe.js +18 -0
- package/dist/chunk-72821f055108528e.js +2 -0
- package/dist/chunk-73eed146ee78f681.js +1 -0
- package/dist/chunk-74db07ba7b97d1c1.js +2 -0
- package/dist/chunk-76db0552d2492ee7.js +3 -0
- package/dist/chunk-77d5bbc7a9117c21.js +2 -0
- package/dist/chunk-7975e27df461cbfb.js +6 -0
- package/dist/chunk-79b438007611560a.js +2 -0
- package/dist/chunk-79f7d7d90c4fb51a.js +2 -0
- package/dist/chunk-7a318e738fec6c2b.js +3 -0
- package/dist/chunk-7abc696047809312.js +6 -0
- package/dist/chunk-7c62e9d6edc4b418.js +2 -0
- package/dist/chunk-7c670baec90faacb.js +2 -0
- package/dist/chunk-8295e42bcfc910ff.js +16 -0
- package/dist/chunk-8401f0f53dc26633.js +1 -0
- package/dist/chunk-84b129a5185ac24d.js +2 -0
- package/dist/chunk-84c7f86a97d17f53.js +2 -0
- package/dist/chunk-84f1b068dc7fc8b7.js +2 -0
- package/dist/chunk-860f5fcef7074193.js +9 -0
- package/dist/chunk-880273a32da461fd.js +9 -0
- package/dist/chunk-89187bbdf6945131.js +2 -0
- package/dist/chunk-895d9b1ef7a65211.js +2 -0
- package/dist/chunk-8aa3e0e20e411d11.js +2 -0
- package/dist/chunk-8bb91c504b9ca45e.js +2 -0
- package/dist/chunk-8c3e0f5d4a0d6e53.js +2 -0
- package/dist/chunk-8f24cd33e07d02f3.js +2 -0
- package/dist/chunk-933845e73519b4c5.js +2 -0
- package/dist/chunk-94578320d28e33ad.js +2 -0
- package/dist/chunk-9938e9a4fe25dda5.js +2 -0
- package/dist/chunk-9bd00e182ac2f8a6.js +6 -0
- package/dist/chunk-9c4a4b4bd266869d.js +2 -0
- package/dist/chunk-9ee2118bd4eb34ae.js +9 -0
- package/dist/chunk-a095821ffc039b99.js +18 -0
- package/dist/chunk-a3526e321ac9d173.js +1 -0
- package/dist/chunk-a4862acc0c3fed7d.js +6 -0
- package/dist/chunk-a50b9cd348c3e882.js +9 -0
- package/dist/chunk-a57ecc74c0fb9045.js +2 -0
- package/dist/chunk-a5c18c07abe8fd9c.js +2 -0
- package/dist/chunk-a719a1f305964521.js +2 -0
- package/dist/chunk-a816613f5321b9db.js +1 -0
- package/dist/chunk-a8310ad9bad32329.js +2 -0
- package/dist/chunk-aaf5855c5199efe9.js +2 -0
- package/dist/chunk-ab0c3f72f95cb4f4.js +3 -0
- package/dist/chunk-abd0b68c299eebfc.js +2 -0
- package/dist/chunk-b05cb7ef4546980d.js +2 -0
- package/dist/chunk-b1918e88103a8501.js +2 -0
- package/dist/chunk-b80a86610158cbfd.js +1 -0
- package/dist/chunk-bbd36ce62b950ee5.js +2 -0
- package/dist/chunk-bbdd098f2a2cd820.js +18 -0
- package/dist/chunk-bcd70a6fc2fd359c.js +1 -0
- package/dist/chunk-beca91bf7cc216cd.js +2 -0
- package/dist/chunk-bee6075c5738d87a.js +2 -0
- package/dist/chunk-c29701ffef4ca07a.js +2 -0
- package/dist/chunk-c50ff3cf3c78af79.js +2 -0
- package/dist/chunk-c62b5c4cec67029c.js +1 -0
- package/dist/chunk-c675395110f371b1.js +6 -0
- package/dist/chunk-c675f193d459818e.js +2 -0
- package/dist/chunk-c8631aa6bbb62e13.js +2 -0
- package/dist/chunk-c864ab57913d658f.js +1 -0
- package/dist/chunk-c8b00b645df96ed5.js +2 -0
- package/dist/chunk-c9707ae8f1d346ff.js +3 -0
- package/dist/chunk-cb65fe402653c65e.js +2 -0
- package/dist/chunk-cb69e9621a60d310.js +1 -0
- package/dist/chunk-cfa9a65fae5ddaf4.js +2 -0
- package/dist/chunk-d0757747d9cc2e47.js +2 -0
- package/dist/chunk-d22136d39cf8465f.js +2 -0
- package/dist/chunk-d3765f96a689a0c1.js +2 -0
- package/dist/chunk-d9968563c6c84405.js +3 -0
- package/dist/chunk-d9a84b9122601b72.js +2 -0
- package/dist/chunk-db65c75cda396f98.js +2 -0
- package/dist/chunk-dd211856e049a67f.js +9 -0
- package/dist/chunk-de39fc86bbd37240.js +1 -0
- package/dist/chunk-e0e0f2ee626a6fb3.js +18 -0
- package/dist/chunk-e11c7f3abcf2269f.js +2 -0
- package/dist/chunk-e16b252158474b8c.js +1 -0
- package/dist/chunk-e9275fb341d2cdd9.js +2 -0
- package/dist/chunk-ea9b86cf2edd807b.js +18 -0
- package/dist/chunk-ec24a0767aa58f1f.js +18 -0
- package/dist/chunk-ee35048642cfe9d8.js +2 -0
- package/dist/chunk-ee4ff285d7f4ccdf.js +2 -0
- package/dist/chunk-ee604d0215ea07e6.js +1 -0
- package/dist/chunk-ee92e80230ce02ec.js +2 -0
- package/dist/chunk-f13fd46441a58606.js +2 -0
- package/dist/chunk-f2dca6305fcba70b.js +2 -0
- package/dist/chunk-f5b888aa9ac4e20f.js +2 -0
- package/dist/chunk-f8823a1ede83155e.js +2 -0
- package/dist/chunk-f95f5e3439539ca5.js +2 -0
- package/dist/chunk-f99bdfc336b2ac57.js +9 -0
- package/dist/chunk-faa8c62bfa11f9d5.js +2 -0
- package/dist/chunk-fec9f0b0b0319f3b.js +2 -0
- package/dist/client/QueryStore.d.ts +6 -1
- package/dist/client/QueryStore.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/email/index.js +1 -1
- package/dist/facades/Auth.d.ts +2 -0
- package/dist/facades/Auth.d.ts.map +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/http/ApiRouter.d.ts +28 -1
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/server/index.js +4 -4
- package/dist/storage/File.d.ts +22 -0
- package/dist/storage/File.d.ts.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/vite/index.js +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
interface PutParams {
|
|
3
|
+
name: string;
|
|
4
|
+
bucket?: string;
|
|
5
|
+
body: Blob | File | Buffer;
|
|
6
|
+
contentType?: string;
|
|
7
|
+
}
|
|
8
|
+
interface ReadParams {
|
|
9
|
+
name: string;
|
|
10
|
+
bucket?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class Storage {
|
|
13
|
+
static folder(path: string): {
|
|
14
|
+
put: (params: PutParams | Blob) => Promise<string>;
|
|
15
|
+
fetch: (params: ReadParams) => Promise<Response>;
|
|
16
|
+
};
|
|
17
|
+
static put(params: PutParams | Blob): Promise<string>;
|
|
18
|
+
static fetch(params: ReadParams | string): Promise<Response>;
|
|
19
|
+
static delete(): void;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=File.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../storage/File.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;sBAKF,SAAS,GAAG,IAAI;wBAcd,UAAU;;WAqBvB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;WAiC5B,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAgC9C,MAAM,CAAC,MAAM;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import"../chunk-3728fa21e6931333.js";import{x as W} from"../chunk-a5c18c07abe8fd9c.js";import{$ as $r,A as Gg,B as J,C as Qr,D as Hr,F as Qg,K as jm,L as Dl,M as oh,N as Ar,O as v,Q as ws,T as ar,U as nh,V as Sr,W as ph,X as gs,Y as zr,_ as Tf,aa as Hh,ba as O,ca as uh,da as wg,ea as ag,fa as Fg,ga as Kg,ia as C,ka as th,ma as Pg,na as Ng,z as Cg} from"../chunk-3bd48fb5397a155b.js";import{$a as lg,Aa as Fh,Ba as Yg,Ca as Sg,Da as Rg,Ea as Ag,Fa as kg,Ga as Bg,Ha as vg,Ia as Kh,Ja as kr,Ka as Ir,La as Og,Ma as Ig,Na as sl,Oa as dg,Pa as qg,Qa as Eg,Ra as _g,Sa as ea,Ta as or,Ua as eg,Va as ng,Wa as sg,Xa as es,Ya as fg,Za as Ds,_a as $g,ab as hg,bb as Mg,cb as Wg,db as Vg,oa as Lg,pa as Xg,qa as Jg,ra as Hg,sa as Nl,ta as ew,ua as n,va as p,wa as Xs,xa as yg,ya as Ch,za as Gh} from"../chunk-8295e42bcfc910ff.js";import{eb as $w} from"../chunk-a57ecc74c0fb9045.js";import{fb as Ja,gb as c} from"../chunk-bcd70a6fc2fd359c.js";import"../chunk-1109657ed53fbdc9.js";import{ib as Ug} from"../chunk-12ca7224eb6ccf72.js";import"../chunk-a3526e321ac9d173.js";function ww(r){return(s)=>async(f)=>{const{request:l}=f;if(J.isInstance(l)&&l.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")l.headers={...l.headers,Expect:"100-continue"}}return s({...f,request:l})}}var aw={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},fl=(r)=>({applyToStack:(s)=>{s.add(ww(r),aw)}});function Rw(){return(r,s)=>async(f)=>{const{request:l}=f;if(J.isInstance(l)){if(!(Sw in l.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof Hr))s.logger.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.");else console.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.")}return r({...f})}}var Sw="content-length",Aw={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},ll=(r)=>({applyToStack:(s)=>{s.add(Rw(),Aw)}});var hl=(r)=>{return(s,f)=>async(l)=>{const h=await r.region(),m=r.region;let g=()=>{};if(f.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return f.__s3RegionRedirect}}),g=()=>Object.defineProperty(r,"region",{writable:!0,value:m});try{const w=await s(l);if(f.__s3RegionRedirect){g();const a=await r.region();if(h!==a)throw new Error("Region was not restored following S3 region redirect.")}return w}catch(w){throw g(),w}}},ml={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function kw(r){return(s,f)=>async(l)=>{try{return await s(l)}catch(h){if(r.followRegionRedirects&&h?.$metadata?.httpStatusCode===301){try{const m=h.$response.headers["x-amz-bucket-region"];f.logger?.debug(`Redirecting from ${await r.region()} to ${m}`),f.__s3RegionRedirect=m}catch(m){throw new Error("Region redirect failed: "+m)}return s(l)}else throw h}}}var Iw={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},gl=(r)=>({applyToStack:(s)=>{s.add(kw(r),Iw),s.addRelativeTo(hl(r),ml)}});var dw=(r)=>{return(s,f)=>async(l)=>{const h=await s(l),{response:m}=h;if(Qr.isInstance(m)){if(m.headers.expires){m.headers.expiresstring=m.headers.expires;try{$r(m.headers.expires)}catch(g){f.logger?.warn(`AWS SDK Warning for ${f.clientName}::${f.commandName} response parsing (${m.headers.expires}): ${g}`),delete m.headers.expires}}}return h}},Ew={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},wl=(r)=>({applyToStack:(s)=>{s.addRelativeTo(dw(r),Ew)}});class sr{constructor(r={}){this.data=r,this.lastPurgeTime=Date.now()}get(r){const s=this.data[r];if(!s)return;return s}set(r,s){return this.data[r]=s,s}delete(r){delete this.data[r]}async purgeExpired(){const r=Date.now();if(this.lastPurgeTime+sr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const f=this.data[s];if(!f.isRefreshing){const l=await f.identity;if(l.expiration){if(l.expiration.getTime()<r)delete this.data[s]}}}}}sr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class fr{constructor(r,s=!1,f=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=f}get identity(){return this.accessed=Date.now(),this._identity}}class lr{constructor(r,s=new sr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const f=s.Bucket,{cache:l}=this,h=l.get(f);if(h)return h.identity.then((m)=>{if((m.expiration?.getTime()??0)<Date.now())return l.set(f,new fr(this.getIdentity(f))).identity;if((m.expiration?.getTime()??0)<Date.now()+lr.REFRESH_WINDOW_MS&&!h.isRefreshing)h.isRefreshing=!0,this.getIdentity(f).then((a)=>{l.set(f,new fr(Promise.resolve(a)))});return m});return l.set(f,new fr(this.getIdentity(f))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((l)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+l)});const s=await this.createSessionFn(r);if(!s.Credentials?.AccessKeyId||!s.Credentials?.SecretAccessKey)throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:s.Credentials.AccessKeyId,secretAccessKey:s.Credentials.SecretAccessKey,sessionToken:s.Credentials.SessionToken,expiration:s.Credentials.Expiration?new Date(s.Credentials.Expiration):void 0}}}lr.REFRESH_WINDOW_MS=60000;var Il=W(ew(),1);var al="Directory",Sl="S3Express",Rl="sigv4-s3express",yr="X-Amz-S3session-Token",Mr=yr.toLowerCase(),Pw="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Nw="s3_disable_express_session_auth",Zs={environmentVariableSelector:(r)=>n(r,Pw,p.ENV),configFileSelector:(r)=>n(r,Nw,p.CONFIG),default:!1};var Al=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},kl=function(r,s){const f=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),l=r.credentialProvider,h=()=>{return clearTimeout(f),r.credentialProvider=l,Promise.resolve(s)};r.credentialProvider=h};class Yr extends Il.SignatureV4{async signWithCredentials(r,s,f){const l=Al(s);r.headers[Mr]=s.sessionToken;const h=this;return kl(h,l),h.signRequest(r,f??{})}async presignWithCredentials(r,s,f){const l=Al(s);return delete r.headers[Mr],r.headers[yr]=s.sessionToken,r.query=r.query??{},r.query[yr]=s.sessionToken,kl(this,l),this.presign(r,f)}}var dl=(r)=>{return(s,f)=>async(l)=>{if(f.endpointV2){const h=f.endpointV2,m=h.properties?.authSchemes?.[0]?.name===Rl;if(h.properties?.backend===Sl||h.properties?.bucketType===al)f.isS3ExpressBucket=!0;if(m){const w=l.input.Bucket;if(w){const a=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:w});if(f.s3ExpressIdentity=a,J.isInstance(l.request)&&a.sessionToken)l.request.headers[Mr]=a.sessionToken}}}return s(l)}},El={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Ls=(r)=>({applyToStack:(s)=>{s.add(dl(r),El)}});var el=W(Xs(),1);var Mw=W($w(),1),$l=W(Nl(),1);var Pl=async(r,s,f,l)=>{const h=await l.signWithCredentials(f,r,{});if(h.headers["X-Amz-Security-Token"]||h.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return h};var Uw=(r)=>(s)=>{throw s},Dw=(r,s)=>{};var Ml=(r)=>(s,f)=>async(l)=>{if(!J.isInstance(l.request))return s(l);const m=$l.getSmithyContext(f).selectedHttpAuthScheme;if(!m)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:g={}},identity:w,signer:a}=m;let P;if(f.s3ExpressIdentity)P=await Pl(f.s3ExpressIdentity,g,l.request,await r.signer());else P=await a.sign(l.request,w,g);const N=await s({...l,request:P}).catch((a.errorHandler||Uw)(g));return(a.successHandler||Dw)(N.response,g),N},Js=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Ml(r),el.httpSigningMiddlewareOptions)}});var Ul=(r,{session:s})=>{const[f,l]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new lr(async(h)=>f().send(new l({Bucket:h,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Br=W(Dl(),1),Tw={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},zw=3000,Cw=(r)=>(s,f)=>async(l)=>{const h=await s(l),{response:m}=h;if(!Qr.isInstance(m))return h;const{statusCode:g,body:w}=m;if(g<200||g>=300)return h;let a=w,P=w;if(w&&typeof w==="object"&&!(w instanceof Uint8Array))[a,P]=await Br.splitStream(w);m.body=P;const N=await Gw(a,{streamCollector:async(e)=>{return Br.headStream(e,zw)}});if(typeof a?.destroy==="function")a.destroy();const $=r.utf8Encoder(N.subarray(N.length-16));if(N.length===0&&Tw[f.commandName]){const e=new Error("S3 aborted request");throw e.name="InternalError",e}if($&&$.endsWith("</Error>"))m.statusCode=400;return h},Gw=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},Fw={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},vr=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Cw(r),Fw)}});var Hs=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function Tl(r){return(s,f)=>async(l)=>{if(r.bucketEndpoint){const h=f.endpointV2;if(h){const m=l.input.Bucket;if(typeof m==="string")try{const g=new URL(m);h.url=g}catch(g){const w=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${m} could not be parsed as URL.`;if(f.logger?.constructor?.name==="NoOpLogger")console.warn(w);else f.logger?.warn?.(w);throw g}}}return s(l)}}var zl={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Kw({bucketEndpoint:r}){return(s)=>async(f)=>{const{input:{Bucket:l}}=f;if(!r&&typeof l==="string"&&!Hs(l)&&l.indexOf("/")>=0){const h=new Error(`Bucket name shouldn't contain '/', received '${l}'`);throw h.name="InvalidBucketName",h}return s({...f})}}var Ww={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},Cl=(r)=>({applyToStack:(s)=>{s.add(Kw(r),Ww),s.addRelativeTo(Tl(r),zl)}});var Er=W(Xs(),1);var Gl=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var nr=W(or(),1);var Or={CrtSignerV4:null};class Qs{constructor(r){this.sigv4Signer=new Yr(r),this.signerOptions=r}async sign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().sign(r,s)}return this.sigv4Signer.sign(r,s)}async signWithCredentials(r,s,f={}){if(f.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().signWithCredentials(r,s,f)}return this.sigv4Signer.signWithCredentials(r,s,f)}async presign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().presign(r,s)}return this.sigv4Signer.presign(r,s)}async presignWithCredentials(r,s,f={}){if(f.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,f)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=Or.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\n`+'Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. \nYou must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. \nFor more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt',s}this.sigv4aSigner=new r({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}var Tr=W(Nl(),1);var hr={["required"]:!1,["type"]:"String"},mr={["required"]:!0,default:!1,["type"]:"Boolean"},Ur={["required"]:!1,["type"]:"Boolean"},B={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},E={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},d={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},D={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},Nh={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Fl={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},br={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Z={["ref"]:"Bucket"},V={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},cr={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},eh={["ref"]:"url"},$h={["fn"]:"uriEncode",["argv"]:[Z],["assign"]:"uri_encoded_bucket"},_={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},S={},Mh={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!1]},ys={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},ir={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Kl={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Wl={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},R={["fn"]:"not",["argv"]:[D]},Vl={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Zl={["fn"]:"not",["argv"]:[br]},Ll={["ref"]:"hardwareType"},Xl={["conditions"]:[R],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},qr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Ys={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Vw={["ref"]:"ForcePathStyle"},U={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},z={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},G={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},I={["fn"]:"not",["argv"]:[z]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},Jl={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},T={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},k={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Hl={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},A={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Ql={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},yl={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},Bs={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[eh,"isIp"]},!1]},vs={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:T,["headers"]:{}},gf={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:T,["headers"]:{}},Yl={["endpoint"]:gf,["type"]:"endpoint"},Os={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},Bl={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},_r={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},X={["ref"]:"bucketArn"},Uh={["ref"]:"arnType"},qs={["fn"]:"getAttr",["argv"]:[X,"service"]},wf={["ref"]:"accessPointName"},vl={["conditions"]:[d],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},Ol={["conditions"]:[B],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},ql={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},_s={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},Dh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},Th={["fn"]:"getAttr",["argv"]:[X,"accountId"]},js={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},_l={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},cs={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},bs={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},is={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},jl={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},cl={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Dr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},bl={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},il={["fn"]:"aws.parseArn",["argv"]:[Z]},xl={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:T,["headers"]:{}},ol={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:T,["headers"]:{}},nl={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:T,["headers"]:{}},xs={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:T,["headers"]:{}},pl={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:T,["headers"]:{}},ul={["ref"]:"UseObjectLambdaEndpoint"},os={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},tl={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},rh={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},sh={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},ns={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:T,["headers"]:{}},fh={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:{}},ps=[{["ref"]:"Region"}],Zw=[{["ref"]:"Endpoint"}],Lw=[Z],us=[d],jr=[B],u=[D,V],lh=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],hh=[cr],ts=[$h],rf=[Mh],gr=[E],mh=[{["fn"]:"substring",["argv"]:[Z,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],gh=[{["conditions"]:[E],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:_,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:_,["headers"]:{}},["type"]:"endpoint"}],wh=[{["fn"]:"substring",["argv"]:[Z,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],ah=[{["conditions"]:[E],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ir,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ir,["headers"]:{}},["type"]:"endpoint"}],Xw=[br],Sh=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Rh=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Jw=["*"],b=[Nh],Ah=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],i=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],sf=[{["fn"]:"stringEquals",["argv"]:[Uh,"accesspoint"]}],kh=[{["fn"]:"getAttr",["argv"]:[X,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[wf,""]}]}],Hw=[X,"resourceId[1]"],ff=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"region"]},""]}]}],Ih=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"resourceId[2]"]}]}]}],Qw=[X,"resourceId[2]"],lf=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"region"]}],["assign"]:"bucketPartition"}],dh=[{["fn"]:"stringEquals",["argv"]:[Dh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],hf=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"region"]},!0]}],mf=[{["fn"]:"isValidHostLabel",["argv"]:[Th,!1]}],Eh=[{["fn"]:"isValidHostLabel",["argv"]:[wf,!1]}],Ph=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],yw={version:"1.0",parameters:{Bucket:hr,Region:hr,UseFIPS:mr,UseDualStack:mr,Endpoint:hr,ForcePathStyle:mr,Accelerate:mr,UseGlobalEndpoint:mr,UseObjectLambdaEndpoint:Ur,Key:hr,Prefix:hr,CopySource:hr,DisableAccessPoints:Ur,DisableMultiRegionAccessPoints:mr,UseArnRegion:Ur,UseS3ExpressControlEndpoint:Ur,DisableS3ExpressSessionAuth:Ur},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:ps}],rules:[{["conditions"]:[B,E],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[d,D],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[D,E],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[D,B],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[E,Nh,Fl],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[br,{["fn"]:"substring",["argv"]:[Z,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:us,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:jr,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:u,rules:[{["conditions"]:lh,rules:[{["conditions"]:hh,rules:[{["conditions"]:ts,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:_,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:rf,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:_,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},ys],["type"]:"tree"},{["conditions"]:hh,rules:[{["conditions"]:ts,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:ir,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:rf,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:ir,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},ys],["type"]:"tree"},{["conditions"]:[Kl,Wl],rules:[{["conditions"]:[$h,R],rules:[{["conditions"]:gr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:_,["headers"]:S},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:_,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:rf,rules:[{["conditions"]:lh,rules:[{["conditions"]:mh,rules:gh,["type"]:"tree"},{["conditions"]:wh,rules:gh,["type"]:"tree"},Vl],["type"]:"tree"},{["conditions"]:mh,rules:ah,["type"]:"tree"},{["conditions"]:wh,rules:ah,["type"]:"tree"},Vl],["type"]:"tree"},ys],["type"]:"tree"},{["conditions"]:[Zl,Kl,Wl],rules:[{["conditions"]:u,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:_,["headers"]:S},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:_,["headers"]:S},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:_,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[br,{["fn"]:"substring",["argv"]:[Z,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[Z,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[Z,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[Z,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:ps,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Sh,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ll,"e"]}],rules:[{["conditions"]:Rh,rules:[Xl,{["conditions"]:u,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:qr,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:qr,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ll,"o"]}],rules:[{["conditions"]:Rh,rules:[Xl,{["conditions"]:u,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:qr,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:qr,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{error:"Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",["type"]:"error"}],["type"]:"tree"},{["conditions"]:Xw,rules:[{["conditions"]:[D,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Zw}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Ys,Mh],rules:[{["conditions"]:b,rules:[{["conditions"]:Ah,rules:[{["conditions"]:[B,Fl],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[d,E,U,R,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[d,E,U,R,I,F],rules:[{endpoint:Jl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[d,E,U,R,I,K],endpoint:Jl,["type"]:"endpoint"},{["conditions"]:[k,E,U,R,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,E,U,R,I,F],rules:[{endpoint:Hl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,E,U,R,I,K],endpoint:Hl,["type"]:"endpoint"},{["conditions"]:[d,A,B,R,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[d,A,B,R,I,F],rules:[{endpoint:Ql,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[d,A,B,R,I,K],endpoint:Ql,["type"]:"endpoint"},{["conditions"]:[d,A,U,R,z],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[d,A,U,R,I,F],rules:[{endpoint:yl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[d,A,U,R,I,K],endpoint:yl,["type"]:"endpoint"},{["conditions"]:[k,A,U,D,V,cr,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,A,U,D,V,Bs,z],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,A,U,D,V,cr,I,F],rules:[{["conditions"]:i,endpoint:vs,["type"]:"endpoint"},{endpoint:vs,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,A,U,D,V,Bs,I,F],rules:[{["conditions"]:i,endpoint:gf,["type"]:"endpoint"},Yl],["type"]:"tree"},{["conditions"]:[k,A,U,D,V,cr,I,K],endpoint:vs,["type"]:"endpoint"},{["conditions"]:[k,A,U,D,V,Bs,I,K],endpoint:gf,["type"]:"endpoint"},{["conditions"]:[k,A,B,R,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,A,B,R,I,F],rules:[{["conditions"]:i,endpoint:Os,["type"]:"endpoint"},{endpoint:Os,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,A,B,R,I,K],endpoint:Os,["type"]:"endpoint"},{["conditions"]:[k,A,U,R,z],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,A,U,R,I,F],rules:[{["conditions"]:i,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:S},["type"]:"endpoint"},{endpoint:Bl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,A,U,R,I,K],endpoint:Bl,["type"]:"endpoint"}],["type"]:"tree"},_r],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[D,V,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[eh,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!0]},Ys,A,k,U],rules:[{["conditions"]:b,rules:[{["conditions"]:Ah,rules:[Yl],["type"]:"tree"},_r],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ys,{["fn"]:"aws.parseArn",["argv"]:Lw,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[X,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Uh,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[qs,"s3-object-lambda"]}],rules:[{["conditions"]:sf,rules:[{["conditions"]:kh,rules:[vl,Ol,{["conditions"]:ff,rules:[ql,{["conditions"]:Ih,rules:[_s,{["conditions"]:lf,rules:[{["conditions"]:b,rules:[{["conditions"]:dh,rules:[{["conditions"]:hf,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Th,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:mf,rules:[{["conditions"]:Eh,rules:[{["conditions"]:u,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:js,["headers"]:S},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:js,["headers"]:S},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:js,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},_l],["type"]:"tree"},cs],["type"]:"tree"},bs],["type"]:"tree"},is],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},jl],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},cl],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:sf,rules:[{["conditions"]:kh,rules:[{["conditions"]:ff,rules:[{["conditions"]:sf,rules:[{["conditions"]:ff,rules:[ql,{["conditions"]:Ih,rules:[_s,{["conditions"]:lf,rules:[{["conditions"]:b,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Dh,"{partitionResult#name}"]}],rules:[{["conditions"]:hf,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[qs,"s3"]}],rules:[{["conditions"]:mf,rules:[{["conditions"]:Eh,rules:[{["conditions"]:jr,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[E,d],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Dr,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[E,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Dr,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,d],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Dr,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,k,D,V],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Dr,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Dr,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},_l],["type"]:"tree"},cs],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},bs],["type"]:"tree"},is],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},jl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[wf,!0]}],rules:[{["conditions"]:us,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:jr,error:"S3 MRAP does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",["type"]:"error"},{["conditions"]:[{["fn"]:"aws.partition",["argv"]:ps,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[X,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:Jw}]},["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid Access Point Name",["type"]:"error"}],["type"]:"tree"},cl],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[qs,"s3-outposts"]}],rules:[{["conditions"]:us,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:jr,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[X,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:Hw,["assign"]:"outpostId"}],rules:[{["conditions"]:Sh,rules:[_s,{["conditions"]:lf,rules:[{["conditions"]:b,rules:[{["conditions"]:dh,rules:[{["conditions"]:hf,rules:[{["conditions"]:mf,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:Qw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[X,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:u,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:bl,["headers"]:S},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:bl,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},{error:"Expected an outpost type `accesspoint`, found {outpostType}",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: expected an access point name",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Expected a 4-component resource",["type"]:"error"}],["type"]:"tree"},cs],["type"]:"tree"},bs],["type"]:"tree"},is],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[Z,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[il]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Vw,!0]},il],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:ts,rules:[{["conditions"]:b,rules:[{["conditions"]:[U],rules:[{["conditions"]:[d,R,E,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[d,R,E,I,F],rules:[{endpoint:xl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[d,R,E,I,K],endpoint:xl,["type"]:"endpoint"},{["conditions"]:[k,R,E,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,R,E,I,F],rules:[{endpoint:ol,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,R,E,I,K],endpoint:ol,["type"]:"endpoint"},{["conditions"]:[d,R,A,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[d,R,A,I,F],rules:[{endpoint:nl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[d,R,A,I,K],endpoint:nl,["type"]:"endpoint"},{["conditions"]:[k,D,V,A,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,D,V,A,I,F],rules:[{["conditions"]:i,endpoint:xs,["type"]:"endpoint"},{endpoint:xs,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,D,V,A,I,K],endpoint:xs,["type"]:"endpoint"},{["conditions"]:[k,R,A,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[k,R,A,I,F],rules:[{["conditions"]:i,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:T,["headers"]:S},["type"]:"endpoint"},{endpoint:pl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,R,A,I,K],endpoint:pl,["type"]:"endpoint"}],["type"]:"tree"},{error:"Path-style addressing cannot be used with S3 Accelerate",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[ul]},{["fn"]:"booleanEquals",["argv"]:[ul,!0]}],rules:[{["conditions"]:b,rules:[{["conditions"]:Ph,rules:[vl,Ol,{["conditions"]:u,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:os,["headers"]:S},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:os,["headers"]:S},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:os,["headers"]:S},["type"]:"endpoint"}],["type"]:"tree"},_r],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Zl],rules:[{["conditions"]:b,rules:[{["conditions"]:Ph,rules:[{["conditions"]:[E,d,R,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[E,d,R,I,F],rules:[{endpoint:tl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,d,R,I,K],endpoint:tl,["type"]:"endpoint"},{["conditions"]:[E,k,R,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[E,k,R,I,F],rules:[{endpoint:rh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,k,R,I,K],endpoint:rh,["type"]:"endpoint"},{["conditions"]:[A,d,R,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,d,R,I,F],rules:[{endpoint:sh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,d,R,I,K],endpoint:sh,["type"]:"endpoint"},{["conditions"]:[A,k,D,V,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,k,D,V,I,F],rules:[{["conditions"]:i,endpoint:ns,["type"]:"endpoint"},{endpoint:ns,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,k,D,V,I,K],endpoint:ns,["type"]:"endpoint"},{["conditions"]:[A,k,R,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:S},["type"]:"endpoint"},{["conditions"]:[A,k,R,I,F],rules:[{["conditions"]:i,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:T,["headers"]:S},["type"]:"endpoint"},{endpoint:fh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,k,R,I,K],endpoint:fh,["type"]:"endpoint"}],["type"]:"tree"},_r],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},zh=yw;var xr=(r,s={})=>{return Gh(zh,{endpointParams:r,logger:s.logger})};Ch.aws=Fh;var Vh=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,f)=>({signingProperties:{config:s,context:f}})}},Zh=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,f)=>({signingProperties:{config:s,context:f}})}},Yw=(r)=>async(s,f,l)=>{if(!l)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const h=await r(s,f,l),m=Tr.getSmithyContext(f)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!m)throw new Error(`getEndpointParameterInstructions() is not defined on \`${f.commandName}\``);const g=await Kh(l,{getEndpointParameterInstructions:m},s);return Object.assign(h,g)},Bw=async(r,s,f)=>{return{operation:Tr.getSmithyContext(s).operation,region:await Tr.normalizeProvider(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Wh=Yw(Bw),vw=(r,s,f)=>{return(h)=>{const g=r(h).properties?.authSchemes;if(!g)return s(h);const w=[];for(let a of g){const{name:P,properties:N={},...$}=a,e=P.toLowerCase();if(P!==e)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${P}\` to \`${e}\``);let H;if(e==="sigv4a"){H="aws.auth#sigv4a";const Jr=g.find((q)=>{const er=q.name.toLowerCase();return er!=="sigv4a"&&er.startsWith("sigv4")});if(!Or.CrtSignerV4&&Jr)continue}else if(e.startsWith("sigv4"))H="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${e}\``);const Q=f[H];if(!Q)throw new Error(`Could not find HttpAuthOption create function for \`${H}\``);const Y=Q(h);Y.schemeId=H,Y.signingProperties={...Y.signingProperties||{},...$,...N},w.push(Y)}return w}},Ow=(r)=>{const s=[];switch(r.operation){default:s.push(Vh(r)),s.push(Zh(r))}return s},Lh=vw(xr,Ow,{"aws.auth#sigv4":Vh,"aws.auth#sigv4a":Zh}),Xh=(r)=>{const s=nr.resolveAwsSdkSigV4Config(r);return{...nr.resolveAwsSdkSigV4AConfig(s)}};var Jh=(r)=>{return{...r,useFipsEndpoint:r.useFipsEndpoint??!1,useDualstackEndpoint:r.useDualstackEndpoint??!1,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,useGlobalEndpoint:r.useGlobalEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}},wr={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class L extends Hh{constructor(r){super(r);Object.setPrototypeOf(this,L.prototype)}}class pr extends L{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,pr.prototype)}}class ur extends L{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ur.prototype)}}class tr extends L{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,tr.prototype)}}class rs extends L{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,rs.prototype)}}class ss extends L{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,ss.prototype)}}var af;(function(r){r.visit=(s,f)=>{if(s.Prefix!==void 0)return f.Prefix(s.Prefix);if(s.Tag!==void 0)return f.Tag(s.Tag);if(s.And!==void 0)return f.And(s.And);return f._(s.$unknown[0],s.$unknown[1])}})(af||(af={}));var Sf;(function(r){r.visit=(s,f)=>{if(s.Prefix!==void 0)return f.Prefix(s.Prefix);if(s.Tag!==void 0)return f.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return f.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return f.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return f.And(s.And);return f._(s.$unknown[0],s.$unknown[1])}})(Sf||(Sf={}));var Rf;(function(r){r.visit=(s,f)=>{if(s.Prefix!==void 0)return f.Prefix(s.Prefix);if(s.Tag!==void 0)return f.Tag(s.Tag);if(s.AccessPointArn!==void 0)return f.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return f.And(s.And);return f._(s.$unknown[0],s.$unknown[1])}})(Rf||(Rf={}));var Af;(function(r){r.visit=(s,f)=>{if(s.Prefix!==void 0)return f.Prefix(s.Prefix);if(s.Tag!==void 0)return f.Tag(s.Tag);if(s.And!==void 0)return f.And(s.And);return f._(s.$unknown[0],s.$unknown[1])}})(Af||(Af={}));class fs extends L{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,fs.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class ls extends L{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,ls.prototype)}}class hs extends L{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,hs.prototype)}}var qw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:v},...r.SessionToken&&{SessionToken:v}}),Qh=(r)=>({...r,...r.Credentials&&{Credentials:qw(r.Credentials)}});var yh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v}}),Yh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:v}});var Rr=W(or(),1);var Ss=W(Xs(),1);class ms extends L{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ms.prototype)}}var Bh;(function(r){r.visit=(s,f)=>{if(s.Records!==void 0)return f.Records(s.Records);if(s.Stats!==void 0)return f.Stats(s.Stats);if(s.Progress!==void 0)return f.Progress(s.Progress);if(s.Cont!==void 0)return f.Cont(s.Cont);if(s.End!==void 0)return f.End(s.End);return f._(s.$unknown[0],s.$unknown[1])}})(Bh||(Bh={}));var vh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v}}),Oh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:v},...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v}});var rm=async(r,s)=>{const f=Ss.requestBuilder(r,s),l=C({},j,{[p3]:r[K3]});f.bp("/"),f.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const h=C({[i3]:[,""]});let m;return f.m("GET").h(l).q(h).b(m),f.build()};var sm=async(r,s)=>{const f=Ss.requestBuilder(r,s),l=C({},j,{[H3]:r[I3],[Q3]:[()=>j(r[qh]),()=>zr(r[qh]).toString()],[y3]:r[d3],[Y3]:[()=>j(r[_h]),()=>zr(r[_h]).toString()],[v3]:r[$3],[ks]:r[Rs],[Jm]:r[Nm],[Is]:r[As],[Zm]:r[Pm],[Fm]:r[Am],[n3]:r[h3]});f.bp("/{Key+}"),f.p("Bucket",()=>r.Bucket,"{Bucket}",!1),f.p("Key",()=>r.Key,"{Key+}",!0);const h=C({[ym]:[,"GetObject"],[O3]:[,r[M3]],[q3]:[,r[U3]],[_3]:[,r[D3]],[j3]:[,r[T3]],[c3]:[,r[z3]],[b3]:[()=>r.ResponseExpires!==void 0,()=>zr(r[C3]).toString()],[x3]:[,r[Zf]],[B3]:[()=>r.PartNumber!==void 0,()=>r[e3].toString()]});let m;return f.m("GET").h(l).q(h).b(m),f.build()};var fm=async(r,s)=>{const f=Ss.requestBuilder(r,s),l=C({},j,{[zm]:r[Rm]||"application/octet-stream",[o3]:r[s3],[Mm]:r[gm],[Um]:r[wm],[Dm]:r[am],[Tm]:r[Sm],[Mf]:[()=>j(r[Nf]),()=>r[Nf].toString()],[L3]:r[m3],[ha]:r[l3],[Lf]:r[Cf],[Xf]:r[Gf],[Jf]:r[Ff],[Hf]:r[Kf],[Uf]:[()=>j(r[ef]),()=>zr(r[ef]).toString()],[u3]:r[S3],[t3]:r[R3],[ra]:r[A3],[sa]:r[k3],[Qf]:r[Wf],[Lm]:r[Gr],[Qm]:r[$m],[ks]:r[Rs],[Jm]:r[Nm],[Is]:r[As],[yf]:r[Vf],[Xm]:r[em],[Fr]:[()=>j(r[as]),()=>r[as].toString()],[Zm]:r[Pm],[ma]:r[W3],[Wm]:r[dm],[Df]:[()=>j(r[$f]),()=>th(r[$f]).toString()],[Km]:r[Im],[Fm]:r[Am],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((w,a)=>{return w[`x-amz-meta-${a.toLowerCase()}`]=r.Metadata[a],w},{})});f.bp("/{Key+}"),f.p("Bucket",()=>r.Bucket,"{Bucket}",!1),f.p("Key",()=>r.Key,"{Key+}",!0);const h=C({[ym]:[,"PutObject"]});let m,g;if(r.Body!==void 0)g=r.Body,m=g;return f.m("PUT").h(l).q(h).b(m),f.build()};var lm=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return zf(r,s);const f=C({$metadata:y(r)}),l=ar(nh(await Rr.parseXmlBody(r.body,s)),"body");if(l[df]!=null)f[df]=r3(l[df],s);return f};var hm=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return zf(r,s);const f=C({$metadata:y(r),[w3]:[()=>r.headers[ch]!==void 0,()=>ws(r.headers[ch])],[f3]:[,r.headers[Z3]],[Cr]:[,r.headers[Gm]],[F3]:[,r.headers[fa]],[E3]:[()=>r.headers[jh]!==void 0,()=>ar($r(r.headers[jh]))],[Nf]:[()=>r.headers[Mf]!==void 0,()=>ph(r.headers[Mf])],[km]:[,r.headers[Cm]],[Cf]:[,r.headers[Lf]],[Gf]:[,r.headers[Xf]],[Ff]:[,r.headers[Jf]],[Kf]:[,r.headers[Hf]],[P3]:[()=>r.headers[bh]!==void 0,()=>gs(r.headers[bh])],[Zf]:[,r.headers[Hm]],[gm]:[,r.headers[Mm]],[wm]:[,r.headers[Um]],[am]:[,r.headers[Dm]],[Sm]:[,r.headers[Tm]],[g3]:[,r.headers[X3]],[Rm]:[,r.headers[zm]],[ef]:[()=>r.headers[Uf]!==void 0,()=>ar($r(r.headers[Uf]))],[a3]:[,r.headers[J3]],[$m]:[,r.headers[Qm]],[Wf]:[,r.headers[Qf]],[Rs]:[,r.headers[ks]],[As]:[,r.headers[Is]],[Vf]:[,r.headers[yf]],[as]:[()=>r.headers[Fr]!==void 0,()=>ws(r.headers[Fr])],[Gr]:[,r.headers[Lm]],[Em]:[,r.headers[Vm]],[G3]:[,r.headers[la]],[N3]:[()=>r.headers[ih]!==void 0,()=>gs(r.headers[ih])],[V3]:[()=>r.headers[xh]!==void 0,()=>gs(r.headers[xh])],[dm]:[,r.headers[Wm]],[$f]:[()=>r.headers[Df]!==void 0,()=>ar(Tf(r.headers[Df]))],[Im]:[,r.headers[Km]],Metadata:[,Object.keys(r.headers).filter((h)=>h.startsWith("x-amz-meta-")).reduce((h,m)=>{return h[m.substring(11)]=r.headers[m],h},{})]}),l=r.body;return s.sdkStreamMixin(l),f.Body=l,f};var mm=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return zf(r,s);const f=C({$metadata:y(r),[Cr]:[,r.headers[Gm]],[km]:[,r.headers[Cm]],[Cf]:[,r.headers[Lf]],[Gf]:[,r.headers[Xf]],[Ff]:[,r.headers[Jf]],[Kf]:[,r.headers[Hf]],[Wf]:[,r.headers[Qf]],[Zf]:[,r.headers[Hm]],[Rs]:[,r.headers[ks]],[As]:[,r.headers[Is]],[Vf]:[,r.headers[yf]],[em]:[,r.headers[Xm]],[as]:[()=>r.headers[Fr]!==void 0,()=>ws(r.headers[Fr])],[Em]:[,r.headers[Vm]]});return await oh(r.body,s),f};var zf=async(r,s)=>{const f={...r,body:await Rr.parseXmlErrorBody(r.body,s)},l=Rr.loadRestXmlErrorCode(r,f.body);switch(l){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await nw(f,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await tw(f,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await cw(f,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await bw(f,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await xw(f,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await iw(f,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await ow(f,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await pw(f,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await uw(f,s);default:const h=f.body;return jw({output:r,parsedBody:h,errorCode:l})}},jw=uh(L),cw=async(r,s)=>{const f=C({}),l=r.body,h=new tr({$metadata:y(r),...f});return O(h,r.body)},bw=async(r,s)=>{const f=C({}),l=r.body,h=new rs({$metadata:y(r),...f});return O(h,r.body)},iw=async(r,s)=>{const f=C({}),l=r.body;if(l[If]!=null)f[If]=Sr(l[If]);if(l[Gr]!=null)f[Gr]=Sr(l[Gr]);const h=new fs({$metadata:y(r),...f});return O(h,r.body)},xw=async(r,s)=>{const f=C({}),l=r.body,h=new ss({$metadata:y(r),...f});return O(h,r.body)},ow=async(r,s)=>{const f=C({}),l=r.body,h=new ls({$metadata:y(r),...f});return O(h,r.body)},nw=async(r,s)=>{const f=C({}),l=r.body,h=new pr({$metadata:y(r),...f});return O(h,r.body)},pw=async(r,s)=>{const f=C({}),l=r.body,h=new hs({$metadata:y(r),...f});return O(h,r.body)},uw=async(r,s)=>{const f=C({}),l=r.body,h=new ms({$metadata:y(r),...f});return O(h,r.body)},tw=async(r,s)=>{const f=C({}),l=r.body,h=new ur({$metadata:y(r),...f});return O(h,r.body)};var r3=(r,s)=>{const f={};if(r[kf]!=null)f[kf]=Sr(r[kf]);if(r[Ef]!=null)f[Ef]=Sr(r[Ef]);if(r[Pf]!=null)f[Pf]=Sr(r[Pf]);if(r[Cr]!=null)f[Cr]=ar(Tf(r[Cr]));return f};var y=(r)=>({httpStatusCode:r.statusCode,requestId:r.headers["x-amzn-requestid"]??r.headers["x-amzn-request-id"]??r.headers["x-amz-request-id"],extendedRequestId:r.headers["x-amz-id-2"],cfId:r.headers["x-amz-cf-id"]});var j=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var s3="ACL";var kf="AccessKeyId";var f3="AcceptRanges";var If="AccessTier";var as="BucketKeyEnabled";var df="Credentials",l3="ChecksumAlgorithm";var gm="CacheControl",Cf="ChecksumCRC32",Gf="ChecksumCRC32C",wm="ContentDisposition";var am="ContentEncoding";var Sm="ContentLanguage",Nf="ContentLength",h3="ChecksumMode",m3="ContentMD5";var g3="ContentRange";var Ff="ChecksumSHA1",Kf="ChecksumSHA256";var Rm="ContentType";var w3="DeleteMarker";var ef="Expires";var Am="ExpectedBucketOwner";var a3="ExpiresString";var km="ETag";var Cr="Expiration";var S3="GrantFullControl";var R3="GrantRead",A3="GrantReadACP";var k3="GrantWriteACP";var I3="IfMatch",qh="IfModifiedSince",d3="IfNoneMatch";var _h="IfUnmodifiedSince";var E3="LastModified";var P3="MissingMeta";var Im="ObjectLockLegalHoldStatus",dm="ObjectLockMode";var $f="ObjectLockRetainUntilDate";var N3="PartsCount";var e3="PartNumber";var $3="Range";var Em="RequestCharged",M3="ResponseCacheControl",U3="ResponseContentDisposition",D3="ResponseContentEncoding",T3="ResponseContentLanguage",z3="ResponseContentType";var C3="ResponseExpires";var Pm="RequestPayer";var G3="ReplicationStatus";var F3="Restore";var Ef="SecretAccessKey";var Gr="StorageClass";var K3="SessionMode";var Wf="ServerSideEncryption";var Rs="SSECustomerAlgorithm",Nm="SSECustomerKey",As="SSECustomerKeyMD5";var em="SSEKMSEncryptionContext",Vf="SSEKMSKeyId";var Pf="SessionToken";var W3="Tagging";var V3="TagCount";var Zf="VersionId";var $m="WebsiteRedirectLocation";var Z3="accept-ranges";var Mm="cache-control",Um="content-disposition",Dm="content-encoding",Tm="content-language",Mf="content-length",L3="content-md5",X3="content-range",zm="content-type";var Uf="expires";var Cm="etag",J3="expiresstring";var H3="if-match",Q3="if-modified-since";var y3="if-none-match";var Y3="if-unmodified-since";var jh="last-modified";var B3="partNumber";var v3="range",O3="response-cache-control",q3="response-content-disposition",_3="response-content-encoding",j3="response-content-language",c3="response-content-type",b3="response-expires";var i3="session";var x3="versionId";var o3="x-amz-acl";var Lf="x-amz-checksum-crc32",Xf="x-amz-checksum-crc32c",n3="x-amz-checksum-mode";var Jf="x-amz-checksum-sha1",Hf="x-amz-checksum-sha256";var p3="x-amz-create-session-mode";var ch="x-amz-delete-marker",Gm="x-amz-expiration",Fm="x-amz-expected-bucket-owner";var u3="x-amz-grant-full-control",t3="x-amz-grant-read",ra="x-amz-grant-read-acp";var sa="x-amz-grant-write-acp";var bh="x-amz-missing-meta";var ih="x-amz-mp-parts-count";var Km="x-amz-object-lock-legal-hold",Wm="x-amz-object-lock-mode",Df="x-amz-object-lock-retain-until-date";var fa="x-amz-restore",Vm="x-amz-request-charged";var Zm="x-amz-request-payer";var la="x-amz-replication-status";var Lm="x-amz-storage-class",ha="x-amz-sdk-checksum-algorithm";var Qf="x-amz-server-side-encryption",yf="x-amz-server-side-encryption-aws-kms-key-id",Fr="x-amz-server-side-encryption-bucket-key-enabled",Xm="x-amz-server-side-encryption-context",ks="x-amz-server-side-encryption-customer-algorithm",Jm="x-amz-server-side-encryption-customer-key",Is="x-amz-server-side-encryption-customer-key-md5",ma="x-amz-tagging",xh="x-amz-tagging-count";var Hm="x-amz-version-id",Qm="x-amz-website-redirect-location",ym="x-id";class Yf extends Ar.classBuilder().ep({...wr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,f,l){return[kr(f,this.serialize,this.deserialize),Ir(f,r.getEndpointParameterInstructions()),vr(f)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(void 0,Qh).ser(rm).de(lm).build(){}var Ym={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.629.0",scripts:{build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3",test:"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},main:"./dist-cjs/index.js",types:"./dist-types/index.d.ts",module:"./dist-es/index.js",sideEffects:!1,dependencies:{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/client-sso-oidc":"3.629.0","@aws-sdk/client-sts":"3.629.0","@aws-sdk/core":"3.629.0","@aws-sdk/credential-provider-node":"3.629.0","@aws-sdk/middleware-bucket-endpoint":"3.620.0","@aws-sdk/middleware-expect-continue":"3.620.0","@aws-sdk/middleware-flexible-checksums":"3.620.0","@aws-sdk/middleware-host-header":"3.620.0","@aws-sdk/middleware-location-constraint":"3.609.0","@aws-sdk/middleware-logger":"3.609.0","@aws-sdk/middleware-recursion-detection":"3.620.0","@aws-sdk/middleware-sdk-s3":"3.629.0","@aws-sdk/middleware-ssec":"3.609.0","@aws-sdk/middleware-user-agent":"3.620.0","@aws-sdk/region-config-resolver":"3.614.0","@aws-sdk/signature-v4-multi-region":"3.629.0","@aws-sdk/types":"3.609.0","@aws-sdk/util-endpoints":"3.614.0","@aws-sdk/util-user-agent-browser":"3.609.0","@aws-sdk/util-user-agent-node":"3.614.0","@aws-sdk/xml-builder":"3.609.0","@smithy/config-resolver":"^3.0.5","@smithy/core":"^2.3.2","@smithy/eventstream-serde-browser":"^3.0.6","@smithy/eventstream-serde-config-resolver":"^3.0.3","@smithy/eventstream-serde-node":"^3.0.5","@smithy/fetch-http-handler":"^3.2.4","@smithy/hash-blob-browser":"^3.1.2","@smithy/hash-node":"^3.0.3","@smithy/hash-stream-node":"^3.1.2","@smithy/invalid-dependency":"^3.0.3","@smithy/md5-js":"^3.0.3","@smithy/middleware-content-length":"^3.0.5","@smithy/middleware-endpoint":"^3.1.0","@smithy/middleware-retry":"^3.0.14","@smithy/middleware-serde":"^3.0.3","@smithy/middleware-stack":"^3.0.3","@smithy/node-config-provider":"^3.1.4","@smithy/node-http-handler":"^3.1.4","@smithy/protocol-http":"^4.1.0","@smithy/smithy-client":"^3.1.12","@smithy/types":"^3.3.0","@smithy/url-parser":"^3.0.3","@smithy/util-base64":"^3.0.0","@smithy/util-body-length-browser":"^3.0.0","@smithy/util-body-length-node":"^3.0.0","@smithy/util-defaults-mode-browser":"^3.0.14","@smithy/util-defaults-mode-node":"^3.0.14","@smithy/util-endpoints":"^2.0.5","@smithy/util-middleware":"^3.0.3","@smithy/util-retry":"^3.0.3","@smithy/util-stream":"^3.1.3","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.2",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.629.0","@tsconfig/node16":"16.1.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^16.18.96",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typescript:"~4.9.5"},engines:{node:">=16.0.0"},typesVersions:{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},files:["dist-*/**"],author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"},license:"Apache-2.0",browser:{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-s3"}};var Ts=W(or(),1);var wa="AWS_S3_USE_ARN_REGION",aa="s3_use_arn_region",Bm={environmentVariableSelector:(r)=>n(r,wa,p.ENV),configFileSelector:(r)=>n(r,aa,p.CONFIG),default:!1};var vm=W(ea(),1),{__extends:zA,__assign:CA,__rest:GA,__decorate:FA,__param:KA,__esDecorate:WA,__runInitializers:VA,__propKey:ZA,__setFunctionName:LA,__metadata:XA,__awaiter:ds,__generator:Es,__exportStar:JA,__createBinding:HA,__values:Ps,__read:QA,__spread:yA,__spreadArrays:YA,__spreadArray:BA,__await:vA,__asyncGenerator:OA,__asyncDelegator:qA,__asyncValues:_A,__makeTemplateObject:jA,__importStar:cA,__importDefault:bA,__classPrivateFieldGet:iA,__classPrivateFieldSet:xA,__classPrivateFieldIn:oA,__addDisposableResource:nA,__disposeResources:pA}=vm.default;import{Buffer as Om} from"buffer";var qm=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?Om.from(r,s):Om.from(r)};var Bf=(r)=>{const s=qm(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function Kr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return $a(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var $a=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Bf;function Wr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Vr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Zr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),f=0;while(f<r.length)s[f]=r[f],f+=1;return s}return Uint32Array.from(r)}var vf=function(){function r(){this.crc32=new t}return r.prototype.update=function(s){if(Wr(s))return;this.crc32.update(Kr(s))},r.prototype.digest=function(){return ds(this,void 0,void 0,function(){return Es(this,function(s){return[2,Vr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new t},r}();var t=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var f,l;try{for(var h=Ps(s),m=h.next();!m.done;m=h.next()){var g=m.value;this.checksum=this.checksum>>>8^Ua[(this.checksum^g)&255]}}catch(w){f={error:w}}finally{try{if(m&&!m.done&&(l=h.return))l.call(h)}finally{if(f)throw f.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var Ma=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],Ua=Zr(Ma);var x=W(jm(),1);var cm=W(jm(),1),_m=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class dr{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let f=7,l=Math.abs(Math.round(r));f>-1&&l>0;f--,l/=256)s[f]=l;if(r<0)_m(s);return new dr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)_m(r);return parseInt(cm.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class Of{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let h of Object.keys(r)){const m=this.fromUtf8(h);s.push(Uint8Array.from([m.byteLength]),m,this.formatHeaderValue(r[h]))}const f=new Uint8Array(s.reduce((h,m)=>h+m.byteLength,0));let l=0;for(let h of s)f.set(h,l),l+=h.byteLength;return f}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const f=new DataView(new ArrayBuffer(5));return f.setUint8(0,4),f.setInt32(1,r.value,!1),new Uint8Array(f.buffer);case"long":const l=new Uint8Array(9);return l[0]=5,l.set(r.value.bytes,1),l;case"binary":const h=new DataView(new ArrayBuffer(3+r.value.byteLength));h.setUint8(0,6),h.setUint16(1,r.value.byteLength,!1);const m=new Uint8Array(h.buffer);return m.set(r.value,3),m;case"string":const g=this.fromUtf8(r.value),w=new DataView(new ArrayBuffer(3+g.byteLength));w.setUint8(0,7),w.setUint16(1,g.byteLength,!1);const a=new Uint8Array(w.buffer);return a.set(g,3),a;case"timestamp":const P=new Uint8Array(9);return P[0]=8,P.set(dr.fromNumber(r.value.valueOf()).bytes,1),P;case"uuid":if(!Va.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const N=new Uint8Array(17);return N[0]=9,N.set(x.fromHex(r.value.replace(/\-/g,"")),1),N}}parse(r){const s={};let f=0;while(f<r.byteLength){const l=r.getUint8(f++),h=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+f,l));switch(f+=l,r.getUint8(f++)){case 0:s[h]={type:im,value:!0};break;case 1:s[h]={type:im,value:!1};break;case 2:s[h]={type:Da,value:r.getInt8(f++)};break;case 3:s[h]={type:Ta,value:r.getInt16(f,!1)},f+=2;break;case 4:s[h]={type:za,value:r.getInt32(f,!1)},f+=4;break;case 5:s[h]={type:Ca,value:new dr(new Uint8Array(r.buffer,r.byteOffset+f,8))},f+=8;break;case 6:const m=r.getUint16(f,!1);f+=2,s[h]={type:Ga,value:new Uint8Array(r.buffer,r.byteOffset+f,m)},f+=m;break;case 7:const g=r.getUint16(f,!1);f+=2,s[h]={type:Fa,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+f,g))},f+=g;break;case 8:s[h]={type:Ka,value:new Date(new dr(new Uint8Array(r.buffer,r.byteOffset+f,8)).valueOf())},f+=8;break;case 9:const w=new Uint8Array(r.buffer,r.byteOffset+f,16);f+=16,s[h]={type:Wa,value:`${x.toHex(w.subarray(0,4))}-${x.toHex(w.subarray(4,6))}-${x.toHex(w.subarray(6,8))}-${x.toHex(w.subarray(8,10))}-${x.toHex(w.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var bm;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(bm||(bm={}));var im="boolean",Da="byte",Ta="short",za="integer",Ca="long",Ga="binary",Fa="string",Ka="timestamp",Wa="uuid",Va=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function om({byteLength:r,byteOffset:s,buffer:f}){if(r<Za)throw new Error("Provided message too short to accommodate event stream message overhead");const l=new DataView(f,s,r),h=l.getUint32(0,!1);if(r!==h)throw new Error("Reported message length does not match received message length");const m=l.getUint32(xm,!1),g=l.getUint32(o,!1),w=l.getUint32(r-rr,!1),a=new t().update(new Uint8Array(f,s,o));if(g!==a.digest())throw new Error(`The prelude checksum specified in the message (${g}) does not match the calculated CRC32 checksum (${a.digest()})`);if(a.update(new Uint8Array(f,s+o,r-(o+rr))),w!==a.digest())throw new Error(`The message checksum (${a.digest()}) did not match the expected value of ${w}`);return{headers:new DataView(f,s+o+rr,m),body:new Uint8Array(f,s+o+rr+m,h-m-(o+rr+rr))}}var xm=4,o=xm*2,rr=4,Za=o+rr*2;class qf{constructor(r,s){this.headerMarshaller=new Of(r,s),this.messageBuffer=[],this.isEndOfStream=!1}feed(r){this.messageBuffer.push(this.decode(r))}endOfStream(){this.isEndOfStream=!0}getMessage(){const r=this.messageBuffer.pop(),s=this.isEndOfStream;return{getMessage(){return r},isEndOfStream(){return s}}}getAvailableMessages(){const r=this.messageBuffer;this.messageBuffer=[];const s=this.isEndOfStream;return{getMessages(){return r},isEndOfStream(){return s}}}encode({headers:r,body:s}){const f=this.headerMarshaller.format(r),l=f.byteLength+s.byteLength+16,h=new Uint8Array(l),m=new DataView(h.buffer,h.byteOffset,h.byteLength),g=new t;return m.setUint32(0,l,!1),m.setUint32(4,f.byteLength,!1),m.setUint32(8,g.update(h.subarray(0,8)).digest(),!1),h.set(f,12),h.set(s,f.byteLength+12),m.setUint32(l-4,g.update(h.subarray(8,l-4)).digest(),!1),h}decode(r){const{headers:s,body:f}=om(r);return{headers:this.headerMarshaller.parse(s),body:f}}formatHeaders(r){return this.headerMarshaller.format(r)}}class _f{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.decoder.decode(r)}}class jf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream)yield this.options.encoder.encode(r);if(this.options.includeEndFrame)yield new Uint8Array(0)}}class cf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream){const s=await this.options.deserializer(r);if(s===void 0)continue;yield s}}}class bf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.serializer(r)}}function nm(r){let s=0,f=0,l=null,h=null;const m=(w)=>{if(typeof w!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+w);s=w,f=4,l=new Uint8Array(w),new DataView(l.buffer).setUint32(0,w,!1)},g=async function*(){const w=r[Symbol.asyncIterator]();while(!0){const{value:a,done:P}=await w.next();if(P){if(!s)return;else if(s===f)yield l;else throw new Error("Truncated event message received.");return}const N=a.length;let $=0;while($<N){if(!l){const H=N-$;if(!h)h=new Uint8Array(4);const Q=Math.min(4-f,H);if(h.set(a.slice($,$+Q),f),f+=Q,$+=Q,f<4)break;m(new DataView(h.buffer).getUint32(0,!1)),h=null}const e=Math.min(s-f,N-$);if(l.set(a.slice($,$+e),f),f+=e,$+=e,s&&s===f)yield l,l=null,s=0,f=0}}};return{[Symbol.asyncIterator]:g}}function pm(r,s){return async function(f){const{value:l}=f.headers[":message-type"];if(l==="error"){const h=new Error(f.headers[":error-message"].value||"UnknownError");throw h.name=f.headers[":error-code"].value,h}else if(l==="exception"){const h=f.headers[":exception-type"].value,m={[h]:f},g=await r(m);if(g.$unknown){const w=new Error(s(f.body));throw w.name=h,w}throw g[h]}else if(l==="event"){const h={[f.headers[":event-type"].value]:f},m=await r(h);if(m.$unknown)return;return m}else throw Error(`Unrecognizable event type: ${f.headers[":event-type"].value}`)}}class Ns{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new qf(r,s),this.utfEncoder=r}deserialize(r,s){const f=nm(r);return new cf({messageStream:new _f({inputStream:f,decoder:this.eventStreamCodec}),deserializer:pm(s,this.utfEncoder)})}serialize(r,s){return new jf({messageStream:new bf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as La} from"stream";async function*um(r){let s=!1,f=!1;const l=new Array;r.on("error",(h)=>{if(!s)s=!0;if(h)throw h}),r.on("data",(h)=>{l.push(h)}),r.on("end",()=>{s=!0});while(!f){const h=await new Promise((m)=>setTimeout(()=>m(l.shift()),0));if(h)yield h;f=s&&l.length===0}}class xf{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Ns({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const f=typeof r[Symbol.asyncIterator]==="function"?r:um(r);return this.universalMarshaller.deserialize(f,s)}serialize(r,s){return La.from(this.universalMarshaller.serialize(r,s))}}var tm=(r)=>new xf(r);import{Writable as Xa} from"stream";class $s extends Xa{constructor(r,s){super(s);this.hash=r}_write(r,s,f){try{this.hash.update(es(r))}catch(l){return f(l)}f()}}var rg=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const f=new r,l=new $s(f);return s.pipe(l),new Promise((h,m)=>{s.on("error",(g)=>{l.end(),m(g)}),l.on("error",m),l.on("finish",()=>{f.digest().then(h).catch(m)})})};var Ms=W(or(),1);var mg=W(Ja(),1);var Us=W(Dl(),1);var gg=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??lg,base64Encoder:r?.base64Encoder??hg,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??xr,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??Us.getAwsChunkedEncodingStream,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Lh,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new Ms.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new Ms.AwsSdkSigV4ASigner}],logger:r?.logger??new Hr,sdkStreamMixin:r?.sdkStreamMixin??Us.sdkStreamMixin,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??Qs,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??mg.parseUrl,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??sg,utf8Encoder:r?.utf8Encoder??fg}};var Dg=(r)=>{ag(process.version);const s=Mg(r),f=()=>s().then(wg),l=gg(r);return Ts.emitWarningIfUnsupportedVersion(process.version),{...l,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??$g,credentialDefaultProvider:r?.credentialDefaultProvider??Ug,defaultUserAgentProvider:r?.defaultUserAgentProvider??eg({serviceId:l.serviceId,clientVersion:Ym.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??c(Zs),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??tm,maxAttempts:r?.maxAttempts??c(dg),md5:r?.md5??Ds.bind(null,"md5"),region:r?.region??c(Ag,kg),requestHandler:Pg.create(r?.requestHandler??f),retryMode:r?.retryMode??c({...Eg,default:async()=>(await f()).retryMode||Ig}),sha1:r?.sha1??Ds.bind(null,"sha1"),sha256:r?.sha256??Ds.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??c(Ts.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Ng,streamHasher:r?.streamHasher??rg,useArnRegion:r?.useArnRegion??c(Bm),useDualstackEndpoint:r?.useDualstackEndpoint??c(Sg),useFipsEndpoint:r?.useFipsEndpoint??c(Rg)}};var Tg=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:f,credentials:l}=r;return{setHttpAuthScheme(h){const m=s.findIndex((g)=>g.schemeId===h.schemeId);if(m===-1)s.push(h);else s.splice(m,1,h)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(h){f=h},httpAuthSchemeProvider(){return f},setCredentials(h){l=h},credentials(){return l}}},zg=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var zs=(r)=>r,Zg=(r,s)=>{const f={...zs(Wg(r)),...zs(Fg(r)),...zs(Cg(r)),...zs(Tg(r))};return s.forEach((l)=>l.configure(f)),{...r,...Vg(f),...Kg(f),...Gg(f),...zg(f)}};class of extends Qg{constructor(...[r]){const s=Dg(r||{}),f=Jh(s),l=yg(f),h=qg(l),m=Bg(h),g=Lg(m),w=Og(g),a=Gl(w),P=Xh(a),N=Ul(P,{session:[()=>this,Yf]}),$=Zg(N,r?.extensions||[]);super($);this.config=$,this.middlewareStack.use(Yg(this.config)),this.middlewareStack.use(_g(this.config)),this.middlewareStack.use(vg(this.config)),this.middlewareStack.use(Xg(this.config)),this.middlewareStack.use(Jg(this.config)),this.middlewareStack.use(Hg(this.config)),this.middlewareStack.use(Er.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Wh,identityProviderConfigProvider:async(e)=>new Er.DefaultIdentityProviderConfig({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(Er.getHttpSigningPlugin(this.config)),this.middlewareStack.use(Cl(this.config)),this.middlewareStack.use(fl(this.config)),this.middlewareStack.use(gl(this.config)),this.middlewareStack.use(Ls(this.config)),this.middlewareStack.use(Js(this.config))}destroy(){super.destroy()}}function Ha(r){return(s)=>async(f)=>{const l={...f.input},h=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let m of h){const g=l[m.target];if(g){let w;if(typeof g==="string")if(ya(g,r))w=r.base64Decoder(g);else w=r.utf8Decoder(g),l[m.target]=r.base64Encoder(w);else w=ArrayBuffer.isView(g)?new Uint8Array(g.buffer,g.byteOffset,g.byteLength):new Uint8Array(g),l[m.target]=r.base64Encoder(w);const a=new r.md5;a.update(w),l[m.hash]=r.base64Encoder(await a.digest())}}return s({...f,input:l})}}function ya(r,s){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))return!1;try{return s.base64Decoder(r).length===32}catch{return!1}}var Qa={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},Cs=(r)=>({applyToStack:(s)=>{s.add(Ha(r),Qa)}});var M;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(M||(M={}));var jg;(function(r){r.HEADER="header",r.TRAILER="trailer"})(jg||(jg={}));var{MD5:cg,CRC32:bg}=M;var Lr=[M.CRC32,M.CRC32C,M.SHA1,M.SHA256],ig=[M.CRC32,M.CRC32C,M.SHA1,M.SHA256];var xg=(r,{requestChecksumRequired:s,requestAlgorithmMember:f},l)=>{const h=l?bg:cg;if(!f||!r[f])return s?h:void 0;const m=r[f];if(!Lr.includes(m))throw new Error(`The checksum algorithm "${m}" is not supported by the client.`+` Select one of ${Lr}.`);return m};var Pr=(r)=>r===M.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var og=(r,s)=>{const f=r.toLowerCase();for(let l of Object.keys(s))if(f===l.toLowerCase())return!0;return!1};var Nr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!ng(r);var pf=function(){function r(){this.crc32c=new nf}return r.prototype.update=function(s){if(Wr(s))return;this.crc32c.update(Kr(s))},r.prototype.digest=function(){return ds(this,void 0,void 0,function(){return Es(this,function(s){return[2,Vr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new nf},r}();var nf=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var f,l;try{for(var h=Ps(s),m=h.next();!m.done;m=h.next()){var g=m.value;this.checksum=this.checksum>>>8^Ba[(this.checksum^g)&255]}}catch(w){f={error:w}}finally{try{if(m&&!m.done&&(l=h.return))l.call(h)}finally{if(f)throw f.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var Ya=[0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697],Ba=Zr(Ya);var Gs=(r,s)=>({[M.MD5]:s.md5,[M.CRC32]:vf,[M.CRC32C]:pf,[M.SHA1]:s.sha1,[M.SHA256]:s.sha256})[r];var Fs=(r,s)=>{const f=new r;return f.update(es(s||"")),f.digest()};var pg={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},ug=(r,s)=>(f,l)=>async(h)=>{if(!J.isInstance(h.request))return f(h);const{request:m}=h,{body:g,headers:w}=m,{base64Encoder:a,streamHasher:P}=r,{input:N,requestChecksumRequired:$,requestAlgorithmMember:e}=s,H=xg(N,{requestChecksumRequired:$,requestAlgorithmMember:e},!!l.isS3ExpressBucket);let Q=g,Y=w;if(H){const q=Pr(H),er=Gs(H,r);if(Nr(g)){const{getAwsChunkedEncodingStream:Vs,bodyLengthChecker:gw}=r;Q=Vs(g,{base64Encoder:a,bodyLengthChecker:gw,checksumLocationName:q,checksumAlgorithmFn:er,streamHasher:P}),Y={...w,"content-encoding":w["content-encoding"]?`${w["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":w["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":q},delete Y["content-length"]}else if(!og(q,w)){const Vs=await Fs(er,g);Y={...w,[q]:a(Vs)}}}return await f({...h,request:{...m,headers:Y,body:Q}})};var Ks=(r=[])=>{const s=[];for(let f of ig){if(!r.includes(f)||!Lr.includes(f))continue;s.push(f)}return s};var tg=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const f=r.slice(s+1);if(!f.startsWith("0")){const l=parseInt(f,10);if(!isNaN(l)&&l>=1&&l<=1e4)return!0}}return!1};import{Transform as va} from"stream";function uf(r){const s=new va;return s.push(r),s.push(null),s}var rw=async(r,{streamHasher:s,checksumAlgorithmFn:f,base64Encoder:l})=>{const h=Nr(r)?s(f,r):Fs(f,r);return l(await h)};var sw=async(r,{config:s,responseAlgorithms:f})=>{const l=Ks(f),{body:h,headers:m}=r;for(let g of l){const w=Pr(g),a=m[w];if(a){const P=Gs(g,s),{streamHasher:N,base64Encoder:$}=s,e=await rw(h,{streamHasher:N,checksumAlgorithmFn:P,base64Encoder:$});if(e===a)break;throw new Error(`Checksum mismatch: expected "${e}" but received "${a}"`+` in response header "${w}".`)}}};var fw={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},lw=(r,s)=>(f,l)=>async(h)=>{if(!J.isInstance(h.request))return f(h);const m=h.input,g=await f(h),w=g.response;let a=void 0;const{requestValidationModeMember:P,responseAlgorithms:N}=s;if(P&&m[P]==="ENABLED"){const{clientName:$,commandName:e}=l;if($==="S3Client"&&e==="GetObjectCommand"&&Ks(N).every((Y)=>{const Jr=Pr(Y),q=w.headers[Jr];return!q||tg(q)}))return g;const Q=Nr(w.body);if(Q)a=await r.streamCollector(w.body),w.body=uf(a);if(await sw(g.response,{config:r,responseAlgorithms:N}),Q&&a)w.body=uf(a)}return g};var Ws=(r,s)=>({applyToStack:(f)=>{f.add(ug(r,s),pg),f.addRelativeTo(lw(r,s),fw)}});class tf extends Ar.classBuilder().ep({...wr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,f,l){return[kr(f,this.serialize,this.deserialize),Ir(f,r.getEndpointParameterInstructions()),Ws(f,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),Cs(f),wl(f)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(Yh,yh).ser(sm).de(hm).build(){}class rl extends Ar.classBuilder().ep({...wr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,f,l){return[kr(f,this.serialize,this.deserialize),Ir(f,r.getEndpointParameterInstructions()),Ws(f,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),ll(f),vr(f),Cs(f)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(Oh,vh).ser(fm).de(mm).build(){}import{Buffer as hw} from"buffer";var mw=new of;class Xr{static folder(r){if(!r||r.includes("null")||r.includes("undefined"))throw new Error("Folder path has to be specified.");return{put:async(s)=>{let f;if(s instanceof Blob)return f=`${sl()}.${s.type.split("/")[1]}`,Xr.put({body:s,name:`${r}/${f}`});return Xr.put({...s,name:`${r}/${f}`})},fetch:async(s)=>{let f=process.env.BUCKET_NAME,l;if(typeof s==="string")l=s;else f=s.bucket??f,l=s.name;if(!l)throw new Error("Object name has to be specified");return Xr.fetch({...s,name:`${r}/${l}`})}}}static async put(r){let s,f,l,h=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,l=`${sl()}.${r.type.split("/")[1]}`,f=r.type;else s=r.body,l=r.name,f=r.contentType;f=s instanceof Blob||s instanceof File?s.type:void 0;const m=s instanceof hw?s:hw.from(await s.arrayBuffer());return await mw.send(new rl({Bucket:h,Key:l,Body:m,ContentType:f})),l}static async fetch(r){let s=process.env.BUCKET_NAME,f;if(typeof r==="string")f=r;else s=r.bucket??s,f=r.name;if(!f)throw new Error("Object name has to be specified");const l=await mw.send(new tf({Bucket:s,Key:f}));return new Response(l.Body.transformToWebStream(),{headers:{"Content-Type":l.ContentType,"Content-Length":l.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":l.LastModified?.toUTCString()||"",ETag:l.ETag||""}})}static delete(){}}export{Xr as Storage};
|
package/dist/vite/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-
|
|
2
|
+
import"../chunk-a5c18c07abe8fd9c.js";import{join as t} from"path";import{readFileSync as r,existsSync as i} from"fs";async function p(){const n=process.cwd(),o=t(n,".gemi/rollupInput.json");if(!i(o))return["app/main.tsx"];return r(o).toJSON()}export{p as input};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gemi",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.34",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@happy-dom/global-registrator": "^14.12.3",
|
|
6
6
|
"@repo/eslint-config": "*",
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"./vite": "./dist/vite/index.js",
|
|
30
30
|
"./runtime": "./dist/runtime/index.js",
|
|
31
31
|
"./server": "./dist/server/index.js",
|
|
32
|
-
"./kernel": "./dist/kernel/index.js"
|
|
32
|
+
"./kernel": "./dist/kernel/index.js",
|
|
33
|
+
"./storage": "./dist/storage/index.js"
|
|
33
34
|
},
|
|
34
35
|
"files": [
|
|
35
36
|
"dist/**/*"
|
|
@@ -49,6 +50,8 @@
|
|
|
49
50
|
"postpublish": "bun scripts/setupExports.ts dev"
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
53
|
+
"@aws-sdk/client-s3": "^3.629.0",
|
|
54
|
+
"@aws-sdk/s3-request-presigner": "^3.629.0",
|
|
52
55
|
"@prisma/client": "5.17.0",
|
|
53
56
|
"@react-email/components": "^0.0.21",
|
|
54
57
|
"@react-email/render": "0.0.17-canary.0",
|