UNPKG

575 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/index.js","webpack:///./node_modules/@aws-sdk/protocol-http/build/index.js","webpack:///external \"@aws-amplify/core\"","webpack:///./node_modules/@aws-sdk/util-hex-encoding/build/index.js","webpack:///./node_modules/@aws-sdk/util-uri-escape/build/index.js","webpack:///./node_modules/@aws-sdk/util-base64-browser/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-serde/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/constants.js","webpack:///./node_modules/@aws-sdk/util-locate-window/dist/cjs/index.js","webpack:///./node_modules/@aws-sdk/config-resolver/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-host-header/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-signing/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-user-agent/build/index.js","webpack:///./node_modules/@aws-sdk/fetch-http-handler/build/index.js","webpack:///./node_modules/@aws-sdk/invalid-dependency/build/index.js","webpack:///./node_modules/@aws-sdk/util-utf8-browser/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/defaultStrategy.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/delayDecider.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/retryDecider.js","webpack:///./node_modules/@aws-sdk/service-error-classification/build/index.js","webpack:///./node_modules/@aws-sdk/util-uri-escape/build/escape-uri.js","webpack:///./node_modules/@aws-sdk/middleware-stack/build/index.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/constants.js","webpack:///./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/index.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js","webpack:///./node_modules/@aws-crypto/sha256-js/build/constants.js","webpack:///./node_modules/@aws-sdk/middleware-serde/build/deserializerMiddleware.js","webpack:///./node_modules/@aws-sdk/middleware-serde/build/serializerMiddleware.js","webpack:///./node_modules/@aws-sdk/middleware-content-length/build/index.js","webpack:///./node_modules/@aws-sdk/is-array-buffer/build/index.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/index.js","webpack:///./node_modules/@aws-sdk/url-parser-browser/build/index.js","webpack:///./node_modules/@aws-sdk/util-body-length-browser/build/index.js","webpack:///./node_modules/@aws-sdk/util-user-agent-browser/build/index.js","webpack:///./node_modules/@aws-sdk/config-resolver/build/EndpointsConfig.js","webpack:///./node_modules/@aws-sdk/config-resolver/build/RegionConfig.js","webpack:///./node_modules/@aws-sdk/protocol-http/build/httpResponse.js","webpack:///./node_modules/@aws-sdk/protocol-http/build/httpRequest.js","webpack:///./node_modules/@aws-sdk/protocol-http/build/isValidHostname.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/retryMiddleware.js","webpack:///./node_modules/@aws-sdk/service-error-classification/build/constants.js","webpack:///./node_modules/@aws-sdk/middleware-retry/build/configurations.js","webpack:///./node_modules/@aws-sdk/middleware-signing/build/configurations.js","webpack:///./node_modules/@aws-sdk/util-uri-escape/build/escape-uri-path.js","webpack:///./node_modules/@aws-sdk/middleware-signing/build/middleware.js","webpack:///./node_modules/@aws-sdk/middleware-user-agent/build/configurations.js","webpack:///./node_modules/@aws-sdk/middleware-user-agent/build/middleware.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/client.js","webpack:///./node_modules/@aws-sdk/middleware-stack/build/MiddlewareStack.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/command.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/extended-encode-uri-component.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/get-array-if-single-item.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/get-value-from-text-node.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/isa.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/lazy-json.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/date-utils.js","webpack:///./node_modules/@aws-sdk/smithy-client/build/split-every.js","webpack:///./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js","webpack:///./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/pureJs.js","webpack:///./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/whatwgEncodingApi.js","webpack:///./node_modules/@aws-crypto/sha256-js/build/index.js","webpack:///./node_modules/@aws-crypto/sha256-js/build/jsSha256.js","webpack:///./node_modules/@aws-crypto/sha256-js/build/RawSha256.js","webpack:///./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/index.js","webpack:///./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/pureJs.js","webpack:///./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/cjs/whatwgEncodingApi.js","webpack:///./node_modules/@aws-crypto/supports-web-crypto/build/index.js","webpack:///./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js","webpack:///./node_modules/@aws-crypto/ie11-detection/build/index.js","webpack:///./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js","webpack:///./node_modules/@aws-sdk/fetch-http-handler/build/fetch-http-handler.js","webpack:///./node_modules/@aws-sdk/fetch-http-handler/build/request-timeout.js","webpack:///./node_modules/@aws-sdk/querystring-builder/build/index.js","webpack:///./node_modules/@aws-sdk/fetch-http-handler/build/stream-collector.js","webpack:///./node_modules/@aws-sdk/querystring-parser/build/index.js","webpack:///./node_modules/@aws-sdk/util-utf8-browser/build/pureJs.js","webpack:///./node_modules/@aws-sdk/util-utf8-browser/build/whatwgEncodingApi.js","webpack:///./node_modules/@aws-sdk/middleware-serde/build/serdePlugin.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/constants.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/credentialDerivation.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalHeaders.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/getPayloadHash.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/cloneRequest.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/prepareRequest.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/utilDate.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/SignatureV4.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/moveHeadersToQuery.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/hasHeader.js","webpack:///./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalQuery.js","webpack:///../../src/Providers/InteractionsProvider.ts","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/endpoints.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/runtimeConfig.shared.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/runtimeConfig.browser.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/LexRuntimeServiceClient.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/protocols/Aws_restJson1_1.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/commands/PostTextCommand.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/commands/PostContentCommand.js","webpack:///../../src/Providers/AWSLexProvider.ts","webpack:///../src/Interactions.ts","webpack:///../src/index.ts"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__3__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","constructor","__assign","assign","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__createBinding","k","k2","undefined","__exportStar","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","set","tslib_1","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","toString","toLowerCase","fromHex","encoded","Error","out","Uint8Array","substr","toHex","bytes","byteLength","alphabetByEncoding","alphabetByValue","start","charCodeAt","limit","char","String","fromCharCode","index","fromBase64","input","totalByteLength","ArrayBuffer","dataView","DataView","bits","bitLength","chunkOffset","Math","floor","offset","setUint8","toBase64","str","min","bitClusterCount","ceil","slice","DEFAULT_RETRY_DELAY_BASE","MAXIMUM_RETRY_DELAY","RETRYABLE_STATUS_CODES","Set","forEach","code","add","THROTTLING_RETRY_DELAY_BASE","fallbackWindow","locateWindow","window","self","protocol_http_1","resolveHostHeaderConfig","hostHeaderMiddleware","options","args","request","_a","_b","HttpRequest","isInstance","requestHandler","handlerProtocol","headers","hostname","hostHeaderMiddlewareOptions","tags","getHostHeaderPlugin","applyToStack","clientStack","invalidFunction","message","pureJs_1","whatwgEncodingApi_1","fromUtf8","TextEncoder","toUtf8","TextDecoder","constants_1","delayDecider_1","retryDecider_1","service_error_classification_1","ExponentialBackOffStrategy","maxRetries","retryDecider","delayDecider","defaultRetryDecider","defaultDelayDecider","shouldRetry","retryAttempted","retry","retries","totalDelay","_loop_1","this_1","state_1","response","output","err_1","delay_1","$metadata","totalRetryDelay","isThrottlingError","setTimeout","delayBase","attempts","random","pow","connectionError","hasMetadata","httpStatusCode","isStillProcessingError","isClockSkewError","CLOCK_SKEW_ERROR_CODES","STILL_PROCESSING_ERROR_CODES","THROTTLING_ERROR_CODES","hexEncode","toUpperCase","escapeUri","uri","encodeURIComponent","replace","isEmptyData_1","util_utf8_browser_1","util_locate_window_1","Sha256","secret","operation","keyOperation","msCrypto","subtle","importKey","toArrayBufferView","SHA_256_HMAC_ALGO","oncomplete","onerror","getKeyPromise","keyData","sign","catch","digest","update","toHash","_this","isEmptyData","process","finish","data","isView","buffer","byteOffset","BYTES_PER_ELEMENT","SHA_256_HASH","hash","EMPTY_DATA_SHA_256","crypto","convertToBuffer","typedArray","BLOCK_SIZE","DIGEST_LENGTH","KEY","Uint32Array","INIT","MAX_HASHABLE_LENGTH","deserializerMiddleware","deserializer","serializerMiddleware","serializer","contentLengthMiddleware","bodyLengthChecker","keys","map","contentLengthMiddlewareOptions","getContentLengthPlugin","isArrayBuffer","arg","ie11Sha256_1","Ie11Sha256","webCryptoSha256_1","WebCryptoSha256","querystring_parser_1","parseUrl","url","query","URL","pathname","port","protocol","search","parseQueryString","parseInt","path","calculateBodyLength","Blob","size","defaultUserAgent","packageName","packageVersion","navigator","userAgent","normalizeEndpoint","endpoint","urlParser","promisified_1","promisified_2","resolveEndpointsConfig","tls","region","regionInfoProvider","normalizeRegion","resolveRegionConfig","regionDefaultProvider","HttpResponse","statusCode","resp","method","charAt","req","clone","cloned","reduce","carry","paramName","param","isArray","isValidHostname","test","retryMiddleware","retryStrategy","retryMiddlewareOptions","priority","getRetryPlugin","AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch","PriorRequestNotComplete","BandwidthLimitExceeded","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","defaultStrategy_1","resolveRetryConfig","signature_v4_1","normalizeProvider","resolveAwsAuthConfig","signer","normalizedCreds","credentials","credentialDefaultProvider","signingEscapePath","systemClockOffset","sha256","regionInfo","_c","signingRegion","_d","signingService","signingName","SignatureV4","service","uriEscapePath","escape_uri_1","escapeUriPath","e_1","parts","split","sub","e_1_1","return","join","getSkewCorrectedDate","Date","now","awsAuthMiddleware","dateHeader","serverTime","_e","signingDate","date","parse","newServerTime","abs","getTime","awsAuthMiddlewareOptions","relation","toMiddleware","getAwsAuthPlugin","addRelativeTo","resolveUserAgentConfig","userAgentMiddleware","userAgentHeader","runtime","customUserAgent","getUserAgentMiddlewareOptions","getUserAgentPlugin","config","middleware_stack_1","Client","middlewareStack","MiddlewareStack","send","command","optionsOrCb","cb","callback","handler","resolveMiddleware","err","destroy","absoluteEntries","relativeEntries","entriesNameMap","middleware","entry","prev","sort","entries","stepWeights","priorityWeights","from","_from","remove","toRemove","removeByName","removeByReference","splice","removeByTag","removed","use","plugin","normalizeRelativeEntries","absoluteMiddlewareNamesMap","filter","accumulator","normalized","relativeMiddlewareNamesMap","anchors","resolvedCurr","resolvedPrev","resolvedNext","orphanedRelativeEntries","visited","WeakSet","_i","getMiddlewareList","middlewareList","entryList","entryList_1","defaultAnchorValue","relativeEntry","orphanedEntry","reverse","context","initialize","serialize","build","finalizeRequest","deserialize","high","normal","low","Command","extendedEncodeURIComponent","getArrayIfSingleItem","mayBeArray","getValueFromTextNode","obj","isa","ids","StringWrapper","Class","getPrototypeOf","Constructor","Function","instance","writable","configurable","LazyJsonString","_super","deserializeJSON","JSON","toJSON","fromObject","stringify","days","months","dateToUtcString","year","getUTCFullYear","month","getUTCMonth","dayOfWeek","getUTCDay","dayOfMonthInt","getUTCDate","hoursInt","getUTCHours","minutesInt","getUTCMinutes","secondsInt","getUTCSeconds","splitEvery","delimiter","numDelimiters","Number","isInteger","segments","compoundSegments","currentSegment","sha256_js_1","supports_web_crypto_1","ie11_detection_1","supportsWebCrypto","isMsWindow","encoding","len","surrogatePair","decoded","byte","nextByte","byteValue","decodeURIComponent","encode","decode","RawSha256_1","RawSha256","outer","inner","bufferHash","bufferFromSecret","digestSync","finished","state","Int32Array","temp","bufferLength","bytesHashed","position","hashBuffer","bitsHashed","bufferView","undecoratedLength","setUint32","state0","state1","state2","state3","state4","state5","state6","state7","u","t1_1","t2_1","t1","t2","subtleCryptoMethods","supportsSecureRandom","getRandomValues","supportsSubtleCrypto","every","methodName","supportsZeroByteGCM","generateKey","encrypt","iv","additionalData","tagLength","msSubtleCryptoMethods","quacksLikeAnMsWindow","subtle_1","request_timeout_1","querystring_builder_1","FetchHttpHandler","httpOptions","handle","abortSignal","requestTimeoutInMs","requestTimeout","aborted","abortError","queryString","buildQueryString","requestOptions","Headers","AbortController","fetchRequest","Request","raceOfPromises","fetch","fetchHeaders","transformedHeaders","pair","status","blob","onabort","race","timeoutInMs","timeoutError","util_uri_escape_1","iLen","qsEntry","util_base64_browser_1","readToBase64","reader","FileReader","onloadend","readyState","commaIndex","dataOffset","substring","readAsDataURL","streamCollector","stream","base64","arrayBuffer","collectBlob","res","isDone","prior","getReader","read","collectStream","querystring","deserializerMiddleware_1","serializerMiddleware_1","deserializerMiddlewareOption","serializerMiddlewareOption","getSerdePlugin","commandStack","AMZ_DATE_HEADER","GENERATED_HEADERS","SIGNATURE_HEADER","TOKEN_HEADER","ALWAYS_UNSIGNABLE_HEADERS","authorization","connection","expect","pragma","referer","te","trailer","upgrade","PROXY_HEADER_PATTERN","SEC_HEADER_PATTERN","EVENT_ALGORITHM_IDENTIFIER","signingKeyCache","cacheQueue","createScope","shortDate","getSigningKey","sha256Constructor","cacheKey","accessKeyId","sessionToken","keyPromise","secretAccessKey","signable","intermediateKey","reason","clearCredentialCache","getCanonicalHeaders","unsignableHeaders","signableHeaders","canonical","headerName","canonicalHeaderName","trim","getPayloadHash","hashConstructor","hashCtor","cloneRequest","rest","cloneQuery","prepareRequest","iso8601","time","toDate","toISOString","applyChecksum","regionProvider","credentialProvider","presign","originalRequest","expiresIn","longDate","scope","canonicalHeaders","_f","_g","_h","_j","_k","_l","all","formatDate","moveHeadersToQuery","getCanonicalHeaderList","getSignature","createCanonicalRequest","toSign","signString","payload","signEvent","signRequest","priorSignature","hashedPayload","hashedHeaders","stringToSign","requestToSign","payloadHash","signature","soughtHeader","hasHeader","ALGORITHM_IDENTIFIER","sortedHeaders","getCanonicalPath","serialized","getCanonicalQuery","createStringToSign","credentialScope","canonicalRequest","hashedRequest","AWS_REGIONS","AWS_CN_REGIONS","AWS_ISO_REGIONS","AWS_ISO_B_REGIONS","AWS_US_GOV_REGIONS","ClientSharedValues","apiVersion","disableHostPrefix","ClientDefaultValues","base64Decoder","base64Encoder","utf8Decoder","utf8Encoder","LexRuntimeServiceClient","configuration","_config_0","_config_1","_config_2","_config_3","_config_4","_config_5","_config_6","deserializeAws_restJson1_1PostContentCommandError","parsedOutput","errorCode","_m","_o","_p","parsedBody","_q","parseBody","loadRestJsonErrorCode","deserializeAws_restJson1_1BadRequestExceptionResponse","deserializeMetadata","deserializeAws_restJson1_1ConflictExceptionResponse","deserializeAws_restJson1_1InternalFailureExceptionResponse","deserializeAws_restJson1_1LimitExceededExceptionResponse","deserializeAws_restJson1_1NotAcceptableExceptionResponse","deserializeAws_restJson1_1NotFoundExceptionResponse","deserializeAws_restJson1_1RequestTimeoutExceptionResponse","deserializeAws_restJson1_1UnsupportedMediaTypeExceptionResponse","deserializeAws_restJson1_1BadGatewayExceptionResponse","deserializeAws_restJson1_1DependencyFailedExceptionResponse","deserializeAws_restJson1_1LoopDetectedExceptionResponse","Code","Message","$fault","deserializeAws_restJson1_1PostTextCommandError","contents","retryAfterSeconds","serializeAws_restJson1_1StringMap","acc","deserializeAws_restJson1_1SentimentResponse","__type","sentimentLabel","sentimentScore","deserializeAws_restJson1_1StringMap","deserializeAws_restJson1_1ResponseCard","contentType","genericAttachments","deserializeAws_restJson1_1genericAttachmentList","version","attachmentLinkUrl","buttons","deserializeAws_restJson1_1listOfButtons","imageUrl","subTitle","title","deserializeAws_restJson1_1GenericAttachment","text","deserializeAws_restJson1_1Button","httpHeaders","requestId","collectBodyString","streamBody","collectBody","isSerializableHeaderValue","getOwnPropertyNames","includes","sanitizeErrorCode","rawValue","cleanValue","headerKey","find","PostTextCommand","stack","logger","resolvedPath","labelValue","botAlias","botName","userId","inputText","requestAttributes","sessionAttributes","serializeAws_restJson1_1PostTextCommand","dialogState","intentName","messageFormat","responseCard","sentimentResponse","sessionId","slotToElicit","slots","deserializeAws_restJson1_1PostTextCommand","PostContentCommand","accept","Accept","inputStream","serializeAws_restJson1_1PostContentCommand","audioStream","inputTranscript","deserializeAws_restJson1_1PostContentCommand"],"mappings":"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","file":"aws-amplify-interactions.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@aws-amplify/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws_amplify_interactions\", [\"@aws-amplify/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws_amplify_interactions\"] = factory(require(\"@aws-amplify/core\"));\n\telse\n\t\troot[\"aws_amplify_interactions\"] = factory(root[\"@aws-amplify/core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 84);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./client\"), exports);\ntslib_1.__exportStar(require(\"./command\"), exports);\ntslib_1.__exportStar(require(\"./extended-encode-uri-component\"), exports);\ntslib_1.__exportStar(require(\"./get-array-if-single-item\"), exports);\ntslib_1.__exportStar(require(\"./get-value-from-text-node\"), exports);\ntslib_1.__exportStar(require(\"./isa\"), exports);\ntslib_1.__exportStar(require(\"./lazy-json\"), exports);\ntslib_1.__exportStar(require(\"./date-utils\"), exports);\ntslib_1.__exportStar(require(\"./split-every\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXlCO0FBQ3pCLG9EQUEwQjtBQUcxQiwwRUFBZ0Q7QUFDaEQscUVBQTJDO0FBQzNDLHFFQUEyQztBQUMzQyxnREFBc0I7QUFDdEIsc0RBQTRCO0FBQzVCLHVEQUE2QjtBQUM3Qix3REFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jbGllbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RvY3VtZW50LXR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXh0ZW5kZWQtZW5jb2RlLXVyaS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dldC1hcnJheS1pZi1zaW5nbGUtaXRlbVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2V0LXZhbHVlLWZyb20tdGV4dC1ub2RlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pc2FcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhenktanNvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0ZS11dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3BsaXQtZXZlcnlcIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./httpResponse\"), exports);\ntslib_1.__exportStar(require(\"./httpRequest\"), exports);\ntslib_1.__exportStar(require(\"./isValidHostname\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQStCO0FBQy9CLHdEQUE4QjtBQUU5Qiw0REFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9odHRwUmVzcG9uc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2h0dHBSZXF1ZXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9odHRwSGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaXNWYWxpZEhvc3RuYW1lXCI7XG4iXX0=","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SHORT_TO_HEX = {};\nvar HEX_TO_SHORT = {};\nfor (var i = 0; i < 256; i++) {\n var encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = \"0\" + encodedByte;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n var out = new Uint8Array(encoded.length / 2);\n for (var i = 0; i < encoded.length; i += 2) {\n var encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(\"Cannot decode unrecognized sequence \" + encodedByte + \" as hexadecimal\");\n }\n }\n return out;\n}\nexports.fromHex = fromHex;\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nfunction toHex(bytes) {\n var out = \"\";\n for (var i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\nexports.toHex = toHex;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLElBQU0sWUFBWSxHQUE4QixFQUFFLENBQUM7QUFDbkQsSUFBTSxZQUFZLEdBQThCLEVBQUUsQ0FBQztBQUVuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzVCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0MsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM1QixXQUFXLEdBQUcsTUFBSSxXQUFhLENBQUM7S0FDakM7SUFFRCxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDO0lBQzlCLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Q0FDL0I7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLE9BQWU7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsSUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksV0FBVyxJQUFJLFlBQVksRUFBRTtZQUMvQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBdUMsV0FBVyxvQkFBaUIsQ0FDcEUsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFsQkQsMEJBa0JDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLEtBQUssQ0FBQyxLQUFpQjtJQUNyQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBUEQsc0JBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTSE9SVF9UT19IRVg6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nIH0gPSB7fTtcbmNvbnN0IEhFWF9UT19TSE9SVDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuXG5mb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgaSsrKSB7XG4gIGxldCBlbmNvZGVkQnl0ZSA9IGkudG9TdHJpbmcoMTYpLnRvTG93ZXJDYXNlKCk7XG4gIGlmIChlbmNvZGVkQnl0ZS5sZW5ndGggPT09IDEpIHtcbiAgICBlbmNvZGVkQnl0ZSA9IGAwJHtlbmNvZGVkQnl0ZX1gO1xuICB9XG5cbiAgU0hPUlRfVE9fSEVYW2ldID0gZW5jb2RlZEJ5dGU7XG4gIEhFWF9UT19TSE9SVFtlbmNvZGVkQnl0ZV0gPSBpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgaGV4YWRlY2ltYWwgZW5jb2RlZCBzdHJpbmcgdG8gYSBVaW50OEFycmF5IG9mIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBlbmNvZGVkIFRoZSBoZXhhZGVjaW1hbCBlbmNvZGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUhleChlbmNvZGVkOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgaWYgKGVuY29kZWQubGVuZ3RoICUgMiAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkhleCBlbmNvZGVkIHN0cmluZ3MgbXVzdCBoYXZlIGFuIGV2ZW4gbnVtYmVyIGxlbmd0aFwiKTtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IG5ldyBVaW50OEFycmF5KGVuY29kZWQubGVuZ3RoIC8gMik7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZW5jb2RlZC5sZW5ndGg7IGkgKz0gMikge1xuICAgIGNvbnN0IGVuY29kZWRCeXRlID0gZW5jb2RlZC5zdWJzdHIoaSwgMikudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoZW5jb2RlZEJ5dGUgaW4gSEVYX1RPX1NIT1JUKSB7XG4gICAgICBvdXRbaSAvIDJdID0gSEVYX1RPX1NIT1JUW2VuY29kZWRCeXRlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2Fubm90IGRlY29kZSB1bnJlY29nbml6ZWQgc2VxdWVuY2UgJHtlbmNvZGVkQnl0ZX0gYXMgaGV4YWRlY2ltYWxgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBVaW50OEFycmF5IG9mIGJpbmFyeSBkYXRhIHRvIGEgaGV4YWRlY2ltYWwgZW5jb2RlZCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGJ5dGVzIFRoZSBiaW5hcnkgZGF0YSB0byBlbmNvZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSGV4KGJ5dGVzOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgbGV0IG91dCA9IFwiXCI7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMuYnl0ZUxlbmd0aDsgaSsrKSB7XG4gICAgb3V0ICs9IFNIT1JUX1RPX0hFWFtieXRlc1tpXV07XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./escape-uri\"), exports);\ntslib_1.__exportStar(require(\"./escape-uri-path\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTZCO0FBQzdCLDREQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VzY2FwZS11cmlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VzY2FwZS11cmktcGF0aFwiO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar alphabetByEncoding = {};\nvar alphabetByValue = new Array(64);\nfor (var i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\nfor (var i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n var index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nfor (var i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n var char = i.toString(10);\n var index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\nvar bitsPerLetter = 6;\nvar bitsPerByte = 8;\nvar maxLetterValue = 63;\n/**\n * Converts a base-64 encoded string to a Uint8Array of bytes.\n *\n * @param input The base-64 encoded string\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nfunction fromBase64(input) {\n var totalByteLength = (input.length / 4) * 3;\n if (input.substr(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.substr(-1) === \"=\") {\n totalByteLength--;\n }\n var out = new ArrayBuffer(totalByteLength);\n var dataView = new DataView(out);\n for (var i = 0; i < input.length; i += 4) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n var chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n var byteLength = Math.floor(bitLength / bitsPerByte);\n for (var k = 0; k < byteLength; k++) {\n var offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n}\nexports.fromBase64 = fromBase64;\n/**\n * Converts a Uint8Array of binary data to a base-64 encoded string.\n *\n * @param input The binary data to encode\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nfunction toBase64(input) {\n var str = \"\";\n for (var i = 0; i < input.length; i += 3) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n var bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (var k = 1; k <= bitClusterCount; k++) {\n var offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\nexports.toBase64 = toBase64;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLGtCQUFrQixHQUE4QixFQUFFLENBQUM7QUFDekQsSUFBTSxlQUFlLEdBQWtCLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXJELEtBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUMvRCxDQUFDLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFDbEIsQ0FBQyxFQUFFLEVBQ0g7SUFDQSxJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM1QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUMzQjtBQUVELEtBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUMvRCxDQUFDLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFDbEIsQ0FBQyxFQUFFLEVBQ0g7SUFDQSxJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM1QyxJQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNqQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO0NBQy9CO0FBRUQsS0FBSyxJQUFJLENB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QWUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztLQUMzQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQXJCRCw0QkFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhbHBoYWJldEJ5RW5jb2Rpbmc6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbmNvbnN0IGFscGhhYmV0QnlWYWx1ZTogQXJyYXk8c3RyaW5nPiA9IG5ldyBBcnJheSg2NCk7XG5cbmZvciAoXG4gIGxldCBpID0gMCwgc3RhcnQgPSBcIkFcIi5jaGFyQ29kZUF0KDApLCBsaW1pdCA9IFwiWlwiLmNoYXJDb2RlQXQoMCk7XG4gIGkgKyBzdGFydCA8PSBsaW1pdDtcbiAgaSsrXG4pIHtcbiAgY29uc3QgY2hhciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaSArIHN0YXJ0KTtcbiAgYWxwaGFiZXRCeUVuY29kaW5nW2NoYXJdID0gaTtcbiAgYWxwaGFiZXRCeVZhbHVlW2ldID0gY2hhcjtcbn1cblxuZm9yIChcbiAgbGV0IGkgPSAwLCBzdGFydCA9IFwiYVwiLmNoYXJDb2RlQXQoMCksIGxpbWl0ID0gXCJ6XCIuY2hhckNvZGVBdCgwKTtcbiAgaSArIHN0YXJ0IDw9IGxpbWl0O1xuICBpKytcbikge1xuICBjb25zdCBjaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpICsgc3RhcnQpO1xuICBjb25zdCBpbmRleCA9IGkgKyAyNjtcbiAgYWxwaGFiZXRCeUVuY29kaW5nW2NoYXJdID0gaW5kZXg7XG4gIGFscGhhYmV0QnlWYWx1ZVtpbmRleF0gPSBjaGFyO1xufVxuXG5mb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcbiAgYWxwaGFiZXRCeUVuY29kaW5nW2kudG9TdHJpbmcoMTApXSA9IGkgKyA1MjtcbiAgY29uc3QgY2hhciA9IGkudG9TdHJpbmcoMTApO1xuICBjb25zdCBpbmRleCA9IGkgKyA1MjtcbiAgYWxwaGFiZXRCeUVuY29kaW5nW2NoYXJdID0gaW5kZXg7XG4gIGFscGhhYmV0QnlWYWx1ZVtpbmRleF0gPSBjaGFyO1xufVxuXG5hbHBoYWJldEJ5RW5jb2RpbmdbXCIrXCJdID0gNjI7XG5hbHBoYWJldEJ5VmFsdWVbNjJdID0gXCIrXCI7XG5hbHBoYWJldEJ5RW5jb2RpbmdbXCIvXCJdID0gNjM7XG5hbHBoYWJldEJ5VmFsdWVbNjNdID0gXCIvXCI7XG5cbmNvbnN0IGJpdHNQZXJMZXR0ZXIgPSA2O1xuY29uc3QgYml0c1BlckJ5dGUgPSA4O1xuY29uc3QgbWF4TGV0dGVyVmFsdWUgPSAwYjExMTExMTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJhc2UtNjQgZW5jb2RlZCBzdHJpbmcgdG8gYSBVaW50OEFycmF5IG9mIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBpbnB1dCBUaGUgYmFzZS02NCBlbmNvZGVkIHN0cmluZ1xuICpcbiAqIEBzZWUgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzQ2NDgjc2VjdGlvbi00XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQmFzZTY0KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgbGV0IHRvdGFsQnl0ZUxlbmd0aCA9IChpbnB1dC5sZW5ndGggLyA0KSAqIDM7XG4gIGlmIChpbnB1dC5zdWJzdHIoLTIpID09PSBcIj09XCIpIHtcbiAgICB0b3RhbEJ5dGVMZW5ndGggLT0gMjtcbiAgfSBlbHNlIGlmIChpbnB1dC5zdWJzdHIoLTEpID09PSBcIj1cIikge1xuICAgIHRvdGFsQnl0ZUxlbmd0aC0tO1xuICB9XG4gIGNvbnN0IG91dCA9IG5ldyBBcnJheUJ1ZmZlcih0b3RhbEJ5dGVMZW5ndGgpO1xuICBjb25zdCBkYXRhVmlldyA9IG5ldyBEYXRhVmlldyhvdXQpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSArPSA0KSB7XG4gICAgbGV0IGJpdHMgPSAwO1xuICAgIGxldCBiaXRMZW5ndGggPSAwO1xuICAgIGZvciAobGV0IGogPSBpLCBsaW1pdCA9IGkgKyAzOyBqIDw9IGxpbWl0OyBqKyspIHtcbiAgICAgIGlmIChpbnB1dFtqXSAhPT0gXCI9XCIpIHtcbiAgICAgICAgYml0cyB8PSBhbHBoYWJldEJ5RW5jb2RpbmdbaW5wdXRbal1dIDw8ICgobGltaXQgLSBqKSAqIGJpdHNQZXJMZXR0ZXIpO1xuICAgICAgICBiaXRMZW5ndGggKz0gYml0c1BlckxldHRlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJpdHMgPj49IGJpdHNQZXJMZXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY2h1bmtPZmZzZXQgPSAoaSAvIDQpICogMztcbiAgICBiaXRzID4+PSBiaXRMZW5ndGggJSBiaXRzUGVyQnl0ZTtcbiAgICBjb25zdCBieXRlTGVuZ3RoID0gTWF0aC5mbG9vcihiaXRMZW5ndGggLyBiaXRzUGVyQnl0ZSk7XG4gICAgZm9yIChsZXQgayA9IDA7IGsgPCBieXRlTGVuZ3RoOyBrKyspIHtcbiAgICAgIGNvbnN0IG9mZnNldCA9IChieXRlTGVuZ3RoIC0gayAtIDEpICogYml0c1BlckJ5dGU7XG4gICAgICBkYXRhVmlldy5zZXRVaW50OChjaHVua09mZnNldCArIGssIChiaXRzICYgKDI1NSA8PCBvZmZzZXQpKSA+PiBvZmZzZXQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgVWludDhBcnJheShvdXQpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVWludDhBcnJheSBvZiBiaW5hcnkgZGF0YSB0byBhIGJhc2UtNjQgZW5jb2RlZCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGlucHV0IFRoZSBiaW5hcnkgZGF0YSB0byBlbmNvZGVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM0NjQ4I3NlY3Rpb24tNFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9CYXNlNjQoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICBsZXQgc3RyID0gXCJcIjtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkgKz0gMykge1xuICAgIGxldCBiaXRzID0gMDtcbiAgICBsZXQgYml0TGVuZ3RoID0gMDtcbiAgICBmb3IgKGxldCBqID0gaSwgbGltaXQgPSBNYXRoLm1pbihpICsgMywgaW5wdXQubGVuZ3RoKTsgaiA8IGxpbWl0OyBqKyspIHtcbiAgICAgIGJpdHMgfD0gaW5wdXRbal0gPDwgKChsaW1pdCAtIGogLSAxKSAqIGJpdHNQZXJCeXRlKTtcbiAgICAgIGJpdExlbmd0aCArPSBiaXRzUGVyQnl0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRDbHVzdGVyQ291bnQgPSBNYXRoLmNlaWwoYml0TGVuZ3RoIC8gYml0c1BlckxldHRlcik7XG4gICAgYml0cyA8PD0gYml0Q2x1c3RlckNvdW50ICogYml0c1BlckxldHRlciAtIGJpdExlbmd0aDtcbiAgICBmb3IgKGxldCBrID0gMTsgayA8PSBiaXRDbHVzdGVyQ291bnQ7IGsrKykge1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gKGJpdENsdXN0ZXJDb3VudCAtIGspICogYml0c1BlckxldHRlcjtcbiAgICAgIHN0ciArPSBhbHBoYWJldEJ5VmFsdWVbKGJpdHMgJiAobWF4TGV0dGVyVmFsdWUgPDwgb2Zmc2V0KSkgPj4gb2Zmc2V0XTtcbiAgICB9XG5cbiAgICBzdHIgKz0gXCI9PVwiLnNsaWNlKDAsIDQgLSBiaXRDbHVzdGVyQ291bnQpO1xuICB9XG5cbiAgcmV0dXJuIHN0cjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./deserializerMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./serializerMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./serdePlugin\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQXlDO0FBQ3pDLGlFQUF1QztBQUN2Qyx3REFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZXNlcmlhbGl6ZXJNaWRkbGV3YXJlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJpYWxpemVyTWlkZGxld2FyZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VyZGVQbHVnaW5cIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * The base number of milliseconds to use in calculating a suitable cool-down\n * time when a retryable error is encountered.\n */\nexports.DEFAULT_RETRY_DELAY_BASE = 100;\n/**\n * The maximum amount of time (in milliseconds) that will be used as a delay\n * between retry attempts.\n */\nexports.MAXIMUM_RETRY_DELAY = 20 * 1000;\n/**\n * HTTP status codes that indicate the operation may be retried.\n */\nexports.RETRYABLE_STATUS_CODES = new Set();\n[429, 500, 502, 503, 504, 509].forEach(function (code) {\n return exports.RETRYABLE_STATUS_CODES.add(code);\n});\n/**\n * The retry delay base (in milliseconds) to use when a throttling error is\n * encountered.\n */\nexports.THROTTLING_RETRY_DELAY_BASE = 500;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7R0FHRztBQUNVLFFBQUEsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0FBRTVDOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUU3Qzs7R0FFRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUN4RCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtJQUN6QyxPQUFBLDhCQUFzQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFBaEMsQ0FBZ0MsQ0FDakMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYmFzZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHVzZSBpbiBjYWxjdWxhdGluZyBhIHN1aXRhYmxlIGNvb2wtZG93blxuICogdGltZSB3aGVuIGEgcmV0cnlhYmxlIGVycm9yIGlzIGVuY291bnRlcmVkLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRVRSWV9ERUxBWV9CQVNFID0gMTAwO1xuXG4vKipcbiAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGEgZGVsYXlcbiAqIGJldHdlZW4gcmV0cnkgYXR0ZW1wdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhJTVVNX1JFVFJZX0RFTEFZID0gMjAgKiAxMDAwO1xuXG4vKipcbiAqIEhUVFAgc3RhdHVzIGNvZGVzIHRoYXQgaW5kaWNhdGUgdGhlIG9wZXJhdGlvbiBtYXkgYmUgcmV0cmllZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFVFJZQUJMRV9TVEFUVVNfQ09ERVMgPSBuZXcgU2V0PG51bWJlcj4oKTtcbls0MjksIDUwMCwgNTAyLCA1MDMsIDUwNCwgNTA5XS5mb3JFYWNoKGNvZGUgPT5cbiAgUkVUUllBQkxFX1NUQVRVU19DT0RFUy5hZGQoY29kZSlcbik7XG5cbi8qKlxuICogVGhlIHJldHJ5IGRlbGF5IGJhc2UgKGluIG1pbGxpc2Vjb25kcykgdG8gdXNlIHdoZW4gYSB0aHJvdHRsaW5nIGVycm9yIGlzXG4gKiBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRIUk9UVExJTkdfUkVUUllfREVMQVlfQkFTRSA9IDUwMDtcbiJdfQ==","Object.defineProperty(exports, \"__esModule\", { value: true });\nvar fallbackWindow = {};\n/**\n * Locates the global scope for a browser or browser-like environment. If\n * neither `window` nor `self` is defined by the environment, the same object\n * will be returned on each invocation.\n */\nfunction locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\nexports.locateWindow = locateWindow;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLElBQU0sY0FBYyxHQUFHLEVBQVksQ0FBQztBQUVwQzs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWTtJQUMxQixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNqQyxPQUFPLE1BQU0sQ0FBQztLQUNmO1NBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDdEMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFSRCxvQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGZhbGxiYWNrV2luZG93ID0ge30gYXMgV2luZG93O1xuXG4vKipcbiAqIExvY2F0ZXMgdGhlIGdsb2JhbCBzY29wZSBmb3IgYSBicm93c2VyIG9yIGJyb3dzZXItbGlrZSBlbnZpcm9ubWVudC4gSWZcbiAqIG5laXRoZXIgYHdpbmRvd2Agbm9yIGBzZWxmYCBpcyBkZWZpbmVkIGJ5IHRoZSBlbnZpcm9ubWVudCwgdGhlIHNhbWUgb2JqZWN0XG4gKiB3aWxsIGJlIHJldHVybmVkIG9uIGVhY2ggaW52b2NhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvY2F0ZVdpbmRvdygpOiBXaW5kb3cge1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gc2VsZjtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja1dpbmRvdztcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EndpointsConfig\"), exports);\ntslib_1.__exportStar(require(\"./RegionConfig\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQWtDO0FBQ2xDLHlEQUErQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0VuZHBvaW50c0NvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVnaW9uQ29uZmlnXCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\nexports.resolveHostHeaderConfig = resolveHostHeaderConfig;\nexports.hostHeaderMiddleware = function (options) { return function (next) { return function (args) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {\n var request, _a, handlerProtocol;\n return tslib_1.__generator(this, function (_b) {\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return [2 /*return*/, next(args)];\n request = args.request;\n _a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? \"\" : _a;\n //For H2 request, remove 'host' header and use ':authority' header instead\n //reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n //non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.\n }\n else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return [2 /*return*/, next(args)];\n });\n}); }; }; };\nexports.hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n tags: [\"HOST\"]\n};\nexports.getHostHeaderPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(exports.hostHeaderMiddleware(options), exports.hostHeaderMiddlewareOptions);\n }\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBZ0JyRCxTQUFnQix1QkFBdUIsQ0FDckMsS0FBcUQ7SUFFckQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBSkQsMERBSUM7QUFFWSxRQUFBLG9CQUFvQixHQUFHLFVBSWxDLE9BQWlDLElBQ0UsT0FBQSxVQUFBLElBQUksSUFBSSxPQUFBLFVBQU0sSUFBSTs7O1FBQ3JELElBQUksQ0FBQywyQkFBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQUUsc0JBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDO1FBQ3JELE9BQU8sR0FBSyxJQUFJLFFBQVQsQ0FBVTtRQUNqQixLQUF5QixDQUFBLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQSxnQkFBMUMsRUFBcEIsZUFBZSxtQkFBRyxFQUFFLEtBQUEsQ0FBMkM7UUFDdkUsMEVBQTBFO1FBQzFFLDJHQUEyRztRQUMzRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbkMsMkZBQTJGO1NBQzVGO2FBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQzVDO1FBQ0Qsc0JBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDOztLQUNuQixFQWQ0QyxDQWM1QyxFQWRvQyxDQWNwQyxDQUFDO0FBRVcsUUFBQSwyQkFBMkIsR0FDbkI7SUFDbkIsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztDQUNmLENBQUM7QUFFVyxRQUFBLG1CQUFtQixHQUFHLFVBQ2pDLE9BQWlDLElBQ1QsT0FBQSxDQUFDO0lBQ3pCLFlBQVksRUFBRSxVQUFBLFdBQVc7UUFDdkIsV0FBVyxDQUFDLEdBQUcsQ0FBQyw0QkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxtQ0FBMkIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRixDQUFDLEVBSndCLENBSXhCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBSZXF1ZXN0SGFuZGxlcixcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBCdWlsZEhhbmRsZXJPcHRpb25zLFxuICBBYnNvbHV0ZUxvY2F0aW9uLFxuICBQbHVnZ2FibGVcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdEhlYWRlcklucHV0Q29uZmlnIHt9XG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnIHtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55Pjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSG9zdEhlYWRlckNvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBIb3N0SGVhZGVySW5wdXRDb25maWdcbik6IFQgJiBIb3N0SGVhZGVyUmVzb2x2ZWRDb25maWcge1xuICByZXR1cm4gaW5wdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBob3N0SGVhZGVyTWlkZGxld2FyZSA9IDxcbiAgSW5wdXQgZXh0ZW5kcyBvYmplY3QsXG4gIE91dHB1dCBleHRlbmRzIG9iamVjdFxuPihcbiAgb3B0aW9uczogSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnXG4pOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4gPT4gbmV4dCA9PiBhc3luYyBhcmdzID0+IHtcbiAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICBjb25zdCB7IHJlcXVlc3QgfSA9IGFyZ3M7XG4gIGNvbnN0IHsgaGFuZGxlclByb3RvY29sID0gXCJcIiB9ID0gb3B0aW9ucy5yZXF1ZXN0SGFuZGxlci5tZXRhZGF0YSB8fCB7fTtcbiAgLy9Gb3IgSDIgcmVxdWVzdCwgcmVtb3ZlICdob3N0JyBoZWFkZXIgYW5kIHVzZSAnOmF1dGhvcml0eScgaGVhZGVyIGluc3RlYWRcbiAgLy9yZWZlcmVuY2U6IGh0dHBzOi8vbm9kZWpzLm9yZy9kaXN0L2xhdGVzdC12MTMueC9kb2NzL2FwaS9lcnJvcnMuaHRtbCNFUlJfSFRUUDJfSU5WQUxJRF9DT05ORUNUSU9OX0hFQURFUlNcbiAgaWYgKGhhbmRsZXJQcm90b2NvbC5pbmRleE9mKFwiaDJcIikgPj0gMCAmJiAhcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSkge1xuICAgIGRlbGV0ZSByZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdO1xuICAgIHJlcXVlc3QuaGVhZGVyc1tcIjphdXRob3JpdHlcIl0gPSBcIlwiO1xuICAgIC8vbm9uLUgyIHJlcXVlc3QgYW5kICdob3N0JyBoZWFkZXIgaXMgbm90IHNldCwgc2V0IHRoZSAnaG9zdCcgaGVhZGVyIHRvIHJlcXVlc3QncyBob3N0bmFtZS5cbiAgfSBlbHNlIGlmICghcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSkge1xuICAgIHJlcXVlc3QuaGVhZGVyc1tcImhvc3RcIl0gPSByZXF1ZXN0Lmhvc3RuYW1lO1xuICB9XG4gIHJldHVybiBuZXh0KGFyZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhvc3RIZWFkZXJNaWRkbGV3YXJlT3B0aW9uczogQnVpbGRIYW5kbGVyT3B0aW9ucyAmXG4gIEFic29sdXRlTG9jYXRpb24gPSB7XG4gIG5hbWU6IFwiaG9zdEhlYWRlck1pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJidWlsZFwiLFxuICB0YWdzOiBbXCJIT1NUXCJdXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdEhlYWRlclBsdWdpbiA9IChcbiAgb3B0aW9uczogSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnXG4pOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogY2xpZW50U3RhY2sgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChob3N0SGVhZGVyTWlkZGxld2FyZShvcHRpb25zKSwgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfVxufSk7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./retryMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./defaultStrategy\"), exports);\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./delayDecider\"), exports);\ntslib_1.__exportStar(require(\"./retryDecider\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQWtDO0FBQ2xDLDREQUFrQztBQUNsQywyREFBaUM7QUFDakMseURBQStCO0FBQy9CLHlEQUErQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3JldHJ5TWlkZGxld2FyZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVmYXVsdFN0cmF0ZWd5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVsYXlEZWNpZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXRyeURlY2lkZXJcIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlDO0FBQ2pDLHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlDO0FBQ2pDLHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fetch-http-handler\"), exports);\ntslib_1.__exportStar(require(\"./stream-collector\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQXFDO0FBQ3JDLDZEQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2ZldGNoLWh0dHAtaGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyZWFtLWNvbGxlY3RvclwiO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.invalidFunction = function (message) { return function () {\n throw new Error(message);\n}; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBYSxRQUFBLGVBQWUsR0FBRyxVQUFDLE9BQWUsSUFBSyxPQUFBO0lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxFQUZtRCxDQUVuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGludmFsaWRGdW5jdGlvbiA9IChtZXNzYWdlOiBzdHJpbmcpID0+ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xufTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pureJs_1 = require(\"./pureJs\");\nvar whatwgEncodingApi_1 = require(\"./whatwgEncodingApi\");\nfunction fromUtf8(input) {\n if (typeof TextEncoder === \"function\") {\n return whatwgEncodingApi_1.fromUtf8(input);\n }\n return pureJs_1.fromUtf8(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n if (typeof TextDecoder === \"function\") {\n return whatwgEncodingApi_1.toUtf8(input);\n }\n return pureJs_1.toUtf8(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBc0U7QUFDdEUseURBRzZCO0FBSzdCLFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sNEJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbkM7SUFFRCxPQUFPLGlCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQU5ELDRCQU1DO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sMEJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDakM7SUFFRCxPQUFPLGVBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBTkQsd0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7XG4gIGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsXG4gIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOFxufSBmcm9tIFwiLi93aGF0d2dFbmNvZGluZ0FwaVwiO1xuXG5kZWNsYXJlIGNvbnN0IFRleHREZWNvZGVyOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbmRlY2xhcmUgY29uc3QgVGV4dEVuY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVV0ZjgoaW5wdXQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIFRleHRFbmNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJGcm9tVXRmOChpbnB1dCk7XG4gIH1cblxuICByZXR1cm4ganNGcm9tVXRmOChpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJUb1V0ZjgoaW5wdXQpO1xuICB9XG5cbiAgcmV0dXJuIGpzVG9VdGY4KGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"./constants\");\nvar delayDecider_1 = require(\"./delayDecider\");\nvar retryDecider_1 = require(\"./retryDecider\");\nvar service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nvar ExponentialBackOffStrategy = /** @class */ (function () {\n function ExponentialBackOffStrategy(maxRetries, retryDecider, delayDecider) {\n if (retryDecider === void 0) { retryDecider = retryDecider_1.defaultRetryDecider; }\n if (delayDecider === void 0) { delayDecider = delayDecider_1.defaultDelayDecider; }\n this.maxRetries = maxRetries;\n this.retryDecider = retryDecider;\n this.delayDecider = delayDecider;\n }\n ExponentialBackOffStrategy.prototype.shouldRetry = function (error, retryAttempted) {\n return retryAttempted < this.maxRetries && this.retryDecider(error);\n };\n ExponentialBackOffStrategy.prototype.retry = function (next, args) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var retries, totalDelay, _loop_1, this_1, state_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n retries = 0;\n totalDelay = 0;\n _loop_1 = function () {\n var _a, response, output, err_1, delay_1;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 5]);\n return [4 /*yield*/, next(args)];\n case 1:\n _a = _b.sent(), response = _a.response, output = _a.output;\n output.$metadata.retries = retries;\n output.$metadata.totalRetryDelay = totalDelay;\n return [2 /*return*/, { value: { response: response, output: output } }];\n case 2:\n err_1 = _b.sent();\n if (!this_1.shouldRetry(err_1, retries)) return [3 /*break*/, 4];\n delay_1 = this_1.delayDecider(service_error_classification_1.isThrottlingError(err_1)\n ? constants_1.THROTTLING_RETRY_DELAY_BASE\n : constants_1.DEFAULT_RETRY_DELAY_BASE, retries++);\n totalDelay += delay_1;\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, delay_1); })];\n case 3:\n _b.sent();\n return [2 /*return*/, \"continue\"];\n case 4:\n if (!err_1.$metadata) {\n err_1.$metadata = {};\n }\n err_1.$metadata.retries = retries;\n err_1.$metadata.totalRetryDelay = totalDelay;\n throw err_1;\n case 5: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n _a.label = 1;\n case 1:\n if (!true) return [3 /*break*/, 3];\n return [5 /*yield**/, _loop_1()];\n case 2:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n return ExponentialBackOffStrategy;\n}());\nexports.ExponentialBackOffStrategy = ExponentialBackOffStrategy;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlZmF1bHRTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FHcUI7QUFDckIsK0NBQXFEO0FBQ3JELCtDQUFxRDtBQUNyRCxzRkFBMEU7QUE2QjFFO0lBQ0Usb0NBQ2tCLFVBQWtCLEVBQzFCLFlBQWdELEVBQ2hELFlBQWdEO1FBRGhELDZCQUFBLEVBQUEsZUFBNkIsa0NBQW1CO1FBQ2hELDZCQUFBLEVBQUEsZUFBNkIsa0NBQW1CO1FBRnhDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQW9DO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFvQztJQUN2RCxDQUFDO0lBQ0ksZ0RBQVcsR0FBbkIsVUFBb0IsS0FBZSxFQUFFLGNBQXNCO1FBQ3pELE9BQU8sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUssMENBQUssR0FBWCxVQUNFLElBQW1DLEVBQ25DLElBQXFDOzs7Ozs7d0JBRWpDLE9BQU8sR0FBRyxDQUFDLENBQUM7d0JBQ1osVUFBVSxHQUFHLENBQUMsQ0FBQzs7Ozs7Ozt3Q0FHYyxxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7O3dDQUF2QyxLQUF1QixTQUFnQixFQUFyQyxRQUFRLGNBQUEsRUFBRSxNQUFNLFlBQUE7d0NBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzt3Q0FDbkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO3VFQUV2QyxFQUFFLFFBQVEsVUFBQSxFQUFFLE1BQU0sUUFBQSxFQUFFOzs7NkNBRXZCLE9BQUssV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFPLENBQUMsRUFBMUMsd0JBQTBDO3dDQUN0QyxVQUFRLE9BQUssWUFBWSxDQUM3QixnREFBaUIsQ0FBQyxLQUFHLENBQUM7NENBQ3BCLENBQUMsQ0FBQyx1Q0FBMkI7NENBQzdCLENBQUMsQ0FBQyxvQ0FBd0IsRUFDNUIsT0FBTyxFQUFFLENBQ1YsQ0FBQzt3Q0FDRixVQUFVLElBQUksT0FBSyxDQUFDO3dDQUVwQixxQkFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBSyxDQUFDLEVBQTFCLENBQTBCLENBQUMsRUFBQTs7d0NBQXhELFNBQXdELENBQUM7Ozt3Q0FJM0QsSUFBSSxDQUFDLEtBQUcsQ0FBQyxTQUFTLEVBQUU7NENBQ2xCLEtBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO3lDQUNwQjt3Q0FFRCxLQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7d0NBQ2hDLEtBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQzt3Q0FDM0MsTUFBTSxLQUFHLENBQUM7Ozs7Ozs7OzZCQTNCUCxJQUFJOzs7Ozs7Ozs7OztLQThCWjtJQUNILGlDQUFDO0FBQUQsQ0FBQyxBQS9DRCxJQStDQztBQS9DWSxnRUFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBERUZBVUxUX1JFVFJZX0RFTEFZX0JBU0UsXG4gIFRIUk9UVExJTkdfUkVUUllfREVMQVlfQkFTRVxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRlZmF1bHREZWxheURlY2lkZXIgfSBmcm9tIFwiLi9kZWxheURlY2lkZXJcIjtcbmltcG9ydCB7IGRlZmF1bHRSZXRyeURlY2lkZXIgfSBmcm9tIFwiLi9yZXRyeURlY2lkZXJcIjtcbmltcG9ydCB7IGlzVGhyb3R0bGluZ0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NlcnZpY2UtZXJyb3ItY2xhc3NpZmljYXRpb25cIjtcbmltcG9ydCB7XG4gIFNka0Vycm9yLFxuICBGaW5hbGl6ZUhhbmRsZXIsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIFJldHJ5U3RyYXRlZ3lcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGVycm9yIGlzIHJldHJ5YWJsZSBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIHJldHJpZXNcbiAqIGFscmVhZHkgYXR0ZW1wdGVkLCB0aGUgSFRUUCBzdGF0dXMgY29kZSwgYW5kIHRoZSBlcnJvciByZWNlaXZlZCAoaWYgYW55KS5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgICAgICAgICBUaGUgZXJyb3IgZW5jb3VudGVyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0cnlEZWNpZGVyIHtcbiAgKGVycm9yOiBTZGtFcnJvcik6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSByZXRyeWluZyBhbiBhY3Rpb24uXG4gKlxuICogQHBhcmFtIGRlbGF5QmFzZSBUaGUgYmFzZSBkZWxheSAoaW4gbWlsbGlzZWNvbmRzKS5cbiAqIEBwYXJhbSBhdHRlbXB0cyAgVGhlIG51bWJlciBvZiB0aW1lcyB0aGUgYWN0aW9uIGhhcyBhbHJlYWR5IGJlZW4gdHJpZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsYXlEZWNpZGVyIHtcbiAgKGRlbGF5QmFzZTogbnVtYmVyLCBhdHRlbXB0czogbnVtYmVyKTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRXhwb25lbnRpYWxCYWNrT2ZmU3RyYXRlZ3kgaW1wbGVtZW50cyBSZXRyeVN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG1heFJldHJpZXM6IG51bWJlcixcbiAgICBwcml2YXRlIHJldHJ5RGVjaWRlcjogUmV0cnlEZWNpZGVyID0gZGVmYXVsdFJldHJ5RGVjaWRlcixcbiAgICBwcml2YXRlIGRlbGF5RGVjaWRlcjogRGVsYXlEZWNpZGVyID0gZGVmYXVsdERlbGF5RGVjaWRlclxuICApIHt9XG4gIHByaXZhdGUgc2hvdWxkUmV0cnkoZXJyb3I6IFNka0Vycm9yLCByZXRyeUF0dGVtcHRlZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHJldHJ5QXR0ZW1wdGVkIDwgdGhpcy5tYXhSZXRyaWVzICYmIHRoaXMucmV0cnlEZWNpZGVyKGVycm9yKTtcbiAgfVxuXG4gIGFzeW5jIHJldHJ5PElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyPihcbiAgICBuZXh0OiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91cHV0PixcbiAgICBhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8SW5wdXQ+XG4gICkge1xuICAgIGxldCByZXRyaWVzID0gMDtcbiAgICBsZXQgdG90YWxEZWxheSA9IDA7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgcmVzcG9uc2UsIG91dHB1dCB9ID0gYXdhaXQgbmV4dChhcmdzKTtcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS5yZXRyaWVzID0gcmV0cmllcztcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS50b3RhbFJldHJ5RGVsYXkgPSB0b3RhbERlbGF5O1xuXG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlLCBvdXRwdXQgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAodGhpcy5zaG91bGRSZXRyeShlcnIgYXMgU2RrRXJyb3IsIHJldHJpZXMpKSB7XG4gICAgICAgICAgY29uc3QgZGVsYXkgPSB0aGlzLmRlbGF5RGVjaWRlcihcbiAgICAgICAgICAgIGlzVGhyb3R0bGluZ0Vycm9yKGVycilcbiAgICAgICAgICAgICAgPyBUSFJPVFRMSU5HX1JFVFJZX0RFTEFZX0JBU0VcbiAgICAgICAgICAgICAgOiBERUZBVUxUX1JFVFJZX0RFTEFZX0JBU0UsXG4gICAgICAgICAgICByZXRyaWVzKytcbiAgICAgICAgICApO1xuICAgICAgICAgIHRvdGFsRGVsYXkgKz0gZGVsYXk7XG5cbiAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXJyLiRtZXRhZGF0YSkge1xuICAgICAgICAgIGVyci4kbWV0YWRhdGEgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVyci4kbWV0YWRhdGEucmV0cmllcyA9IHJldHJpZXM7XG4gICAgICAgIGVyci4kbWV0YWRhdGEudG90YWxSZXRyeURlbGF5ID0gdG90YWxEZWxheTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar constants_1 = require(\"./constants\");\n/**\n * Calculate a capped, fully-jittered exponential backoff time.\n */\nfunction defaultDelayDecider(delayBase, attempts) {\n return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * Math.pow(2, attempts) * delayBase));\n}\nexports.defaultDelayDecider = defaultDelayDecider;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlbGF5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFrRDtBQUVsRDs7R0FFRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxTQUFpQixFQUNqQixRQUFnQjtJQUVoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBQSxDQUFDLEVBQUksUUFBUSxDQUFBLEdBQUcsU0FBUyxDQUFDLENBQ3pFLENBQUM7QUFDSixDQUFDO0FBUEQsa0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNQVhJTVVNX1JFVFJZX0RFTEFZIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQ2FsY3VsYXRlIGEgY2FwcGVkLCBmdWxseS1qaXR0ZXJlZCBleHBvbmVudGlhbCBiYWNrb2ZmIHRpbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RGVsYXlEZWNpZGVyKFxuICBkZWxheUJhc2U6IG51bWJlcixcbiAgYXR0ZW1wdHM6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGguZmxvb3IoXG4gICAgTWF0aC5taW4oTUFYSU1VTV9SRVRSWV9ERUxBWSwgTWF0aC5yYW5kb20oKSAqIDIgKiogYXR0ZW1wdHMgKiBkZWxheUJhc2UpXG4gICk7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar constants_1 = require(\"./constants\");\nvar service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nexports.defaultRetryDecider = function (error) {\n if (!error) {\n return false;\n }\n if (error.connectionError) {\n return true;\n }\n if (hasMetadata(error) &&\n error.$metadata.httpStatusCode &&\n constants_1.RETRYABLE_STATUS_CODES.has(error.$metadata.httpStatusCode)) {\n return true;\n }\n return (service_error_classification_1.isStillProcessingError(error) ||\n service_error_classification_1.isThrottlingError(error) ||\n service_error_classification_1.isClockSkewError(error));\n};\nfunction hasMetadata(error) {\n return error === null || error === void 0 ? void 0 : error.$metadata;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JldHJ5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFxRDtBQUNyRCxzRkFJK0M7QUFHbEMsUUFBQSxtQkFBbUIsR0FBRyxVQUFDLEtBQWU7SUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDekIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQ0UsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNsQixLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWM7UUFDOUIsa0NBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQzFEO1FBQ0EsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sQ0FDTCxxREFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDN0IsZ0RBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ3hCLCtDQUFnQixDQUFDLEtBQUssQ0FBQyxDQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsU0FBUyxXQUFXLENBQUMsS0FBVTtJQUM3QixPQUFPLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJFVFJZQUJMRV9TVEFUVVNfQ09ERVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGlzQ2xvY2tTa2V3RXJyb3IsXG4gIGlzU3RpbGxQcm9jZXNzaW5nRXJyb3IsXG4gIGlzVGhyb3R0bGluZ0Vycm9yXG59IGZyb20gXCJAYXdzLXNkay9zZXJ2aWNlLWVycm9yLWNsYXNzaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBNZXRhZGF0YUJlYXJlciwgU2RrRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRSZXRyeURlY2lkZXIgPSAoZXJyb3I6IFNka0Vycm9yKSA9PiB7XG4gIGlmICghZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoZXJyb3IuY29ubmVjdGlvbkVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgaGFzTWV0YWRhdGEoZXJyb3IpICYmXG4gICAgZXJyb3IuJG1ldGFkYXRhLmh0dHBTdGF0dXNDb2RlICYmXG4gICAgUkVUUllBQkxFX1NUQVRVU19DT0RFUy5oYXMoZXJyb3IuJG1ldGFkYXRhLmh0dHBTdGF0dXNDb2RlKVxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNTdGlsbFByb2Nlc3NpbmdFcnJvcihlcnJvcikgfHxcbiAgICBpc1Rocm90dGxpbmdFcnJvcihlcnJvcikgfHxcbiAgICBpc0Nsb2NrU2tld0Vycm9yKGVycm9yKVxuICApO1xufTtcblxuZnVuY3Rpb24gaGFzTWV0YWRhdGEoZXJyb3I6IGFueSk6IGVycm9yIGlzIE1ldGFkYXRhQmVhcmVyIHtcbiAgcmV0dXJuIGVycm9yPy4kbWV0YWRhdGE7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar constants_1 = require(\"./constants\");\nfunction isClockSkewError(error) {\n return error.name in constants_1.CLOCK_SKEW_ERROR_CODES;\n}\nexports.isClockSkewError = isClockSkewError;\nfunction isStillProcessingError(error) {\n return error.name in constants_1.STILL_PROCESSING_ERROR_CODES;\n}\nexports.isStillProcessingError = isStillProcessingError;\nfunction isThrottlingError(error) {\n return error.name in constants_1.THROTTLING_ERROR_CODES;\n}\nexports.isThrottlingError = isThrottlingError;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FJcUI7QUFFckIsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBWTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksa0NBQXNCLENBQUM7QUFDOUMsQ0FBQztBQUZELDRDQUVDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsS0FBWTtJQUNqRCxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksd0NBQTRCLENBQUM7QUFDcEQsQ0FBQztBQUZELHdEQUVDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsS0FBWTtJQUM1QyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksa0NBQXNCLENBQUM7QUFDOUMsQ0FBQztBQUZELDhDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ0xPQ0tfU0tFV19FUlJPUl9DT0RFUyxcbiAgU1RJTExfUFJPQ0VTU0lOR19FUlJPUl9DT0RFUyxcbiAgVEhST1RUTElOR19FUlJPUl9DT0RFU1xufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2xvY2tTa2V3RXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gIHJldHVybiBlcnJvci5uYW1lIGluIENMT0NLX1NLRVdfRVJST1JfQ09ERVM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0aWxsUHJvY2Vzc2luZ0Vycm9yKGVycm9yOiBFcnJvcik6IGJvb2xlYW4ge1xuICByZXR1cm4gZXJyb3IubmFtZSBpbiBTVElMTF9QUk9DRVNTSU5HX0VSUk9SX0NPREVTO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUaHJvdHRsaW5nRXJyb3IoZXJyb3I6IEVycm9yKTogYm9vbGVhbiB7XG4gIHJldHVybiBlcnJvci5uYW1lIGluIFRIUk9UVExJTkdfRVJST1JfQ09ERVM7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction escapeUri(uri) {\n var output = encodeURIComponent(uri);\n // AWS percent-encodes some extra non-standard characters in a URI\n output = output.replace(/[!'()*]/g, hexEncode);\n return output;\n}\nexports.escapeUri = escapeUri;\nfunction hexEncode(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLXVyaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2NhcGUtdXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBZ0IsU0FBUyxDQUFDLEdBQVc7SUFDbkMsSUFBSSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckMsa0VBQWtFO0lBQ2xFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUUvQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBUEQsOEJBT0M7QUFFRCxTQUFTLFNBQVMsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sTUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUksQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVVyaSh1cmk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHZhciBvdXRwdXQgPSBlbmNvZGVVUklDb21wb25lbnQodXJpKTtcblxuICAvLyBBV1MgcGVyY2VudC1lbmNvZGVzIHNvbWUgZXh0cmEgbm9uLXN0YW5kYXJkIGNoYXJhY3RlcnMgaW4gYSBVUklcbiAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoL1shJygpKl0vZywgaGV4RW5jb2RlKTtcblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBoZXhFbmNvZGUoYzogc3RyaW5nKSB7XG4gIHJldHVybiBgJSR7Yy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfWA7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./MiddlewareStack\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vTWlkZGxld2FyZVN0YWNrXCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nvar constants_1 = require(\"./constants\");\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if (secret) {\n this.operation = getKeyPromise(secret).then(function (keyData) {\n return util_locate_window_1.locateWindow().msCrypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, keyData);\n });\n this.operation.catch(function () { });\n }\n else {\n this.operation = Promise.resolve(util_locate_window_1.locateWindow().msCrypto.subtle.digest(\"SHA-256\"));\n }\n }\n Sha256.prototype.update = function (toHash) {\n var _this = this;\n if (isEmptyData_1.isEmptyData(toHash)) {\n return;\n }\n this.operation = this.operation.then(function (operation) {\n operation.onerror = function () {\n _this.operation = Promise.reject(new Error(\"Error encountered updating hash\"));\n };\n operation.process(toArrayBufferView(toHash));\n return operation;\n });\n this.operation.catch(function () { });\n };\n Sha256.prototype.digest = function () {\n return this.operation.then(function (operation) {\n return new Promise(function (resolve, reject) {\n operation.onerror = function () {\n reject(\"Error encountered finalizing hash\");\n };\n operation.oncomplete = function () {\n if (operation.result) {\n resolve(new Uint8Array(operation.result));\n }\n reject(\"Error encountered finalizing hash\");\n };\n operation.finish();\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction getKeyPromise(secret) {\n return new Promise(function (resolve, reject) {\n var keyOperation = util_locate_window_1.locateWindow().msCrypto.subtle.importKey(\"raw\", toArrayBufferView(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"]);\n keyOperation.oncomplete = function () {\n if (keyOperation.result) {\n resolve(keyOperation.result);\n }\n reject(\"ImportKey completed without importing key.\");\n };\n keyOperation.onerror = function () {\n reject(\"ImportKey failed to import key.\");\n };\n });\n}\nfunction toArrayBufferView(data) {\n if (typeof data === \"string\") {\n return util_utf8_browser_1.fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=ie11Sha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=isEmptyData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SHA_256_HASH = { name: \"SHA-256\" };\nexports.SHA_256_HMAC_ALGO = {\n name: \"HMAC\",\n hash: exports.SHA_256_HASH\n};\nexports.EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pureJs_1 = require(\"./pureJs\");\nvar whatwgEncodingApi_1 = require(\"./whatwgEncodingApi\");\nfunction fromUtf8(input) {\n if (typeof TextEncoder === \"function\") {\n return whatwgEncodingApi_1.fromUtf8(input);\n }\n return pureJs_1.fromUtf8(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n if (typeof TextDecoder === \"function\") {\n return whatwgEncodingApi_1.toUtf8(input);\n }\n return pureJs_1.toUtf8(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBc0U7QUFDdEUseURBRzZCO0FBSzdCLFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sNEJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbkM7SUFFRCxPQUFPLGlCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQU5ELDRCQU1DO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sMEJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDakM7SUFFRCxPQUFPLGVBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBTkQsd0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7XG4gIGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsXG4gIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOFxufSBmcm9tIFwiLi93aGF0d2dFbmNvZGluZ0FwaVwiO1xuXG5kZWNsYXJlIGNvbnN0IFRleHREZWNvZGVyOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbmRlY2xhcmUgY29uc3QgVGV4dEVuY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVV0ZjgoaW5wdXQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIFRleHRFbmNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJGcm9tVXRmOChpbnB1dCk7XG4gIH1cblxuICByZXR1cm4ganNGcm9tVXRmOChpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJUb1V0ZjgoaW5wdXQpO1xuICB9XG5cbiAgcmV0dXJuIGpzVG9VdGY4KGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar isEmptyData_1 = require(\"./isEmptyData\");\nvar constants_1 = require(\"./constants\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.toHash = new Uint8Array(0);\n if (secret !== void 0) {\n this.key = new Promise(function (resolve, reject) {\n util_locate_window_1.locateWindow()\n .crypto.subtle.importKey(\"raw\", convertToBuffer(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"])\n .then(resolve, reject);\n });\n this.key.catch(function () { });\n }\n }\n Sha256.prototype.update = function (data) {\n if (isEmptyData_1.isEmptyData(data)) {\n return;\n }\n var update = convertToBuffer(data);\n var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n };\n Sha256.prototype.digest = function () {\n var _this = this;\n if (this.key) {\n return this.key.then(function (key) {\n return util_locate_window_1.locateWindow()\n .crypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, key, _this.toHash)\n .then(function (data) { return new Uint8Array(data); });\n });\n }\n if (isEmptyData_1.isEmptyData(this.toHash)) {\n return Promise.resolve(constants_1.EMPTY_DATA_SHA_256);\n }\n return Promise.resolve()\n .then(function () {\n return util_locate_window_1.locateWindow().crypto.subtle.digest(constants_1.SHA_256_HASH, _this.toHash);\n })\n .then(function (data) { return Promise.resolve(new Uint8Array(data)); });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return util_utf8_browser_1.fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=webCryptoSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * @internal\n */\nexports.BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexports.DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexports.KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexports.INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\nfunction deserializerMiddleware(options, deserializer) {\n return (next) => (args) => tslib_1.__awaiter(this, void 0, void 0, function* () {\n const { response } = yield next(args);\n const parsed = yield deserializer(response, options);\n return {\n response,\n output: parsed\n };\n });\n}\nexports.deserializerMiddleware = deserializerMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXNlcmlhbGl6ZXJNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLFNBQWdCLHNCQUFzQixDQUtwQyxPQUFxQixFQUNyQixZQUEwRDtJQUUxRCxPQUFPLENBQ0wsSUFBdUMsRUFDSixFQUFFLENBQUMsQ0FDdEMsSUFBd0MsRUFDRyxFQUFFO1FBQzdDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsTUFBZ0I7U0FDekIsQ0FBQztJQUNKLENBQUMsQ0FBQSxDQUFDO0FBQ0osQ0FBQztBQXBCRCx3REFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXNwb25zZURlc2VyaWFsaXplcixcbiAgRGVzZXJpYWxpemVNaWRkbGV3YXJlLFxuICBEZXNlcmlhbGl6ZUhhbmRsZXIsXG4gIERlc2VyaWFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgRGVzZXJpYWxpemVIYW5kbGVyT3V0cHV0XG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVyTWlkZGxld2FyZTxcbiAgSW5wdXQgZXh0ZW5kcyBvYmplY3QsXG4gIE91dHB1dCBleHRlbmRzIG9iamVjdCxcbiAgUnVudGltZVV0aWxzID0gYW55XG4+KFxuICBvcHRpb25zOiBSdW50aW1lVXRpbHMsXG4gIGRlc2VyaWFsaXplcjogUmVzcG9uc2VEZXNlcmlhbGl6ZXI8YW55LCBhbnksIFJ1bnRpbWVVdGlscz5cbik6IERlc2VyaWFsaXplTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiB7XG4gIHJldHVybiAoXG4gICAgbmV4dDogRGVzZXJpYWxpemVIYW5kbGVyPElucHV0LCBPdXRwdXQ+XG4gICk6IERlc2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PiBhc3luYyAoXG4gICAgYXJnczogRGVzZXJpYWxpemVIYW5kbGVyQXJndW1lbnRzPElucHV0PlxuICApOiBQcm9taXNlPERlc2VyaWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgbmV4dChhcmdzKTtcbiAgICBjb25zdCBwYXJzZWQgPSBhd2FpdCBkZXNlcmlhbGl6ZXIocmVzcG9uc2UsIG9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICByZXNwb25zZSxcbiAgICAgIG91dHB1dDogcGFyc2VkIGFzIE91dHB1dFxuICAgIH07XG4gIH07XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\nfunction serializerMiddleware(options, serializer) {\n return (next) => (args) => tslib_1.__awaiter(this, void 0, void 0, function* () {\n const request = yield serializer(args.input, options);\n return next(Object.assign(Object.assign({}, args), { request }));\n });\n}\nexports.serializerMiddleware = serializerMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplck1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VyaWFsaXplck1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsU0FBZ0Isb0JBQW9CLENBS2xDLE9BQXFCLEVBQ3JCLFVBQWdEO0lBRWhELE9BQU8sQ0FDTCxJQUFxQyxFQUNKLEVBQUUsQ0FBQyxDQUNwQyxJQUFzQyxFQUNHLEVBQUU7UUFDM0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksaUNBQ04sSUFBSSxLQUNQLE9BQU8sSUFDUCxDQUFDO0lBQ0wsQ0FBQyxDQUFBLENBQUM7QUFDSixDQUFDO0FBbkJELG9EQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlcXVlc3RTZXJpYWxpemVyLFxuICBTZXJpYWxpemVIYW5kbGVyLFxuICBTZXJpYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBTZXJpYWxpemVIYW5kbGVyT3V0cHV0LFxuICBTZXJpYWxpemVNaWRkbGV3YXJlLFxuICBFbmRwb2ludEJlYXJlclxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZXJNaWRkbGV3YXJlPFxuICBJbnB1dCBleHRlbmRzIG9iamVjdCxcbiAgT3V0cHV0IGV4dGVuZHMgb2JqZWN0LFxuICBSdW50aW1lVXRpbHMgZXh0ZW5kcyBFbmRwb2ludEJlYXJlclxuPihcbiAgb3B0aW9uczogUnVudGltZVV0aWxzLFxuICBzZXJpYWxpemVyOiBSZXF1ZXN0U2VyaWFsaXplcjxhbnksIFJ1bnRpbWVVdGlscz5cbik6IFNlcmlhbGl6ZU1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4ge1xuICByZXR1cm4gKFxuICAgIG5leHQ6IFNlcmlhbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD5cbiAgKTogU2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PiBhc3luYyAoXG4gICAgYXJnczogU2VyaWFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD5cbiAgKTogUHJvbWlzZTxTZXJpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgc2VyaWFsaXplcihhcmdzLmlucHV0LCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV4dCh7XG4gICAgICAuLi5hcmdzLFxuICAgICAgcmVxdWVzdFxuICAgIH0pO1xuICB9O1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n var _this = this;\n return function (next) { return function (args) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var request, body, headers, length;\n var _a;\n return tslib_1.__generator(this, function (_b) {\n request = args.request;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n body = request.body, headers = request.headers;\n if (body &&\n Object.keys(headers)\n .map(function (str) { return str.toLowerCase(); })\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n length = bodyLengthChecker(body);\n if (length !== undefined) {\n request.headers = tslib_1.__assign(tslib_1.__assign({}, request.headers), (_a = {}, _a[CONTENT_LENGTH_HEADER] = String(length), _a));\n }\n }\n }\n return [2 /*return*/, next(tslib_1.__assign(tslib_1.__assign({}, args), { request: request }))];\n });\n }); }; };\n}\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\"\n};\nexports.getContentLengthPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions);\n }\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsd0RBQXFEO0FBRXJELElBQU0scUJBQXFCLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0MsU0FBZ0IsdUJBQXVCLENBQ3JDLGlCQUF1QztJQUR6QyxpQkFnQ0M7SUE3QkMsT0FBTyxVQUNMLElBQStCLElBQ0QsT0FBQSxVQUM5QixJQUFnQzs7OztZQUU1QixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMzQixJQUFJLDJCQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMzQixJQUFJLEdBQWMsT0FBTyxLQUFyQixFQUFFLE9BQU8sR0FBSyxPQUFPLFFBQVosQ0FBYTtnQkFDbEMsSUFDRSxJQUFJO29CQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO3lCQUNqQixHQUFHLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQWpCLENBQWlCLENBQUM7eUJBQzdCLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN4QztvQkFDTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3ZDLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTt3QkFDeEIsT0FBTyxDQUFDLE9BQU8seUNBQ1YsT0FBTyxDQUFDLE9BQU8sZ0JBQ2pCLHFCQUFxQixJQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFDeEMsQ0FBQztxQkFDSDtpQkFDRjthQUNGO1lBRUQsc0JBQU8sSUFBSSx1Q0FDTixJQUFJLEtBQ1AsT0FBTyxTQUFBLElBQ1AsRUFBQzs7U0FDSixFQTFCK0IsQ0EwQi9CLENBQUM7QUFDSixDQUFDO0FBaENELDBEQWdDQztBQUVZLFFBQUEsOEJBQThCLEdBQXdCO0lBQ2pFLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUM7SUFDOUMsSUFBSSxFQUFFLHlCQUF5QjtDQUNoQyxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxVQUFDLE9BRXRDLElBQTBCLE9BQUEsQ0FBQztJQUMxQixZQUFZLEVBQUUsVUFBQSxXQUFXO1FBQ3ZCLFdBQVcsQ0FBQyxHQUFHLENBQ2IsdUJBQXVCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQ2xELHNDQUE4QixDQUMvQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMsRUFQeUIsQ0FPekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1aWxkSGFuZGxlcixcbiAgQnVpbGRIYW5kbGVyQXJndW1lbnRzLFxuICBCdWlsZE1pZGRsZXdhcmUsXG4gIEJvZHlMZW5ndGhDYWxjdWxhdG9yLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBQbHVnZ2FibGUsXG4gIEJ1aWxkSGFuZGxlck9wdGlvbnNcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5cbmNvbnN0IENPTlRFTlRfTEVOR1RIX0hFQURFUiA9IFwiY29udGVudC1sZW5ndGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlKFxuICBib2R5TGVuZ3RoQ2hlY2tlcjogQm9keUxlbmd0aENhbGN1bGF0b3Jcbik6IEJ1aWxkTWlkZGxld2FyZTxhbnksIGFueT4ge1xuICByZXR1cm4gPE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyPihcbiAgICBuZXh0OiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+XG4gICk6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKFxuICAgIGFyZ3M6IEJ1aWxkSGFuZGxlckFyZ3VtZW50czxhbnk+XG4gICk6IFByb21pc2U8QnVpbGRIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICBsZXQgcmVxdWVzdCA9IGFyZ3MucmVxdWVzdDtcbiAgICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgY29uc3QgeyBib2R5LCBoZWFkZXJzIH0gPSByZXF1ZXN0O1xuICAgICAgaWYgKFxuICAgICAgICBib2R5ICYmXG4gICAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpXG4gICAgICAgICAgLm1hcChzdHIgPT4gc3RyLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgLmluZGV4T2YoQ09OVEVOVF9MRU5HVEhfSEVBREVSKSA9PT0gLTFcbiAgICAgICkge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBib2R5TGVuZ3RoQ2hlY2tlcihib2R5KTtcbiAgICAgICAgaWYgKGxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmVxdWVzdC5oZWFkZXJzID0ge1xuICAgICAgICAgICAgLi4ucmVxdWVzdC5oZWFkZXJzLFxuICAgICAgICAgICAgW0NPTlRFTlRfTEVOR1RIX0hFQURFUl06IFN0cmluZyhsZW5ndGgpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICByZXF1ZXN0XG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50TGVuZ3RoTWlkZGxld2FyZU9wdGlvbnM6IEJ1aWxkSGFuZGxlck9wdGlvbnMgPSB7XG4gIHN0ZXA6IFwiYnVpbGRcIixcbiAgdGFnczogW1wiU0VUX0NPTlRFTlRfTEVOR1RIXCIsIFwiQ09OVEVOVF9MRU5HVEhcIl0sXG4gIG5hbWU6IFwiY29udGVudExlbmd0aE1pZGRsZXdhcmVcIlxufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnRlbnRMZW5ndGhQbHVnaW4gPSAob3B0aW9uczoge1xuICBib2R5TGVuZ3RoQ2hlY2tlcjogQm9keUxlbmd0aENhbGN1bGF0b3I7XG59KTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IGNsaWVudFN0YWNrID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoXG4gICAgICBjb250ZW50TGVuZ3RoTWlkZGxld2FyZShvcHRpb25zLmJvZHlMZW5ndGhDaGVja2VyKSxcbiAgICAgIGNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlT3B0aW9uc1xuICAgICk7XG4gIH1cbn0pO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isArrayBuffer(arg) {\n return ((typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\");\n}\nexports.isArrayBuffer = isArrayBuffer;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLFNBQWdCLGFBQWEsQ0FBQyxHQUFRO0lBQ3BDLE9BQU8sQ0FDTCxDQUFDLE9BQU8sV0FBVyxLQUFLLFVBQVUsSUFBSSxHQUFHLFlBQVksV0FBVyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxzQkFBc0IsQ0FDL0QsQ0FBQztBQUNKLENBQUM7QUFMRCxzQ0FLQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0FycmF5QnVmZmVyKGFyZzogYW55KTogYXJnIGlzIEFycmF5QnVmZmVyIHtcbiAgcmV0dXJuIChcbiAgICAodHlwZW9mIEFycmF5QnVmZmVyID09PSBcImZ1bmN0aW9uXCIgJiYgYXJnIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHx8XG4gICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGFyZykgPT09IFwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIlxuICApO1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./crossPlatformSha256\"), exports);\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nexports.Ie11Sha256 = ie11Sha256_1.Sha256;\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nexports.WebCryptoSha256 = webCryptoSha256_1.Sha256;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar querystring_parser_1 = require(\"@aws-sdk/querystring-parser\");\nexports.parseUrl = function (url) {\n var _a = new URL(url), hostname = _a.hostname, pathname = _a.pathname, port = _a.port, protocol = _a.protocol, search = _a.search;\n var query;\n if (search) {\n query = querystring_parser_1.parseQueryString(search);\n }\n return {\n hostname: hostname,\n port: port ? parseInt(port) : undefined,\n protocol: protocol,\n path: pathname,\n query: query\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrRUFBK0Q7QUFHbEQsUUFBQSxRQUFRLEdBQWMsVUFBQyxHQUFXO0lBQ3ZDLElBQUEsaUJBQTZELEVBQTNELHNCQUFRLEVBQUUsc0JBQVEsRUFBRSxjQUFJLEVBQUUsc0JBQVEsRUFBRSxrQkFBdUIsQ0FBQztJQUVwRSxJQUFJLEtBQW9DLENBQUM7SUFDekMsSUFBSSxNQUFNLEVBQUU7UUFDVixLQUFLLEdBQUcscUNBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDbEM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxVQUFBO1FBQ1IsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3ZDLFFBQVEsVUFBQTtRQUNSLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxPQUFBO0tBQ04sQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlUXVlcnlTdHJpbmcgfSBmcm9tIFwiQGF3cy1zZGsvcXVlcnlzdHJpbmctcGFyc2VyXCI7XG5pbXBvcnQgeyBFbmRwb2ludCwgUXVlcnlQYXJhbWV0ZXJCYWcsIFVybFBhcnNlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgcGFyc2VVcmw6IFVybFBhcnNlciA9ICh1cmw6IHN0cmluZyk6IEVuZHBvaW50ID0+IHtcbiAgY29uc3QgeyBob3N0bmFtZSwgcGF0aG5hbWUsIHBvcnQsIHByb3RvY29sLCBzZWFyY2ggfSA9IG5ldyBVUkwodXJsKTtcblxuICBsZXQgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnIHwgdW5kZWZpbmVkO1xuICBpZiAoc2VhcmNoKSB7XG4gICAgcXVlcnkgPSBwYXJzZVF1ZXJ5U3RyaW5nKHNlYXJjaCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhvc3RuYW1lLFxuICAgIHBvcnQ6IHBvcnQgPyBwYXJzZUludChwb3J0KSA6IHVuZGVmaW5lZCxcbiAgICBwcm90b2NvbCxcbiAgICBwYXRoOiBwYXRobmFtZSxcbiAgICBxdWVyeVxuICB9O1xufTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction calculateBodyLength(body) {\n if (typeof body === \"string\") {\n return new Blob([body]).size;\n }\n else if (typeof body.byteLength === \"number\") {\n // handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n // handles browser File object\n return body.size;\n }\n}\nexports.calculateBodyLength = calculateBodyLength;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFnQixtQkFBbUIsQ0FBQyxJQUFTO0lBQzNDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUM5QjtTQUFNLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBRTtRQUM5QywrREFBK0Q7UUFDL0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0tBQ3hCO1NBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3hDLDhCQUE4QjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbEI7QUFDSCxDQUFDO0FBVkQsa0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQm9keUxlbmd0aChib2R5OiBhbnkpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gbmV3IEJsb2IoW2JvZHldKS5zaXplO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5LmJ5dGVMZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAvLyBoYW5kbGVzIFVpbnQ4QXJyYXksIEFycmF5QnVmZmVyLCBCdWZmZXIsIGFuZCBBcnJheUJ1ZmZlclZpZXdcbiAgICByZXR1cm4gYm9keS5ieXRlTGVuZ3RoO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5LnNpemUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAvLyBoYW5kbGVzIGJyb3dzZXIgRmlsZSBvYmplY3RcbiAgICByZXR1cm4gYm9keS5zaXplO1xuICB9XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction defaultUserAgent(packageName, packageVersion) {\n var originUserAgent = typeof navigator !== \"undefined\" && typeof navigator.userAgent === \"string\"\n ? navigator.userAgent\n : \"\";\n return \"aws-sdk-js-v3-\" + packageName + \"/\" + packageVersion + \" \" + originUserAgent;\n}\nexports.defaultUserAgent = defaultUserAgent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxTQUFnQixnQkFBZ0IsQ0FDOUIsV0FBbUIsRUFDbkIsY0FBc0I7SUFFdEIsSUFBSSxlQUFlLEdBQ2pCLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxPQUFPLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUN6RSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVM7UUFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULE9BQU8sbUJBQWlCLFdBQVcsU0FBSSxjQUFjLFNBQUksZUFBaUIsQ0FBQztBQUM3RSxDQUFDO0FBVEQsNENBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFVzZXJBZ2VudChcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgcGFja2FnZVZlcnNpb246IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgbGV0IG9yaWdpblVzZXJBZ2VudCA9XG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgbmF2aWdhdG9yLnVzZXJBZ2VudCA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBuYXZpZ2F0b3IudXNlckFnZW50XG4gICAgICA6IFwiXCI7XG4gIHJldHVybiBgYXdzLXNkay1qcy12My0ke3BhY2thZ2VOYW1lfS8ke3BhY2thZ2VWZXJzaW9ufSAke29yaWdpblVzZXJBZ2VudH1gO1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nfunction normalizeEndpoint(endpoint, urlParser) {\n if (typeof endpoint === \"string\") {\n var promisified_1 = Promise.resolve(urlParser(endpoint));\n return function () { return promisified_1; };\n }\n else if (typeof endpoint === \"object\") {\n var promisified_2 = Promise.resolve(endpoint);\n return function () { return promisified_2; };\n }\n return endpoint;\n}\nexports.normalizeEndpoint = normalizeEndpoint;\nfunction resolveEndpointsConfig(input) {\n var _this = this;\n var tls = input.tls === undefined ? true : input.tls;\n var endpoint = input.endpoint\n ? normalizeEndpoint(input.endpoint, input.urlParser)\n : function () {\n return input.region().then(function (region) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var hostname, endpoint;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, input.regionInfoProvider(region)];\n case 1:\n hostname = ((_a.sent()) || {}).hostname;\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n endpoint = input.urlParser((tls ? \"https:\" : \"http:\") + \"//\" + hostname);\n return [2 /*return*/, endpoint];\n }\n });\n }); });\n };\n return tslib_1.__assign(tslib_1.__assign({}, input), { endpoint: endpoint,\n tls: tls });\n}\nexports.resolveEndpointsConfig = resolveEndpointsConfig;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kcG9pbnRzQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0VuZHBvaW50c0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxTQUFnQixpQkFBaUIsQ0FDL0IsUUFBaUQsRUFDakQsU0FBcUI7SUFFckIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDaEMsSUFBTSxhQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLGNBQU0sT0FBQSxhQUFXLEVBQVgsQ0FBVyxDQUFDO0tBQzFCO1NBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDdkMsSUFBTSxhQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxPQUFPLGNBQU0sT0FBQSxhQUFXLEVBQVgsQ0FBVyxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxRQUFTLENBQUM7QUFDbkIsQ0FBQztBQVpELDhDQVlDO0FBc0JELFNBQWdCLHNCQUFzQixDQUNwQyxLQUFvRDtJQUR0RCxpQkF3QkM7SUFyQkMsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2RCxJQUFNLFFBQVEsR0FBdUIsS0FBSyxDQUFDLFFBQVE7UUFDakQsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxDQUFDLENBQUM7WUFDRSxPQUFBLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBTSxNQUFNOzs7O2dDQUUzQixxQkFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUE7OzRCQURuQyxRQUFRLEdBQUcsQ0FDZixDQUFDLFNBQXNDLENBQUMsSUFBSyxFQUFpQixDQUMvRCxDQUFDLFFBQVE7NEJBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQ0FDYixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7NkJBQy9EOzRCQUNLLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUM5QixDQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLFdBQUssUUFBVSxDQUMzQyxDQUFDOzRCQUNGLHNCQUFPLFFBQVEsRUFBQzs7O2lCQUNqQixDQUFDO1FBWEYsQ0FXRSxDQUFDO0lBQ1QsNkNBQ0ssS0FBSyxLQUNSLFFBQVEsVUFBQTtRQUNSLEdBQUcsS0FBQSxJQUNIO0FBQ0osQ0FBQztBQXhCRCx3REF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQcm92aWRlcixcbiAgVXJsUGFyc2VyLFxuICBFbmRwb2ludCxcbiAgUmVnaW9uSW5mb1Byb3ZpZGVyLFxuICBSZWdpb25JbmZvXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRW5kcG9pbnQoXG4gIGVuZHBvaW50Pzogc3RyaW5nIHwgRW5kcG9pbnQgfCBQcm92aWRlcjxFbmRwb2ludD4sXG4gIHVybFBhcnNlcj86IFVybFBhcnNlclxuKTogUHJvdmlkZXI8RW5kcG9pbnQ+IHtcbiAgaWYgKHR5cGVvZiBlbmRwb2ludCA9PT0gXCJzdHJpbmdcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKHVybFBhcnNlciEoZW5kcG9pbnQpKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuZHBvaW50ID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoZW5kcG9pbnQpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gZW5kcG9pbnQhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVuZHBvaW50c0lucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBmdWxseSBxdWFsaWZpZWQgZW5kcG9pbnQgb2YgdGhlIHdlYnNlcnZpY2UuIFRoaXMgaXMgb25seSByZXF1aXJlZCB3aGVuIHVzaW5nIGEgY3VzdG9tIGVuZHBvaW50IChmb3IgZXhhbXBsZSwgd2hlbiB1c2luZyBhIGxvY2FsIHZlcnNpb24gb2YgUzMpLlxuICAgKi9cbiAgZW5kcG9pbnQ/OiBzdHJpbmcgfCBFbmRwb2ludCB8IFByb3ZpZGVyPEVuZHBvaW50PjtcblxuICAvKipcbiAgICogV2hldGhlciBUTFMgaXMgZW5hYmxlZCBmb3IgcmVxdWVzdHMuXG4gICAqL1xuICB0bHM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xuICB1cmxQYXJzZXI6IFVybFBhcnNlcjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludHNSZXNvbHZlZENvbmZpZ1xuICBleHRlbmRzIFJlcXVpcmVkPEVuZHBvaW50c0lucHV0Q29uZmlnPiB7XG4gIGVuZHBvaW50OiBQcm92aWRlcjxFbmRwb2ludD47XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUVuZHBvaW50c0NvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBFbmRwb2ludHNJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZFxuKTogVCAmIEVuZHBvaW50c1Jlc29sdmVkQ29uZmlnIHtcbiAgY29uc3QgdGxzID0gaW5wdXQudGxzID09PSB1bmRlZmluZWQgPyB0cnVlIDogaW5wdXQudGxzO1xuICBjb25zdCBlbmRwb2ludDogUHJvdmlkZXI8RW5kcG9pbnQ+ID0gaW5wdXQuZW5kcG9pbnRcbiAgICA/IG5vcm1hbGl6ZUVuZHBvaW50KGlucHV0LmVuZHBvaW50LCBpbnB1dC51cmxQYXJzZXIpXG4gICAgOiAoKSA9PlxuICAgICAgICBpbnB1dC5yZWdpb24oKS50aGVuKGFzeW5jIHJlZ2lvbiA9PiB7XG4gICAgICAgICAgY29uc3QgaG9zdG5hbWUgPSAoXG4gICAgICAgICAgICAoYXdhaXQgaW5wdXQucmVnaW9uSW5mb1Byb3ZpZGVyKHJlZ2lvbikpIHx8ICh7fSBhcyBSZWdpb25JbmZvKVxuICAgICAgICAgICkuaG9zdG5hbWU7XG4gICAgICAgICAgaWYgKCFob3N0bmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHJlc29sdmUgaG9zdG5hbWUgZnJvbSBjbGllbnQgY29uZmlnXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBlbmRwb2ludCA9IGlucHV0LnVybFBhcnNlcihcbiAgICAgICAgICAgIGAke3RscyA/IFwiaHR0cHM6XCIgOiBcImh0dHA6XCJ9Ly8ke2hvc3RuYW1lfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBlbmRwb2ludDtcbiAgICAgICAgfSk7XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgZW5kcG9pbnQsXG4gICAgdGxzXG4gIH07XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nfunction resolveRegionConfig(input) {\n var region = input.region || input.regionDefaultProvider(input);\n return tslib_1.__assign(tslib_1.__assign({}, input), { region: normalizeRegion(region) });\n}\nexports.resolveRegionConfig = resolveRegionConfig;\nfunction normalizeRegion(region) {\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n return function () { return promisified_1; };\n }\n return region;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaW9uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlZ2lvbkNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQSxTQUFnQixtQkFBbUIsQ0FDakMsS0FBaUQ7SUFFakQsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsS0FBWSxDQUFDLENBQUM7SUFDdkUsNkNBQ0ssS0FBSyxLQUNSLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLElBQy9CO0FBQ0osQ0FBQztBQVJELGtEQVFDO0FBRUQsU0FBUyxlQUFlLENBQUMsTUFBaUM7SUFDeEQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDOUIsSUFBTSxhQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxPQUFPLGNBQU0sT0FBQSxhQUFXLEVBQVgsQ0FBVyxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxNQUEwQixDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbklucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgcmVnaW9uIHRvIHdoaWNoIHRoaXMgY2xpZW50IHdpbGwgc2VuZCByZXF1ZXN0c1xuICAgKi9cbiAgcmVnaW9uPzogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbn1cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICByZWdpb25EZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxzdHJpbmc+O1xufVxuZXhwb3J0IGludGVyZmFjZSBSZWdpb25SZXNvbHZlZENvbmZpZyB7XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUmVnaW9uQ29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFJlZ2lvbklucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgUmVnaW9uUmVzb2x2ZWRDb25maWcge1xuICBsZXQgcmVnaW9uID0gaW5wdXQucmVnaW9uIHx8IGlucHV0LnJlZ2lvbkRlZmF1bHRQcm92aWRlcihpbnB1dCBhcyBhbnkpO1xuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHJlZ2lvbjogbm9ybWFsaXplUmVnaW9uKHJlZ2lvbilcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplUmVnaW9uKHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPik6IFByb3ZpZGVyPHN0cmluZz4ge1xuICBpZiAodHlwZW9mIHJlZ2lvbiA9PT0gXCJzdHJpbmdcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKHJlZ2lvbik7XG4gICAgcmV0dXJuICgpID0+IHByb21pc2lmaWVkO1xuICB9XG4gIHJldHVybiByZWdpb24gYXMgUHJvdmlkZXI8c3RyaW5nPjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar HttpResponse = /** @class */ (function () {\n function HttpResponse(options) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n HttpResponse.isInstance = function (response) {\n //determine if response is a valid HttpResponse\n if (!response)\n return false;\n var resp = response;\n return (typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\");\n };\n return HttpResponse;\n}());\nexports.HttpResponse = HttpResponse;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2h0dHBSZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVlBO0lBS0Usc0JBQVksT0FBNEI7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSx1QkFBVSxHQUFqQixVQUFrQixRQUFpQjtRQUNqQywrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM1QixJQUFNLElBQUksR0FBRyxRQUFlLENBQUM7UUFDN0IsT0FBTyxDQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUFuQkQsSUFtQkM7QUFuQlksb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwTWVzc2FnZSxcbiAgSGVhZGVyQmFnLFxuICBIdHRwUmVzcG9uc2UgYXMgSUh0dHBSZXNwb25zZVxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxudHlwZSBIdHRwUmVzcG9uc2VPcHRpb25zID0gUGFydGlhbDxIdHRwTWVzc2FnZT4gJiB7XG4gIHN0YXR1c0NvZGU6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFJlc3BvbnNlIGV4dGVuZHMgSUh0dHBSZXNwb25zZSB7fVxuXG5leHBvcnQgY2xhc3MgSHR0cFJlc3BvbnNlIHtcbiAgcHVibGljIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgcHVibGljIGhlYWRlcnM6IEhlYWRlckJhZztcbiAgcHVibGljIGJvZHk/OiBhbnk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSHR0cFJlc3BvbnNlT3B0aW9ucykge1xuICAgIHRoaXMuc3RhdHVzQ29kZSA9IG9wdGlvbnMuc3RhdHVzQ29kZTtcbiAgICB0aGlzLmhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnMgfHwge307XG4gICAgdGhpcy5ib2R5ID0gb3B0aW9ucy5ib2R5O1xuICB9XG5cbiAgc3RhdGljIGlzSW5zdGFuY2UocmVzcG9uc2U6IHVua25vd24pOiByZXNwb25zZSBpcyBIdHRwUmVzcG9uc2Uge1xuICAgIC8vZGV0ZXJtaW5lIGlmIHJlc3BvbnNlIGlzIGEgdmFsaWQgSHR0cFJlc3BvbnNlXG4gICAgaWYgKCFyZXNwb25zZSkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHJlc3AgPSByZXNwb25zZSBhcyBhbnk7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiByZXNwLnN0YXR1c0NvZGUgPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIHJlc3AuaGVhZGVycyA9PT0gXCJvYmplY3RcIlxuICAgICk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar HttpRequest = /** @class */ (function () {\n function HttpRequest(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.substr(-1) !== \":\"\n ? options.protocol + \":\"\n : options.protocol\n : \"https:\";\n this.path = options.path\n ? options.path.charAt(0) !== \"/\"\n ? \"/\" + options.path\n : options.path\n : \"/\";\n }\n HttpRequest.isInstance = function (request) {\n //determine if request is a valid httpRequest\n if (!request)\n return false;\n var req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n };\n HttpRequest.prototype.clone = function () {\n var cloned = new HttpRequest(tslib_1.__assign(tslib_1.__assign({}, this), { headers: tslib_1.__assign({}, this.headers) }));\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\n };\n return HttpRequest;\n}());\nexports.HttpRequest = HttpRequest;\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return tslib_1.__assign(tslib_1.__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? tslib_1.__spread(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaHR0cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBYUE7SUFVRSxxQkFBWSxPQUEyQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUTtZQUM5QixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO2dCQUNuQyxDQUFDLENBQUksT0FBTyxDQUFDLFFBQVEsTUFBRztnQkFDeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3BCLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJO1lBQ3RCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO2dCQUM5QixDQUFDLENBQUMsTUFBSSxPQUFPLENBQUMsSUFBTTtnQkFDcEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDVixDQUFDO0lBRU0sc0JBQVUsR0FBakIsVUFBa0IsT0FBZ0I7UUFDaEMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0IsSUFBTSxHQUFHLEdBQVEsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sQ0FDTCxRQUFRLElBQUksR0FBRztZQUNmLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLE1BQU0sSUFBSSxHQUFHO1lBQ2IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksV0FBVyx1Q0FDekIsSUFBSSxLQUNQLE9BQU8sdUJBQU8sSUFBSSxDQUFDLE9BQU8sS0FDMUIsQ0FBQztRQUNILElBQUksTUFBTSxDQUFDLEtBQUs7WUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQW5ERCxJQW1EQztBQW5EWSxrQ0FBVztBQXFEeEIsU0FBUyxVQUFVLENBQUMsS0FBd0I7SUFDMUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FDOUIsVUFBQyxLQUF3QixFQUFFLFNBQWlCOztRQUMxQyxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsNkNBQ0ssS0FBSyxnQkFDUCxTQUFTLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGtCQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxPQUN0RDtJQUNKLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwTWVzc2FnZSxcbiAgRW5kcG9pbnQsXG4gIFF1ZXJ5UGFyYW1ldGVyQmFnLFxuICBIZWFkZXJCYWcsXG4gIEh0dHBSZXF1ZXN0IGFzIElIdHRwUmVxdWVzdFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxudHlwZSBIdHRwUmVxdWVzdE9wdGlvbnMgPSBQYXJ0aWFsPEh0dHBNZXNzYWdlPiAmXG4gIFBhcnRpYWw8RW5kcG9pbnQ+ICYgeyBtZXRob2Q/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVxdWVzdCBleHRlbmRzIElIdHRwUmVxdWVzdCB7fVxuXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3QgaW1wbGVtZW50cyBIdHRwTWVzc2FnZSwgRW5kcG9pbnQge1xuICBwdWJsaWMgbWV0aG9kOiBzdHJpbmc7XG4gIHB1YmxpYyBwcm90b2NvbDogc3RyaW5nO1xuICBwdWJsaWMgaG9zdG5hbWU6IHN0cmluZztcbiAgcHVibGljIHBvcnQ/OiBudW1iZXI7XG4gIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyBxdWVyeTogUXVlcnlQYXJhbWV0ZXJCYWc7XG4gIHB1YmxpYyBoZWFkZXJzOiBIZWFkZXJCYWc7XG4gIHB1YmxpYyBib2R5PzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgIHRoaXMubWV0aG9kID0gb3B0aW9ucy5tZXRob2QgfHwgXCJHRVRcIjtcbiAgICB0aGlzLmhvc3RuYW1lID0gb3B0aW9ucy5ob3N0bmFtZSB8fCBcImxvY2FsaG9zdFwiO1xuICAgIHRoaXMucG9ydCA9IG9wdGlvbnMucG9ydDtcbiAgICB0aGlzLnF1ZXJ5ID0gb3B0aW9ucy5xdWVyeSB8fCB7fTtcbiAgICB0aGlzLmhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnMgfHwge307XG4gICAgdGhpcy5ib2R5ID0gb3B0aW9ucy5ib2R5O1xuICAgIHRoaXMucHJvdG9jb2wgPSBvcHRpb25zLnByb3RvY29sXG4gICAgICA/IG9wdGlvbnMucHJvdG9jb2wuc3Vic3RyKC0xKSAhPT0gXCI6XCJcbiAgICAgICAgPyBgJHtvcHRpb25zLnByb3RvY29sfTpgXG4gICAgICAgIDogb3B0aW9ucy5wcm90b2NvbFxuICAgICAgOiBcImh0dHBzOlwiO1xuICAgIHRoaXMucGF0aCA9IG9wdGlvbnMucGF0aFxuICAgICAgPyBvcHRpb25zLnBhdGguY2hhckF0KDApICE9PSBcIi9cIlxuICAgICAgICA/IGAvJHtvcHRpb25zLnBhdGh9YFxuICAgICAgICA6IG9wdGlvbnMucGF0aFxuICAgICAgOiBcIi9cIjtcbiAgfVxuXG4gIHN0YXRpYyBpc0luc3RhbmNlKHJlcXVlc3Q6IHVua25vd24pOiByZXF1ZXN0IGlzIEh0dHBSZXF1ZXN0IHtcbiAgICAvL2RldGVybWluZSBpZiByZXF1ZXN0IGlzIGEgdmFsaWQgaHR0cFJlcXVlc3RcbiAgICBpZiAoIXJlcXVlc3QpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCByZXE6IGFueSA9IHJlcXVlc3Q7XG4gICAgcmV0dXJuIChcbiAgICAgIFwibWV0aG9kXCIgaW4gcmVxICYmXG4gICAgICBcInByb3RvY29sXCIgaW4gcmVxICYmXG4gICAgICBcImhvc3RuYW1lXCIgaW4gcmVxICYmXG4gICAgICBcInBhdGhcIiBpbiByZXEgJiZcbiAgICAgIHR5cGVvZiByZXFbXCJxdWVyeVwiXSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgdHlwZW9mIHJlcVtcImhlYWRlcnNcIl0gPT09IFwib2JqZWN0XCJcbiAgICApO1xuICB9XG5cbiAgY2xvbmUoKTogSHR0cFJlcXVlc3Qge1xuICAgIGNvbnN0IGNsb25lZCA9IG5ldyBIdHRwUmVxdWVzdCh7XG4gICAgICAuLi50aGlzLFxuICAgICAgaGVhZGVyczogeyAuLi50aGlzLmhlYWRlcnMgfVxuICAgIH0pO1xuICAgIGlmIChjbG9uZWQucXVlcnkpIGNsb25lZC5xdWVyeSA9IGNsb25lUXVlcnkoY2xvbmVkLnF1ZXJ5KTtcbiAgICByZXR1cm4gY2xvbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNsb25lUXVlcnkocXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnKTogUXVlcnlQYXJhbWV0ZXJCYWcge1xuICByZXR1cm4gT2JqZWN0LmtleXMocXVlcnkpLnJlZHVjZShcbiAgICAoY2Fycnk6IFF1ZXJ5UGFyYW1ldGVyQmFnLCBwYXJhbU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcGFyYW0gPSBxdWVyeVtwYXJhbU5hbWVdO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2FycnksXG4gICAgICAgIFtwYXJhbU5hbWVdOiBBcnJheS5pc0FycmF5KHBhcmFtKSA/IFsuLi5wYXJhbV0gOiBwYXJhbVxuICAgICAgfTtcbiAgICB9LFxuICAgIHt9XG4gICk7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isValidHostname(hostname) {\n var hostPattern = /^[a-zA-Z0-9]{1}$|^[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]$/;\n return hostPattern.test(hostname);\n}\nexports.isValidHostname = isValidHostname;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZEhvc3RuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lzVmFsaWRIb3N0bmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLFNBQWdCLGVBQWUsQ0FBQyxRQUFnQjtJQUM5QyxJQUFNLFdBQVcsR0FBRyx5REFBeUQsQ0FBQztJQUM5RSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUhELDBDQUdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRIb3N0bmFtZShob3N0bmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGhvc3RQYXR0ZXJuID0gL15bYS16QS1aMC05XXsxfSR8XlthLXpBLVowLTldW2EtekEtWjAtOVxcLV0qW2EtekEtWjAtOV0kLztcbiAgcmV0dXJuIGhvc3RQYXR0ZXJuLnRlc3QoaG9zdG5hbWUpO1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nfunction retryMiddleware(options) {\n var _this = this;\n return function (next) { return function (args) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, options.retryStrategy.retry(next, args)];\n });\n }); }; };\n}\nexports.retryMiddleware = retryMiddleware;\nexports.retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\"\n};\nexports.getRetryPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n if (options.maxRetries > 0) {\n clientStack.add(retryMiddleware(options), exports.retryMiddlewareOptions);\n }\n }\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JldHJ5TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxTQUFnQixlQUFlLENBQUMsT0FBNEI7SUFBNUQsaUJBUUM7SUFQQyxPQUFPLFVBQ0wsSUFBa0MsSUFDRCxPQUFBLFVBQ2pDLElBQW1DOztZQUVuQyxzQkFBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUM7O1NBQ2hELEVBSmtDLENBSWxDLENBQUM7QUFDSixDQUFDO0FBUkQsMENBUUM7QUFFWSxRQUFBLHNCQUFzQixHQUNkO0lBQ25CLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixRQUFRLEVBQUUsTUFBTTtDQUNqQixDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQUcsVUFDNUIsT0FBNEIsSUFDSixPQUFBLENBQUM7SUFDekIsWUFBWSxFQUFFLFVBQUEsV0FBVztRQUN2QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLDhCQUFzQixDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxFQU53QixDQU14QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmluYWxpemVIYW5kbGVyLFxuICBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIFBsdWdnYWJsZSxcbiAgRmluYWxpemVSZXF1ZXN0SGFuZGxlck9wdGlvbnMsXG4gIEFic29sdXRlTG9jYXRpb25cbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBSZXRyeVJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJldHJ5TWlkZGxld2FyZShvcHRpb25zOiBSZXRyeVJlc29sdmVkQ29uZmlnKSB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXIgPSBNZXRhZGF0YUJlYXJlcj4oXG4gICAgbmV4dDogRmluYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PlxuICApOiBGaW5hbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgICBhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8YW55PlxuICApOiBQcm9taXNlPEZpbmFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbnMucmV0cnlTdHJhdGVneS5yZXRyeShuZXh0LCBhcmdzKTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHJldHJ5TWlkZGxld2FyZU9wdGlvbnM6IEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zICZcbiAgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJyZXRyeU1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiUkVUUllcIl0sXG4gIHN0ZXA6IFwiZmluYWxpemVSZXF1ZXN0XCIsXG4gIHByaW9yaXR5OiBcImhpZ2hcIlxufTtcblxuZXhwb3J0IGNvbnN0IGdldFJldHJ5UGx1Z2luID0gKFxuICBvcHRpb25zOiBSZXRyeVJlc29sdmVkQ29uZmlnXG4pOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogY2xpZW50U3RhY2sgPT4ge1xuICAgIGlmIChvcHRpb25zLm1heFJldHJpZXMgPiAwKSB7XG4gICAgICBjbGllbnRTdGFjay5hZGQocmV0cnlNaWRkbGV3YXJlKG9wdGlvbnMpLCByZXRyeU1pZGRsZXdhcmVPcHRpb25zKTtcbiAgICB9XG4gIH1cbn0pO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Errors encountered when the client clock and server clock cannot agree on the\n * current time.\n *\n * These errors are retryable, assuming the SDK has enabled clock skew\n * correction.\n */\nexports.CLOCK_SKEW_ERROR_CODES = {\n AuthFailure: true,\n InvalidSignatureException: true,\n RequestExpired: true,\n RequestInTheFuture: true,\n RequestTimeTooSkewed: true,\n SignatureDoesNotMatch: true\n};\n/**\n * Errors encountered when the state presumed by an operation is not yet ready.\n */\nexports.STILL_PROCESSING_ERROR_CODES = {\n PriorRequestNotComplete: true\n};\n/**\n * Errors that indicate the SDK is being throttled.\n *\n * These errors are always retryable.\n */\nexports.THROTTLING_ERROR_CODES = {\n BandwidthLimitExceeded: true,\n ProvisionedThroughputExceededException: true,\n RequestLimitExceeded: true,\n RequestThrottled: true,\n RequestThrottledException: true,\n SlowDown: true,\n ThrottledException: true,\n Throttling: true,\n ThrottlingException: true,\n TooManyRequestsException: true\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBOzs7Ozs7R0FNRztBQUNVLFFBQUEsc0JBQXNCLEdBQWlCO0lBQ2xELFdBQVcsRUFBRSxJQUFJO0lBQ2pCLHlCQUF5QixFQUFFLElBQUk7SUFDL0IsY0FBYyxFQUFFLElBQUk7SUFDcEIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLHFCQUFxQixFQUFFLElBQUk7Q0FDNUIsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBaUI7SUFDeEQsdUJBQXVCLEVBQUUsSUFBSTtDQUM5QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsc0JBQXNCLEdBQWlCO0lBQ2xELHNCQUFzQixFQUFFLElBQUk7SUFDNUIsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIseUJBQXlCLEVBQUUsSUFBSTtJQUMvQixRQUFRLEVBQUUsSUFBSTtJQUNkLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6Qix3QkFBd0IsRUFBRSxJQUFJO0NBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFcnJvckNvZGVTZXQgPSB7IFtlcnJvckNvZGU6IHN0cmluZ106IHRydWUgfTtcblxuLyoqXG4gKiBFcnJvcnMgZW5jb3VudGVyZWQgd2hlbiB0aGUgY2xpZW50IGNsb2NrIGFuZCBzZXJ2ZXIgY2xvY2sgY2Fubm90IGFncmVlIG9uIHRoZVxuICogY3VycmVudCB0aW1lLlxuICpcbiAqIFRoZXNlIGVycm9ycyBhcmUgcmV0cnlhYmxlLCBhc3N1bWluZyB0aGUgU0RLIGhhcyBlbmFibGVkIGNsb2NrIHNrZXdcbiAqIGNvcnJlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBDTE9DS19TS0VXX0VSUk9SX0NPREVTOiBFcnJvckNvZGVTZXQgPSB7XG4gIEF1dGhGYWlsdXJlOiB0cnVlLFxuICBJbnZhbGlkU2lnbmF0dXJlRXhjZXB0aW9uOiB0cnVlLFxuICBSZXF1ZXN0RXhwaXJlZDogdHJ1ZSxcbiAgUmVxdWVzdEluVGhlRnV0dXJlOiB0cnVlLFxuICBSZXF1ZXN0VGltZVRvb1NrZXdlZDogdHJ1ZSxcbiAgU2lnbmF0dXJlRG9lc05vdE1hdGNoOiB0cnVlXG59O1xuXG4vKipcbiAqIEVycm9ycyBlbmNvdW50ZXJlZCB3aGVuIHRoZSBzdGF0ZSBwcmVzdW1lZCBieSBhbiBvcGVyYXRpb24gaXMgbm90IHlldCByZWFkeS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNUSUxMX1BST0NFU1NJTkdfRVJST1JfQ09ERVM6IEVycm9yQ29kZVNldCA9IHtcbiAgUHJpb3JSZXF1ZXN0Tm90Q29tcGxldGU6IHRydWVcbn07XG5cbi8qKlxuICogRXJyb3JzIHRoYXQgaW5kaWNhdGUgdGhlIFNESyBpcyBiZWluZyB0aHJvdHRsZWQuXG4gKlxuICogVGhlc2UgZXJyb3JzIGFyZSBhbHdheXMgcmV0cnlhYmxlLlxuICovXG5leHBvcnQgY29uc3QgVEhST1RUTElOR19FUlJPUl9DT0RFUzogRXJyb3JDb2RlU2V0ID0ge1xuICBCYW5kd2lkdGhMaW1pdEV4Y2VlZGVkOiB0cnVlLFxuICBQcm92aXNpb25lZFRocm91Z2hwdXRFeGNlZWRlZEV4Y2VwdGlvbjogdHJ1ZSxcbiAgUmVxdWVzdExpbWl0RXhjZWVkZWQ6IHRydWUsXG4gIFJlcXVlc3RUaHJvdHRsZWQ6IHRydWUsXG4gIFJlcXVlc3RUaHJvdHRsZWRFeGNlcHRpb246IHRydWUsXG4gIFNsb3dEb3duOiB0cnVlLFxuICBUaHJvdHRsZWRFeGNlcHRpb246IHRydWUsXG4gIFRocm90dGxpbmc6IHRydWUsXG4gIFRocm90dGxpbmdFeGNlcHRpb246IHRydWUsXG4gIFRvb01hbnlSZXF1ZXN0c0V4Y2VwdGlvbjogdHJ1ZVxufTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar defaultStrategy_1 = require(\"./defaultStrategy\");\nfunction resolveRetryConfig(input) {\n var maxRetries = input.maxRetries === undefined ? 3 : input.maxRetries;\n return tslib_1.__assign(tslib_1.__assign({}, input), { maxRetries: maxRetries, retryStrategy: input.retryStrategy || new defaultStrategy_1.ExponentialBackOffStrategy(maxRetries) });\n}\nexports.resolveRetryConfig = resolveRetryConfig;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStEO0FBZ0IvRCxTQUFnQixrQkFBa0IsQ0FDaEMsS0FBMkI7SUFFM0IsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUN6RSw2Q0FDSyxLQUFLLEtBQ1IsVUFBVSxZQUFBLEVBQ1YsYUFBYSxFQUNYLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSw0Q0FBMEIsQ0FBQyxVQUFVLENBQUMsSUFDbkU7QUFDSixDQUFDO0FBVkQsZ0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXRyeVN0cmF0ZWd5IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBFeHBvbmVudGlhbEJhY2tPZmZTdHJhdGVneSB9IGZyb20gXCIuL2RlZmF1bHRTdHJhdGVneVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5SW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHJlcXVlc3RzIHRoYXQgZW5jb3VudGVyIHBvdGVudGlhbGx5IHRyYW5zaWVudCBmYWlsdXJlcyBzaG91bGQgYmUgcmV0cmllZFxuICAgKi9cbiAgbWF4UmV0cmllcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBzdHJhdGVneSB0byByZXRyeSB0aGUgcmVxdWVzdC4gVXNpbmcgYnVpbHQtaW4gZXhwb25lbnRpYWwgYmFja29mZiBzdHJhdGVneSBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmV0cnlTdHJhdGVneT86IFJldHJ5U3RyYXRlZ3k7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5UmVzb2x2ZWRDb25maWcge1xuICBtYXhSZXRyaWVzOiBudW1iZXI7XG4gIHJldHJ5U3RyYXRlZ3k6IFJldHJ5U3RyYXRlZ3k7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJldHJ5Q29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFJldHJ5SW5wdXRDb25maWdcbik6IFQgJiBSZXRyeVJlc29sdmVkQ29uZmlnIHtcbiAgY29uc3QgbWF4UmV0cmllcyA9IGlucHV0Lm1heFJldHJpZXMgPT09IHVuZGVmaW5lZCA/IDMgOiBpbnB1dC5tYXhSZXRyaWVzO1xuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIG1heFJldHJpZXMsXG4gICAgcmV0cnlTdHJhdGVneTpcbiAgICAgIGlucHV0LnJldHJ5U3RyYXRlZ3kgfHwgbmV3IEV4cG9uZW50aWFsQmFja09mZlN0cmF0ZWd5KG1heFJldHJpZXMpXG4gIH07XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar signature_v4_1 = require(\"@aws-sdk/signature-v4\");\nfunction resolveAwsAuthConfig(input) {\n var _this = this;\n var credentials = input.credentials || input.credentialDefaultProvider(input);\n var normalizedCreds = normalizeProvider(credentials);\n var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;\n var signer;\n if (input.signer) {\n //if signer is supplied by user, normalize it to a function returning a promise for signer.\n signer = normalizeProvider(input.signer);\n }\n else {\n //construct a provider inferring signing from region.\n signer = function () {\n return normalizeProvider(input.region)()\n .then(function (region) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, input.regionInfoProvider(region)];\n case 1: return [2 /*return*/, [(_a.sent()) || {}, region]];\n }\n });\n }); })\n .then(function (_a) {\n var _b = tslib_1.__read(_a, 2), regionInfo = _b[0], region = _b[1];\n var _c = regionInfo.signingRegion, signingRegion = _c === void 0 ? input.signingRegion : _c, _d = regionInfo.signingService, signingService = _d === void 0 ? input.signingName : _d;\n //update client's singing region and signing service config if they are resolved.\n //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region\n input.signingRegion = input.signingRegion || signingRegion || region;\n input.signingName = input.signingName || signingService;\n return new signature_v4_1.SignatureV4({\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256: sha256,\n uriEscapePath: signingEscapePath\n });\n });\n };\n }\n return tslib_1.__assign(tslib_1.__assign({}, input), { systemClockOffset: systemClockOffset,\n signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });\n}\nexports.resolveAwsAuthConfig = resolveAwsAuthConfig;\nfunction normalizeProvider(input) {\n if (typeof input === \"object\") {\n var promisified_1 = Promise.resolve(input);\n return function () { return promisified_1; };\n }\n return input;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsc0RBQW9EO0FBMENwRCxTQUFnQixvQkFBb0IsQ0FDbEMsS0FBa0Q7SUFEcEQsaUJBcURDO0lBbERDLElBQUksV0FBVyxHQUNiLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQVksQ0FBQyxDQUFDO0lBQ3JFLElBQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXJELElBQUEsNEJBQXdCLEVBQXhCLDZDQUF3QixFQUN4Qiw0QkFBZ0QsRUFBaEQscUVBQWdELEVBQ2hELHFCQUFNLENBQ0U7SUFDVixJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLDJGQUEyRjtRQUMzRixNQUFNLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFDO1NBQU07UUFDTCxxREFBcUQ7UUFDckQsTUFBTSxHQUFHO1lBQ1AsT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQzlCLElBQUksQ0FDSCxVQUFNLE1BQU07OztnQ0FDUixxQkFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUE7Z0NBQXhDLHNCQUFBLENBQUMsQ0FBQyxTQUFzQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FHdEQsRUFBQTs7O2lCQUFBLENBQ0o7aUJBQ0EsSUFBSSxDQUFDLFVBQUMsRUFBb0I7b0JBQXBCLDBCQUFvQixFQUFuQixrQkFBVSxFQUFFLGNBQU07Z0JBRXRCLElBQUEsNkJBQW1DLEVBQW5DLHdEQUFtQyxFQUNuQyw4QkFBa0MsRUFBbEMsdURBQWtDLENBQ3JCO2dCQUNmLGlGQUFpRjtnQkFDakYsZ0hBQWdIO2dCQUNoSCxLQUFLLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksYUFBYSxJQUFJLE1BQU0sQ0FBQztnQkFDckUsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLGNBQWMsQ0FBQztnQkFFeEQsT0FBTyxJQUFJLDBCQUFXLENBQUM7b0JBQ3JCLFdBQVcsRUFBRSxlQUFlO29CQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQWE7b0JBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsV0FBVztvQkFDMUIsTUFBTSxRQUFBO29CQUNOLGFBQWEsRUFBRSxpQkFBaUI7aUJBQ2pDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQXpCSixDQXlCSSxDQUFDO0tBQ1I7SUFFRCw2Q0FDSyxLQUFLLEtBQ1IsaUJBQWlCLG1CQUFBO1FBQ2pCLGlCQUFpQixtQkFBQSxFQUNqQixXQUFXLEVBQUUsZUFBZSxFQUM1QixNQUFNLFFBQUEsSUFDTjtBQUNKLENBQUM7QUFyREQsb0RBcURDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBSSxLQUFzQjtJQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLEtBQW9CLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlcXVlc3RTaWduZXIsXG4gIENyZWRlbnRpYWxzLFxuICBQcm92aWRlcixcbiAgSGFzaENvbnN0cnVjdG9yLFxuICBSZWdpb25JbmZvUHJvdmlkZXIsXG4gIFJlZ2lvbkluZm9cbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBd3NBdXRoSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbiByZXF1ZXN0cy5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz47XG5cbiAgLyoqXG4gICAqIFRoZSBzaWduZXIgdG8gdXNlIHdoZW4gc2lnbmluZyByZXF1ZXN0cy5cbiAgICovXG4gIHNpZ25lcj86IFJlcXVlc3RTaWduZXIgfCBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlc2NhcGUgcmVxdWVzdCBwYXRoIHdoZW4gc2lnbmluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQW4gb2Zmc2V0IHZhbHVlIGluIG1pbGxpc2Vjb25kcyB0byBhcHBseSB0byBhbGwgc2lnbmluZyB0aW1lcy5cbiAgICovXG4gIHN5c3RlbUNsb2NrT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIHdoZXJlIHlvdSB3YW50IHRvIHNpZ24geW91ciByZXF1ZXN0IGFnYWluc3QuIFRoaXNcbiAgICogY2FuIGJlIGRpZmZlcmVudCB0byB0aGUgcmVnaW9uIGluIHRoZSBlbmRwb2ludC5cbiAgICovXG4gIHNpZ25pbmdSZWdpb24/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcjogKGlucHV0OiBhbnkpID0+IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgcmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+O1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7XG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICBzeXN0ZW1DbG9ja09mZnNldDogbnVtYmVyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBd3NBdXRoQ29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIEF3c0F1dGhJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZFxuKTogVCAmIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7XG4gIGxldCBjcmVkZW50aWFscyA9XG4gICAgaW5wdXQuY3JlZGVudGlhbHMgfHwgaW5wdXQuY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcihpbnB1dCBhcyBhbnkpO1xuICBjb25zdCBub3JtYWxpemVkQ3JlZHMgPSBub3JtYWxpemVQcm92aWRlcihjcmVkZW50aWFscyk7XG4gIGNvbnN0IHtcbiAgICBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsXG4gICAgc3lzdGVtQ2xvY2tPZmZzZXQgPSBpbnB1dC5zeXN0ZW1DbG9ja09mZnNldCB8fCAwLFxuICAgIHNoYTI1NlxuICB9ID0gaW5wdXQ7XG4gIGxldCBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBpZiAoaW5wdXQuc2lnbmVyKSB7XG4gICAgLy9pZiBzaWduZXIgaXMgc3VwcGxpZWQgYnkgdXNlciwgbm9ybWFsaXplIGl0IHRvIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZSBmb3Igc2lnbmVyLlxuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnNpZ25lcik7XG4gIH0gZWxzZSB7XG4gICAgLy9jb25zdHJ1Y3QgYSBwcm92aWRlciBpbmZlcnJpbmcgc2lnbmluZyBmcm9tIHJlZ2lvbi5cbiAgICBzaWduZXIgPSAoKSA9PlxuICAgICAgbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQucmVnaW9uKSgpXG4gICAgICAgIC50aGVuKFxuICAgICAgICAgIGFzeW5jIHJlZ2lvbiA9PlxuICAgICAgICAgICAgWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1xuICAgICAgICAgICAgICBSZWdpb25JbmZvLFxuICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICAgICAudGhlbigoW3JlZ2lvbkluZm8sIHJlZ2lvbl0pID0+IHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBzaWduaW5nUmVnaW9uID0gaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNpZ25pbmdTZXJ2aWNlID0gaW5wdXQuc2lnbmluZ05hbWVcbiAgICAgICAgICB9ID0gcmVnaW9uSW5mbztcbiAgICAgICAgICAvL3VwZGF0ZSBjbGllbnQncyBzaW5naW5nIHJlZ2lvbiBhbmQgc2lnbmluZyBzZXJ2aWNlIGNvbmZpZyBpZiB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgICAgICAvL3NpZ25pbmcgcmVnaW9uIHJlc29sdmluZyBvcmRlcjogdXNlciBzdXBwbGllZCBzaWduaW5nUmVnaW9uIC0+IGVuZHBvaW50cy5qc29uIGluZmVycmVkIHJlZ2lvbiAtPiBjbGllbnQgcmVnaW9uXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ1JlZ2lvbiA9IGlucHV0LnNpZ25pbmdSZWdpb24gfHwgc2lnbmluZ1JlZ2lvbiB8fCByZWdpb247XG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZTtcblxuICAgICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGhcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVByb3ZpZGVyPFQ+KGlucHV0OiBUIHwgUHJvdmlkZXI8VD4pOiBQcm92aWRlcjxUPiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCBwcm9taXNpZmllZCA9IFByb21pc2UucmVzb2x2ZShpbnB1dCk7XG4gICAgcmV0dXJuICgpID0+IHByb21pc2lmaWVkO1xuICB9XG4gIHJldHVybiBpbnB1dCBhcyBQcm92aWRlcjxUPjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar escape_uri_1 = require(\"./escape-uri\");\nfunction escapeUriPath(uri) {\n var e_1, _a;\n var parts = [];\n try {\n for (var _b = tslib_1.__values(uri.split(\"/\")), _c = _b.next(); !_c.done; _c = _b.next()) {\n var sub = _c.value;\n parts.push(escape_uri_1.escapeUri(sub));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return parts.join(\"/\");\n}\nexports.escapeUriPath = escapeUriPath;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLXVyaS1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VzY2FwZS11cmktcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBeUM7QUFDekMsU0FBZ0IsYUFBYSxDQUFDLEdBQVc7O0lBQ3ZDLElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQzs7UUFDekIsS0FBZ0IsSUFBQSxLQUFBLGlCQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7WUFBM0IsSUFBSSxHQUFHLFdBQUE7WUFDVixLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1Qjs7Ozs7Ozs7O0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFORCxzQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVzY2FwZVVyaSB9IGZyb20gXCIuL2VzY2FwZS11cmlcIjtcbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVVcmlQYXRoKHVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBzdWIgb2YgdXJpLnNwbGl0KFwiL1wiKSkge1xuICAgIHBhcnRzLnB1c2goZXNjYXBlVXJpKHN1YikpO1xuICB9XG4gIHJldHVybiBwYXJ0cy5qb2luKFwiL1wiKTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nvar isClockSkewed = function (newServerTime, systemClockOffset) {\n return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - newServerTime) >=\n 300000;\n};\nvar getSkewCorrectedDate = function (systemClockOffset) {\n return new Date(Date.now() + systemClockOffset);\n};\nfunction awsAuthMiddleware(options) {\n return function (next) {\n return function (args) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var signer, _a, output, _b, _c, _d, headers, dateHeader, serverTime;\n return tslib_1.__generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return [2 /*return*/, next(args)];\n if (!(typeof options.signer === \"function\")) return [3 /*break*/, 2];\n return [4 /*yield*/, options.signer()];\n case 1:\n _a = _e.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = options.signer;\n _e.label = 3;\n case 3:\n signer = _a;\n _b = next;\n _c = [tslib_1.__assign({}, args)];\n _d = {};\n return [4 /*yield*/, signer.sign(args.request, {\n signingDate: new Date(Date.now() + options.systemClockOffset)\n })];\n case 4: return [4 /*yield*/, _b.apply(void 0, [tslib_1.__assign.apply(void 0, _c.concat([(_d.request = _e.sent(), _d)]))])];\n case 5:\n output = _e.sent();\n headers = output.response.headers;\n dateHeader = headers && (headers.date || headers.Date);\n if (dateHeader) {\n serverTime = Date.parse(dateHeader);\n if (isClockSkewed(serverTime, options.systemClockOffset)) {\n options.systemClockOffset = serverTime - Date.now();\n }\n }\n return [2 /*return*/, output];\n }\n });\n });\n };\n };\n}\nexports.awsAuthMiddleware = awsAuthMiddleware;\nexports.awsAuthMiddlewareOptions = {\n name: \"awsAuthMiddleware\",\n step: \"finalizeRequest\",\n tags: [\"SIGNATURE\", \"AWSAUTH\"],\n relation: \"after\",\n toMiddleware: \"retryMiddleware\"\n};\nexports.getAwsAuthPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.addRelativeTo(awsAuthMiddleware(options), exports.awsAuthMiddlewareOptions);\n }\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHdEQUFxRDtBQUVyRCxJQUFNLGFBQWEsR0FBRyxVQUFDLGFBQXFCLEVBQUUsaUJBQXlCO0lBQ3JFLE9BQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUMzRSxNQUFNO0FBRE4sQ0FDTSxDQUFDO0FBRVQsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLGlCQUF5QjtJQUNyRCxPQUFBLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztBQUF4QyxDQUF3QyxDQUFDO0FBRTNDLFNBQWdCLGlCQUFpQixDQUMvQixPQUE4QjtJQUU5QixPQUFPLFVBQ0wsSUFBb0M7UUFFcEMsT0FBQSxVQUNFLElBQXFDOzs7Ozs7NEJBRXJDLElBQUksQ0FBQywyQkFBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dDQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztpQ0FFM0QsQ0FBQSxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFBLEVBQXBDLHdCQUFvQzs0QkFDaEMscUJBQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFBOzs0QkFBdEIsS0FBQSxTQUFzQixDQUFBOzs7NEJBQ3RCLEtBQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQTs7OzRCQUhkLE1BQU0sS0FHUTs0QkFDQyxLQUFBLElBQUksQ0FBQTt1REFDcEIsSUFBSTs7NEJBQ0UscUJBQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO29DQUN2QyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztpQ0FDOUQsQ0FBQyxFQUFBO2dDQUpXLHFCQUFNLDZEQUVuQixVQUFPLEdBQUUsU0FFUCxVQUNGLEVBQUE7OzRCQUxJLE1BQU0sR0FBRyxTQUtiOzRCQUVNLE9BQU8sR0FBSyxNQUFNLENBQUMsUUFBZSxRQUEzQixDQUE0Qjs0QkFDckMsVUFBVSxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM3RCxJQUFJLFVBQVUsRUFBRTtnQ0FDUixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQ0FDMUMsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO29DQUN4RCxPQUFPLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQ0FDckQ7NkJBQ0Y7NEJBRUQsc0JBQU8sTUFBTSxFQUFDOzs7O1NBQ2Y7SUF6QkQsQ0F5QkMsQ0FBQztBQUNOLENBQUM7QUFoQ0QsOENBZ0NDO0FBRVksUUFBQSx3QkFBd0IsR0FDTjtJQUM3QixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0NBQ2hDLENBQUM7QUFFVyxRQUFBLGdCQUFnQixHQUFHLFVBQzlCLE9BQThCLElBQ04sT0FBQSxDQUFDO0lBQ3pCLFlBQVksRUFBRSxVQUFBLFdBQVc7UUFDdkIsV0FBVyxDQUFDLGFBQWEsQ0FDdkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQzFCLGdDQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMsRUFQd0IsQ0FPeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZpbmFsaXplSGFuZGxlcixcbiAgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIFBsdWdnYWJsZSxcbiAgUmVsYXRpdmVMb2NhdGlvbixcbiAgRmluYWxpemVSZXF1ZXN0SGFuZGxlck9wdGlvbnNcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBBd3NBdXRoUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuXG5jb25zdCBpc0Nsb2NrU2tld2VkID0gKG5ld1NlcnZlclRpbWU6IG51bWJlciwgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT5cbiAgTWF0aC5hYnMoZ2V0U2tld0NvcnJlY3RlZERhdGUoc3lzdGVtQ2xvY2tPZmZzZXQpLmdldFRpbWUoKSAtIG5ld1NlcnZlclRpbWUpID49XG4gIDMwMDAwMDtcblxuY29uc3QgZ2V0U2tld0NvcnJlY3RlZERhdGUgPSAoc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT5cbiAgbmV3IERhdGUoRGF0ZS5ub3coKSArIHN5c3RlbUNsb2NrT2Zmc2V0KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGF3c0F1dGhNaWRkbGV3YXJlPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgZXh0ZW5kcyBvYmplY3Q+KFxuICBvcHRpb25zOiBBd3NBdXRoUmVzb2x2ZWRDb25maWdcbik6IEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4ge1xuICByZXR1cm4gKFxuICAgIG5leHQ6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PlxuICApOiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4gPT5cbiAgICBhc3luYyBmdW5jdGlvbiAoXG4gICAgICBhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8SW5wdXQ+XG4gICAgKTogUHJvbWlzZTxGaW5hbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4ge1xuICAgICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgICAgY29uc3Qgc2lnbmVyID1cbiAgICAgICAgdHlwZW9mIG9wdGlvbnMuc2lnbmVyID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICA/IGF3YWl0IG9wdGlvbnMuc2lnbmVyKClcbiAgICAgICAgICA6IG9wdGlvbnMuc2lnbmVyO1xuICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgbmV4dCh7XG4gICAgICAgIC4uLmFyZ3MsXG4gICAgICAgIHJlcXVlc3Q6IGF3YWl0IHNpZ25lci5zaWduKGFyZ3MucmVxdWVzdCwge1xuICAgICAgICAgIHNpZ25pbmdEYXRlOiBuZXcgRGF0ZShEYXRlLm5vdygpICsgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldClcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IG91dHB1dC5yZXNwb25zZSBhcyBhbnk7XG4gICAgICBjb25zdCBkYXRlSGVhZGVyID0gaGVhZGVycyAmJiAoaGVhZGVycy5kYXRlIHx8IGhlYWRlcnMuRGF0ZSk7XG4gICAgICBpZiAoZGF0ZUhlYWRlcikge1xuICAgICAgICBjb25zdCBzZXJ2ZXJUaW1lID0gRGF0ZS5wYXJzZShkYXRlSGVhZGVyKTtcbiAgICAgICAgaWYgKGlzQ2xvY2tTa2V3ZWQoc2VydmVyVGltZSwgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCkpIHtcbiAgICAgICAgICBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0ID0gc2VydmVyVGltZSAtIERhdGUubm93KCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgYXdzQXV0aE1pZGRsZXdhcmVPcHRpb25zOiBGaW5hbGl6ZVJlcXVlc3RIYW5kbGVyT3B0aW9ucyAmXG4gIFJlbGF0aXZlTG9jYXRpb248YW55LCBhbnk+ID0ge1xuICBuYW1lOiBcImF3c0F1dGhNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiZmluYWxpemVSZXF1ZXN0XCIsXG4gIHRhZ3M6IFtcIlNJR05BVFVSRVwiLCBcIkFXU0FVVEhcIl0sXG4gIHJlbGF0aW9uOiBcImFmdGVyXCIsXG4gIHRvTWlkZGxld2FyZTogXCJyZXRyeU1pZGRsZXdhcmVcIlxufTtcblxuZXhwb3J0IGNvbnN0IGdldEF3c0F1dGhQbHVnaW4gPSAoXG4gIG9wdGlvbnM6IEF3c0F1dGhSZXNvbHZlZENvbmZpZ1xuKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IGNsaWVudFN0YWNrID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGRSZWxhdGl2ZVRvKFxuICAgICAgYXdzQXV0aE1pZGRsZXdhcmUob3B0aW9ucyksXG4gICAgICBhd3NBdXRoTWlkZGxld2FyZU9wdGlvbnNcbiAgICApO1xuICB9XG59KTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction resolveUserAgentConfig(input) {\n return input;\n}\nexports.resolveUserAgentConfig = resolveUserAgentConfig;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSxTQUFnQixzQkFBc0IsQ0FDcEMsS0FBb0Q7SUFFcEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBSkQsd0RBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdXNlciBhZ2VudCBoZWFkZXIgdGhhdCB3b3VsZCBiZSBhcHBlbmRlZCB0byBkZWZhdWx0IG9uZVxuICAgKi9cbiAgY3VzdG9tVXNlckFnZW50Pzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGRlZmF1bHRVc2VyQWdlbnQ6IHN0cmluZztcbiAgcnVudGltZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB7XG4gIGRlZmF1bHRVc2VyQWdlbnQ6IHN0cmluZztcbiAgY3VzdG9tVXNlckFnZW50Pzogc3RyaW5nO1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVVzZXJBZ2VudENvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBVc2VyQWdlbnRJbnB1dENvbmZpZ1xuKTogVCAmIFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIGlucHV0O1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction userAgentMiddleware(options) {\n return function (next) { return function (args) {\n var request = args.request;\n if (!protocol_http_1.HttpRequest.isInstance(request))\n return next(args);\n var headers = request.headers;\n var userAgentHeader = options.runtime === \"node\" ? \"user-agent\" : \"x-amz-user-agent\";\n if (!headers[userAgentHeader]) {\n headers[userAgentHeader] = \"\" + options.defaultUserAgent;\n }\n else {\n headers[userAgentHeader] += \" \" + options.defaultUserAgent;\n }\n if (options.customUserAgent) {\n headers[userAgentHeader] += \" \" + options.customUserAgent;\n }\n return next(tslib_1.__assign(tslib_1.__assign({}, args), { request: request }));\n }; };\n}\nexports.userAgentMiddleware = userAgentMiddleware;\nexports.getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"]\n};\nexports.getUserAgentPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(userAgentMiddleware(config), exports.getUserAgentMiddlewareOptions);\n }\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLHdEQUFxRDtBQUdyRCxTQUFnQixtQkFBbUIsQ0FBQyxPQUFnQztJQUNsRSxPQUFPLFVBQ0wsSUFBNEIsSUFDRCxPQUFBLFVBQzNCLElBQWdDO1FBRTFCLElBQUEsc0JBQU8sQ0FBVTtRQUN2QixJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBQSx5QkFBTyxDQUFhO1FBQzVCLElBQU0sZUFBZSxHQUNuQixPQUFPLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFHLE9BQU8sQ0FBQyxnQkFBa0IsQ0FBQztTQUMxRDthQUFNO1lBQ0wsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE1BQUksT0FBTyxDQUFDLGdCQUFrQixDQUFDO1NBQzVEO1FBQ0QsSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxNQUFJLE9BQU8sQ0FBQyxlQUFpQixDQUFDO1NBQzNEO1FBQ0QsT0FBTyxJQUFJLHVDQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxDQUFDO0lBQ0wsQ0FBQyxFQXBCNEIsQ0FvQjVCLENBQUM7QUFDSixDQUFDO0FBeEJELGtEQXdCQztBQUVZLFFBQUEsNkJBQTZCLEdBQXdCO0lBQ2hFLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7Q0FDdkMsQ0FBQztBQUVXLFFBQUEsa0JBQWtCLEdBQUcsVUFDaEMsTUFBK0IsSUFDUCxPQUFBLENBQUM7SUFDekIsWUFBWSxFQUFFLFVBQUEsV0FBVztRQUN2QixXQUFXLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLHFDQUE2QixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsRUFKd0IsQ0FJeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1aWxkSGFuZGxlckFyZ3VtZW50cyxcbiAgQnVpbGRIYW5kbGVyLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBQbHVnZ2FibGUsXG4gIEJ1aWxkSGFuZGxlck9wdGlvbnNcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VyQWdlbnRNaWRkbGV3YXJlKG9wdGlvbnM6IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnKSB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KFxuICAgIG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIGFueT5cbiAgKTogQnVpbGRIYW5kbGVyPGFueSwgYW55PiA9PiAoXG4gICAgYXJnczogQnVpbGRIYW5kbGVyQXJndW1lbnRzPGFueT5cbiAgKTogUHJvbWlzZTxCdWlsZEhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICAgIGxldCB7IHJlcXVlc3QgfSA9IGFyZ3M7XG4gICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSByZXR1cm4gbmV4dChhcmdzKTtcbiAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgdXNlckFnZW50SGVhZGVyID1cbiAgICAgIG9wdGlvbnMucnVudGltZSA9PT0gXCJub2RlXCIgPyBcInVzZXItYWdlbnRcIiA6IFwieC1hbXotdXNlci1hZ2VudFwiO1xuICAgIGlmICghaGVhZGVyc1t1c2VyQWdlbnRIZWFkZXJdKSB7XG4gICAgICBoZWFkZXJzW3VzZXJBZ2VudEhlYWRlcl0gPSBgJHtvcHRpb25zLmRlZmF1bHRVc2VyQWdlbnR9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZGVyc1t1c2VyQWdlbnRIZWFkZXJdICs9IGAgJHtvcHRpb25zLmRlZmF1bHRVc2VyQWdlbnR9YDtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuY3VzdG9tVXNlckFnZW50KSB7XG4gICAgICBoZWFkZXJzW3VzZXJBZ2VudEhlYWRlcl0gKz0gYCAke29wdGlvbnMuY3VzdG9tVXNlckFnZW50fWA7XG4gICAgfVxuICAgIHJldHVybiBuZXh0KHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICByZXF1ZXN0XG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQWdlbnRNaWRkbGV3YXJlT3B0aW9uczogQnVpbGRIYW5kbGVyT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJnZXRVc2VyQWdlbnRNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiYnVpbGRcIixcbiAgdGFnczogW1wiU0VUX1VTRVJfQUdFTlRcIiwgXCJVU0VSX0FHRU5UXCJdXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlckFnZW50UGx1Z2luID0gKFxuICBjb25maWc6IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnXG4pOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogY2xpZW50U3RhY2sgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZCh1c2VyQWdlbnRNaWRkbGV3YXJlKGNvbmZpZyksIGdldFVzZXJBZ2VudE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfVxufSk7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nvar Client = /** @class */ (function () {\n function Client(config) {\n this.middlewareStack = new middleware_stack_1.MiddlewareStack();\n this.config = config;\n }\n Client.prototype.send = function (command, optionsOrCb, cb) {\n var options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n var callback = typeof optionsOrCb === \"function\"\n ? optionsOrCb\n : cb;\n var handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then(function (result) { return callback(null, result.output); }, function (err) { return callback(err); })\n .catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n function () { });\n }\n else {\n return handler(command).then(function (result) { return result.output; });\n }\n };\n Client.prototype.destroy = function () {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n };\n return Client;\n}());\nexports.Client = Client;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhEQUE0RDtBQWlCNUQ7SUFVRSxnQkFBWSxNQUFtQztRQUZ4QyxvQkFBZSxHQUFHLElBQUksa0NBQWUsRUFBNkIsQ0FBQztRQUd4RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBZ0NELHFCQUFJLEdBQUosVUFDRSxPQU1DLEVBQ0QsV0FBc0UsRUFDdEUsRUFBMEM7UUFFMUMsSUFBTSxPQUFPLEdBQUcsT0FBTyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM1RSxJQUFNLFFBQVEsR0FDWixPQUFPLFdBQVcsS0FBSyxVQUFVO1lBQy9CLENBQUMsQ0FBRSxXQUFxRDtZQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1QsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUN2QyxJQUFJLENBQUMsZUFBc0IsRUFDM0IsSUFBSSxDQUFDLE1BQU0sRUFDWCxPQUFPLENBQ1IsQ0FBQztRQUNGLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQztpQkFDYixJQUFJLENBQ0gsVUFBQSxNQUFNLElBQUksT0FBQSxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBN0IsQ0FBNkIsRUFDdkMsVUFBQyxHQUFRLElBQUssT0FBQSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQWIsQ0FBYSxDQUM1QjtpQkFDQSxLQUFLO1lBQ0osK0RBQStEO1lBQy9ELDhCQUE4QjtZQUM5QixjQUFPLENBQUMsQ0FDVCxDQUFDO1NBQ0w7YUFBTTtZQUNMLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sQ0FBQyxNQUFNLEVBQWIsQ0FBYSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsd0JBQU8sR0FBUDtRQUNFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0gsYUFBQztBQUFELENBQUMsQUFyRkQsSUFxRkM7QUFyRlksd0JBQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaWRkbGV3YXJlU3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvbWlkZGxld2FyZS1zdGFja1wiO1xuaW1wb3J0IHtcbiAgUmVxdWVzdEhhbmRsZXIsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBDb21tYW5kLFxuICBDbGllbnQgYXMgSUNsaWVudFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTbWl0aHlDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPiB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueSwgSGFuZGxlck9wdGlvbnM+O1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz4gPSBTbWl0aHlDb25maWd1cmF0aW9uPFxuICBIYW5kbGVyT3B0aW9uc1xuPjtcblxuZXhwb3J0IGNsYXNzIENsaWVudDxcbiAgSGFuZGxlck9wdGlvbnMsXG4gIENsaWVudElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBDbGllbnRPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcixcbiAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uIGV4dGVuZHMgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPFxuICAgIEhhbmRsZXJPcHRpb25zXG4gID5cbj4gaW1wbGVtZW50cyBJQ2xpZW50PENsaWVudElucHV0LCBDbGllbnRPdXRwdXQsIFJlc29sdmVkQ2xpZW50Q29uZmlndXJhdGlvbj4ge1xuICBwdWJsaWMgbWlkZGxld2FyZVN0YWNrID0gbmV3IE1pZGRsZXdhcmVTdGFjazxDbGllbnRJbnB1dCwgQ2xpZW50T3V0cHV0PigpO1xuICByZWFkb25seSBjb25maWc6IFJlc29sdmVkQ2xpZW50Q29uZmlndXJhdGlvbjtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPFxuICAgICAgQ2xpZW50SW5wdXQsXG4gICAgICBJbnB1dFR5cGUsXG4gICAgICBDbGllbnRPdXRwdXQsXG4gICAgICBPdXRwdXRUeXBlLFxuICAgICAgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPlxuICAgID4sXG4gICAgb3B0aW9ucz86IEhhbmRsZXJPcHRpb25zXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT47XG4gIHNlbmQ8SW5wdXRUeXBlIGV4dGVuZHMgQ2xpZW50SW5wdXQsIE91dHB1dFR5cGUgZXh0ZW5kcyBDbGllbnRPdXRwdXQ+KFxuICAgIGNvbW1hbmQ6IENvbW1hbmQ8XG4gICAgICBDbGllbnRJbnB1dCxcbiAgICAgIElucHV0VHlwZSxcbiAgICAgIENsaWVudE91dHB1dCxcbiAgICAgIE91dHB1dFR5cGUsXG4gICAgICBTbWl0aHlSZXNvbHZlZENvbmZpZ3VyYXRpb248SGFuZGxlck9wdGlvbnM+XG4gICAgPixcbiAgICBjYjogKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZFxuICApOiB2b2lkO1xuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPFxuICAgICAgQ2xpZW50SW5wdXQsXG4gICAgICBJbnB1dFR5cGUsXG4gICAgICBDbGllbnRPdXRwdXQsXG4gICAgICBPdXRwdXRUeXBlLFxuICAgICAgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPlxuICAgID4sXG4gICAgb3B0aW9uczogSGFuZGxlck9wdGlvbnMsXG4gICAgY2I6IChlcnI6IGFueSwgZGF0YT86IE91dHB1dFR5cGUpID0+IHZvaWRcbiAgKTogdm9pZDtcbiAgc2VuZDxJbnB1dFR5cGUgZXh0ZW5kcyBDbGllbnRJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIENsaWVudE91dHB1dD4oXG4gICAgY29tbWFuZDogQ29tbWFuZDxcbiAgICAgIENsaWVudElucHV0LFxuICAgICAgSW5wdXRUeXBlLFxuICAgICAgQ2xpZW50T3V0cHV0LFxuICAgICAgT3V0cHV0VHlwZSxcbiAgICAgIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz5cbiAgICA+LFxuICAgIG9wdGlvbnNPckNiPzogSGFuZGxlck9wdGlvbnMgfCAoKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZCksXG4gICAgY2I/OiAoZXJyOiBhbnksIGRhdGE/OiBPdXRwdXRUeXBlKSA9PiB2b2lkXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT4gfCB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdHlwZW9mIG9wdGlvbnNPckNiICE9PSBcImZ1bmN0aW9uXCIgPyBvcHRpb25zT3JDYiA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjYWxsYmFjayA9XG4gICAgICB0eXBlb2Ygb3B0aW9uc09yQ2IgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICA/IChvcHRpb25zT3JDYiBhcyAoZXJyOiBhbnksIGRhdGE/OiBPdXRwdXRUeXBlKSA9PiB2b2lkKVxuICAgICAgICA6IGNiO1xuICAgIGNvbnN0IGhhbmRsZXIgPSBjb21tYW5kLnJlc29sdmVNaWRkbGV3YXJlKFxuICAgICAgdGhpcy5taWRkbGV3YXJlU3RhY2sgYXMgYW55LFxuICAgICAgdGhpcy5jb25maWcsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGhhbmRsZXIoY29tbWFuZClcbiAgICAgICAgLnRoZW4oXG4gICAgICAgICAgcmVzdWx0ID0+IGNhbGxiYWNrKG51bGwsIHJlc3VsdC5vdXRwdXQpLFxuICAgICAgICAgIChlcnI6IGFueSkgPT4gY2FsbGJhY2soZXJyKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChcbiAgICAgICAgICAvLyBwcmV2ZW50IGFueSBlcnJvcnMgdGhyb3duIGluIHRoZSBjYWxsYmFjayBmcm9tIHRyaWdnZXJpbmcgYW5cbiAgICAgICAgICAvLyB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25cbiAgICAgICAgICAoKSA9PiB7fVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGFuZGxlcihjb21tYW5kKS50aGVuKHJlc3VsdCA9PiByZXN1bHQub3V0cHV0KTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5yZXF1ZXN0SGFuZGxlci5kZXN0cm95KVxuICAgICAgdGhpcy5jb25maWcucmVxdWVzdEhhbmRsZXIuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar MiddlewareStack = /** @class */ (function () {\n function MiddlewareStack() {\n this.absoluteEntries = [];\n this.relativeEntries = [];\n this.entriesNameMap = {};\n }\n MiddlewareStack.prototype.add = function (middleware, options) {\n if (options === void 0) { options = {}; }\n var name = options.name, _a = options.step, step = _a === void 0 ? \"initialize\" : _a, tags = options.tags, _b = options.priority, priority = _b === void 0 ? \"normal\" : _b;\n var entry = {\n name: name,\n step: step,\n tags: tags,\n priority: priority,\n middleware: middleware\n };\n if (name) {\n if (Object.prototype.hasOwnProperty.call(this.entriesNameMap, name)) {\n throw new Error(\"Duplicated middleware name '\" + name + \"'\");\n }\n this.entriesNameMap[name] = entry;\n }\n this.absoluteEntries.push(entry);\n };\n MiddlewareStack.prototype.addRelativeTo = function (middleware, options) {\n var _a = options.step, step = _a === void 0 ? \"initialize\" : _a, name = options.name, tags = options.tags, relation = options.relation, toMiddleware = options.toMiddleware;\n var entry = {\n middleware: middleware,\n step: step,\n name: name,\n tags: tags,\n next: relation === \"before\" ? toMiddleware : undefined,\n prev: relation === \"after\" ? toMiddleware : undefined\n };\n if (name) {\n if (Object.prototype.hasOwnProperty.call(this.entriesNameMap, name)) {\n throw new Error(\"Duplicated middleware name '\" + name + \"'\");\n }\n this.entriesNameMap[name] = entry;\n }\n this.relativeEntries.push(entry);\n };\n MiddlewareStack.prototype.sort = function (entries) {\n //reverse before sorting so that middleware of same step will execute in\n //the order of being added\n return entries.sort(function (a, b) {\n return stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] -\n priorityWeights[a.priority || \"normal\"];\n });\n };\n MiddlewareStack.prototype.clone = function () {\n var _a, _b;\n var clone = new MiddlewareStack();\n (_a = clone.absoluteEntries).push.apply(_a, this.absoluteEntries);\n (_b = clone.relativeEntries).push.apply(_b, this.relativeEntries);\n clone.entriesNameMap = tslib_1.__assign({}, this.entriesNameMap);\n return clone;\n };\n MiddlewareStack.prototype.concat = function (from) {\n var _a, _b;\n var clone = new MiddlewareStack();\n clone.entriesNameMap = tslib_1.__assign({}, this.entriesNameMap);\n // IMiddlewareStack interface doesn't contain private members variables\n // like `entriesNameMap`, but in fact the function expects `MiddlewareStack`\n // class instance. So here we cast it.\n var _from = from;\n for (var name in _from.entriesNameMap) {\n if (clone.entriesNameMap[name]) {\n throw new Error(\"Duplicated middleware name '\" + name + \"'\");\n }\n clone.entriesNameMap[name] = _from.entriesNameMap[name];\n }\n (_a = clone.absoluteEntries).push.apply(_a, tslib_1.__spreadArrays(this.absoluteEntries, _from.absoluteEntries));\n (_b = clone.relativeEntries).push.apply(_b, tslib_1.__spreadArrays(this.relativeEntries, _from.relativeEntries));\n return clone;\n };\n MiddlewareStack.prototype.remove = function (toRemove) {\n if (typeof toRemove === \"string\")\n return this.removeByName(toRemove);\n else\n return this.removeByReference(toRemove);\n };\n MiddlewareStack.prototype.removeByName = function (toRemove) {\n for (var i = this.absoluteEntries.length - 1; i >= 0; i--) {\n if (this.absoluteEntries[i].name &&\n this.absoluteEntries[i].name === toRemove) {\n this.absoluteEntries.splice(i, 1);\n delete this.entriesNameMap[toRemove];\n return true;\n }\n }\n for (var i = this.relativeEntries.length - 1; i >= 0; i--) {\n if (this.relativeEntries[i].name &&\n this.relativeEntries[i].name === toRemove) {\n this.relativeEntries.splice(i, 1);\n delete this.entriesNameMap[toRemove];\n return true;\n }\n }\n return false;\n };\n MiddlewareStack.prototype.removeByReference = function (toRemove) {\n for (var i = this.absoluteEntries.length - 1; i >= 0; i--) {\n if (this.absoluteEntries[i].middleware === toRemove) {\n var name = this.absoluteEntries[i].name;\n if (name)\n delete this.entriesNameMap[name];\n this.absoluteEntries.splice(i, 1);\n return true;\n }\n }\n for (var i = this.relativeEntries.length - 1; i >= 0; i--) {\n if (this.relativeEntries[i].middleware === toRemove) {\n var name = this.relativeEntries[i].name;\n if (name)\n delete this.entriesNameMap[name];\n this.relativeEntries.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n MiddlewareStack.prototype.removeByTag = function (toRemove) {\n var removed = false;\n for (var i = this.absoluteEntries.length - 1; i >= 0; i--) {\n var _a = this.absoluteEntries[i], tags = _a.tags, name = _a.name;\n if (tags && tags.indexOf(toRemove) > -1) {\n this.absoluteEntries.splice(i, 1);\n if (name)\n delete this.entriesNameMap[name];\n removed = true;\n }\n }\n for (var i = this.relativeEntries.length - 1; i >= 0; i--) {\n var _b = this.relativeEntries[i], tags = _b.tags, name = _b.name;\n if (tags && tags.indexOf(toRemove) > -1) {\n this.relativeEntries.splice(i, 1);\n if (name)\n delete this.entriesNameMap[name];\n removed = true;\n }\n }\n return removed;\n };\n MiddlewareStack.prototype.use = function (plugin) {\n plugin.applyToStack(this);\n };\n /**\n * Resolve relative middleware entries to multiple double linked lists\n * depicting the relative location of middleware. Only middleware that have\n * direct or transitive relation will form a linked list.\n *\n * This function normalizes relative middleware into 2 categories of linked\n * lists. (1) linked list that have absolute-located middleware on one end.\n * These middleware will be resolved accordingly before or after the absolute-\n * located middleware. (2) Linked list that have no absolute-located middleware\n * on any end. They will be resolved to corresponding step with normal priority\n *\n * The 2 types of linked list will return as a tuple\n */\n MiddlewareStack.prototype.normalizeRelativeEntries = function () {\n var absoluteMiddlewareNamesMap = this.absoluteEntries\n .filter(function (entry) { return entry.name; })\n .reduce(function (accumulator, entry) {\n accumulator[entry.name] = entry;\n return accumulator;\n }, {});\n var normalized = this.relativeEntries.map(function (entry) {\n return (tslib_1.__assign(tslib_1.__assign({}, entry), { priority: null, next: undefined, prev: undefined }));\n });\n var relativeMiddlewareNamesMap = normalized\n .filter(function (entry) { return entry.name; })\n .reduce(function (accumulator, entry) {\n accumulator[entry.name] = entry;\n return accumulator;\n }, {});\n var anchors = {};\n for (var i = 0; i < this.relativeEntries.length; i++) {\n var _a = this.relativeEntries[i], prev = _a.prev, next = _a.next;\n var resolvedCurr = normalized[i];\n //either prev or next is set\n if (prev) {\n if (absoluteMiddlewareNamesMap[prev] &&\n absoluteMiddlewareNamesMap[prev].step === resolvedCurr.step) {\n if (!anchors[prev])\n anchors[prev] = {};\n resolvedCurr.next = anchors[prev].next;\n if (anchors[prev].next)\n anchors[prev].next.prev = resolvedCurr;\n anchors[prev].next = resolvedCurr;\n }\n else if (relativeMiddlewareNamesMap[prev] &&\n relativeMiddlewareNamesMap[prev].step === resolvedCurr.step) {\n var resolvedPrev = relativeMiddlewareNamesMap[prev];\n if (resolvedPrev.next === resolvedCurr)\n continue;\n resolvedCurr.next = resolvedPrev.next;\n resolvedPrev.next = resolvedCurr;\n if (resolvedCurr.next)\n resolvedCurr.next.prev = resolvedCurr;\n resolvedCurr.prev = resolvedPrev;\n }\n }\n else if (next) {\n if (absoluteMiddlewareNamesMap[next] &&\n absoluteMiddlewareNamesMap[next].step === resolvedCurr.step) {\n if (!anchors[next])\n anchors[next] = {};\n resolvedCurr.prev = anchors[next].prev;\n if (anchors[next].prev)\n anchors[next].prev.next = resolvedCurr;\n anchors[next].prev = resolvedCurr;\n }\n else if (relativeMiddlewareNamesMap[next] &&\n relativeMiddlewareNamesMap[next].step === resolvedCurr.step) {\n var resolvedNext = relativeMiddlewareNamesMap[next];\n if (resolvedNext.prev === resolvedCurr)\n continue;\n resolvedCurr.prev = resolvedNext.prev;\n resolvedNext.prev = resolvedCurr;\n if (resolvedCurr.prev)\n resolvedCurr.prev.next = resolvedCurr;\n resolvedCurr.next = resolvedNext;\n }\n }\n }\n // get the head of the relative middleware linked list that have\n // no transitive relation to absolute middleware.\n var orphanedRelativeEntries = [];\n var visited = new WeakSet();\n for (var _i = 0, _b = Object.keys(anchors); _i < _b.length; _i++) {\n var anchorName = _b[_i];\n var _c = anchors[anchorName], prev = _c.prev, next = _c.next;\n while (prev) {\n visited.add(prev);\n prev = prev.prev;\n }\n while (next) {\n visited.add(next);\n next = next.next;\n }\n }\n for (var i = 0; i < normalized.length; i++) {\n var entry = normalized[i];\n if (visited.has(entry))\n continue;\n if (!entry.prev)\n orphanedRelativeEntries.push(entry);\n while (entry && !visited.has(entry)) {\n visited.add(entry);\n entry = entry.next;\n }\n }\n return [orphanedRelativeEntries, anchors];\n };\n /**\n * Get a final list of middleware in the order of being executed in the resolved handler.\n * If relative entries list is not empty, those entries will be added to final middleware\n * list with rules below:\n * 1. if `toMiddleware` exists in the specific `step`, the middleware will be inserted before\n * or after the specified `toMiddleware`\n * 2. if `toMiddleware` doesn't exist in the specific `step`, the middleware will be appended\n * to specific `step` with priority of `normal`\n */\n MiddlewareStack.prototype.getMiddlewareList = function () {\n var middlewareList = [];\n var _a = this.normalizeRelativeEntries(), orphanedRelativeEntries = _a[0], anchors = _a[1];\n var entryList = tslib_1.__spreadArrays(this.absoluteEntries, orphanedRelativeEntries);\n entryList = this.sort(entryList);\n for (var _i = 0, entryList_1 = entryList; _i < entryList_1.length; _i++) {\n var entry = entryList_1[_i];\n var defaultAnchorValue = { prev: undefined, next: undefined };\n var _b = entry.name\n ? anchors[entry.name] || defaultAnchorValue\n : defaultAnchorValue, prev = _b.prev, next = _b.next;\n var relativeEntry = prev;\n //reverse relative entry linked list and add to ordered handler list\n while (relativeEntry === null || relativeEntry === void 0 ? void 0 : relativeEntry.prev) {\n relativeEntry = relativeEntry.prev;\n }\n while (relativeEntry) {\n middlewareList.push(relativeEntry.middleware);\n relativeEntry = relativeEntry.next;\n }\n middlewareList.push(entry.middleware);\n var orphanedEntry = entry;\n while (orphanedEntry.next) {\n middlewareList.push(orphanedEntry.next.middleware);\n orphanedEntry = orphanedEntry.next;\n }\n relativeEntry = next;\n while (relativeEntry) {\n middlewareList.push(relativeEntry.middleware);\n relativeEntry = relativeEntry.next;\n }\n }\n return middlewareList.reverse();\n };\n MiddlewareStack.prototype.resolve = function (handler, context) {\n for (var _i = 0, _a = this.getMiddlewareList(); _i < _a.length; _i++) {\n var middleware = _a[_i];\n handler = middleware(handler, context);\n }\n return handler;\n };\n return MiddlewareStack;\n}());\nexports.MiddlewareStack = MiddlewareStack;\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZVN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01pZGRsZXdhcmVTdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQ0E7SUFBQTtRQUNtQixvQkFBZSxHQUEwQyxFQUFFLENBQUM7UUFDNUQsb0JBQWUsR0FFNUIsRUFBRSxDQUFDO1FBQ0MsbUJBQWMsR0FJbEIsRUFBRSxDQUFDO0lBeVlULENBQUM7SUE5V0MsNkJBQUcsR0FBSCxVQUNFLFVBQXlDLEVBQ3pDLE9BQStDO1FBQS9DLHdCQUFBLEVBQUEsWUFBK0M7UUFFdkMsSUFBQSxtQkFBSSxFQUFFLGlCQUFtQixFQUFuQix3Q0FBbUIsRUFBRSxtQkFBSSxFQUFFLHFCQUFtQixFQUFuQix3Q0FBbUIsQ0FBYTtRQUN6RSxJQUFNLEtBQUssR0FBbUM7WUFDNUMsSUFBSSxNQUFBO1lBQ0osSUFBSSxNQUFBO1lBQ0osSUFBSSxNQUFBO1lBQ0osUUFBUSxVQUFBO1lBQ1IsVUFBVSxZQUFBO1NBQ1gsQ0FBQztRQUNGLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDbkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBK0IsSUFBSSxNQUFHLENBQUMsQ0FBQzthQUN6RDtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQTJCRCx1Q0FBYSxHQUFiLFVBQ0UsVUFBeUMsRUFDekMsT0FBeUQ7UUFFakQsSUFBQSxpQkFBbUIsRUFBbkIsd0NBQW1CLEVBQUUsbUJBQUksRUFBRSxtQkFBSSxFQUFFLDJCQUFRLEVBQUUsbUNBQVksQ0FBYTtRQUM1RSxJQUFNLEtBQUss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QkFBaUIsRUFBRSxFQUF4QixjQUF3QixFQUF4QixJQUF3QixFQUFFO1lBQTlDLElBQU0sVUFBVSxTQUFBO1lBQ25CLE9BQU8sR0FBRyxVQUFVLENBQ2xCLE9BQXFDLEVBQ3JDLE9BQU8sQ0FDRCxDQUFDO1NBQ1Y7UUFFRCxPQUFPLE9BQXlDLENBQUM7SUFDbkQsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQWxaRCxJQWtaQztBQWxaWSwwQ0FBZTtBQW9aNUIsSUFBTSxXQUFXLEdBQThCO0lBQzdDLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixLQUFLLEVBQUUsQ0FBQztJQUNSLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxDQUFDO0NBQ2YsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUFrQztJQUNyRCxJQUFJLEVBQUUsQ0FBQztJQUNQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsR0FBRyxFQUFFLENBQUM7Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zLFxuICBCdWlsZEhhbmRsZXJPcHRpb25zLFxuICBGaW5hbGl6ZVJlcXVlc3RIYW5kbGVyT3B0aW9ucyxcbiAgTWlkZGxld2FyZVR5cGUsXG4gIFNlcmlhbGl6ZU1pZGRsZXdhcmUsXG4gIEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmUsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZU1pZGRsZXdhcmUsXG4gIE1pZGRsZXdhcmVTdGFjayBhcyBJTWlkZGxld2FyZVN0YWNrLFxuICBTZXJpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgU3RlcCxcbiAgRGVzZXJpYWxpemVNaWRkbGV3YXJlLFxuICBEZXNlcmlhbGl6ZUhhbmRsZXJPcHRpb25zLFxuICBEZXNlcmlhbGl6ZUhhbmRsZXIsXG4gIFBsdWdnYWJsZSxcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBIYW5kbGVyLFxuICBQcmlvcml0eSxcbiAgQWJzb2x1dGVMb2NhdGlvbixcbiAgUmVsYXRpdmVMb2NhdGlvblxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7XG4gIE1pZGRsZXdhcmVFbnRyeSxcbiAgUmVsYXRpdmVNaWRkbGV3YXJlRW50cnksXG4gIE5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJ5LFxuICBOYW1lZE1pZGRsZXdhcmVFbnRyaWVzTWFwLFxuICBOYW1lZFJlbGF0aXZlRW50cmllc01hcCxcbiAgUmVsYXRpdmVNaWRkbGV3YXJlQW5jaG9yLFxuICBOb3JtYWxpemluZ0VudHJ5UmVzdWx0XG59IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZVN0YWNrPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgZXh0ZW5kcyBvYmplY3Q+XG4gIGV4dGVuZHMgSU1pZGRsZXdhcmVTdGFjazxJbnB1dCwgT3V0cHV0PiB7fVxuXG5leHBvcnQgY2xhc3MgTWlkZGxld2FyZVN0YWNrPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhYnNvbHV0ZUVudHJpZXM6IEFycmF5PE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0Pj4gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSByZWxhdGl2ZUVudHJpZXM6IEFycmF5PFxuICAgIFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+XG4gID4gPSBbXTtcbiAgcHJpdmF0ZSBlbnRyaWVzTmFtZU1hcDoge1xuICAgIFttaWRkbGV3YXJlTmFtZTogc3RyaW5nXTpcbiAgICAgIHwgTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+XG4gICAgICB8IFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+O1xuICB9ID0ge307XG5cbiAgYWRkKFxuICAgIG1pZGRsZXdhcmU6IEluaXRpYWxpemVNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+LFxuICAgIG9wdGlvbnM/OiBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uXG4gICk6IHZvaWQ7XG5cbiAgYWRkKFxuICAgIG1pZGRsZXdhcmU6IFNlcmlhbGl6ZU1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4sXG4gICAgb3B0aW9uczogU2VyaWFsaXplSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uXG4gICk6IHZvaWQ7XG5cbiAgYWRkKFxuICAgIG1pZGRsZXdhcmU6IEJ1aWxkTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PixcbiAgICBvcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvblxuICApOiB2b2lkO1xuXG4gIGFkZChcbiAgICBtaWRkbGV3YXJlOiBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+LFxuICAgIG9wdGlvbnM6IEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvblxuICApOiB2b2lkO1xuXG4gIGFkZChcbiAgICBtaWRkbGV3YXJlOiBEZXNlcmlhbGl6ZU1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4sXG4gICAgb3B0aW9uczogRGVzZXJpYWxpemVIYW5kbGVyT3B0aW9ucyAmIEFic29sdXRlTG9jYXRpb25cbiAgKTogdm9pZDtcblxuICBhZGQoXG4gICAgbWlkZGxld2FyZTogTWlkZGxld2FyZVR5cGU8SW5wdXQsIE91dHB1dD4sXG4gICAgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge31cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgeyBuYW1lLCBzdGVwID0gXCJpbml0aWFsaXplXCIsIHRhZ3MsIHByaW9yaXR5ID0gXCJub3JtYWxcIiB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBlbnRyeTogTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+ID0ge1xuICAgICAgbmFtZSxcbiAgICAgIHN0ZXAsXG4gICAgICB0YWdzLFxuICAgICAgcHJpb3JpdHksXG4gICAgICBtaWRkbGV3YXJlXG4gICAgfTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmVudHJpZXNOYW1lTWFwLCBuYW1lKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZWQgbWlkZGxld2FyZSBuYW1lICcke25hbWV9J2ApO1xuICAgICAgfVxuICAgICAgdGhpcy5lbnRyaWVzTmFtZU1hcFtuYW1lXSA9IGVudHJ5O1xuICAgIH1cbiAgICB0aGlzLmFic29sdXRlRW50cmllcy5wdXNoKGVudHJ5KTtcbiAgfVxuXG4gIGFkZFJlbGF0aXZlVG8oXG4gICAgbWlkZGxld2FyZTogSW5pdGlhbGl6ZU1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4sXG4gICAgb3B0aW9uczogSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zICYgUmVsYXRpdmVMb2NhdGlvbjxJbnB1dCwgT3V0cHV0PlxuICApOiB2b2lkO1xuXG4gIGFkZFJlbGF0aXZlVG8oXG4gICAgbWlkZGxld2FyZTogU2VyaWFsaXplTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PixcbiAgICBvcHRpb25zOiBTZXJpYWxpemVIYW5kbGVyT3B0aW9ucyAmIFJlbGF0aXZlTG9jYXRpb248SW5wdXQsIE91dHB1dD5cbiAgKTogdm9pZDtcblxuICBhZGRSZWxhdGl2ZVRvKFxuICAgIG1pZGRsZXdhcmU6IEJ1aWxkTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PixcbiAgICBvcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgUmVsYXRpdmVMb2NhdGlvbjxJbnB1dCwgT3V0cHV0PlxuICApOiB2b2lkO1xuXG4gIGFkZFJlbGF0aXZlVG8oXG4gICAgbWlkZGxld2FyZTogRmluYWxpemVSZXF1ZXN0TWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PixcbiAgICBvcHRpb25zOiBGaW5hbGl6ZVJlcXVlc3RIYW5kbGVyT3B0aW9ucyAmIFJlbGF0aXZlTG9jYXRpb248SW5wdXQsIE91dHB1dD5cbiAgKTogdm9pZDtcblxuICBhZGRSZWxhdGl2ZVRvKFxuICAgIG1pZGRsZXdhcmU6IERlc2VyaWFsaXplTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PixcbiAgICBvcHRpb25zOiBEZXNlcmlhbGl6ZUhhbmRsZXJPcHRpb25zICYgUmVsYXRpdmVMb2NhdGlvbjxJbnB1dCwgT3V0cHV0PlxuICApOiB2b2lkO1xuXG4gIGFkZFJlbGF0aXZlVG8oXG4gICAgbWlkZGxld2FyZTogTWlkZGxld2FyZVR5cGU8SW5wdXQsIE91dHB1dD4sXG4gICAgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBSZWxhdGl2ZUxvY2F0aW9uPElucHV0LCBPdXRwdXQ+XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3RlcCA9IFwiaW5pdGlhbGl6ZVwiLCBuYW1lLCB0YWdzLCByZWxhdGlvbiwgdG9NaWRkbGV3YXJlIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGVudHJ5OiBSZWxhdGl2ZU1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiA9IHtcbiAgICAgIG1pZGRsZXdhcmUsXG4gICAgICBzdGVwLFxuICAgICAgbmFtZSxcbiAgICAgIHRhZ3MsXG4gICAgICBuZXh0OiByZWxhdGlvbiA9PT0gXCJiZWZvcmVcIiA/IHRvTWlkZGxld2FyZSA6IHVuZGVmaW5lZCxcbiAgICAgIHByZXY6IHJlbGF0aW9uID09PSBcImFmdGVyXCIgPyB0b01pZGRsZXdhcmUgOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIGlmIChuYW1lKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuZW50cmllc05hbWVNYXAsIG5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlZCBtaWRkbGV3YXJlIG5hbWUgJyR7bmFtZX0nYCk7XG4gICAgICB9XG4gICAgICB0aGlzLmVudHJpZXNOYW1lTWFwW25hbWVdID0gZW50cnk7XG4gICAgfVxuICAgIHRoaXMucmVsYXRpdmVFbnRyaWVzLnB1c2goZW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0KFxuICAgIGVudHJpZXM6IEFycmF5PFxuICAgICAgTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+IHwgTm9ybWFsaXplZFJlbGF0aXZlRW50cnk8SW5wdXQsIE91dHB1dD5cbiAgICA+XG4gICk6IEFycmF5PFxuICAgIE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiB8IE5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJ5PElucHV0LCBPdXRwdXQ+XG4gID4ge1xuICAgIC8vcmV2ZXJzZSBiZWZvcmUgc29ydGluZyBzbyB0aGF0IG1pZGRsZXdhcmUgb2Ygc2FtZSBzdGVwIHdpbGwgZXhlY3V0ZSBpblxuICAgIC8vdGhlIG9yZGVyIG9mIGJlaW5nIGFkZGVkXG4gICAgcmV0dXJuIGVudHJpZXMuc29ydChcbiAgICAgIChhLCBiKSA9PlxuICAgICAgICBzdGVwV2VpZ2h0c1tiLnN0ZXBdIC0gc3RlcFdlaWdodHNbYS5zdGVwXSB8fFxuICAgICAgICBwcmlvcml0eVdlaWdodHNbYi5wcmlvcml0eSB8fCBcIm5vcm1hbFwiXSAtXG4gICAgICAgICAgcHJpb3JpdHlXZWlnaHRzW2EucHJpb3JpdHkgfHwgXCJub3JtYWxcIl1cbiAgICApO1xuICB9XG5cbiAgY2xvbmUoKTogSU1pZGRsZXdhcmVTdGFjazxJbnB1dCwgT3V0cHV0PiB7XG4gICAgY29uc3QgY2xvbmUgPSBuZXcgTWlkZGxld2FyZVN0YWNrPElucHV0LCBPdXRwdXQ+KCk7XG4gICAgY2xvbmUuYWJzb2x1dGVFbnRyaWVzLnB1c2goLi4udGhpcy5hYnNvbHV0ZUVudHJpZXMpO1xuICAgIGNsb25lLnJlbGF0aXZlRW50cmllcy5wdXNoKC4uLnRoaXMucmVsYXRpdmVFbnRyaWVzKTtcbiAgICBjbG9uZS5lbnRyaWVzTmFtZU1hcCA9IHsgLi4udGhpcy5lbnRyaWVzTmFtZU1hcCB9O1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGNvbmNhdDxJbnB1dFR5cGUgZXh0ZW5kcyBJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIE91dHB1dD4oXG4gICAgZnJvbTogSU1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+XG4gICk6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+IHtcbiAgICBjb25zdCBjbG9uZSA9IG5ldyBNaWRkbGV3YXJlU3RhY2s8SW5wdXRUeXBlLCBPdXRwdXRUeXBlPigpO1xuICAgIGNsb25lLmVudHJpZXNOYW1lTWFwID0geyAuLi4odGhpcy5lbnRyaWVzTmFtZU1hcCBhcyBhbnkpIH07XG4gICAgLy8gSU1pZGRsZXdhcmVTdGFjayBpbnRlcmZhY2UgZG9lc24ndCBjb250YWluIHByaXZhdGUgbWVtYmVycyB2YXJpYWJsZXNcbiAgICAvLyBsaWtlIGBlbnRyaWVzTmFtZU1hcGAsIGJ1dCBpbiBmYWN0IHRoZSBmdW5jdGlvbiBleHBlY3RzIGBNaWRkbGV3YXJlU3RhY2tgXG4gICAgLy8gY2xhc3MgaW5zdGFuY2UuIFNvIGhlcmUgd2UgY2FzdCBpdC5cbiAgICBjb25zdCBfZnJvbSA9IGZyb20gYXMgTWlkZGxld2FyZVN0YWNrPElucHV0VHlwZSwgT3V0cHV0VHlwZT47XG4gICAgZm9yIChjb25zdCBuYW1lIGluIF9mcm9tLmVudHJpZXNOYW1lTWFwKSB7XG4gICAgICBpZiAoY2xvbmUuZW50cmllc05hbWVNYXBbbmFtZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGVkIG1pZGRsZXdhcmUgbmFtZSAnJHtuYW1lfSdgKTtcbiAgICAgIH1cbiAgICAgIGNsb25lLmVudHJpZXNOYW1lTWFwW25hbWVdID0gX2Zyb20uZW50cmllc05hbWVNYXBbbmFtZV07XG4gICAgfVxuICAgIGNsb25lLmFic29sdXRlRW50cmllcy5wdXNoKFxuICAgICAgLi4uKHRoaXMuYWJzb2x1dGVFbnRyaWVzIGFzIGFueSksXG4gICAgICAuLi5fZnJvbS5hYnNvbHV0ZUVudHJpZXNcbiAgICApO1xuICAgIGNsb25lLnJlbGF0aXZlRW50cmllcy5wdXNoKFxuICAgICAgLi4uKHRoaXMucmVsYXRpdmVFbnRyaWVzIGFzIGFueSksXG4gICAgICAuLi5fZnJvbS5yZWxhdGl2ZUVudHJpZXNcbiAgICApO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIHJlbW92ZSh0b1JlbW92ZTogTWlkZGxld2FyZVR5cGU8SW5wdXQsIE91dHB1dD4gfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIHRvUmVtb3ZlID09PSBcInN0cmluZ1wiKSByZXR1cm4gdGhpcy5yZW1vdmVCeU5hbWUodG9SZW1vdmUpO1xuICAgIGVsc2UgcmV0dXJuIHRoaXMucmVtb3ZlQnlSZWZlcmVuY2UodG9SZW1vdmUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVCeU5hbWUodG9SZW1vdmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSB0aGlzLmFic29sdXRlRW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFic29sdXRlRW50cmllc1tpXS5uYW1lICYmXG4gICAgICAgIHRoaXMuYWJzb2x1dGVFbnRyaWVzW2ldLm5hbWUgPT09IHRvUmVtb3ZlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5hYnNvbHV0ZUVudHJpZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICBkZWxldGUgdGhpcy5lbnRyaWVzTmFtZU1hcFt0b1JlbW92ZV07XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gdGhpcy5yZWxhdGl2ZUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5yZWxhdGl2ZUVudHJpZXNbaV0ubmFtZSAmJlxuICAgICAgICB0aGlzLnJlbGF0aXZlRW50cmllc1tpXS5uYW1lID09PSB0b1JlbW92ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmVsYXRpdmVFbnRyaWVzLnNwbGljZShpLCAxKTtcbiAgICAgICAgZGVsZXRlIHRoaXMuZW50cmllc05hbWVNYXBbdG9SZW1vdmVdO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVCeVJlZmVyZW5jZSh0b1JlbW92ZTogTWlkZGxld2FyZVR5cGU8SW5wdXQsIE91dHB1dD4pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5hYnNvbHV0ZUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGlmICh0aGlzLmFic29sdXRlRW50cmllc1tpXS5taWRkbGV3YXJlID09PSB0b1JlbW92ZSkge1xuICAgICAgICBjb25zdCB7IG5hbWUgfSA9IHRoaXMuYWJzb2x1dGVFbnRyaWVzW2ldO1xuICAgICAgICBpZiAobmFtZSkgZGVsZXRlIHRoaXMuZW50cmllc05hbWVNYXBbbmFtZV07XG4gICAgICAgIHRoaXMuYWJzb2x1dGVFbnRyaWVzLnNwbGljZShpLCAxKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSB0aGlzLnJlbGF0aXZlRW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgaWYgKHRoaXMucmVsYXRpdmVFbnRyaWVzW2ldLm1pZGRsZXdhcmUgPT09IHRvUmVtb3ZlKSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gdGhpcy5yZWxhdGl2ZUVudHJpZXNbaV07XG4gICAgICAgIGlmIChuYW1lKSBkZWxldGUgdGhpcy5lbnRyaWVzTmFtZU1hcFtuYW1lXTtcbiAgICAgICAgdGhpcy5yZWxhdGl2ZUVudHJpZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmVtb3ZlQnlUYWcodG9SZW1vdmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCByZW1vdmVkID0gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMuYWJzb2x1dGVFbnRyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCB7IHRhZ3MsIG5hbWUgfSA9IHRoaXMuYWJzb2x1dGVFbnRyaWVzW2ldO1xuICAgICAgaWYgKHRhZ3MgJiYgdGFncy5pbmRleE9mKHRvUmVtb3ZlKSA+IC0xKSB7XG4gICAgICAgIHRoaXMuYWJzb2x1dGVFbnRyaWVzLnNwbGljZShpLCAxKTtcbiAgICAgICAgaWYgKG5hbWUpIGRlbGV0ZSB0aGlzLmVudHJpZXNOYW1lTWFwW25hbWVdO1xuICAgICAgICByZW1vdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IHRoaXMucmVsYXRpdmVFbnRyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCB7IHRhZ3MsIG5hbWUgfSA9IHRoaXMucmVsYXRpdmVFbnRyaWVzW2ldO1xuICAgICAgaWYgKHRhZ3MgJiYgdGFncy5pbmRleE9mKHRvUmVtb3ZlKSA+IC0xKSB7XG4gICAgICAgIHRoaXMucmVsYXRpdmVFbnRyaWVzLnNwbGljZShpLCAxKTtcbiAgICAgICAgaWYgKG5hbWUpIGRlbGV0ZSB0aGlzLmVudHJpZXNOYW1lTWFwW25hbWVdO1xuICAgICAgICByZW1vdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlbW92ZWQ7XG4gIH1cblxuICB1c2UocGx1Z2luOiBQbHVnZ2FibGU8SW5wdXQsIE91dHB1dD4pIHtcbiAgICBwbHVnaW4uYXBwbHlUb1N0YWNrKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgcmVsYXRpdmUgbWlkZGxld2FyZSBlbnRyaWVzIHRvIG11bHRpcGxlIGRvdWJsZSBsaW5rZWQgbGlzdHNcbiAgICogZGVwaWN0aW5nIHRoZSByZWxhdGl2ZSBsb2NhdGlvbiBvZiBtaWRkbGV3YXJlLiBPbmx5IG1pZGRsZXdhcmUgdGhhdCBoYXZlXG4gICAqIGRpcmVjdCBvciB0cmFuc2l0aXZlIHJlbGF0aW9uIHdpbGwgZm9ybSBhIGxpbmtlZCBsaXN0LlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIG5vcm1hbGl6ZXMgcmVsYXRpdmUgbWlkZGxld2FyZSBpbnRvIDIgY2F0ZWdvcmllcyBvZiBsaW5rZWRcbiAgICogbGlzdHMuICgxKSBsaW5rZWQgbGlzdCB0aGF0IGhhdmUgYWJzb2x1dGUtbG9jYXRlZCBtaWRkbGV3YXJlIG9uIG9uZSBlbmQuXG4gICAqIFRoZXNlIG1pZGRsZXdhcmUgd2lsbCBiZSByZXNvbHZlZCBhY2NvcmRpbmdseSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGFic29sdXRlLVxuICAgKiBsb2NhdGVkIG1pZGRsZXdhcmUuICgyKSBMaW5rZWQgbGlzdCB0aGF0IGhhdmUgbm8gYWJzb2x1dGUtbG9jYXRlZCBtaWRkbGV3YXJlXG4gICAqIG9uIGFueSBlbmQuIFRoZXkgd2lsbCBiZSByZXNvbHZlZCB0byBjb3JyZXNwb25kaW5nIHN0ZXAgd2l0aCBub3JtYWwgcHJpb3JpdHlcbiAgICpcbiAgICogVGhlIDIgdHlwZXMgb2YgbGlua2VkIGxpc3Qgd2lsbCByZXR1cm4gYXMgYSB0dXBsZVxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVSZWxhdGl2ZUVudHJpZXMoKTogTm9ybWFsaXppbmdFbnRyeVJlc3VsdDxJbnB1dCwgT3V0cHV0PiB7XG4gICAgY29uc3QgYWJzb2x1dGVNaWRkbGV3YXJlTmFtZXNNYXAgPSB0aGlzLmFic29sdXRlRW50cmllc1xuICAgICAgLmZpbHRlcihlbnRyeSA9PiBlbnRyeS5uYW1lKVxuICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIGVudHJ5KSA9PiB7XG4gICAgICAgIGFjY3VtdWxhdG9yW2VudHJ5Lm5hbWUhXSA9IGVudHJ5O1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9LCB7fSBhcyBOYW1lZE1pZGRsZXdhcmVFbnRyaWVzTWFwPElucHV0LCBPdXRwdXQ+KTtcbiAgICBjb25zdCBub3JtYWxpemVkID0gdGhpcy5yZWxhdGl2ZUVudHJpZXMubWFwKFxuICAgICAgZW50cnkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICBwcmlvcml0eTogbnVsbCxcbiAgICAgICAgICBuZXh0OiB1bmRlZmluZWQsXG4gICAgICAgICAgcHJldjogdW5kZWZpbmVkXG4gICAgICAgIH0gYXMgTm9ybWFsaXplZFJlbGF0aXZlRW50cnk8SW5wdXQsIE91dHB1dD4pXG4gICAgKTtcbiAgICBjb25zdCByZWxhdGl2ZU1pZGRsZXdhcmVOYW1lc01hcCA9IG5vcm1hbGl6ZWRcbiAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnkubmFtZSlcbiAgICAgIC5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBlbnRyeSkgPT4ge1xuICAgICAgICBhY2N1bXVsYXRvcltlbnRyeS5uYW1lIV0gPSBlbnRyeTtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfSwge30gYXMgTmFtZWRSZWxhdGl2ZUVudHJpZXNNYXA8SW5wdXQsIE91dHB1dD4pO1xuXG4gICAgY29uc3QgYW5jaG9yczogUmVsYXRpdmVNaWRkbGV3YXJlQW5jaG9yPElucHV0LCBPdXRwdXQ+ID0ge307XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJlbGF0aXZlRW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgeyBwcmV2LCBuZXh0IH0gPSB0aGlzLnJlbGF0aXZlRW50cmllc1tpXTtcbiAgICAgIGNvbnN0IHJlc29sdmVkQ3VyciA9IG5vcm1hbGl6ZWRbaV07XG4gICAgICAvL2VpdGhlciBwcmV2IG9yIG5leHQgaXMgc2V0XG4gICAgICBpZiAocHJldikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYWJzb2x1dGVNaWRkbGV3YXJlTmFtZXNNYXBbcHJldl0gJiZcbiAgICAgICAgICBhYnNvbHV0ZU1pZGRsZXdhcmVOYW1lc01hcFtwcmV2XS5zdGVwID09PSByZXNvbHZlZEN1cnIuc3RlcFxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoIWFuY2hvcnNbcHJldl0pIGFuY2hvcnNbcHJldl0gPSB7fTtcbiAgICAgICAgICByZXNvbHZlZEN1cnIubmV4dCA9IGFuY2hvcnNbcHJldl0ubmV4dDtcbiAgICAgICAgICBpZiAoYW5jaG9yc1twcmV2XS5uZXh0KSBhbmNob3JzW3ByZXZdLm5leHQhLnByZXYgPSByZXNvbHZlZEN1cnI7XG4gICAgICAgICAgYW5jaG9yc1twcmV2XS5uZXh0ID0gcmVzb2x2ZWRDdXJyO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHJlbGF0aXZlTWlkZGxld2FyZU5hbWVzTWFwW3ByZXZdICYmXG4gICAgICAgICAgcmVsYXRpdmVNaWRkbGV3YXJlTmFtZXNNYXBbcHJldl0uc3RlcCA9PT0gcmVzb2x2ZWRDdXJyLnN0ZXBcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRQcmV2ID0gcmVsYXRpdmVNaWRkbGV3YXJlTmFtZXNNYXBbcHJldl07XG4gICAgICAgICAgaWYgKHJlc29sdmVkUHJldi5uZXh0ID09PSByZXNvbHZlZEN1cnIpIGNvbnRpbnVlO1xuICAgICAgICAgIHJlc29sdmVkQ3Vyci5uZXh0ID0gcmVzb2x2ZWRQcmV2Lm5leHQ7XG4gICAgICAgICAgcmVzb2x2ZWRQcmV2Lm5leHQgPSByZXNvbHZlZEN1cnI7XG4gICAgICAgICAgaWYgKHJlc29sdmVkQ3Vyci5uZXh0KSByZXNvbHZlZEN1cnIubmV4dC5wcmV2ID0gcmVzb2x2ZWRDdXJyO1xuICAgICAgICAgIHJlc29sdmVkQ3Vyci5wcmV2ID0gcmVzb2x2ZWRQcmV2O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5leHQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGFic29sdXRlTWlkZGxld2FyZU5hbWVzTWFwW25leHRdICYmXG4gICAgICAgICAgYWJzb2x1dGVNaWRkbGV3YXJlTmFtZXNNYXBbbmV4dF0uc3RlcCA9PT0gcmVzb2x2ZWRDdXJyLnN0ZXBcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKCFhbmNob3JzW25leHRdKSBhbmNob3JzW25leHRdID0ge307XG4gICAgICAgICAgcmVzb2x2ZWRDdXJyLnByZXYgPSBhbmNob3JzW25leHRdLnByZXY7XG4gICAgICAgICAgaWYgKGFuY2hvcnNbbmV4dF0ucHJldikgYW5jaG9yc1tuZXh0XS5wcmV2IS5uZXh0ID0gcmVzb2x2ZWRDdXJyO1xuICAgICAgICAgIGFuY2hvcnNbbmV4dF0ucHJldiA9IHJlc29sdmVkQ3VycjtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICByZWxhdGl2ZU1pZGRsZXdhcmVOYW1lc01hcFtuZXh0XSAmJlxuICAgICAgICAgIHJlbGF0aXZlTWlkZGxld2FyZU5hbWVzTWFwW25leHRdLnN0ZXAgPT09IHJlc29sdmVkQ3Vyci5zdGVwXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHJlc29sdmVkTmV4dCA9IHJlbGF0aXZlTWlkZGxld2FyZU5hbWVzTWFwW25leHRdO1xuICAgICAgICAgIGlmIChyZXNvbHZlZE5leHQucHJldiA9PT0gcmVzb2x2ZWRDdXJyKSBjb250aW51ZTtcbiAgICAgICAgICByZXNvbHZlZEN1cnIucHJldiA9IHJlc29sdmVkTmV4dC5wcmV2O1xuICAgICAgICAgIHJlc29sdmVkTmV4dC5wcmV2ID0gcmVzb2x2ZWRDdXJyO1xuICAgICAgICAgIGlmIChyZXNvbHZlZEN1cnIucHJldikgcmVzb2x2ZWRDdXJyLnByZXYubmV4dCA9IHJlc29sdmVkQ3VycjtcbiAgICAgICAgICByZXNvbHZlZEN1cnIubmV4dCA9IHJlc29sdmVkTmV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBnZXQgdGhlIGhlYWQgb2YgdGhlIHJlbGF0aXZlIG1pZGRsZXdhcmUgbGlua2VkIGxpc3QgdGhhdCBoYXZlXG4gICAgLy8gbm8gdHJhbnNpdGl2ZSByZWxhdGlvbiB0byBhYnNvbHV0ZSBtaWRkbGV3YXJlLlxuICAgIGNvbnN0IG9ycGhhbmVkUmVsYXRpdmVFbnRyaWVzOiBBcnJheTxOb3JtYWxpemVkUmVsYXRpdmVFbnRyeTxcbiAgICAgIElucHV0LFxuICAgICAgT3V0cHV0XG4gICAgPj4gPSBbXTtcbiAgICBjb25zdCB2aXNpdGVkOiBXZWFrU2V0PE5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJ5PFxuICAgICAgSW5wdXQsXG4gICAgICBPdXRwdXRcbiAgICA+PiA9IG5ldyBXZWFrU2V0KCk7XG4gICAgZm9yIChjb25zdCBhbmNob3JOYW1lIG9mIE9iamVjdC5rZXlzKGFuY2hvcnMpKSB7XG4gICAgICBsZXQgeyBwcmV2LCBuZXh0IH0gPSBhbmNob3JzW2FuY2hvck5hbWVdO1xuICAgICAgd2hpbGUgKHByZXYpIHtcbiAgICAgICAgdmlzaXRlZC5hZGQocHJldik7XG4gICAgICAgIHByZXYgPSBwcmV2LnByZXY7XG4gICAgICB9XG4gICAgICB3aGlsZSAobmV4dCkge1xuICAgICAgICB2aXNpdGVkLmFkZChuZXh0KTtcbiAgICAgICAgbmV4dCA9IG5leHQubmV4dDtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub3JtYWxpemVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgZW50cnk6IE5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJ5PElucHV0LCBPdXRwdXQ+IHwgdW5kZWZpbmVkID1cbiAgICAgICAgbm9ybWFsaXplZFtpXTtcbiAgICAgIGlmICh2aXNpdGVkLmhhcyhlbnRyeSkpIGNvbnRpbnVlO1xuICAgICAgaWYgKCFlbnRyeS5wcmV2KSBvcnBoYW5lZFJlbGF0aXZlRW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICAgIHdoaWxlIChlbnRyeSAmJiAhdmlzaXRlZC5oYXMoZW50cnkpKSB7XG4gICAgICAgIHZpc2l0ZWQuYWRkKGVudHJ5KTtcbiAgICAgICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW29ycGhhbmVkUmVsYXRpdmVFbnRyaWVzLCBhbmNob3JzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBmaW5hbCBsaXN0IG9mIG1pZGRsZXdhcmUgaW4gdGhlIG9yZGVyIG9mIGJlaW5nIGV4ZWN1dGVkIGluIHRoZSByZXNvbHZlZCBoYW5kbGVyLlxuICAgKiBJZiByZWxhdGl2ZSBlbnRyaWVzIGxpc3QgaXMgbm90IGVtcHR5LCB0aG9zZSBlbnRyaWVzIHdpbGwgYmUgYWRkZWQgdG8gZmluYWwgbWlkZGxld2FyZVxuICAgKiBsaXN0IHdpdGggcnVsZXMgYmVsb3c6XG4gICAqIDEuIGlmIGB0b01pZGRsZXdhcmVgIGV4aXN0cyBpbiB0aGUgc3BlY2lmaWMgYHN0ZXBgLCB0aGUgbWlkZGxld2FyZSB3aWxsIGJlIGluc2VydGVkIGJlZm9yZVxuICAgKiAgICAgb3IgYWZ0ZXIgdGhlIHNwZWNpZmllZCBgdG9NaWRkbGV3YXJlYFxuICAgKiAyLiBpZiBgdG9NaWRkbGV3YXJlYCBkb2Vzbid0IGV4aXN0IGluIHRoZSBzcGVjaWZpYyBgc3RlcGAsIHRoZSBtaWRkbGV3YXJlIHdpbGwgYmUgYXBwZW5kZWRcbiAgICogICAgIHRvIHNwZWNpZmljIGBzdGVwYCB3aXRoIHByaW9yaXR5IG9mIGBub3JtYWxgXG4gICAqL1xuICBwcml2YXRlIGdldE1pZGRsZXdhcmVMaXN0KCk6IEFycmF5PE1pZGRsZXdhcmVUeXBlPElucHV0LCBPdXRwdXQ+PiB7XG4gICAgbGV0IG1pZGRsZXdhcmVMaXN0OiBBcnJheTxNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Pj4gPSBbXTtcbiAgICBjb25zdCBbb3JwaGFuZWRSZWxhdGl2ZUVudHJpZXMsIGFuY2hvcnNdID0gdGhpcy5ub3JtYWxpemVSZWxhdGl2ZUVudHJpZXMoKTtcbiAgICBsZXQgZW50cnlMaXN0ID0gWy4uLnRoaXMuYWJzb2x1dGVFbnRyaWVzLCAuLi5vcnBoYW5lZFJlbGF0aXZlRW50cmllc107XG4gICAgZW50cnlMaXN0ID0gdGhpcy5zb3J0KGVudHJ5TGlzdCk7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyeUxpc3QpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRBbmNob3JWYWx1ZSA9IHsgcHJldjogdW5kZWZpbmVkLCBuZXh0OiB1bmRlZmluZWQgfTtcbiAgICAgIGNvbnN0IHsgcHJldiwgbmV4dCB9ID0gZW50cnkubmFtZVxuICAgICAgICA/IGFuY2hvcnNbZW50cnkubmFtZV0gfHwgZGVmYXVsdEFuY2hvclZhbHVlXG4gICAgICAgIDogZGVmYXVsdEFuY2hvclZhbHVlO1xuICAgICAgbGV0IHJlbGF0aXZlRW50cnkgPSBwcmV2O1xuICAgICAgLy9yZXZlcnNlIHJlbGF0aXZlIGVudHJ5IGxpbmtlZCBsaXN0IGFuZCBhZGQgdG8gb3JkZXJlZCBoYW5kbGVyIGxpc3RcbiAgICAgIHdoaWxlIChyZWxhdGl2ZUVudHJ5Py5wcmV2KSB7XG4gICAgICAgIHJlbGF0aXZlRW50cnkgPSByZWxhdGl2ZUVudHJ5LnByZXY7XG4gICAgICB9XG4gICAgICB3aGlsZSAocmVsYXRpdmVFbnRyeSkge1xuICAgICAgICBtaWRkbGV3YXJlTGlzdC5wdXNoKHJlbGF0aXZlRW50cnkubWlkZGxld2FyZSk7XG4gICAgICAgIHJlbGF0aXZlRW50cnkgPSByZWxhdGl2ZUVudHJ5Lm5leHQ7XG4gICAgICB9XG4gICAgICBtaWRkbGV3YXJlTGlzdC5wdXNoKGVudHJ5Lm1pZGRsZXdhcmUpO1xuICAgICAgbGV0IG9ycGhhbmVkRW50cnkgPSBlbnRyeSBhcyBhbnk7XG4gICAgICB3aGlsZSAoKG9ycGhhbmVkRW50cnkgYXMgYW55KS5uZXh0KSB7XG4gICAgICAgIG1pZGRsZXdhcmVMaXN0LnB1c2goKG9ycGhhbmVkRW50cnkgYXMgYW55KS5uZXh0Lm1pZGRsZXdhcmUpO1xuICAgICAgICBvcnBoYW5lZEVudHJ5ID0gKG9ycGhhbmVkRW50cnkgYXMgYW55KS5uZXh0O1xuICAgICAgfVxuICAgICAgcmVsYXRpdmVFbnRyeSA9IG5leHQ7XG4gICAgICB3aGlsZSAocmVsYXRpdmVFbnRyeSkge1xuICAgICAgICBtaWRkbGV3YXJlTGlzdC5wdXNoKHJlbGF0aXZlRW50cnkubWlkZGxld2FyZSk7XG4gICAgICAgIHJlbGF0aXZlRW50cnkgPSByZWxhdGl2ZUVudHJ5Lm5leHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtaWRkbGV3YXJlTGlzdC5yZXZlcnNlKCk7XG4gIH1cblxuICByZXNvbHZlPElucHV0VHlwZSBleHRlbmRzIElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgT3V0cHV0PihcbiAgICBoYW5kbGVyOiBEZXNlcmlhbGl6ZUhhbmRsZXI8SW5wdXRUeXBlLCBPdXRwdXRUeXBlPixcbiAgICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuICApOiBIYW5kbGVyPElucHV0VHlwZSwgT3V0cHV0VHlwZT4ge1xuICAgIGZvciAoY29uc3QgbWlkZGxld2FyZSBvZiB0aGlzLmdldE1pZGRsZXdhcmVMaXN0KCkpIHtcbiAgICAgIGhhbmRsZXIgPSBtaWRkbGV3YXJlKFxuICAgICAgICBoYW5kbGVyIGFzIEhhbmRsZXI8SW5wdXQsIE91dHB1dFR5cGU+LFxuICAgICAgICBjb250ZXh0XG4gICAgICApIGFzIGFueTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlciBhcyBIYW5kbGVyPElucHV0VHlwZSwgT3V0cHV0VHlwZT47XG4gIH1cbn1cblxuY29uc3Qgc3RlcFdlaWdodHM6IHsgW2tleSBpbiBTdGVwXTogbnVtYmVyIH0gPSB7XG4gIGluaXRpYWxpemU6IDUsXG4gIHNlcmlhbGl6ZTogNCxcbiAgYnVpbGQ6IDMsXG4gIGZpbmFsaXplUmVxdWVzdDogMixcbiAgZGVzZXJpYWxpemU6IDFcbn07XG5cbmNvbnN0IHByaW9yaXR5V2VpZ2h0czogeyBba2V5IGluIFByaW9yaXR5XTogbnVtYmVyIH0gPSB7XG4gIGhpZ2g6IDMsXG4gIG5vcm1hbDogMixcbiAgbG93OiAxXG59O1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nvar Command = /** @class */ (function () {\n function Command() {\n this.middlewareStack = new middleware_stack_1.MiddlewareStack();\n }\n return Command;\n}());\nexports.Command = Command;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOERBQTREO0FBUTVEO0lBQUE7UUFnQlcsb0JBQWUsR0FHcEIsSUFBSSxrQ0FBZSxFQUFpQixDQUFDO0lBTTNDLENBQUM7SUFBRCxjQUFDO0FBQUQsQ0FBQyxBQXpCRCxJQXlCQztBQXpCcUIsMEJBQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaWRkbGV3YXJlU3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvbWlkZGxld2FyZS1zdGFja1wiO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCBhcyBJQ29tbWFuZCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIEhhbmRsZXIsXG4gIE1pZGRsZXdhcmVTdGFjayBhcyBJTWlkZGxld2FyZVN0YWNrXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tbWFuZDxcbiAgSW5wdXQgZXh0ZW5kcyBDbGllbnRJbnB1dCxcbiAgT3V0cHV0IGV4dGVuZHMgQ2xpZW50T3V0cHV0LFxuICBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24sXG4gIENsaWVudElucHV0IGV4dGVuZHMgb2JqZWN0ID0gYW55LFxuICBDbGllbnRPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IGFueVxuPlxuICBpbXBsZW1lbnRzXG4gICAgSUNvbW1hbmQ8XG4gICAgICBDbGllbnRJbnB1dCxcbiAgICAgIElucHV0LFxuICAgICAgQ2xpZW50T3V0cHV0LFxuICAgICAgT3V0cHV0LFxuICAgICAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uXG4gICAgPiB7XG4gIGFic3RyYWN0IGlucHV0OiBJbnB1dDtcbiAgcmVhZG9ubHkgbWlkZGxld2FyZVN0YWNrOiBJTWlkZGxld2FyZVN0YWNrPFxuICAgIElucHV0LFxuICAgIE91dHB1dFxuICA+ID0gbmV3IE1pZGRsZXdhcmVTdGFjazxJbnB1dCwgT3V0cHV0PigpO1xuICBhYnN0cmFjdCByZXNvbHZlTWlkZGxld2FyZShcbiAgICBzdGFjazogTWlkZGxld2FyZVN0YWNrPENsaWVudElucHV0LCBDbGllbnRPdXRwdXQ+LFxuICAgIGNvbmZpZ3VyYXRpb246IFJlc29sdmVkQ2xpZW50Q29uZmlndXJhdGlvbixcbiAgICBvcHRpb25zOiBhbnlcbiAgKTogSGFuZGxlcjxJbnB1dCwgT3V0cHV0Pjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Function that wraps encodeURIComponent to encode additional characters\n * to fully adhere to RFC 3986.\n */\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtZW5jb2RlLXVyaS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXh0ZW5kZWQtZW5jb2RlLXVyaS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7O0dBR0c7QUFDSCxTQUFnQiwwQkFBMEIsQ0FBQyxHQUFXO0lBQ3BELE9BQU8sa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDNUQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBSkQsZ0VBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZ1bmN0aW9uIHRoYXQgd3JhcHMgZW5jb2RlVVJJQ29tcG9uZW50IHRvIGVuY29kZSBhZGRpdGlvbmFsIGNoYXJhY3RlcnNcbiAqIHRvIGZ1bGx5IGFkaGVyZSB0byBSRkMgMzk4Ni5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZGVkRW5jb2RlVVJJQ29tcG9uZW50KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoL1shJygpKl0vZywgZnVuY3Rpb24gKGMpIHtcbiAgICByZXR1cm4gXCIlXCIgKyBjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpO1xuICB9KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * The XML parser will set one K:V for a member that could\n * return multiple entries but only has one.\n */\nexports.getArrayIfSingleItem = function (mayBeArray) {\n return Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFycmF5LWlmLXNpbmdsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dldC1hcnJheS1pZi1zaW5nbGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsVUFBSSxVQUFhO0lBQ25ELE9BQUEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUFyRCxDQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgWE1MIHBhcnNlciB3aWxsIHNldCBvbmUgSzpWIGZvciBhIG1lbWJlciB0aGF0IGNvdWxkXG4gKiByZXR1cm4gbXVsdGlwbGUgZW50cmllcyBidXQgb25seSBoYXMgb25lLlxuICovXG5leHBvcnQgY29uc3QgZ2V0QXJyYXlJZlNpbmdsZUl0ZW0gPSA8VD4obWF5QmVBcnJheTogVCk6IFQgfCBUW10gPT5cbiAgQXJyYXkuaXNBcnJheShtYXlCZUFycmF5KSA/IG1heUJlQXJyYXkgOiBbbWF5QmVBcnJheV07XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Recursively parses object and populates value is node from\n * \"#text\" key if it's available\n */\nexports.getValueFromTextNode = function (obj) {\n var textNodeName = \"#text\";\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = exports.getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLWZyb20tdGV4dC1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dldC12YWx1ZS1mcm9tLXRleHQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsVUFBQyxHQUFRO0lBQzNDLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztJQUM3QixLQUFLLElBQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtRQUNyQixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ25DO2FBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUM1RCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsNEJBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDM0M7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWN1cnNpdmVseSBwYXJzZXMgb2JqZWN0IGFuZCBwb3B1bGF0ZXMgdmFsdWUgaXMgbm9kZSBmcm9tXG4gKiBcIiN0ZXh0XCIga2V5IGlmIGl0J3MgYXZhaWxhYmxlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWYWx1ZUZyb21UZXh0Tm9kZSA9IChvYmo6IGFueSkgPT4ge1xuICBjb25zdCB0ZXh0Tm9kZU5hbWUgPSBcIiN0ZXh0XCI7XG4gIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSAmJiBvYmpba2V5XVt0ZXh0Tm9kZU5hbWVdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9ialtrZXldID0gb2JqW2tleV1bdGV4dE5vZGVOYW1lXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gXCJvYmplY3RcIiAmJiBvYmpba2V5XSAhPT0gbnVsbCkge1xuICAgICAgb2JqW2tleV0gPSBnZXRWYWx1ZUZyb21UZXh0Tm9kZShvYmpba2V5XSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmo7XG59O1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Checks if the given value is a Smithy structure of the given type.\n */\nfunction isa(o) {\n var ids = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n ids[_i - 1] = arguments[_i];\n }\n return (typeof o === \"object\" &&\n // Checks for name after __type, as name is used instead for errors.\n ((\"__type\" in o && ids.indexOf(o[\"__type\"]) > -1) ||\n (\"name\" in o && ids.indexOf(o[\"name\"]) > -1)));\n}\nexports.isa = isa;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztHQUVHO0FBQ0gsU0FBZ0IsR0FBRyxDQUFJLENBQU07SUFBRSxhQUFnQjtTQUFoQixVQUFnQixFQUFoQixxQkFBZ0IsRUFBaEIsSUFBZ0I7UUFBaEIsNEJBQWdCOztJQUM3QyxPQUFPLENBQ0wsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixvRUFBb0U7UUFDcEUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hELENBQUM7QUFDSixDQUFDO0FBUEQsa0JBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBTbWl0aHkgc3RydWN0dXJlIG9mIHRoZSBnaXZlbiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNhPFQ+KG86IGFueSwgLi4uaWRzOiBzdHJpbmdbXSk6IG8gaXMgVCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG8gPT09IFwib2JqZWN0XCIgJiZcbiAgICAvLyBDaGVja3MgZm9yIG5hbWUgYWZ0ZXIgX190eXBlLCBhcyBuYW1lIGlzIHVzZWQgaW5zdGVhZCBmb3IgZXJyb3JzLlxuICAgICgoXCJfX3R5cGVcIiBpbiBvICYmIGlkcy5pbmRleE9mKG9bXCJfX3R5cGVcIl0pID4gLTEpIHx8XG4gICAgICAoXCJuYW1lXCIgaW4gbyAmJiBpZHMuaW5kZXhPZihvW1wibmFtZVwiXSkgPiAtMSkpXG4gICk7XG59XG4iXX0=","\"use strict\";\n/**\n * Lazy String holder for JSON typed contents.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/**\n * Because of https://github.com/microsoft/tslib/issues/95,\n * TS 'extends' shim doesn't support extending native types like String.\n * So here we create StringWrapper that duplicate everything from String\n * class including its prototype chain. So we can extend from here.\n */\n// @ts-ignore StringWrapper implementation is not a simple constructor\nexports.StringWrapper = function () {\n //@ts-ignore 'this' cannot be assigned to any, but Object.getPrototypeOf accepts any\n var Class = Object.getPrototypeOf(this).constructor;\n var Constructor = Function.bind.apply(String, tslib_1.__spread([null], arguments));\n //@ts-ignore Call wrapped String constructor directly, don't bother typing it.\n var instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nexports.StringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: exports.StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\nObject.setPrototypeOf(exports.StringWrapper, String);\nvar LazyJsonString = /** @class */ (function (_super) {\n tslib_1.__extends(LazyJsonString, _super);\n function LazyJsonString() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LazyJsonString.prototype.deserializeJSON = function () {\n return JSON.parse(_super.prototype.toString.call(this));\n };\n LazyJsonString.prototype.toJSON = function () {\n return _super.prototype.toString.call(this);\n };\n LazyJsonString.fromObject = function (object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n };\n return LazyJsonString;\n}(exports.StringWrapper));\nexports.LazyJsonString = LazyJsonString;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xhenktanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQU1IOzs7OztHQUtHO0FBQ0gsc0VBQXNFO0FBQ3pELFFBQUEsYUFBYSxHQUFrQjtJQUMxQyxvRkFBb0Y7SUFDcEYsSUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDdEQsSUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxvQkFBRyxJQUFXLEdBQUssU0FBUyxFQUFFLENBQUM7SUFDN0UsOEVBQThFO0lBQzlFLElBQU0sUUFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFDbkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELE9BQU8sUUFBa0IsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFDRixxQkFBYSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDeEQsV0FBVyxFQUFFO1FBQ1gsS0FBSyxFQUFFLHFCQUFhO1FBQ3BCLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsWUFBWSxFQUFFLElBQUk7S0FDbkI7Q0FDRixDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLHFCQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0M7SUFBb0MsMENBQWE7SUFBakQ7O0lBaUJBLENBQUM7SUFoQkMsd0NBQWUsR0FBZjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBTSxRQUFRLFdBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwrQkFBTSxHQUFOO1FBQ0UsT0FBTyxpQkFBTSxRQUFRLFdBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0seUJBQVUsR0FBakIsVUFBa0IsTUFBVztRQUMzQixJQUFJLE1BQU0sWUFBWSxjQUFjLEVBQUU7WUFDcEMsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksTUFBTSxZQUFZLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDakUsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDSCxxQkFBQztBQUFELENBQUMsQUFqQkQsQ0FBb0MscUJBQWEsR0FpQmhEO0FBakJZLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMYXp5IFN0cmluZyBob2xkZXIgZm9yIEpTT04gdHlwZWQgY29udGVudHMuXG4gKi9cblxuaW50ZXJmYWNlIFN0cmluZ1dyYXBwZXIge1xuICBuZXcgKGFyZzogYW55KTogU3RyaW5nO1xufVxuXG4vKipcbiAqIEJlY2F1c2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC90c2xpYi9pc3N1ZXMvOTUsXG4gKiBUUyAnZXh0ZW5kcycgc2hpbSBkb2Vzbid0IHN1cHBvcnQgZXh0ZW5kaW5nIG5hdGl2ZSB0eXBlcyBsaWtlIFN0cmluZy5cbiAqIFNvIGhlcmUgd2UgY3JlYXRlIFN0cmluZ1dyYXBwZXIgdGhhdCBkdXBsaWNhdGUgZXZlcnl0aGluZyBmcm9tIFN0cmluZ1xuICogY2xhc3MgaW5jbHVkaW5nIGl0cyBwcm90b3R5cGUgY2hhaW4uIFNvIHdlIGNhbiBleHRlbmQgZnJvbSBoZXJlLlxuICovXG4vLyBAdHMtaWdub3JlIFN0cmluZ1dyYXBwZXIgaW1wbGVtZW50YXRpb24gaXMgbm90IGEgc2ltcGxlIGNvbnN0cnVjdG9yXG5leHBvcnQgY29uc3QgU3RyaW5nV3JhcHBlcjogU3RyaW5nV3JhcHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgLy9AdHMtaWdub3JlICd0aGlzJyBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW55LCBidXQgT2JqZWN0LmdldFByb3RvdHlwZU9mIGFjY2VwdHMgYW55XG4gIGNvbnN0IENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yO1xuICBjb25zdCBDb25zdHJ1Y3RvciA9IEZ1bmN0aW9uLmJpbmQuYXBwbHkoU3RyaW5nLCBbbnVsbCBhcyBhbnksIC4uLmFyZ3VtZW50c10pO1xuICAvL0B0cy1pZ25vcmUgQ2FsbCB3cmFwcGVkIFN0cmluZyBjb25zdHJ1Y3RvciBkaXJlY3RseSwgZG9uJ3QgYm90aGVyIHR5cGluZyBpdC5cbiAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ29uc3RydWN0b3IoKTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGluc3RhbmNlLCBDbGFzcy5wcm90b3R5cGUpO1xuICByZXR1cm4gaW5zdGFuY2UgYXMgU3RyaW5nO1xufTtcblN0cmluZ1dyYXBwZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdHJpbmcucHJvdG90eXBlLCB7XG4gIGNvbnN0cnVjdG9yOiB7XG4gICAgdmFsdWU6IFN0cmluZ1dyYXBwZXIsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH1cbn0pO1xuT2JqZWN0LnNldFByb3RvdHlwZU9mKFN0cmluZ1dyYXBwZXIsIFN0cmluZyk7XG5cbmV4cG9ydCBjbGFzcyBMYXp5SnNvblN0cmluZyBleHRlbmRzIFN0cmluZ1dyYXBwZXIge1xuICBkZXNlcmlhbGl6ZUpTT04oKTogYW55IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdXBlci50b1N0cmluZygpKTtcbiAgfVxuXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqZWN0OiBhbnkpOiBMYXp5SnNvblN0cmluZyB7XG4gICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIExhenlKc29uU3RyaW5nKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH0gZWxzZSBpZiAob2JqZWN0IGluc3RhbmNlb2YgU3RyaW5nIHx8IHR5cGVvZiBvYmplY3QgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiBuZXcgTGF6eUpzb25TdHJpbmcob2JqZWN0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBMYXp5SnNvblN0cmluZyhKU09OLnN0cmluZ2lmeShvYmplY3QpKTtcbiAgfVxufVxuIl19","\"use strict\";\n/**\n * Builds a proper UTC HttpDate timestamp from a Date object\n * since not all environments will have this as the expected\n * format.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\n * > Prior to ECMAScript 2018, the format of the return value\n * > varied according to the platform. The most common return\n * > value was an RFC-1123 formatted date stamp, which is a\n * > slightly updated version of RFC-822 date stamps.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Build indexes outside so we allocate them once.\nvar days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n// prettier-ignore\nvar months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nfunction dateToUtcString(date) {\n var year = date.getUTCFullYear();\n var month = date.getUTCMonth();\n var dayOfWeek = date.getUTCDay();\n var dayOfMonthInt = date.getUTCDate();\n var hoursInt = date.getUTCHours();\n var minutesInt = date.getUTCMinutes();\n var secondsInt = date.getUTCSeconds();\n // Build 0 prefixed strings for contents that need to be\n // two digits and where we get an integer back.\n var dayOfMonthString = dayOfMonthInt < 10 ? \"0\" + dayOfMonthInt : \"\" + dayOfMonthInt;\n var hoursString = hoursInt < 10 ? \"0\" + hoursInt : \"\" + hoursInt;\n var minutesString = minutesInt < 10 ? \"0\" + minutesInt : \"\" + minutesInt;\n var secondsString = secondsInt < 10 ? \"0\" + secondsInt : \"\" + secondsInt;\n return days[dayOfWeek] + \", \" + dayOfMonthString + \" \" + months[month] + \" \" + year + \" \" + hoursString + \":\" + minutesString + \":\" + secondsString + \" GMT\";\n}\nexports.dateToUtcString = dateToUtcString;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQUVILGtEQUFrRDtBQUNsRCxJQUFNLElBQUksR0FBa0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5RSxrQkFBa0I7QUFDbEIsSUFBTSxNQUFNLEdBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVuSCxTQUFnQixlQUFlLENBQUMsSUFBVTtJQUN4QyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkMsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QyxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFeEMsd0RBQXdEO0lBQ3hELCtDQUErQztJQUMvQyxJQUFNLGdCQUFnQixHQUNwQixhQUFhLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFJLGFBQWUsQ0FBQyxDQUFDLENBQUMsS0FBRyxhQUFlLENBQUM7SUFDaEUsSUFBTSxXQUFXLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBSSxRQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUcsUUFBVSxDQUFDO0lBQ25FLElBQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQUksVUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFHLFVBQVksQ0FBQztJQUMzRSxJQUFNLGFBQWEsR0FBRyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFJLFVBQVksQ0FBQyxDQUFDLENBQUMsS0FBRyxVQUFZLENBQUM7SUFFM0UsT0FBVSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQUssZ0JBQWdCLFNBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFJLElBQUksU0FBSSxXQUFXLFNBQUksYUFBYSxTQUFJLGFBQWEsU0FBTSxDQUFDO0FBQ2pJLENBQUM7QUFsQkQsMENBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdWlsZHMgYSBwcm9wZXIgVVRDIEh0dHBEYXRlIHRpbWVzdGFtcCBmcm9tIGEgRGF0ZSBvYmplY3RcbiAqIHNpbmNlIG5vdCBhbGwgZW52aXJvbm1lbnRzIHdpbGwgaGF2ZSB0aGlzIGFzIHRoZSBleHBlY3RlZFxuICogZm9ybWF0LlxuICpcbiAqIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS90b1VUQ1N0cmluZ1xuICogPiBQcmlvciB0byBFQ01BU2NyaXB0IDIwMTgsIHRoZSBmb3JtYXQgb2YgdGhlIHJldHVybiB2YWx1ZVxuICogPiB2YXJpZWQgYWNjb3JkaW5nIHRvIHRoZSBwbGF0Zm9ybS4gVGhlIG1vc3QgY29tbW9uIHJldHVyblxuICogPiB2YWx1ZSB3YXMgYW4gUkZDLTExMjMgZm9ybWF0dGVkIGRhdGUgc3RhbXAsIHdoaWNoIGlzIGFcbiAqID4gc2xpZ2h0bHkgdXBkYXRlZCB2ZXJzaW9uIG9mIFJGQy04MjIgZGF0ZSBzdGFtcHMuXG4gKi9cblxuLy8gQnVpbGQgaW5kZXhlcyBvdXRzaWRlIHNvIHdlIGFsbG9jYXRlIHRoZW0gb25jZS5cbmNvbnN0IGRheXM6IEFycmF5PFN0cmluZz4gPSBbXCJTdW5cIiwgXCJNb25cIiwgXCJUdWVcIiwgXCJXZWRcIiwgXCJUaHVcIiwgXCJGcmlcIiwgXCJTYXRcIl07XG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IG1vbnRoczogQXJyYXk8U3RyaW5nPiA9IFtcIkphblwiLCBcIkZlYlwiLCBcIk1hclwiLCBcIkFwclwiLCBcIk1heVwiLCBcIkp1blwiLCBcIkp1bFwiLCBcIkF1Z1wiLCBcIlNlcFwiLCBcIk9jdFwiLCBcIk5vdlwiLCBcIkRlY1wiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUb1V0Y1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgY29uc3QgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gIGNvbnN0IGRheU9mV2VlayA9IGRhdGUuZ2V0VVRDRGF5KCk7XG4gIGNvbnN0IGRheU9mTW9udGhJbnQgPSBkYXRlLmdldFVUQ0RhdGUoKTtcbiAgY29uc3QgaG91cnNJbnQgPSBkYXRlLmdldFVUQ0hvdXJzKCk7XG4gIGNvbnN0IG1pbnV0ZXNJbnQgPSBkYXRlLmdldFVUQ01pbnV0ZXMoKTtcbiAgY29uc3Qgc2Vjb25kc0ludCA9IGRhdGUuZ2V0VVRDU2Vjb25kcygpO1xuXG4gIC8vIEJ1aWxkIDAgcHJlZml4ZWQgc3RyaW5ncyBmb3IgY29udGVudHMgdGhhdCBuZWVkIHRvIGJlXG4gIC8vIHR3byBkaWdpdHMgYW5kIHdoZXJlIHdlIGdldCBhbiBpbnRlZ2VyIGJhY2suXG4gIGNvbnN0IGRheU9mTW9udGhTdHJpbmcgPVxuICAgIGRheU9mTW9udGhJbnQgPCAxMCA/IGAwJHtkYXlPZk1vbnRoSW50fWAgOiBgJHtkYXlPZk1vbnRoSW50fWA7XG4gIGNvbnN0IGhvdXJzU3RyaW5nID0gaG91cnNJbnQgPCAxMCA/IGAwJHtob3Vyc0ludH1gIDogYCR7aG91cnNJbnR9YDtcbiAgY29uc3QgbWludXRlc1N0cmluZyA9IG1pbnV0ZXNJbnQgPCAxMCA/IGAwJHttaW51dGVzSW50fWAgOiBgJHttaW51dGVzSW50fWA7XG4gIGNvbnN0IHNlY29uZHNTdHJpbmcgPSBzZWNvbmRzSW50IDwgMTAgPyBgMCR7c2Vjb25kc0ludH1gIDogYCR7c2Vjb25kc0ludH1gO1xuXG4gIHJldHVybiBgJHtkYXlzW2RheU9mV2Vla119LCAke2RheU9mTW9udGhTdHJpbmd9ICR7bW9udGhzW21vbnRoXX0gJHt5ZWFyfSAke2hvdXJzU3RyaW5nfToke21pbnV0ZXNTdHJpbmd9OiR7c2Vjb25kc1N0cmluZ30gR01UYDtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Given an input string, splits based on the delimiter after a given\n * number of delimiters has been encountered.\n *\n * @param value The input string to split.\n * @param delimiter The delimiter to split on.\n * @param numDelimiters The number of delimiters to have encountered to split.\n */\nfunction splitEvery(value, delimiter, numDelimiters) {\n // Fail if we don't have a clear number to split on.\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n var segments = value.split(delimiter);\n // Short circuit extra logic for the simple case.\n if (numDelimiters === 1) {\n return segments;\n }\n var compoundSegments = [];\n var currentSegment = \"\";\n for (var i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n // Start a new segment.\n currentSegment = segments[i];\n }\n else {\n // Compound the current segment with the delimiter.\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n // We encountered the right number of delimiters, so add the entry.\n compoundSegments.push(currentSegment);\n // And reset the current segment.\n currentSegment = \"\";\n }\n }\n // Handle any leftover segment portion.\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\nexports.splitEvery = splitEvery;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtZXZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3BsaXQtZXZlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsVUFBVSxDQUN4QixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsYUFBcUI7SUFFckIsb0RBQW9EO0lBQ3BELElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FDYixnQ0FBZ0MsR0FBRyxhQUFhLEdBQUcsbUJBQW1CLENBQ3ZFLENBQUM7S0FDSDtJQUVELElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsaURBQWlEO0lBQ2pELElBQUksYUFBYSxLQUFLLENBQUMsRUFBRTtRQUN2QixPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELElBQU0sZ0JBQWdCLEdBQWtCLEVBQUUsQ0FBQztJQUMzQyxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDeEMsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFO1lBQ3pCLHVCQUF1QjtZQUN2QixjQUFjLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDTCxtREFBbUQ7WUFDbkQsY0FBYyxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLGFBQWEsS0FBSyxDQUFDLEVBQUU7WUFDakMsbUVBQW1FO1lBQ25FLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0QyxpQ0FBaUM7WUFDakMsY0FBYyxHQUFHLEVBQUUsQ0FBQztTQUNyQjtLQUNGO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksY0FBYyxLQUFLLEVBQUUsRUFBRTtRQUN6QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDdkM7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUEzQ0QsZ0NBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHaXZlbiBhbiBpbnB1dCBzdHJpbmcsIHNwbGl0cyBiYXNlZCBvbiB0aGUgZGVsaW1pdGVyIGFmdGVyIGEgZ2l2ZW5cbiAqIG51bWJlciBvZiBkZWxpbWl0ZXJzIGhhcyBiZWVuIGVuY291bnRlcmVkLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgaW5wdXQgc3RyaW5nIHRvIHNwbGl0LlxuICogQHBhcmFtIGRlbGltaXRlciBUaGUgZGVsaW1pdGVyIHRvIHNwbGl0IG9uLlxuICogQHBhcmFtIG51bURlbGltaXRlcnMgVGhlIG51bWJlciBvZiBkZWxpbWl0ZXJzIHRvIGhhdmUgZW5jb3VudGVyZWQgdG8gc3BsaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdEV2ZXJ5KFxuICB2YWx1ZTogc3RyaW5nLFxuICBkZWxpbWl0ZXI6IHN0cmluZyxcbiAgbnVtRGVsaW1pdGVyczogbnVtYmVyXG4pOiBBcnJheTxzdHJpbmc+IHtcbiAgLy8gRmFpbCBpZiB3ZSBkb24ndCBoYXZlIGEgY2xlYXIgbnVtYmVyIHRvIHNwbGl0IG9uLlxuICBpZiAobnVtRGVsaW1pdGVycyA8PSAwIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG51bURlbGltaXRlcnMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJJbnZhbGlkIG51bWJlciBvZiBkZWxpbWl0ZXJzIChcIiArIG51bURlbGltaXRlcnMgKyBcIikgZm9yIHNwbGl0RXZlcnkuXCJcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc2VnbWVudHMgPSB2YWx1ZS5zcGxpdChkZWxpbWl0ZXIpO1xuICAvLyBTaG9ydCBjaXJjdWl0IGV4dHJhIGxvZ2ljIGZvciB0aGUgc2ltcGxlIGNhc2UuXG4gIGlmIChudW1EZWxpbWl0ZXJzID09PSAxKSB7XG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG5cbiAgY29uc3QgY29tcG91bmRTZWdtZW50czogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICBsZXQgY3VycmVudFNlZ21lbnQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGN1cnJlbnRTZWdtZW50ID09PSBcIlwiKSB7XG4gICAgICAvLyBTdGFydCBhIG5ldyBzZWdtZW50LlxuICAgICAgY3VycmVudFNlZ21lbnQgPSBzZWdtZW50c1tpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29tcG91bmQgdGhlIGN1cnJlbnQgc2VnbWVudCB3aXRoIHRoZSBkZWxpbWl0ZXIuXG4gICAgICBjdXJyZW50U2VnbWVudCArPSBkZWxpbWl0ZXIgKyBzZWdtZW50c1tpXTtcbiAgICB9XG5cbiAgICBpZiAoKGkgKyAxKSAlIG51bURlbGltaXRlcnMgPT09IDApIHtcbiAgICAgIC8vIFdlIGVuY291bnRlcmVkIHRoZSByaWdodCBudW1iZXIgb2YgZGVsaW1pdGVycywgc28gYWRkIHRoZSBlbnRyeS5cbiAgICAgIGNvbXBvdW5kU2VnbWVudHMucHVzaChjdXJyZW50U2VnbWVudCk7XG4gICAgICAvLyBBbmQgcmVzZXQgdGhlIGN1cnJlbnQgc2VnbWVudC5cbiAgICAgIGN1cnJlbnRTZWdtZW50ID0gXCJcIjtcbiAgICB9XG4gIH1cblxuICAvLyBIYW5kbGUgYW55IGxlZnRvdmVyIHNlZ21lbnQgcG9ydGlvbi5cbiAgaWYgKGN1cnJlbnRTZWdtZW50ICE9PSBcIlwiKSB7XG4gICAgY29tcG91bmRTZWdtZW50cy5wdXNoKGN1cnJlbnRTZWdtZW50KTtcbiAgfVxuXG4gIHJldHVybiBjb21wb3VuZFNlZ21lbnRzO1xufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nvar sha256_js_1 = require(\"@aws-crypto/sha256-js\");\nvar supports_web_crypto_1 = require(\"@aws-crypto/supports-web-crypto\");\nvar ie11_detection_1 = require(\"@aws-crypto/ie11-detection\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if (supports_web_crypto_1.supportsWebCrypto(util_locate_window_1.locateWindow())) {\n this.hash = new webCryptoSha256_1.Sha256(secret);\n }\n else if (ie11_detection_1.isMsWindow(util_locate_window_1.locateWindow())) {\n this.hash = new ie11Sha256_1.Sha256(secret);\n }\n else {\n this.hash = new sha256_js_1.Sha256(secret);\n }\n }\n Sha256.prototype.update = function (data, encoding) {\n this.hash.update(data, encoding);\n };\n Sha256.prototype.digest = function () {\n return this.hash.digest();\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\n//# sourceMappingURL=crossPlatformSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nfunction fromUtf8(input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length &&\n (value & 0xfc00) === 0xd800 &&\n (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 +\n ((value & 1023) << 10) +\n (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n}\nexports.fromUtf8 = fromUtf8;\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nfunction toUtf8(input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) |\n ((input[++i] & 63) << 6) |\n (input[++i] & 63));\n }\n }\n return decoded;\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFDTCxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLE1BQU07WUFDM0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQzdDO1lBQ0EsSUFBTSxhQUFhLEdBQ2pCLE9BQU87Z0JBQ1AsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUNSLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFDMUIsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQ3RDLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDaEMsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQWpDRCw0QkFpQ0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2hELElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDZixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNLElBQUksR0FBVSxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBVSxFQUFFO1lBQ2xELElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUNoRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUNYLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RSxPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsQ0FDMUIsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBMUJELHdCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgaSArIDEgPCBpbnB1dC5sZW5ndGggJiZcbiAgICAgICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJlxuICAgICAgKGlucHV0LmNoYXJDb2RlQXQoaSArIDEpICYgMHhmYzAwKSA9PT0gMHhkYzAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID1cbiAgICAgICAgMHgxMDAwMCArXG4gICAgICAgICgodmFsdWUgJiAwYjExMTExMTExMTEpIDw8IDEwKSArXG4gICAgICAgIChpbnB1dC5jaGFyQ29kZUF0KCsraSkgJiAwYjExMTExMTExMTEpO1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgPj4gMTgpIHwgMGIxMTExMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDEyKSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgICgoc3Vycm9nYXRlUGFpciA+PiA2KSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgIChzdXJyb2dhdGVQYWlyICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHZhbHVlID4+IDEyKSB8IDBiMTExMDAwMDAsXG4gICAgICAgICgodmFsdWUgPj4gNikgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwLFxuICAgICAgICAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBVaW50OEFycmF5LmZyb20oYnl0ZXMpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VdGY4KGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExMSkgPDwgNikgfCAobmV4dEJ5dGUgJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9XG4gICAgICAgIFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoYnl0ZVZhbHVlID0+IGJ5dGVWYWx1ZS50b1N0cmluZygxNikpLmpvaW4oXCIlXCIpO1xuICAgICAgZGVjb2RlZCArPSBkZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExKSA8PCAxMikgfFxuICAgICAgICAgICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8XG4gICAgICAgICAgKGlucHV0WysraV0gJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlY29kZWQ7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyQ0EsU0FBZ0IsUUFBUSxDQUFDLEtBQWE7SUFDcEMsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixNQUFNLENBQUMsS0FBaUI7SUFDdEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUZELHdCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGRlY2xhcmF0aW9uIG9mIHRoZSBnbG9iYWwgVGV4dEVuY29kZXIgYW5kIFRleHREZWNvZGVyIGNvbnN0cnVjdG9ycy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZW5jb2Rpbmcuc3BlYy53aGF0d2cub3JnL1xuICovXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKFxuICAgICAgaW5wdXQ/OiBBcnJheUJ1ZmZlciB8IEFycmF5QnVmZmVyVmlldyxcbiAgICAgIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9uc1xuICAgICk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./jsSha256\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"./constants\");\nvar RawSha256_1 = require(\"./RawSha256\");\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.hash = new RawSha256_1.RawSha256();\n if (secret) {\n this.outer = new RawSha256_1.RawSha256();\n var inner = bufferFromSecret(secret);\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n Sha256.prototype.update = function (toHash) {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update(convertToBuffer(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction bufferFromSecret(secret) {\n var input = convertToBuffer(secret);\n if (input.byteLength > constants_1.BLOCK_SIZE) {\n var bufferHash = new RawSha256_1.RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return util_utf8_browser_1.fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=jsSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar constants_1 = require(\"./constants\");\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(constants_1.INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexports.RawSha256 = RawSha256;\n//# sourceMappingURL=RawSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pureJs_1 = require(\"./pureJs\");\nvar whatwgEncodingApi_1 = require(\"./whatwgEncodingApi\");\nfunction fromUtf8(input) {\n if (typeof TextEncoder === \"function\") {\n return whatwgEncodingApi_1.fromUtf8(input);\n }\n return pureJs_1.fromUtf8(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n if (typeof TextDecoder === \"function\") {\n return whatwgEncodingApi_1.toUtf8(input);\n }\n return pureJs_1.toUtf8(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBc0U7QUFDdEUseURBRzZCO0FBSzdCLFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sNEJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbkM7SUFFRCxPQUFPLGlCQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQU5ELDRCQU1DO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO1FBQ3JDLE9BQU8sMEJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDakM7SUFFRCxPQUFPLGVBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBTkQsd0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7XG4gIGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsXG4gIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOFxufSBmcm9tIFwiLi93aGF0d2dFbmNvZGluZ0FwaVwiO1xuXG5kZWNsYXJlIGNvbnN0IFRleHREZWNvZGVyOiBGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbmRlY2xhcmUgY29uc3QgVGV4dEVuY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVV0ZjgoaW5wdXQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIFRleHRFbmNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJGcm9tVXRmOChpbnB1dCk7XG4gIH1cblxuICByZXR1cm4ganNGcm9tVXRmOChpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdGV4dEVuY29kZXJUb1V0ZjgoaW5wdXQpO1xuICB9XG5cbiAgcmV0dXJuIGpzVG9VdGY4KGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nfunction fromUtf8(input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length &&\n (value & 0xfc00) === 0xd800 &&\n (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 +\n ((value & 1023) << 10) +\n (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n}\nexports.fromUtf8 = fromUtf8;\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nfunction toUtf8(input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) |\n ((input[++i] & 63) << 6) |\n (input[++i] & 63));\n }\n }\n return decoded;\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFDTCxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLE1BQU07WUFDM0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQzdDO1lBQ0EsSUFBTSxhQUFhLEdBQ2pCLE9BQU87Z0JBQ1AsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUNSLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFDMUIsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQ3RDLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDaEMsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQWpDRCw0QkFpQ0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2hELElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDZixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNLElBQUksR0FBVSxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBVSxFQUFFO1lBQ2xELElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUNoRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUNYLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RSxPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsQ0FDMUIsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBMUJELHdCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgaSArIDEgPCBpbnB1dC5sZW5ndGggJiZcbiAgICAgICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJlxuICAgICAgKGlucHV0LmNoYXJDb2RlQXQoaSArIDEpICYgMHhmYzAwKSA9PT0gMHhkYzAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID1cbiAgICAgICAgMHgxMDAwMCArXG4gICAgICAgICgodmFsdWUgJiAwYjExMTExMTExMTEpIDw8IDEwKSArXG4gICAgICAgIChpbnB1dC5jaGFyQ29kZUF0KCsraSkgJiAwYjExMTExMTExMTEpO1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgPj4gMTgpIHwgMGIxMTExMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDEyKSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgICgoc3Vycm9nYXRlUGFpciA+PiA2KSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgIChzdXJyb2dhdGVQYWlyICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHZhbHVlID4+IDEyKSB8IDBiMTExMDAwMDAsXG4gICAgICAgICgodmFsdWUgPj4gNikgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwLFxuICAgICAgICAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBVaW50OEFycmF5LmZyb20oYnl0ZXMpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VdGY4KGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExMSkgPDwgNikgfCAobmV4dEJ5dGUgJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9XG4gICAgICAgIFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoYnl0ZVZhbHVlID0+IGJ5dGVWYWx1ZS50b1N0cmluZygxNikpLmpvaW4oXCIlXCIpO1xuICAgICAgZGVjb2RlZCArPSBkZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExKSA8PCAxMikgfFxuICAgICAgICAgICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8XG4gICAgICAgICAgKGlucHV0WysraV0gJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlY29kZWQ7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyQ0EsU0FBZ0IsUUFBUSxDQUFDLEtBQWE7SUFDcEMsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixNQUFNLENBQUMsS0FBaUI7SUFDdEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUZELHdCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGRlY2xhcmF0aW9uIG9mIHRoZSBnbG9iYWwgVGV4dEVuY29kZXIgYW5kIFRleHREZWNvZGVyIGNvbnN0cnVjdG9ycy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZW5jb2Rpbmcuc3BlYy53aGF0d2cub3JnL1xuICovXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKFxuICAgICAgaW5wdXQ/OiBBcnJheUJ1ZmZlciB8IEFycmF5QnVmZmVyVmlldyxcbiAgICAgIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9uc1xuICAgICk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./supportsWebCrypto\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zdXBwb3J0c1dlYkNyeXB0b1wiO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar subtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction supportsWebCrypto(window) {\n if (supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\") {\n var subtle = window.crypto.subtle;\n return supportsSubtleCrypto(subtle);\n }\n return false;\n}\nexports.supportsWebCrypto = supportsWebCrypto;\nfunction supportsSecureRandom(window) {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n var getRandomValues = window.crypto.getRandomValues;\n return typeof getRandomValues === \"function\";\n }\n return false;\n}\nexports.supportsSecureRandom = supportsSecureRandom;\nfunction supportsSubtleCrypto(subtle) {\n return (subtle &&\n subtleCryptoMethods.every(function (methodName) { return typeof subtle[methodName] === \"function\"; }));\n}\nexports.supportsSubtleCrypto = supportsSubtleCrypto;\nfunction supportsZeroByteGCM(subtle) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var key, zeroByteAuthTag, _a;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!supportsSubtleCrypto(subtle))\n return [2 /*return*/, false];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, subtle.generateKey({ name: \"AES-GCM\", length: 128 }, false, [\"encrypt\"])];\n case 2:\n key = _b.sent();\n return [4 /*yield*/, subtle.encrypt({\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n }, key, new Uint8Array(0))];\n case 3:\n zeroByteAuthTag = _b.sent();\n return [2 /*return*/, zeroByteAuthTag.byteLength === 16];\n case 4:\n _a = _b.sent();\n return [2 /*return*/, false];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexports.supportsZeroByteGCM = supportsZeroByteGCM;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydHNXZWJDcnlwdG8uanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJzdXBwb3J0c1dlYkNyeXB0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxJQUFNLG1CQUFtQixHQUE4QjtJQUNyRCxTQUFTO0lBQ1QsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsYUFBYTtJQUNiLFdBQVc7SUFDWCxNQUFNO0lBQ04sUUFBUTtDQUNULENBQUM7QUFFRixTQUFnQixpQkFBaUIsQ0FBQyxNQUFjO0lBQzlDLElBQ0Usb0JBQW9CLENBQUMsTUFBTSxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUN4QztRQUNRLElBQUEsNkJBQU0sQ0FBbUI7UUFFakMsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVhELDhDQVdDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBYztJQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzNELElBQUEsK0NBQWUsQ0FBbUI7UUFFMUMsT0FBTyxPQUFPLGVBQWUsS0FBSyxVQUFVLENBQUM7S0FDOUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCxvREFRQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLE1BQW9CO0lBQ3ZELE9BQU8sQ0FDTCxNQUFNO1FBQ04sbUJBQW1CLENBQUMsS0FBSyxDQUN2QixVQUFBLFVBQVUsSUFBSSxPQUFBLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFVBQVUsRUFBeEMsQ0FBd0MsQ0FDdkQsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQVBELG9EQU9DO0FBRUQsU0FBc0IsbUJBQW1CLENBQUMsTUFBb0I7Ozs7OztvQkFDNUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQzt3QkFBRSxzQkFBTyxLQUFLLEVBQUM7Ozs7b0JBRWxDLHFCQUFNLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQ2hDLEtBQUssRUFDTCxDQUFDLFNBQVMsQ0FBQyxDQUNaLEVBQUE7O29CQUpLLEdBQUcsR0FBRyxTQUlYO29CQUN1QixxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUMxQzs0QkFDRSxJQUFJLEVBQUUsU0FBUzs0QkFDZixFQUFFLEVBQUUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUM3QixjQUFjLEVBQUUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUN6QyxTQUFTLEVBQUUsR0FBRzt5QkFDZixFQUNELEdBQUcsRUFDSCxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDbEIsRUFBQTs7b0JBVEssZUFBZSxHQUFHLFNBU3ZCO29CQUNELHNCQUFPLGVBQWUsQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFDOzs7b0JBRXpDLHNCQUFPLEtBQUssRUFBQzs7Ozs7Q0FFaEI7QUF0QkQsa0RBc0JDIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBTdWJ0bGVDcnlwdG9NZXRob2QgPVxuICB8IFwiZGVjcnlwdFwiXG4gIHwgXCJkaWdlc3RcIlxuICB8IFwiZW5jcnlwdFwiXG4gIHwgXCJleHBvcnRLZXlcIlxuICB8IFwiZ2VuZXJhdGVLZXlcIlxuICB8IFwiaW1wb3J0S2V5XCJcbiAgfCBcInNpZ25cIlxuICB8IFwidmVyaWZ5XCI7XG5cbmNvbnN0IHN1YnRsZUNyeXB0b01ldGhvZHM6IEFycmF5PFN1YnRsZUNyeXB0b01ldGhvZD4gPSBbXG4gIFwiZGVjcnlwdFwiLFxuICBcImRpZ2VzdFwiLFxuICBcImVuY3J5cHRcIixcbiAgXCJleHBvcnRLZXlcIixcbiAgXCJnZW5lcmF0ZUtleVwiLFxuICBcImltcG9ydEtleVwiLFxuICBcInNpZ25cIixcbiAgXCJ2ZXJpZnlcIlxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzV2ViQ3J5cHRvKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBzdXBwb3J0c1NlY3VyZVJhbmRvbSh3aW5kb3cpICYmXG4gICAgdHlwZW9mIHdpbmRvdy5jcnlwdG8uc3VidGxlID09PSBcIm9iamVjdFwiXG4gICkge1xuICAgIGNvbnN0IHsgc3VidGxlIH0gPSB3aW5kb3cuY3J5cHRvO1xuXG4gICAgcmV0dXJuIHN1cHBvcnRzU3VidGxlQ3J5cHRvKHN1YnRsZSk7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3J0c1NlY3VyZVJhbmRvbSh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygd2luZG93LmNyeXB0byA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHsgZ2V0UmFuZG9tVmFsdWVzIH0gPSB3aW5kb3cuY3J5cHRvO1xuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYW5kb21WYWx1ZXMgPT09IFwiZnVuY3Rpb25cIjtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzU3VidGxlQ3J5cHRvKHN1YnRsZTogU3VidGxlQ3J5cHRvKSB7XG4gIHJldHVybiAoXG4gICAgc3VidGxlICYmXG4gICAgc3VidGxlQ3J5cHRvTWV0aG9kcy5ldmVyeShcbiAgICAgIG1ldGhvZE5hbWUgPT4gdHlwZW9mIHN1YnRsZVttZXRob2ROYW1lXSA9PT0gXCJmdW5jdGlvblwiXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VwcG9ydHNaZXJvQnl0ZUdDTShzdWJ0bGU6IFN1YnRsZUNyeXB0bykge1xuICBpZiAoIXN1cHBvcnRzU3VidGxlQ3J5cHRvKHN1YnRsZSkpIHJldHVybiBmYWxzZTtcbiAgdHJ5IHtcbiAgICBjb25zdCBrZXkgPSBhd2FpdCBzdWJ0bGUuZ2VuZXJhdGVLZXkoXG4gICAgICB7IG5hbWU6IFwiQUVTLUdDTVwiLCBsZW5ndGg6IDEyOCB9LFxuICAgICAgZmFsc2UsXG4gICAgICBbXCJlbmNyeXB0XCJdXG4gICAgKTtcbiAgICBjb25zdCB6ZXJvQnl0ZUF1dGhUYWcgPSBhd2FpdCBzdWJ0bGUuZW5jcnlwdChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgIGl2OiBuZXcgVWludDhBcnJheShBcnJheSgxMikpLFxuICAgICAgICBhZGRpdGlvbmFsRGF0YTogbmV3IFVpbnQ4QXJyYXkoQXJyYXkoMTYpKSxcbiAgICAgICAgdGFnTGVuZ3RoOiAxMjhcbiAgICAgIH0sXG4gICAgICBrZXksXG4gICAgICBuZXcgVWludDhBcnJheSgwKVxuICAgICk7XG4gICAgcmV0dXJuIHplcm9CeXRlQXV0aFRhZy5ieXRlTGVuZ3RoID09PSAxNjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./MsWindow\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar msSubtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction quacksLikeAnMsWindow(window) {\n return \"MSInputMethodContext\" in window && \"msCrypto\" in window;\n}\n/**\n * Determines if the provided window is (or is like) the window object one would\n * expect to encounter in Internet Explorer 11.\n */\nfunction isMsWindow(window) {\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\n var _a = window.msCrypto, getRandomValues = _a.getRandomValues, subtle_1 = _a.subtle;\n return msSubtleCryptoMethods\n .map(function (methodName) { return subtle_1[methodName]; })\n .concat(getRandomValues)\n .every(function (method) { return typeof method === \"function\"; });\n }\n return false;\n}\nexports.isMsWindow = isMsWindow;\n//# sourceMappingURL=MsWindow.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nvar request_timeout_1 = require(\"./request-timeout\");\nvar querystring_builder_1 = require(\"@aws-sdk/querystring-builder\");\nvar FetchHttpHandler = /** @class */ (function () {\n function FetchHttpHandler(httpOptions) {\n if (httpOptions === void 0) { httpOptions = {}; }\n this.httpOptions = httpOptions;\n }\n FetchHttpHandler.prototype.destroy = function () {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the\n // browser.\n };\n FetchHttpHandler.prototype.handle = function (request, options) {\n var abortSignal = options === null || options === void 0 ? void 0 : options.abortSignal;\n var requestTimeoutInMs = this.httpOptions.requestTimeout;\n // if the request was already aborted, prevent doing extra work\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n var path = request.path;\n if (request.query) {\n var queryString = querystring_builder_1.buildQueryString(request.query);\n if (queryString) {\n path += \"?\" + queryString;\n }\n }\n var port = request.port;\n var url = request.protocol + \"//\" + request.hostname + (port ? \":\" + port : \"\") + path;\n var requestOptions = {\n body: request.body,\n headers: new Headers(request.headers),\n method: request.method,\n mode: \"cors\"\n };\n // some browsers support abort signal\n if (typeof AbortController !== \"undefined\") {\n requestOptions[\"signal\"] = abortSignal;\n }\n var fetchRequest = new Request(url, requestOptions);\n var raceOfPromises = [\n fetch(fetchRequest).then(function (response) {\n var e_1, _a;\n var fetchHeaders = response.headers;\n var transformedHeaders = {};\n try {\n for (var _b = tslib_1.__values(fetchHeaders.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n transformedHeaders[pair[0]] = pair[1];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var hasReadableStream = response.body !== undefined;\n // Return the response with buffered body\n if (!hasReadableStream) {\n return response.blob().then(function (body) { return ({\n response: new protocol_http_1.HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: body\n })\n }); });\n }\n // Return the response with streaming body\n return {\n response: new protocol_http_1.HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: response.body\n })\n };\n }),\n request_timeout_1.requestTimeout(requestTimeoutInMs)\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise(function (resolve, reject) {\n abortSignal.onabort = function () {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }));\n }\n return Promise.race(raceOfPromises);\n };\n return FetchHttpHandler;\n}());\nexports.FetchHttpHandler = FetchHttpHandler;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaHR0cC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZldGNoLWh0dHAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3REFBZ0Y7QUFDaEYscURBQW1EO0FBQ25ELG9FQUFnRTtBQWVoRTtJQUNFLDBCQUE2QixXQUFvQztRQUFwQyw0QkFBQSxFQUFBLGdCQUFvQztRQUFwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7SUFBRyxDQUFDO0lBRXJFLGtDQUFPLEdBQVA7UUFDRSxrRUFBa0U7UUFDbEUsV0FBVztJQUNiLENBQUM7SUFFRCxpQ0FBTSxHQUFOLFVBQ0UsT0FBb0IsRUFDcEIsT0FBMkI7UUFFM0IsSUFBTSxXQUFXLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFdBQVcsQ0FBQztRQUN6QyxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1FBRTNELCtEQUErRDtRQUMvRCxJQUFJLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxPQUFPLEVBQUU7WUFDeEIsSUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxVQUFVLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztZQUMvQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFNLFdBQVcsR0FBRyxzQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxJQUFJLE1BQUksV0FBYSxDQUFDO2FBQzNCO1NBQ0Y7UUFFRCxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQU0sR0FBRyxHQUFNLE9BQU8sQ0FBQyxRQUFRLFVBQUssT0FBTyxDQUFDLFFBQVEsSUFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFJLElBQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUNyQixJQUFNLENBQUM7UUFDVixJQUFNLGNBQWMsR0FBZ0I7WUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixJQUFJLEVBQUUsTUFBTTtTQUNiLENBQUM7UUFFRixxQ0FBcUM7UUFDckMsSUFBSSxPQUFPLGVBQWUsS0FBSyxXQUFXLEVBQUU7WUFDekMsY0FBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLENBQUM7U0FDakQ7UUFFRCxJQUFNLFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdEQsSUFBTSxjQUFjLEdBQUc7WUFDckIsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFBLFFBQVE7O2dCQUMvQixJQUFNLFlBQVksR0FBUSxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUMzQyxJQUFNLGtCQUFrQixHQUFjLEVBQUUsQ0FBQzs7b0JBRXpDLEtBQWlCLElBQUEsS0FBQSxpQkFBaUIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFBLGdCQUFBLDRCQUFFO3dCQUFyRCxJQUFJLElBQUksV0FBQTt3QkFDWCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3ZDOzs7Ozs7Ozs7Z0JBRUQsSUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztnQkFFdEQseUNBQXlDO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3RCLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUM7d0JBQ25DLFFBQVEsRUFBRSxJQUFJLDRCQUFZLENBQUM7NEJBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxRQUFRLENBQUMsTUFBTTs0QkFDM0IsSUFBSSxNQUFBO3lCQUNMLENBQUM7cUJBQ0gsQ0FBQyxFQU5rQyxDQU1sQyxDQUFDLENBQUM7aUJBQ0w7Z0JBQ0QsMENBQTBDO2dCQUMxQyxPQUFPO29CQUNMLFFBQVEsRUFBRSxJQUFJLDRCQUFZLENBQUM7d0JBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFVBQVUsRUFBRSxRQUFRLENBQUMsTUFBTTt3QkFDM0IsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO3FCQUNwQixDQUFDO2lCQUNILENBQUM7WUFDSixDQUFDLENBQUM7WUFDRixnQ0FBYyxDQUFDLGtCQUFrQixDQUFDO1NBQ25DLENBQUM7UUFDRixJQUFJLFdBQVcsRUFBRTtZQUNmLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksT0FBTyxDQUFRLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQ2pDLFdBQVcsQ0FBQyxPQUFPLEdBQUc7b0JBQ3BCLElBQU0sVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ2hELFVBQVUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO29CQUMvQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBNUZELElBNEZDO0FBNUZZLDRDQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhlYWRlckJhZywgSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyByZXF1ZXN0VGltZW91dCB9IGZyb20gXCIuL3JlcXVlc3QtdGltZW91dFwiO1xuaW1wb3J0IHsgYnVpbGRRdWVyeVN0cmluZyB9IGZyb20gXCJAYXdzLXNkay9xdWVyeXN0cmluZy1idWlsZGVyXCI7XG5cbmRlY2xhcmUgdmFyIEFib3J0Q29udHJvbGxlcjogYW55O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGh0dHAgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYSBicm93c2VyIGh0dHAgY2xpZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyb3dzZXJIdHRwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhIHJlcXVlc3QgY2FuIHRha2UgYmVmb3JlIGJlaW5nIGF1dG9tYXRpY2FsbHlcbiAgICogdGVybWluYXRlZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmV0Y2hIdHRwSGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwT3B0aW9uczogQnJvd3Nlckh0dHBPcHRpb25zID0ge30pIHt9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBEbyBub3RoaW5nLiBUTFMgYW5kIEhUVFAvMiBjb25uZWN0aW9uIHBvb2xpbmcgaXMgaGFuZGxlZCBieSB0aGVcbiAgICAvLyBicm93c2VyLlxuICB9XG5cbiAgaGFuZGxlKFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LFxuICAgIG9wdGlvbnM6IEh0dHBIYW5kbGVyT3B0aW9uc1xuICApOiBQcm9taXNlPHsgcmVzcG9uc2U6IEh0dHBSZXNwb25zZSB9PiB7XG4gICAgY29uc3QgYWJvcnRTaWduYWwgPSBvcHRpb25zPy5hYm9ydFNpZ25hbDtcbiAgICBjb25zdCByZXF1ZXN0VGltZW91dEluTXMgPSB0aGlzLmh0dHBPcHRpb25zLnJlcXVlc3RUaW1lb3V0O1xuXG4gICAgLy8gaWYgdGhlIHJlcXVlc3Qgd2FzIGFscmVhZHkgYWJvcnRlZCwgcHJldmVudCBkb2luZyBleHRyYSB3b3JrXG4gICAgaWYgKGFib3J0U2lnbmFsPy5hYm9ydGVkKSB7XG4gICAgICBjb25zdCBhYm9ydEVycm9yID0gbmV3IEVycm9yKFwiUmVxdWVzdCBhYm9ydGVkXCIpO1xuICAgICAgYWJvcnRFcnJvci5uYW1lID0gXCJBYm9ydEVycm9yXCI7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoYWJvcnRFcnJvcik7XG4gICAgfVxuXG4gICAgbGV0IHBhdGggPSByZXF1ZXN0LnBhdGg7XG4gICAgaWYgKHJlcXVlc3QucXVlcnkpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYnVpbGRRdWVyeVN0cmluZyhyZXF1ZXN0LnF1ZXJ5KTtcbiAgICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgICBwYXRoICs9IGA/JHtxdWVyeVN0cmluZ31gO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBvcnQgPSByZXF1ZXN0LnBvcnQ7XG4gICAgY29uc3QgdXJsID0gYCR7cmVxdWVzdC5wcm90b2NvbH0vLyR7cmVxdWVzdC5ob3N0bmFtZX0ke1xuICAgICAgcG9ydCA/IGA6JHtwb3J0fWAgOiBcIlwiXG4gICAgfSR7cGF0aH1gO1xuICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgIGJvZHk6IHJlcXVlc3QuYm9keSxcbiAgICAgIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHJlcXVlc3QuaGVhZGVycyksXG4gICAgICBtZXRob2Q6IHJlcXVlc3QubWV0aG9kLFxuICAgICAgbW9kZTogXCJjb3JzXCJcbiAgICB9O1xuXG4gICAgLy8gc29tZSBicm93c2VycyBzdXBwb3J0IGFib3J0IHNpZ25hbFxuICAgIGlmICh0eXBlb2YgQWJvcnRDb250cm9sbGVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAocmVxdWVzdE9wdGlvbnMgYXMgYW55KVtcInNpZ25hbFwiXSA9IGFib3J0U2lnbmFsO1xuICAgIH1cblxuICAgIGNvbnN0IGZldGNoUmVxdWVzdCA9IG5ldyBSZXF1ZXN0KHVybCwgcmVxdWVzdE9wdGlvbnMpO1xuICAgIGNvbnN0IHJhY2VPZlByb21pc2VzID0gW1xuICAgICAgZmV0Y2goZmV0Y2hSZXF1ZXN0KS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgY29uc3QgZmV0Y2hIZWFkZXJzOiBhbnkgPSByZXNwb25zZS5oZWFkZXJzO1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZEhlYWRlcnM6IEhlYWRlckJhZyA9IHt9O1xuXG4gICAgICAgIGZvciAobGV0IHBhaXIgb2YgPEFycmF5PHN0cmluZ1tdPj5mZXRjaEhlYWRlcnMuZW50cmllcygpKSB7XG4gICAgICAgICAgdHJhbnNmb3JtZWRIZWFkZXJzW3BhaXJbMF1dID0gcGFpclsxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc1JlYWRhYmxlU3RyZWFtID0gcmVzcG9uc2UuYm9keSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2Ugd2l0aCBidWZmZXJlZCBib2R5XG4gICAgICAgIGlmICghaGFzUmVhZGFibGVTdHJlYW0pIHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpLnRoZW4oYm9keSA9PiAoe1xuICAgICAgICAgICAgcmVzcG9uc2U6IG5ldyBIdHRwUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICBoZWFkZXJzOiB0cmFuc2Zvcm1lZEhlYWRlcnMsXG4gICAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgICAgYm9keVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSB3aXRoIHN0cmVhbWluZyBib2R5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzcG9uc2U6IG5ldyBIdHRwUmVzcG9uc2Uoe1xuICAgICAgICAgICAgaGVhZGVyczogdHJhbnNmb3JtZWRIZWFkZXJzLFxuICAgICAgICAgICAgc3RhdHVzQ29kZTogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgYm9keTogcmVzcG9uc2UuYm9keVxuICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIHJlcXVlc3RUaW1lb3V0KHJlcXVlc3RUaW1lb3V0SW5NcylcbiAgICBdO1xuICAgIGlmIChhYm9ydFNpZ25hbCkge1xuICAgICAgcmFjZU9mUHJvbWlzZXMucHVzaChcbiAgICAgICAgbmV3IFByb21pc2U8bmV2ZXI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBhYm9ydFNpZ25hbC5vbmFib3J0ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJvcnRFcnJvciA9IG5ldyBFcnJvcihcIlJlcXVlc3QgYWJvcnRlZFwiKTtcbiAgICAgICAgICAgIGFib3J0RXJyb3IubmFtZSA9IFwiQWJvcnRFcnJvclwiO1xuICAgICAgICAgICAgcmVqZWN0KGFib3J0RXJyb3IpO1xuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yYWNlKHJhY2VPZlByb21pc2VzKTtcbiAgfVxufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction requestTimeout(timeoutInMs) {\n if (timeoutInMs === void 0) { timeoutInMs = 0; }\n return new Promise(function (resolve, reject) {\n if (timeoutInMs) {\n setTimeout(function () {\n var timeoutError = new Error(\"Request did not complete within \" + timeoutInMs + \" ms\");\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\nexports.requestTimeout = requestTimeout;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1lb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlcXVlc3QtdGltZW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLFNBQWdCLGNBQWMsQ0FBQyxXQUF1QjtJQUF2Qiw0QkFBQSxFQUFBLGVBQXVCO0lBQ3BELE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUNqQyxJQUFJLFdBQVcsRUFBRTtZQUNmLFVBQVUsQ0FBQztnQkFDVCxJQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssQ0FDNUIscUNBQW1DLFdBQVcsUUFBSyxDQUNwRCxDQUFDO2dCQUNGLFlBQVksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO2dCQUNuQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBWkQsd0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmVxdWVzdFRpbWVvdXQodGltZW91dEluTXM6IG51bWJlciA9IDApOiBQcm9taXNlPG5ldmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKHRpbWVvdXRJbk1zKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdGltZW91dEVycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGBSZXF1ZXN0IGRpZCBub3QgY29tcGxldGUgd2l0aGluICR7dGltZW91dEluTXN9IG1zYFxuICAgICAgICApO1xuICAgICAgICB0aW1lb3V0RXJyb3IubmFtZSA9IFwiVGltZW91dEVycm9yXCI7XG4gICAgICAgIHJlamVjdCh0aW1lb3V0RXJyb3IpO1xuICAgICAgfSwgdGltZW91dEluTXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar util_uri_escape_1 = require(\"@aws-sdk/util-uri-escape\");\nfunction buildQueryString(query) {\n var e_1, _a;\n var parts = [];\n try {\n for (var _b = tslib_1.__values(Object.keys(query).sort()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var value = query[key];\n key = util_uri_escape_1.escapeUri(key);\n if (Array.isArray(value)) {\n for (var i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(key + \"=\" + util_uri_escape_1.escapeUri(value[i]));\n }\n }\n else {\n var qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += \"=\" + util_uri_escape_1.escapeUri(value);\n }\n parts.push(qsEntry);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return parts.join(\"&\");\n}\nexports.buildQueryString = buildQueryString;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNERBQXFEO0FBRXJELFNBQWdCLGdCQUFnQixDQUFDLEtBQXdCOztJQUN2RCxJQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7O1FBQzNCLEtBQWdCLElBQUEsS0FBQSxpQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBLGdCQUFBLDRCQUFFO1lBQXRDLElBQUksR0FBRyxXQUFBO1lBQ1YsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLEdBQUcsR0FBRywyQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDbEQsS0FBSyxDQUFDLElBQUksQ0FBSSxHQUFHLFNBQUksMkJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUcsQ0FBQyxDQUFDO2lCQUM3QzthQUNGO2lCQUFNO2dCQUNMLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztnQkFDbEIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUN0QyxPQUFPLElBQUksTUFBSSwyQkFBUyxDQUFDLEtBQUssQ0FBRyxDQUFDO2lCQUNuQztnQkFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3JCO1NBQ0Y7Ozs7Ozs7OztJQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBbkJELDRDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBlc2NhcGVVcmkgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC11cmktZXNjYXBlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFF1ZXJ5U3RyaW5nKHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMocXVlcnkpLnNvcnQoKSkge1xuICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcbiAgICBrZXkgPSBlc2NhcGVVcmkoa2V5KTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBpTGVuID0gdmFsdWUubGVuZ3RoOyBpIDwgaUxlbjsgaSsrKSB7XG4gICAgICAgIHBhcnRzLnB1c2goYCR7a2V5fT0ke2VzY2FwZVVyaSh2YWx1ZVtpXSl9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBxc0VudHJ5ID0ga2V5O1xuICAgICAgaWYgKHZhbHVlIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBxc0VudHJ5ICs9IGA9JHtlc2NhcGVVcmkodmFsdWUpfWA7XG4gICAgICB9XG4gICAgICBwYXJ0cy5wdXNoKHFzRW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5qb2luKFwiJlwiKTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar util_base64_browser_1 = require(\"@aws-sdk/util-base64-browser\");\n//reference: https://snack.expo.io/r1JCSWRGU\nexports.streamCollector = function (stream) {\n if (stream instanceof Blob) {\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nfunction collectBlob(blob) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var base64, arrayBuffer;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readToBase64(blob)];\n case 1:\n base64 = _a.sent();\n arrayBuffer = util_base64_browser_1.fromBase64(base64);\n return [2 /*return*/, new Uint8Array(arrayBuffer)];\n }\n });\n });\n}\nfunction collectStream(stream) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var res, reader, isDone, _a, done, value, prior;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n res = new Uint8Array(0);\n reader = stream.getReader();\n isDone = false;\n _b.label = 1;\n case 1:\n if (!!isDone) return [3 /*break*/, 3];\n return [4 /*yield*/, reader.read()];\n case 2:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (value) {\n prior = res;\n res = new Uint8Array(prior.length + value.length);\n res.set(prior);\n res.set(value, prior.length);\n }\n isDone = done;\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/, res];\n }\n });\n });\n}\nfunction readToBase64(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onloadend = function () {\n var _a;\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n var result = ((_a = reader.result) !== null && _a !== void 0 ? _a : \"\");\n // Response can include only 'data:' for empty blob, return empty string in this case.\n // Otherwise, return the string after ','\n var commaIndex = result.indexOf(\",\");\n var dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = function () { return reject(new Error(\"Read aborted\")); };\n reader.onerror = function () { return reject(reader.error); };\n // reader.readAsArrayBuffer is not always available\n reader.readAsDataURL(blob);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdHJlYW0tY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9FQUEwRDtBQUUxRCw0Q0FBNEM7QUFDL0IsUUFBQSxlQUFlLEdBQW9CLFVBQzlDLE1BQTZCO0lBRTdCLElBQUksTUFBTSxZQUFZLElBQUksRUFBRTtRQUMxQixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM1QjtJQUVELE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLFNBQWUsV0FBVyxDQUFDLElBQVU7Ozs7O3dCQUNwQixxQkFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUE7O29CQUFqQyxNQUFNLEdBQUcsU0FBd0I7b0JBQ2pDLFdBQVcsR0FBRyxnQ0FBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN2QyxzQkFBTyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBQzs7OztDQUNwQztBQUVELFNBQWUsYUFBYSxDQUFDLE1BQXNCOzs7Ozs7b0JBQzdDLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxHQUFHLEtBQUssQ0FBQzs7O3lCQUNaLENBQUMsTUFBTTtvQkFDWSxxQkFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUE7O29CQUFyQyxLQUFrQixTQUFtQixFQUFuQyxJQUFJLFVBQUEsRUFBRSxLQUFLLFdBQUE7b0JBQ25CLElBQUksS0FBSyxFQUFFO3dCQUNILEtBQUssR0FBRyxHQUFHLENBQUM7d0JBQ2xCLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDbEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDZixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQzlCO29CQUNELE1BQU0sR0FBRyxJQUFJLENBQUM7O3dCQUVoQixzQkFBTyxHQUFHLEVBQUM7Ozs7Q0FDWjtBQUVELFNBQVMsWUFBWSxDQUFDLElBQVU7SUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQ2pDLElBQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLFNBQVMsR0FBRzs7WUFDakIsdUZBQXVGO1lBQ3ZGLDBFQUEwRTtZQUMxRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7YUFDdEQ7WUFDRCxJQUFNLE1BQU0sR0FBRyxPQUFDLE1BQU0sQ0FBQyxNQUFNLG1DQUFJLEVBQUUsQ0FBVyxDQUFDO1lBQy9DLHNGQUFzRjtZQUN0Rix5Q0FBeUM7WUFDekMsSUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFNLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDcEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLGNBQU0sT0FBQSxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBakMsQ0FBaUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsT0FBTyxHQUFHLGNBQU0sT0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFwQixDQUFvQixDQUFDO1FBQzVDLG1EQUFtRDtRQUNuRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0cmVhbUNvbGxlY3RvciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZnJvbUJhc2U2NCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWJhc2U2NC1icm93c2VyXCI7XG5cbi8vcmVmZXJlbmNlOiBodHRwczovL3NuYWNrLmV4cG8uaW8vcjFKQ1NXUkdVXG5leHBvcnQgY29uc3Qgc3RyZWFtQ29sbGVjdG9yOiBTdHJlYW1Db2xsZWN0b3IgPSAoXG4gIHN0cmVhbTogQmxvYiB8IFJlYWRhYmxlU3RyZWFtXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+ID0+IHtcbiAgaWYgKHN0cmVhbSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICByZXR1cm4gY29sbGVjdEJsb2Ioc3RyZWFtKTtcbiAgfVxuXG4gIHJldHVybiBjb2xsZWN0U3RyZWFtKHN0cmVhbSk7XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjb2xsZWN0QmxvYihibG9iOiBCbG9iKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gIGNvbnN0IGJhc2U2NCA9IGF3YWl0IHJlYWRUb0Jhc2U2NChibG9iKTtcbiAgY29uc3QgYXJyYXlCdWZmZXIgPSBmcm9tQmFzZTY0KGJhc2U2NCk7XG4gIHJldHVybiBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbGxlY3RTdHJlYW0oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICBsZXQgcmVzID0gbmV3IFVpbnQ4QXJyYXkoMCk7XG4gIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5nZXRSZWFkZXIoKTtcbiAgbGV0IGlzRG9uZSA9IGZhbHNlO1xuICB3aGlsZSAoIWlzRG9uZSkge1xuICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBwcmlvciA9IHJlcztcbiAgICAgIHJlcyA9IG5ldyBVaW50OEFycmF5KHByaW9yLmxlbmd0aCArIHZhbHVlLmxlbmd0aCk7XG4gICAgICByZXMuc2V0KHByaW9yKTtcbiAgICAgIHJlcy5zZXQodmFsdWUsIHByaW9yLmxlbmd0aCk7XG4gICAgfVxuICAgIGlzRG9uZSA9IGRvbmU7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuZnVuY3Rpb24gcmVhZFRvQmFzZTY0KGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgIC8vIHJlZmVyZW5jZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0ZpbGVSZWFkZXIvcmVhZEFzRGF0YVVSTFxuICAgICAgLy8gcmVzcG9uc2UgZnJvbSByZWFkQXNEYXRhVVJMIGlzIGFsd2F5cyBwcmVwZW5kZWQgd2l0aCBcImRhdGE6Ki8qO2Jhc2U2NCxcIlxuICAgICAgaWYgKHJlYWRlci5yZWFkeVN0YXRlICE9PSAyKSB7XG4gICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKFwiUmVhZGVyIGFib3J0ZWQgdG9vIGVhcmx5XCIpKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IChyZWFkZXIucmVzdWx0ID8/IFwiXCIpIGFzIHN0cmluZztcbiAgICAgIC8vIFJlc3BvbnNlIGNhbiBpbmNsdWRlIG9ubHkgJ2RhdGE6JyBmb3IgZW1wdHkgYmxvYiwgcmV0dXJuIGVtcHR5IHN0cmluZyBpbiB0aGlzIGNhc2UuXG4gICAgICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgc3RyaW5nIGFmdGVyICcsJ1xuICAgICAgY29uc3QgY29tbWFJbmRleCA9IHJlc3VsdC5pbmRleE9mKFwiLFwiKTtcbiAgICAgIGNvbnN0IGRhdGFPZmZzZXQgPSBjb21tYUluZGV4ID4gLTEgPyBjb21tYUluZGV4ICsgMSA6IHJlc3VsdC5sZW5ndGg7XG4gICAgICByZXNvbHZlKHJlc3VsdC5zdWJzdHJpbmcoZGF0YU9mZnNldCkpO1xuICAgIH07XG4gICAgcmVhZGVyLm9uYWJvcnQgPSAoKSA9PiByZWplY3QobmV3IEVycm9yKFwiUmVhZCBhYm9ydGVkXCIpKTtcbiAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHJlamVjdChyZWFkZXIuZXJyb3IpO1xuICAgIC8vIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlciBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZVxuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICB9KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nfunction parseQueryString(querystring) {\n var e_1, _a;\n var query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n try {\n for (var _b = tslib_1.__values(querystring.split(\"&\")), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n var _d = tslib_1.__read(pair.split(\"=\"), 2), key = _d[0], _e = _d[1], value = _e === void 0 ? null : _e;\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n return query;\n}\nexports.parseQueryString = parseQueryString;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsZ0JBQWdCLENBQUMsV0FBbUI7O0lBQ2xELElBQU0sS0FBSyxHQUFzQixFQUFFLENBQUM7SUFDcEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLElBQUksV0FBVyxFQUFFOztZQUNmLEtBQW1CLElBQUEsS0FBQSxpQkFBQSxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO2dCQUF0QyxJQUFNLElBQUksV0FBQTtnQkFDVCxJQUFBLHVDQUFxQyxFQUFwQyxXQUFHLEVBQUUsVUFBWSxFQUFaLGlDQUErQixDQUFDO2dCQUMxQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksS0FBSyxFQUFFO29CQUNULEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbkM7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFO29CQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNwQjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ25DLEtBQUssQ0FBQyxHQUFHLENBQW1CLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO2lCQUNyRDtxQkFBTTtvQkFDTCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLEVBQUUsS0FBZSxDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBdEJELDRDQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVF1ZXJ5U3RyaW5nKHF1ZXJ5c3RyaW5nOiBzdHJpbmcpOiBRdWVyeVBhcmFtZXRlckJhZyB7XG4gIGNvbnN0IHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyA9IHt9O1xuICBxdWVyeXN0cmluZyA9IHF1ZXJ5c3RyaW5nLnJlcGxhY2UoL15cXD8vLCBcIlwiKTtcblxuICBpZiAocXVlcnlzdHJpbmcpIHtcbiAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcXVlcnlzdHJpbmcuc3BsaXQoXCImXCIpKSB7XG4gICAgICBsZXQgW2tleSwgdmFsdWUgPSBudWxsXSA9IHBhaXIuc3BsaXQoXCI9XCIpO1xuICAgICAga2V5ID0gZGVjb2RlVVJJQ29tcG9uZW50KGtleSk7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKCEoa2V5IGluIHF1ZXJ5KSkge1xuICAgICAgICBxdWVyeVtrZXldID0gdmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocXVlcnlba2V5XSkpIHtcbiAgICAgICAgKHF1ZXJ5W2tleV0gYXMgQXJyYXk8c3RyaW5nPikucHVzaCh2YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcXVlcnlba2V5XSA9IFtxdWVyeVtrZXldIGFzIHN0cmluZywgdmFsdWUgYXMgc3RyaW5nXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVlcnk7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nfunction fromUtf8(input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length &&\n (value & 0xfc00) === 0xd800 &&\n (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 +\n ((value & 1023) << 10) +\n (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n}\nexports.fromUtf8 = fromUtf8;\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nfunction toUtf8(input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) |\n ((input[++i] & 63) << 6) |\n (input[++i] & 63));\n }\n }\n return decoded;\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFDTCxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLE1BQU07WUFDM0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQzdDO1lBQ0EsSUFBTSxhQUFhLEdBQ2pCLE9BQU87Z0JBQ1AsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUNSLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFDMUIsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQ3RDLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDaEMsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQWpDRCw0QkFpQ0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2hELElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDZixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNLElBQUksR0FBVSxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBVSxFQUFFO1lBQ2xELElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUNoRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUNYLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RSxPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsQ0FDMUIsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBMUJELHdCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgaSArIDEgPCBpbnB1dC5sZW5ndGggJiZcbiAgICAgICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJlxuICAgICAgKGlucHV0LmNoYXJDb2RlQXQoaSArIDEpICYgMHhmYzAwKSA9PT0gMHhkYzAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID1cbiAgICAgICAgMHgxMDAwMCArXG4gICAgICAgICgodmFsdWUgJiAwYjExMTExMTExMTEpIDw8IDEwKSArXG4gICAgICAgIChpbnB1dC5jaGFyQ29kZUF0KCsraSkgJiAwYjExMTExMTExMTEpO1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgPj4gMTgpIHwgMGIxMTExMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDEyKSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgICgoc3Vycm9nYXRlUGFpciA+PiA2KSAmIDBiMTExMTExKSB8IDBiMTAwMDAwMDAsXG4gICAgICAgIChzdXJyb2dhdGVQYWlyICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgKHZhbHVlID4+IDEyKSB8IDBiMTExMDAwMDAsXG4gICAgICAgICgodmFsdWUgPj4gNikgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwLFxuICAgICAgICAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBVaW50OEFycmF5LmZyb20oYnl0ZXMpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9VdGY4KGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExMSkgPDwgNikgfCAobmV4dEJ5dGUgJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9XG4gICAgICAgIFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoYnl0ZVZhbHVlID0+IGJ5dGVWYWx1ZS50b1N0cmluZygxNikpLmpvaW4oXCIlXCIpO1xuICAgICAgZGVjb2RlZCArPSBkZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShcbiAgICAgICAgKChieXRlICYgMGIxMTExKSA8PCAxMikgfFxuICAgICAgICAgICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8XG4gICAgICAgICAgKGlucHV0WysraV0gJiAwYjExMTExMSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlY29kZWQ7XG59XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\nexports.toUtf8 = toUtf8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyQ0EsU0FBZ0IsUUFBUSxDQUFDLEtBQWE7SUFDcEMsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixNQUFNLENBQUMsS0FBaUI7SUFDdEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUZELHdCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGRlY2xhcmF0aW9uIG9mIHRoZSBnbG9iYWwgVGV4dEVuY29kZXIgYW5kIFRleHREZWNvZGVyIGNvbnN0cnVjdG9ycy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZW5jb2Rpbmcuc3BlYy53aGF0d2cub3JnL1xuICovXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKFxuICAgICAgaW5wdXQ/OiBBcnJheUJ1ZmZlciB8IEFycmF5QnVmZmVyVmlldyxcbiAgICAgIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9uc1xuICAgICk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst deserializerMiddleware_1 = require(\"./deserializerMiddleware\");\nconst serializerMiddleware_1 = require(\"./serializerMiddleware\");\nexports.deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"]\n};\nexports.serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"]\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware_1.deserializerMiddleware(config, deserializer), exports.deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware_1.serializerMiddleware(config, serializer), exports.serializerMiddlewareOption);\n }\n };\n}\nexports.getSerdePlugin = getSerdePlugin;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyZGVQbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VyZGVQbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxxRUFBa0U7QUFDbEUsaUVBQThEO0FBRWpELFFBQUEsNEJBQTRCLEdBQThCO0lBQ3JFLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO0NBQ3ZCLENBQUM7QUFFVyxRQUFBLDBCQUEwQixHQUE0QjtJQUNqRSxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztDQUNyQixDQUFDO0FBRUYsU0FBZ0IsY0FBYyxDQUs1QixNQUFvQixFQUNwQixVQUFnRCxFQUNoRCxZQUFpRTtJQUVqRSxPQUFPO1FBQ0wsWUFBWSxFQUFFLENBQUMsWUFBb0QsRUFBRSxFQUFFO1lBQ3JFLFlBQVksQ0FBQyxHQUFHLENBQ2QsK0NBQXNCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUM1QyxvQ0FBNEIsQ0FDN0IsQ0FBQztZQUNGLFlBQVksQ0FBQyxHQUFHLENBQ2QsMkNBQW9CLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUN4QyxrQ0FBMEIsQ0FDM0IsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXJCRCx3Q0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXF1ZXN0U2VyaWFsaXplcixcbiAgUmVzcG9uc2VEZXNlcmlhbGl6ZXIsXG4gIFBsdWdnYWJsZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIE1pZGRsZXdhcmVTdGFjayxcbiAgRW5kcG9pbnRCZWFyZXIsXG4gIERlc2VyaWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIFNlcmlhbGl6ZUhhbmRsZXJPcHRpb25zXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZGVzZXJpYWxpemVyTWlkZGxld2FyZSB9IGZyb20gXCIuL2Rlc2VyaWFsaXplck1pZGRsZXdhcmVcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZXJNaWRkbGV3YXJlIH0gZnJvbSBcIi4vc2VyaWFsaXplck1pZGRsZXdhcmVcIjtcblxuZXhwb3J0IGNvbnN0IGRlc2VyaWFsaXplck1pZGRsZXdhcmVPcHRpb246IERlc2VyaWFsaXplSGFuZGxlck9wdGlvbnMgPSB7XG4gIG5hbWU6IFwiZGVzZXJpYWxpemVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImRlc2VyaWFsaXplXCIsXG4gIHRhZ3M6IFtcIkRFU0VSSUFMSVpFUlwiXVxufTtcblxuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZXJNaWRkbGV3YXJlT3B0aW9uOiBTZXJpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJzZXJpYWxpemVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcInNlcmlhbGl6ZVwiLFxuICB0YWdzOiBbXCJTRVJJQUxJWkVSXCJdXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VyZGVQbHVnaW48XG4gIElucHV0VHlwZSBleHRlbmRzIG9iamVjdCxcbiAgU2VyRGVDb250ZXh0IGV4dGVuZHMgRW5kcG9pbnRCZWFyZXIsXG4gIE91dHB1dFR5cGUgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlclxuPihcbiAgY29uZmlnOiBTZXJEZUNvbnRleHQsXG4gIHNlcmlhbGl6ZXI6IFJlcXVlc3RTZXJpYWxpemVyPGFueSwgU2VyRGVDb250ZXh0PixcbiAgZGVzZXJpYWxpemVyOiBSZXNwb25zZURlc2VyaWFsaXplcjxPdXRwdXRUeXBlLCBhbnksIFNlckRlQ29udGV4dD5cbik6IFBsdWdnYWJsZTxJbnB1dFR5cGUsIE91dHB1dFR5cGU+IHtcbiAgcmV0dXJuIHtcbiAgICBhcHBseVRvU3RhY2s6IChjb21tYW5kU3RhY2s6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+KSA9PiB7XG4gICAgICBjb21tYW5kU3RhY2suYWRkKFxuICAgICAgICBkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlKGNvbmZpZywgZGVzZXJpYWxpemVyKSxcbiAgICAgICAgZGVzZXJpYWxpemVyTWlkZGxld2FyZU9wdGlvblxuICAgICAgKTtcbiAgICAgIGNvbW1hbmRTdGFjay5hZGQoXG4gICAgICAgIHNlcmlhbGl6ZXJNaWRkbGV3YXJlKGNvbmZpZywgc2VyaWFsaXplciksXG4gICAgICAgIHNlcmlhbGl6ZXJNaWRkbGV3YXJlT3B0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==","export var ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport var CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport var AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport var SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport var EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport var SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport var TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport var AUTH_HEADER = \"authorization\";\nexport var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport var DATE_HEADER = \"date\";\nexport var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport var SHA256_HEADER = \"x-amz-content-sha256\";\nexport var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport var HOST_HEADER = \"host\";\nexport var ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true\n};\nexport var PROXY_HEADER_PATTERN = /^proxy-/;\nexport var SEC_HEADER_PATTERN = /^sec-/;\nexport var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport var ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport var EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport var UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport var MAX_CACHE_SIZE = 50;\nexport var KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n//# sourceMappingURL=constants.js.map","import { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nvar signingKeyCache = {};\nvar cacheQueue = [];\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate, region, service) {\n return shortDate + \"/\" + region + \"/\" + service + \"/\" + KEY_TYPE_IDENTIFIER;\n}\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport function getSigningKey(sha256Constructor, credentials, shortDate, region, service) {\n var cacheKey = shortDate + \":\" + region + \":\" + service + \":\" +\n (credentials.accessKeyId + \":\" + credentials.sessionToken);\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n return (signingKeyCache[cacheKey] = new Promise(function (resolve, reject) {\n var keyPromise = Promise.resolve(\"AWS4\" + credentials.secretAccessKey);\n var _loop_1 = function (signable) {\n keyPromise = keyPromise.then(function (intermediateKey) {\n return hmac(sha256Constructor, intermediateKey, signable);\n });\n keyPromise.catch(function () { });\n };\n for (var _i = 0, _a = [shortDate, region, service, KEY_TYPE_IDENTIFIER]; _i < _a.length; _i++) {\n var signable = _a[_i];\n _loop_1(signable);\n }\n keyPromise.then(resolve, function (reason) {\n delete signingKeyCache[cacheKey];\n reject(reason);\n });\n }));\n}\n/**\n * @internal\n */\nexport function clearCredentialCache() {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach(function (cacheKey) {\n delete signingKeyCache[cacheKey];\n });\n}\nfunction hmac(ctor, secret, data) {\n var hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n//# sourceMappingURL=credentialDerivation.js.map","import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n/**\n * @internal\n */\nexport function getCanonicalHeaders(_a, unsignableHeaders, signableHeaders) {\n var headers = _a.headers;\n var canonical = {};\n for (var _i = 0, _b = Object.keys(headers).sort(); _i < _b.length; _i++) {\n var headerName = _b[_i];\n var canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders ||\n (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName]\n .trim()\n .replace(/\\s+/g, \" \");\n }\n return canonical;\n}\n//# sourceMappingURL=getCanonicalHeaders.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nimport { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n/**\n * @internal\n */\nexport function getPayloadHash(_a, hashConstructor) {\n var headers = _a.headers, body = _a.body;\n return __awaiter(this, void 0, void 0, function () {\n var _i, _b, headerName, hashCtor, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n for (_i = 0, _b = Object.keys(headers); _i < _b.length; _i++) {\n headerName = _b[_i];\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return [2 /*return*/, headers[headerName]];\n }\n }\n if (!(body == undefined)) return [3 /*break*/, 1];\n return [2 /*return*/, \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"];\n case 1:\n if (!(typeof body === \"string\" ||\n ArrayBuffer.isView(body) ||\n isArrayBuffer(body))) return [3 /*break*/, 3];\n hashCtor = new hashConstructor();\n hashCtor.update(body);\n _c = toHex;\n return [4 /*yield*/, hashCtor.digest()];\n case 2: return [2 /*return*/, _c.apply(void 0, [_d.sent()])];\n case 3: \n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return [2 /*return*/, UNSIGNED_PAYLOAD];\n }\n });\n });\n}\n//# sourceMappingURL=getPayloadHash.js.map","import { __assign, __rest, __spreadArrays } from \"tslib\";\n/**\n * @internal\n */\nexport function cloneRequest(_a) {\n var headers = _a.headers, query = _a.query, rest = __rest(_a, [\"headers\", \"query\"]);\n return __assign(__assign({}, rest), { headers: __assign({}, headers), query: query ? cloneQuery(query) : undefined });\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return __assign(__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? __spreadArrays(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=cloneRequest.js.map","import { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n/**\n * @internal\n */\nexport function prepareRequest(request) {\n // Create a clone of the request object that does not clone the body\n request =\n typeof request.clone === \"function\"\n ? request.clone()\n : cloneRequest(request);\n for (var _i = 0, _a = Object.keys(request.headers); _i < _a.length; _i++) {\n var headerName = _a[_i];\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n}\n//# sourceMappingURL=prepareRequest.js.map","export function iso8601(time) {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\nexport function toDate(time) {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n}\n//# sourceMappingURL=utilDate.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER } from \"./constants\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { hasHeader } from \"./hasHeader\";\nimport { iso8601 } from \"./utilDate\";\nvar SignatureV4 = /** @class */ (function () {\n function SignatureV4(_a) {\n var applyChecksum = _a.applyChecksum, credentials = _a.credentials, region = _a.region, service = _a.service, sha256 = _a.sha256, _b = _a.uriEscapePath, uriEscapePath = _b === void 0 ? true : _b;\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum =\n typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n this.regionProvider = function () { return promisified_1; };\n }\n else {\n this.regionProvider = region;\n }\n if (typeof credentials === \"object\") {\n var promisified_2 = Promise.resolve(credentials);\n this.credentialProvider = function () { return promisified_2; };\n }\n else {\n this.credentialProvider = credentials;\n }\n }\n SignatureV4.prototype.presign = function (originalRequest, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, region, credentials, _b, signingDate, _c, expiresIn, unsignableHeaders, signableHeaders, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0: return [4 /*yield*/, Promise.all([\n this.regionProvider(),\n this.credentialProvider()\n ])];\n case 1:\n _a = _l.sent(), region = _a[0], credentials = _a[1];\n _b = options.signingDate, signingDate = _b === void 0 ? new Date() : _b, _c = options.expiresIn, expiresIn = _c === void 0 ? 3600 : _c, unsignableHeaders = options.unsignableHeaders, signableHeaders = options.signableHeaders;\n _d = formatDate(signingDate), longDate = _d.longDate, shortDate = _d.shortDate;\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return [2 /*return*/, Promise.reject(\"Signature version 4 presigned URLs\" +\n \" must have an expiration date less than one week in\" +\n \" the future\")];\n }\n scope = createScope(shortDate, region, this.service);\n request = moveHeadersToQuery(prepareRequest(originalRequest));\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = credentials.accessKeyId + \"/\" + scope;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n _e = request.query;\n _f = SIGNATURE_QUERY_PARAM;\n _g = this.getSignature;\n _h = [longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate)];\n _j = this.createCanonicalRequest;\n _k = [request,\n canonicalHeaders];\n return [4 /*yield*/, getPayloadHash(originalRequest, this.sha256)];\n case 2: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))];\n case 3:\n _e[_f] = _l.sent();\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.sign = function (toSign, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof toSign === \"string\") {\n return [2 /*return*/, this.signString(toSign, options)];\n }\n else if (toSign.headers && toSign.payload) {\n return [2 /*return*/, this.signEvent(toSign, options)];\n }\n else {\n return [2 /*return*/, this.signRequest(toSign, options)];\n }\n return [2 /*return*/];\n });\n });\n };\n SignatureV4.prototype.signEvent = function (_a, _b) {\n var headers = _a.headers, payload = _a.payload;\n var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature;\n return __awaiter(this, void 0, void 0, function () {\n var region, _d, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _e, stringToSign;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, Promise.all([\n this.regionProvider(),\n this.credentialProvider()\n ])];\n case 1:\n region = (_f.sent())[0];\n _d = formatDate(signingDate), shortDate = _d.shortDate, longDate = _d.longDate;\n scope = createScope(shortDate, region, this.service);\n return [4 /*yield*/, getPayloadHash({ headers: {}, body: payload }, this.sha256)];\n case 2:\n hashedPayload = _f.sent();\n hash = new this.sha256();\n hash.update(headers);\n _e = toHex;\n return [4 /*yield*/, hash.digest()];\n case 3:\n hashedHeaders = _e.apply(void 0, [_f.sent()]);\n stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload\n ].join(\"\\n\");\n return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate })];\n }\n });\n });\n };\n SignatureV4.prototype.signString = function (stringToSign, _a) {\n var _b = (_a === void 0 ? {} : _a).signingDate, signingDate = _b === void 0 ? new Date() : _b;\n return __awaiter(this, void 0, void 0, function () {\n var _c, region, credentials, shortDate, hash, _d, _e, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0: return [4 /*yield*/, Promise.all([\n this.regionProvider(),\n this.credentialProvider()\n ])];\n case 1:\n _c = _g.sent(), region = _c[0], credentials = _c[1];\n shortDate = formatDate(signingDate).shortDate;\n _e = (_d = this.sha256).bind;\n return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate)];\n case 2:\n hash = new (_e.apply(_d, [void 0, _g.sent()]))();\n hash.update(stringToSign);\n _f = toHex;\n return [4 /*yield*/, hash.digest()];\n case 3: return [2 /*return*/, _f.apply(void 0, [_g.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.signRequest = function (requestToSign, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders;\n return __awaiter(this, void 0, void 0, function () {\n var _d, region, credentials, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, Promise.all([\n this.regionProvider(),\n this.credentialProvider()\n ])];\n case 1:\n _d = _f.sent(), region = _d[0], credentials = _d[1];\n request = prepareRequest(requestToSign);\n _e = formatDate(signingDate), longDate = _e.longDate, shortDate = _e.shortDate;\n scope = createScope(shortDate, region, this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n return [4 /*yield*/, getPayloadHash(request, this.sha256)];\n case 2:\n payloadHash = _f.sent();\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))];\n case 3:\n signature = _f.sent();\n request.headers[AUTH_HEADER] =\n ALGORITHM_IDENTIFIER + \" \" +\n (\"Credential=\" + credentials.accessKeyId + \"/\" + scope + \", \") +\n (\"SignedHeaders=\" + getCanonicalHeaderList(canonicalHeaders) + \", \") +\n (\"Signature=\" + signature);\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.createCanonicalRequest = function (request, canonicalHeaders, payloadHash) {\n var sortedHeaders = Object.keys(canonicalHeaders).sort();\n return request.method + \"\\n\" + this.getCanonicalPath(request) + \"\\n\" + getCanonicalQuery(request) + \"\\n\" + sortedHeaders.map(function (name) { return name + \":\" + canonicalHeaders[name]; }).join(\"\\n\") + \"\\n\\n\" + sortedHeaders.join(\";\") + \"\\n\" + payloadHash;\n };\n SignatureV4.prototype.createStringToSign = function (longDate, credentialScope, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var hash, hashedRequest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hash = new this.sha256();\n hash.update(canonicalRequest);\n return [4 /*yield*/, hash.digest()];\n case 1:\n hashedRequest = _a.sent();\n return [2 /*return*/, ALGORITHM_IDENTIFIER + \"\\n\" + longDate + \"\\n\" + credentialScope + \"\\n\" + toHex(hashedRequest)];\n }\n });\n });\n };\n SignatureV4.prototype.getCanonicalPath = function (_a) {\n var path = _a.path;\n if (this.uriEscapePath) {\n var doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return \"/\" + doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n };\n SignatureV4.prototype.getSignature = function (longDate, credentialScope, keyPromise, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var stringToSign, hash, _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.createStringToSign(longDate, credentialScope, canonicalRequest)];\n case 1:\n stringToSign = _d.sent();\n _b = (_a = this.sha256).bind;\n return [4 /*yield*/, keyPromise];\n case 2:\n hash = new (_b.apply(_a, [void 0, _d.sent()]))();\n hash.update(stringToSign);\n _c = toHex;\n return [4 /*yield*/, hash.digest()];\n case 3: return [2 /*return*/, _c.apply(void 0, [_d.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate) {\n return getSigningKey(this.sha256, credentials, shortDate, region, this.service);\n };\n return SignatureV4;\n}());\nexport { SignatureV4 };\nfunction formatDate(now) {\n var longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate: longDate,\n shortDate: longDate.substr(0, 8)\n };\n}\nfunction getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n}\n//# sourceMappingURL=SignatureV4.js.map","import { __assign } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\n/**\n * @internal\n */\nexport function moveHeadersToQuery(request) {\n var _a = typeof request.clone === \"function\"\n ? request.clone()\n : cloneRequest(request), headers = _a.headers, _b = _a.query, query = _b === void 0 ? {} : _b;\n for (var _i = 0, _c = Object.keys(headers); _i < _c.length; _i++) {\n var name = _c[_i];\n var lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\") {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return __assign(__assign({}, request), { headers: headers,\n query: query });\n}\n//# sourceMappingURL=moveHeadersToQuery.js.map","export function hasHeader(soughtHeader, headers) {\n soughtHeader = soughtHeader.toLowerCase();\n for (var _i = 0, _a = Object.keys(headers); _i < _a.length; _i++) {\n var headerName = _a[_i];\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n}\n//# sourceMappingURL=hasHeader.js.map","import { SIGNATURE_HEADER } from \"./constants\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n/**\n * @internal\n */\nexport function getCanonicalQuery(_a) {\n var _b = _a.query, query = _b === void 0 ? {} : _b;\n var keys = [];\n var serialized = {};\n var _loop_1 = function (key) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n return \"continue\";\n }\n keys.push(key);\n var value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = escapeUri(key) + \"=\" + escapeUri(value);\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(function (encoded, value) {\n return encoded.concat([escapeUri(key) + \"=\" + escapeUri(value)]);\n }, [])\n .join(\"&\");\n }\n };\n for (var _i = 0, _c = Object.keys(query).sort(); _i < _c.length; _i++) {\n var key = _c[_i];\n _loop_1(key);\n }\n return keys\n .map(function (key) { return serialized[key]; })\n .filter(function (serialized) { return serialized; }) // omit any falsy values\n .join(\"&\");\n}\n//# sourceMappingURL=getCanonicalQuery.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('AbstractInteractionsProvider');\nvar AbstractInteractionsProvider = /** @class */ (function () {\n function AbstractInteractionsProvider(options) {\n if (options === void 0) { options = {}; }\n this._config = options;\n }\n AbstractInteractionsProvider.prototype.configure = function (config) {\n if (config === void 0) { config = {}; }\n this._config = __assign(__assign({}, this._config), config);\n logger.debug(\"configure \" + this.getProviderName(), this._config);\n return this.options;\n };\n AbstractInteractionsProvider.prototype.getCategory = function () {\n return 'Interactions';\n };\n Object.defineProperty(AbstractInteractionsProvider.prototype, \"options\", {\n get: function () {\n return __assign({}, this._config);\n },\n enumerable: true,\n configurable: true\n });\n return AbstractInteractionsProvider;\n}());\nexport { AbstractInteractionsProvider };\n//# sourceMappingURL=InteractionsProvider.js.map","// Partition default templates\nvar AWS_TEMPLATE = \"runtime.lex.{region}.amazonaws.com\";\nvar AWS_CN_TEMPLATE = \"runtime.lex.{region}.amazonaws.com.cn\";\nvar AWS_ISO_TEMPLATE = \"runtime.lex.{region}.c2s.ic.gov\";\nvar AWS_ISO_B_TEMPLATE = \"runtime.lex.{region}.sc2s.sgov.gov\";\nvar AWS_US_GOV_TEMPLATE = \"runtime.lex.{region}.amazonaws.com\";\n// Partition regions\nvar AWS_REGIONS = new Set([\n \"ap-south-1\",\n \"eu-north-1\",\n \"eu-west-3\",\n \"eu-west-2\",\n \"eu-west-1\",\n \"ap-northeast-2\",\n \"ap-northeast-1\",\n \"me-south-1\",\n \"ca-central-1\",\n \"sa-east-1\",\n \"ap-east-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"eu-central-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\"\n]);\nvar AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nvar AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nvar AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nvar AWS_US_GOV_REGIONS = new Set([\"us-gov-west-1\", \"us-gov-east-1\"]);\nexport var defaultRegionInfoProvider = function (region, options) {\n var regionInfo = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"runtime.lex.eu-west-1.amazonaws.com\",\n signingService: \"lex\"\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"runtime.lex.us-east-1.amazonaws.com\",\n signingService: \"lex\"\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"runtime.lex.us-west-2.amazonaws.com\",\n signingService: \"lex\"\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n signingService: \"lex\"\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region)\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region)\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region)\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region)\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n signingService: \"lex\"\n };\n }\n }\n return Promise.resolve(regionInfo);\n};\n//# sourceMappingURL=endpoints.js.map","import { defaultRegionInfoProvider } from \"./endpoints\";\nexport var ClientSharedValues = {\n apiVersion: \"2016-11-28\",\n disableHostPrefix: false,\n regionInfoProvider: defaultRegionInfoProvider,\n signingName: \"lex\"\n};\n//# sourceMappingURL=runtimeConfig.shared.js.map","import { __assign } from \"tslib\";\nimport { name, version } from \"./package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidFunction } from \"@aws-sdk/invalid-dependency\";\nimport { parseUrl } from \"@aws-sdk/url-parser-browser\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\nexport var ClientDefaultValues = __assign(__assign({}, ClientSharedValues), { runtime: \"browser\", base64Decoder: fromBase64, base64Encoder: toBase64, bodyLengthChecker: calculateBodyLength, credentialDefaultProvider: invalidFunction(\"Credential is missing\"), defaultUserAgent: defaultUserAgent(name, version), regionDefaultProvider: invalidFunction(\"Region is missing\"), requestHandler: new FetchHttpHandler(), sha256: Sha256, streamCollector: streamCollector, urlParser: parseUrl, utf8Decoder: fromUtf8, utf8Encoder: toUtf8 });\n//# sourceMappingURL=runtimeConfig.browser.js.map","import { __assign, __extends } from \"tslib\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport { resolveEndpointsConfig, resolveRegionConfig } from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig } from \"@aws-sdk/middleware-host-header\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { getAwsAuthPlugin, resolveAwsAuthConfig } from \"@aws-sdk/middleware-signing\";\nimport { getUserAgentPlugin, resolveUserAgentConfig } from \"@aws-sdk/middleware-user-agent\";\nimport { Client as __Client } from \"@aws-sdk/smithy-client\";\n/**\n * <p>Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of\n * operations (API). Your conversational bot uses the runtime API to understand user utterances\n * (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends\n * this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is\n * for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in\n * user conversation on behalf of the bot to elicit required information (slot values, such as\n * pizza size and crust type), and then performs fulfillment activity (that you configured when\n * you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For\n * a list of build-time operations, see the build-time API, . </p>\n */\nvar LexRuntimeServiceClient = /** @class */ (function (_super) {\n __extends(LexRuntimeServiceClient, _super);\n function LexRuntimeServiceClient(configuration) {\n var _this = this;\n var _config_0 = __assign(__assign({}, __ClientDefaultValues), configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveAwsAuthConfig(_config_2);\n var _config_4 = resolveRetryConfig(_config_3);\n var _config_5 = resolveUserAgentConfig(_config_4);\n var _config_6 = resolveHostHeaderConfig(_config_5);\n _this = _super.call(this, _config_6) || this;\n _this.config = _config_6;\n _this.middlewareStack.use(getAwsAuthPlugin(_this.config));\n _this.middlewareStack.use(getRetryPlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n _this.middlewareStack.use(getContentLengthPlugin(_this.config));\n _this.middlewareStack.use(getHostHeaderPlugin(_this.config));\n return _this;\n }\n LexRuntimeServiceClient.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return LexRuntimeServiceClient;\n}(__Client));\nexport { LexRuntimeServiceClient };\n//# sourceMappingURL=LexRuntimeServiceClient.js.map","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { LazyJsonString as __LazyJsonString, extendedEncodeURIComponent as __extendedEncodeURIComponent } from \"@aws-sdk/smithy-client\";\nexport var serializeAws_restJson1_1DeleteSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n return [4 /*yield*/, context.endpoint()];\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 /*return*/, 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}); };\nexport var serializeAws_restJson1_1GetSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n query = __assign({}, (input.checkpointLabelFilter !== undefined && {\n checkpointLabelFilter: input.checkpointLabelFilter\n }));\n return [4 /*yield*/, context.endpoint()];\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 /*return*/, 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}); };\nexport var serializeAws_restJson1_1PostContentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({ \"Content-Type\": \"application/octet-stream\", \"x-amz-content-sha256\": \"UNSIGNED_PAYLOAD\" }, (isSerializableHeaderValue(input.accept) && { Accept: input.accept })), (isSerializableHeaderValue(input.contentType) && {\n \"Content-Type\": input.contentType\n })), (isSerializableHeaderValue(input.requestAttributes) && {\n \"x-amz-lex-request-attributes\": __LazyJsonString.fromObject(input.requestAttributes)\n })), (isSerializableHeaderValue(input.sessionAttributes) && {\n \"x-amz-lex-session-attributes\": __LazyJsonString.fromObject(input.sessionAttributes)\n }));\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/content\";\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n if (input.inputStream !== undefined) {\n body = input.inputStream;\n }\n return [4 /*yield*/, context.endpoint()];\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 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1_1PostTextCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/json\"\n };\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/text\";\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n body = JSON.stringify(__assign(__assign(__assign({}, (input.inputText !== undefined && { inputText: input.inputText })), (input.requestAttributes !== undefined && {\n requestAttributes: serializeAws_restJson1_1StringMap(input.requestAttributes, context)\n })), (input.sessionAttributes !== undefined && {\n sessionAttributes: serializeAws_restJson1_1StringMap(input.sessionAttributes, context)\n })));\n return [4 /*yield*/, context.endpoint()];\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 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1_1PutSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"Content-Type\": \"application/json\" }, (isSerializableHeaderValue(input.accept) && { Accept: input.accept }));\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n body = JSON.stringify(__assign(__assign(__assign({}, (input.dialogAction !== undefined && {\n dialogAction: serializeAws_restJson1_1DialogAction(input.dialogAction, context)\n })), (input.recentIntentSummaryView !== undefined && {\n recentIntentSummaryView: serializeAws_restJson1_1IntentSummaryList(input.recentIntentSummaryView, context)\n })), (input.sessionAttributes !== undefined && {\n sessionAttributes: serializeAws_restJson1_1StringMap(input.sessionAttributes, context)\n })));\n return [4 /*yield*/, context.endpoint()];\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 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n}); };\nexport var deserializeAws_restJson1_1DeleteSessionCommand = function (output, context) { 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 >= 400) {\n return [2 /*return*/, deserializeAws_restJson1_1DeleteSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"DeleteSessionResponse\",\n botAlias: undefined,\n botName: undefined,\n sessionId: undefined,\n userId: undefined\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.botAlias !== undefined && data.botAlias !== null) {\n contents.botAlias = data.botAlias;\n }\n if (data.botName !== undefined && data.botName !== null) {\n contents.botName = data.botName;\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n if (data.userId !== undefined && data.userId !== null) {\n contents.userId = data.userId;\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1_1DeleteSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, _f, _g, _h, parsedBody, message;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _j.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _c = errorCode;\n switch (_c) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.commonapi.exceptions#BadRequestException\": return [3 /*break*/, 2];\n case \"ConflictException\": return [3 /*break*/, 4];\n case \"com.amazonaws.commonapi.exceptions#ConflictException\": return [3 /*break*/, 4];\n case \"InternalFailureException\": return [3 /*break*/, 6];\n case \"com.amazonaws.commonapi.exceptions#InternalFailureException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.commonapi.exceptions#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.commonapi.exceptions#NotFoundException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1ConflictExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1InternalFailureExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1_1GetSessionCommand = function (output, context) { 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 >= 400) {\n return [2 /*return*/, deserializeAws_restJson1_1GetSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetSessionResponse\",\n dialogAction: undefined,\n recentIntentSummaryView: undefined,\n sessionAttributes: undefined,\n sessionId: undefined\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.dialogAction !== undefined && data.dialogAction !== null) {\n contents.dialogAction = deserializeAws_restJson1_1DialogAction(data.dialogAction, context);\n }\n if (data.recentIntentSummaryView !== undefined &&\n data.recentIntentSummaryView !== null) {\n contents.recentIntentSummaryView = deserializeAws_restJson1_1IntentSummaryList(data.recentIntentSummaryView, context);\n }\n if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {\n contents.sessionAttributes = deserializeAws_restJson1_1StringMap(data.sessionAttributes, context);\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1_1GetSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, _f, _g, parsedBody, message;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _h.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _c = errorCode;\n switch (_c) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.commonapi.exceptions#BadRequestException\": return [3 /*break*/, 2];\n case \"InternalFailureException\": return [3 /*break*/, 4];\n case \"com.amazonaws.commonapi.exceptions#InternalFailureException\": return [3 /*break*/, 4];\n case \"LimitExceededException\": return [3 /*break*/, 6];\n case \"com.amazonaws.commonapi.exceptions#LimitExceededException\": return [3 /*break*/, 6];\n case \"NotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.commonapi.exceptions#NotFoundException\": return [3 /*break*/, 8];\n }\n return [3 /*break*/, 10];\n case 2:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 4:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1InternalFailureExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 6:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 8:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 10:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _h.label = 11;\n case 11:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1_1PostContentCommand = function (output, context) { 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 >= 400) {\n return [2 /*return*/, deserializeAws_restJson1_1PostContentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PostContentResponse\",\n audioStream: undefined,\n contentType: undefined,\n dialogState: undefined,\n inputTranscript: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n sentimentResponse: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined\n };\n if (output.headers[\"content-type\"] !== undefined) {\n contents.contentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"x-amz-lex-dialog-state\"] !== undefined) {\n contents.dialogState = output.headers[\"x-amz-lex-dialog-state\"];\n }\n if (output.headers[\"x-amz-lex-input-transcript\"] !== undefined) {\n contents.inputTranscript = output.headers[\"x-amz-lex-input-transcript\"];\n }\n if (output.headers[\"x-amz-lex-intent-name\"] !== undefined) {\n contents.intentName = output.headers[\"x-amz-lex-intent-name\"];\n }\n if (output.headers[\"x-amz-lex-message\"] !== undefined) {\n contents.message = output.headers[\"x-amz-lex-message\"];\n }\n if (output.headers[\"x-amz-lex-message-format\"] !== undefined) {\n contents.messageFormat = output.headers[\"x-amz-lex-message-format\"];\n }\n if (output.headers[\"x-amz-lex-sentiment\"] !== undefined) {\n contents.sentimentResponse = output.headers[\"x-amz-lex-sentiment\"];\n }\n if (output.headers[\"x-amz-lex-session-attributes\"] !== undefined) {\n contents.sessionAttributes = new __LazyJsonString(output.headers[\"x-amz-lex-session-attributes\"]);\n }\n if (output.headers[\"x-amz-lex-session-id\"] !== undefined) {\n contents.sessionId = output.headers[\"x-amz-lex-session-id\"];\n }\n if (output.headers[\"x-amz-lex-slot-to-elicit\"] !== undefined) {\n contents.slotToElicit = output.headers[\"x-amz-lex-slot-to-elicit\"];\n }\n if (output.headers[\"x-amz-lex-slots\"] !== undefined) {\n contents.slots = new __LazyJsonString(output.headers[\"x-amz-lex-slots\"]);\n }\n data = output.body;\n contents.audioStream = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restJson1_1PostContentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, parsedBody, message;\n return __generator(this, function (_q) {\n switch (_q.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _q.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _c = errorCode;\n switch (_c) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.commonapi.exceptions#BadRequestException\": return [3 /*break*/, 2];\n case \"ConflictException\": return [3 /*break*/, 4];\n case \"com.amazonaws.commonapi.exceptions#ConflictException\": return [3 /*break*/, 4];\n case \"InternalFailureException\": return [3 /*break*/, 6];\n case \"com.amazonaws.commonapi.exceptions#InternalFailureException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.commonapi.exceptions#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAcceptableException\": return [3 /*break*/, 10];\n case \"com.amazonaws.commonapi.exceptions#NotAcceptableException\": return [3 /*break*/, 10];\n case \"NotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.commonapi.exceptions#NotFoundException\": return [3 /*break*/, 12];\n case \"RequestTimeoutException\": return [3 /*break*/, 14];\n case \"com.amazonaws.commonapi.exceptions#RequestTimeoutException\": return [3 /*break*/, 14];\n case \"UnsupportedMediaTypeException\": return [3 /*break*/, 16];\n case \"com.amazonaws.commonapi.exceptions#UnsupportedMediaTypeException\": return [3 /*break*/, 16];\n case \"BadGatewayException\": return [3 /*break*/, 18];\n case \"com.amazonaws.deepsense.runtimeservice#BadGatewayException\": return [3 /*break*/, 18];\n case \"DependencyFailedException\": return [3 /*break*/, 20];\n case \"com.amazonaws.deepsense.runtimeservice#DependencyFailedException\": return [3 /*break*/, 20];\n case \"LoopDetectedException\": return [3 /*break*/, 22];\n case \"com.amazonaws.deepsense.runtimeservice#LoopDetectedException\": return [3 /*break*/, 22];\n }\n return [3 /*break*/, 24];\n case 2:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 4:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1ConflictExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 6:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1InternalFailureExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 8:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 10:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotAcceptableExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 12:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 14:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1RequestTimeoutExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 16:\n _l = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1UnsupportedMediaTypeExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _l.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 18:\n _m = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadGatewayExceptionResponse(parsedOutput, context)];\n case 19:\n response = __assign.apply(void 0, [__assign.apply(void 0, _m.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 20:\n _o = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 21:\n response = __assign.apply(void 0, [__assign.apply(void 0, _o.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 22:\n _p = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LoopDetectedExceptionResponse(parsedOutput, context)];\n case 23:\n response = __assign.apply(void 0, [__assign.apply(void 0, _p.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 24:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _q.label = 25;\n case 25:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1_1PostTextCommand = function (output, context) { 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 >= 400) {\n return [2 /*return*/, deserializeAws_restJson1_1PostTextCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PostTextResponse\",\n dialogState: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n responseCard: undefined,\n sentimentResponse: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.dialogState !== undefined && data.dialogState !== null) {\n contents.dialogState = data.dialogState;\n }\n if (data.intentName !== undefined && data.intentName !== null) {\n contents.intentName = data.intentName;\n }\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n if (data.messageFormat !== undefined && data.messageFormat !== null) {\n contents.messageFormat = data.messageFormat;\n }\n if (data.responseCard !== undefined && data.responseCard !== null) {\n contents.responseCard = deserializeAws_restJson1_1ResponseCard(data.responseCard, context);\n }\n if (data.sentimentResponse !== undefined && data.sentimentResponse !== null) {\n contents.sentimentResponse = deserializeAws_restJson1_1SentimentResponse(data.sentimentResponse, context);\n }\n if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {\n contents.sessionAttributes = deserializeAws_restJson1_1StringMap(data.sessionAttributes, context);\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n if (data.slotToElicit !== undefined && data.slotToElicit !== null) {\n contents.slotToElicit = data.slotToElicit;\n }\n if (data.slots !== undefined && data.slots !== null) {\n contents.slots = deserializeAws_restJson1_1StringMap(data.slots, context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1_1PostTextCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, _f, _g, _h, _j, _k, _l, parsedBody, message;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _m.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _c = errorCode;\n switch (_c) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.commonapi.exceptions#BadRequestException\": return [3 /*break*/, 2];\n case \"ConflictException\": return [3 /*break*/, 4];\n case \"com.amazonaws.commonapi.exceptions#ConflictException\": return [3 /*break*/, 4];\n case \"InternalFailureException\": return [3 /*break*/, 6];\n case \"com.amazonaws.commonapi.exceptions#InternalFailureException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.commonapi.exceptions#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.commonapi.exceptions#NotFoundException\": return [3 /*break*/, 10];\n case \"BadGatewayException\": return [3 /*break*/, 12];\n case \"com.amazonaws.deepsense.runtimeservice#BadGatewayException\": return [3 /*break*/, 12];\n case \"DependencyFailedException\": return [3 /*break*/, 14];\n case \"com.amazonaws.deepsense.runtimeservice#DependencyFailedException\": return [3 /*break*/, 14];\n case \"LoopDetectedException\": return [3 /*break*/, 16];\n case \"com.amazonaws.deepsense.runtimeservice#LoopDetectedException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1ConflictExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1InternalFailureExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadGatewayExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _l = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LoopDetectedExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _l.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1_1PutSessionCommand = function (output, context) { 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 >= 400) {\n return [2 /*return*/, deserializeAws_restJson1_1PutSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutSessionResponse\",\n audioStream: undefined,\n contentType: undefined,\n dialogState: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined\n };\n if (output.headers[\"content-type\"] !== undefined) {\n contents.contentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"x-amz-lex-dialog-state\"] !== undefined) {\n contents.dialogState = output.headers[\"x-amz-lex-dialog-state\"];\n }\n if (output.headers[\"x-amz-lex-intent-name\"] !== undefined) {\n contents.intentName = output.headers[\"x-amz-lex-intent-name\"];\n }\n if (output.headers[\"x-amz-lex-message\"] !== undefined) {\n contents.message = output.headers[\"x-amz-lex-message\"];\n }\n if (output.headers[\"x-amz-lex-message-format\"] !== undefined) {\n contents.messageFormat = output.headers[\"x-amz-lex-message-format\"];\n }\n if (output.headers[\"x-amz-lex-session-attributes\"] !== undefined) {\n contents.sessionAttributes = new __LazyJsonString(output.headers[\"x-amz-lex-session-attributes\"]);\n }\n if (output.headers[\"x-amz-lex-session-id\"] !== undefined) {\n contents.sessionId = output.headers[\"x-amz-lex-session-id\"];\n }\n if (output.headers[\"x-amz-lex-slot-to-elicit\"] !== undefined) {\n contents.slotToElicit = output.headers[\"x-amz-lex-slot-to-elicit\"];\n }\n if (output.headers[\"x-amz-lex-slots\"] !== undefined) {\n contents.slots = new __LazyJsonString(output.headers[\"x-amz-lex-slots\"]);\n }\n data = output.body;\n contents.audioStream = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restJson1_1PutSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, _f, _g, _h, _j, _k, _l, parsedBody, message;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _m.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _c = errorCode;\n switch (_c) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.commonapi.exceptions#BadRequestException\": return [3 /*break*/, 2];\n case \"ConflictException\": return [3 /*break*/, 4];\n case \"com.amazonaws.commonapi.exceptions#ConflictException\": return [3 /*break*/, 4];\n case \"InternalFailureException\": return [3 /*break*/, 6];\n case \"com.amazonaws.commonapi.exceptions#InternalFailureException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.commonapi.exceptions#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAcceptableException\": return [3 /*break*/, 10];\n case \"com.amazonaws.commonapi.exceptions#NotAcceptableException\": return [3 /*break*/, 10];\n case \"NotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.commonapi.exceptions#NotFoundException\": return [3 /*break*/, 12];\n case \"BadGatewayException\": return [3 /*break*/, 14];\n case \"com.amazonaws.deepsense.runtimeservice#BadGatewayException\": return [3 /*break*/, 14];\n case \"DependencyFailedException\": return [3 /*break*/, 16];\n case \"com.amazonaws.deepsense.runtimeservice#DependencyFailedException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1ConflictExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1InternalFailureExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotAcceptableExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1NotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1BadGatewayExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _l = [{}];\n return [4 /*yield*/, deserializeAws_restJson1_1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _l.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nvar deserializeAws_restJson1_1BadRequestExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BadRequestException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1ConflictExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ConflictException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1InternalFailureExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"InternalFailureException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1LimitExceededExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"LimitExceededException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n retryAfterSeconds: undefined\n };\n if (parsedOutput.headers[\"retry-after\"] !== undefined) {\n contents.retryAfterSeconds = parsedOutput.headers[\"retry-after\"];\n }\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1NotAcceptableExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NotAcceptableException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1NotFoundExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NotFoundException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1RequestTimeoutExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"RequestTimeoutException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1UnsupportedMediaTypeExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"UnsupportedMediaTypeException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1BadGatewayExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BadGatewayException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1DependencyFailedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"DependencyFailedException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1_1LoopDetectedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"LoopDetectedException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar serializeAws_restJson1_1DialogAction = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.fulfillmentState !== undefined && {\n fulfillmentState: input.fulfillmentState\n })), (input.intentName !== undefined && { intentName: input.intentName })), (input.message !== undefined && { message: input.message })), (input.messageFormat !== undefined && {\n messageFormat: input.messageFormat\n })), (input.slotToElicit !== undefined && {\n slotToElicit: input.slotToElicit\n })), (input.slots !== undefined && {\n slots: serializeAws_restJson1_1StringMap(input.slots, context)\n })), (input.type !== undefined && { type: input.type }));\n};\nvar serializeAws_restJson1_1IntentSummary = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.checkpointLabel !== undefined && {\n checkpointLabel: input.checkpointLabel\n })), (input.confirmationStatus !== undefined && {\n confirmationStatus: input.confirmationStatus\n })), (input.dialogActionType !== undefined && {\n dialogActionType: input.dialogActionType\n })), (input.fulfillmentState !== undefined && {\n fulfillmentState: input.fulfillmentState\n })), (input.intentName !== undefined && { intentName: input.intentName })), (input.slotToElicit !== undefined && {\n slotToElicit: input.slotToElicit\n })), (input.slots !== undefined && {\n slots: serializeAws_restJson1_1StringMap(input.slots, context)\n }));\n};\nvar serializeAws_restJson1_1IntentSummaryList = function (input, context) {\n return input.map(function (entry) {\n return serializeAws_restJson1_1IntentSummary(entry, context);\n });\n};\nvar serializeAws_restJson1_1StringMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n return (__assign(__assign({}, acc), (_b = {}, _b[key] = value, _b)));\n }, {});\n};\nvar deserializeAws_restJson1_1DialogAction = function (output, context) {\n return {\n __type: \"DialogAction\",\n fulfillmentState: output.fulfillmentState !== undefined && output.fulfillmentState !== null\n ? output.fulfillmentState\n : undefined,\n intentName: output.intentName !== undefined && output.intentName !== null\n ? output.intentName\n : undefined,\n message: output.message !== undefined && output.message !== null\n ? output.message\n : undefined,\n messageFormat: output.messageFormat !== undefined && output.messageFormat !== null\n ? output.messageFormat\n : undefined,\n slotToElicit: output.slotToElicit !== undefined && output.slotToElicit !== null\n ? output.slotToElicit\n : undefined,\n slots: output.slots !== undefined && output.slots !== null\n ? deserializeAws_restJson1_1StringMap(output.slots, context)\n : undefined,\n type: output.type !== undefined && output.type !== null\n ? output.type\n : undefined\n };\n};\nvar deserializeAws_restJson1_1IntentSummary = function (output, context) {\n return {\n __type: \"IntentSummary\",\n checkpointLabel: output.checkpointLabel !== undefined && output.checkpointLabel !== null\n ? output.checkpointLabel\n : undefined,\n confirmationStatus: output.confirmationStatus !== undefined &&\n output.confirmationStatus !== null\n ? output.confirmationStatus\n : undefined,\n dialogActionType: output.dialogActionType !== undefined && output.dialogActionType !== null\n ? output.dialogActionType\n : undefined,\n fulfillmentState: output.fulfillmentState !== undefined && output.fulfillmentState !== null\n ? output.fulfillmentState\n : undefined,\n intentName: output.intentName !== undefined && output.intentName !== null\n ? output.intentName\n : undefined,\n slotToElicit: output.slotToElicit !== undefined && output.slotToElicit !== null\n ? output.slotToElicit\n : undefined,\n slots: output.slots !== undefined && output.slots !== null\n ? deserializeAws_restJson1_1StringMap(output.slots, context)\n : undefined\n };\n};\nvar deserializeAws_restJson1_1IntentSummaryList = function (output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restJson1_1IntentSummary(entry, context);\n });\n};\nvar deserializeAws_restJson1_1SentimentResponse = function (output, context) {\n return {\n __type: \"SentimentResponse\",\n sentimentLabel: output.sentimentLabel !== undefined && output.sentimentLabel !== null\n ? output.sentimentLabel\n : undefined,\n sentimentScore: output.sentimentScore !== undefined && output.sentimentScore !== null\n ? output.sentimentScore\n : undefined\n };\n};\nvar deserializeAws_restJson1_1StringMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n return (__assign(__assign({}, acc), (_b = {}, _b[key] = value, _b)));\n }, {});\n};\nvar deserializeAws_restJson1_1Button = function (output, context) {\n return {\n __type: \"Button\",\n text: output.text !== undefined && output.text !== null\n ? output.text\n : undefined,\n value: output.value !== undefined && output.value !== null\n ? output.value\n : undefined\n };\n};\nvar deserializeAws_restJson1_1GenericAttachment = function (output, context) {\n return {\n __type: \"GenericAttachment\",\n attachmentLinkUrl: output.attachmentLinkUrl !== undefined &&\n output.attachmentLinkUrl !== null\n ? output.attachmentLinkUrl\n : undefined,\n buttons: output.buttons !== undefined && output.buttons !== null\n ? deserializeAws_restJson1_1listOfButtons(output.buttons, context)\n : undefined,\n imageUrl: output.imageUrl !== undefined && output.imageUrl !== null\n ? output.imageUrl\n : undefined,\n subTitle: output.subTitle !== undefined && output.subTitle !== null\n ? output.subTitle\n : undefined,\n title: output.title !== undefined && output.title !== null\n ? output.title\n : undefined\n };\n};\nvar deserializeAws_restJson1_1ResponseCard = function (output, context) {\n return {\n __type: \"ResponseCard\",\n contentType: output.contentType !== undefined && output.contentType !== null\n ? output.contentType\n : undefined,\n genericAttachments: output.genericAttachments !== undefined &&\n output.genericAttachments !== null\n ? deserializeAws_restJson1_1genericAttachmentList(output.genericAttachments, context)\n : undefined,\n version: output.version !== undefined && output.version !== null\n ? output.version\n : undefined\n };\n};\nvar deserializeAws_restJson1_1genericAttachmentList = function (output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restJson1_1GenericAttachment(entry, context);\n });\n};\nvar deserializeAws_restJson1_1listOfButtons = function (output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restJson1_1Button(entry, context);\n });\n};\nvar deserializeMetadata = function (output) { return ({\n httpStatusCode: output.statusCode,\n httpHeaders: output.headers,\n requestId: output.headers[\"x-amzn-requestid\"]\n}); };\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return (context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()));\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\nvar isSerializableHeaderValue = function (value) {\n return value !== undefined &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") ||\n value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n};\nvar parseBody = function (streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n};\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nvar loadRestJsonErrorCode = function (output, data) {\n var findKey = function (object, key) {\n return Object.keys(object).find(function (k) { return k.toLowerCase() === key.toLowerCase(); });\n };\n var sanitizeErrorCode = function (rawValue) {\n var cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n var headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n return \"\";\n};\n//# sourceMappingURL=Aws_restJson1_1.js.map","import { __extends } from \"tslib\";\nimport { deserializeAws_restJson1_1PostTextCommand, serializeAws_restJson1_1PostTextCommand } from \"../protocols/Aws_restJson1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nvar PostTextCommand = /** @class */ (function (_super) {\n __extends(PostTextCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function PostTextCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n PostTextCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var handlerExecutionContext = {\n logger: {}\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n PostTextCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1_1PostTextCommand(input, context);\n };\n PostTextCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1_1PostTextCommand(output, context);\n };\n return PostTextCommand;\n}($Command));\nexport { PostTextCommand };\n//# sourceMappingURL=PostTextCommand.js.map","import { __extends } from \"tslib\";\nimport { deserializeAws_restJson1_1PostContentCommand, serializeAws_restJson1_1PostContentCommand } from \"../protocols/Aws_restJson1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nvar PostContentCommand = /** @class */ (function (_super) {\n __extends(PostContentCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function PostContentCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n PostContentCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var handlerExecutionContext = {\n logger: {}\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n PostContentCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1_1PostContentCommand(input, context);\n };\n PostContentCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1_1PostContentCommand(output, context);\n };\n return PostContentCommand;\n}($Command));\nexport { PostContentCommand };\n//# sourceMappingURL=PostContentCommand.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { AbstractInteractionsProvider } from './InteractionsProvider';\nimport { LexRuntimeServiceClient, PostTextCommand, PostContentCommand, } from '@aws-sdk/client-lex-runtime-service';\nimport { ConsoleLogger as Logger, Credentials, getAmplifyUserAgent, } from '@aws-amplify/core';\nvar logger = new Logger('AWSLexProvider');\nvar AWSLexProvider = /** @class */ (function (_super) {\n __extends(AWSLexProvider, _super);\n function AWSLexProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, options) || this;\n _this._botsCompleteCallback = {};\n return _this;\n }\n AWSLexProvider.prototype.getProviderName = function () {\n return 'AWSLexProvider';\n };\n AWSLexProvider.prototype.reportBotStatus = function (data, botname) {\n var _this = this;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', data.dialogState);\n if (data.dialogState === 'ReadyForFulfillment' ||\n data.dialogState === 'Fulfilled') {\n if (typeof this._botsCompleteCallback[botname] === 'function') {\n setTimeout(function () {\n return _this._botsCompleteCallback[botname](null, { slots: data.slots });\n }, 0);\n }\n if (this._config &&\n typeof this._config[botname].onComplete === 'function') {\n setTimeout(function () { return _this._config[botname].onComplete(null, { slots: data.slots }); }, 0);\n }\n }\n if (data.dialogState === 'Failed') {\n if (typeof this._botsCompleteCallback[botname] === 'function') {\n setTimeout(function () { return _this._botsCompleteCallback[botname]('Bot conversation failed'); }, 0);\n }\n if (this._config &&\n typeof this._config[botname].onComplete === 'function') {\n setTimeout(function () { return _this._config[botname].onComplete('Bot conversation failed'); }, 0);\n }\n }\n };\n AWSLexProvider.prototype.sendMessage = function (botname, message) {\n return __awaiter(this, void 0, void 0, function () {\n var credentials, params, postTextCommand, data, err_1, postContentCommand, data, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._config[botname]) {\n return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];\n }\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials) {\n return [2 /*return*/, Promise.reject('No credentials')];\n }\n this.lexRuntimeServiceClient = new LexRuntimeServiceClient({\n region: this._config[botname].region,\n credentials: credentials,\n customUserAgent: getAmplifyUserAgent(),\n });\n if (!(typeof message === 'string')) return [3 /*break*/, 6];\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n inputText: message,\n userId: credentials.identityId,\n };\n logger.debug('postText to lex', message);\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n postTextCommand = new PostTextCommand(params);\n return [4 /*yield*/, this.lexRuntimeServiceClient.send(postTextCommand)];\n case 3:\n data = _a.sent();\n this.reportBotStatus(data, botname);\n return [2 /*return*/, data];\n case 4:\n err_1 = _a.sent();\n return [2 /*return*/, Promise.reject(err_1)];\n case 5: return [3 /*break*/, 10];\n case 6:\n if (message.options['messageType'] === 'voice') {\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n contentType: 'audio/x-l16; sample-rate=16000',\n inputStream: message.content,\n userId: credentials.identityId,\n accept: 'audio/mpeg',\n };\n }\n else {\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n contentType: 'text/plain; charset=utf-8',\n inputStream: message.content,\n userId: credentials.identityId,\n accept: 'audio/mpeg',\n };\n }\n logger.debug('postContent to lex', message);\n _a.label = 7;\n case 7:\n _a.trys.push([7, 9, , 10]);\n postContentCommand = new PostContentCommand(params);\n return [4 /*yield*/, this.lexRuntimeServiceClient.send(postContentCommand)];\n case 8:\n data = _a.sent();\n this.reportBotStatus(data, botname);\n return [2 /*return*/, data];\n case 9:\n err_2 = _a.sent();\n return [2 /*return*/, Promise.reject(err_2)];\n case 10: return [2 /*return*/];\n }\n });\n });\n };\n AWSLexProvider.prototype.onComplete = function (botname, callback) {\n if (!this._config[botname]) {\n throw new ErrorEvent('Bot ' + botname + ' does not exist');\n }\n this._botsCompleteCallback[botname] = callback;\n };\n return AWSLexProvider;\n}(AbstractInteractionsProvider));\nexport { AWSLexProvider };\n//# sourceMappingURL=AWSLexProvider.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AWSLexProvider } from './Providers';\nvar logger = new Logger('Interactions');\nvar InteractionsClass = /** @class */ (function () {\n /**\n * Initialize PubSub with AWS configurations\n *\n * @param {InteractionsOptions} options - Configuration object for Interactions\n */\n function InteractionsClass(options) {\n this._options = options;\n logger.debug('Interactions Options', this._options);\n this._pluggables = {};\n Amplify.register(this);\n }\n InteractionsClass.prototype.getModuleName = function () {\n return 'Interactions';\n };\n /**\n *\n * @param {InteractionsOptions} options - Configuration object for Interactions\n * @return {Object} - The current configuration\n */\n InteractionsClass.prototype.configure = function (options) {\n var _this = this;\n var opt = options ? options.Interactions || options : {};\n logger.debug('configure Interactions', { opt: opt });\n this._options = __assign(__assign({ bots: {} }, opt), opt.Interactions);\n var aws_bots_config = this._options.aws_bots_config;\n var bots_config = this._options.bots;\n if (!Object.keys(bots_config).length && aws_bots_config) {\n // Convert aws_bots_config to bots object\n if (Array.isArray(aws_bots_config)) {\n aws_bots_config.forEach(function (bot) {\n _this._options.bots[bot.name] = bot;\n });\n }\n }\n // Check if AWSLex provider is already on pluggables\n if (!this._pluggables.AWSLexProvider &&\n bots_config &&\n Object.keys(bots_config)\n .map(function (key) { return bots_config[key]; })\n .find(function (bot) { return !bot.providerName || bot.providerName === 'AWSLexProvider'; })) {\n this._pluggables.AWSLexProvider = new AWSLexProvider();\n }\n Object.keys(this._pluggables).map(function (key) {\n _this._pluggables[key].configure(_this._options.bots);\n });\n return this._options;\n };\n InteractionsClass.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategory() === 'Interactions') {\n if (!this._pluggables[pluggable.getProviderName()]) {\n pluggable.configure(this._options.bots);\n this._pluggables[pluggable.getProviderName()] = pluggable;\n return;\n }\n else {\n throw new Error('Bot ' + pluggable.getProviderName() + ' already plugged');\n }\n }\n };\n InteractionsClass.prototype.send = function (botname, message) {\n return __awaiter(this, void 0, void 0, function () {\n var botProvider;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._options.bots || !this._options.bots[botname]) {\n throw new Error('Bot ' + botname + ' does not exist');\n }\n botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';\n if (!this._pluggables[botProvider]) {\n throw new Error('Bot ' +\n botProvider +\n ' does not have valid pluggin did you try addPluggable first?');\n }\n return [4 /*yield*/, this._pluggables[botProvider].sendMessage(botname, message)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n InteractionsClass.prototype.onComplete = function (botname, callback) {\n if (!this._options.bots || !this._options.bots[botname]) {\n throw new Error('Bot ' + botname + ' does not exist');\n }\n var botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';\n if (!this._pluggables[botProvider]) {\n throw new Error('Bot ' +\n botProvider +\n ' does not have valid pluggin did you try addPluggable first?');\n }\n this._pluggables[botProvider].onComplete(botname, callback);\n };\n return InteractionsClass;\n}());\nexport { InteractionsClass };\nexport var Interactions = new InteractionsClass(null);\n//# sourceMappingURL=Interactions.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { Interactions } from './Interactions';\n/**\n * @deprecated use named import\n */\nexport default Interactions;\nexport * from './Providers/AWSLexProvider';\nexport { Interactions };\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}
\No newline at end of file