NeahNew/.next/server/chunks/1046.js
2025-05-06 23:01:34 +02:00

10 lines
26 KiB
JavaScript

"use strict";exports.id=1046,exports.ids=[1046],exports.modules={11046:(e,t,r)=>{r.d(t,{A:()=>e7});let i=e=>encodeURIComponent(e).replace(/[!'()*]/g,n),n=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,s=async e=>{let t=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),u(t)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else c(t)&&(-1===t.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&t.toLowerCase()===t&&!(t.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},a=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,o=/(\d+\.){3}\d+/,l=/\.\./,c=e=>a.test(e)&&!o.test(e)&&!l.test(e),u=e=>{let[t,r,i,,,n]=e.split(":"),s="arn"===t&&e.split(":").length>=6,a=!!(s&&r&&i&&n);if(s&&!a)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return a},g=(e,t,r)=>{let i=async()=>{let i=r[e]??r[t];return"function"==typeof i?i():i};return"credentialScope"===e||"CredentialScope"===t?async()=>{let e="function"==typeof r.credentials?await r.credentials():r.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===t?async()=>{let e="function"==typeof r.credentials?await r.credentials():r.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===t?async()=>{let e=await i();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:t,hostname:r,port:i,path:n}=e;return`${t}//${r}${i?":"+i:""}${n}`}}return e}:i};class h extends Error{constructor(e,t=!0){let r,i=!0;"boolean"==typeof t?(r=void 0,i=t):null!=t&&"object"==typeof t&&(r=t.logger,i=t.tryNextLink??!0),super(e),this.name="ProviderError",this.tryNextLink=i,Object.setPrototypeOf(this,h.prototype),r?.debug?.(`@smithy/property-provider ${i?"->":"(!)"} ${e}`)}static from(e,t=!0){return Object.assign(new this(e.message,t),e)}}class d extends h{constructor(e,t=!0){super(e,t),this.name="CredentialsProviderError",Object.setPrototypeOf(this,d.prototype)}}let f=(...e)=>async()=>{let t;if(0===e.length)throw new h("No providers in chain");for(let r of e)try{return await r()}catch(e){if(t=e,e?.tryNextLink)continue;throw e}throw t},p=e=>()=>Promise.resolve(e),y=(e,t,r)=>{let i,n,s,a=!1,o=async()=>{n||(n=e());try{i=await n,s=!0,a=!1}finally{n=void 0}return i};return void 0===t?async e=>((!s||e?.forceRefresh)&&(i=await o()),i):async e=>((!s||e?.forceRefresh)&&(i=await o()),a||(r&&!r(i)?a=!0:t(i)&&await o()),i)};function w(e){try{let t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return t.delete("CONFIG"),t.delete("CONFIG_PREFIX_SEPARATOR"),t.delete("ENV"),[...t].join(", ")}catch(t){return e}}let m=(e,t)=>async()=>{try{let t=e(process.env);if(void 0===t)throw Error();return t}catch(r){throw new d(r.message||`Not found in ENV: ${w(e.toString())}`,{logger:t})}};var v,S,b,A,C,$,E,R,k,O=r(21820),P=r(33873);let j={},I=()=>process&&process.geteuid?`${process.geteuid()}`:"DEFAULT",L=()=>{let{HOME:e,USERPROFILE:t,HOMEPATH:r,HOMEDRIVE:i=`C:${P.sep}`}=process.env;if(e)return e;if(t)return t;if(r)return`${i}${r}`;let n=I();return j[n]||(j[n]=(0,O.homedir)()),j[n]},T=e=>e.profile||process.env.AWS_PROFILE||"default";r(55511);var x=r(29021);let{readFile:q}=x.promises;!function(e){e.HEADER="header",e.QUERY="query"}(v||(v={})),function(e){e.HEADER="header",e.QUERY="query"}(S||(S={})),function(e){e.HTTP="http",e.HTTPS="https"}(b||(b={})),function(e){e.MD5="md5",e.CRC32="crc32",e.CRC32C="crc32c",e.SHA1="sha1",e.SHA256="sha256"}(A||(A={})),function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"}(C||(C={})),function(e){e.PROFILE="profile",e.SSO_SESSION="sso-session",e.SERVICES="services"}($||($={})),function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"}(E||(E={}));let U=e=>Object.entries(e).filter(([e])=>{let t=e.indexOf(B);return -1!==t&&Object.values($).includes(e.substring(0,t))}).reduce((e,[t,r])=>{let i=t.indexOf(B);return e[t.substring(0,i)===$.PROFILE?t.substring(i+1):t]=r,e},{...e.default&&{default:e.default}}),N=()=>process.env.AWS_CONFIG_FILE||(0,P.join)(L(),".aws","config"),D=()=>process.env.AWS_SHARED_CREDENTIALS_FILE||(0,P.join)(L(),".aws","credentials"),_=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,F=["__proto__","profile __proto__"],W=e=>{let t,r,i={};for(let n of e.split(/\r?\n/)){let e=n.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){t=void 0,r=void 0;let i=e.substring(1,e.length-1),n=_.exec(i);if(n){let[,e,,r]=n;Object.values($).includes(e)&&(t=[e,r].join(B))}else t=i;if(F.includes(i))throw Error(`Found invalid profile name "${i}"`)}else if(t){let s=e.indexOf("=");if(![0,-1].includes(s)){let[a,o]=[e.substring(0,s).trim(),e.substring(s+1).trim()];if(""===o)r=a;else{r&&n.trimStart()===n&&(r=void 0),i[t]=i[t]||{};let e=r?[r,a].join(B):a;i[t][e]=o}}}}return i},{readFile:z}=x.promises,H={},V=(e,t)=>((!H[e]||t?.ignoreCache)&&(H[e]=z(e,"utf8")),H[e]),M=()=>({}),B=".",K=async(e={})=>{let{filepath:t=D(),configFilepath:r=N()}=e,i=L(),n=t;t.startsWith("~/")&&(n=(0,P.join)(i,t.slice(2)));let s=r;r.startsWith("~/")&&(s=(0,P.join)(i,r.slice(2)));let a=await Promise.all([V(s,{ignoreCache:e.ignoreCache}).then(W).then(U).catch(M),V(n,{ignoreCache:e.ignoreCache}).then(W).catch(M)]);return{configFile:a[0],credentialsFile:a[1]}},X=(e,{preferredFile:t="config",...r}={})=>async()=>{let i=T(r),{configFile:n,credentialsFile:s}=await K(r),a=s[i]||{},o=n[i]||{},l="config"===t?{...a,...o}:{...o,...a};try{let r="config"===t?n:s,i=e(l,r);if(void 0===i)throw Error();return i}catch(t){throw new d(t.message||`Not found in config files w/ profile [${i}]: ${w(e.toString())}`,{logger:r.logger})}},Y=e=>"function"==typeof e,J=e=>Y(e)?async()=>await e():p(e),G=({environmentVariableSelector:e,configFileSelector:t,default:r},i={})=>y(f(m(e),X(t,i),J(r))),Z="AWS_ENDPOINT_URL",Q="endpoint_url",ee=e=>({environmentVariableSelector:t=>{let r=t[[Z,...e.split(" ").map(e=>e.toUpperCase())].join("_")];if(r)return r;let i=t[Z];if(i)return i},configFileSelector:(t,r)=>{if(r&&t.services){let i=r[["services",t.services].join(B)];if(i){let t=i[[e.split(" ").map(e=>e.toLowerCase()).join("_"),Q].join(B)];if(t)return t}}let i=t[Q];if(i)return i},default:void 0}),et=async e=>G(ee(e??""))(),er=e=>{let t;if("string"==typeof e)return er(new URL(e));let{hostname:r,pathname:i,port:n,protocol:s,search:a}=e;return a&&(t=function(e){let t={};if(e=e.replace(/^\?/,""))for(let r of e.split("&")){let[e,i=null]=r.split("=");e=decodeURIComponent(e),i&&(i=decodeURIComponent(i)),e in t?Array.isArray(t[e])?t[e].push(i):t[e]=[t[e],i]:t[e]=i}return t}(a)),{hostname:r,port:n?parseInt(n):void 0,protocol:s,path:i,query:t}},ei=e=>"object"==typeof e?"url"in e?er(e.url):e:er(e),en=async(e,t,r,i)=>{if(!r.endpoint){let e;(e=r.serviceConfiguredEndpoint?await r.serviceConfiguredEndpoint():await et(r.serviceId))&&(r.endpoint=()=>Promise.resolve(ei(e)))}let n=await es(e,t,r);if("function"!=typeof r.endpointProvider)throw Error("config.endpointProvider is not set.");return r.endpointProvider(n,i)},es=async(e,t,r)=>{let i={},n=t?.getEndpointParameterInstructions?.()||{};for(let[t,s]of Object.entries(n))switch(s.type){case"staticContextParams":i[t]=s.value;break;case"contextParams":i[t]=e[s.name];break;case"clientContextParams":case"builtInParams":i[t]=await g(s.name,t,r)();break;case"operationContextParams":i[t]=s.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(s))}return 0===Object.keys(n).length&&Object.assign(i,r),"s3"===String(r.serviceId).toLowerCase()&&await s(i),i},ea=e=>{if("function"==typeof e)return e;let t=Promise.resolve(e);return()=>t},eo={name:"serializerMiddleware"};eo.name;class el{constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){var t;let r=new el({...e,headers:{...e.headers}});return r.query&&(r.query=Object.keys(t=r.query).reduce((e,r)=>{let i=t[r];return{...e,[r]:Array.isArray(i)?[...i]:i}},{})),r}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return el.clone(this)}}let ec=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e);var eu=r(79428);let eg=(e,t=0,r=e.byteLength-t)=>{if(!ec(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return eu.Buffer.from(e,t,r)},eh=(e,t)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return t?eu.Buffer.from(e,t):eu.Buffer.from(e)},ed=e=>{let t=eh(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)},ef=e=>"string"==typeof e?ed(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e);var ep=r(27910);ep.Duplex,"function"==typeof ReadableStream&&ReadableStream,r(57075),ep.Writable,r(81630),r(55591),r(73496),Symbol.iterator,ep.Writable;let ey={},ew={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();1===t.length&&(t=`0${t}`),ey[e]=t,ew[t]=e}function em(e){let t="";for(let r=0;r<e.byteLength;r++)t+=ey[e[r]];return t}eo.name;console.warn;class ev extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){return!!e&&(ev.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===ev?ev.isInstance(e):!!ev.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let eS=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};eS.from=e=>e&&"object"==typeof e&&(e instanceof eS||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?eS(String(e)):eS(JSON.stringify(e)),eS.fromObject=eS.from;let eb="X-Amz-Date",eA="X-Amz-Signature",eC="X-Amz-Security-Token",e$="authorization",eE=eb.toLowerCase(),eR=[e$,eE,"date"],ek=eA.toLowerCase(),eO="x-amz-content-sha256",eP=eC.toLowerCase(),ej={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},eI=/^proxy-/,eL=/^sec-/,eT="AWS4-HMAC-SHA256",ex="aws4_request",eq={},eU=[],eN=(e,t,r)=>`${e}/${t}/${r}/${ex}`,eD=async(e,t,r,i,n)=>{let s=await e_(e,t.secretAccessKey,t.accessKeyId),a=`${r}:${i}:${n}:${em(s)}:${t.sessionToken}`;if(a in eq)return eq[a];for(eU.push(a);eU.length>50;)delete eq[eU.shift()];let o=`AWS4${t.secretAccessKey}`;for(let t of[r,i,n,ex])o=await e_(e,o,t);return eq[a]=o},e_=(e,t,r)=>{let i=new e(t);return i.update(ef(r)),i.digest()},eF=({headers:e},t,r)=>{let i={};for(let n of Object.keys(e).sort()){if(void 0==e[n])continue;let s=n.toLowerCase();(!(s in ej||t?.has(s)||eI.test(s)||eL.test(s))||r&&(!r||r.has(s)))&&(i[s]=e[n].trim().replace(/\s+/g," "))}return i},eW=async({headers:e,body:t},r)=>{for(let t of Object.keys(e))if(t.toLowerCase()===eO)return e[t];if(void 0==t)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof t||ArrayBuffer.isView(t)||ec(t)){let e=new r;return e.update(ef(t)),em(await e.digest())}return"UNSIGNED-PAYLOAD"};class ez{format(e){let t=[];for(let r of Object.keys(e)){let i=ed(r);t.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[r]))}let r=new Uint8Array(t.reduce((e,t)=>e+t.byteLength,0)),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case"long":let i=new Uint8Array(9);return i[0]=5,i.set(e.value.bytes,1),i;case"binary":let n=new DataView(new ArrayBuffer(3+e.value.byteLength));n.setUint8(0,6),n.setUint16(1,e.value.byteLength,!1);let s=new Uint8Array(n.buffer);return s.set(e.value,3),s;case"string":let a=ed(e.value),o=new DataView(new ArrayBuffer(3+a.byteLength));o.setUint8(0,7),o.setUint16(1,a.byteLength,!1);let l=new Uint8Array(o.buffer);return l.set(a,3),l;case"timestamp":let c=new Uint8Array(9);return c[0]=8,c.set(eV.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!eH.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let u=new Uint8Array(17);return u[0]=9,u.set(function(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){let i=e.slice(r,r+2).toLowerCase();if(i in ew)t[r/2]=ew[i];else throw Error(`Cannot decode unrecognized sequence ${i} as hexadecimal`)}return t}(e.value.replace(/\-/g,"")),1),u}}}!function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"}(R||(R={}));let eH=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class eV{constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,i=Math.abs(Math.round(e));r>-1&&i>0;r--,i/=256)t[r]=i;return e<0&&eM(t),new eV(t)}valueOf(){let e=this.bytes.slice(0),t=128&e[0];return t&&eM(e),parseInt(em(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function eM(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,0===e[t]);t--);}let eB=(e,t)=>{for(let r of(e=e.toLowerCase(),Object.keys(t)))if(e===r.toLowerCase())return!0;return!1},eK=(e,t={})=>{let{headers:r,query:i={}}=el.clone(e);for(let e of Object.keys(r)){let n=e.toLowerCase();("x-amz-"===n.slice(0,6)&&!t.unhoistableHeaders?.has(n)||t.hoistableHeaders?.has(n))&&(i[e]=r[e],delete r[e])}return{...e,headers:r,query:i}},eX=e=>{for(let t of Object.keys((e=el.clone(e)).headers))eR.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},eY=({query:e={}})=>{let t=[],r={};for(let n of Object.keys(e)){if(n.toLowerCase()===ek)continue;let s=i(n);t.push(s);let a=e[n];"string"==typeof a?r[s]=`${s}=${i(a)}`:Array.isArray(a)&&(r[s]=a.slice(0).reduce((e,t)=>e.concat([`${s}=${i(t)}`]),[]).sort().join("&"))}return t.sort().map(e=>r[e]).filter(e=>e).join("&")},eJ=e=>eG(e).toISOString().replace(/\.\d{3}Z$/,"Z"),eG=e=>"number"==typeof e?new Date(1e3*e):"string"==typeof e?new Date(Number(e)?1e3*Number(e):e):e;class eZ{constructor({applyChecksum:e,credentials:t,region:r,service:i,sha256:n,uriEscapePath:s=!0}){this.service=i,this.sha256=n,this.uriEscapePath=s,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=ea(r),this.credentialProvider=ea(t)}createCanonicalRequest(e,t,r){let i=Object.keys(t).sort();return`${e.method}
${this.getCanonicalPath(e)}
${eY(e)}
${i.map(e=>`${e}:${t[e]}`).join("\n")}
${i.join(";")}
${r}`}async createStringToSign(e,t,r,i){let n=new this.sha256;n.update(ef(r));let s=await n.digest();return`${i}
${e}
${t}
${em(s)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let t=[];for(let r of e.split("/"))r?.length!==0&&"."!==r&&(".."===r?t.pop():t.push(r));return i(`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw Error("Resolved credential object is not valid")}formatDate(e){let t=eJ(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class eQ extends eZ{constructor({applyChecksum:e,credentials:t,region:r,service:i,sha256:n,uriEscapePath:s=!0}){super({applyChecksum:e,credentials:t,region:r,service:i,sha256:n,uriEscapePath:s}),this.headerFormatter=new ez}async presign(e,t={}){let{signingDate:r=new Date,expiresIn:i=3600,unsignableHeaders:n,unhoistableHeaders:s,signableHeaders:a,hoistableHeaders:o,signingRegion:l,signingService:c}=t,u=await this.credentialProvider();this.validateResolvedCredentials(u);let g=l??await this.regionProvider(),{longDate:h,shortDate:d}=this.formatDate(r);if(i>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let f=eN(d,g,c??this.service),p=eK(eX(e),{unhoistableHeaders:s,hoistableHeaders:o});u.sessionToken&&(p.query[eC]=u.sessionToken),p.query["X-Amz-Algorithm"]=eT,p.query["X-Amz-Credential"]=`${u.accessKeyId}/${f}`,p.query[eb]=h,p.query["X-Amz-Expires"]=i.toString(10);let y=eF(p,n,a);return p.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(y),p.query[eA]=await this.getSignature(h,f,this.getSigningKey(u,g,d,c),this.createCanonicalRequest(p,y,await eW(e,this.sha256))),p}async sign(e,t){return"string"==typeof e?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:r=new Date,priorSignature:i,signingRegion:n,signingService:s}){let a=n??await this.regionProvider(),{shortDate:o,longDate:l}=this.formatDate(r),c=eN(o,a,s??this.service),u=await eW({headers:{},body:t},this.sha256),g=new this.sha256;g.update(e);let h=["AWS4-HMAC-SHA256-PAYLOAD",l,c,i,em(await g.digest()),u].join("\n");return this.signString(h,{signingDate:r,signingRegion:a,signingService:s})}async signMessage(e,{signingDate:t=new Date,signingRegion:r,signingService:i}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:r,signingService:i,priorSignature:e.priorSignature}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:r,signingService:i}={}){let n=await this.credentialProvider();this.validateResolvedCredentials(n);let s=r??await this.regionProvider(),{shortDate:a}=this.formatDate(t),o=new this.sha256(await this.getSigningKey(n,s,a,i));return o.update(ef(e)),em(await o.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:r,unsignableHeaders:i,signingRegion:n,signingService:s}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let o=n??await this.regionProvider(),l=eX(e),{longDate:c,shortDate:u}=this.formatDate(t),g=eN(u,o,s??this.service);l.headers[eE]=c,a.sessionToken&&(l.headers[eP]=a.sessionToken);let h=await eW(l,this.sha256);!eB(eO,l.headers)&&this.applyChecksum&&(l.headers[eO]=h);let d=eF(l,i,r),f=await this.getSignature(c,g,this.getSigningKey(a,o,u,s),this.createCanonicalRequest(l,d,h));return l.headers[e$]=`${eT} Credential=${a.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${f}`,l}async getSignature(e,t,r,i){let n=await this.createStringToSign(e,t,i,eT),s=new this.sha256(await r);return s.update(ef(n)),em(await s.digest())}getSigningKey(e,t,r,i){return eD(this.sha256,e,r,t,i||this.service)}}let e0={SignatureV4a:null};!function(e){e.ENV="env",e.CONFIG="shared config entry"}(k||(k={}));let e4="X-Amz-S3session-Token",e1=e4.toLowerCase();class e2 extends eQ{async signWithCredentials(e,t,r){let i=e8(t);return e.headers[e1]=t.sessionToken,e6(this,i),this.signRequest(e,r??{})}async presignWithCredentials(e,t,r){let i=e8(t);return delete e.headers[e1],e.headers[e4]=t.sessionToken,e.query=e.query??{},e.query[e4]=t.sessionToken,e6(this,i),this.presign(e,r)}}function e8(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function e6(e,t){let r=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),i=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(r),e.credentialProvider=i,Promise.resolve(t))}let e3={CrtSignerV4:null};class e5{sigv4aSigner;sigv4Signer;signerOptions;constructor(e){this.sigv4Signer=new e2(e),this.signerOptions=e}async sign(e,t={}){return"*"===t.signingRegion?this.getSigv4aSigner().sign(e,t):this.sigv4Signer.sign(e,t)}async signWithCredentials(e,t,r={}){if("*"===r.signingRegion){let i=this.getSigv4aSigner(),n=e3.CrtSignerV4;if(n&&i instanceof n)return i.signWithCredentials(e,t,r);throw Error('signWithCredentials with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You 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";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.signWithCredentials(e,t,r)}async presign(e,t={}){if("*"===t.signingRegion){let r=this.getSigv4aSigner(),i=e3.CrtSignerV4;if(i&&r instanceof i)return r.presign(e,t);throw Error('presign with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You 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";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.presign(e,t)}async presignWithCredentials(e,t,r={}){if("*"===r.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,t,r)}getSigv4aSigner(){if(!this.sigv4aSigner){let e=e3.CrtSignerV4,t=e0.SignatureV4a;if("node"===this.signerOptions.runtime){if(!e&&!t)throw Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");if(e&&"function"==typeof e)this.sigv4aSigner=new e({...this.signerOptions,signingAlgorithm:1});else if(t&&"function"==typeof t)this.sigv4aSigner=new t({...this.signerOptions});else throw Error("Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt")}else{if(!t||"function"!=typeof t)throw Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a");this.sigv4aSigner=new t({...this.signerOptions})}}return this.sigv4aSigner}}class e9{signer;constructor(e){let t={service:e.signingName||e.service||"s3",uriEscapePath:e.uriEscapePath||!1,applyChecksum:e.applyChecksum||!1,...e};this.signer=new e5(t)}presign(e,{unsignableHeaders:t=new Set,hoistableHeaders:r=new Set,unhoistableHeaders:i=new Set,...n}={}){return this.prepareRequest(e,{unsignableHeaders:t,unhoistableHeaders:i,hoistableHeaders:r}),this.signer.presign(e,{expiresIn:900,unsignableHeaders:t,unhoistableHeaders:i,...n})}presignWithCredentials(e,t,{unsignableHeaders:r=new Set,hoistableHeaders:i=new Set,unhoistableHeaders:n=new Set,...s}={}){return this.prepareRequest(e,{unsignableHeaders:r,unhoistableHeaders:n,hoistableHeaders:i}),this.signer.presignWithCredentials(e,t,{expiresIn:900,unsignableHeaders:r,unhoistableHeaders:n,...s})}prepareRequest(e,{unsignableHeaders:t=new Set,unhoistableHeaders:r=new Set,hoistableHeaders:i=new Set}={}){t.add("content-type"),Object.keys(e.headers).map(e=>e.toLowerCase()).filter(e=>e.startsWith("x-amz-server-side-encryption")).forEach(e=>{i.has(e)||r.add(e)}),e.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD";let n=e.headers.host,s=e.port,a=`${e.hostname}${null!=e.port?":"+s:""}`;n&&(n!==e.hostname||null==e.port)||(e.headers.host=a)}}let e7=async(e,t,r={})=>{let n,s;if("function"==typeof e.config.endpointProvider){let r=await en(t.input,t.constructor,e.config),i=r.properties?.authSchemes?.[0];s=i?.name==="sigv4a"?i?.signingRegionSet?.join(","):i?.signingRegion,n=new e9({...e.config,signingName:i?.signingName,region:async()=>s})}else n=new e9(e.config);let a=e.middlewareStack.clone();a.addRelativeTo((e,t)=>async e=>{let i,{request:a}=e;if(!el.isInstance(a))throw Error("Request to be presigned is not an valid HTTP request.");delete a.headers["amz-sdk-invocation-id"],delete a.headers["amz-sdk-request"],delete a.headers["x-amz-user-agent"];let o={...r,signingRegion:r.signingRegion??t.signing_region??s,signingService:r.signingService??t.signing_service};return{response:{},output:{$metadata:{httpStatusCode:200},presigned:t.s3ExpressIdentity?await n.presignWithCredentials(a,t.s3ExpressIdentity,o):await n.presign(a,o)}}},{name:"presignInterceptMiddleware",relation:"before",toMiddleware:"awsAuthMiddleware",override:!0});let o=t.resolveMiddleware(a,e.config,{}),{output:l}=await o({input:t.input}),{presigned:c}=l;return function(e){let{port:t,query:r}=e,{protocol:n,path:s,hostname:a}=e;n&&":"!==n.slice(-1)&&(n+=":"),t&&(a+=`:${t}`),s&&"/"!==s.charAt(0)&&(s=`/${s}`);let o=r?function(e){let t=[];for(let r of Object.keys(e).sort()){let n=e[r];if(r=i(r),Array.isArray(n))for(let e=0,s=n.length;e<s;e++)t.push(`${r}=${i(n[e])}`);else{let e=r;(n||"string"==typeof n)&&(e+=`=${i(n)}`),t.push(e)}}return t.join("&")}(r):"";o&&"?"!==o[0]&&(o=`?${o}`);let l="";if(null!=e.username||null!=e.password){let t=e.username??"",r=e.password??"";l=`${t}:${r}@`}let c="";return e.fragment&&(c=`#${e.fragment}`),`${n}//${l}${a}${s}${o}${c}`}(c)}}};