{"version":3,"sources":["webpack://@microsites/inh0001-web/./node_modules/@aws-sdk/client-s3/dist/es/protocols/Aws_restXml.js"],"names":["serializeAws_restXmlAbortMultipartUploadCommand","input","context","headers","resolvedPath","labelValue","query","_a","hostname","_b","protocol","port","this","_c","label","isSerializableHeaderValue","RequestPayer","ExpectedBucketOwner","undefined","Bucket","Error","length","replace","Key","split","map","segment","join","UploadId","uploadId","endpoint","sent","method","path","body","serializeAws_restXmlCompleteMultipartUploadCommand","contents","MultipartUpload","serializeAws_restXmlCompletedMultipartUpload","addAttribute","toString","serializeAws_restXmlCreateMultipartUploadCommand","ACL","CacheControl","ContentDisposition","ContentEncoding","ContentLanguage","ContentType","Expires","expires","GrantFullControl","GrantRead","GrantReadACP","GrantWriteACP","ServerSideEncryption","StorageClass","WebsiteRedirectLocation","SSECustomerAlgorithm","SSECustomerKey","SSECustomerKeyMD5","SSEKMSKeyId","SSEKMSEncryptionContext","BucketKeyEnabled","Tagging","ObjectLockMode","ObjectLockRetainUntilDate","toISOString","ObjectLockLegalHoldStatus","Metadata","Object","keys","reduce","acc","suffix","toLowerCase","uploads","serializeAws_restXmlDeleteObjectCommand","MFA","BypassGovernanceRetention","VersionId","versionId","serializeAws_restXmlGetObjectCommand","IfMatch","IfModifiedSince","IfNoneMatch","IfUnmodifiedSince","Range","range","ResponseCacheControl","ResponseContentDisposition","ResponseContentEncoding","ResponseContentLanguage","ResponseContentType","ResponseExpires","PartNumber","partNumber","serializeAws_restXmlListObjectsCommand","Delimiter","delimiter","EncodingType","Marker","marker","MaxKeys","Prefix","prefix","serializeAws_restXmlListPartsCommand","MaxParts","PartNumberMarker","serializeAws_restXmlPutObjectCommand","ContentLength","ContentMD5","Body","serializeAws_restXmlUploadPartCommand","deserializeAws_restXmlAbortMultipartUploadCommand","output","statusCode","deserializeAws_restXmlAbortMultipartUploadCommandError","$metadata","deserializeMetadata","RequestCharged","collectBody","Promise","resolve","parsedOutput","response","errorCode","parsedBody","message","_d","_e","parseBody","concat","loadRestXmlErrorCode","deserializeAws_restXmlNoSuchUploadResponse","name","code","Code","Message","$fault","reject","assign","deserializeAws_restXmlCompleteMultipartUploadCommand","data","deserializeAws_restXmlCompleteMultipartUploadCommandError","ETag","Expiration","Location","deserializeAws_restXmlCreateMultipartUploadCommand","deserializeAws_restXmlCreateMultipartUploadCommandError","AbortDate","AbortRuleId","Date","deserializeAws_restXmlDeleteObjectCommand","deserializeAws_restXmlDeleteObjectCommandError","DeleteMarker","deserializeAws_restXmlGetObjectCommand","deserializeAws_restXmlGetObjectCommandError","AcceptRanges","ContentRange","LastModified","MissingMeta","PartsCount","ReplicationStatus","Restore","TagCount","parseInt","forEach","header","startsWith","substring","_f","deserializeAws_restXmlInvalidObjectStateResponse","deserializeAws_restXmlNoSuchKeyResponse","deserializeAws_restXmlListObjectsCommand","deserializeAws_restXmlListObjectsCommandError","CommonPrefixes","Contents","IsTruncated","Name","NextMarker","deserializeAws_restXmlCommonPrefixList","deserializeAws_restXmlObjectList","deserializeAws_restXmlNoSuchBucketResponse","deserializeAws_restXmlListPartsCommand","deserializeAws_restXmlListPartsCommandError","Initiator","NextPartNumberMarker","Owner","Parts","deserializeAws_restXmlInitiator","deserializeAws_restXmlOwner","Part","deserializeAws_restXmlParts","deserializeAws_restXmlPutObjectCommand","deserializeAws_restXmlPutObjectCommandError","deserializeAws_restXmlUploadPartCommand","deserializeAws_restXmlUploadPartCommandError","AccessTier","bodyNode","serializeAws_restXmlCompletedPartList","node","withName","addChildNode","filter","e","entry","String","serializeAws_restXmlCompletedPart","deserializeAws_restXmlCommonPrefix","ID","DisplayName","Size","deserializeAws_restXml_Object","deserializeAws_restXmlPart","httpStatusCode","requestId","extendedRequestId","cfId","streamBody","Uint8Array","streamCollector","value","getOwnPropertyNames","includes","size","then","utf8Encoder","collectBodyString","encoded","parsedObj","attributeNamePrefix","ignoreAttributes","parseNodeValue","tagValueProcessor","val","tagName","key","parsedObjToReturn","textNodeName"],"mappings":"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","file":"d6a9949e-40673635bbfe333683a6.js","sourcesContent":["import { __assign, __awaiter, __generator } from \"tslib\";\nimport { AnalyticsFilter, LifecycleRuleFilter, MetricsFilter, ReplicationRuleFilter } from \"../models/models_0\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { dateToUtcString as __dateToUtcString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode } from \"@aws-sdk/smithy-client\";\nimport { XmlNode as __XmlNode, XmlText as __XmlText } from \"@aws-sdk/xml-builder\";\nimport { parse as xmlParse } from \"fast-xml-parser\";\nexport var serializeAws_restXmlAbortMultipartUploadCommand = function serializeAws_restXmlAbortMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"x-id\": \"AbortMultipartUpload\"\n }, input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCompleteMultipartUploadCommand = function serializeAws_restXmlCompleteMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({}, input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCopyObjectCommand = function serializeAws_restXmlCopyObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"cache-control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"content-disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"content-encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"content-language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentType) && {\n \"content-type\": input.ContentType\n }), isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.Expires) && {\n expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.MetadataDirective) && {\n \"x-amz-metadata-directive\": input.MetadataDirective\n }), isSerializableHeaderValue(input.TaggingDirective) && {\n \"x-amz-tagging-directive\": input.TaggingDirective\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString()\n }), isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n\n return __assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a));\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n \"x-id\": \"CopyObject\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCreateBucketCommand = function serializeAws_restXmlCreateBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && {\n \"x-amz-bucket-object-lock-enabled\": input.ObjectLockEnabledForBucket.toString()\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.CreateBucketConfiguration !== undefined) {\n contents = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCreateMultipartUploadCommand = function serializeAws_restXmlCreateMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"cache-control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"content-disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"content-encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"content-language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentType) && {\n \"content-type\": input.ContentType\n }), isSerializableHeaderValue(input.Expires) && {\n expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString()\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n\n return __assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a));\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n uploads: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketCommand = function serializeAws_restXmlDeleteBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketCorsCommand = function serializeAws_restXmlDeleteBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketEncryptionCommand = function serializeAws_restXmlDeleteBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = function serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n \"intelligent-tiering\": \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function serializeAws_restXmlDeleteBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketLifecycleCommand = function serializeAws_restXmlDeleteBucketLifecycleCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function serializeAws_restXmlDeleteBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketOwnershipControlsCommand = function serializeAws_restXmlDeleteBucketOwnershipControlsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n ownershipControls: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketPolicyCommand = function serializeAws_restXmlDeleteBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketReplicationCommand = function serializeAws_restXmlDeleteBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketTaggingCommand = function serializeAws_restXmlDeleteBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketWebsiteCommand = function serializeAws_restXmlDeleteBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectCommand = function serializeAws_restXmlDeleteObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"x-id\": \"DeleteObject\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectsCommand = function serializeAws_restXmlDeleteObjectsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n delete: \"\"\n };\n\n if (input.Delete !== undefined) {\n contents = serializeAws_restXmlDelete(input.Delete, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectTaggingCommand = function serializeAws_restXmlDeleteObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeletePublicAccessBlockCommand = function serializeAws_restXmlDeletePublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAccelerateConfigurationCommand = function serializeAws_restXmlGetBucketAccelerateConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n accelerate: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAclCommand = function serializeAws_restXmlGetBucketAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n acl: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function serializeAws_restXmlGetBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\",\n \"x-id\": \"GetBucketAnalyticsConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketCorsCommand = function serializeAws_restXmlGetBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketEncryptionCommand = function serializeAws_restXmlGetBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = function serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n \"intelligent-tiering\": \"\",\n \"x-id\": \"GetBucketIntelligentTieringConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketInventoryConfigurationCommand = function serializeAws_restXmlGetBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\",\n \"x-id\": \"GetBucketInventoryConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLifecycleConfigurationCommand = function serializeAws_restXmlGetBucketLifecycleConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLocationCommand = function serializeAws_restXmlGetBucketLocationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n location: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLoggingCommand = function serializeAws_restXmlGetBucketLoggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n logging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketMetricsConfigurationCommand = function serializeAws_restXmlGetBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\",\n \"x-id\": \"GetBucketMetricsConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketNotificationConfigurationCommand = function serializeAws_restXmlGetBucketNotificationConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n notification: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketOwnershipControlsCommand = function serializeAws_restXmlGetBucketOwnershipControlsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n ownershipControls: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketPolicyCommand = function serializeAws_restXmlGetBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketPolicyStatusCommand = function serializeAws_restXmlGetBucketPolicyStatusCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policyStatus: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketReplicationCommand = function serializeAws_restXmlGetBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketRequestPaymentCommand = function serializeAws_restXmlGetBucketRequestPaymentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n requestPayment: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketTaggingCommand = function serializeAws_restXmlGetBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketVersioningCommand = function serializeAws_restXmlGetBucketVersioningCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n versioning: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketWebsiteCommand = function serializeAws_restXmlGetBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectCommand = function serializeAws_restXmlGetObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.IfMatch) && {\n \"if-match\": input.IfMatch\n }), isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince).toString()\n }), isSerializableHeaderValue(input.IfNoneMatch) && {\n \"if-none-match\": input.IfNoneMatch\n }), isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.Range) && {\n range: input.Range\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"x-id\": \"GetObject\"\n }, input.ResponseCacheControl !== undefined && {\n \"response-cache-control\": input.ResponseCacheControl\n }), input.ResponseContentDisposition !== undefined && {\n \"response-content-disposition\": input.ResponseContentDisposition\n }), input.ResponseContentEncoding !== undefined && {\n \"response-content-encoding\": input.ResponseContentEncoding\n }), input.ResponseContentLanguage !== undefined && {\n \"response-content-language\": input.ResponseContentLanguage\n }), input.ResponseContentType !== undefined && {\n \"response-content-type\": input.ResponseContentType\n }), input.ResponseExpires !== undefined && {\n \"response-expires\": (input.ResponseExpires.toISOString().split(\".\")[0] + \"Z\").toString()\n }), input.VersionId !== undefined && {\n versionId: input.VersionId\n }), input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectAclCommand = function serializeAws_restXmlGetObjectAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n acl: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectLegalHoldCommand = function serializeAws_restXmlGetObjectLegalHoldCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"legal-hold\": \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectLockConfigurationCommand = function serializeAws_restXmlGetObjectLockConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n \"object-lock\": \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectRetentionCommand = function serializeAws_restXmlGetObjectRetentionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n retention: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectTaggingCommand = function serializeAws_restXmlGetObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectTorrentCommand = function serializeAws_restXmlGetObjectTorrentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n torrent: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetPublicAccessBlockCommand = function serializeAws_restXmlGetPublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlHeadBucketCommand = function serializeAws_restXmlHeadBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlHeadObjectCommand = function serializeAws_restXmlHeadObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.IfMatch) && {\n \"if-match\": input.IfMatch\n }), isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince).toString()\n }), isSerializableHeaderValue(input.IfNoneMatch) && {\n \"if-none-match\": input.IfNoneMatch\n }), isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.Range) && {\n range: input.Range\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({}, input.VersionId !== undefined && {\n versionId: input.VersionId\n }), input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function serializeAws_restXmlListBucketAnalyticsConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\",\n \"x-id\": \"ListBucketAnalyticsConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = function serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n \"intelligent-tiering\": \"\",\n \"x-id\": \"ListBucketIntelligentTieringConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketInventoryConfigurationsCommand = function serializeAws_restXmlListBucketInventoryConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\",\n \"x-id\": \"ListBucketInventoryConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketMetricsConfigurationsCommand = function serializeAws_restXmlListBucketMetricsConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\",\n \"x-id\": \"ListBucketMetricsConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketsCommand = function serializeAws_restXmlListBucketsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/\";\n body = \"\";\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListMultipartUploadsCommand = function serializeAws_restXmlListMultipartUploadsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign({\n uploads: \"\"\n }, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.MaxUploads !== undefined && {\n \"max-uploads\": input.MaxUploads.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.UploadIdMarker !== undefined && {\n \"upload-id-marker\": input.UploadIdMarker\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectsCommand = function serializeAws_restXmlListObjectsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign({}, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.Marker !== undefined && {\n marker: input.Marker\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectsV2Command = function serializeAws_restXmlListObjectsV2Command(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"list-type\": \"2\"\n }, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n }), input.FetchOwner !== undefined && {\n \"fetch-owner\": input.FetchOwner.toString()\n }), input.StartAfter !== undefined && {\n \"start-after\": input.StartAfter\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectVersionsCommand = function serializeAws_restXmlListObjectVersionsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign({\n versions: \"\"\n }, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.VersionIdMarker !== undefined && {\n \"version-id-marker\": input.VersionIdMarker\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListPartsCommand = function serializeAws_restXmlListPartsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign(__assign({\n \"x-id\": \"ListParts\"\n }, input.MaxParts !== undefined && {\n \"max-parts\": input.MaxParts.toString()\n }), input.PartNumberMarker !== undefined && {\n \"part-number-marker\": input.PartNumberMarker\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAccelerateConfigurationCommand = function serializeAws_restXmlPutBucketAccelerateConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n accelerate: \"\"\n };\n\n if (input.AccelerateConfiguration !== undefined) {\n contents = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAclCommand = function serializeAws_restXmlPutBucketAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n acl: \"\"\n };\n\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function serializeAws_restXmlPutBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\n if (input.AnalyticsConfiguration !== undefined) {\n contents = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketCorsCommand = function serializeAws_restXmlPutBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n\n if (input.CORSConfiguration !== undefined) {\n contents = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketEncryptionCommand = function serializeAws_restXmlPutBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n contents = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = function serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"content-type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n \"intelligent-tiering\": \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\n if (input.IntelligentTieringConfiguration !== undefined) {\n contents = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketInventoryConfigurationCommand = function serializeAws_restXmlPutBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\n if (input.InventoryConfiguration !== undefined) {\n contents = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketLifecycleConfigurationCommand = function serializeAws_restXmlPutBucketLifecycleConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketLoggingCommand = function serializeAws_restXmlPutBucketLoggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n logging: \"\"\n };\n\n if (input.BucketLoggingStatus !== undefined) {\n contents = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketMetricsConfigurationCommand = function serializeAws_restXmlPutBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\n if (input.MetricsConfiguration !== undefined) {\n contents = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketNotificationConfigurationCommand = function serializeAws_restXmlPutBucketNotificationConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n notification: \"\"\n };\n\n if (input.NotificationConfiguration !== undefined) {\n contents = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketOwnershipControlsCommand = function serializeAws_restXmlPutBucketOwnershipControlsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n ownershipControls: \"\"\n };\n\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketPolicyCommand = function serializeAws_restXmlPutBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"content-type\": \"text/plain\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {\n \"x-amz-confirm-remove-self-bucket-access\": input.ConfirmRemoveSelfBucketAccess.toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n\n if (input.Policy !== undefined) {\n contents = input.Policy;\n body = contents;\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketReplicationCommand = function serializeAws_restXmlPutBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n\n if (input.ReplicationConfiguration !== undefined) {\n contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketRequestPaymentCommand = function serializeAws_restXmlPutBucketRequestPaymentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n requestPayment: \"\"\n };\n\n if (input.RequestPaymentConfiguration !== undefined) {\n contents = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketTaggingCommand = function serializeAws_restXmlPutBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketVersioningCommand = function serializeAws_restXmlPutBucketVersioningCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n versioning: \"\"\n };\n\n if (input.VersioningConfiguration !== undefined) {\n contents = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketWebsiteCommand = function serializeAws_restXmlPutBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n\n if (input.WebsiteConfiguration !== undefined) {\n contents = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectCommand = function serializeAws_restXmlPutObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"content-type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"cache-control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"content-disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"content-encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"content-language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentLength) && {\n \"content-length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ContentType) && {\n \"content-type\": input.ContentType\n }), isSerializableHeaderValue(input.Expires) && {\n expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString()\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n\n return __assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a));\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n \"x-id\": \"PutObject\"\n };\n\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectAclCommand = function serializeAws_restXmlPutObjectAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n acl: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectLegalHoldCommand = function serializeAws_restXmlPutObjectLegalHoldCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"legal-hold\": \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectLockConfigurationCommand = function serializeAws_restXmlPutObjectLockConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n \"object-lock\": \"\"\n };\n\n if (input.ObjectLockConfiguration !== undefined) {\n contents = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectRetentionCommand = function serializeAws_restXmlPutObjectRetentionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n retention: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectTaggingCommand = function serializeAws_restXmlPutObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutPublicAccessBlockCommand = function serializeAws_restXmlPutPublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n\n if (input.PublicAccessBlockConfiguration !== undefined) {\n contents = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlRestoreObjectCommand = function serializeAws_restXmlRestoreObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n restore: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.RestoreRequest !== undefined) {\n contents = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlSelectObjectContentCommand = function serializeAws_restXmlSelectObjectContentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, bodyNode, node, node, node, node, node, node, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({\n \"content-type\": \"application/xml\"\n }, isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n select: \"\",\n \"select-type\": \"2\"\n };\n body = '';\n bodyNode = new __XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n\n if (input.Expression !== undefined) {\n node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpressionType !== undefined) {\n node = new __XmlNode(\"ExpressionType\").addChildNode(new __XmlText(input.ExpressionType)).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.InputSerialization !== undefined) {\n node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputSerialization !== undefined) {\n node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RequestProgress !== undefined) {\n node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ScanRange !== undefined) {\n node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n\n body += bodyNode.toString();\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlUploadPartCommand = function serializeAws_restXmlUploadPartCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"content-type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.ContentLength) && {\n \"content-length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"content-md5\": input.ContentMD5\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({\n \"x-id\": \"UploadPart\"\n }, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlUploadPartCopyCommand = function serializeAws_restXmlUploadPartCopyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceRange) && {\n \"x-amz-copy-source-range\": input.CopySourceRange\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({\n \"x-id\": \"UploadPartCopy\"\n }, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var deserializeAws_restXmlAbortMultipartUploadCommand = function deserializeAws_restXmlAbortMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlAbortMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlAbortMultipartUploadCommandError = function deserializeAws_restXmlAbortMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchUpload\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchUpload\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCompleteMultipartUploadCommand = function deserializeAws_restXmlCompleteMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n Key: undefined,\n Location: undefined,\n RequestCharged: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = data[\"ETag\"];\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"Location\"] !== undefined) {\n contents.Location = data[\"Location\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCompleteMultipartUploadCommandError = function deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCopyObjectCommand = function deserializeAws_restXmlCopyObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCopyObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyObjectResult: undefined,\n CopySourceVersionId: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCopyObjectCommandError = function deserializeAws_restXmlCopyObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"ObjectNotInActiveTierError\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCreateBucketCommand = function deserializeAws_restXmlCreateBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Location: undefined\n };\n\n if (output.headers[\"location\"] !== undefined) {\n contents.Location = output.headers[\"location\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCreateBucketCommandError = function deserializeAws_restXmlCreateBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, parsedBody, message;\n\n var _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _e = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_e.body = _f.sent(), _e)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"BucketAlreadyExists\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#BucketAlreadyExists\":\n return [3\n /*break*/\n , 2];\n\n case \"BucketAlreadyOwnedByYou\":\n return [3\n /*break*/\n , 4];\n\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\":\n return [3\n /*break*/\n , 4];\n }\n\n return [3\n /*break*/\n , 6];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 4:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)];\n\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 6:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _f.label = 7;\n\n case 7:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCreateMultipartUploadCommand = function deserializeAws_restXmlCreateMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n Key: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n UploadId: undefined\n };\n\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCreateMultipartUploadCommandError = function deserializeAws_restXmlCreateMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketCommand = function deserializeAws_restXmlDeleteBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketCommandError = function deserializeAws_restXmlDeleteBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketCorsCommand = function deserializeAws_restXmlDeleteBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketCorsCommandError = function deserializeAws_restXmlDeleteBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketEncryptionCommand = function deserializeAws_restXmlDeleteBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketEncryptionCommandError = function deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = function deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError = function deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = function deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketLifecycleCommand = function deserializeAws_restXmlDeleteBucketLifecycleCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketLifecycleCommandError = function deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = function deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = function deserializeAws_restXmlDeleteBucketOwnershipControlsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = function deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketPolicyCommand = function deserializeAws_restXmlDeleteBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketPolicyCommandError = function deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketReplicationCommand = function deserializeAws_restXmlDeleteBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketReplicationCommandError = function deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketTaggingCommand = function deserializeAws_restXmlDeleteBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketTaggingCommandError = function deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketWebsiteCommand = function deserializeAws_restXmlDeleteBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketWebsiteCommandError = function deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectCommand = function deserializeAws_restXmlDeleteObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n DeleteMarker: undefined,\n RequestCharged: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectCommandError = function deserializeAws_restXmlDeleteObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectsCommand = function deserializeAws_restXmlDeleteObjectsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Deleted: undefined,\n Errors: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n\n if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects(__getArrayIfSingleItem(data[\"Deleted\"]), context);\n }\n\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n\n if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors(__getArrayIfSingleItem(data[\"Error\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectsCommandError = function deserializeAws_restXmlDeleteObjectsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectTaggingCommand = function deserializeAws_restXmlDeleteObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectTaggingCommandError = function deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeletePublicAccessBlockCommand = function deserializeAws_restXmlDeletePublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeletePublicAccessBlockCommandError = function deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = function deserializeAws_restXmlGetBucketAccelerateConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Status: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = function deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAclCommand = function deserializeAws_restXmlGetBucketAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAclCommandError = function deserializeAws_restXmlGetBucketAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketCorsCommand = function deserializeAws_restXmlGetBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n CORSRules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n\n if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules(__getArrayIfSingleItem(data[\"CORSRule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketCorsCommandError = function deserializeAws_restXmlGetBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketEncryptionCommand = function deserializeAws_restXmlGetBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ServerSideEncryptionConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketEncryptionCommandError = function deserializeAws_restXmlGetBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = function deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n IntelligentTieringConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.IntelligentTieringConfiguration = deserializeAws_restXmlIntelligentTieringConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError = function deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketInventoryConfigurationCommand = function deserializeAws_restXmlGetBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n InventoryConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = function deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = function deserializeAws_restXmlGetBucketLifecycleConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Rules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules(__getArrayIfSingleItem(data[\"Rule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = function deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLocationCommand = function deserializeAws_restXmlGetBucketLocationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLocationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n LocationConstraint: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = data[\"LocationConstraint\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLocationCommandError = function deserializeAws_restXmlGetBucketLocationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLoggingCommand = function deserializeAws_restXmlGetBucketLoggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLoggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n LoggingEnabled: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLoggingCommandError = function deserializeAws_restXmlGetBucketLoggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketMetricsConfigurationCommand = function deserializeAws_restXmlGetBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n MetricsConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = function deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketNotificationConfigurationCommand = function deserializeAws_restXmlGetBucketNotificationConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n LambdaFunctionConfigurations: undefined,\n QueueConfigurations: undefined,\n TopicConfigurations: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n\n if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList(__getArrayIfSingleItem(data[\"CloudFunctionConfiguration\"]), context);\n }\n\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n\n if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList(__getArrayIfSingleItem(data[\"QueueConfiguration\"]), context);\n }\n\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n\n if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList(__getArrayIfSingleItem(data[\"TopicConfiguration\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = function deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketOwnershipControlsCommand = function deserializeAws_restXmlGetBucketOwnershipControlsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n OwnershipControls: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketOwnershipControlsCommandError = function deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketPolicyCommand = function deserializeAws_restXmlGetBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Policy: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Policy\"] !== undefined) {\n contents.Policy = data[\"Policy\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketPolicyCommandError = function deserializeAws_restXmlGetBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketPolicyStatusCommand = function deserializeAws_restXmlGetBucketPolicyStatusCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n PolicyStatus: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketPolicyStatusCommandError = function deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketReplicationCommand = function deserializeAws_restXmlGetBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ReplicationConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketReplicationCommandError = function deserializeAws_restXmlGetBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketRequestPaymentCommand = function deserializeAws_restXmlGetBucketRequestPaymentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Payer: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = data[\"Payer\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketRequestPaymentCommandError = function deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketTaggingCommand = function deserializeAws_restXmlGetBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketTaggingCommandError = function deserializeAws_restXmlGetBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketVersioningCommand = function deserializeAws_restXmlGetBucketVersioningCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketVersioningCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n MFADelete: undefined,\n Status: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = data[\"MfaDelete\"];\n }\n\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketVersioningCommandError = function deserializeAws_restXmlGetBucketVersioningCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketWebsiteCommand = function deserializeAws_restXmlGetBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ErrorDocument: undefined,\n IndexDocument: undefined,\n RedirectAllRequestsTo: undefined,\n RoutingRules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(data[\"RedirectAllRequestsTo\"], context);\n }\n\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n\n if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules(__getArrayIfSingleItem(data[\"RoutingRules\"][\"RoutingRule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketWebsiteCommandError = function deserializeAws_restXmlGetBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectCommand = function deserializeAws_restXmlGetObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n Body: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentRange: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n TagCount: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined\n };\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n\n if (output.headers[\"content-range\"] !== undefined) {\n contents.ContentRange = output.headers[\"content-range\"];\n }\n\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n\n if (output.headers[\"x-amz-tagging-count\"] !== undefined) {\n contents.TagCount = parseInt(output.headers[\"x-amz-tagging-count\"], 10);\n }\n\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n data = output.body;\n contents.Body = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectCommandError = function deserializeAws_restXmlGetObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, parsedBody, message;\n\n var _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _e = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_e.body = _f.sent(), _e)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"InvalidObjectState\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#InvalidObjectState\":\n return [3\n /*break*/\n , 2];\n\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 4];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 4];\n }\n\n return [3\n /*break*/\n , 6];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 4:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 6:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _f.label = 7;\n\n case 7:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectAclCommand = function deserializeAws_restXmlGetObjectAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectAclCommandError = function deserializeAws_restXmlGetObjectAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectLegalHoldCommand = function deserializeAws_restXmlGetObjectLegalHoldCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n LegalHold: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectLegalHoldCommandError = function deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectLockConfigurationCommand = function deserializeAws_restXmlGetObjectLockConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ObjectLockConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectLockConfigurationCommandError = function deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectRetentionCommand = function deserializeAws_restXmlGetObjectRetentionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Retention: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectRetentionCommandError = function deserializeAws_restXmlGetObjectRetentionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectTaggingCommand = function deserializeAws_restXmlGetObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectTaggingCommandError = function deserializeAws_restXmlGetObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectTorrentCommand = function deserializeAws_restXmlGetObjectTorrentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTorrentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Body: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n data = output.body;\n contents.Body = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectTorrentCommandError = function deserializeAws_restXmlGetObjectTorrentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetPublicAccessBlockCommand = function deserializeAws_restXmlGetPublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n PublicAccessBlockConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetPublicAccessBlockCommandError = function deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlHeadBucketCommand = function deserializeAws_restXmlHeadBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlHeadBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlHeadBucketCommandError = function deserializeAws_restXmlHeadBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlHeadObjectCommand = function deserializeAws_restXmlHeadObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlHeadObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n ArchiveStatus: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined\n };\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n\n if (output.headers[\"x-amz-archive-status\"] !== undefined) {\n contents.ArchiveStatus = output.headers[\"x-amz-archive-status\"];\n }\n\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlHeadObjectCommandError = function deserializeAws_restXmlHeadObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfigurationList: undefined,\n ContinuationToken: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n\n if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList(__getArrayIfSingleItem(data[\"AnalyticsConfiguration\"]), context);\n }\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = function deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = function deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IntelligentTieringConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data.IntelligentTieringConfiguration === \"\") {\n contents.IntelligentTieringConfigurationList = [];\n }\n\n if (data[\"IntelligentTieringConfiguration\"] !== undefined) {\n contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList(__getArrayIfSingleItem(data[\"IntelligentTieringConfiguration\"]), context);\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError = function deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketInventoryConfigurationsCommand = function deserializeAws_restXmlListBucketInventoryConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n InventoryConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n\n if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList(__getArrayIfSingleItem(data[\"InventoryConfiguration\"]), context);\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = function deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketMetricsConfigurationsCommand = function deserializeAws_restXmlListBucketMetricsConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IsTruncated: undefined,\n MetricsConfigurationList: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n\n if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList(__getArrayIfSingleItem(data[\"MetricsConfiguration\"]), context);\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = function deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketsCommand = function deserializeAws_restXmlListBucketsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Buckets: undefined,\n Owner: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n\n if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets(__getArrayIfSingleItem(data[\"Buckets\"][\"Bucket\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketsCommandError = function deserializeAws_restXmlListBucketsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListMultipartUploadsCommand = function deserializeAws_restXmlListMultipartUploadsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListMultipartUploadsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n CommonPrefixes: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxUploads: undefined,\n NextKeyMarker: undefined,\n NextUploadIdMarker: undefined,\n Prefix: undefined,\n UploadIdMarker: undefined,\n Uploads: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = parseInt(data[\"MaxUploads\"]);\n }\n\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = data[\"NextUploadIdMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = data[\"UploadIdMarker\"];\n }\n\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n\n if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList(__getArrayIfSingleItem(data[\"Upload\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListMultipartUploadsCommandError = function deserializeAws_restXmlListMultipartUploadsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectsCommand = function deserializeAws_restXmlListObjectsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n Marker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextMarker: undefined,\n Prefix: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = data[\"Marker\"];\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = data[\"NextMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectsCommandError = function deserializeAws_restXmlListObjectsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectsV2Command = function deserializeAws_restXmlListObjectsV2Command(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsV2CommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n ContinuationToken: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyCount: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextContinuationToken: undefined,\n Prefix: undefined,\n StartAfter: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = parseInt(data[\"KeyCount\"]);\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = data[\"StartAfter\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectsV2CommandError = function deserializeAws_restXmlListObjectsV2CommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectVersionsCommand = function deserializeAws_restXmlListObjectVersionsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectVersionsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n DeleteMarkers: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextKeyMarker: undefined,\n NextVersionIdMarker: undefined,\n Prefix: undefined,\n VersionIdMarker: undefined,\n Versions: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n\n if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers(__getArrayIfSingleItem(data[\"DeleteMarker\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = data[\"NextVersionIdMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = data[\"VersionIdMarker\"];\n }\n\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n\n if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList(__getArrayIfSingleItem(data[\"Version\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectVersionsCommandError = function deserializeAws_restXmlListObjectVersionsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListPartsCommand = function deserializeAws_restXmlListPartsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListPartsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n Initiator: undefined,\n IsTruncated: undefined,\n Key: undefined,\n MaxParts: undefined,\n NextPartNumberMarker: undefined,\n Owner: undefined,\n PartNumberMarker: undefined,\n Parts: undefined,\n RequestCharged: undefined,\n StorageClass: undefined,\n UploadId: undefined\n };\n\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = parseInt(data[\"MaxParts\"]);\n }\n\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = data[\"NextPartNumberMarker\"];\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = data[\"PartNumberMarker\"];\n }\n\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n\n if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts(__getArrayIfSingleItem(data[\"Part\"]), context);\n }\n\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListPartsCommandError = function deserializeAws_restXmlListPartsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = function deserializeAws_restXmlPutBucketAccelerateConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = function deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAclCommand = function deserializeAws_restXmlPutBucketAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAclCommandError = function deserializeAws_restXmlPutBucketAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketCorsCommand = function deserializeAws_restXmlPutBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketCorsCommandError = function deserializeAws_restXmlPutBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketEncryptionCommand = function deserializeAws_restXmlPutBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketEncryptionCommandError = function deserializeAws_restXmlPutBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = function deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError = function deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketInventoryConfigurationCommand = function deserializeAws_restXmlPutBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = function deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = function deserializeAws_restXmlPutBucketLifecycleConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = function deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketLoggingCommand = function deserializeAws_restXmlPutBucketLoggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketLoggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketLoggingCommandError = function deserializeAws_restXmlPutBucketLoggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketMetricsConfigurationCommand = function deserializeAws_restXmlPutBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = function deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketNotificationConfigurationCommand = function deserializeAws_restXmlPutBucketNotificationConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = function deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketOwnershipControlsCommand = function deserializeAws_restXmlPutBucketOwnershipControlsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketOwnershipControlsCommandError = function deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketPolicyCommand = function deserializeAws_restXmlPutBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketPolicyCommandError = function deserializeAws_restXmlPutBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketReplicationCommand = function deserializeAws_restXmlPutBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketReplicationCommandError = function deserializeAws_restXmlPutBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketRequestPaymentCommand = function deserializeAws_restXmlPutBucketRequestPaymentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketRequestPaymentCommandError = function deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketTaggingCommand = function deserializeAws_restXmlPutBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketTaggingCommandError = function deserializeAws_restXmlPutBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketVersioningCommand = function deserializeAws_restXmlPutBucketVersioningCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketVersioningCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketVersioningCommandError = function deserializeAws_restXmlPutBucketVersioningCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketWebsiteCommand = function deserializeAws_restXmlPutBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketWebsiteCommandError = function deserializeAws_restXmlPutBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectCommand = function deserializeAws_restXmlPutObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectCommandError = function deserializeAws_restXmlPutObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectAclCommand = function deserializeAws_restXmlPutObjectAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectAclCommandError = function deserializeAws_restXmlPutObjectAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectLegalHoldCommand = function deserializeAws_restXmlPutObjectLegalHoldCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectLegalHoldCommandError = function deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectLockConfigurationCommand = function deserializeAws_restXmlPutObjectLockConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectLockConfigurationCommandError = function deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectRetentionCommand = function deserializeAws_restXmlPutObjectRetentionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectRetentionCommandError = function deserializeAws_restXmlPutObjectRetentionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectTaggingCommand = function deserializeAws_restXmlPutObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectTaggingCommandError = function deserializeAws_restXmlPutObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutPublicAccessBlockCommand = function deserializeAws_restXmlPutPublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutPublicAccessBlockCommandError = function deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlRestoreObjectCommand = function deserializeAws_restXmlRestoreObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlRestoreObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n RestoreOutputPath: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-restore-output-path\"] !== undefined) {\n contents.RestoreOutputPath = output.headers[\"x-amz-restore-output-path\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlRestoreObjectCommandError = function deserializeAws_restXmlRestoreObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\n case \"ObjectAlreadyInActiveTierError\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlSelectObjectContentCommand = function deserializeAws_restXmlSelectObjectContentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlSelectObjectContentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n Payload: undefined\n };\n data = context.eventStreamMarshaller.deserialize(output.body, function (event) {\n return __awaiter(void 0, void 0, void 0, function () {\n var eventName, eventHeaders, eventMessage, parsedEvent;\n\n var _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n eventName = Object.keys(event)[0];\n eventHeaders = Object.entries(event[eventName].headers).reduce(function (accummulator, curr) {\n accummulator[curr[0]] = curr[1].value;\n return accummulator;\n }, {});\n eventMessage = {\n headers: eventHeaders,\n body: event[eventName].body\n };\n parsedEvent = (_a = {}, _a[eventName] = eventMessage, _a);\n return [4\n /*yield*/\n , deserializeAws_restXmlSelectObjectContentEventStream_event(parsedEvent, context)];\n\n case 1:\n return [2\n /*return*/\n , _b.sent()];\n }\n });\n });\n });\n contents.Payload = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlSelectObjectContentCommandError = function deserializeAws_restXmlSelectObjectContentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlUploadPartCommand = function deserializeAws_restXmlUploadPartCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined\n };\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlUploadPartCommandError = function deserializeAws_restXmlUploadPartCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlUploadPartCopyCommand = function deserializeAws_restXmlUploadPartCopyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCopyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyPartResult: undefined,\n CopySourceVersionId: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined\n };\n\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlUploadPartCopyCommandError = function deserializeAws_restXmlUploadPartCopyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlSelectObjectContentEventStream_event = function deserializeAws_restXmlSelectObjectContentEventStream_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b, _c, _d, _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!(output[\"Records\"] !== undefined)) return [3\n /*break*/\n , 2];\n _a = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlRecordsEvent_event(output[\"Records\"], context)];\n\n case 1:\n return [2\n /*return*/\n , (_a.Records = _f.sent(), _a)];\n\n case 2:\n if (!(output[\"Stats\"] !== undefined)) return [3\n /*break*/\n , 4];\n _b = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlStatsEvent_event(output[\"Stats\"], context)];\n\n case 3:\n return [2\n /*return*/\n , (_b.Stats = _f.sent(), _b)];\n\n case 4:\n if (!(output[\"Progress\"] !== undefined)) return [3\n /*break*/\n , 6];\n _c = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlProgressEvent_event(output[\"Progress\"], context)];\n\n case 5:\n return [2\n /*return*/\n , (_c.Progress = _f.sent(), _c)];\n\n case 6:\n if (!(output[\"Cont\"] !== undefined)) return [3\n /*break*/\n , 8];\n _d = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlContinuationEvent_event(output[\"Cont\"], context)];\n\n case 7:\n return [2\n /*return*/\n , (_d.Cont = _f.sent(), _d)];\n\n case 8:\n if (!(output[\"End\"] !== undefined)) return [3\n /*break*/\n , 10];\n _e = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlEndEvent_event(output[\"End\"], context)];\n\n case 9:\n return [2\n /*return*/\n , (_e.End = _f.sent(), _e)];\n\n case 10:\n return [2\n /*return*/\n , {\n $unknown: output\n }];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlContinuationEvent_event = function deserializeAws_restXmlContinuationEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlEndEvent_event = function deserializeAws_restXmlEndEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlProgressEvent_event = function deserializeAws_restXmlProgressEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {};\n _a = contents;\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n _a.Details = _b.sent();\n return [2\n /*return*/\n , contents];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlRecordsEvent_event = function deserializeAws_restXmlRecordsEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n contents.Payload = output.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlStatsEvent_event = function deserializeAws_restXmlStatsEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {};\n _a = contents;\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n _a.Details = _b.sent();\n return [2\n /*return*/\n , contents];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlBucketAlreadyExistsResponse = function deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = function deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlInvalidObjectStateResponse = function deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"InvalidObjectState\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n AccessTier: undefined,\n StorageClass: undefined\n };\n data = parsedOutput.body;\n\n if (data[\"AccessTier\"] !== undefined) {\n contents.AccessTier = data[\"AccessTier\"];\n }\n\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchBucketResponse = function deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchBucket\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchKeyResponse = function deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchKey\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchUploadResponse = function deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchUpload\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = function deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlObjectNotInActiveTierErrorResponse = function deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar serializeAws_restXmlAbortIncompleteMultipartUpload = function serializeAws_restXmlAbortIncompleteMultipartUpload(input, context) {\n var bodyNode = new __XmlNode(\"AbortIncompleteMultipartUpload\");\n\n if (input.DaysAfterInitiation !== undefined && input.DaysAfterInitiation !== null) {\n var node = new __XmlNode(\"DaysAfterInitiation\").addChildNode(new __XmlText(String(input.DaysAfterInitiation))).withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccelerateConfiguration = function serializeAws_restXmlAccelerateConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"AccelerateConfiguration\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"BucketAccelerateStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccessControlPolicy = function serializeAws_restXmlAccessControlPolicy(input, context) {\n var bodyNode = new __XmlNode(\"AccessControlPolicy\");\n\n if (input.Grants !== undefined && input.Grants !== null) {\n var nodes = serializeAws_restXmlGrants(input.Grants, context);\n var containerNode_1 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_1.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_1);\n }\n\n if (input.Owner !== undefined && input.Owner !== null) {\n var node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccessControlTranslation = function serializeAws_restXmlAccessControlTranslation(input, context) {\n var bodyNode = new __XmlNode(\"AccessControlTranslation\");\n\n if (input.Owner !== undefined && input.Owner !== null) {\n var node = new __XmlNode(\"OwnerOverride\").addChildNode(new __XmlText(input.Owner)).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAllowedHeaders = function serializeAws_restXmlAllowedHeaders(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"AllowedHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAllowedMethods = function serializeAws_restXmlAllowedMethods(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"AllowedMethod\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAllowedOrigins = function serializeAws_restXmlAllowedOrigins(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"AllowedOrigin\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAnalyticsAndOperator = function serializeAws_restXmlAnalyticsAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsAndOperator\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsConfiguration = function serializeAws_restXmlAnalyticsConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"AnalyticsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClassAnalysis !== undefined && input.StorageClassAnalysis !== null) {\n var node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsExportDestination = function serializeAws_restXmlAnalyticsExportDestination(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsExportDestination\");\n\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n var node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsFilter = function serializeAws_restXmlAnalyticsFilter(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsFilter\");\n AnalyticsFilter.visit(input, {\n Prefix: function Prefix(value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function Tag(value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function And(value) {\n var node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function _(name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n }\n });\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsS3BucketDestination = function serializeAws_restXmlAnalyticsS3BucketDestination(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsS3BucketDestination\");\n\n if (input.Format !== undefined && input.Format !== null) {\n var node = new __XmlNode(\"AnalyticsS3ExportFileFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n\n if (input.BucketAccountId !== undefined && input.BucketAccountId !== null) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.BucketAccountId)).withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlBucketLifecycleConfiguration = function serializeAws_restXmlBucketLifecycleConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"BucketLifecycleConfiguration\");\n\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlBucketLoggingStatus = function serializeAws_restXmlBucketLoggingStatus(input, context) {\n var bodyNode = new __XmlNode(\"BucketLoggingStatus\");\n\n if (input.LoggingEnabled !== undefined && input.LoggingEnabled !== null) {\n var node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedMultipartUpload = function serializeAws_restXmlCompletedMultipartUpload(input, context) {\n var bodyNode = new __XmlNode(\"CompletedMultipartUpload\");\n\n if (input.Parts !== undefined && input.Parts !== null) {\n var nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map(function (node) {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedPart = function serializeAws_restXmlCompletedPart(input, context) {\n var bodyNode = new __XmlNode(\"CompletedPart\");\n\n if (input.ETag !== undefined && input.ETag !== null) {\n var node = new __XmlNode(\"ETag\").addChildNode(new __XmlText(input.ETag)).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n\n if (input.PartNumber !== undefined && input.PartNumber !== null) {\n var node = new __XmlNode(\"PartNumber\").addChildNode(new __XmlText(String(input.PartNumber))).withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedPartList = function serializeAws_restXmlCompletedPartList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlCondition = function serializeAws_restXmlCondition(input, context) {\n var bodyNode = new __XmlNode(\"Condition\");\n\n if (input.HttpErrorCodeReturnedEquals !== undefined && input.HttpErrorCodeReturnedEquals !== null) {\n var node = new __XmlNode(\"HttpErrorCodeReturnedEquals\").addChildNode(new __XmlText(input.HttpErrorCodeReturnedEquals)).withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KeyPrefixEquals !== undefined && input.KeyPrefixEquals !== null) {\n var node = new __XmlNode(\"KeyPrefixEquals\").addChildNode(new __XmlText(input.KeyPrefixEquals)).withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSConfiguration = function serializeAws_restXmlCORSConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"CORSConfiguration\");\n\n if (input.CORSRules !== undefined && input.CORSRules !== null) {\n var nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map(function (node) {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSRule = function serializeAws_restXmlCORSRule(input, context) {\n var bodyNode = new __XmlNode(\"CORSRule\");\n\n if (input.AllowedHeaders !== undefined && input.AllowedHeaders !== null) {\n var nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.AllowedMethods !== undefined && input.AllowedMethods !== null) {\n var nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.AllowedOrigins !== undefined && input.AllowedOrigins !== null) {\n var nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.ExposeHeaders !== undefined && input.ExposeHeaders !== null) {\n var nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.MaxAgeSeconds !== undefined && input.MaxAgeSeconds !== null) {\n var node = new __XmlNode(\"MaxAgeSeconds\").addChildNode(new __XmlText(String(input.MaxAgeSeconds))).withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSRules = function serializeAws_restXmlCORSRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlCreateBucketConfiguration = function serializeAws_restXmlCreateBucketConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"CreateBucketConfiguration\");\n\n if (input.LocationConstraint !== undefined && input.LocationConstraint !== null) {\n var node = new __XmlNode(\"BucketLocationConstraint\").addChildNode(new __XmlText(input.LocationConstraint)).withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCSVInput = function serializeAws_restXmlCSVInput(input, context) {\n var bodyNode = new __XmlNode(\"CSVInput\");\n\n if (input.FileHeaderInfo !== undefined && input.FileHeaderInfo !== null) {\n var node = new __XmlNode(\"FileHeaderInfo\").addChildNode(new __XmlText(input.FileHeaderInfo)).withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Comments !== undefined && input.Comments !== null) {\n var node = new __XmlNode(\"Comments\").addChildNode(new __XmlText(input.Comments)).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\").addChildNode(new __XmlText(input.QuoteEscapeCharacter)).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n var node = new __XmlNode(\"FieldDelimiter\").addChildNode(new __XmlText(input.FieldDelimiter)).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n var node = new __XmlNode(\"QuoteCharacter\").addChildNode(new __XmlText(input.QuoteCharacter)).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.AllowQuotedRecordDelimiter !== undefined && input.AllowQuotedRecordDelimiter !== null) {\n var node = new __XmlNode(\"AllowQuotedRecordDelimiter\").addChildNode(new __XmlText(String(input.AllowQuotedRecordDelimiter))).withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCSVOutput = function serializeAws_restXmlCSVOutput(input, context) {\n var bodyNode = new __XmlNode(\"CSVOutput\");\n\n if (input.QuoteFields !== undefined && input.QuoteFields !== null) {\n var node = new __XmlNode(\"QuoteFields\").addChildNode(new __XmlText(input.QuoteFields)).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\").addChildNode(new __XmlText(input.QuoteEscapeCharacter)).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n var node = new __XmlNode(\"FieldDelimiter\").addChildNode(new __XmlText(input.FieldDelimiter)).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n var node = new __XmlNode(\"QuoteCharacter\").addChildNode(new __XmlText(input.QuoteCharacter)).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDefaultRetention = function serializeAws_restXmlDefaultRetention(input, context) {\n var bodyNode = new __XmlNode(\"DefaultRetention\");\n\n if (input.Mode !== undefined && input.Mode !== null) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Years !== undefined && input.Years !== null) {\n var node = new __XmlNode(\"Years\").addChildNode(new __XmlText(String(input.Years))).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDelete = function serializeAws_restXmlDelete(input, context) {\n var bodyNode = new __XmlNode(\"Delete\");\n\n if (input.Objects !== undefined && input.Objects !== null) {\n var nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map(function (node) {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Quiet !== undefined && input.Quiet !== null) {\n var node = new __XmlNode(\"Quiet\").addChildNode(new __XmlText(String(input.Quiet))).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDeleteMarkerReplication = function serializeAws_restXmlDeleteMarkerReplication(input, context) {\n var bodyNode = new __XmlNode(\"DeleteMarkerReplication\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"DeleteMarkerReplicationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDestination = function serializeAws_restXmlDestination(input, context) {\n var bodyNode = new __XmlNode(\"Destination\");\n\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Account !== undefined && input.Account !== null) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.Account)).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n if (input.AccessControlTranslation !== undefined && input.AccessControlTranslation !== null) {\n var node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\"AccessControlTranslation\");\n bodyNode.addChildNode(node);\n }\n\n if (input.EncryptionConfiguration !== undefined && input.EncryptionConfiguration !== null) {\n var node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplicationTime !== undefined && input.ReplicationTime !== null) {\n var node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Metrics !== undefined && input.Metrics !== null) {\n var node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEncryption = function serializeAws_restXmlEncryption(input, context) {\n var bodyNode = new __XmlNode(\"Encryption\");\n\n if (input.EncryptionType !== undefined && input.EncryptionType !== null) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.EncryptionType)).withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KMSKeyId !== undefined && input.KMSKeyId !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSKeyId)).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KMSContext !== undefined && input.KMSContext !== null) {\n var node = new __XmlNode(\"KMSContext\").addChildNode(new __XmlText(input.KMSContext)).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEncryptionConfiguration = function serializeAws_restXmlEncryptionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"EncryptionConfiguration\");\n\n if (input.ReplicaKmsKeyID !== undefined && input.ReplicaKmsKeyID !== null) {\n var node = new __XmlNode(\"ReplicaKmsKeyID\").addChildNode(new __XmlText(input.ReplicaKmsKeyID)).withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlErrorDocument = function serializeAws_restXmlErrorDocument(input, context) {\n var bodyNode = new __XmlNode(\"ErrorDocument\");\n\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEventList = function serializeAws_restXmlEventList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"Event\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlExistingObjectReplication = function serializeAws_restXmlExistingObjectReplication(input, context) {\n var bodyNode = new __XmlNode(\"ExistingObjectReplication\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ExistingObjectReplicationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlExposeHeaders = function serializeAws_restXmlExposeHeaders(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"ExposeHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlFilterRule = function serializeAws_restXmlFilterRule(input, context) {\n var bodyNode = new __XmlNode(\"FilterRule\");\n\n if (input.Name !== undefined && input.Name !== null) {\n var node = new __XmlNode(\"FilterRuleName\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"FilterRuleValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlFilterRuleList = function serializeAws_restXmlFilterRuleList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlGlacierJobParameters = function serializeAws_restXmlGlacierJobParameters(input, context) {\n var bodyNode = new __XmlNode(\"GlacierJobParameters\");\n\n if (input.Tier !== undefined && input.Tier !== null) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrant = function serializeAws_restXmlGrant(input, context) {\n var bodyNode = new __XmlNode(\"Grant\");\n\n if (input.Grantee !== undefined && input.Grantee !== null) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Permission !== undefined && input.Permission !== null) {\n var node = new __XmlNode(\"Permission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrantee = function serializeAws_restXmlGrantee(input, context) {\n var bodyNode = new __XmlNode(\"Grantee\");\n\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.EmailAddress !== undefined && input.EmailAddress !== null) {\n var node = new __XmlNode(\"EmailAddress\").addChildNode(new __XmlText(input.EmailAddress)).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.URI !== undefined && input.URI !== null) {\n var node = new __XmlNode(\"URI\").addChildNode(new __XmlText(input.URI)).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Type !== undefined && input.Type !== null) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrants = function serializeAws_restXmlGrants(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nvar serializeAws_restXmlIndexDocument = function serializeAws_restXmlIndexDocument(input, context) {\n var bodyNode = new __XmlNode(\"IndexDocument\");\n\n if (input.Suffix !== undefined && input.Suffix !== null) {\n var node = new __XmlNode(\"Suffix\").addChildNode(new __XmlText(input.Suffix)).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInputSerialization = function serializeAws_restXmlInputSerialization(input, context) {\n var bodyNode = new __XmlNode(\"InputSerialization\");\n\n if (input.CSV !== undefined && input.CSV !== null) {\n var node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CompressionType !== undefined && input.CompressionType !== null) {\n var node = new __XmlNode(\"CompressionType\").addChildNode(new __XmlText(input.CompressionType)).withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.JSON !== undefined && input.JSON !== null) {\n var node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Parquet !== undefined && input.Parquet !== null) {\n var node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlIntelligentTieringAndOperator = function serializeAws_restXmlIntelligentTieringAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringAndOperator\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlIntelligentTieringConfiguration = function serializeAws_restXmlIntelligentTieringConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"IntelligentTieringId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlIntelligentTieringFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"IntelligentTieringStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tierings !== undefined && input.Tierings !== null) {\n var nodes = serializeAws_restXmlTieringList(input.Tierings, context);\n nodes.map(function (node) {\n node = node.withName(\"Tiering\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlIntelligentTieringFilter = function serializeAws_restXmlIntelligentTieringFilter(input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringFilter\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tag !== undefined && input.Tag !== null) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n\n if (input.And !== undefined && input.And !== null) {\n var node = serializeAws_restXmlIntelligentTieringAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryConfiguration = function serializeAws_restXmlInventoryConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"InventoryConfiguration\");\n\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IsEnabled !== undefined && input.IsEnabled !== null) {\n var node = new __XmlNode(\"IsEnabled\").addChildNode(new __XmlText(String(input.IsEnabled))).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"InventoryId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IncludedObjectVersions !== undefined && input.IncludedObjectVersions !== null) {\n var node = new __XmlNode(\"InventoryIncludedObjectVersions\").addChildNode(new __XmlText(input.IncludedObjectVersions)).withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OptionalFields !== undefined && input.OptionalFields !== null) {\n var nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n var containerNode_2 = new __XmlNode(\"OptionalFields\");\n nodes.map(function (node) {\n containerNode_2.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_2);\n }\n\n if (input.Schedule !== undefined && input.Schedule !== null) {\n var node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryDestination = function serializeAws_restXmlInventoryDestination(input, context) {\n var bodyNode = new __XmlNode(\"InventoryDestination\");\n\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n var node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryEncryption = function serializeAws_restXmlInventoryEncryption(input, context) {\n var bodyNode = new __XmlNode(\"InventoryEncryption\");\n\n if (input.SSES3 !== undefined && input.SSES3 !== null) {\n var node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SSEKMS !== undefined && input.SSEKMS !== null) {\n var node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryFilter = function serializeAws_restXmlInventoryFilter(input, context) {\n var bodyNode = new __XmlNode(\"InventoryFilter\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryOptionalFields = function serializeAws_restXmlInventoryOptionalFields(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = new __XmlNode(\"InventoryOptionalField\").addChildNode(new __XmlText(entry));\n return node.withName(\"Field\");\n });\n};\n\nvar serializeAws_restXmlInventoryS3BucketDestination = function serializeAws_restXmlInventoryS3BucketDestination(input, context) {\n var bodyNode = new __XmlNode(\"InventoryS3BucketDestination\");\n\n if (input.AccountId !== undefined && input.AccountId !== null) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.AccountId)).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Format !== undefined && input.Format !== null) {\n var node = new __XmlNode(\"InventoryFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Encryption !== undefined && input.Encryption !== null) {\n var node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventorySchedule = function serializeAws_restXmlInventorySchedule(input, context) {\n var bodyNode = new __XmlNode(\"InventorySchedule\");\n\n if (input.Frequency !== undefined && input.Frequency !== null) {\n var node = new __XmlNode(\"InventoryFrequency\").addChildNode(new __XmlText(input.Frequency)).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlJSONInput = function serializeAws_restXmlJSONInput(input, context) {\n var bodyNode = new __XmlNode(\"JSONInput\");\n\n if (input.Type !== undefined && input.Type !== null) {\n var node = new __XmlNode(\"JSONType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlJSONOutput = function serializeAws_restXmlJSONOutput(input, context) {\n var bodyNode = new __XmlNode(\"JSONOutput\");\n\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLambdaFunctionConfiguration = function serializeAws_restXmlLambdaFunctionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"LambdaFunctionConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.LambdaFunctionArn !== undefined && input.LambdaFunctionArn !== null) {\n var node = new __XmlNode(\"LambdaFunctionArn\").addChildNode(new __XmlText(input.LambdaFunctionArn)).withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLambdaFunctionConfigurationList = function serializeAws_restXmlLambdaFunctionConfigurationList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlLifecycleExpiration = function serializeAws_restXmlLifecycleExpiration(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleExpiration\");\n\n if (input.Date !== undefined && input.Date !== null) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\")).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpiredObjectDeleteMarker !== undefined && input.ExpiredObjectDeleteMarker !== null) {\n var node = new __XmlNode(\"ExpiredObjectDeleteMarker\").addChildNode(new __XmlText(String(input.ExpiredObjectDeleteMarker))).withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRule = function serializeAws_restXmlLifecycleRule(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRule\");\n\n if (input.Expiration !== undefined && input.Expiration !== null) {\n var node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ExpirationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Transitions !== undefined && input.Transitions !== null) {\n var nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map(function (node) {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.NoncurrentVersionTransitions !== undefined && input.NoncurrentVersionTransitions !== null) {\n var nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map(function (node) {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.NoncurrentVersionExpiration !== undefined && input.NoncurrentVersionExpiration !== null) {\n var node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.AbortIncompleteMultipartUpload !== undefined && input.AbortIncompleteMultipartUpload !== null) {\n var node = serializeAws_restXmlAbortIncompleteMultipartUpload(input.AbortIncompleteMultipartUpload, context).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRuleAndOperator = function serializeAws_restXmlLifecycleRuleAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleAndOperator\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRuleFilter = function serializeAws_restXmlLifecycleRuleFilter(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleFilter\");\n LifecycleRuleFilter.visit(input, {\n Prefix: function Prefix(value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function Tag(value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function And(value) {\n var node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function _(name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n }\n });\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRules = function serializeAws_restXmlLifecycleRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlLoggingEnabled = function serializeAws_restXmlLoggingEnabled(input, context) {\n var bodyNode = new __XmlNode(\"LoggingEnabled\");\n\n if (input.TargetBucket !== undefined && input.TargetBucket !== null) {\n var node = new __XmlNode(\"TargetBucket\").addChildNode(new __XmlText(input.TargetBucket)).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.TargetGrants !== undefined && input.TargetGrants !== null) {\n var nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n var containerNode_3 = new __XmlNode(\"TargetGrants\");\n nodes.map(function (node) {\n containerNode_3.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_3);\n }\n\n if (input.TargetPrefix !== undefined && input.TargetPrefix !== null) {\n var node = new __XmlNode(\"TargetPrefix\").addChildNode(new __XmlText(input.TargetPrefix)).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetadataEntry = function serializeAws_restXmlMetadataEntry(input, context) {\n var bodyNode = new __XmlNode(\"MetadataEntry\");\n\n if (input.Name !== undefined && input.Name !== null) {\n var node = new __XmlNode(\"MetadataKey\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"MetadataValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetrics = function serializeAws_restXmlMetrics(input, context) {\n var bodyNode = new __XmlNode(\"Metrics\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"MetricsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.EventThreshold !== undefined && input.EventThreshold !== null) {\n var node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsAndOperator = function serializeAws_restXmlMetricsAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"MetricsAndOperator\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsConfiguration = function serializeAws_restXmlMetricsConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"MetricsConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"MetricsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsFilter = function serializeAws_restXmlMetricsFilter(input, context) {\n var bodyNode = new __XmlNode(\"MetricsFilter\");\n MetricsFilter.visit(input, {\n Prefix: function Prefix(value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function Tag(value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function And(value) {\n var node = serializeAws_restXmlMetricsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function _(name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n }\n });\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionExpiration = function serializeAws_restXmlNoncurrentVersionExpiration(input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionExpiration\");\n\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.NoncurrentDays))).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionTransition = function serializeAws_restXmlNoncurrentVersionTransition(input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionTransition\");\n\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.NoncurrentDays))).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"TransitionStorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionTransitionList = function serializeAws_restXmlNoncurrentVersionTransitionList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlNotificationConfiguration = function serializeAws_restXmlNotificationConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfiguration\");\n\n if (input.TopicConfigurations !== undefined && input.TopicConfigurations !== null) {\n var nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.QueueConfigurations !== undefined && input.QueueConfigurations !== null) {\n var nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.LambdaFunctionConfigurations !== undefined && input.LambdaFunctionConfigurations !== null) {\n var nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNotificationConfigurationFilter = function serializeAws_restXmlNotificationConfigurationFilter(input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfigurationFilter\");\n\n if (input.Key !== undefined && input.Key !== null) {\n var node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectIdentifier = function serializeAws_restXmlObjectIdentifier(input, context) {\n var bodyNode = new __XmlNode(\"ObjectIdentifier\");\n\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n if (input.VersionId !== undefined && input.VersionId !== null) {\n var node = new __XmlNode(\"ObjectVersionId\").addChildNode(new __XmlText(input.VersionId)).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectIdentifierList = function serializeAws_restXmlObjectIdentifierList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlObjectLockConfiguration = function serializeAws_restXmlObjectLockConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockConfiguration\");\n\n if (input.ObjectLockEnabled !== undefined && input.ObjectLockEnabled !== null) {\n var node = new __XmlNode(\"ObjectLockEnabled\").addChildNode(new __XmlText(input.ObjectLockEnabled)).withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Rule !== undefined && input.Rule !== null) {\n var node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockLegalHold = function serializeAws_restXmlObjectLockLegalHold(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockLegalHold\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ObjectLockLegalHoldStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockRetention = function serializeAws_restXmlObjectLockRetention(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRetention\");\n\n if (input.Mode !== undefined && input.Mode !== null) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RetainUntilDate !== undefined && input.RetainUntilDate !== null) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\")).withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockRule = function serializeAws_restXmlObjectLockRule(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRule\");\n\n if (input.DefaultRetention !== undefined && input.DefaultRetention !== null) {\n var node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOutputLocation = function serializeAws_restXmlOutputLocation(input, context) {\n var bodyNode = new __XmlNode(\"OutputLocation\");\n\n if (input.S3 !== undefined && input.S3 !== null) {\n var node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOutputSerialization = function serializeAws_restXmlOutputSerialization(input, context) {\n var bodyNode = new __XmlNode(\"OutputSerialization\");\n\n if (input.CSV !== undefined && input.CSV !== null) {\n var node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n\n if (input.JSON !== undefined && input.JSON !== null) {\n var node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwner = function serializeAws_restXmlOwner(input, context) {\n var bodyNode = new __XmlNode(\"Owner\");\n\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwnershipControls = function serializeAws_restXmlOwnershipControls(input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControls\");\n\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwnershipControlsRule = function serializeAws_restXmlOwnershipControlsRule(input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControlsRule\");\n\n if (input.ObjectOwnership !== undefined && input.ObjectOwnership !== null) {\n var node = new __XmlNode(\"ObjectOwnership\").addChildNode(new __XmlText(input.ObjectOwnership)).withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwnershipControlsRules = function serializeAws_restXmlOwnershipControlsRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlParquetInput = function serializeAws_restXmlParquetInput(input, context) {\n var bodyNode = new __XmlNode(\"ParquetInput\");\n return bodyNode;\n};\n\nvar serializeAws_restXmlPublicAccessBlockConfiguration = function serializeAws_restXmlPublicAccessBlockConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"PublicAccessBlockConfiguration\");\n\n if (input.BlockPublicAcls !== undefined && input.BlockPublicAcls !== null) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.BlockPublicAcls))).withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IgnorePublicAcls !== undefined && input.IgnorePublicAcls !== null) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.IgnorePublicAcls))).withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n\n if (input.BlockPublicPolicy !== undefined && input.BlockPublicPolicy !== null) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.BlockPublicPolicy))).withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RestrictPublicBuckets !== undefined && input.RestrictPublicBuckets !== null) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.RestrictPublicBuckets))).withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlQueueConfiguration = function serializeAws_restXmlQueueConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"QueueConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QueueArn !== undefined && input.QueueArn !== null) {\n var node = new __XmlNode(\"QueueArn\").addChildNode(new __XmlText(input.QueueArn)).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlQueueConfigurationList = function serializeAws_restXmlQueueConfigurationList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlRedirect = function serializeAws_restXmlRedirect(input, context) {\n var bodyNode = new __XmlNode(\"Redirect\");\n\n if (input.HostName !== undefined && input.HostName !== null) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.HttpRedirectCode !== undefined && input.HttpRedirectCode !== null) {\n var node = new __XmlNode(\"HttpRedirectCode\").addChildNode(new __XmlText(input.HttpRedirectCode)).withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Protocol !== undefined && input.Protocol !== null) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplaceKeyPrefixWith !== undefined && input.ReplaceKeyPrefixWith !== null) {\n var node = new __XmlNode(\"ReplaceKeyPrefixWith\").addChildNode(new __XmlText(input.ReplaceKeyPrefixWith)).withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplaceKeyWith !== undefined && input.ReplaceKeyWith !== null) {\n var node = new __XmlNode(\"ReplaceKeyWith\").addChildNode(new __XmlText(input.ReplaceKeyWith)).withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRedirectAllRequestsTo = function serializeAws_restXmlRedirectAllRequestsTo(input, context) {\n var bodyNode = new __XmlNode(\"RedirectAllRequestsTo\");\n\n if (input.HostName !== undefined && input.HostName !== null) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Protocol !== undefined && input.Protocol !== null) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicaModifications = function serializeAws_restXmlReplicaModifications(input, context) {\n var bodyNode = new __XmlNode(\"ReplicaModifications\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicaModificationsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationConfiguration = function serializeAws_restXmlReplicationConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationConfiguration\");\n\n if (input.Role !== undefined && input.Role !== null) {\n var node = new __XmlNode(\"Role\").addChildNode(new __XmlText(input.Role)).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRule = function serializeAws_restXmlReplicationRule(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRule\");\n\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Priority !== undefined && input.Priority !== null) {\n var node = new __XmlNode(\"Priority\").addChildNode(new __XmlText(String(input.Priority))).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicationRuleStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SourceSelectionCriteria !== undefined && input.SourceSelectionCriteria !== null) {\n var node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExistingObjectReplication !== undefined && input.ExistingObjectReplication !== null) {\n var node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\"ExistingObjectReplication\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n if (input.DeleteMarkerReplication !== undefined && input.DeleteMarkerReplication !== null) {\n var node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\"DeleteMarkerReplication\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRuleAndOperator = function serializeAws_restXmlReplicationRuleAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleAndOperator\");\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRuleFilter = function serializeAws_restXmlReplicationRuleFilter(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleFilter\");\n ReplicationRuleFilter.visit(input, {\n Prefix: function Prefix(value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function Tag(value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function And(value) {\n var node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function _(name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n }\n });\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRules = function serializeAws_restXmlReplicationRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlReplicationTime = function serializeAws_restXmlReplicationTime(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTime\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicationTimeStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Time !== undefined && input.Time !== null) {\n var node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationTimeValue = function serializeAws_restXmlReplicationTimeValue(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTimeValue\");\n\n if (input.Minutes !== undefined && input.Minutes !== null) {\n var node = new __XmlNode(\"Minutes\").addChildNode(new __XmlText(String(input.Minutes))).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRequestPaymentConfiguration = function serializeAws_restXmlRequestPaymentConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"RequestPaymentConfiguration\");\n\n if (input.Payer !== undefined && input.Payer !== null) {\n var node = new __XmlNode(\"Payer\").addChildNode(new __XmlText(input.Payer)).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRequestProgress = function serializeAws_restXmlRequestProgress(input, context) {\n var bodyNode = new __XmlNode(\"RequestProgress\");\n\n if (input.Enabled !== undefined && input.Enabled !== null) {\n var node = new __XmlNode(\"EnableRequestProgress\").addChildNode(new __XmlText(String(input.Enabled))).withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRestoreRequest = function serializeAws_restXmlRestoreRequest(input, context) {\n var bodyNode = new __XmlNode(\"RestoreRequest\");\n\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.GlacierJobParameters !== undefined && input.GlacierJobParameters !== null) {\n var node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Type !== undefined && input.Type !== null) {\n var node = new __XmlNode(\"RestoreRequestType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tier !== undefined && input.Tier !== null) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Description !== undefined && input.Description !== null) {\n var node = new __XmlNode(\"Description\").addChildNode(new __XmlText(input.Description)).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SelectParameters !== undefined && input.SelectParameters !== null) {\n var node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputLocation !== undefined && input.OutputLocation !== null) {\n var node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRoutingRule = function serializeAws_restXmlRoutingRule(input, context) {\n var bodyNode = new __XmlNode(\"RoutingRule\");\n\n if (input.Condition !== undefined && input.Condition !== null) {\n var node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Redirect !== undefined && input.Redirect !== null) {\n var node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRoutingRules = function serializeAws_restXmlRoutingRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\n\nvar serializeAws_restXmlS3KeyFilter = function serializeAws_restXmlS3KeyFilter(input, context) {\n var bodyNode = new __XmlNode(\"S3KeyFilter\");\n\n if (input.FilterRules !== undefined && input.FilterRules !== null) {\n var nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map(function (node) {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlS3Location = function serializeAws_restXmlS3Location(input, context) {\n var bodyNode = new __XmlNode(\"S3Location\");\n\n if (input.BucketName !== undefined && input.BucketName !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.BucketName)).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"LocationPrefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Encryption !== undefined && input.Encryption !== null) {\n var node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CannedACL !== undefined && input.CannedACL !== null) {\n var node = new __XmlNode(\"ObjectCannedACL\").addChildNode(new __XmlText(input.CannedACL)).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n\n if (input.AccessControlList !== undefined && input.AccessControlList !== null) {\n var nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n var containerNode_4 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_4.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_4);\n }\n\n if (input.Tagging !== undefined && input.Tagging !== null) {\n var node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n\n if (input.UserMetadata !== undefined && input.UserMetadata !== null) {\n var nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n var containerNode_5 = new __XmlNode(\"UserMetadata\");\n nodes.map(function (node) {\n containerNode_5.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_5);\n }\n\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlScanRange = function serializeAws_restXmlScanRange(input, context) {\n var bodyNode = new __XmlNode(\"ScanRange\");\n\n if (input.Start !== undefined && input.Start !== null) {\n var node = new __XmlNode(\"Start\").addChildNode(new __XmlText(String(input.Start))).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n\n if (input.End !== undefined && input.End !== null) {\n var node = new __XmlNode(\"End\").addChildNode(new __XmlText(String(input.End))).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSelectParameters = function serializeAws_restXmlSelectParameters(input, context) {\n var bodyNode = new __XmlNode(\"SelectParameters\");\n\n if (input.InputSerialization !== undefined && input.InputSerialization !== null) {\n var node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpressionType !== undefined && input.ExpressionType !== null) {\n var node = new __XmlNode(\"ExpressionType\").addChildNode(new __XmlText(input.ExpressionType)).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Expression !== undefined && input.Expression !== null) {\n var node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputSerialization !== undefined && input.OutputSerialization !== null) {\n var node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionByDefault = function serializeAws_restXmlServerSideEncryptionByDefault(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionByDefault\");\n\n if (input.SSEAlgorithm !== undefined && input.SSEAlgorithm !== null) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.SSEAlgorithm)).withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KMSMasterKeyID !== undefined && input.KMSMasterKeyID !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSMasterKeyID)).withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionConfiguration = function serializeAws_restXmlServerSideEncryptionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionConfiguration\");\n\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionRule = function serializeAws_restXmlServerSideEncryptionRule(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionRule\");\n\n if (input.ApplyServerSideEncryptionByDefault !== undefined && input.ApplyServerSideEncryptionByDefault !== null) {\n var node = serializeAws_restXmlServerSideEncryptionByDefault(input.ApplyServerSideEncryptionByDefault, context).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n\n if (input.BucketKeyEnabled !== undefined && input.BucketKeyEnabled !== null) {\n var node = new __XmlNode(\"BucketKeyEnabled\").addChildNode(new __XmlText(String(input.BucketKeyEnabled))).withName(\"BucketKeyEnabled\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionRules = function serializeAws_restXmlServerSideEncryptionRules(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlSourceSelectionCriteria = function serializeAws_restXmlSourceSelectionCriteria(input, context) {\n var bodyNode = new __XmlNode(\"SourceSelectionCriteria\");\n\n if (input.SseKmsEncryptedObjects !== undefined && input.SseKmsEncryptedObjects !== null) {\n var node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\"SseKmsEncryptedObjects\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplicaModifications !== undefined && input.ReplicaModifications !== null) {\n var node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName(\"ReplicaModifications\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSSEKMS = function serializeAws_restXmlSSEKMS(input, context) {\n var bodyNode = new __XmlNode(\"SSE-KMS\");\n\n if (input.KeyId !== undefined && input.KeyId !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KeyId)).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSseKmsEncryptedObjects = function serializeAws_restXmlSseKmsEncryptedObjects(input, context) {\n var bodyNode = new __XmlNode(\"SseKmsEncryptedObjects\");\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"SseKmsEncryptedObjectsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSSES3 = function serializeAws_restXmlSSES3(input, context) {\n var bodyNode = new __XmlNode(\"SSE-S3\");\n return bodyNode;\n};\n\nvar serializeAws_restXmlStorageClassAnalysis = function serializeAws_restXmlStorageClassAnalysis(input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysis\");\n\n if (input.DataExport !== undefined && input.DataExport !== null) {\n var node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlStorageClassAnalysisDataExport = function serializeAws_restXmlStorageClassAnalysisDataExport(input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysisDataExport\");\n\n if (input.OutputSchemaVersion !== undefined && input.OutputSchemaVersion !== null) {\n var node = new __XmlNode(\"StorageClassAnalysisSchemaVersion\").addChildNode(new __XmlText(input.OutputSchemaVersion)).withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTag = function serializeAws_restXmlTag(input, context) {\n var bodyNode = new __XmlNode(\"Tag\");\n\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"Value\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTagging = function serializeAws_restXmlTagging(input, context) {\n var bodyNode = new __XmlNode(\"Tagging\");\n\n if (input.TagSet !== undefined && input.TagSet !== null) {\n var nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n var containerNode_6 = new __XmlNode(\"TagSet\");\n nodes.map(function (node) {\n containerNode_6.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_6);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTagSet = function serializeAws_restXmlTagSet(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\n\nvar serializeAws_restXmlTargetGrant = function serializeAws_restXmlTargetGrant(input, context) {\n var bodyNode = new __XmlNode(\"TargetGrant\");\n\n if (input.Grantee !== undefined && input.Grantee !== null) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Permission !== undefined && input.Permission !== null) {\n var node = new __XmlNode(\"BucketLogsPermission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTargetGrants = function serializeAws_restXmlTargetGrants(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nvar serializeAws_restXmlTiering = function serializeAws_restXmlTiering(input, context) {\n var bodyNode = new __XmlNode(\"Tiering\");\n\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"IntelligentTieringDays\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.AccessTier !== undefined && input.AccessTier !== null) {\n var node = new __XmlNode(\"IntelligentTieringAccessTier\").addChildNode(new __XmlText(input.AccessTier)).withName(\"AccessTier\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTieringList = function serializeAws_restXmlTieringList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlTiering(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlTopicConfiguration = function serializeAws_restXmlTopicConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"TopicConfiguration\");\n\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.TopicArn !== undefined && input.TopicArn !== null) {\n var node = new __XmlNode(\"TopicArn\").addChildNode(new __XmlText(input.TopicArn)).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTopicConfigurationList = function serializeAws_restXmlTopicConfigurationList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlTransition = function serializeAws_restXmlTransition(input, context) {\n var bodyNode = new __XmlNode(\"Transition\");\n\n if (input.Date !== undefined && input.Date !== null) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\")).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"TransitionStorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTransitionList = function serializeAws_restXmlTransitionList(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlUserMetadata = function serializeAws_restXmlUserMetadata(input, context) {\n return input.filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n var node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\n\nvar serializeAws_restXmlVersioningConfiguration = function serializeAws_restXmlVersioningConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"VersioningConfiguration\");\n\n if (input.MFADelete !== undefined && input.MFADelete !== null) {\n var node = new __XmlNode(\"MFADelete\").addChildNode(new __XmlText(input.MFADelete)).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"BucketVersioningStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlWebsiteConfiguration = function serializeAws_restXmlWebsiteConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"WebsiteConfiguration\");\n\n if (input.ErrorDocument !== undefined && input.ErrorDocument !== null) {\n var node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IndexDocument !== undefined && input.IndexDocument !== null) {\n var node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RedirectAllRequestsTo !== undefined && input.RedirectAllRequestsTo !== null) {\n var node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RoutingRules !== undefined && input.RoutingRules !== null) {\n var nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n var containerNode_7 = new __XmlNode(\"RoutingRules\");\n nodes.map(function (node) {\n containerNode_7.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_7);\n }\n\n return bodyNode;\n};\n\nvar deserializeAws_restXmlAbortIncompleteMultipartUpload = function deserializeAws_restXmlAbortIncompleteMultipartUpload(output, context) {\n var contents = {\n DaysAfterInitiation: undefined\n };\n\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = parseInt(output[\"DaysAfterInitiation\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAccessControlTranslation = function deserializeAws_restXmlAccessControlTranslation(output, context) {\n var contents = {\n Owner: undefined\n };\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = output[\"Owner\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAllowedHeaders = function deserializeAws_restXmlAllowedHeaders(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAllowedMethods = function deserializeAws_restXmlAllowedMethods(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAllowedOrigins = function deserializeAws_restXmlAllowedOrigins(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAnalyticsAndOperator = function deserializeAws_restXmlAnalyticsAndOperator(output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsConfiguration = function deserializeAws_restXmlAnalyticsConfiguration(output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined,\n StorageClassAnalysis: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter(output[\"Filter\"], context);\n }\n\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsConfigurationList = function deserializeAws_restXmlAnalyticsConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlAnalyticsExportDestination = function deserializeAws_restXmlAnalyticsExportDestination(output, context) {\n var contents = {\n S3BucketDestination: undefined\n };\n\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsFilter = function deserializeAws_restXmlAnalyticsFilter(output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"]\n };\n }\n\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context)\n };\n }\n\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context)\n };\n }\n\n return {\n $unknown: Object.entries(output)[0]\n };\n};\n\nvar deserializeAws_restXmlAnalyticsS3BucketDestination = function deserializeAws_restXmlAnalyticsS3BucketDestination(output, context) {\n var contents = {\n Format: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Prefix: undefined\n };\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = output[\"BucketAccountId\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlBucket = function deserializeAws_restXmlBucket(output, context) {\n var contents = {\n Name: undefined,\n CreationDate: undefined\n };\n\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = new Date(output[\"CreationDate\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlBuckets = function deserializeAws_restXmlBuckets(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\n\nvar deserializeAws_restXmlCommonPrefix = function deserializeAws_restXmlCommonPrefix(output, context) {\n var contents = {\n Prefix: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCommonPrefixList = function deserializeAws_restXmlCommonPrefixList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\n\nvar deserializeAws_restXmlCondition = function deserializeAws_restXmlCondition(output, context) {\n var contents = {\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined\n };\n\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = output[\"HttpErrorCodeReturnedEquals\"];\n }\n\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = output[\"KeyPrefixEquals\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCopyObjectResult = function deserializeAws_restXmlCopyObjectResult(output, context) {\n var contents = {\n ETag: undefined,\n LastModified: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCopyPartResult = function deserializeAws_restXmlCopyPartResult(output, context) {\n var contents = {\n ETag: undefined,\n LastModified: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCORSRule = function deserializeAws_restXmlCORSRule(output, context) {\n var contents = {\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined\n };\n\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n\n if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders(__getArrayIfSingleItem(output[\"AllowedHeader\"]), context);\n }\n\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n\n if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(__getArrayIfSingleItem(output[\"AllowedMethod\"]), context);\n }\n\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n\n if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins(__getArrayIfSingleItem(output[\"AllowedOrigin\"]), context);\n }\n\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n\n if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders(__getArrayIfSingleItem(output[\"ExposeHeader\"]), context);\n }\n\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = parseInt(output[\"MaxAgeSeconds\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCORSRules = function deserializeAws_restXmlCORSRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlDefaultRetention = function deserializeAws_restXmlDefaultRetention(output, context) {\n var contents = {\n Mode: undefined,\n Days: undefined,\n Years: undefined\n };\n\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"Years\"] !== undefined) {\n contents.Years = parseInt(output[\"Years\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeletedObject = function deserializeAws_restXmlDeletedObject(output, context) {\n var contents = {\n Key: undefined,\n VersionId: undefined,\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = output[\"DeleteMarker\"] == \"true\";\n }\n\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = output[\"DeleteMarkerVersionId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeletedObjects = function deserializeAws_restXmlDeletedObjects(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\n\nvar deserializeAws_restXmlDeleteMarkerEntry = function deserializeAws_restXmlDeleteMarkerEntry(output, context) {\n var contents = {\n Owner: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined\n };\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkerReplication = function deserializeAws_restXmlDeleteMarkerReplication(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkers = function deserializeAws_restXmlDeleteMarkers(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\n\nvar deserializeAws_restXmlDestination = function deserializeAws_restXmlDestination(output, context) {\n var contents = {\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n AccessControlTranslation: undefined,\n EncryptionConfiguration: undefined,\n ReplicationTime: undefined,\n Metrics: undefined\n };\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Account\"] !== undefined) {\n contents.Account = output[\"Account\"];\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlEncryptionConfiguration = function deserializeAws_restXmlEncryptionConfiguration(output, context) {\n var contents = {\n ReplicaKmsKeyID: undefined\n };\n\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = output[\"ReplicaKmsKeyID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXml_Error = function deserializeAws_restXml_Error(output, context) {\n var contents = {\n Key: undefined,\n VersionId: undefined,\n Code: undefined,\n Message: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n if (output[\"Code\"] !== undefined) {\n contents.Code = output[\"Code\"];\n }\n\n if (output[\"Message\"] !== undefined) {\n contents.Message = output[\"Message\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlErrorDocument = function deserializeAws_restXmlErrorDocument(output, context) {\n var contents = {\n Key: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlErrors = function deserializeAws_restXmlErrors(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXml_Error(entry, context);\n });\n};\n\nvar deserializeAws_restXmlEventList = function deserializeAws_restXmlEventList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlExistingObjectReplication = function deserializeAws_restXmlExistingObjectReplication(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlExposeHeaders = function deserializeAws_restXmlExposeHeaders(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlFilterRule = function deserializeAws_restXmlFilterRule(output, context) {\n var contents = {\n Name: undefined,\n Value: undefined\n };\n\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlFilterRuleList = function deserializeAws_restXmlFilterRuleList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlGrant = function deserializeAws_restXmlGrant(output, context) {\n var contents = {\n Grantee: undefined,\n Permission: undefined\n };\n\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlGrantee = function deserializeAws_restXmlGrantee(output, context) {\n var contents = {\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n URI: undefined,\n Type: undefined\n };\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = output[\"EmailAddress\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"URI\"] !== undefined) {\n contents.URI = output[\"URI\"];\n }\n\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = output[\"xsi:type\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlGrants = function deserializeAws_restXmlGrants(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\n\nvar deserializeAws_restXmlIndexDocument = function deserializeAws_restXmlIndexDocument(output, context) {\n var contents = {\n Suffix: undefined\n };\n\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = output[\"Suffix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInitiator = function deserializeAws_restXmlInitiator(output, context) {\n var contents = {\n ID: undefined,\n DisplayName: undefined\n };\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlIntelligentTieringAndOperator = function deserializeAws_restXmlIntelligentTieringAndOperator(output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlIntelligentTieringConfiguration = function deserializeAws_restXmlIntelligentTieringConfiguration(output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined,\n Status: undefined,\n Tierings: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlIntelligentTieringFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output.Tiering === \"\") {\n contents.Tierings = [];\n }\n\n if (output[\"Tiering\"] !== undefined) {\n contents.Tierings = deserializeAws_restXmlTieringList(__getArrayIfSingleItem(output[\"Tiering\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlIntelligentTieringConfigurationList = function deserializeAws_restXmlIntelligentTieringConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlIntelligentTieringConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlIntelligentTieringFilter = function deserializeAws_restXmlIntelligentTieringFilter(output, context) {\n var contents = {\n Prefix: undefined,\n Tag: undefined,\n And: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlIntelligentTieringAndOperator(output[\"And\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryConfiguration = function deserializeAws_restXmlInventoryConfiguration(output, context) {\n var contents = {\n Destination: undefined,\n IsEnabled: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n OptionalFields: undefined,\n Schedule: undefined\n };\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = output[\"IsEnabled\"] == \"true\";\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = output[\"IncludedObjectVersions\"];\n }\n\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n\n if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields(__getArrayIfSingleItem(output[\"OptionalFields\"][\"Field\"]), context);\n }\n\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryConfigurationList = function deserializeAws_restXmlInventoryConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlInventoryDestination = function deserializeAws_restXmlInventoryDestination(output, context) {\n var contents = {\n S3BucketDestination: undefined\n };\n\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryEncryption = function deserializeAws_restXmlInventoryEncryption(output, context) {\n var contents = {\n SSES3: undefined,\n SSEKMS: undefined\n };\n\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryFilter = function deserializeAws_restXmlInventoryFilter(output, context) {\n var contents = {\n Prefix: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryOptionalFields = function deserializeAws_restXmlInventoryOptionalFields(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return entry;\n });\n};\n\nvar deserializeAws_restXmlInventoryS3BucketDestination = function deserializeAws_restXmlInventoryS3BucketDestination(output, context) {\n var contents = {\n AccountId: undefined,\n Bucket: undefined,\n Format: undefined,\n Prefix: undefined,\n Encryption: undefined\n };\n\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = output[\"AccountId\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventorySchedule = function deserializeAws_restXmlInventorySchedule(output, context) {\n var contents = {\n Frequency: undefined\n };\n\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = output[\"Frequency\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLambdaFunctionConfiguration = function deserializeAws_restXmlLambdaFunctionConfiguration(output, context) {\n var contents = {\n Id: undefined,\n LambdaFunctionArn: undefined,\n Events: undefined,\n Filter: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = output[\"CloudFunction\"];\n }\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLambdaFunctionConfigurationList = function deserializeAws_restXmlLambdaFunctionConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlLifecycleExpiration = function deserializeAws_restXmlLifecycleExpiration(output, context) {\n var contents = {\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined\n };\n\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = output[\"ExpiredObjectDeleteMarker\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRule = function deserializeAws_restXmlLifecycleRule(output, context) {\n var contents = {\n Expiration: undefined,\n ID: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n Transitions: undefined,\n NoncurrentVersionTransitions: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined\n };\n\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n\n if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output[\"Transition\"]), context);\n }\n\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n\n if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList(__getArrayIfSingleItem(output[\"NoncurrentVersionTransition\"]), context);\n }\n\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRuleAndOperator = function deserializeAws_restXmlLifecycleRuleAndOperator(output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRuleFilter = function deserializeAws_restXmlLifecycleRuleFilter(output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"]\n };\n }\n\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context)\n };\n }\n\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context)\n };\n }\n\n return {\n $unknown: Object.entries(output)[0]\n };\n};\n\nvar deserializeAws_restXmlLifecycleRules = function deserializeAws_restXmlLifecycleRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlLoggingEnabled = function deserializeAws_restXmlLoggingEnabled(output, context) {\n var contents = {\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined\n };\n\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = output[\"TargetBucket\"];\n }\n\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n\n if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants(__getArrayIfSingleItem(output[\"TargetGrants\"][\"Grant\"]), context);\n }\n\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = output[\"TargetPrefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetrics = function deserializeAws_restXmlMetrics(output, context) {\n var contents = {\n Status: undefined,\n EventThreshold: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsAndOperator = function deserializeAws_restXmlMetricsAndOperator(output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsConfiguration = function deserializeAws_restXmlMetricsConfiguration(output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter(output[\"Filter\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsConfigurationList = function deserializeAws_restXmlMetricsConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlMetricsFilter = function deserializeAws_restXmlMetricsFilter(output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"]\n };\n }\n\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context)\n };\n }\n\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context)\n };\n }\n\n return {\n $unknown: Object.entries(output)[0]\n };\n};\n\nvar deserializeAws_restXmlMultipartUpload = function deserializeAws_restXmlMultipartUpload(output, context) {\n var contents = {\n UploadId: undefined,\n Key: undefined,\n Initiated: undefined,\n StorageClass: undefined,\n Owner: undefined,\n Initiator: undefined\n };\n\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = output[\"UploadId\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = new Date(output[\"Initiated\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMultipartUploadList = function deserializeAws_restXmlMultipartUploadList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\n\nvar deserializeAws_restXmlNoncurrentVersionExpiration = function deserializeAws_restXmlNoncurrentVersionExpiration(output, context) {\n var contents = {\n NoncurrentDays: undefined\n };\n\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlNoncurrentVersionTransition = function deserializeAws_restXmlNoncurrentVersionTransition(output, context) {\n var contents = {\n NoncurrentDays: undefined,\n StorageClass: undefined\n };\n\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlNoncurrentVersionTransitionList = function deserializeAws_restXmlNoncurrentVersionTransitionList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\n\nvar deserializeAws_restXmlNotificationConfigurationFilter = function deserializeAws_restXmlNotificationConfigurationFilter(output, context) {\n var contents = {\n Key: undefined\n };\n\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXml_Object = function deserializeAws_restXml_Object(output, context) {\n var contents = {\n Key: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Owner: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectList = function deserializeAws_restXmlObjectList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXml_Object(entry, context);\n });\n};\n\nvar deserializeAws_restXmlObjectLockConfiguration = function deserializeAws_restXmlObjectLockConfiguration(output, context) {\n var contents = {\n ObjectLockEnabled: undefined,\n Rule: undefined\n };\n\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = output[\"ObjectLockEnabled\"];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockLegalHold = function deserializeAws_restXmlObjectLockLegalHold(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockRetention = function deserializeAws_restXmlObjectLockRetention(output, context) {\n var contents = {\n Mode: undefined,\n RetainUntilDate: undefined\n };\n\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = new Date(output[\"RetainUntilDate\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockRule = function deserializeAws_restXmlObjectLockRule(output, context) {\n var contents = {\n DefaultRetention: undefined\n };\n\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectVersion = function deserializeAws_restXmlObjectVersion(output, context) {\n var contents = {\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n Owner: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectVersionList = function deserializeAws_restXmlObjectVersionList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\n\nvar deserializeAws_restXmlOwner = function deserializeAws_restXmlOwner(output, context) {\n var contents = {\n DisplayName: undefined,\n ID: undefined\n };\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlOwnershipControls = function deserializeAws_restXmlOwnershipControls(output, context) {\n var contents = {\n Rules: undefined\n };\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlOwnershipControlsRule = function deserializeAws_restXmlOwnershipControlsRule(output, context) {\n var contents = {\n ObjectOwnership: undefined\n };\n\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = output[\"ObjectOwnership\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlOwnershipControlsRules = function deserializeAws_restXmlOwnershipControlsRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlPart = function deserializeAws_restXmlPart(output, context) {\n var contents = {\n PartNumber: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined\n };\n\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = parseInt(output[\"PartNumber\"]);\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlParts = function deserializeAws_restXmlParts(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlPart(entry, context);\n });\n};\n\nvar deserializeAws_restXmlPolicyStatus = function deserializeAws_restXmlPolicyStatus(output, context) {\n var contents = {\n IsPublic: undefined\n };\n\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = output[\"IsPublic\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlPublicAccessBlockConfiguration = function deserializeAws_restXmlPublicAccessBlockConfiguration(output, context) {\n var contents = {\n BlockPublicAcls: undefined,\n IgnorePublicAcls: undefined,\n BlockPublicPolicy: undefined,\n RestrictPublicBuckets: undefined\n };\n\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = output[\"BlockPublicAcls\"] == \"true\";\n }\n\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = output[\"IgnorePublicAcls\"] == \"true\";\n }\n\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = output[\"BlockPublicPolicy\"] == \"true\";\n }\n\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = output[\"RestrictPublicBuckets\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlQueueConfiguration = function deserializeAws_restXmlQueueConfiguration(output, context) {\n var contents = {\n Id: undefined,\n QueueArn: undefined,\n Events: undefined,\n Filter: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = output[\"Queue\"];\n }\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlQueueConfigurationList = function deserializeAws_restXmlQueueConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlRedirect = function deserializeAws_restXmlRedirect(output, context) {\n var contents = {\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined\n };\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = output[\"HttpRedirectCode\"];\n }\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = output[\"ReplaceKeyPrefixWith\"];\n }\n\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = output[\"ReplaceKeyWith\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRedirectAllRequestsTo = function deserializeAws_restXmlRedirectAllRequestsTo(output, context) {\n var contents = {\n HostName: undefined,\n Protocol: undefined\n };\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicaModifications = function deserializeAws_restXmlReplicaModifications(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationConfiguration = function deserializeAws_restXmlReplicationConfiguration(output, context) {\n var contents = {\n Role: undefined,\n Rules: undefined\n };\n\n if (output[\"Role\"] !== undefined) {\n contents.Role = output[\"Role\"];\n }\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRule = function deserializeAws_restXmlReplicationRule(output, context) {\n var contents = {\n ID: undefined,\n Priority: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n SourceSelectionCriteria: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined,\n DeleteMarkerReplication: undefined\n };\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = parseInt(output[\"Priority\"]);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRuleAndOperator = function deserializeAws_restXmlReplicationRuleAndOperator(output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRuleFilter = function deserializeAws_restXmlReplicationRuleFilter(output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"]\n };\n }\n\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context)\n };\n }\n\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context)\n };\n }\n\n return {\n $unknown: Object.entries(output)[0]\n };\n};\n\nvar deserializeAws_restXmlReplicationRules = function deserializeAws_restXmlReplicationRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlReplicationTime = function deserializeAws_restXmlReplicationTime(output, context) {\n var contents = {\n Status: undefined,\n Time: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationTimeValue = function deserializeAws_restXmlReplicationTimeValue(output, context) {\n var contents = {\n Minutes: undefined\n };\n\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = parseInt(output[\"Minutes\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRoutingRule = function deserializeAws_restXmlRoutingRule(output, context) {\n var contents = {\n Condition: undefined,\n Redirect: undefined\n };\n\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRoutingRules = function deserializeAws_restXmlRoutingRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlS3KeyFilter = function deserializeAws_restXmlS3KeyFilter(output, context) {\n var contents = {\n FilterRules: undefined\n };\n\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n\n if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList(__getArrayIfSingleItem(output[\"FilterRule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionByDefault = function deserializeAws_restXmlServerSideEncryptionByDefault(output, context) {\n var contents = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined\n };\n\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = output[\"SSEAlgorithm\"];\n }\n\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = output[\"KMSMasterKeyID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionConfiguration = function deserializeAws_restXmlServerSideEncryptionConfiguration(output, context) {\n var contents = {\n Rules: undefined\n };\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionRule = function deserializeAws_restXmlServerSideEncryptionRule(output, context) {\n var contents = {\n ApplyServerSideEncryptionByDefault: undefined,\n BucketKeyEnabled: undefined\n };\n\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(output[\"ApplyServerSideEncryptionByDefault\"], context);\n }\n\n if (output[\"BucketKeyEnabled\"] !== undefined) {\n contents.BucketKeyEnabled = output[\"BucketKeyEnabled\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionRules = function deserializeAws_restXmlServerSideEncryptionRules(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlSourceSelectionCriteria = function deserializeAws_restXmlSourceSelectionCriteria(output, context) {\n var contents = {\n SseKmsEncryptedObjects: undefined,\n ReplicaModifications: undefined\n };\n\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output[\"SseKmsEncryptedObjects\"], context);\n }\n\n if (output[\"ReplicaModifications\"] !== undefined) {\n contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output[\"ReplicaModifications\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSSEKMS = function deserializeAws_restXmlSSEKMS(output, context) {\n var contents = {\n KeyId: undefined\n };\n\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = output[\"KeyId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSseKmsEncryptedObjects = function deserializeAws_restXmlSseKmsEncryptedObjects(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSSES3 = function deserializeAws_restXmlSSES3(output, context) {\n var contents = {};\n return contents;\n};\n\nvar deserializeAws_restXmlStorageClassAnalysis = function deserializeAws_restXmlStorageClassAnalysis(output, context) {\n var contents = {\n DataExport: undefined\n };\n\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlStorageClassAnalysisDataExport = function deserializeAws_restXmlStorageClassAnalysisDataExport(output, context) {\n var contents = {\n OutputSchemaVersion: undefined,\n Destination: undefined\n };\n\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = output[\"OutputSchemaVersion\"];\n }\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTag = function deserializeAws_restXmlTag(output, context) {\n var contents = {\n Key: undefined,\n Value: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTagSet = function deserializeAws_restXmlTagSet(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlTag(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTargetGrant = function deserializeAws_restXmlTargetGrant(output, context) {\n var contents = {\n Grantee: undefined,\n Permission: undefined\n };\n\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTargetGrants = function deserializeAws_restXmlTargetGrants(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTiering = function deserializeAws_restXmlTiering(output, context) {\n var contents = {\n Days: undefined,\n AccessTier: undefined\n };\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"AccessTier\"] !== undefined) {\n contents.AccessTier = output[\"AccessTier\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTieringList = function deserializeAws_restXmlTieringList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlTiering(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTopicConfiguration = function deserializeAws_restXmlTopicConfiguration(output, context) {\n var contents = {\n Id: undefined,\n TopicArn: undefined,\n Events: undefined,\n Filter: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = output[\"Topic\"];\n }\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTopicConfigurationList = function deserializeAws_restXmlTopicConfigurationList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTransition = function deserializeAws_restXmlTransition(output, context) {\n var contents = {\n Date: undefined,\n Days: undefined,\n StorageClass: undefined\n };\n\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTransitionList = function deserializeAws_restXmlTransitionList(output, context) {\n return (output || []).filter(function (e) {\n return e != null;\n }).map(function (entry) {\n if (entry === null) {\n return null;\n }\n\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\n\nvar deserializeMetadata = function deserializeMetadata(output) {\n var _a;\n\n return {\n httpStatusCode: output.statusCode,\n requestId: (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"]\n };\n}; // Collect low-level response body stream to Uint8Array.\n\n\nvar collectBody = function collectBody(streamBody, context) {\n if (streamBody === void 0) {\n streamBody = new Uint8Array();\n }\n\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n}; // Encode Uint8Array data into string with utf-8.\n\n\nvar collectBodyString = function collectBodyString(streamBody, context) {\n return collectBody(streamBody, context).then(function (body) {\n return context.utf8Encoder(body);\n });\n};\n\nvar isSerializableHeaderValue = function isSerializableHeaderValue(value) {\n return value !== undefined && value !== null && value !== \"\" && (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n};\n\nvar decodeEscapedXML = function decodeEscapedXML(str) {\n return str.replace(/&/g, \"&\").replace(/'/g, \"'\").replace(/"/g, '\"').replace(/>/g, \">\").replace(/</g, \"<\");\n};\n\nvar parseBody = function parseBody(streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n var parsedObj = xmlParse(encoded, {\n attributeNamePrefix: \"\",\n ignoreAttributes: false,\n parseNodeValue: false,\n tagValueProcessor: function tagValueProcessor(val, tagName) {\n return decodeEscapedXML(val);\n }\n });\n var textNodeName = \"#text\";\n var key = Object.keys(parsedObj)[0];\n var parsedObjToReturn = parsedObj[key];\n\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n\n return __getValueFromTextNode(parsedObjToReturn);\n }\n\n return {};\n });\n};\n\nvar loadRestXmlErrorCode = function loadRestXmlErrorCode(output, data) {\n if (data.Code !== undefined) {\n return data.Code;\n }\n\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n\n return \"\";\n};"],"sourceRoot":""}