@layerzerolabs/vm-tooling 0.0.65 → 0.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{4QL6ZBHT.cjs → 2GYKOGER.cjs} +6 -6
- package/dist/{4QL6ZBHT.cjs.map → 2GYKOGER.cjs.map} +1 -1
- package/dist/{CMSYZVLH.js → 34E242OH.js} +3 -3
- package/dist/{CMSYZVLH.js.map → 34E242OH.js.map} +1 -1
- package/dist/{JEOLJJ6F.js → 3NQBCH72.js} +6 -6
- package/dist/{JEOLJJ6F.js.map → 3NQBCH72.js.map} +1 -1
- package/dist/3WMXZ3YO.js +75 -0
- package/dist/3WMXZ3YO.js.map +1 -0
- package/dist/{Y5ZXTD76.cjs → 62SHJT74.cjs} +88 -88
- package/dist/{Y5ZXTD76.cjs.map → 62SHJT74.cjs.map} +1 -1
- package/dist/{R2U2WXP4.js → 64X55IZO.js} +30 -4
- package/dist/64X55IZO.js.map +1 -0
- package/dist/{EPPFFBGP.cjs → 6GAMDBD5.cjs} +3 -3
- package/dist/{EPPFFBGP.cjs.map → 6GAMDBD5.cjs.map} +1 -1
- package/dist/7YUT4HSR.cjs +77 -0
- package/dist/7YUT4HSR.cjs.map +1 -0
- package/dist/{JZHAF3IW.js → B64IFAV2.js} +5 -5
- package/dist/{JZHAF3IW.js.map → B64IFAV2.js.map} +1 -1
- package/dist/{UN57VWAW.cjs → BGDL7AEO.cjs} +31 -31
- package/dist/{UN57VWAW.cjs.map → BGDL7AEO.cjs.map} +1 -1
- package/dist/{HVBHNWI7.js → BNKNVKCP.js} +3 -3
- package/dist/{HVBHNWI7.js.map → BNKNVKCP.js.map} +1 -1
- package/dist/{BNMJ5QME.cjs → DTJGFNPG.cjs} +135 -135
- package/dist/{BNMJ5QME.cjs.map → DTJGFNPG.cjs.map} +1 -1
- package/dist/{GBR35MZ7.js → DUHXR2VQ.js} +8 -8
- package/dist/{GBR35MZ7.js.map → DUHXR2VQ.js.map} +1 -1
- package/dist/{4SZ6P77Q.cjs → EPUR3XY7.cjs} +8 -8
- package/dist/{4SZ6P77Q.cjs.map → EPUR3XY7.cjs.map} +1 -1
- package/dist/{6YQKZHZ5.js → ESB4MZSG.js} +23 -4
- package/dist/ESB4MZSG.js.map +1 -0
- package/dist/{22KWM667.cjs → ETOJ4HEB.cjs} +12 -12
- package/dist/{22KWM667.cjs.map → ETOJ4HEB.cjs.map} +1 -1
- package/dist/{Y3REZYJA.js → EUFYRZAY.js} +8 -8
- package/dist/{Y3REZYJA.js.map → EUFYRZAY.js.map} +1 -1
- package/dist/{KPYTMXHJ.cjs → GTTCNWKS.cjs} +4 -4
- package/dist/{KPYTMXHJ.cjs.map → GTTCNWKS.cjs.map} +1 -1
- package/dist/{DEL75SYN.cjs → HEBSBDJK.cjs} +96 -96
- package/dist/{DEL75SYN.cjs.map → HEBSBDJK.cjs.map} +1 -1
- package/dist/{BG3MG6IF.cjs → HLG5IR2C.cjs} +15 -15
- package/dist/{BG3MG6IF.cjs.map → HLG5IR2C.cjs.map} +1 -1
- package/dist/{TNPXNMQM.js → IE5H7TSX.js} +3 -3
- package/dist/{TNPXNMQM.js.map → IE5H7TSX.js.map} +1 -1
- package/dist/{4Q36MQI5.js → IMNIF2OY.js} +3 -3
- package/dist/{4Q36MQI5.js.map → IMNIF2OY.js.map} +1 -1
- package/dist/{37UR3RSN.cjs → K7DJQ6PV.cjs} +4 -4
- package/dist/{37UR3RSN.cjs.map → K7DJQ6PV.cjs.map} +1 -1
- package/dist/{BOOCAPHW.js → KPA4NAED.js} +7 -7
- package/dist/{BOOCAPHW.js.map → KPA4NAED.js.map} +1 -1
- package/dist/{FAOU2ZJO.js → KR5GF76B.js} +4 -4
- package/dist/{FAOU2ZJO.js.map → KR5GF76B.js.map} +1 -1
- package/dist/{KFXJIHI6.js → LVQRK66G.js} +3 -3
- package/dist/{KFXJIHI6.js.map → LVQRK66G.js.map} +1 -1
- package/dist/{KTAMTSBK.cjs → MNM554UV.cjs} +8 -8
- package/dist/{KTAMTSBK.cjs.map → MNM554UV.cjs.map} +1 -1
- package/dist/{ER722VGO.cjs → MTWIFBNY.cjs} +14 -14
- package/dist/{ER722VGO.cjs.map → MTWIFBNY.cjs.map} +1 -1
- package/dist/{XYNAO6GV.js → MXT5UPPB.js} +4 -4
- package/dist/{XYNAO6GV.js.map → MXT5UPPB.js.map} +1 -1
- package/dist/{7R7EZF6Z.js → MXUJZDCO.js} +4 -4
- package/dist/{7R7EZF6Z.js.map → MXUJZDCO.js.map} +1 -1
- package/dist/{DN5VBC3L.js → NESZ4EWJ.js} +6 -6
- package/dist/NESZ4EWJ.js.map +1 -0
- package/dist/O2QYRDJR.cjs +77 -0
- package/dist/O2QYRDJR.cjs.map +1 -0
- package/dist/{Q3ORCLJH.cjs → OTNTZEBH.cjs} +6 -6
- package/dist/OTNTZEBH.cjs.map +1 -0
- package/dist/{W5XVOHRB.js → RNY7P54N.js} +6 -6
- package/dist/{W5XVOHRB.js.map → RNY7P54N.js.map} +1 -1
- package/dist/{OZNFYXME.cjs → S4VRTIGP.cjs} +3 -3
- package/dist/{OZNFYXME.cjs.map → S4VRTIGP.cjs.map} +1 -1
- package/dist/{WH45T4LS.cjs → UYX67GTA.cjs} +5 -5
- package/dist/{WH45T4LS.cjs.map → UYX67GTA.cjs.map} +1 -1
- package/dist/{QPWLW7SN.js → V2H77GS3.js} +4 -4
- package/dist/{QPWLW7SN.js.map → V2H77GS3.js.map} +1 -1
- package/dist/{OT5L7ME6.cjs → WQLWQKFG.cjs} +3 -3
- package/dist/{OT5L7ME6.cjs.map → WQLWQKFG.cjs.map} +1 -1
- package/dist/{GERMNIDG.cjs → Y6WTLKDX.cjs} +24 -4
- package/dist/Y6WTLKDX.cjs.map +1 -0
- package/dist/{QMXX45TO.js → ZGO3EZDV.js} +3 -3
- package/dist/{QMXX45TO.js.map → ZGO3EZDV.js.map} +1 -1
- package/dist/commands/iota/build.cjs +20 -0
- package/dist/commands/iota/build.cjs.map +1 -0
- package/dist/commands/iota/build.d.ts +3 -0
- package/dist/commands/iota/build.d.ts.map +1 -0
- package/dist/commands/iota/build.js +11 -0
- package/dist/commands/iota/build.js.map +1 -0
- package/dist/commands/iota/index.cjs +21 -0
- package/dist/commands/iota/index.cjs.map +1 -0
- package/dist/commands/iota/index.d.ts +2 -0
- package/dist/commands/iota/index.d.ts.map +1 -0
- package/dist/commands/iota/index.js +14 -0
- package/dist/commands/iota/index.js.map +1 -0
- package/dist/commands/sui/build.cjs +6 -6
- package/dist/commands/sui/build.d.ts.map +1 -1
- package/dist/commands/sui/build.js +5 -5
- package/dist/commands/sui/index.cjs +6 -6
- package/dist/commands/sui/index.js +5 -5
- package/dist/config/index.cjs +8 -8
- package/dist/config/index.js +2 -2
- package/dist/config/tools.cjs +8 -4
- package/dist/config/tools.d.ts +1 -0
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +2 -2
- package/dist/config/version-matrices.cjs +2 -2
- package/dist/config/version-matrices.d.ts.map +1 -1
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/index.cjs +8 -8
- package/dist/core/index.js +4 -4
- package/dist/core/tool-executor.cjs +5 -5
- package/dist/core/tool-executor.js +4 -4
- package/dist/core/version-resolver.cjs +6 -6
- package/dist/core/version-resolver.js +3 -3
- package/dist/display/formatters.cjs +4 -4
- package/dist/display/formatters.js +3 -3
- package/dist/display/index.cjs +7 -7
- package/dist/display/index.js +4 -4
- package/dist/display/version-display.cjs +6 -6
- package/dist/display/version-display.js +4 -4
- package/dist/index.cjs +16 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8 -8
- package/dist/scripts/generate-github-matrix.cjs +153 -153
- package/dist/scripts/generate-github-matrix.cjs.map +1 -1
- package/dist/scripts/generate-github-matrix.js +12 -12
- package/dist/utils/docker.cjs +4 -4
- package/dist/utils/docker.js +2 -2
- package/dist/utils/finder.cjs +11 -11
- package/dist/utils/finder.js +2 -2
- package/dist/utils/version.cjs +6 -6
- package/dist/utils/version.js +2 -2
- package/dist/utils.cjs +5 -5
- package/dist/utils.js +2 -2
- package/package.json +5 -5
- package/dist/6YQKZHZ5.js.map +0 -1
- package/dist/7PSRMQMS.cjs +0 -51
- package/dist/7PSRMQMS.cjs.map +0 -1
- package/dist/DN5VBC3L.js.map +0 -1
- package/dist/GERMNIDG.cjs.map +0 -1
- package/dist/Q3ORCLJH.cjs.map +0 -1
- package/dist/R2U2WXP4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/client.js","../../../node_modules/.pnpm/@smithy+middleware-stack@4.0.5/node_modules/@smithy/middleware-stack/dist-es/index.js","../../../node_modules/.pnpm/@smithy+middleware-stack@4.0.5/node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/command.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/schemaLogFilter.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/index.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/extensions/index.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/Field.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/Fields.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpHandler.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/isValidHostname.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/types.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js","../../../node_modules/.pnpm/@smithy+querystring-builder@4.0.5/node_modules/@smithy/querystring-builder/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/constants.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/timing.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/index.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/constants.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/exceptions.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/index.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/blob/transforms.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/fromBase64.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/toBase64.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/stream-type-check.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/ByteArrayCollector.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/headStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/headStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/index.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/create-request.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js","../../../node_modules/.pnpm/@smithy+util-hex-encoding@4.0.0/node_modules/@smithy/util-hex-encoding/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/splitStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/splitStream.browser.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/default-error-handler.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/defaults-mode.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/index.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/retry.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/is-serializable-header-value.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/object-mapping.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/resolve-path.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/ser-utils.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/serde-json.js"],"names":["getAllAliases","name","aliases","_aliases","push","alias","getMiddlewareNameWithAliases","length","join","constructStack","absoluteEntries","relativeEntries","identifyOnResolve","entriesNameSet","Set","sort","entries","a","b","stepWeights","step","priorityWeights","priority","removeByName","toRemove","isRemoved","filterCb","entry","includes","delete","filter","removeByReference","middleware","cloneTo","toStack","forEach","add","addRelativeTo","stack","expandRelativeMiddlewareList","from","expandedMiddlewareList","before","after","reverse","getMiddlewareList","debug","normalizedAbsoluteEntries","normalizedRelativeEntries","normalizedEntriesNameMap","normalizedEntry","toMiddleware","undefined","Error","relation","mainChain","map","reduce","wholeList","options","override","some","has","toOverrideIndex","findIndex","toOverride","splice","clone","use","plugin","applyToStack","remove","removeByTag","tags","concat","cloned","identify","mw","toggle","resolve","handler","context","console","log","initialize","serialize","build","finalizeRequest","deserialize","high","normal","low","Client","config","middlewareStack","send","command","optionsOrCb","cb","callback","useHandlerCache","cacheMiddleware","handlers","WeakMap","get","resolveMiddleware","set","then","result","output","err","catch","destroy","requestHandler","deref","schemaRef","getHttpHandlerExtensionConfiguration","runtimeConfig","setHttpHandler","httpHandler","updateHttpClientConfig","key","value","httpHandlerConfigs","resolveHttpHandlerRuntimeConfig","httpHandlerExtensionConfiguration","HttpRequest","method","hostname","port","query","headers","body","protocol","slice","path","charAt","username","password","fragment","request","cloneQuery","isInstance","req","Object","keys","carry","paramName","param","Array","isArray","HttpResponse","statusCode","reason","response","resp","Schema","traits","ListSchema","valueSchema","symbol","Symbol","hasInstance","lhs","isPrototype","prototype","isPrototypeOf","list","for","MapSchema","keySchema","StructureSchema","memberNames","memberList","members","i","struct","SimpleSchema","sim","NormalizedSchema","ref","memberName","traitStack","_ref","schema","_isMemberSchema","memberTraits","traitSet","assign","translateTraits","getMemberTraits","normalizedTraits","getSchemaName","getName","ns","of","indicator","httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams","memberFrom","memberSchema","getSchema","withNamespace","split","getMemberName","isMemberSchema","isUnitSchema","isListSchema","inner","SCHEMA","LIST_MODIFIER","MAP_MODIFIER","isMapSchema","isDocumentSchema","DOCUMENT","isStructSchema","isBlobSchema","BLOB","STREAMING_BLOB","isTimestampSchema","TIMESTAMP_DEFAULT","TIMESTAMP_EPOCH_SECONDS","isStringSchema","STRING","isBooleanSchema","BOOLEAN","isNumericSchema","NUMERIC","isBigIntegerSchema","BIG_INTEGER","isBigDecimalSchema","BIG_DECIMAL","isStreaming","streaming","getMergedTraits","isIdempotencyToken","getOwnTraits","getKeySchema","getValueSchema","collection","hasMemberSchema","member","getMemberSchema","getMemberSchemas","buffer","getEventStreamMember","structIterator","_schema","container","type","find","SENSITIVE_STRING","schemaLogFilter","data","isSensitive","object","newObject","memberNs","Command","classBuilder","ClassBuilder","resolveMiddlewareWithContext","clientStack","configuration","middlewareFn","clientName","commandName","inputFilterSensitiveLog","outputFilterSensitiveLog","smithyContext","additionalContext","CommandCtor","bind","logger","handlerExecutionContext","SMITHY_CONTEXT_KEY","commandInstance","handle","_init","_ep","_middlewareFn","_commandName","_clientName","_additionalContext","_smithyContext","_inputFilterSensitiveLog","_outputFilterSensitiveLog","_serializer","_deserializer","init","ep","endpointParameterInstructions","m","middlewareSupplier","s","service","operation","c","n","f","inputFilter","_","outputFilter","ser","serializer","de","deserializer","sc","_operationSchema","operationSchema","closure","CommandRef","getEndpointParameterInstructions","input","escapeUri","uri","encodeURIComponent","replace","hexEncode","charCodeAt","toString","toUpperCase","buildQueryString","parts","iLen","qsEntry","NODEJS_TIMEOUT_ERROR_CODES","getTransformedHeaders","transformedHeaders","headerValues","timing","setTimeout","ms","clearTimeout","timeoutId","DEFER_EVENT_LISTENER_TIME","setConnectionTimeout","reject","timeoutInMs","registerTimeout","offset","doWithSocket","socket","connecting","on","setSocketKeepAlive","keepAlive","keepAliveMsecs","deferTimeMs","registerListener","setKeepAlive","setSocketTimeout","DEFAULT_REQUEST_TIMEOUT","timeout","onTimeout","removeListener","MIN_WAIT_TIME","writeRequestBody","httpRequest","maxContinueTimeoutMs","expect","sendBody","Promise","race","Number","Math","max","writeBody","Readable","pipe","Buffer","isBuffer","end","uint8","byteOffset","byteLength","NodeHttpHandler","create","instanceOrOptions","checkSocketUsage","agent","socketWarningTimestamp","sockets","requests","maxSockets","Infinity","interval","Date","now","origin","socketsInUse","requestsEnqueued","warn","metadata","handlerProtocol","configProvider","_options","resolveDefaultConfig","requestTimeout","connectionTimeout","socketTimeout","socketAcquisitionWarningTimeout","httpAgent","httpsAgent","hAgent","hsAgent","abortSignal","_resolve","_reject","writeRequestBodyPromise","timeouts","arg","aborted","abortError","isSSL","queryString","auth","endsWith","nodeHttpsOptions","host","requestFunc","hsRequest","hRequest","res","httpResponse","statusMessage","code","onAbort","addEventListener","signal","once","removeEventListener","onabort","effectiveRequestTimeout","e","Collector","Writable","arguments","bufferedBytes","_write","chunk","encoding","streamCollector","stream","isReadableStreamInstance","collectReadableStream","collector","bytes","Uint8Array","ReadableStream","chunks","reader","getReader","isDone","done","read","collected","createAggregatedClient","commands","methodImpl","args","methodName","toLowerCase","ServiceException","message","setPrototypeOf","getPrototypeOf","$fault","$metadata","candidate","Boolean","instance","decorateServiceException","exception","additions","v","k","Message","BASE64_REGEX","fromBase64","TypeError","exec","fromString","toBase64","_input","fromUtf8","fromArrayBuffer","transformToString","payload","toUtf8","transformFromString","str","Uint8ArrayBlobAdapter","mutate","source","isReadableStream","Blob","arrayBuffer","collectBlob","collectStream","blob","base64","readToBase64","FileReader","onloadend","readyState","commaIndex","indexOf","dataOffset","substring","onerror","error","readAsDataURL","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","fromHex","encoded","out","toHex","ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED","sdkStreamMixin","isBlobInstance","__proto__","transformed","transformToByteArray","blobToWebStream","buf","TextDecoder","decode","transformToWebStream","sdkStreamMixinReadableStream","isEncoding","decoder","readableFlowing","toWeb","collectBody","streamBody","fromContext","extendedEncodeURIComponent","expectNumber","parsed","parseFloat","isNaN","String","stackTraceWarning","MAX_FLOAT","ceil","expectFloat32","expected","abs","expectLong","isInteger","expectInt32","expectSizedInt","expectShort","expectByte","size","castInt","Int32Array","Int16Array","Int8Array","expectNonNull","location","expectObject","receivedType","expectString","strictParseFloat32","parseNumber","NUMBER_REGEX","matches","match","strictParseInt32","strictParseShort","strictParseByte","MONTHS","RFC3339","RegExp","parseRfc3339DateTime","yearStr","monthStr","dayStr","hours","minutes","seconds","fractionalMilliseconds","year","stripLeadingZeroes","month","parseDateValue","day","buildDate","RFC3339_WITH_OFFSET","parseRfc3339DateTimeWithOffset","offsetStr","date","setTime","getTime","parseOffsetToMilliseconds","time","adjustedMonth","validateDayOfMonth","UTC","parseMilliseconds","DAYS_IN_MONTH","maxDays","isLeapYear","lower","upper","dateVal","directionStr","direction","hour","minute","idx","rnds8Pool","poolPtr","rng","crypto","randomFillSync","byteToHex","unsafeStringify","arr","randomUUID","v4","native","rnds","random","resolvedPath","labelValueProvider","uriLabel","isGreedyLabel","labelValue","segment","throwDefaultError","parsedBody","exceptionCtor","errorCode","deserializeMetadata","httpStatusCode","Code","withBaseException","ExceptionCtor","requestId","extendedRequestId","cfId","loadConfigsForDefaultMode","mode","retryMode","warningEmitted","emitWarningIfUnsupportedVersion","version","parseInt","getChecksumConfiguration","checksumAlgorithms","id","AlgorithmId","algorithmId","checksumConstructor","addChecksumAlgorithm","algo","resolveChecksumRuntimeConfig","clientConfig","checksumAlgorithm","getRetryConfiguration","setRetryStrategy","retryStrategy","resolveRetryRuntimeConfig","retryStrategyConfiguration","getDefaultExtensionConfiguration","resolveDefaultRuntimeConfig","getValueFromTextNode","obj","textNodeName","hasOwnProperty","isSerializableHeaderValue","NoOpLogger","trace","info","arg0","arg1","arg2","target","instructions","mapWithFilter","applyInstruction","take","_instructions","targetKey","instruction","nonNullish","valueFn","pass","sourceKey","_value","defaultFilterPassed","customFilterPassed","_json"],"mappings":"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","file":"4Q36MQI5.js","sourcesContent":["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","export * from \"./MiddlewareStack\";\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\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nimport { schemaLogFilter } from \"./schemaLogFilter\";\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 = undefined;\n this._outputFilterSensitiveLog = undefined;\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 sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\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 this.schema = closure._operationSchema;\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 (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ??\n (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n });\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\nexport function schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n","export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n","export * from \"./extensions\";\nexport * from \"./Field\";\nexport * from \"./Fields\";\nexport * from \"./httpHandler\";\nexport * from \"./httpRequest\";\nexport * from \"./httpResponse\";\nexport * from \"./isValidHostname\";\nexport * from \"./types\";\n","export * from \"./httpExtensionConfiguration\";\n","export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n","import { FieldPosition } from \"@smithy/types\";\nexport class Field {\n constructor({ name, kind = FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n","export class Fields {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n","export {};\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 {};\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n constructor(name, traits, valueSchema) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.valueSchema = valueSchema;\n this.symbol = ListSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = ListSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === ListSchema.symbol;\n }\n return isPrototype;\n }\n}\nListSchema.symbol = Symbol.for(\"@smithy/core/schema::ListSchema\");\nexport function list(namespace, name, traits = {}, valueSchema) {\n const schema = new ListSchema(namespace + \"#\" + name, traits, typeof valueSchema === \"function\" ? valueSchema() : valueSchema);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","export class Schema {\n constructor(name, traits) {\n this.name = name;\n this.traits = traits;\n }\n}\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n constructor(name, traits, keySchema, valueSchema) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.keySchema = keySchema;\n this.valueSchema = valueSchema;\n this.symbol = MapSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = MapSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const map = lhs;\n return map.symbol === MapSchema.symbol;\n }\n return isPrototype;\n }\n}\nMapSchema.symbol = Symbol.for(\"@smithy/core/schema::MapSchema\");\nexport function map(namespace, name, traits = {}, keySchema, valueSchema) {\n const schema = new MapSchema(namespace + \"#\" + name, traits, keySchema, typeof valueSchema === \"function\" ? valueSchema() : valueSchema);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n constructor(name, traits, memberNames, memberList) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.memberNames = memberNames;\n this.memberList = memberList;\n this.symbol = StructureSchema.symbol;\n this.members = {};\n for (let i = 0; i < memberNames.length; ++i) {\n this.members[memberNames[i]] = Array.isArray(memberList[i])\n ? memberList[i]\n : [memberList[i], 0];\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = StructureSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const struct = lhs;\n return struct.symbol === StructureSchema.symbol;\n }\n return isPrototype;\n }\n}\nStructureSchema.symbol = Symbol.for(\"@smithy/core/schema::StructureSchema\");\nexport function struct(namespace, name, traits, memberNames, memberList) {\n const schema = new StructureSchema(namespace + \"#\" + name, traits, memberNames, memberList);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { deref } from \"../deref\";\nimport { ListSchema } from \"./ListSchema\";\nimport { MapSchema } from \"./MapSchema\";\nimport { SCHEMA } from \"./sentinels\";\nimport { SimpleSchema } from \"./SimpleSchema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class NormalizedSchema {\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n this.symbol = NormalizedSchema.symbol;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (Array.isArray(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, NormalizedSchema.translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n this.name = schema.name;\n this.traits = schema.traits;\n this._isMemberSchema = schema._isMemberSchema;\n this.schema = schema.schema;\n this.memberTraits = Object.assign({}, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.ref = schema.ref;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (this.schema && typeof this.schema === \"object\") {\n this.traits = this.schema?.traits ?? {};\n }\n else {\n this.traits = 0;\n }\n this.name =\n (typeof this.schema === \"object\" ? this.schema?.name : void 0) ?? this.memberName ?? this.getSchemaName();\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member schema ${this.getName(true)} must initialize with memberName argument.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = NormalizedSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === NormalizedSchema.symbol;\n }\n return isPrototype;\n }\n static of(ref, memberName) {\n if (ref instanceof NormalizedSchema) {\n return ref;\n }\n return new NormalizedSchema(ref, memberName);\n }\n static translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n if ((indicator & 1) === 1) {\n traits.httpLabel = 1;\n }\n if (((indicator >> 1) & 1) === 1) {\n traits.idempotent = 1;\n }\n if (((indicator >> 2) & 1) === 1) {\n traits.idempotencyToken = 1;\n }\n if (((indicator >> 3) & 1) === 1) {\n traits.sensitive = 1;\n }\n if (((indicator >> 4) & 1) === 1) {\n traits.httpPayload = 1;\n }\n if (((indicator >> 5) & 1) === 1) {\n traits.httpResponseCode = 1;\n }\n if (((indicator >> 6) & 1) === 1) {\n traits.httpQueryParams = 1;\n }\n return traits;\n }\n static memberFrom(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n memberSchema.memberName = memberName;\n memberSchema._isMemberSchema = true;\n return memberSchema;\n }\n return new NormalizedSchema(memberSchema, memberName);\n }\n getSchema() {\n if (this.schema instanceof NormalizedSchema) {\n return (this.schema = this.schema.getSchema());\n }\n if (this.schema instanceof SimpleSchema) {\n return deref(this.schema.schemaRef);\n }\n return deref(this.schema);\n }\n getName(withNamespace = false) {\n if (!withNamespace) {\n if (this.name && this.name.includes(\"#\")) {\n return this.name.split(\"#\")[1];\n }\n }\n return this.name || undefined;\n }\n getMemberName() {\n if (!this.isMemberSchema()) {\n throw new Error(`@smithy/core/schema - cannot get member name on non-member schema: ${this.getName(true)}`);\n }\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isListSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.LIST_MODIFIER && inner < SCHEMA.MAP_MODIFIER;\n }\n return inner instanceof ListSchema;\n }\n isMapSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.MAP_MODIFIER && inner <= 255;\n }\n return inner instanceof MapSchema;\n }\n isDocumentSchema() {\n return this.getSchema() === SCHEMA.DOCUMENT;\n }\n isStructSchema() {\n const inner = this.getSchema();\n return (inner !== null && typeof inner === \"object\" && \"members\" in inner) || inner instanceof StructureSchema;\n }\n isBlobSchema() {\n return this.getSchema() === SCHEMA.BLOB || this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isTimestampSchema() {\n const schema = this.getSchema();\n return typeof schema === \"number\" && schema >= SCHEMA.TIMESTAMP_DEFAULT && schema <= SCHEMA.TIMESTAMP_EPOCH_SECONDS;\n }\n isStringSchema() {\n return this.getSchema() === SCHEMA.STRING;\n }\n isBooleanSchema() {\n return this.getSchema() === SCHEMA.BOOLEAN;\n }\n isNumericSchema() {\n return this.getSchema() === SCHEMA.NUMERIC;\n }\n isBigIntegerSchema() {\n return this.getSchema() === SCHEMA.BIG_INTEGER;\n }\n isBigDecimalSchema() {\n return this.getSchema() === SCHEMA.BIG_DECIMAL;\n }\n isStreaming() {\n const streaming = !!this.getMergedTraits().streaming;\n if (streaming) {\n return true;\n }\n return this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isIdempotencyToken() {\n if (typeof this.traits === \"number\") {\n return (this.traits & 0b0100) === 0b0100;\n }\n else if (typeof this.traits === \"object\") {\n return !!this.traits.idempotencyToken;\n }\n return false;\n }\n getMergedTraits() {\n if (this.normalizedTraits) {\n return this.normalizedTraits;\n }\n this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n };\n return this.normalizedTraits;\n }\n getMemberTraits() {\n return NormalizedSchema.translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return NormalizedSchema.translateTraits(this.traits);\n }\n getKeySchema() {\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], \"key\");\n }\n if (!this.isMapSchema()) {\n throw new Error(`@smithy/core/schema - cannot get key schema for non-map schema: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"key\");\n }\n return NormalizedSchema.memberFrom([schema.keySchema, 0], \"key\");\n }\n getValueSchema() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n if (this.isMapSchema()) {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"member\");\n }\n }\n if (schema && typeof schema === \"object\") {\n if (this.isStructSchema()) {\n throw new Error(`cannot call getValueSchema() with StructureSchema ${this.getName(true)}`);\n }\n const collection = schema;\n if (\"valueSchema\" in collection) {\n if (this.isMapSchema()) {\n return NormalizedSchema.memberFrom([collection.valueSchema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return NormalizedSchema.memberFrom([collection.valueSchema, 0], \"member\");\n }\n }\n }\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], \"value\");\n }\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have a value member.`);\n }\n hasMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n return member in struct.members;\n }\n return false;\n }\n getMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n if (!(member in struct.members)) {\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have a member with name=${member}.`);\n }\n return NormalizedSchema.memberFrom(struct.members[member], member);\n }\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], member);\n }\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have members.`);\n }\n getMemberSchemas() {\n const { schema } = this;\n const struct = schema;\n if (!struct || typeof struct !== \"object\") {\n return {};\n }\n if (\"members\" in struct) {\n const buffer = {};\n for (const member of struct.memberNames) {\n buffer[member] = this.getMemberSchema(member);\n }\n return buffer;\n }\n return {};\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot acquire structIterator on non-struct schema.\");\n }\n const struct = this.getSchema();\n for (let i = 0; i < struct.memberNames.length; ++i) {\n yield [struct.memberNames[i], NormalizedSchema.memberFrom([struct.memberList[i], 0], struct.memberNames[i])];\n }\n }\n getSchemaName() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n const _schema = 63 & schema;\n const container = 192 & schema;\n const type = Object.entries(SCHEMA).find(([, value]) => {\n return value === _schema;\n })?.[0] ?? \"Unknown\";\n switch (container) {\n case SCHEMA.MAP_MODIFIER:\n return `${type}Map`;\n case SCHEMA.LIST_MODIFIER:\n return `${type}List`;\n case 0:\n return type;\n }\n }\n return \"Unknown\";\n }\n}\nNormalizedSchema.symbol = Symbol.for(\"@smithy/core/schema::NormalizedSchema\");\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n constructor(name, schemaRef, traits) {\n super(name, traits);\n this.name = name;\n this.schemaRef = schemaRef;\n this.traits = traits;\n this.symbol = SimpleSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = SimpleSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const sim = lhs;\n return sim.symbol === SimpleSchema.symbol;\n }\n return isPrototype;\n }\n}\nSimpleSchema.symbol = Symbol.for(\"@smithy/core/schema::SimpleSchema\");\nexport function sim(namespace, name, schemaRef, traits) {\n const schema = new SimpleSchema(namespace + \"#\" + name, schemaRef, traits);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { Agent as hAgent, request as hRequest } from \"http\";\nimport { Agent as hsAgent, request as hsRequest } from \"https\";\nimport { NODEJS_TIMEOUT_ERROR_CODES } from \"./constants\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { setConnectionTimeout } from \"./set-connection-timeout\";\nimport { setSocketKeepAlive } from \"./set-socket-keep-alive\";\nimport { setSocketTimeout } from \"./set-socket-timeout\";\nimport { timing } from \"./timing\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport const DEFAULT_REQUEST_TIMEOUT = 0;\nexport class NodeHttpHandler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.socketWarningTimestamp = 0;\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout: requestTimeout ?? socketTimeout,\n socketAcquisitionWarningTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === \"function\") {\n return httpsAgent;\n }\n return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console,\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent;\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, this.config.logger);\n }, this.config.socketAcquisitionWarningTimeout ??\n (this.config.requestTimeout ?? 2000) + (this.config.connectionTimeout ?? 1000)));\n const queryString = buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? hsRequest : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\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 req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? this.config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout));\n timeouts.push(setSocketTimeout(req, reject, effectiveRequestTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\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","export * from \"./escape-uri\";\nexport * from \"./escape-uri-path\";\n","export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { escapeUri } from \"./escape-uri\";\nexport const escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n","export const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","const getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\nexport { getTransformedHeaders };\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 1000;\nexport const setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","export const timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n","import { DEFAULT_REQUEST_TIMEOUT } from \"./node-http-handler\";\nimport { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketTimeout = (request, reject, timeoutInMs = DEFAULT_REQUEST_TIMEOUT) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","import { Readable } from \"stream\";\nimport { timing } from \"./timing\";\nconst MIN_WAIT_TIME = 6000;\nexport async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME) {\n const headers = request.headers ?? {};\n const expect = headers[\"Expect\"] || headers[\"expect\"];\n let timeoutId = -1;\n let sendBody = true;\n if (expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n","export * from \"./node-http-handler\";\nexport * from \"./node-http2-handler\";\nexport * from \"./stream-collector\";\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { constants } from \"http2\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { NodeHttp2ConnectionManager } from \"./node-http2-connection-manager\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport class NodeHttp2Handler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.connectionManager = new NodeHttp2ConnectionManager({});\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\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 authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false,\n });\n const rejectWithDestroy = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = buildQueryString(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [constants.HTTP2_HEADER_PATH]: path,\n [constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n","import http2 from \"http2\";\nimport { NodeHttp2ConnectionPool } from \"./node-http2-connection-pool\";\nexport class NodeHttp2ConnectionManager {\n constructor(config) {\n this.sessionCache = new Map();\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n}\n","export class NodeHttp2ConnectionPool {\n constructor(sessions) {\n this.sessions = [];\n this.sessions = sessions ?? [];\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n}\n","import { Collector } from \"./collector\";\nexport const streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(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}\n","import { Writable } from \"stream\";\nexport class Collector extends Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\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 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","export * from \"./client\";\nexport * from \"./collect-stream-body\";\nexport * from \"./command\";\nexport * from \"./constants\";\nexport * from \"./create-aggregated-client\";\nexport * from \"./default-error-handler\";\nexport * from \"./defaults-mode\";\nexport * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./exceptions\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./extensions\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./is-serializable-header-value\";\nexport * from \"./NoOpLogger\";\nexport * from \"./object-mapping\";\nexport * from \"./resolve-path\";\nexport * from \"./ser-utils\";\nexport * from \"./serde-json\";\nexport * from \"@smithy/core/serde\";\n","export { collectBody } from \"@smithy/core/protocols\";\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 * from \"./blob/Uint8ArrayBlobAdapter\";\nexport * from \"./checksum/ChecksumStream\";\nexport * from \"./checksum/createChecksumStream\";\nexport * from \"./createBufferedReadable\";\nexport * from \"./getAwsChunkedEncodingStream\";\nexport * from \"./headStream\";\nexport * from \"./sdk-stream-mixin\";\nexport * from \"./splitStream\";\nexport * from \"./stream-type-check\";\n","import { transformFromString, transformToString } from \"./transforms\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n switch (typeof source) {\n case \"string\":\n return transformFromString(source, encoding);\n default:\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n}\n","import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { Uint8ArrayBlobAdapter } from \"./Uint8ArrayBlobAdapter\";\nexport function transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(payload);\n }\n return toUtf8(payload);\n}\nexport function transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(str));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(str));\n}\n","export * from \"./fromBase64\";\nexport * from \"./toBase64\";\n","import { fromString } from \"@smithy/util-buffer-from\";\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nexport const fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = fromString(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport const toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\n","import { toBase64 } from \"@smithy/util-base64\";\nimport { Duplex } from \"stream\";\nexport class ChecksumStream extends Duplex {\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder ?? toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\n","import { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream\";\nimport { createChecksumStream as createChecksumStreamWeb } from \"./createChecksumStream.browser\";\nexport function createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && isReadableStream(init.source)) {\n return createChecksumStreamWeb(init);\n }\n return new ChecksumStream(init);\n}\n","export const isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexport const isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\n","import { toBase64 } from \"@smithy/util-base64\";\nimport { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream.browser\";\nexport const createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!isReadableStream(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream.prototype);\n return readable;\n};\n","const ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nexport class ChecksumStream extends ReadableStreamRef {\n}\n","import { Readable } from \"node:stream\";\nimport { ByteArrayCollector } from \"./ByteArrayCollector\";\nimport { createBufferedReadableStream, flush, merge, modeOf, sizeOf } from \"./createBufferedReadableStream\";\nimport { isReadableStream } from \"./stream-type-check\";\nexport function createBufferedReadable(upstream, size, logger) {\n if (isReadableStream(upstream)) {\n return createBufferedReadableStream(upstream, size, logger);\n }\n const downstream = new Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = modeOf(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push(flush(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n","export class ByteArrayCollector {\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n this.byteLength = 0;\n this.byteArrays = [];\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\n","import { ByteArrayCollector } from \"./ByteArrayCollector\";\nexport function createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexport const createBufferedReadable = createBufferedReadableStream;\nexport function merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nexport function flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nexport function sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nexport function modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n","import { Readable } from \"stream\";\nexport const getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\n","import { Writable } from \"stream\";\nimport { headStream as headWebStream } from \"./headStream.browser\";\nimport { isReadableStream } from \"./stream-type-check\";\nexport const headStream = (stream, bytes) => {\n if (isReadableStream(stream)) {\n return headWebStream(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nclass Collector extends Writable {\n constructor() {\n super(...arguments);\n this.buffers = [];\n this.limit = Infinity;\n this.bytesBuffered = 0;\n }\n _write(chunk, encoding, callback) {\n this.buffers.push(chunk);\n this.bytesBuffered += chunk.byteLength ?? 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n","export async function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n","import { streamCollector } from \"@smithy/node-http-handler\";\nimport { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { Readable } from \"stream\";\nimport { sdkStreamMixin as sdkStreamMixinReadableStream } from \"./sdk-stream-mixin.browser\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!(stream instanceof Readable)) {\n try {\n return sdkStreamMixinReadableStream(stream);\n }\n catch (e) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return fromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return Readable.toWeb(stream);\n },\n });\n};\n","import { streamCollector } from \"@smithy/fetch-http-handler\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { isReadableStream } from \"./stream-type-check\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !isReadableStream(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return toBase64(buf);\n }\n else if (encoding === \"hex\") {\n return toHex(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return toUtf8(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if (isReadableStream(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n","export * from \"./fetch-http-handler\";\nexport * from \"./stream-collector\";\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { createRequest } from \"./create-request\";\nimport { requestTimeout as requestTimeoutFn } 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, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout ?? 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 requestTimeoutFn(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","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 { 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","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","import { PassThrough } from \"stream\";\nimport { splitStream as splitWebStream } from \"./splitStream.browser\";\nimport { isBlob, isReadableStream } from \"./stream-type-check\";\nexport async function splitStream(stream) {\n if (isReadableStream(stream) || isBlob(stream)) {\n return splitWebStream(stream);\n }\n const stream1 = new PassThrough();\n const stream2 = new PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n","export async function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\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 { 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 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","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\nexport default {\n randomUUID: crypto.randomUUID\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 { 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","export { extendedEncodeURIComponent } from \"@smithy/core/protocols\";\n","export * from \"./defaultExtensionConfiguration\";\n","import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\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 addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return 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","export const getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.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 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 { resolvedPath } from \"@smithy/core/protocols\";\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","export const _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/client.js","../../../node_modules/.pnpm/@smithy+middleware-stack@4.0.5/node_modules/@smithy/middleware-stack/dist-es/index.js","../../../node_modules/.pnpm/@smithy+middleware-stack@4.0.5/node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/command.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/schemaLogFilter.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/index.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/extensions/index.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/Field.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/Fields.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpHandler.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/isValidHostname.js","../../../node_modules/.pnpm/@smithy+protocol-http@5.1.3/node_modules/@smithy/protocol-http/dist-es/types.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js","../../../node_modules/.pnpm/@smithy+querystring-builder@4.0.5/node_modules/@smithy/querystring-builder/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.0.0/node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/constants.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/timing.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/index.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.1.1/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/constants.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/exceptions.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/index.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/blob/transforms.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/fromBase64.js","../../../node_modules/.pnpm/@smithy+util-base64@4.0.0/node_modules/@smithy/util-base64/dist-es/toBase64.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/stream-type-check.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/ByteArrayCollector.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/headStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/headStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/index.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/create-request.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.1.1/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js","../../../node_modules/.pnpm/@smithy+util-hex-encoding@4.0.0/node_modules/@smithy/util-hex-encoding/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/splitStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.2.4/node_modules/@smithy/util-stream/dist-es/splitStream.browser.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js","../../../node_modules/.pnpm/@smithy+core@3.9.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/default-error-handler.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/defaults-mode.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/index.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/extensions/retry.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/is-serializable-header-value.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/object-mapping.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/resolve-path.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/ser-utils.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.5.1/node_modules/@smithy/smithy-client/dist-es/serde-json.js"],"names":["getAllAliases","name","aliases","_aliases","push","alias","getMiddlewareNameWithAliases","length","join","constructStack","absoluteEntries","relativeEntries","identifyOnResolve","entriesNameSet","Set","sort","entries","a","b","stepWeights","step","priorityWeights","priority","removeByName","toRemove","isRemoved","filterCb","entry","includes","delete","filter","removeByReference","middleware","cloneTo","toStack","forEach","add","addRelativeTo","stack","expandRelativeMiddlewareList","from","expandedMiddlewareList","before","after","reverse","getMiddlewareList","debug","normalizedAbsoluteEntries","normalizedRelativeEntries","normalizedEntriesNameMap","normalizedEntry","toMiddleware","undefined","Error","relation","mainChain","map","reduce","wholeList","options","override","some","has","toOverrideIndex","findIndex","toOverride","splice","clone","use","plugin","applyToStack","remove","removeByTag","tags","concat","cloned","identify","mw","toggle","resolve","handler","context","console","log","initialize","serialize","build","finalizeRequest","deserialize","high","normal","low","Client","config","middlewareStack","send","command","optionsOrCb","cb","callback","useHandlerCache","cacheMiddleware","handlers","WeakMap","get","resolveMiddleware","set","then","result","output","err","catch","destroy","requestHandler","deref","schemaRef","getHttpHandlerExtensionConfiguration","runtimeConfig","setHttpHandler","httpHandler","updateHttpClientConfig","key","value","httpHandlerConfigs","resolveHttpHandlerRuntimeConfig","httpHandlerExtensionConfiguration","HttpRequest","method","hostname","port","query","headers","body","protocol","slice","path","charAt","username","password","fragment","request","cloneQuery","isInstance","req","Object","keys","carry","paramName","param","Array","isArray","HttpResponse","statusCode","reason","response","resp","Schema","traits","ListSchema","valueSchema","symbol","Symbol","hasInstance","lhs","isPrototype","prototype","isPrototypeOf","list","for","MapSchema","keySchema","StructureSchema","memberNames","memberList","members","i","struct","SimpleSchema","sim","NormalizedSchema","ref","memberName","traitStack","_ref","schema","_isMemberSchema","memberTraits","traitSet","assign","translateTraits","getMemberTraits","normalizedTraits","getSchemaName","getName","ns","of","indicator","httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams","memberFrom","memberSchema","getSchema","withNamespace","split","getMemberName","isMemberSchema","isUnitSchema","isListSchema","inner","SCHEMA","LIST_MODIFIER","MAP_MODIFIER","isMapSchema","isDocumentSchema","DOCUMENT","isStructSchema","isBlobSchema","BLOB","STREAMING_BLOB","isTimestampSchema","TIMESTAMP_DEFAULT","TIMESTAMP_EPOCH_SECONDS","isStringSchema","STRING","isBooleanSchema","BOOLEAN","isNumericSchema","NUMERIC","isBigIntegerSchema","BIG_INTEGER","isBigDecimalSchema","BIG_DECIMAL","isStreaming","streaming","getMergedTraits","isIdempotencyToken","getOwnTraits","getKeySchema","getValueSchema","collection","hasMemberSchema","member","getMemberSchema","getMemberSchemas","buffer","getEventStreamMember","structIterator","_schema","container","type","find","SENSITIVE_STRING","schemaLogFilter","data","isSensitive","object","newObject","memberNs","Command","classBuilder","ClassBuilder","resolveMiddlewareWithContext","clientStack","configuration","middlewareFn","clientName","commandName","inputFilterSensitiveLog","outputFilterSensitiveLog","smithyContext","additionalContext","CommandCtor","bind","logger","handlerExecutionContext","SMITHY_CONTEXT_KEY","commandInstance","handle","_init","_ep","_middlewareFn","_commandName","_clientName","_additionalContext","_smithyContext","_inputFilterSensitiveLog","_outputFilterSensitiveLog","_serializer","_deserializer","init","ep","endpointParameterInstructions","m","middlewareSupplier","s","service","operation","c","n","f","inputFilter","_","outputFilter","ser","serializer","de","deserializer","sc","_operationSchema","operationSchema","closure","CommandRef","getEndpointParameterInstructions","input","escapeUri","uri","encodeURIComponent","replace","hexEncode","charCodeAt","toString","toUpperCase","buildQueryString","parts","iLen","qsEntry","NODEJS_TIMEOUT_ERROR_CODES","getTransformedHeaders","transformedHeaders","headerValues","timing","setTimeout","ms","clearTimeout","timeoutId","DEFER_EVENT_LISTENER_TIME","setConnectionTimeout","reject","timeoutInMs","registerTimeout","offset","doWithSocket","socket","connecting","on","setSocketKeepAlive","keepAlive","keepAliveMsecs","deferTimeMs","registerListener","setKeepAlive","setSocketTimeout","DEFAULT_REQUEST_TIMEOUT","timeout","onTimeout","removeListener","MIN_WAIT_TIME","writeRequestBody","httpRequest","maxContinueTimeoutMs","expect","sendBody","Promise","race","Number","Math","max","writeBody","Readable","pipe","Buffer","isBuffer","end","uint8","byteOffset","byteLength","NodeHttpHandler","create","instanceOrOptions","checkSocketUsage","agent","socketWarningTimestamp","sockets","requests","maxSockets","Infinity","interval","Date","now","origin","socketsInUse","requestsEnqueued","warn","metadata","handlerProtocol","configProvider","_options","resolveDefaultConfig","requestTimeout","connectionTimeout","socketTimeout","socketAcquisitionWarningTimeout","httpAgent","httpsAgent","hAgent","hsAgent","abortSignal","_resolve","_reject","writeRequestBodyPromise","timeouts","arg","aborted","abortError","isSSL","queryString","auth","endsWith","nodeHttpsOptions","host","requestFunc","hsRequest","hRequest","res","httpResponse","statusMessage","code","onAbort","addEventListener","signal","once","removeEventListener","onabort","effectiveRequestTimeout","e","Collector","Writable","arguments","bufferedBytes","_write","chunk","encoding","streamCollector","stream","isReadableStreamInstance","collectReadableStream","collector","bytes","Uint8Array","ReadableStream","chunks","reader","getReader","isDone","done","read","collected","createAggregatedClient","commands","methodImpl","args","methodName","toLowerCase","ServiceException","message","setPrototypeOf","getPrototypeOf","$fault","$metadata","candidate","Boolean","instance","decorateServiceException","exception","additions","v","k","Message","BASE64_REGEX","fromBase64","TypeError","exec","fromString","toBase64","_input","fromUtf8","fromArrayBuffer","transformToString","payload","toUtf8","transformFromString","str","Uint8ArrayBlobAdapter","mutate","source","isReadableStream","Blob","arrayBuffer","collectBlob","collectStream","blob","base64","readToBase64","FileReader","onloadend","readyState","commaIndex","indexOf","dataOffset","substring","onerror","error","readAsDataURL","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","fromHex","encoded","out","toHex","ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED","sdkStreamMixin","isBlobInstance","__proto__","transformed","transformToByteArray","blobToWebStream","buf","TextDecoder","decode","transformToWebStream","sdkStreamMixinReadableStream","isEncoding","decoder","readableFlowing","toWeb","collectBody","streamBody","fromContext","extendedEncodeURIComponent","expectNumber","parsed","parseFloat","isNaN","String","stackTraceWarning","MAX_FLOAT","ceil","expectFloat32","expected","abs","expectLong","isInteger","expectInt32","expectSizedInt","expectShort","expectByte","size","castInt","Int32Array","Int16Array","Int8Array","expectNonNull","location","expectObject","receivedType","expectString","strictParseFloat32","parseNumber","NUMBER_REGEX","matches","match","strictParseInt32","strictParseShort","strictParseByte","MONTHS","RFC3339","RegExp","parseRfc3339DateTime","yearStr","monthStr","dayStr","hours","minutes","seconds","fractionalMilliseconds","year","stripLeadingZeroes","month","parseDateValue","day","buildDate","RFC3339_WITH_OFFSET","parseRfc3339DateTimeWithOffset","offsetStr","date","setTime","getTime","parseOffsetToMilliseconds","time","adjustedMonth","validateDayOfMonth","UTC","parseMilliseconds","DAYS_IN_MONTH","maxDays","isLeapYear","lower","upper","dateVal","directionStr","direction","hour","minute","idx","rnds8Pool","poolPtr","rng","crypto","randomFillSync","byteToHex","unsafeStringify","arr","randomUUID","v4","native","rnds","random","resolvedPath","labelValueProvider","uriLabel","isGreedyLabel","labelValue","segment","throwDefaultError","parsedBody","exceptionCtor","errorCode","deserializeMetadata","httpStatusCode","Code","withBaseException","ExceptionCtor","requestId","extendedRequestId","cfId","loadConfigsForDefaultMode","mode","retryMode","warningEmitted","emitWarningIfUnsupportedVersion","version","parseInt","getChecksumConfiguration","checksumAlgorithms","id","AlgorithmId","algorithmId","checksumConstructor","addChecksumAlgorithm","algo","resolveChecksumRuntimeConfig","clientConfig","checksumAlgorithm","getRetryConfiguration","setRetryStrategy","retryStrategy","resolveRetryRuntimeConfig","retryStrategyConfiguration","getDefaultExtensionConfiguration","resolveDefaultRuntimeConfig","getValueFromTextNode","obj","textNodeName","hasOwnProperty","isSerializableHeaderValue","NoOpLogger","trace","info","arg0","arg1","arg2","target","instructions","mapWithFilter","applyInstruction","take","_instructions","targetKey","instruction","nonNullish","valueFn","pass","sourceKey","_value","defaultFilterPassed","customFilterPassed","_json"],"mappings":"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","file":"IMNIF2OY.js","sourcesContent":["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","export * from \"./MiddlewareStack\";\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\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nimport { schemaLogFilter } from \"./schemaLogFilter\";\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 = undefined;\n this._outputFilterSensitiveLog = undefined;\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 sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\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 this.schema = closure._operationSchema;\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 (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ??\n (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n });\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\nexport function schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n","export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n","export * from \"./extensions\";\nexport * from \"./Field\";\nexport * from \"./Fields\";\nexport * from \"./httpHandler\";\nexport * from \"./httpRequest\";\nexport * from \"./httpResponse\";\nexport * from \"./isValidHostname\";\nexport * from \"./types\";\n","export * from \"./httpExtensionConfiguration\";\n","export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n","import { FieldPosition } from \"@smithy/types\";\nexport class Field {\n constructor({ name, kind = FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n","export class Fields {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n","export {};\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 {};\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n constructor(name, traits, valueSchema) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.valueSchema = valueSchema;\n this.symbol = ListSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = ListSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === ListSchema.symbol;\n }\n return isPrototype;\n }\n}\nListSchema.symbol = Symbol.for(\"@smithy/core/schema::ListSchema\");\nexport function list(namespace, name, traits = {}, valueSchema) {\n const schema = new ListSchema(namespace + \"#\" + name, traits, typeof valueSchema === \"function\" ? valueSchema() : valueSchema);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","export class Schema {\n constructor(name, traits) {\n this.name = name;\n this.traits = traits;\n }\n}\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n constructor(name, traits, keySchema, valueSchema) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.keySchema = keySchema;\n this.valueSchema = valueSchema;\n this.symbol = MapSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = MapSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const map = lhs;\n return map.symbol === MapSchema.symbol;\n }\n return isPrototype;\n }\n}\nMapSchema.symbol = Symbol.for(\"@smithy/core/schema::MapSchema\");\nexport function map(namespace, name, traits = {}, keySchema, valueSchema) {\n const schema = new MapSchema(namespace + \"#\" + name, traits, keySchema, typeof valueSchema === \"function\" ? valueSchema() : valueSchema);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n constructor(name, traits, memberNames, memberList) {\n super(name, traits);\n this.name = name;\n this.traits = traits;\n this.memberNames = memberNames;\n this.memberList = memberList;\n this.symbol = StructureSchema.symbol;\n this.members = {};\n for (let i = 0; i < memberNames.length; ++i) {\n this.members[memberNames[i]] = Array.isArray(memberList[i])\n ? memberList[i]\n : [memberList[i], 0];\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = StructureSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const struct = lhs;\n return struct.symbol === StructureSchema.symbol;\n }\n return isPrototype;\n }\n}\nStructureSchema.symbol = Symbol.for(\"@smithy/core/schema::StructureSchema\");\nexport function struct(namespace, name, traits, memberNames, memberList) {\n const schema = new StructureSchema(namespace + \"#\" + name, traits, memberNames, memberList);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { deref } from \"../deref\";\nimport { ListSchema } from \"./ListSchema\";\nimport { MapSchema } from \"./MapSchema\";\nimport { SCHEMA } from \"./sentinels\";\nimport { SimpleSchema } from \"./SimpleSchema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class NormalizedSchema {\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n this.symbol = NormalizedSchema.symbol;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (Array.isArray(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, NormalizedSchema.translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n this.name = schema.name;\n this.traits = schema.traits;\n this._isMemberSchema = schema._isMemberSchema;\n this.schema = schema.schema;\n this.memberTraits = Object.assign({}, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.ref = schema.ref;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (this.schema && typeof this.schema === \"object\") {\n this.traits = this.schema?.traits ?? {};\n }\n else {\n this.traits = 0;\n }\n this.name =\n (typeof this.schema === \"object\" ? this.schema?.name : void 0) ?? this.memberName ?? this.getSchemaName();\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member schema ${this.getName(true)} must initialize with memberName argument.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = NormalizedSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === NormalizedSchema.symbol;\n }\n return isPrototype;\n }\n static of(ref, memberName) {\n if (ref instanceof NormalizedSchema) {\n return ref;\n }\n return new NormalizedSchema(ref, memberName);\n }\n static translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n if ((indicator & 1) === 1) {\n traits.httpLabel = 1;\n }\n if (((indicator >> 1) & 1) === 1) {\n traits.idempotent = 1;\n }\n if (((indicator >> 2) & 1) === 1) {\n traits.idempotencyToken = 1;\n }\n if (((indicator >> 3) & 1) === 1) {\n traits.sensitive = 1;\n }\n if (((indicator >> 4) & 1) === 1) {\n traits.httpPayload = 1;\n }\n if (((indicator >> 5) & 1) === 1) {\n traits.httpResponseCode = 1;\n }\n if (((indicator >> 6) & 1) === 1) {\n traits.httpQueryParams = 1;\n }\n return traits;\n }\n static memberFrom(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n memberSchema.memberName = memberName;\n memberSchema._isMemberSchema = true;\n return memberSchema;\n }\n return new NormalizedSchema(memberSchema, memberName);\n }\n getSchema() {\n if (this.schema instanceof NormalizedSchema) {\n return (this.schema = this.schema.getSchema());\n }\n if (this.schema instanceof SimpleSchema) {\n return deref(this.schema.schemaRef);\n }\n return deref(this.schema);\n }\n getName(withNamespace = false) {\n if (!withNamespace) {\n if (this.name && this.name.includes(\"#\")) {\n return this.name.split(\"#\")[1];\n }\n }\n return this.name || undefined;\n }\n getMemberName() {\n if (!this.isMemberSchema()) {\n throw new Error(`@smithy/core/schema - cannot get member name on non-member schema: ${this.getName(true)}`);\n }\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isListSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.LIST_MODIFIER && inner < SCHEMA.MAP_MODIFIER;\n }\n return inner instanceof ListSchema;\n }\n isMapSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.MAP_MODIFIER && inner <= 255;\n }\n return inner instanceof MapSchema;\n }\n isDocumentSchema() {\n return this.getSchema() === SCHEMA.DOCUMENT;\n }\n isStructSchema() {\n const inner = this.getSchema();\n return (inner !== null && typeof inner === \"object\" && \"members\" in inner) || inner instanceof StructureSchema;\n }\n isBlobSchema() {\n return this.getSchema() === SCHEMA.BLOB || this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isTimestampSchema() {\n const schema = this.getSchema();\n return typeof schema === \"number\" && schema >= SCHEMA.TIMESTAMP_DEFAULT && schema <= SCHEMA.TIMESTAMP_EPOCH_SECONDS;\n }\n isStringSchema() {\n return this.getSchema() === SCHEMA.STRING;\n }\n isBooleanSchema() {\n return this.getSchema() === SCHEMA.BOOLEAN;\n }\n isNumericSchema() {\n return this.getSchema() === SCHEMA.NUMERIC;\n }\n isBigIntegerSchema() {\n return this.getSchema() === SCHEMA.BIG_INTEGER;\n }\n isBigDecimalSchema() {\n return this.getSchema() === SCHEMA.BIG_DECIMAL;\n }\n isStreaming() {\n const streaming = !!this.getMergedTraits().streaming;\n if (streaming) {\n return true;\n }\n return this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isIdempotencyToken() {\n if (typeof this.traits === \"number\") {\n return (this.traits & 0b0100) === 0b0100;\n }\n else if (typeof this.traits === \"object\") {\n return !!this.traits.idempotencyToken;\n }\n return false;\n }\n getMergedTraits() {\n if (this.normalizedTraits) {\n return this.normalizedTraits;\n }\n this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n };\n return this.normalizedTraits;\n }\n getMemberTraits() {\n return NormalizedSchema.translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return NormalizedSchema.translateTraits(this.traits);\n }\n getKeySchema() {\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], \"key\");\n }\n if (!this.isMapSchema()) {\n throw new Error(`@smithy/core/schema - cannot get key schema for non-map schema: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"key\");\n }\n return NormalizedSchema.memberFrom([schema.keySchema, 0], \"key\");\n }\n getValueSchema() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n if (this.isMapSchema()) {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return NormalizedSchema.memberFrom([63 & schema, 0], \"member\");\n }\n }\n if (schema && typeof schema === \"object\") {\n if (this.isStructSchema()) {\n throw new Error(`cannot call getValueSchema() with StructureSchema ${this.getName(true)}`);\n }\n const collection = schema;\n if (\"valueSchema\" in collection) {\n if (this.isMapSchema()) {\n return NormalizedSchema.memberFrom([collection.valueSchema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return NormalizedSchema.memberFrom([collection.valueSchema, 0], \"member\");\n }\n }\n }\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], \"value\");\n }\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have a value member.`);\n }\n hasMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n return member in struct.members;\n }\n return false;\n }\n getMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n if (!(member in struct.members)) {\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have a member with name=${member}.`);\n }\n return NormalizedSchema.memberFrom(struct.members[member], member);\n }\n if (this.isDocumentSchema()) {\n return NormalizedSchema.memberFrom([SCHEMA.DOCUMENT, 0], member);\n }\n throw new Error(`@smithy/core/schema - the schema ${this.getName(true)} does not have members.`);\n }\n getMemberSchemas() {\n const { schema } = this;\n const struct = schema;\n if (!struct || typeof struct !== \"object\") {\n return {};\n }\n if (\"members\" in struct) {\n const buffer = {};\n for (const member of struct.memberNames) {\n buffer[member] = this.getMemberSchema(member);\n }\n return buffer;\n }\n return {};\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot acquire structIterator on non-struct schema.\");\n }\n const struct = this.getSchema();\n for (let i = 0; i < struct.memberNames.length; ++i) {\n yield [struct.memberNames[i], NormalizedSchema.memberFrom([struct.memberList[i], 0], struct.memberNames[i])];\n }\n }\n getSchemaName() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n const _schema = 63 & schema;\n const container = 192 & schema;\n const type = Object.entries(SCHEMA).find(([, value]) => {\n return value === _schema;\n })?.[0] ?? \"Unknown\";\n switch (container) {\n case SCHEMA.MAP_MODIFIER:\n return `${type}Map`;\n case SCHEMA.LIST_MODIFIER:\n return `${type}List`;\n case 0:\n return type;\n }\n }\n return \"Unknown\";\n }\n}\nNormalizedSchema.symbol = Symbol.for(\"@smithy/core/schema::NormalizedSchema\");\n","import { TypeRegistry } from \"../TypeRegistry\";\nimport { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n constructor(name, schemaRef, traits) {\n super(name, traits);\n this.name = name;\n this.schemaRef = schemaRef;\n this.traits = traits;\n this.symbol = SimpleSchema.symbol;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = SimpleSchema.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const sim = lhs;\n return sim.symbol === SimpleSchema.symbol;\n }\n return isPrototype;\n }\n}\nSimpleSchema.symbol = Symbol.for(\"@smithy/core/schema::SimpleSchema\");\nexport function sim(namespace, name, schemaRef, traits) {\n const schema = new SimpleSchema(namespace + \"#\" + name, schemaRef, traits);\n TypeRegistry.for(namespace).register(name, schema);\n return schema;\n}\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { Agent as hAgent, request as hRequest } from \"http\";\nimport { Agent as hsAgent, request as hsRequest } from \"https\";\nimport { NODEJS_TIMEOUT_ERROR_CODES } from \"./constants\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { setConnectionTimeout } from \"./set-connection-timeout\";\nimport { setSocketKeepAlive } from \"./set-socket-keep-alive\";\nimport { setSocketTimeout } from \"./set-socket-timeout\";\nimport { timing } from \"./timing\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport const DEFAULT_REQUEST_TIMEOUT = 0;\nexport class NodeHttpHandler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.socketWarningTimestamp = 0;\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout: requestTimeout ?? socketTimeout,\n socketAcquisitionWarningTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === \"function\") {\n return httpsAgent;\n }\n return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console,\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent;\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, this.config.logger);\n }, this.config.socketAcquisitionWarningTimeout ??\n (this.config.requestTimeout ?? 2000) + (this.config.connectionTimeout ?? 1000)));\n const queryString = buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? hsRequest : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\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 req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? this.config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout));\n timeouts.push(setSocketTimeout(req, reject, effectiveRequestTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\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","export * from \"./escape-uri\";\nexport * from \"./escape-uri-path\";\n","export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { escapeUri } from \"./escape-uri\";\nexport const escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n","export const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","const getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\nexport { getTransformedHeaders };\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 1000;\nexport const setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","export const timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n","import { DEFAULT_REQUEST_TIMEOUT } from \"./node-http-handler\";\nimport { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketTimeout = (request, reject, timeoutInMs = DEFAULT_REQUEST_TIMEOUT) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","import { Readable } from \"stream\";\nimport { timing } from \"./timing\";\nconst MIN_WAIT_TIME = 6000;\nexport async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME) {\n const headers = request.headers ?? {};\n const expect = headers[\"Expect\"] || headers[\"expect\"];\n let timeoutId = -1;\n let sendBody = true;\n if (expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n","export * from \"./node-http-handler\";\nexport * from \"./node-http2-handler\";\nexport * from \"./stream-collector\";\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { constants } from \"http2\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { NodeHttp2ConnectionManager } from \"./node-http2-connection-manager\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport class NodeHttp2Handler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.connectionManager = new NodeHttp2ConnectionManager({});\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\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 authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false,\n });\n const rejectWithDestroy = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = buildQueryString(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [constants.HTTP2_HEADER_PATH]: path,\n [constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n","import http2 from \"http2\";\nimport { NodeHttp2ConnectionPool } from \"./node-http2-connection-pool\";\nexport class NodeHttp2ConnectionManager {\n constructor(config) {\n this.sessionCache = new Map();\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n}\n","export class NodeHttp2ConnectionPool {\n constructor(sessions) {\n this.sessions = [];\n this.sessions = sessions ?? [];\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n}\n","import { Collector } from \"./collector\";\nexport const streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(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}\n","import { Writable } from \"stream\";\nexport class Collector extends Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\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 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","export * from \"./client\";\nexport * from \"./collect-stream-body\";\nexport * from \"./command\";\nexport * from \"./constants\";\nexport * from \"./create-aggregated-client\";\nexport * from \"./default-error-handler\";\nexport * from \"./defaults-mode\";\nexport * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./exceptions\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./extensions\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./is-serializable-header-value\";\nexport * from \"./NoOpLogger\";\nexport * from \"./object-mapping\";\nexport * from \"./resolve-path\";\nexport * from \"./ser-utils\";\nexport * from \"./serde-json\";\nexport * from \"@smithy/core/serde\";\n","export { collectBody } from \"@smithy/core/protocols\";\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 * from \"./blob/Uint8ArrayBlobAdapter\";\nexport * from \"./checksum/ChecksumStream\";\nexport * from \"./checksum/createChecksumStream\";\nexport * from \"./createBufferedReadable\";\nexport * from \"./getAwsChunkedEncodingStream\";\nexport * from \"./headStream\";\nexport * from \"./sdk-stream-mixin\";\nexport * from \"./splitStream\";\nexport * from \"./stream-type-check\";\n","import { transformFromString, transformToString } from \"./transforms\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n switch (typeof source) {\n case \"string\":\n return transformFromString(source, encoding);\n default:\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n}\n","import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { Uint8ArrayBlobAdapter } from \"./Uint8ArrayBlobAdapter\";\nexport function transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(payload);\n }\n return toUtf8(payload);\n}\nexport function transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(str));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(str));\n}\n","export * from \"./fromBase64\";\nexport * from \"./toBase64\";\n","import { fromString } from \"@smithy/util-buffer-from\";\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nexport const fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = fromString(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport const toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\n","import { toBase64 } from \"@smithy/util-base64\";\nimport { Duplex } from \"stream\";\nexport class ChecksumStream extends Duplex {\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder ?? toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\n","import { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream\";\nimport { createChecksumStream as createChecksumStreamWeb } from \"./createChecksumStream.browser\";\nexport function createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && isReadableStream(init.source)) {\n return createChecksumStreamWeb(init);\n }\n return new ChecksumStream(init);\n}\n","export const isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexport const isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\n","import { toBase64 } from \"@smithy/util-base64\";\nimport { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream.browser\";\nexport const createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!isReadableStream(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream.prototype);\n return readable;\n};\n","const ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nexport class ChecksumStream extends ReadableStreamRef {\n}\n","import { Readable } from \"node:stream\";\nimport { ByteArrayCollector } from \"./ByteArrayCollector\";\nimport { createBufferedReadableStream, flush, merge, modeOf, sizeOf } from \"./createBufferedReadableStream\";\nimport { isReadableStream } from \"./stream-type-check\";\nexport function createBufferedReadable(upstream, size, logger) {\n if (isReadableStream(upstream)) {\n return createBufferedReadableStream(upstream, size, logger);\n }\n const downstream = new Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = modeOf(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push(flush(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n","export class ByteArrayCollector {\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n this.byteLength = 0;\n this.byteArrays = [];\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\n","import { ByteArrayCollector } from \"./ByteArrayCollector\";\nexport function createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexport const createBufferedReadable = createBufferedReadableStream;\nexport function merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nexport function flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nexport function sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nexport function modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n","import { Readable } from \"stream\";\nexport const getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\n","import { Writable } from \"stream\";\nimport { headStream as headWebStream } from \"./headStream.browser\";\nimport { isReadableStream } from \"./stream-type-check\";\nexport const headStream = (stream, bytes) => {\n if (isReadableStream(stream)) {\n return headWebStream(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nclass Collector extends Writable {\n constructor() {\n super(...arguments);\n this.buffers = [];\n this.limit = Infinity;\n this.bytesBuffered = 0;\n }\n _write(chunk, encoding, callback) {\n this.buffers.push(chunk);\n this.bytesBuffered += chunk.byteLength ?? 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n","export async function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n","import { streamCollector } from \"@smithy/node-http-handler\";\nimport { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { Readable } from \"stream\";\nimport { sdkStreamMixin as sdkStreamMixinReadableStream } from \"./sdk-stream-mixin.browser\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!(stream instanceof Readable)) {\n try {\n return sdkStreamMixinReadableStream(stream);\n }\n catch (e) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return fromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return Readable.toWeb(stream);\n },\n });\n};\n","import { streamCollector } from \"@smithy/fetch-http-handler\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { isReadableStream } from \"./stream-type-check\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !isReadableStream(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return toBase64(buf);\n }\n else if (encoding === \"hex\") {\n return toHex(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return toUtf8(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if (isReadableStream(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n","export * from \"./fetch-http-handler\";\nexport * from \"./stream-collector\";\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { createRequest } from \"./create-request\";\nimport { requestTimeout as requestTimeoutFn } 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, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout ?? 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 requestTimeoutFn(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","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 { 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","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","import { PassThrough } from \"stream\";\nimport { splitStream as splitWebStream } from \"./splitStream.browser\";\nimport { isBlob, isReadableStream } from \"./stream-type-check\";\nexport async function splitStream(stream) {\n if (isReadableStream(stream) || isBlob(stream)) {\n return splitWebStream(stream);\n }\n const stream1 = new PassThrough();\n const stream2 = new PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n","export async function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\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 { 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 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","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\nexport default {\n randomUUID: crypto.randomUUID\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 { 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","export { extendedEncodeURIComponent } from \"@smithy/core/protocols\";\n","export * from \"./defaultExtensionConfiguration\";\n","import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\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 addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return 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","export const getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.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 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 { resolvedPath } from \"@smithy/core/protocols\";\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","export const _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n"]}
|