{"version":3,"file":"static/js/vendors-b403787e.b65868e4.js","mappings":"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","sources":["../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js","../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js","../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js","../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js","../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js","../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js","../node_modules/@smithy/core/dist-es/normalizeProvider.js","../node_modules/@smithy/core/dist-es/pagination/createPaginator.js","../node_modules/@smithy/core/dist-es/setFeature.js","../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js","../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js","../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js","../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js","../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js","../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js","../node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js","../node_modules/@smithy/eventstream-codec/dist-es/Int64.js","../node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js","../node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js","../node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js","../node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js","../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js","../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js","../node_modules/@smithy/eventstream-serde-universal/dist-es/getUnmarshalledStream.js","../node_modules/@smithy/eventstream-serde-universal/dist-es/EventStreamMarshaller.js","../node_modules/@smithy/eventstream-serde-universal/dist-es/getChunkedStream.js","../node_modules/@smithy/eventstream-serde-browser/dist-es/EventStreamMarshaller.js","../node_modules/@smithy/eventstream-serde-browser/dist-es/utils.js","../node_modules/@smithy/eventstream-serde-browser/dist-es/provider.js","../node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js","../node_modules/@smithy/fetch-http-handler/dist-es/create-request.js","../node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js","../node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js","../node_modules/@smithy/querystring-builder/dist-es/index.js","../node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js","../node_modules/@smithy/hash-blob-browser/dist-es/index.js","../node_modules/@smithy/chunked-blob-reader/dist-es/index.js","../node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js","../node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js","../node_modules/@smithy/is-array-buffer/dist-es/index.js","../node_modules/@smithy/md5-js/dist-es/constants.js","../node_modules/@smithy/md5-js/dist-es/index.js","../node_modules/@smithy/middleware-content-length/dist-es/index.js","../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.browser.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js","../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js","../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js","../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js","../node_modules/@smithy/middleware-retry/dist-es/defaultRetryQuota.js","../node_modules/@smithy/middleware-retry/dist-es/util.js","../node_modules/@smithy/middleware-retry/dist-es/configurations.js","../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.browser.js","../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js","../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js","../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js","../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js","../node_modules/@smithy/property-provider/dist-es/ProviderError.js","../node_modules/@smithy/property-provider/dist-es/chain.js","../node_modules/@smithy/property-provider/dist-es/memoize.js","../node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js","../node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../node_modules/@smithy/protocol-http/dist-es/isValidHostname.js","../node_modules/@smithy/querystring-parser/dist-es/index.js","../node_modules/@smithy/service-error-classification/dist-es/constants.js","../node_modules/@smithy/service-error-classification/dist-es/index.js","../node_modules/@smithy/signature-v4/dist-es/constants.js","../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js","../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js","../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js","../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js","../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js","../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js","../node_modules/@smithy/signature-v4/dist-es/utilDate.js","../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js","../node_modules/@smithy/signature-v4/dist-es/headerUtil.js","../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js","../node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js","../node_modules/@smithy/smithy-client/dist-es/client.js","../node_modules/@smithy/smithy-client/dist-es/command.js","../node_modules/@smithy/smithy-client/dist-es/constants.js","../node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js","../node_modules/@smithy/smithy-client/dist-es/parse-utils.js","../node_modules/@smithy/smithy-client/dist-es/date-utils.js","../node_modules/@smithy/smithy-client/dist-es/exceptions.js","../node_modules/@smithy/smithy-client/dist-es/default-error-handler.js","../node_modules/@smithy/smithy-client/dist-es/defaults-mode.js","../node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js","../node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js","../node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js","../node_modules/@smithy/smithy-client/dist-es/extensions/retry.js","../node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js","../node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js","../node_modules/@smithy/smithy-client/dist-es/is-serializable-header-value.js","../node_modules/@smithy/smithy-client/dist-es/lazy-json.js","../node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js","../node_modules/@smithy/smithy-client/dist-es/object-mapping.js","../node_modules/@smithy/smithy-client/dist-es/quote-header.js","../node_modules/@smithy/smithy-client/dist-es/ser-utils.js","../node_modules/setimmediate/setImmediate.js"],"sourcesContent":["import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n","import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nexport const resolveCustomEndpointsConfig = (input) => {\n const { endpoint, urlParser } = input;\n return {\n ...input,\n tls: input.tls ?? true,\n endpoint: normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),\n };\n};\n","export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n","import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n","import { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\n","import { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of options) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n","import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n","import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n","import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n","export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n","export class DefaultIdentityProviderConfig {\n constructor(config) {\n this.authSchemes = new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n","export const createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\nexport const EXPIRATION_MS = 300000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n","import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n","export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n constructor(input, context) {\n this.input = input;\n this.context = context;\n this.query = {};\n this.method = \"\";\n this.headers = {};\n this.path = \"\";\n this.body = null;\n this.hostname = \"\";\n this.resolvePathStack = [];\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n","import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n","import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n","export class MessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n","export class MessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n","export class SmithyMessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n","export class SmithyMessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n","export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n","import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n","export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n","import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n const serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n }\n}\nconst isReadableStream = (body) => typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n","export const readableStreamtoIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nexport const iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n","import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n","export const resolveEventStreamSerdeConfig = (input) => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n","export function createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n","export function requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { createRequest } from \"./create-request\";\nimport { requestTimeout } from \"./request-timeout\";\nexport const keepAliveSupport = {\n supported: undefined,\n};\nexport class FetchHttpHandler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n","import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n","import { fromBase64 } from \"@smithy/util-base64\";\nexport const streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n","import { blobReader } from \"@smithy/chunked-blob-reader\";\nexport const blobHasher = async function blobHasher(hashCtor, blob) {\n const hash = new hashCtor();\n await blobReader(blob, (chunk) => {\n hash.update(chunk);\n });\n return hash.digest();\n};\n","export async function blobReader(blob, onChunk, chunkSize = 1024 * 1024) {\n const size = blob.size;\n let totalBytesRead = 0;\n while (totalBytesRead < size) {\n const slice = blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize));\n onChunk(new Uint8Array(await slice.arrayBuffer()));\n totalBytesRead += slice.size;\n }\n}\n","export const invalidFunction = (message) => () => {\n throw new Error(message);\n};\n","export const invalidProvider = (message) => () => Promise.reject(message);\n","export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","export const BLOCK_SIZE = 64;\nexport const DIGEST_LENGTH = 16;\nexport const INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n","import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\nexport class Md5 {\n constructor() {\n this.reset();\n }\n update(sourceData) {\n if (isEmptyData(sourceData)) {\n return;\n }\n else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n const data = convertToBuffer(sourceData);\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n async digest() {\n if (!this.finished) {\n const { buffer, bufferLength: undecoratedLength, bytesHashed } = this;\n const bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 0b10000000);\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n this.hashBuffer();\n this.finished = true;\n }\n const out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (let i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);\n }\n hashBuffer() {\n const { buffer, state } = this;\n let a = state[0], b = state[1], c = state[2], d = state[3];\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n }\n reset() {\n this.state = Uint32Array.from(INIT);\n this.buffer = new DataView(new ArrayBuffer(BLOCK_SIZE));\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n }\n}\nfunction cmn(q, a, b, x, s, t) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n","export const resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n","export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n","export const getEndpointFromConfig = async (serviceId) => undefined;\n","import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return parseUrl(endpoint.url);\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n","import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.endpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nexport const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n};\n","import { setFeature } from \"@smithy/core\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.endpoint) {\n setFeature(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n","import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromConfig } from \"./adaptors/getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = {\n ...input,\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(input.useFipsEndpoint ?? false),\n };\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n","import { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"@smithy/util-retry\";\nexport const getDefaultRetryQuota = (initialRetryTokens, options) => {\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = options?.noRetryIncrement ?? NO_RETRY_INCREMENT;\n const retryCost = options?.retryCost ?? RETRY_COST;\n const timeoutRetryCost = options?.timeoutRetryCost ?? TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n","export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy } = input;\n const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n return {\n ...input,\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await normalizeProvider(input.retryMode)();\n if (retryMode === RETRY_MODES.ADAPTIVE) {\n return new AdaptiveRetryStrategy(maxAttempts);\n }\n return new StandardRetryStrategy(maxAttempts);\n },\n };\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n","export const isStreamingPayload = (request) => request?.body instanceof ReadableStream;\n","import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n","export const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n }\n throw error;\n }\n};\n","export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpoint = context.endpointV2?.url && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n","import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n","export class ProviderError extends Error {\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.name = \"ProviderError\";\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n","export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n","export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n let httpHandler = runtimeConfig.httpHandler;\n return {\n setHttpHandler(handler) {\n httpHandler = handler;\n },\n httpHandler() {\n return httpHandler;\n },\n updateHttpClientConfig(key, value) {\n httpHandler.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n","export class HttpRequest {\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","export class HttpResponse {\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n","export function isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n","export function parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n","export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\n","import { CLOCK_SKEW_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error, depth = 0) => isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n","import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport class Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n","export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n","import { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4 {\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.headerFormatter = new HeaderFormatter();\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n}\nconst formatDate = (now) => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\";\");\n","export const hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n","import { escapeUri } from \"@smithy/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n","const getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nexport const constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","import { constructStack } from \"@smithy/middleware-stack\";\nexport class Client {\n constructor(config) {\n this.config = config;\n this.middlewareStack = constructStack();\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n","import { constructStack } from \"@smithy/middleware-stack\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport class Command {\n constructor() {\n this.middlewareStack = constructStack();\n }\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n constructor() {\n this._init = () => { };\n this._ep = {};\n this._middlewareFn = () => [];\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = (_) => _;\n this._outputFilterSensitiveLog = (_) => _;\n this._serializer = null;\n this._deserializer = null;\n }\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.serialize = closure._serializer;\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\n }\n resolveMiddleware(stack, configuration, options) {\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog,\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog,\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n });\n }\n}\n","export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n","export const createAggregatedClient = (commands, Client) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n};\n","export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n","import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n","export class ServiceException extends Error {\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nexport const decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n","import { decorateServiceException } from \"./exceptions\";\nexport const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nexport const withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n","export const loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n","let warningEmitted = false;\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n","import { AlgorithmId } from \"@smithy/types\";\nexport { AlgorithmId };\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in AlgorithmId) {\n const algorithmId = AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n return {\n _checksumAlgorithms: checksumAlgorithms,\n addChecksumAlgorithm(algo) {\n this._checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return this._checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n","import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return {\n ...getChecksumConfiguration(runtimeConfig),\n ...getRetryConfiguration(runtimeConfig),\n };\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return {\n ...resolveChecksumRuntimeConfig(config),\n ...resolveRetryRuntimeConfig(config),\n };\n};\n","export const getRetryConfiguration = (runtimeConfig) => {\n let _retryStrategy = runtimeConfig.retryStrategy;\n return {\n setRetryStrategy(retryStrategy) {\n _retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return _retryStrategy;\n },\n };\n};\nexport const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n","export const getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n","export const getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n","export const isSerializableHeaderValue = (value) => {\n return value != null;\n};\n","export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n","export class NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n","export function map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nexport const convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexport const take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n","export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n","export const serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nexport const serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a