gemi 0.4.113 → 0.4.114
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/index.js +1 -1
- package/dist/chunk-66tgc8cz.js +11 -0
- package/dist/{chunk-9txn8acf.js.map → chunk-66tgc8cz.js.map} +5 -5
- package/dist/chunk-67hdbhpe.js +4 -0
- package/dist/{chunk-bhxyhsqr.js.map → chunk-67hdbhpe.js.map} +4 -4
- package/dist/{chunk-rb7jfsvq.js → chunk-6mhs44ws.js} +2 -2
- package/dist/{chunk-rb7jfsvq.js.map → chunk-6mhs44ws.js.map} +1 -1
- package/dist/chunk-7461c8cq.js +5 -0
- package/dist/{chunk-2p10c4kh.js.map → chunk-7461c8cq.js.map} +4 -4
- package/dist/chunk-9gjnqk62.js +4 -0
- package/dist/{chunk-fc27f4cb.js.map → chunk-9gjnqk62.js.map} +2 -2
- package/dist/chunk-9n1nx7hm.js +4 -0
- package/dist/{chunk-yec7wnh4.js.map → chunk-9n1nx7hm.js.map} +4 -4
- package/dist/chunk-amata1t8.js +4 -0
- package/dist/{chunk-tr7zwxhw.js.map → chunk-amata1t8.js.map} +6 -6
- package/dist/chunk-cegxr8pr.js +4 -0
- package/dist/{chunk-11azhtfq.js.map → chunk-cegxr8pr.js.map} +5 -5
- package/dist/{chunk-tqey3r3k.js → chunk-g9trvvh2.js} +2 -2
- package/dist/{chunk-tqey3r3k.js.map → chunk-g9trvvh2.js.map} +1 -1
- package/dist/chunk-m8wz6y7g.js +8 -0
- package/dist/{chunk-tpdm7nax.js.map → chunk-m8wz6y7g.js.map} +2 -2
- package/dist/chunk-mmjscn0a.js +4 -0
- package/dist/{chunk-bn6dtgj4.js.map → chunk-mmjscn0a.js.map} +2 -2
- package/dist/chunk-tvs08p0g.js +3 -0
- package/dist/chunk-tvs08p0g.js.map +15 -0
- package/dist/chunk-xqjmzvvq.js +20 -0
- package/dist/{chunk-8mtrpdem.js.map → chunk-xqjmzvvq.js.map} +11 -6
- package/dist/{chunk-3ndk6f56.js → chunk-xy2tg7pf.js} +2 -2
- package/dist/{chunk-3ndk6f56.js.map → chunk-xy2tg7pf.js.map} +5 -5
- package/dist/chunk-yq29sh4p.js +4 -0
- package/dist/{chunk-mvmwz99e.js.map → chunk-yq29sh4p.js.map} +5 -5
- package/dist/chunk-z5ahmk6p.js +4 -0
- package/dist/{chunk-pd22hcnn.js.map → chunk-z5ahmk6p.js.map} +5 -5
- package/dist/chunk-z9vdyw9v.js +4 -0
- package/dist/{chunk-x2f9x5m1.js.map → chunk-z9vdyw9v.js.map} +2 -2
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +3 -3
- package/dist/kernel/index.js +1 -1
- package/dist/services/index.js +11 -2
- package/dist/services/index.js.map +16 -5
- package/package.json +1 -1
- package/dist/chunk-11azhtfq.js +0 -4
- package/dist/chunk-2p10c4kh.js +0 -5
- package/dist/chunk-8mtrpdem.js +0 -20
- package/dist/chunk-9txn8acf.js +0 -11
- package/dist/chunk-bhxyhsqr.js +0 -4
- package/dist/chunk-bn6dtgj4.js +0 -4
- package/dist/chunk-cj78pfaa.js +0 -4
- package/dist/chunk-cj78pfaa.js.map +0 -10
- package/dist/chunk-fc27f4cb.js +0 -4
- package/dist/chunk-mvmwz99e.js +0 -4
- package/dist/chunk-pd22hcnn.js +0 -4
- package/dist/chunk-tpdm7nax.js +0 -8
- package/dist/chunk-tr7zwxhw.js +0 -4
- package/dist/chunk-x2f9x5m1.js +0 -4
- package/dist/chunk-yec7wnh4.js +0 -4
- /package/dist/{chunk-25y8fca8.js → chunk-ryhfg3pa.js} +0 -0
- /package/dist/{chunk-25y8fca8.js.map → chunk-ryhfg3pa.js.map} +0 -0
package/dist/services/index.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-fc27f4cb.js";import{H as c}from"../chunk-ktwy9nyn.js";import{I as V}from"../chunk-td079vg9.js";import{O as $f,P as Zd}from"../chunk-t3g9fdba.js";import{U as fg}from"../chunk-wfc30gdx.js";import{$ as Mm,Aa as hm,Ba as Ys,Ca as am,Da as mm,Ea as km,Fa as Pm,V as br,W as vr,X as Vr,Y as $m,Z as Dm,_ as Um,aa as $g,ba as sr,ca as lr,da as hf,ea as el,fa as Cm,ga as dh,ha as Sh,ia as Rh,ja as Ah,ka as Fm,la as ua,ma as ta,na as rm,oa as sm,pa as zm,qa as Gm,ra as Eh,sa as Ur,ta as ym,ua as lm,va as fm,wa as Wm,xa as em,ya as Km,za as Ns}from"../chunk-8mtrpdem.js";import{$a as me,Ab as Yh,Ga as Rm,Ha as Am,Ia as X,Ja as as,Ka as Kf,Na as Ya,Oa as ss,Pa as Ba,Qa as hs,Ra as Tm,Sa as Oa,Ta as qa,Ua as _a,Wa as xa,Xa as oa,Ya as Wa,Za as ja,_a as ae,ab as Jh,bb as Dr,cb as H,eb as Yr,hb as Pr,ib as Xh,jb as Nr,kb as Qh,lb as Ws,mb as Xr,ob as xl,pb as Lr,qb as Uh,rb as j,sb as ch,tb as na,ub as pa,vb as Em,wb as Im,yb as G}from"../chunk-2p10c4kh.js";import{Cb as Dg}from"../chunk-rb7jfsvq.js";import{Db as q,Eb as ia}from"../chunk-pd22hcnn.js";import"../chunk-cj78pfaa.js";import{Gb as gm}from"../chunk-9txn8acf.js";import"../chunk-tqey3r3k.js";class ar{}class xr extends ar{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,l;if(r instanceof Blob)s=r,l=`${br()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,l=r.name;const f=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),e=`${this.folderPath}/${l}`;return await Bun.write(e,f),l}async fetch(r){let s=process.env.BUCKET_NAME,l;if(typeof r==="string")l=r;else s=r.bucket??s,l=r.name;if(!l)throw new Error("Object name has to be specified");const f=`${this.folderPath}/${l}`,e=Bun.file(f),h=Bun.file(f).stream(),m=new Date(e.lastModified).toUTCString();return new Response(h,{headers:{"Content-Type":e.type,"Content-Length":String(e.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":m}})}}class Df extends c{driver=new xr;boot(){}}function pm(r){return(s)=>async(l)=>{const{request:f}=l;if(X.isInstance(f)&&f.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")f.headers={...f.headers,Expect:"100-continue"}}return s({...l,request:f})}}var um={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},Uf=(r)=>({applyToStack:(s)=>{s.add(pm(r),um)}});var Fr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},or=Fr.WHEN_SUPPORTED,ns={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},nr=Fr.WHEN_SUPPORTED,U;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(U||(U={}));var Mf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(Mf||(Mf={}));var{MD5:Tf,CRC32:Cf}=U;var x;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(x||(x={}));var mr=(r,s,l,f)=>{if(!(s in r))return;const e=r[s].toUpperCase();if(!Object.values(l).includes(e))throw new TypeError(`Cannot load ${f} '${s}'. Expected one of ${Object.values(l)}, got '${r[s]}'.`);return e};var tm="AWS_REQUEST_CHECKSUM_CALCULATION",rg="request_checksum_calculation",Ff={environmentVariableSelector:(r)=>mr(r,tm,Fr,x.ENV),configFileSelector:(r)=>mr(r,rg,Fr,x.CONFIG),default:or};var sg="AWS_RESPONSE_CHECKSUM_VALIDATION",lg="response_checksum_validation",zf={environmentVariableSelector:(r)=>mr(r,sg,ns,x.ENV),configFileSelector:(r)=>mr(r,lg,ns,x.CONFIG),default:nr};var zr=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256],Gf=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256];var yf=(r,{requestChecksumRequired:s,requestAlgorithmMember:l},f)=>{const e=f?Cf:Tf;if(!l||!r[l])return s?e:void 0;const h=r[l];if(!zr.includes(h))throw new Error(`The checksum algorithm "${h}" is not supported by the client. Select one of ${zr}.`);return h};var gr=(r)=>r===U.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var Wf=(r,s)=>{const l=r.toLowerCase();for(let f of Object.keys(s))if(l===f.toLowerCase())return!0;return!1};var wr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!Kf(r);var Vf=V(fg(),1),{__extends:K3,__assign:V3,__rest:L3,__decorate:Z3,__param:v3,__esDecorate:H3,__runInitializers:J3,__propKey:X3,__setFunctionName:Q3,__metadata:c3,__awaiter:pr,__generator:ur,__exportStar:Y3,__createBinding:B3,__values:tr,__read:O3,__spread:q3,__spreadArrays:_3,__spreadArray:j3,__await:i3,__asyncGenerator:b3,__asyncDelegator:x3,__asyncValues:o3,__makeTemplateObject:n3,__importStar:p3,__importDefault:u3,__classPrivateFieldGet:t3,__classPrivateFieldSet:rS,__classPrivateFieldIn:sS,__addDisposableResource:lS,__disposeResources:fS}=Vf.default;import{Buffer as Lf}from"buffer";var Zf=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?Lf.from(r,s):Lf.from(r)};var ps=(r)=>{const s=Zf(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function Gr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return eg(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var eg=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:ps;function yr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Wr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Kr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),l=0;while(l<r.length)s[l]=r[l],l+=1;return s}return Uint32Array.from(r)}var us=function(){function r(){this.crc32=new rr}return r.prototype.update=function(s){if(yr(s))return;this.crc32.update(Gr(s))},r.prototype.digest=function(){return pr(this,void 0,void 0,function(){return ur(this,function(s){return[2,Wr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new rr},r}();var rr=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var l,f;try{for(var e=tr(s),h=e.next();!h.done;h=e.next()){var m=h.value;this.checksum=this.checksum>>>8^ag[(this.checksum^m)&255]}}catch(a){l={error:a}}finally{try{if(h&&!h.done&&(f=e.return))f.call(e)}finally{if(l)throw l.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var hg=[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],ag=Kr(hg);var rl=function(){function r(){this.crc32c=new ts}return r.prototype.update=function(s){if(yr(s))return;this.crc32c.update(Gr(s))},r.prototype.digest=function(){return pr(this,void 0,void 0,function(){return ur(this,function(s){return[2,Wr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new ts},r}();var ts=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var l,f;try{for(var e=tr(s),h=e.next();!h.done;h=e.next()){var m=h.value;this.checksum=this.checksum>>>8^gg[(this.checksum^m)&255]}}catch(a){l={error:a}}finally{try{if(h&&!h.done&&(f=e.return))f.call(e)}finally{if(l)throw l.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var mg=[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],gg=Kr(mg);var rs=(r,s)=>({[U.MD5]:s.md5,[U.CRC32]:us,[U.CRC32C]:rl,[U.SHA1]:s.sha1,[U.SHA256]:s.sha256})[r];var ls=(r,s)=>{const l=new r;return l.update(ss(s||"")),l.digest()};var vf={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},Hf=(r,s)=>(l,f)=>async(e)=>{if(!X.isInstance(e.request))return l(e);const{request:h}=e,{body:m,headers:a}=h,{base64Encoder:g,streamHasher:R}=r,{input:N,requestChecksumRequired:$,requestAlgorithmMember:D}=s,M=yf(N,{requestChecksumRequired:$,requestAlgorithmMember:D},!!f.isS3ExpressBucket);let Q=m,B=a;if(M){const i=gr(M),Cr=rs(M,r);if(wr(m)){const{getAwsChunkedEncodingStream:os,bodyLengthChecker:nm}=r;Q=os(m,{base64Encoder:g,bodyLengthChecker:nm,checksumLocationName:i,checksumAlgorithmFn:Cr,streamHasher:R}),B={...a,"content-encoding":a["content-encoding"]?`${a["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":a["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":i},delete B["content-length"]}else if(!Wf(i,a)){const os=await ls(Cr,m);B={...a,[i]:g(os)}}}return await l({...e,request:{...h,headers:B,body:Q}})};var fs=(r=[])=>{const s=[];for(let l of Gf){if(!r.includes(l)||!zr.includes(l))continue;s.push(l)}return s};var Jf=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const l=r.slice(s+1);if(!l.startsWith("0")){const f=parseInt(l,10);if(!isNaN(f)&&f>=1&&f<=1e4)return!0}}return!1};import{Transform as wg}from"stream";function sl(r){const s=new wg;return s.push(r),s.push(null),s}var Xf=async(r,{streamHasher:s,checksumAlgorithmFn:l,base64Encoder:f})=>{const e=wr(r)?s(l,r):ls(l,r);return f(await e)};var Qf=async(r,{config:s,responseAlgorithms:l})=>{const f=fs(l),{body:e,headers:h}=r;for(let m of f){const a=gr(m),g=h[a];if(g){const R=rs(m,s),{streamHasher:N,base64Encoder:$}=s,D=await Xf(e,{streamHasher:N,checksumAlgorithmFn:R,base64Encoder:$});if(D===g)break;throw new Error(`Checksum mismatch: expected "${D}" but received "${g}" in response header "${a}".`)}}};var cf={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},Yf=(r,s)=>(l,f)=>async(e)=>{if(!X.isInstance(e.request))return l(e);const h=e.input,m=await l(e),a=m.response;let g=void 0;const{requestValidationModeMember:R,responseAlgorithms:N}=s;if(R&&h[R]==="ENABLED"){const{clientName:$,commandName:D}=f;if($==="S3Client"&&D==="GetObjectCommand"&&fs(N).every((B)=>{const ir=gr(B),i=a.headers[ir];return!i||Jf(i)}))return m;const Q=wr(a.body);if(Q)g=await r.streamCollector(a.body),a.body=sl(g);if(await Qf(m.response,{config:r,responseAlgorithms:N}),Q&&g)a.body=sl(g)}return m};var es=(r,s)=>({applyToStack:(l)=>{l.add(Hf(r,s),vf),l.addRelativeTo(Yf(r,s),cf)}});var Bf=(r)=>({...r,requestChecksumCalculation:Vr(r.requestChecksumCalculation??or),responseChecksumValidation:Vr(r.responseChecksumValidation??nr)});function Sg(){return(r,s)=>async(l)=>{const{request:f}=l;if(X.isInstance(f)){if(!(dg in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof hs))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({...l})}}var dg="content-length",Rg={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Of=(r)=>({applyToStack:(s)=>{s.add(Sg(),Rg)}});var qf=(r)=>{return(s,l)=>async(f)=>{const e=await r.region(),h=r.region;let m=()=>{};if(l.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return l.__s3RegionRedirect}}),m=()=>Object.defineProperty(r,"region",{writable:!0,value:h});try{const a=await s(f);if(l.__s3RegionRedirect){m();const g=await r.region();if(e!==g)throw new Error("Region was not restored following S3 region redirect.")}return a}catch(a){throw m(),a}}},_f={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function Ag(r){return(s,l)=>async(f)=>{try{return await s(f)}catch(e){if(r.followRegionRedirects&&e?.$metadata?.httpStatusCode===301){try{const h=e.$response.headers["x-amz-bucket-region"];l.logger?.debug(`Redirecting from ${await r.region()} to ${h}`),l.__s3RegionRedirect=h}catch(h){throw new Error("Region redirect failed: "+h)}return s(f)}else throw e}}}var Eg={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},jf=(r)=>({applyToStack:(s)=>{s.add(Ag(r),Eg),s.addRelativeTo(qf(r),_f)}});var Ig=(r)=>{return(s,l)=>async(f)=>{const e=await s(f),{response:h}=e;if(as.isInstance(h)){if(h.headers.expires){h.headers.expiresstring=h.headers.expires;try{Lr(h.headers.expires)}catch(m){l.logger?.warn(`AWS SDK Warning for ${l.clientName}::${l.commandName} response parsing (${h.headers.expires}): ${m}`),delete h.headers.expires}}}return e}},kg={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},bf=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Ig(r),kg)}});class dr{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+dr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const l=this.data[s];if(!l.isRefreshing){const f=await l.identity;if(f.expiration){if(f.expiration.getTime()<r)delete this.data[s]}}}}}dr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class Sr{constructor(r,s=!1,l=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=l}get identity(){return this.accessed=Date.now(),this._identity}}class Rr{constructor(r,s=new dr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const l=s.Bucket,{cache:f}=this,e=f.get(l);if(e)return e.identity.then((h)=>{if((h.expiration?.getTime()??0)<Date.now())return f.set(l,new Sr(this.getIdentity(l))).identity;if((h.expiration?.getTime()??0)<Date.now()+Rr.REFRESH_WINDOW_MS&&!e.isRefreshing)e.isRefreshing=!0,this.getIdentity(l).then((g)=>{f.set(l,new Sr(Promise.resolve(g)))});return h});return f.set(l,new Sr(this.getIdentity(l))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((f)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+f)});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}}}Rr.REFRESH_WINDOW_MS=60000;var tf=V($g(),1);var xf="Directory",of="S3Express",nf="sigv4-s3express",ms="X-Amz-S3session-Token",Zr=ms.toLowerCase(),Pg="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Ng="s3_disable_express_session_auth",ll={environmentVariableSelector:(r)=>sr(r,Pg,lr.ENV),configFileSelector:(r)=>sr(r,Ng,lr.CONFIG),default:!1};function pf(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}}function uf(r,s){const l=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),f=r.credentialProvider,e=()=>{return clearTimeout(l),r.credentialProvider=f,Promise.resolve(s)};r.credentialProvider=e}class gs extends tf.SignatureV4{async signWithCredentials(r,s,l){const f=pf(s);r.headers[Zr]=s.sessionToken;const e=this;return uf(e,f),e.signRequest(r,l??{})}async presignWithCredentials(r,s,l){const f=pf(s);return delete r.headers[Zr],r.headers[ms]=s.sessionToken,r.query=r.query??{},r.query[ms]=s.sessionToken,uf(this,f),this.presign(r,l)}}var re=(r)=>{return(s,l)=>async(f)=>{if(l.endpointV2){const e=l.endpointV2,h=e.properties?.authSchemes?.[0]?.name===nf;if(e.properties?.backend===of||e.properties?.bucketType===xf)l.isS3ExpressBucket=!0;if(h){const a=f.input.Bucket;if(a){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:a});if(l.s3ExpressIdentity=g,X.isInstance(f.request)&&g.sessionToken)f.request.headers[Zr]=g.sessionToken}}}return s(f)}},se={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},fl=(r)=>({applyToStack:(s)=>{s.add(re(r),se)}});var fe=V(el(),1);var Ug=V(Dg(),1);var le=async(r,s,l,f)=>{const e=await f.signWithCredentials(l,r,{});if(e.headers["X-Amz-Security-Token"]||e.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return e};var Mg=(r)=>(s)=>{throw s},Tg=(r,s)=>{};var ee=(r)=>(s,l)=>async(f)=>{if(!X.isInstance(f.request))return s(f);const h=vr(l).selectedHttpAuthScheme;if(!h)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:m={}},identity:a,signer:g}=h;let R;if(l.s3ExpressIdentity)R=await le(l.s3ExpressIdentity,m,f.request,await r.signer());else R=await g.sign(f.request,a,m);const N=await s({...f,request:R}).catch((g.errorHandler||Mg)(m));return(g.successHandler||Tg)(N.response,m),N},hl=(r)=>({applyToStack:(s)=>{s.addRelativeTo(ee(r),fe.httpSigningMiddlewareOptions)}});var he=(r,{session:s})=>{const[l,f]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new Rr(async(e)=>l().send(new f({Bucket:e,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Cg={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Fg=3000,zg=(r)=>(s,l)=>async(f)=>{const e=await s(f),{response:h}=e;if(!as.isInstance(h))return e;const{statusCode:m,body:a}=h;if(m<200||m>=300)return e;if(!(typeof a?.stream==="function"||typeof a?.pipe==="function"||typeof a?.tee==="function"))return e;let R=a,N=a;if(a&&typeof a==="object"&&!(a instanceof Uint8Array))[R,N]=await ae(a);h.body=N;const $=await Gg(R,{streamCollector:async(M)=>{return me(M,Fg)}});if(typeof R?.destroy==="function")R.destroy();const D=r.utf8Encoder($.subarray($.length-16));if($.length===0&&Cg[l.commandName]){const M=new Error("S3 aborted request");throw M.name="InternalError",M}if(D&&D.endsWith("</Error>"))h.statusCode=400;return e},Gg=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},yg={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},ws=(r)=>({applyToStack:(s)=>{s.addRelativeTo(zg(r),yg)}});var al=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function ge(r){return(s,l)=>async(f)=>{if(r.bucketEndpoint){const e=l.endpointV2;if(e){const h=f.input.Bucket;if(typeof h==="string")try{const m=new URL(h);l.endpointV2={...e,url:m}}catch(m){const a=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${h} could not be parsed as URL.`;if(l.logger?.constructor?.name==="NoOpLogger")console.warn(a);else l.logger?.warn?.(a);throw m}}}return s(f)}}var we={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Wg({bucketEndpoint:r}){return(s)=>async(l)=>{const{input:{Bucket:f}}=l;if(!r&&typeof f==="string"&&!al(f)&&f.indexOf("/")>=0){const e=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw e.name="InvalidBucketName",e}return s({...l})}}var Kg={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},de=(r)=>({applyToStack:(s)=>{s.add(Wg(r),Kg),s.addRelativeTo(ge(r),we)}});var Tr=V(el(),1);var Se=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var $s=V(Ns(),1);var ds={CrtSignerV4:null};class ml{constructor(r){this.sigv4Signer=new gs(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,l={}){if(l.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,l)}return this.sigv4Signer.signWithCredentials(r,s,l)}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,l={}){if(l.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,l)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=ds.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\nPlease 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 Ar={["required"]:!1,["type"]:"String"},Er={["required"]:!0,default:!1,["type"]:"Boolean"},Hr={["required"]:!1,["type"]:"Boolean"},O={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},P={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},k={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},C={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},lh={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Re={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},Is={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Z={["ref"]:"Bucket"},L={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Es={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},fh={["ref"]:"url"},eh={["fn"]:"uriEncode",["argv"]:[Z],["assign"]:"uri_encoded_bucket"},b={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},w={},hh={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!1]},gl={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},ks={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Ae={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Ee={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},d={["fn"]:"not",["argv"]:[C]},Ie={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},ke={["fn"]:"not",["argv"]:[Is]},Pe={["ref"]:"hardwareType"},Ne={["conditions"]:[d],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},Ss={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},wl={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Vg={["ref"]:"ForcePathStyle"},T={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},z={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},y={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},E={["fn"]:"not",["argv"]:[z]},W={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},$e={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},F={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},A={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},De={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Ue={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Me={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},dl={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[fh,"isIp"]},!1]},Sl={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:F,["headers"]:{}},Vl={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:F,["headers"]:{}},Te={["endpoint"]:Vl,["type"]:"endpoint"},Rl={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ce={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Rs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},ah={["ref"]:"arnType"},Al={["fn"]:"getAttr",["argv"]:[J,"service"]},Ll={["ref"]:"accessPointName"},Fe={["conditions"]:[k],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},ze={["conditions"]:[O],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Ge={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},El={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},mh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},gh={["fn"]:"getAttr",["argv"]:[J,"accountId"]},Il={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},ye={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},kl={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Pl={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},Nl={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},We={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Ke={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Jr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},Ve={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Le={["fn"]:"aws.parseArn",["argv"]:[Z]},Ze={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},ve={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},He={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},$l={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},Je={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},Xe={["ref"]:"UseObjectLambdaEndpoint"},Dl={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},Qe={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},ce={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ye={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ul={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:F,["headers"]:{}},Be={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ml=[{["ref"]:"Region"}],Lg=[{["ref"]:"Endpoint"}],Zg=[Z],Tl=[k],As=[O],fr=[C,L],Oe=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],qe=[Es],Cl=[eh],Fl=[hh],Ir=[P],_e=[{["fn"]:"substring",["argv"]:[Z,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],je=[{["conditions"]:[P],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:b,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:b,["headers"]:{}},["type"]:"endpoint"}],ie=[{["fn"]:"substring",["argv"]:[Z,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],be=[{["conditions"]:[P],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ks,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ks,["headers"]:{}},["type"]:"endpoint"}],vg=[Is],xe=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],oe=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Hg=["*"],o=[lh],ne=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],n=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],zl=[{["fn"]:"stringEquals",["argv"]:[ah,"accesspoint"]}],pe=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Ll,""]}]}],Jg=[J,"resourceId[1]"],Gl=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],ue=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],Xg=[J,"resourceId[2]"],yl=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],te=[{["fn"]:"stringEquals",["argv"]:[mh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],Wl=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],Kl=[{["fn"]:"isValidHostLabel",["argv"]:[gh,!1]}],rh=[{["fn"]:"isValidHostLabel",["argv"]:[Ll,!1]}],sh=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Qg={version:"1.0",parameters:{Bucket:Ar,Region:Ar,UseFIPS:Er,UseDualStack:Er,Endpoint:Ar,ForcePathStyle:Er,Accelerate:Er,UseGlobalEndpoint:Er,UseObjectLambdaEndpoint:Hr,Key:Ar,Prefix:Ar,CopySource:Ar,DisableAccessPoints:Hr,DisableMultiRegionAccessPoints:Er,UseArnRegion:Hr,UseS3ExpressControlEndpoint:Hr,DisableS3ExpressSessionAuth:Hr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:Ml}],rules:[{["conditions"]:[O,P],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[k,C],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[C,P],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[C,O],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[P,lh,Re],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[Is,{["fn"]:"substring",["argv"]:[Z,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:Tl,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:As,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:fr,rules:[{["conditions"]:Oe,rules:[{["conditions"]:qe,rules:[{["conditions"]:Cl,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:b,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:b,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:qe,rules:[{["conditions"]:Cl,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:ks,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:ks,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:[Ae,Ee],rules:[{["conditions"]:[eh,d],rules:[{["conditions"]:Ir,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:b,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:b,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{["conditions"]:Oe,rules:[{["conditions"]:_e,rules:je,["type"]:"tree"},{["conditions"]:ie,rules:je,["type"]:"tree"},Ie],["type"]:"tree"},{["conditions"]:_e,rules:be,["type"]:"tree"},{["conditions"]:ie,rules:be,["type"]:"tree"},Ie],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:[ke,Ae,Ee],rules:[{["conditions"]:fr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:b,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Ir,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:b,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:b,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[Is,{["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"]:Ml,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:xe,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Pe,"e"]}],rules:[{["conditions"]:oe,rules:[Ne,{["conditions"]:fr,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Pe,"o"]}],rules:[{["conditions"]:oe,rules:[Ne,{["conditions"]:fr,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Ss,["headers"]:w},["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"]:vg,rules:[{["conditions"]:[C,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Lg}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[wl,hh],rules:[{["conditions"]:o,rules:[{["conditions"]:ne,rules:[{["conditions"]:[O,Re],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[k,P,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,P,T,d,E,W],rules:[{endpoint:$e,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,P,T,d,E,K],endpoint:$e,["type"]:"endpoint"},{["conditions"]:[A,P,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,P,T,d,E,W],rules:[{endpoint:De,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,P,T,d,E,K],endpoint:De,["type"]:"endpoint"},{["conditions"]:[k,S,O,d,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,S,O,d,E,W],rules:[{endpoint:Ue,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,S,O,d,E,K],endpoint:Ue,["type"]:"endpoint"},{["conditions"]:[k,S,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,S,T,d,E,W],rules:[{endpoint:Me,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,S,T,d,E,K],endpoint:Me,["type"]:"endpoint"},{["conditions"]:[A,S,T,C,L,Es,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,C,L,dl,z],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,C,L,Es,E,W],rules:[{["conditions"]:n,endpoint:Sl,["type"]:"endpoint"},{endpoint:Sl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,T,C,L,dl,E,W],rules:[{["conditions"]:n,endpoint:Vl,["type"]:"endpoint"},Te],["type"]:"tree"},{["conditions"]:[A,S,T,C,L,Es,E,K],endpoint:Sl,["type"]:"endpoint"},{["conditions"]:[A,S,T,C,L,dl,E,K],endpoint:Vl,["type"]:"endpoint"},{["conditions"]:[A,S,O,d,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,O,d,E,W],rules:[{["conditions"]:n,endpoint:Rl,["type"]:"endpoint"},{endpoint:Rl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,O,d,E,K],endpoint:Rl,["type"]:"endpoint"},{["conditions"]:[A,S,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,d,E,W],rules:[{["conditions"]:n,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Ce,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,T,d,E,K],endpoint:Ce,["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[C,L,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[fh,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!0]},wl,S,A,T],rules:[{["conditions"]:o,rules:[{["conditions"]:ne,rules:[Te],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[wl,{["fn"]:"aws.parseArn",["argv"]:Zg,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[ah,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3-object-lambda"]}],rules:[{["conditions"]:zl,rules:[{["conditions"]:pe,rules:[Fe,ze,{["conditions"]:Gl,rules:[Ge,{["conditions"]:ue,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:o,rules:[{["conditions"]:te,rules:[{["conditions"]:Wl,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[gh,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Kl,rules:[{["conditions"]:rh,rules:[{["conditions"]:fr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Ir,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},ye],["type"]:"tree"},kl],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},We],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Ke],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:zl,rules:[{["conditions"]:pe,rules:[{["conditions"]:Gl,rules:[{["conditions"]:zl,rules:[{["conditions"]:Gl,rules:[Ge,{["conditions"]:ue,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:o,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[mh,"{partitionResult#name}"]}],rules:[{["conditions"]:Wl,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3"]}],rules:[{["conditions"]:Kl,rules:[{["conditions"]:rh,rules:[{["conditions"]:As,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[P,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Jr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,A],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Jr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Jr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,C,L],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Jr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Jr,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},ye],["type"]:"tree"},kl],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},We],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Ll,!0]}],rules:[{["conditions"]:Tl,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:Ir,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:As,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"]:Ml,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[J,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:Hg}]},["headers"]:w},["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"},Ke],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3-outposts"]}],rules:[{["conditions"]:Tl,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:Ir,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:As,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:Jg,["assign"]:"outpostId"}],rules:[{["conditions"]:xe,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:o,rules:[{["conditions"]:te,rules:[{["conditions"]:Wl,rules:[{["conditions"]:Kl,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:Xg,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:fr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:Ve,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ve,["headers"]:w},["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"},kl],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["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"]:[Le]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Vg,!0]},Le],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:Cl,rules:[{["conditions"]:o,rules:[{["conditions"]:[T],rules:[{["conditions"]:[k,d,P,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,d,P,E,W],rules:[{endpoint:Ze,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,d,P,E,K],endpoint:Ze,["type"]:"endpoint"},{["conditions"]:[A,d,P,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,d,P,E,W],rules:[{endpoint:ve,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,d,P,E,K],endpoint:ve,["type"]:"endpoint"},{["conditions"]:[k,d,S,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,d,S,E,W],rules:[{endpoint:He,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,d,S,E,K],endpoint:He,["type"]:"endpoint"},{["conditions"]:[A,C,L,S,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,C,L,S,E,W],rules:[{["conditions"]:n,endpoint:$l,["type"]:"endpoint"},{endpoint:$l,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,C,L,S,E,K],endpoint:$l,["type"]:"endpoint"},{["conditions"]:[A,d,S,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,d,S,E,W],rules:[{["conditions"]:n,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Je,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,d,S,E,K],endpoint:Je,["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"]:[Xe]},{["fn"]:"booleanEquals",["argv"]:[Xe,!0]}],rules:[{["conditions"]:o,rules:[{["conditions"]:sh,rules:[Fe,ze,{["conditions"]:fr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Ir,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[ke],rules:[{["conditions"]:o,rules:[{["conditions"]:sh,rules:[{["conditions"]:[P,k,d,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,k,d,E,W],rules:[{endpoint:Qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[P,k,d,E,K],endpoint:Qe,["type"]:"endpoint"},{["conditions"]:[P,A,d,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,A,d,E,W],rules:[{endpoint:ce,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[P,A,d,E,K],endpoint:ce,["type"]:"endpoint"},{["conditions"]:[S,k,d,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,k,d,E,W],rules:[{endpoint:Ye,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,k,d,E,K],endpoint:Ye,["type"]:"endpoint"},{["conditions"]:[S,A,C,L,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,C,L,E,W],rules:[{["conditions"]:n,endpoint:Ul,["type"]:"endpoint"},{endpoint:Ul,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,C,L,E,K],endpoint:Ul,["type"]:"endpoint"},{["conditions"]:[S,A,d,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,d,E,W],rules:[{["conditions"]:n,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Be,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,d,E,K],endpoint:Be,["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},wh=Qg;var cg=new dh({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ps=(r,s={})=>{return cg.get(r,()=>Rh(wh,{endpointParams:r,logger:s.logger}))};Sh.aws=Ah;function kh(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,l)=>({signingProperties:{config:s,context:l}})}}function Ph(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,l)=>({signingProperties:{config:s,context:l}})}}var Yg=(r)=>async(s,l,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const e=await r(s,l,f),h=vr(l)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!h)throw new Error(`getEndpointParameterInstructions() is not defined on \`${l.commandName}\``);const m=await Eh(f,{getEndpointParameterInstructions:h},s);return Object.assign(e,m)},Bg=async(r,s,l)=>{return{operation:vr(s).operation,region:await Vr(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Ih=Yg(Bg),Og=(r,s,l)=>{return(e)=>{const m=r(e).properties?.authSchemes;if(!m)return s(e);const a=[];for(let g of m){const{name:R,properties:N={},...$}=g,D=R.toLowerCase();if(R!==D)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${R}\` to \`${D}\``);let M;if(D==="sigv4a"){M="aws.auth#sigv4a";const ir=m.find((i)=>{const Cr=i.name.toLowerCase();return Cr!=="sigv4a"&&Cr.startsWith("sigv4")});if(!ds.CrtSignerV4&&ir)continue}else if(D.startsWith("sigv4"))M="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${D}\``);const Q=l[M];if(!Q)throw new Error(`Could not find HttpAuthOption create function for \`${M}\``);const B=Q(e);B.schemeId=M,B.signingProperties={...B.signingProperties||{},...$,...N},a.push(B)}return a}},qg=(r)=>{const s=[];switch(r.operation){default:s.push(kh(r)),s.push(Ph(r))}return s},Nh=Og(Ps,qg,{"aws.auth#sigv4":kh,"aws.auth#sigv4a":Ph}),$h=(r)=>{const s=$s.resolveAwsSdkSigV4Config(r);return{...$s.resolveAwsSdkSigV4AConfig(s)}};var Fa=V(hf(),1);var Dh=(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"}},kr={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 v extends Uh{constructor(r){super(r);Object.setPrototypeOf(this,v.prototype)}}class Ds extends v{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Ds.prototype)}}class Us extends v{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Us.prototype)}}class Ms extends v{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,Ms.prototype)}}class Ts extends v{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Ts.prototype)}}class Cs extends v{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Cs.prototype)}}var Zl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Zl||(Zl={}));var vl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return l.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return l.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(vl||(vl={}));var Hl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.AccessPointArn!==void 0)return l.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Hl||(Hl={}));var Jl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Jl||(Jl={}));class Fs extends v{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 zs extends v{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,zs.prototype)}}class Gs extends v{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,Gs.prototype)}}var _g=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:H},...r.SessionToken&&{SessionToken:H}}),Mh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:H},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:H},...r.Credentials&&{Credentials:_g(r.Credentials)}}),Th=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:H},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:H}});var Ch=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:H}}),Fh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:H}});var $r=V(Ns(),1);var Ks=V(el(),1);class ys extends v{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ys.prototype)}}var zh;(function(r){r.visit=(s,l)=>{if(s.Records!==void 0)return l.Records(s.Records);if(s.Stats!==void 0)return l.Stats(s.Stats);if(s.Progress!==void 0)return l.Progress(s.Progress);if(s.Cont!==void 0)return l.Cont(s.Cont);if(s.End!==void 0)return l.End(s.End);return l._(s.$unknown[0],s.$unknown[1])}})(zh||(zh={}));var Gh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:H},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:H}}),yh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:H},...r.SSEKMSKeyId&&{SSEKMSKeyId:H},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:H}});var Bh=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},_,{[pw]:r[Ww],[qr]:r[Br],[_r]:r[Or],[vs]:r[Zs],[p]:[()=>_(r[er]),()=>r[er].toString()]});l.bp("/"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const e=G({[bw]:[,""]});let h;return l.m("GET").h(f).q(e).b(h),l.build()};var Oh=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},_,{[Jw]:r[Iw],[Xw]:[()=>_(r[Wh]),()=>Xr(r[Wh]).toString()],[Aa]:r[ra],[Qw]:[()=>_(r[Kh]),()=>Xr(r[Kh]).toString()],[Yw]:r[Dw],[Hs]:r[Vs],[Ua]:r[ha],[Js]:r[Ls],[$a]:r[ea],[Ia]:r[uh],[nw]:r[aw]});l.bp("/{Key+}"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1),l.p("Key",()=>r.Key,"{Key+}",!0);const e=G({[Ca]:[,"GetObject"],[Bw]:[,r[Uw]],[Ow]:[,r[Mw]],[qw]:[,r[Tw]],[_w]:[,r[Cw]],[jw]:[,r[Fw]],[iw]:[()=>r.ResponseExpires!==void 0,()=>Xr(r[zw]).toString()],[xw]:[,r[rf]],[cw]:[()=>r.PartNumber!==void 0,()=>r[$w].toString()]});let h;return l.m("GET").h(f).q(e).b(h),l.build()};var qh=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},_,{[Sa]:r[ph]||"application/octet-stream",[ow]:r[fw],[ma]:r[bh],[ga]:r[xh],[wa]:r[oh],[da]:r[nh],[jl]:[()=>_(r[Ol]),()=>r[Ol].toString()],[Zw]:r[mw],[ed]:r[hw],[sf]:r[nl],[lf]:r[pl],[ff]:r[ul],[ef]:r[tl],[il]:[()=>_(r[ql]),()=>Xr(r[ql]).toString()],[Aa]:r[ra],[uw]:r[Sw],[tw]:r[Rw],[rd]:r[Aw],[sd]:r[Ew],[qr]:r[Br],[Da]:r[cr],[Ta]:r[aa],[Hs]:r[Vs],[Ua]:r[ha],[Js]:r[Ls],[_r]:r[Or],[vs]:r[Zs],[p]:[()=>_(r[er]),()=>r[er].toString()],[$a]:r[ea],[hd]:r[Kw],[Pa]:r[la],[bl]:[()=>_(r[_l]),()=>Yh(r[_l]).toString()],[ka]:r[sa],[Ia]:r[uh],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((a,g)=>{return a[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],a},{})});l.bp("/{Key+}"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1),l.p("Key",()=>r.Key,"{Key+}",!0);const e=G({[Ca]:[,"PutObject"]});let h,m;if(r.Body!==void 0)m=r.Body,h=m;return l.m("PUT").h(f).q(e).b(h),l.build()};var _h=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:Y(r),[Br]:[,r.headers[qr]],[Or]:[,r.headers[_r]],[Zs]:[,r.headers[vs]],[er]:[()=>r.headers[p]!==void 0,()=>Yr(r.headers[p])]}),f=Pr(Xh(await $r.parseXmlBody(r.body,s)),"body");if(f[cl]!=null)l[cl]=lw(f[cl],s);return l};var jh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:Y(r),[ww]:[()=>r.headers[Lh]!==void 0,()=>Yr(r.headers[Lh])],[ew]:[,r.headers[Lw]],[Qr]:[,r.headers[Ea]],[yw]:[,r.headers[ld]],[kw]:[()=>r.headers[Vh]!==void 0,()=>Pr(Lr(r.headers[Vh]))],[Ol]:[()=>r.headers[jl]!==void 0,()=>Qh(r.headers[jl])],[th]:[,r.headers[Ra]],[nl]:[,r.headers[sf]],[pl]:[,r.headers[lf]],[ul]:[,r.headers[ff]],[tl]:[,r.headers[ef]],[Pw]:[()=>r.headers[Zh]!==void 0,()=>Ws(r.headers[Zh])],[rf]:[,r.headers[Ma]],[bh]:[,r.headers[ma]],[xh]:[,r.headers[ga]],[oh]:[,r.headers[wa]],[nh]:[,r.headers[da]],[gw]:[,r.headers[vw]],[ph]:[,r.headers[Sa]],[ql]:[()=>r.headers[il]!==void 0,()=>Pr(Lr(r.headers[il]))],[dw]:[,r.headers[Hw]],[aa]:[,r.headers[Ta]],[Br]:[,r.headers[qr]],[Vs]:[,r.headers[Hs]],[Ls]:[,r.headers[Js]],[Or]:[,r.headers[_r]],[er]:[()=>r.headers[p]!==void 0,()=>Yr(r.headers[p])],[cr]:[,r.headers[Da]],[fa]:[,r.headers[Na]],[Gw]:[,r.headers[fd]],[Nw]:[()=>r.headers[vh]!==void 0,()=>Ws(r.headers[vh])],[Vw]:[()=>r.headers[Hh]!==void 0,()=>Ws(r.headers[Hh])],[la]:[,r.headers[Pa]],[_l]:[()=>r.headers[bl]!==void 0,()=>Pr(xl(r.headers[bl]))],[sa]:[,r.headers[ka]],Metadata:[,Object.keys(r.headers).filter((e)=>e.startsWith("x-amz-meta-")).reduce((e,h)=>{return e[h.substring(11)]=r.headers[h],e},{})]}),f=r.body;return s.sdkStreamMixin(f),l.Body=f,l};var ih=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:Y(r),[Qr]:[,r.headers[Ea]],[th]:[,r.headers[Ra]],[nl]:[,r.headers[sf]],[pl]:[,r.headers[lf]],[ul]:[,r.headers[ff]],[tl]:[,r.headers[ef]],[Br]:[,r.headers[qr]],[rf]:[,r.headers[Ma]],[Vs]:[,r.headers[Hs]],[Ls]:[,r.headers[Js]],[Or]:[,r.headers[_r]],[Zs]:[,r.headers[vs]],[er]:[()=>r.headers[p]!==void 0,()=>Yr(r.headers[p])],[fa]:[,r.headers[Na]]});return await Jh(r.body,s),l};var ol=async(r,s)=>{const l={...r,body:await $r.parseXmlErrorBody(r.body,s)},f=$r.loadRestXmlErrorCode(r,l.body);switch(f){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await ug(l,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await sw(l,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await bg(l,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await xg(l,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await ng(l,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await og(l,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await pg(l,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await tg(l,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await rw(l,s);default:const e=l.body;return ig({output:r,parsedBody:e,errorCode:f})}},ig=ch(v),bg=async(r,s)=>{const l=G({}),f=r.body,e=new Ms({$metadata:Y(r),...l});return j(e,r.body)},xg=async(r,s)=>{const l=G({}),f=r.body,e=new Ts({$metadata:Y(r),...l});return j(e,r.body)},og=async(r,s)=>{const l=G({}),f=r.body;if(f[Ql]!=null)l[Ql]=Nr(f[Ql]);if(f[cr]!=null)l[cr]=Nr(f[cr]);const e=new Fs({$metadata:Y(r),...l});return j(e,r.body)},ng=async(r,s)=>{const l=G({}),f=r.body,e=new Cs({$metadata:Y(r),...l});return j(e,r.body)},pg=async(r,s)=>{const l=G({}),f=r.body,e=new zs({$metadata:Y(r),...l});return j(e,r.body)},ug=async(r,s)=>{const l=G({}),f=r.body,e=new Ds({$metadata:Y(r),...l});return j(e,r.body)},tg=async(r,s)=>{const l=G({}),f=r.body,e=new Gs({$metadata:Y(r),...l});return j(e,r.body)},rw=async(r,s)=>{const l=G({}),f=r.body,e=new ys({$metadata:Y(r),...l});return j(e,r.body)},sw=async(r,s)=>{const l=G({}),f=r.body,e=new Us({$metadata:Y(r),...l});return j(e,r.body)};var lw=(r,s)=>{const l={};if(r[Xl]!=null)l[Xl]=Nr(r[Xl]);if(r[Yl]!=null)l[Yl]=Nr(r[Yl]);if(r[Bl]!=null)l[Bl]=Nr(r[Bl]);if(r[Qr]!=null)l[Qr]=Pr(xl(r[Qr]));return l};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 _=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var fw="ACL";var Xl="AccessKeyId";var ew="AcceptRanges";var Ql="AccessTier";var er="BucketKeyEnabled";var cl="Credentials",hw="ChecksumAlgorithm";var bh="CacheControl",nl="ChecksumCRC32",pl="ChecksumCRC32C",xh="ContentDisposition";var oh="ContentEncoding";var nh="ContentLanguage",Ol="ContentLength",aw="ChecksumMode",mw="ContentMD5";var gw="ContentRange";var ul="ChecksumSHA1",tl="ChecksumSHA256";var ph="ContentType";var ww="DeleteMarker";var ql="Expires";var uh="ExpectedBucketOwner";var dw="ExpiresString";var th="ETag";var Qr="Expiration";var Sw="GrantFullControl";var Rw="GrantRead",Aw="GrantReadACP";var Ew="GrantWriteACP";var Iw="IfMatch",Wh="IfModifiedSince",ra="IfNoneMatch";var Kh="IfUnmodifiedSince";var kw="LastModified";var Pw="MissingMeta";var sa="ObjectLockLegalHoldStatus",la="ObjectLockMode";var _l="ObjectLockRetainUntilDate";var Nw="PartsCount";var $w="PartNumber";var Dw="Range";var fa="RequestCharged",Uw="ResponseCacheControl",Mw="ResponseContentDisposition",Tw="ResponseContentEncoding",Cw="ResponseContentLanguage",Fw="ResponseContentType";var zw="ResponseExpires";var ea="RequestPayer";var Gw="ReplicationStatus";var yw="Restore";var Yl="SecretAccessKey";var cr="StorageClass";var Ww="SessionMode";var Br="ServerSideEncryption";var Vs="SSECustomerAlgorithm",ha="SSECustomerKey",Ls="SSECustomerKeyMD5";var Zs="SSEKMSEncryptionContext",Or="SSEKMSKeyId";var Bl="SessionToken";var Kw="Tagging";var Vw="TagCount";var rf="VersionId";var aa="WebsiteRedirectLocation";var Lw="accept-ranges";var ma="cache-control",ga="content-disposition",wa="content-encoding",da="content-language",jl="content-length",Zw="content-md5",vw="content-range",Sa="content-type";var il="expires";var Ra="etag",Hw="expiresstring";var Jw="if-match",Xw="if-modified-since";var Aa="if-none-match";var Qw="if-unmodified-since";var Vh="last-modified";var cw="partNumber";var Yw="range",Bw="response-cache-control",Ow="response-content-disposition",qw="response-content-encoding",_w="response-content-language",jw="response-content-type",iw="response-expires";var bw="session";var xw="versionId";var ow="x-amz-acl";var sf="x-amz-checksum-crc32",lf="x-amz-checksum-crc32c",nw="x-amz-checksum-mode";var ff="x-amz-checksum-sha1",ef="x-amz-checksum-sha256";var pw="x-amz-create-session-mode";var Lh="x-amz-delete-marker",Ea="x-amz-expiration",Ia="x-amz-expected-bucket-owner";var uw="x-amz-grant-full-control",tw="x-amz-grant-read",rd="x-amz-grant-read-acp";var sd="x-amz-grant-write-acp";var Zh="x-amz-missing-meta";var vh="x-amz-mp-parts-count";var ka="x-amz-object-lock-legal-hold",Pa="x-amz-object-lock-mode",bl="x-amz-object-lock-retain-until-date";var ld="x-amz-restore",Na="x-amz-request-charged";var $a="x-amz-request-payer";var fd="x-amz-replication-status";var Da="x-amz-storage-class",ed="x-amz-sdk-checksum-algorithm";var qr="x-amz-server-side-encryption",_r="x-amz-server-side-encryption-aws-kms-key-id",p="x-amz-server-side-encryption-bucket-key-enabled",vs="x-amz-server-side-encryption-context",Hs="x-amz-server-side-encryption-customer-algorithm",Ua="x-amz-server-side-encryption-customer-key",Js="x-amz-server-side-encryption-customer-key-md5",hd="x-amz-tagging",Hh="x-amz-tagging-count";var Ma="x-amz-version-id",Ta="x-amz-website-redirect-location",Ca="x-id";class af extends Dr.classBuilder().ep({...kr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,l,f){return[Fa.getSerdePlugin(l,this.serialize,this.deserialize),Ur(l,r.getEndpointParameterInstructions()),ws(l)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Th,Mh).ser(Bh).de(_h).build(){}var za={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.654.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.654.0","@aws-sdk/client-sts":"3.654.0","@aws-sdk/core":"3.654.0","@aws-sdk/credential-provider-node":"3.654.0","@aws-sdk/middleware-bucket-endpoint":"3.654.0","@aws-sdk/middleware-expect-continue":"3.654.0","@aws-sdk/middleware-flexible-checksums":"3.654.0","@aws-sdk/middleware-host-header":"3.654.0","@aws-sdk/middleware-location-constraint":"3.654.0","@aws-sdk/middleware-logger":"3.654.0","@aws-sdk/middleware-recursion-detection":"3.654.0","@aws-sdk/middleware-sdk-s3":"3.654.0","@aws-sdk/middleware-ssec":"3.654.0","@aws-sdk/middleware-user-agent":"3.654.0","@aws-sdk/region-config-resolver":"3.654.0","@aws-sdk/signature-v4-multi-region":"3.654.0","@aws-sdk/types":"3.654.0","@aws-sdk/util-endpoints":"3.654.0","@aws-sdk/util-user-agent-browser":"3.654.0","@aws-sdk/util-user-agent-node":"3.654.0","@aws-sdk/xml-builder":"3.654.0","@smithy/config-resolver":"^3.0.8","@smithy/core":"^2.4.3","@smithy/eventstream-serde-browser":"^3.0.9","@smithy/eventstream-serde-config-resolver":"^3.0.6","@smithy/eventstream-serde-node":"^3.0.8","@smithy/fetch-http-handler":"^3.2.7","@smithy/hash-blob-browser":"^3.1.5","@smithy/hash-node":"^3.0.6","@smithy/hash-stream-node":"^3.1.5","@smithy/invalid-dependency":"^3.0.6","@smithy/md5-js":"^3.0.6","@smithy/middleware-content-length":"^3.0.8","@smithy/middleware-endpoint":"^3.1.3","@smithy/middleware-retry":"^3.0.18","@smithy/middleware-serde":"^3.0.6","@smithy/middleware-stack":"^3.0.6","@smithy/node-config-provider":"^3.1.7","@smithy/node-http-handler":"^3.2.2","@smithy/protocol-http":"^4.1.3","@smithy/smithy-client":"^3.3.2","@smithy/types":"^3.4.2","@smithy/url-parser":"^3.0.6","@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.18","@smithy/util-defaults-mode-node":"^3.0.18","@smithy/util-endpoints":"^2.1.2","@smithy/util-middleware":"^3.0.6","@smithy/util-retry":"^3.0.6","@smithy/util-stream":"^3.1.6","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.5",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.654.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 Bs=V(Ns(),1);var md="AWS_S3_USE_ARN_REGION",gd="s3_use_arn_region",Ga={environmentVariableSelector:(r)=>sr(r,md,lr.ENV),configFileSelector:(r)=>sr(r,gd,lr.CONFIG),default:!1};var u=V(Wa(),1);var Ka=V(Wa(),1);function ya(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 Mr{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 l=7,f=Math.abs(Math.round(r));l>-1&&f>0;l--,f/=256)s[l]=f;if(r<0)ya(s);return new Mr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)ya(r);return parseInt(Ka.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class mf{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let e of Object.keys(r)){const h=this.fromUtf8(e);s.push(Uint8Array.from([h.byteLength]),h,this.formatHeaderValue(r[e]))}const l=new Uint8Array(s.reduce((e,h)=>e+h.byteLength,0));let f=0;for(let e of s)l.set(e,f),f+=e.byteLength;return l}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 l=new DataView(new ArrayBuffer(5));return l.setUint8(0,4),l.setInt32(1,r.value,!1),new Uint8Array(l.buffer);case"long":const f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const e=new DataView(new ArrayBuffer(3+r.value.byteLength));e.setUint8(0,6),e.setUint16(1,r.value.byteLength,!1);const h=new Uint8Array(e.buffer);return h.set(r.value,3),h;case"string":const m=this.fromUtf8(r.value),a=new DataView(new ArrayBuffer(3+m.byteLength));a.setUint8(0,7),a.setUint16(1,m.byteLength,!1);const g=new Uint8Array(a.buffer);return g.set(m,3),g;case"timestamp":const R=new Uint8Array(9);return R[0]=8,R.set(Mr.fromNumber(r.value.valueOf()).bytes,1),R;case"uuid":if(!zd.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const N=new Uint8Array(17);return N[0]=9,N.set(u.fromHex(r.value.replace(/\-/g,"")),1),N}}parse(r){const s={};let l=0;while(l<r.byteLength){const f=r.getUint8(l++),e=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+l,f));switch(l+=f,r.getUint8(l++)){case 0:s[e]={type:La,value:!0};break;case 1:s[e]={type:La,value:!1};break;case 2:s[e]={type:Nd,value:r.getInt8(l++)};break;case 3:s[e]={type:$d,value:r.getInt16(l,!1)},l+=2;break;case 4:s[e]={type:Dd,value:r.getInt32(l,!1)},l+=4;break;case 5:s[e]={type:Ud,value:new Mr(new Uint8Array(r.buffer,r.byteOffset+l,8))},l+=8;break;case 6:const h=r.getUint16(l,!1);l+=2,s[e]={type:Md,value:new Uint8Array(r.buffer,r.byteOffset+l,h)},l+=h;break;case 7:const m=r.getUint16(l,!1);l+=2,s[e]={type:Td,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+l,m))},l+=m;break;case 8:s[e]={type:Cd,value:new Date(new Mr(new Uint8Array(r.buffer,r.byteOffset+l,8)).valueOf())},l+=8;break;case 9:const a=new Uint8Array(r.buffer,r.byteOffset+l,16);l+=16,s[e]={type:Fd,value:`${u.toHex(a.subarray(0,4))}-${u.toHex(a.subarray(4,6))}-${u.toHex(a.subarray(6,8))}-${u.toHex(a.subarray(8,10))}-${u.toHex(a.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var Va;(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"})(Va||(Va={}));var La="boolean",Nd="byte",$d="short",Dd="integer",Ud="long",Md="binary",Td="string",Cd="timestamp",Fd="uuid",zd=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function va({byteLength:r,byteOffset:s,buffer:l}){if(r<Gd)throw new Error("Provided message too short to accommodate event stream message overhead");const f=new DataView(l,s,r),e=f.getUint32(0,!1);if(r!==e)throw new Error("Reported message length does not match received message length");const h=f.getUint32(Za,!1),m=f.getUint32(t,!1),a=f.getUint32(r-hr,!1),g=new rr().update(new Uint8Array(l,s,t));if(m!==g.digest())throw new Error(`The prelude checksum specified in the message (${m}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(l,s+t,r-(t+hr))),a!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${a}`);return{headers:new DataView(l,s+t+hr,h),body:new Uint8Array(l,s+t+hr+h,e-h-(t+hr+hr))}}var Za=4,t=Za*2,hr=4,Gd=t+hr*2;class gf{constructor(r,s){this.headerMarshaller=new mf(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 l=this.headerMarshaller.format(r),f=l.byteLength+s.byteLength+16,e=new Uint8Array(f),h=new DataView(e.buffer,e.byteOffset,e.byteLength),m=new rr;return h.setUint32(0,f,!1),h.setUint32(4,l.byteLength,!1),h.setUint32(8,m.update(e.subarray(0,8)).digest(),!1),e.set(l,12),e.set(s,l.byteLength+12),h.setUint32(f-4,m.update(e.subarray(8,f-4)).digest(),!1),e}decode(r){const{headers:s,body:l}=va(r);return{headers:this.headerMarshaller.parse(s),body:l}}formatHeaders(r){return this.headerMarshaller.format(r)}}class wf{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 df{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 Sf{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 Rf{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 Ha(r){let s=0,l=0,f=null,e=null;const h=(a)=>{if(typeof a!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+a);s=a,l=4,f=new Uint8Array(a),new DataView(f.buffer).setUint32(0,a,!1)},m=async function*(){const a=r[Symbol.asyncIterator]();while(!0){const{value:g,done:R}=await a.next();if(R){if(!s)return;else if(s===l)yield f;else throw new Error("Truncated event message received.");return}const N=g.length;let $=0;while($<N){if(!f){const M=N-$;if(!e)e=new Uint8Array(4);const Q=Math.min(4-l,M);if(e.set(g.slice($,$+Q),l),l+=Q,$+=Q,l<4)break;h(new DataView(e.buffer).getUint32(0,!1)),e=null}const D=Math.min(s-l,N-$);if(f.set(g.slice($,$+D),l),l+=D,$+=D,s&&s===l)yield f,f=null,s=0,l=0}}};return{[Symbol.asyncIterator]:m}}function Ja(r,s){return async function(l){const{value:f}=l.headers[":message-type"];if(f==="error"){const e=new Error(l.headers[":error-message"].value||"UnknownError");throw e.name=l.headers[":error-code"].value,e}else if(f==="exception"){const e=l.headers[":exception-type"].value,h={[e]:l},m=await r(h);if(m.$unknown){const a=new Error(s(l.body));throw a.name=e,a}throw m[e]}else if(f==="event"){const e={[l.headers[":event-type"].value]:l},h=await r(e);if(h.$unknown)return;return h}else throw Error(`Unrecognizable event type: ${l.headers[":event-type"].value}`)}}class Xs{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new gf(r,s),this.utfEncoder=r}deserialize(r,s){const l=Ha(r);return new Sf({messageStream:new wf({inputStream:l,decoder:this.eventStreamCodec}),deserializer:Ja(s,this.utfEncoder)})}serialize(r,s){return new df({messageStream:new Rf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as yd}from"stream";async function*Xa(r){let s=!1,l=!1;const f=new Array;r.on("error",(e)=>{if(!s)s=!0;if(e)throw e}),r.on("data",(e)=>{f.push(e)}),r.on("end",()=>{s=!0});while(!l){const e=await new Promise((h)=>setTimeout(()=>h(f.shift()),0));if(e)yield e;l=s&&f.length===0}}class Af{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Xs({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const l=typeof r[Symbol.asyncIterator]==="function"?r:Xa(r);return this.universalMarshaller.deserialize(l,s)}serialize(r,s){return yd.from(this.universalMarshaller.serialize(r,s))}}var Qa=(r)=>new Af(r);import{Writable as Wd}from"stream";class Qs extends Wd{constructor(r,s){super(s);this.hash=r}_write(r,s,l){try{this.hash.update(ss(r))}catch(f){return l(f)}l()}}var ca=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const l=new r,f=new Qs(l);return s.pipe(f),new Promise((e,h)=>{s.on("error",(m)=>{f.end(),h(m)}),f.on("error",h),f.on("finish",()=>{l.digest().then(e).catch(h)})})};var cs=V(Ns(),1);var ba=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Oa,base64Encoder:r?.base64Encoder??qa,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ps,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??_a,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Nh,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new cs.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new cs.AwsSdkSigV4ASigner}],logger:r?.logger??new hs,sdkStreamMixin:r?.sdkStreamMixin??ja,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??ml,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??ia,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Ya,utf8Encoder:r?.utf8Encoder??Ba}};var wm=(r)=>{pa(process.version);const s=mm(r),l=()=>s().then(na),f=ba(r);return Bs.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??am,credentialDefaultProvider:r?.credentialDefaultProvider??gm,defaultUserAgentProvider:r?.defaultUserAgentProvider??hm({serviceId:f.serviceId,clientVersion:za.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??q(ll),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Qa,maxAttempts:r?.maxAttempts??q(fm),md5:r?.md5??Ys.bind(null,"md5"),region:r?.region??q(rm,sm),requestChecksumCalculation:r?.requestChecksumCalculation??q(Ff),requestHandler:xa.create(r?.requestHandler??l),responseChecksumValidation:r?.responseChecksumValidation??q(zf),retryMode:r?.retryMode??q({...em,default:async()=>(await l()).retryMode||lm}),sha1:r?.sha1??Ys.bind(null,"sha1"),sha256:r?.sha256??Ys.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??q(Bs.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??oa,streamHasher:r?.streamHasher??ca,useArnRegion:r?.useArnRegion??q(Ga),useDualstackEndpoint:r?.useDualstackEndpoint??q(ua),useFipsEndpoint:r?.useFipsEndpoint??q(ta)}};var dm=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:l,credentials:f}=r;return{setHttpAuthScheme(e){const h=s.findIndex((m)=>m.schemeId===e.schemeId);if(h===-1)s.push(e);else s.splice(h,1,e)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(e){l=e},httpAuthSchemeProvider(){return l},setCredentials(e){f=e},credentials(){return f}}},Sm=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var Os=(r)=>r,Nm=(r,s)=>{const l={...Os(km(r)),...Os(Em(r)),...Os(Rm(r)),...Os(dm(r))};return s.forEach((f)=>f.configure(l)),{...r,...Pm(l),...Im(l),...Am(l),...Sm(l)}};class Ef extends Tm{constructor(...[r]){const s=wm(r||{}),l=Dh(s),f=Cm(l),e=Bf(f),h=Wm(e),m=zm(h),a=$m(m),g=ym(a),R=Se(g),N=$h(R),$=he(N,{session:[()=>this,af]}),D=Nm($,r?.extensions||[]);super(D);this.config=D,this.middlewareStack.use(Fm(this.config)),this.middlewareStack.use(Km(this.config)),this.middlewareStack.use(Gm(this.config)),this.middlewareStack.use(Dm(this.config)),this.middlewareStack.use(Um(this.config)),this.middlewareStack.use(Mm(this.config)),this.middlewareStack.use(Tr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Ih,identityProviderConfigProvider:async(M)=>new Tr.DefaultIdentityProviderConfig({"aws.auth#sigv4":M.credentials,"aws.auth#sigv4a":M.credentials})})),this.middlewareStack.use(Tr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(de(this.config)),this.middlewareStack.use(Uf(this.config)),this.middlewareStack.use(jf(this.config)),this.middlewareStack.use(fl(this.config)),this.middlewareStack.use(hl(this.config))}destroy(){super.destroy()}}function Kd(r){return(s)=>async(l)=>{const f={...l.input},e=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let h of e){const m=f[h.target];if(m){let a;if(typeof m==="string")if(Ld(m,r))a=r.base64Decoder(m);else a=r.utf8Decoder(m),f[h.target]=r.base64Encoder(a);else a=ArrayBuffer.isView(m)?new Uint8Array(m.buffer,m.byteOffset,m.byteLength):new Uint8Array(m),f[h.target]=r.base64Encoder(a);const g=new r.md5;g.update(a),f[h.hash]=r.base64Encoder(await g.digest())}}return s({...l,input:f})}}function Ld(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 Vd={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},qs=(r)=>({applyToStack:(s)=>{s.add(Kd(r),Vd)}});var Vm=V(hf(),1);class If extends Dr.classBuilder().ep({...kr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,l,f){return[Vm.getSerdePlugin(l,this.serialize,this.deserialize),Ur(l,r.getEndpointParameterInstructions()),es(l,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),qs(l),bf(l)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(Fh,Ch).ser(Oh).de(jh).build(){}var Lm=V(hf(),1);class kf extends Dr.classBuilder().ep({...kr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,l,f){return[Lm.getSerdePlugin(l,this.serialize,this.deserialize),Ur(l,r.getEndpointParameterInstructions()),es(l,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Of(l),ws(l),qs(l)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(yh,Gh).ser(qh).de(ih).build(){}import{Buffer as Zm}from"buffer";class vm extends ar{client;constructor(...r){super();this.client=new Ef(...r)}async put(r){let s,l,f,e=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${br()}.${r.type.split("/")[1].split(";")[0]}`,l=r.type;else s=r.body,f=r.name,l=r.contentType;l=s instanceof Blob||s instanceof File?s.type:void 0;const h=s instanceof Zm?s:Zm.from(await s.arrayBuffer());return await this.client.send(new kf({Bucket:e,Key:f,Body:h,ContentType:l})),f}async fetch(r){let s=process.env.BUCKET_NAME,l;if(typeof r==="string")l=r;else s=r.bucket??s,l=r.name;if(!l)throw new Error("Object name has to be specified");const f=await this.client.send(new If({Bucket:s,Key:l}));return new Response(f.Body.transformToWebStream(),{headers:{"Content-Type":f.ContentType,"Content-Length":f.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":f.LastModified?.toUTCString()||"",ETag:f.ETag||""}})}}class _s{}class js extends _s{requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const l=this.requests.get(r),f=Date.now();if(f-l.date>=60000)this.requests.set(r,{date:f,count:1});else this.requests.set(r,{date:l.date,count:l.count+1})}return this.requests.get(r).count}}class Hm extends c{driver=new js;boot(){}}import*as Xd from"react-dom/server";var Ym=V(Zd(),1);import{Writable as Bd}from"stream";var{defineProperty:vd,getOwnPropertySymbols:Jm}=Object,Hd=Object.prototype.hasOwnProperty,Jd=Object.prototype.propertyIsEnumerable,Xm=(r,s,l)=>(s in r)?vd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[s]=l,Pf=(r,s)=>{for(var l in s||(s={}))if(Hd.call(s,l))Xm(r,l,s[l]);if(Jm){for(var l of Jm(s))if(Jd.call(s,l))Xm(r,l,s[l])}return r},Nf=(r,s,l)=>{return new Promise((f,e)=>{var h=(g)=>{try{a(l.next(g))}catch(R){e(R)}},m=(g)=>{try{a(l.throw(g))}catch(R){e(R)}},a=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(h,m);a((l=l.apply(r,s)).next())})},Qd={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},cd=(r,s={})=>{return Ym.default.html(r,Pf(Pf({},Qd),s))},Yd=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Qm=new TextDecoder("utf-8"),cm=(r)=>Nf(void 0,null,function*(){let s="";if("pipeTo"in r){const l=new WritableStream({write(f){s+=Qm.decode(f)}});yield r.pipeTo(l)}else{const l=new Bd({write(f,e,h){s+=Qm.decode(f),h()}});return r.pipe(l),new Promise((f,e)=>{l.on("error",e),l.on("close",()=>{f(s)})})}return s}),is=(r,s)=>Nf(void 0,null,function*(){const{default:l}=yield import("react-dom/server");let f;if(Object.hasOwn(l,"renderToReadableStream"))f=yield cm(yield l.renderToReadableStream(r));else yield new Promise((m,a)=>{const g=l.renderToPipeableStream(r,{onAllReady(){return Nf(this,null,function*(){f=yield cm(g),m()})},onError(R){a(R)}})});if(s==null?void 0:s.plainText)return $f(f,Pf({selectors:Yd},s.htmlToTextOptions));const h=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${f.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return cd(h);return h});var{defineProperty:Od,defineProperties:qd,getOwnPropertyDescriptors:_d,getOwnPropertySymbols:Bm}=Object,jd=Object.prototype.hasOwnProperty,id=Object.prototype.propertyIsEnumerable,Om=(r,s,l)=>(s in r)?Od(r,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[s]=l,jr=(r,s)=>{for(var l in s||(s={}))if(jd.call(s,l))Om(r,l,s[l]);if(Bm){for(var l of Bm(s))if(id.call(s,l))Om(r,l,s[l])}return r},bd=(r,s)=>qd(r,_d(s)),I=(r,s,l)=>{return new Promise((f,e)=>{var h=(g)=>{try{a(l.next(g))}catch(R){e(R)}},m=(g)=>{try{a(l.throw(g))}catch(R){e(R)}},a=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(h,m);a((l=l.apply(r,s)).next())})},xd="3.5.0",od=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/api-keys",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},nd=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/audiences",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},pd=class{constructor(r){this.resend=r}send(r){return I(this,arguments,function*(s,l={}){return this.create(s,l)})}create(r){return I(this,arguments,function*(s,l={}){for(let e of s)if(e.react)e.html=yield is(e.react),delete e.react;return yield this.resend.post("/emails/batch",s,l)})}},ud=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},l)})}list(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return I(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},td=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/domains",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return I(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return I(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return I(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},r3=class{constructor(r){this.resend=r}send(r){return I(this,arguments,function*(s,l={}){return this.create(s,l)})}create(r){return I(this,arguments,function*(s,l={}){if(s.react)s.html=yield is(s.react),delete s.react;return yield this.resend.post("/emails",s,l)})}get(r){return I(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},qm="https://api.resend.com",_m=`resend-node:${xd}`,s3=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||qm:qm,l3=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||_m:_m,jm=class{constructor(r){if(this.key=r,this.apiKeys=new od(this),this.audiences=new nd(this),this.batch=new pd(this),this.contacts=new ud(this),this.domains=new td(this),this.emails=new r3(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":l3,"Content-Type":"application/json"})}fetchRequest(r){return I(this,arguments,function*(s,l={}){try{const f=yield fetch(`${s3}${s}`,l);if(!f.ok)try{const h=yield f.text();return{data:null,error:JSON.parse(h)}}catch(h){if(h instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const m={message:f.statusText,name:"application_error"};if(h instanceof Error)return{data:null,error:bd(jr({},m),{message:h.message})};return{data:null,error:m}}return{data:yield f.json(),error:null}}catch(f){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return I(this,arguments,function*(l,f,e={}){const h=jr({method:"POST",headers:this.headers,body:JSON.stringify(f)},e);return this.fetchRequest(l,h)})}get(r){return I(this,arguments,function*(s,l={}){const f=jr({method:"GET",headers:this.headers},l);return this.fetchRequest(s,f)})}put(r,s){return I(this,arguments,function*(l,f,e={}){const h=jr({method:"PUT",headers:this.headers,body:JSON.stringify(f)},e);return this.fetchRequest(l,h)})}patch(r,s){return I(this,arguments,function*(l,f,e={}){const h=jr({method:"PATCH",headers:this.headers,body:JSON.stringify(f)},e);return this.fetchRequest(l,h)})}delete(r,s){return I(this,null,function*(){const l={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,l)})}};class bs{}class xs extends bs{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new jm(this.apiKey),{data:l,error:f}=await s.emails.send({...r});if(f)return console.error(f),!1;if(l)return!0}}class im extends c{driver=new xs;boot(){}}class bm extends c{channels={};boot(){}}class xm extends c{root;rootRouter;boot(){}}class om extends c{rootRouter;boot(){return"Origin"}}export{xm as ViewRouterServiceProvider,vm as S3Driver,xs as ResendDriver,Hm as RateLimiterServiceProvider,_s as RateLimiterDriver,js as InMemoryRateLimiter,xr as FileSystemDriver,Df as FileStorageServiceProvider,ar as FileStorageDriver,im as EmailServiceProvider,bs as EmailDriver,bm as BroadcastingServiceProvider,om as ApiRouterServiceProvider};export{Df as w,om as x,Hm as y,im as z,bm as A,xm as B};
|
|
2
|
+
import"../chunk-9gjnqk62.js";import{H as B}from"../chunk-ktwy9nyn.js";import{I as L}from"../chunk-td079vg9.js";import{O as Yf,P as yA}from"../chunk-t3g9fdba.js";import{U as jg}from"../chunk-wfc30gdx.js";import{$ as Rg,Aa as se,Ba as nm,Ca as pm,Da as hg,Ea as mg,V as ss,W as Or,X as n,Y as wg,Z as dg,_ as Ag,aa as fr,ba as lr,ca as He,da as Eg,ea as fh,fa as lh,ga as ah,ha as hh,ia as cg,ja as Om,ka as _m,la as qm,ma as jm,na as Ig,oa as Pg,pa as mh,qa as Mr,ra as Cr,sa as kg,ta as im,ua as bm,va as Ng,wa as xm,xa as Dg,ya as Ls,za as om}from"../chunk-xqjmzvvq.js";import{$a as Gh,Fa as eg,Ga as fg,Ha as K,Ia as Es,Ja as as,Ma as Jr,Na as Y,Oa as Fm,Pa as Ss,Qa as Sg,Ra as Km,Sa as Lm,Ta as Wm,Ua as Ir,Va as Vm,Wa as Jm,Xa as cr,Ya as Qm,Za as tl,_a as ra,ab as Tr,bb as Z,db as xr,gb as $r,hb as zh,ib as yr,jb as Fh,kb as qs,lb as jr,nb as Pf,ob as Xr,pb as Eh,qb as i,rb as Kh,sb as Bm,tb as Ym,ub as lg,vb as ag,xb as v,zb as Lh}from"../chunk-7461c8cq.js";import{Bb as ww}from"../chunk-6mhs44ws.js";import{Cb as q,Db as Xm}from"../chunk-z5ahmk6p.js";import"../chunk-tvs08p0g.js";import{Kb as um}from"../chunk-66tgc8cz.js";import"../chunk-g9trvvh2.js";class gr{}class es extends gr{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,e;if(r instanceof Blob)s=r,e=`${ss()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,e=r.name;const f=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),l=`${this.folderPath}/${e}`;return await Bun.write(l,f),e}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const f=`${this.folderPath}/${e}`,l=Bun.file(f),a=Bun.file(f).stream(),h=new Date(l.lastModified).toUTCString();return new Response(a,{headers:{"Content-Type":l.type,"Content-Length":String(l.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":h}})}}class Of extends B{driver=new es;boot(){}}function Jg(r){return(s)=>async(e)=>{const{request:f}=e;if(K.isInstance(f)&&f.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")f.headers={...f.headers,Expect:"100-continue"}}return s({...e,request:f})}}var Bg={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},_f=(r)=>({applyToStack:(s)=>{s.add(Jg(r),Bg)}});var zr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},fs=zr.WHEN_SUPPORTED,Ae={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ls=zr.WHEN_SUPPORTED,U;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(U||(U={}));var qf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(qf||(qf={}));var{MD5:jf,CRC32:bf}=U;var o;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(o||(o={}));var wr=(r,s,e,f)=>{if(!(s in r))return;const l=r[s].toUpperCase();if(!Object.values(e).includes(l))throw new TypeError(`Cannot load ${f} '${s}'. Expected one of ${Object.values(e)}, got '${r[s]}'.`);return l};var Yg="AWS_REQUEST_CHECKSUM_CALCULATION",Og="request_checksum_calculation",xf={environmentVariableSelector:(r)=>wr(r,Yg,zr,o.ENV),configFileSelector:(r)=>wr(r,Og,zr,o.CONFIG),default:fs};var _g="AWS_RESPONSE_CHECKSUM_VALIDATION",qg="response_checksum_validation",of={environmentVariableSelector:(r)=>wr(r,_g,Ae,o.ENV),configFileSelector:(r)=>wr(r,qg,Ae,o.CONFIG),default:ls};var Fr=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256],nf=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256];var pf=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},f)=>{const l=f?bf:jf;if(!e||!r[e])return s?l:void 0;const a=r[e];if(!Fr.includes(a))throw new Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${Fr}.`);return a};var dr=(r)=>r===U.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var uf=(r,s)=>{const e=r.toLowerCase();for(let f of Object.keys(s))if(e===f.toLowerCase())return!0;return!1};var Ar=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!as(r);var tf=L(jg(),1),{__extends:NR,__assign:DR,__rest:$R,__decorate:yR,__param:UR,__esDecorate:TR,__runInitializers:MR,__propKey:CR,__setFunctionName:HR,__metadata:vR,__awaiter:hs,__generator:ms,__exportStar:GR,__createBinding:zR,__values:gs,__read:FR,__spread:KR,__spreadArrays:LR,__spreadArray:WR,__await:QR,__asyncGenerator:XR,__asyncDelegator:ZR,__asyncValues:VR,__makeTemplateObject:JR,__importStar:BR,__importDefault:YR,__classPrivateFieldGet:OR,__classPrivateFieldSet:_R,__classPrivateFieldIn:qR,__addDisposableResource:jR,__disposeResources:iR}=tf.default;import{Buffer as rl}from"buffer";var sl=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?rl.from(r,s):rl.from(r)};var Re=(r)=>{const s=sl(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 ig(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var ig=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Re;function Lr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Wr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Qr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),e=0;while(e<r.length)s[e]=r[e],e+=1;return s}return Uint32Array.from(r)}var Se=function(){function r(){this.crc32=new er}return r.prototype.update=function(s){if(Lr(s))return;this.crc32.update(Kr(s))},r.prototype.digest=function(){return hs(this,void 0,void 0,function(){return ms(this,function(s){return[2,Wr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new er},r}();var er=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,f;try{for(var l=gs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^xg[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(f=l.return))f.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var bg=[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],xg=Qr(bg);var ce=function(){function r(){this.crc32c=new Ee}return r.prototype.update=function(s){if(Lr(s))return;this.crc32c.update(Kr(s))},r.prototype.digest=function(){return hs(this,void 0,void 0,function(){return ms(this,function(s){return[2,Wr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new Ee},r}();var Ee=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,f;try{for(var l=gs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^ng[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(f=l.return))f.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var og=[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],ng=Qr(og);var ws=(r,s)=>({[U.MD5]:s.md5,[U.CRC32]:Se,[U.CRC32C]:ce,[U.SHA1]:s.sha1,[U.SHA256]:s.sha256})[r];var ds=(r,s)=>{const e=new r;return e.update(Y(s||"")),e.digest()};var el={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},fl=(r,s)=>(e,f)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const{request:a}=l,{body:h,headers:m}=a,{base64Encoder:g,streamHasher:w}=r,{input:E,requestChecksumRequired:I,requestAlgorithmMember:P}=s,N=pf(E,{requestChecksumRequired:I,requestAlgorithmMember:P},!!f.isS3ExpressBucket);let y=h,V=m;if(N){const b=dr(N),Gr=ws(N,r);if(Ar(h)){const{getAwsChunkedEncodingStream:de,bodyLengthChecker:Vg}=r;y=de(h,{base64Encoder:g,bodyLengthChecker:Vg,checksumLocationName:b,checksumAlgorithmFn:Gr,streamHasher:w}),V={...m,"content-encoding":m["content-encoding"]?`${m["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":m["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":b},delete V["content-length"]}else if(!uf(b,m)){const de=await ds(Gr,h);V={...m,[b]:g(de)}}}return await e({...l,request:{...a,headers:V,body:y}})};var As=(r=[])=>{const s=[];for(let e of nf){if(!r.includes(e)||!Fr.includes(e))continue;s.push(e)}return s};var ll=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const e=r.slice(s+1);if(!e.startsWith("0")){const f=parseInt(e,10);if(!isNaN(f)&&f>=1&&f<=1e4)return!0}}return!1};import{Transform as pg}from"stream";function Ie(r){const s=new pg;return s.push(r),s.push(null),s}var al=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:f})=>{const l=Ar(r)?s(e,r):ds(e,r);return f(await l)};var hl=async(r,{config:s,responseAlgorithms:e})=>{const f=As(e),{body:l,headers:a}=r;for(let h of f){const m=dr(h),g=a[m];if(g){const w=ws(h,s),{streamHasher:E,base64Encoder:I}=s,P=await al(l,{streamHasher:E,checksumAlgorithmFn:w,base64Encoder:I});if(P===g)break;throw new Error(`Checksum mismatch: expected "${P}" but received "${g}" in response header "${m}".`)}}};var ml={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},gl=(r,s)=>(e,f)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const a=l.input,h=await e(l),m=h.response;let g=void 0;const{requestValidationModeMember:w,responseAlgorithms:E}=s;if(w&&a[w]==="ENABLED"){const{clientName:I,commandName:P}=f;if(I==="S3Client"&&P==="GetObjectCommand"&&As(E).every((V)=>{const rs=dr(V),b=m.headers[rs];return!b||ll(b)}))return h;const y=Ar(m.body);if(y)g=await r.streamCollector(m.body),m.body=Ie(g);if(await hl(h.response,{config:r,responseAlgorithms:E}),y&&g)m.body=Ie(g)}return h};var Rs=(r,s)=>({applyToStack:(e)=>{e.add(fl(r,s),el),e.addRelativeTo(gl(r,s),ml)}});var wl=(r)=>({...r,requestChecksumCalculation:n(r.requestChecksumCalculation??fs),responseChecksumValidation:n(r.responseChecksumValidation??ls)});function tg(){return(r,s)=>async(e)=>{const{request:f}=e;if(K.isInstance(f)){if(!(ug in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof Ss))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({...e})}}var ug="content-length",rw={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},dl=(r)=>({applyToStack:(s)=>{s.add(tg(),rw)}});var Al=(r)=>{return(s,e)=>async(f)=>{const l=await r.region(),a=r.region;let h=()=>{};if(e.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return e.__s3RegionRedirect}}),h=()=>Object.defineProperty(r,"region",{writable:!0,value:a});try{const m=await s(f);if(e.__s3RegionRedirect){h();const g=await r.region();if(l!==g)throw new Error("Region was not restored following S3 region redirect.")}return m}catch(m){throw h(),m}}},Rl={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function sw(r){return(s,e)=>async(f)=>{try{return await s(f)}catch(l){if(r.followRegionRedirects&&l?.$metadata?.httpStatusCode===301){try{const a=l.$response.headers["x-amz-bucket-region"];e.logger?.debug(`Redirecting from ${await r.region()} to ${a}`),e.__s3RegionRedirect=a}catch(a){throw new Error("Region redirect failed: "+a)}return s(f)}else throw l}}}var ew={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Sl=(r)=>({applyToStack:(s)=>{s.add(sw(r),ew),s.addRelativeTo(Al(r),Rl)}});var fw=(r)=>{return(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(Es.isInstance(a)){if(a.headers.expires){a.headers.expiresstring=a.headers.expires;try{Xr(a.headers.expires)}catch(h){e.logger?.warn(`AWS SDK Warning for ${e.clientName}::${e.commandName} response parsing (${a.headers.expires}): ${h}`),delete a.headers.expires}}}return l}},lw={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},El=(r)=>({applyToStack:(s)=>{s.addRelativeTo(fw(r),lw)}});class Rr{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+Rr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const e=this.data[s];if(!e.isRefreshing){const f=await e.identity;if(f.expiration){if(f.expiration.getTime()<r)delete this.data[s]}}}}}Rr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class Sr{constructor(r,s=!1,e=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=e}get identity(){return this.accessed=Date.now(),this._identity}}class Er{constructor(r,s=new Rr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const e=s.Bucket,{cache:f}=this,l=f.get(e);if(l)return l.identity.then((a)=>{if((a.expiration?.getTime()??0)<Date.now())return f.set(e,new Sr(this.getIdentity(e))).identity;if((a.expiration?.getTime()??0)<Date.now()+Er.REFRESH_WINDOW_MS&&!l.isRefreshing)l.isRefreshing=!0,this.getIdentity(e).then((g)=>{f.set(e,new Sr(Promise.resolve(g)))});return a});return f.set(e,new Sr(this.getIdentity(e))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((f)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+f)});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}}}Er.REFRESH_WINDOW_MS=60000;var Br=L(cr(),1);var cl="X-Amz-Algorithm",Il="X-Amz-Credential",Pl="X-Amz-Date",kl="X-Amz-SignedHeaders",Nl="X-Amz-Expires",Dl="X-Amz-Signature",$l="X-Amz-Security-Token";var yl="authorization",Pe="X-Amz-Date".toLowerCase();var Ul=["authorization",Pe,"date"],Tl="X-Amz-Signature".toLowerCase(),Zr="x-amz-content-sha256",Ml="X-Amz-Security-Token".toLowerCase();var Cl={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},Hl=/^proxy-/,vl=/^sec-/;var cs="AWS4-HMAC-SHA256";var Gl="AWS4-HMAC-SHA256-PAYLOAD",zl="UNSIGNED-PAYLOAD",Fl=50,ke="aws4_request",Kl=604800;var Wl=L(cr(),1);var Is={},Ne=[],Ps=(r,s,e)=>`${r}/${s}/${e}/${ke}`,Ql=async(r,s,e,f,l)=>{const a=await Ll(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${f}:${l}:${Wl.toHex(a)}:${s.sessionToken}`;if(h in Is)return Is[h];Ne.push(h);while(Ne.length>Fl)delete Is[Ne.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,f,l,ke])m=await Ll(r,m,g);return Is[h]=m};var Ll=(r,s,e)=>{const f=new r(s);return f.update(Y(e)),f.digest()};var ks=({headers:r},s,e)=>{const f={};for(let l of Object.keys(r).sort()){if(r[l]==null)continue;const a=l.toLowerCase();if(a in Cl||s?.has(a)||Hl.test(a)||vl.test(a)){if(!e||e&&!e.has(a))continue}f[a]=r[l].trim().replace(/\s+/g," ")}return f};var De=({query:r={}})=>{const s=[],e={};for(let f of Object.keys(r)){if(f.toLowerCase()===Tl)continue;const l=Ir(f);s.push(l);const a=r[f];if(typeof a==="string")e[l]=`${l}=${Ir(a)}`;else if(Array.isArray(a))e[l]=a.slice(0).reduce((h,m)=>h.concat([`${l}=${Ir(m)}`]),[]).sort().join("&")}return s.sort().map((f)=>e[f]).filter((f)=>f).join("&")};var Xl=L(cr(),1);var Vr=async({headers:r,body:s},e)=>{for(let f of Object.keys(r))if(f.toLowerCase()===Zr)return r[f];if(s==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof s==="string"||ArrayBuffer.isView(s)||as(s)){const f=new e;return f.update(Y(s)),Xl.toHex(await f.digest())}return zl};var Ns=L(cr(),1);function Vl(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 $e{format(r){const s=[];for(let l of Object.keys(r)){const a=Jr(l);s.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,a)=>l+a.byteLength,0));let f=0;for(let l of s)e.set(l,f),f+=l.byteLength;return e}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 e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const a=new Uint8Array(l.buffer);return a.set(r.value,3),a;case"string":const h=Jr(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(ye.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!aw.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const E=new Uint8Array(17);return E[0]=9,E.set(Ns.fromHex(r.value.replace(/\-/g,"")),1),E}}}var Zl;(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"})(Zl||(Zl={}));var aw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class ye{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 e=7,f=Math.abs(Math.round(r));e>-1&&f>0;e--,f/=256)s[e]=f;if(r<0)Vl(s);return new ye(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Vl(r);return parseInt(Ns.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var Jl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var Ue=(r,s={})=>{const{headers:e,query:f={}}=K.clone(r);for(let l of Object.keys(e)){const a=l.toLowerCase();if(a.slice(0,6)==="x-amz-"&&!s.unhoistableHeaders?.has(a))f[l]=e[l],delete e[l]}return{...r,headers:e,query:f}};var Ds=(r)=>{r=K.clone(r);for(let s of Object.keys(r.headers))if(Ul.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var Bl=(r)=>hw(r).toISOString().replace(/\.\d{3}Z$/,"Z"),hw=(r)=>{if(typeof r==="number")return new Date(r*1000);if(typeof r==="string"){if(Number(r))return new Date(Number(r)*1000);return new Date(r)}return r};class Te{constructor({applyChecksum:r,credentials:s,region:e,service:f,sha256:l,uriEscapePath:a=!0}){this.headerFormatter=new $e,this.service=f,this.sha256=l,this.uriEscapePath=a,this.applyChecksum=typeof r==="boolean"?r:!0,this.regionProvider=n(e),this.credentialProvider=n(s)}async presign(r,s={}){const{signingDate:e=new Date,expiresIn:f=3600,unsignableHeaders:l,unhoistableHeaders:a,signableHeaders:h,signingRegion:m,signingService:g}=s,w=await this.credentialProvider();this.validateResolvedCredentials(w);const E=m??await this.regionProvider(),{longDate:I,shortDate:P}=$s(e);if(f>Kl)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const N=Ps(P,E,g??this.service),y=Ue(Ds(r),{unhoistableHeaders:a});if(w.sessionToken)y.query[$l]=w.sessionToken;y.query[cl]=cs,y.query[Il]=`${w.accessKeyId}/${N}`,y.query[Pl]=I,y.query[Nl]=f.toString(10);const V=ks(y,l,h);return y.query[kl]=Yl(V),y.query[Dl]=await this.getSignature(I,N,this.getSigningKey(w,E,P,g),this.createCanonicalRequest(y,V,await Vr(r,this.sha256))),y}async sign(r,s){if(typeof r==="string")return this.signString(r,s);else if(r.headers&&r.payload)return this.signEvent(r,s);else if(r.message)return this.signMessage(r,s);else return this.signRequest(r,s)}async signEvent({headers:r,payload:s},{signingDate:e=new Date,priorSignature:f,signingRegion:l,signingService:a}){const h=l??await this.regionProvider(),{shortDate:m,longDate:g}=$s(e),w=Ps(m,h,a??this.service),E=await Vr({headers:{},body:s},this.sha256),I=new this.sha256;I.update(r);const P=Br.toHex(await I.digest()),N=[Gl,g,w,f,P,E].join("\n");return this.signString(N,{signingDate:e,signingRegion:h,signingService:a})}async signMessage(r,{signingDate:s=new Date,signingRegion:e,signingService:f}){return this.signEvent({headers:this.headerFormatter.format(r.message.headers),payload:r.message.body},{signingDate:s,signingRegion:e,signingService:f,priorSignature:r.priorSignature}).then((a)=>{return{message:r.message,signature:a}})}async signString(r,{signingDate:s=new Date,signingRegion:e,signingService:f}={}){const l=await this.credentialProvider();this.validateResolvedCredentials(l);const a=e??await this.regionProvider(),{shortDate:h}=$s(s),m=new this.sha256(await this.getSigningKey(l,a,h,f));return m.update(Y(r)),Br.toHex(await m.digest())}async signRequest(r,{signingDate:s=new Date,signableHeaders:e,unsignableHeaders:f,signingRegion:l,signingService:a}={}){const h=await this.credentialProvider();this.validateResolvedCredentials(h);const m=l??await this.regionProvider(),g=Ds(r),{longDate:w,shortDate:E}=$s(s),I=Ps(E,m,a??this.service);if(g.headers[Pe]=w,h.sessionToken)g.headers[Ml]=h.sessionToken;const P=await Vr(g,this.sha256);if(!Jl(Zr,g.headers)&&this.applyChecksum)g.headers[Zr]=P;const N=ks(g,f,e),y=await this.getSignature(w,I,this.getSigningKey(h,m,E,a),this.createCanonicalRequest(g,N,P));return g.headers[yl]=`${cs} Credential=${h.accessKeyId}/${I}, SignedHeaders=${Yl(N)}, Signature=${y}`,g}createCanonicalRequest(r,s,e){const f=Object.keys(s).sort();return`${r.method}
|
|
3
|
+
${this.getCanonicalPath(r)}
|
|
4
|
+
${De(r)}
|
|
5
|
+
${f.map((l)=>`${l}:${s[l]}`).join("\n")}
|
|
3
6
|
|
|
4
|
-
|
|
7
|
+
${f.join(";")}
|
|
8
|
+
${e}`}async createStringToSign(r,s,e){const f=new this.sha256;f.update(Y(e));const l=await f.digest();return`${cs}
|
|
9
|
+
${r}
|
|
10
|
+
${s}
|
|
11
|
+
${Br.toHex(l)}`}getCanonicalPath({path:r}){if(this.uriEscapePath){const s=[];for(let l of r.split("/")){if(l?.length===0)continue;if(l===".")continue;if(l==="..")s.pop();else s.push(l)}const e=`${r?.startsWith("/")?"/":""}${s.join("/")}${s.length>0&&r?.endsWith("/")?"/":""}`;return Ir(e).replace(/%2F/g,"/")}return r}async getSignature(r,s,e,f){const l=await this.createStringToSign(r,s,f),a=new this.sha256(await e);return a.update(Y(l)),Br.toHex(await a.digest())}getSigningKey(r,s,e,f){return Ql(this.sha256,r,e,s,f||this.service)}validateResolvedCredentials(r){if(typeof r!=="object"||typeof r.accessKeyId!=="string"||typeof r.secretAccessKey!=="string")throw new Error("Resolved credential object is not valid")}}var $s=(r)=>{const s=Bl(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},Yl=(r)=>Object.keys(r).sort().join(";");var Ol="Directory",_l="S3Express",ql="sigv4-s3express",ys="X-Amz-S3session-Token",Yr=ys.toLowerCase(),mw="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",gw="s3_disable_express_session_auth",Me={environmentVariableSelector:(r)=>fr(r,mw,lr.ENV),configFileSelector:(r)=>fr(r,gw,lr.CONFIG),default:!1};function jl(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}}function il(r,s){const e=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),f=r.credentialProvider,l=()=>{return clearTimeout(e),r.credentialProvider=f,Promise.resolve(s)};r.credentialProvider=l}class Us extends Te{async signWithCredentials(r,s,e){const f=jl(s);r.headers[Yr]=s.sessionToken;const l=this;return il(l,f),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const f=jl(s);return delete r.headers[Yr],r.headers[ys]=s.sessionToken,r.query=r.query??{},r.query[ys]=s.sessionToken,il(this,f),this.presign(r,e)}}var bl=(r)=>{return(s,e)=>async(f)=>{if(e.endpointV2){const l=e.endpointV2,a=l.properties?.authSchemes?.[0]?.name===ql;if(l.properties?.backend===_l||l.properties?.bucketType===Ol)e.isS3ExpressBucket=!0;if(a){const m=f.input.Bucket;if(m){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:m});if(e.s3ExpressIdentity=g,K.isInstance(f.request)&&g.sessionToken)f.request.headers[Yr]=g.sessionToken}}}return s(f)}},xl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Ce=(r)=>({applyToStack:(s)=>{s.add(bl(r),xl)}});var nl=L(He(),1);var dw=L(ww(),1);var ol=async(r,s,e,f)=>{const l=await f.signWithCredentials(e,r,{});if(l.headers["X-Amz-Security-Token"]||l.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return l};var Aw=(r)=>(s)=>{throw s},Rw=(r,s)=>{};var pl=(r)=>(s,e)=>async(f)=>{if(!K.isInstance(f.request))return s(f);const a=Or(e).selectedHttpAuthScheme;if(!a)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:h={}},identity:m,signer:g}=a;let w;if(e.s3ExpressIdentity)w=await ol(e.s3ExpressIdentity,h,f.request,await r.signer());else w=await g.sign(f.request,m,h);const E=await s({...f,request:w}).catch((g.errorHandler||Aw)(h));return(g.successHandler||Rw)(E.response,h),E},ve=(r)=>({applyToStack:(s)=>{s.addRelativeTo(pl(r),nl.httpSigningMiddlewareOptions)}});var ul=(r,{session:s})=>{const[e,f]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new Er(async(l)=>e().send(new f({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Sw={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Ew=3000,cw=(r)=>(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(!Es.isInstance(a))return l;const{statusCode:h,body:m}=a;if(h<200||h>=300)return l;if(!(typeof m?.stream==="function"||typeof m?.pipe==="function"||typeof m?.tee==="function"))return l;let w=m,E=m;if(m&&typeof m==="object"&&!(m instanceof Uint8Array))[w,E]=await tl(m);a.body=E;const I=await Iw(w,{streamCollector:async(N)=>{return ra(N,Ew)}});if(typeof w?.destroy==="function")w.destroy();const P=r.utf8Encoder(I.subarray(I.length-16));if(I.length===0&&Sw[e.commandName]){const N=new Error("S3 aborted request");throw N.name="InternalError",N}if(P&&P.endsWith("</Error>"))a.statusCode=400;return l},Iw=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},Pw={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},Ts=(r)=>({applyToStack:(s)=>{s.addRelativeTo(cw(r),Pw)}});var Ge=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function sa(r){return(s,e)=>async(f)=>{if(r.bucketEndpoint){const l=e.endpointV2;if(l){const a=f.input.Bucket;if(typeof a==="string")try{const h=new URL(a);e.endpointV2={...l,url:h}}catch(h){const m=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${a} could not be parsed as URL.`;if(e.logger?.constructor?.name==="NoOpLogger")console.warn(m);else e.logger?.warn?.(m);throw h}}}return s(f)}}var ea={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function kw({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:f}}=e;if(!r&&typeof f==="string"&&!Ge(f)&&f.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var Nw={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},fa=(r)=>({applyToStack:(s)=>{s.add(kw(r),Nw),s.addRelativeTo(sa(r),ea)}});var vr=L(He(),1);var la=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Ws=L(Ls(),1);var Ms={CrtSignerV4:null};class ze{constructor(r){this.sigv4Signer=new Us(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,e={}){if(e.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,e)}return this.sigv4Signer.signWithCredentials(r,s,e)}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,e={}){if(e.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,e)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=Ms.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\nPlease 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 Pr={["required"]:!1,["type"]:"String"},kr={["required"]:!0,default:!1,["type"]:"Boolean"},_r={["required"]:!1,["type"]:"Boolean"},_={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},$={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},D={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},M={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},oa={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},aa={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},zs={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Q={["ref"]:"Bucket"},W={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Gs={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},na={["ref"]:"url"},pa={["fn"]:"uriEncode",["argv"]:[Q],["assign"]:"uri_encoded_bucket"},x={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},ua={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!1]},Fe={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},Fs={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},ha={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},ma={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},A={["fn"]:"not",["argv"]:[M]},ga={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},wa={["fn"]:"not",["argv"]:[zs]},da={["ref"]:"hardwareType"},Aa={["conditions"]:[A],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},Cs={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Ke={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Dw={["ref"]:"ForcePathStyle"},T={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},H={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},G={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},c={["fn"]:"not",["argv"]:[H]},z={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},Ra={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},C={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Sa={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Ea={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},ca={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Le={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[na,"isIp"]},!1]},We={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:C,["headers"]:{}},rf={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:C,["headers"]:{}},Ia={["endpoint"]:rf,["type"]:"endpoint"},Qe={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Pa={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Hs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},ta={["ref"]:"arnType"},Xe={["fn"]:"getAttr",["argv"]:[J,"service"]},sf={["ref"]:"accessPointName"},ka={["conditions"]:[D],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},Na={["conditions"]:[_],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Da={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},Ze={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},rh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},sh={["fn"]:"getAttr",["argv"]:[J,"accountId"]},Ve={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},$a={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},Je={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Be={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},Ye={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},ya={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Ua={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},qr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},Ta={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Ma={["fn"]:"aws.parseArn",["argv"]:[Q]},Ca={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Ha={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},va={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Oe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Ga={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},za={["ref"]:"UseObjectLambdaEndpoint"},_e={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},Fa={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Ka={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},La={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},qe={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:C,["headers"]:{}},Wa={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},je=[{["ref"]:"Region"}],$w=[{["ref"]:"Endpoint"}],yw=[Q],ie=[D],vs=[_],ar=[M,W],Qa=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],Xa=[Gs],be=[pa],xe=[ua],Nr=[$],Za=[{["fn"]:"substring",["argv"]:[Q,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Va=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:x,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:x,["headers"]:{}},["type"]:"endpoint"}],Ja=[{["fn"]:"substring",["argv"]:[Q,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Ba=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:Fs,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:Fs,["headers"]:{}},["type"]:"endpoint"}],Uw=[zs],Ya=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Oa=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Tw=["*"],p=[oa],_a=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],u=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],oe=[{["fn"]:"stringEquals",["argv"]:[ta,"accesspoint"]}],qa=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[sf,""]}]}],Mw=[J,"resourceId[1]"],ne=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],ja=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],Cw=[J,"resourceId[2]"],pe=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],ia=[{["fn"]:"stringEquals",["argv"]:[rh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],ue=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],te=[{["fn"]:"isValidHostLabel",["argv"]:[sh,!1]}],ba=[{["fn"]:"isValidHostLabel",["argv"]:[sf,!1]}],xa=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Hw={version:"1.0",parameters:{Bucket:Pr,Region:Pr,UseFIPS:kr,UseDualStack:kr,Endpoint:Pr,ForcePathStyle:kr,Accelerate:kr,UseGlobalEndpoint:kr,UseObjectLambdaEndpoint:_r,Key:Pr,Prefix:Pr,CopySource:Pr,DisableAccessPoints:_r,DisableMultiRegionAccessPoints:kr,UseArnRegion:_r,UseS3ExpressControlEndpoint:_r,DisableS3ExpressSessionAuth:_r},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:je}],rules:[{["conditions"]:[_,$],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[D,M],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[M,$],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[M,_],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[$,oa,aa],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[zs,{["fn"]:"substring",["argv"]:[Q,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:ie,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:vs,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:ar,rules:[{["conditions"]:Qa,rules:[{["conditions"]:Xa,rules:[{["conditions"]:be,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Fe],["type"]:"tree"},{["conditions"]:Xa,rules:[{["conditions"]:be,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:Fs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:Fs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Fe],["type"]:"tree"},{["conditions"]:[ha,ma],rules:[{["conditions"]:[pa,A],rules:[{["conditions"]:Nr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{["conditions"]:Qa,rules:[{["conditions"]:Za,rules:Va,["type"]:"tree"},{["conditions"]:Ja,rules:Va,["type"]:"tree"},ga],["type"]:"tree"},{["conditions"]:Za,rules:Ba,["type"]:"tree"},{["conditions"]:Ja,rules:Ba,["type"]:"tree"},ga],["type"]:"tree"},Fe],["type"]:"tree"},{["conditions"]:[wa,ha,ma],rules:[{["conditions"]:ar,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Nr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[zs,{["fn"]:"substring",["argv"]:[Q,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[Q,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[Q,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[Q,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:je,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Ya,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[da,"e"]}],rules:[{["conditions"]:Oa,rules:[Aa,{["conditions"]:ar,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[da,"o"]}],rules:[{["conditions"]:Oa,rules:[Aa,{["conditions"]:ar,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Cs,["headers"]:d},["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"]:Uw,rules:[{["conditions"]:[M,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:$w}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Ke,ua],rules:[{["conditions"]:p,rules:[{["conditions"]:_a,rules:[{["conditions"]:[_,aa],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[D,$,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,$,T,A,c,z],rules:[{endpoint:Ra,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,$,T,A,c,F],endpoint:Ra,["type"]:"endpoint"},{["conditions"]:[S,$,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,$,T,A,c,z],rules:[{endpoint:Sa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,$,T,A,c,F],endpoint:Sa,["type"]:"endpoint"},{["conditions"]:[D,R,_,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,R,_,A,c,z],rules:[{endpoint:Ea,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,R,_,A,c,F],endpoint:Ea,["type"]:"endpoint"},{["conditions"]:[D,R,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,R,T,A,c,z],rules:[{endpoint:ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,R,T,A,c,F],endpoint:ca,["type"]:"endpoint"},{["conditions"]:[S,R,T,M,W,Gs,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,T,M,W,Le,H],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,T,M,W,Gs,c,z],rules:[{["conditions"]:u,endpoint:We,["type"]:"endpoint"},{endpoint:We,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,T,M,W,Le,c,z],rules:[{["conditions"]:u,endpoint:rf,["type"]:"endpoint"},Ia],["type"]:"tree"},{["conditions"]:[S,R,T,M,W,Gs,c,F],endpoint:We,["type"]:"endpoint"},{["conditions"]:[S,R,T,M,W,Le,c,F],endpoint:rf,["type"]:"endpoint"},{["conditions"]:[S,R,_,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,_,A,c,z],rules:[{["conditions"]:u,endpoint:Qe,["type"]:"endpoint"},{endpoint:Qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,_,A,c,F],endpoint:Qe,["type"]:"endpoint"},{["conditions"]:[S,R,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,T,A,c,z],rules:[{["conditions"]:u,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Pa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,T,A,c,F],endpoint:Pa,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[M,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[na,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!0]},Ke,R,S,T],rules:[{["conditions"]:p,rules:[{["conditions"]:_a,rules:[Ia],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ke,{["fn"]:"aws.parseArn",["argv"]:yw,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[ta,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3-object-lambda"]}],rules:[{["conditions"]:oe,rules:[{["conditions"]:qa,rules:[ka,Na,{["conditions"]:ne,rules:[Da,{["conditions"]:ja,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:p,rules:[{["conditions"]:ia,rules:[{["conditions"]:ue,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[sh,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:te,rules:[{["conditions"]:ba,rules:[{["conditions"]:ar,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Nr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},$a],["type"]:"tree"},Je],["type"]:"tree"},Be],["type"]:"tree"},Ye],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},ya],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Ua],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:oe,rules:[{["conditions"]:qa,rules:[{["conditions"]:ne,rules:[{["conditions"]:oe,rules:[{["conditions"]:ne,rules:[Da,{["conditions"]:ja,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:p,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[rh,"{partitionResult#name}"]}],rules:[{["conditions"]:ue,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3"]}],rules:[{["conditions"]:te,rules:[{["conditions"]:ba,rules:[{["conditions"]:vs,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[$,D],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:qr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:qr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,D],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:qr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,M,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:qr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:qr,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},$a],["type"]:"tree"},Je],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Be],["type"]:"tree"},Ye],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},ya],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[sf,!0]}],rules:[{["conditions"]:ie,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:Nr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:vs,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"]:je,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[J,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:Tw}]},["headers"]:d},["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"},Ua],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3-outposts"]}],rules:[{["conditions"]:ie,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:Nr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:vs,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:Mw,["assign"]:"outpostId"}],rules:[{["conditions"]:Ya,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:p,rules:[{["conditions"]:ia,rules:[{["conditions"]:ue,rules:[{["conditions"]:te,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:Cw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:ar,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:Ta,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ta,["headers"]:d},["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"},Je],["type"]:"tree"},Be],["type"]:"tree"},Ye],["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"]:[Q,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[Ma]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Dw,!0]},Ma],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:be,rules:[{["conditions"]:p,rules:[{["conditions"]:[T],rules:[{["conditions"]:[D,A,$,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,$,c,z],rules:[{endpoint:Ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,$,c,F],endpoint:Ca,["type"]:"endpoint"},{["conditions"]:[S,A,$,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,$,c,z],rules:[{endpoint:Ha,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,$,c,F],endpoint:Ha,["type"]:"endpoint"},{["conditions"]:[D,A,R,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,R,c,z],rules:[{endpoint:va,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,R,c,F],endpoint:va,["type"]:"endpoint"},{["conditions"]:[S,M,W,R,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,M,W,R,c,z],rules:[{["conditions"]:u,endpoint:Oe,["type"]:"endpoint"},{endpoint:Oe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,M,W,R,c,F],endpoint:Oe,["type"]:"endpoint"},{["conditions"]:[S,A,R,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,R,c,z],rules:[{["conditions"]:u,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Ga,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,R,c,F],endpoint:Ga,["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"]:[za]},{["fn"]:"booleanEquals",["argv"]:[za,!0]}],rules:[{["conditions"]:p,rules:[{["conditions"]:xa,rules:[ka,Na,{["conditions"]:ar,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Nr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[wa],rules:[{["conditions"]:p,rules:[{["conditions"]:xa,rules:[{["conditions"]:[$,D,A,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,D,A,c,z],rules:[{endpoint:Fa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,D,A,c,F],endpoint:Fa,["type"]:"endpoint"},{["conditions"]:[$,S,A,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S,A,c,z],rules:[{endpoint:Ka,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,S,A,c,F],endpoint:Ka,["type"]:"endpoint"},{["conditions"]:[R,D,A,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,D,A,c,z],rules:[{endpoint:La,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,D,A,c,F],endpoint:La,["type"]:"endpoint"},{["conditions"]:[R,S,M,W,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,M,W,c,z],rules:[{["conditions"]:u,endpoint:qe,["type"]:"endpoint"},{endpoint:qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,M,W,c,F],endpoint:qe,["type"]:"endpoint"},{["conditions"]:[R,S,A,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,A,c,z],rules:[{["conditions"]:u,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Wa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,A,c,F],endpoint:Wa,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},eh=Hw;var vw=new fh({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ks=(r,s={})=>{return vw.get(r,()=>ah(eh,{endpointParams:r,logger:s.logger}))};lh.aws=hh;function wh(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}}function dh(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}}var Gw=(r)=>async(s,e,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,f),a=Or(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await mh(f,{getEndpointParameterInstructions:a},s);return Object.assign(l,h)},zw=async(r,s,e)=>{return{operation:Or(s).operation,region:await n(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},gh=Gw(zw),Fw=(r,s,e)=>{return(l)=>{const h=r(l).properties?.authSchemes;if(!h)return s(l);const m=[];for(let g of h){const{name:w,properties:E={},...I}=g,P=w.toLowerCase();if(w!==P)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${w}\` to \`${P}\``);let N;if(P==="sigv4a"){N="aws.auth#sigv4a";const rs=h.find((b)=>{const Gr=b.name.toLowerCase();return Gr!=="sigv4a"&&Gr.startsWith("sigv4")});if(!Ms.CrtSignerV4&&rs)continue}else if(P.startsWith("sigv4"))N="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${P}\``);const y=e[N];if(!y)throw new Error(`Could not find HttpAuthOption create function for \`${N}\``);const V=y(l);V.schemeId=N,V.signingProperties={...V.signingProperties||{},...I,...E},m.push(V)}return m}},Kw=(r)=>{const s=[];switch(r.operation){default:s.push(wh(r)),s.push(dh(r))}return s},Ah=Fw(Ks,Kw,{"aws.auth#sigv4":wh,"aws.auth#sigv4a":dh}),Rh=(r)=>{const s=Ws.resolveAwsSdkSigV4Config(r);return{...Ws.resolveAwsSdkSigV4AConfig(s)}};var Sh=(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"}},Dr={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 X extends Eh{constructor(r){super(r);Object.setPrototypeOf(this,X.prototype)}}class Qs extends X{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Qs.prototype)}}class Xs extends X{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Xs.prototype)}}class Zs extends X{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,Zs.prototype)}}class Vs extends X{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Vs.prototype)}}class Js extends X{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Js.prototype)}}var ef;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(ef||(ef={}));var ff;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return e.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return e.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(ff||(ff={}));var lf;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.AccessPointArn!==void 0)return e.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(lf||(lf={}));var af;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(af||(af={}));class Bs extends X{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Bs.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class Ys extends X{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,Ys.prototype)}}class Os extends X{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,Os.prototype)}}var Lw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Z},...r.SessionToken&&{SessionToken:Z}}),ch=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z},...r.Credentials&&{Credentials:Lw(r.Credentials)}}),Ih=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Ph=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z}}),kh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z}});var Ur=L(Ls(),1);var js=L(He(),1);class _s extends X{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,_s.prototype)}}var Nh;(function(r){r.visit=(s,e)=>{if(s.Records!==void 0)return e.Records(s.Records);if(s.Stats!==void 0)return e.Stats(s.Stats);if(s.Progress!==void 0)return e.Progress(s.Progress);if(s.Cont!==void 0)return e.Cont(s.Cont);if(s.End!==void 0)return e.End(s.End);return e._(s.$unknown[0],s.$unknown[1])}})(Nh||(Nh={}));var Dh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}}),$h=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z},...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Wh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},j,{[Bd]:r[kd],[pr]:r[or],[ur]:r[nr],[os]:r[xs],[t]:[()=>j(r[hr]),()=>r[hr].toString()]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=v({[Xd]:[,""]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Qh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},j,{[Md]:r[ld],[Cd]:[()=>j(r[yh]),()=>jr(r[yh]).toString()],[hm]:r[bh],[Hd]:[()=>j(r[Uh]),()=>jr(r[Uh]).toString()],[Gd]:r[wd],[ns]:r[is],[Em]:r[uh],[ps]:r[bs],[Rm]:r[ph],[gm]:r[jh],[Jd]:r[ow]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=v({[Pm]:[,"GetObject"],[zd]:[,r[dd]],[Fd]:[,r[Ad]],[Kd]:[,r[Rd]],[Ld]:[,r[Sd]],[Wd]:[,r[Ed]],[Qd]:[()=>r.ResponseExpires!==void 0,()=>jr(r[cd]).toString()],[Zd]:[,r[Uf]],[vd]:[()=>r.PartNumber!==void 0,()=>r[gd].toString()]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Xh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},j,{[lm]:r[qh]||"application/octet-stream",[Vd]:r[iw],[rm]:r[Bh],[sm]:r[Yh],[em]:r[Oh],[fm]:r[_h],[Ef]:[()=>j(r[Af]),()=>r[Af].toString()],[yd]:r[nw],[bd]:r[xw],[Tf]:r[Nf],[Mf]:r[Df],[Cf]:r[$f],[Hf]:r[yf],[cf]:[()=>j(r[Rf]),()=>jr(r[Rf]).toString()],[hm]:r[bh],[Yd]:r[rd],[Od]:r[sd],[_d]:r[ed],[qd]:r[fd],[pr]:r[or],[Sm]:r[br],[Im]:r[th],[ns]:r[is],[Em]:r[uh],[ps]:r[bs],[ur]:r[nr],[os]:r[xs],[t]:[()=>j(r[hr]),()=>r[hr].toString()],[Rm]:r[ph],[xd]:r[Nd],[dm]:r[oh],[If]:[()=>j(r[Sf]),()=>Lh(r[Sf]).toString()],[wm]:r[xh],[gm]:r[jh],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((m,g)=>{return m[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],m},{})});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=v({[Pm]:[,"PutObject"]});let a,h;if(r.Body!==void 0)h=r.Body,a=h;return e.m("PUT").h(f).q(l).b(a),e.build()};var Zh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:O(r),[or]:[,r.headers[pr]],[nr]:[,r.headers[ur]],[xs]:[,r.headers[os]],[hr]:[()=>r.headers[t]!==void 0,()=>xr(r.headers[t])]}),f=$r(zh(await Ur.parseXmlBody(r.body,s)),"body");if(f[gf]!=null)e[gf]=jw(f[gf],s);return e};var Vh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:O(r),[uw]:[()=>r.headers[Mh]!==void 0,()=>xr(r.headers[Mh])],[bw]:[,r.headers[$d]],[ir]:[,r.headers[mm]],[Pd]:[,r.headers[jd]],[ad]:[()=>r.headers[Th]!==void 0,()=>$r(Xr(r.headers[Th]))],[Af]:[()=>r.headers[Ef]!==void 0,()=>Fh(r.headers[Ef])],[ih]:[,r.headers[am]],[Nf]:[,r.headers[Tf]],[Df]:[,r.headers[Mf]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[Hf]],[hd]:[()=>r.headers[Ch]!==void 0,()=>qs(r.headers[Ch])],[Uf]:[,r.headers[cm]],[Bh]:[,r.headers[rm]],[Yh]:[,r.headers[sm]],[Oh]:[,r.headers[em]],[_h]:[,r.headers[fm]],[pw]:[,r.headers[Ud]],[qh]:[,r.headers[lm]],[Rf]:[()=>r.headers[cf]!==void 0,()=>$r(Xr(r.headers[cf]))],[tw]:[,r.headers[Td]],[th]:[,r.headers[Im]],[or]:[,r.headers[pr]],[is]:[,r.headers[ns]],[bs]:[,r.headers[ps]],[nr]:[,r.headers[ur]],[hr]:[()=>r.headers[t]!==void 0,()=>xr(r.headers[t])],[br]:[,r.headers[Sm]],[nh]:[,r.headers[Am]],[Id]:[,r.headers[id]],[md]:[()=>r.headers[Hh]!==void 0,()=>qs(r.headers[Hh])],[Dd]:[()=>r.headers[vh]!==void 0,()=>qs(r.headers[vh])],[oh]:[,r.headers[dm]],[Sf]:[()=>r.headers[If]!==void 0,()=>$r(Pf(r.headers[If]))],[xh]:[,r.headers[wm]],Metadata:[,Object.keys(r.headers).filter((l)=>l.startsWith("x-amz-meta-")).reduce((l,a)=>{return l[a.substring(11)]=r.headers[a],l},{})]}),f=r.body;return s.sdkStreamMixin(f),e.Body=f,e};var Jh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:O(r),[ir]:[,r.headers[mm]],[ih]:[,r.headers[am]],[Nf]:[,r.headers[Tf]],[Df]:[,r.headers[Mf]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[Hf]],[or]:[,r.headers[pr]],[Uf]:[,r.headers[cm]],[is]:[,r.headers[ns]],[bs]:[,r.headers[ps]],[nr]:[,r.headers[ur]],[xs]:[,r.headers[os]],[hr]:[()=>r.headers[t]!==void 0,()=>xr(r.headers[t])],[nh]:[,r.headers[Am]]});return await Gh(r.body,s),e};var kf=async(r,s)=>{const e={...r,body:await Ur.parseXmlErrorBody(r.body,s)},f=Ur.loadRestXmlErrorCode(r,e.body);switch(f){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await Yw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await qw(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await Xw(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Zw(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await Jw(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Vw(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Bw(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await Ow(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await _w(e,s);default:const l=e.body;return Qw({output:r,parsedBody:l,errorCode:f})}},Qw=Kh(X),Xw=async(r,s)=>{const e=v({}),f=r.body,l=new Zs({$metadata:O(r),...e});return i(l,r.body)},Zw=async(r,s)=>{const e=v({}),f=r.body,l=new Vs({$metadata:O(r),...e});return i(l,r.body)},Vw=async(r,s)=>{const e=v({}),f=r.body;if(f[mf]!=null)e[mf]=yr(f[mf]);if(f[br]!=null)e[br]=yr(f[br]);const l=new Bs({$metadata:O(r),...e});return i(l,r.body)},Jw=async(r,s)=>{const e=v({}),f=r.body,l=new Js({$metadata:O(r),...e});return i(l,r.body)},Bw=async(r,s)=>{const e=v({}),f=r.body,l=new Ys({$metadata:O(r),...e});return i(l,r.body)},Yw=async(r,s)=>{const e=v({}),f=r.body,l=new Qs({$metadata:O(r),...e});return i(l,r.body)},Ow=async(r,s)=>{const e=v({}),f=r.body,l=new Os({$metadata:O(r),...e});return i(l,r.body)},_w=async(r,s)=>{const e=v({}),f=r.body,l=new _s({$metadata:O(r),...e});return i(l,r.body)},qw=async(r,s)=>{const e=v({}),f=r.body,l=new Xs({$metadata:O(r),...e});return i(l,r.body)};var jw=(r,s)=>{const e={};if(r[hf]!=null)e[hf]=yr(r[hf]);if(r[wf]!=null)e[wf]=yr(r[wf]);if(r[df]!=null)e[df]=yr(r[df]);if(r[ir]!=null)e[ir]=$r(Pf(r[ir]));return e};var O=(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 iw="ACL";var hf="AccessKeyId";var bw="AcceptRanges";var mf="AccessTier";var hr="BucketKeyEnabled";var gf="Credentials",xw="ChecksumAlgorithm";var Bh="CacheControl",Nf="ChecksumCRC32",Df="ChecksumCRC32C",Yh="ContentDisposition";var Oh="ContentEncoding";var _h="ContentLanguage",Af="ContentLength",ow="ChecksumMode",nw="ContentMD5";var pw="ContentRange";var $f="ChecksumSHA1",yf="ChecksumSHA256";var qh="ContentType";var uw="DeleteMarker";var Rf="Expires";var jh="ExpectedBucketOwner";var tw="ExpiresString";var ih="ETag";var ir="Expiration";var rd="GrantFullControl";var sd="GrantRead",ed="GrantReadACP";var fd="GrantWriteACP";var ld="IfMatch",yh="IfModifiedSince",bh="IfNoneMatch";var Uh="IfUnmodifiedSince";var ad="LastModified";var hd="MissingMeta";var xh="ObjectLockLegalHoldStatus",oh="ObjectLockMode";var Sf="ObjectLockRetainUntilDate";var md="PartsCount";var gd="PartNumber";var wd="Range";var nh="RequestCharged",dd="ResponseCacheControl",Ad="ResponseContentDisposition",Rd="ResponseContentEncoding",Sd="ResponseContentLanguage",Ed="ResponseContentType";var cd="ResponseExpires";var ph="RequestPayer";var Id="ReplicationStatus";var Pd="Restore";var wf="SecretAccessKey";var br="StorageClass";var kd="SessionMode";var or="ServerSideEncryption";var is="SSECustomerAlgorithm",uh="SSECustomerKey",bs="SSECustomerKeyMD5";var xs="SSEKMSEncryptionContext",nr="SSEKMSKeyId";var df="SessionToken";var Nd="Tagging";var Dd="TagCount";var Uf="VersionId";var th="WebsiteRedirectLocation";var $d="accept-ranges";var rm="cache-control",sm="content-disposition",em="content-encoding",fm="content-language",Ef="content-length",yd="content-md5",Ud="content-range",lm="content-type";var cf="expires";var am="etag",Td="expiresstring";var Md="if-match",Cd="if-modified-since";var hm="if-none-match";var Hd="if-unmodified-since";var Th="last-modified";var vd="partNumber";var Gd="range",zd="response-cache-control",Fd="response-content-disposition",Kd="response-content-encoding",Ld="response-content-language",Wd="response-content-type",Qd="response-expires";var Xd="session";var Zd="versionId";var Vd="x-amz-acl";var Tf="x-amz-checksum-crc32",Mf="x-amz-checksum-crc32c",Jd="x-amz-checksum-mode";var Cf="x-amz-checksum-sha1",Hf="x-amz-checksum-sha256";var Bd="x-amz-create-session-mode";var Mh="x-amz-delete-marker",mm="x-amz-expiration",gm="x-amz-expected-bucket-owner";var Yd="x-amz-grant-full-control",Od="x-amz-grant-read",_d="x-amz-grant-read-acp";var qd="x-amz-grant-write-acp";var Ch="x-amz-missing-meta";var Hh="x-amz-mp-parts-count";var wm="x-amz-object-lock-legal-hold",dm="x-amz-object-lock-mode",If="x-amz-object-lock-retain-until-date";var jd="x-amz-restore",Am="x-amz-request-charged";var Rm="x-amz-request-payer";var id="x-amz-replication-status";var Sm="x-amz-storage-class",bd="x-amz-sdk-checksum-algorithm";var pr="x-amz-server-side-encryption",ur="x-amz-server-side-encryption-aws-kms-key-id",t="x-amz-server-side-encryption-bucket-key-enabled",os="x-amz-server-side-encryption-context",ns="x-amz-server-side-encryption-customer-algorithm",Em="x-amz-server-side-encryption-customer-key",ps="x-amz-server-side-encryption-customer-key-md5",xd="x-amz-tagging",vh="x-amz-tagging-count";var cm="x-amz-version-id",Im="x-amz-website-redirect-location",Pm="x-id";class vf extends Tr.classBuilder().ep({...Dr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,e,f){return[Mr(e,this.serialize,this.deserialize),Cr(e,r.getEndpointParameterInstructions()),Ts(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Ih,ch).ser(Wh).de(Zh).build(){}var km={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.654.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.654.0","@aws-sdk/client-sts":"3.654.0","@aws-sdk/core":"3.654.0","@aws-sdk/credential-provider-node":"3.654.0","@aws-sdk/middleware-bucket-endpoint":"3.654.0","@aws-sdk/middleware-expect-continue":"3.654.0","@aws-sdk/middleware-flexible-checksums":"3.654.0","@aws-sdk/middleware-host-header":"3.654.0","@aws-sdk/middleware-location-constraint":"3.654.0","@aws-sdk/middleware-logger":"3.654.0","@aws-sdk/middleware-recursion-detection":"3.654.0","@aws-sdk/middleware-sdk-s3":"3.654.0","@aws-sdk/middleware-ssec":"3.654.0","@aws-sdk/middleware-user-agent":"3.654.0","@aws-sdk/region-config-resolver":"3.654.0","@aws-sdk/signature-v4-multi-region":"3.654.0","@aws-sdk/types":"3.654.0","@aws-sdk/util-endpoints":"3.654.0","@aws-sdk/util-user-agent-browser":"3.654.0","@aws-sdk/util-user-agent-node":"3.654.0","@aws-sdk/xml-builder":"3.654.0","@smithy/config-resolver":"^3.0.8","@smithy/core":"^2.4.3","@smithy/eventstream-serde-browser":"^3.0.9","@smithy/eventstream-serde-config-resolver":"^3.0.6","@smithy/eventstream-serde-node":"^3.0.8","@smithy/fetch-http-handler":"^3.2.7","@smithy/hash-blob-browser":"^3.1.5","@smithy/hash-node":"^3.0.6","@smithy/hash-stream-node":"^3.1.5","@smithy/invalid-dependency":"^3.0.6","@smithy/md5-js":"^3.0.6","@smithy/middleware-content-length":"^3.0.8","@smithy/middleware-endpoint":"^3.1.3","@smithy/middleware-retry":"^3.0.18","@smithy/middleware-serde":"^3.0.6","@smithy/middleware-stack":"^3.0.6","@smithy/node-config-provider":"^3.1.7","@smithy/node-http-handler":"^3.2.2","@smithy/protocol-http":"^4.1.3","@smithy/smithy-client":"^3.3.2","@smithy/types":"^3.4.2","@smithy/url-parser":"^3.0.6","@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.18","@smithy/util-defaults-mode-node":"^3.0.18","@smithy/util-endpoints":"^2.1.2","@smithy/util-middleware":"^3.0.6","@smithy/util-retry":"^3.0.6","@smithy/util-stream":"^3.1.6","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.5",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.654.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 ee=L(Ls(),1);var nd="AWS_S3_USE_ARN_REGION",pd="s3_use_arn_region",Nm={environmentVariableSelector:(r)=>fr(r,nd,lr.ENV),configFileSelector:(r)=>fr(r,pd,lr.CONFIG),default:!1};var rr=L(cr(),1);var $m=L(cr(),1);function Dm(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 Hr{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 e=7,f=Math.abs(Math.round(r));e>-1&&f>0;e--,f/=256)s[e]=f;if(r<0)Dm(s);return new Hr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Dm(r);return parseInt($m.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class Gf{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let l of Object.keys(r)){const a=this.fromUtf8(l);s.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,a)=>l+a.byteLength,0));let f=0;for(let l of s)e.set(l,f),f+=l.byteLength;return e}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 e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const a=new Uint8Array(l.buffer);return a.set(r.value,3),a;case"string":const h=this.fromUtf8(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(Hr.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!cA.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const E=new Uint8Array(17);return E[0]=9,E.set(rr.fromHex(r.value.replace(/\-/g,"")),1),E}}parse(r){const s={};let e=0;while(e<r.byteLength){const f=r.getUint8(e++),l=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,f));switch(e+=f,r.getUint8(e++)){case 0:s[l]={type:Um,value:!0};break;case 1:s[l]={type:Um,value:!1};break;case 2:s[l]={type:mA,value:r.getInt8(e++)};break;case 3:s[l]={type:gA,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:wA,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:dA,value:new Hr(new Uint8Array(r.buffer,r.byteOffset+e,8))},e+=8;break;case 6:const a=r.getUint16(e,!1);e+=2,s[l]={type:AA,value:new Uint8Array(r.buffer,r.byteOffset+e,a)},e+=a;break;case 7:const h=r.getUint16(e,!1);e+=2,s[l]={type:RA,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:SA,value:new Date(new Hr(new Uint8Array(r.buffer,r.byteOffset+e,8)).valueOf())},e+=8;break;case 9:const m=new Uint8Array(r.buffer,r.byteOffset+e,16);e+=16,s[l]={type:EA,value:`${rr.toHex(m.subarray(0,4))}-${rr.toHex(m.subarray(4,6))}-${rr.toHex(m.subarray(6,8))}-${rr.toHex(m.subarray(8,10))}-${rr.toHex(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var ym;(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"})(ym||(ym={}));var Um="boolean",mA="byte",gA="short",wA="integer",dA="long",AA="binary",RA="string",SA="timestamp",EA="uuid",cA=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function Mm({byteLength:r,byteOffset:s,buffer:e}){if(r<IA)throw new Error("Provided message too short to accommodate event stream message overhead");const f=new DataView(e,s,r),l=f.getUint32(0,!1);if(r!==l)throw new Error("Reported message length does not match received message length");const a=f.getUint32(Tm,!1),h=f.getUint32(sr,!1),m=f.getUint32(r-mr,!1),g=new er().update(new Uint8Array(e,s,sr));if(h!==g.digest())throw new Error(`The prelude checksum specified in the message (${h}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(e,s+sr,r-(sr+mr))),m!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${m}`);return{headers:new DataView(e,s+sr+mr,a),body:new Uint8Array(e,s+sr+mr+a,l-a-(sr+mr+mr))}}var Tm=4,sr=Tm*2,mr=4,IA=sr+mr*2;class zf{constructor(r,s){this.headerMarshaller=new Gf(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 e=this.headerMarshaller.format(r),f=e.byteLength+s.byteLength+16,l=new Uint8Array(f),a=new DataView(l.buffer,l.byteOffset,l.byteLength),h=new er;return a.setUint32(0,f,!1),a.setUint32(4,e.byteLength,!1),a.setUint32(8,h.update(l.subarray(0,8)).digest(),!1),l.set(e,12),l.set(s,e.byteLength+12),a.setUint32(f-4,h.update(l.subarray(8,f-4)).digest(),!1),l}decode(r){const{headers:s,body:e}=Mm(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class Ff{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 Kf{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 Lf{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 Wf{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 Cm(r){let s=0,e=0,f=null,l=null;const a=(m)=>{if(typeof m!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+m);s=m,e=4,f=new Uint8Array(m),new DataView(f.buffer).setUint32(0,m,!1)},h=async function*(){const m=r[Symbol.asyncIterator]();while(!0){const{value:g,done:w}=await m.next();if(w){if(!s)return;else if(s===e)yield f;else throw new Error("Truncated event message received.");return}const E=g.length;let I=0;while(I<E){if(!f){const N=E-I;if(!l)l=new Uint8Array(4);const y=Math.min(4-e,N);if(l.set(g.slice(I,I+y),e),e+=y,I+=y,e<4)break;a(new DataView(l.buffer).getUint32(0,!1)),l=null}const P=Math.min(s-e,E-I);if(f.set(g.slice(I,I+P),e),e+=P,I+=P,s&&s===e)yield f,f=null,s=0,e=0}}};return{[Symbol.asyncIterator]:h}}function Hm(r,s){return async function(e){const{value:f}=e.headers[":message-type"];if(f==="error"){const l=new Error(e.headers[":error-message"].value||"UnknownError");throw l.name=e.headers[":error-code"].value,l}else if(f==="exception"){const l=e.headers[":exception-type"].value,a={[l]:e},h=await r(a);if(h.$unknown){const m=new Error(s(e.body));throw m.name=l,m}throw h[l]}else if(f==="event"){const l={[e.headers[":event-type"].value]:e},a=await r(l);if(a.$unknown)return;return a}else throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)}}class us{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new zf(r,s),this.utfEncoder=r}deserialize(r,s){const e=Cm(r);return new Lf({messageStream:new Ff({inputStream:e,decoder:this.eventStreamCodec}),deserializer:Hm(s,this.utfEncoder)})}serialize(r,s){return new Kf({messageStream:new Wf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as PA}from"stream";async function*vm(r){let s=!1,e=!1;const f=new Array;r.on("error",(l)=>{if(!s)s=!0;if(l)throw l}),r.on("data",(l)=>{f.push(l)}),r.on("end",()=>{s=!0});while(!e){const l=await new Promise((a)=>setTimeout(()=>a(f.shift()),0));if(l)yield l;e=s&&f.length===0}}class Qf{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new us({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:vm(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return PA.from(this.universalMarshaller.serialize(r,s))}}var Gm=(r)=>new Qf(r);import{Writable as kA}from"stream";class ts extends kA{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(Y(r))}catch(f){return e(f)}e()}}var zm=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,f=new ts(e);return s.pipe(f),new Promise((l,a)=>{s.on("error",(h)=>{f.end(),a(h)}),f.on("error",a),f.on("finish",()=>{e.digest().then(l).catch(a)})})};var re=L(Ls(),1);var Zm=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Km,base64Encoder:r?.base64Encoder??Lm,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ks,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??Wm,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Ah,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new re.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new re.AwsSdkSigV4ASigner}],logger:r?.logger??new Ss,sdkStreamMixin:r?.sdkStreamMixin??Qm,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??ze,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Xm,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Jr,utf8Encoder:r?.utf8Encoder??Fm}};var tm=(r)=>{Ym(process.version);const s=pm(r),e=()=>s().then(Bm),f=Zm(r);return ee.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??nm,credentialDefaultProvider:r?.credentialDefaultProvider??um,defaultUserAgentProvider:r?.defaultUserAgentProvider??om({serviceId:f.serviceId,clientVersion:km.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??q(Me),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Gm,maxAttempts:r?.maxAttempts??q(bm),md5:r?.md5??se.bind(null,"md5"),region:r?.region??q(qm,jm),requestChecksumCalculation:r?.requestChecksumCalculation??q(xf),requestHandler:Vm.create(r?.requestHandler??e),responseChecksumValidation:r?.responseChecksumValidation??q(of),retryMode:r?.retryMode??q({...xm,default:async()=>(await e()).retryMode||im}),sha1:r?.sha1??se.bind(null,"sha1"),sha256:r?.sha256??se.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??q(ee.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Jm,streamHasher:r?.streamHasher??zm,useArnRegion:r?.useArnRegion??q(Nm),useDualstackEndpoint:r?.useDualstackEndpoint??q(Om),useFipsEndpoint:r?.useFipsEndpoint??q(_m)}};var rg=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:e,credentials:f}=r;return{setHttpAuthScheme(l){const a=s.findIndex((h)=>h.schemeId===l.schemeId);if(a===-1)s.push(l);else s.splice(a,1,l)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(l){e=l},httpAuthSchemeProvider(){return e},setCredentials(l){f=l},credentials(){return f}}},sg=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var fe=(r)=>r,gg=(r,s)=>{const e={...fe(hg(r)),...fe(lg(r)),...fe(eg(r)),...fe(rg(r))};return s.forEach((f)=>f.configure(e)),{...r,...mg(e),...ag(e),...fg(e),...sg(e)}};class Xf extends Sg{constructor(...[r]){const s=tm(r||{}),e=Sh(s),f=Eg(e),l=wl(f),a=Ng(l),h=Ig(a),m=wg(h),g=kg(m),w=la(g),E=Rh(w),I=ul(E,{session:[()=>this,vf]}),P=gg(I,r?.extensions||[]);super(P);this.config=P,this.middlewareStack.use(cg(this.config)),this.middlewareStack.use(Dg(this.config)),this.middlewareStack.use(Pg(this.config)),this.middlewareStack.use(dg(this.config)),this.middlewareStack.use(Ag(this.config)),this.middlewareStack.use(Rg(this.config)),this.middlewareStack.use(vr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:gh,identityProviderConfigProvider:async(N)=>new vr.DefaultIdentityProviderConfig({"aws.auth#sigv4":N.credentials,"aws.auth#sigv4a":N.credentials})})),this.middlewareStack.use(vr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(fa(this.config)),this.middlewareStack.use(_f(this.config)),this.middlewareStack.use(Sl(this.config)),this.middlewareStack.use(Ce(this.config)),this.middlewareStack.use(ve(this.config))}destroy(){super.destroy()}}function NA(r){return(s)=>async(e)=>{const f={...e.input},l=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let a of l){const h=f[a.target];if(h){let m;if(typeof h==="string")if($A(h,r))m=r.base64Decoder(h);else m=r.utf8Decoder(h),f[a.target]=r.base64Encoder(m);else m=ArrayBuffer.isView(h)?new Uint8Array(h.buffer,h.byteOffset,h.byteLength):new Uint8Array(h),f[a.target]=r.base64Encoder(m);const g=new r.md5;g.update(m),f[a.hash]=r.base64Encoder(await g.digest())}}return s({...e,input:f})}}function $A(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 DA={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},le=(r)=>({applyToStack:(s)=>{s.add(NA(r),DA)}});class Zf extends Tr.classBuilder().ep({...Dr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,f){return[Mr(e,this.serialize,this.deserialize),Cr(e,r.getEndpointParameterInstructions()),Rs(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),le(e),El(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(kh,Ph).ser(Qh).de(Vh).build(){}class Vf extends Tr.classBuilder().ep({...Dr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,f){return[Mr(e,this.serialize,this.deserialize),Cr(e,r.getEndpointParameterInstructions()),Rs(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),dl(e),Ts(e),le(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f($h,Dh).ser(Xh).de(Jh).build(){}import{Buffer as $g}from"buffer";class yg extends gr{client;constructor(...r){super();this.client=new Xf(...r)}async put(r){let s,e,f,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${ss()}.${r.type.split("/")[1].split(";")[0]}`,e=r.type;else s=r.body,f=r.name,e=r.contentType;e=s instanceof Blob||s instanceof File?s.type:void 0;const a=s instanceof $g?s:$g.from(await s.arrayBuffer());return await this.client.send(new Vf({Bucket:l,Key:f,Body:a,ContentType:e})),f}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const f=await this.client.send(new Zf({Bucket:s,Key:e}));return new Response(f.Body.transformToWebStream(),{headers:{"Content-Type":f.ContentType,"Content-Length":f.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":f.LastModified?.toUTCString()||"",ETag:f.ETag||""}})}}class ae{}class he extends ae{requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const e=this.requests.get(r),f=Date.now();if(f-e.date>=60000)this.requests.set(r,{date:f,count:1});else this.requests.set(r,{date:e.date,count:e.count+1})}return this.requests.get(r).count}}class Ug extends B{driver=new he;boot(){}}import*as CA from"react-dom/server";var vg=L(yA(),1);import{Writable as zA}from"stream";var{defineProperty:UA,getOwnPropertySymbols:Tg}=Object,TA=Object.prototype.hasOwnProperty,MA=Object.prototype.propertyIsEnumerable,Mg=(r,s,e)=>(s in r)?UA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Jf=(r,s)=>{for(var e in s||(s={}))if(TA.call(s,e))Mg(r,e,s[e]);if(Tg){for(var e of Tg(s))if(MA.call(s,e))Mg(r,e,s[e])}return r},Bf=(r,s,e)=>{return new Promise((f,l)=>{var a=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},HA={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},vA=(r,s={})=>{return vg.default.html(r,Jf(Jf({},HA),s))},GA=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Cg=new TextDecoder("utf-8"),Hg=(r)=>Bf(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(f){s+=Cg.decode(f)}});yield r.pipeTo(e)}else{const e=new zA({write(f,l,a){s+=Cg.decode(f),a()}});return r.pipe(e),new Promise((f,l)=>{e.on("error",l),e.on("close",()=>{f(s)})})}return s}),me=(r,s)=>Bf(void 0,null,function*(){const{default:e}=yield import("react-dom/server");let f;if(Object.hasOwn(e,"renderToReadableStream"))f=yield Hg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Bf(this,null,function*(){f=yield Hg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return Yf(f,Jf({selectors:GA},s.htmlToTextOptions));const a=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${f.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return vA(a);return a});var{defineProperty:FA,defineProperties:KA,getOwnPropertyDescriptors:LA,getOwnPropertySymbols:Gg}=Object,WA=Object.prototype.hasOwnProperty,QA=Object.prototype.propertyIsEnumerable,zg=(r,s,e)=>(s in r)?FA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,tr=(r,s)=>{for(var e in s||(s={}))if(WA.call(s,e))zg(r,e,s[e]);if(Gg){for(var e of Gg(s))if(QA.call(s,e))zg(r,e,s[e])}return r},XA=(r,s)=>KA(r,LA(s)),k=(r,s,e)=>{return new Promise((f,l)=>{var a=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},ZA="3.5.0",VA=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/api-keys",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},JA=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/audiences",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},BA=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){for(let l of s)if(l.react)l.html=yield me(l.react),delete l.react;return yield this.resend.post("/emails/batch",s,e)})}},YA=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},e)})}list(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},OA=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/domains",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return k(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},_A=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){if(s.react)s.html=yield me(s.react),delete s.react;return yield this.resend.post("/emails",s,e)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},Fg="https://api.resend.com",Kg=`resend-node:${ZA}`,qA=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||Fg:Fg,jA=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Kg:Kg,Lg=class{constructor(r){if(this.key=r,this.apiKeys=new VA(this),this.audiences=new JA(this),this.batch=new BA(this),this.contacts=new YA(this),this.domains=new OA(this),this.emails=new _A(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":jA,"Content-Type":"application/json"})}fetchRequest(r){return k(this,arguments,function*(s,e={}){try{const f=yield fetch(`${qA}${s}`,e);if(!f.ok)try{const a=yield f.text();return{data:null,error:JSON.parse(a)}}catch(a){if(a instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const h={message:f.statusText,name:"application_error"};if(a instanceof Error)return{data:null,error:XA(tr({},h),{message:a.message})};return{data:null,error:h}}return{data:yield f.json(),error:null}}catch(f){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return k(this,arguments,function*(e,f,l={}){const a=tr({method:"POST",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}get(r){return k(this,arguments,function*(s,e={}){const f=tr({method:"GET",headers:this.headers},e);return this.fetchRequest(s,f)})}put(r,s){return k(this,arguments,function*(e,f,l={}){const a=tr({method:"PUT",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}patch(r,s){return k(this,arguments,function*(e,f,l={}){const a=tr({method:"PATCH",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}delete(r,s){return k(this,null,function*(){const e={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,e)})}};class ge{}class we extends ge{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new Lg(this.apiKey),{data:e,error:f}=await s.emails.send({...r});if(f)return console.error(f),!1;if(e)return!0}}class Wg extends B{driver=new we;boot(){}}class Qg extends B{channels={};boot(){}}class Xg extends B{root;rootRouter;boot(){}}class Zg extends B{rootRouter;boot(){return"Origin"}}export{Xg as ViewRouterServiceProvider,yg as S3Driver,we as ResendDriver,Ug as RateLimiterServiceProvider,ae as RateLimiterDriver,he as InMemoryRateLimiter,es as FileSystemDriver,Of as FileStorageServiceProvider,gr as FileStorageDriver,Wg as EmailServiceProvider,ge as EmailDriver,Qg as BroadcastingServiceProvider,Zg as ApiRouterServiceProvider};export{Of as w,Zg as x,Ug as y,Wg as z,Qg as A,Xg as B};
|
|
12
|
+
|
|
13
|
+
//# debugId=C91B6D44D3CDCD0564756E2164756E21
|