unserver-unify
Version:
5 lines • 181 kB
JavaScript
// AWS SDK for JavaScript v2.0.0-rc13
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt
(function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var u=typeof require=="function"&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);throw new Error("Cannot find module '"+a+"'")}var f=r[a]={exports:{}};t[a][0].call(f.exports,function(e){var r=t[a][1][e];return i(r?r:e)},f,f.exports,e,t,r,n)}return r[a].exports}var s=typeof require=="function"&&require;for(var a=0;a<n.length;a++)i(n[a]);return i})({1:[function(e,t,r){var n=e("buffer").Buffer;var i={};function s(e,t){for(var r in e){if(e.hasOwnProperty(r)){var n=t(r,e[r]);if(n===i)break}}}function a(e){if(e===null||e===undefined)return e;var t={};for(var r in e){t[r]=e[r]}return t}function o(e,t){s(t,function r(t,n){e[t]=n});return e}function u(e,t){return o(a(e),t)}function f(e,t){if(!e){this.rules={type:"structure",members:{}};return}this.options=t;this.rules={};this.set_type(e.type);s(e,function(e,t){if(e!=="type")this["set_"+e](t)}.bind(this));if(this.rules.type==="blob"){if(this.rules.payload||this.rules.streaming){this.rules.type="binary"}else{this.rules.type="base64"}}}function c(e,t){f.call(this,e,t)}function l(e,t){f.call(this,e,t)}f.prototype={shapeClass:function(){if(this instanceof c)return c;if(this instanceof l)return l},xmlname:function(){if(this.rules.flattened){return this._xmlname||(this.rules.members||{}).name}else{return this._xmlname}},set_type:function(e){var t={structure:"structure",list:"list",map:"map","boolean":"boolean",timestamp:"timestamp",character:"string","double":"float","float":"float",integer:"integer","long":"integer","short":"integer",string:"string",blob:"blob",biginteger:"integer",bigdecimal:"float"};if(e==="string"){return}else if(t[e]){this.rules.type=t[e]}else{throw new Error("unhandled shape type "+e)}},set_members:function(e){var t=this.rules.type;var r=this.shapeClass();if(t==="structure"){this.rules.members={};s(e,function(e,t){var n=new r(t,this.options);if(this.swapNames(n)){n.rules.name=e;e=n.xmlname()}this.rules.members[e]=n.rules}.bind(this))}else if(t==="list"){this.rules.members=new r(e,this.options).rules}else if(t==="map"){this.rules.members=new r(e,this.options).rules}else if(t==="blob"){this.rules.members={}}else{throw new Error("unhandled complex shape `"+t+"'")}},set_keys:function(e){var t=this.shapeClass();this.rules.keys=new t(e,this.options).rules},set_timestamp_format:function(e){this.rules.format=e},set_xmlname:function(e){this._xmlname=e;this.rules.name=e},set_location:function(e){this.rules.location=e==="http_status"?"status":e},set_location_name:function(e){this.rules.name=e},set_payload:function(e){if(e)this.rules.payload=true},set_flattened:function(e){if(e)this.rules.flattened=true},set_streaming:function(e){if(e)this.rules.streaming=true},set_xmlattribute:function(e){if(e)this.rules.attribute=true},set_xmlnamespace:function(e){this.rules.xmlns=e},set_documentation:function(e){if(this.options.documentation)this.rules.documentation=e},set_enum:function(e){if(this.options.documentation)this.rules["enum"]=e},set_wrapper:function(){},set_shape_name:function(){},set_box:function(){},set_sensitive:function(){}};c.prototype=u(f.prototype,{swapNames:function(){return false},set_required:function(){this.rules.required=true},set_member_order:function(e){this.rules.order=e},set_min_length:function(e){if(this.options.documentation)this.rules.min_length=e},set_max_length:function(e){if(this.options.documentation)this.rules.max_length=e},set_pattern:function(e){if(this.options.documentation)this.rules.pattern=e}});l.prototype=u(f.prototype,{swapNames:function(e){if(this.options.documentation)return false;return e.xmlname()&&["query","rest-xml"].indexOf(this.options.type)>=0},set_required:function(){},set_member_order:function(){},set_min_length:function(){},set_max_length:function(){},set_pattern:function(){}});function h(e,t){var r=e;function n(){if(t.type.indexOf("rest")<0)return;var n=t.type.indexOf("xml")>=0;var a=false;var o=false;var f=false;s(e.input.members,function(e,t){if(t.payload){f=true;a=e;delete t.payload;return i}});if(!f){var c=[];s(e.input.members,function(e,t){if(!t.location){c.push(e)}});if(c.length>0){a=c;if(n)o=r.input.shape_name}}if(o)e.input=u({wrapper:o},e.input);if(a)e.input=u({payload:a},e.input)}function f(){var t=null;s(e.output.members,function(r,n){if(n.payload&&n.type==="structure"){delete n.payload;t=r}else if(n.payload||n.streaming){delete n.payload;e.output.payload=r}});if(t){var r=e.output.members[t];delete e.output.members[t];o(e.output.members,r.members)}}e=a(e);e.input=new c(e.input,t).rules;e.output=new l(e.output,t).rules;e.input.members=e.input.members||{};e.output.members=e.output.members||{};n();f();if(e.http)delete e.http.response_code;if(t.documentation){e.errors=e.errors.map(function(e){return e.shape_name})}else{delete e.errors;delete e.documentation;delete e.documentation_url;delete e.response_code}return e}function p(e,t){var r={};function i(e){return e.replace(/_(\w)/g,function(e,t){return t.toUpperCase()})}function a(){var n=Object.keys(e);n.push("timestamp_format");n.sort().forEach(function(t){r[i(t)]=e[t]});r.timestampFormat=r.timestampFormat||"iso8601";if(r.jsonVersion)r.jsonVersion=r.jsonVersion.toString();if(r.jsonVersion==="1")r.jsonVersion="1.0";if(!t.documentation)delete r.documentation;if(!r.resultWrapped)delete r.resultWrapped;if(!e.type.match(/xml/))delete r.xmlnamespace;delete r.operations;delete r.pagination;delete r.waiters;delete r.type}function o(){r.operations={};s(e.operations,function(e,n){var i=e[0].toLowerCase()+e.substr(1);i=i.replace(/\d{4}_\d{2}_\d{2}$/,"");var s=new h(n,t);r.operations[i]=s})}function u(){if(e.pagination){r.pagination={};s(e.pagination,function(e,t){var n={};s(t,function(e,t){n[i(e)]=t});r.pagination[e[0].toLowerCase()+e.substr(1)]=n})}}function f(){if(e.waiters){r.waiters={};s(e.waiters,function(e,t){var n={};s(t,function(e,t){n[i(e)]=t});r.waiters[e[0].toLowerCase()+e.substr(1)]=n})}}if(typeof e==="string"||n.isBuffer(e)){e=JSON.parse(e)}t=t||{};t.type=e.type;r.format=e.type;a();o();u();f();return r}t.exports=p},{buffer:39}],2:[function(e,t,r){window.AWS=t.exports=e("./core");e("./xml/browser_parser");e("./http/xhr")},{"./core":4,"./http/xhr":12,"./xml/browser_parser":33}],3:[function(e,t,r){var n=e("./core");e("./credentials");e("./credentials/credential_provider_chain");n.Config=n.util.inherit({constructor:function i(e){if(e===undefined)e={};e=this.extractCredentials(e);n.util.each.call(this,this.keys,function(t,r){this.set(t,e[t],r)})},update:function s(e,t){t=t||false;e=this.extractCredentials(e);n.util.each.call(this,e,function(e,r){if(t||this.keys.hasOwnProperty(e))this[e]=r})},getCredentials:function a(e){var t=this;function r(r){e(r,r?null:t.credentials)}function i(e,t){return new n.util.error(t||new Error,{code:"CredentialsError",message:e})}function s(){t.credentials.get(function(e){if(e){var n="Could not load credentials from "+t.credentials.constructor.name;e=i(n,e)}r(e)})}function a(){var e=null;if(!t.credentials.accessKeyId||!t.credentials.secretAccessKey){e=i("Missing credentials")}r(e)}if(t.credentials){if(typeof t.credentials.get==="function"){s()}else{a()}}else if(t.credentialProvider){t.credentialProvider.resolve(function(e,n){if(e){e=i("Could not load credentials from any providers",e)}t.credentials=n;r(e)})}else{r(i("No credentials to load"))}},loadFromPath:function o(e){this.clear();var t=JSON.parse(n.util.readFileSync(e));var r=new n.FileSystemCredentials(e);var i=new n.CredentialProviderChain;i.providers.unshift(r);i.resolve(function(e,r){if(e)throw e;else t.credentials=r});this.constructor(t);return this},clear:function u(){n.util.each.call(this,this.keys,function(e){delete this[e]});this.set("credentials",undefined);this.set("credentialProvider",undefined)},set:function f(e,t,r){if(t===undefined){if(r===undefined){r=this.keys[e]}if(typeof r==="function"){this[e]=r.call(this)}else{this[e]=r}}else{this[e]=t}},keys:{credentials:null,credentialProvider:null,region:null,logger:null,apiVersions:{},apiVersion:null,endpoint:undefined,httpOptions:{},maxRetries:undefined,maxRedirects:10,paramValidation:true,sslEnabled:true,s3ForcePathStyle:false,computeChecksums:true,dynamoDbCrc32:true},extractCredentials:function c(e){if(e.accessKeyId&&e.secretAccessKey){e=n.util.copy(e);e.credentials=new n.Credentials(e)}return e}});n.config=new n.Config},{"./core":4,"./credentials":5,"./credentials/credential_provider_chain":6}],4:[function(e,t,r){var n={};var i={};i={};t.exports=n;e("./util");n.util.update(n,{VERSION:"2.0.0-rc13",ServiceInterface:{},Signers:{},XML:{}});e("./service");e("./credentials");e("./credentials/credential_provider_chain");e("./credentials/temporary_credentials");e("./credentials/web_identity_credentials");e("./credentials/saml_credentials");e("./config");e("./http");e("./sequential_executor");e("./event_listeners");e("./request");e("./response");e("./resource_waiter");e("./signers/request_signer");e("./param_validator");n.events=new n.SequentialExecutor;if(typeof window!=="undefined")window.AWS=n},{"./config":3,"./credentials":5,"./credentials/credential_provider_chain":6,"./credentials/saml_credentials":7,"./credentials/temporary_credentials":8,"./credentials/web_identity_credentials":9,"./event_listeners":10,"./http":11,"./param_validator":14,"./request":15,"./resource_waiter":16,"./response":17,"./sequential_executor":18,"./service":19,"./signers/request_signer":25,"./util":32}],5:[function(e,t,r){var n=e("./core");n.Credentials=n.util.inherit({constructor:function i(){n.util.hideProperties(this,["secretAccessKey"]);this.expired=false;this.expireTime=null;if(arguments.length===1&&typeof arguments[0]==="object"){var e=arguments[0].credentials||arguments[0];this.accessKeyId=e.accessKeyId;this.secretAccessKey=e.secretAccessKey;this.sessionToken=e.sessionToken}else{this.accessKeyId=arguments[0];this.secretAccessKey=arguments[1];this.sessionToken=arguments[2]}},expiryWindow:15,needsRefresh:function s(){var e=n.util.date.getDate().getTime();var t=new Date(e+this.expiryWindow*1e3);if(this.expireTime&&t>this.expireTime){return true}else{return this.expired||!this.accessKeyId||!this.secretAccessKey}},get:function a(e){var t=this;if(this.needsRefresh()){this.refresh(function(r){if(!r)t.expired=false;if(e)e(r)})}else if(e){e()}},refresh:function o(e){this.expired=false;e()}})},{"./core":4}],6:[function(e,t,r){var n=e("../core");n.CredentialProviderChain=n.util.inherit(n.Credentials,{constructor:function i(e){if(e){this.providers=e}else{this.providers=n.CredentialProviderChain.defaultProviders.slice(0)}},resolve:function s(e){if(this.providers.length===0){e(new Error("No providers"));return this}var t=0;var r=this.providers.slice(0);function n(i,s){if(!i&&s||t===r.length){e(i,s);return}var a=r[t++];if(typeof a==="function"){s=a.call()}else{s=a}if(s.get){s.get(function(e){n(e,e?null:s)})}else{n(null,s)}}n();return this}});n.CredentialProviderChain.defaultProviders=[]},{"../core":4}],7:[function(e,t,r){var n=e("../core");n.SAMLCredentials=n.util.inherit(n.Credentials,{constructor:function i(e){n.Credentials.call(this);this.expired=true;this.service=new n.STS;this.params=e},refresh:function s(e){var t=this;if(!e)e=function(e){if(e)throw e};t.service.assumeRoleWithSAML(t.params,function(r,n){if(!r){t.service.credentialsFrom(n,t)}e(r)})}})},{"../core":4}],8:[function(e,t,r){var n=e("../core");n.TemporaryCredentials=n.util.inherit(n.Credentials,{constructor:function i(e){n.Credentials.call(this);this.loadMasterCredentials();this.service=new n.STS;this.expired=true;this.params=e||{};if(this.params.RoleArn){this.params.RoleSessionName=this.params.RoleSessionName||"temporary-credentials"}},refresh:function s(e){var t=this;if(!e)e=function(e){if(e)throw e};t.service.config.credentials=t.masterCredentials;var r=t.params.RoleArn?t.service.assumeRole:t.service.getSessionToken;r.call(t.service,t.params,function(r,n){if(!r){t.service.credentialsFrom(n,t)}e(r)})},loadMasterCredentials:function a(){this.masterCredentials=n.config.credentials;while(this.masterCredentials.masterCredentials){this.masterCredentials=this.masterCredentials.masterCredentials}}})},{"../core":4}],9:[function(e,t,r){var n=e("../core");n.WebIdentityCredentials=n.util.inherit(n.Credentials,{constructor:function i(e){n.Credentials.call(this);this.expired=true;this.service=new n.STS;this.params=e;this.params.RoleSessionName=this.params.RoleSessionName||"web-identity"},refresh:function s(e){var t=this;if(!e)e=function(e){if(e)throw e};t.service.assumeRoleWithWebIdentity(t.params,function(r,n){if(!r){t.service.credentialsFrom(n,t)}e(r)})}})},{"../core":4}],10:[function(e,t,r){var n=e("./core");e("./sequential_executor");e("./service_interface/json");e("./service_interface/query");e("./service_interface/rest");e("./service_interface/rest_json");e("./service_interface/rest_xml");n.EventListeners={Core:{}};n.EventListeners={Core:(new n.SequentialExecutor).addNamedListeners(function(e,t){t("VALIDATE_CREDENTIALS","validate",function r(e,t){e.service.config.getCredentials(function(r){if(r){e.response.err=n.util.error(r,{code:"SigningError",message:"Missing credentials in config"})}t()})});e("VALIDATE_REGION","validate",function i(e){if(!e.service.config.region&&!e.service.hasGlobalEndpoint()){e.response.error=n.util.error(new Error,{code:"SigningError",message:"Missing region in config"})}});e("VALIDATE_PARAMETERS","validate",function s(e){var t=e.service.api.operations[e.operation].input;(new n.ParamValidator).validate(t,e.params)});e("SET_CONTENT_LENGTH","afterBuild",function a(e){if(e.httpRequest.headers["Content-Length"]===undefined){var t=n.util.string.byteLength(e.httpRequest.body);e.httpRequest.headers["Content-Length"]=t}});e("SET_HTTP_HOST","afterBuild",function o(e){e.httpRequest.headers["Host"]=e.httpRequest.endpoint.host});t("SIGN","sign",function u(e,t){if(!e.service.api.signatureVersion)return t();e.service.config.getCredentials(function(r,i){if(r){e.response.error=r;return t()}try{var s=n.util.date.getDate();var a=e.service.getSignerClass(e);var o=new a(e.httpRequest,e.service.api.signingName||e.service.api.endpointPrefix);delete e.httpRequest.headers["Authorization"];delete e.httpRequest.headers["Date"];delete e.httpRequest.headers["X-Amz-Date"];o.addAuthorization(i,s);e.signedAt=s}catch(u){e.response.error=u}t()})});e("VALIDATE_RESPONSE","validateResponse",function f(e){if(this.service.successfulResponse(e,this)){e.data={};e.error=null}else{e.data=null;e.error=n.util.error(new Error,{code:"UnknownError",message:"An unknown error occurred."})}});t("SEND","send",function c(e,t){e.httpResponse._abortCallback=t;e.error=null;e.data=null;function r(r){e.httpResponse.stream=r;r.on("headers",function i(t,s){e.request.emit("httpHeaders",[t,s,e]);if(!e.request.httpRequest._streaming){if(n.HttpClient.streamsApiVersion===2){r.on("readable",function a(){var t=r.read();if(t!==null){e.request.emit("httpData",[t,e])}})}else{r.on("data",function o(t){e.request.emit("httpData",[t,e])})}}});r.on("end",function s(){e.request.emit("httpDone");t()})}function i(t){t.on("sendProgress",function r(t){e.request.emit("httpUploadProgress",[t,e])});t.on("receiveProgress",function n(t){e.request.emit("httpDownloadProgress",[t,e])})}function s(r){e.error=n.util.error(r,{code:"NetworkingError",region:e.request.httpRequest.region,hostname:e.request.httpRequest.endpoint.hostname,retryable:true});e.request.emit("httpError",[e.error,e],function(){t()})}function a(){var t=n.HttpClient.getInstance();var a=e.request.service.config.httpOptions||{};var o=t.handleRequest(e.request.httpRequest,a,r,s);i(o)}var o=(n.util.date.getDate()-this.signedAt)/1e3;if(o>=60*10){this.emit("sign",[this],function(e){if(e)t(e);else a()})}else{a()}});e("HTTP_HEADERS","httpHeaders",function l(e,t,r){r.httpResponse.statusCode=e;r.httpResponse.headers=t;r.httpResponse.body=new n.util.Buffer("");r.httpResponse.buffers=[];r.httpResponse.numBytes=0});e("HTTP_DATA","httpData",function h(e,t){if(e){if(n.util.isNode()){t.httpResponse.numBytes+=e.length;var r=t.httpResponse.headers["content-length"];var i={loaded:t.httpResponse.numBytes,total:r};t.request.emit("httpDownloadProgress",[i,t])}t.httpResponse.buffers.push(new n.util.Buffer(e))}});e("HTTP_DONE","httpDone",function p(e){if(e.httpResponse.buffers&&e.httpResponse.buffers.length>0){var t=n.util.buffer.concat(e.httpResponse.buffers);e.httpResponse.body=t}delete e.httpResponse.numBytes;delete e.httpResponse.buffers});e("FINALIZE_ERROR","retry",function d(e){if(e.httpResponse.statusCode){e.error.statusCode=e.httpResponse.statusCode;if(e.error.retryable===undefined){e.error.retryable=this.service.retryableError(e.error,this)}}});e("INVALIDATE_CREDENTIALS","retry",function v(e){switch(e.error.code){case"RequestExpired":case"ExpiredTokenException":case"ExpiredToken":e.error.retryable=true;e.request.service.config.credentials.expired=true}});e("REDIRECT","retry",function m(e){if(e.error&&e.error.statusCode>=300&&e.error.statusCode<400&&e.httpResponse.headers["location"]){this.httpRequest.endpoint=new n.Endpoint(e.httpResponse.headers["location"]);e.error.redirect=true;e.error.retryable=true}});e("RETRY_CHECK","retry",function g(e){if(e.error){if(e.error.redirect&&e.redirectCount<e.maxRedirects){e.error.retryDelay=0;e.redirectCount++;e.error._willRetry=true}else if(e.error.retryable&&e.retryCount<e.maxRetries){var t=this.service.retryDelays();e.error.retryDelay=t[e.retryCount]||0;e.retryCount++;e.error._willRetry=true}else{e.error._willRetry=false}}});t("RESET_RETRY_STATE","afterRetry",function y(e,t){if(e.error&&e.error._willRetry){var r=e.error.retryDelay||0;e.error=null;setTimeout(t,r)}else{t()}})}),CorePost:(new n.SequentialExecutor).addNamedListeners(function(e){e("EXTRACT_REQUEST_ID","extractData",function t(e){e.requestId=e.httpResponse.headers["x-amz-request-id"]||e.httpResponse.headers["x-amzn-requestid"]})}),Logger:(new n.SequentialExecutor).addNamedListeners(function(t){t("LOG_REQUEST","complete",function r(t){var r=t.request;var i=r.service.config.logger;if(!i)return;function s(){var s=n.util.date.getDate().getTime();var a=(s-r.startTime.getTime())/1e3;var o=i.isTTY?true:false;var u=t.httpResponse.statusCode;var f=e("util").inspect(r.params,true,true);var c="";if(o)c+="[33m";c+="[AWS "+r.service.serviceIdentifier+" "+u;c+=" "+a.toString()+"s "+t.retryCount+" retries]";if(o)c+="[0;1m";c+=" "+r.operation+"("+f+")";if(o)c+="[0m";return c}var a=s();if(typeof i.log==="function"){i.log(a)}else if(typeof i.write==="function"){i.write(a+"\n")}})}),Json:(new n.SequentialExecutor).addNamedListeners(function(e){var t=n.ServiceInterface.Json;e("BUILD","build",t.buildRequest);e("EXTRACT_DATA","extractData",t.extractData);e("EXTRACT_ERROR","extractError",t.extractError)}),Rest:(new n.SequentialExecutor).addNamedListeners(function(e){var t=n.ServiceInterface.Rest;e("BUILD","build",t.buildRequest);e("EXTRACT_DATA","extractData",t.extractData);e("EXTRACT_ERROR","extractError",t.extractError)}),RestJson:(new n.SequentialExecutor).addNamedListeners(function(e){var t=n.ServiceInterface.RestJson;e("BUILD","build",t.buildRequest);e("EXTRACT_DATA","extractData",t.extractData);e("EXTRACT_ERROR","extractError",t.extractError)}),RestXml:(new n.SequentialExecutor).addNamedListeners(function(e){var t=n.ServiceInterface.RestXml;e("BUILD","build",t.buildRequest);e("EXTRACT_DATA","extractData",t.extractData);e("EXTRACT_ERROR","extractError",t.extractError)}),Query:(new n.SequentialExecutor).addNamedListeners(function(e){var t=n.ServiceInterface.Query;e("BUILD","build",t.buildRequest);e("EXTRACT_DATA","extractData",t.extractData);e("EXTRACT_ERROR","extractError",t.extractError)})}},{"./core":4,"./sequential_executor":18,"./service_interface/json":20,"./service_interface/query":21,"./service_interface/rest":22,"./service_interface/rest_json":23,"./service_interface/rest_xml":24,util:56}],11:[function(e,t,r){var n=e("./core");var i=n.util.inherit;n.Endpoint=i({constructor:function s(e,t){n.util.hideProperties(this,["slashes","auth","hash","search","query"]);if(typeof e==="undefined"||e===null){throw new Error("Invalid endpoint: "+e)}else if(typeof e!=="string"){return n.util.copy(e)}if(!e.match(/^http/)){var r=t&&t.sslEnabled!==undefined?t.sslEnabled:n.config.sslEnabled;e=(r?"https":"http")+"://"+e}n.util.update(this,n.util.urlParse(e));if(this.port){this.port=parseInt(this.port,10)}else{this.port=this.protocol==="https:"?443:80}}});n.HttpRequest=i({constructor:function a(e,t){e=new n.Endpoint(e);this.method="POST";this.path=e.path||"/";this.headers={};this.body="";this.endpoint=e;this.region=t;this.setUserAgent()},setUserAgent:function o(){var e=n.util.isBrowser()?"X-Amz-":"";this.headers[e+"User-Agent"]=n.util.userAgent()},pathname:function u(){return this.path.split("?",1)[0]},search:function f(){return this.path.split("?",2)[1]||""}});n.HttpResponse=i({constructor:function c(){this.statusCode=undefined;this.headers={};this.body=undefined}});n.HttpClient=i({});n.HttpClient.getInstance=function l(){if(this.singleton===undefined){this.singleton=new this}return this.singleton}},{"./core":4}],12:[function(e,t,r){var n=e("../core");var i=e("events").EventEmitter;e("../http");n.XHRClient=n.util.inherit({handleRequest:function s(e,t,r,a){var o=this;var u=e.endpoint;var f=new i;var c=u.protocol+"//"+u.hostname;if(u.port!==80&&u.port!==443){c+=":"+u.port}c+=e.path;var l=new XMLHttpRequest;e.stream=l;if(t.timeout){l.timeout=t.timeout}l.addEventListener("readystatechange",function(){try{if(l.status===0)return}catch(e){return}if(this.readyState===this.HEADERS_RECEIVED){try{l.responseType="arraybuffer"}catch(e){}f.statusCode=l.status;f.headers=o.parseHeaders(l.getAllResponseHeaders());f.emit("headers",f.statusCode,f.headers)}else if(this.readyState===this.DONE){o.finishRequest(l,f)}},false);l.upload.addEventListener("progress",function(e){f.emit("sendProgress",e)});l.addEventListener("progress",function(e){f.emit("receiveProgress",e)},false);l.addEventListener("timeout",function(){a(n.util.error(new Error("Timeout"),{code:"TimeoutError"}))},false);l.addEventListener("error",function(){a(n.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},false);r(f);l.open(e.method,c,true);n.util.each(e.headers,function(e,t){if(e!=="Content-Length"&&e!=="User-Agent"&&e!=="Host"){l.setRequestHeader(e,t)}});if(e.body&&typeof e.body.buffer==="object"){l.send(e.body.buffer)}else{l.send(e.body)}return f},parseHeaders:function a(e){var t={};n.util.arrayEach(e.split(/\r?\n/),function(e){var r=e.split(":",1)[0];var n=e.substring(r.length+2);if(r.length>0)t[r]=n});return t},finishRequest:function o(e,t){var r;if(e.responseType==="arraybuffer"&&e.response){var i=e.response;r=new n.util.Buffer(i.byteLength);var s=new Uint8Array(i);for(var a=0;a<r.length;++a){r[a]=s[a]}}try{if(!r&&typeof e.responseText==="string"){r=new n.util.Buffer(e.responseText)}}catch(o){}if(r)t.emit("data",r);t.emit("end")}});n.HttpClient.prototype=n.XHRClient.prototype;n.HttpClient.streamsApiVersion=1},{"../core":4,"../http":11,events:48}],13:[function(e,t,r){var n=e("../core");var i=n.util.inherit;n.JSON={};n.JSON.Builder=i({constructor:function s(e,t){this.rules=e;this.timestampFormat=t.timestampFormat},build:function a(e){return JSON.stringify(this.translate(this.rules,e))},translate:function o(e,t){if(t===null||t===undefined)return undefined;if(e.type==="structure"){var r={};n.util.each.call(this,t,function(t,n){var i=e.members[t]||{};var s=this.translate(i,n);if(s!==undefined)r[t]=s});return r}else if(e.type==="list"){var i=[];n.util.arrayEach.call(this,t,function(t){var r=e.members||{};var n=this.translate(r,t);if(n!==undefined)i.push(n)});return i}else if(e.type==="map"){var s={};n.util.each.call(this,t,function(t,r){var n=e.members||{};var i=this.translate(n,r);if(i!==undefined)s[t]=i});return s}else if(e.type==="timestamp"){var a=e.format||this.timestampFormat;return n.util.date.format(t,a)}else if(e.type==="integer"){return parseInt(t,10)}else if(e.type==="float"){return parseFloat(t)}else{return t}}})},{"../core":4}],14:[function(e,t,r){var n=e("./core");n.ParamValidator=n.util.inherit({validate:function i(e,t,r){var i=(e||{}).members||{};var s=e?e.xml:null;if(s){i=n.util.merge(i,(i[s]||{}).members||{});delete i[s]}return this.validateStructure(i,t||{},r||"params")},validateStructure:function s(e,t,r){this.validateType(r,t,["object"],"structure");for(var n in e){if(!e.hasOwnProperty(n))continue;var i=t[n];var s=i===undefined||i===null;if(e[n].required&&s){this.fail("MissingRequiredParameter","Missing required key '"+n+"' in "+r)}}for(n in t){if(!t.hasOwnProperty(n))continue;var a=t[n],o=e[n];if(o!==undefined){var u=[r,n].join(".");this.validateMember(o,a,u)}else{this.fail("UnexpectedParameter","Unexpected key '"+n+"' found in "+r)}}return true},validateMember:function a(e,t,r){var n=e.members||{};switch(e.type){case"structure":return this.validateStructure(n,t,r);case"list":return this.validateList(n,t,r);case"map":return this.validateMap(n,t,r);default:return this.validateScalar(e,t,r)}},validateList:function o(e,t,r){this.validateType(r,t,[Array]);for(var n=0;n<t.length;n++){this.validateMember(e,t[n],r+"["+n+"]")}},validateMap:function u(e,t,r){this.validateType(r,t,["object"],"map");for(var n in t){if(!t.hasOwnProperty(n))continue;this.validateMember(e,t[n],r+"['"+n+"']")}},validateScalar:function f(e,t,r){switch(e.type){case null:case undefined:case"string":return this.validateType(r,t,["string"]);case"base64":case"binary":return this.validatePayload(r,t);case"integer":case"float":return this.validateNumber(r,t);case"boolean":return this.validateType(r,t,["boolean"]);case"timestamp":return this.validateType(r,t,[Date,/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/,"number"],"Date object, ISO-8601 string, or a UNIX timestamp");default:return this.fail("UnkownType","Unhandled type "+e.type+" for "+r)}},fail:function c(e,t){throw n.util.error(new Error(t),{code:e})},validateType:function l(e,t,r,i){if(t===null||t===undefined)return;var s=false;for(var a=0;a<r.length;a++){if(typeof r[a]==="string"){if(typeof t===r[a])return}else if(r[a]instanceof RegExp){if((t||"").toString().match(r[a]))return}else{if(t instanceof r[a])return;if(n.util.isType(t,r[a]))return;if(!i&&!s)r=r.slice();r[a]=n.util.typeName(r[a])}s=true}var o=i;if(!o){o=r.join(", ").replace(/,([^,]+)$/,", or$1")}var u=o.match(/^[aeiou]/i)?"n":"";this.fail("InvalidParameterType","Expected "+e+" to be a"+u+" "+o)},validateNumber:function h(e,t){if(t===null||t===undefined)return;if(typeof t==="string"){var r=parseFloat(t);if(r.toString()===t)t=r}this.validateType(e,t,["number"])},validatePayload:function p(e,t){if(t===null||t===undefined)return;if(typeof t==="string")return;if(t&&typeof t.byteLength==="number")return;if(n.util.isNode()){var r=n.util.nodeRequire("stream").Stream;if(n.util.Buffer.isBuffer(t)||t instanceof r)return}var i=["Buffer","Stream","File","Blob","ArrayBuffer","DataView"];if(t){for(var s=0;s<i.length;s++){if(n.util.isType(t,i[s]))return;if(n.util.typeName(t.constructor)===i[s])return}}this.fail("InvalidParameterType","Expected "+e+" to be a "+"string, Buffer, Stream, Blob, or typed array object")}})},{"./core":4}],15:[function(e,t,r){(function(t){var r=e("./core");var n=e("./state_machine");var i=r.util.inherit;var s=new n;s.setupStates=function(){var e={success:1,error:1,complete:1};var t=function n(t,r){try{var n=this;var i=n.response.error;n.emit(n._asm.currentState,function(){function t(){return e[n._asm.currentState]===1}var s=n.response.error;if(n.response.error&&i!==n.response.error){if(t())n._hardError=true}if(n.response.error&&!n._hardError&&t()){s=null}r(s)})}catch(s){this.response.error=s;if(this._hardError){throw s}else if(e.indexOf(this._asm.currentState)>=0){this._hardError=true}r(s)}};this.addState("validate","build","error",t);this.addState("restart","build","error",function(e,t){e=this.response.error;if(!e)return t();if(!e.retryable)return t(e);if(this.response.retryCount<this.service.config.maxRetries){this.response.retryCount++;t()}else{t(e)}});this.addState("build","afterBuild","restart",t);this.addState("afterBuild","sign","restart",t);this.addState("sign","send","retry",t);this.addState("retry","afterRetry","afterRetry",t);this.addState("afterRetry","sign","error",t);this.addState("send","validateResponse","retry",t);this.addState("validateResponse","extractData","extractError",t);this.addState("extractError","extractData","retry",t);this.addState("extractData","success","retry",t);this.addState("success","complete","complete",t);this.addState("error","complete","complete",t);this.addState("complete",null,"uncaughtException",t);this.addState("uncaughtException",function(e,t){try{r.SequentialExecutor.prototype.unhandledErrorCallback.call(this,e)}catch(n){if(this._hardError){n._hardError=true;throw n}}t(e)})};s.setupStates();r.Request=i({constructor:function a(e,t,i){var a=e.endpoint;var o=e.config.region;if(e.hasGlobalEndpoint())o="us-east-1";this.service=e;this.operation=t;this.params=i||{};this.httpRequest=new r.HttpRequest(a,o);this.startTime=r.util.date.getDate();this.response=new r.Response(this);this.restartCount=0;this._asm=new n(s.states,"validate");r.SequentialExecutor.call(this);this.emit=this.emitEvent},send:function o(e){if(e){this.on("complete",function(t){try{e.call(t,t.error,t.data)}catch(r){t.request._hardError=true;throw r}})}this.runTo();return this.response},build:function u(e){this._hardError=e?false:true;return this.runTo("send",e)},runTo:function f(e,t){this._asm.runTo(e,t,this);return this},abort:function c(){this.removeAllListeners("validateResponse");this.removeAllListeners("extractError");this.on("validateResponse",function e(t){t.error=r.util.error(new Error("Request aborted by user"),{code:"RequestAbortedError",retryable:false})});if(this.httpRequest.stream){this.httpRequest.stream.abort();if(this.httpRequest._abortCallback){this.httpRequest._abortCallback()}else{this.removeAllListeners("send")}}return this},eachPage:function l(e){function t(r){var n=e.call(r,r.error,r.data);if(n===false)return;if(r.hasNextPage()){r.nextPage().on("complete",t).send()}else{e.call(r,null,null)}}this.on("complete",t).send()},eachItem:function h(e){function t(t,n){if(t)return e(t,null);if(n===null)return e(null,null);var i=this.request.service.paginationConfig(this.request.operation);var s=i.resultKey;if(Array.isArray(s))s=s[0];var a=r.util.jamespath.query(s,n);r.util.arrayEach(a,function(t){r.util.arrayEach(t,function(t){e(null,t)})})}this.eachPage(t)},isPageable:function p(){return this.service.paginationConfig(this.operation)?true:false},createReadStream:function d(){var e=r.util.nodeRequire("stream");var n=this;var i=null;var s=false;if(r.HttpClient.streamsApiVersion===2){i=new e.Readable;i._read=function(){i.push("")}}else{i=new e.Stream;i.readable=true}i.sent=false;i.on("newListener",function(e){if(!i.sent&&(e==="data"||e==="readable")){if(e==="data")s=true;i.sent=true;t.nextTick(function(){n.send(function(){})})}});this.on("httpHeaders",function a(e,t,o){if(e<300){this.httpRequest._streaming=true;n.removeListener("httpData",r.EventListeners.Core.HTTP_DATA);n.removeListener("httpError",r.EventListeners.Core.HTTP_ERROR);n.on("httpError",function c(e,t){t.error=e;t.error.retryable=false});var u=o.httpResponse.stream;i.response=o;i._read=function(){var e;do{e=u.read();if(e)i.push(e)}while(e);i.push("")};var f=["end","error",s?"data":"readable"];r.util.arrayEach(f,function(e){u.on(e,function(t){i.emit(e,t)})})}});this.on("error",function(e){i.emit("error",e)});return i},emitEvent:function v(e,t,n){if(typeof t==="function"){n=t;t=null}if(!n)n=this.unhandledErrorCallback;if(!t)t=this.eventParameters(e,this.response);var i=r.SequentialExecutor.prototype.emit;i.call(this,e,t,function(e){if(e)this.response.error=e;n.call(this,e)})},eventParameters:function m(e){switch(e){case"validate":case"sign":case"build":case"afterBuild":return[this];case"error":return[this.response.error,this.response];default:return[this.response]}}});r.util.mixin(r.Request,r.SequentialExecutor)
}).call(this,{browser:true})},{"./core":4,"./state_machine":31}],16:[function(e,t,r){var n=e("./core");var i=n.util.inherit;n.ResourceWaiter=i({constructor:function s(e,t){this.service=e;this.state=t;this.config={};if(typeof this.state==="object"){n.util.each.call(this,this.state,function(e,t){this.state=e;this.expectedValue=t})}this.loadWaiterConfig(this.state);if(!this.expectedValue){this.expectedValue=this.config.successValue}this.config.operation=n.util.string.lowerFirst(this.config.operation)},service:null,state:null,expectedValue:null,config:null,waitDone:false,Listeners:{retry:(new n.SequentialExecutor).addNamedListeners(function(e){e("RETRY_CHECK","retry",function(e){var t=e.request._waiter;if(e.error&&e.error.code==="ResourceNotReady"){e.error.retryDelay=t.config.interval*1e3}})}),output:(new n.SequentialExecutor).addNamedListeners(function(e){e("CHECK_OUT_ERROR","extractError",function t(e){if(e.error){e.request._waiter.setError(e,true)}});e("CHECK_OUTPUT","extractData",function r(e){var t=e.request._waiter;var r=t.checkSuccess(e);if(!r){t.setError(e,r===null?false:true)}else{e.error=null}})}),error:(new n.SequentialExecutor).addNamedListeners(function(e){e("CHECK_ERROR","extractError",function t(e){var t=e.request._waiter;var r=t.checkError(e);if(!r){t.setError(e,r===null?false:true)}else{e.error=null;e.request.removeAllListeners("extractData")}});e("CHECK_ERR_OUTPUT","extractData",function r(e){e.request._waiter.setError(e,true)})})},wait:function a(e,t){if(typeof e==="function"){t=e;e=undefined}var r=this.service.makeRequest(this.config.operation,e);var n=this.Listeners[this.config.successType];r._waiter=this;r.response.maxRetries=this.config.maxAttempts;r.addListeners(this.Listeners.retry);if(n)r.addListeners(n);if(t)r.send(t);return r},setError:function o(e,t){e.data=null;e.error=n.util.error(e.error||new Error,{code:"ResourceNotReady",message:"Resource is not in the state "+this.state,retryable:t})},checkSuccess:function u(e){if(!this.config.successPath){return e.httpResponse.statusCode<300}var t=n.util.jamespath.find(this.config.successPath,e.data);if(this.config.failureValue&&this.config.failureValue.indexOf(t)>=0){return null}if(this.expectedValue){return t===this.expectedValue}else{return t?true:false}},checkError:function f(e){return e.httpResponse.statusCode===this.config.successValue},loadWaiterConfig:function c(e,t){if(!this.service.api.waiters[e]){if(t)return;throw new n.util.error(new Error,{code:"StateNotFoundError",message:"State "+e+" not found."})}if(e!=="__default__"){var r=this.service.api.waiters[e]["extends"];r=r||"__default__";this.loadWaiterConfig(r,true)}var i=this.config;n.util.update(i,this.service.api.waiters[e]);(function(){i.successType=i.successType||i.acceptorType;i.successPath=i.successPath||i.acceptorPath;i.successValue=i.successValue||i.acceptorValue;i.failureType=i.failureType||i.acceptorType;i.failurePath=i.failurePath||i.acceptorPath;i.failureValue=i.failureValue||i.acceptorValue})()}})},{"./core":4}],17:[function(e,t,r){var n=e("./core");var i=n.util.inherit;n.Response=i({constructor:function s(e){this.request=e;this.data=null;this.error=null;this.retryCount=0;this.redirectCount=0;this.httpResponse=new n.HttpResponse;if(e){this.maxRetries=e.service.numRetries();this.maxRedirects=e.service.config.maxRedirects}},nextPage:function a(e){var t;var r=this.request.service;var i=this.request.operation;try{t=r.paginationConfig(i,true)}catch(s){this.error=s}if(!this.hasNextPage()){if(e)e(this.error,null);else if(this.error)throw this.error;return null}var a=n.util.copy(this.request.params);if(!this.nextPageTokens){return e?e(null,null):null}else{var o=t.inputToken;if(typeof o==="string")o=[o];for(var u=0;u<o.length;u++){a[o[u]]=this.nextPageTokens[u]}return r.makeRequest(this.request.operation,a,e)}},hasNextPage:function o(){this.cacheNextPageTokens();if(this.nextPageTokens)return true;if(this.nextPageTokens===undefined)return undefined;else return false},cacheNextPageTokens:function u(){if(this.hasOwnProperty("nextPageTokens"))return this.nextPageTokens;this.nextPageTokens=undefined;var e=this.request.service.paginationConfig(this.request.operation);if(!e)return this.nextPageTokens;this.nextPageTokens=null;if(e.moreResults){if(!n.util.jamespath.find(e.moreResults,this.data)){return this.nextPageTokens}}var t=e.outputToken;if(typeof t==="string")t=[t];n.util.arrayEach.call(this,t,function(e){var t=n.util.jamespath.find(e,this.data);if(t){this.nextPageTokens=this.nextPageTokens||[];this.nextPageTokens.push(t)}});return this.nextPageTokens}})},{"./core":4}],18:[function(e,t,r){var n=e("./core");var i=n.util.nodeRequire("domain");n.SequentialExecutor=n.util.inherit({constructor:function s(){this.domain=i&&i.active;this._events={}},listeners:function a(e){return this._events[e]?this._events[e].slice(0):[]},on:function o(e,t){if(this._events[e]){this._events[e].push(t)}else{this._events[e]=[t]}return this},onAsync:function u(e,t){t._isAsync=true;return this.on(e,t)},removeListener:function f(e,t){var r=this._events[e];if(r){var n=r.length;var i=-1;for(var s=0;s<n;++s){if(r[s]===t){i=s}}if(i>-1){r.splice(i,1)}}return this},removeAllListeners:function c(e){if(e){delete this._events[e]}else{this._events={}}return this},emit:function l(e,t,r){if(!r)r=this.unhandledErrorCallback;if(i&&this.domain instanceof i.Domain)this.domain.enter();var n=this.listeners(e);var s=n.length;this.callListeners(n,t,r);return s>0},callListeners:function h(e,t,r){if(e.length===0){r.call(this);if(i&&this.domain instanceof i.Domain)this.domain.exit()}else{var n=e.shift();if(n._isAsync){var s=this;var a=function(n){if(n){r.call(s,n);if(i&&s.domain instanceof i.Domain)s.domain.exit()}else{s.callListeners(e,t,r)}};n.apply(this,t.concat([a]))}else{try{n.apply(this,t);this.callListeners(e,t,r)}catch(o){if(o._hardError)throw o;r.call(this,o);if(i&&this.domain instanceof i.Domain)this.domain.exit()}}}},addListeners:function p(e){var t=this;if(e._events)e=e._events;n.util.each(e,function(e,r){if(typeof r==="function")r=[r];n.util.arrayEach(r,function(r){t.on(e,r)})});return t},addNamedListener:function d(e,t,r){this[e]=r;this.addListener(t,r);return this},addNamedAsyncListener:function v(e,t,r){r._isAsync=true;return this.addNamedListener(e,t,r)},addNamedListeners:function m(e){var t=this;e(function(){t.addNamedListener.apply(t,arguments)},function(){t.addNamedAsyncListener.apply(t,arguments)});return this},unhandledErrorCallback:function g(e){if(e){if(i&&this.domain instanceof i.Domain){e.domainEmitter=this;e.domain=this.domain;e.domainThrown=false;this.domain.emit("error",e)}else{throw e}}}});n.SequentialExecutor.prototype.addListener=n.SequentialExecutor.prototype.on},{"./core":4}],19:[function(e,t,r){var n=e("./core");var i=e("aws-sdk-apis/lib/translator");var s=n.util.inherit;n.Service=s({constructor:function a(e){if(!this.loadServiceClass){throw n.util.error(new Error,"Service must be constructed with `new' operator")}var t=this.loadServiceClass(e||{});if(t)return new t(e);this.initialize(e)},initialize:function o(e){n.util.hideProperties(this,["client"]);this.client=this;this.config=new n.Config(n.config);if(e)this.config.update(e,true);this.setEndpoint(this.config.endpoint)},loadServiceClass:function u(e){var t=e;if(!n.util.isEmpty(this.api)){return null}else if(t.apiConfig){return n.Service.defineServiceApi(this.constructor,t.apiConfig)}else if(!this.constructor.services){return null}else{t=new n.Config(n.config);t.update(e,true);var r=t.apiVersions[this.constructor.serviceIdentifier];r=r||t.apiVersion;return this.getLatestServiceClass(r)}},getLatestServiceClass:function f(e){e=this.getLatestServiceVersion(e);if(this.constructor.services[e]===null){n.Service.defineServiceApi(this.constructor,e)}return this.constructor.services[e]},getLatestServiceVersion:function c(e){if(!this.constructor.services||this.constructor.services.length===0){throw new Error("No services defined on "+this.constructor.serviceIdentifier)}if(!e){e="latest"}else if(n.util.isType(e,Date)){e=n.util.date.iso8601(e).split("T")[0]}if(Object.hasOwnProperty(this.constructor.services,e)){return e}var t=Object.keys(this.constructor.services).sort();var r=null;for(var i=t.length-1;i>=0;i--){if(t[i][t[i].length-1]!=="*"){r=t[i]}if(t[i].substr(0,10)<=e){return r}}throw new Error("Could not find "+this.constructor.serviceIdentifier+" API to satisfy version constraint `"+e+"'")},api:{},defaultRetryCount:3,makeRequest:function l(e,t,r){if(typeof t==="function"){r=t;t=null}t=t||{};if(this.config.params){var i=this.api.operations[e];if(i){t=n.util.copy(t);n.util.each(this.config.params,function(e,r){if(i.input.members[e]){if(t[e]===undefined||t[e]===null){t[e]=r}}})}}var s=new n.Request(this,e,t);this.addAllRequestListeners(s);if(r)s.send(r);return s},makeUnauthenticatedRequest:function h(e,t,r){if(typeof t==="function"){r=t;t={}}var i=this.makeRequest(e,t);i.removeListener("validate",n.EventListeners.Core.VALIDATE_CREDENTIALS);i.removeListener("sign",n.EventListeners.Core.SIGN);if(this.api.format==="query"){i.addListener("build",function s(e){e.httpRequest.method="GET";e.httpRequest.path="/?"+e.httpRequest.body;e.httpRequest.body="";delete e.httpRequest.headers["Content-Length"];delete e.httpRequest.headers["Content-Type"]})}return r?i.send(r):i},waitFor:function p(e,t,r){var i=new n.ResourceWaiter(this,e);return i.wait(t,r)},addAllRequestListeners:function d(e){var t=[n.events,n.EventListeners.Core,this.serviceInterface(),n.EventListeners.CorePost];for(var r=0;r<t.length;r++){if(t[r])e.addListeners(t[r])}if(!this.config.paramValidation){e.removeListener("validate",n.EventListeners.Core.VALIDATE_PARAMETERS)}if(this.config.logger){e.addListeners(n.EventListeners.Logger)}this.setupRequestListeners(e)},setupRequestListeners:function v(){},getSignerClass:function m(){var e=this.api.signatureVersion;if(this.config.signatureVersion)e=this.config.signatureVersion;else if(this.isRegionV4())e="v4";return n.Signers.RequestSigner.getVersion(e)},serviceInterface:function g(){switch(this.api.format){case"query":return n.EventListeners.Query;case"json":return n.EventListeners.Json;case"rest-json":return n.EventListeners.RestJson;case"rest-xml":return n.EventListeners.RestXml}if(this.api.format){throw new Error("Invalid service `format' "+this.api.format+" in API config")}},successfulResponse:function y(e){return e.httpResponse.statusCode<300},numRetries:function b(){if(this.config.maxRetries!==undefined){return this.config.maxRetries}else{return this.defaultRetryCount}},retryDelays:function w(){var e=this.numRetries();var t=[];for(var r=0;r<e;++r){t[r]=Math.pow(2,r)*30}return t},retryableError:function E(e){if(this.networkingError(e))return true;if(this.expiredCredentialsError(e))return true;if(this.throttledError(e))return true;if(e.statusCode>=500)return true;return false},networkingError:function S(e){return e.code==="NetworkingError"},expiredCredentialsError:function x(e){return e.code==="ExpiredTokenException"},throttledError:function R(e){return e.code==="ProvisionedThroughputExceededException"},setEndpoint:function C(e){if(e){this.endpoint=new n.Endpoint(e,this.config)}else if(this.hasGlobalEndpoint()){this.endpoint=new n.Endpoint(this.api.globalEndpoint,this.config)}else{var t=this.api.endpointPrefix+"."+this.config.region+this.endpointSuffix();this.endpoint=new n.Endpoint(t,this.config)}},hasGlobalEndpoint:function _(){if(this.isRegionV4())return false;return this.api.globalEndpoint},endpointSuffix:function A(){var e=".amazonaws.com";if(this.isRegionCN())return e+".cn";else return e},isRegionCN:function q(){if(!this.config.region)return false;return this.config.region.match(/^cn-/)?true:false},isRegionV4:function T(){return this.isRegionCN()},paginationConfig:function L(e,t){function r(e){if(t){var r=new Error;throw n.util.error(r,"No pagination configuration for "+e)}return null}if(!this.api.pagination)return r("service");if(!this.api.pagination[e])return r(e);return this.api.pagination[e]}});n.util.update(n.Service,{defineMethods:function I(e){n.util.each(e.prototype.api.operations,function t(r){if(e.prototype[r])return;e.prototype[r]=function(e,t){return this.makeRequest(r,e,t)}})},defineService:function j(e,t,r){if(!Array.isArray(t)){r=t;t=[]}var i=s(n.Service,r||{});if(typeof e==="string"){n.Service.addVersions(i,t);var a=i.serviceIdentifier||e;i.serviceIdentifier=a}else{i.prototype.api=e;n.Service.defineMethods(i)}return i},addVersions:function O(e,t){if(!Array.isArray(t))t=[t];e.services=e.services||{};for(var r=0;r<t.length;r++){if(e.services[t[r]]===undefined){e.services[t[r]]=null}}e.apiVersions=Object.keys(e.services).sort()},defineServiceApi:function P(t,r,a){var o=s(t,{serviceIdentifier:t.serviceIdentifier});function u(e){if(e.type&&e.api_version){o.prototype.api=new i(e,{documentation:false})}else{o.prototype.api=e}}if(typeof r==="string"){if(a){u(a)}else{var f=n.util.nodeRequire("fs");var c=n.util.nodeRequire("path");var l=n.util.nodeRequire("aws-sdk-apis");try{var h=null;if(l)h=l.serviceName(t.serviceIdentifier);var p=(h||t.serviceIdentifier)+"-"+r;var d=c.dirname(e.resolve("aws-sdk-apis"))+"/apis/"+p+".json";u(JSON.parse(f.readFileSync(d)))}catch(v){throw n.util.error(v,{message:"Could not find API configuration "+p})}}if(!t.services.hasOwnProperty(r)){t.apiVersions=t.apiVersions.concat(r).sort()}t.services[r]=o}else{u(r)}n.Service.defineMethods(o);return o}})},{"./core":4,"aws-sdk-apis/lib/translator":1}],20:[function(e,t,r){var n=e("../core");e("../json/builder");n.ServiceInterface.Json={buildRequest:function i(e){var t=e.httpRequest;var r=e.service.api;var i=r.targetPrefix+"."+r.operations[e.operation].name;var s=r.jsonVersion||"1.0";var a=r.operations[e.operation].input;var o=new n.JSON.Builder(a,r);t.body=o.build(e.params||{});t.headers["Content-Type"]="application/x-amz-json-"+s;t.headers["X-Amz-Target"]=i},extractError:function s(e){var t={};var r=e.httpResponse;if(r.body.length>0){var i=JSON.parse(r.body.toString());if(i.__type||i.code){t.code=(i.__type||i.code).split("#").pop()}else{t.code="UnknownError"}if(t.code==="RequestEntityTooLarge"){t.message="Request body must be less than 1 MB"}else{t.message=i.message||i.Message||null}}else{t.code=r.statusCode;t.message=null}e.error=n.util.error(new Error,t)},extractData:function a(e){e.data=JSON.parse(e.httpResponse.body.toString()||"{}")}}},{"../core":4,"../json/builder":13}],21:[function(e,t,r){var n=e("../core");var i=n.util.inherit;n.ServiceInterface.Query={buildRequest:function s(e){var t=e.service.api.operations[e.operation];var r=e.httpRequest;r.headers["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8";r.params={Version:e.service.api.apiVersion,Action:t.name};var i=t.input;if(i)i=i.members;var s=new n.QueryParamSerializer(i,e.service.api);s.serialize(e.params,function(e,t){r.params[e]=t});r.body=n.util.queryParamsToString(r.params)},extractError:function a(e){var t,r=e.httpResponse.body.toString();if(r.match("<UnknownOperationException")){t={Code:"UnknownOperation",Message:"Unknown operation "+e.request.operation}}else{t=new n.XML.Parser({}).parse(r)}if(t.Errors)t=t.Errors;if(t.Error)t=t.Error;if(t.Code){e.error=n.util.error(new Error,{code:t.Code,message:t.Message})}else{e.error=n.util.error(new Error,{code:e.httpResponse.statusCode,message:null})}},extractData:function o(e){var t=e.request;var r=t.service.api.operations[t.operation];var i=r.name+"Result";var s=r.output||{};if(t.service.api.resultWrapped){var a={type:"structure",members:{}};a.members[i]=s;s=a}var o=new n.XML.Parser(s);var u=o.parse(e.httpResponse.body.toString());if(t.service.api.resultWrapped){if(u[i]){n.util.update(u,u[i]);delete u[i]}}e.data=u}};n.QueryParamSerializer=i({constructor:function u(e,t){this.rules=e;this.timestampFormat=t?t.timestampFormat:"iso8601"},serialize:function f(e,t){this.serializeStructure("",e,this.rules,t)},serializeStructure:function c(e,t,r,i){var s=this;n.util.each(t,function(t,n){var a=r[t].name||t;var o=e?e+"."+a:a;s.serializeMember(o,n,r[t],i)})},serializeMap:function l(e,t,r,i){var s=1;var a=this;n.util.each(t,function(t,n){var o=r.flattened?".":".entry.";var u=o+s++ +".";var f=u+(r.keys.name||"key");var c=u+(r.members.name||"value");a.serializeMember(e+f,t,r.keys,i);a.serializeMember(e+c,n,r.members,i)})},serializeList:function h(e,t,r,i){var s=this;var a=r.members||{};n.util.arrayEach(t,function(t,n){var o="."+(n+1);if(r.flattened){if(a.name){var u=e.split(".");u.pop();u.push(a.name);e=u.join(".")}}else{o=".member"+o}s.serializeMember(e+o,t,a,i)})},serializeMember:function p(e,t,r,i){if(t===null||t===undefined)return;if(r.type==="structure"){this.serializeStructure(e,t,r.members,i)}else if(r.type==="list"){this.serializeList(e,t,r,i)}else if(r.type==="map"){this.serializeMap(e,t,r,i)}else if(r.type==="timestamp"){var s=r.format||this.timestampFormat;i.call(this,e,n.util.date.format(t,s))}else{i.call(this,e,String(t))}}})},{"../core":4}],22:[function(e,t,r){var n=e("../core");n.ServiceInterface.Rest={buildRequest:function i(e){n.ServiceInterface.Rest.populateMethod(e);n.ServiceInterface.Rest.populateURI(e);n.ServiceInterface.Rest.populateHeaders(e)},extractError:function s(){},extractData:function a(e){var t=e.request;var r={};var i=e.httpResponse;var s=t.service.api.operations[t.operation];var a=(s.output||{}).members||{};var o={};n.util.each(i.headers,function(e,t){o[e.toLowerCase()]=t});n.util.each(a,function(e,t){if(t.location==="header"){var s=(t.name||e).toLowerCase();if(t.type==="map"){r[e]={};n.util.each(i.headers,function(n,i){var s=n.match(new RegExp("^"+t.name+"(.+)","i"));if(s!==null){r[e][s[1]]=i}})}if(o[s]!==undefined){r[e]=o[s]}}if(t.location==="status"){r[e]=parseInt(i.statusCode,10)}});e.data=r},populateMethod:function o(e){e.httpRequest.method=e.service.api.operations[e.operation].http.method},populate